diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..1ca47dd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,25 @@ +name: build + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Setup Go + uses: actions/setup-go@v2 + with: + go-version: 1.17 + - name: Setup golangci-lint + uses: golangci/golangci-lint-action@v2.5.2 + - name: Run linter + run: make lint + - name: Run test coverage + run: go test $(go list ./... | grep -v example | grep -v pkged.go) -coverprofile=coverage.txt -covermode=atomic + - name: Upload coverage to Codecov + run: bash <(curl -s https://codecov.io/bash) diff --git a/.gitignore b/.gitignore index 66fd13c..64d25e4 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,9 @@ # Dependency directories (remove the comment below to include it) # vendor/ + +.idea + +logs/ + +coverage.txt \ No newline at end of file diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 0000000..0d945f7 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,6 @@ +linters: + disable-all: true + enable: + - structcheck +# - errcheck +# - staticcheck \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..5fc6f23 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,89 @@ + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Contributor Covenant Code of Conduct](#contributor-covenant-code-of-conduct) + - [Our Pledge](#our-pledge) + - [Our Standards](#our-standards) + - [Our Responsibilities](#our-responsibilities) + - [Scope](#scope) + - [Enforcement](#enforcement) + - [Attribution](#attribution) + + + +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, +body size, disability, ethnicity, gender identity and expression, level of +experience, nationality, personal appearance, race, religion, or sexual +identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an +appointed representative at an online or offline event. Representation of a +project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at lark@rkdev.info. The project +team will review and investigate all complaints, and will respond in a way +that it deems appropriate to the circumstances. The project team is obligated +to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 1.4, available at +[http://contributor-covenant.org/version/1/4][version]. + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..df2d3f4 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,72 @@ + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Contributing](#contributing) + - [Setup](#setup) + - [Making Changes](#making-changes) + + + +# Contributing + +We'd love your help make rk-mux the very best structured Mux bootstrapper library in Go! + +If you'd like to add new features, please [open an issue][open-issue] +describing your proposal problem; discussing feature changes ahead of time makes +pull request review much smoother. In your issue, pull request, and any other +communications, please remember to treat your fellow contributors with +respect! We take our [code of conduct](CODE_OF_CONDUCT.md) seriously. + +## Setup + +[Fork][fork], then clone the repository: + +``` +git clone https://github.com/rookie-ninja/rk-mux.git +cd rk-mux +git remote add upstream https://github.com/rookie-ninja/rk-mux.git +git fetch upstream +``` + +Install rk-mux's dependencies: + +``` +go mod tidy +``` + +## Making Changes + +Start by creating a new branch for your changes: + +``` +git checkout master +git fetch upstream +git rebase upstream/master +git checkout -b cool_new_feature +``` + +Make your changes, then ensure that `make lint` and `make test` still pass. If +you're satisfied with your changes, push them to your fork. + +``` +git push origin cool_new_feature +``` + +Then use the GitHub UI to open a pull request. + +At this point, you're waiting on us to review your changes. We **try** to respond +to issues and pull requests within a few business days, and we may suggest some +improvements or alternatives. Once your changes are approved, one of the +project maintainers will merge them. + +We're much more likely to approve your changes if you: + +* Add tests for new functionality. +* Write a [good commit message][commit-message]. +* Maintain backward compatibility. + +[fork]: https://github.com/rookie-ninja/rk-mux/fork +[open-issue]: https://github.com/rookie-ninja/rk-mux/issues/new +[cla]: https://cla-assistant.io/rookie-ninja/rk-mux +[commit-message]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..97388aa --- /dev/null +++ b/Makefile @@ -0,0 +1,46 @@ +.PHONY: all +all: gomod test lint doctoc fmt + +.PHONY: lint +lint: + @echo "[golangci-lint] Running golangci-lint..." + @golangci-lint run 2>&1 + @echo "------------------------------------[Done]" + +.PHONY: test +test: + @echo "[test] Running go test..." + @go test ./... -coverprofile coverage.txt 2>&1 + @go tool cover -html=coverage.txt + @echo "------------------------------------[Done]" + +.PHONY: fmt +fmt: + @echo "[fmt] Formatting go project..." + @gofmt -s -w . 2>&1 + @echo "------------------------------------[Done]" + +.PHONY: doctoc +doctoc: + @echo "[doctoc] Running doctoc..." + @doctoc . 2>&1 + @echo "------------------------------------[Done]" + +.PHONY: swag +swag: + @echo "[swag] Running swag..." + @swag init --generalInfo boot/common_service_entry.go --output boot/assets/sw/config --parseDependency 2 --propertyStrategy camelcase + @rm -rf boot/assets/sw/config/docs.go + @echo "------------------------------------[Done]" + +.PHONY: pkger +pkger: + @echo "[pkger] Running pkger..." + @pkger -o boot + @echo "------------------------------------[Done]" + +.PHONY: gomod +gomod: + @echo "[gomod] Running go mod tidy..." + @go mod tidy + @echo "------------------------------------[Done]" diff --git a/README.md b/README.md index 980ffd4..1928e23 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,819 @@ # rk-mux -Bootstrapper and and middleware for gorilla / mux +[![build](https://github.com/rookie-ninja/rk-mux/actions/workflows/ci.yml/badge.svg)](https://github.com/rookie-ninja/rk-mux/actions/workflows/ci.yml) +[![codecov](https://codecov.io/gh/rookie-ninja/rk-mux/branch/master/graph/badge.svg?token=Y1HM9UQBX6)](https://codecov.io/gh/rookie-ninja/rk-mux) +[![Go Report Card](https://goreportcard.com/badge/github.com/rookie-ninja/rk-mux)](https://goreportcard.com/report/github.com/rookie-ninja/rk-mux) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) + +> In testing stage! + +Interceptor & bootstrapper designed for [gorilla/mux](https://github.com/gorilla/mux) web framework. [Documentation](https://rkdev.info/docs/bootstrapper/user-guide/mux-golang/). + +This belongs to [rk-boot](https://github.com/rookie-ninja/rk-boot) family. We suggest use this lib from [rk-boot](https://github.com/rookie-ninja/rk-boot). + +![image](docs/img/boot-arch.png) + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Architecture](#architecture) +- [Supported bootstrap](#supported-bootstrap) +- [Supported instances](#supported-instances) +- [Supported middlewares](#supported-middlewares) +- [Installation](#installation) +- [Quick Start](#quick-start) + - [1.Create boot.yaml](#1create-bootyaml) + - [2.Create main.go](#2create-maingo) + - [3.Start server](#3start-server) + - [4.Validation](#4validation) + - [4.1 Http server with mux.Router](#41-http-server-with-muxrouter) + - [4.2 Swagger UI](#42-swagger-ui) + - [4.3 TV](#43-tv) + - [4.4 Prometheus Metrics](#44-prometheus-metrics) + - [4.5 Logging](#45-logging) + - [4.6 Meta](#46-meta) + - [4.7 Send request](#47-send-request) + - [4.8 RPC logs](#48-rpc-logs) + - [4.9 RPC prometheus metrics](#49-rpc-prometheus-metrics) +- [YAML Options](#yaml-options) + - [Mux](#mux) + - [CommonService](#commonservice) + - [Swagger](#swagger) + - [Prometheus Client](#prometheus-client) + - [TV](#tv) + - [Static file handler](#static-file-handler) + - [Middlewares](#middlewares) + - [Log](#log) + - [Metrics](#metrics) + - [Auth](#auth) + - [Meta](#meta) + - [Tracing](#tracing) + - [RateLimit](#ratelimit) + - [Timeout](#timeout) + - [CORS](#cors) + - [JWT](#jwt) + - [Secure](#secure) + - [CSRF](#csrf) + - [Full YAML](#full-yaml) +- [Development Status: Testing](#development-status-testing) +- [Build instruction](#build-instruction) +- [Test instruction](#test-instruction) +- [Contributing](#contributing) + + + +## Architecture +![image](docs/img/mux-arch.png) + +## Supported bootstrap +| Bootstrap | Description | +| --- | --- | +| YAML based | Start [gorilla/mux](https://github.com/gorilla/mux) microservice from YAML | +| Code based | Start [gorilla/mux](https://github.com/gorilla/mux) microservice from code | + +## Supported instances +All instances could be configured via YAML or Code. + +**User can enable anyone of those as needed! No mandatory binding!** + +| Instance | Description | +| --- | --- | +| mux.Router | Compatible with original [gorilla/mux](https://github.com/gorilla/mux) service functionalities | +| Config | Configure [spf13/viper](https://github.com/spf13/viper) as config instance and reference it from YAML | +| Logger | Configure [uber-go/zap](https://github.com/uber-go/zap) logger configuration and reference it from YAML | +| EventLogger | Configure logging of RPC with [rk-query](https://github.com/rookie-ninja/rk-query) and reference it from YAML | +| Credential | Fetch credentials from remote datastore like ETCD. | +| Cert | Fetch TLS/SSL certificates from remote datastore like ETCD and start microservice. | +| Prometheus | Start prometheus client at client side and push metrics to pushgateway as needed. | +| Swagger | Builtin swagger UI handler. | +| CommonService | List of common APIs. | +| TV | A Web UI shows microservice and environment information. | +| StaticFileHandler | A Web UI shows files could be downloaded from server, currently support source of local and pkger. | + +## Supported middlewares +All middlewares could be configured via YAML or Code. + +**User can enable anyone of those as needed! No mandatory binding!** + +| Middleware | Description | +| --- | --- | +| Metrics | Collect RPC metrics and export to [prometheus](https://github.com/prometheus/client_golang) client. | +| Log | Log every RPC requests as event with [rk-query](https://github.com/rookie-ninja/rk-query). | +| Trace | Collect RPC trace and export it to stdout, file or jaeger with [open-telemetry/opentelemetry-go](https://github.com/open-telemetry/opentelemetry-go). | +| Panic | Recover from panic for RPC requests and log it. | +| Meta | Send micsroservice metadata as header to client. | +| Auth | Support [Basic Auth] and [API Key] authorization types. | +| RateLimit | Limiting RPC rate globally or per path. | +| Timeout | Timing out request by configuration. | +| CORS | Server side CORS validation. | +| JWT | Server side JWT validation. | +| Secure | Server side secure validation. | +| CSRF | Server side csrf validation. | + +## Installation +`go get github.com/rookie-ninja/rk-mux` + +## Quick Start +In the bellow example, we will start microservice with bellow functionality and middlewares enabled via YAML. + +- Http server with [gorilla/mux](https://github.com/gorilla/mux) router +- Swagger UI +- CommonService +- TV +- Prometheus Metrics (middleware) +- Logging (middleware) +- Meta (middleware) + +Please refer example at [example/boot/simple](example/boot/simple). + +### 1.Create boot.yaml +- [boot.yaml](example/boot/simple/boot.yaml) + +```yaml +--- +mux: + - name: greeter # Required + port: 8080 # Required + enabled: true # Required + tv: + enabled: true # Optional, default: false + prom: + enabled: true # Optional, default: false + sw: # Optional + enabled: true # Optional, default: false + commonService: # Optional + enabled: true # Optional, default: false + interceptors: + loggingZap: + enabled: true + metricsProm: + enabled: true + meta: + enabled: true +``` + +### 2.Create main.go +- [main.go](example/boot/simple/main.go) + +```go +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "fmt" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/boot" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" +) + +// @title RK Swagger for Mux +// @version 1.0 +// @description This is a greeter service with rk-boot. +func main() { + // Bootstrap basic entries from boot config. + rkentry.RegisterInternalEntriesFromConfig("example/boot/simple/boot.yaml") + + // Bootstrap mux entry from boot config + res := rkmux.RegisterMuxEntriesWithConfig("example/boot/simple/boot.yaml") + + // Get MuxEntry + muxEntry := res["greeter"].(*rkmux.MuxEntry) + // Use *mux.Router adding handler. + muxEntry.Router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + // Bootstrap mux entry + muxEntry.Bootstrap(context.Background()) + + // Wait for shutdown signal + rkentry.GlobalAppCtx.WaitForShutdownSig() + + // Interrupt mux entry + muxEntry.Interrupt(context.Background()) +} + +// @Summary Greeter service +// @Id 1 +// @version 1.0 +// @produce application/json +// @Param name query string true "Input name" +// @Success 200 {object} GreeterResponse +// @Router /v1/greeter [get] +func Greeter(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} + +// Response. +type GreeterResponse struct { + Message string +} +``` + +### 3.Start server + +```go +$ go run main.go +``` + +### 4.Validation +#### 4.1 Http server with mux.Router +Try to test mux.Router with [curl](https://curl.se/) + +```shell script +# Curl to common service +$ curl localhost:8080/rk/v1/healthy +{"healthy":true} +``` + +#### 4.2 Swagger UI +Please refer [documentation](https://rkdev.info/docs/bootstrapper/user-guide/mux-golang/basic/swagger-ui/) for details of configuration. + +By default, we could access swagger UI at [http://localhost:8080/sw](http://localhost:8080/sw) + +![sw](docs/img/simple-sw.png) + +#### 4.3 TV +Please refer [documentation](https://rkdev.info/docs/bootstrapper/user-guide/mux-golang/basic/tv/) for details of configuration. + +By default, we could access TV at [http://localhost:8080/rk/v1/tv](http://localhost:8080/rk/v1/tv) + +![tv](docs/img/simple-tv.png) + +#### 4.4 Prometheus Metrics +Please refer [documentation](https://rkdev.info/docs/bootstrapper/user-guide/mux-golang/basic/middleware-metrics/) for details of configuration. + +By default, we could access prometheus client at [http://localhost:8080/metrics](http://localhost:8080/metrics) + +![prom](docs/img/simple-prom.png) + +#### 4.5 Logging +Please refer [documentation](https://rkdev.info/docs/bootstrapper/user-guide/mux-golang/basic/middleware-logging/) for details of configuration. + +By default, we enable zap logger and event logger with encoding type of [console]. Encoding type of [json] is also supported. + +```shell script +2021-12-30T03:39:19.060+0800 INFO boot/mux_entry.go:1048 Bootstrap muxEntry {"eventId": "611daa72-adc2-442b-8569-0268088750a0", "entryName": "greeter"} +------------------------------------------------------------------------ +endTime=2021-12-30T03:39:19.062581+08:00 +startTime=2021-12-30T03:39:19.06096+08:00 +elapsedNano=1621724 +timezone=CST +ids={"eventId":"611daa72-adc2-442b-8569-0268088750a0"} +app={"appName":"rk","appVersion":"","entryName":"greeter","entryType":"MuxEntry"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"commonServiceEnabled":true,"commonServicePathPrefix":"/rk/v1/","muxPort":8080,"promEnabled":true,"promPath":"/metrics","promPort":8080,"swEnabled":true,"swPath":"/sw/","tvEnabled":true,"tvPath":"/rk/v1/tv/"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=localhost +operation=Bootstrap +resCode=OK +eventStatus=Ended +EOE +``` + +#### 4.6 Meta +Please refer [documentation](https://rkdev.info/docs/bootstrapper/user-guide/mux-golang/basic/middleware-meta/) for details of configuration. + +By default, we will send back some metadata to client including gateway with headers. + +```shell script +$ curl -vs localhost:8080/rk/v1/healthy +... +< HTTP/1.1 200 OK +< Content-Type: application/json +< X-Request-Id: bf7aaebd-1cb4-4da6-ac03-8830c34851c7 +< X-Rk-App-Name: rk +< X-Rk-App-Unix-Time: 2021-12-30T03:39:46.316021+08:00 +< X-Rk-App-Version: +< X-Rk-Received-Time: 2021-12-30T03:39:46.316021+08:00 +< Date: Wed, 29 Dec 2021 19:39:46 GMT +... +``` + +#### 4.7 Send request +We registered /v1/greeter API in [gorilla/mux](https://github.com/gorilla/mux) router and let's validate it! + +```shell script +$ curl -vs "localhost:8080/v1/greeter?name=rk-dev" +* Trying ::1... +* TCP_NODELAY set +* Connection failed +* connect to ::1 port 8080 failed: Connection refused +* Trying 127.0.0.1... +* TCP_NODELAY set +* Connected to localhost (127.0.0.1) port 8080 (#0) +> GET /v1/greeter?name=rk-dev HTTP/1.1 +> Host: localhost:8080 +> User-Agent: curl/7.64.1 +> Accept: */* +> +< HTTP/1.1 200 OK +< Content-Type: application/json +< X-Request-Id: 3d4a75fd-19ce-411f-967a-d27ccb7dd23e +< X-Rk-App-Name: rk +< X-Rk-App-Unix-Time: 2021-12-30T03:40:32.309171+08:00 +< X-Rk-App-Version: +< X-Rk-Received-Time: 2021-12-30T03:40:32.309171+08:00 +< Date: Wed, 29 Dec 2021 19:40:32 GMT +< Content-Length: 27 +< +* Connection #0 to host localhost left intact +{"Message":"Hello rk-dev!"} +``` + +#### 4.8 RPC logs +Bellow logs would be printed in stdout. + +``` +------------------------------------------------------------------------ +endTime=2021-12-30T03:40:32.309237+08:00 +startTime=2021-12-30T03:40:32.309164+08:00 +elapsedNano=73246 +timezone=CST +ids={"eventId":"3d4a75fd-19ce-411f-967a-d27ccb7dd23e","requestId":"3d4a75fd-19ce-411f-967a-d27ccb7dd23e"} +app={"appName":"rk","appVersion":"","entryName":"greeter","entryType":"MuxEntry"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=127.0.0.1:49571 +operation=/v1/greeter +resCode=200 +eventStatus=Ended +EOE +``` + +#### 4.9 RPC prometheus metrics +Prometheus client will automatically register into [gorilla/mux](https://github.com/gorilla/mux) instance at /metrics. + +Access [http://localhost:8080/metrics](http://localhost:8080/metrics) + +![image](docs/img/prom-inter.png) + +## YAML Options +User can start multiple [gorilla/mux](https://github.com/gorilla/mux) instances at the same time. Please make sure use different port and name. + +### Mux +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.name | The name of mux | string | N/A | +| mux.port | The port of mux | integer | nil, server won't start | +| mux.enabled | Enable mux entry or not | bool | false | +| mux.description | Description of mux entry. | string | "" | +| mux.cert.ref | Reference of cert entry declared in [cert entry](https://github.com/rookie-ninja/rk-entry#certentry) | string | "" | +| mux.logger.zapLogger.ref | Reference of zapLoggerEntry declared in [zapLoggerEntry](https://github.com/rookie-ninja/rk-entry#zaploggerentry) | string | "" | +| mux.logger.eventLogger.ref | Reference of eventLoggerEntry declared in [eventLoggerEntry](https://github.com/rookie-ninja/rk-entry#eventloggerentry) | string | "" | + +### CommonService +| Path | Description | +| ---- | ---- | +| /rk/v1/apis | List APIs in current MuxEntry. | +| /rk/v1/certs | List CertEntry. | +| /rk/v1/configs | List ConfigEntry. | +| /rk/v1/deps | List dependencies related application, entire contents of go.mod file would be returned. | +| /rk/v1/entries | List all Entries. | +| /rk/v1/gc | Trigger GC | +| /rk/v1/healthy | Get application healthy status. | +| /rk/v1/info | Get application and process info. | +| /rk/v1/license | Get license related application, entire contents of LICENSE file would be returned. | +| /rk/v1/logs | List logger related entries. | +| /rk/v1/git | Get git information. | +| /rk/v1/readme | Get contents of README file. | +| /rk/v1/req | List prometheus metrics of requests. | +| /rk/v1/sys | Get OS stat. | +| /rk/v1/tv | Get HTML page of /tv. | + +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.commonService.enabled | Enable embedded common service | boolean | false | + +### Swagger +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.sw.enabled | Enable swagger service over mux server | boolean | false | +| mux.sw.path | The path access swagger service from web | string | /sw | +| mux.sw.jsonPath | Where the swagger.json files are stored locally | string | "" | +| mux.sw.headers | Headers would be sent to caller as scheme of [key:value] | []string | [] | + +### Prometheus Client +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.prom.enabled | Enable prometheus | boolean | false | +| mux.prom.path | Path of prometheus | string | /metrics | +| mux.prom.pusher.enabled | Enable prometheus pusher | bool | false | +| mux.prom.pusher.jobName | Job name would be attached as label while pushing to remote pushgateway | string | "" | +| mux.prom.pusher.remoteAddress | PushGateWay address, could be form of http://x.x.x.x or x.x.x.x | string | "" | +| mux.prom.pusher.intervalMs | Push interval in milliseconds | string | 1000 | +| mux.prom.pusher.basicAuth | Basic auth used to interact with remote pushgateway, form of [user:pass] | string | "" | +| mux.prom.pusher.cert.ref | Reference of rkentry.CertEntry | string | "" | + +### TV +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.tv.enabled | Enable RK TV | boolean | false | + +### Static file handler +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.static.enabled | Optional, Enable static file handler | boolean | false | +| mux.static.path | Optional, path of static file handler | string | /rk/v1/static | +| mux.static.sourceType | Required, local and pkger supported | string | "" | +| mux.static.sourcePath | Required, full path of source directory | string | "" | + +- About [pkger](https://github.com/markbates/pkger) +User can use pkger command line tool to embed static files into .go files. + +Please use sourcePath like: github.com/rookie-ninja/rk-mux:/boot/assets + +### Middlewares +#### Log +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.loggingZap.enabled | Enable log interceptor | boolean | false | +| mux.interceptors.loggingZap.zapLoggerEncoding | json or console | string | console | +| mux.interceptors.loggingZap.zapLoggerOutputPaths | Output paths | []string | stdout | +| mux.interceptors.loggingZap.eventLoggerEncoding | json or console | string | console | +| mux.interceptors.loggingZap.eventLoggerOutputPaths | Output paths | []string | false | + +We will log two types of log for every RPC call. +- zapLogger + +Contains user printed logging with requestId or traceId. + +- eventLogger + +Contains per RPC metadata, response information, environment information and etc. + +| Field | Description | +| ---- | ---- | +| endTime | As name described | +| startTime | As name described | +| elapsedNano | Elapsed time for RPC in nanoseconds | +| timezone | As name described | +| ids | Contains three different ids(eventId, requestId and traceId). If meta interceptor was enabled or event.SetRequestId() was called by user, then requestId would be attached. eventId would be the same as requestId if meta interceptor was enabled. If trace interceptor was enabled, then traceId would be attached. | +| app | Contains [appName, appVersion](https://github.com/rookie-ninja/rk-entry#appinfoentry), entryName, entryType. | +| env | Contains arch, az, domain, hostname, localIP, os, realm, region. realm, region, az, domain were retrieved from environment variable named as REALM, REGION, AZ and DOMAIN. "*" means empty environment variable.| +| payloads | Contains RPC related metadata | +| error | Contains errors if occur | +| counters | Set by calling event.SetCounter() by user. | +| pairs | Set by calling event.AddPair() by user. | +| timing | Set by calling event.StartTimer() and event.EndTimer() by user. | +| remoteAddr | As name described | +| operation | RPC method name | +| resCode | Response code of RPC | +| eventStatus | Ended or InProgress | + +- example + +```shell script +------------------------------------------------------------------------ +endTime=2021-12-30T03:40:32.309237+08:00 +startTime=2021-12-30T03:40:32.309164+08:00 +elapsedNano=73246 +timezone=CST +ids={"eventId":"3d4a75fd-19ce-411f-967a-d27ccb7dd23e","requestId":"3d4a75fd-19ce-411f-967a-d27ccb7dd23e"} +app={"appName":"rk","appVersion":"","entryName":"greeter","entryType":"MuxEntry"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=127.0.0.1:49571 +operation=/v1/greeter +resCode=200 +eventStatus=Ended +EOE +``` + +#### Metrics +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.metricsProm.enabled | Enable metrics interceptor | boolean | false | + +#### Auth +Enable the server side auth. codes.Unauthenticated would be returned to client if not authorized with user defined credential. + +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.auth.enabled | Enable auth interceptor | boolean | false | +| mux.interceptors.auth.basic | Basic auth credentials as scheme of | []string | [] | +| mux.interceptors.auth.apiKey | API key auth | []string | [] | +| mux.interceptors.auth.ignorePrefix | The paths of prefix that will be ignored by interceptor | []string | [] | + +#### Meta +Send application metadata as header to client. + +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.meta.enabled | Enable meta interceptor | boolean | false | +| mux.interceptors.meta.prefix | Header key was formed as X--XXX | string | RK | + +#### Tracing +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.tracingTelemetry.enabled | Enable tracing interceptor | boolean | false | +| mux.interceptors.tracingTelemetry.exporter.file.enabled | Enable file exporter | boolean | RK | +| mux.interceptors.tracingTelemetry.exporter.file.outputPath | Export tracing info to files | string | stdout | +| mux.interceptors.tracingTelemetry.exporter.jaeger.agent.enabled | Export tracing info to jaeger agent | boolean | false | +| mux.interceptors.tracingTelemetry.exporter.jaeger.agent.host | As name described | string | localhost | +| mux.interceptors.tracingTelemetry.exporter.jaeger.agent.port | As name described | int | 6831 | +| mux.interceptors.tracingTelemetry.exporter.jaeger.collector.enabled | Export tracing info to jaeger collector | boolean | false | +| mux.interceptors.tracingTelemetry.exporter.jaeger.collector.endpoint | As name described | string | http://localhost:16368/api/trace | +| mux.interceptors.tracingTelemetry.exporter.jaeger.collector.username | As name described | string | "" | +| mux.interceptors.tracingTelemetry.exporter.jaeger.collector.password | As name described | string | "" | + +#### RateLimit +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.rateLimit.enabled | Enable rate limit interceptor | boolean | false | +| mux.interceptors.rateLimit.algorithm | Provide algorithm, tokenBucket and leakyBucket are available options | string | tokenBucket | +| mux.interceptors.rateLimit.reqPerSec | Request per second globally | int | 0 | +| mux.interceptors.rateLimit.paths.path | Full path | string | "" | +| mux.interceptors.rateLimit.paths.reqPerSec | Request per second by full path | int | 0 | + +#### Timeout +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.timeout.enabled | Enable timeout interceptor | boolean | false | +| mux.interceptors.timeout.timeoutMs | Global timeout in milliseconds. | int | 5000 | +| mux.interceptors.timeout.paths.path | Full path | string | "" | +| mux.interceptors.timeout.paths.timeoutMs | Timeout in milliseconds by full path | int | 5000 | + +#### CORS +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.cors.enabled | Enable cors interceptor | boolean | false | +| mux.interceptors.cors.allowOrigins | Provide allowed origins with wildcard enabled. | []string | * | +| mux.interceptors.cors.allowMethods | Provide allowed methods returns as response header of OPTIONS request. | []string | All http methods | +| mux.interceptors.cors.allowHeaders | Provide allowed headers returns as response header of OPTIONS request. | []string | Headers from request | +| mux.interceptors.cors.allowCredentials | Returns as response header of OPTIONS request. | bool | false | +| mux.interceptors.cors.exposeHeaders | Provide exposed headers returns as response header of OPTIONS request. | []string | "" | +| mux.interceptors.cors.maxAge | Provide max age returns as response header of OPTIONS request. | int | 0 | + +#### JWT +In order to make swagger UI and RK tv work under JWT without JWT token, we need to ignore prefixes of paths as bellow. + +```yaml +jwt: + ... + ignorePrefix: + - "/rk/v1/tv" + - "/sw" + - "/rk/v1/assets" +``` + +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.jwt.enabled | Enable JWT interceptor | boolean | false | +| mux.interceptors.jwt.signingKey | Required, Provide signing key. | string | "" | +| mux.interceptors.jwt.ignorePrefix | Provide ignoring path prefix. | []string | [] | +| mux.interceptors.jwt.signingKeys | Provide signing keys as scheme of :. | []string | [] | +| mux.interceptors.jwt.signingAlgo | Provide signing algorithm. | string | HS256 | +| mux.interceptors.jwt.tokenLookup | Provide token lookup scheme, please see bellow description. | string | "header:Authorization" | +| mux.interceptors.jwt.authScheme | Provide auth scheme. | string | Bearer | + +The supported scheme of **tokenLookup** + +``` +// Optional. Default value "header:Authorization". +// Possible values: +// - "header:" +// - "query:" +// - "param:" +// - "cookie:" +// - "form:" +// Multiply sources example: +// - "header: Authorization,cookie: myowncookie" +``` + +#### Secure +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.secure.enabled | Enable secure interceptor | boolean | false | +| mux.interceptors.secure.xssProtection | X-XSS-Protection header value. | string | "1; mode=block" | +| mux.interceptors.secure.contentTypeNosniff | X-Content-Type-Options header value. | string | nosniff | +| mux.interceptors.secure.xFrameOptions | X-Frame-Options header value. | string | SAMEORIGIN | +| mux.interceptors.secure.hstsMaxAge | Strict-Transport-Security header value. | int | 0 | +| mux.interceptors.secure.hstsExcludeSubdomains | Excluding subdomains of HSTS. | bool | false | +| mux.interceptors.secure.hstsPreloadEnabled | Enabling HSTS preload. | bool | false | +| mux.interceptors.secure.contentSecurityPolicy | Content-Security-Policy header value. | string | "" | +| mux.interceptors.secure.cspReportOnly | Content-Security-Policy-Report-Only header value. | bool | false | +| mux.interceptors.secure.referrerPolicy | Referrer-Policy header value. | string | "" | +| mux.interceptors.secure.ignorePrefix | Ignoring path prefix. | []string | [] | + +#### CSRF +| name | description | type | default value | +| ------ | ------ | ------ | ------ | +| mux.interceptors.csrf.enabled | Enable csrf interceptor | boolean | false | +| mux.interceptors.csrf.tokenLength | Provide the length of the generated token. | int | 32 | +| mux.interceptors.csrf.tokenLookup | Provide csrf token lookup rules, please see code comments for details. | string | "header:X-CSRF-Token" | +| mux.interceptors.csrf.cookieName | Provide name of the CSRF cookie. This cookie will store CSRF token. | string | _csrf | +| mux.interceptors.csrf.cookieDomain | Domain of the CSRF cookie. | string | "" | +| mux.interceptors.csrf.cookiePath | Path of the CSRF cookie. | string | "" | +| mux.interceptors.csrf.cookieMaxAge | Provide max age (in seconds) of the CSRF cookie. | int | 86400 | +| mux.interceptors.csrf.cookieHttpOnly | Indicates if CSRF cookie is HTTP only. | bool | false | +| mux.interceptors.csrf.cookieSameSite | Indicates SameSite mode of the CSRF cookie. Options: lax, strict, none, default | string | default | +| mux.interceptors.csrf.ignorePrefix | Ignoring path prefix. | []string | [] | + +### Full YAML +```yaml +--- +#app: +# description: "this is description" # Optional, default: "" +# keywords: ["rk", "golang"] # Optional, default: [] +# homeUrl: "http://example.com" # Optional, default: "" +# iconUrl: "http://example.com" # Optional, default: "" +# docsUrl: ["http://example.com"] # Optional, default: [] +# maintainers: ["rk-dev"] # Optional, default: [] +#zapLogger: +# - name: zap-logger # Required +# description: "Description of entry" # Optional +#eventLogger: +# - name: event-logger # Required +# description: "Description of entry" # Optional +#cred: +# - name: "local-cred" # Required +# provider: "localFs" # Required, etcd, consul, localFs, remoteFs are supported options +# description: "Description of entry" # Optional +# locale: "*::*::*::*" # Optional, default: *::*::*::* +# paths: # Optional +# - "example/boot/full/cred.yaml" +#cert: +# - name: "local-cert" # Required +# provider: "localFs" # Required, etcd, consul, localFs, remoteFs are supported options +# description: "Description of entry" # Optional +# locale: "*::*::*::*" # Optional, default: *::*::*::* +# serverCertPath: "example/boot/full/server.pem" # Optional, default: "", path of certificate on local FS +# serverKeyPath: "example/boot/full/server-key.pem" # Optional, default: "", path of certificate on local FS +# clientCertPath: "example/client.pem" # Optional, default: "", path of certificate on local FS +# clientKeyPath: "example/client.pem" # Optional, default: "", path of certificate on local FS +#config: +# - name: rk-main # Required +# path: "example/boot/full/config.yaml" # Required +# locale: "*::*::*::*" # Required, default: *::*::*::* +# description: "Description of entry" # Optional +mux: + - name: greeter # Required + port: 8080 # Required + enabled: true # Required +# description: "greeter server" # Optional, default: "" +# cert: +# ref: "local-cert" # Optional, default: "", reference of cert entry declared above +# sw: +# enabled: true # Optional, default: false +# path: "sw" # Optional, default: "sw" +# jsonPath: "" # Optional +# headers: ["sw:rk"] # Optional, default: [] +# commonService: +# enabled: true # Optional, default: false +# static: +# enabled: true # Optional, default: false +# path: "/rk/v1/static" # Optional, default: /rk/v1/static +# sourceType: local # Required, options: pkger, local +# sourcePath: "." # Required, full path of source directory +# tv: +# enabled: true # Optional, default: false +# prom: +# enabled: true # Optional, default: false +# path: "" # Optional, default: "metrics" +# pusher: +# enabled: false # Optional, default: false +# jobName: "greeter-pusher" # Required +# remoteAddress: "localhost:9091" # Required +# basicAuth: "user:pass" # Optional, default: "" +# intervalMs: 10000 # Optional, default: 1000 +# cert: # Optional +# ref: "local-test" # Optional, default: "", reference of cert entry declared above +# logger: +# zapLogger: +# ref: zap-logger # Optional, default: logger of STDOUT, reference of logger entry declared above +# eventLogger: +# ref: event-logger # Optional, default: logger of STDOUT, reference of logger entry declared above +# interceptors: +# loggingZap: +# enabled: true # Optional, default: false +# zapLoggerEncoding: "json" # Optional, default: "console" +# zapLoggerOutputPaths: ["logs/app.log"] # Optional, default: ["stdout"] +# eventLoggerEncoding: "json" # Optional, default: "console" +# eventLoggerOutputPaths: ["logs/event.log"] # Optional, default: ["stdout"] +# metricsProm: +# enabled: true # Optional, default: false +# auth: +# enabled: true # Optional, default: false +# basic: +# - "user:pass" # Optional, default: [] +# ignorePrefix: +# - "/rk/v1" # Optional, default: [] +# apiKey: +# - "keys" # Optional, default: [] +# meta: +# enabled: true # Optional, default: false +# prefix: "rk" # Optional, default: "rk" +# tracingTelemetry: +# enabled: true # Optional, default: false +# exporter: # Optional, default will create a stdout exporter +# file: +# enabled: true # Optional, default: false +# outputPath: "logs/trace.log" # Optional, default: stdout +# jaeger: +# agent: +# enabled: false # Optional, default: false +# host: "" # Optional, default: localhost +# port: 0 # Optional, default: 6831 +# collector: +# enabled: true # Optional, default: false +# endpoint: "" # Optional, default: http://localhost:14268/api/traces +# username: "" # Optional, default: "" +# password: "" # Optional, default: "" +# rateLimit: +# enabled: false # Optional, default: false +# algorithm: "leakyBucket" # Optional, default: "tokenBucket" +# reqPerSec: 100 # Optional, default: 1000000 +# paths: +# - path: "/rk/v1/healthy" # Optional, default: "" +# reqPerSec: 0 # Optional, default: 1000000 +# timeout: +# enabled: false # Optional, default: false +# timeoutMs: 5000 # Optional, default: 5000 +# paths: +# - path: "/rk/v1/healthy" # Optional, default: "" +# timeoutMs: 1000 # Optional, default: 5000 +# jwt: +# enabled: true # Optional, default: false +# signingKey: "my-secret" # Required +# ignorePrefix: # Optional, default: [] +# - "/rk/v1/tv" +# - "/sw" +# - "/rk/v1/assets" +# signingKeys: # Optional +# - "key:value" +# signingAlgo: "" # Optional, default: "HS256" +# tokenLookup: "header:" # Optional, default: "header:Authorization" +# authScheme: "Bearer" # Optional, default: "Bearer" +# secure: +# enabled: true # Optional, default: false +# xssProtection: "" # Optional, default: "1; mode=block" +# contentTypeNosniff: "" # Optional, default: nosniff +# xFrameOptions: "" # Optional, default: SAMEORIGIN +# hstsMaxAge: 0 # Optional, default: 0 +# hstsExcludeSubdomains: false # Optional, default: false +# hstsPreloadEnabled: false # Optional, default: false +# contentSecurityPolicy: "" # Optional, default: "" +# cspReportOnly: false # Optional, default: false +# referrerPolicy: "" # Optional, default: "" +# ignorePrefix: [] # Optional, default: [] +# csrf: +# enabled: true +# tokenLength: 32 # Optional, default: 32 +# tokenLookup: "header:X-CSRF-Token" # Optional, default: "header:X-CSRF-Token" +# cookieName: "_csrf" # Optional, default: _csrf +# cookieDomain: "" # Optional, default: "" +# cookiePath: "" # Optional, default: "" +# cookieMaxAge: 86400 # Optional, default: 86400 +# cookieHttpOnly: false # Optional, default: false +# cookieSameSite: "default" # Optional, default: "default", options: lax, strict, none, default +# ignorePrefix: [] # Optional, default: [] +``` + +## Development Status: Testing + +## Build instruction +Simply run make all to validate your changes. Or run codes in example/ folder. + +- make all + +Run unit-test, golangci-lint, doctoc and gofmt. + +- make swag + +Generate swagger config for CommonService + +- make pkger + +If files in boot/assets have been modified, then we need to run it. + +## Test instruction +Run unit test with **make test** command. + +github workflow will automatically run unit test and golangci-lint for testing and lint validation. + +## Contributing +We encourage and support an active, healthy community of contributors — +including you! Details are in the [contribution guide](CONTRIBUTING.md) and +the [code of conduct](CODE_OF_CONDUCT.md). The rk maintainers keep an eye on +issues and pull requests, but you can also report any negative conduct to +lark@rkdev.info. + +Released under the [Apache 2.0 License](LICENSE). + diff --git a/boot/assets/static/icons/audio.png b/boot/assets/static/icons/audio.png new file mode 100644 index 0000000..a2432b3 Binary files /dev/null and b/boot/assets/static/icons/audio.png differ diff --git a/boot/assets/static/icons/back.png b/boot/assets/static/icons/back.png new file mode 100644 index 0000000..5be1752 Binary files /dev/null and b/boot/assets/static/icons/back.png differ diff --git a/boot/assets/static/icons/doc.png b/boot/assets/static/icons/doc.png new file mode 100644 index 0000000..f6c2dd4 Binary files /dev/null and b/boot/assets/static/icons/doc.png differ diff --git a/boot/assets/static/icons/file.png b/boot/assets/static/icons/file.png new file mode 100644 index 0000000..88afb45 Binary files /dev/null and b/boot/assets/static/icons/file.png differ diff --git a/boot/assets/static/icons/folder.png b/boot/assets/static/icons/folder.png new file mode 100644 index 0000000..76ad4aa Binary files /dev/null and b/boot/assets/static/icons/folder.png differ diff --git a/boot/assets/static/icons/image.png b/boot/assets/static/icons/image.png new file mode 100644 index 0000000..64aedb3 Binary files /dev/null and b/boot/assets/static/icons/image.png differ diff --git a/boot/assets/static/icons/pdf.png b/boot/assets/static/icons/pdf.png new file mode 100644 index 0000000..aa2141d Binary files /dev/null and b/boot/assets/static/icons/pdf.png differ diff --git a/boot/assets/static/icons/pkg.png b/boot/assets/static/icons/pkg.png new file mode 100644 index 0000000..ed9ac2c Binary files /dev/null and b/boot/assets/static/icons/pkg.png differ diff --git a/boot/assets/static/icons/sec.png b/boot/assets/static/icons/sec.png new file mode 100644 index 0000000..af8c4f3 Binary files /dev/null and b/boot/assets/static/icons/sec.png differ diff --git a/boot/assets/static/index.tmpl b/boot/assets/static/index.tmpl new file mode 100644 index 0000000..5ddd76a --- /dev/null +++ b/boot/assets/static/index.tmpl @@ -0,0 +1,39 @@ +{{define "index"}} + + + Index of {{ .Path }} + + + +

Index of {{ .Path }}

+
+ + + + + + + + + + + + + + + {{ range .Files }} + + + + + + {{ end }} + +
FileNameLast modifiedSize
..
{{ .FileName }}{{ .ModTime }}{{ .Size }} bytes
+ + +{{end}} \ No newline at end of file diff --git a/boot/assets/sw/config/swagger.json b/boot/assets/sw/config/swagger.json new file mode 100644 index 0000000..1af551d --- /dev/null +++ b/boot/assets/sw/config/swagger.json @@ -0,0 +1,1047 @@ +{ + "schemes": [ + "http", + "https" + ], + "swagger": "2.0", + "info": { + "description": "This is builtin RK common service.", + "title": "RK Common Service", + "contact": { + "name": "rk-dev", + "url": "https://github.com/rookie-ninja/rk-mux", + "email": "lark@pointgoal.io" + }, + "license": { + "name": "Apache 2.0 License", + "url": "https://github.com/rookie-ninja/rk-mux/blob/master/LICENSE.txt" + }, + "version": "1.0" + }, + "paths": { + "/rk/v1/apis": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "List API", + "operationId": "5", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.ApisResponse" + } + } + } + } + }, + "/rk/v1/certs": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "List CertEntry", + "operationId": "9", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.CertsResponse" + } + } + } + } + }, + "/rk/v1/configs": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "List ConfigEntry", + "operationId": "4", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.ConfigsResponse" + } + } + } + } + }, + "/rk/v1/deps": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "List dependencies related application", + "operationId": "11", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.DepResponse" + } + } + } + } + }, + "/rk/v1/entries": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "List all Entry", + "operationId": "8", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.EntriesResponse" + } + } + } + } + }, + "/rk/v1/gc": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "Trigger Gc", + "operationId": "2", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.GcResponse" + } + } + } + } + }, + "/rk/v1/git": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "Get Git information.", + "operationId": "14", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.GitResponse" + } + } + } + } + }, + "/rk/v1/healthy": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "Get application healthy status", + "operationId": "1", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.HealthyResponse" + } + } + } + } + }, + "/rk/v1/info": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "Get application and process info", + "operationId": "3", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.ProcessInfo" + } + } + } + } + }, + "/rk/v1/license": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "Get license related application", + "operationId": "12", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.LicenseResponse" + } + } + } + } + }, + "/rk/v1/logs": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "List logger related entries", + "operationId": "10", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.LogsResponse" + } + } + } + } + }, + "/rk/v1/readme": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "Get README file.", + "operationId": "13", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.ReadmeResponse" + } + } + } + } + }, + "/rk/v1/req": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "List prometheus metrics of requests", + "operationId": "7", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.ReqResponse" + } + } + } + } + }, + "/rk/v1/sys": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + }, + { + "JWT": [] + } + ], + "produces": [ + "application/json" + ], + "summary": "Get OS Stat", + "operationId": "6", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/rkentry.SysResponse" + } + } + } + } + }, + "/rk/v1/tv/": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + }, + { + "BasicAuth": [] + } + ], + "produces": [ + "text/html" + ], + "summary": "Get HTML page of /tv/", + "operationId": "15", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + } + } + } + }, + "definitions": { + "rkentry.ApisResponse": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/rkentry.ApisResponse_Entry" + } + } + } + }, + "rkentry.ApisResponse_Entry": { + "type": "object", + "properties": { + "entryName": { + "type": "string" + }, + "grpc": { + "$ref": "#/definitions/rkentry.ApisResponse_Grpc" + }, + "rest": { + "$ref": "#/definitions/rkentry.ApisResponse_Rest" + } + } + }, + "rkentry.ApisResponse_Grpc": { + "type": "object", + "properties": { + "gw": { + "$ref": "#/definitions/rkentry.ApisResponse_Rest" + }, + "method": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "service": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "rkentry.ApisResponse_Rest": { + "type": "object", + "properties": { + "method": { + "type": "string" + }, + "pattern": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "swUrl": { + "type": "string" + } + } + }, + "rkentry.CertsResponse": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/rkentry.CertsResponse_Entry" + } + } + } + }, + "rkentry.CertsResponse_Entry": { + "type": "object", + "properties": { + "clientCert": { + "type": "string" + }, + "clientCertPath": { + "type": "string" + }, + "clientKeyPath": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "entryDescription": { + "type": "string" + }, + "entryName": { + "type": "string" + }, + "entryType": { + "type": "string" + }, + "locale": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "serverCert": { + "type": "string" + }, + "serverCertPath": { + "type": "string" + }, + "serverKeyPath": { + "type": "string" + } + } + }, + "rkentry.ConfigsResponse": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/rkentry.ConfigsResponse_ConfigEntry" + } + } + } + }, + "rkentry.ConfigsResponse_ConfigEntry": { + "type": "object", + "properties": { + "entryDescription": { + "type": "string" + }, + "entryMeta": { + "type": "object", + "additionalProperties": true + }, + "entryName": { + "type": "string" + }, + "entryType": { + "type": "string" + }, + "path": { + "type": "string" + } + } + }, + "rkentry.CpuInfo": { + "type": "object", + "properties": { + "cacheSize": { + "type": "integer" + }, + "cpuUsedPercentage": { + "type": "number" + }, + "logicalCoreCount": { + "type": "integer" + }, + "mhz": { + "type": "number" + }, + "modelName": { + "type": "string" + }, + "physicalCoreCount": { + "type": "integer" + }, + "vendorId": { + "type": "string" + } + } + }, + "rkentry.DepResponse": { + "type": "object", + "properties": { + "goMod": { + "type": "string" + } + } + }, + "rkentry.EntriesResponse": { + "type": "object", + "properties": { + "entries": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/rkentry.EntriesResponse_Entry" + } + } + } + } + }, + "rkentry.EntriesResponse_Entry": { + "type": "object", + "properties": { + "entryDescription": { + "type": "string" + }, + "entryMeta": { + "$ref": "#/definitions/rkentry.Entry" + }, + "entryName": { + "type": "string" + }, + "entryType": { + "type": "string" + } + } + }, + "rkentry.Entry": { + "type": "object" + }, + "rkentry.GcResponse": { + "type": "object", + "properties": { + "memStatAfterGc": { + "$ref": "#/definitions/rkentry.MemInfo" + }, + "memStatBeforeGc": { + "$ref": "#/definitions/rkentry.MemInfo" + } + } + }, + "rkentry.GitResponse": { + "type": "object", + "properties": { + "branch": { + "type": "string" + }, + "commitDate": { + "type": "string" + }, + "commitId": { + "type": "string" + }, + "commitIdAbbr": { + "type": "string" + }, + "commitSub": { + "type": "string" + }, + "committerEmail": { + "type": "string" + }, + "committerName": { + "type": "string" + }, + "package": { + "type": "string" + }, + "tag": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "rkentry.GoEnvInfo": { + "type": "object", + "properties": { + "goArch": { + "type": "string" + }, + "goos": { + "type": "string" + }, + "routinesCount": { + "type": "integer" + }, + "startTime": { + "type": "string" + }, + "upTimeSec": { + "type": "integer" + }, + "upTimeStr": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "rkentry.HealthyResponse": { + "type": "object", + "properties": { + "healthy": { + "type": "boolean" + } + } + }, + "rkentry.LicenseResponse": { + "type": "object", + "properties": { + "license": { + "type": "string" + } + } + }, + "rkentry.LogsResponse": { + "type": "object", + "properties": { + "entries": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/rkentry.LogsResponse_Entry" + } + } + } + } + }, + "rkentry.LogsResponse_Entry": { + "type": "object", + "properties": { + "entryDescription": { + "type": "string" + }, + "entryMeta": { + "$ref": "#/definitions/rkentry.Entry" + }, + "entryName": { + "type": "string" + }, + "entryType": { + "type": "string" + }, + "errorOutputPaths": { + "type": "array", + "items": { + "type": "string" + } + }, + "outputPaths": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "rkentry.MemInfo": { + "type": "object", + "properties": { + "forceGcCount": { + "type": "integer" + }, + "gcCountTotal": { + "type": "integer" + }, + "lastGcTimestamp": { + "type": "string" + }, + "memAllocByte": { + "type": "integer" + }, + "memUsedMb": { + "type": "integer" + }, + "memUsedPercentage": { + "type": "number" + }, + "sysAllocByte": { + "type": "integer" + } + } + }, + "rkentry.NetInfo": { + "type": "object", + "properties": { + "netInterface": { + "type": "array", + "items": { + "$ref": "#/definitions/rkentry.NetInterface" + } + } + } + }, + "rkentry.NetInterface": { + "type": "object", + "properties": { + "addrs": { + "description": "A list of unicast interface addresses for a specific interface.", + "type": "array", + "items": { + "type": "string" + } + }, + "flags": { + "description": "e.g., FlagUp, FlagLoopback, FlagMulticast", + "type": "array", + "items": { + "type": "string" + } + }, + "hardwareAddr": { + "description": "IEEE MAC-48, EUI-48 and EUI-64 form", + "type": "string" + }, + "mtu": { + "description": "maximum transmission unit", + "type": "integer" + }, + "multicastAddrs": { + "description": "A list of multicast, joined group addresses for a specific interface", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "e.g., \"en0\", \"lo0\", \"eth0.100\"", + "type": "string" + } + } + }, + "rkentry.OsInfo": { + "type": "object", + "properties": { + "arch": { + "type": "string" + }, + "hostname": { + "type": "string" + }, + "os": { + "type": "string" + } + } + }, + "rkentry.ProcessInfo": { + "type": "object", + "properties": { + "appName": { + "type": "string" + }, + "az": { + "type": "string" + }, + "description": { + "type": "string" + }, + "docsUrl": { + "type": "array", + "items": { + "type": "string" + } + }, + "domain": { + "type": "string" + }, + "gid": { + "type": "string" + }, + "homeUrl": { + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "keywords": { + "type": "array", + "items": { + "type": "string" + } + }, + "maintainers": { + "type": "array", + "items": { + "type": "string" + } + }, + "realm": { + "type": "string" + }, + "region": { + "type": "string" + }, + "startTime": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "upTimeSec": { + "type": "integer" + }, + "upTimeStr": { + "type": "string" + }, + "username": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "rkentry.ReadmeResponse": { + "type": "object", + "properties": { + "readme": { + "type": "string" + } + } + }, + "rkentry.ReqMetricsRK": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "elapsedNanoP50": { + "type": "number" + }, + "elapsedNanoP90": { + "type": "number" + }, + "elapsedNanoP99": { + "type": "number" + }, + "elapsedNanoP999": { + "type": "number" + }, + "grpcMethod": { + "type": "string" + }, + "grpcService": { + "type": "string" + }, + "resCode": { + "type": "array", + "items": { + "$ref": "#/definitions/rkentry.ResCodeRK" + } + }, + "restMethod": { + "type": "string" + }, + "restPath": { + "type": "string" + } + } + }, + "rkentry.ReqResponse": { + "type": "object", + "properties": { + "metrics": { + "type": "array", + "items": { + "$ref": "#/definitions/rkentry.ReqMetricsRK" + } + } + } + }, + "rkentry.ResCodeRK": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "resCode": { + "type": "string" + } + } + }, + "rkentry.SysResponse": { + "type": "object", + "properties": { + "cpuInfo": { + "$ref": "#/definitions/rkentry.CpuInfo" + }, + "goEnvInfo": { + "$ref": "#/definitions/rkentry.GoEnvInfo" + }, + "memInfo": { + "$ref": "#/definitions/rkentry.MemInfo" + }, + "netInfo": { + "$ref": "#/definitions/rkentry.NetInfo" + }, + "osInfo": { + "$ref": "#/definitions/rkentry.OsInfo" + } + } + } + }, + "securityDefinitions": { + "ApiKeyAuth": { + "type": "apiKey", + "name": "X-API-Key", + "in": "header" + }, + "BasicAuth": { + "type": "basic" + }, + "JWT": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + } +} \ No newline at end of file diff --git a/boot/assets/sw/config/swagger.yaml b/boot/assets/sw/config/swagger.yaml new file mode 100644 index 0000000..d69cd33 --- /dev/null +++ b/boot/assets/sw/config/swagger.yaml @@ -0,0 +1,638 @@ +definitions: + rkentry.ApisResponse: + properties: + entries: + items: + $ref: '#/definitions/rkentry.ApisResponse_Entry' + type: array + type: object + rkentry.ApisResponse_Entry: + properties: + entryName: + type: string + grpc: + $ref: '#/definitions/rkentry.ApisResponse_Grpc' + rest: + $ref: '#/definitions/rkentry.ApisResponse_Rest' + type: object + rkentry.ApisResponse_Grpc: + properties: + gw: + $ref: '#/definitions/rkentry.ApisResponse_Rest' + method: + type: string + port: + type: integer + service: + type: string + type: + type: string + type: object + rkentry.ApisResponse_Rest: + properties: + method: + type: string + pattern: + type: string + port: + type: integer + swUrl: + type: string + type: object + rkentry.CertsResponse: + properties: + entries: + items: + $ref: '#/definitions/rkentry.CertsResponse_Entry' + type: array + type: object + rkentry.CertsResponse_Entry: + properties: + clientCert: + type: string + clientCertPath: + type: string + clientKeyPath: + type: string + endpoint: + type: string + entryDescription: + type: string + entryName: + type: string + entryType: + type: string + locale: + type: string + provider: + type: string + serverCert: + type: string + serverCertPath: + type: string + serverKeyPath: + type: string + type: object + rkentry.ConfigsResponse: + properties: + entries: + items: + $ref: '#/definitions/rkentry.ConfigsResponse_ConfigEntry' + type: array + type: object + rkentry.ConfigsResponse_ConfigEntry: + properties: + entryDescription: + type: string + entryMeta: + additionalProperties: true + type: object + entryName: + type: string + entryType: + type: string + path: + type: string + type: object + rkentry.CpuInfo: + properties: + cacheSize: + type: integer + cpuUsedPercentage: + type: number + logicalCoreCount: + type: integer + mhz: + type: number + modelName: + type: string + physicalCoreCount: + type: integer + vendorId: + type: string + type: object + rkentry.DepResponse: + properties: + goMod: + type: string + type: object + rkentry.EntriesResponse: + properties: + entries: + additionalProperties: + items: + $ref: '#/definitions/rkentry.EntriesResponse_Entry' + type: array + type: object + type: object + rkentry.EntriesResponse_Entry: + properties: + entryDescription: + type: string + entryMeta: + $ref: '#/definitions/rkentry.Entry' + entryName: + type: string + entryType: + type: string + type: object + rkentry.Entry: + type: object + rkentry.GcResponse: + properties: + memStatAfterGc: + $ref: '#/definitions/rkentry.MemInfo' + memStatBeforeGc: + $ref: '#/definitions/rkentry.MemInfo' + type: object + rkentry.GitResponse: + properties: + branch: + type: string + commitDate: + type: string + commitId: + type: string + commitIdAbbr: + type: string + commitSub: + type: string + committerEmail: + type: string + committerName: + type: string + package: + type: string + tag: + type: string + url: + type: string + type: object + rkentry.GoEnvInfo: + properties: + goArch: + type: string + goos: + type: string + routinesCount: + type: integer + startTime: + type: string + upTimeSec: + type: integer + upTimeStr: + type: string + version: + type: string + type: object + rkentry.HealthyResponse: + properties: + healthy: + type: boolean + type: object + rkentry.LicenseResponse: + properties: + license: + type: string + type: object + rkentry.LogsResponse: + properties: + entries: + additionalProperties: + items: + $ref: '#/definitions/rkentry.LogsResponse_Entry' + type: array + type: object + type: object + rkentry.LogsResponse_Entry: + properties: + entryDescription: + type: string + entryMeta: + $ref: '#/definitions/rkentry.Entry' + entryName: + type: string + entryType: + type: string + errorOutputPaths: + items: + type: string + type: array + outputPaths: + items: + type: string + type: array + type: object + rkentry.MemInfo: + properties: + forceGcCount: + type: integer + gcCountTotal: + type: integer + lastGcTimestamp: + type: string + memAllocByte: + type: integer + memUsedMb: + type: integer + memUsedPercentage: + type: number + sysAllocByte: + type: integer + type: object + rkentry.NetInfo: + properties: + netInterface: + items: + $ref: '#/definitions/rkentry.NetInterface' + type: array + type: object + rkentry.NetInterface: + properties: + addrs: + description: A list of unicast interface addresses for a specific interface. + items: + type: string + type: array + flags: + description: e.g., FlagUp, FlagLoopback, FlagMulticast + items: + type: string + type: array + hardwareAddr: + description: IEEE MAC-48, EUI-48 and EUI-64 form + type: string + mtu: + description: maximum transmission unit + type: integer + multicastAddrs: + description: A list of multicast, joined group addresses for a specific interface + items: + type: string + type: array + name: + description: e.g., "en0", "lo0", "eth0.100" + type: string + type: object + rkentry.OsInfo: + properties: + arch: + type: string + hostname: + type: string + os: + type: string + type: object + rkentry.ProcessInfo: + properties: + appName: + type: string + az: + type: string + description: + type: string + docsUrl: + items: + type: string + type: array + domain: + type: string + gid: + type: string + homeUrl: + type: string + iconUrl: + type: string + keywords: + items: + type: string + type: array + maintainers: + items: + type: string + type: array + realm: + type: string + region: + type: string + startTime: + type: string + uid: + type: string + upTimeSec: + type: integer + upTimeStr: + type: string + username: + type: string + version: + type: string + type: object + rkentry.ReadmeResponse: + properties: + readme: + type: string + type: object + rkentry.ReqMetricsRK: + properties: + count: + type: integer + elapsedNanoP50: + type: number + elapsedNanoP90: + type: number + elapsedNanoP99: + type: number + elapsedNanoP999: + type: number + grpcMethod: + type: string + grpcService: + type: string + resCode: + items: + $ref: '#/definitions/rkentry.ResCodeRK' + type: array + restMethod: + type: string + restPath: + type: string + type: object + rkentry.ReqResponse: + properties: + metrics: + items: + $ref: '#/definitions/rkentry.ReqMetricsRK' + type: array + type: object + rkentry.ResCodeRK: + properties: + count: + type: integer + resCode: + type: string + type: object + rkentry.SysResponse: + properties: + cpuInfo: + $ref: '#/definitions/rkentry.CpuInfo' + goEnvInfo: + $ref: '#/definitions/rkentry.GoEnvInfo' + memInfo: + $ref: '#/definitions/rkentry.MemInfo' + netInfo: + $ref: '#/definitions/rkentry.NetInfo' + osInfo: + $ref: '#/definitions/rkentry.OsInfo' + type: object +info: + contact: + email: lark@pointgoal.io + name: rk-dev + url: https://github.com/rookie-ninja/rk-mux + description: This is builtin RK common service. + license: + name: Apache 2.0 License + url: https://github.com/rookie-ninja/rk-mux/blob/master/LICENSE.txt + title: RK Common Service + version: "1.0" +paths: + /rk/v1/apis: + get: + operationId: "5" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.ApisResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: List API + /rk/v1/certs: + get: + operationId: "9" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.CertsResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: List CertEntry + /rk/v1/configs: + get: + operationId: "4" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.ConfigsResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: List ConfigEntry + /rk/v1/deps: + get: + operationId: "11" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.DepResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: List dependencies related application + /rk/v1/entries: + get: + operationId: "8" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.EntriesResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: List all Entry + /rk/v1/gc: + get: + operationId: "2" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.GcResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: Trigger Gc + /rk/v1/git: + get: + operationId: "14" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.GitResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: Get Git information. + /rk/v1/healthy: + get: + operationId: "1" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.HealthyResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: Get application healthy status + /rk/v1/info: + get: + operationId: "3" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.ProcessInfo' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: Get application and process info + /rk/v1/license: + get: + operationId: "12" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.LicenseResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: Get license related application + /rk/v1/logs: + get: + operationId: "10" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.LogsResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: List logger related entries + /rk/v1/readme: + get: + operationId: "13" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.ReadmeResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: Get README file. + /rk/v1/req: + get: + operationId: "7" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.ReqResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: List prometheus metrics of requests + /rk/v1/sys: + get: + operationId: "6" + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rkentry.SysResponse' + security: + - ApiKeyAuth: [] + - BasicAuth: [] + - JWT: [] + summary: Get OS Stat + /rk/v1/tv/: + get: + operationId: "15" + produces: + - text/html + responses: + "200": + description: OK + schema: + type: string + security: + - ApiKeyAuth: [] + - BasicAuth: [] + summary: Get HTML page of /tv/ +schemes: +- http +- https +securityDefinitions: + ApiKeyAuth: + in: header + name: X-API-Key + type: apiKey + BasicAuth: + type: basic + JWT: + in: header + name: Authorization + type: apiKey +swagger: "2.0" diff --git a/boot/assets/sw/css/3.35.1/swagger-ui.css b/boot/assets/sw/css/3.35.1/swagger-ui.css new file mode 100644 index 0000000..a657666 --- /dev/null +++ b/boot/assets/sw/css/3.35.1/swagger-ui.css @@ -0,0 +1,2 @@ +.swagger-ui{ + /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */font-family:sans-serif;color:#3b4151}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{box-sizing:content-box;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{background-color:transparent;-webkit-text-decoration-skip:objects}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:baseline}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui template{display:none}.swagger-ui [hidden]{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat 0 0}.swagger-ui .debug-grid-8-solid{background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat 0 0}.swagger-ui .debug-grid-16-solid{background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat 0 0}.swagger-ui .border-box,.swagger-ui a,.swagger-ui article,.swagger-ui body,.swagger-ui code,.swagger-ui dd,.swagger-ui div,.swagger-ui dl,.swagger-ui dt,.swagger-ui fieldset,.swagger-ui footer,.swagger-ui form,.swagger-ui h1,.swagger-ui h2,.swagger-ui h3,.swagger-ui h4,.swagger-ui h5,.swagger-ui h6,.swagger-ui header,.swagger-ui html,.swagger-ui input[type=email],.swagger-ui input[type=number],.swagger-ui input[type=password],.swagger-ui input[type=tel],.swagger-ui input[type=text],.swagger-ui input[type=url],.swagger-ui legend,.swagger-ui li,.swagger-ui main,.swagger-ui ol,.swagger-ui p,.swagger-ui pre,.swagger-ui section,.swagger-ui table,.swagger-ui td,.swagger-ui textarea,.swagger-ui th,.swagger-ui tr,.swagger-ui ul{box-sizing:border-box}.swagger-ui .aspect-ratio{height:0;position:relative}.swagger-ui .aspect-ratio--16x9{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1{padding-bottom:100%}.swagger-ui .aspect-ratio--object{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}@media screen and (min-width:30em){.swagger-ui .aspect-ratio-ns{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-ns{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-ns{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-ns{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-ns{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-ns{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-ns{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-ns{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-ns{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-ns{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-ns{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-ns{padding-bottom:100%}.swagger-ui .aspect-ratio--object-ns{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .aspect-ratio-m{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-m{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-m{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-m{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-m{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-m{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-m{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-m{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-m{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-m{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-m{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-m{padding-bottom:100%}.swagger-ui .aspect-ratio--object-m{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}@media screen and (min-width:60em){.swagger-ui .aspect-ratio-l{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-l{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-l{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-l{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-l{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-l{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-l{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-l{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-l{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-l{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-l{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-l{padding-bottom:100%}.swagger-ui .aspect-ratio--object-l{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}}.swagger-ui img{max-width:100%}.swagger-ui .cover{background-size:cover!important}.swagger-ui .contain{background-size:contain!important}@media screen and (min-width:30em){.swagger-ui .cover-ns{background-size:cover!important}.swagger-ui .contain-ns{background-size:contain!important}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .cover-m{background-size:cover!important}.swagger-ui .contain-m{background-size:contain!important}}@media screen and (min-width:60em){.swagger-ui .cover-l{background-size:cover!important}.swagger-ui .contain-l{background-size:contain!important}}.swagger-ui .bg-center{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left{background-repeat:no-repeat;background-position:0}@media screen and (min-width:30em){.swagger-ui .bg-center-ns{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top-ns{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right-ns{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom-ns{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left-ns{background-repeat:no-repeat;background-position:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .bg-center-m{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top-m{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right-m{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom-m{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left-m{background-repeat:no-repeat;background-position:0}}@media screen and (min-width:60em){.swagger-ui .bg-center-l{background-repeat:no-repeat;background-position:50%}.swagger-ui .bg-top-l{background-repeat:no-repeat;background-position:top}.swagger-ui .bg-right-l{background-repeat:no-repeat;background-position:100%}.swagger-ui .bg-bottom-l{background-repeat:no-repeat;background-position:bottom}.swagger-ui .bg-left-l{background-repeat:no-repeat;background-position:0}}.swagger-ui .outline{outline:1px solid}.swagger-ui .outline-transparent{outline:1px solid transparent}.swagger-ui .outline-0{outline:0}@media screen and (min-width:30em){.swagger-ui .outline-ns{outline:1px solid}.swagger-ui .outline-transparent-ns{outline:1px solid transparent}.swagger-ui .outline-0-ns{outline:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .outline-m{outline:1px solid}.swagger-ui .outline-transparent-m{outline:1px solid transparent}.swagger-ui .outline-0-m{outline:0}}@media screen and (min-width:60em){.swagger-ui .outline-l{outline:1px solid}.swagger-ui .outline-transparent-l{outline:1px solid transparent}.swagger-ui .outline-0-l{outline:0}}.swagger-ui .ba{border-style:solid;border-width:1px}.swagger-ui .bt{border-top-style:solid;border-top-width:1px}.swagger-ui .br{border-right-style:solid;border-right-width:1px}.swagger-ui .bb{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl{border-left-style:solid;border-left-width:1px}.swagger-ui .bn{border-style:none;border-width:0}@media screen and (min-width:30em){.swagger-ui .ba-ns{border-style:solid;border-width:1px}.swagger-ui .bt-ns{border-top-style:solid;border-top-width:1px}.swagger-ui .br-ns{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-ns{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-ns{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ba-m{border-style:solid;border-width:1px}.swagger-ui .bt-m{border-top-style:solid;border-top-width:1px}.swagger-ui .br-m{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-m{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-m{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.swagger-ui .ba-l{border-style:solid;border-width:1px}.swagger-ui .bt-l{border-top-style:solid;border-top-width:1px}.swagger-ui .br-l{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-l{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-l{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-l{border-style:none;border-width:0}}.swagger-ui .b--black{border-color:#000}.swagger-ui .b--near-black{border-color:#111}.swagger-ui .b--dark-gray{border-color:#333}.swagger-ui .b--mid-gray{border-color:#555}.swagger-ui .b--gray{border-color:#777}.swagger-ui .b--silver{border-color:#999}.swagger-ui .b--light-silver{border-color:#aaa}.swagger-ui .b--moon-gray{border-color:#ccc}.swagger-ui .b--light-gray{border-color:#eee}.swagger-ui .b--near-white{border-color:#f4f4f4}.swagger-ui .b--white{border-color:#fff}.swagger-ui .b--white-90{border-color:hsla(0,0%,100%,.9)}.swagger-ui .b--white-80{border-color:hsla(0,0%,100%,.8)}.swagger-ui .b--white-70{border-color:hsla(0,0%,100%,.7)}.swagger-ui .b--white-60{border-color:hsla(0,0%,100%,.6)}.swagger-ui .b--white-50{border-color:hsla(0,0%,100%,.5)}.swagger-ui .b--white-40{border-color:hsla(0,0%,100%,.4)}.swagger-ui .b--white-30{border-color:hsla(0,0%,100%,.3)}.swagger-ui .b--white-20{border-color:hsla(0,0%,100%,.2)}.swagger-ui .b--white-10{border-color:hsla(0,0%,100%,.1)}.swagger-ui .b--white-05{border-color:hsla(0,0%,100%,.05)}.swagger-ui .b--white-025{border-color:hsla(0,0%,100%,.025)}.swagger-ui .b--white-0125{border-color:hsla(0,0%,100%,.0125)}.swagger-ui .b--black-90{border-color:rgba(0,0,0,.9)}.swagger-ui .b--black-80{border-color:rgba(0,0,0,.8)}.swagger-ui .b--black-70{border-color:rgba(0,0,0,.7)}.swagger-ui .b--black-60{border-color:rgba(0,0,0,.6)}.swagger-ui .b--black-50{border-color:rgba(0,0,0,.5)}.swagger-ui .b--black-40{border-color:rgba(0,0,0,.4)}.swagger-ui .b--black-30{border-color:rgba(0,0,0,.3)}.swagger-ui .b--black-20{border-color:rgba(0,0,0,.2)}.swagger-ui .b--black-10{border-color:rgba(0,0,0,.1)}.swagger-ui .b--black-05{border-color:rgba(0,0,0,.05)}.swagger-ui .b--black-025{border-color:rgba(0,0,0,.025)}.swagger-ui .b--black-0125{border-color:rgba(0,0,0,.0125)}.swagger-ui .b--dark-red{border-color:#e7040f}.swagger-ui .b--red{border-color:#ff4136}.swagger-ui .b--light-red{border-color:#ff725c}.swagger-ui .b--orange{border-color:#ff6300}.swagger-ui .b--gold{border-color:#ffb700}.swagger-ui .b--yellow{border-color:gold}.swagger-ui .b--light-yellow{border-color:#fbf1a9}.swagger-ui .b--purple{border-color:#5e2ca5}.swagger-ui .b--light-purple{border-color:#a463f2}.swagger-ui .b--dark-pink{border-color:#d5008f}.swagger-ui .b--hot-pink{border-color:#ff41b4}.swagger-ui .b--pink{border-color:#ff80cc}.swagger-ui .b--light-pink{border-color:#ffa3d7}.swagger-ui .b--dark-green{border-color:#137752}.swagger-ui .b--green{border-color:#19a974}.swagger-ui .b--light-green{border-color:#9eebcf}.swagger-ui .b--navy{border-color:#001b44}.swagger-ui .b--dark-blue{border-color:#00449e}.swagger-ui .b--blue{border-color:#357edd}.swagger-ui .b--light-blue{border-color:#96ccff}.swagger-ui .b--lightest-blue{border-color:#cdecff}.swagger-ui .b--washed-blue{border-color:#f6fffe}.swagger-ui .b--washed-green{border-color:#e8fdf5}.swagger-ui .b--washed-yellow{border-color:#fffceb}.swagger-ui .b--washed-red{border-color:#ffdfdf}.swagger-ui .b--transparent{border-color:transparent}.swagger-ui .b--inherit{border-color:inherit}.swagger-ui .br0{border-radius:0}.swagger-ui .br1{border-radius:.125rem}.swagger-ui .br2{border-radius:.25rem}.swagger-ui .br3{border-radius:.5rem}.swagger-ui .br4{border-radius:1rem}.swagger-ui .br-100{border-radius:100%}.swagger-ui .br-pill{border-radius:9999px}.swagger-ui .br--bottom{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left{border-top-right-radius:0;border-bottom-right-radius:0}@media screen and (min-width:30em){.swagger-ui .br0-ns{border-radius:0}.swagger-ui .br1-ns{border-radius:.125rem}.swagger-ui .br2-ns{border-radius:.25rem}.swagger-ui .br3-ns{border-radius:.5rem}.swagger-ui .br4-ns{border-radius:1rem}.swagger-ui .br-100-ns{border-radius:100%}.swagger-ui .br-pill-ns{border-radius:9999px}.swagger-ui .br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-ns{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-ns{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left-ns{border-top-right-radius:0;border-bottom-right-radius:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .br0-m{border-radius:0}.swagger-ui .br1-m{border-radius:.125rem}.swagger-ui .br2-m{border-radius:.25rem}.swagger-ui .br3-m{border-radius:.5rem}.swagger-ui .br4-m{border-radius:1rem}.swagger-ui .br-100-m{border-radius:100%}.swagger-ui .br-pill-m{border-radius:9999px}.swagger-ui .br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-m{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-m{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left-m{border-top-right-radius:0;border-bottom-right-radius:0}}@media screen and (min-width:60em){.swagger-ui .br0-l{border-radius:0}.swagger-ui .br1-l{border-radius:.125rem}.swagger-ui .br2-l{border-radius:.25rem}.swagger-ui .br3-l{border-radius:.5rem}.swagger-ui .br4-l{border-radius:1rem}.swagger-ui .br-100-l{border-radius:100%}.swagger-ui .br-pill-l{border-radius:9999px}.swagger-ui .br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-l{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-l{border-top-left-radius:0;border-bottom-left-radius:0}.swagger-ui .br--left-l{border-top-right-radius:0;border-bottom-right-radius:0}}.swagger-ui .b--dotted{border-style:dotted}.swagger-ui .b--dashed{border-style:dashed}.swagger-ui .b--solid{border-style:solid}.swagger-ui .b--none{border-style:none}@media screen and (min-width:30em){.swagger-ui .b--dotted-ns{border-style:dotted}.swagger-ui .b--dashed-ns{border-style:dashed}.swagger-ui .b--solid-ns{border-style:solid}.swagger-ui .b--none-ns{border-style:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .b--dotted-m{border-style:dotted}.swagger-ui .b--dashed-m{border-style:dashed}.swagger-ui .b--solid-m{border-style:solid}.swagger-ui .b--none-m{border-style:none}}@media screen and (min-width:60em){.swagger-ui .b--dotted-l{border-style:dotted}.swagger-ui .b--dashed-l{border-style:dashed}.swagger-ui .b--solid-l{border-style:solid}.swagger-ui .b--none-l{border-style:none}}.swagger-ui .bw0{border-width:0}.swagger-ui .bw1{border-width:.125rem}.swagger-ui .bw2{border-width:.25rem}.swagger-ui .bw3{border-width:.5rem}.swagger-ui .bw4{border-width:1rem}.swagger-ui .bw5{border-width:2rem}.swagger-ui .bt-0{border-top-width:0}.swagger-ui .br-0{border-right-width:0}.swagger-ui .bb-0{border-bottom-width:0}.swagger-ui .bl-0{border-left-width:0}@media screen and (min-width:30em){.swagger-ui .bw0-ns{border-width:0}.swagger-ui .bw1-ns{border-width:.125rem}.swagger-ui .bw2-ns{border-width:.25rem}.swagger-ui .bw3-ns{border-width:.5rem}.swagger-ui .bw4-ns{border-width:1rem}.swagger-ui .bw5-ns{border-width:2rem}.swagger-ui .bt-0-ns{border-top-width:0}.swagger-ui .br-0-ns{border-right-width:0}.swagger-ui .bb-0-ns{border-bottom-width:0}.swagger-ui .bl-0-ns{border-left-width:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .bw0-m{border-width:0}.swagger-ui .bw1-m{border-width:.125rem}.swagger-ui .bw2-m{border-width:.25rem}.swagger-ui .bw3-m{border-width:.5rem}.swagger-ui .bw4-m{border-width:1rem}.swagger-ui .bw5-m{border-width:2rem}.swagger-ui .bt-0-m{border-top-width:0}.swagger-ui .br-0-m{border-right-width:0}.swagger-ui .bb-0-m{border-bottom-width:0}.swagger-ui .bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.swagger-ui .bw0-l{border-width:0}.swagger-ui .bw1-l{border-width:.125rem}.swagger-ui .bw2-l{border-width:.25rem}.swagger-ui .bw3-l{border-width:.5rem}.swagger-ui .bw4-l{border-width:1rem}.swagger-ui .bw5-l{border-width:2rem}.swagger-ui .bt-0-l{border-top-width:0}.swagger-ui .br-0-l{border-right-width:0}.swagger-ui .bb-0-l{border-bottom-width:0}.swagger-ui .bl-0-l{border-left-width:0}}.swagger-ui .shadow-1{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}@media screen and (min-width:30em){.swagger-ui .shadow-1-ns{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-ns{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-ns{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-ns{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-ns{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .shadow-1-m{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-m{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-m{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-m{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-m{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:60em){.swagger-ui .shadow-1-l{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-l{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-l{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-l{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-l{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}.swagger-ui .pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.swagger-ui .top-0{top:0}.swagger-ui .right-0{right:0}.swagger-ui .bottom-0{bottom:0}.swagger-ui .left-0{left:0}.swagger-ui .top-1{top:1rem}.swagger-ui .right-1{right:1rem}.swagger-ui .bottom-1{bottom:1rem}.swagger-ui .left-1{left:1rem}.swagger-ui .top-2{top:2rem}.swagger-ui .right-2{right:2rem}.swagger-ui .bottom-2{bottom:2rem}.swagger-ui .left-2{left:2rem}.swagger-ui .top--1{top:-1rem}.swagger-ui .right--1{right:-1rem}.swagger-ui .bottom--1{bottom:-1rem}.swagger-ui .left--1{left:-1rem}.swagger-ui .top--2{top:-2rem}.swagger-ui .right--2{right:-2rem}.swagger-ui .bottom--2{bottom:-2rem}.swagger-ui .left--2{left:-2rem}.swagger-ui .absolute--fill{top:0;right:0;bottom:0;left:0}@media screen and (min-width:30em){.swagger-ui .top-0-ns{top:0}.swagger-ui .left-0-ns{left:0}.swagger-ui .right-0-ns{right:0}.swagger-ui .bottom-0-ns{bottom:0}.swagger-ui .top-1-ns{top:1rem}.swagger-ui .left-1-ns{left:1rem}.swagger-ui .right-1-ns{right:1rem}.swagger-ui .bottom-1-ns{bottom:1rem}.swagger-ui .top-2-ns{top:2rem}.swagger-ui .left-2-ns{left:2rem}.swagger-ui .right-2-ns{right:2rem}.swagger-ui .bottom-2-ns{bottom:2rem}.swagger-ui .top--1-ns{top:-1rem}.swagger-ui .right--1-ns{right:-1rem}.swagger-ui .bottom--1-ns{bottom:-1rem}.swagger-ui .left--1-ns{left:-1rem}.swagger-ui .top--2-ns{top:-2rem}.swagger-ui .right--2-ns{right:-2rem}.swagger-ui .bottom--2-ns{bottom:-2rem}.swagger-ui .left--2-ns{left:-2rem}.swagger-ui .absolute--fill-ns{top:0;right:0;bottom:0;left:0}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .top-0-m{top:0}.swagger-ui .left-0-m{left:0}.swagger-ui .right-0-m{right:0}.swagger-ui .bottom-0-m{bottom:0}.swagger-ui .top-1-m{top:1rem}.swagger-ui .left-1-m{left:1rem}.swagger-ui .right-1-m{right:1rem}.swagger-ui .bottom-1-m{bottom:1rem}.swagger-ui .top-2-m{top:2rem}.swagger-ui .left-2-m{left:2rem}.swagger-ui .right-2-m{right:2rem}.swagger-ui .bottom-2-m{bottom:2rem}.swagger-ui .top--1-m{top:-1rem}.swagger-ui .right--1-m{right:-1rem}.swagger-ui .bottom--1-m{bottom:-1rem}.swagger-ui .left--1-m{left:-1rem}.swagger-ui .top--2-m{top:-2rem}.swagger-ui .right--2-m{right:-2rem}.swagger-ui .bottom--2-m{bottom:-2rem}.swagger-ui .left--2-m{left:-2rem}.swagger-ui .absolute--fill-m{top:0;right:0;bottom:0;left:0}}@media screen and (min-width:60em){.swagger-ui .top-0-l{top:0}.swagger-ui .left-0-l{left:0}.swagger-ui .right-0-l{right:0}.swagger-ui .bottom-0-l{bottom:0}.swagger-ui .top-1-l{top:1rem}.swagger-ui .left-1-l{left:1rem}.swagger-ui .right-1-l{right:1rem}.swagger-ui .bottom-1-l{bottom:1rem}.swagger-ui .top-2-l{top:2rem}.swagger-ui .left-2-l{left:2rem}.swagger-ui .right-2-l{right:2rem}.swagger-ui .bottom-2-l{bottom:2rem}.swagger-ui .top--1-l{top:-1rem}.swagger-ui .right--1-l{right:-1rem}.swagger-ui .bottom--1-l{bottom:-1rem}.swagger-ui .left--1-l{left:-1rem}.swagger-ui .top--2-l{top:-2rem}.swagger-ui .right--2-l{right:-2rem}.swagger-ui .bottom--2-l{bottom:-2rem}.swagger-ui .left--2-l{left:-2rem}.swagger-ui .absolute--fill-l{top:0;right:0;bottom:0;left:0}}.swagger-ui .cf:after,.swagger-ui .cf:before{content:" ";display:table}.swagger-ui .cf:after{clear:both}.swagger-ui .cf{*zoom:1}.swagger-ui .cl{clear:left}.swagger-ui .cr{clear:right}.swagger-ui .cb{clear:both}.swagger-ui .cn{clear:none}@media screen and (min-width:30em){.swagger-ui .cl-ns{clear:left}.swagger-ui .cr-ns{clear:right}.swagger-ui .cb-ns{clear:both}.swagger-ui .cn-ns{clear:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .cl-m{clear:left}.swagger-ui .cr-m{clear:right}.swagger-ui .cb-m{clear:both}.swagger-ui .cn-m{clear:none}}@media screen and (min-width:60em){.swagger-ui .cl-l{clear:left}.swagger-ui .cr-l{clear:right}.swagger-ui .cb-l{clear:both}.swagger-ui .cn-l{clear:none}}.swagger-ui .flex{display:flex}.swagger-ui .inline-flex{display:inline-flex}.swagger-ui .flex-auto{flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none{flex:none}.swagger-ui .flex-column{flex-direction:column}.swagger-ui .flex-row{flex-direction:row}.swagger-ui .flex-wrap{flex-wrap:wrap}.swagger-ui .flex-nowrap{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse{flex-direction:column-reverse}.swagger-ui .flex-row-reverse{flex-direction:row-reverse}.swagger-ui .items-start{align-items:flex-start}.swagger-ui .items-end{align-items:flex-end}.swagger-ui .items-center{align-items:center}.swagger-ui .items-baseline{align-items:baseline}.swagger-ui .items-stretch{align-items:stretch}.swagger-ui .self-start{align-self:flex-start}.swagger-ui .self-end{align-self:flex-end}.swagger-ui .self-center{align-self:center}.swagger-ui .self-baseline{align-self:baseline}.swagger-ui .self-stretch{align-self:stretch}.swagger-ui .justify-start{justify-content:flex-start}.swagger-ui .justify-end{justify-content:flex-end}.swagger-ui .justify-center{justify-content:center}.swagger-ui .justify-between{justify-content:space-between}.swagger-ui .justify-around{justify-content:space-around}.swagger-ui .content-start{align-content:flex-start}.swagger-ui .content-end{align-content:flex-end}.swagger-ui .content-center{align-content:center}.swagger-ui .content-between{align-content:space-between}.swagger-ui .content-around{align-content:space-around}.swagger-ui .content-stretch{align-content:stretch}.swagger-ui .order-0{order:0}.swagger-ui .order-1{order:1}.swagger-ui .order-2{order:2}.swagger-ui .order-3{order:3}.swagger-ui .order-4{order:4}.swagger-ui .order-5{order:5}.swagger-ui .order-6{order:6}.swagger-ui .order-7{order:7}.swagger-ui .order-8{order:8}.swagger-ui .order-last{order:99999}.swagger-ui .flex-grow-0{flex-grow:0}.swagger-ui .flex-grow-1{flex-grow:1}.swagger-ui .flex-shrink-0{flex-shrink:0}.swagger-ui .flex-shrink-1{flex-shrink:1}@media screen and (min-width:30em){.swagger-ui .flex-ns{display:flex}.swagger-ui .inline-flex-ns{display:inline-flex}.swagger-ui .flex-auto-ns{flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none-ns{flex:none}.swagger-ui .flex-column-ns{flex-direction:column}.swagger-ui .flex-row-ns{flex-direction:row}.swagger-ui .flex-wrap-ns{flex-wrap:wrap}.swagger-ui .flex-nowrap-ns{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-ns{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-ns{flex-direction:row-reverse}.swagger-ui .items-start-ns{align-items:flex-start}.swagger-ui .items-end-ns{align-items:flex-end}.swagger-ui .items-center-ns{align-items:center}.swagger-ui .items-baseline-ns{align-items:baseline}.swagger-ui .items-stretch-ns{align-items:stretch}.swagger-ui .self-start-ns{align-self:flex-start}.swagger-ui .self-end-ns{align-self:flex-end}.swagger-ui .self-center-ns{align-self:center}.swagger-ui .self-baseline-ns{align-self:baseline}.swagger-ui .self-stretch-ns{align-self:stretch}.swagger-ui .justify-start-ns{justify-content:flex-start}.swagger-ui .justify-end-ns{justify-content:flex-end}.swagger-ui .justify-center-ns{justify-content:center}.swagger-ui .justify-between-ns{justify-content:space-between}.swagger-ui .justify-around-ns{justify-content:space-around}.swagger-ui .content-start-ns{align-content:flex-start}.swagger-ui .content-end-ns{align-content:flex-end}.swagger-ui .content-center-ns{align-content:center}.swagger-ui .content-between-ns{align-content:space-between}.swagger-ui .content-around-ns{align-content:space-around}.swagger-ui .content-stretch-ns{align-content:stretch}.swagger-ui .order-0-ns{order:0}.swagger-ui .order-1-ns{order:1}.swagger-ui .order-2-ns{order:2}.swagger-ui .order-3-ns{order:3}.swagger-ui .order-4-ns{order:4}.swagger-ui .order-5-ns{order:5}.swagger-ui .order-6-ns{order:6}.swagger-ui .order-7-ns{order:7}.swagger-ui .order-8-ns{order:8}.swagger-ui .order-last-ns{order:99999}.swagger-ui .flex-grow-0-ns{flex-grow:0}.swagger-ui .flex-grow-1-ns{flex-grow:1}.swagger-ui .flex-shrink-0-ns{flex-shrink:0}.swagger-ui .flex-shrink-1-ns{flex-shrink:1}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .flex-m{display:flex}.swagger-ui .inline-flex-m{display:inline-flex}.swagger-ui .flex-auto-m{flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none-m{flex:none}.swagger-ui .flex-column-m{flex-direction:column}.swagger-ui .flex-row-m{flex-direction:row}.swagger-ui .flex-wrap-m{flex-wrap:wrap}.swagger-ui .flex-nowrap-m{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-m{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-m{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-m{flex-direction:row-reverse}.swagger-ui .items-start-m{align-items:flex-start}.swagger-ui .items-end-m{align-items:flex-end}.swagger-ui .items-center-m{align-items:center}.swagger-ui .items-baseline-m{align-items:baseline}.swagger-ui .items-stretch-m{align-items:stretch}.swagger-ui .self-start-m{align-self:flex-start}.swagger-ui .self-end-m{align-self:flex-end}.swagger-ui .self-center-m{align-self:center}.swagger-ui .self-baseline-m{align-self:baseline}.swagger-ui .self-stretch-m{align-self:stretch}.swagger-ui .justify-start-m{justify-content:flex-start}.swagger-ui .justify-end-m{justify-content:flex-end}.swagger-ui .justify-center-m{justify-content:center}.swagger-ui .justify-between-m{justify-content:space-between}.swagger-ui .justify-around-m{justify-content:space-around}.swagger-ui .content-start-m{align-content:flex-start}.swagger-ui .content-end-m{align-content:flex-end}.swagger-ui .content-center-m{align-content:center}.swagger-ui .content-between-m{align-content:space-between}.swagger-ui .content-around-m{align-content:space-around}.swagger-ui .content-stretch-m{align-content:stretch}.swagger-ui .order-0-m{order:0}.swagger-ui .order-1-m{order:1}.swagger-ui .order-2-m{order:2}.swagger-ui .order-3-m{order:3}.swagger-ui .order-4-m{order:4}.swagger-ui .order-5-m{order:5}.swagger-ui .order-6-m{order:6}.swagger-ui .order-7-m{order:7}.swagger-ui .order-8-m{order:8}.swagger-ui .order-last-m{order:99999}.swagger-ui .flex-grow-0-m{flex-grow:0}.swagger-ui .flex-grow-1-m{flex-grow:1}.swagger-ui .flex-shrink-0-m{flex-shrink:0}.swagger-ui .flex-shrink-1-m{flex-shrink:1}}@media screen and (min-width:60em){.swagger-ui .flex-l{display:flex}.swagger-ui .inline-flex-l{display:inline-flex}.swagger-ui .flex-auto-l{flex:1 1 auto;min-width:0;min-height:0}.swagger-ui .flex-none-l{flex:none}.swagger-ui .flex-column-l{flex-direction:column}.swagger-ui .flex-row-l{flex-direction:row}.swagger-ui .flex-wrap-l{flex-wrap:wrap}.swagger-ui .flex-nowrap-l{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-l{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-l{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-l{flex-direction:row-reverse}.swagger-ui .items-start-l{align-items:flex-start}.swagger-ui .items-end-l{align-items:flex-end}.swagger-ui .items-center-l{align-items:center}.swagger-ui .items-baseline-l{align-items:baseline}.swagger-ui .items-stretch-l{align-items:stretch}.swagger-ui .self-start-l{align-self:flex-start}.swagger-ui .self-end-l{align-self:flex-end}.swagger-ui .self-center-l{align-self:center}.swagger-ui .self-baseline-l{align-self:baseline}.swagger-ui .self-stretch-l{align-self:stretch}.swagger-ui .justify-start-l{justify-content:flex-start}.swagger-ui .justify-end-l{justify-content:flex-end}.swagger-ui .justify-center-l{justify-content:center}.swagger-ui .justify-between-l{justify-content:space-between}.swagger-ui .justify-around-l{justify-content:space-around}.swagger-ui .content-start-l{align-content:flex-start}.swagger-ui .content-end-l{align-content:flex-end}.swagger-ui .content-center-l{align-content:center}.swagger-ui .content-between-l{align-content:space-between}.swagger-ui .content-around-l{align-content:space-around}.swagger-ui .content-stretch-l{align-content:stretch}.swagger-ui .order-0-l{order:0}.swagger-ui .order-1-l{order:1}.swagger-ui .order-2-l{order:2}.swagger-ui .order-3-l{order:3}.swagger-ui .order-4-l{order:4}.swagger-ui .order-5-l{order:5}.swagger-ui .order-6-l{order:6}.swagger-ui .order-7-l{order:7}.swagger-ui .order-8-l{order:8}.swagger-ui .order-last-l{order:99999}.swagger-ui .flex-grow-0-l{flex-grow:0}.swagger-ui .flex-grow-1-l{flex-grow:1}.swagger-ui .flex-shrink-0-l{flex-shrink:0}.swagger-ui .flex-shrink-1-l{flex-shrink:1}}.swagger-ui .dn{display:none}.swagger-ui .di{display:inline}.swagger-ui .db{display:block}.swagger-ui .dib{display:inline-block}.swagger-ui .dit{display:inline-table}.swagger-ui .dt{display:table}.swagger-ui .dtc{display:table-cell}.swagger-ui .dt-row{display:table-row}.swagger-ui .dt-row-group{display:table-row-group}.swagger-ui .dt-column{display:table-column}.swagger-ui .dt-column-group{display:table-column-group}.swagger-ui .dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.swagger-ui .dn-ns{display:none}.swagger-ui .di-ns{display:inline}.swagger-ui .db-ns{display:block}.swagger-ui .dib-ns{display:inline-block}.swagger-ui .dit-ns{display:inline-table}.swagger-ui .dt-ns{display:table}.swagger-ui .dtc-ns{display:table-cell}.swagger-ui .dt-row-ns{display:table-row}.swagger-ui .dt-row-group-ns{display:table-row-group}.swagger-ui .dt-column-ns{display:table-column}.swagger-ui .dt-column-group-ns{display:table-column-group}.swagger-ui .dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .dn-m{display:none}.swagger-ui .di-m{display:inline}.swagger-ui .db-m{display:block}.swagger-ui .dib-m{display:inline-block}.swagger-ui .dit-m{display:inline-table}.swagger-ui .dt-m{display:table}.swagger-ui .dtc-m{display:table-cell}.swagger-ui .dt-row-m{display:table-row}.swagger-ui .dt-row-group-m{display:table-row-group}.swagger-ui .dt-column-m{display:table-column}.swagger-ui .dt-column-group-m{display:table-column-group}.swagger-ui .dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.swagger-ui .dn-l{display:none}.swagger-ui .di-l{display:inline}.swagger-ui .db-l{display:block}.swagger-ui .dib-l{display:inline-block}.swagger-ui .dit-l{display:inline-table}.swagger-ui .dt-l{display:table}.swagger-ui .dtc-l{display:table-cell}.swagger-ui .dt-row-l{display:table-row}.swagger-ui .dt-row-group-l{display:table-row-group}.swagger-ui .dt-column-l{display:table-column}.swagger-ui .dt-column-group-l{display:table-column-group}.swagger-ui .dt--fixed-l{table-layout:fixed;width:100%}}.swagger-ui .fl{float:left;_display:inline}.swagger-ui .fr{float:right;_display:inline}.swagger-ui .fn{float:none}@media screen and (min-width:30em){.swagger-ui .fl-ns{float:left;_display:inline}.swagger-ui .fr-ns{float:right;_display:inline}.swagger-ui .fn-ns{float:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .fl-m{float:left;_display:inline}.swagger-ui .fr-m{float:right;_display:inline}.swagger-ui .fn-m{float:none}}@media screen and (min-width:60em){.swagger-ui .fl-l{float:left;_display:inline}.swagger-ui .fr-l{float:right;_display:inline}.swagger-ui .fn-l{float:none}}.swagger-ui .sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.swagger-ui .serif{font-family:georgia,serif}.swagger-ui .system-sans-serif{font-family:sans-serif}.swagger-ui .system-serif{font-family:serif}.swagger-ui .code,.swagger-ui code{font-family:Consolas,monaco,monospace}.swagger-ui .courier{font-family:Courier Next,courier,monospace}.swagger-ui .helvetica{font-family:helvetica neue,helvetica,sans-serif}.swagger-ui .avenir{font-family:avenir next,avenir,sans-serif}.swagger-ui .athelas{font-family:athelas,georgia,serif}.swagger-ui .georgia{font-family:georgia,serif}.swagger-ui .times{font-family:times,serif}.swagger-ui .bodoni{font-family:Bodoni MT,serif}.swagger-ui .calisto{font-family:Calisto MT,serif}.swagger-ui .garamond{font-family:garamond,serif}.swagger-ui .baskerville{font-family:baskerville,serif}.swagger-ui .i{font-style:italic}.swagger-ui .fs-normal{font-style:normal}@media screen and (min-width:30em){.swagger-ui .i-ns{font-style:italic}.swagger-ui .fs-normal-ns{font-style:normal}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .i-m{font-style:italic}.swagger-ui .fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.swagger-ui .i-l{font-style:italic}.swagger-ui .fs-normal-l{font-style:normal}}.swagger-ui .normal{font-weight:400}.swagger-ui .b{font-weight:700}.swagger-ui .fw1{font-weight:100}.swagger-ui .fw2{font-weight:200}.swagger-ui .fw3{font-weight:300}.swagger-ui .fw4{font-weight:400}.swagger-ui .fw5{font-weight:500}.swagger-ui .fw6{font-weight:600}.swagger-ui .fw7{font-weight:700}.swagger-ui .fw8{font-weight:800}.swagger-ui .fw9{font-weight:900}@media screen and (min-width:30em){.swagger-ui .normal-ns{font-weight:400}.swagger-ui .b-ns{font-weight:700}.swagger-ui .fw1-ns{font-weight:100}.swagger-ui .fw2-ns{font-weight:200}.swagger-ui .fw3-ns{font-weight:300}.swagger-ui .fw4-ns{font-weight:400}.swagger-ui .fw5-ns{font-weight:500}.swagger-ui .fw6-ns{font-weight:600}.swagger-ui .fw7-ns{font-weight:700}.swagger-ui .fw8-ns{font-weight:800}.swagger-ui .fw9-ns{font-weight:900}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .normal-m{font-weight:400}.swagger-ui .b-m{font-weight:700}.swagger-ui .fw1-m{font-weight:100}.swagger-ui .fw2-m{font-weight:200}.swagger-ui .fw3-m{font-weight:300}.swagger-ui .fw4-m{font-weight:400}.swagger-ui .fw5-m{font-weight:500}.swagger-ui .fw6-m{font-weight:600}.swagger-ui .fw7-m{font-weight:700}.swagger-ui .fw8-m{font-weight:800}.swagger-ui .fw9-m{font-weight:900}}@media screen and (min-width:60em){.swagger-ui .normal-l{font-weight:400}.swagger-ui .b-l{font-weight:700}.swagger-ui .fw1-l{font-weight:100}.swagger-ui .fw2-l{font-weight:200}.swagger-ui .fw3-l{font-weight:300}.swagger-ui .fw4-l{font-weight:400}.swagger-ui .fw5-l{font-weight:500}.swagger-ui .fw6-l{font-weight:600}.swagger-ui .fw7-l{font-weight:700}.swagger-ui .fw8-l{font-weight:800}.swagger-ui .fw9-l{font-weight:900}}.swagger-ui .input-reset{-webkit-appearance:none;-moz-appearance:none}.swagger-ui .button-reset::-moz-focus-inner,.swagger-ui .input-reset::-moz-focus-inner{border:0;padding:0}.swagger-ui .h1{height:1rem}.swagger-ui .h2{height:2rem}.swagger-ui .h3{height:4rem}.swagger-ui .h4{height:8rem}.swagger-ui .h5{height:16rem}.swagger-ui .h-25{height:25%}.swagger-ui .h-50{height:50%}.swagger-ui .h-75{height:75%}.swagger-ui .h-100{height:100%}.swagger-ui .min-h-100{min-height:100%}.swagger-ui .vh-25{height:25vh}.swagger-ui .vh-50{height:50vh}.swagger-ui .vh-75{height:75vh}.swagger-ui .vh-100{height:100vh}.swagger-ui .min-vh-100{min-height:100vh}.swagger-ui .h-auto{height:auto}.swagger-ui .h-inherit{height:inherit}@media screen and (min-width:30em){.swagger-ui .h1-ns{height:1rem}.swagger-ui .h2-ns{height:2rem}.swagger-ui .h3-ns{height:4rem}.swagger-ui .h4-ns{height:8rem}.swagger-ui .h5-ns{height:16rem}.swagger-ui .h-25-ns{height:25%}.swagger-ui .h-50-ns{height:50%}.swagger-ui .h-75-ns{height:75%}.swagger-ui .h-100-ns{height:100%}.swagger-ui .min-h-100-ns{min-height:100%}.swagger-ui .vh-25-ns{height:25vh}.swagger-ui .vh-50-ns{height:50vh}.swagger-ui .vh-75-ns{height:75vh}.swagger-ui .vh-100-ns{height:100vh}.swagger-ui .min-vh-100-ns{min-height:100vh}.swagger-ui .h-auto-ns{height:auto}.swagger-ui .h-inherit-ns{height:inherit}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .h1-m{height:1rem}.swagger-ui .h2-m{height:2rem}.swagger-ui .h3-m{height:4rem}.swagger-ui .h4-m{height:8rem}.swagger-ui .h5-m{height:16rem}.swagger-ui .h-25-m{height:25%}.swagger-ui .h-50-m{height:50%}.swagger-ui .h-75-m{height:75%}.swagger-ui .h-100-m{height:100%}.swagger-ui .min-h-100-m{min-height:100%}.swagger-ui .vh-25-m{height:25vh}.swagger-ui .vh-50-m{height:50vh}.swagger-ui .vh-75-m{height:75vh}.swagger-ui .vh-100-m{height:100vh}.swagger-ui .min-vh-100-m{min-height:100vh}.swagger-ui .h-auto-m{height:auto}.swagger-ui .h-inherit-m{height:inherit}}@media screen and (min-width:60em){.swagger-ui .h1-l{height:1rem}.swagger-ui .h2-l{height:2rem}.swagger-ui .h3-l{height:4rem}.swagger-ui .h4-l{height:8rem}.swagger-ui .h5-l{height:16rem}.swagger-ui .h-25-l{height:25%}.swagger-ui .h-50-l{height:50%}.swagger-ui .h-75-l{height:75%}.swagger-ui .h-100-l{height:100%}.swagger-ui .min-h-100-l{min-height:100%}.swagger-ui .vh-25-l{height:25vh}.swagger-ui .vh-50-l{height:50vh}.swagger-ui .vh-75-l{height:75vh}.swagger-ui .vh-100-l{height:100vh}.swagger-ui .min-vh-100-l{min-height:100vh}.swagger-ui .h-auto-l{height:auto}.swagger-ui .h-inherit-l{height:inherit}}.swagger-ui .tracked{letter-spacing:.1em}.swagger-ui .tracked-tight{letter-spacing:-.05em}.swagger-ui .tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.swagger-ui .tracked-ns{letter-spacing:.1em}.swagger-ui .tracked-tight-ns{letter-spacing:-.05em}.swagger-ui .tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .tracked-m{letter-spacing:.1em}.swagger-ui .tracked-tight-m{letter-spacing:-.05em}.swagger-ui .tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.swagger-ui .tracked-l{letter-spacing:.1em}.swagger-ui .tracked-tight-l{letter-spacing:-.05em}.swagger-ui .tracked-mega-l{letter-spacing:.25em}}.swagger-ui .lh-solid{line-height:1}.swagger-ui .lh-title{line-height:1.25}.swagger-ui .lh-copy{line-height:1.5}@media screen and (min-width:30em){.swagger-ui .lh-solid-ns{line-height:1}.swagger-ui .lh-title-ns{line-height:1.25}.swagger-ui .lh-copy-ns{line-height:1.5}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .lh-solid-m{line-height:1}.swagger-ui .lh-title-m{line-height:1.25}.swagger-ui .lh-copy-m{line-height:1.5}}@media screen and (min-width:60em){.swagger-ui .lh-solid-l{line-height:1}.swagger-ui .lh-title-l{line-height:1.25}.swagger-ui .lh-copy-l{line-height:1.5}}.swagger-ui .link{text-decoration:none}.swagger-ui .link,.swagger-ui .link:link,.swagger-ui .link:visited{transition:color .15s ease-in}.swagger-ui .link:hover{transition:color .15s ease-in}.swagger-ui .link:active{transition:color .15s ease-in}.swagger-ui .link:focus{transition:color .15s ease-in;outline:1px dotted currentColor}.swagger-ui .list{list-style-type:none}.swagger-ui .mw-100{max-width:100%}.swagger-ui .mw1{max-width:1rem}.swagger-ui .mw2{max-width:2rem}.swagger-ui .mw3{max-width:4rem}.swagger-ui .mw4{max-width:8rem}.swagger-ui .mw5{max-width:16rem}.swagger-ui .mw6{max-width:32rem}.swagger-ui .mw7{max-width:48rem}.swagger-ui .mw8{max-width:64rem}.swagger-ui .mw9{max-width:96rem}.swagger-ui .mw-none{max-width:none}@media screen and (min-width:30em){.swagger-ui .mw-100-ns{max-width:100%}.swagger-ui .mw1-ns{max-width:1rem}.swagger-ui .mw2-ns{max-width:2rem}.swagger-ui .mw3-ns{max-width:4rem}.swagger-ui .mw4-ns{max-width:8rem}.swagger-ui .mw5-ns{max-width:16rem}.swagger-ui .mw6-ns{max-width:32rem}.swagger-ui .mw7-ns{max-width:48rem}.swagger-ui .mw8-ns{max-width:64rem}.swagger-ui .mw9-ns{max-width:96rem}.swagger-ui .mw-none-ns{max-width:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .mw-100-m{max-width:100%}.swagger-ui .mw1-m{max-width:1rem}.swagger-ui .mw2-m{max-width:2rem}.swagger-ui .mw3-m{max-width:4rem}.swagger-ui .mw4-m{max-width:8rem}.swagger-ui .mw5-m{max-width:16rem}.swagger-ui .mw6-m{max-width:32rem}.swagger-ui .mw7-m{max-width:48rem}.swagger-ui .mw8-m{max-width:64rem}.swagger-ui .mw9-m{max-width:96rem}.swagger-ui .mw-none-m{max-width:none}}@media screen and (min-width:60em){.swagger-ui .mw-100-l{max-width:100%}.swagger-ui .mw1-l{max-width:1rem}.swagger-ui .mw2-l{max-width:2rem}.swagger-ui .mw3-l{max-width:4rem}.swagger-ui .mw4-l{max-width:8rem}.swagger-ui .mw5-l{max-width:16rem}.swagger-ui .mw6-l{max-width:32rem}.swagger-ui .mw7-l{max-width:48rem}.swagger-ui .mw8-l{max-width:64rem}.swagger-ui .mw9-l{max-width:96rem}.swagger-ui .mw-none-l{max-width:none}}.swagger-ui .w1{width:1rem}.swagger-ui .w2{width:2rem}.swagger-ui .w3{width:4rem}.swagger-ui .w4{width:8rem}.swagger-ui .w5{width:16rem}.swagger-ui .w-10{width:10%}.swagger-ui .w-20{width:20%}.swagger-ui .w-25{width:25%}.swagger-ui .w-30{width:30%}.swagger-ui .w-33{width:33%}.swagger-ui .w-34{width:34%}.swagger-ui .w-40{width:40%}.swagger-ui .w-50{width:50%}.swagger-ui .w-60{width:60%}.swagger-ui .w-70{width:70%}.swagger-ui .w-75{width:75%}.swagger-ui .w-80{width:80%}.swagger-ui .w-90{width:90%}.swagger-ui .w-100{width:100%}.swagger-ui .w-third{width:33.33333%}.swagger-ui .w-two-thirds{width:66.66667%}.swagger-ui .w-auto{width:auto}@media screen and (min-width:30em){.swagger-ui .w1-ns{width:1rem}.swagger-ui .w2-ns{width:2rem}.swagger-ui .w3-ns{width:4rem}.swagger-ui .w4-ns{width:8rem}.swagger-ui .w5-ns{width:16rem}.swagger-ui .w-10-ns{width:10%}.swagger-ui .w-20-ns{width:20%}.swagger-ui .w-25-ns{width:25%}.swagger-ui .w-30-ns{width:30%}.swagger-ui .w-33-ns{width:33%}.swagger-ui .w-34-ns{width:34%}.swagger-ui .w-40-ns{width:40%}.swagger-ui .w-50-ns{width:50%}.swagger-ui .w-60-ns{width:60%}.swagger-ui .w-70-ns{width:70%}.swagger-ui .w-75-ns{width:75%}.swagger-ui .w-80-ns{width:80%}.swagger-ui .w-90-ns{width:90%}.swagger-ui .w-100-ns{width:100%}.swagger-ui .w-third-ns{width:33.33333%}.swagger-ui .w-two-thirds-ns{width:66.66667%}.swagger-ui .w-auto-ns{width:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .w1-m{width:1rem}.swagger-ui .w2-m{width:2rem}.swagger-ui .w3-m{width:4rem}.swagger-ui .w4-m{width:8rem}.swagger-ui .w5-m{width:16rem}.swagger-ui .w-10-m{width:10%}.swagger-ui .w-20-m{width:20%}.swagger-ui .w-25-m{width:25%}.swagger-ui .w-30-m{width:30%}.swagger-ui .w-33-m{width:33%}.swagger-ui .w-34-m{width:34%}.swagger-ui .w-40-m{width:40%}.swagger-ui .w-50-m{width:50%}.swagger-ui .w-60-m{width:60%}.swagger-ui .w-70-m{width:70%}.swagger-ui .w-75-m{width:75%}.swagger-ui .w-80-m{width:80%}.swagger-ui .w-90-m{width:90%}.swagger-ui .w-100-m{width:100%}.swagger-ui .w-third-m{width:33.33333%}.swagger-ui .w-two-thirds-m{width:66.66667%}.swagger-ui .w-auto-m{width:auto}}@media screen and (min-width:60em){.swagger-ui .w1-l{width:1rem}.swagger-ui .w2-l{width:2rem}.swagger-ui .w3-l{width:4rem}.swagger-ui .w4-l{width:8rem}.swagger-ui .w5-l{width:16rem}.swagger-ui .w-10-l{width:10%}.swagger-ui .w-20-l{width:20%}.swagger-ui .w-25-l{width:25%}.swagger-ui .w-30-l{width:30%}.swagger-ui .w-33-l{width:33%}.swagger-ui .w-34-l{width:34%}.swagger-ui .w-40-l{width:40%}.swagger-ui .w-50-l{width:50%}.swagger-ui .w-60-l{width:60%}.swagger-ui .w-70-l{width:70%}.swagger-ui .w-75-l{width:75%}.swagger-ui .w-80-l{width:80%}.swagger-ui .w-90-l{width:90%}.swagger-ui .w-100-l{width:100%}.swagger-ui .w-third-l{width:33.33333%}.swagger-ui .w-two-thirds-l{width:66.66667%}.swagger-ui .w-auto-l{width:auto}}.swagger-ui .overflow-visible{overflow:visible}.swagger-ui .overflow-hidden{overflow:hidden}.swagger-ui .overflow-scroll{overflow:scroll}.swagger-ui .overflow-auto{overflow:auto}.swagger-ui .overflow-x-visible{overflow-x:visible}.swagger-ui .overflow-x-hidden{overflow-x:hidden}.swagger-ui .overflow-x-scroll{overflow-x:scroll}.swagger-ui .overflow-x-auto{overflow-x:auto}.swagger-ui .overflow-y-visible{overflow-y:visible}.swagger-ui .overflow-y-hidden{overflow-y:hidden}.swagger-ui .overflow-y-scroll{overflow-y:scroll}.swagger-ui .overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.swagger-ui .overflow-visible-ns{overflow:visible}.swagger-ui .overflow-hidden-ns{overflow:hidden}.swagger-ui .overflow-scroll-ns{overflow:scroll}.swagger-ui .overflow-auto-ns{overflow:auto}.swagger-ui .overflow-x-visible-ns{overflow-x:visible}.swagger-ui .overflow-x-hidden-ns{overflow-x:hidden}.swagger-ui .overflow-x-scroll-ns{overflow-x:scroll}.swagger-ui .overflow-x-auto-ns{overflow-x:auto}.swagger-ui .overflow-y-visible-ns{overflow-y:visible}.swagger-ui .overflow-y-hidden-ns{overflow-y:hidden}.swagger-ui .overflow-y-scroll-ns{overflow-y:scroll}.swagger-ui .overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .overflow-visible-m{overflow:visible}.swagger-ui .overflow-hidden-m{overflow:hidden}.swagger-ui .overflow-scroll-m{overflow:scroll}.swagger-ui .overflow-auto-m{overflow:auto}.swagger-ui .overflow-x-visible-m{overflow-x:visible}.swagger-ui .overflow-x-hidden-m{overflow-x:hidden}.swagger-ui .overflow-x-scroll-m{overflow-x:scroll}.swagger-ui .overflow-x-auto-m{overflow-x:auto}.swagger-ui .overflow-y-visible-m{overflow-y:visible}.swagger-ui .overflow-y-hidden-m{overflow-y:hidden}.swagger-ui .overflow-y-scroll-m{overflow-y:scroll}.swagger-ui .overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.swagger-ui .overflow-visible-l{overflow:visible}.swagger-ui .overflow-hidden-l{overflow:hidden}.swagger-ui .overflow-scroll-l{overflow:scroll}.swagger-ui .overflow-auto-l{overflow:auto}.swagger-ui .overflow-x-visible-l{overflow-x:visible}.swagger-ui .overflow-x-hidden-l{overflow-x:hidden}.swagger-ui .overflow-x-scroll-l{overflow-x:scroll}.swagger-ui .overflow-x-auto-l{overflow-x:auto}.swagger-ui .overflow-y-visible-l{overflow-y:visible}.swagger-ui .overflow-y-hidden-l{overflow-y:hidden}.swagger-ui .overflow-y-scroll-l{overflow-y:scroll}.swagger-ui .overflow-y-auto-l{overflow-y:auto}}.swagger-ui .static{position:static}.swagger-ui .relative{position:relative}.swagger-ui .absolute{position:absolute}.swagger-ui .fixed{position:fixed}@media screen and (min-width:30em){.swagger-ui .static-ns{position:static}.swagger-ui .relative-ns{position:relative}.swagger-ui .absolute-ns{position:absolute}.swagger-ui .fixed-ns{position:fixed}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .static-m{position:static}.swagger-ui .relative-m{position:relative}.swagger-ui .absolute-m{position:absolute}.swagger-ui .fixed-m{position:fixed}}@media screen and (min-width:60em){.swagger-ui .static-l{position:static}.swagger-ui .relative-l{position:relative}.swagger-ui .absolute-l{position:absolute}.swagger-ui .fixed-l{position:fixed}}.swagger-ui .o-100{opacity:1}.swagger-ui .o-90{opacity:.9}.swagger-ui .o-80{opacity:.8}.swagger-ui .o-70{opacity:.7}.swagger-ui .o-60{opacity:.6}.swagger-ui .o-50{opacity:.5}.swagger-ui .o-40{opacity:.4}.swagger-ui .o-30{opacity:.3}.swagger-ui .o-20{opacity:.2}.swagger-ui .o-10{opacity:.1}.swagger-ui .o-05{opacity:.05}.swagger-ui .o-025{opacity:.025}.swagger-ui .o-0{opacity:0}.swagger-ui .rotate-45{transform:rotate(45deg)}.swagger-ui .rotate-90{transform:rotate(90deg)}.swagger-ui .rotate-135{transform:rotate(135deg)}.swagger-ui .rotate-180{transform:rotate(180deg)}.swagger-ui .rotate-225{transform:rotate(225deg)}.swagger-ui .rotate-270{transform:rotate(270deg)}.swagger-ui .rotate-315{transform:rotate(315deg)}@media screen and (min-width:30em){.swagger-ui .rotate-45-ns{transform:rotate(45deg)}.swagger-ui .rotate-90-ns{transform:rotate(90deg)}.swagger-ui .rotate-135-ns{transform:rotate(135deg)}.swagger-ui .rotate-180-ns{transform:rotate(180deg)}.swagger-ui .rotate-225-ns{transform:rotate(225deg)}.swagger-ui .rotate-270-ns{transform:rotate(270deg)}.swagger-ui .rotate-315-ns{transform:rotate(315deg)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .rotate-45-m{transform:rotate(45deg)}.swagger-ui .rotate-90-m{transform:rotate(90deg)}.swagger-ui .rotate-135-m{transform:rotate(135deg)}.swagger-ui .rotate-180-m{transform:rotate(180deg)}.swagger-ui .rotate-225-m{transform:rotate(225deg)}.swagger-ui .rotate-270-m{transform:rotate(270deg)}.swagger-ui .rotate-315-m{transform:rotate(315deg)}}@media screen and (min-width:60em){.swagger-ui .rotate-45-l{transform:rotate(45deg)}.swagger-ui .rotate-90-l{transform:rotate(90deg)}.swagger-ui .rotate-135-l{transform:rotate(135deg)}.swagger-ui .rotate-180-l{transform:rotate(180deg)}.swagger-ui .rotate-225-l{transform:rotate(225deg)}.swagger-ui .rotate-270-l{transform:rotate(270deg)}.swagger-ui .rotate-315-l{transform:rotate(315deg)}}.swagger-ui .black-90{color:rgba(0,0,0,.9)}.swagger-ui .black-80{color:rgba(0,0,0,.8)}.swagger-ui .black-70{color:rgba(0,0,0,.7)}.swagger-ui .black-60{color:rgba(0,0,0,.6)}.swagger-ui .black-50{color:rgba(0,0,0,.5)}.swagger-ui .black-40{color:rgba(0,0,0,.4)}.swagger-ui .black-30{color:rgba(0,0,0,.3)}.swagger-ui .black-20{color:rgba(0,0,0,.2)}.swagger-ui .black-10{color:rgba(0,0,0,.1)}.swagger-ui .black-05{color:rgba(0,0,0,.05)}.swagger-ui .white-90{color:hsla(0,0%,100%,.9)}.swagger-ui .white-80{color:hsla(0,0%,100%,.8)}.swagger-ui .white-70{color:hsla(0,0%,100%,.7)}.swagger-ui .white-60{color:hsla(0,0%,100%,.6)}.swagger-ui .white-50{color:hsla(0,0%,100%,.5)}.swagger-ui .white-40{color:hsla(0,0%,100%,.4)}.swagger-ui .white-30{color:hsla(0,0%,100%,.3)}.swagger-ui .white-20{color:hsla(0,0%,100%,.2)}.swagger-ui .white-10{color:hsla(0,0%,100%,.1)}.swagger-ui .black{color:#000}.swagger-ui .near-black{color:#111}.swagger-ui .dark-gray{color:#333}.swagger-ui .mid-gray{color:#555}.swagger-ui .gray{color:#777}.swagger-ui .silver{color:#999}.swagger-ui .light-silver{color:#aaa}.swagger-ui .moon-gray{color:#ccc}.swagger-ui .light-gray{color:#eee}.swagger-ui .near-white{color:#f4f4f4}.swagger-ui .white{color:#fff}.swagger-ui .dark-red{color:#e7040f}.swagger-ui .red{color:#ff4136}.swagger-ui .light-red{color:#ff725c}.swagger-ui .orange{color:#ff6300}.swagger-ui .gold{color:#ffb700}.swagger-ui .yellow{color:gold}.swagger-ui .light-yellow{color:#fbf1a9}.swagger-ui .purple{color:#5e2ca5}.swagger-ui .light-purple{color:#a463f2}.swagger-ui .dark-pink{color:#d5008f}.swagger-ui .hot-pink{color:#ff41b4}.swagger-ui .pink{color:#ff80cc}.swagger-ui .light-pink{color:#ffa3d7}.swagger-ui .dark-green{color:#137752}.swagger-ui .green{color:#19a974}.swagger-ui .light-green{color:#9eebcf}.swagger-ui .navy{color:#001b44}.swagger-ui .dark-blue{color:#00449e}.swagger-ui .blue{color:#357edd}.swagger-ui .light-blue{color:#96ccff}.swagger-ui .lightest-blue{color:#cdecff}.swagger-ui .washed-blue{color:#f6fffe}.swagger-ui .washed-green{color:#e8fdf5}.swagger-ui .washed-yellow{color:#fffceb}.swagger-ui .washed-red{color:#ffdfdf}.swagger-ui .color-inherit{color:inherit}.swagger-ui .bg-black-90{background-color:rgba(0,0,0,.9)}.swagger-ui .bg-black-80{background-color:rgba(0,0,0,.8)}.swagger-ui .bg-black-70{background-color:rgba(0,0,0,.7)}.swagger-ui .bg-black-60{background-color:rgba(0,0,0,.6)}.swagger-ui .bg-black-50{background-color:rgba(0,0,0,.5)}.swagger-ui .bg-black-40{background-color:rgba(0,0,0,.4)}.swagger-ui .bg-black-30{background-color:rgba(0,0,0,.3)}.swagger-ui .bg-black-20{background-color:rgba(0,0,0,.2)}.swagger-ui .bg-black-10{background-color:rgba(0,0,0,.1)}.swagger-ui .bg-black-05{background-color:rgba(0,0,0,.05)}.swagger-ui .bg-white-90{background-color:hsla(0,0%,100%,.9)}.swagger-ui .bg-white-80{background-color:hsla(0,0%,100%,.8)}.swagger-ui .bg-white-70{background-color:hsla(0,0%,100%,.7)}.swagger-ui .bg-white-60{background-color:hsla(0,0%,100%,.6)}.swagger-ui .bg-white-50{background-color:hsla(0,0%,100%,.5)}.swagger-ui .bg-white-40{background-color:hsla(0,0%,100%,.4)}.swagger-ui .bg-white-30{background-color:hsla(0,0%,100%,.3)}.swagger-ui .bg-white-20{background-color:hsla(0,0%,100%,.2)}.swagger-ui .bg-white-10{background-color:hsla(0,0%,100%,.1)}.swagger-ui .bg-black{background-color:#000}.swagger-ui .bg-near-black{background-color:#111}.swagger-ui .bg-dark-gray{background-color:#333}.swagger-ui .bg-mid-gray{background-color:#555}.swagger-ui .bg-gray{background-color:#777}.swagger-ui .bg-silver{background-color:#999}.swagger-ui .bg-light-silver{background-color:#aaa}.swagger-ui .bg-moon-gray{background-color:#ccc}.swagger-ui .bg-light-gray{background-color:#eee}.swagger-ui .bg-near-white{background-color:#f4f4f4}.swagger-ui .bg-white{background-color:#fff}.swagger-ui .bg-transparent{background-color:transparent}.swagger-ui .bg-dark-red{background-color:#e7040f}.swagger-ui .bg-red{background-color:#ff4136}.swagger-ui .bg-light-red{background-color:#ff725c}.swagger-ui .bg-orange{background-color:#ff6300}.swagger-ui .bg-gold{background-color:#ffb700}.swagger-ui .bg-yellow{background-color:gold}.swagger-ui .bg-light-yellow{background-color:#fbf1a9}.swagger-ui .bg-purple{background-color:#5e2ca5}.swagger-ui .bg-light-purple{background-color:#a463f2}.swagger-ui .bg-dark-pink{background-color:#d5008f}.swagger-ui .bg-hot-pink{background-color:#ff41b4}.swagger-ui .bg-pink{background-color:#ff80cc}.swagger-ui .bg-light-pink{background-color:#ffa3d7}.swagger-ui .bg-dark-green{background-color:#137752}.swagger-ui .bg-green{background-color:#19a974}.swagger-ui .bg-light-green{background-color:#9eebcf}.swagger-ui .bg-navy{background-color:#001b44}.swagger-ui .bg-dark-blue{background-color:#00449e}.swagger-ui .bg-blue{background-color:#357edd}.swagger-ui .bg-light-blue{background-color:#96ccff}.swagger-ui .bg-lightest-blue{background-color:#cdecff}.swagger-ui .bg-washed-blue{background-color:#f6fffe}.swagger-ui .bg-washed-green{background-color:#e8fdf5}.swagger-ui .bg-washed-yellow{background-color:#fffceb}.swagger-ui .bg-washed-red{background-color:#ffdfdf}.swagger-ui .bg-inherit{background-color:inherit}.swagger-ui .hover-black:focus,.swagger-ui .hover-black:hover{color:#000}.swagger-ui .hover-near-black:focus,.swagger-ui .hover-near-black:hover{color:#111}.swagger-ui .hover-dark-gray:focus,.swagger-ui .hover-dark-gray:hover{color:#333}.swagger-ui .hover-mid-gray:focus,.swagger-ui .hover-mid-gray:hover{color:#555}.swagger-ui .hover-gray:focus,.swagger-ui .hover-gray:hover{color:#777}.swagger-ui .hover-silver:focus,.swagger-ui .hover-silver:hover{color:#999}.swagger-ui .hover-light-silver:focus,.swagger-ui .hover-light-silver:hover{color:#aaa}.swagger-ui .hover-moon-gray:focus,.swagger-ui .hover-moon-gray:hover{color:#ccc}.swagger-ui .hover-light-gray:focus,.swagger-ui .hover-light-gray:hover{color:#eee}.swagger-ui .hover-near-white:focus,.swagger-ui .hover-near-white:hover{color:#f4f4f4}.swagger-ui .hover-white:focus,.swagger-ui .hover-white:hover{color:#fff}.swagger-ui .hover-black-90:focus,.swagger-ui .hover-black-90:hover{color:rgba(0,0,0,.9)}.swagger-ui .hover-black-80:focus,.swagger-ui .hover-black-80:hover{color:rgba(0,0,0,.8)}.swagger-ui .hover-black-70:focus,.swagger-ui .hover-black-70:hover{color:rgba(0,0,0,.7)}.swagger-ui .hover-black-60:focus,.swagger-ui .hover-black-60:hover{color:rgba(0,0,0,.6)}.swagger-ui .hover-black-50:focus,.swagger-ui .hover-black-50:hover{color:rgba(0,0,0,.5)}.swagger-ui .hover-black-40:focus,.swagger-ui .hover-black-40:hover{color:rgba(0,0,0,.4)}.swagger-ui .hover-black-30:focus,.swagger-ui .hover-black-30:hover{color:rgba(0,0,0,.3)}.swagger-ui .hover-black-20:focus,.swagger-ui .hover-black-20:hover{color:rgba(0,0,0,.2)}.swagger-ui .hover-black-10:focus,.swagger-ui .hover-black-10:hover{color:rgba(0,0,0,.1)}.swagger-ui .hover-white-90:focus,.swagger-ui .hover-white-90:hover{color:hsla(0,0%,100%,.9)}.swagger-ui .hover-white-80:focus,.swagger-ui .hover-white-80:hover{color:hsla(0,0%,100%,.8)}.swagger-ui .hover-white-70:focus,.swagger-ui .hover-white-70:hover{color:hsla(0,0%,100%,.7)}.swagger-ui .hover-white-60:focus,.swagger-ui .hover-white-60:hover{color:hsla(0,0%,100%,.6)}.swagger-ui .hover-white-50:focus,.swagger-ui .hover-white-50:hover{color:hsla(0,0%,100%,.5)}.swagger-ui .hover-white-40:focus,.swagger-ui .hover-white-40:hover{color:hsla(0,0%,100%,.4)}.swagger-ui .hover-white-30:focus,.swagger-ui .hover-white-30:hover{color:hsla(0,0%,100%,.3)}.swagger-ui .hover-white-20:focus,.swagger-ui .hover-white-20:hover{color:hsla(0,0%,100%,.2)}.swagger-ui .hover-white-10:focus,.swagger-ui .hover-white-10:hover{color:hsla(0,0%,100%,.1)}.swagger-ui .hover-inherit:focus,.swagger-ui .hover-inherit:hover{color:inherit}.swagger-ui .hover-bg-black:focus,.swagger-ui .hover-bg-black:hover{background-color:#000}.swagger-ui .hover-bg-near-black:focus,.swagger-ui .hover-bg-near-black:hover{background-color:#111}.swagger-ui .hover-bg-dark-gray:focus,.swagger-ui .hover-bg-dark-gray:hover{background-color:#333}.swagger-ui .hover-bg-mid-gray:focus,.swagger-ui .hover-bg-mid-gray:hover{background-color:#555}.swagger-ui .hover-bg-gray:focus,.swagger-ui .hover-bg-gray:hover{background-color:#777}.swagger-ui .hover-bg-silver:focus,.swagger-ui .hover-bg-silver:hover{background-color:#999}.swagger-ui .hover-bg-light-silver:focus,.swagger-ui .hover-bg-light-silver:hover{background-color:#aaa}.swagger-ui .hover-bg-moon-gray:focus,.swagger-ui .hover-bg-moon-gray:hover{background-color:#ccc}.swagger-ui .hover-bg-light-gray:focus,.swagger-ui .hover-bg-light-gray:hover{background-color:#eee}.swagger-ui .hover-bg-near-white:focus,.swagger-ui .hover-bg-near-white:hover{background-color:#f4f4f4}.swagger-ui .hover-bg-white:focus,.swagger-ui .hover-bg-white:hover{background-color:#fff}.swagger-ui .hover-bg-transparent:focus,.swagger-ui .hover-bg-transparent:hover{background-color:transparent}.swagger-ui .hover-bg-black-90:focus,.swagger-ui .hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)}.swagger-ui .hover-bg-black-80:focus,.swagger-ui .hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)}.swagger-ui .hover-bg-black-70:focus,.swagger-ui .hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)}.swagger-ui .hover-bg-black-60:focus,.swagger-ui .hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)}.swagger-ui .hover-bg-black-50:focus,.swagger-ui .hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)}.swagger-ui .hover-bg-black-40:focus,.swagger-ui .hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)}.swagger-ui .hover-bg-black-30:focus,.swagger-ui .hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)}.swagger-ui .hover-bg-black-20:focus,.swagger-ui .hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)}.swagger-ui .hover-bg-black-10:focus,.swagger-ui .hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)}.swagger-ui .hover-bg-white-90:focus,.swagger-ui .hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)}.swagger-ui .hover-bg-white-80:focus,.swagger-ui .hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)}.swagger-ui .hover-bg-white-70:focus,.swagger-ui .hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)}.swagger-ui .hover-bg-white-60:focus,.swagger-ui .hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)}.swagger-ui .hover-bg-white-50:focus,.swagger-ui .hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)}.swagger-ui .hover-bg-white-40:focus,.swagger-ui .hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)}.swagger-ui .hover-bg-white-30:focus,.swagger-ui .hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)}.swagger-ui .hover-bg-white-20:focus,.swagger-ui .hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)}.swagger-ui .hover-bg-white-10:focus,.swagger-ui .hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)}.swagger-ui .hover-dark-red:focus,.swagger-ui .hover-dark-red:hover{color:#e7040f}.swagger-ui .hover-red:focus,.swagger-ui .hover-red:hover{color:#ff4136}.swagger-ui .hover-light-red:focus,.swagger-ui .hover-light-red:hover{color:#ff725c}.swagger-ui .hover-orange:focus,.swagger-ui .hover-orange:hover{color:#ff6300}.swagger-ui .hover-gold:focus,.swagger-ui .hover-gold:hover{color:#ffb700}.swagger-ui .hover-yellow:focus,.swagger-ui .hover-yellow:hover{color:gold}.swagger-ui .hover-light-yellow:focus,.swagger-ui .hover-light-yellow:hover{color:#fbf1a9}.swagger-ui .hover-purple:focus,.swagger-ui .hover-purple:hover{color:#5e2ca5}.swagger-ui .hover-light-purple:focus,.swagger-ui .hover-light-purple:hover{color:#a463f2}.swagger-ui .hover-dark-pink:focus,.swagger-ui .hover-dark-pink:hover{color:#d5008f}.swagger-ui .hover-hot-pink:focus,.swagger-ui .hover-hot-pink:hover{color:#ff41b4}.swagger-ui .hover-pink:focus,.swagger-ui .hover-pink:hover{color:#ff80cc}.swagger-ui .hover-light-pink:focus,.swagger-ui .hover-light-pink:hover{color:#ffa3d7}.swagger-ui .hover-dark-green:focus,.swagger-ui .hover-dark-green:hover{color:#137752}.swagger-ui .hover-green:focus,.swagger-ui .hover-green:hover{color:#19a974}.swagger-ui .hover-light-green:focus,.swagger-ui .hover-light-green:hover{color:#9eebcf}.swagger-ui .hover-navy:focus,.swagger-ui .hover-navy:hover{color:#001b44}.swagger-ui .hover-dark-blue:focus,.swagger-ui .hover-dark-blue:hover{color:#00449e}.swagger-ui .hover-blue:focus,.swagger-ui .hover-blue:hover{color:#357edd}.swagger-ui .hover-light-blue:focus,.swagger-ui .hover-light-blue:hover{color:#96ccff}.swagger-ui .hover-lightest-blue:focus,.swagger-ui .hover-lightest-blue:hover{color:#cdecff}.swagger-ui .hover-washed-blue:focus,.swagger-ui .hover-washed-blue:hover{color:#f6fffe}.swagger-ui .hover-washed-green:focus,.swagger-ui .hover-washed-green:hover{color:#e8fdf5}.swagger-ui .hover-washed-yellow:focus,.swagger-ui .hover-washed-yellow:hover{color:#fffceb}.swagger-ui .hover-washed-red:focus,.swagger-ui .hover-washed-red:hover{color:#ffdfdf}.swagger-ui .hover-bg-dark-red:focus,.swagger-ui .hover-bg-dark-red:hover{background-color:#e7040f}.swagger-ui .hover-bg-red:focus,.swagger-ui .hover-bg-red:hover{background-color:#ff4136}.swagger-ui .hover-bg-light-red:focus,.swagger-ui .hover-bg-light-red:hover{background-color:#ff725c}.swagger-ui .hover-bg-orange:focus,.swagger-ui .hover-bg-orange:hover{background-color:#ff6300}.swagger-ui .hover-bg-gold:focus,.swagger-ui .hover-bg-gold:hover{background-color:#ffb700}.swagger-ui .hover-bg-yellow:focus,.swagger-ui .hover-bg-yellow:hover{background-color:gold}.swagger-ui .hover-bg-light-yellow:focus,.swagger-ui .hover-bg-light-yellow:hover{background-color:#fbf1a9}.swagger-ui .hover-bg-purple:focus,.swagger-ui .hover-bg-purple:hover{background-color:#5e2ca5}.swagger-ui .hover-bg-light-purple:focus,.swagger-ui .hover-bg-light-purple:hover{background-color:#a463f2}.swagger-ui .hover-bg-dark-pink:focus,.swagger-ui .hover-bg-dark-pink:hover{background-color:#d5008f}.swagger-ui .hover-bg-hot-pink:focus,.swagger-ui .hover-bg-hot-pink:hover{background-color:#ff41b4}.swagger-ui .hover-bg-pink:focus,.swagger-ui .hover-bg-pink:hover{background-color:#ff80cc}.swagger-ui .hover-bg-light-pink:focus,.swagger-ui .hover-bg-light-pink:hover{background-color:#ffa3d7}.swagger-ui .hover-bg-dark-green:focus,.swagger-ui .hover-bg-dark-green:hover{background-color:#137752}.swagger-ui .hover-bg-green:focus,.swagger-ui .hover-bg-green:hover{background-color:#19a974}.swagger-ui .hover-bg-light-green:focus,.swagger-ui .hover-bg-light-green:hover{background-color:#9eebcf}.swagger-ui .hover-bg-navy:focus,.swagger-ui .hover-bg-navy:hover{background-color:#001b44}.swagger-ui .hover-bg-dark-blue:focus,.swagger-ui .hover-bg-dark-blue:hover{background-color:#00449e}.swagger-ui .hover-bg-blue:focus,.swagger-ui .hover-bg-blue:hover{background-color:#357edd}.swagger-ui .hover-bg-light-blue:focus,.swagger-ui .hover-bg-light-blue:hover{background-color:#96ccff}.swagger-ui .hover-bg-lightest-blue:focus,.swagger-ui .hover-bg-lightest-blue:hover{background-color:#cdecff}.swagger-ui .hover-bg-washed-blue:focus,.swagger-ui .hover-bg-washed-blue:hover{background-color:#f6fffe}.swagger-ui .hover-bg-washed-green:focus,.swagger-ui .hover-bg-washed-green:hover{background-color:#e8fdf5}.swagger-ui .hover-bg-washed-yellow:focus,.swagger-ui .hover-bg-washed-yellow:hover{background-color:#fffceb}.swagger-ui .hover-bg-washed-red:focus,.swagger-ui .hover-bg-washed-red:hover{background-color:#ffdfdf}.swagger-ui .hover-bg-inherit:focus,.swagger-ui .hover-bg-inherit:hover{background-color:inherit}.swagger-ui .pa0{padding:0}.swagger-ui .pa1{padding:.25rem}.swagger-ui .pa2{padding:.5rem}.swagger-ui .pa3{padding:1rem}.swagger-ui .pa4{padding:2rem}.swagger-ui .pa5{padding:4rem}.swagger-ui .pa6{padding:8rem}.swagger-ui .pa7{padding:16rem}.swagger-ui .pl0{padding-left:0}.swagger-ui .pl1{padding-left:.25rem}.swagger-ui .pl2{padding-left:.5rem}.swagger-ui .pl3{padding-left:1rem}.swagger-ui .pl4{padding-left:2rem}.swagger-ui .pl5{padding-left:4rem}.swagger-ui .pl6{padding-left:8rem}.swagger-ui .pl7{padding-left:16rem}.swagger-ui .pr0{padding-right:0}.swagger-ui .pr1{padding-right:.25rem}.swagger-ui .pr2{padding-right:.5rem}.swagger-ui .pr3{padding-right:1rem}.swagger-ui .pr4{padding-right:2rem}.swagger-ui .pr5{padding-right:4rem}.swagger-ui .pr6{padding-right:8rem}.swagger-ui .pr7{padding-right:16rem}.swagger-ui .pb0{padding-bottom:0}.swagger-ui .pb1{padding-bottom:.25rem}.swagger-ui .pb2{padding-bottom:.5rem}.swagger-ui .pb3{padding-bottom:1rem}.swagger-ui .pb4{padding-bottom:2rem}.swagger-ui .pb5{padding-bottom:4rem}.swagger-ui .pb6{padding-bottom:8rem}.swagger-ui .pb7{padding-bottom:16rem}.swagger-ui .pt0{padding-top:0}.swagger-ui .pt1{padding-top:.25rem}.swagger-ui .pt2{padding-top:.5rem}.swagger-ui .pt3{padding-top:1rem}.swagger-ui .pt4{padding-top:2rem}.swagger-ui .pt5{padding-top:4rem}.swagger-ui .pt6{padding-top:8rem}.swagger-ui .pt7{padding-top:16rem}.swagger-ui .pv0{padding-top:0;padding-bottom:0}.swagger-ui .pv1{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0{padding-left:0;padding-right:0}.swagger-ui .ph1{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0{margin:0}.swagger-ui .ma1{margin:.25rem}.swagger-ui .ma2{margin:.5rem}.swagger-ui .ma3{margin:1rem}.swagger-ui .ma4{margin:2rem}.swagger-ui .ma5{margin:4rem}.swagger-ui .ma6{margin:8rem}.swagger-ui .ma7{margin:16rem}.swagger-ui .ml0{margin-left:0}.swagger-ui .ml1{margin-left:.25rem}.swagger-ui .ml2{margin-left:.5rem}.swagger-ui .ml3{margin-left:1rem}.swagger-ui .ml4{margin-left:2rem}.swagger-ui .ml5{margin-left:4rem}.swagger-ui .ml6{margin-left:8rem}.swagger-ui .ml7{margin-left:16rem}.swagger-ui .mr0{margin-right:0}.swagger-ui .mr1{margin-right:.25rem}.swagger-ui .mr2{margin-right:.5rem}.swagger-ui .mr3{margin-right:1rem}.swagger-ui .mr4{margin-right:2rem}.swagger-ui .mr5{margin-right:4rem}.swagger-ui .mr6{margin-right:8rem}.swagger-ui .mr7{margin-right:16rem}.swagger-ui .mb0{margin-bottom:0}.swagger-ui .mb1{margin-bottom:.25rem}.swagger-ui .mb2{margin-bottom:.5rem}.swagger-ui .mb3{margin-bottom:1rem}.swagger-ui .mb4{margin-bottom:2rem}.swagger-ui .mb5{margin-bottom:4rem}.swagger-ui .mb6{margin-bottom:8rem}.swagger-ui .mb7{margin-bottom:16rem}.swagger-ui .mt0{margin-top:0}.swagger-ui .mt1{margin-top:.25rem}.swagger-ui .mt2{margin-top:.5rem}.swagger-ui .mt3{margin-top:1rem}.swagger-ui .mt4{margin-top:2rem}.swagger-ui .mt5{margin-top:4rem}.swagger-ui .mt6{margin-top:8rem}.swagger-ui .mt7{margin-top:16rem}.swagger-ui .mv0{margin-top:0;margin-bottom:0}.swagger-ui .mv1{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0{margin-left:0;margin-right:0}.swagger-ui .mh1{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7{margin-left:16rem;margin-right:16rem}@media screen and (min-width:30em){.swagger-ui .pa0-ns{padding:0}.swagger-ui .pa1-ns{padding:.25rem}.swagger-ui .pa2-ns{padding:.5rem}.swagger-ui .pa3-ns{padding:1rem}.swagger-ui .pa4-ns{padding:2rem}.swagger-ui .pa5-ns{padding:4rem}.swagger-ui .pa6-ns{padding:8rem}.swagger-ui .pa7-ns{padding:16rem}.swagger-ui .pl0-ns{padding-left:0}.swagger-ui .pl1-ns{padding-left:.25rem}.swagger-ui .pl2-ns{padding-left:.5rem}.swagger-ui .pl3-ns{padding-left:1rem}.swagger-ui .pl4-ns{padding-left:2rem}.swagger-ui .pl5-ns{padding-left:4rem}.swagger-ui .pl6-ns{padding-left:8rem}.swagger-ui .pl7-ns{padding-left:16rem}.swagger-ui .pr0-ns{padding-right:0}.swagger-ui .pr1-ns{padding-right:.25rem}.swagger-ui .pr2-ns{padding-right:.5rem}.swagger-ui .pr3-ns{padding-right:1rem}.swagger-ui .pr4-ns{padding-right:2rem}.swagger-ui .pr5-ns{padding-right:4rem}.swagger-ui .pr6-ns{padding-right:8rem}.swagger-ui .pr7-ns{padding-right:16rem}.swagger-ui .pb0-ns{padding-bottom:0}.swagger-ui .pb1-ns{padding-bottom:.25rem}.swagger-ui .pb2-ns{padding-bottom:.5rem}.swagger-ui .pb3-ns{padding-bottom:1rem}.swagger-ui .pb4-ns{padding-bottom:2rem}.swagger-ui .pb5-ns{padding-bottom:4rem}.swagger-ui .pb6-ns{padding-bottom:8rem}.swagger-ui .pb7-ns{padding-bottom:16rem}.swagger-ui .pt0-ns{padding-top:0}.swagger-ui .pt1-ns{padding-top:.25rem}.swagger-ui .pt2-ns{padding-top:.5rem}.swagger-ui .pt3-ns{padding-top:1rem}.swagger-ui .pt4-ns{padding-top:2rem}.swagger-ui .pt5-ns{padding-top:4rem}.swagger-ui .pt6-ns{padding-top:8rem}.swagger-ui .pt7-ns{padding-top:16rem}.swagger-ui .pv0-ns{padding-top:0;padding-bottom:0}.swagger-ui .pv1-ns{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2-ns{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3-ns{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4-ns{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5-ns{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6-ns{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7-ns{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0-ns{padding-left:0;padding-right:0}.swagger-ui .ph1-ns{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-ns{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-ns{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-ns{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-ns{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-ns{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-ns{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-ns{margin:0}.swagger-ui .ma1-ns{margin:.25rem}.swagger-ui .ma2-ns{margin:.5rem}.swagger-ui .ma3-ns{margin:1rem}.swagger-ui .ma4-ns{margin:2rem}.swagger-ui .ma5-ns{margin:4rem}.swagger-ui .ma6-ns{margin:8rem}.swagger-ui .ma7-ns{margin:16rem}.swagger-ui .ml0-ns{margin-left:0}.swagger-ui .ml1-ns{margin-left:.25rem}.swagger-ui .ml2-ns{margin-left:.5rem}.swagger-ui .ml3-ns{margin-left:1rem}.swagger-ui .ml4-ns{margin-left:2rem}.swagger-ui .ml5-ns{margin-left:4rem}.swagger-ui .ml6-ns{margin-left:8rem}.swagger-ui .ml7-ns{margin-left:16rem}.swagger-ui .mr0-ns{margin-right:0}.swagger-ui .mr1-ns{margin-right:.25rem}.swagger-ui .mr2-ns{margin-right:.5rem}.swagger-ui .mr3-ns{margin-right:1rem}.swagger-ui .mr4-ns{margin-right:2rem}.swagger-ui .mr5-ns{margin-right:4rem}.swagger-ui .mr6-ns{margin-right:8rem}.swagger-ui .mr7-ns{margin-right:16rem}.swagger-ui .mb0-ns{margin-bottom:0}.swagger-ui .mb1-ns{margin-bottom:.25rem}.swagger-ui .mb2-ns{margin-bottom:.5rem}.swagger-ui .mb3-ns{margin-bottom:1rem}.swagger-ui .mb4-ns{margin-bottom:2rem}.swagger-ui .mb5-ns{margin-bottom:4rem}.swagger-ui .mb6-ns{margin-bottom:8rem}.swagger-ui .mb7-ns{margin-bottom:16rem}.swagger-ui .mt0-ns{margin-top:0}.swagger-ui .mt1-ns{margin-top:.25rem}.swagger-ui .mt2-ns{margin-top:.5rem}.swagger-ui .mt3-ns{margin-top:1rem}.swagger-ui .mt4-ns{margin-top:2rem}.swagger-ui .mt5-ns{margin-top:4rem}.swagger-ui .mt6-ns{margin-top:8rem}.swagger-ui .mt7-ns{margin-top:16rem}.swagger-ui .mv0-ns{margin-top:0;margin-bottom:0}.swagger-ui .mv1-ns{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2-ns{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3-ns{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4-ns{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5-ns{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6-ns{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7-ns{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0-ns{margin-left:0;margin-right:0}.swagger-ui .mh1-ns{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-ns{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-ns{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-ns{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-ns{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-ns{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-ns{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .pa0-m{padding:0}.swagger-ui .pa1-m{padding:.25rem}.swagger-ui .pa2-m{padding:.5rem}.swagger-ui .pa3-m{padding:1rem}.swagger-ui .pa4-m{padding:2rem}.swagger-ui .pa5-m{padding:4rem}.swagger-ui .pa6-m{padding:8rem}.swagger-ui .pa7-m{padding:16rem}.swagger-ui .pl0-m{padding-left:0}.swagger-ui .pl1-m{padding-left:.25rem}.swagger-ui .pl2-m{padding-left:.5rem}.swagger-ui .pl3-m{padding-left:1rem}.swagger-ui .pl4-m{padding-left:2rem}.swagger-ui .pl5-m{padding-left:4rem}.swagger-ui .pl6-m{padding-left:8rem}.swagger-ui .pl7-m{padding-left:16rem}.swagger-ui .pr0-m{padding-right:0}.swagger-ui .pr1-m{padding-right:.25rem}.swagger-ui .pr2-m{padding-right:.5rem}.swagger-ui .pr3-m{padding-right:1rem}.swagger-ui .pr4-m{padding-right:2rem}.swagger-ui .pr5-m{padding-right:4rem}.swagger-ui .pr6-m{padding-right:8rem}.swagger-ui .pr7-m{padding-right:16rem}.swagger-ui .pb0-m{padding-bottom:0}.swagger-ui .pb1-m{padding-bottom:.25rem}.swagger-ui .pb2-m{padding-bottom:.5rem}.swagger-ui .pb3-m{padding-bottom:1rem}.swagger-ui .pb4-m{padding-bottom:2rem}.swagger-ui .pb5-m{padding-bottom:4rem}.swagger-ui .pb6-m{padding-bottom:8rem}.swagger-ui .pb7-m{padding-bottom:16rem}.swagger-ui .pt0-m{padding-top:0}.swagger-ui .pt1-m{padding-top:.25rem}.swagger-ui .pt2-m{padding-top:.5rem}.swagger-ui .pt3-m{padding-top:1rem}.swagger-ui .pt4-m{padding-top:2rem}.swagger-ui .pt5-m{padding-top:4rem}.swagger-ui .pt6-m{padding-top:8rem}.swagger-ui .pt7-m{padding-top:16rem}.swagger-ui .pv0-m{padding-top:0;padding-bottom:0}.swagger-ui .pv1-m{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2-m{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3-m{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4-m{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5-m{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6-m{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7-m{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0-m{padding-left:0;padding-right:0}.swagger-ui .ph1-m{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-m{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-m{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-m{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-m{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-m{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-m{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-m{margin:0}.swagger-ui .ma1-m{margin:.25rem}.swagger-ui .ma2-m{margin:.5rem}.swagger-ui .ma3-m{margin:1rem}.swagger-ui .ma4-m{margin:2rem}.swagger-ui .ma5-m{margin:4rem}.swagger-ui .ma6-m{margin:8rem}.swagger-ui .ma7-m{margin:16rem}.swagger-ui .ml0-m{margin-left:0}.swagger-ui .ml1-m{margin-left:.25rem}.swagger-ui .ml2-m{margin-left:.5rem}.swagger-ui .ml3-m{margin-left:1rem}.swagger-ui .ml4-m{margin-left:2rem}.swagger-ui .ml5-m{margin-left:4rem}.swagger-ui .ml6-m{margin-left:8rem}.swagger-ui .ml7-m{margin-left:16rem}.swagger-ui .mr0-m{margin-right:0}.swagger-ui .mr1-m{margin-right:.25rem}.swagger-ui .mr2-m{margin-right:.5rem}.swagger-ui .mr3-m{margin-right:1rem}.swagger-ui .mr4-m{margin-right:2rem}.swagger-ui .mr5-m{margin-right:4rem}.swagger-ui .mr6-m{margin-right:8rem}.swagger-ui .mr7-m{margin-right:16rem}.swagger-ui .mb0-m{margin-bottom:0}.swagger-ui .mb1-m{margin-bottom:.25rem}.swagger-ui .mb2-m{margin-bottom:.5rem}.swagger-ui .mb3-m{margin-bottom:1rem}.swagger-ui .mb4-m{margin-bottom:2rem}.swagger-ui .mb5-m{margin-bottom:4rem}.swagger-ui .mb6-m{margin-bottom:8rem}.swagger-ui .mb7-m{margin-bottom:16rem}.swagger-ui .mt0-m{margin-top:0}.swagger-ui .mt1-m{margin-top:.25rem}.swagger-ui .mt2-m{margin-top:.5rem}.swagger-ui .mt3-m{margin-top:1rem}.swagger-ui .mt4-m{margin-top:2rem}.swagger-ui .mt5-m{margin-top:4rem}.swagger-ui .mt6-m{margin-top:8rem}.swagger-ui .mt7-m{margin-top:16rem}.swagger-ui .mv0-m{margin-top:0;margin-bottom:0}.swagger-ui .mv1-m{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2-m{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3-m{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4-m{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5-m{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6-m{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7-m{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0-m{margin-left:0;margin-right:0}.swagger-ui .mh1-m{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-m{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-m{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-m{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-m{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-m{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-m{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:60em){.swagger-ui .pa0-l{padding:0}.swagger-ui .pa1-l{padding:.25rem}.swagger-ui .pa2-l{padding:.5rem}.swagger-ui .pa3-l{padding:1rem}.swagger-ui .pa4-l{padding:2rem}.swagger-ui .pa5-l{padding:4rem}.swagger-ui .pa6-l{padding:8rem}.swagger-ui .pa7-l{padding:16rem}.swagger-ui .pl0-l{padding-left:0}.swagger-ui .pl1-l{padding-left:.25rem}.swagger-ui .pl2-l{padding-left:.5rem}.swagger-ui .pl3-l{padding-left:1rem}.swagger-ui .pl4-l{padding-left:2rem}.swagger-ui .pl5-l{padding-left:4rem}.swagger-ui .pl6-l{padding-left:8rem}.swagger-ui .pl7-l{padding-left:16rem}.swagger-ui .pr0-l{padding-right:0}.swagger-ui .pr1-l{padding-right:.25rem}.swagger-ui .pr2-l{padding-right:.5rem}.swagger-ui .pr3-l{padding-right:1rem}.swagger-ui .pr4-l{padding-right:2rem}.swagger-ui .pr5-l{padding-right:4rem}.swagger-ui .pr6-l{padding-right:8rem}.swagger-ui .pr7-l{padding-right:16rem}.swagger-ui .pb0-l{padding-bottom:0}.swagger-ui .pb1-l{padding-bottom:.25rem}.swagger-ui .pb2-l{padding-bottom:.5rem}.swagger-ui .pb3-l{padding-bottom:1rem}.swagger-ui .pb4-l{padding-bottom:2rem}.swagger-ui .pb5-l{padding-bottom:4rem}.swagger-ui .pb6-l{padding-bottom:8rem}.swagger-ui .pb7-l{padding-bottom:16rem}.swagger-ui .pt0-l{padding-top:0}.swagger-ui .pt1-l{padding-top:.25rem}.swagger-ui .pt2-l{padding-top:.5rem}.swagger-ui .pt3-l{padding-top:1rem}.swagger-ui .pt4-l{padding-top:2rem}.swagger-ui .pt5-l{padding-top:4rem}.swagger-ui .pt6-l{padding-top:8rem}.swagger-ui .pt7-l{padding-top:16rem}.swagger-ui .pv0-l{padding-top:0;padding-bottom:0}.swagger-ui .pv1-l{padding-top:.25rem;padding-bottom:.25rem}.swagger-ui .pv2-l{padding-top:.5rem;padding-bottom:.5rem}.swagger-ui .pv3-l{padding-top:1rem;padding-bottom:1rem}.swagger-ui .pv4-l{padding-top:2rem;padding-bottom:2rem}.swagger-ui .pv5-l{padding-top:4rem;padding-bottom:4rem}.swagger-ui .pv6-l{padding-top:8rem;padding-bottom:8rem}.swagger-ui .pv7-l{padding-top:16rem;padding-bottom:16rem}.swagger-ui .ph0-l{padding-left:0;padding-right:0}.swagger-ui .ph1-l{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-l{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-l{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-l{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-l{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-l{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-l{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-l{margin:0}.swagger-ui .ma1-l{margin:.25rem}.swagger-ui .ma2-l{margin:.5rem}.swagger-ui .ma3-l{margin:1rem}.swagger-ui .ma4-l{margin:2rem}.swagger-ui .ma5-l{margin:4rem}.swagger-ui .ma6-l{margin:8rem}.swagger-ui .ma7-l{margin:16rem}.swagger-ui .ml0-l{margin-left:0}.swagger-ui .ml1-l{margin-left:.25rem}.swagger-ui .ml2-l{margin-left:.5rem}.swagger-ui .ml3-l{margin-left:1rem}.swagger-ui .ml4-l{margin-left:2rem}.swagger-ui .ml5-l{margin-left:4rem}.swagger-ui .ml6-l{margin-left:8rem}.swagger-ui .ml7-l{margin-left:16rem}.swagger-ui .mr0-l{margin-right:0}.swagger-ui .mr1-l{margin-right:.25rem}.swagger-ui .mr2-l{margin-right:.5rem}.swagger-ui .mr3-l{margin-right:1rem}.swagger-ui .mr4-l{margin-right:2rem}.swagger-ui .mr5-l{margin-right:4rem}.swagger-ui .mr6-l{margin-right:8rem}.swagger-ui .mr7-l{margin-right:16rem}.swagger-ui .mb0-l{margin-bottom:0}.swagger-ui .mb1-l{margin-bottom:.25rem}.swagger-ui .mb2-l{margin-bottom:.5rem}.swagger-ui .mb3-l{margin-bottom:1rem}.swagger-ui .mb4-l{margin-bottom:2rem}.swagger-ui .mb5-l{margin-bottom:4rem}.swagger-ui .mb6-l{margin-bottom:8rem}.swagger-ui .mb7-l{margin-bottom:16rem}.swagger-ui .mt0-l{margin-top:0}.swagger-ui .mt1-l{margin-top:.25rem}.swagger-ui .mt2-l{margin-top:.5rem}.swagger-ui .mt3-l{margin-top:1rem}.swagger-ui .mt4-l{margin-top:2rem}.swagger-ui .mt5-l{margin-top:4rem}.swagger-ui .mt6-l{margin-top:8rem}.swagger-ui .mt7-l{margin-top:16rem}.swagger-ui .mv0-l{margin-top:0;margin-bottom:0}.swagger-ui .mv1-l{margin-top:.25rem;margin-bottom:.25rem}.swagger-ui .mv2-l{margin-top:.5rem;margin-bottom:.5rem}.swagger-ui .mv3-l{margin-top:1rem;margin-bottom:1rem}.swagger-ui .mv4-l{margin-top:2rem;margin-bottom:2rem}.swagger-ui .mv5-l{margin-top:4rem;margin-bottom:4rem}.swagger-ui .mv6-l{margin-top:8rem;margin-bottom:8rem}.swagger-ui .mv7-l{margin-top:16rem;margin-bottom:16rem}.swagger-ui .mh0-l{margin-left:0;margin-right:0}.swagger-ui .mh1-l{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-l{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-l{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-l{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-l{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-l{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-l{margin-left:16rem;margin-right:16rem}}.swagger-ui .na1{margin:-.25rem}.swagger-ui .na2{margin:-.5rem}.swagger-ui .na3{margin:-1rem}.swagger-ui .na4{margin:-2rem}.swagger-ui .na5{margin:-4rem}.swagger-ui .na6{margin:-8rem}.swagger-ui .na7{margin:-16rem}.swagger-ui .nl1{margin-left:-.25rem}.swagger-ui .nl2{margin-left:-.5rem}.swagger-ui .nl3{margin-left:-1rem}.swagger-ui .nl4{margin-left:-2rem}.swagger-ui .nl5{margin-left:-4rem}.swagger-ui .nl6{margin-left:-8rem}.swagger-ui .nl7{margin-left:-16rem}.swagger-ui .nr1{margin-right:-.25rem}.swagger-ui .nr2{margin-right:-.5rem}.swagger-ui .nr3{margin-right:-1rem}.swagger-ui .nr4{margin-right:-2rem}.swagger-ui .nr5{margin-right:-4rem}.swagger-ui .nr6{margin-right:-8rem}.swagger-ui .nr7{margin-right:-16rem}.swagger-ui .nb1{margin-bottom:-.25rem}.swagger-ui .nb2{margin-bottom:-.5rem}.swagger-ui .nb3{margin-bottom:-1rem}.swagger-ui .nb4{margin-bottom:-2rem}.swagger-ui .nb5{margin-bottom:-4rem}.swagger-ui .nb6{margin-bottom:-8rem}.swagger-ui .nb7{margin-bottom:-16rem}.swagger-ui .nt1{margin-top:-.25rem}.swagger-ui .nt2{margin-top:-.5rem}.swagger-ui .nt3{margin-top:-1rem}.swagger-ui .nt4{margin-top:-2rem}.swagger-ui .nt5{margin-top:-4rem}.swagger-ui .nt6{margin-top:-8rem}.swagger-ui .nt7{margin-top:-16rem}@media screen and (min-width:30em){.swagger-ui .na1-ns{margin:-.25rem}.swagger-ui .na2-ns{margin:-.5rem}.swagger-ui .na3-ns{margin:-1rem}.swagger-ui .na4-ns{margin:-2rem}.swagger-ui .na5-ns{margin:-4rem}.swagger-ui .na6-ns{margin:-8rem}.swagger-ui .na7-ns{margin:-16rem}.swagger-ui .nl1-ns{margin-left:-.25rem}.swagger-ui .nl2-ns{margin-left:-.5rem}.swagger-ui .nl3-ns{margin-left:-1rem}.swagger-ui .nl4-ns{margin-left:-2rem}.swagger-ui .nl5-ns{margin-left:-4rem}.swagger-ui .nl6-ns{margin-left:-8rem}.swagger-ui .nl7-ns{margin-left:-16rem}.swagger-ui .nr1-ns{margin-right:-.25rem}.swagger-ui .nr2-ns{margin-right:-.5rem}.swagger-ui .nr3-ns{margin-right:-1rem}.swagger-ui .nr4-ns{margin-right:-2rem}.swagger-ui .nr5-ns{margin-right:-4rem}.swagger-ui .nr6-ns{margin-right:-8rem}.swagger-ui .nr7-ns{margin-right:-16rem}.swagger-ui .nb1-ns{margin-bottom:-.25rem}.swagger-ui .nb2-ns{margin-bottom:-.5rem}.swagger-ui .nb3-ns{margin-bottom:-1rem}.swagger-ui .nb4-ns{margin-bottom:-2rem}.swagger-ui .nb5-ns{margin-bottom:-4rem}.swagger-ui .nb6-ns{margin-bottom:-8rem}.swagger-ui .nb7-ns{margin-bottom:-16rem}.swagger-ui .nt1-ns{margin-top:-.25rem}.swagger-ui .nt2-ns{margin-top:-.5rem}.swagger-ui .nt3-ns{margin-top:-1rem}.swagger-ui .nt4-ns{margin-top:-2rem}.swagger-ui .nt5-ns{margin-top:-4rem}.swagger-ui .nt6-ns{margin-top:-8rem}.swagger-ui .nt7-ns{margin-top:-16rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .na1-m{margin:-.25rem}.swagger-ui .na2-m{margin:-.5rem}.swagger-ui .na3-m{margin:-1rem}.swagger-ui .na4-m{margin:-2rem}.swagger-ui .na5-m{margin:-4rem}.swagger-ui .na6-m{margin:-8rem}.swagger-ui .na7-m{margin:-16rem}.swagger-ui .nl1-m{margin-left:-.25rem}.swagger-ui .nl2-m{margin-left:-.5rem}.swagger-ui .nl3-m{margin-left:-1rem}.swagger-ui .nl4-m{margin-left:-2rem}.swagger-ui .nl5-m{margin-left:-4rem}.swagger-ui .nl6-m{margin-left:-8rem}.swagger-ui .nl7-m{margin-left:-16rem}.swagger-ui .nr1-m{margin-right:-.25rem}.swagger-ui .nr2-m{margin-right:-.5rem}.swagger-ui .nr3-m{margin-right:-1rem}.swagger-ui .nr4-m{margin-right:-2rem}.swagger-ui .nr5-m{margin-right:-4rem}.swagger-ui .nr6-m{margin-right:-8rem}.swagger-ui .nr7-m{margin-right:-16rem}.swagger-ui .nb1-m{margin-bottom:-.25rem}.swagger-ui .nb2-m{margin-bottom:-.5rem}.swagger-ui .nb3-m{margin-bottom:-1rem}.swagger-ui .nb4-m{margin-bottom:-2rem}.swagger-ui .nb5-m{margin-bottom:-4rem}.swagger-ui .nb6-m{margin-bottom:-8rem}.swagger-ui .nb7-m{margin-bottom:-16rem}.swagger-ui .nt1-m{margin-top:-.25rem}.swagger-ui .nt2-m{margin-top:-.5rem}.swagger-ui .nt3-m{margin-top:-1rem}.swagger-ui .nt4-m{margin-top:-2rem}.swagger-ui .nt5-m{margin-top:-4rem}.swagger-ui .nt6-m{margin-top:-8rem}.swagger-ui .nt7-m{margin-top:-16rem}}@media screen and (min-width:60em){.swagger-ui .na1-l{margin:-.25rem}.swagger-ui .na2-l{margin:-.5rem}.swagger-ui .na3-l{margin:-1rem}.swagger-ui .na4-l{margin:-2rem}.swagger-ui .na5-l{margin:-4rem}.swagger-ui .na6-l{margin:-8rem}.swagger-ui .na7-l{margin:-16rem}.swagger-ui .nl1-l{margin-left:-.25rem}.swagger-ui .nl2-l{margin-left:-.5rem}.swagger-ui .nl3-l{margin-left:-1rem}.swagger-ui .nl4-l{margin-left:-2rem}.swagger-ui .nl5-l{margin-left:-4rem}.swagger-ui .nl6-l{margin-left:-8rem}.swagger-ui .nl7-l{margin-left:-16rem}.swagger-ui .nr1-l{margin-right:-.25rem}.swagger-ui .nr2-l{margin-right:-.5rem}.swagger-ui .nr3-l{margin-right:-1rem}.swagger-ui .nr4-l{margin-right:-2rem}.swagger-ui .nr5-l{margin-right:-4rem}.swagger-ui .nr6-l{margin-right:-8rem}.swagger-ui .nr7-l{margin-right:-16rem}.swagger-ui .nb1-l{margin-bottom:-.25rem}.swagger-ui .nb2-l{margin-bottom:-.5rem}.swagger-ui .nb3-l{margin-bottom:-1rem}.swagger-ui .nb4-l{margin-bottom:-2rem}.swagger-ui .nb5-l{margin-bottom:-4rem}.swagger-ui .nb6-l{margin-bottom:-8rem}.swagger-ui .nb7-l{margin-bottom:-16rem}.swagger-ui .nt1-l{margin-top:-.25rem}.swagger-ui .nt2-l{margin-top:-.5rem}.swagger-ui .nt3-l{margin-top:-1rem}.swagger-ui .nt4-l{margin-top:-2rem}.swagger-ui .nt5-l{margin-top:-4rem}.swagger-ui .nt6-l{margin-top:-8rem}.swagger-ui .nt7-l{margin-top:-16rem}}.swagger-ui .collapse{border-collapse:collapse;border-spacing:0}.swagger-ui .striped--light-silver:nth-child(odd){background-color:#aaa}.swagger-ui .striped--moon-gray:nth-child(odd){background-color:#ccc}.swagger-ui .striped--light-gray:nth-child(odd){background-color:#eee}.swagger-ui .striped--near-white:nth-child(odd){background-color:#f4f4f4}.swagger-ui .stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)}.swagger-ui .stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)}.swagger-ui .strike{text-decoration:line-through}.swagger-ui .underline{text-decoration:underline}.swagger-ui .no-underline{text-decoration:none}@media screen and (min-width:30em){.swagger-ui .strike-ns{text-decoration:line-through}.swagger-ui .underline-ns{text-decoration:underline}.swagger-ui .no-underline-ns{text-decoration:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .strike-m{text-decoration:line-through}.swagger-ui .underline-m{text-decoration:underline}.swagger-ui .no-underline-m{text-decoration:none}}@media screen and (min-width:60em){.swagger-ui .strike-l{text-decoration:line-through}.swagger-ui .underline-l{text-decoration:underline}.swagger-ui .no-underline-l{text-decoration:none}}.swagger-ui .tl{text-align:left}.swagger-ui .tr{text-align:right}.swagger-ui .tc{text-align:center}.swagger-ui .tj{text-align:justify}@media screen and (min-width:30em){.swagger-ui .tl-ns{text-align:left}.swagger-ui .tr-ns{text-align:right}.swagger-ui .tc-ns{text-align:center}.swagger-ui .tj-ns{text-align:justify}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .tl-m{text-align:left}.swagger-ui .tr-m{text-align:right}.swagger-ui .tc-m{text-align:center}.swagger-ui .tj-m{text-align:justify}}@media screen and (min-width:60em){.swagger-ui .tl-l{text-align:left}.swagger-ui .tr-l{text-align:right}.swagger-ui .tc-l{text-align:center}.swagger-ui .tj-l{text-align:justify}}.swagger-ui .ttc{text-transform:capitalize}.swagger-ui .ttl{text-transform:lowercase}.swagger-ui .ttu{text-transform:uppercase}.swagger-ui .ttn{text-transform:none}@media screen and (min-width:30em){.swagger-ui .ttc-ns{text-transform:capitalize}.swagger-ui .ttl-ns{text-transform:lowercase}.swagger-ui .ttu-ns{text-transform:uppercase}.swagger-ui .ttn-ns{text-transform:none}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ttc-m{text-transform:capitalize}.swagger-ui .ttl-m{text-transform:lowercase}.swagger-ui .ttu-m{text-transform:uppercase}.swagger-ui .ttn-m{text-transform:none}}@media screen and (min-width:60em){.swagger-ui .ttc-l{text-transform:capitalize}.swagger-ui .ttl-l{text-transform:lowercase}.swagger-ui .ttu-l{text-transform:uppercase}.swagger-ui .ttn-l{text-transform:none}}.swagger-ui .f-6,.swagger-ui .f-headline{font-size:6rem}.swagger-ui .f-5,.swagger-ui .f-subheadline{font-size:5rem}.swagger-ui .f1{font-size:3rem}.swagger-ui .f2{font-size:2.25rem}.swagger-ui .f3{font-size:1.5rem}.swagger-ui .f4{font-size:1.25rem}.swagger-ui .f5{font-size:1rem}.swagger-ui .f6{font-size:.875rem}.swagger-ui .f7{font-size:.75rem}@media screen and (min-width:30em){.swagger-ui .f-6-ns,.swagger-ui .f-headline-ns{font-size:6rem}.swagger-ui .f-5-ns,.swagger-ui .f-subheadline-ns{font-size:5rem}.swagger-ui .f1-ns{font-size:3rem}.swagger-ui .f2-ns{font-size:2.25rem}.swagger-ui .f3-ns{font-size:1.5rem}.swagger-ui .f4-ns{font-size:1.25rem}.swagger-ui .f5-ns{font-size:1rem}.swagger-ui .f6-ns{font-size:.875rem}.swagger-ui .f7-ns{font-size:.75rem}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .f-6-m,.swagger-ui .f-headline-m{font-size:6rem}.swagger-ui .f-5-m,.swagger-ui .f-subheadline-m{font-size:5rem}.swagger-ui .f1-m{font-size:3rem}.swagger-ui .f2-m{font-size:2.25rem}.swagger-ui .f3-m{font-size:1.5rem}.swagger-ui .f4-m{font-size:1.25rem}.swagger-ui .f5-m{font-size:1rem}.swagger-ui .f6-m{font-size:.875rem}.swagger-ui .f7-m{font-size:.75rem}}@media screen and (min-width:60em){.swagger-ui .f-6-l,.swagger-ui .f-headline-l{font-size:6rem}.swagger-ui .f-5-l,.swagger-ui .f-subheadline-l{font-size:5rem}.swagger-ui .f1-l{font-size:3rem}.swagger-ui .f2-l{font-size:2.25rem}.swagger-ui .f3-l{font-size:1.5rem}.swagger-ui .f4-l{font-size:1.25rem}.swagger-ui .f5-l{font-size:1rem}.swagger-ui .f6-l{font-size:.875rem}.swagger-ui .f7-l{font-size:.75rem}}.swagger-ui .measure{max-width:30em}.swagger-ui .measure-wide{max-width:34em}.swagger-ui .measure-narrow{max-width:20em}.swagger-ui .indent{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps{font-variant:small-caps}.swagger-ui .truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (min-width:30em){.swagger-ui .measure-ns{max-width:30em}.swagger-ui .measure-wide-ns{max-width:34em}.swagger-ui .measure-narrow-ns{max-width:20em}.swagger-ui .indent-ns{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps-ns{font-variant:small-caps}.swagger-ui .truncate-ns{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .measure-m{max-width:30em}.swagger-ui .measure-wide-m{max-width:34em}.swagger-ui .measure-narrow-m{max-width:20em}.swagger-ui .indent-m{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps-m{font-variant:small-caps}.swagger-ui .truncate-m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media screen and (min-width:60em){.swagger-ui .measure-l{max-width:30em}.swagger-ui .measure-wide-l{max-width:34em}.swagger-ui .measure-narrow-l{max-width:20em}.swagger-ui .indent-l{text-indent:1em;margin-top:0;margin-bottom:0}.swagger-ui .small-caps-l{font-variant:small-caps}.swagger-ui .truncate-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.swagger-ui .overflow-container{overflow-y:scroll}.swagger-ui .center{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto{margin-right:auto}.swagger-ui .ml-auto{margin-left:auto}@media screen and (min-width:30em){.swagger-ui .center-ns{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto-ns{margin-right:auto}.swagger-ui .ml-auto-ns{margin-left:auto}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .center-m{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto-m{margin-right:auto}.swagger-ui .ml-auto-m{margin-left:auto}}@media screen and (min-width:60em){.swagger-ui .center-l{margin-right:auto;margin-left:auto}.swagger-ui .mr-auto-l{margin-right:auto}.swagger-ui .ml-auto-l{margin-left:auto}}.swagger-ui .clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}@media screen and (min-width:30em){.swagger-ui .clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:60em){.swagger-ui .clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}.swagger-ui .ws-normal{white-space:normal}.swagger-ui .nowrap{white-space:nowrap}.swagger-ui .pre{white-space:pre}@media screen and (min-width:30em){.swagger-ui .ws-normal-ns{white-space:normal}.swagger-ui .nowrap-ns{white-space:nowrap}.swagger-ui .pre-ns{white-space:pre}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .ws-normal-m{white-space:normal}.swagger-ui .nowrap-m{white-space:nowrap}.swagger-ui .pre-m{white-space:pre}}@media screen and (min-width:60em){.swagger-ui .ws-normal-l{white-space:normal}.swagger-ui .nowrap-l{white-space:nowrap}.swagger-ui .pre-l{white-space:pre}}.swagger-ui .v-base{vertical-align:baseline}.swagger-ui .v-mid{vertical-align:middle}.swagger-ui .v-top{vertical-align:top}.swagger-ui .v-btm{vertical-align:bottom}@media screen and (min-width:30em){.swagger-ui .v-base-ns{vertical-align:baseline}.swagger-ui .v-mid-ns{vertical-align:middle}.swagger-ui .v-top-ns{vertical-align:top}.swagger-ui .v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em) and (max-width:60em){.swagger-ui .v-base-m{vertical-align:baseline}.swagger-ui .v-mid-m{vertical-align:middle}.swagger-ui .v-top-m{vertical-align:top}.swagger-ui .v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.swagger-ui .v-base-l{vertical-align:baseline}.swagger-ui .v-mid-l{vertical-align:middle}.swagger-ui .v-top-l{vertical-align:top}.swagger-ui .v-btm-l{vertical-align:bottom}}.swagger-ui .dim{opacity:1;transition:opacity .15s ease-in}.swagger-ui .dim:focus,.swagger-ui .dim:hover{opacity:.5;transition:opacity .15s ease-in}.swagger-ui .dim:active{opacity:.8;transition:opacity .15s ease-out}.swagger-ui .glow{transition:opacity .15s ease-in}.swagger-ui .glow:focus,.swagger-ui .glow:hover{opacity:1;transition:opacity .15s ease-in}.swagger-ui .hide-child .child{opacity:0;transition:opacity .15s ease-in}.swagger-ui .hide-child:active .child,.swagger-ui .hide-child:focus .child,.swagger-ui .hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.swagger-ui .underline-hover:focus,.swagger-ui .underline-hover:hover{text-decoration:underline}.swagger-ui .grow{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-out}.swagger-ui .grow:focus,.swagger-ui .grow:hover{transform:scale(1.05)}.swagger-ui .grow:active{transform:scale(.9)}.swagger-ui .grow-large{-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-in-out}.swagger-ui .grow-large:focus,.swagger-ui .grow-large:hover{transform:scale(1.2)}.swagger-ui .grow-large:active{transform:scale(.95)}.swagger-ui .pointer:hover{cursor:pointer}.swagger-ui .shadow-hover{cursor:pointer;position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:after{content:"";box-shadow:0 0 16px 2px rgba(0,0,0,.2);border-radius:inherit;opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;transition:opacity .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:focus:after,.swagger-ui .shadow-hover:hover:after{opacity:1}.swagger-ui .bg-animate,.swagger-ui .bg-animate:focus,.swagger-ui .bg-animate:hover{transition:background-color .15s ease-in-out}.swagger-ui .z-0{z-index:0}.swagger-ui .z-1{z-index:1}.swagger-ui .z-2{z-index:2}.swagger-ui .z-3{z-index:3}.swagger-ui .z-4{z-index:4}.swagger-ui .z-5{z-index:5}.swagger-ui .z-999{z-index:999}.swagger-ui .z-9999{z-index:9999}.swagger-ui .z-max{z-index:2147483647}.swagger-ui .z-inherit{z-index:inherit}.swagger-ui .z-initial{z-index:auto}.swagger-ui .z-unset{z-index:unset}.swagger-ui .nested-copy-line-height ol,.swagger-ui .nested-copy-line-height p,.swagger-ui .nested-copy-line-height ul{line-height:1.5}.swagger-ui .nested-headline-line-height h1,.swagger-ui .nested-headline-line-height h2,.swagger-ui .nested-headline-line-height h3,.swagger-ui .nested-headline-line-height h4,.swagger-ui .nested-headline-line-height h5,.swagger-ui .nested-headline-line-height h6{line-height:1.25}.swagger-ui .nested-list-reset ol,.swagger-ui .nested-list-reset ul{padding-left:0;margin-left:0;list-style-type:none}.swagger-ui .nested-copy-indent p+p{text-indent:.1em;margin-top:0;margin-bottom:0}.swagger-ui .nested-copy-seperator p+p{margin-top:1.5em}.swagger-ui .nested-img img{width:100%;max-width:100%;display:block}.swagger-ui .nested-links a{color:#357edd;transition:color .15s ease-in}.swagger-ui .nested-links a:focus,.swagger-ui .nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.swagger-ui .wrapper{width:100%;max-width:1460px;margin:0 auto;padding:0 20px;box-sizing:border-box}.swagger-ui .opblock-tag-section{display:flex;flex-direction:column}.swagger-ui .opblock-tag{display:flex;align-items:center;padding:10px 20px 10px 10px;cursor:pointer;transition:all .2s;border-bottom:1px solid rgba(59,65,81,.3)}.swagger-ui .opblock-tag:hover{background:rgba(0,0,0,.02)}.swagger-ui .opblock-tag{font-size:24px;margin:0 0 5px;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock-tag.no-desc span{flex:1}.swagger-ui .opblock-tag svg{transition:all .4s}.swagger-ui .opblock-tag small{font-size:14px;font-weight:400;flex:1;padding:0 10px;font-family:sans-serif;color:#3b4151}.swagger-ui .parameter__type{font-size:12px;padding:5px 0;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .parameter-controls{margin-top:.75em}.swagger-ui .examples__title{display:block;font-size:1.1em;font-weight:700;margin-bottom:.75em}.swagger-ui .examples__section{margin-top:1.5em}.swagger-ui .examples__section-header{font-weight:700;font-size:.9rem;margin-bottom:.5rem}.swagger-ui .examples-select{margin-bottom:.75em}.swagger-ui .examples-select__section-label{font-weight:700;font-size:.9rem;margin-right:.5rem}.swagger-ui .example__section{margin-top:1.5em}.swagger-ui .example__section-header{font-weight:700;font-size:.9rem;margin-bottom:.5rem}.swagger-ui .view-line-link{position:relative;top:3px;width:20px;margin:0 5px;cursor:pointer;transition:all .5s}.swagger-ui .opblock{margin:0 0 15px;border:1px solid #000;border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.19)}.swagger-ui .opblock .tab-header{display:flex;flex:1}.swagger-ui .opblock .tab-header .tab-item{padding:0 40px;cursor:pointer}.swagger-ui .opblock .tab-header .tab-item:first-of-type{padding:0 40px 0 0}.swagger-ui .opblock .tab-header .tab-item.active h4 span{position:relative}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{position:absolute;bottom:-15px;left:50%;width:120%;height:4px;content:"";transform:translateX(-50%);background:grey}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid #000}.swagger-ui .opblock .opblock-section-header{display:flex;align-items:center;padding:8px 20px;min-height:50px;background:hsla(0,0%,100%,.8);box-shadow:0 1px 2px rgba(0,0,0,.1)}.swagger-ui .opblock .opblock-section-header>label{font-size:12px;font-weight:700;display:flex;align-items:center;margin:0 0 0 auto;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 10px 0 0}.swagger-ui .opblock .opblock-section-header h4{font-size:14px;flex:1;margin:0;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-summary-method{font-size:14px;font-weight:700;min-width:80px;padding:6px 15px;text-align:center;border-radius:3px;background:#000;text-shadow:0 1px 0 rgba(0,0,0,.1);font-family:sans-serif;color:#fff}.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:16px;display:flex;align-items:center;word-break:break-word;padding:0 10px;font-family:monospace;font-weight:600;color:#3b4151}@media (max-width:768px){.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:12px}}.swagger-ui .opblock .opblock-summary-path{flex-shrink:0;max-width:calc(100% - 110px - 15rem)}.swagger-ui .opblock .opblock-summary-path__deprecated{text-decoration:line-through}.swagger-ui .opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock .opblock-summary-description{font-size:13px;flex:1 1 auto;word-break:break-word;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-summary{display:flex;align-items:center;padding:5px;cursor:pointer}.swagger-ui .opblock .opblock-summary .view-line-link{position:relative;top:2px;width:0;margin:0;cursor:pointer;transition:all .5s}.swagger-ui .opblock .opblock-summary:hover .view-line-link{width:18px;margin:0 5px}.swagger-ui .opblock.opblock-post{border-color:#49cc90;background:rgba(73,204,144,.1)}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary{border-color:#49cc90}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:#49cc90}.swagger-ui .opblock.opblock-put{border-color:#fca130;background:rgba(252,161,48,.1)}.swagger-ui .opblock.opblock-put .opblock-summary-method{background:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary{border-color:#fca130}.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:#fca130}.swagger-ui .opblock.opblock-delete{border-color:#f93e3e;background:rgba(249,62,62,.1)}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:#f93e3e}.swagger-ui .opblock.opblock-get{border-color:#61affe;background:rgba(97,175,254,.1)}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary{border-color:#61affe}.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:#61affe}.swagger-ui .opblock.opblock-patch{border-color:#50e3c2;background:rgba(80,227,194,.1)}.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:#50e3c2}.swagger-ui .opblock.opblock-head{border-color:#9012fe;background:rgba(144,18,254,.1)}.swagger-ui .opblock.opblock-head .opblock-summary-method{background:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary{border-color:#9012fe}.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:#9012fe}.swagger-ui .opblock.opblock-options{border-color:#0d5aa7;background:rgba(13,90,167,.1)}.swagger-ui .opblock.opblock-options .opblock-summary-method{background:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary{border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:#0d5aa7}.swagger-ui .opblock.opblock-deprecated{opacity:.6;border-color:#ebebeb;background:hsla(0,0%,92.2%,.1)}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#ebebeb}.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:#ebebeb}.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:#ebebeb}.swagger-ui .opblock .opblock-schemes{padding:8px 20px}.swagger-ui .opblock .opblock-schemes .schemes-title{padding:0 10px 0 0}.swagger-ui .filter .operation-filter-input{width:100%;margin:20px 0;padding:10px;border:2px solid #d8dde7}.swagger-ui .download-url-wrapper .failed,.swagger-ui .filter .failed{color:red}.swagger-ui .download-url-wrapper .loading,.swagger-ui .filter .loading{color:#aaa}.swagger-ui .model-example{margin-top:1em}.swagger-ui .tab{display:flex;padding:0;list-style:none}.swagger-ui .tab li{font-size:12px;min-width:60px;padding:0;cursor:pointer;font-family:sans-serif;color:#3b4151}.swagger-ui .tab li:first-of-type{position:relative;padding-left:0;padding-right:12px}.swagger-ui .tab li:first-of-type:after{position:absolute;top:0;right:6px;width:1px;height:100%;content:"";background:rgba(0,0,0,.2)}.swagger-ui .tab li.active{font-weight:700}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{font-size:12px;margin:0 0 5px;padding:15px 20px;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{font-size:12px;margin:0 0 5px;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{font-size:14px;margin:0;font-family:sans-serif;color:#3b4151}.swagger-ui .opblock-external-docs-wrapper h4{padding-left:0}.swagger-ui .execute-wrapper{padding:20px;text-align:right}.swagger-ui .execute-wrapper .btn{width:100%;padding:8px 40px}.swagger-ui .body-param-options{display:flex;flex-direction:column}.swagger-ui .body-param-options .body-param-edit{padding:10px 0}.swagger-ui .body-param-options label{padding:8px 0}.swagger-ui .body-param-options label select{margin:3px 0 0}.swagger-ui .responses-inner{padding:20px}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5{font-size:12px;margin:10px 0 5px;font-family:sans-serif;color:#3b4151}.swagger-ui .responses-inner .curl{white-space:normal}.swagger-ui .response-col_status{font-size:14px;font-family:sans-serif;color:#3b4151}.swagger-ui .response-col_status .response-undocumented{font-size:11px;font-family:monospace;font-weight:600;color:#909090}.swagger-ui .response-col_links{padding-left:2em;max-width:40em;font-size:14px;font-family:sans-serif;color:#3b4151}.swagger-ui .response-col_links .response-undocumented{font-size:11px;font-family:monospace;font-weight:600;color:#909090}.swagger-ui .response-col_links .operation-link{margin-bottom:1.5em}.swagger-ui .response-col_links .operation-link .description{margin-bottom:.5em}.swagger-ui .opblock-body .opblock-loading-animation{display:block;margin:3em auto}.swagger-ui .opblock-body pre.microlight{font-size:12px;margin:0;padding:10px;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;border-radius:4px;background:#333;overflow-wrap:break-word;font-family:monospace;font-weight:600;color:#fff}.swagger-ui .opblock-body pre.microlight .headerline{display:block}.swagger-ui .highlight-code{position:relative}.swagger-ui .highlight-code>.microlight{overflow-y:auto;max-height:400px;min-height:6em}.swagger-ui .curl-command{position:relative}.swagger-ui .download-contents{position:absolute;bottom:10px;right:10px;cursor:pointer;background:#7d8293;text-align:center;padding:5px;border-radius:4px;font-family:sans-serif;font-weight:600;color:#fff;font-size:14px;height:30px;width:75px}.swagger-ui .scheme-container{margin:0 0 20px;padding:30px 0;background:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.15)}.swagger-ui .scheme-container .schemes{display:flex;align-items:flex-end}.swagger-ui .scheme-container .schemes>label{font-size:12px;font-weight:700;display:flex;flex-direction:column;margin:-20px 15px 0 0;font-family:sans-serif;color:#3b4151}.swagger-ui .scheme-container .schemes>label select{min-width:130px;text-transform:uppercase}.swagger-ui .loading-container{padding:40px 0 60px;margin-top:1em;min-height:1px;display:flex;justify-content:center;align-items:center;flex-direction:column}.swagger-ui .loading-container .loading{position:relative}.swagger-ui .loading-container .loading:after{font-size:10px;font-weight:700;position:absolute;top:50%;left:50%;content:"loading";transform:translate(-50%,-50%);text-transform:uppercase;font-family:sans-serif;color:#3b4151}.swagger-ui .loading-container .loading:before{position:absolute;top:50%;left:50%;display:block;width:60px;height:60px;margin:-30px;content:"";-webkit-animation:rotation 1s linear infinite,opacity .5s;animation:rotation 1s linear infinite,opacity .5s;opacity:1;border:2px solid rgba(85,85,85,.1);border-top-color:rgba(0,0,0,.6);border-radius:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}@-webkit-keyframes rotation{to{transform:rotate(1turn)}}@keyframes rotation{to{transform:rotate(1turn)}}.swagger-ui .response-controls{padding-top:1em;display:flex}.swagger-ui .response-control-media-type{margin-right:1em}.swagger-ui .response-control-media-type--accept-controller select{border-color:green}.swagger-ui .response-control-media-type__accept-message{color:green;font-size:.7em}.swagger-ui .response-control-examples__title,.swagger-ui .response-control-media-type__title{display:block;margin-bottom:.2em;font-size:.7em}@-webkit-keyframes blinker{50%{opacity:0}}@keyframes blinker{50%{opacity:0}}.swagger-ui .hidden{display:none}.swagger-ui .no-margin{height:auto;border:none;margin:0;padding:0}.swagger-ui .float-right{float:right}.swagger-ui img.full-width{width:100%}.swagger-ui .svg-assets{position:absolute;width:0;height:0}.swagger-ui section h3{font-family:sans-serif;color:#3b4151}.swagger-ui a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited{text-decoration:inherit;color:inherit;cursor:pointer}.swagger-ui .fallback{padding:1em;color:#aaa}.swagger-ui .version-pragma{height:100%;padding:5em 0}.swagger-ui .version-pragma__message{display:flex;justify-content:center;height:100%;font-size:1.2em;text-align:center;line-height:1.5em;padding:0 .6em}.swagger-ui .version-pragma__message>div{max-width:55ch;flex:1}.swagger-ui .version-pragma__message code{background-color:#dedede;padding:4px 4px 2px;white-space:pre}.swagger-ui .opblock-link{font-weight:400}.swagger-ui .opblock-link.shown{font-weight:700}.swagger-ui span.token-string{color:#555}.swagger-ui span.token-not-formatted{color:#555;font-weight:700}.swagger-ui .btn{font-size:14px;font-weight:700;padding:5px 23px;transition:all .3s;border:2px solid grey;border-radius:4px;background:transparent;box-shadow:0 1px 2px rgba(0,0,0,.1);font-family:sans-serif;color:#3b4151}.swagger-ui .btn.btn-sm{font-size:12px;padding:4px 23px}.swagger-ui .btn[disabled]{cursor:not-allowed;opacity:.3}.swagger-ui .btn:hover{box-shadow:0 0 5px rgba(0,0,0,.3)}.swagger-ui .btn.cancel{border-color:#ff6060;background-color:transparent;font-family:sans-serif;color:#ff6060}.swagger-ui .btn.authorize{line-height:1;display:inline;color:#49cc90;border-color:#49cc90;background-color:transparent}.swagger-ui .btn.authorize span{float:left;padding:4px 20px 0 0}.swagger-ui .btn.authorize svg{fill:#49cc90}.swagger-ui .btn.execute{background-color:#4990e2;color:#fff;border-color:#4990e2}.swagger-ui .btn-group{display:flex;padding:30px}.swagger-ui .btn-group .btn{flex:1}.swagger-ui .btn-group .btn:first-child{border-radius:4px 0 0 4px}.swagger-ui .btn-group .btn:last-child{border-radius:0 4px 4px 0}.swagger-ui .authorization__btn{padding:0 10px;border:none;background:none}.swagger-ui .authorization__btn.locked{opacity:1}.swagger-ui .authorization__btn.unlocked{opacity:.4}.swagger-ui .expand-methods,.swagger-ui .expand-operation{border:none;background:none}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{width:20px;height:20px}.swagger-ui .expand-methods{padding:0 10px}.swagger-ui .expand-methods:hover svg{fill:#404040}.swagger-ui .expand-methods svg{transition:all .3s;fill:#707070}.swagger-ui button{cursor:pointer;outline:none}.swagger-ui button.invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}.swagger-ui .copy-to-clipboard{position:absolute;bottom:10px;right:100px;width:30px;height:30px;background:#7d8293;border-radius:4px;border:none}.swagger-ui .copy-to-clipboard button{padding-left:25px;border:none;height:25px;background:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat}.swagger-ui .curl-command .copy-to-clipboard{bottom:5px;right:10px;width:20px;height:20px}.swagger-ui .curl-command .copy-to-clipboard button{padding-left:18px;height:18px}.swagger-ui select{font-size:14px;font-weight:700;padding:5px 40px 5px 10px;border:2px solid #41444e;border-radius:4px;background:#f7f7f7 url('data:image/svg+xml;charset=utf-8,') right 10px center no-repeat;background-size:20px;box-shadow:0 1px 2px 0 rgba(0,0,0,.25);font-family:sans-serif;color:#3b4151;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swagger-ui select[multiple]{margin:5px 0;padding:5px;background:#f7f7f7}.swagger-ui select.invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}.swagger-ui .opblock-body select{min-width:230px}@media (max-width:768px){.swagger-ui .opblock-body select{min-width:180px}}.swagger-ui label{font-size:12px;font-weight:700;margin:0 0 5px;font-family:sans-serif;color:#3b4151}@media (max-width:768px){.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{max-width:175px}}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{min-width:100px;margin:5px 0;padding:8px 10px;border:1px solid #d9d9d9;border-radius:4px;background:#fff}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui textarea.invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}.swagger-ui input[disabled],.swagger-ui select[disabled],.swagger-ui textarea[disabled]{background-color:#fafafa;color:#888;cursor:not-allowed}.swagger-ui select[disabled]{border-color:#888}.swagger-ui textarea[disabled]{background-color:#41444e;color:#fff}@-webkit-keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.swagger-ui textarea{font-size:12px;width:100%;min-height:280px;padding:10px;border:none;border-radius:4px;outline:none;background:hsla(0,0%,100%,.8);font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui textarea:focus{border:2px solid #61affe}.swagger-ui textarea.curl{font-size:12px;min-height:100px;margin:0;padding:10px;resize:none;border-radius:4px;background:#41444e;font-family:monospace;font-weight:600;color:#fff}.swagger-ui .checkbox{padding:5px 0 10px;transition:opacity .5s;color:#303030}.swagger-ui .checkbox label{display:flex}.swagger-ui .checkbox p{font-weight:400!important;font-style:italic;margin:0!important;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .checkbox input[type=checkbox]{display:none}.swagger-ui .checkbox input[type=checkbox]+label>.item{position:relative;top:3px;display:inline-block;width:16px;height:16px;margin:0 8px 0 0;padding:5px;cursor:pointer;border-radius:1px;background:#e8e8e8;box-shadow:0 0 0 2px #e8e8e8;flex:none}.swagger-ui .checkbox input[type=checkbox]+label>.item:active{transform:scale(.9)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:#e8e8e8 url('data:image/svg+xml;charset=utf-8,') 50% no-repeat}.swagger-ui .dialog-ux{position:fixed;z-index:9999;top:0;right:0;bottom:0;left:0}.swagger-ui .dialog-ux .backdrop-ux{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.8)}.swagger-ui .dialog-ux .modal-ux{position:absolute;z-index:9999;top:50%;left:50%;width:100%;min-width:300px;max-width:650px;transform:translate(-50%,-50%);border:1px solid #ebebeb;border-radius:4px;background:#fff;box-shadow:0 10px 30px 0 rgba(0,0,0,.2)}.swagger-ui .dialog-ux .modal-ux-content{overflow-y:auto;max-height:540px;padding:20px}.swagger-ui .dialog-ux .modal-ux-content p{font-size:12px;margin:0 0 5px;color:#41444e;font-family:sans-serif;color:#3b4151}.swagger-ui .dialog-ux .modal-ux-content h4{font-size:18px;font-weight:600;margin:15px 0 0;font-family:sans-serif;color:#3b4151}.swagger-ui .dialog-ux .modal-ux-header{display:flex;padding:12px 0;border-bottom:1px solid #ebebeb;align-items:center}.swagger-ui .dialog-ux .modal-ux-header .close-modal{padding:0 10px;border:none;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swagger-ui .dialog-ux .modal-ux-header h3{font-size:20px;font-weight:600;margin:0;padding:0 20px;flex:1;font-family:sans-serif;color:#3b4151}.swagger-ui .model{font-size:12px;font-weight:300;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:#a0a0a0!important}.swagger-ui .model .deprecated>td:first-of-type{text-decoration:line-through}.swagger-ui .model-toggle{font-size:10px;position:relative;top:6px;display:inline-block;margin:auto .3em;cursor:pointer;transition:transform .15s ease-in;transform:rotate(90deg);transform-origin:50% 50%}.swagger-ui .model-toggle.collapsed{transform:rotate(0deg)}.swagger-ui .model-toggle:after{display:block;width:20px;height:20px;content:"";background:url('data:image/svg+xml;charset=utf-8,') 50% no-repeat;background-size:100%}.swagger-ui .model-jump-to-path{position:relative;cursor:pointer}.swagger-ui .model-jump-to-path .view-line-link{position:absolute;top:-.4em;cursor:pointer}.swagger-ui .model-title{position:relative}.swagger-ui .model-title:hover .model-hint{visibility:visible}.swagger-ui .model-hint{position:absolute;top:-1.8em;visibility:hidden;padding:.1em .5em;white-space:nowrap;color:#ebebeb;border-radius:4px;background:rgba(0,0,0,.7)}.swagger-ui .model p{margin:0 0 1em}.swagger-ui .model .property{color:#999;font-style:italic}.swagger-ui .model .property.primitive{color:#6b6b6b}.swagger-ui table.model tr.description{color:#666;font-weight:400}.swagger-ui table.model tr.description td:first-child{font-weight:700}.swagger-ui table.model tr.property-row.required td:first-child{font-weight:700}.swagger-ui table.model tr.property-row td{vertical-align:top}.swagger-ui table.model tr.property-row td:first-child{padding-right:.2em}.swagger-ui table.model tr.property-row .star{color:red}.swagger-ui table.model tr.extension{color:#777}.swagger-ui table.model tr.extension td:last-child{vertical-align:top}.swagger-ui section.models{margin:30px 0;border:1px solid rgba(59,65,81,.3);border-radius:4px}.swagger-ui section.models .pointer{cursor:pointer}.swagger-ui section.models.is-open{padding:0 0 20px}.swagger-ui section.models.is-open h4{margin:0 0 5px;border-bottom:1px solid rgba(59,65,81,.3)}.swagger-ui section.models h4{font-size:16px;display:flex;align-items:center;margin:0;padding:10px 20px 10px 10px;cursor:pointer;transition:all .2s;font-family:sans-serif;color:#606060}.swagger-ui section.models h4 svg{transition:all .4s}.swagger-ui section.models h4 span{flex:1}.swagger-ui section.models h4:hover{background:rgba(0,0,0,.02)}.swagger-ui section.models h5{font-size:16px;margin:0 0 10px;font-family:sans-serif;color:#707070}.swagger-ui section.models .model-jump-to-path{position:relative;top:5px}.swagger-ui section.models .model-container{margin:0 20px 15px;position:relative;transition:all .5s;border-radius:4px;background:rgba(0,0,0,.05)}.swagger-ui section.models .model-container:hover{background:rgba(0,0,0,.07)}.swagger-ui section.models .model-container:first-of-type{margin:20px}.swagger-ui section.models .model-container:last-of-type{margin:0 20px}.swagger-ui section.models .model-container .models-jump-to-path{position:absolute;top:8px;right:5px;opacity:.65}.swagger-ui section.models .model-box{background:none}.swagger-ui .model-box{padding:10px;display:inline-block;border-radius:4px;background:rgba(0,0,0,.1)}.swagger-ui .model-box .model-jump-to-path{position:relative;top:4px}.swagger-ui .model-box.deprecated{opacity:.5}.swagger-ui .model-title{font-size:16px;font-family:sans-serif;color:#505050}.swagger-ui .model-title img{margin-left:1em;position:relative;bottom:0}.swagger-ui .model-deprecated-warning{font-size:16px;font-weight:600;margin-right:1em;font-family:sans-serif;color:#f93e3e}.swagger-ui span>span.model .brace-close{padding:0 0 0 10px}.swagger-ui .prop-name{display:inline-block;margin-right:1em}.swagger-ui .prop-type{color:#55a}.swagger-ui .prop-enum{display:block}.swagger-ui .prop-format{color:#606060}.swagger-ui .servers>label{font-size:12px;margin:-20px 15px 0 0;font-family:sans-serif;color:#3b4151}.swagger-ui .servers>label select{min-width:130px;max-width:100%}.swagger-ui .servers h4.message{padding-bottom:2em}.swagger-ui .servers table tr{width:30em}.swagger-ui .servers table td{display:inline-block;max-width:15em;vertical-align:middle;padding-top:10px;padding-bottom:10px}.swagger-ui .servers table td:first-of-type{padding-right:1em}.swagger-ui .servers table td input{width:100%;height:100%}.swagger-ui .servers .computed-url{margin:2em 0}.swagger-ui .servers .computed-url code{display:inline-block;padding:4px;font-size:16px;margin:0 1em}.swagger-ui .servers-title{font-size:12px;font-weight:700}.swagger-ui .operation-servers h4.message{margin-bottom:2em}.swagger-ui table{width:100%;padding:0 10px;border-collapse:collapse}.swagger-ui table.model tbody tr td{padding:0;vertical-align:top}.swagger-ui table.model tbody tr td:first-of-type{width:174px;padding:0 0 0 2em}.swagger-ui table.headers td{font-size:12px;font-weight:300;vertical-align:middle;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui table.headers .header-example{color:#999;font-style:italic}.swagger-ui table tbody tr td{padding:10px 0 0;vertical-align:top}.swagger-ui table tbody tr td:first-of-type{min-width:6em;padding:10px 0}.swagger-ui table thead tr td,.swagger-ui table thead tr th{font-size:12px;font-weight:700;padding:12px 0;text-align:left;border-bottom:1px solid rgba(59,65,81,.2);font-family:sans-serif;color:#3b4151}.swagger-ui .parameters-col_description{width:99%;margin-bottom:2em}.swagger-ui .parameters-col_description input[type=text]{width:100%;max-width:340px}.swagger-ui .parameters-col_description select{border-width:1px}.swagger-ui .parameter__name{font-size:16px;font-weight:400;margin-right:.75em;font-family:sans-serif;color:#3b4151}.swagger-ui .parameter__name.required{font-weight:700}.swagger-ui .parameter__name.required span{color:red}.swagger-ui .parameter__name.required:after{font-size:10px;position:relative;top:-6px;padding:5px;content:"required";color:rgba(255,0,0,.6)}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{font-size:12px;font-style:italic;font-family:monospace;font-weight:600;color:grey}.swagger-ui .parameter__deprecated{font-size:12px;font-style:italic;font-family:monospace;font-weight:600;color:red}.swagger-ui .parameter__empty_value_toggle{display:block;font-size:13px;padding-top:5px;padding-bottom:12px}.swagger-ui .parameter__empty_value_toggle input{margin-right:7px}.swagger-ui .parameter__empty_value_toggle.disabled{opacity:.7}.swagger-ui .table-container{padding:20px}.swagger-ui .response-col_description{width:99%}.swagger-ui .response-col_links{min-width:6em}.swagger-ui .topbar{padding:10px 0;background-color:#1b1b1b}.swagger-ui .topbar .topbar-wrapper,.swagger-ui .topbar a{display:flex;align-items:center}.swagger-ui .topbar a{font-size:1.5em;font-weight:700;flex:1;max-width:300px;text-decoration:none;font-family:sans-serif;color:#fff}.swagger-ui .topbar a span{margin:0;padding:0 10px}.swagger-ui .topbar .download-url-wrapper{display:flex;flex:3;justify-content:flex-end}.swagger-ui .topbar .download-url-wrapper input[type=text]{width:100%;margin:0;border:2px solid #62a03f;border-radius:4px 0 0 4px;outline:none}.swagger-ui .topbar .download-url-wrapper .select-label{display:flex;align-items:center;width:100%;max-width:600px;margin:0;color:#f0f0f0}.swagger-ui .topbar .download-url-wrapper .select-label span{font-size:16px;flex:1;padding:0 10px 0 0;text-align:right}.swagger-ui .topbar .download-url-wrapper .select-label select{flex:2;width:100%;border:2px solid #62a03f;outline:none;box-shadow:none}.swagger-ui .topbar .download-url-wrapper .download-url-button{font-size:16px;font-weight:700;padding:4px 30px;border:none;border-radius:0 4px 4px 0;background:#62a03f;font-family:sans-serif;color:#fff}.swagger-ui .info{margin:50px 0}.swagger-ui .info.failed-config{max-width:880px;margin-left:auto;margin-right:auto;text-align:center}.swagger-ui .info hgroup.main{margin:0 0 20px}.swagger-ui .info hgroup.main a{font-size:12px}.swagger-ui .info pre{font-size:14px}.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table{font-size:14px;font-family:sans-serif;color:#3b4151}.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5{font-family:sans-serif;color:#3b4151}.swagger-ui .info a{font-size:14px;transition:all .4s;font-family:sans-serif;color:#4990e2}.swagger-ui .info a:hover{color:#1f69c0}.swagger-ui .info>div{margin:0 0 5px}.swagger-ui .info .base-url{font-size:12px;font-weight:300!important;margin:0;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .info .title{font-size:36px;margin:0;font-family:sans-serif;color:#3b4151}.swagger-ui .info .title small{font-size:10px;position:relative;top:-5px;display:inline-block;margin:0 0 0 5px;padding:2px 4px;vertical-align:super;border-radius:57px;background:#7d8492}.swagger-ui .info .title small.version-stamp{background-color:#89bf04}.swagger-ui .info .title small pre{margin:0;padding:0;font-family:sans-serif;color:#fff}.swagger-ui .auth-btn-wrapper{display:flex;padding:10px 0;justify-content:center}.swagger-ui .auth-btn-wrapper .btn-done{margin-right:1em}.swagger-ui .auth-wrapper{display:flex;flex:1;justify-content:flex-end}.swagger-ui .auth-wrapper .authorize{padding-right:20px;margin-right:10px}.swagger-ui .auth-container{margin:0 0 10px;padding:10px 20px;border-bottom:1px solid #ebebeb}.swagger-ui .auth-container:last-of-type{margin:0;padding:10px 20px;border:0}.swagger-ui .auth-container h4{margin:5px 0 15px!important}.swagger-ui .auth-container .wrapper{margin:0;padding:0}.swagger-ui .auth-container input[type=password],.swagger-ui .auth-container input[type=text]{min-width:230px}.swagger-ui .auth-container .errors{font-size:12px;padding:10px;border-radius:4px;background-color:#fee;color:red;margin:1em;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .auth-container .errors b{text-transform:capitalize;margin-right:1em}.swagger-ui .scopes h2{font-size:14px;font-family:sans-serif;color:#3b4151}.swagger-ui .scopes h2 a{font-size:12px;color:#4990e2;cursor:pointer;padding-left:10px;text-decoration:underline}.swagger-ui .scope-def{padding:0 0 20px}.swagger-ui .errors-wrapper{margin:20px;padding:10px 20px;-webkit-animation:scaleUp .5s;animation:scaleUp .5s;border:2px solid #f93e3e;border-radius:4px;background:rgba(249,62,62,.1)}.swagger-ui .errors-wrapper .error-wrapper{margin:0 0 10px}.swagger-ui .errors-wrapper .errors h4{font-size:14px;margin:0;font-family:monospace;font-weight:600;color:#3b4151}.swagger-ui .errors-wrapper .errors small{color:#606060}.swagger-ui .errors-wrapper .errors .message{white-space:pre-line}.swagger-ui .errors-wrapper .errors .message.thrown{max-width:100%}.swagger-ui .errors-wrapper .errors .error-line{text-decoration:underline;cursor:pointer}.swagger-ui .errors-wrapper hgroup{display:flex;align-items:center}.swagger-ui .errors-wrapper hgroup h4{font-size:20px;margin:0;flex:1;font-family:sans-serif;color:#3b4151}@-webkit-keyframes scaleUp{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleUp{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.swagger-ui .Resizer.vertical.disabled{display:none}.swagger-ui .markdown p,.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown p,.swagger-ui .renderedMarkdown pre{margin:1em auto}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{color:#000;font-weight:400;white-space:pre-wrap;background:none;padding:0;overflow-wrap:break-word}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{font-size:14px;padding:5px 7px;border-radius:4px;background:rgba(0,0,0,.05);font-family:monospace;font-weight:600;color:#9012fe}.swagger-ui .markdown pre>code,.swagger-ui .renderedMarkdown pre>code{display:block} diff --git a/boot/assets/sw/image/3.35.1/favicon-32x32.png b/boot/assets/sw/image/3.35.1/favicon-32x32.png new file mode 100644 index 0000000..6db3b76 Binary files /dev/null and b/boot/assets/sw/image/3.35.1/favicon-32x32.png differ diff --git a/boot/assets/sw/index.html b/boot/assets/sw/index.html new file mode 100644 index 0000000..3be28ee --- /dev/null +++ b/boot/assets/sw/index.html @@ -0,0 +1,59 @@ + + + + + + RK Swagger UI + + + + + + + +
+ + + + + + \ No newline at end of file diff --git a/boot/assets/sw/js/3.35.1/swagger-ui-bundle.js b/boot/assets/sw/js/3.35.1/swagger-ui-bundle.js new file mode 100644 index 0000000..cd0c322 --- /dev/null +++ b/boot/assets/sw/js/3.35.1/swagger-ui-bundle.js @@ -0,0 +1,2 @@ +/*! For license information please see swagger-ui-bundle.js.LICENSE.txt */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(function(){try{return require("esprima")}catch(e){}}()):"function"==typeof define&&define.amd?define(["esprima"],t):"object"==typeof exports?exports.SwaggerUIBundle=t(function(){try{return require("esprima")}catch(e){}}()):e.SwaggerUIBundle=t(e.esprima)}(this,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist",n(n.s=540)}([function(e,t,n){"use strict";e.exports=n(126)},function(e,t,n){e.exports=function(){"use strict";var e=Array.prototype.slice;function t(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function n(e){return i(e)?e:$(e)}function r(e){return s(e)?e:K(e)}function o(e){return u(e)?e:Y(e)}function a(e){return i(e)&&!c(e)?e:G(e)}function i(e){return!(!e||!e[p])}function s(e){return!(!e||!e[f])}function u(e){return!(!e||!e[h])}function c(e){return s(e)||u(e)}function l(e){return!(!e||!e[d])}t(r,n),t(o,n),t(a,n),n.isIterable=i,n.isKeyed=s,n.isIndexed=u,n.isAssociative=c,n.isOrdered=l,n.Keyed=r,n.Indexed=o,n.Set=a;var p="@@__IMMUTABLE_ITERABLE__@@",f="@@__IMMUTABLE_KEYED__@@",h="@@__IMMUTABLE_INDEXED__@@",d="@@__IMMUTABLE_ORDERED__@@",v="delete",m=5,g=1<>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?A(e)+t:t}function O(){return!0}function j(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function T(e,t){return P(e,t,0)}function I(e,t){return P(e,t,t)}function P(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}var N=0,M=1,R=2,D="function"==typeof Symbol&&Symbol.iterator,L="@@iterator",B=D||L;function F(e){this.next=e}function U(e,t,n,r){var o=0===e?t:1===e?n:[t,n];return r?r.value=o:r={value:o,done:!1},r}function q(){return{value:void 0,done:!0}}function z(e){return!!H(e)}function V(e){return e&&"function"==typeof e.next}function W(e){var t=H(e);return t&&t.call(e)}function H(e){var t=e&&(D&&e[D]||e[L]);if("function"==typeof t)return t}function J(e){return e&&"number"==typeof e.length}function $(e){return null==e?ie():i(e)?e.toSeq():ce(e)}function K(e){return null==e?ie().toKeyedSeq():i(e)?s(e)?e.toSeq():e.fromEntrySeq():se(e)}function Y(e){return null==e?ie():i(e)?s(e)?e.entrySeq():e.toIndexedSeq():ue(e)}function G(e){return(null==e?ie():i(e)?s(e)?e.entrySeq():e:ue(e)).toSetSeq()}F.prototype.toString=function(){return"[Iterator]"},F.KEYS=N,F.VALUES=M,F.ENTRIES=R,F.prototype.inspect=F.prototype.toSource=function(){return this.toString()},F.prototype[B]=function(){return this},t($,n),$.of=function(){return $(arguments)},$.prototype.toSeq=function(){return this},$.prototype.toString=function(){return this.__toString("Seq {","}")},$.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},$.prototype.__iterate=function(e,t){return pe(this,e,t,!0)},$.prototype.__iterator=function(e,t){return fe(this,e,t,!0)},t(K,$),K.prototype.toKeyedSeq=function(){return this},t(Y,$),Y.of=function(){return Y(arguments)},Y.prototype.toIndexedSeq=function(){return this},Y.prototype.toString=function(){return this.__toString("Seq [","]")},Y.prototype.__iterate=function(e,t){return pe(this,e,t,!1)},Y.prototype.__iterator=function(e,t){return fe(this,e,t,!1)},t(G,$),G.of=function(){return G(arguments)},G.prototype.toSetSeq=function(){return this},$.isSeq=ae,$.Keyed=K,$.Set=G,$.Indexed=Y;var Z,X,Q,ee="@@__IMMUTABLE_SEQ__@@";function te(e){this._array=e,this.size=e.length}function ne(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function re(e){this._iterable=e,this.size=e.length||e.size}function oe(e){this._iterator=e,this._iteratorCache=[]}function ae(e){return!(!e||!e[ee])}function ie(){return Z||(Z=new te([]))}function se(e){var t=Array.isArray(e)?new te(e).fromEntrySeq():V(e)?new oe(e).fromEntrySeq():z(e)?new re(e).fromEntrySeq():"object"==typeof e?new ne(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function ue(e){var t=le(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function ce(e){var t=le(e)||"object"==typeof e&&new ne(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}function le(e){return J(e)?new te(e):V(e)?new oe(e):z(e)?new re(e):void 0}function pe(e,t,n,r){var o=e._cache;if(o){for(var a=o.length-1,i=0;i<=a;i++){var s=o[n?a-i:i];if(!1===t(s[1],r?s[0]:i,e))return i+1}return i}return e.__iterateUncached(t,n)}function fe(e,t,n,r){var o=e._cache;if(o){var a=o.length-1,i=0;return new F((function(){var e=o[n?a-i:i];return i++>a?q():U(t,r?e[0]:i-1,e[1])}))}return e.__iteratorUncached(t,n)}function he(e,t){return t?de(t,e,"",{"":e}):ve(e)}function de(e,t,n,r){return Array.isArray(t)?e.call(r,n,Y(t).map((function(n,r){return de(e,n,r,t)}))):me(t)?e.call(r,n,K(t).map((function(n,r){return de(e,n,r,t)}))):t}function ve(e){return Array.isArray(e)?Y(e).map(ve).toList():me(e)?K(e).map(ve).toMap():e}function me(e){return e&&(e.constructor===Object||void 0===e.constructor)}function ge(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!("function"!=typeof e.equals||"function"!=typeof t.equals||!e.equals(t))}function ye(e,t){if(e===t)return!0;if(!i(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||s(e)!==s(t)||u(e)!==u(t)||l(e)!==l(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!c(e);if(l(e)){var r=e.entries();return t.every((function(e,t){var o=r.next().value;return o&&ge(o[1],e)&&(n||ge(o[0],t))}))&&r.next().done}var o=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{o=!0;var a=e;e=t,t=a}var p=!0,f=t.__iterate((function(t,r){if(n?!e.has(t):o?!ge(t,e.get(r,b)):!ge(e.get(r,b),t))return p=!1,!1}));return p&&e.size===f}function be(e,t){if(!(this instanceof be))return new be(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(X)return X;X=this}}function _e(e,t){if(!e)throw new Error(t)}function we(e,t,n){if(!(this instanceof we))return new we(e,t,n);if(_e(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),tr?q():U(e,o,n[t?r-o++:o++])}))},t(ne,K),ne.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},ne.prototype.has=function(e){return this._object.hasOwnProperty(e)},ne.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,o=r.length-1,a=0;a<=o;a++){var i=r[t?o-a:a];if(!1===e(n[i],i,this))return a+1}return a},ne.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,o=r.length-1,a=0;return new F((function(){var i=r[t?o-a:a];return a++>o?q():U(e,i,n[i])}))},ne.prototype[d]=!0,t(re,Y),re.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=W(this._iterable),r=0;if(V(n))for(var o;!(o=n.next()).done&&!1!==e(o.value,r++,this););return r},re.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=W(this._iterable);if(!V(n))return new F(q);var r=0;return new F((function(){var t=n.next();return t.done?t:U(e,r++,t.value)}))},t(oe,Y),oe.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n,r=this._iterator,o=this._iteratorCache,a=0;a=r.length){var t=n.next();if(t.done)return t;r[o]=t.value}return U(e,o,r[o++])}))},t(be,Y),be.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},be.prototype.get=function(e,t){return this.has(e)?this._value:t},be.prototype.includes=function(e){return ge(this._value,e)},be.prototype.slice=function(e,t){var n=this.size;return j(e,t,n)?this:new be(this._value,I(t,n)-T(e,n))},be.prototype.reverse=function(){return this},be.prototype.indexOf=function(e){return ge(this._value,e)?0:-1},be.prototype.lastIndexOf=function(e){return ge(this._value,e)?this.size:-1},be.prototype.__iterate=function(e,t){for(var n=0;n=0&&t=0&&nn?q():U(e,a++,i)}))},we.prototype.equals=function(e){return e instanceof we?this._start===e._start&&this._end===e._end&&this._step===e._step:ye(this,e)},t(Ee,n),t(xe,Ee),t(Ce,Ee),t(Se,Ee),Ee.Keyed=xe,Ee.Indexed=Ce,Ee.Set=Se;var Ae="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function ke(e){return e>>>1&1073741824|3221225471&e}function Oe(e){if(!1===e||null==e)return 0;if("function"==typeof e.valueOf&&(!1===(e=e.valueOf())||null==e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){if(e!=e||e===1/0)return 0;var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)n^=e/=4294967295;return ke(n)}if("string"===t)return e.length>Fe?je(e):Te(e);if("function"==typeof e.hashCode)return e.hashCode();if("object"===t)return Ie(e);if("function"==typeof e.toString)return Te(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function je(e){var t=ze[e];return void 0===t&&(t=Te(e),qe===Ue&&(qe=0,ze={}),qe++,ze[e]=t),t}function Te(e){for(var t=0,n=0;n0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}var Re,De="function"==typeof WeakMap;De&&(Re=new WeakMap);var Le=0,Be="__immutablehash__";"function"==typeof Symbol&&(Be=Symbol(Be));var Fe=16,Ue=255,qe=0,ze={};function Ve(e){_e(e!==1/0,"Cannot perform this action with an infinite size.")}function We(e){return null==e?ot():He(e)&&!l(e)?e:ot().withMutations((function(t){var n=r(e);Ve(n.size),n.forEach((function(e,n){return t.set(n,e)}))}))}function He(e){return!(!e||!e[$e])}t(We,xe),We.of=function(){var t=e.call(arguments,0);return ot().withMutations((function(e){for(var n=0;n=t.length)throw new Error("Missing value for key: "+t[n]);e.set(t[n],t[n+1])}}))},We.prototype.toString=function(){return this.__toString("Map {","}")},We.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},We.prototype.set=function(e,t){return at(this,e,t)},We.prototype.setIn=function(e,t){return this.updateIn(e,b,(function(){return t}))},We.prototype.remove=function(e){return at(this,e,b)},We.prototype.deleteIn=function(e){return this.updateIn(e,(function(){return b}))},We.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},We.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=mt(this,En(e),t,n);return r===b?void 0:r},We.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):ot()},We.prototype.merge=function(){return ft(this,void 0,arguments)},We.prototype.mergeWith=function(t){return ft(this,t,e.call(arguments,1))},We.prototype.mergeIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,ot(),(function(e){return"function"==typeof e.merge?e.merge.apply(e,n):n[n.length-1]}))},We.prototype.mergeDeep=function(){return ft(this,ht,arguments)},We.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return ft(this,dt(t),n)},We.prototype.mergeDeepIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,ot(),(function(e){return"function"==typeof e.mergeDeep?e.mergeDeep.apply(e,n):n[n.length-1]}))},We.prototype.sort=function(e){return zt(pn(this,e))},We.prototype.sortBy=function(e,t){return zt(pn(this,t,e))},We.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},We.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new C)},We.prototype.asImmutable=function(){return this.__ensureOwner()},We.prototype.wasAltered=function(){return this.__altered},We.prototype.__iterator=function(e,t){return new et(this,e,t)},We.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate((function(t){return r++,e(t[1],t[0],n)}),t),r},We.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?rt(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},We.isMap=He;var Je,$e="@@__IMMUTABLE_MAP__@@",Ke=We.prototype;function Ye(e,t){this.ownerID=e,this.entries=t}function Ge(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function Ze(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function Xe(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function Qe(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function et(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&nt(e._root)}function tt(e,t){return U(e,t[0],t[1])}function nt(e,t){return{node:e,index:0,__prev:t}}function rt(e,t,n,r){var o=Object.create(Ke);return o.size=e,o._root=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function ot(){return Je||(Je=rt(0))}function at(e,t,n){var r,o;if(e._root){var a=E(_),i=E(w);if(r=it(e._root,e.__ownerID,0,void 0,t,n,a,i),!i.value)return e;o=e.size+(a.value?n===b?-1:1:0)}else{if(n===b)return e;o=1,r=new Ye(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=o,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?rt(o,r):ot()}function it(e,t,n,r,o,a,i,s){return e?e.update(t,n,r,o,a,i,s):a===b?e:(x(s),x(i),new Qe(t,r,[o,a]))}function st(e){return e.constructor===Qe||e.constructor===Xe}function ut(e,t,n,r,o){if(e.keyHash===r)return new Xe(t,r,[e.entry,o]);var a,i=(0===n?e.keyHash:e.keyHash>>>n)&y,s=(0===n?r:r>>>n)&y;return new Ge(t,1<>>=1)i[s]=1&n?t[a++]:void 0;return i[r]=o,new Ze(e,a+1,i)}function ft(e,t,n){for(var o=[],a=0;a>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function yt(e,t,n,r){var o=r?e:S(e);return o[t]=n,o}function bt(e,t,n,r){var o=e.length+1;if(r&&t+1===o)return e[t]=n,e;for(var a=new Array(o),i=0,s=0;s=wt)return ct(e,u,r,o);var f=e&&e===this.ownerID,h=f?u:S(u);return p?s?c===l-1?h.pop():h[c]=h.pop():h[c]=[r,o]:h.push([r,o]),f?(this.entries=h,this):new Ye(e,h)}},Ge.prototype.get=function(e,t,n,r){void 0===t&&(t=Oe(n));var o=1<<((0===e?t:t>>>e)&y),a=this.bitmap;return 0==(a&o)?r:this.nodes[gt(a&o-1)].get(e+m,t,n,r)},Ge.prototype.update=function(e,t,n,r,o,a,i){void 0===n&&(n=Oe(r));var s=(0===t?n:n>>>t)&y,u=1<=Et)return pt(e,f,c,s,d);if(l&&!d&&2===f.length&&st(f[1^p]))return f[1^p];if(l&&d&&1===f.length&&st(d))return d;var v=e&&e===this.ownerID,g=l?d?c:c^u:c|u,_=l?d?yt(f,p,d,v):_t(f,p,v):bt(f,p,d,v);return v?(this.bitmap=g,this.nodes=_,this):new Ge(e,g,_)},Ze.prototype.get=function(e,t,n,r){void 0===t&&(t=Oe(n));var o=(0===e?t:t>>>e)&y,a=this.nodes[o];return a?a.get(e+m,t,n,r):r},Ze.prototype.update=function(e,t,n,r,o,a,i){void 0===n&&(n=Oe(r));var s=(0===t?n:n>>>t)&y,u=o===b,c=this.nodes,l=c[s];if(u&&!l)return this;var p=it(l,e,t+m,n,r,o,a,i);if(p===l)return this;var f=this.count;if(l){if(!p&&--f0&&r=0&&e>>t&y;if(r>=this.array.length)return new Ot([],e);var o,a=0===r;if(t>0){var i=this.array[r];if((o=i&&i.removeBefore(e,t-m,n))===i&&a)return this}if(a&&!o)return this;var s=Lt(this,e);if(!a)for(var u=0;u>>t&y;if(o>=this.array.length)return this;if(t>0){var a=this.array[o];if((r=a&&a.removeAfter(e,t-m,n))===a&&o===this.array.length-1)return this}var i=Lt(this,e);return i.array.splice(o+1),r&&(i.array[o]=r),i};var jt,Tt,It={};function Pt(e,t){var n=e._origin,r=e._capacity,o=qt(r),a=e._tail;return i(e._root,e._level,0);function i(e,t,n){return 0===t?s(e,n):u(e,t,n)}function s(e,i){var s=i===o?a&&a.array:e&&e.array,u=i>n?0:n-i,c=r-i;return c>g&&(c=g),function(){if(u===c)return It;var e=t?--c:u++;return s&&s[e]}}function u(e,o,a){var s,u=e&&e.array,c=a>n?0:n-a>>o,l=1+(r-a>>o);return l>g&&(l=g),function(){for(;;){if(s){var e=s();if(e!==It)return e;s=null}if(c===l)return It;var n=t?--l:c++;s=i(u&&u[n],o-m,a+(n<=e.size||t<0)return e.withMutations((function(e){t<0?Ft(e,t).set(0,n):Ft(e,0,t+1).set(t,n)}));t+=e._origin;var r=e._tail,o=e._root,a=E(w);return t>=qt(e._capacity)?r=Dt(r,e.__ownerID,0,t,n,a):o=Dt(o,e.__ownerID,e._level,t,n,a),a.value?e.__ownerID?(e._root=o,e._tail=r,e.__hash=void 0,e.__altered=!0,e):Nt(e._origin,e._capacity,e._level,o,r):e}function Dt(e,t,n,r,o,a){var i,s=r>>>n&y,u=e&&s0){var c=e&&e.array[s],l=Dt(c,t,n-m,r,o,a);return l===c?e:((i=Lt(e,t)).array[s]=l,i)}return u&&e.array[s]===o?e:(x(a),i=Lt(e,t),void 0===o&&s===i.array.length-1?i.array.pop():i.array[s]=o,i)}function Lt(e,t){return t&&e&&t===e.ownerID?e:new Ot(e?e.array.slice():[],t)}function Bt(e,t){if(t>=qt(e._capacity))return e._tail;if(t<1<0;)n=n.array[t>>>r&y],r-=m;return n}}function Ft(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new C,o=e._origin,a=e._capacity,i=o+t,s=void 0===n?a:n<0?a+n:o+n;if(i===o&&s===a)return e;if(i>=s)return e.clear();for(var u=e._level,c=e._root,l=0;i+l<0;)c=new Ot(c&&c.array.length?[void 0,c]:[],r),l+=1<<(u+=m);l&&(i+=l,o+=l,s+=l,a+=l);for(var p=qt(a),f=qt(s);f>=1<p?new Ot([],r):h;if(h&&f>p&&im;g-=m){var b=p>>>g&y;v=v.array[b]=Lt(v.array[b],r)}v.array[p>>>m&y]=h}if(s=f)i-=f,s-=f,u=m,c=null,d=d&&d.removeBefore(r,0,i);else if(i>o||f>>u&y;if(_!==f>>>u&y)break;_&&(l+=(1<o&&(c=c.removeBefore(r,u,i-l)),c&&fa&&(a=c.size),i(u)||(c=c.map((function(e){return he(e)}))),r.push(c)}return a>e.size&&(e=e.setSize(a)),vt(e,t,r)}function qt(e){return e>>m<=g&&i.size>=2*a.size?(r=(o=i.filter((function(e,t){return void 0!==e&&s!==t}))).toKeyedSeq().map((function(e){return e[0]})).flip().toMap(),e.__ownerID&&(r.__ownerID=o.__ownerID=e.__ownerID)):(r=a.remove(t),o=s===i.size-1?i.pop():i.set(s,void 0))}else if(u){if(n===i.get(s)[1])return e;r=a,o=i.set(s,[t,n])}else r=a.set(t,i.size),o=i.set(i.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=o,e.__hash=void 0,e):Wt(r,o)}function $t(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function Kt(e){this._iter=e,this.size=e.size}function Yt(e){this._iter=e,this.size=e.size}function Gt(e){this._iter=e,this.size=e.size}function Zt(e){var t=bn(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=_n,t.__iterateUncached=function(t,n){var r=this;return e.__iterate((function(e,n){return!1!==t(n,e,r)}),n)},t.__iteratorUncached=function(t,n){if(t===R){var r=e.__iterator(t,n);return new F((function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e}))}return e.__iterator(t===M?N:M,n)},t}function Xt(e,t,n){var r=bn(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,o){var a=e.get(r,b);return a===b?o:t.call(n,a,r,e)},r.__iterateUncached=function(r,o){var a=this;return e.__iterate((function(e,o,i){return!1!==r(t.call(n,e,o,i),o,a)}),o)},r.__iteratorUncached=function(r,o){var a=e.__iterator(R,o);return new F((function(){var o=a.next();if(o.done)return o;var i=o.value,s=i[0];return U(r,s,t.call(n,i[1],s,e),o)}))},r}function Qt(e,t){var n=bn(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=Zt(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=_n,n.__iterate=function(t,n){var r=this;return e.__iterate((function(e,n){return t(e,n,r)}),!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function en(e,t,n,r){var o=bn(e);return r&&(o.has=function(r){var o=e.get(r,b);return o!==b&&!!t.call(n,o,r,e)},o.get=function(r,o){var a=e.get(r,b);return a!==b&&t.call(n,a,r,e)?a:o}),o.__iterateUncached=function(o,a){var i=this,s=0;return e.__iterate((function(e,a,u){if(t.call(n,e,a,u))return s++,o(e,r?a:s-1,i)}),a),s},o.__iteratorUncached=function(o,a){var i=e.__iterator(R,a),s=0;return new F((function(){for(;;){var a=i.next();if(a.done)return a;var u=a.value,c=u[0],l=u[1];if(t.call(n,l,c,e))return U(o,r?c:s++,l,a)}}))},o}function tn(e,t,n){var r=We().asMutable();return e.__iterate((function(o,a){r.update(t.call(n,o,a,e),0,(function(e){return e+1}))})),r.asImmutable()}function nn(e,t,n){var r=s(e),o=(l(e)?zt():We()).asMutable();e.__iterate((function(a,i){o.update(t.call(n,a,i,e),(function(e){return(e=e||[]).push(r?[i,a]:a),e}))}));var a=yn(e);return o.map((function(t){return vn(e,a(t))}))}function rn(e,t,n,r){var o=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n===1/0?n=o:n|=0),j(t,n,o))return e;var a=T(t,o),i=I(n,o);if(a!=a||i!=i)return rn(e.toSeq().cacheResult(),t,n,r);var s,u=i-a;u==u&&(s=u<0?0:u);var c=bn(e);return c.size=0===s?s:e.size&&s||void 0,!r&&ae(e)&&s>=0&&(c.get=function(t,n){return(t=k(this,t))>=0&&ts)return q();var e=o.next();return r||t===M?e:U(t,u-1,t===N?void 0:e.value[1],e)}))},c}function on(e,t,n){var r=bn(e);return r.__iterateUncached=function(r,o){var a=this;if(o)return this.cacheResult().__iterate(r,o);var i=0;return e.__iterate((function(e,o,s){return t.call(n,e,o,s)&&++i&&r(e,o,a)})),i},r.__iteratorUncached=function(r,o){var a=this;if(o)return this.cacheResult().__iterator(r,o);var i=e.__iterator(R,o),s=!0;return new F((function(){if(!s)return q();var e=i.next();if(e.done)return e;var o=e.value,u=o[0],c=o[1];return t.call(n,c,u,a)?r===R?e:U(r,u,c,e):(s=!1,q())}))},r}function an(e,t,n,r){var o=bn(e);return o.__iterateUncached=function(o,a){var i=this;if(a)return this.cacheResult().__iterate(o,a);var s=!0,u=0;return e.__iterate((function(e,a,c){if(!s||!(s=t.call(n,e,a,c)))return u++,o(e,r?a:u-1,i)})),u},o.__iteratorUncached=function(o,a){var i=this;if(a)return this.cacheResult().__iterator(o,a);var s=e.__iterator(R,a),u=!0,c=0;return new F((function(){var e,a,l;do{if((e=s.next()).done)return r||o===M?e:U(o,c++,o===N?void 0:e.value[1],e);var p=e.value;a=p[0],l=p[1],u&&(u=t.call(n,l,a,i))}while(u);return o===R?e:U(o,a,l,e)}))},o}function sn(e,t){var n=s(e),o=[e].concat(t).map((function(e){return i(e)?n&&(e=r(e)):e=n?se(e):ue(Array.isArray(e)?e:[e]),e})).filter((function(e){return 0!==e.size}));if(0===o.length)return e;if(1===o.length){var a=o[0];if(a===e||n&&s(a)||u(e)&&u(a))return a}var c=new te(o);return n?c=c.toKeyedSeq():u(e)||(c=c.toSetSeq()),(c=c.flatten(!0)).size=o.reduce((function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}}),0),c}function un(e,t,n){var r=bn(e);return r.__iterateUncached=function(r,o){var a=0,s=!1;function u(e,c){var l=this;e.__iterate((function(e,o){return(!t||c0}function dn(e,t,r){var o=bn(e);return o.size=new te(r).map((function(e){return e.size})).min(),o.__iterate=function(e,t){for(var n,r=this.__iterator(M,t),o=0;!(n=r.next()).done&&!1!==e(n.value,o++,this););return o},o.__iteratorUncached=function(e,o){var a=r.map((function(e){return e=n(e),W(o?e.reverse():e)})),i=0,s=!1;return new F((function(){var n;return s||(n=a.map((function(e){return e.next()})),s=n.some((function(e){return e.done}))),s?q():U(e,i++,t.apply(null,n.map((function(e){return e.value}))))}))},o}function vn(e,t){return ae(e)?t:e.constructor(t)}function mn(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function gn(e){return Ve(e.size),A(e)}function yn(e){return s(e)?r:u(e)?o:a}function bn(e){return Object.create((s(e)?K:u(e)?Y:G).prototype)}function _n(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):$.prototype.cacheResult.call(this)}function wn(e,t){return e>t?1:e=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):Kn(e,t)},Vn.prototype.pushAll=function(e){if(0===(e=o(e)).size)return this;Ve(e.size);var t=this.size,n=this._head;return e.reverse().forEach((function(e){t++,n={value:e,next:n}})),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):Kn(t,n)},Vn.prototype.pop=function(){return this.slice(1)},Vn.prototype.unshift=function(){return this.push.apply(this,arguments)},Vn.prototype.unshiftAll=function(e){return this.pushAll(e)},Vn.prototype.shift=function(){return this.pop.apply(this,arguments)},Vn.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Yn()},Vn.prototype.slice=function(e,t){if(j(e,t,this.size))return this;var n=T(e,this.size);if(I(t,this.size)!==this.size)return Ce.prototype.slice.call(this,e,t);for(var r=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=r,this._head=o,this.__hash=void 0,this.__altered=!0,this):Kn(r,o)},Vn.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Kn(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},Vn.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},Vn.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new F((function(){if(r){var t=r.value;return r=r.next,U(e,n++,t)}return q()}))},Vn.isStack=Wn;var Hn,Jn="@@__IMMUTABLE_STACK__@@",$n=Vn.prototype;function Kn(e,t,n,r){var o=Object.create($n);return o.size=e,o._head=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Yn(){return Hn||(Hn=Kn(0))}function Gn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}$n[Jn]=!0,$n.withMutations=Ke.withMutations,$n.asMutable=Ke.asMutable,$n.asImmutable=Ke.asImmutable,$n.wasAltered=Ke.wasAltered,n.Iterator=F,Gn(n,{toArray:function(){Ve(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate((function(t,n){e[n]=t})),e},toIndexedSeq:function(){return new Kt(this)},toJS:function(){return this.toSeq().map((function(e){return e&&"function"==typeof e.toJS?e.toJS():e})).__toJS()},toJSON:function(){return this.toSeq().map((function(e){return e&&"function"==typeof e.toJSON?e.toJSON():e})).__toJS()},toKeyedSeq:function(){return new $t(this,!0)},toMap:function(){return We(this.toKeyedSeq())},toObject:function(){Ve(this.size);var e={};return this.__iterate((function(t,n){e[n]=t})),e},toOrderedMap:function(){return zt(this.toKeyedSeq())},toOrderedSet:function(){return Ln(s(this)?this.valueSeq():this)},toSet:function(){return jn(s(this)?this.valueSeq():this)},toSetSeq:function(){return new Yt(this)},toSeq:function(){return u(this)?this.toIndexedSeq():s(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Vn(s(this)?this.valueSeq():this)},toList:function(){return Ct(s(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){return vn(this,sn(this,e.call(arguments,0)))},includes:function(e){return this.some((function(t){return ge(t,e)}))},entries:function(){return this.__iterator(R)},every:function(e,t){Ve(this.size);var n=!0;return this.__iterate((function(r,o,a){if(!e.call(t,r,o,a))return n=!1,!1})),n},filter:function(e,t){return vn(this,en(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return Ve(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){Ve(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate((function(r){n?n=!1:t+=e,t+=null!=r?r.toString():""})),t},keys:function(){return this.__iterator(N)},map:function(e,t){return vn(this,Xt(this,e,t))},reduce:function(e,t,n){var r,o;return Ve(this.size),arguments.length<2?o=!0:r=t,this.__iterate((function(t,a,i){o?(o=!1,r=t):r=e.call(n,r,t,a,i)})),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return vn(this,Qt(this,!0))},slice:function(e,t){return vn(this,rn(this,e,t,!0))},some:function(e,t){return!this.every(tr(e),t)},sort:function(e){return vn(this,pn(this,e))},values:function(){return this.__iterator(M)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(e,t){return A(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return tn(this,e,t)},equals:function(e){return ye(this,e)},entrySeq:function(){var e=this;if(e._cache)return new te(e._cache);var t=e.toSeq().map(er).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(tr(e),t)},findEntry:function(e,t,n){var r=n;return this.__iterate((function(n,o,a){if(e.call(t,n,o,a))return r=[o,n],!1})),r},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},findLastEntry:function(e,t,n){return this.toKeyedSeq().reverse().findEntry(e,t,n)},findLastKey:function(e,t){return this.toKeyedSeq().reverse().findKey(e,t)},first:function(){return this.find(O)},flatMap:function(e,t){return vn(this,cn(this,e,t))},flatten:function(e){return vn(this,un(this,e,!0))},fromEntrySeq:function(){return new Gt(this)},get:function(e,t){return this.find((function(t,n){return ge(n,e)}),void 0,t)},getIn:function(e,t){for(var n,r=this,o=En(e);!(n=o.next()).done;){var a=n.value;if((r=r&&r.get?r.get(a,b):b)===b)return t}return r},groupBy:function(e,t){return nn(this,e,t)},has:function(e){return this.get(e,b)!==b},hasIn:function(e){return this.getIn(e,b)!==b},isSubset:function(e){return e="function"==typeof e.includes?e:n(e),this.every((function(t){return e.includes(t)}))},isSuperset:function(e){return(e="function"==typeof e.isSubset?e:n(e)).isSubset(this)},keyOf:function(e){return this.findKey((function(t){return ge(t,e)}))},keySeq:function(){return this.toSeq().map(Qn).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(e){return this.toKeyedSeq().reverse().keyOf(e)},max:function(e){return fn(this,e)},maxBy:function(e,t){return fn(this,t,e)},min:function(e){return fn(this,e?nr(e):ar)},minBy:function(e,t){return fn(this,t?nr(t):ar,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return vn(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return vn(this,an(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(tr(e),t)},sortBy:function(e,t){return vn(this,pn(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return vn(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return vn(this,on(this,e,t))},takeUntil:function(e,t){return this.takeWhile(tr(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=ir(this))}});var Zn=n.prototype;Zn[p]=!0,Zn[B]=Zn.values,Zn.__toJS=Zn.toArray,Zn.__toStringMapper=rr,Zn.inspect=Zn.toSource=function(){return this.toString()},Zn.chain=Zn.flatMap,Zn.contains=Zn.includes,Gn(r,{flip:function(){return vn(this,Zt(this))},mapEntries:function(e,t){var n=this,r=0;return vn(this,this.toSeq().map((function(o,a){return e.call(t,[a,o],r++,n)})).fromEntrySeq())},mapKeys:function(e,t){var n=this;return vn(this,this.toSeq().flip().map((function(r,o){return e.call(t,r,o,n)})).flip())}});var Xn=r.prototype;function Qn(e,t){return t}function er(e,t){return[t,e]}function tr(e){return function(){return!e.apply(this,arguments)}}function nr(e){return function(){return-e.apply(this,arguments)}}function rr(e){return"string"==typeof e?JSON.stringify(e):String(e)}function or(){return S(arguments)}function ar(e,t){return et?-1:0}function ir(e){if(e.size===1/0)return 0;var t=l(e),n=s(e),r=t?1:0;return sr(e.__iterate(n?t?function(e,t){r=31*r+ur(Oe(e),Oe(t))|0}:function(e,t){r=r+ur(Oe(e),Oe(t))|0}:t?function(e){r=31*r+Oe(e)|0}:function(e){r=r+Oe(e)|0}),r)}function sr(e,t){return t=Ae(t,3432918353),t=Ae(t<<15|t>>>-15,461845907),t=Ae(t<<13|t>>>-13,5),t=Ae((t=(t+3864292196|0)^e)^t>>>16,2246822507),t=ke((t=Ae(t^t>>>13,3266489909))^t>>>16)}function ur(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}return Xn[f]=!0,Xn[B]=Zn.entries,Xn.__toJS=Zn.toObject,Xn.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+rr(e)},Gn(o,{toKeyedSeq:function(){return new $t(this,!1)},filter:function(e,t){return vn(this,en(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return vn(this,Qt(this,!1))},slice:function(e,t){return vn(this,rn(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=T(e,e<0?this.count():this.size);var r=this.slice(0,e);return vn(this,1===n?r:r.concat(S(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(e){return vn(this,un(this,e,!1))},get:function(e,t){return(e=k(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find((function(t,n){return n===e}),void 0,t)},has:function(e){return(e=k(this,e))>=0&&(void 0!==this.size?this.size===1/0||e1)try{return decodeURIComponent(t[1])}catch(e){console.error(e)}return null}function Te(e){return t=e.replace(/\.[^./]*$/,""),$()(H()(t));var t}var Ie=function(e,t){if(e>t)return"Value must be less than ".concat(t)},Pe=function(e,t){if(et)return T()(n="Value must be no longer than ".concat(t," character")).call(n,1!==t?"s":"")},qe=function(e,t){var n;if(e.length2&&void 0!==arguments[2]?arguments[2]:{},r=n.isOAS3,o=void 0!==r&&r,a=n.bypassRequiredCheck,i=void 0!==a&&a,s=[],u=e.get("required"),c=Object(ue.a)(e,{isOAS3:o}),l=c.schema,p=c.parameterContentMediaType;if(!l)return s;var f=l.get("required"),h=l.get("maximum"),d=l.get("minimum"),v=l.get("type"),g=l.get("format"),y=l.get("maxLength"),b=l.get("minLength"),_=l.get("pattern");if(v&&(u||f||t)){var w="string"===v&&t,E="array"===v&&B()(t)&&t.length,x="array"===v&&z.a.List.isList(t)&&t.count(),C="array"===v&&"string"==typeof t&&t,S="file"===v&&t instanceof ae.a.File,A="boolean"===v&&(t||!1===t),k="number"===v&&(t||0===t),j="integer"===v&&(t||0===t),T="object"===v&&"object"===U()(t)&&null!==t,I="object"===v&&"string"==typeof t&&t,P=[w,E,x,C,S,A,k,j,T,I],N=m()(P).call(P,(function(e){return!!e}));if((u||f)&&!N&&!i)return s.push("Required field is not provided"),s;if("object"===v&&"string"==typeof t&&(null===p||"application/json"===p))try{JSON.parse(t)}catch(e){return s.push("Parameter string value must be valid JSON"),s}if(_){var M=ze(t,_);M&&s.push(M)}if(y||0===y){var R=Ue(t,y);R&&s.push(R)}if(b){var D=qe(t,b);D&&s.push(D)}if(h||0===h){var L=Ie(t,h);L&&s.push(L)}if(d||0===d){var F=Pe(t,d);F&&s.push(F)}if("string"===v){var q;if(!(q="date-time"===g?Be(t):"uuid"===g?Fe(t):Le(t)))return s;s.push(q)}else if("boolean"===v){var V=De(t);if(!V)return s;s.push(V)}else if("number"===v){var W=Ne(t);if(!W)return s;s.push(W)}else if("integer"===v){var H=Me(t);if(!H)return s;s.push(H)}else if("array"===v){var J;if(!x||!t.count())return s;J=l.getIn(["items","type"]),O()(t).call(t,(function(e,t){var n;"number"===J?n=Ne(e):"integer"===J?n=Me(e):"string"===J&&(n=Le(e)),n&&s.push({index:t,error:n})}))}else if("file"===v){var $=Re(t);if(!$)return s;s.push($)}}return s},We=function(e,t){if(!e.xml||!e.xml.name){if(e.xml=e.xml||{},!e.$$ref)return e.type||e.items||e.properties||e.additionalProperties?'\n\x3c!-- XML example cannot be generated; root element name is undefined --\x3e':null;var n=e.$$ref.match(/\S*\/(\S+)$/);e.xml.name=n[1]}return Object(oe.memoizedCreateXMLExample)(e,t)},He=[{when:/json/,shouldStringifyTypes:["string"]}],Je=["object"],$e=function(e,t,n){var r=Object(oe.memoizedSampleFromSchema)(e,t),o=U()(r),a=E()(He).call(He,(function(e,t){var r;return t.when.test(n)?T()(r=[]).call(r,d()(e),d()(t.shouldStringifyTypes)):e}),Je);return Q()(a,(function(e){return e===o}))?f()(r,null,2):r},Ke=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return/xml/.test(t)?We(e,n):$e(e,n,t)},Ye=function(){var e={},t=ae.a.location.search;if(!t)return{};if(""!=t){var n=t.substr(1).split("&");for(var r in n)n.hasOwnProperty(r)&&(r=n[r].split("="),e[decodeURIComponent(r[0])]=r[1]&&decodeURIComponent(r[1])||"")}return e},Ge=function(t){return(t instanceof e?t:e.from(t.toString(),"utf-8")).toString("base64")},Ze={operationsSorter:{alpha:function(e,t){return e.get("path").localeCompare(t.get("path"))},method:function(e,t){return e.get("method").localeCompare(t.get("method"))}},tagsSorter:{alpha:function(e,t){return e.localeCompare(t)}}},Xe=function(e){var t=[];for(var n in e){var r=e[n];void 0!==r&&""!==r&&t.push([n,"=",encodeURIComponent(r).replace(/%20/g,"+")].join(""))}return t.join("&")},Qe=function(e,t,n){return!!Z()(n,(function(n){return te()(e[n],t[n])}))};function et(e){return"string"!=typeof e||""===e?"":Object(V.sanitizeUrl)(e)}function tt(e){return!(!e||l()(e).call(e,"localhost")>=0||l()(e).call(e,"127.0.0.1")>=0||"none"===e)}function nt(e){if(!z.a.OrderedMap.isOrderedMap(e))return null;if(!e.size)return null;var t=u()(e).call(e,(function(e,t){return i()(t).call(t,"2")&&C()(e.get("content")||{}).length>0})),n=e.get("default")||z.a.OrderedMap(),r=(n.get("content")||z.a.OrderedMap()).keySeq().toJS().length?n:null;return t||r}var rt=function(e){return"string"==typeof e||e instanceof String?o()(e).call(e).replace(/\s/g,"%20"):""},ot=function(e){return se()(rt(e).replace(/%20/g,"_"))},at=function(e){return A()(e).call(e,(function(e,t){return/^x-/.test(t)}))},it=function(e){return A()(e).call(e,(function(e,t){return/^pattern|maxLength|minLength|maximum|minimum/.test(t)}))};function st(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0};if("object"!==U()(e)||B()(e)||null===e||!t)return e;var o=_()({},e);return O()(n=C()(o)).call(n,(function(e){e===t&&r(o[e],e)?delete o[e]:o[e]=st(o[e],t,r)})),o}function ut(e){if("string"==typeof e)return e;if(e&&e.toJS&&(e=e.toJS()),"object"===U()(e)&&null!==e)try{return f()(e,null,2)}catch(t){return String(e)}return null==e?"":e.toString()}function ct(e){return"number"==typeof e?e.toString():e}function lt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.returnAll,r=void 0!==n&&n,o=t.allowHashes,a=void 0===o||o;if(!z.a.Map.isMap(e))throw new Error("paramToIdentifier: received a non-Im.Map parameter as input");var i,s,u,c=e.get("name"),l=e.get("in"),p=[];e&&e.hashCode&&l&&c&&a&&p.push(T()(i=T()(s="".concat(l,".")).call(s,c,".hash-")).call(i,e.hashCode()));l&&c&&p.push(T()(u="".concat(l,".")).call(u,c));return p.push(c),r?p:p[0]||""}function pt(e,t){var n,r=lt(e,{returnAll:!0});return A()(n=D()(r).call(r,(function(e){return t[e]}))).call(n,(function(e){return void 0!==e}))[0]}function ft(){return dt(le()(32).toString("base64"))}function ht(e){return dt(fe()("sha256").update(e).digest("base64"))}function dt(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var vt=function(e){return!e||!(!de(e)||!e.isEmpty())}}).call(this,n(76).Buffer)},function(e,t,n){var r=n(240);function o(e,t){for(var n=0;n1?t-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:r,n=null,a=null;return function(){return o(t,n,arguments)||(a=e.apply(null,arguments)),n=arguments,a}}))},function(e,t,n){var r=n(546),o=n(177);function a(t){return e.exports=a="function"==typeof o&&"symbol"==typeof r?function(e){return typeof e}:function(e){return e&&"function"==typeof o&&e.constructor===o&&e!==o.prototype?"symbol":typeof e},a(t)}e.exports=a},function(e,t,n){e.exports=n(600)},function(e,t,n){e.exports=n(588)},function(e,t,n){e.exports=n(597)},function(e,t,n){"use strict";var r=n(41),o=n(104).f,a=n(356),i=n(34),s=n(107),u=n(70),c=n(52),l=function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t};e.exports=function(e,t){var n,p,f,h,d,v,m,g,y=e.target,b=e.global,_=e.stat,w=e.proto,E=b?r:_?r[y]:(r[y]||{}).prototype,x=b?i:i[y]||(i[y]={}),C=x.prototype;for(f in t)n=!a(b?f:y+(_?".":"#")+f,e.forced)&&E&&c(E,f),d=x[f],n&&(v=e.noTargetGet?(g=o(E,f))&&g.value:E[f]),h=n&&v?v:t[f],n&&typeof d==typeof h||(m=e.bind&&n?s(h,r):e.wrap&&n?l(h):w&&"function"==typeof h?s(Function.call,h):h,(e.sham||h&&h.sham||d&&d.sham)&&u(m,"sham",!0),x[f]=m,w&&(c(i,p=y+"Prototype")||u(i,p,{}),i[p][f]=h,e.real&&C&&!C[f]&&u(C,f,h)))}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,s],l=0;(u=new Error(t.replace(/%s/g,(function(){return c[l++]})))).name="Invariant Violation"}throw u.framesToPop=1,u}}},function(e,t,n){var r=n(240),o=n(834),a=n(838),i=n(843),s=n(445),u=n(848),c=n(446),l=n(447),p=n(3);function f(e,t){var n=l(e);if(c){var r=c(e);t&&(r=u(r).call(r,(function(t){return s(e,t).enumerable}))),n.push.apply(n,r)}return n}e.exports=function(e){for(var t=1;t>",a={listOf:function(e){return c(e,"List",r.List.isList)},mapOf:function(e,t){return p(e,t,"Map",r.Map.isMap)},orderedMapOf:function(e,t){return p(e,t,"OrderedMap",r.OrderedMap.isOrderedMap)},setOf:function(e){return c(e,"Set",r.Set.isSet)},orderedSetOf:function(e){return c(e,"OrderedSet",r.OrderedSet.isOrderedSet)},stackOf:function(e){return c(e,"Stack",r.Stack.isStack)},iterableOf:function(e){return c(e,"Iterable",r.Iterable.isIterable)},recordOf:function(e){return s((function(t,n,o,a,s){for(var u=arguments.length,c=Array(u>5?u-5:0),l=5;l6?u-6:0),l=6;l5?c-5:0),p=5;p5?i-5:0),u=5;u key("+l[p]+")"].concat(s));if(h instanceof Error)return h}}))}function p(e,t,n,r){return s((function(){for(var o=arguments.length,a=Array(o),i=0;i5?c-5:0),p=5;p4)}function l(e){var t=e.get("swagger");return"string"==typeof t&&i()(t).call(t,"2.0")}function p(e){return function(t,n){return function(r){return n&&n.specSelectors&&n.specSelectors.specJson?c(n.specSelectors.specJson())?u.a.createElement(e,o()({},r,n,{Ori:t})):u.a.createElement(t,r):(console.warn("OAS3 wrapper: couldn't get spec"),null)}}}},function(e,t,n){var r=n(41),o=n(228),a=n(52),i=n(174),s=n(229),u=n(361),c=o("wks"),l=r.Symbol,p=u?l:l&&l.withoutSetter||i;e.exports=function(e){return a(c,e)||(s&&a(l,e)?c[e]=l[e]:c[e]=p("Symbol."+e)),c[e]}},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=i(e),c=1;c0){var o=M()(n).call(n,(function(e){return console.error(e),e.line=e.fullPath?g(y,e.fullPath):null,e.path=e.fullPath?e.fullPath.join("."):null,e.level="error",e.type="thrown",e.source="resolver",P()(e,"message",{enumerable:!0,value:e.message}),e}));a.newThrownErrBatch(o)}return r.updateResolved(t)}))}},xe=[],Ce=Y()(T()(C.a.mark((function e(){var t,n,r,o,a,i,s,u,c,l,p,f,h,d,v,m,g;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=xe.system){e.next=4;break}return console.error("debResolveSubtrees: don't have a system to operate on, aborting."),e.abrupt("return");case 4:if(n=t.errActions,r=t.errSelectors,o=t.fn,a=o.resolveSubtree,i=o.AST,s=void 0===i?{}:i,u=t.specSelectors,c=t.specActions,a){e.next=8;break}return console.error("Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing."),e.abrupt("return");case 8:return l=s.getLineNumberForPath?s.getLineNumberForPath:function(){},p=u.specStr(),f=t.getConfigs(),h=f.modelPropertyMacro,d=f.parameterMacro,v=f.requestInterceptor,m=f.responseInterceptor,e.prev=11,e.next=14,O()(xe).call(xe,function(){var e=T()(C.a.mark((function e(t,o){var i,s,c,f,g,y,b;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t;case 2:return i=e.sent,s=i.resultMap,c=i.specWithCurrentSubtrees,e.next=7,a(c,o,{baseDoc:u.url(),modelPropertyMacro:h,parameterMacro:d,requestInterceptor:v,responseInterceptor:m});case 7:return f=e.sent,g=f.errors,y=f.spec,r.allErrors().size&&n.clearBy((function(e){var t;return"thrown"!==e.get("type")||"resolver"!==e.get("source")||!A()(t=e.get("fullPath")).call(t,(function(e,t){return e===o[t]||void 0===o[t]}))})),D()(g)&&g.length>0&&(b=M()(g).call(g,(function(e){return e.line=e.fullPath?l(p,e.fullPath):null,e.path=e.fullPath?e.fullPath.join("."):null,e.level="error",e.type="thrown",e.source="resolver",P()(e,"message",{enumerable:!0,value:e.message}),e})),n.newThrownErrBatch(b)),Z()(s,o,y),Z()(c,o,y),e.abrupt("return",{resultMap:s,specWithCurrentSubtrees:c});case 15:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),E.a.resolve({resultMap:(u.specResolvedSubtree([])||Object(q.Map)()).toJS(),specWithCurrentSubtrees:u.specJson().toJS()}));case 14:g=e.sent,delete xe.system,xe=[],e.next=22;break;case 19:e.prev=19,e.t0=e.catch(11),console.error(e.t0);case 22:c.updateResolvedSubtree([],g.resultMap);case 23:case"end":return e.stop()}}),e,null,[[11,19]])}))),35),Se=function(e){return function(t){var n;_()(n=M()(xe).call(xe,(function(e){return e.join("@@")}))).call(n,e.join("@@"))>-1||(xe.push(e),xe.system=t,Ce())}};function Ae(e,t,n,r,o){return{type:ne,payload:{path:e,value:r,paramName:t,paramIn:n,isXml:o}}}function ke(e,t,n,r){return{type:ne,payload:{path:e,param:t,value:n,isXml:r}}}var Oe=function(e,t){return{type:de,payload:{path:e,value:t}}},je=function(){return{type:de,payload:{path:[],value:Object(q.Map)()}}},Te=function(e,t){return{type:oe,payload:{pathMethod:e,isOAS3:t}}},Ie=function(e,t,n,r){return{type:re,payload:{pathMethod:e,paramName:t,paramIn:n,includeEmptyValue:r}}};function Pe(e){return{type:pe,payload:{pathMethod:e}}}function Ne(e,t){return{type:fe,payload:{path:e,value:t,key:"consumes_value"}}}function Me(e,t){return{type:fe,payload:{path:e,value:t,key:"produces_value"}}}var Re=function(e,t,n){return{payload:{path:e,method:t,res:n},type:ae}},De=function(e,t,n){return{payload:{path:e,method:t,req:n},type:ie}},Le=function(e,t,n){return{payload:{path:e,method:t,req:n},type:se}},Be=function(e){return{payload:e,type:ue}},Fe=function(e){return function(t){var n,r,o=t.fn,a=t.specActions,i=t.specSelectors,s=t.getConfigs,c=t.oas3Selectors,p=e.pathName,h=e.method,v=e.operation,g=s(),b=g.requestInterceptor,_=g.responseInterceptor,w=v.toJS();v&&v.get("parameters")&&y()(n=m()(r=v.get("parameters")).call(r,(function(e){return e&&!0===e.get("allowEmptyValue")}))).call(n,(function(t){if(i.parameterInclusionSettingFor([p,h],t.get("name"),t.get("in"))){e.parameters=e.parameters||{};var n=Object(X.C)(t,e.parameters);(!n||n&&0===n.size)&&(e.parameters[t.get("name")]="")}}));if(e.contextUrl=V()(i.url()).toString(),w&&w.operationId?e.operationId=w.operationId:w&&p&&h&&(e.operationId=o.opId(w,p,h)),i.isOAS3()){var E,x=d()(E="".concat(p,":")).call(E,h);e.server=c.selectedServer(x)||c.selectedServer();var S=c.serverVariables({server:e.server,namespace:x}).toJS(),A=c.serverVariables({server:e.server}).toJS();e.serverVariables=f()(S).length?S:A,e.requestContentType=c.requestContentType(p,h),e.responseContentType=c.responseContentType(p,h)||"*/*";var k=c.requestBodyValue(p,h),O=c.requestBodyInclusionSetting(p,h);if(Object(X.t)(k))e.requestBody=JSON.parse(k);else if(k&&k.toJS){var j;e.requestBody=m()(j=M()(k).call(k,(function(e){return q.Map.isMap(e)?e.get("value"):e}))).call(j,(function(e,t){return(D()(e)?0!==e.length:!Object(X.q)(e))||O.get(t)})).toJS()}else e.requestBody=k}var I=l()({},e);I=o.buildRequest(I),a.setRequest(e.pathName,e.method,I);var P=function(){var t=T()(C.a.mark((function t(n){var r,o;return C.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,b.apply(undefined,[n]);case 2:return r=t.sent,o=l()({},r),a.setMutatedRequest(e.pathName,e.method,o),t.abrupt("return",r);case 6:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();e.requestInterceptor=P,e.responseInterceptor=_;var N=u()();return o.execute(e).then((function(t){t.duration=u()()-N,a.setResponse(e.pathName,e.method,t)})).catch((function(t){console.error(t),a.setResponse(e.pathName,e.method,{error:!0,err:H()(t)})}))}},Ue=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.path,n=e.method,r=i()(e,["path","method"]);return function(e){var a=e.fn.fetch,i=e.specSelectors,s=e.specActions,u=i.specJsonWithResolvedSubtrees().toJS(),c=i.operationScheme(t,n),l=i.contentTypeValues([t,n]).toJS(),p=l.requestContentType,f=l.responseContentType,h=/xml/i.test(p),d=i.parameterValues([t,n],h).toJS();return s.executeRequest(o()(o()({},r),{},{fetch:a,spec:u,pathName:t,method:n,parameters:d,requestContentType:p,scheme:c,responseContentType:f}))}};function qe(e,t){return{type:ce,payload:{path:e,method:t}}}function ze(e,t){return{type:le,payload:{path:e,method:t}}}function Ve(e,t,n){return{type:ve,payload:{scheme:e,path:t,method:n}}}},function(e,t,n){var r=n(36);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t,n){var r=n(34),o=n(52),a=n(227),i=n(63).f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});o(t,e)||i(t,e,{value:a.f(e)})}},function(e,t,n){"use strict";var r=n(160),o=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],a=["scalar","sequence","mapping"];e.exports=function(e,t){var n,i;if(t=t||{},Object.keys(t).forEach((function(t){if(-1===o.indexOf(t))throw new r('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')})),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=(n=t.styleAliases||null,i={},null!==n&&Object.keys(n).forEach((function(e){n[e].forEach((function(t){i[String(t)]=e}))})),i),-1===a.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}},function(e,t,n){var r=n(401),o=n(241),a=n(673),i=n(177),s=n(180);e.exports=function(e,t){var n;if(void 0===i||null==a(e)){if(o(e)||(n=s(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var u=0,c=function(){};return{s:c,n:function(){return u>=e.length?{done:!0}:{done:!1,value:e[u++]}},e:function(e){throw e},f:c}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,p=!0,f=!1;return{s:function(){n=r(e)},n:function(){var e=n.next();return p=e.done,e},e:function(e){f=!0,l=e},f:function(){try{p||null==n.return||n.return()}finally{if(f)throw l}}}}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(44);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(448),o=n(446),a=n(854);e.exports=function(e,t){if(null==e)return{};var n,i,s=a(e,t);if(o){var u=o(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}},function(e,t,n){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};e.exports=o},function(e,t,n){e.exports=n(637)},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){"use strict";n.d(t,"b",(function(){return b})),n.d(t,"e",(function(){return _})),n.d(t,"c",(function(){return E})),n.d(t,"a",(function(){return x})),n.d(t,"d",(function(){return C}));var r=n(51),o=n.n(r),a=n(16),i=n.n(a),s=n(35),u=n.n(s),c=n(2),l=n.n(c),p=n(20),f=n.n(p),h=n(59),d=n.n(h),v=n(351),m=n.n(v),g=function(e){return String.prototype.toLowerCase.call(e)},y=function(e){return e.replace(/[^\w]/gi,"_")};function b(e){var t=e.openapi;return!!t&&m()(t,"3")}function _(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=r.v2OperationIdCompatibilityMode;if(!e||"object"!==f()(e))return null;var a=(e.operationId||"").replace(/\s/g,"");return a.length?y(e.operationId):w(t,n,{v2OperationIdCompatibilityMode:o})}function w(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=r.v2OperationIdCompatibilityMode;if(o){var a,i,s=l()(a="".concat(t.toLowerCase(),"_")).call(a,e).replace(/[\s!@#$%^&*()_+=[{\]};:<>|./?,\\'""-]/g,"_");return(s=s||l()(i="".concat(e.substring(1),"_")).call(i,t)).replace(/((_){2,})/g,"_").replace(/^(_)*/g,"").replace(/([_])*$/g,"")}return l()(n="".concat(g(t))).call(n,y(e))}function E(e,t){var n;return l()(n="".concat(g(t),"-")).call(n,e)}function x(e,t){return e&&e.paths?function(e,t){return function(e,t,n){if(!e||"object"!==f()(e)||!e.paths||"object"!==f()(e.paths))return null;var r=e.paths;for(var o in r)for(var a in r[o])if("PARAMETERS"!==a.toUpperCase()){var i=r[o][a];if(i&&"object"===f()(i)){var s={spec:e,pathName:o,method:a.toUpperCase(),operation:i},u=t(s);if(n&&u)return s}}return}(e,t,!0)||null}(e,(function(e){var n,r=e.pathName,o=e.method,a=e.operation;if(!a||"object"!==f()(a))return!1;var i=a.operationId,s=_(a,r,o),c=E(r,o);return u()(n=[s,c,i]).call(n,(function(e){return e&&e===t}))})):null}function C(e){var t=e.spec,n=t.paths,r={};if(!n||t.$$normalized)return e;for(var a in n){var s=n[a];if(d()(s)){var c=s.parameters,p=function(e){var n=s[e];if(!d()(n))return"continue";var p=_(n,a,e);if(p){r[p]?r[p].push(n):r[p]=[n];var f=r[p];if(f.length>1)i()(f).call(f,(function(e,t){var n;e.__originalOperationId=e.__originalOperationId||e.operationId,e.operationId=l()(n="".concat(p)).call(n,t+1)}));else if(void 0!==n.operationId){var h=f[0];h.__originalOperationId=h.__originalOperationId||n.operationId,h.operationId=p}}if("parameters"!==e){var v=[],m={};for(var g in t)"produces"!==g&&"consumes"!==g&&"security"!==g||(m[g]=t[g],v.push(m));if(c&&(m.parameters=c,v.push(m)),v.length){var y,b=o()(v);try{for(b.s();!(y=b.n()).done;){var w=y.value;for(var E in w)if(n[E]){if("parameters"===E){var x,C=o()(w[E]);try{var S=function(){var e,t=x.value;u()(e=n[E]).call(e,(function(e){return e.name&&e.name===t.name||e.$ref&&e.$ref===t.$ref||e.$$ref&&e.$$ref===t.$$ref||e===t}))||n[E].push(t)};for(C.s();!(x=C.n()).done;)S()}catch(e){C.e(e)}finally{C.f()}}}else n[E]=w[E]}}catch(e){b.e(e)}finally{b.f()}}}};for(var f in s)p(f)}}return t.$$normalized=!0,e}},function(e,t,n){"use strict";n.r(t),n.d(t,"NEW_THROWN_ERR",(function(){return a})),n.d(t,"NEW_THROWN_ERR_BATCH",(function(){return i})),n.d(t,"NEW_SPEC_ERR",(function(){return s})),n.d(t,"NEW_SPEC_ERR_BATCH",(function(){return u})),n.d(t,"NEW_AUTH_ERR",(function(){return c})),n.d(t,"CLEAR",(function(){return l})),n.d(t,"CLEAR_BY",(function(){return p})),n.d(t,"newThrownErr",(function(){return f})),n.d(t,"newThrownErrBatch",(function(){return h})),n.d(t,"newSpecErr",(function(){return d})),n.d(t,"newSpecErrBatch",(function(){return v})),n.d(t,"newAuthErr",(function(){return m})),n.d(t,"clear",(function(){return g})),n.d(t,"clearBy",(function(){return y}));var r=n(141),o=n.n(r),a="err_new_thrown_err",i="err_new_thrown_err_batch",s="err_new_spec_err",u="err_new_spec_err_batch",c="err_new_auth_err",l="err_clear",p="err_clear_by";function f(e){return{type:a,payload:o()(e)}}function h(e){return{type:i,payload:e}}function d(e){return{type:s,payload:e}}function v(e){return{type:u,payload:e}}function m(e){return{type:c,payload:e}}function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:l,payload:e}}function y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!0};return{type:p,payload:e}}},function(e,t,n){"use strict";n.r(t),n.d(t,"UPDATE_SELECTED_SERVER",(function(){return r})),n.d(t,"UPDATE_REQUEST_BODY_VALUE",(function(){return o})),n.d(t,"UPDATE_REQUEST_BODY_INCLUSION",(function(){return a})),n.d(t,"UPDATE_ACTIVE_EXAMPLES_MEMBER",(function(){return i})),n.d(t,"UPDATE_REQUEST_CONTENT_TYPE",(function(){return s})),n.d(t,"UPDATE_RESPONSE_CONTENT_TYPE",(function(){return u})),n.d(t,"UPDATE_SERVER_VARIABLE_VALUE",(function(){return c})),n.d(t,"SET_REQUEST_BODY_VALIDATE_ERROR",(function(){return l})),n.d(t,"CLEAR_REQUEST_BODY_VALIDATE_ERROR",(function(){return p})),n.d(t,"setSelectedServer",(function(){return f})),n.d(t,"setRequestBodyValue",(function(){return h})),n.d(t,"setRequestBodyInclusion",(function(){return d})),n.d(t,"setActiveExamplesMember",(function(){return v})),n.d(t,"setRequestContentType",(function(){return m})),n.d(t,"setResponseContentType",(function(){return g})),n.d(t,"setServerVariableValue",(function(){return y})),n.d(t,"setRequestBodyValidateError",(function(){return b})),n.d(t,"clearRequestBodyValidateError",(function(){return _})),n.d(t,"initRequestBodyValidateError",(function(){return w}));var r="oas3_set_servers",o="oas3_set_request_body_value",a="oas3_set_request_body_inclusion",i="oas3_set_active_examples_member",s="oas3_set_request_content_type",u="oas3_set_response_content_type",c="oas3_set_server_variable_value",l="oas3_set_request_body_validate_error",p="oas3_clear_request_body_validate_error";function f(e,t){return{type:r,payload:{selectedServerUrl:e,namespace:t}}}function h(e){var t=e.value,n=e.pathMethod;return{type:o,payload:{value:t,pathMethod:n}}}function d(e){var t=e.value,n=e.pathMethod,r=e.name;return{type:a,payload:{value:t,pathMethod:n,name:r}}}function v(e){var t=e.name,n=e.pathMethod,r=e.contextType,o=e.contextName;return{type:i,payload:{name:t,pathMethod:n,contextType:r,contextName:o}}}function m(e){var t=e.value,n=e.pathMethod;return{type:s,payload:{value:t,pathMethod:n}}}function g(e){var t=e.value,n=e.path,r=e.method;return{type:u,payload:{value:t,path:n,method:r}}}function y(e){var t=e.server,n=e.namespace,r=e.key,o=e.val;return{type:c,payload:{server:t,namespace:n,key:r,val:o}}}var b=function(e){var t=e.path,n=e.method,r=e.validationErrors;return{type:l,payload:{path:t,method:n,validationErrors:r}}},_=function(e){var t=e.path,n=e.method;return{type:p,payload:{path:t,method:n}}},w=function(e){var t=e.pathMethod;return{type:p,payload:{path:t[0],method:t[1]}}}},function(e,t,n){var r=n(48),o=n(355),a=n(54),i=n(173),s=Object.defineProperty;t.f=r?s:function(e,t,n){if(a(e),t=i(t,!0),a(n),o)try{return s(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(48),o=n(36),a=n(52),i=Object.defineProperty,s={},u=function(e){throw e};e.exports=function(e,t){if(a(s,e))return s[e];t||(t={});var n=[][e],c=!!a(t,"ACCESSORS")&&t.ACCESSORS,l=a(t,0)?t[0]:u,p=a(t,1)?t[1]:void 0;return s[e]=!!n&&!o((function(){if(c&&!r)return!0;var e={length:-1};c?i(e,1,{enumerable:!0,get:u}):e[1]=1,n.call(e,l,p)}))}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){var r=n(76),o=r.Buffer;function a(e,t){for(var n in e)t[n]=e[n]}function i(e,t,n){return o(e,t,n)}o.from&&o.alloc&&o.allocUnsafe&&o.allocUnsafeSlow?e.exports=r:(a(r,t),t.Buffer=i),a(o,i),i.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return o(e,t,n)},i.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=o(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},i.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return o(e)},i.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|e}function d(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return z(e).length;default:if(r)return q(e).length;t=(""+t).toLowerCase(),r=!0}}function v(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return T(this,t,n);case"utf8":case"utf-8":return A(this,t,n);case"ascii":return O(this,t,n);case"latin1":case"binary":return j(this,t,n);case"base64":return S(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,o);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,o){var a,i=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;i=2,s/=2,u/=2,n/=2}function c(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(o){var l=-1;for(a=n;as&&(n=s-u),a=n;a>=0;a--){for(var p=!0,f=0;fo&&(r=o):r=o;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var i=0;i>8,o=n%256,a.push(o),a.push(r);return a}(t,e.length-n),e,n,r)}function S(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function A(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o239?4:c>223?3:c>191?2:1;if(o+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(a=e[o+1]))&&(u=(31&c)<<6|63&a)>127&&(l=u);break;case 3:a=e[o+1],i=e[o+2],128==(192&a)&&128==(192&i)&&(u=(15&c)<<12|(63&a)<<6|63&i)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:a=e[o+1],i=e[o+2],s=e[o+3],128==(192&a)&&128==(192&i)&&128==(192&s)&&(u=(15&c)<<18|(63&a)<<12|(63&i)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=p}return function(e){var t=e.length;if(t<=k)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},u.prototype.compare=function(e,t,n,r,o){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(this===e)return 0;for(var a=(o>>>=0)-(r>>>=0),i=(n>>>=0)-(t>>>=0),s=Math.min(a,i),c=this.slice(r,o),l=e.slice(t,n),p=0;po)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return _(this,e,t,n);case"ascii":return w(this,e,t,n);case"latin1":case"binary":return E(this,e,t,n);case"base64":return x(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function O(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;or)&&(n=r);for(var o="",a=t;an)throw new RangeError("Trying to access beyond buffer length")}function N(e,t,n,r,o,a){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function M(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,a=Math.min(e.length-n,2);o>>8*(r?o:1-o)}function R(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,a=Math.min(e.length-n,4);o>>8*(r?o:3-o)&255}function D(e,t,n,r,o,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,r,a){return a||D(e,0,n,4),o.write(e,t,n,r,23,4),n+4}function B(e,t,n,r,a){return a||D(e,0,n,8),o.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)r+=this[e+--t]*o;return r},u.prototype.readUInt8=function(e,t){return t||P(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||P(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||P(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||P(e,t,this.length);for(var r=this[e],o=1,a=0;++a=(o*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||P(e,t,this.length);for(var r=t,o=1,a=this[e+--r];r>0&&(o*=256);)a+=this[e+--r]*o;return a>=(o*=128)&&(a-=Math.pow(2,8*t)),a},u.prototype.readInt8=function(e,t){return t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||P(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||P(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||P(e,4,this.length),o.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||P(e,4,this.length),o.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||P(e,8,this.length),o.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||P(e,8,this.length),o.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||N(this,e,t,n,Math.pow(2,8*n)-1,0);var o=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+o]=e/a&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);N(this,e,t,n,o-1,-o)}var a=0,i=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);N(this,e,t,n,o-1,-o)}var a=n-1,i=1,s=0;for(this[t+a]=255&e;--a>=0&&(i*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/i>>0)-s&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):M(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):M(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||N(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return B(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return B(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--o)e[o+t]=this[o+n];else if(a<1e3||!u.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(i+1===r){(t-=3)>-1&&a.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&a.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function z(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(F,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){for(var o=0;o=t.length||o>=e.length);++o)t[o+n]=e[o];return o}}).call(this,n(53))},function(e,t,n){e.exports=n(858)},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){var r=n(149),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){n(176);var r=n(552),o=n(41),a=n(97),i=n(70),s=n(109),u=n(39)("toStringTag");for(var c in r){var l=o[c],p=l&&l.prototype;p&&a(p)!==u&&i(p,u,c),s[c]=s.Array}},function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";var r=n(31),o=n(40),a=n(469),i=n(120),s=n(470),u=n(138),c=n(198),l=n(25),p=[],f=0,h=a.getPooled(),d=!1,v=null;function m(){E.ReactReconcileTransaction&&v||r("123")}var g=[{initialize:function(){this.dirtyComponentsLength=p.length},close:function(){this.dirtyComponentsLength!==p.length?(p.splice(0,this.dirtyComponentsLength),w()):p.length=0}},{initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}}];function y(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=a.getPooled(),this.reconcileTransaction=E.ReactReconcileTransaction.getPooled(!0)}function b(e,t){return e._mountOrder-t._mountOrder}function _(e){var t=e.dirtyComponentsLength;t!==p.length&&r("124",t,p.length),p.sort(b),f++;for(var n=0;nx;x++)if((f||x in _)&&(y=w(g=_[x],x,b),e))if(t)S[x]=y;else if(y)switch(e){case 3:return!0;case 5:return g;case 6:return x;case 2:u.call(S,g)}else if(l)return!1;return p?-1:c||l?l:S}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6)}},function(e,t,n){"use strict";e.exports={current:null}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t){var n,r,o=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(e){n=a}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var u,c=[],l=!1,p=-1;function f(){l&&u&&(l=!1,u.length?c=u.concat(c):p=-1,c.length&&h())}function h(){if(!l){var e=s(f);l=!0;for(var t=c.length;t;){for(u=c,c=[];++p1)for(var n=1;n0&&"/"!==t[0]}));function Ce(e,t,n){var r;t=t||[];var o=we.apply(void 0,A()(r=[e]).call(r,O()(t))).get("parameters",Object(I.List)());return f()(o).call(o,(function(e,t){var r=n&&"body"===t.get("in")?t.get("value_xml"):t.get("value");return e.set(Object(T.B)(t,{allowHashes:!1}),r)}),Object(I.fromJS)({}))}function Se(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(I.List.isList(e))return u()(e).call(e,(function(e){return I.Map.isMap(e)&&e.get("in")===t}))}function Ae(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(I.List.isList(e))return u()(e).call(e,(function(e){return I.Map.isMap(e)&&e.get("type")===t}))}function ke(e,t){var n,r;t=t||[];var o=z(e).getIn(A()(n=["paths"]).call(n,O()(t)),Object(I.fromJS)({})),a=e.getIn(A()(r=["meta","paths"]).call(r,O()(t)),Object(I.fromJS)({})),i=Oe(e,t),s=o.get("parameters")||new I.List,u=a.get("consumes_value")?a.get("consumes_value"):Ae(s,"file")?"multipart/form-data":Ae(s,"formData")?"application/x-www-form-urlencoded":void 0;return Object(I.fromJS)({requestContentType:u,responseContentType:i})}function Oe(e,t){var n,r;t=t||[];var o=z(e).getIn(A()(n=["paths"]).call(n,O()(t)),null);if(null!==o){var a=e.getIn(A()(r=["meta","paths"]).call(r,O()(t),["produces_value"]),null),i=o.getIn(["produces",0],null);return a||i||"application/json"}}function je(e,t){var n;t=t||[];var r=z(e),o=r.getIn(A()(n=["paths"]).call(n,O()(t)),null);if(null!==o){var a=t,s=i()(a,1)[0],u=o.get("produces",null),c=r.getIn(["paths",s,"produces"],null),l=r.getIn(["produces"],null);return u||c||l}}function Te(e,t){var n;t=t||[];var r=z(e),o=r.getIn(A()(n=["paths"]).call(n,O()(t)),null);if(null!==o){var a=t,s=i()(a,1)[0],u=o.get("consumes",null),c=r.getIn(["paths",s,"consumes"],null),l=r.getIn(["consumes"],null);return u||c||l}}var Ie=function(e,t,n){var r=e.get("url").match(/^([a-z][a-z0-9+\-.]*):/),a=o()(r)?r[1]:null;return e.getIn(["scheme",t,n])||e.getIn(["scheme","_defaultScheme"])||a||""},Pe=function(e,t,n){var r;return _()(r=["http","https"]).call(r,Ie(e,t,n))>-1},Ne=function(e,t){var n;t=t||[];var r=e.getIn(A()(n=["meta","paths"]).call(n,O()(t),["parameters"]),Object(I.fromJS)([])),o=!0;return E()(r).call(r,(function(e){var t=e.get("errors");t&&t.count()&&(o=!1)})),o},Me=function(e,t){var n,r,o={requestBody:!1,requestContentType:{}},a=e.getIn(A()(n=["resolvedSubtrees","paths"]).call(n,O()(t),["requestBody"]),Object(I.fromJS)([]));return a.size<1||(a.getIn(["required"])&&(o.requestBody=a.getIn(["required"])),E()(r=a.getIn(["content"]).entrySeq()).call(r,(function(e){var t=e[0];if(e[1].getIn(["schema","required"])){var n=e[1].getIn(["schema","required"]).toJS();o.requestContentType[t]=n}}))),o};function Re(e){return I.Map.isMap(e)?e:new I.Map}},function(e,t){e.exports=!0},function(e,t,n){"use strict";var r=n(362).charAt,o=n(73),a=n(230),i="String Iterator",s=o.set,u=o.getterFor(i);a(String,"String",(function(e){s(this,{type:i,string:String(e),index:0})}),(function(){var e,t=u(this),n=t.string,o=t.index;return o>=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){var r=n(232),o=n(106),a=n(39)("toStringTag"),i="Arguments"==o(function(){return arguments}());e.exports=r?o:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),a))?n:i?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return e}},function(e,t,n){e.exports=n(626)},function(e,t,n){e.exports=n(829)},function(e,t,n){"use strict";var r=n(871);e.exports=r},function(e,t,n){"use strict";n.r(t),n.d(t,"UPDATE_LAYOUT",(function(){return o})),n.d(t,"UPDATE_FILTER",(function(){return a})),n.d(t,"UPDATE_MODE",(function(){return i})),n.d(t,"SHOW",(function(){return s})),n.d(t,"updateLayout",(function(){return u})),n.d(t,"updateFilter",(function(){return c})),n.d(t,"show",(function(){return l})),n.d(t,"changeMode",(function(){return p}));var r=n(4),o="layout_update_layout",a="layout_update_filter",i="layout_update_mode",s="layout_show";function u(e){return{type:o,payload:e}}function c(e){return{type:a,payload:e}}function l(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e=Object(r.w)(e),{type:s,payload:{thing:e,shown:t}}}function p(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e=Object(r.w)(e),{type:i,payload:{thing:e,mode:t}}}},function(e,t,n){"use strict";var r=n(1054),o=n(1055);function a(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=b,t.resolve=function(e,t){return b(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?b(e,!1,!0).resolveObject(t):t},t.format=function(e){o.isString(e)&&(e=b(e));return e instanceof a?e.format():a.prototype.format.call(e)},t.Url=a;var i=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,u=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),l=["'"].concat(c),p=["%","/","?",";","#"].concat(l),f=["/","?","#"],h=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,v={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},y=n(1056);function b(e,t,n){if(e&&o.isObject(e)&&e instanceof a)return e;var r=new a;return r.parse(e,t,n),r}a.prototype.parse=function(e,t,n){if(!o.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var a=e.indexOf("?"),s=-1!==a&&a127?N+="x":N+=P[M];if(!N.match(h)){var D=T.slice(0,k),L=T.slice(k+1),B=P.match(d);B&&(D.push(B[1]),L.unshift(B[2])),L.length&&(b="/"+L.join(".")+b),this.hostname=D.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),j||(this.hostname=r.toASCII(this.hostname));var F=this.port?":"+this.port:"",U=this.hostname||"";this.host=U+F,this.href+=this.host,j&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b))}if(!v[E])for(k=0,I=l.length;k0)&&n.host.split("@"))&&(n.auth=j.shift(),n.host=n.hostname=j.shift());return n.search=e.search,n.query=e.query,o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!x.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var S=x.slice(-1)[0],A=(n.host||e.host||x.length>1)&&("."===S||".."===S)||""===S,k=0,O=x.length;O>=0;O--)"."===(S=x[O])?x.splice(O,1):".."===S?(x.splice(O,1),k++):k&&(x.splice(O,1),k--);if(!w&&!E)for(;k--;k)x.unshift("..");!w||""===x[0]||x[0]&&"/"===x[0].charAt(0)||x.unshift(""),A&&"/"!==x.join("/").substr(-1)&&x.push("");var j,T=""===x[0]||x[0]&&"/"===x[0].charAt(0);C&&(n.hostname=n.host=T?"":x.length?x.shift():"",(j=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=j.shift(),n.host=n.hostname=j.shift()));return(w=w||n.host&&x.length)&&!T&&x.unshift(""),x.length?n.pathname=x.join("/"):(n.pathname=null,n.path=null),o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},a.prototype.parseHost=function(){var e=this.host,t=s.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,n){var r=n(48),o=n(171),a=n(105),i=n(69),s=n(173),u=n(52),c=n(355),l=Object.getOwnPropertyDescriptor;t.f=r?l:function(e,t){if(e=i(e),t=s(t,!0),c)try{return l(e,t)}catch(e){}if(u(e,t))return a(!o.f.call(e,t),e[t])}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(78);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r,o=n(54),a=n(231),i=n(226),s=n(150),u=n(368),c=n(223),l=n(175),p=l("IE_PROTO"),f=function(){},h=function(e){return" + + + + +
+
+
+                  
+
+
+ + {{ end }} + + + + {{template "footer"}} + + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/css/all.min.css b/boot/assets/tv/css/all.min.css new file mode 100644 index 0000000..656a507 --- /dev/null +++ b/boot/assets/tv/css/all.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/boot/assets/tv/css/bootstrap-extended.min.css b/boot/assets/tv/css/bootstrap-extended.min.css new file mode 100644 index 0000000..50aaab8 --- /dev/null +++ b/boot/assets/tv/css/bootstrap-extended.min.css @@ -0,0 +1 @@ +.custom-select,select.form-control{-moz-appearance:none;-webkit-appearance:none}.dropdown-toggle:focus,a:focus{outline:0}.menu-list,.navbar-nav .mega-dropdown-menu ul li,.navigation-main .mega-dropdown-menu ul li{list-style:none}.breadcrumb,.card .card-title,.dropdown-header{text-transform:uppercase}.font-small-1{font-size:.7rem!important}.font-small-2{font-size:.8rem!important}.font-small-3{font-size:.9rem!important}.font-medium-1{font-size:1.1rem!important}.font-medium-2{font-size:1.2rem!important}.font-medium-3{font-size:1.3rem!important}.font-medium-4{font-size:1.4rem!important}.font-medium-5{font-size:1.5rem!important}.font-large-1{font-size:2rem!important}.font-large-2{font-size:3rem!important}.font-large-3{font-size:4rem!important}.font-large-4{font-size:5rem!important}.font-large-5{font-size:6rem!important}.text-bold-300{font-weight:300}.text-bold-400{font-weight:400}.text-bold-500{font-weight:500}.text-bold-600{font-weight:600}.text-bold-700{font-weight:700}.text-italic{font-style:italic}.text-highlight{padding:4px 6px}dl li,ol li,ul li{line-height:1.8}code{padding:.2rem .4rem;font-size:90%;color:#E83E8C;background-color:#F5F7FA;border-radius:.25rem}pre{background-color:#F7F7F9}pre code{background-color:transparent!important}.bd-example-row .row+.row{margin-top:1rem}.bd-example-row .row>.col,.bd-example-row .row>[class^=col-]{padding-top:.75rem;padding-bottom:.75rem;background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.2)}.bd-example-row .flex-items-bottom,.bd-example-row .flex-items-middle,.bd-example-row .flex-items-top{min-height:6rem;background-color:rgba(255,0,0,.1)}.bd-example-row-flex-cols .row{min-height:10rem;background-color:rgba(255,0,0,.1)}.bd-highlight{background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.15)}.example-container{width:800px;width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.example-content-main,.example-content-secondary{width:100%;padding-right:15px;padding-left:15px;position:relative}.example-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.example-content-main{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-main{-webkit-box-flex:0;-webkit-flex:0 0 66.66667%;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}}@media (min-width:576px){.example-content-secondary{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-secondary{-webkit-box-flex:0;-webkit-flex:0 0 33.33333%;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}}.table-white-space td,.table-white-space th{white-space:nowrap}.table-borderless td,.table-borderless th{border:none}.table thead th{vertical-align:bottom;border-bottom:2px solid #E3EBF3;border-top:1px solid #E3EBF3}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #E3EBF3}.table td,.table th{border-bottom:1px solid #E3EBF3;padding:.75rem 2rem}.table-inverse{color:#ECEEEF;background-color:#00A5A8}form .form-actions.filled,form.striped-rows .form-group:nth-child(even){background-color:#F5F7FA}.table.table-column td,.table.table-column th{border:none;border-left:1px solid #E3EBF3}.table.table-column td:first-child,.table.table-column th:first-child{border-left:none}.table.table-xl td,.table.table-xl th{padding:1.25rem 2rem}.table.table-lg td,.table.table-lg th{padding:.9rem 2rem}.table.table-de td,.table.table-de th{padding:.75rem 2rem}.table.table-sm td,.table.table-sm th{padding:.6rem 2rem}.table.table-xs td,.table.table-xs th{padding:.4rem 2rem}.table-borderless thead th{border-top:1px solid #E3EBF3}.table-borderless>tbody>tr>td,.table-borderless>tbody>tr>th{border:0}.table>thead>tr.border-solid>th{border-bottom-width:2px}.table>thead>tr.border-double>th{border-bottom-width:4px;border-bottom-style:double}.table>tbody>tr.border-dashed>td{border-top-style:dashed}.border-custom-color td{border-top:inherit;border-bottom:inherit}form label{color:#2E405C}form .form-group{margin-bottom:1.5rem}form .form-control{border:1px solid #CCD6E6;color:#3F587E}form .form-control::-webkit-input-placeholder{color:#B1C1D8}form .form-control:-moz-placeholder{color:#B1C1D8}form .form-control::-moz-placeholder{color:#B1C1D8}form .form-control:-ms-input-placeholder{color:#B1C1D8}form .form-section{color:#98A4B8;line-height:3rem;margin-bottom:20px;border-bottom:1px solid #98A4B8}form .form-section i{font-size:20px;margin-left:5px;margin-right:10px}form .form-actions{border-top:1px solid #D3DCE9;padding:20px 0;margin-top:20px}form .form-actions.center{text-align:center}form .form-actions.right{text-align:right}form .form-actions.top{border-top:0;border-bottom:1px solid #D3DCE9;margin-top:0;margin-bottom:20px}@media (max-width:767.98px){form .form-actions .buttons-group{float:left!important;margin-bottom:10px}}form.row-separator .form-group{margin:0;border-bottom:1px solid #EBEFF5}form.row-separator .form-group .label-control{padding-top:1.5rem}form.row-separator .form-group>div{padding:1.2rem 0 1.2rem 1.2rem}form.row-separator .form-group.last{border-bottom:0}form.form-bordered .form-group{margin:0;border-bottom:1px solid #EBEFF5}form.form-bordered .form-group .label-control{padding-top:1.5rem}form.form-bordered .form-group>div{padding:1.2rem 0 1.2rem 1.2rem;border-left:1px solid #EBEFF5}form.form-bordered .form-group.last{border-bottom:0}form.striped-rows .form-group{margin:0}form.striped-rows .form-group .label-control{padding-top:1.5rem}form.striped-rows .form-group>div{padding:1.2rem 0 1.2rem 1.2rem}form.striped-labels .form-group{margin:0}form.striped-labels .form-group .label-control{padding-top:1.5rem}form.striped-labels .form-group>div{padding:1.2rem 0 1.2rem 1.2rem;background-color:#fff}form.striped-labels .form-group:nth-child(even){background-color:#F5F7FA}form .custom-control-indicator{width:1.1rem;height:1.075rem;line-height:1.05rem;top:.2rem;left:0}form .custom-control-indicator+.custom-control-description{margin-left:1rem}select.form-control{padding-top:0!important;padding-bottom:0!important}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px)}.input-group-addon{background-color:#ECEFF1;border-color:#BABFC7}.custom-control-label::after,.custom-control-label::before{width:1.1rem;height:1.1rem}.tagging-js-tags .form-control,.tagging-methods .form-control{height:auto}.btn.btn-square{border-radius:0}.btn.btn-round{border-radius:2rem}.btn.active,.btn.focus,.btn:active,.btn:focus{outline:0;box-shadow:none!important}.btn.btn-icon i{font-size:1.1rem}.btn.btn-icon.btn-pure{background-color:transparent;border-color:transparent;box-shadow:none}.btn.btn-icon.btn-pure i{font-size:1.25rem}.btn.btn-social{padding:.7rem .25rem .85rem 3.75rem}.btn.btn-outline-white:hover{color:#404E67!important}.btn-min-width{min-width:8.5rem}.color-box{width:100%;height:2.75rem;border-radius:.25rem}.btn-float{padding:15px;white-space:normal;box-shadow:0 6px 10px rgba(0,0,0,.15)}.btn-float.btn-link{padding:10px}.btn-float i{display:block;margin:0;top:0}.btn-float.btn-float-lg i,.btn-float.btn-float-lg span{font-size:2rem}.btn-float.btn-float-lg i+span{font-size:1.1rem}.btn-float>i+span{display:block;padding-top:10px;margin-bottom:-6px}[type=reset],[type=submit],button,html [type=button]{cursor:pointer}.collapse-icon .card-header{position:relative}.collapse-icon [data-toggle=collapse]:after{position:absolute;top:48%;right:20px;margin-top:-8px;font-family:feather;content:'\e897';-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.collapse-icon [data-toggle=collapse]:before{position:absolute;top:48%;right:20px;margin-top:-8px;font-family:feather;content:'\e8b1';-webkit-transition:all .3s linear 0s;transition:all .3s linear 0s}.collapse-icon.left a{padding-left:28px}.collapse-icon.left [data-toggle=collapse]:after,.collapse-icon.left [data-toggle=collapse]:before{left:20px;right:auto}.collapse-icon [aria-expanded=true]:before,.collapse-icon [aria-expanded=false]:after{opacity:0}.collapse-icon.accordion-icon-rotate [aria-expanded=true]:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.collapse-icon.accordion-icon-rotate [aria-expanded=false]:after{-webkit-transform:rotate(-180deg);-ms-transform:rotate(-180deg);transform:rotate(-180deg)}.header-navbar .navbar-container .mega-dropdown-menu .collapse-icon [data-toggle=collapse]:after,.header-navbar .navbar-container .mega-dropdown-menu .collapse-icon [data-toggle=collapse]:before{margin-top:-14px}.dropdown .dropdown-menu{border:1px solid #E6E6E6;border-radius:0 0 .25rem .25rem;-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-transform:scale(1,0);-ms-transform:scale(1,0);transform:scale(1,0);-webkit-transition:all .2s linear;transition:all .2s linear;box-shadow:0 1px 3px rgba(0,0,0,.1)}.dropdown .dropdown-menu .dropdown-header{padding:10px 20px;margin-top:10px;text-transform:uppercase;color:#626E82}.dropdown .dropdown-menu .dropdown-item{padding:10px 40px 10px 20px;width:auto;cursor:pointer}.dropdown .dropdown-menu .dropdown-item:active{background-color:#F2F4F7!important;color:#404E67}.dropdown i,.nav-item i{margin-right:.5rem}.show>.dropdown-menu{-webkit-transform:scale(1,1);-ms-transform:scale(1,1);transform:scale(1,1);opacity:1;display:block}.dropdown-toggle::after{font-family:FontAwesome;content:'\f107'!important;border:none!important;position:relative;top:1px;right:0;padding:0 2px 0 6px;margin:0 .3em 0 0;vertical-align:0}.dropdown-toggle.nav-hide-arrow::after{display:none}.navbar-horizontal .dropdown-submenu .dropdown-toggle::after{top:-9px!important;margin-top:1.25rem;right:10px}.dropdown-menu{box-shadow:none}.dropdown-menu .dropdown-submenu{position:relative}.dropdown-menu .dropdown-submenu:hover .dropdown-menu{display:block}.dropdown-menu .dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px}.dropdown-menu .dropdown-submenu>.dropdown-menu.open-left{left:auto;right:100%}.dropdown-menu .dropdown-submenu>a:after,.dropdown-menu .dropdown-submenu>button:after{font-family:FontAwesome;content:'\f105'!important;right:5px;font-size:1.2rem;float:right;border:none;position:absolute}.dropdown-menu .arrow-left:after,.dropdown-menu .arrow-left:before,.dropdown-menu .arrow-right:after,.dropdown-menu .arrow-right:before,.dropdown-menu.arrow:after,.dropdown-menu.arrow:before{display:inline-block;width:0;height:0;content:'';position:absolute}.dropdown-menu .dropdown-submenu :hover>a:after,.dropdown-menu .dropdown-submenu :hover>button:after{border-left-color:#555}.dropdown-menu .dropdown-submenu .pull-left{float:none}.dropdown-menu .dropdown-submenu .pull-left>.dropdown-menu{left:-100%;margin-left:10px}.dropdown-header.highlight{color:#2B2D2F;text-decoration:none;background-color:#F5F5F5}.btn-secondary~.dropdown-menu .dropdown-item.active{background-color:#CCC}.btn-primary~.dropdown-menu .dropdown-item.active{background-color:#00B5B8}.btn-success~.dropdown-menu .dropdown-item.active{background-color:#16D39A}.btn-danger~.dropdown-menu .dropdown-item.active{background-color:#FF7588}.btn-info~.dropdown-menu .dropdown-item.active{background-color:#2DCEE3}.btn-warning~.dropdown-menu .dropdown-item.active{background-color:#FFA87D}.dropdown-menu.arrow{margin-top:12px}.dropdown-menu.arrow:after,.dropdown-menu.arrow:before{left:10px;border:7px solid transparent;border-top-width:0}.dropdown-menu.arrow:before{top:-7px;border-bottom-color:#B3B3B3}.dropdown-menu.arrow:after{top:-6px;border-bottom-color:#FFF}.dropdown-menu .arrow-left{margin-left:7px!important}.dropdown-menu .arrow-left:after,.dropdown-menu .arrow-left:before{top:10px;border:7px solid transparent;border-left-width:0}.dropdown-menu .arrow-left:before{left:-8px;border-right-color:#B3B3B3}.dropdown-menu .arrow-left:after{left:-7px;border-right-color:#FFF}.dropdown-menu .arrow-right{margin-right:7px!important}.dropdown-menu .arrow-right:after,.dropdown-menu .arrow-right:before{top:10px;border:7px solid transparent;border-right-width:0}.header-navbar .navbar-wrapper,.horizontal-layout .navbar-nav .mega-dropdown-menu{width:100%}.dropdown-menu .arrow-right:before{right:-7px;border-left-color:#B3B3B3}.dropdown-menu .arrow-right:after{right:-6px;border-left-color:#FFF}.dropup .dropdown-toggle::after{content:'\f106'!important}.dropup .dropdown-menu{top:auto}.dropup .dropdown-menu.arrow{margin-bottom:12px}.dropup .dropdown-menu.arrow:after,.dropup .dropdown-menu.arrow:before{top:auto;border-top-width:7px;border-bottom-width:0}.dropup .dropdown-menu.arrow:before{bottom:-8px;border-top-color:#B3B3B3}.dropup .dropdown-menu.arrow:after{bottom:-6px;border-top-color:#FFF}.dropup .dropdown-submenu .dropdown-menu{bottom:auto;top:0}.dropdown-menu-xl a,.dropdown-menu-xl button{padding-top:9px;padding-bottom:9px;font-size:1rem;line-height:1.43}.dropdown-menu-lg a,.dropdown-menu-lg button{padding-top:6px;padding-bottom:6px}.dropdown-menu-sm a,.dropdown-menu-sm button{padding-top:5px;padding-bottom:5px;font-size:.86rem;line-height:1.67}.navbar-dark .navbar-nav li,.navbar-light .navbar-nav li,.navbar-semi-dark .navbar-nav li,.navbar-semi-light .navbar-nav li{line-height:1}.dropdown-item.buttons-columnVisibility.active{color:#000}.navbar-dark .hamburger-inner,.navbar-dark .hamburger-inner::after,.navbar-dark .hamburger-inner::before{background-color:#FFF}.header-navbar{padding:0;min-height:4rem;font-family:Montserrat,Georgia,'Times New Roman',Times,serif;-webkit-transition:.3s ease all;transition:.3s ease all}.header-navbar.navbar-border{border-bottom:1px solid #E4E7ED}.header-navbar.navbar-dark.navbar-border{border-bottom:1px solid #8596B5}.header-navbar.navbar-semi-dark.navbar-border{border-bottom:none}.header-navbar.navbar-shadow{box-shadow:2px 4px 20px -4px rgba(0,0,0,.1)}.header-navbar.navbar-without-dd-arrow .nav-link.dropdown-toggle::after{display:none}.header-navbar.navbar-brand-center .navbar-header{width:150px;position:absolute;left:50%;top:0;padding:0;margin:0;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0);z-index:999}.header-navbar .navbar-container ul.nav li a.dropdown-user-link .avatar,.header-navbar .navbar-container ul.nav li>a.nav-link i.flag-icon{margin-right:.5rem}.header-navbar.navbar-static-top{z-index:1038}.header-navbar .navbar-header{width:240px;height:4rem;float:left;position:relative;padding:0 1rem;-webkit-transition:.3s ease all;transition:.3s ease all}.header-navbar .navbar-header .navbar-brand{padding:15px 0}.header-navbar .navbar-header .navbar-brand .brand-logo{vertical-align:sub}.header-navbar .navbar-header .navbar-brand .brand-text{display:inline;padding-left:10px;font-weight:500;letter-spacing:1px}.header-navbar .navbar-container{padding:0 18px;-webkit-transition:.3s ease all;transition:.3s ease all;background:inherit}.header-navbar .navbar-container ul.nav li>a.nav-link{padding:1.4rem .6rem}.header-navbar .navbar-container ul.nav li a.dropdown-user-link{padding:.8rem .6rem}.header-navbar .navbar-container ul.nav li a.dropdown-user-link .user-name{display:inline-block;margin-bottom:.4rem;margin-left:.2rem}.header-navbar .navbar-container ul.nav li a.menu-toggle{padding:1.1rem .8rem 1rem 1rem}.header-navbar .navbar-container ul.nav li a.menu-toggle i{font-size:1.6rem}.header-navbar .navbar-container ul.nav li a.nav-link-label{padding:1.4rem 0 1rem .8rem}.header-navbar .navbar-container ul.nav li a.dropdown-user-link .avatar i{right:-10px}.header-navbar .navbar-container ul.nav li a.nav-link-expand,.header-navbar .navbar-container ul.nav li a.nav-link-search{padding:1.4rem 1rem 1.3rem}.header-navbar .navbar-container ul.nav li div.input-group{padding:.7rem 1rem}.header-navbar .navbar-container ul.nav li i.ficon{font-size:1.2rem}.header-navbar .navbar-container ul.nav li .media-list{max-height:18.2rem}.header-navbar .navbar-container ul.nav li .scrollable-container{position:relative}.header-navbar .navbar-container .dropdown-menu-media{width:24rem}.header-navbar .navbar-container .dropdown-menu-media .media-list .media{padding:1rem;border:none;border-bottom:1px solid #E6E6E6}.header-navbar .navbar-container .dropdown-menu-media .dropdown-menu-header{border-bottom:1px solid #E6E6E6}.header-navbar .navbar-container .dropdown-menu-media .dropdown-menu-footer a{padding:.3rem;border-top:1px solid #E6E6E6}.header-navbar .nav-item+.nav-item,.header-navbar.navbar-without-menu .navbar-container{margin-left:0}@media (max-width:767.98px){.header-navbar .navbar-header{width:100%!important;padding:.5rem 1rem;position:relative}.header-navbar .navbar-header .menu-toggle{top:2px;position:relative}.header-navbar .navbar-header .open-navbar-container i{font-size:1.8rem}.header-navbar .navbar-header .navbar-brand{position:absolute;left:50%;top:0;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}.header-navbar.navbar-with-menu .navbar-container{width:100%;display:table;background:#FFF;padding:0 1rem;margin:0;height:auto}}@media (max-width:991.98px){[data-menu=vertical-menu-modern] .header-navbar .navbar-header{width:100%!important;padding:.5rem 1rem;position:relative}[data-menu=vertical-menu-modern] .header-navbar .navbar-header .menu-toggle{top:2px;position:relative}[data-menu=vertical-menu-modern] .header-navbar .navbar-header .open-navbar-container i{font-size:1.8rem}[data-menu=vertical-menu-modern] .header-navbar .navbar-header .navbar-brand{position:absolute;left:50%;top:0;-webkit-transform:translate(-50%,0);-ms-transform:translate(-50%,0);transform:translate(-50%,0)}[data-menu=vertical-menu-modern] .header-navbar.navbar-with-menu .navbar-container{width:100%;display:table;background:#FFF;padding:0 1rem;margin:0;height:auto}[data-menu=vertical-menu-modern] .navbar-dark .navbar-header .navbar-nav .nav-link,[data-menu=vertical-menu-modern] .navbar-semi-dark .navbar-header .navbar-nav .nav-link{color:#FFF}[data-menu=vertical-menu-modern] .navbar-dark .navbar-container .navbar-nav .nav-link,[data-menu=vertical-menu-modern] .navbar-light .navbar-header .navbar-nav .nav-link,[data-menu=vertical-menu-modern] .navbar-semi-dark .navbar-container .navbar-nav .nav-link{color:#404E67}}.navbar-light,.navbar-light.navbar-horizontal{background:#FFF}.navbar-light .navbar-nav .active.nav-link{background-color:rgba(0,0,0,.03)}.navbar-dark,.navbar-dark.navbar-horizontal{background:#404E67}.navbar-light .navbar-nav .disabled.nav-link{color:#404E67}.navbar-dark .navbar-brand{color:#FFF!important}.navbar-dark .nav-search .btn-secondary,.navbar-dark .nav-search .form-control{color:#FFF;background:#404E67}.navbar-dark .navbar-nav .active.nav-link{background-color:rgba(255,255,255,.05)}.navbar-dark .navbar-nav .disabled.nav-link{color:#98A4B8}.navbar-semi-dark{background:#FFF}.navbar-semi-dark .navbar-header{background:#404E67}.navbar-semi-dark .navbar-header .brand-text{color:#FFF}.navbar-semi-dark .navbar-nav .disabled.nav-link,.navbar-semi-dark .navbar-nav .nav-link,.navbar-semi-light .navbar-header .brand-text{color:#404E67}.navbar-semi-dark .navbar-nav .active.nav-link{background-color:rgba(0,0,0,.03)}.navbar-semi-light{background:#404E67}.navbar-semi-light .navbar-header{background:#FFF}.navbar-semi-light .navbar-nav .nav-link{color:#FFF}.navbar-semi-light .navbar-nav .active.nav-link{background-color:rgba(0,0,0,.03)}.navbar-semi-light .navbar-nav .disabled.nav-link{color:#404E67}.header-navbar .navbar-wrapper .navbar-container .badge-up{position:relative;top:-13px;left:-14px}.mega-dropdown{position:static!important}.mega-dropdown.show .dropdown-menu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.bg-mega{background:-webkit-linear-gradient(left,#00B5B8,#16D39A);background:linear-gradient(to right,#00B5B8,#16D39A);border-radius:.5rem}.navbar-nav .mega-dropdown-menu,.navigation-main .mega-dropdown-menu{font-family:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;width:calc(100% - 50px);padding:.5rem 0;margin:0 25px;box-shadow:none;box-shadow:0 1px 3px rgba(0,0,0,.1);z-index:9999}.navbar-nav .mega-dropdown-menu ul,.navigation-main .mega-dropdown-menu ul{padding:0;margin:0}.navbar-nav .mega-dropdown-menu ul li a,.navigation-main .mega-dropdown-menu ul li a{display:block;color:#1B2942}.navbar-nav .mega-dropdown-menu ul li a .children-in,.navigation-main .mega-dropdown-menu ul li a .children-in{float:right}.navbar-nav .mega-dropdown-menu ul li a:hover,.navigation-main .mega-dropdown-menu ul li a:hover{text-decoration:none;color:#00B5B8}.navbar-nav .mega-dropdown-menu ul li a:focus,.navigation-main .mega-dropdown-menu ul li a:focus{text-decoration:none;color:#404E67}.navbar-nav .mega-dropdown-menu ul a.dropdown-item,.navigation-main .mega-dropdown-menu ul a.dropdown-item{padding:10px}.navbar-nav .mega-dropdown-menu p.accordion-text,.navigation-main .mega-dropdown-menu p.accordion-text{line-height:1.45}.navbar-nav .mega-dropdown-menu .dropdown-menu-header,.navigation-main .mega-dropdown-menu .dropdown-menu-header{padding:.5rem 0;border-bottom:1px solid #E6E6E6}.horizontal-top-icon-menu .mega-dropdown-menu{margin:0 25px!important}@media (min-width:576px){form.form-horizontal .form-group .label-control{text-align:right}.container .mega-dropdown-menu{max-width:540px;margin:0 calc((100% - 540px)/ 2)}}@media (min-width:768px){.container .mega-dropdown-menu{max-width:720px;margin:0 calc((100% - 720px)/ 2)}}@media (min-width:992px){.container .mega-dropdown-menu{max-width:960px;margin:0 calc((100% - 960px)/ 2)}}@media (min-width:1200px){.container .mega-dropdown-menu{max-width:1140px;margin:0 calc((100% - 1140px)/ 2)}}@media (min-width:1400px){.container .mega-dropdown-menu{max-width:1340px;margin:0 calc((100% - 1340px)/ 2)}}@-moz-document url-prefix(){ul li a .children-in{position:relative;right:3px;top:-14px}}.menu-list{padding:0;overflow:hidden}.menu-panel{padding:0}.sliding-menu{overflow:hidden;position:relative}.sliding-menu ul{float:left;margin:0;padding:0}.sliding-menu ul li{list-style:none;margin:0}.navbar-menu-icon{width:24px;margin:16px 2px!important;position:relative;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition:.5s ease-in-out;transition:.5s ease-in-out;cursor:pointer}.navbar-menu-icon span{display:block;position:absolute;height:2px;width:100%;background:#404E67;border-radius:9px;opacity:1;left:0;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}.navbar-menu-icon span:nth-child(1){top:0}.navbar-menu-icon span:nth-child(2){top:10px}.navbar-menu-icon span:nth-child(3){top:20px}.navbar-menu-icon.show span:nth-child(1){top:10px;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.navbar-menu-icon.show span:nth-child(2){opacity:0;left:-60px}.navbar-menu-icon.show span:nth-child(3){top:10px;-webkit-transform:rotate(-135deg);-ms-transform:rotate(-135deg);transform:rotate(-135deg)}@media (max-width:767.98px){.header-navbar .navbar-container ul.nav li.nav-item i,.header-navbar .navbar-container ul.nav li>a.nav-link i.flag-icon{margin-right:.2rem}.header-navbar .navbar-nav .show{position:static}.header-navbar .navbar-nav .open-navbar-container{padding-top:.625rem}.header-navbar .navbar-container .show .dropdown-menu{right:0;left:0!important;float:none;width:auto;margin-top:0;max-height:400px;overflow-x:hidden;overflow-y:scroll}.header-navbar .navbar-container ul.nav li>a.nav-link{padding:1.2rem .4rem}.header-navbar .navbar-container ul.nav li a.dropdown-user-link{padding:.9rem .6rem}.header-navbar .navbar-container ul.nav li a.nav-link-label{padding:1.4rem 0 1rem .8rem}.header-navbar .navbar-container ul.nav li a.nav-link-expand,.header-navbar .navbar-container ul.nav li a.nav-link-search{padding:1.4rem 1rem 1rem}.header-navbar .navbar-container ul.nav li .dropdown-toggle::after{margin-right:0;margin-left:-2px}.navbar-dark .hamburger-inner,.navbar-dark .hamburger-inner::after,.navbar-dark .hamburger-inner::before,.navbar-semi-dark .hamburger-inner,.navbar-semi-dark .hamburger-inner::after,.navbar-semi-dark .hamburger-inner::before{background-color:#FFF}.navbar-dark .navbar-header .navbar-nav .nav-link,.navbar-semi-dark .navbar-header .navbar-nav .nav-link{color:#FFF}.navbar-dark .navbar-container .navbar-nav .nav-link,.navbar-light .navbar-container .navbar-nav .nav-link,.navbar-light .navbar-header .navbar-nav .nav-link,.navbar-semi-dark .navbar-container .navbar-nav .nav-link,.navbar-semi-light .navbar-container .navbar-nav .nav-link,.navbar-semi-light .navbar-header .navbar-nav .nav-link{color:#404E67}}.headroom{will-change:transform;-webkit-transition:-webkit-transform .2s linear;transition:-webkit-transform .2s linear;transition:transform .2s linear;transition:transform .2s linear,-webkit-transform .2s linear}.headroom--pinned-top{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.headroom--unpinned-top{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.headroom--pinned-bottom{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.headroom--unpinned-bottom{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}@media (max-width:1199.98px){.header-navbar .navbar-container ul.nav li .selected-language,.header-navbar .navbar-container ul.nav li a.dropdown-user-link .user-name{display:none}.header-navbar .navbar-container ul.nav li>a.nav-link{padding:1.3rem .4rem 1.1rem}.header-navbar .navbar-container ul.nav li>a.nav-link i.flag-icon{margin-right:.2rem}.header-navbar .navbar-container ul.nav li a.dropdown-user-link{padding:.85rem .6rem}.header-navbar .navbar-container ul.nav li a.nav-link-label{padding:1.2rem 0 1rem .8rem}.header-navbar .navbar-container ul.nav li a.nav-link-expand,.header-navbar .navbar-container ul.nav li a.nav-link-search{padding:1.5rem 1rem 1rem}.header-navbar .navbar-container ul.nav li .dropdown-toggle::after{margin-right:0;margin-left:-2px}}@media (max-width:767px){#navbar-mobile.navbar-collapse .navbar-nav{margin:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}#navbar-mobile.navbar-collapse .navbar-nav .dropdown-menu{position:absolute}#navbar-mobile.navbar-collapse .navbar-nav .nav-item{float:left}}@media (max-width:991.98px){#navbar-mobile.navbar-collapse .navbar-nav{margin:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}#navbar-mobile.navbar-collapse .navbar-nav .dropdown-menu{position:absolute}#navbar-mobile.navbar-collapse .navbar-nav .nav-item{float:left}}@media only screen and (min-device-width:26.78em) and (max-device-width:47.64em) and (-webkit-min-device-pixel-ratio:2) and (orientation:landscape){.header-navbar .navbar-container .show .dropdown-menu{max-height:180px}}@media only screen and (min-device-width:29.57em) and (max-device-width:52.57em) and (-webkit-min-device-pixel-ratio:3) and (orientation:landscape){.header-navbar .navbar-container .show .dropdown-menu{max-height:280px}}.card-deck,.card-group{margin-bottom:.75rem}.card{margin-bottom:1.875rem;border:none;border-radius:0;box-shadow:0 10px 40px 0 rgba(62,57,107,.07),0 2px 9px 0 rgba(62,57,107,.06)}.card .card{box-shadow:none!important}.card .card-title{font-weight:500;letter-spacing:.05rem;font-size:1.12rem}.card .card-bordered{border:1px solid rgba(0,0,0,.06)}.card.card-fullscreen{display:block;z-index:9999;position:fixed;width:100%!important;height:100%!important;top:0;right:0;left:0;bottom:0;overflow:auto}.card .card-body[class*=border-bottom-]{border-bottom-width:2px!important}.card .card-img-overlay.bg-overlay{background:rgba(0,0,0,.45)}.card .card-img-overlay .text-muted{color:#1B2942!important}.card.card-minimal{border:none;box-shadow:none}.card .card-collapse-border{border-bottom:1px solid #98A4B8}.card .knob-center-icon{font-family:Simple-Line-Icons!important}.card-moved .card,.card-moved .card-header{background-color:#FFA87D;color:#FFF}.handle,.titleArea{cursor:move}.accordion .card-header,.default-collapse .card-header,a:hover{cursor:pointer}.card-header{border-bottom:none}.card-header .card-title{margin-bottom:0}.card-header .heading-elements,.card-header .heading-elements-toggle{background-color:inherit;position:absolute;top:20px;right:21px}.card-header .heading-elements-toggle.heading-top-elements .page-item,.card-header .heading-elements.heading-top-elements .page-item{display:inline-block}.card-header .heading-elements a,.card-header .heading-elements-toggle a{padding:0 8px}.card-header .heading-elements a.btn,.card-header .heading-elements-toggle a.btn{padding-top:6px;padding-bottom:6px}.card-footer{border-top:1px solid #EEE}.text-white .card-text{color:#fff}.text-white .card-img-overlay .text-muted{color:#FFF!important}.badge,.badge[class*=badge-] a,.card-head-inverse,.card-head-inverse .heading-elements i,.text-white .heading-elements i{color:#FFF}.text-white code{background-color:#fff}.breadcrumb,.card-transparent{background-color:transparent}@media (max-width:991.98px){.heading-elements{text-align:center}.heading-elements .list-inline{display:none}.heading-elements.visible{display:block;margin-top:0;top:100%;top:50px;height:auto;left:0;padding:10px;border:1px solid #EEE;z-index:997;position:absolute;width:100%}.heading-elements.visible .list-inline{display:block}}@media (min-width:992px){.heading-elements-toggle{display:none}}.breadcrumb{font-size:.9rem;font-family:Montserrat,Georgia,'Times New Roman',Times,serif;padding:0 0 .75rem}.breadcrumb>li+li::before{padding-right:.6rem;padding-left:.6rem}.breadcrumbs-right .breadcrumb{float:right}.nav.nav-pills.nav-justified .nav-item,.nav.nav-tabs.nav-justified .nav-item{float:none}.breadcrumbs-top .breadcrumb{margin:0;padding:0}.badge{font-weight:400;background-color:#00B5B8}.badge[class*=badge-] [class*=icon-]{line-height:1}.badge[class*=badge-] [class*=icon-]~span,.badge[class*=badge-] span{position:relative;bottom:2px;padding:0 5px}.badge[class*=badge-] .dropdown-toggle::after,.badge[class*=badge-].dropdown-toggle::after{position:relative;font-size:1rem}.badge[class*=badge-] .dropdown-menu a{color:#555}.badge.badge-square{border-radius:0}.badge.badge.float-right{margin-left:.5rem;margin-top:.15rem}.badge-xl{font-size:1.8rem}.badge-lg{font-size:1.2rem}.badge-md{font-size:1rem}.badge-sm{font-size:.8rem}.badge-secondary{background-color:#404E67}.badge-secondary.badge-glow{box-shadow:0 0 10px #404E67}.badge-secondary[href]:focus,.badge-secondary[href]:hover{background-color:#2C3648}.badge-primary{background-color:#00B5B8}.badge-primary.badge-glow{box-shadow:0 0 10px #00B5B8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#008385}.badge-success{background-color:#16D39A}.badge-success.badge-glow{box-shadow:0 0 10px #16D39A}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#11A578}.badge-info{background-color:#2DCEE3}.badge-info.badge-glow{box-shadow:0 0 10px #2DCEE3}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#1AB0C3}.badge-warning{background-color:#FFA87D}.badge-warning.badge-glow{box-shadow:0 0 10px #FFA87D}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#FF864A}.badge-danger{background-color:#FF7588}.badge-danger.badge-glow{box-shadow:0 0 10px #FF7588}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#FF425C}.badge-up{position:relative;top:-13px;right:14px}.badge-icon i{font-size:100%;margin-right:5px}.form-control+.block-tag{display:block}.block-tag{margin-top:.5rem}.block-area{padding:.24rem .3rem}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905;font-size:100%;font-weight:400;padding:0}.nav{border-radius:.25rem}.nav.wrap-border{border:1px solid #DDD}.nav.wrap-border li.nav-header{margin:0 1.5rem}.nav.wrap-border div,.nav.wrap-border li.nav-item{padding:2px 10px}.nav.no-hover-bg .nav-item:hover{background-color:transparent}.nav .dropdown .dropdown-item.active,.nav .dropdown .dropdown-item.active:focus{background-color:transparent;color:#55595C}.nav.square-border,.nav.square-border .nav-item .nav-link.active{border-radius:0}.nav .nav-item i{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.nav .dropdown-divider{border-top:1px solid #E0E2E8}.nav .modern-nav-toggle{padding:20px 0}.nav.nav-pills .nav-item .nav-link i.float-right:before{position:relative;top:7px;left:7px}.nav.nav-pills .nav-item .nav-link .badge.float-right{position:relative;top:1px;left:3px}.nav.nav-pills .nav-item .nav-link.dropdown-toggle::after{top:-1px}.nav.nav-pills.nav-justified{width:100%}.nav.nav-pills.nav-justified .nav-link{text-align:center;margin-bottom:5px}.nav.nav-pills.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:576px){.nav.nav-pills.nav-justified .nav-item{display:table;width:1%}.nav.nav-pills.nav-justified .nav-link{margin-bottom:0}.nav.nav-pills.nav-justified .nav-link.active,.nav.nav-pills.nav-justified .nav-link.active:focus,.nav.nav-pills.nav-justified .nav-link.active:hover{border-bottom-color:transparent}}.nav.nav-pills.nav-justified .nav-link{margin-right:0;border-radius:.25rem;display:block}.nav.nav-pills.nav-justified .nav-link.active,.nav.nav-pills.nav-justified .nav-link.active:focus,.nav.nav-pills.nav-justified .nav-link.active:hover{border:none}.nav.nav-pills.nav-pill-bordered .nav-item{border:1px solid #D3D3D3;border-radius:.25rem}.nav.nav-pills.nav-pill-with-active-bordered .nav-item a.nav-link{border:1px solid #D3D3D3;border-radius:.25rem;background-color:#FFF;color:#55595C}.nav.nav-pills.nav-pill-with-active-bordered .nav-item a.nav-link.active{border:1px solid #00B5B8;color:#00B5B8}.nav.nav-pills.nav-active-bordered-pill .nav-item a.nav-link{color:#55595C}.nav.nav-pills.nav-active-bordered-pill .nav-item a.nav-link.active{border:1px solid #00B5B8;border-radius:.25rem;color:#00B5B8;background-color:#FFF}.nav.nav-pills.nav-pill-toolbar.nav-stacked .nav-item~.nav-item a.nav-link{border-left:1px solid #D3D3D3;border-top:0}.nav.nav-pills.nav-pill-toolbar.nav-stacked .nav-item:first-child a.nav-link{border-radius:.25rem .25rem 0 0}.nav.nav-pills.nav-pill-toolbar.nav-stacked .nav-item:last-child a.nav-link{border-radius:0 0 .25rem .25rem}.nav.nav-pills.nav-pill-toolbar .nav-item{margin-top:0;margin-left:0}.nav.nav-tabs.nav-linetriangle .nav-item a.nav-link.dropdown-toggle:after,.nav.nav-tabs.nav-underline .nav-item a.nav-link.dropdown-toggle::after{margin-top:-1rem}.nav.nav-pills.nav-pill-toolbar .nav-item a.nav-link{border:1px solid #D3D3D3;border-radius:0}.nav.nav-tabs .nav-item .nav-link{padding:.5rem .7rem;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.nav.nav-tabs .nav-item .nav-link:hover:not(.active){border-color:transparent}.nav.nav-tabs .nav-item .nav-link.active{background-color:#FFF;border-radius:.25rem .25rem 0 0}.nav.nav-tabs .nav-item .nav-link i.float-right{margin-left:.5rem}.nav.nav-tabs .nav-item .nav-link.dropdown-toggle::after{top:-1px}.nav.nav-tabs .nav-item:hover{color:#333}.nav.nav-tabs.wrap-border{border:1px solid #DDD}.nav.nav-tabs.no-hover-bg .nav-item:hover{background-color:transparent}.nav.nav-tabs .dropdown .dropdown-item.active,.nav.nav-tabs .dropdown .dropdown-item.active:focus{background-color:transparent;color:#55595C}.nav.nav-tabs.square-border,.nav.nav-tabs.square-border .nav-item .nav-link.active{border-radius:0}.nav.nav-tabs.nav-justified{width:100%}.nav.nav-tabs.nav-justified .nav-link{text-align:center;margin-bottom:5px;margin-right:0;border-radius:.25rem}.nav.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:576px){.nav.nav-tabs.nav-justified .nav-item{display:table;width:1%}.nav.nav-tabs.nav-justified .nav-link{margin-bottom:0}.nav.nav-tabs.nav-justified .nav-link.active,.nav.nav-tabs.nav-justified .nav-link.active:focus,.nav.nav-tabs.nav-justified .nav-link.active:hover{border-bottom-color:transparent}}.nav.nav-tabs.nav-justified .nav-item a.nav-link{display:block}.nav.nav-tabs.nav-justified .nav-item a.nav-link .active{background-color:#FFF}.nav.nav-tabs.nav-top-border .nav-item a{color:#16D39A}.nav.nav-tabs.nav-top-border .nav-item a.nav-link.active{border-top:3px solid #16D39A;border-top-left-radius:0;border-top-right-radius:0;color:#555}.nav.nav-tabs.nav-top-border .nav-item a:hover{color:#084835}.nav.nav-tabs.nav-top-border .nav-item a:hover:not(.active){border-color:transparent}.nav.nav-tabs.nav-topline{border-bottom:none}.nav.nav-tabs.nav-topline .nav-item:hover{background-color:transparent}.nav.nav-tabs.nav-topline .nav-item:not(:last-child){border-right:none}.nav.nav-tabs.nav-topline .nav-item a{border:1px solid rgba(40,44,42,.1);border-bottom:none}.nav.nav-tabs.nav-topline .nav-item a.nav-link{padding:.8rem .5rem;background:rgba(40,44,42,.05);color:#74777B;line-height:1;-webkit-transition:color .2s;transition:color .2s}.nav.nav-tabs.nav-topline .nav-item a.nav-link.active{background:0 0;box-shadow:inset 0 3px 0 #FF7588;color:#FF7588;border-radius:0;border-top-color:#FF7588;border-bottom:none}.nav.nav-tabs.nav-topline .nav-item a.nav-link:focus,.nav.nav-tabs.nav-topline .nav-item a.nav-link:hover{color:#FF7588}.nav.nav-tabs.nav-topline .nav-item a.nav-link.dropdown-toggle::after{top:-1px}.nav.nav-tabs.nav-underline{background:#FFF;position:relative;border-bottom:1px solid #2DCEE3}.nav.nav-tabs.nav-underline .nav-item{position:relative;z-index:1;display:block;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;-webkit-box-flex:1;flex:1;margin-left:0}.nav.nav-tabs.nav-underline .nav-item.open a .nav-link{background-color:transparent}.nav.nav-tabs.nav-underline .nav-item.open a .nav-link:focus,.nav.nav-tabs.nav-underline .nav-item.open a .nav-link:hover{background-color:transparent;color:#2DCEE3}.nav.nav-tabs.nav-underline .nav-item a.nav-link{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:2.5;padding:.5rem 1rem;-webkit-transition:color .2s;transition:color .2s;color:#2DCEE3;border:none}.nav.nav-tabs.nav-underline .nav-item a.nav-link.active{border:none;background-color:transparent}.nav.nav-tabs.nav-underline .nav-item a.nav-link.active:focus,.nav.nav-tabs.nav-underline .nav-item a.nav-link.active:hover{color:#55595C;background-color:transparent}.nav.nav-tabs.nav-underline .nav-item a.nav-link.active:before{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.nav.nav-tabs.nav-underline .nav-item a.nav-link:focus,.nav.nav-tabs.nav-underline .nav-item a.nav-link:hover{color:#2DCEE3}.nav.nav-tabs.nav-underline .nav-item a.nav-link:before{position:absolute;bottom:-1px;left:0;width:100%;height:4px;background:#2DCEE3;content:'';-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:translate3d(0,150%,0);transform:translate3d(0,150%,0)}.nav.nav-tabs.nav-linetriangle{border-bottom-color:#FFA87D}.nav.nav-tabs.nav-linetriangle .nav-item{position:relative;z-index:1;display:block;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;-webkit-box-flex:1;flex:1}.nav.nav-tabs.nav-linetriangle .nav-item a.nav-link{position:relative;display:block;overflow:visible;text-overflow:ellipsis;white-space:nowrap;line-height:2.5;border:none;color:#55595C}.nav.nav-tabs.nav-linetriangle .nav-item a.nav-link.active{border-bottom:1px solid #FFA87D;border-bottom-color:#FFA87D!important;color:#FFA87D}.nav.nav-tabs.nav-linetriangle .nav-item a.nav-link.active:after,.nav.nav-tabs.nav-linetriangle .nav-item a.nav-link.active:before{position:absolute;top:100%;left:50%;width:0;height:0;border:solid transparent;content:'';pointer-events:none}.nav.nav-tabs.nav-linetriangle .nav-item a.nav-link.active:before{margin-left:-11px;border-width:12px;border-top-color:#FFA87D}.nav.nav-tabs.nav-linetriangle .nav-item a.nav-link.active:after{margin-left:-10px;border-width:10px;border-top-color:#FFF}.nav.nav-tabs.nav-linetriangle .nav-item a.nav-link.active:focus{color:#FFA87D}.nav.nav-tabs.nav-linetriangle .nav-item a.nav-link.dropdown-toggle.active:after{margin-top:0}.nav.nav-tabs.nav-linetriangle.nav-justified{border-bottom:1px solid rgba(0,0,0,.1);border-bottom-color:#FFA87D}.nav.nav-tabs.nav-linetriangle.nav-justified .nav-item a.nav-link.active{top:0}.nav.nav-tabs.nav-iconfall{overflow:visible;border-bottom:none}.nav.nav-tabs.nav-iconfall .nav-item{position:relative;z-index:1;display:block;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;-webkit-box-flex:1;flex:1;margin:.5rem .7rem 0}.nav.nav-tabs.nav-iconfall .nav-item:focus,.nav.nav-tabs.nav-iconfall .nav-item:hover{background-color:transparent}.nav.nav-tabs.nav-iconfall .nav-item a.nav-link{display:inline-block;padding:1em 0 2em;color:#74777B;position:relative;line-height:2.5;width:100%;border:none;-webkit-transition:color .3s cubic-bezier(.7,0,.3,1);transition:color .3s cubic-bezier(.7,0,.3,1)}.nav.nav-tabs.nav-iconfall .nav-item a:focus,.nav.nav-tabs.nav-iconfall .nav-item a:hover{color:#2CC185;border:none}.nav.nav-tabs.nav-iconfall .nav-item a.active{color:#2CC185;border:none;background-color:transparent}.nav.nav-tabs.nav-iconfall .nav-item a.active i:after{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.nav.nav-tabs.nav-iconfall .nav-item a.active i:before{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.nav.nav-tabs.nav-iconfall .nav-item a i{display:block;margin-right:0}.nav.nav-tabs.nav-iconfall .nav-item a i:after{position:absolute;bottom:1em;left:50%;margin-left:-20px;width:40px;height:4px;background:#2CC185;content:'';opacity:0;-webkit-transition:-webkit-transform .2s ease-in;transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in;-webkit-transform:scale3d(0,1,1);transform:scale3d(0,1,1)}.nav.nav-tabs.nav-iconfall .nav-item a i:before{display:block;margin:0 0 .35em;opacity:0;-webkit-transition:-webkit-transform .2s,opacity .2s;-webkit-transition:opacity .2s,-webkit-transform .2s;transition:opacity .2s,-webkit-transform .2s;transition:transform .2s,opacity .2s;transition:transform .2s,opacity .2s,-webkit-transform .2s;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0);pointer-events:none}.nav.nav-tabs.nav-iconfall .nav-item a.dropdown-toggle:after{margin-top:-1rem}.nav .nav-item .nav-link{display:block}.nav .dropdown-divider{margin:.5rem 0}@media (min-width:576px){.nav.nav-tabs.nav-iconfall.nav-justified .nav-item,.nav.nav-tabs.nav-linetriangle.nav-justified .nav-item,.nav.nav-tabs.nav-underline.nav-justified .nav-item{display:table-cell!important}}.nav-vertical{overflow:hidden}.nav-vertical .nav-left.nav-tabs{float:left;border-bottom:0;border-radius:0;display:table}.nav-vertical .nav-left.nav-tabs li.nav-item{float:none;margin:0 -1px 0 0}.nav-vertical .nav-left.nav-tabs li.nav-item a.nav-link{min-width:6.5rem;border-right:1px solid #DDD}.nav-vertical .nav-left.nav-tabs li.nav-item a.nav-link.active{border:1px solid #DDD;border-right:0;border-radius:.25rem 0 0 .25rem}.nav-vertical .nav-left.nav-tabs li.nav-item a.nav-link:hover:not(.active){border-color:transparent;border-right:1px solid #DDD}.nav-vertical .nav-left.nav-tabs.nav-border-left li.nav-item a.nav-link{color:#FF7588}.nav-vertical .nav-left.nav-tabs.nav-border-left li.nav-item a.nav-link.active{border-left:3px solid #FF7588;border-top-right-radius:0;border-bottom-right-radius:0;color:#555}.nav-vertical .nav-left~.tab-content{margin-left:45px}.nav-vertical .nav-left~.tab-content .tab-pane{display:none;background-color:#FFF;padding:0 0 .6rem 1rem;overflow-y:auto}.nav-vertical .nav-left~.tab-content .tab-pane.active{display:block}.nav-vertical .nav-right.nav-tabs{float:right;border-bottom:0;border-radius:0;display:table}.nav-vertical .nav-right.nav-tabs li.nav-item{float:none;margin:0 0 0 -1px}.nav-vertical .nav-right.nav-tabs li.nav-item a.nav-link{min-width:6.5rem;border-left:1px solid #DDD}.nav-vertical .nav-right.nav-tabs li.nav-item a.nav-link.active{border:1px solid #DDD;border-left:0;border-radius:0 .25rem .25rem 0}.nav-vertical .nav-right.nav-tabs li.nav-item a.nav-link:hover:not(.active){border-color:transparent;border-left:1px solid #DDD}.nav-vertical .nav-right.nav-tabs.nav-border-right li.nav-item a.nav-link{color:#FF7588}.nav-vertical .nav-right.nav-tabs.nav-border-right li.nav-item a.nav-link.active{border-right:3px solid #FF7588;border-top-left-radius:0;border-bottom-left-radius:0;color:#555}.nav-vertical .nav-right~.tab-content .tab-pane{display:none;background-color:#FFF;padding:0 0 .6rem 1rem;overflow-y:auto}.nav-vertical .nav-right~.tab-content .tab-pane.active{display:block}.nav.nav-tabs.nav-only-icon .nav-item .nav-link{font-size:1.25rem}.nav.nav-tabs.nav-only-icon .nav-item .nav-link i{margin-left:.5rem}.nav.nav-tabs .nav-item.show .nav-link,.nav.nav-tabs .nav-item.show .nav-link:focus{background-color:transparent}.alert{position:relative}.alert .alert-link:hover{text-decoration:underline}.alert.alert-icon-left{border-left-width:4rem}.alert.alert-icon-right{border-right-width:4rem}.alert.alert-icon-left[class*=bg-]{border-left-color:rgba(0,0,0,.15)!important}.alert.alert-icon-right[class*=bg-]{border-right-color:rgba(0,0,0,.15)!important}.alert[class*=alert-icon-]:after{content:'\f006';font-family:FontAwesome;color:#FFF;width:4rem;left:-4rem;text-align:center;position:absolute;top:50%;margin-top:-8px;font-size:1.25rem;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.alert .close{font-size:2rem;line-height:1rem}.alert[class*=bg-],.alert[class*=bg-] .alert-link{color:#FFF}.alert[class*=bg-] .close{color:#FFF;opacity:1;text-shadow:none}.alert[class*=alert-icon-].alert-primary:after,.alert[class*=alert-icon-][class*=alert-primary]:after,.alert[class*=alert-icon-][class*=bg-primary]:after{content:'\f08a'}.alert[class*=alert-icon-].alert-danger:after,.alert[class*=alert-icon-][class*=alert-danger]:after,.alert[class*=alert-icon-][class*=bg-danger]:after{content:'\f088'}.alert[class*=alert-icon-].alert-success:after,.alert[class*=alert-icon-][class*=alert-success]:after,.alert[class*=alert-icon-][class*=bg-success]:after{content:'\f087'}.alert[class*=alert-icon-].alert-warning:after,.alert[class*=alert-icon-][class*=alert-warning]:after,.alert[class*=alert-icon-][class*=bg-warning]:after{content:'\f071'}.alert[class*=alert-icon-].alert-info:after,.alert[class*=alert-icon-][class*=alert-info]:after,.alert[class*=alert-icon-][class*=bg-info]:after{content:'\f129'}.alert.alert-icon-right:after{left:auto;right:-4rem}.media-list .media{padding:1.25rem;margin-top:0}.media-list .media .media-left{padding-right:1rem}.media-list .media .media-right{padding-left:1rem}.media-list a.media{color:#404E67!important}.media-bordered .media{border-top:1px solid #E4E7ED}.media-bordered .media:first-child{border-top:0}.users-list li .badge,.users-list li img{border:2px solid #FFF}.progress{margin-bottom:3rem}.progress:last-child{margin-bottom:1rem}ul.list-inline li{display:inline-block}ul.list-inline.list-inline-pipe>li+li:before{content:' | ';color:#626E82}.users-list li+li{margin-left:-.785rem}.users-list li .badge{border-radius:50%;padding:.4rem}.toast-bs-container{z-index:1040;position:fixed;top:0;left:0;width:100%}.toast-bs-container .toast-position{position:relative;top:0;right:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:wrap-reverse;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.toast-bs-container .toast-position .toast.show{opacity:1;z-index:1030}.toast-placement{position:static;top:0}.toast-placement .toast{position:absolute;top:0;z-index:1030}.toast{display:none;background-color:#fff;margin-top:.75rem}.toast.show.toast-wrapper{position:static}.toast.toast-translucent{opacity:1;display:block}.bullet,.icon-spin{display:inline-block}.toast-header img{width:20px;height:20px}.modal-sm{max-width:400px}.modal-xs{max-width:300px}.modal-xl{max-width:94%;margin-left:3%;margin-right:3%}.icon-align{margin-top:.6rem;margin-left:.5rem}.popover.bs-tether-element-attached-left:after,.popover.bs-tether-element-attached-left:before,.popover.bs-tether-element-attached-right:after,.popover.bs-tether-element-attached-right:before,.popover.popover-left:after,.popover.popover-left:before,.popover.popover-right:after,.popover.popover-right:before{margin-top:-10px}.popover.bs-tether-element-attached-bottom:after,.popover.bs-tether-element-attached-bottom:before,.popover.bs-tether-element-attached-top:after,.popover.bs-tether-element-attached-top:before,.popover.popover-bottom:after,.popover.popover-bottom:before,.popover.popover-top:after,.popover.popover-top:before{margin-left:-10px}.icon-bg-circle{color:#FFF;padding:.5rem;border-radius:50%}.bullet{height:10px;width:10px;border-radius:50%}.icon-left,.icon-right{margin-right:.5rem}.icon-spin{-webkit-animation:spin 1s infinite linear;animation:spin 1s infinite linear}.blockOverlay{z-index:1050!important}.blockElement,.blockPage{z-index:1051!important}@-webkit-keyframes spin{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}.hidden{display:none;visibility:hidden}.round{border-radius:1.5rem}.square{border-radius:0}.mega-dropdown-menu p.accordion-text{line-height:1.45}.mega-dropdown-menu a[aria-expanded=true]{padding-bottom:1rem}.line-on-side{border-bottom:1px solid #DADADA;line-height:.1em;margin:10px 0 20px}.line-on-side span{background:#FFF;padding:0 10px}.icon-line-height{line-height:1.5rem!important}.table-middle td{vertical-align:middle}.spinner{display:inline-block;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@keyframes spin{0%,from{-webkit-transform:rotate(0);transform:rotate(0)}100%,to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@media only screen and (max-width:576px){.line-on-side{border-bottom:none;line-height:1.25rem}} \ No newline at end of file diff --git a/boot/assets/tv/css/bootstrap.min.css b/boot/assets/tv/css/bootstrap.min.css new file mode 100644 index 0000000..8b88db4 --- /dev/null +++ b/boot/assets/tv/css/bootstrap.min.css @@ -0,0 +1,12 @@ +/*! + * Bootswatch v4.5.3 + * Homepage: https://bootswatch.com + * Copyright 2012-2020 Thomas Park + * Licensed under MIT + * Based on Bootstrap +*//*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--blue:#033c73;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#c71c22;--orange:#fd7e14;--yellow:#dd5600;--green:#73a839;--teal:#20c997;--cyan:#2fa4e7;--white:#fff;--gray:#868e96;--gray-dark:#343a40;--primary:#2fa4e7;--secondary:#e9ecef;--success:#73a839;--info:#033c73;--warning:#dd5600;--danger:#c71c22;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#2fa4e7;text-decoration:none;background-color:transparent}a:hover{color:#157ab5;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#868e96;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2;color:#2fa4e7}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#868e96}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#868e96}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#495057}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#495057;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#c5e6f8}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#93d0f3}.table-hover .table-primary:hover{background-color:#aedcf5}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#aedcf5}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#f9fafb}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#f4f5f7}.table-hover .table-secondary:hover{background-color:#eaedf1}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#eaedf1}.table-success,.table-success>td,.table-success>th{background-color:#d8e7c8}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#b6d298}.table-hover .table-success:hover{background-color:#cbdfb6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#cbdfb6}.table-info,.table-info>td,.table-info>th{background-color:#b8c8d8}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#7c9ab6}.table-hover .table-info:hover{background-color:#a8bbcf}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a8bbcf}.table-warning,.table-warning>td,.table-warning>th{background-color:#f5d0b8}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#eda77a}.table-hover .table-warning:hover{background-color:#f2c1a2}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#f2c1a2}.table-danger,.table-danger>td,.table-danger>th{background-color:#efbfc1}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#e2898c}.table-hover .table-danger:hover{background-color:#eaabad}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#eaabad}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#a1d6f4;outline:0;box-shadow:0 0 0 .2rem rgba(47,164,231,.25)}.form-control::-webkit-input-placeholder{color:#868e96;opacity:1}.form-control::-moz-placeholder{color:#868e96;opacity:1}.form-control:-ms-input-placeholder{color:#868e96;opacity:1}.form-control::-ms-input-placeholder{color:#868e96;opacity:1}.form-control::placeholder{color:#868e96;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#495057;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#868e96}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#73a839}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(115,168,57,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#73a839;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2373a839' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#73a839;box-shadow:0 0 0 .2rem rgba(115,168,57,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#73a839;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2373a839' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#73a839;box-shadow:0 0 0 .2rem rgba(115,168,57,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#73a839}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#73a839}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#73a839}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#8dc450;background-color:#8dc450}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(115,168,57,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#73a839}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#73a839}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#73a839;box-shadow:0 0 0 .2rem rgba(115,168,57,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#c71c22}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(199,28,34,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#c71c22;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23c71c22' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c71c22' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#c71c22;box-shadow:0 0 0 .2rem rgba(199,28,34,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#c71c22;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23c71c22' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23c71c22' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#c71c22;box-shadow:0 0 0 .2rem rgba(199,28,34,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#c71c22}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#c71c22}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#c71c22}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e2343a;background-color:#e2343a}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(199,28,34,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#c71c22}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#c71c22}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#c71c22;box-shadow:0 0 0 .2rem rgba(199,28,34,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#495057;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#495057;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(47,164,231,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.btn-primary:hover{color:#fff;background-color:#1992d7;border-color:#178acc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#1992d7;border-color:#178acc;box-shadow:0 0 0 .2rem rgba(78,178,235,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#178acc;border-color:#1682c0}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(78,178,235,.5)}.btn-secondary{color:#212529;background-color:#e9ecef;border-color:#e9ecef}.btn-secondary:hover{color:#212529;background-color:#d3d9df;border-color:#cbd3da}.btn-secondary.focus,.btn-secondary:focus{color:#212529;background-color:#d3d9df;border-color:#cbd3da;box-shadow:0 0 0 .2rem rgba(203,206,209,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#212529;background-color:#e9ecef;border-color:#e9ecef}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#212529;background-color:#cbd3da;border-color:#c4ccd4}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(203,206,209,.5)}.btn-success{color:#fff;background-color:#73a839;border-color:#73a839}.btn-success:hover{color:#fff;background-color:#5f8b2f;border-color:#59822c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#5f8b2f;border-color:#59822c;box-shadow:0 0 0 .2rem rgba(136,181,87,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#73a839;border-color:#73a839}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#59822c;border-color:#527829}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(136,181,87,.5)}.btn-info{color:#fff;background-color:#033c73;border-color:#033c73}.btn-info:hover{color:#fff;background-color:#02294e;border-color:#022241}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#02294e;border-color:#022241;box-shadow:0 0 0 .2rem rgba(41,89,136,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#033c73;border-color:#033c73}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#022241;border-color:#011c35}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(41,89,136,.5)}.btn-warning{color:#fff;background-color:#dd5600;border-color:#dd5600}.btn-warning:hover{color:#fff;background-color:#b74700;border-color:#aa4200}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#b74700;border-color:#aa4200;box-shadow:0 0 0 .2rem rgba(226,111,38,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#dd5600;border-color:#dd5600}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#aa4200;border-color:#9d3d00}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(226,111,38,.5)}.btn-danger{color:#fff;background-color:#c71c22;border-color:#c71c22}.btn-danger:hover{color:#fff;background-color:#a5171c;border-color:#9a161a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#a5171c;border-color:#9a161a;box-shadow:0 0 0 .2rem rgba(207,62,67,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#c71c22;border-color:#c71c22}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#9a161a;border-color:#8f1418}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(207,62,67,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#2fa4e7;border-color:#2fa4e7}.btn-outline-primary:hover{color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(47,164,231,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#2fa4e7;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(47,164,231,.5)}.btn-outline-secondary{color:#e9ecef;border-color:#e9ecef}.btn-outline-secondary:hover{color:#212529;background-color:#e9ecef;border-color:#e9ecef}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(233,236,239,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#e9ecef;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#212529;background-color:#e9ecef;border-color:#e9ecef}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(233,236,239,.5)}.btn-outline-success{color:#73a839;border-color:#73a839}.btn-outline-success:hover{color:#fff;background-color:#73a839;border-color:#73a839}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(115,168,57,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#73a839;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#73a839;border-color:#73a839}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(115,168,57,.5)}.btn-outline-info{color:#033c73;border-color:#033c73}.btn-outline-info:hover{color:#fff;background-color:#033c73;border-color:#033c73}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(3,60,115,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#033c73;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#033c73;border-color:#033c73}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(3,60,115,.5)}.btn-outline-warning{color:#dd5600;border-color:#dd5600}.btn-outline-warning:hover{color:#fff;background-color:#dd5600;border-color:#dd5600}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(221,86,0,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#dd5600;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#dd5600;border-color:#dd5600}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(221,86,0,.5)}.btn-outline-danger{color:#c71c22;border-color:#c71c22}.btn-outline-danger:hover{color:#fff;background-color:#c71c22;border-color:#c71c22}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(199,28,34,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#c71c22;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#c71c22;border-color:#c71c22}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(199,28,34,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#2fa4e7;text-decoration:none}.btn-link:hover{color:#157ab5;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#868e96;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#495057;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#495057;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#fff;text-decoration:none;background-color:#2fa4e7}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#2fa4e7}.dropdown-item.disabled,.dropdown-item:disabled{color:#868e96;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#868e96;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#495057}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#2fa4e7;background-color:#2fa4e7}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(47,164,231,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#a1d6f4}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#cfeaf9;border-color:#cfeaf9}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#868e96}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#2fa4e7;background-color:#2fa4e7}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(47,164,231,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(47,164,231,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(47,164,231,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(47,164,231,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#a1d6f4;outline:0;box-shadow:0 0 0 .2rem rgba(47,164,231,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#868e96;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#a1d6f4;box-shadow:0 0 0 .2rem rgba(47,164,231,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(47,164,231,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(47,164,231,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(47,164,231,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#2fa4e7;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#cfeaf9}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#2fa4e7;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#cfeaf9}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#2fa4e7;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#cfeaf9}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#868e96;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#868e96;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#2fa4e7}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.8)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#fff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.8)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#868e96;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#868e96}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#2fa4e7;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#157ab5;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(47,164,231,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.page-item.disabled .page-link{color:#868e96;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#2fa4e7}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#178acc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(47,164,231,.5)}.badge-secondary{color:#212529;background-color:#e9ecef}a.badge-secondary:focus,a.badge-secondary:hover{color:#212529;background-color:#cbd3da}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(233,236,239,.5)}.badge-success{color:#fff;background-color:#73a839}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#59822c}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(115,168,57,.5)}.badge-info{color:#fff;background-color:#033c73}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#022241}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(3,60,115,.5)}.badge-warning{color:#fff;background-color:#dd5600}a.badge-warning:focus,a.badge-warning:hover{color:#fff;background-color:#aa4200}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(221,86,0,.5)}.badge-danger{color:#fff;background-color:#c71c22}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#9a161a}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(199,28,34,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#185578;background-color:#d5edfa;border-color:#c5e6f8}.alert-primary hr{border-top-color:#aedcf5}.alert-primary .alert-link{color:#10374e}.alert-secondary{color:#797b7c;background-color:#fbfbfc;border-color:#f9fafb}.alert-secondary hr{border-top-color:#eaedf1}.alert-secondary .alert-link{color:#606162}.alert-success{color:#3c571e;background-color:#e3eed7;border-color:#d8e7c8}.alert-success hr{border-top-color:#cbdfb6}.alert-success .alert-link{color:#223111}.alert-info{color:#021f3c;background-color:#cdd8e3;border-color:#b8c8d8}.alert-info hr{border-top-color:#a8bbcf}.alert-info .alert-link{color:#00060b}.alert-warning{color:#732d00;background-color:#f8ddcc;border-color:#f5d0b8}.alert-warning hr{border-top-color:#f2c1a2}.alert-warning .alert-link{color:#401900}.alert-danger{color:#670f12;background-color:#f4d2d3;border-color:#efbfc1}.alert-danger hr{border-top-color:#eaabad}.alert-danger .alert-link{color:#3a090a}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#2fa4e7;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#495057;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#868e96;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#2fa4e7;border-color:#2fa4e7}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#185578;background-color:#c5e6f8}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#185578;background-color:#aedcf5}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#185578;border-color:#185578}.list-group-item-secondary{color:#797b7c;background-color:#f9fafb}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#797b7c;background-color:#eaedf1}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#797b7c;border-color:#797b7c}.list-group-item-success{color:#3c571e;background-color:#d8e7c8}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#3c571e;background-color:#cbdfb6}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#3c571e;border-color:#3c571e}.list-group-item-info{color:#021f3c;background-color:#b8c8d8}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#021f3c;background-color:#a8bbcf}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#021f3c;border-color:#021f3c}.list-group-item-warning{color:#732d00;background-color:#f5d0b8}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#732d00;background-color:#f2c1a2}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#732d00;border-color:#732d00}.list-group-item-danger{color:#670f12;background-color:#efbfc1}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#670f12;background-color:#eaabad}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#670f12;border-color:#670f12}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#868e96;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:#2fa4e7;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#495057}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#2fa4e7!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#178acc!important}.bg-secondary{background-color:#e9ecef!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#cbd3da!important}.bg-success{background-color:#73a839!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#59822c!important}.bg-info{background-color:#033c73!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#022241!important}.bg-warning{background-color:#dd5600!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#aa4200!important}.bg-danger{background-color:#c71c22!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#9a161a!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#2fa4e7!important}.border-secondary{border-color:#e9ecef!important}.border-success{border-color:#73a839!important}.border-info{border-color:#033c73!important}.border-warning{border-color:#dd5600!important}.border-danger{border-color:#c71c22!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#2fa4e7!important}a.text-primary:focus,a.text-primary:hover{color:#157ab5!important}.text-secondary{color:#e9ecef!important}a.text-secondary:focus,a.text-secondary:hover{color:#bdc6cf!important}.text-success{color:#73a839!important}a.text-success:focus,a.text-success:hover{color:#4c6f26!important}.text-info{color:#033c73!important}a.text-info:focus,a.text-info:hover{color:#011528!important}.text-warning{color:#dd5600!important}a.text-warning:focus,a.text-warning:hover{color:#913800!important}.text-danger{color:#c71c22!important}a.text-danger:focus,a.text-danger:hover{color:#841317!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#495057!important}.text-muted{color:#868e96!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.bg-primary{background-image:linear-gradient(#54b4eb,#2fa4e7 60%,#1d9ce5);background-repeat:no-repeat}.bg-dark{background-image:linear-gradient(#04519b,#033c73 60%,#02325f);background-repeat:no-repeat}.bg-light{background-image:linear-gradient(white,#e9ecef 60%,#e3e7eb);background-repeat:no-repeat}.nav-link,.navbar-brand{text-shadow:0 1px 0 rgba(0,0,0,.05)}.btn{text-shadow:0 1px 0 rgba(0,0,0,.05)}.btn-primary{background-image:linear-gradient(#54b4eb,#2fa4e7 60%,#1d9ce5);background-repeat:no-repeat}.btn-secondary{background-image:linear-gradient(white,#e9ecef 60%,#dde2e6);background-repeat:no-repeat;color:#495057}.btn-success{background-image:linear-gradient(#88c149,#73a839 60%,#699934);background-repeat:no-repeat}.btn-info{background-image:linear-gradient(#04519b,#033c73 60%,#02325f);background-repeat:no-repeat}.btn-warning{background-image:linear-gradient(#ff6707,#dd5600 60%,#c94e00);background-repeat:no-repeat}.btn-danger{background-image:linear-gradient(#e12b31,#c71c22 60%,#b5191f);background-repeat:no-repeat}.btn-light{background-image:linear-gradient(white,#f8f9fa 60%,#eceff2);background-repeat:no-repeat}.btn-dark{background-image:linear-gradient(#464e57,#343a40 60%,#2b3035);background-repeat:no-repeat}.text-secondary{color:#adb5bd!important}.bg-danger h1,.bg-danger h2,.bg-danger h3,.bg-danger h4,.bg-danger h5,.bg-danger h6,.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4,.bg-dark h5,.bg-dark h6,.bg-info h1,.bg-info h2,.bg-info h3,.bg-info h4,.bg-info h5,.bg-info h6,.bg-primary h1,.bg-primary h2,.bg-primary h3,.bg-primary h4,.bg-primary h5,.bg-primary h6,.bg-success h1,.bg-success h2,.bg-success h3,.bg-success h4,.bg-success h5,.bg-success h6,.bg-warning h1,.bg-warning h2,.bg-warning h3,.bg-warning h4,.bg-warning h5,.bg-warning h6{color:#fff}.dropdown-menu .dropdown-header{color:#868e96} \ No newline at end of file diff --git a/boot/assets/tv/css/colors.min.css b/boot/assets/tv/css/colors.min.css new file mode 100644 index 0000000..6bbd869 --- /dev/null +++ b/boot/assets/tv/css/colors.min.css @@ -0,0 +1 @@ +.white{color:#FFF!important}.bg-white{background-color:#FFF!important}.bg-white .card-footer,.bg-white .card-header{background-color:transparent}.alert-white{border-color:#fff!important;background-color:#fff!important;color:#A6A6A6!important}.alert-white .alert-link{color:#919191!important}.bullet.bullet-white{background-color:#FFF}.bg-light-white{background-color:rgba(255,255,255,.15)}.bg-white.badge-glow,.border-white.badge-glow{box-shadow:0 0 10px #FFF}.overlay-white{background:#FFF;background:rgba(255,255,255,.8)}.btn-white{background-color:#FFF!important;color:#FFF}.btn-white:active,.btn-white:focus,.btn-white:hover{color:#FFF!important}.btn-outline-white{border-color:#FFF;background-color:transparent;color:#FFF}.btn-outline-white:hover{background-color:#FFF;color:#FFF!important}.alert-black,.alert-black .alert-link,.black{color:#000!important}.widget-timeline .timeline-items.timeline-icon-white:before{background-color:#FFF}input[type=checkbox].bg-white+.custom-control-label:before,input[type=radio].bg-white+.custom-control-label:before{background-color:#FFF!important}input:focus~.bg-white{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #FFF!important}.border-white{border:1px solid #FFF!important}.kanban-container .kanban-board .kanban-item[data-border=white]:before{background-color:#FFF}.bg-black{background-color:#000!important}.bg-black .card-footer,.bg-black .card-header{background-color:transparent}.alert-black{border-color:#242424!important;background-color:#242424!important}.bullet.bullet-black{background-color:#000}.bg-light-black{background-color:rgba(0,0,0,.15)}.bg-black.badge-glow,.border-black.badge-glow{box-shadow:0 0 10px #000}.overlay-black{background:#000;background:rgba(0,0,0,.8)}.btn-black{background-color:#000!important;color:#FFF}.btn-black:active,.btn-black:focus,.btn-black:hover{color:#FFF!important}.btn-outline-black{border-color:#000;background-color:transparent;color:#000}.btn-outline-black:hover{background-color:#000;color:#FFF!important}.widget-timeline .timeline-items.timeline-icon-black:before{background-color:#000}input[type=checkbox].bg-black+.custom-control-label:before,input[type=radio].bg-black+.custom-control-label:before{background-color:#000!important}input:focus~.bg-black{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #000!important}.border-black{border:1px solid #000!important}.kanban-container .kanban-board .kanban-item[data-border=black]:before{background-color:#000}.bg-primary.bg-lighten-5,.btn-primary.btn-lighten-5{background-color:#39FCFF!important}.primary.lighten-5{color:#39FCFF!important}.btn-primary.btn-lighten-5{border-color:#008385!important}.btn-primary.btn-lighten-5:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-lighten-5:active,.btn-primary.btn-lighten-5:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-lighten-5{border-color:#39FCFF!important;color:#39FCFF!important}.btn-outline-primary.btn-outline-lighten-5:hover{background-color:#39FCFF!important}.border-primary.border-lighten-5{border:1px solid #39FCFF!important}.border-top-primary.border-top-lighten-5{border-top:1px solid #39FCFF!important}.border-bottom-primary.border-bottom-lighten-5{border-bottom:1px solid #39FCFF!important}.border-left-primary.border-left-lighten-5{border-left:1px solid #39FCFF!important}.border-right-primary.border-right-lighten-5{border-right:1px solid #39FCFF!important}.overlay-primary.overlay-lighten-5{background:#39FCFF;background:rgba(57,252,255,.8)}.bg-primary.bg-lighten-4,.btn-primary.btn-lighten-4{background-color:#1FFBFF!important}.primary.lighten-4{color:#1FFBFF!important}.btn-primary.btn-lighten-4{border-color:#008385!important}.btn-primary.btn-lighten-4:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-lighten-4:active,.btn-primary.btn-lighten-4:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-lighten-4{border-color:#1FFBFF!important;color:#1FFBFF!important}.btn-outline-primary.btn-outline-lighten-4:hover{background-color:#1FFBFF!important}.border-primary.border-lighten-4{border:1px solid #1FFBFF!important}.border-top-primary.border-top-lighten-4{border-top:1px solid #1FFBFF!important}.border-bottom-primary.border-bottom-lighten-4{border-bottom:1px solid #1FFBFF!important}.border-left-primary.border-left-lighten-4{border-left:1px solid #1FFBFF!important}.border-right-primary.border-right-lighten-4{border-right:1px solid #1FFBFF!important}.overlay-primary.overlay-lighten-4{background:#1FFBFF;background:rgba(31,251,255,.8)}.bg-primary.bg-lighten-3,.btn-primary.btn-lighten-3{background-color:#06FBFF!important}.primary.lighten-3{color:#06FBFF!important}.btn-primary.btn-lighten-3{border-color:#008385!important}.btn-primary.btn-lighten-3:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-lighten-3:active,.btn-primary.btn-lighten-3:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-lighten-3{border-color:#06FBFF!important;color:#06FBFF!important}.btn-outline-primary.btn-outline-lighten-3:hover{background-color:#06FBFF!important}.border-primary.border-lighten-3{border:1px solid #06FBFF!important}.border-top-primary.border-top-lighten-3{border-top:1px solid #06FBFF!important}.border-bottom-primary.border-bottom-lighten-3{border-bottom:1px solid #06FBFF!important}.border-left-primary.border-left-lighten-3{border-left:1px solid #06FBFF!important}.border-right-primary.border-right-lighten-3{border-right:1px solid #06FBFF!important}.overlay-primary.overlay-lighten-3{background:#06FBFF;background:rgba(6,251,255,.8)}.bg-primary.bg-lighten-2,.btn-primary.btn-lighten-2{background-color:#00E7EB!important}.primary.lighten-2{color:#00E7EB!important}.btn-primary.btn-lighten-2{border-color:#008385!important}.btn-primary.btn-lighten-2:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-lighten-2:active,.btn-primary.btn-lighten-2:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-lighten-2{border-color:#00E7EB!important;color:#00E7EB!important}.btn-outline-primary.btn-outline-lighten-2:hover{background-color:#00E7EB!important}.border-primary.border-lighten-2{border:1px solid #00E7EB!important}.border-top-primary.border-top-lighten-2{border-top:1px solid #00E7EB!important}.border-bottom-primary.border-bottom-lighten-2{border-bottom:1px solid #00E7EB!important}.border-left-primary.border-left-lighten-2{border-left:1px solid #00E7EB!important}.border-right-primary.border-right-lighten-2{border-right:1px solid #00E7EB!important}.overlay-primary.overlay-lighten-2{background:#00E7EB;background:rgba(0,231,235,.8)}.bg-primary.bg-lighten-1,.btn-primary.btn-lighten-1{background-color:#00CED2!important}.primary.lighten-1{color:#00CED2!important}.btn-primary.btn-lighten-1{border-color:#008385!important}.btn-primary.btn-lighten-1:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-lighten-1:active,.btn-primary.btn-lighten-1:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-lighten-1{border-color:#00CED2!important;color:#00CED2!important}.btn-outline-primary.btn-outline-lighten-1:hover{background-color:#00CED2!important}.border-primary.border-lighten-1{border:1px solid #00CED2!important}.border-top-primary.border-top-lighten-1{border-top:1px solid #00CED2!important}.border-bottom-primary.border-bottom-lighten-1{border-bottom:1px solid #00CED2!important}.border-left-primary.border-left-lighten-1{border-left:1px solid #00CED2!important}.border-right-primary.border-right-lighten-1{border-right:1px solid #00CED2!important}.overlay-primary.overlay-lighten-1{background:#00CED2;background:rgba(0,206,210,.8)}.primary{color:#00B5B8!important}.bg-primary{background-color:#00B5B8!important}.bg-primary .card-footer,.bg-primary .card-header{background-color:transparent}.alert-primary{border-color:#00FBFF!important;background-color:#00FBFF!important;color:#000506!important}.alert-primary .alert-link{color:#000!important}.bullet.bullet-primary{background-color:#00B5B8}.bg-light-primary{background-color:rgba(0,181,184,.15)}.bg-primary.badge-glow,.border-primary.badge-glow{box-shadow:0 0 10px #00B5B8}.overlay-primary{background:#00B5B8;background:rgba(0,181,184,.8)}.btn-primary{background-color:#00B5B8!important;color:#FFF}.btn-primary:hover{border-color:#009C9F!important;background-color:#00CED2!important;color:#FFF!important}.btn-primary:active,.btn-primary:focus{border-color:#008385!important;background-color:#006A6C!important;color:#FFF!important}.btn-outline-primary{border-color:#00B5B8;background-color:transparent;color:#00B5B8}.btn-outline-primary:hover{background-color:#00B5B8;color:#FFF!important}.widget-timeline .timeline-items.timeline-icon-primary:before{background-color:#00B5B8}input[type=checkbox].bg-primary+.custom-control-label:before,input[type=radio].bg-primary+.custom-control-label:before{background-color:#00B5B8!important}.bg-primary.bg-darken-1,.btn-primary.btn-darken-1{background-color:#009C9F!important}.border-primary{border:1px solid #00B5B8!important}.border-top-primary{border-top:1px solid #00B5B8}.border-bottom-primary{border-bottom:1px solid #00B5B8}.border-left-primary{border-left:1px solid #00B5B8}.border-right-primary{border-right:1px solid #00B5B8}.primary.darken-1{color:#009C9F!important}.btn-primary.btn-darken-1{border-color:#008385!important}.btn-primary.btn-darken-1:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-darken-1:active,.btn-primary.btn-darken-1:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-darken-1{border-color:#009C9F!important;color:#009C9F!important}.btn-outline-primary.btn-outline-darken-1:hover{background-color:#009C9F!important}.border-primary.border-darken-1{border:1px solid #009C9F!important}.border-top-primary.border-top-darken-1{border-top:1px solid #009C9F!important}.border-bottom-primary.border-bottom-darken-1{border-bottom:1px solid #009C9F!important}.border-left-primary.border-left-darken-1{border-left:1px solid #009C9F!important}.border-right-primary.border-right-darken-1{border-right:1px solid #009C9F!important}.overlay-primary.overlay-darken-1{background:#009C9F;background:rgba(0,156,159,.8)}.bg-primary.bg-darken-2,.btn-primary.btn-darken-2{background-color:#008385!important}.primary.darken-2{color:#008385!important}.btn-primary.btn-darken-2{border-color:#008385!important}.btn-primary.btn-darken-2:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-darken-2:active,.btn-primary.btn-darken-2:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-darken-2{border-color:#008385!important;color:#008385!important}.btn-outline-primary.btn-outline-darken-2:hover{background-color:#008385!important}.border-primary.border-darken-2{border:1px solid #008385!important}.border-top-primary.border-top-darken-2{border-top:1px solid #008385!important}.border-bottom-primary.border-bottom-darken-2{border-bottom:1px solid #008385!important}.border-left-primary.border-left-darken-2{border-left:1px solid #008385!important}.border-right-primary.border-right-darken-2{border-right:1px solid #008385!important}.overlay-primary.overlay-darken-2{background:#008385;background:rgba(0,131,133,.8)}.primary.darken-3{color:#006A6C!important}.bg-primary.bg-darken-3{background-color:#006A6C!important}.btn-primary.btn-darken-3,.btn-primary.btn-darken-3:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-darken-3:active,.btn-primary.btn-darken-3:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-darken-3{border-color:#006A6C!important;color:#006A6C!important}.btn-outline-primary.btn-outline-darken-3:hover{background-color:#006A6C!important}.border-primary.border-darken-3{border:1px solid #006A6C!important}.border-top-primary.border-top-darken-3{border-top:1px solid #006A6C!important}.border-bottom-primary.border-bottom-darken-3{border-bottom:1px solid #006A6C!important}.border-left-primary.border-left-darken-3{border-left:1px solid #006A6C!important}.border-right-primary.border-right-darken-3{border-right:1px solid #006A6C!important}.overlay-primary.overlay-darken-3{background:#006A6C;background:rgba(0,106,108,.8)}.bg-primary.bg-darken-4,.btn-primary.btn-darken-4{background-color:#005152!important}.primary.darken-4{color:#005152!important}.btn-primary.btn-darken-4{border-color:#008385!important}.btn-primary.btn-darken-4:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-darken-4:active,.btn-primary.btn-darken-4:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-darken-4{border-color:#005152!important;color:#005152!important}.btn-outline-primary.btn-outline-darken-4:hover{background-color:#005152!important}.border-primary.border-darken-4{border:1px solid #005152!important}.border-top-primary.border-top-darken-4{border-top:1px solid #005152!important}.border-bottom-primary.border-bottom-darken-4{border-bottom:1px solid #005152!important}.border-left-primary.border-left-darken-4{border-left:1px solid #005152!important}.border-right-primary.border-right-darken-4{border-right:1px solid #005152!important}.overlay-primary.overlay-darken-4{background:#005152;background:rgba(0,81,82,.8)}.bg-primary.bg-accent-1,.btn-primary.btn-accent-1{background-color:#BDFDFF!important}.primary.accent-1{color:#BDFDFF!important}.btn-primary.btn-accent-1{border-color:#008385!important}.btn-primary.btn-accent-1:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-accent-1:active,.btn-primary.btn-accent-1:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-accent-1{border-color:#BDFDFF!important;color:#BDFDFF!important}.btn-outline-primary.btn-outline-accent-1:hover{background-color:#BDFDFF!important}.border-primary.border-accent-1{border:1px solid #BDFDFF!important}.border-top-primary.border-top-accent-1{border-top:1px solid #BDFDFF!important}.border-bottom-primary.border-bottom-accent-1{border-bottom:1px solid #BDFDFF!important}.border-left-primary.border-left-accent-1{border-left:1px solid #BDFDFF!important}.border-right-primary.border-right-accent-1{border-right:1px solid #BDFDFF!important}.overlay-primary.overlay-accent-1{background:#BDFDFF;background:rgba(189,253,255,.8)}.bg-primary.bg-accent-2,.btn-primary.btn-accent-2{background-color:#8AFBFF!important}.primary.accent-2{color:#8AFBFF!important}.btn-primary.btn-accent-2{border-color:#008385!important}.btn-primary.btn-accent-2:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-accent-2:active,.btn-primary.btn-accent-2:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-accent-2{border-color:#8AFBFF!important;color:#8AFBFF!important}.btn-outline-primary.btn-outline-accent-2:hover{background-color:#8AFBFF!important}.border-primary.border-accent-2{border:1px solid #8AFBFF!important}.border-top-primary.border-top-accent-2{border-top:1px solid #8AFBFF!important}.border-bottom-primary.border-bottom-accent-2{border-bottom:1px solid #8AFBFF!important}.border-left-primary.border-left-accent-2{border-left:1px solid #8AFBFF!important}.border-right-primary.border-right-accent-2{border-right:1px solid #8AFBFF!important}.overlay-primary.overlay-accent-2{background:#8AFBFF;background:rgba(138,251,255,.8)}.bg-primary.bg-accent-3,.btn-primary.btn-accent-3{background-color:#57FAFF!important}.primary.accent-3{color:#57FAFF!important}.btn-primary.btn-accent-3{border-color:#008385!important}.btn-primary.btn-accent-3:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-accent-3:active,.btn-primary.btn-accent-3:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-accent-3{border-color:#57FAFF!important;color:#57FAFF!important}.btn-outline-primary.btn-outline-accent-3:hover{background-color:#57FAFF!important}.border-primary.border-accent-3{border:1px solid #57FAFF!important}.border-top-primary.border-top-accent-3{border-top:1px solid #57FAFF!important}.border-bottom-primary.border-bottom-accent-3{border-bottom:1px solid #57FAFF!important}.border-left-primary.border-left-accent-3{border-left:1px solid #57FAFF!important}.border-right-primary.border-right-accent-3{border-right:1px solid #57FAFF!important}.overlay-primary.overlay-accent-3{background:#57FAFF;background:rgba(87,250,255,.8)}.bg-primary.bg-accent-4,.btn-primary.btn-accent-4{background-color:#3DF9FF!important}.primary.accent-4{color:#3DF9FF!important}.btn-primary.btn-accent-4{border-color:#008385!important}.btn-primary.btn-accent-4:hover{border-color:#008385!important;background-color:#006A6C!important}.btn-primary.btn-accent-4:active,.btn-primary.btn-accent-4:focus{border-color:#006A6C!important;background-color:#005152!important}.btn-outline-primary.btn-outline-accent-4{border-color:#3DF9FF!important;color:#3DF9FF!important}.btn-outline-primary.btn-outline-accent-4:hover{background-color:#3DF9FF!important}input:focus~.bg-primary{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #3DF9FF!important}.border-primary.border-accent-4{border:1px solid #3DF9FF!important}.border-top-primary.border-top-accent-4{border-top:1px solid #3DF9FF!important}.border-bottom-primary.border-bottom-accent-4{border-bottom:1px solid #3DF9FF!important}.border-left-primary.border-left-accent-4{border-left:1px solid #3DF9FF!important}.border-right-primary.border-right-accent-4{border-right:1px solid #3DF9FF!important}.overlay-primary.overlay-accent-4{background:#3DF9FF;background:rgba(61,249,255,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=primary]:before{background-color:#3DF9FF}.bg-secondary.bg-lighten-5,.btn-secondary.btn-lighten-5{background-color:#7A8CAC!important}.secondary.lighten-5{color:#7A8CAC!important}.btn-secondary.btn-lighten-5{border-color:#2C3648!important}.btn-secondary.btn-lighten-5:hover{border-color:#2C3648!important;background-color:#232A38!important}.btn-secondary.btn-lighten-5:active,.btn-secondary.btn-lighten-5:focus{border-color:#232A38!important;background-color:#191E28!important}.btn-outline-secondary.btn-outline-lighten-5{border-color:#7A8CAC!important;color:#7A8CAC!important}.btn-outline-secondary.btn-outline-lighten-5:hover{background-color:#7A8CAC!important}.border-secondary.border-lighten-5{border:1px solid #7A8CAC!important}.border-top-secondary.border-top-lighten-5{border-top:1px solid #7A8CAC!important}.border-bottom-secondary.border-bottom-lighten-5{border-bottom:1px solid #7A8CAC!important}.border-left-secondary.border-left-lighten-5{border-left:1px solid #7A8CAC!important}.border-right-secondary.border-right-lighten-5{border-right:1px solid #7A8CAC!important}.overlay-secondary.overlay-lighten-5{background:#7A8CAC;background:rgba(122,140,172,.8)}.bg-secondary.bg-lighten-4,.btn-secondary.btn-lighten-4{background-color:#6A7FA3!important}.secondary.lighten-4{color:#6A7FA3!important}.btn-secondary.btn-lighten-4{border-color:#2C3648!important}.btn-secondary.btn-lighten-4:hover{border-color:#2C3648!important;background-color:#232A38!important}.btn-secondary.btn-lighten-4:active,.btn-secondary.btn-lighten-4:focus{border-color:#232A38!important;background-color:#191E28!important}.btn-outline-secondary.btn-outline-lighten-4{border-color:#6A7FA3!important;color:#6A7FA3!important}.btn-outline-secondary.btn-outline-lighten-4:hover{background-color:#6A7FA3!important}.border-secondary.border-lighten-4{border:1px solid #6A7FA3!important}.border-top-secondary.border-top-lighten-4{border-top:1px solid #6A7FA3!important}.border-bottom-secondary.border-bottom-lighten-4{border-bottom:1px solid #6A7FA3!important}.border-left-secondary.border-left-lighten-4{border-left:1px solid #6A7FA3!important}.border-right-secondary.border-right-lighten-4{border-right:1px solid #6A7FA3!important}.overlay-secondary.overlay-lighten-4{background:#6A7FA3;background:rgba(106,127,163,.8)}.bg-secondary.bg-lighten-3,.btn-secondary.btn-lighten-3{background-color:#5D7296!important}.secondary.lighten-3{color:#5D7296!important}.btn-secondary.btn-lighten-3{border-color:#2C3648!important}.btn-secondary.btn-lighten-3:hover{border-color:#2C3648!important;background-color:#232A38!important}.btn-secondary.btn-lighten-3:active,.btn-secondary.btn-lighten-3:focus{border-color:#232A38!important;background-color:#191E28!important}.btn-outline-secondary.btn-outline-lighten-3{border-color:#5D7296!important;color:#5D7296!important}.btn-outline-secondary.btn-outline-lighten-3:hover{background-color:#5D7296!important}.border-secondary.border-lighten-3{border:1px solid #5D7296!important}.border-top-secondary.border-top-lighten-3{border-top:1px solid #5D7296!important}.border-bottom-secondary.border-bottom-lighten-3{border-bottom:1px solid #5D7296!important}.border-left-secondary.border-left-lighten-3{border-left:1px solid #5D7296!important}.border-right-secondary.border-right-lighten-3{border-right:1px solid #5D7296!important}.overlay-secondary.overlay-lighten-3{background:#5D7296;background:rgba(93,114,150,.8)}.bg-secondary.bg-lighten-2,.btn-secondary.btn-lighten-2{background-color:#546686!important}.secondary.lighten-2{color:#546686!important}.btn-secondary.btn-lighten-2{border-color:#2C3648!important}.btn-secondary.btn-lighten-2:hover{border-color:#2C3648!important;background-color:#232A38!important}.btn-secondary.btn-lighten-2:active,.btn-secondary.btn-lighten-2:focus{border-color:#232A38!important;background-color:#191E28!important}.btn-outline-secondary.btn-outline-lighten-2{border-color:#546686!important;color:#546686!important}.btn-outline-secondary.btn-outline-lighten-2:hover{background-color:#546686!important}.border-secondary.border-lighten-2{border:1px solid #546686!important}.border-top-secondary.border-top-lighten-2{border-top:1px solid #546686!important}.border-bottom-secondary.border-bottom-lighten-2{border-bottom:1px solid #546686!important}.border-left-secondary.border-left-lighten-2{border-left:1px solid #546686!important}.border-right-secondary.border-right-lighten-2{border-right:1px solid #546686!important}.overlay-secondary.overlay-lighten-2{background:#546686;background:rgba(84,102,134,.8)}.bg-secondary.bg-lighten-1,.btn-secondary.btn-lighten-1{background-color:#4A5A77!important}.secondary.lighten-1{color:#4A5A77!important}.btn-secondary.btn-lighten-1{border-color:#2C3648!important}.btn-secondary.btn-lighten-1:hover{border-color:#2C3648!important;background-color:#232A38!important}.btn-secondary.btn-lighten-1:active,.btn-secondary.btn-lighten-1:focus{border-color:#232A38!important;background-color:#191E28!important}.btn-outline-secondary.btn-outline-lighten-1{border-color:#4A5A77!important;color:#4A5A77!important}.btn-outline-secondary.btn-outline-lighten-1:hover{background-color:#4A5A77!important}.border-secondary.border-lighten-1{border:1px solid #4A5A77!important}.border-top-secondary.border-top-lighten-1{border-top:1px solid #4A5A77!important}.border-bottom-secondary.border-bottom-lighten-1{border-bottom:1px solid #4A5A77!important}.border-left-secondary.border-left-lighten-1{border-left:1px solid #4A5A77!important}.border-right-secondary.border-right-lighten-1{border-right:1px solid #4A5A77!important}.overlay-secondary.overlay-lighten-1{background:#4A5A77;background:rgba(74,90,119,.8)}.secondary{color:#404E67!important}.alert-secondary,.alert-secondary .alert-link{color:#000!important}.bg-secondary{background-color:#404E67!important}.bg-secondary .card-footer,.bg-secondary .card-header{background-color:transparent}.alert-secondary{border-color:#5B6F93!important;background-color:#5B6F93!important}.bullet.bullet-secondary{background-color:#404E67}.bg-light-secondary{background-color:rgba(64,78,103,.15)}.bg-secondary.badge-glow,.border-secondary.badge-glow{box-shadow:0 0 10px #404E67}.overlay-secondary{background:#404E67;background:rgba(64,78,103,.8)}.btn-secondary{background-color:#404E67!important;color:#FFF}.btn-secondary:hover{border-color:#364257!important;background-color:#4A5A77!important;color:#FFF!important}.btn-secondary:active,.btn-secondary:focus{border-color:#2C3648!important;background-color:#232A38!important;color:#FFF!important}.btn-outline-secondary{border-color:#404E67;background-color:transparent;color:#404E67}.btn-outline-secondary:hover{background-color:#404E67;color:#FFF!important}.widget-timeline .timeline-items.timeline-icon-secondary:before{background-color:#404E67}input[type=checkbox].bg-secondary+.custom-control-label:before,input[type=radio].bg-secondary+.custom-control-label:before{background-color:#404E67!important}.bg-secondary.bg-darken-1,.btn-secondary.btn-darken-1{background-color:#364257!important}.border-secondary{border:1px solid #404E67!important}.border-top-secondary{border-top:1px solid #404E67}.border-bottom-secondary{border-bottom:1px solid #404E67}.border-left-secondary{border-left:1px solid #404E67}.border-right-secondary{border-right:1px solid #404E67}.secondary.darken-1{color:#364257!important}.btn-secondary.btn-darken-1{border-color:#2C3648!important}.btn-secondary.btn-darken-1:hover{border-color:#2C3648!important;background-color:#232A38!important}.btn-secondary.btn-darken-1:active,.btn-secondary.btn-darken-1:focus{border-color:#232A38!important;background-color:#191E28!important}.btn-outline-secondary.btn-outline-darken-1{border-color:#364257!important;color:#364257!important}.btn-outline-secondary.btn-outline-darken-1:hover{background-color:#364257!important}.border-secondary.border-darken-1{border:1px solid #364257!important}.border-top-secondary.border-top-darken-1{border-top:1px solid #364257!important}.border-bottom-secondary.border-bottom-darken-1{border-bottom:1px solid #364257!important}.border-left-secondary.border-left-darken-1{border-left:1px solid #364257!important}.border-right-secondary.border-right-darken-1{border-right:1px solid #364257!important}.overlay-secondary.overlay-darken-1{background:#364257;background:rgba(54,66,87,.8)}.bg-secondary.bg-darken-2,.btn-secondary.btn-darken-2{background-color:#2C3648!important}.secondary.darken-2{color:#2C3648!important}.btn-secondary.btn-darken-2{border-color:#2C3648!important}.btn-secondary.btn-darken-2:hover{border-color:#2C3648!important;background-color:#232A38!important}.btn-secondary.btn-darken-2:active,.btn-secondary.btn-darken-2:focus{border-color:#232A38!important;background-color:#191E28!important}.btn-outline-secondary.btn-outline-darken-2{border-color:#2C3648!important;color:#2C3648!important}.btn-outline-secondary.btn-outline-darken-2:hover{background-color:#2C3648!important}.border-secondary.border-darken-2{border:1px solid #2C3648!important}.border-top-secondary.border-top-darken-2{border-top:1px solid #2C3648!important}.border-bottom-secondary.border-bottom-darken-2{border-bottom:1px solid #2C3648!important}.border-left-secondary.border-left-darken-2{border-left:1px solid #2C3648!important}.border-right-secondary.border-right-darken-2{border-right:1px solid #2C3648!important}.overlay-secondary.overlay-darken-2{background:#2C3648;background:rgba(44,54,72,.8)}.secondary.darken-3{color:#232A38!important}.bg-secondary.bg-darken-3{background-color:#232A38!important}.btn-secondary.btn-darken-3,.btn-secondary.btn-darken-3:hover{border-color:#2C3648!important;background-color:#232A38!important}.btn-secondary.btn-darken-3:active,.btn-secondary.btn-darken-3:focus{border-color:#232A38!important;background-color:#191E28!important}.btn-outline-secondary.btn-outline-darken-3{border-color:#232A38!important;color:#232A38!important}.btn-outline-secondary.btn-outline-darken-3:hover{background-color:#232A38!important}.border-secondary.border-darken-3{border:1px solid #232A38!important}.border-top-secondary.border-top-darken-3{border-top:1px solid #232A38!important}.border-bottom-secondary.border-bottom-darken-3{border-bottom:1px solid #232A38!important}.border-left-secondary.border-left-darken-3{border-left:1px solid #232A38!important}.border-right-secondary.border-right-darken-3{border-right:1px solid #232A38!important}.overlay-secondary.overlay-darken-3{background:#232A38;background:rgba(35,42,56,.8)}.bg-secondary.bg-darken-4,.btn-secondary.btn-darken-4{background-color:#191E28!important}.secondary.darken-4{color:#191E28!important}.btn-secondary.btn-darken-4{border-color:#2C3648!important}.btn-secondary.btn-darken-4:hover{border-color:#2C3648!important;background-color:#232A38!important}.btn-secondary.btn-darken-4:active,.btn-secondary.btn-darken-4:focus{border-color:#232A38!important;background-color:#191E28!important}.btn-outline-secondary.btn-outline-darken-4{border-color:#191E28!important;color:#191E28!important}.btn-outline-secondary.btn-outline-darken-4:hover{background-color:#191E28!important}input:focus~.bg-secondary{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #191E28!important}.border-secondary.border-darken-4{border:1px solid #191E28!important}.border-top-secondary.border-top-darken-4{border-top:1px solid #191E28!important}.border-bottom-secondary.border-bottom-darken-4{border-bottom:1px solid #191E28!important}.border-left-secondary.border-left-darken-4{border-left:1px solid #191E28!important}.border-right-secondary.border-right-darken-4{border-right:1px solid #191E28!important}.overlay-secondary.overlay-darken-4{background:#191E28;background:rgba(25,30,40,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=secondary]:before{background-color:#191E28}.bg-success.bg-lighten-5,.btn-success.btn-lighten-5{background-color:#78F1CC!important}.success.lighten-5{color:#78F1CC!important}.btn-success.btn-lighten-5{border-color:#11A578!important}.btn-success.btn-lighten-5:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-lighten-5:active,.btn-success.btn-lighten-5:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-lighten-5{border-color:#78F1CC!important;color:#78F1CC!important}.btn-outline-success.btn-outline-lighten-5:hover{background-color:#78F1CC!important}.border-success.border-lighten-5{border:1px solid #78F1CC!important}.border-top-success.border-top-lighten-5{border-top:1px solid #78F1CC!important}.border-bottom-success.border-bottom-lighten-5{border-bottom:1px solid #78F1CC!important}.border-left-success.border-left-lighten-5{border-left:1px solid #78F1CC!important}.border-right-success.border-right-lighten-5{border-right:1px solid #78F1CC!important}.overlay-success.overlay-lighten-5{background:#78F1CC;background:rgba(120,241,204,.8)}.bg-success.bg-lighten-4,.btn-success.btn-lighten-4{background-color:#61EEC4!important}.success.lighten-4{color:#61EEC4!important}.btn-success.btn-lighten-4{border-color:#11A578!important}.btn-success.btn-lighten-4:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-lighten-4:active,.btn-success.btn-lighten-4:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-lighten-4{border-color:#61EEC4!important;color:#61EEC4!important}.btn-outline-success.btn-outline-lighten-4:hover{background-color:#61EEC4!important}.border-success.border-lighten-4{border:1px solid #61EEC4!important}.border-top-success.border-top-lighten-4{border-top:1px solid #61EEC4!important}.border-bottom-success.border-bottom-lighten-4{border-bottom:1px solid #61EEC4!important}.border-left-success.border-left-lighten-4{border-left:1px solid #61EEC4!important}.border-right-success.border-right-lighten-4{border-right:1px solid #61EEC4!important}.overlay-success.overlay-lighten-4{background:#61EEC4;background:rgba(97,238,196,.8)}.bg-success.bg-lighten-3,.btn-success.btn-lighten-3{background-color:#49ECBB!important}.success.lighten-3{color:#49ECBB!important}.btn-success.btn-lighten-3{border-color:#11A578!important}.btn-success.btn-lighten-3:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-lighten-3:active,.btn-success.btn-lighten-3:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-lighten-3{border-color:#49ECBB!important;color:#49ECBB!important}.btn-outline-success.btn-outline-lighten-3:hover{background-color:#49ECBB!important}.border-success.border-lighten-3{border:1px solid #49ECBB!important}.border-top-success.border-top-lighten-3{border-top:1px solid #49ECBB!important}.border-bottom-success.border-bottom-lighten-3{border-bottom:1px solid #49ECBB!important}.border-left-success.border-left-lighten-3{border-left:1px solid #49ECBB!important}.border-right-success.border-right-lighten-3{border-right:1px solid #49ECBB!important}.overlay-success.overlay-lighten-3{background:#49ECBB;background:rgba(73,236,187,.8)}.bg-success.bg-lighten-2,.btn-success.btn-lighten-2{background-color:#32EAB2!important}.success.lighten-2{color:#32EAB2!important}.btn-success.btn-lighten-2{border-color:#11A578!important}.btn-success.btn-lighten-2:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-lighten-2:active,.btn-success.btn-lighten-2:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-lighten-2{border-color:#32EAB2!important;color:#32EAB2!important}.btn-outline-success.btn-outline-lighten-2:hover{background-color:#32EAB2!important}.border-success.border-lighten-2{border:1px solid #32EAB2!important}.border-top-success.border-top-lighten-2{border-top:1px solid #32EAB2!important}.border-bottom-success.border-bottom-lighten-2{border-bottom:1px solid #32EAB2!important}.border-left-success.border-left-lighten-2{border-left:1px solid #32EAB2!important}.border-right-success.border-right-lighten-2{border-right:1px solid #32EAB2!important}.overlay-success.overlay-lighten-2{background:#32EAB2;background:rgba(50,234,178,.8)}.bg-success.bg-lighten-1,.btn-success.btn-lighten-1{background-color:#1BE7AA!important}.success.lighten-1{color:#1BE7AA!important}.btn-success.btn-lighten-1{border-color:#11A578!important}.btn-success.btn-lighten-1:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-lighten-1:active,.btn-success.btn-lighten-1:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-lighten-1{border-color:#1BE7AA!important;color:#1BE7AA!important}.btn-outline-success.btn-outline-lighten-1:hover{background-color:#1BE7AA!important}.border-success.border-lighten-1{border:1px solid #1BE7AA!important}.border-top-success.border-top-lighten-1{border-top:1px solid #1BE7AA!important}.border-bottom-success.border-bottom-lighten-1{border-bottom:1px solid #1BE7AA!important}.border-left-success.border-left-lighten-1{border-left:1px solid #1BE7AA!important}.border-right-success.border-right-lighten-1{border-right:1px solid #1BE7AA!important}.overlay-success.overlay-lighten-1{background:#1BE7AA;background:rgba(27,231,170,.8)}.success{color:#16D39A!important}.bg-success{background-color:#16D39A!important}.bg-success .card-footer,.bg-success .card-header{background-color:transparent}.alert-success{border-color:#45ECB9!important;background-color:#45ECB9!important;color:#053124!important}.alert-success .alert-link{color:#010C09!important}.bullet.bullet-success{background-color:#16D39A}.bg-light-success{background-color:rgba(22,211,154,.15)}.bg-success.badge-glow,.border-success.badge-glow{box-shadow:0 0 10px #16D39A}.overlay-success{background:#16D39A;background:rgba(22,211,154,.8)}.btn-success{background-color:#16D39A!important;color:#FFF}.btn-success:hover{border-color:#14BC89!important;background-color:#1BE7AA!important;color:#FFF!important}.btn-success:active,.btn-success:focus{border-color:#11A578!important;background-color:#0F8E67!important;color:#FFF!important}.btn-outline-success{border-color:#16D39A;background-color:transparent;color:#16D39A}.btn-outline-success:hover{background-color:#16D39A;color:#FFF!important}.widget-timeline .timeline-items.timeline-icon-success:before{background-color:#16D39A}input[type=checkbox].bg-success+.custom-control-label:before,input[type=radio].bg-success+.custom-control-label:before{background-color:#16D39A!important}.bg-success.bg-darken-1,.btn-success.btn-darken-1{background-color:#14BC89!important}.border-success{border:1px solid #16D39A!important}.border-top-success{border-top:1px solid #16D39A}.border-bottom-success{border-bottom:1px solid #16D39A}.border-left-success{border-left:1px solid #16D39A}.border-right-success{border-right:1px solid #16D39A}.success.darken-1{color:#14BC89!important}.btn-success.btn-darken-1{border-color:#11A578!important}.btn-success.btn-darken-1:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-darken-1:active,.btn-success.btn-darken-1:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-darken-1{border-color:#14BC89!important;color:#14BC89!important}.btn-outline-success.btn-outline-darken-1:hover{background-color:#14BC89!important}.border-success.border-darken-1{border:1px solid #14BC89!important}.border-top-success.border-top-darken-1{border-top:1px solid #14BC89!important}.border-bottom-success.border-bottom-darken-1{border-bottom:1px solid #14BC89!important}.border-left-success.border-left-darken-1{border-left:1px solid #14BC89!important}.border-right-success.border-right-darken-1{border-right:1px solid #14BC89!important}.overlay-success.overlay-darken-1{background:#14BC89;background:rgba(20,188,137,.8)}.bg-success.bg-darken-2,.btn-success.btn-darken-2{background-color:#11A578!important}.success.darken-2{color:#11A578!important}.btn-success.btn-darken-2{border-color:#11A578!important}.btn-success.btn-darken-2:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-darken-2:active,.btn-success.btn-darken-2:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-darken-2{border-color:#11A578!important;color:#11A578!important}.btn-outline-success.btn-outline-darken-2:hover{background-color:#11A578!important}.border-success.border-darken-2{border:1px solid #11A578!important}.border-top-success.border-top-darken-2{border-top:1px solid #11A578!important}.border-bottom-success.border-bottom-darken-2{border-bottom:1px solid #11A578!important}.border-left-success.border-left-darken-2{border-left:1px solid #11A578!important}.border-right-success.border-right-darken-2{border-right:1px solid #11A578!important}.overlay-success.overlay-darken-2{background:#11A578;background:rgba(17,165,120,.8)}.success.darken-3{color:#0F8E67!important}.bg-success.bg-darken-3{background-color:#0F8E67!important}.btn-success.btn-darken-3,.btn-success.btn-darken-3:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-darken-3:active,.btn-success.btn-darken-3:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-darken-3{border-color:#0F8E67!important;color:#0F8E67!important}.btn-outline-success.btn-outline-darken-3:hover{background-color:#0F8E67!important}.border-success.border-darken-3{border:1px solid #0F8E67!important}.border-top-success.border-top-darken-3{border-top:1px solid #0F8E67!important}.border-bottom-success.border-bottom-darken-3{border-bottom:1px solid #0F8E67!important}.border-left-success.border-left-darken-3{border-left:1px solid #0F8E67!important}.border-right-success.border-right-darken-3{border-right:1px solid #0F8E67!important}.overlay-success.overlay-darken-3{background:#0F8E67;background:rgba(15,142,103,.8)}.bg-success.bg-darken-4,.btn-success.btn-darken-4{background-color:#0C7757!important}.success.darken-4{color:#0C7757!important}.btn-success.btn-darken-4{border-color:#11A578!important}.btn-success.btn-darken-4:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-darken-4:active,.btn-success.btn-darken-4:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-darken-4{border-color:#0C7757!important;color:#0C7757!important}.btn-outline-success.btn-outline-darken-4:hover{background-color:#0C7757!important}.border-success.border-darken-4{border:1px solid #0C7757!important}.border-top-success.border-top-darken-4{border-top:1px solid #0C7757!important}.border-bottom-success.border-bottom-darken-4{border-bottom:1px solid #0C7757!important}.border-left-success.border-left-darken-4{border-left:1px solid #0C7757!important}.border-right-success.border-right-darken-4{border-right:1px solid #0C7757!important}.overlay-success.overlay-darken-4{background:#0C7757;background:rgba(12,119,87,.8)}.bg-success.bg-accent-1,.btn-success.btn-accent-1{background-color:#E1FFF1!important}.success.accent-1{color:#E1FFF1!important}.btn-success.btn-accent-1{border-color:#11A578!important}.btn-success.btn-accent-1:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-accent-1:active,.btn-success.btn-accent-1:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-accent-1{border-color:#E1FFF1!important;color:#E1FFF1!important}.btn-outline-success.btn-outline-accent-1:hover{background-color:#E1FFF1!important}.border-success.border-accent-1{border:1px solid #E1FFF1!important}.border-top-success.border-top-accent-1{border-top:1px solid #E1FFF1!important}.border-bottom-success.border-bottom-accent-1{border-bottom:1px solid #E1FFF1!important}.border-left-success.border-left-accent-1{border-left:1px solid #E1FFF1!important}.border-right-success.border-right-accent-1{border-right:1px solid #E1FFF1!important}.overlay-success.overlay-accent-1{background:#E1FFF1;background:rgba(225,255,241,.8)}.bg-success.bg-accent-2,.btn-success.btn-accent-2{background-color:#AEFFD9!important}.success.accent-2{color:#AEFFD9!important}.btn-success.btn-accent-2{border-color:#11A578!important}.btn-success.btn-accent-2:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-accent-2:active,.btn-success.btn-accent-2:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-accent-2{border-color:#AEFFD9!important;color:#AEFFD9!important}.btn-outline-success.btn-outline-accent-2:hover{background-color:#AEFFD9!important}.border-success.border-accent-2{border:1px solid #AEFFD9!important}.border-top-success.border-top-accent-2{border-top:1px solid #AEFFD9!important}.border-bottom-success.border-bottom-accent-2{border-bottom:1px solid #AEFFD9!important}.border-left-success.border-left-accent-2{border-left:1px solid #AEFFD9!important}.border-right-success.border-right-accent-2{border-right:1px solid #AEFFD9!important}.overlay-success.overlay-accent-2{background:#AEFFD9;background:rgba(174,255,217,.8)}.bg-success.bg-accent-3,.btn-success.btn-accent-3{background-color:#7BFFC1!important}.success.accent-3{color:#7BFFC1!important}.btn-success.btn-accent-3{border-color:#11A578!important}.btn-success.btn-accent-3:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-accent-3:active,.btn-success.btn-accent-3:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-accent-3{border-color:#7BFFC1!important;color:#7BFFC1!important}.btn-outline-success.btn-outline-accent-3:hover{background-color:#7BFFC1!important}.border-success.border-accent-3{border:1px solid #7BFFC1!important}.border-top-success.border-top-accent-3{border-top:1px solid #7BFFC1!important}.border-bottom-success.border-bottom-accent-3{border-bottom:1px solid #7BFFC1!important}.border-left-success.border-left-accent-3{border-left:1px solid #7BFFC1!important}.border-right-success.border-right-accent-3{border-right:1px solid #7BFFC1!important}.overlay-success.overlay-accent-3{background:#7BFFC1;background:rgba(123,255,193,.8)}.bg-success.bg-accent-4,.btn-success.btn-accent-4{background-color:#62FFB5!important}.success.accent-4{color:#62FFB5!important}.btn-success.btn-accent-4{border-color:#11A578!important}.btn-success.btn-accent-4:hover{border-color:#11A578!important;background-color:#0F8E67!important}.btn-success.btn-accent-4:active,.btn-success.btn-accent-4:focus{border-color:#0F8E67!important;background-color:#0C7757!important}.btn-outline-success.btn-outline-accent-4{border-color:#62FFB5!important;color:#62FFB5!important}.btn-outline-success.btn-outline-accent-4:hover{background-color:#62FFB5!important}input:focus~.bg-success{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #62FFB5!important}.border-success.border-accent-4{border:1px solid #62FFB5!important}.border-top-success.border-top-accent-4{border-top:1px solid #62FFB5!important}.border-bottom-success.border-bottom-accent-4{border-bottom:1px solid #62FFB5!important}.border-left-success.border-left-accent-4{border-left:1px solid #62FFB5!important}.border-right-success.border-right-accent-4{border-right:1px solid #62FFB5!important}.btn-info.btn-lighten-5,.btn-info.btn-lighten-5:hover{border-color:#1AB0C3!important}.overlay-success.overlay-accent-4{background:#62FFB5;background:rgba(98,255,181,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=success]:before{background-color:#62FFB5}.bg-info.bg-lighten-5,.btn-info.btn-lighten-5{background-color:#9EE8F2!important}.info.lighten-5{color:#9EE8F2!important}.btn-info.btn-lighten-5:hover{background-color:#179BAD!important}.btn-info.btn-lighten-5:active,.btn-info.btn-lighten-5:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-lighten-5{border-color:#9EE8F2!important;color:#9EE8F2!important}.btn-outline-info.btn-outline-lighten-5:hover{background-color:#9EE8F2!important}.border-info.border-lighten-5{border:1px solid #9EE8F2!important}.border-top-info.border-top-lighten-5{border-top:1px solid #9EE8F2!important}.border-bottom-info.border-bottom-lighten-5{border-bottom:1px solid #9EE8F2!important}.border-left-info.border-left-lighten-5{border-left:1px solid #9EE8F2!important}.border-right-info.border-right-lighten-5{border-right:1px solid #9EE8F2!important}.btn-info.btn-lighten-4,.btn-info.btn-lighten-4:hover{border-color:#1AB0C3!important}.overlay-info.overlay-lighten-5{background:#9EE8F2;background:rgba(158,232,242,.8)}.bg-info.bg-lighten-4,.btn-info.btn-lighten-4{background-color:#87E3EF!important}.info.lighten-4{color:#87E3EF!important}.btn-info.btn-lighten-4:hover{background-color:#179BAD!important}.btn-info.btn-lighten-4:active,.btn-info.btn-lighten-4:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-lighten-4{border-color:#87E3EF!important;color:#87E3EF!important}.btn-outline-info.btn-outline-lighten-4:hover{background-color:#87E3EF!important}.border-info.border-lighten-4{border:1px solid #87E3EF!important}.border-top-info.border-top-lighten-4{border-top:1px solid #87E3EF!important}.border-bottom-info.border-bottom-lighten-4{border-bottom:1px solid #87E3EF!important}.border-left-info.border-left-lighten-4{border-left:1px solid #87E3EF!important}.border-right-info.border-right-lighten-4{border-right:1px solid #87E3EF!important}.btn-info.btn-lighten-3,.btn-info.btn-lighten-3:hover{border-color:#1AB0C3!important}.overlay-info.overlay-lighten-4{background:#87E3EF;background:rgba(135,227,239,.8)}.bg-info.bg-lighten-3,.btn-info.btn-lighten-3{background-color:#71DEEC!important}.info.lighten-3{color:#71DEEC!important}.btn-info.btn-lighten-3:hover{background-color:#179BAD!important}.btn-info.btn-lighten-3:active,.btn-info.btn-lighten-3:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-lighten-3{border-color:#71DEEC!important;color:#71DEEC!important}.btn-outline-info.btn-outline-lighten-3:hover{background-color:#71DEEC!important}.border-info.border-lighten-3{border:1px solid #71DEEC!important}.border-top-info.border-top-lighten-3{border-top:1px solid #71DEEC!important}.border-bottom-info.border-bottom-lighten-3{border-bottom:1px solid #71DEEC!important}.border-left-info.border-left-lighten-3{border-left:1px solid #71DEEC!important}.border-right-info.border-right-lighten-3{border-right:1px solid #71DEEC!important}.btn-info.btn-lighten-2,.btn-info.btn-lighten-2:hover{border-color:#1AB0C3!important}.overlay-info.overlay-lighten-3{background:#71DEEC;background:rgba(113,222,236,.8)}.bg-info.bg-lighten-2,.btn-info.btn-lighten-2{background-color:#5AD9E9!important}.info.lighten-2{color:#5AD9E9!important}.btn-info.btn-lighten-2:hover{background-color:#179BAD!important}.btn-info.btn-lighten-2:active,.btn-info.btn-lighten-2:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-lighten-2{border-color:#5AD9E9!important;color:#5AD9E9!important}.btn-outline-info.btn-outline-lighten-2:hover{background-color:#5AD9E9!important}.border-info.border-lighten-2{border:1px solid #5AD9E9!important}.border-top-info.border-top-lighten-2{border-top:1px solid #5AD9E9!important}.border-bottom-info.border-bottom-lighten-2{border-bottom:1px solid #5AD9E9!important}.border-left-info.border-left-lighten-2{border-left:1px solid #5AD9E9!important}.border-right-info.border-right-lighten-2{border-right:1px solid #5AD9E9!important}.btn-info.btn-lighten-1,.btn-info.btn-lighten-1:hover{border-color:#1AB0C3!important}.overlay-info.overlay-lighten-2{background:#5AD9E9;background:rgba(90,217,233,.8)}.bg-info.bg-lighten-1,.btn-info.btn-lighten-1{background-color:#44D3E6!important}.info.lighten-1{color:#44D3E6!important}.btn-info.btn-lighten-1:hover{background-color:#179BAD!important}.btn-info.btn-lighten-1:active,.btn-info.btn-lighten-1:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-lighten-1{border-color:#44D3E6!important;color:#44D3E6!important}.btn-outline-info.btn-outline-lighten-1:hover{background-color:#44D3E6!important}.border-info.border-lighten-1{border:1px solid #44D3E6!important}.border-top-info.border-top-lighten-1{border-top:1px solid #44D3E6!important}.border-bottom-info.border-bottom-lighten-1{border-bottom:1px solid #44D3E6!important}.border-left-info.border-left-lighten-1{border-left:1px solid #44D3E6!important}.border-right-info.border-right-lighten-1{border-right:1px solid #44D3E6!important}.overlay-info.overlay-lighten-1{background:#44D3E6;background:rgba(68,211,230,.8)}.info{color:#2DCEE3!important}.bg-info{background-color:#2DCEE3!important}.bg-info .card-footer,.bg-info .card-header{background-color:transparent}.alert-info{border-color:#6CDDEB!important;background-color:#6CDDEB!important;color:#0B4A53!important}.alert-info .alert-link{color:#062A2F!important}.bullet.bullet-info{background-color:#2DCEE3}.bg-light-info{background-color:rgba(45,206,227,.15)}.bg-info.badge-glow,.border-info.badge-glow{box-shadow:0 0 10px #2DCEE3}.overlay-info{background:#2DCEE3;background:rgba(45,206,227,.8)}.btn-info{background-color:#2DCEE3!important;color:#FFF}.btn-info:hover{border-color:#1DC4DA!important;background-color:#44D3E6!important;color:#FFF!important}.btn-info:active,.btn-info:focus{border-color:#1AB0C3!important;background-color:#179BAD!important;color:#FFF!important}.btn-outline-info{border-color:#2DCEE3;background-color:transparent;color:#2DCEE3}.btn-outline-info:hover,.widget-timeline .timeline-items.timeline-icon-info:before{background-color:#2DCEE3}.btn-outline-info:hover{color:#FFF!important}input[type=checkbox].bg-info+.custom-control-label:before,input[type=radio].bg-info+.custom-control-label:before{background-color:#2DCEE3!important}.bg-info.bg-darken-1,.btn-info.btn-darken-1{background-color:#1DC4DA!important}.border-info{border:1px solid #2DCEE3!important}.border-top-info{border-top:1px solid #2DCEE3}.border-bottom-info{border-bottom:1px solid #2DCEE3}.border-left-info{border-left:1px solid #2DCEE3}.border-right-info{border-right:1px solid #2DCEE3}.info.darken-1{color:#1DC4DA!important}.btn-info.btn-darken-1{border-color:#1AB0C3!important}.btn-info.btn-darken-1:hover{border-color:#1AB0C3!important;background-color:#179BAD!important}.btn-info.btn-darken-1:active,.btn-info.btn-darken-1:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-darken-1{border-color:#1DC4DA!important;color:#1DC4DA!important}.btn-outline-info.btn-outline-darken-1:hover{background-color:#1DC4DA!important}.border-info.border-darken-1{border:1px solid #1DC4DA!important}.border-top-info.border-top-darken-1{border-top:1px solid #1DC4DA!important}.border-bottom-info.border-bottom-darken-1{border-bottom:1px solid #1DC4DA!important}.border-left-info.border-left-darken-1{border-left:1px solid #1DC4DA!important}.border-right-info.border-right-darken-1{border-right:1px solid #1DC4DA!important}.btn-info.btn-darken-2,.btn-info.btn-darken-2:hover{border-color:#1AB0C3!important}.overlay-info.overlay-darken-1{background:#1DC4DA;background:rgba(29,196,218,.8)}.bg-info.bg-darken-2,.btn-info.btn-darken-2{background-color:#1AB0C3!important}.info.darken-2{color:#1AB0C3!important}.btn-info.btn-darken-2:hover{background-color:#179BAD!important}.btn-info.btn-darken-2:active,.btn-info.btn-darken-2:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-darken-2{border-color:#1AB0C3!important;color:#1AB0C3!important}.btn-outline-info.btn-outline-darken-2:hover{background-color:#1AB0C3!important}.border-info.border-darken-2{border:1px solid #1AB0C3!important}.border-top-info.border-top-darken-2{border-top:1px solid #1AB0C3!important}.border-bottom-info.border-bottom-darken-2{border-bottom:1px solid #1AB0C3!important}.border-left-info.border-left-darken-2{border-left:1px solid #1AB0C3!important}.border-right-info.border-right-darken-2{border-right:1px solid #1AB0C3!important}.overlay-info.overlay-darken-2{background:#1AB0C3;background:rgba(26,176,195,.8)}.info.darken-3{color:#179BAD!important}.bg-info.bg-darken-3{background-color:#179BAD!important}.btn-info.btn-darken-3,.btn-info.btn-darken-3:hover{border-color:#1AB0C3!important;background-color:#179BAD!important}.btn-info.btn-darken-3:active,.btn-info.btn-darken-3:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-darken-3{border-color:#179BAD!important;color:#179BAD!important}.btn-outline-info.btn-outline-darken-3:hover{background-color:#179BAD!important}.border-info.border-darken-3{border:1px solid #179BAD!important}.border-top-info.border-top-darken-3{border-top:1px solid #179BAD!important}.border-bottom-info.border-bottom-darken-3{border-bottom:1px solid #179BAD!important}.border-left-info.border-left-darken-3{border-left:1px solid #179BAD!important}.border-right-info.border-right-darken-3{border-right:1px solid #179BAD!important}.btn-info.btn-darken-4,.btn-info.btn-darken-4:hover{border-color:#1AB0C3!important}.overlay-info.overlay-darken-3{background:#179BAD;background:rgba(23,155,173,.8)}.bg-info.bg-darken-4,.btn-info.btn-darken-4{background-color:#148796!important}.info.darken-4{color:#148796!important}.btn-info.btn-darken-4:hover{background-color:#179BAD!important}.btn-info.btn-darken-4:active,.btn-info.btn-darken-4:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-darken-4{border-color:#148796!important;color:#148796!important}.btn-outline-info.btn-outline-darken-4:hover{background-color:#148796!important}.border-info.border-darken-4{border:1px solid #148796!important}.border-top-info.border-top-darken-4{border-top:1px solid #148796!important}.border-bottom-info.border-bottom-darken-4{border-bottom:1px solid #148796!important}.border-left-info.border-left-darken-4{border-left:1px solid #148796!important}.border-right-info.border-right-darken-4{border-right:1px solid #148796!important}.btn-info.btn-accent-1,.btn-info.btn-accent-1:hover{border-color:#1AB0C3!important}.overlay-info.overlay-darken-4{background:#148796;background:rgba(20,135,150,.8)}.bg-info.bg-accent-1,.btn-info.btn-accent-1{background-color:#FEFFFF!important}.info.accent-1{color:#FEFFFF!important}.btn-info.btn-accent-1:hover{background-color:#179BAD!important}.btn-info.btn-accent-1:active,.btn-info.btn-accent-1:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-accent-1{border-color:#FEFFFF!important;color:#FEFFFF!important}.btn-outline-info.btn-outline-accent-1:hover{background-color:#FEFFFF!important}.border-info.border-accent-1{border:1px solid #FEFFFF!important}.border-top-info.border-top-accent-1{border-top:1px solid #FEFFFF!important}.border-bottom-info.border-bottom-accent-1{border-bottom:1px solid #FEFFFF!important}.border-left-info.border-left-accent-1{border-left:1px solid #FEFFFF!important}.border-right-info.border-right-accent-1{border-right:1px solid #FEFFFF!important}.btn-info.btn-accent-2,.btn-info.btn-accent-2:hover{border-color:#1AB0C3!important}.overlay-info.overlay-accent-1{background:#FEFFFF;background:rgba(254,255,255,.8)}.bg-info.bg-accent-2,.btn-info.btn-accent-2{background-color:#CBF5FF!important}.info.accent-2{color:#CBF5FF!important}.btn-info.btn-accent-2:hover{background-color:#179BAD!important}.btn-info.btn-accent-2:active,.btn-info.btn-accent-2:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-accent-2{border-color:#CBF5FF!important;color:#CBF5FF!important}.btn-outline-info.btn-outline-accent-2:hover{background-color:#CBF5FF!important}.border-info.border-accent-2{border:1px solid #CBF5FF!important}.border-top-info.border-top-accent-2{border-top:1px solid #CBF5FF!important}.border-bottom-info.border-bottom-accent-2{border-bottom:1px solid #CBF5FF!important}.border-left-info.border-left-accent-2{border-left:1px solid #CBF5FF!important}.border-right-info.border-right-accent-2{border-right:1px solid #CBF5FF!important}.btn-info.btn-accent-3,.btn-info.btn-accent-3:hover{border-color:#1AB0C3!important}.overlay-info.overlay-accent-2{background:#CBF5FF;background:rgba(203,245,255,.8)}.bg-info.bg-accent-3,.btn-info.btn-accent-3{background-color:#98ECFF!important}.info.accent-3{color:#98ECFF!important}.btn-info.btn-accent-3:hover{background-color:#179BAD!important}.btn-info.btn-accent-3:active,.btn-info.btn-accent-3:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-accent-3{border-color:#98ECFF!important;color:#98ECFF!important}.btn-outline-info.btn-outline-accent-3:hover{background-color:#98ECFF!important}.border-info.border-accent-3{border:1px solid #98ECFF!important}.border-top-info.border-top-accent-3{border-top:1px solid #98ECFF!important}.border-bottom-info.border-bottom-accent-3{border-bottom:1px solid #98ECFF!important}.border-left-info.border-left-accent-3{border-left:1px solid #98ECFF!important}.border-right-info.border-right-accent-3{border-right:1px solid #98ECFF!important}.btn-info.btn-accent-4,.btn-info.btn-accent-4:hover{border-color:#1AB0C3!important}.overlay-info.overlay-accent-3{background:#98ECFF;background:rgba(152,236,255,.8)}.bg-info.bg-accent-4,.btn-info.btn-accent-4{background-color:#7FE7FF!important}.info.accent-4{color:#7FE7FF!important}.btn-info.btn-accent-4:hover{background-color:#179BAD!important}.btn-info.btn-accent-4:active,.btn-info.btn-accent-4:focus{border-color:#179BAD!important;background-color:#148796!important}.btn-outline-info.btn-outline-accent-4{border-color:#7FE7FF!important;color:#7FE7FF!important}.btn-outline-info.btn-outline-accent-4:hover{background-color:#7FE7FF!important}input:focus~.bg-info{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #7FE7FF!important}.border-info.border-accent-4{border:1px solid #7FE7FF!important}.border-top-info.border-top-accent-4{border-top:1px solid #7FE7FF!important}.border-bottom-info.border-bottom-accent-4{border-bottom:1px solid #7FE7FF!important}.border-left-info.border-left-accent-4{border-left:1px solid #7FE7FF!important}.border-right-info.border-right-accent-4{border-right:1px solid #7FE7FF!important}.overlay-info.overlay-accent-4{background:#7FE7FF;background:rgba(127,231,255,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=info]:before{background-color:#7FE7FF}.bg-warning.bg-lighten-5,.btn-warning.btn-lighten-5{background-color:#FFFDFD!important}.warning.lighten-5{color:#FFFDFD!important}.btn-warning.btn-lighten-5{border-color:#FF864A!important}.btn-warning.btn-lighten-5:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-lighten-5:active,.btn-warning.btn-lighten-5:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-lighten-5{border-color:#FFFDFD!important;color:#FFFDFD!important}.btn-outline-warning.btn-outline-lighten-5:hover{background-color:#FFFDFD!important}.border-warning.border-lighten-5{border:1px solid #FFFDFD!important}.border-top-warning.border-top-lighten-5{border-top:1px solid #FFFDFD!important}.border-bottom-warning.border-bottom-lighten-5{border-bottom:1px solid #FFFDFD!important}.border-left-warning.border-left-lighten-5{border-left:1px solid #FFFDFD!important}.border-right-warning.border-right-lighten-5{border-right:1px solid #FFFDFD!important}.overlay-warning.overlay-lighten-5{background:#FFFDFD;background:rgba(255,253,253,.8)}.bg-warning.bg-lighten-4,.btn-warning.btn-lighten-4{background-color:#FFECE3!important}.warning.lighten-4{color:#FFECE3!important}.btn-warning.btn-lighten-4{border-color:#FF864A!important}.btn-warning.btn-lighten-4:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-lighten-4:active,.btn-warning.btn-lighten-4:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-lighten-4{border-color:#FFECE3!important;color:#FFECE3!important}.btn-outline-warning.btn-outline-lighten-4:hover{background-color:#FFECE3!important}.border-warning.border-lighten-4{border:1px solid #FFECE3!important}.border-top-warning.border-top-lighten-4{border-top:1px solid #FFECE3!important}.border-bottom-warning.border-bottom-lighten-4{border-bottom:1px solid #FFECE3!important}.border-left-warning.border-left-lighten-4{border-left:1px solid #FFECE3!important}.border-right-warning.border-right-lighten-4{border-right:1px solid #FFECE3!important}.overlay-warning.overlay-lighten-4{background:#FFECE3;background:rgba(255,236,227,.8)}.bg-warning.bg-lighten-3,.btn-warning.btn-lighten-3{background-color:#FFDBCA!important}.warning.lighten-3{color:#FFDBCA!important}.btn-warning.btn-lighten-3{border-color:#FF864A!important}.btn-warning.btn-lighten-3:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-lighten-3:active,.btn-warning.btn-lighten-3:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-lighten-3{border-color:#FFDBCA!important;color:#FFDBCA!important}.btn-outline-warning.btn-outline-lighten-3:hover{background-color:#FFDBCA!important}.border-warning.border-lighten-3{border:1px solid #FFDBCA!important}.border-top-warning.border-top-lighten-3{border-top:1px solid #FFDBCA!important}.border-bottom-warning.border-bottom-lighten-3{border-bottom:1px solid #FFDBCA!important}.border-left-warning.border-left-lighten-3{border-left:1px solid #FFDBCA!important}.border-right-warning.border-right-lighten-3{border-right:1px solid #FFDBCA!important}.overlay-warning.overlay-lighten-3{background:#FFDBCA;background:rgba(255,219,202,.8)}.bg-warning.bg-lighten-2,.btn-warning.btn-lighten-2{background-color:#FFCAB0!important}.warning.lighten-2{color:#FFCAB0!important}.btn-warning.btn-lighten-2{border-color:#FF864A!important}.btn-warning.btn-lighten-2:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-lighten-2:active,.btn-warning.btn-lighten-2:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-lighten-2{border-color:#FFCAB0!important;color:#FFCAB0!important}.btn-outline-warning.btn-outline-lighten-2:hover{background-color:#FFCAB0!important}.border-warning.border-lighten-2{border:1px solid #FFCAB0!important}.border-top-warning.border-top-lighten-2{border-top:1px solid #FFCAB0!important}.border-bottom-warning.border-bottom-lighten-2{border-bottom:1px solid #FFCAB0!important}.border-left-warning.border-left-lighten-2{border-left:1px solid #FFCAB0!important}.border-right-warning.border-right-lighten-2{border-right:1px solid #FFCAB0!important}.overlay-warning.overlay-lighten-2{background:#FFCAB0;background:rgba(255,202,176,.8)}.bg-warning.bg-lighten-1,.btn-warning.btn-lighten-1{background-color:#FFB997!important}.warning.lighten-1{color:#FFB997!important}.btn-warning.btn-lighten-1{border-color:#FF864A!important}.btn-warning.btn-lighten-1:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-lighten-1:active,.btn-warning.btn-lighten-1:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-lighten-1{border-color:#FFB997!important;color:#FFB997!important}.btn-outline-warning.btn-outline-lighten-1:hover{background-color:#FFB997!important}.border-warning.border-lighten-1{border:1px solid #FFB997!important}.border-top-warning.border-top-lighten-1{border-top:1px solid #FFB997!important}.border-bottom-warning.border-bottom-lighten-1{border-bottom:1px solid #FFB997!important}.border-left-warning.border-left-lighten-1{border-left:1px solid #FFB997!important}.border-right-warning.border-right-lighten-1{border-right:1px solid #FFB997!important}.overlay-warning.overlay-lighten-1{background:#FFB997;background:rgba(255,185,151,.8)}.warning{color:#FFA87D!important}.bg-warning{background-color:#FFA87D!important}.bg-warning .card-footer,.bg-warning .card-header{background-color:transparent}.alert-warning{border-color:#FFD8C4!important;background-color:#FFD8C4!important;color:#CA4300!important}.alert-warning .alert-link{color:#A13500!important}.bullet.bullet-warning{background-color:#FFA87D}.bg-light-warning{background-color:rgba(255,168,125,.15)}.bg-warning.badge-glow,.border-warning.badge-glow{box-shadow:0 0 10px #FFA87D}.overlay-warning{background:#FFA87D;background:rgba(255,168,125,.8)}.btn-warning{background-color:#FFA87D!important;color:#FFF}.btn-warning:hover{border-color:#FF9764!important;background-color:#FFB997!important;color:#FFF!important}.btn-warning:active,.btn-warning:focus{border-color:#FF864A!important;background-color:#FF7531!important;color:#FFF!important}.btn-outline-warning{border-color:#FFA87D;background-color:transparent;color:#FFA87D}.btn-outline-warning:hover{background-color:#FFA87D;color:#FFF!important}.widget-timeline .timeline-items.timeline-icon-warning:before{background-color:#FFA87D}input[type=checkbox].bg-warning+.custom-control-label:before,input[type=radio].bg-warning+.custom-control-label:before{background-color:#FFA87D!important}.bg-warning.bg-darken-1,.btn-warning.btn-darken-1{background-color:#FF9764!important}.border-warning{border:1px solid #FFA87D!important}.border-top-warning{border-top:1px solid #FFA87D}.border-bottom-warning{border-bottom:1px solid #FFA87D}.border-left-warning{border-left:1px solid #FFA87D}.border-right-warning{border-right:1px solid #FFA87D}.warning.darken-1{color:#FF9764!important}.btn-warning.btn-darken-1{border-color:#FF864A!important}.btn-warning.btn-darken-1:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-darken-1:active,.btn-warning.btn-darken-1:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-darken-1{border-color:#FF9764!important;color:#FF9764!important}.btn-outline-warning.btn-outline-darken-1:hover{background-color:#FF9764!important}.border-warning.border-darken-1{border:1px solid #FF9764!important}.border-top-warning.border-top-darken-1{border-top:1px solid #FF9764!important}.border-bottom-warning.border-bottom-darken-1{border-bottom:1px solid #FF9764!important}.border-left-warning.border-left-darken-1{border-left:1px solid #FF9764!important}.border-right-warning.border-right-darken-1{border-right:1px solid #FF9764!important}.overlay-warning.overlay-darken-1{background:#FF9764;background:rgba(255,151,100,.8)}.bg-warning.bg-darken-2,.btn-warning.btn-darken-2{background-color:#FF864A!important}.warning.darken-2{color:#FF864A!important}.btn-warning.btn-darken-2{border-color:#FF864A!important}.btn-warning.btn-darken-2:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-darken-2:active,.btn-warning.btn-darken-2:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-darken-2{border-color:#FF864A!important;color:#FF864A!important}.btn-outline-warning.btn-outline-darken-2:hover{background-color:#FF864A!important}.border-warning.border-darken-2{border:1px solid #FF864A!important}.border-top-warning.border-top-darken-2{border-top:1px solid #FF864A!important}.border-bottom-warning.border-bottom-darken-2{border-bottom:1px solid #FF864A!important}.border-left-warning.border-left-darken-2{border-left:1px solid #FF864A!important}.border-right-warning.border-right-darken-2{border-right:1px solid #FF864A!important}.overlay-warning.overlay-darken-2{background:#FF864A;background:rgba(255,134,74,.8)}.warning.darken-3{color:#FF7531!important}.bg-warning.bg-darken-3{background-color:#FF7531!important}.btn-warning.btn-darken-3,.btn-warning.btn-darken-3:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-darken-3:active,.btn-warning.btn-darken-3:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-darken-3{border-color:#FF7531!important;color:#FF7531!important}.btn-outline-warning.btn-outline-darken-3:hover{background-color:#FF7531!important}.border-warning.border-darken-3{border:1px solid #FF7531!important}.border-top-warning.border-top-darken-3{border-top:1px solid #FF7531!important}.border-bottom-warning.border-bottom-darken-3{border-bottom:1px solid #FF7531!important}.border-left-warning.border-left-darken-3{border-left:1px solid #FF7531!important}.border-right-warning.border-right-darken-3{border-right:1px solid #FF7531!important}.overlay-warning.overlay-darken-3{background:#FF7531;background:rgba(255,117,49,.8)}.bg-warning.bg-darken-4,.btn-warning.btn-darken-4{background-color:#FF6417!important}.warning.darken-4{color:#FF6417!important}.btn-warning.btn-darken-4{border-color:#FF864A!important}.btn-warning.btn-darken-4:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-darken-4:active,.btn-warning.btn-darken-4:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-darken-4{border-color:#FF6417!important;color:#FF6417!important}.btn-outline-warning.btn-outline-darken-4:hover{background-color:#FF6417!important}.border-warning.border-darken-4{border:1px solid #FF6417!important}.border-top-warning.border-top-darken-4{border-top:1px solid #FF6417!important}.border-bottom-warning.border-bottom-darken-4{border-bottom:1px solid #FF6417!important}.border-left-warning.border-left-darken-4{border-left:1px solid #FF6417!important}.border-right-warning.border-right-darken-4{border-right:1px solid #FF6417!important}.overlay-warning.overlay-darken-4{background:#FF6417;background:rgba(255,100,23,.8)}.bg-warning.bg-accent-1,.btn-warning.btn-accent-1{background-color:#FFF5EF!important}.warning.accent-1{color:#FFF5EF!important}.btn-warning.btn-accent-1{border-color:#FF864A!important}.btn-warning.btn-accent-1:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-accent-1:active,.btn-warning.btn-accent-1:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-accent-1{border-color:#FFF5EF!important;color:#FFF5EF!important}.btn-outline-warning.btn-outline-accent-1:hover{background-color:#FFF5EF!important}.border-warning.border-accent-1{border:1px solid #FFF5EF!important}.border-top-warning.border-top-accent-1{border-top:1px solid #FFF5EF!important}.border-bottom-warning.border-bottom-accent-1{border-bottom:1px solid #FFF5EF!important}.border-left-warning.border-left-accent-1{border-left:1px solid #FFF5EF!important}.border-right-warning.border-right-accent-1{border-right:1px solid #FFF5EF!important}.overlay-warning.overlay-accent-1{background:#FFF5EF;background:rgba(255,245,239,.8)}.bg-warning.bg-accent-2,.btn-warning.btn-accent-2{background-color:#FFE5D8!important}.warning.accent-2{color:#FFE5D8!important}.btn-warning.btn-accent-2{border-color:#FF864A!important}.btn-warning.btn-accent-2:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-accent-2:active,.btn-warning.btn-accent-2:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-accent-2{border-color:#FFE5D8!important;color:#FFE5D8!important}.btn-outline-warning.btn-outline-accent-2:hover{background-color:#FFE5D8!important}.border-warning.border-accent-2{border:1px solid #FFE5D8!important}.border-top-warning.border-top-accent-2{border-top:1px solid #FFE5D8!important}.border-bottom-warning.border-bottom-accent-2{border-bottom:1px solid #FFE5D8!important}.border-left-warning.border-left-accent-2{border-left:1px solid #FFE5D8!important}.border-right-warning.border-right-accent-2{border-right:1px solid #FFE5D8!important}.overlay-warning.overlay-accent-2{background:#FFE5D8;background:rgba(255,229,216,.8)}.bg-warning.bg-accent-3,.btn-warning.btn-accent-3{background-color:#FFF6F3!important}.warning.accent-3{color:#FFF6F3!important}.btn-warning.btn-accent-3{border-color:#FF864A!important}.btn-warning.btn-accent-3:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-accent-3:active,.btn-warning.btn-accent-3:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-accent-3{border-color:#FFF6F3!important;color:#FFF6F3!important}.btn-outline-warning.btn-outline-accent-3:hover{background-color:#FFF6F3!important}.border-warning.border-accent-3{border:1px solid #FFF6F3!important}.border-top-warning.border-top-accent-3{border-top:1px solid #FFF6F3!important}.border-bottom-warning.border-bottom-accent-3{border-bottom:1px solid #FFF6F3!important}.border-left-warning.border-left-accent-3{border-left:1px solid #FFF6F3!important}.border-right-warning.border-right-accent-3{border-right:1px solid #FFF6F3!important}.overlay-warning.overlay-accent-3{background:#FFF6F3;background:rgba(255,246,243,.8)}.bg-warning.bg-accent-4,.btn-warning.btn-accent-4{background-color:#FFE3DA!important}.warning.accent-4{color:#FFE3DA!important}.btn-warning.btn-accent-4{border-color:#FF864A!important}.btn-warning.btn-accent-4:hover{border-color:#FF864A!important;background-color:#FF7531!important}.btn-warning.btn-accent-4:active,.btn-warning.btn-accent-4:focus{border-color:#FF7531!important;background-color:#FF6417!important}.btn-outline-warning.btn-outline-accent-4{border-color:#FFE3DA!important;color:#FFE3DA!important}.btn-outline-warning.btn-outline-accent-4:hover{background-color:#FFE3DA!important}input:focus~.bg-warning{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #FFE3DA!important}.border-warning.border-accent-4{border:1px solid #FFE3DA!important}.border-top-warning.border-top-accent-4{border-top:1px solid #FFE3DA!important}.border-bottom-warning.border-bottom-accent-4{border-bottom:1px solid #FFE3DA!important}.border-left-warning.border-left-accent-4{border-left:1px solid #FFE3DA!important}.border-right-warning.border-right-accent-4{border-right:1px solid #FFE3DA!important}.overlay-warning.overlay-accent-4{background:#FFE3DA;background:rgba(255,227,218,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=warning]:before{background-color:#FFE3DA}.bg-danger.bg-lighten-5,.btn-danger.btn-lighten-5{background-color:#FFF5F6!important}.danger.lighten-5{color:#FFF5F6!important}.btn-danger.btn-lighten-5{border-color:#FF425C!important}.btn-danger.btn-lighten-5:hover{border-color:#FF425C!important;background-color:#FF2946!important}.btn-danger.btn-lighten-5:active,.btn-danger.btn-lighten-5:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-lighten-5{border-color:#FFF5F6!important;color:#FFF5F6!important}.btn-outline-danger.btn-outline-lighten-5:hover{background-color:#FFF5F6!important}.border-danger.border-lighten-5{border:1px solid #FFF5F6!important}.border-top-danger.border-top-lighten-5{border-top:1px solid #FFF5F6!important}.border-bottom-danger.border-bottom-lighten-5{border-bottom:1px solid #FFF5F6!important}.border-left-danger.border-left-lighten-5{border-left:1px solid #FFF5F6!important}.border-right-danger.border-right-lighten-5{border-right:1px solid #FFF5F6!important}.overlay-danger.overlay-lighten-5{background:#FFF5F6;background:rgba(255,245,246,.8)}.bg-danger.bg-lighten-4,.btn-danger.btn-lighten-4{background-color:#FFDBE0!important}.danger.lighten-4{color:#FFDBE0!important}.btn-danger.btn-lighten-4{border-color:#FF425C!important}.btn-danger.btn-lighten-4:hover{border-color:#FF425C!important;background-color:#FF2946!important}.btn-danger.btn-lighten-4:active,.btn-danger.btn-lighten-4:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-lighten-4{border-color:#FFDBE0!important;color:#FFDBE0!important}.btn-outline-danger.btn-outline-lighten-4:hover{background-color:#FFDBE0!important}.border-danger.border-lighten-4{border:1px solid #FFDBE0!important}.border-top-danger.border-top-lighten-4{border-top:1px solid #FFDBE0!important}.border-bottom-danger.border-bottom-lighten-4{border-bottom:1px solid #FFDBE0!important}.border-left-danger.border-left-lighten-4{border-left:1px solid #FFDBE0!important}.border-right-danger.border-right-lighten-4{border-right:1px solid #FFDBE0!important}.overlay-danger.overlay-lighten-4{background:#FFDBE0;background:rgba(255,219,224,.8)}.bg-danger.bg-lighten-3,.btn-danger.btn-lighten-3{background-color:#FFC2CA!important}.danger.lighten-3{color:#FFC2CA!important}.btn-danger.btn-lighten-3{border-color:#FF425C!important}.btn-danger.btn-lighten-3:hover{border-color:#FF425C!important;background-color:#FF2946!important}.btn-danger.btn-lighten-3:active,.btn-danger.btn-lighten-3:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-lighten-3{border-color:#FFC2CA!important;color:#FFC2CA!important}.btn-outline-danger.btn-outline-lighten-3:hover{background-color:#FFC2CA!important}.border-danger.border-lighten-3{border:1px solid #FFC2CA!important}.border-top-danger.border-top-lighten-3{border-top:1px solid #FFC2CA!important}.border-bottom-danger.border-bottom-lighten-3{border-bottom:1px solid #FFC2CA!important}.border-left-danger.border-left-lighten-3{border-left:1px solid #FFC2CA!important}.border-right-danger.border-right-lighten-3{border-right:1px solid #FFC2CA!important}.overlay-danger.overlay-lighten-3{background:#FFC2CA;background:rgba(255,194,202,.8)}.bg-danger.bg-lighten-2,.btn-danger.btn-lighten-2{background-color:#FFA8B4!important}.danger.lighten-2{color:#FFA8B4!important}.btn-danger.btn-lighten-2{border-color:#FF425C!important}.btn-danger.btn-lighten-2:hover{border-color:#FF425C!important;background-color:#FF2946!important}.btn-danger.btn-lighten-2:active,.btn-danger.btn-lighten-2:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-lighten-2{border-color:#FFA8B4!important;color:#FFA8B4!important}.btn-outline-danger.btn-outline-lighten-2:hover{background-color:#FFA8B4!important}.border-danger.border-lighten-2{border:1px solid #FFA8B4!important}.border-top-danger.border-top-lighten-2{border-top:1px solid #FFA8B4!important}.border-bottom-danger.border-bottom-lighten-2{border-bottom:1px solid #FFA8B4!important}.border-left-danger.border-left-lighten-2{border-left:1px solid #FFA8B4!important}.border-right-danger.border-right-lighten-2{border-right:1px solid #FFA8B4!important}.overlay-danger.overlay-lighten-2{background:#FFA8B4;background:rgba(255,168,180,.8)}.bg-danger.bg-lighten-1,.btn-danger.btn-lighten-1{background-color:#FF8F9E!important}.danger.lighten-1{color:#FF8F9E!important}.btn-danger.btn-lighten-1{border-color:#FF425C!important}.btn-danger.btn-lighten-1:hover{border-color:#FF425C!important;background-color:#FF2946!important}.btn-danger.btn-lighten-1:active,.btn-danger.btn-lighten-1:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-lighten-1{border-color:#FF8F9E!important;color:#FF8F9E!important}.btn-outline-danger.btn-outline-lighten-1:hover{background-color:#FF8F9E!important}.border-danger.border-lighten-1{border:1px solid #FF8F9E!important}.border-top-danger.border-top-lighten-1{border-top:1px solid #FF8F9E!important}.border-bottom-danger.border-bottom-lighten-1{border-bottom:1px solid #FF8F9E!important}.border-left-danger.border-left-lighten-1{border-left:1px solid #FF8F9E!important}.border-right-danger.border-right-lighten-1{border-right:1px solid #FF8F9E!important}.overlay-danger.overlay-lighten-1{background:#FF8F9E;background:rgba(255,143,158,.8)}.danger{color:#FF7588!important}.bg-danger{background-color:#FF7588!important}.bg-danger .card-footer,.bg-danger .card-header{background-color:transparent}.alert-danger{border-color:#FFBCC6!important;background-color:#FFBCC6!important;color:#C2001B!important}.alert-danger .alert-link{color:#990015!important}.bullet.bullet-danger{background-color:#FF7588}.bg-light-danger{background-color:rgba(255,117,136,.15)}.bg-danger.badge-glow,.border-danger.badge-glow{box-shadow:0 0 10px #FF7588}.overlay-danger{background:#FF7588;background:rgba(255,117,136,.8)}.btn-danger{background-color:#FF7588!important;color:#FFF}.btn-danger:hover{border-color:#FF5C72!important;background-color:#FF8F9E!important;color:#FFF!important}.btn-danger:active,.btn-danger:focus{border-color:#FF425C!important;background-color:#FF2946!important;color:#FFF!important}.btn-outline-danger{border-color:#FF7588;background-color:transparent;color:#FF7588}.btn-outline-danger:hover{background-color:#FF7588;color:#FFF!important}.widget-timeline .timeline-items.timeline-icon-danger:before{background-color:#FF7588}input[type=checkbox].bg-danger+.custom-control-label:before,input[type=radio].bg-danger+.custom-control-label:before{background-color:#FF7588!important}.bg-danger.bg-darken-1,.btn-danger.btn-darken-1{background-color:#FF5C72!important}.border-danger{border:1px solid #FF7588!important}.border-top-danger{border-top:1px solid #FF7588}.border-bottom-danger{border-bottom:1px solid #FF7588}.border-left-danger{border-left:1px solid #FF7588}.border-right-danger{border-right:1px solid #FF7588}.danger.darken-1{color:#FF5C72!important}.btn-danger.btn-darken-1{border-color:#FF425C!important}.btn-danger.btn-darken-1:hover{border-color:#FF425C!important;background-color:#FF2946!important}.btn-danger.btn-darken-1:active,.btn-danger.btn-darken-1:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-darken-1{border-color:#FF5C72!important;color:#FF5C72!important}.btn-outline-danger.btn-outline-darken-1:hover{background-color:#FF5C72!important}.border-danger.border-darken-1{border:1px solid #FF5C72!important}.border-top-danger.border-top-darken-1{border-top:1px solid #FF5C72!important}.border-bottom-danger.border-bottom-darken-1{border-bottom:1px solid #FF5C72!important}.border-left-danger.border-left-darken-1{border-left:1px solid #FF5C72!important}.border-right-danger.border-right-darken-1{border-right:1px solid #FF5C72!important}.btn-danger.btn-darken-2,.btn-danger.btn-darken-2:hover{border-color:#FF425C!important}.overlay-danger.overlay-darken-1{background:#FF5C72;background:rgba(255,92,114,.8)}.bg-danger.bg-darken-2,.btn-danger.btn-darken-2{background-color:#FF425C!important}.danger.darken-2{color:#FF425C!important}.btn-danger.btn-darken-2:hover{background-color:#FF2946!important}.btn-danger.btn-darken-2:active,.btn-danger.btn-darken-2:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-darken-2{border-color:#FF425C!important;color:#FF425C!important}.btn-outline-danger.btn-outline-darken-2:hover{background-color:#FF425C!important}.border-danger.border-darken-2{border:1px solid #FF425C!important}.border-top-danger.border-top-darken-2{border-top:1px solid #FF425C!important}.border-bottom-danger.border-bottom-darken-2{border-bottom:1px solid #FF425C!important}.border-left-danger.border-left-darken-2{border-left:1px solid #FF425C!important}.border-right-danger.border-right-darken-2{border-right:1px solid #FF425C!important}.overlay-danger.overlay-darken-2{background:#FF425C;background:rgba(255,66,92,.8)}.danger.darken-3{color:#FF2946!important}.bg-danger.bg-darken-3{background-color:#FF2946!important}.btn-danger.btn-darken-3,.btn-danger.btn-darken-3:hover{border-color:#FF425C!important;background-color:#FF2946!important}.btn-danger.btn-darken-3:active,.btn-danger.btn-darken-3:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-darken-3{border-color:#FF2946!important;color:#FF2946!important}.btn-outline-danger.btn-outline-darken-3:hover{background-color:#FF2946!important}.border-danger.border-darken-3{border:1px solid #FF2946!important}.border-top-danger.border-top-darken-3{border-top:1px solid #FF2946!important}.border-bottom-danger.border-bottom-darken-3{border-bottom:1px solid #FF2946!important}.border-left-danger.border-left-darken-3{border-left:1px solid #FF2946!important}.border-right-danger.border-right-darken-3{border-right:1px solid #FF2946!important}.btn-danger.btn-darken-4,.btn-danger.btn-darken-4:hover{border-color:#FF425C!important}.overlay-danger.overlay-darken-3{background:#FF2946;background:rgba(255,41,70,.8)}.bg-danger.bg-darken-4,.btn-danger.btn-darken-4{background-color:#FF0F30!important}.danger.darken-4{color:#FF0F30!important}.btn-danger.btn-darken-4:hover{background-color:#FF2946!important}.btn-danger.btn-darken-4:active,.btn-danger.btn-darken-4:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-darken-4{border-color:#FF0F30!important;color:#FF0F30!important}.btn-outline-danger.btn-outline-darken-4:hover{background-color:#FF0F30!important}.border-danger.border-darken-4{border:1px solid #FF0F30!important}.border-top-danger.border-top-darken-4{border-top:1px solid #FF0F30!important}.border-bottom-danger.border-bottom-darken-4{border-bottom:1px solid #FF0F30!important}.border-left-danger.border-left-darken-4{border-left:1px solid #FF0F30!important}.border-right-danger.border-right-darken-4{border-right:1px solid #FF0F30!important}.btn-danger.btn-accent-1,.btn-danger.btn-accent-1:hover{border-color:#FF425C!important}.overlay-danger.overlay-darken-4{background:#FF0F30;background:rgba(255,15,48,.8)}.bg-danger.bg-accent-1,.btn-danger.btn-accent-1{background-color:#FFEEF1!important}.danger.accent-1{color:#FFEEF1!important}.btn-danger.btn-accent-1:hover{background-color:#FF2946!important}.btn-danger.btn-accent-1:active,.btn-danger.btn-accent-1:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-accent-1{border-color:#FFEEF1!important;color:#FFEEF1!important}.btn-outline-danger.btn-outline-accent-1:hover{background-color:#FFEEF1!important}.border-danger.border-accent-1{border:1px solid #FFEEF1!important}.border-top-danger.border-top-accent-1{border-top:1px solid #FFEEF1!important}.border-bottom-danger.border-bottom-accent-1{border-bottom:1px solid #FFEEF1!important}.border-left-danger.border-left-accent-1{border-left:1px solid #FFEEF1!important}.border-right-danger.border-right-accent-1{border-right:1px solid #FFEEF1!important}.btn-danger.btn-accent-2,.btn-danger.btn-accent-2:hover{border-color:#FF425C!important}.overlay-danger.overlay-accent-1{background:#FFEEF1;background:rgba(255,238,241,.8)}.bg-danger.bg-accent-2,.btn-danger.btn-accent-2{background-color:#FFD6DB!important}.danger.accent-2{color:#FFD6DB!important}.btn-danger.btn-accent-2:hover{background-color:#FF2946!important}.btn-danger.btn-accent-2:active,.btn-danger.btn-accent-2:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-accent-2{border-color:#FFD6DB!important;color:#FFD6DB!important}.btn-outline-danger.btn-outline-accent-2:hover{background-color:#FFD6DB!important}.border-danger.border-accent-2{border:1px solid #FFD6DB!important}.border-top-danger.border-top-accent-2{border-top:1px solid #FFD6DB!important}.border-bottom-danger.border-bottom-accent-2{border-bottom:1px solid #FFD6DB!important}.border-left-danger.border-left-accent-2{border-left:1px solid #FFD6DB!important}.border-right-danger.border-right-accent-2{border-right:1px solid #FFD6DB!important}.btn-danger.btn-accent-3,.btn-danger.btn-accent-3:hover{border-color:#FF425C!important}.overlay-danger.overlay-accent-2{background:#FFD6DB;background:rgba(255,214,219,.8)}.bg-danger.bg-accent-3,.btn-danger.btn-accent-3{background-color:#FFECEE!important}.danger.accent-3{color:#FFECEE!important}.btn-danger.btn-accent-3:hover{background-color:#FF2946!important}.btn-danger.btn-accent-3:active,.btn-danger.btn-accent-3:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-accent-3{border-color:#FFECEE!important;color:#FFECEE!important}.btn-outline-danger.btn-outline-accent-3:hover{background-color:#FFECEE!important}.border-danger.border-accent-3{border:1px solid #FFECEE!important}.border-top-danger.border-top-accent-3{border-top:1px solid #FFECEE!important}.border-bottom-danger.border-bottom-accent-3{border-bottom:1px solid #FFECEE!important}.border-left-danger.border-left-accent-3{border-left:1px solid #FFECEE!important}.border-right-danger.border-right-accent-3{border-right:1px solid #FFECEE!important}.btn-danger.btn-accent-4,.btn-danger.btn-accent-4:hover{border-color:#FF425C!important}.overlay-danger.overlay-accent-3{background:#FFECEE;background:rgba(255,236,238,.8)}.bg-danger.bg-accent-4,.btn-danger.btn-accent-4{background-color:#FFD3D7!important}.danger.accent-4{color:#FFD3D7!important}.btn-danger.btn-accent-4:hover{background-color:#FF2946!important}.btn-danger.btn-accent-4:active,.btn-danger.btn-accent-4:focus{border-color:#FF2946!important;background-color:#FF0F30!important}.btn-outline-danger.btn-outline-accent-4{border-color:#FFD3D7!important;color:#FFD3D7!important}.btn-outline-danger.btn-outline-accent-4:hover{background-color:#FFD3D7!important}input:focus~.bg-danger{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #FFD3D7!important}.border-danger.border-accent-4{border:1px solid #FFD3D7!important}.border-top-danger.border-top-accent-4{border-top:1px solid #FFD3D7!important}.border-bottom-danger.border-bottom-accent-4{border-bottom:1px solid #FFD3D7!important}.border-left-danger.border-left-accent-4{border-left:1px solid #FFD3D7!important}.border-right-danger.border-right-accent-4{border-right:1px solid #FFD3D7!important}.btn-red.btn-lighten-5,.btn-red.btn-lighten-5:hover{border-color:#D32F2F!important}.overlay-danger.overlay-accent-4{background:#FFD3D7;background:rgba(255,211,215,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=danger]:before{background-color:#FFD3D7}.bg-red.bg-lighten-5,.btn-red.btn-lighten-5{background-color:#FFEBEE!important}.red.lighten-5{color:#FFEBEE!important}.btn-red.btn-lighten-5:hover{background-color:#C62828!important}.btn-red.btn-lighten-5:active,.btn-red.btn-lighten-5:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-lighten-5{border-color:#FFEBEE!important;color:#FFEBEE!important}.btn-outline-red.btn-outline-lighten-5:hover{background-color:#FFEBEE!important}.border-red.border-lighten-5{border:1px solid #FFEBEE!important}.border-top-red.border-top-lighten-5{border-top:1px solid #FFEBEE!important}.border-bottom-red.border-bottom-lighten-5{border-bottom:1px solid #FFEBEE!important}.border-left-red.border-left-lighten-5{border-left:1px solid #FFEBEE!important}.border-right-red.border-right-lighten-5{border-right:1px solid #FFEBEE!important}.btn-red.btn-lighten-4,.btn-red.btn-lighten-4:hover{border-color:#D32F2F!important}.overlay-red.overlay-lighten-5{background:#FFEBEE;background:rgba(255,235,238,.8)}.bg-red.bg-lighten-4,.btn-red.btn-lighten-4{background-color:#FFCDD2!important}.red.lighten-4{color:#FFCDD2!important}.btn-red.btn-lighten-4:hover{background-color:#C62828!important}.btn-red.btn-lighten-4:active,.btn-red.btn-lighten-4:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-lighten-4{border-color:#FFCDD2!important;color:#FFCDD2!important}.btn-outline-red.btn-outline-lighten-4:hover{background-color:#FFCDD2!important}.border-red.border-lighten-4{border:1px solid #FFCDD2!important}.border-top-red.border-top-lighten-4{border-top:1px solid #FFCDD2!important}.border-bottom-red.border-bottom-lighten-4{border-bottom:1px solid #FFCDD2!important}.border-left-red.border-left-lighten-4{border-left:1px solid #FFCDD2!important}.border-right-red.border-right-lighten-4{border-right:1px solid #FFCDD2!important}.btn-red.btn-lighten-3,.btn-red.btn-lighten-3:hover{border-color:#D32F2F!important}.overlay-red.overlay-lighten-4{background:#FFCDD2;background:rgba(255,205,210,.8)}.bg-red.bg-lighten-3,.btn-red.btn-lighten-3{background-color:#EF9A9A!important}.red.lighten-3{color:#EF9A9A!important}.btn-red.btn-lighten-3:hover{background-color:#C62828!important}.btn-red.btn-lighten-3:active,.btn-red.btn-lighten-3:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-lighten-3{border-color:#EF9A9A!important;color:#EF9A9A!important}.btn-outline-red.btn-outline-lighten-3:hover{background-color:#EF9A9A!important}.border-red.border-lighten-3{border:1px solid #EF9A9A!important}.border-top-red.border-top-lighten-3{border-top:1px solid #EF9A9A!important}.border-bottom-red.border-bottom-lighten-3{border-bottom:1px solid #EF9A9A!important}.border-left-red.border-left-lighten-3{border-left:1px solid #EF9A9A!important}.border-right-red.border-right-lighten-3{border-right:1px solid #EF9A9A!important}.btn-red.btn-lighten-2,.btn-red.btn-lighten-2:hover{border-color:#D32F2F!important}.overlay-red.overlay-lighten-3{background:#EF9A9A;background:rgba(239,154,154,.8)}.bg-red.bg-lighten-2,.btn-red.btn-lighten-2{background-color:#E57373!important}.red.lighten-2{color:#E57373!important}.btn-red.btn-lighten-2:hover{background-color:#C62828!important}.btn-red.btn-lighten-2:active,.btn-red.btn-lighten-2:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-lighten-2{border-color:#E57373!important;color:#E57373!important}.btn-outline-red.btn-outline-lighten-2:hover{background-color:#E57373!important}.border-red.border-lighten-2{border:1px solid #E57373!important}.border-top-red.border-top-lighten-2{border-top:1px solid #E57373!important}.border-bottom-red.border-bottom-lighten-2{border-bottom:1px solid #E57373!important}.border-left-red.border-left-lighten-2{border-left:1px solid #E57373!important}.border-right-red.border-right-lighten-2{border-right:1px solid #E57373!important}.btn-red.btn-lighten-1,.btn-red.btn-lighten-1:hover{border-color:#D32F2F!important}.overlay-red.overlay-lighten-2{background:#E57373;background:rgba(229,115,115,.8)}.bg-red.bg-lighten-1,.btn-red.btn-lighten-1{background-color:#EF5350!important}.red.lighten-1{color:#EF5350!important}.btn-red.btn-lighten-1:hover{background-color:#C62828!important}.btn-red.btn-lighten-1:active,.btn-red.btn-lighten-1:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-lighten-1{border-color:#EF5350!important;color:#EF5350!important}.btn-outline-red.btn-outline-lighten-1:hover{background-color:#EF5350!important}.border-red.border-lighten-1{border:1px solid #EF5350!important}.border-top-red.border-top-lighten-1{border-top:1px solid #EF5350!important}.border-bottom-red.border-bottom-lighten-1{border-bottom:1px solid #EF5350!important}.border-left-red.border-left-lighten-1{border-left:1px solid #EF5350!important}.border-right-red.border-right-lighten-1{border-right:1px solid #EF5350!important}.overlay-red.overlay-lighten-1{background:#EF5350;background:rgba(239,83,80,.8)}.red{color:#F44336!important}.bg-red{background-color:#F44336!important}.bg-red .card-footer,.bg-red .card-header{background-color:transparent}.alert-red{border-color:#F8827A!important;background-color:#F8827A!important;color:#710E06!important}.alert-red .alert-link{color:#4B0904!important}.bullet.bullet-red{background-color:#F44336}.bg-light-red{background-color:rgba(244,67,54,.15)}.bg-red.badge-glow,.border-red.badge-glow{box-shadow:0 0 10px #F44336}.overlay-red{background:#F44336;background:rgba(244,67,54,.8)}.btn-red{background-color:#F44336!important;color:#FFF}.btn-red:hover{border-color:#E53935!important;background-color:#EF5350!important;color:#FFF!important}.btn-red:active,.btn-red:focus{border-color:#D32F2F!important;background-color:#C62828!important;color:#FFF!important}.btn-outline-red{border-color:#F44336;background-color:transparent;color:#F44336}.btn-outline-red:hover,.widget-timeline .timeline-items.timeline-icon-red:before{background-color:#F44336}.btn-outline-red:hover{color:#FFF!important}input[type=checkbox].bg-red+.custom-control-label:before,input[type=radio].bg-red+.custom-control-label:before{background-color:#F44336!important}.bg-red.bg-darken-1,.btn-red.btn-darken-1{background-color:#E53935!important}.border-red{border:1px solid #F44336!important}.border-top-red{border-top:1px solid #F44336}.border-bottom-red{border-bottom:1px solid #F44336}.border-left-red{border-left:1px solid #F44336}.border-right-red{border-right:1px solid #F44336}.red.darken-1{color:#E53935!important}.btn-red.btn-darken-1{border-color:#D32F2F!important}.btn-red.btn-darken-1:hover{border-color:#D32F2F!important;background-color:#C62828!important}.btn-red.btn-darken-1:active,.btn-red.btn-darken-1:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-darken-1{border-color:#E53935!important;color:#E53935!important}.btn-outline-red.btn-outline-darken-1:hover{background-color:#E53935!important}.border-red.border-darken-1{border:1px solid #E53935!important}.border-top-red.border-top-darken-1{border-top:1px solid #E53935!important}.border-bottom-red.border-bottom-darken-1{border-bottom:1px solid #E53935!important}.border-left-red.border-left-darken-1{border-left:1px solid #E53935!important}.border-right-red.border-right-darken-1{border-right:1px solid #E53935!important}.btn-red.btn-darken-2,.btn-red.btn-darken-2:hover{border-color:#D32F2F!important}.overlay-red.overlay-darken-1{background:#E53935;background:rgba(229,57,53,.8)}.bg-red.bg-darken-2,.btn-red.btn-darken-2{background-color:#D32F2F!important}.red.darken-2{color:#D32F2F!important}.btn-red.btn-darken-2:hover{background-color:#C62828!important}.btn-red.btn-darken-2:active,.btn-red.btn-darken-2:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-darken-2{border-color:#D32F2F!important;color:#D32F2F!important}.btn-outline-red.btn-outline-darken-2:hover{background-color:#D32F2F!important}.border-red.border-darken-2{border:1px solid #D32F2F!important}.border-top-red.border-top-darken-2{border-top:1px solid #D32F2F!important}.border-bottom-red.border-bottom-darken-2{border-bottom:1px solid #D32F2F!important}.border-left-red.border-left-darken-2{border-left:1px solid #D32F2F!important}.border-right-red.border-right-darken-2{border-right:1px solid #D32F2F!important}.overlay-red.overlay-darken-2{background:#D32F2F;background:rgba(211,47,47,.8)}.red.darken-3{color:#C62828!important}.bg-red.bg-darken-3{background-color:#C62828!important}.btn-red.btn-darken-3,.btn-red.btn-darken-3:hover{border-color:#D32F2F!important;background-color:#C62828!important}.btn-red.btn-darken-3:active,.btn-red.btn-darken-3:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-darken-3{border-color:#C62828!important;color:#C62828!important}.btn-outline-red.btn-outline-darken-3:hover{background-color:#C62828!important}.border-red.border-darken-3{border:1px solid #C62828!important}.border-top-red.border-top-darken-3{border-top:1px solid #C62828!important}.border-bottom-red.border-bottom-darken-3{border-bottom:1px solid #C62828!important}.border-left-red.border-left-darken-3{border-left:1px solid #C62828!important}.border-right-red.border-right-darken-3{border-right:1px solid #C62828!important}.btn-red.btn-darken-4,.btn-red.btn-darken-4:hover{border-color:#D32F2F!important}.overlay-red.overlay-darken-3{background:#C62828;background:rgba(198,40,40,.8)}.bg-red.bg-darken-4,.btn-red.btn-darken-4{background-color:#B71C1C!important}.red.darken-4{color:#B71C1C!important}.btn-red.btn-darken-4:hover{background-color:#C62828!important}.btn-red.btn-darken-4:active,.btn-red.btn-darken-4:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-darken-4{border-color:#B71C1C!important;color:#B71C1C!important}.btn-outline-red.btn-outline-darken-4:hover{background-color:#B71C1C!important}.border-red.border-darken-4{border:1px solid #B71C1C!important}.border-top-red.border-top-darken-4{border-top:1px solid #B71C1C!important}.border-bottom-red.border-bottom-darken-4{border-bottom:1px solid #B71C1C!important}.border-left-red.border-left-darken-4{border-left:1px solid #B71C1C!important}.border-right-red.border-right-darken-4{border-right:1px solid #B71C1C!important}.btn-red.btn-accent-1,.btn-red.btn-accent-1:hover{border-color:#D32F2F!important}.overlay-red.overlay-darken-4{background:#B71C1C;background:rgba(183,28,28,.8)}.bg-red.bg-accent-1,.btn-red.btn-accent-1{background-color:#FF8A80!important}.red.accent-1{color:#FF8A80!important}.btn-red.btn-accent-1:hover{background-color:#C62828!important}.btn-red.btn-accent-1:active,.btn-red.btn-accent-1:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-accent-1{border-color:#FF8A80!important;color:#FF8A80!important}.btn-outline-red.btn-outline-accent-1:hover{background-color:#FF8A80!important}.border-red.border-accent-1{border:1px solid #FF8A80!important}.border-top-red.border-top-accent-1{border-top:1px solid #FF8A80!important}.border-bottom-red.border-bottom-accent-1{border-bottom:1px solid #FF8A80!important}.border-left-red.border-left-accent-1{border-left:1px solid #FF8A80!important}.border-right-red.border-right-accent-1{border-right:1px solid #FF8A80!important}.btn-red.btn-accent-2,.btn-red.btn-accent-2:hover{border-color:#D32F2F!important}.overlay-red.overlay-accent-1{background:#FF8A80;background:rgba(255,138,128,.8)}.bg-red.bg-accent-2,.btn-red.btn-accent-2{background-color:#FF5252!important}.red.accent-2{color:#FF5252!important}.btn-red.btn-accent-2:hover{background-color:#C62828!important}.btn-red.btn-accent-2:active,.btn-red.btn-accent-2:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-accent-2{border-color:#FF5252!important;color:#FF5252!important}.btn-outline-red.btn-outline-accent-2:hover{background-color:#FF5252!important}.border-red.border-accent-2{border:1px solid #FF5252!important}.border-top-red.border-top-accent-2{border-top:1px solid #FF5252!important}.border-bottom-red.border-bottom-accent-2{border-bottom:1px solid #FF5252!important}.border-left-red.border-left-accent-2{border-left:1px solid #FF5252!important}.border-right-red.border-right-accent-2{border-right:1px solid #FF5252!important}.btn-red.btn-accent-3,.btn-red.btn-accent-3:hover{border-color:#D32F2F!important}.overlay-red.overlay-accent-2{background:#FF5252;background:rgba(255,82,82,.8)}.bg-red.bg-accent-3,.btn-red.btn-accent-3{background-color:#FF1744!important}.red.accent-3{color:#FF1744!important}.btn-red.btn-accent-3:hover{background-color:#C62828!important}.btn-red.btn-accent-3:active,.btn-red.btn-accent-3:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-accent-3{border-color:#FF1744!important;color:#FF1744!important}.btn-outline-red.btn-outline-accent-3:hover{background-color:#FF1744!important}.border-red.border-accent-3{border:1px solid #FF1744!important}.border-top-red.border-top-accent-3{border-top:1px solid #FF1744!important}.border-bottom-red.border-bottom-accent-3{border-bottom:1px solid #FF1744!important}.border-left-red.border-left-accent-3{border-left:1px solid #FF1744!important}.border-right-red.border-right-accent-3{border-right:1px solid #FF1744!important}.btn-red.btn-accent-4,.btn-red.btn-accent-4:hover{border-color:#D32F2F!important}.overlay-red.overlay-accent-3{background:#FF1744;background:rgba(255,23,68,.8)}.bg-red.bg-accent-4,.btn-red.btn-accent-4{background-color:#D50000!important}.red.accent-4{color:#D50000!important}.btn-red.btn-accent-4:hover{background-color:#C62828!important}.btn-red.btn-accent-4:active,.btn-red.btn-accent-4:focus{border-color:#C62828!important;background-color:#B71C1C!important}.btn-outline-red.btn-outline-accent-4{border-color:#D50000!important;color:#D50000!important}.btn-outline-red.btn-outline-accent-4:hover{background-color:#D50000!important}input:focus~.bg-red{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #D50000!important}.border-red.border-accent-4{border:1px solid #D50000!important}.border-top-red.border-top-accent-4{border-top:1px solid #D50000!important}.border-bottom-red.border-bottom-accent-4{border-bottom:1px solid #D50000!important}.border-left-red.border-left-accent-4{border-left:1px solid #D50000!important}.border-right-red.border-right-accent-4{border-right:1px solid #D50000!important}.btn-pink.btn-lighten-5,.btn-pink.btn-lighten-5:hover{border-color:#C2185B!important}.overlay-red.overlay-accent-4{background:#D50000;background:rgba(213,0,0,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=red]:before{background-color:#D50000}.bg-pink.bg-lighten-5,.btn-pink.btn-lighten-5{background-color:#FCE4EC!important}.pink.lighten-5{color:#FCE4EC!important}.btn-pink.btn-lighten-5:hover{background-color:#AD1457!important}.btn-pink.btn-lighten-5:active,.btn-pink.btn-lighten-5:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-lighten-5{border-color:#FCE4EC!important;color:#FCE4EC!important}.btn-outline-pink.btn-outline-lighten-5:hover{background-color:#FCE4EC!important}.border-pink.border-lighten-5{border:1px solid #FCE4EC!important}.border-top-pink.border-top-lighten-5{border-top:1px solid #FCE4EC!important}.border-bottom-pink.border-bottom-lighten-5{border-bottom:1px solid #FCE4EC!important}.border-left-pink.border-left-lighten-5{border-left:1px solid #FCE4EC!important}.border-right-pink.border-right-lighten-5{border-right:1px solid #FCE4EC!important}.btn-pink.btn-lighten-4,.btn-pink.btn-lighten-4:hover{border-color:#C2185B!important}.overlay-pink.overlay-lighten-5{background:#FCE4EC;background:rgba(252,228,236,.8)}.bg-pink.bg-lighten-4,.btn-pink.btn-lighten-4{background-color:#F8BBD0!important}.pink.lighten-4{color:#F8BBD0!important}.btn-pink.btn-lighten-4:hover{background-color:#AD1457!important}.btn-pink.btn-lighten-4:active,.btn-pink.btn-lighten-4:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-lighten-4{border-color:#F8BBD0!important;color:#F8BBD0!important}.btn-outline-pink.btn-outline-lighten-4:hover{background-color:#F8BBD0!important}.border-pink.border-lighten-4{border:1px solid #F8BBD0!important}.border-top-pink.border-top-lighten-4{border-top:1px solid #F8BBD0!important}.border-bottom-pink.border-bottom-lighten-4{border-bottom:1px solid #F8BBD0!important}.border-left-pink.border-left-lighten-4{border-left:1px solid #F8BBD0!important}.border-right-pink.border-right-lighten-4{border-right:1px solid #F8BBD0!important}.btn-pink.btn-lighten-3,.btn-pink.btn-lighten-3:hover{border-color:#C2185B!important}.overlay-pink.overlay-lighten-4{background:#F8BBD0;background:rgba(248,187,208,.8)}.bg-pink.bg-lighten-3,.btn-pink.btn-lighten-3{background-color:#F48FB1!important}.pink.lighten-3{color:#F48FB1!important}.btn-pink.btn-lighten-3:hover{background-color:#AD1457!important}.btn-pink.btn-lighten-3:active,.btn-pink.btn-lighten-3:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-lighten-3{border-color:#F48FB1!important;color:#F48FB1!important}.btn-outline-pink.btn-outline-lighten-3:hover{background-color:#F48FB1!important}.border-pink.border-lighten-3{border:1px solid #F48FB1!important}.border-top-pink.border-top-lighten-3{border-top:1px solid #F48FB1!important}.border-bottom-pink.border-bottom-lighten-3{border-bottom:1px solid #F48FB1!important}.border-left-pink.border-left-lighten-3{border-left:1px solid #F48FB1!important}.border-right-pink.border-right-lighten-3{border-right:1px solid #F48FB1!important}.btn-pink.btn-lighten-2,.btn-pink.btn-lighten-2:hover{border-color:#C2185B!important}.overlay-pink.overlay-lighten-3{background:#F48FB1;background:rgba(244,143,177,.8)}.bg-pink.bg-lighten-2,.btn-pink.btn-lighten-2{background-color:#F06292!important}.pink.lighten-2{color:#F06292!important}.btn-pink.btn-lighten-2:hover{background-color:#AD1457!important}.btn-pink.btn-lighten-2:active,.btn-pink.btn-lighten-2:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-lighten-2{border-color:#F06292!important;color:#F06292!important}.btn-outline-pink.btn-outline-lighten-2:hover{background-color:#F06292!important}.border-pink.border-lighten-2{border:1px solid #F06292!important}.border-top-pink.border-top-lighten-2{border-top:1px solid #F06292!important}.border-bottom-pink.border-bottom-lighten-2{border-bottom:1px solid #F06292!important}.border-left-pink.border-left-lighten-2{border-left:1px solid #F06292!important}.border-right-pink.border-right-lighten-2{border-right:1px solid #F06292!important}.btn-pink.btn-lighten-1,.btn-pink.btn-lighten-1:hover{border-color:#C2185B!important}.overlay-pink.overlay-lighten-2{background:#F06292;background:rgba(240,98,146,.8)}.bg-pink.bg-lighten-1,.btn-pink.btn-lighten-1{background-color:#EC407A!important}.pink.lighten-1{color:#EC407A!important}.btn-pink.btn-lighten-1:hover{background-color:#AD1457!important}.btn-pink.btn-lighten-1:active,.btn-pink.btn-lighten-1:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-lighten-1{border-color:#EC407A!important;color:#EC407A!important}.btn-outline-pink.btn-outline-lighten-1:hover{background-color:#EC407A!important}.border-pink.border-lighten-1{border:1px solid #EC407A!important}.border-top-pink.border-top-lighten-1{border-top:1px solid #EC407A!important}.border-bottom-pink.border-bottom-lighten-1{border-bottom:1px solid #EC407A!important}.border-left-pink.border-left-lighten-1{border-left:1px solid #EC407A!important}.border-right-pink.border-right-lighten-1{border-right:1px solid #EC407A!important}.overlay-pink.overlay-lighten-1{background:#EC407A;background:rgba(236,64,122,.8)}.pink{color:#E91E63!important}.bg-pink{background-color:#E91E63!important}.bg-pink .card-footer,.bg-pink .card-header{background-color:transparent}.alert-pink{border-color:#EF5F90!important;background-color:#EF5F90!important;color:#4D081F!important}.alert-pink .alert-link{color:#280410!important}.bullet.bullet-pink{background-color:#E91E63}.bg-light-pink{background-color:rgba(233,30,99,.15)}.bg-pink.badge-glow,.border-pink.badge-glow{box-shadow:0 0 10px #E91E63}.overlay-pink{background:#E91E63;background:rgba(233,30,99,.8)}.btn-pink{background-color:#E91E63!important;color:#FFF}.btn-pink:hover{border-color:#D81B60!important;background-color:#EC407A!important;color:#FFF!important}.btn-pink:active,.btn-pink:focus{border-color:#C2185B!important;background-color:#AD1457!important;color:#FFF!important}.btn-outline-pink{border-color:#E91E63;background-color:transparent;color:#E91E63}.btn-outline-pink:hover,.widget-timeline .timeline-items.timeline-icon-pink:before{background-color:#E91E63}.btn-outline-pink:hover{color:#FFF!important}input[type=checkbox].bg-pink+.custom-control-label:before,input[type=radio].bg-pink+.custom-control-label:before{background-color:#E91E63!important}.bg-pink.bg-darken-1,.btn-pink.btn-darken-1{background-color:#D81B60!important}.border-pink{border:1px solid #E91E63!important}.border-top-pink{border-top:1px solid #E91E63}.border-bottom-pink{border-bottom:1px solid #E91E63}.border-left-pink{border-left:1px solid #E91E63}.border-right-pink{border-right:1px solid #E91E63}.pink.darken-1{color:#D81B60!important}.btn-pink.btn-darken-1{border-color:#C2185B!important}.btn-pink.btn-darken-1:hover{border-color:#C2185B!important;background-color:#AD1457!important}.btn-pink.btn-darken-1:active,.btn-pink.btn-darken-1:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-darken-1{border-color:#D81B60!important;color:#D81B60!important}.btn-outline-pink.btn-outline-darken-1:hover{background-color:#D81B60!important}.border-pink.border-darken-1{border:1px solid #D81B60!important}.border-top-pink.border-top-darken-1{border-top:1px solid #D81B60!important}.border-bottom-pink.border-bottom-darken-1{border-bottom:1px solid #D81B60!important}.border-left-pink.border-left-darken-1{border-left:1px solid #D81B60!important}.border-right-pink.border-right-darken-1{border-right:1px solid #D81B60!important}.btn-pink.btn-darken-2,.btn-pink.btn-darken-2:hover{border-color:#C2185B!important}.overlay-pink.overlay-darken-1{background:#D81B60;background:rgba(216,27,96,.8)}.bg-pink.bg-darken-2,.btn-pink.btn-darken-2{background-color:#C2185B!important}.pink.darken-2{color:#C2185B!important}.btn-pink.btn-darken-2:hover{background-color:#AD1457!important}.btn-pink.btn-darken-2:active,.btn-pink.btn-darken-2:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-darken-2{border-color:#C2185B!important;color:#C2185B!important}.btn-outline-pink.btn-outline-darken-2:hover{background-color:#C2185B!important}.border-pink.border-darken-2{border:1px solid #C2185B!important}.border-top-pink.border-top-darken-2{border-top:1px solid #C2185B!important}.border-bottom-pink.border-bottom-darken-2{border-bottom:1px solid #C2185B!important}.border-left-pink.border-left-darken-2{border-left:1px solid #C2185B!important}.border-right-pink.border-right-darken-2{border-right:1px solid #C2185B!important}.overlay-pink.overlay-darken-2{background:#C2185B;background:rgba(194,24,91,.8)}.pink.darken-3{color:#AD1457!important}.bg-pink.bg-darken-3{background-color:#AD1457!important}.btn-pink.btn-darken-3,.btn-pink.btn-darken-3:hover{border-color:#C2185B!important;background-color:#AD1457!important}.btn-pink.btn-darken-3:active,.btn-pink.btn-darken-3:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-darken-3{border-color:#AD1457!important;color:#AD1457!important}.btn-outline-pink.btn-outline-darken-3:hover{background-color:#AD1457!important}.border-pink.border-darken-3{border:1px solid #AD1457!important}.border-top-pink.border-top-darken-3{border-top:1px solid #AD1457!important}.border-bottom-pink.border-bottom-darken-3{border-bottom:1px solid #AD1457!important}.border-left-pink.border-left-darken-3{border-left:1px solid #AD1457!important}.border-right-pink.border-right-darken-3{border-right:1px solid #AD1457!important}.btn-pink.btn-darken-4,.btn-pink.btn-darken-4:hover{border-color:#C2185B!important}.overlay-pink.overlay-darken-3{background:#AD1457;background:rgba(173,20,87,.8)}.bg-pink.bg-darken-4,.btn-pink.btn-darken-4{background-color:#880E4F!important}.pink.darken-4{color:#880E4F!important}.btn-pink.btn-darken-4:hover{background-color:#AD1457!important}.btn-pink.btn-darken-4:active,.btn-pink.btn-darken-4:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-darken-4{border-color:#880E4F!important;color:#880E4F!important}.btn-outline-pink.btn-outline-darken-4:hover{background-color:#880E4F!important}.border-pink.border-darken-4{border:1px solid #880E4F!important}.border-top-pink.border-top-darken-4{border-top:1px solid #880E4F!important}.border-bottom-pink.border-bottom-darken-4{border-bottom:1px solid #880E4F!important}.border-left-pink.border-left-darken-4{border-left:1px solid #880E4F!important}.border-right-pink.border-right-darken-4{border-right:1px solid #880E4F!important}.btn-pink.btn-accent-1,.btn-pink.btn-accent-1:hover{border-color:#C2185B!important}.overlay-pink.overlay-darken-4{background:#880E4F;background:rgba(136,14,79,.8)}.bg-pink.bg-accent-1,.btn-pink.btn-accent-1{background-color:#FF80AB!important}.pink.accent-1{color:#FF80AB!important}.btn-pink.btn-accent-1:hover{background-color:#AD1457!important}.btn-pink.btn-accent-1:active,.btn-pink.btn-accent-1:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-accent-1{border-color:#FF80AB!important;color:#FF80AB!important}.btn-outline-pink.btn-outline-accent-1:hover{background-color:#FF80AB!important}.border-pink.border-accent-1{border:1px solid #FF80AB!important}.border-top-pink.border-top-accent-1{border-top:1px solid #FF80AB!important}.border-bottom-pink.border-bottom-accent-1{border-bottom:1px solid #FF80AB!important}.border-left-pink.border-left-accent-1{border-left:1px solid #FF80AB!important}.border-right-pink.border-right-accent-1{border-right:1px solid #FF80AB!important}.btn-pink.btn-accent-2,.btn-pink.btn-accent-2:hover{border-color:#C2185B!important}.overlay-pink.overlay-accent-1{background:#FF80AB;background:rgba(255,128,171,.8)}.bg-pink.bg-accent-2,.btn-pink.btn-accent-2{background-color:#FF4081!important}.pink.accent-2{color:#FF4081!important}.btn-pink.btn-accent-2:hover{background-color:#AD1457!important}.btn-pink.btn-accent-2:active,.btn-pink.btn-accent-2:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-accent-2{border-color:#FF4081!important;color:#FF4081!important}.btn-outline-pink.btn-outline-accent-2:hover{background-color:#FF4081!important}.border-pink.border-accent-2{border:1px solid #FF4081!important}.border-top-pink.border-top-accent-2{border-top:1px solid #FF4081!important}.border-bottom-pink.border-bottom-accent-2{border-bottom:1px solid #FF4081!important}.border-left-pink.border-left-accent-2{border-left:1px solid #FF4081!important}.border-right-pink.border-right-accent-2{border-right:1px solid #FF4081!important}.btn-pink.btn-accent-3,.btn-pink.btn-accent-3:hover{border-color:#C2185B!important}.overlay-pink.overlay-accent-2{background:#FF4081;background:rgba(255,64,129,.8)}.bg-pink.bg-accent-3,.btn-pink.btn-accent-3{background-color:#F50057!important}.pink.accent-3{color:#F50057!important}.btn-pink.btn-accent-3:hover{background-color:#AD1457!important}.btn-pink.btn-accent-3:active,.btn-pink.btn-accent-3:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-accent-3{border-color:#F50057!important;color:#F50057!important}.btn-outline-pink.btn-outline-accent-3:hover{background-color:#F50057!important}.border-pink.border-accent-3{border:1px solid #F50057!important}.border-top-pink.border-top-accent-3{border-top:1px solid #F50057!important}.border-bottom-pink.border-bottom-accent-3{border-bottom:1px solid #F50057!important}.border-left-pink.border-left-accent-3{border-left:1px solid #F50057!important}.border-right-pink.border-right-accent-3{border-right:1px solid #F50057!important}.btn-pink.btn-accent-4,.btn-pink.btn-accent-4:hover{border-color:#C2185B!important}.overlay-pink.overlay-accent-3{background:#F50057;background:rgba(245,0,87,.8)}.bg-pink.bg-accent-4,.btn-pink.btn-accent-4{background-color:#C51162!important}.pink.accent-4{color:#C51162!important}.btn-pink.btn-accent-4:hover{background-color:#AD1457!important}.btn-pink.btn-accent-4:active,.btn-pink.btn-accent-4:focus{border-color:#AD1457!important;background-color:#880E4F!important}.btn-outline-pink.btn-outline-accent-4{border-color:#C51162!important;color:#C51162!important}.btn-outline-pink.btn-outline-accent-4:hover{background-color:#C51162!important}input:focus~.bg-pink{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #C51162!important}.border-pink.border-accent-4{border:1px solid #C51162!important}.border-top-pink.border-top-accent-4{border-top:1px solid #C51162!important}.border-bottom-pink.border-bottom-accent-4{border-bottom:1px solid #C51162!important}.border-left-pink.border-left-accent-4{border-left:1px solid #C51162!important}.border-right-pink.border-right-accent-4{border-right:1px solid #C51162!important}.overlay-pink.overlay-accent-4{background:#C51162;background:rgba(197,17,98,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=pink]:before{background-color:#C51162}.bg-purple.bg-lighten-5,.btn-purple.btn-lighten-5{background-color:#F3E5F5!important}.purple.lighten-5{color:#F3E5F5!important}.btn-purple.btn-lighten-5{border-color:#7B1FA2!important}.btn-purple.btn-lighten-5:hover{border-color:#7B1FA2!important;background-color:#6A1B9A!important}.btn-purple.btn-lighten-5:active,.btn-purple.btn-lighten-5:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-lighten-5{border-color:#F3E5F5!important;color:#F3E5F5!important}.btn-outline-purple.btn-outline-lighten-5:hover{background-color:#F3E5F5!important}.border-purple.border-lighten-5{border:1px solid #F3E5F5!important}.border-top-purple.border-top-lighten-5{border-top:1px solid #F3E5F5!important}.border-bottom-purple.border-bottom-lighten-5{border-bottom:1px solid #F3E5F5!important}.border-left-purple.border-left-lighten-5{border-left:1px solid #F3E5F5!important}.border-right-purple.border-right-lighten-5{border-right:1px solid #F3E5F5!important}.overlay-purple.overlay-lighten-5{background:#F3E5F5;background:rgba(243,229,245,.8)}.bg-purple.bg-lighten-4,.btn-purple.btn-lighten-4{background-color:#E1BEE7!important}.purple.lighten-4{color:#E1BEE7!important}.btn-purple.btn-lighten-4{border-color:#7B1FA2!important}.btn-purple.btn-lighten-4:hover{border-color:#7B1FA2!important;background-color:#6A1B9A!important}.btn-purple.btn-lighten-4:active,.btn-purple.btn-lighten-4:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-lighten-4{border-color:#E1BEE7!important;color:#E1BEE7!important}.btn-outline-purple.btn-outline-lighten-4:hover{background-color:#E1BEE7!important}.border-purple.border-lighten-4{border:1px solid #E1BEE7!important}.border-top-purple.border-top-lighten-4{border-top:1px solid #E1BEE7!important}.border-bottom-purple.border-bottom-lighten-4{border-bottom:1px solid #E1BEE7!important}.border-left-purple.border-left-lighten-4{border-left:1px solid #E1BEE7!important}.border-right-purple.border-right-lighten-4{border-right:1px solid #E1BEE7!important}.overlay-purple.overlay-lighten-4{background:#E1BEE7;background:rgba(225,190,231,.8)}.bg-purple.bg-lighten-3,.btn-purple.btn-lighten-3{background-color:#CE93D8!important}.purple.lighten-3{color:#CE93D8!important}.btn-purple.btn-lighten-3{border-color:#7B1FA2!important}.btn-purple.btn-lighten-3:hover{border-color:#7B1FA2!important;background-color:#6A1B9A!important}.btn-purple.btn-lighten-3:active,.btn-purple.btn-lighten-3:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-lighten-3{border-color:#CE93D8!important;color:#CE93D8!important}.btn-outline-purple.btn-outline-lighten-3:hover{background-color:#CE93D8!important}.border-purple.border-lighten-3{border:1px solid #CE93D8!important}.border-top-purple.border-top-lighten-3{border-top:1px solid #CE93D8!important}.border-bottom-purple.border-bottom-lighten-3{border-bottom:1px solid #CE93D8!important}.border-left-purple.border-left-lighten-3{border-left:1px solid #CE93D8!important}.border-right-purple.border-right-lighten-3{border-right:1px solid #CE93D8!important}.overlay-purple.overlay-lighten-3{background:#CE93D8;background:rgba(206,147,216,.8)}.bg-purple.bg-lighten-2,.btn-purple.btn-lighten-2{background-color:#BA68C8!important}.purple.lighten-2{color:#BA68C8!important}.btn-purple.btn-lighten-2{border-color:#7B1FA2!important}.btn-purple.btn-lighten-2:hover{border-color:#7B1FA2!important;background-color:#6A1B9A!important}.btn-purple.btn-lighten-2:active,.btn-purple.btn-lighten-2:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-lighten-2{border-color:#BA68C8!important;color:#BA68C8!important}.btn-outline-purple.btn-outline-lighten-2:hover{background-color:#BA68C8!important}.border-purple.border-lighten-2{border:1px solid #BA68C8!important}.border-top-purple.border-top-lighten-2{border-top:1px solid #BA68C8!important}.border-bottom-purple.border-bottom-lighten-2{border-bottom:1px solid #BA68C8!important}.border-left-purple.border-left-lighten-2{border-left:1px solid #BA68C8!important}.border-right-purple.border-right-lighten-2{border-right:1px solid #BA68C8!important}.overlay-purple.overlay-lighten-2{background:#BA68C8;background:rgba(186,104,200,.8)}.bg-purple.bg-lighten-1,.btn-purple.btn-lighten-1{background-color:#AB47BC!important}.purple.lighten-1{color:#AB47BC!important}.btn-purple.btn-lighten-1{border-color:#7B1FA2!important}.btn-purple.btn-lighten-1:hover{border-color:#7B1FA2!important;background-color:#6A1B9A!important}.btn-purple.btn-lighten-1:active,.btn-purple.btn-lighten-1:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-lighten-1{border-color:#AB47BC!important;color:#AB47BC!important}.btn-outline-purple.btn-outline-lighten-1:hover{background-color:#AB47BC!important}.border-purple.border-lighten-1{border:1px solid #AB47BC!important}.border-top-purple.border-top-lighten-1{border-top:1px solid #AB47BC!important}.border-bottom-purple.border-bottom-lighten-1{border-bottom:1px solid #AB47BC!important}.border-left-purple.border-left-lighten-1{border-left:1px solid #AB47BC!important}.border-right-purple.border-right-lighten-1{border-right:1px solid #AB47BC!important}.overlay-purple.overlay-lighten-1{background:#AB47BC;background:rgba(171,71,188,.8)}.purple{color:#9C27B0!important}.bg-purple{background-color:#9C27B0!important}.bg-purple .card-footer,.bg-purple .card-header{background-color:transparent}.alert-purple{border-color:#C248D6!important;background-color:#C248D6!important;color:#1A071E!important}.alert-purple .alert-link{color:#000!important}.bullet.bullet-purple{background-color:#9C27B0}.bg-light-purple{background-color:rgba(156,39,176,.15)}.bg-purple.badge-glow,.border-purple.badge-glow{box-shadow:0 0 10px #9C27B0}.overlay-purple{background:#9C27B0;background:rgba(156,39,176,.8)}.btn-purple{background-color:#9C27B0!important;color:#FFF}.btn-purple:hover{border-color:#8E24AA!important;background-color:#AB47BC!important;color:#FFF!important}.btn-purple:active,.btn-purple:focus{border-color:#7B1FA2!important;background-color:#6A1B9A!important;color:#FFF!important}.btn-outline-purple{border-color:#9C27B0;background-color:transparent;color:#9C27B0}.btn-outline-purple:hover{background-color:#9C27B0;color:#FFF!important}.widget-timeline .timeline-items.timeline-icon-purple:before{background-color:#9C27B0}input[type=checkbox].bg-purple+.custom-control-label:before,input[type=radio].bg-purple+.custom-control-label:before{background-color:#9C27B0!important}.bg-purple.bg-darken-1,.btn-purple.btn-darken-1{background-color:#8E24AA!important}.border-purple{border:1px solid #9C27B0!important}.border-top-purple{border-top:1px solid #9C27B0}.border-bottom-purple{border-bottom:1px solid #9C27B0}.border-left-purple{border-left:1px solid #9C27B0}.border-right-purple{border-right:1px solid #9C27B0}.purple.darken-1{color:#8E24AA!important}.btn-purple.btn-darken-1{border-color:#7B1FA2!important}.btn-purple.btn-darken-1:hover{border-color:#7B1FA2!important;background-color:#6A1B9A!important}.btn-purple.btn-darken-1:active,.btn-purple.btn-darken-1:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-darken-1{border-color:#8E24AA!important;color:#8E24AA!important}.btn-outline-purple.btn-outline-darken-1:hover{background-color:#8E24AA!important}.border-purple.border-darken-1{border:1px solid #8E24AA!important}.border-top-purple.border-top-darken-1{border-top:1px solid #8E24AA!important}.border-bottom-purple.border-bottom-darken-1{border-bottom:1px solid #8E24AA!important}.border-left-purple.border-left-darken-1{border-left:1px solid #8E24AA!important}.border-right-purple.border-right-darken-1{border-right:1px solid #8E24AA!important}.btn-purple.btn-darken-2,.btn-purple.btn-darken-2:hover{border-color:#7B1FA2!important}.overlay-purple.overlay-darken-1{background:#8E24AA;background:rgba(142,36,170,.8)}.bg-purple.bg-darken-2,.btn-purple.btn-darken-2{background-color:#7B1FA2!important}.purple.darken-2{color:#7B1FA2!important}.btn-purple.btn-darken-2:hover{background-color:#6A1B9A!important}.btn-purple.btn-darken-2:active,.btn-purple.btn-darken-2:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-darken-2{border-color:#7B1FA2!important;color:#7B1FA2!important}.btn-outline-purple.btn-outline-darken-2:hover{background-color:#7B1FA2!important}.border-purple.border-darken-2{border:1px solid #7B1FA2!important}.border-top-purple.border-top-darken-2{border-top:1px solid #7B1FA2!important}.border-bottom-purple.border-bottom-darken-2{border-bottom:1px solid #7B1FA2!important}.border-left-purple.border-left-darken-2{border-left:1px solid #7B1FA2!important}.border-right-purple.border-right-darken-2{border-right:1px solid #7B1FA2!important}.overlay-purple.overlay-darken-2{background:#7B1FA2;background:rgba(123,31,162,.8)}.purple.darken-3{color:#6A1B9A!important}.bg-purple.bg-darken-3{background-color:#6A1B9A!important}.btn-purple.btn-darken-3,.btn-purple.btn-darken-3:hover{border-color:#7B1FA2!important;background-color:#6A1B9A!important}.btn-purple.btn-darken-3:active,.btn-purple.btn-darken-3:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-darken-3{border-color:#6A1B9A!important;color:#6A1B9A!important}.btn-outline-purple.btn-outline-darken-3:hover{background-color:#6A1B9A!important}.border-purple.border-darken-3{border:1px solid #6A1B9A!important}.border-top-purple.border-top-darken-3{border-top:1px solid #6A1B9A!important}.border-bottom-purple.border-bottom-darken-3{border-bottom:1px solid #6A1B9A!important}.border-left-purple.border-left-darken-3{border-left:1px solid #6A1B9A!important}.border-right-purple.border-right-darken-3{border-right:1px solid #6A1B9A!important}.btn-purple.btn-darken-4,.btn-purple.btn-darken-4:hover{border-color:#7B1FA2!important}.overlay-purple.overlay-darken-3{background:#6A1B9A;background:rgba(106,27,154,.8)}.bg-purple.bg-darken-4,.btn-purple.btn-darken-4{background-color:#4A148C!important}.purple.darken-4{color:#4A148C!important}.btn-purple.btn-darken-4:hover{background-color:#6A1B9A!important}.btn-purple.btn-darken-4:active,.btn-purple.btn-darken-4:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-darken-4{border-color:#4A148C!important;color:#4A148C!important}.btn-outline-purple.btn-outline-darken-4:hover{background-color:#4A148C!important}.border-purple.border-darken-4{border:1px solid #4A148C!important}.border-top-purple.border-top-darken-4{border-top:1px solid #4A148C!important}.border-bottom-purple.border-bottom-darken-4{border-bottom:1px solid #4A148C!important}.border-left-purple.border-left-darken-4{border-left:1px solid #4A148C!important}.border-right-purple.border-right-darken-4{border-right:1px solid #4A148C!important}.btn-purple.btn-accent-1,.btn-purple.btn-accent-1:hover{border-color:#7B1FA2!important}.overlay-purple.overlay-darken-4{background:#4A148C;background:rgba(74,20,140,.8)}.bg-purple.bg-accent-1,.btn-purple.btn-accent-1{background-color:#EA80FC!important}.purple.accent-1{color:#EA80FC!important}.btn-purple.btn-accent-1:hover{background-color:#6A1B9A!important}.btn-purple.btn-accent-1:active,.btn-purple.btn-accent-1:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-accent-1{border-color:#EA80FC!important;color:#EA80FC!important}.btn-outline-purple.btn-outline-accent-1:hover{background-color:#EA80FC!important}.border-purple.border-accent-1{border:1px solid #EA80FC!important}.border-top-purple.border-top-accent-1{border-top:1px solid #EA80FC!important}.border-bottom-purple.border-bottom-accent-1{border-bottom:1px solid #EA80FC!important}.border-left-purple.border-left-accent-1{border-left:1px solid #EA80FC!important}.border-right-purple.border-right-accent-1{border-right:1px solid #EA80FC!important}.btn-purple.btn-accent-2,.btn-purple.btn-accent-2:hover{border-color:#7B1FA2!important}.overlay-purple.overlay-accent-1{background:#EA80FC;background:rgba(234,128,252,.8)}.bg-purple.bg-accent-2,.btn-purple.btn-accent-2{background-color:#E040FB!important}.purple.accent-2{color:#E040FB!important}.btn-purple.btn-accent-2:hover{background-color:#6A1B9A!important}.btn-purple.btn-accent-2:active,.btn-purple.btn-accent-2:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-accent-2{border-color:#E040FB!important;color:#E040FB!important}.btn-outline-purple.btn-outline-accent-2:hover{background-color:#E040FB!important}.border-purple.border-accent-2{border:1px solid #E040FB!important}.border-top-purple.border-top-accent-2{border-top:1px solid #E040FB!important}.border-bottom-purple.border-bottom-accent-2{border-bottom:1px solid #E040FB!important}.border-left-purple.border-left-accent-2{border-left:1px solid #E040FB!important}.border-right-purple.border-right-accent-2{border-right:1px solid #E040FB!important}.btn-purple.btn-accent-3,.btn-purple.btn-accent-3:hover{border-color:#7B1FA2!important}.overlay-purple.overlay-accent-2{background:#E040FB;background:rgba(224,64,251,.8)}.bg-purple.bg-accent-3,.btn-purple.btn-accent-3{background-color:#D500F9!important}.purple.accent-3{color:#D500F9!important}.btn-purple.btn-accent-3:hover{background-color:#6A1B9A!important}.btn-purple.btn-accent-3:active,.btn-purple.btn-accent-3:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-accent-3{border-color:#D500F9!important;color:#D500F9!important}.btn-outline-purple.btn-outline-accent-3:hover{background-color:#D500F9!important}.border-purple.border-accent-3{border:1px solid #D500F9!important}.border-top-purple.border-top-accent-3{border-top:1px solid #D500F9!important}.border-bottom-purple.border-bottom-accent-3{border-bottom:1px solid #D500F9!important}.border-left-purple.border-left-accent-3{border-left:1px solid #D500F9!important}.border-right-purple.border-right-accent-3{border-right:1px solid #D500F9!important}.btn-purple.btn-accent-4,.btn-purple.btn-accent-4:hover{border-color:#7B1FA2!important}.overlay-purple.overlay-accent-3{background:#D500F9;background:rgba(213,0,249,.8)}.bg-purple.bg-accent-4,.btn-purple.btn-accent-4{background-color:#D0F!important}.purple.accent-4{color:#D0F!important}.btn-purple.btn-accent-4:hover{background-color:#6A1B9A!important}.btn-purple.btn-accent-4:active,.btn-purple.btn-accent-4:focus{border-color:#6A1B9A!important;background-color:#4A148C!important}.btn-outline-purple.btn-outline-accent-4{border-color:#D0F!important;color:#D0F!important}.btn-outline-purple.btn-outline-accent-4:hover{background-color:#D0F!important}input:focus~.bg-purple{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #D0F!important}.border-purple.border-accent-4{border:1px solid #D0F!important}.border-top-purple.border-top-accent-4{border-top:1px solid #D0F!important}.border-bottom-purple.border-bottom-accent-4{border-bottom:1px solid #D0F!important}.border-left-purple.border-left-accent-4{border-left:1px solid #D0F!important}.border-right-purple.border-right-accent-4{border-right:1px solid #D0F!important}.btn-blue.btn-lighten-5,.btn-blue.btn-lighten-5:hover{border-color:#1976D2!important}.overlay-purple.overlay-accent-4{background:#D0F;background:rgba(221,0,255,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=purple]:before{background-color:#D0F}.bg-blue.bg-lighten-5,.btn-blue.btn-lighten-5{background-color:#E3F2FD!important}.blue.lighten-5{color:#E3F2FD!important}.btn-blue.btn-lighten-5:hover{background-color:#1565C0!important}.btn-blue.btn-lighten-5:active,.btn-blue.btn-lighten-5:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-lighten-5{border-color:#E3F2FD!important;color:#E3F2FD!important}.btn-outline-blue.btn-outline-lighten-5:hover{background-color:#E3F2FD!important}.border-blue.border-lighten-5{border:1px solid #E3F2FD!important}.border-top-blue.border-top-lighten-5{border-top:1px solid #E3F2FD!important}.border-bottom-blue.border-bottom-lighten-5{border-bottom:1px solid #E3F2FD!important}.border-left-blue.border-left-lighten-5{border-left:1px solid #E3F2FD!important}.border-right-blue.border-right-lighten-5{border-right:1px solid #E3F2FD!important}.btn-blue.btn-lighten-4,.btn-blue.btn-lighten-4:hover{border-color:#1976D2!important}.overlay-blue.overlay-lighten-5{background:#E3F2FD;background:rgba(227,242,253,.8)}.bg-blue.bg-lighten-4,.btn-blue.btn-lighten-4{background-color:#BBDEFB!important}.blue.lighten-4{color:#BBDEFB!important}.btn-blue.btn-lighten-4:hover{background-color:#1565C0!important}.btn-blue.btn-lighten-4:active,.btn-blue.btn-lighten-4:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-lighten-4{border-color:#BBDEFB!important;color:#BBDEFB!important}.btn-outline-blue.btn-outline-lighten-4:hover{background-color:#BBDEFB!important}.border-blue.border-lighten-4{border:1px solid #BBDEFB!important}.border-top-blue.border-top-lighten-4{border-top:1px solid #BBDEFB!important}.border-bottom-blue.border-bottom-lighten-4{border-bottom:1px solid #BBDEFB!important}.border-left-blue.border-left-lighten-4{border-left:1px solid #BBDEFB!important}.border-right-blue.border-right-lighten-4{border-right:1px solid #BBDEFB!important}.btn-blue.btn-lighten-3,.btn-blue.btn-lighten-3:hover{border-color:#1976D2!important}.overlay-blue.overlay-lighten-4{background:#BBDEFB;background:rgba(187,222,251,.8)}.bg-blue.bg-lighten-3,.btn-blue.btn-lighten-3{background-color:#90CAF9!important}.blue.lighten-3{color:#90CAF9!important}.btn-blue.btn-lighten-3:hover{background-color:#1565C0!important}.btn-blue.btn-lighten-3:active,.btn-blue.btn-lighten-3:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-lighten-3{border-color:#90CAF9!important;color:#90CAF9!important}.btn-outline-blue.btn-outline-lighten-3:hover{background-color:#90CAF9!important}.border-blue.border-lighten-3{border:1px solid #90CAF9!important}.border-top-blue.border-top-lighten-3{border-top:1px solid #90CAF9!important}.border-bottom-blue.border-bottom-lighten-3{border-bottom:1px solid #90CAF9!important}.border-left-blue.border-left-lighten-3{border-left:1px solid #90CAF9!important}.border-right-blue.border-right-lighten-3{border-right:1px solid #90CAF9!important}.btn-blue.btn-lighten-2,.btn-blue.btn-lighten-2:hover{border-color:#1976D2!important}.overlay-blue.overlay-lighten-3{background:#90CAF9;background:rgba(144,202,249,.8)}.bg-blue.bg-lighten-2,.btn-blue.btn-lighten-2{background-color:#64B5F6!important}.blue.lighten-2{color:#64B5F6!important}.btn-blue.btn-lighten-2:hover{background-color:#1565C0!important}.btn-blue.btn-lighten-2:active,.btn-blue.btn-lighten-2:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-lighten-2{border-color:#64B5F6!important;color:#64B5F6!important}.btn-outline-blue.btn-outline-lighten-2:hover{background-color:#64B5F6!important}.border-blue.border-lighten-2{border:1px solid #64B5F6!important}.border-top-blue.border-top-lighten-2{border-top:1px solid #64B5F6!important}.border-bottom-blue.border-bottom-lighten-2{border-bottom:1px solid #64B5F6!important}.border-left-blue.border-left-lighten-2{border-left:1px solid #64B5F6!important}.border-right-blue.border-right-lighten-2{border-right:1px solid #64B5F6!important}.btn-blue.btn-lighten-1,.btn-blue.btn-lighten-1:hover{border-color:#1976D2!important}.overlay-blue.overlay-lighten-2{background:#64B5F6;background:rgba(100,181,246,.8)}.bg-blue.bg-lighten-1,.btn-blue.btn-lighten-1{background-color:#42A5F5!important}.blue.lighten-1{color:#42A5F5!important}.btn-blue.btn-lighten-1:hover{background-color:#1565C0!important}.btn-blue.btn-lighten-1:active,.btn-blue.btn-lighten-1:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-lighten-1{border-color:#42A5F5!important;color:#42A5F5!important}.btn-outline-blue.btn-outline-lighten-1:hover{background-color:#42A5F5!important}.border-blue.border-lighten-1{border:1px solid #42A5F5!important}.border-top-blue.border-top-lighten-1{border-top:1px solid #42A5F5!important}.border-bottom-blue.border-bottom-lighten-1{border-bottom:1px solid #42A5F5!important}.border-left-blue.border-left-lighten-1{border-left:1px solid #42A5F5!important}.border-right-blue.border-right-lighten-1{border-right:1px solid #42A5F5!important}.overlay-blue.overlay-lighten-1{background:#42A5F5;background:rgba(66,165,245,.8)}.blue{color:#2196F3!important}.bg-blue{background-color:#2196F3!important}.bg-blue .card-footer,.bg-blue .card-header{background-color:transparent}.alert-blue{border-color:#65B6F7!important;background-color:#65B6F7!important;color:#05365D!important}.alert-blue .alert-link{color:#031F36!important}.bullet.bullet-blue{background-color:#2196F3}.bg-light-blue{background-color:rgba(33,150,243,.15)}.bg-blue.badge-glow,.border-blue.badge-glow{box-shadow:0 0 10px #2196F3}.overlay-blue{background:#2196F3;background:rgba(33,150,243,.8)}.btn-blue{background-color:#2196F3!important;color:#FFF}.btn-blue:hover{border-color:#1E88E5!important;background-color:#42A5F5!important;color:#FFF!important}.btn-blue:active,.btn-blue:focus{border-color:#1976D2!important;background-color:#1565C0!important;color:#FFF!important}.btn-outline-blue{border-color:#2196F3;background-color:transparent;color:#2196F3}.btn-outline-blue:hover,.widget-timeline .timeline-items.timeline-icon-blue:before{background-color:#2196F3}.btn-outline-blue:hover{color:#FFF!important}input[type=checkbox].bg-blue+.custom-control-label:before,input[type=radio].bg-blue+.custom-control-label:before{background-color:#2196F3!important}.bg-blue.bg-darken-1,.btn-blue.btn-darken-1{background-color:#1E88E5!important}.border-blue{border:1px solid #2196F3!important}.border-top-blue{border-top:1px solid #2196F3}.border-bottom-blue{border-bottom:1px solid #2196F3}.border-left-blue{border-left:1px solid #2196F3}.border-right-blue{border-right:1px solid #2196F3}.blue.darken-1{color:#1E88E5!important}.btn-blue.btn-darken-1{border-color:#1976D2!important}.btn-blue.btn-darken-1:hover{border-color:#1976D2!important;background-color:#1565C0!important}.btn-blue.btn-darken-1:active,.btn-blue.btn-darken-1:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-darken-1{border-color:#1E88E5!important;color:#1E88E5!important}.btn-outline-blue.btn-outline-darken-1:hover{background-color:#1E88E5!important}.border-blue.border-darken-1{border:1px solid #1E88E5!important}.border-top-blue.border-top-darken-1{border-top:1px solid #1E88E5!important}.border-bottom-blue.border-bottom-darken-1{border-bottom:1px solid #1E88E5!important}.border-left-blue.border-left-darken-1{border-left:1px solid #1E88E5!important}.border-right-blue.border-right-darken-1{border-right:1px solid #1E88E5!important}.btn-blue.btn-darken-2,.btn-blue.btn-darken-2:hover{border-color:#1976D2!important}.overlay-blue.overlay-darken-1{background:#1E88E5;background:rgba(30,136,229,.8)}.bg-blue.bg-darken-2,.btn-blue.btn-darken-2{background-color:#1976D2!important}.blue.darken-2{color:#1976D2!important}.btn-blue.btn-darken-2:hover{background-color:#1565C0!important}.btn-blue.btn-darken-2:active,.btn-blue.btn-darken-2:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-darken-2{border-color:#1976D2!important;color:#1976D2!important}.btn-outline-blue.btn-outline-darken-2:hover{background-color:#1976D2!important}.border-blue.border-darken-2{border:1px solid #1976D2!important}.border-top-blue.border-top-darken-2{border-top:1px solid #1976D2!important}.border-bottom-blue.border-bottom-darken-2{border-bottom:1px solid #1976D2!important}.border-left-blue.border-left-darken-2{border-left:1px solid #1976D2!important}.border-right-blue.border-right-darken-2{border-right:1px solid #1976D2!important}.overlay-blue.overlay-darken-2{background:#1976D2;background:rgba(25,118,210,.8)}.blue.darken-3{color:#1565C0!important}.bg-blue.bg-darken-3{background-color:#1565C0!important}.btn-blue.btn-darken-3,.btn-blue.btn-darken-3:hover{border-color:#1976D2!important;background-color:#1565C0!important}.btn-blue.btn-darken-3:active,.btn-blue.btn-darken-3:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-darken-3{border-color:#1565C0!important;color:#1565C0!important}.btn-outline-blue.btn-outline-darken-3:hover{background-color:#1565C0!important}.border-blue.border-darken-3{border:1px solid #1565C0!important}.border-top-blue.border-top-darken-3{border-top:1px solid #1565C0!important}.border-bottom-blue.border-bottom-darken-3{border-bottom:1px solid #1565C0!important}.border-left-blue.border-left-darken-3{border-left:1px solid #1565C0!important}.border-right-blue.border-right-darken-3{border-right:1px solid #1565C0!important}.btn-blue.btn-darken-4,.btn-blue.btn-darken-4:hover{border-color:#1976D2!important}.overlay-blue.overlay-darken-3{background:#1565C0;background:rgba(21,101,192,.8)}.bg-blue.bg-darken-4,.btn-blue.btn-darken-4{background-color:#0D47A1!important}.blue.darken-4{color:#0D47A1!important}.btn-blue.btn-darken-4:hover{background-color:#1565C0!important}.btn-blue.btn-darken-4:active,.btn-blue.btn-darken-4:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-darken-4{border-color:#0D47A1!important;color:#0D47A1!important}.btn-outline-blue.btn-outline-darken-4:hover{background-color:#0D47A1!important}.border-blue.border-darken-4{border:1px solid #0D47A1!important}.border-top-blue.border-top-darken-4{border-top:1px solid #0D47A1!important}.border-bottom-blue.border-bottom-darken-4{border-bottom:1px solid #0D47A1!important}.border-left-blue.border-left-darken-4{border-left:1px solid #0D47A1!important}.border-right-blue.border-right-darken-4{border-right:1px solid #0D47A1!important}.btn-blue.btn-accent-1,.btn-blue.btn-accent-1:hover{border-color:#1976D2!important}.overlay-blue.overlay-darken-4{background:#0D47A1;background:rgba(13,71,161,.8)}.bg-blue.bg-accent-1,.btn-blue.btn-accent-1{background-color:#82B1FF!important}.blue.accent-1{color:#82B1FF!important}.btn-blue.btn-accent-1:hover{background-color:#1565C0!important}.btn-blue.btn-accent-1:active,.btn-blue.btn-accent-1:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-accent-1{border-color:#82B1FF!important;color:#82B1FF!important}.btn-outline-blue.btn-outline-accent-1:hover{background-color:#82B1FF!important}.border-blue.border-accent-1{border:1px solid #82B1FF!important}.border-top-blue.border-top-accent-1{border-top:1px solid #82B1FF!important}.border-bottom-blue.border-bottom-accent-1{border-bottom:1px solid #82B1FF!important}.border-left-blue.border-left-accent-1{border-left:1px solid #82B1FF!important}.border-right-blue.border-right-accent-1{border-right:1px solid #82B1FF!important}.btn-blue.btn-accent-2,.btn-blue.btn-accent-2:hover{border-color:#1976D2!important}.overlay-blue.overlay-accent-1{background:#82B1FF;background:rgba(130,177,255,.8)}.bg-blue.bg-accent-2,.btn-blue.btn-accent-2{background-color:#448AFF!important}.blue.accent-2{color:#448AFF!important}.btn-blue.btn-accent-2:hover{background-color:#1565C0!important}.btn-blue.btn-accent-2:active,.btn-blue.btn-accent-2:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-accent-2{border-color:#448AFF!important;color:#448AFF!important}.btn-outline-blue.btn-outline-accent-2:hover{background-color:#448AFF!important}.border-blue.border-accent-2{border:1px solid #448AFF!important}.border-top-blue.border-top-accent-2{border-top:1px solid #448AFF!important}.border-bottom-blue.border-bottom-accent-2{border-bottom:1px solid #448AFF!important}.border-left-blue.border-left-accent-2{border-left:1px solid #448AFF!important}.border-right-blue.border-right-accent-2{border-right:1px solid #448AFF!important}.btn-blue.btn-accent-3,.btn-blue.btn-accent-3:hover{border-color:#1976D2!important}.overlay-blue.overlay-accent-2{background:#448AFF;background:rgba(68,138,255,.8)}.bg-blue.bg-accent-3,.btn-blue.btn-accent-3{background-color:#2979FF!important}.blue.accent-3{color:#2979FF!important}.btn-blue.btn-accent-3:hover{background-color:#1565C0!important}.btn-blue.btn-accent-3:active,.btn-blue.btn-accent-3:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-accent-3{border-color:#2979FF!important;color:#2979FF!important}.btn-outline-blue.btn-outline-accent-3:hover{background-color:#2979FF!important}.border-blue.border-accent-3{border:1px solid #2979FF!important}.border-top-blue.border-top-accent-3{border-top:1px solid #2979FF!important}.border-bottom-blue.border-bottom-accent-3{border-bottom:1px solid #2979FF!important}.border-left-blue.border-left-accent-3{border-left:1px solid #2979FF!important}.border-right-blue.border-right-accent-3{border-right:1px solid #2979FF!important}.btn-blue.btn-accent-4,.btn-blue.btn-accent-4:hover{border-color:#1976D2!important}.overlay-blue.overlay-accent-3{background:#2979FF;background:rgba(41,121,255,.8)}.bg-blue.bg-accent-4,.btn-blue.btn-accent-4{background-color:#2962FF!important}.blue.accent-4{color:#2962FF!important}.btn-blue.btn-accent-4:hover{background-color:#1565C0!important}.btn-blue.btn-accent-4:active,.btn-blue.btn-accent-4:focus{border-color:#1565C0!important;background-color:#0D47A1!important}.btn-outline-blue.btn-outline-accent-4{border-color:#2962FF!important;color:#2962FF!important}.btn-outline-blue.btn-outline-accent-4:hover{background-color:#2962FF!important}input:focus~.bg-blue{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #2962FF!important}.border-blue.border-accent-4{border:1px solid #2962FF!important}.border-top-blue.border-top-accent-4{border-top:1px solid #2962FF!important}.border-bottom-blue.border-bottom-accent-4{border-bottom:1px solid #2962FF!important}.border-left-blue.border-left-accent-4{border-left:1px solid #2962FF!important}.border-right-blue.border-right-accent-4{border-right:1px solid #2962FF!important}.btn-cyan.btn-lighten-5,.btn-cyan.btn-lighten-5:hover{border-color:#0097A7!important}.overlay-blue.overlay-accent-4{background:#2962FF;background:rgba(41,98,255,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=blue]:before{background-color:#2962FF}.bg-cyan.bg-lighten-5,.btn-cyan.btn-lighten-5{background-color:#E0F7FA!important}.cyan.lighten-5{color:#E0F7FA!important}.btn-cyan.btn-lighten-5:hover{background-color:#00838F!important}.btn-cyan.btn-lighten-5:active,.btn-cyan.btn-lighten-5:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-lighten-5{border-color:#E0F7FA!important;color:#E0F7FA!important}.btn-outline-cyan.btn-outline-lighten-5:hover{background-color:#E0F7FA!important}.border-cyan.border-lighten-5{border:1px solid #E0F7FA!important}.border-top-cyan.border-top-lighten-5{border-top:1px solid #E0F7FA!important}.border-bottom-cyan.border-bottom-lighten-5{border-bottom:1px solid #E0F7FA!important}.border-left-cyan.border-left-lighten-5{border-left:1px solid #E0F7FA!important}.border-right-cyan.border-right-lighten-5{border-right:1px solid #E0F7FA!important}.btn-cyan.btn-lighten-4,.btn-cyan.btn-lighten-4:hover{border-color:#0097A7!important}.overlay-cyan.overlay-lighten-5{background:#E0F7FA;background:rgba(224,247,250,.8)}.bg-cyan.bg-lighten-4,.btn-cyan.btn-lighten-4{background-color:#B2EBF2!important}.cyan.lighten-4{color:#B2EBF2!important}.btn-cyan.btn-lighten-4:hover{background-color:#00838F!important}.btn-cyan.btn-lighten-4:active,.btn-cyan.btn-lighten-4:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-lighten-4{border-color:#B2EBF2!important;color:#B2EBF2!important}.btn-outline-cyan.btn-outline-lighten-4:hover{background-color:#B2EBF2!important}.border-cyan.border-lighten-4{border:1px solid #B2EBF2!important}.border-top-cyan.border-top-lighten-4{border-top:1px solid #B2EBF2!important}.border-bottom-cyan.border-bottom-lighten-4{border-bottom:1px solid #B2EBF2!important}.border-left-cyan.border-left-lighten-4{border-left:1px solid #B2EBF2!important}.border-right-cyan.border-right-lighten-4{border-right:1px solid #B2EBF2!important}.btn-cyan.btn-lighten-3,.btn-cyan.btn-lighten-3:hover{border-color:#0097A7!important}.overlay-cyan.overlay-lighten-4{background:#B2EBF2;background:rgba(178,235,242,.8)}.bg-cyan.bg-lighten-3,.btn-cyan.btn-lighten-3{background-color:#80DEEA!important}.cyan.lighten-3{color:#80DEEA!important}.btn-cyan.btn-lighten-3:hover{background-color:#00838F!important}.btn-cyan.btn-lighten-3:active,.btn-cyan.btn-lighten-3:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-lighten-3{border-color:#80DEEA!important;color:#80DEEA!important}.btn-outline-cyan.btn-outline-lighten-3:hover{background-color:#80DEEA!important}.border-cyan.border-lighten-3{border:1px solid #80DEEA!important}.border-top-cyan.border-top-lighten-3{border-top:1px solid #80DEEA!important}.border-bottom-cyan.border-bottom-lighten-3{border-bottom:1px solid #80DEEA!important}.border-left-cyan.border-left-lighten-3{border-left:1px solid #80DEEA!important}.border-right-cyan.border-right-lighten-3{border-right:1px solid #80DEEA!important}.btn-cyan.btn-lighten-2,.btn-cyan.btn-lighten-2:hover{border-color:#0097A7!important}.overlay-cyan.overlay-lighten-3{background:#80DEEA;background:rgba(128,222,234,.8)}.bg-cyan.bg-lighten-2,.btn-cyan.btn-lighten-2{background-color:#4DD0E1!important}.cyan.lighten-2{color:#4DD0E1!important}.btn-cyan.btn-lighten-2:hover{background-color:#00838F!important}.btn-cyan.btn-lighten-2:active,.btn-cyan.btn-lighten-2:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-lighten-2{border-color:#4DD0E1!important;color:#4DD0E1!important}.btn-outline-cyan.btn-outline-lighten-2:hover{background-color:#4DD0E1!important}.border-cyan.border-lighten-2{border:1px solid #4DD0E1!important}.border-top-cyan.border-top-lighten-2{border-top:1px solid #4DD0E1!important}.border-bottom-cyan.border-bottom-lighten-2{border-bottom:1px solid #4DD0E1!important}.border-left-cyan.border-left-lighten-2{border-left:1px solid #4DD0E1!important}.border-right-cyan.border-right-lighten-2{border-right:1px solid #4DD0E1!important}.btn-cyan.btn-lighten-1,.btn-cyan.btn-lighten-1:hover{border-color:#0097A7!important}.overlay-cyan.overlay-lighten-2{background:#4DD0E1;background:rgba(77,208,225,.8)}.bg-cyan.bg-lighten-1,.btn-cyan.btn-lighten-1{background-color:#26C6DA!important}.cyan.lighten-1{color:#26C6DA!important}.btn-cyan.btn-lighten-1:hover{background-color:#00838F!important}.btn-cyan.btn-lighten-1:active,.btn-cyan.btn-lighten-1:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-lighten-1{border-color:#26C6DA!important;color:#26C6DA!important}.btn-outline-cyan.btn-outline-lighten-1:hover{background-color:#26C6DA!important}.border-cyan.border-lighten-1{border:1px solid #26C6DA!important}.border-top-cyan.border-top-lighten-1{border-top:1px solid #26C6DA!important}.border-bottom-cyan.border-bottom-lighten-1{border-bottom:1px solid #26C6DA!important}.border-left-cyan.border-left-lighten-1{border-left:1px solid #26C6DA!important}.border-right-cyan.border-right-lighten-1{border-right:1px solid #26C6DA!important}.overlay-cyan.overlay-lighten-1{background:#26C6DA;background:rgba(38,198,218,.8)}.cyan{color:#00BCD4!important}.bg-cyan{background-color:#00BCD4!important}.bg-cyan .card-footer,.bg-cyan .card-header{background-color:transparent}.alert-cyan{border-color:#1CE5FF!important;background-color:#1CE5FF!important;color:#001E22!important}.alert-cyan .alert-link{color:#000!important}.bullet.bullet-cyan{background-color:#00BCD4}.bg-light-cyan{background-color:rgba(0,188,212,.15)}.bg-cyan.badge-glow,.border-cyan.badge-glow{box-shadow:0 0 10px #00BCD4}.overlay-cyan{background:#00BCD4;background:rgba(0,188,212,.8)}.btn-cyan{background-color:#00BCD4!important;color:#FFF}.btn-cyan:hover{border-color:#00ACC1!important;background-color:#26C6DA!important;color:#FFF!important}.btn-cyan:active,.btn-cyan:focus{border-color:#0097A7!important;background-color:#00838F!important;color:#FFF!important}.btn-outline-cyan{border-color:#00BCD4;background-color:transparent;color:#00BCD4}.btn-outline-cyan:hover,.widget-timeline .timeline-items.timeline-icon-cyan:before{background-color:#00BCD4}.btn-outline-cyan:hover{color:#FFF!important}input[type=checkbox].bg-cyan+.custom-control-label:before,input[type=radio].bg-cyan+.custom-control-label:before{background-color:#00BCD4!important}.bg-cyan.bg-darken-1,.btn-cyan.btn-darken-1{background-color:#00ACC1!important}.border-cyan{border:1px solid #00BCD4!important}.border-top-cyan{border-top:1px solid #00BCD4}.border-bottom-cyan{border-bottom:1px solid #00BCD4}.border-left-cyan{border-left:1px solid #00BCD4}.border-right-cyan{border-right:1px solid #00BCD4}.cyan.darken-1{color:#00ACC1!important}.btn-cyan.btn-darken-1{border-color:#0097A7!important}.btn-cyan.btn-darken-1:hover{border-color:#0097A7!important;background-color:#00838F!important}.btn-cyan.btn-darken-1:active,.btn-cyan.btn-darken-1:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-darken-1{border-color:#00ACC1!important;color:#00ACC1!important}.btn-outline-cyan.btn-outline-darken-1:hover{background-color:#00ACC1!important}.border-cyan.border-darken-1{border:1px solid #00ACC1!important}.border-top-cyan.border-top-darken-1{border-top:1px solid #00ACC1!important}.border-bottom-cyan.border-bottom-darken-1{border-bottom:1px solid #00ACC1!important}.border-left-cyan.border-left-darken-1{border-left:1px solid #00ACC1!important}.border-right-cyan.border-right-darken-1{border-right:1px solid #00ACC1!important}.btn-cyan.btn-darken-2,.btn-cyan.btn-darken-2:hover{border-color:#0097A7!important}.overlay-cyan.overlay-darken-1{background:#00ACC1;background:rgba(0,172,193,.8)}.bg-cyan.bg-darken-2,.btn-cyan.btn-darken-2{background-color:#0097A7!important}.cyan.darken-2{color:#0097A7!important}.btn-cyan.btn-darken-2:hover{background-color:#00838F!important}.btn-cyan.btn-darken-2:active,.btn-cyan.btn-darken-2:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-darken-2{border-color:#0097A7!important;color:#0097A7!important}.btn-outline-cyan.btn-outline-darken-2:hover{background-color:#0097A7!important}.border-cyan.border-darken-2{border:1px solid #0097A7!important}.border-top-cyan.border-top-darken-2{border-top:1px solid #0097A7!important}.border-bottom-cyan.border-bottom-darken-2{border-bottom:1px solid #0097A7!important}.border-left-cyan.border-left-darken-2{border-left:1px solid #0097A7!important}.border-right-cyan.border-right-darken-2{border-right:1px solid #0097A7!important}.overlay-cyan.overlay-darken-2{background:#0097A7;background:rgba(0,151,167,.8)}.cyan.darken-3{color:#00838F!important}.bg-cyan.bg-darken-3{background-color:#00838F!important}.btn-cyan.btn-darken-3,.btn-cyan.btn-darken-3:hover{border-color:#0097A7!important;background-color:#00838F!important}.btn-cyan.btn-darken-3:active,.btn-cyan.btn-darken-3:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-darken-3{border-color:#00838F!important;color:#00838F!important}.btn-outline-cyan.btn-outline-darken-3:hover{background-color:#00838F!important}.border-cyan.border-darken-3{border:1px solid #00838F!important}.border-top-cyan.border-top-darken-3{border-top:1px solid #00838F!important}.border-bottom-cyan.border-bottom-darken-3{border-bottom:1px solid #00838F!important}.border-left-cyan.border-left-darken-3{border-left:1px solid #00838F!important}.border-right-cyan.border-right-darken-3{border-right:1px solid #00838F!important}.btn-cyan.btn-darken-4,.btn-cyan.btn-darken-4:hover{border-color:#0097A7!important}.overlay-cyan.overlay-darken-3{background:#00838F;background:rgba(0,131,143,.8)}.bg-cyan.bg-darken-4,.btn-cyan.btn-darken-4{background-color:#006064!important}.cyan.darken-4{color:#006064!important}.btn-cyan.btn-darken-4:hover{background-color:#00838F!important}.btn-cyan.btn-darken-4:active,.btn-cyan.btn-darken-4:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-darken-4{border-color:#006064!important;color:#006064!important}.btn-outline-cyan.btn-outline-darken-4:hover{background-color:#006064!important}.border-cyan.border-darken-4{border:1px solid #006064!important}.border-top-cyan.border-top-darken-4{border-top:1px solid #006064!important}.border-bottom-cyan.border-bottom-darken-4{border-bottom:1px solid #006064!important}.border-left-cyan.border-left-darken-4{border-left:1px solid #006064!important}.border-right-cyan.border-right-darken-4{border-right:1px solid #006064!important}.btn-cyan.btn-accent-1,.btn-cyan.btn-accent-1:hover{border-color:#0097A7!important}.overlay-cyan.overlay-darken-4{background:#006064;background:rgba(0,96,100,.8)}.bg-cyan.bg-accent-1,.btn-cyan.btn-accent-1{background-color:#84FFFF!important}.cyan.accent-1{color:#84FFFF!important}.btn-cyan.btn-accent-1:hover{background-color:#00838F!important}.btn-cyan.btn-accent-1:active,.btn-cyan.btn-accent-1:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-accent-1{border-color:#84FFFF!important;color:#84FFFF!important}.btn-outline-cyan.btn-outline-accent-1:hover{background-color:#84FFFF!important}.border-cyan.border-accent-1{border:1px solid #84FFFF!important}.border-top-cyan.border-top-accent-1{border-top:1px solid #84FFFF!important}.border-bottom-cyan.border-bottom-accent-1{border-bottom:1px solid #84FFFF!important}.border-left-cyan.border-left-accent-1{border-left:1px solid #84FFFF!important}.border-right-cyan.border-right-accent-1{border-right:1px solid #84FFFF!important}.btn-cyan.btn-accent-2,.btn-cyan.btn-accent-2:hover{border-color:#0097A7!important}.overlay-cyan.overlay-accent-1{background:#84FFFF;background:rgba(132,255,255,.8)}.bg-cyan.bg-accent-2,.btn-cyan.btn-accent-2{background-color:#18FFFF!important}.cyan.accent-2{color:#18FFFF!important}.btn-cyan.btn-accent-2:hover{background-color:#00838F!important}.btn-cyan.btn-accent-2:active,.btn-cyan.btn-accent-2:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-accent-2{border-color:#18FFFF!important;color:#18FFFF!important}.btn-outline-cyan.btn-outline-accent-2:hover{background-color:#18FFFF!important}.border-cyan.border-accent-2{border:1px solid #18FFFF!important}.border-top-cyan.border-top-accent-2{border-top:1px solid #18FFFF!important}.border-bottom-cyan.border-bottom-accent-2{border-bottom:1px solid #18FFFF!important}.border-left-cyan.border-left-accent-2{border-left:1px solid #18FFFF!important}.border-right-cyan.border-right-accent-2{border-right:1px solid #18FFFF!important}.btn-cyan.btn-accent-3,.btn-cyan.btn-accent-3:hover{border-color:#0097A7!important}.overlay-cyan.overlay-accent-2{background:#18FFFF;background:rgba(24,255,255,.8)}.bg-cyan.bg-accent-3,.btn-cyan.btn-accent-3{background-color:#00E5FF!important}.cyan.accent-3{color:#00E5FF!important}.btn-cyan.btn-accent-3:hover{background-color:#00838F!important}.btn-cyan.btn-accent-3:active,.btn-cyan.btn-accent-3:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-accent-3{border-color:#00E5FF!important;color:#00E5FF!important}.btn-outline-cyan.btn-outline-accent-3:hover{background-color:#00E5FF!important}.border-cyan.border-accent-3{border:1px solid #00E5FF!important}.border-top-cyan.border-top-accent-3{border-top:1px solid #00E5FF!important}.border-bottom-cyan.border-bottom-accent-3{border-bottom:1px solid #00E5FF!important}.border-left-cyan.border-left-accent-3{border-left:1px solid #00E5FF!important}.border-right-cyan.border-right-accent-3{border-right:1px solid #00E5FF!important}.btn-cyan.btn-accent-4,.btn-cyan.btn-accent-4:hover{border-color:#0097A7!important}.overlay-cyan.overlay-accent-3{background:#00E5FF;background:rgba(0,229,255,.8)}.bg-cyan.bg-accent-4,.btn-cyan.btn-accent-4{background-color:#00B8D4!important}.cyan.accent-4{color:#00B8D4!important}.btn-cyan.btn-accent-4:hover{background-color:#00838F!important}.btn-cyan.btn-accent-4:active,.btn-cyan.btn-accent-4:focus{border-color:#00838F!important;background-color:#006064!important}.btn-outline-cyan.btn-outline-accent-4{border-color:#00B8D4!important;color:#00B8D4!important}.btn-outline-cyan.btn-outline-accent-4:hover{background-color:#00B8D4!important}input:focus~.bg-cyan{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #00B8D4!important}.border-cyan.border-accent-4{border:1px solid #00B8D4!important}.border-top-cyan.border-top-accent-4{border-top:1px solid #00B8D4!important}.border-bottom-cyan.border-bottom-accent-4{border-bottom:1px solid #00B8D4!important}.border-left-cyan.border-left-accent-4{border-left:1px solid #00B8D4!important}.border-right-cyan.border-right-accent-4{border-right:1px solid #00B8D4!important}.btn-teal.btn-lighten-5,.btn-teal.btn-lighten-5:hover{border-color:#00796B!important}.overlay-cyan.overlay-accent-4{background:#00B8D4;background:rgba(0,184,212,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=cyan]:before{background-color:#00B8D4}.bg-teal.bg-lighten-5,.btn-teal.btn-lighten-5{background-color:#E0F2F1!important}.teal.lighten-5{color:#E0F2F1!important}.btn-teal.btn-lighten-5:hover{background-color:#00695C!important}.btn-teal.btn-lighten-5:active,.btn-teal.btn-lighten-5:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-lighten-5{border-color:#E0F2F1!important;color:#E0F2F1!important}.btn-outline-teal.btn-outline-lighten-5:hover{background-color:#E0F2F1!important}.border-teal.border-lighten-5{border:1px solid #E0F2F1!important}.border-top-teal.border-top-lighten-5{border-top:1px solid #E0F2F1!important}.border-bottom-teal.border-bottom-lighten-5{border-bottom:1px solid #E0F2F1!important}.border-left-teal.border-left-lighten-5{border-left:1px solid #E0F2F1!important}.border-right-teal.border-right-lighten-5{border-right:1px solid #E0F2F1!important}.btn-teal.btn-lighten-4,.btn-teal.btn-lighten-4:hover{border-color:#00796B!important}.overlay-teal.overlay-lighten-5{background:#E0F2F1;background:rgba(224,242,241,.8)}.bg-teal.bg-lighten-4,.btn-teal.btn-lighten-4{background-color:#B2DFDB!important}.teal.lighten-4{color:#B2DFDB!important}.btn-teal.btn-lighten-4:hover{background-color:#00695C!important}.btn-teal.btn-lighten-4:active,.btn-teal.btn-lighten-4:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-lighten-4{border-color:#B2DFDB!important;color:#B2DFDB!important}.btn-outline-teal.btn-outline-lighten-4:hover{background-color:#B2DFDB!important}.border-teal.border-lighten-4{border:1px solid #B2DFDB!important}.border-top-teal.border-top-lighten-4{border-top:1px solid #B2DFDB!important}.border-bottom-teal.border-bottom-lighten-4{border-bottom:1px solid #B2DFDB!important}.border-left-teal.border-left-lighten-4{border-left:1px solid #B2DFDB!important}.border-right-teal.border-right-lighten-4{border-right:1px solid #B2DFDB!important}.btn-teal.btn-lighten-3,.btn-teal.btn-lighten-3:hover{border-color:#00796B!important}.overlay-teal.overlay-lighten-4{background:#B2DFDB;background:rgba(178,223,219,.8)}.bg-teal.bg-lighten-3,.btn-teal.btn-lighten-3{background-color:#80CBC4!important}.teal.lighten-3{color:#80CBC4!important}.btn-teal.btn-lighten-3:hover{background-color:#00695C!important}.btn-teal.btn-lighten-3:active,.btn-teal.btn-lighten-3:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-lighten-3{border-color:#80CBC4!important;color:#80CBC4!important}.btn-outline-teal.btn-outline-lighten-3:hover{background-color:#80CBC4!important}.border-teal.border-lighten-3{border:1px solid #80CBC4!important}.border-top-teal.border-top-lighten-3{border-top:1px solid #80CBC4!important}.border-bottom-teal.border-bottom-lighten-3{border-bottom:1px solid #80CBC4!important}.border-left-teal.border-left-lighten-3{border-left:1px solid #80CBC4!important}.border-right-teal.border-right-lighten-3{border-right:1px solid #80CBC4!important}.btn-teal.btn-lighten-2,.btn-teal.btn-lighten-2:hover{border-color:#00796B!important}.overlay-teal.overlay-lighten-3{background:#80CBC4;background:rgba(128,203,196,.8)}.bg-teal.bg-lighten-2,.btn-teal.btn-lighten-2{background-color:#4DB6AC!important}.teal.lighten-2{color:#4DB6AC!important}.btn-teal.btn-lighten-2:hover{background-color:#00695C!important}.btn-teal.btn-lighten-2:active,.btn-teal.btn-lighten-2:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-lighten-2{border-color:#4DB6AC!important;color:#4DB6AC!important}.btn-outline-teal.btn-outline-lighten-2:hover{background-color:#4DB6AC!important}.border-teal.border-lighten-2{border:1px solid #4DB6AC!important}.border-top-teal.border-top-lighten-2{border-top:1px solid #4DB6AC!important}.border-bottom-teal.border-bottom-lighten-2{border-bottom:1px solid #4DB6AC!important}.border-left-teal.border-left-lighten-2{border-left:1px solid #4DB6AC!important}.border-right-teal.border-right-lighten-2{border-right:1px solid #4DB6AC!important}.btn-teal.btn-lighten-1,.btn-teal.btn-lighten-1:hover{border-color:#00796B!important}.overlay-teal.overlay-lighten-2{background:#4DB6AC;background:rgba(77,182,172,.8)}.bg-teal.bg-lighten-1,.btn-teal.btn-lighten-1{background-color:#26A69A!important}.teal.lighten-1{color:#26A69A!important}.btn-teal.btn-lighten-1:hover{background-color:#00695C!important}.btn-teal.btn-lighten-1:active,.btn-teal.btn-lighten-1:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-lighten-1{border-color:#26A69A!important;color:#26A69A!important}.btn-outline-teal.btn-outline-lighten-1:hover{background-color:#26A69A!important}.border-teal.border-lighten-1{border:1px solid #26A69A!important}.border-top-teal.border-top-lighten-1{border-top:1px solid #26A69A!important}.border-bottom-teal.border-bottom-lighten-1{border-bottom:1px solid #26A69A!important}.border-left-teal.border-left-lighten-1{border-left:1px solid #26A69A!important}.border-right-teal.border-right-lighten-1{border-right:1px solid #26A69A!important}.overlay-teal.overlay-lighten-1{background:#26A69A;background:rgba(38,166,154,.8)}.teal{color:#009688!important}.alert-teal,.alert-teal .alert-link{color:#000!important}.bg-teal{background-color:#009688!important}.bg-teal .card-footer,.bg-teal .card-header{background-color:transparent}.alert-teal{border-color:#00DDC9!important;background-color:#00DDC9!important}.bullet.bullet-teal{background-color:#009688}.bg-light-teal{background-color:rgba(0,150,136,.15)}.bg-teal.badge-glow,.border-teal.badge-glow{box-shadow:0 0 10px #009688}.overlay-teal{background:#009688;background:rgba(0,150,136,.8)}.btn-teal{background-color:#009688!important;color:#FFF}.btn-teal:hover{border-color:#00897B!important;background-color:#26A69A!important;color:#FFF!important}.btn-teal:active,.btn-teal:focus{border-color:#00796B!important;background-color:#00695C!important;color:#FFF!important}.btn-outline-teal{border-color:#009688;background-color:transparent;color:#009688}.btn-outline-teal:hover,.widget-timeline .timeline-items.timeline-icon-teal:before{background-color:#009688}.btn-outline-teal:hover{color:#FFF!important}input[type=checkbox].bg-teal+.custom-control-label:before,input[type=radio].bg-teal+.custom-control-label:before{background-color:#009688!important}.bg-teal.bg-darken-1,.btn-teal.btn-darken-1{background-color:#00897B!important}.border-teal{border:1px solid #009688!important}.border-top-teal{border-top:1px solid #009688}.border-bottom-teal{border-bottom:1px solid #009688}.border-left-teal{border-left:1px solid #009688}.border-right-teal{border-right:1px solid #009688}.teal.darken-1{color:#00897B!important}.btn-teal.btn-darken-1{border-color:#00796B!important}.btn-teal.btn-darken-1:hover{border-color:#00796B!important;background-color:#00695C!important}.btn-teal.btn-darken-1:active,.btn-teal.btn-darken-1:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-darken-1{border-color:#00897B!important;color:#00897B!important}.btn-outline-teal.btn-outline-darken-1:hover{background-color:#00897B!important}.border-teal.border-darken-1{border:1px solid #00897B!important}.border-top-teal.border-top-darken-1{border-top:1px solid #00897B!important}.border-bottom-teal.border-bottom-darken-1{border-bottom:1px solid #00897B!important}.border-left-teal.border-left-darken-1{border-left:1px solid #00897B!important}.border-right-teal.border-right-darken-1{border-right:1px solid #00897B!important}.btn-teal.btn-darken-2,.btn-teal.btn-darken-2:hover{border-color:#00796B!important}.overlay-teal.overlay-darken-1{background:#00897B;background:rgba(0,137,123,.8)}.bg-teal.bg-darken-2,.btn-teal.btn-darken-2{background-color:#00796B!important}.teal.darken-2{color:#00796B!important}.btn-teal.btn-darken-2:hover{background-color:#00695C!important}.btn-teal.btn-darken-2:active,.btn-teal.btn-darken-2:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-darken-2{border-color:#00796B!important;color:#00796B!important}.btn-outline-teal.btn-outline-darken-2:hover{background-color:#00796B!important}.border-teal.border-darken-2{border:1px solid #00796B!important}.border-top-teal.border-top-darken-2{border-top:1px solid #00796B!important}.border-bottom-teal.border-bottom-darken-2{border-bottom:1px solid #00796B!important}.border-left-teal.border-left-darken-2{border-left:1px solid #00796B!important}.border-right-teal.border-right-darken-2{border-right:1px solid #00796B!important}.overlay-teal.overlay-darken-2{background:#00796B;background:rgba(0,121,107,.8)}.teal.darken-3{color:#00695C!important}.bg-teal.bg-darken-3{background-color:#00695C!important}.btn-teal.btn-darken-3,.btn-teal.btn-darken-3:hover{border-color:#00796B!important;background-color:#00695C!important}.btn-teal.btn-darken-3:active,.btn-teal.btn-darken-3:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-darken-3{border-color:#00695C!important;color:#00695C!important}.btn-outline-teal.btn-outline-darken-3:hover{background-color:#00695C!important}.border-teal.border-darken-3{border:1px solid #00695C!important}.border-top-teal.border-top-darken-3{border-top:1px solid #00695C!important}.border-bottom-teal.border-bottom-darken-3{border-bottom:1px solid #00695C!important}.border-left-teal.border-left-darken-3{border-left:1px solid #00695C!important}.border-right-teal.border-right-darken-3{border-right:1px solid #00695C!important}.btn-teal.btn-darken-4,.btn-teal.btn-darken-4:hover{border-color:#00796B!important}.overlay-teal.overlay-darken-3{background:#00695C;background:rgba(0,105,92,.8)}.bg-teal.bg-darken-4,.btn-teal.btn-darken-4{background-color:#004D40!important}.teal.darken-4{color:#004D40!important}.btn-teal.btn-darken-4:hover{background-color:#00695C!important}.btn-teal.btn-darken-4:active,.btn-teal.btn-darken-4:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-darken-4{border-color:#004D40!important;color:#004D40!important}.btn-outline-teal.btn-outline-darken-4:hover{background-color:#004D40!important}.border-teal.border-darken-4{border:1px solid #004D40!important}.border-top-teal.border-top-darken-4{border-top:1px solid #004D40!important}.border-bottom-teal.border-bottom-darken-4{border-bottom:1px solid #004D40!important}.border-left-teal.border-left-darken-4{border-left:1px solid #004D40!important}.border-right-teal.border-right-darken-4{border-right:1px solid #004D40!important}.btn-teal.btn-accent-1,.btn-teal.btn-accent-1:hover{border-color:#00796B!important}.overlay-teal.overlay-darken-4{background:#004D40;background:rgba(0,77,64,.8)}.bg-teal.bg-accent-1,.btn-teal.btn-accent-1{background-color:#A7FFEB!important}.teal.accent-1{color:#A7FFEB!important}.btn-teal.btn-accent-1:hover{background-color:#00695C!important}.btn-teal.btn-accent-1:active,.btn-teal.btn-accent-1:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-accent-1{border-color:#A7FFEB!important;color:#A7FFEB!important}.btn-outline-teal.btn-outline-accent-1:hover{background-color:#A7FFEB!important}.border-teal.border-accent-1{border:1px solid #A7FFEB!important}.border-top-teal.border-top-accent-1{border-top:1px solid #A7FFEB!important}.border-bottom-teal.border-bottom-accent-1{border-bottom:1px solid #A7FFEB!important}.border-left-teal.border-left-accent-1{border-left:1px solid #A7FFEB!important}.border-right-teal.border-right-accent-1{border-right:1px solid #A7FFEB!important}.btn-teal.btn-accent-2,.btn-teal.btn-accent-2:hover{border-color:#00796B!important}.overlay-teal.overlay-accent-1{background:#A7FFEB;background:rgba(167,255,235,.8)}.bg-teal.bg-accent-2,.btn-teal.btn-accent-2{background-color:#64FFDA!important}.teal.accent-2{color:#64FFDA!important}.btn-teal.btn-accent-2:hover{background-color:#00695C!important}.btn-teal.btn-accent-2:active,.btn-teal.btn-accent-2:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-accent-2{border-color:#64FFDA!important;color:#64FFDA!important}.btn-outline-teal.btn-outline-accent-2:hover{background-color:#64FFDA!important}.border-teal.border-accent-2{border:1px solid #64FFDA!important}.border-top-teal.border-top-accent-2{border-top:1px solid #64FFDA!important}.border-bottom-teal.border-bottom-accent-2{border-bottom:1px solid #64FFDA!important}.border-left-teal.border-left-accent-2{border-left:1px solid #64FFDA!important}.border-right-teal.border-right-accent-2{border-right:1px solid #64FFDA!important}.btn-teal.btn-accent-3,.btn-teal.btn-accent-3:hover{border-color:#00796B!important}.overlay-teal.overlay-accent-2{background:#64FFDA;background:rgba(100,255,218,.8)}.bg-teal.bg-accent-3,.btn-teal.btn-accent-3{background-color:#1DE9B6!important}.teal.accent-3{color:#1DE9B6!important}.btn-teal.btn-accent-3:hover{background-color:#00695C!important}.btn-teal.btn-accent-3:active,.btn-teal.btn-accent-3:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-accent-3{border-color:#1DE9B6!important;color:#1DE9B6!important}.btn-outline-teal.btn-outline-accent-3:hover{background-color:#1DE9B6!important}.border-teal.border-accent-3{border:1px solid #1DE9B6!important}.border-top-teal.border-top-accent-3{border-top:1px solid #1DE9B6!important}.border-bottom-teal.border-bottom-accent-3{border-bottom:1px solid #1DE9B6!important}.border-left-teal.border-left-accent-3{border-left:1px solid #1DE9B6!important}.border-right-teal.border-right-accent-3{border-right:1px solid #1DE9B6!important}.btn-teal.btn-accent-4,.btn-teal.btn-accent-4:hover{border-color:#00796B!important}.overlay-teal.overlay-accent-3{background:#1DE9B6;background:rgba(29,233,182,.8)}.bg-teal.bg-accent-4,.btn-teal.btn-accent-4{background-color:#00BFA5!important}.teal.accent-4{color:#00BFA5!important}.btn-teal.btn-accent-4:hover{background-color:#00695C!important}.btn-teal.btn-accent-4:active,.btn-teal.btn-accent-4:focus{border-color:#00695C!important;background-color:#004D40!important}.btn-outline-teal.btn-outline-accent-4{border-color:#00BFA5!important;color:#00BFA5!important}.btn-outline-teal.btn-outline-accent-4:hover{background-color:#00BFA5!important}input:focus~.bg-teal{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #00BFA5!important}.border-teal.border-accent-4{border:1px solid #00BFA5!important}.border-top-teal.border-top-accent-4{border-top:1px solid #00BFA5!important}.border-bottom-teal.border-bottom-accent-4{border-bottom:1px solid #00BFA5!important}.border-left-teal.border-left-accent-4{border-left:1px solid #00BFA5!important}.border-right-teal.border-right-accent-4{border-right:1px solid #00BFA5!important}.overlay-teal.overlay-accent-4{background:#00BFA5;background:rgba(0,191,165,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=teal]:before{background-color:#00BFA5}.bg-yellow.bg-lighten-5,.btn-yellow.btn-lighten-5{background-color:#FFFDE7!important}.yellow.lighten-5{color:#FFFDE7!important}.btn-yellow.btn-lighten-5{border-color:#FBC02D!important}.btn-yellow.btn-lighten-5:hover{border-color:#FBC02D!important;background-color:#F9A825!important}.btn-yellow.btn-lighten-5:active,.btn-yellow.btn-lighten-5:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-lighten-5{border-color:#FFFDE7!important;color:#FFFDE7!important}.btn-outline-yellow.btn-outline-lighten-5:hover{background-color:#FFFDE7!important}.border-yellow.border-lighten-5{border:1px solid #FFFDE7!important}.border-top-yellow.border-top-lighten-5{border-top:1px solid #FFFDE7!important}.border-bottom-yellow.border-bottom-lighten-5{border-bottom:1px solid #FFFDE7!important}.border-left-yellow.border-left-lighten-5{border-left:1px solid #FFFDE7!important}.border-right-yellow.border-right-lighten-5{border-right:1px solid #FFFDE7!important}.overlay-yellow.overlay-lighten-5{background:#FFFDE7;background:rgba(255,253,231,.8)}.bg-yellow.bg-lighten-4,.btn-yellow.btn-lighten-4{background-color:#FFF9C4!important}.yellow.lighten-4{color:#FFF9C4!important}.btn-yellow.btn-lighten-4{border-color:#FBC02D!important}.btn-yellow.btn-lighten-4:hover{border-color:#FBC02D!important;background-color:#F9A825!important}.btn-yellow.btn-lighten-4:active,.btn-yellow.btn-lighten-4:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-lighten-4{border-color:#FFF9C4!important;color:#FFF9C4!important}.btn-outline-yellow.btn-outline-lighten-4:hover{background-color:#FFF9C4!important}.border-yellow.border-lighten-4{border:1px solid #FFF9C4!important}.border-top-yellow.border-top-lighten-4{border-top:1px solid #FFF9C4!important}.border-bottom-yellow.border-bottom-lighten-4{border-bottom:1px solid #FFF9C4!important}.border-left-yellow.border-left-lighten-4{border-left:1px solid #FFF9C4!important}.border-right-yellow.border-right-lighten-4{border-right:1px solid #FFF9C4!important}.overlay-yellow.overlay-lighten-4{background:#FFF9C4;background:rgba(255,249,196,.8)}.bg-yellow.bg-lighten-3,.btn-yellow.btn-lighten-3{background-color:#FFF59D!important}.yellow.lighten-3{color:#FFF59D!important}.btn-yellow.btn-lighten-3{border-color:#FBC02D!important}.btn-yellow.btn-lighten-3:hover{border-color:#FBC02D!important;background-color:#F9A825!important}.btn-yellow.btn-lighten-3:active,.btn-yellow.btn-lighten-3:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-lighten-3{border-color:#FFF59D!important;color:#FFF59D!important}.btn-outline-yellow.btn-outline-lighten-3:hover{background-color:#FFF59D!important}.border-yellow.border-lighten-3{border:1px solid #FFF59D!important}.border-top-yellow.border-top-lighten-3{border-top:1px solid #FFF59D!important}.border-bottom-yellow.border-bottom-lighten-3{border-bottom:1px solid #FFF59D!important}.border-left-yellow.border-left-lighten-3{border-left:1px solid #FFF59D!important}.border-right-yellow.border-right-lighten-3{border-right:1px solid #FFF59D!important}.overlay-yellow.overlay-lighten-3{background:#FFF59D;background:rgba(255,245,157,.8)}.bg-yellow.bg-lighten-2,.btn-yellow.btn-lighten-2{background-color:#FFF176!important}.yellow.lighten-2{color:#FFF176!important}.btn-yellow.btn-lighten-2{border-color:#FBC02D!important}.btn-yellow.btn-lighten-2:hover{border-color:#FBC02D!important;background-color:#F9A825!important}.btn-yellow.btn-lighten-2:active,.btn-yellow.btn-lighten-2:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-lighten-2{border-color:#FFF176!important;color:#FFF176!important}.btn-outline-yellow.btn-outline-lighten-2:hover{background-color:#FFF176!important}.border-yellow.border-lighten-2{border:1px solid #FFF176!important}.border-top-yellow.border-top-lighten-2{border-top:1px solid #FFF176!important}.border-bottom-yellow.border-bottom-lighten-2{border-bottom:1px solid #FFF176!important}.border-left-yellow.border-left-lighten-2{border-left:1px solid #FFF176!important}.border-right-yellow.border-right-lighten-2{border-right:1px solid #FFF176!important}.overlay-yellow.overlay-lighten-2{background:#FFF176;background:rgba(255,241,118,.8)}.bg-yellow.bg-lighten-1,.btn-yellow.btn-lighten-1{background-color:#FFEE58!important}.yellow.lighten-1{color:#FFEE58!important}.btn-yellow.btn-lighten-1{border-color:#FBC02D!important}.btn-yellow.btn-lighten-1:hover{border-color:#FBC02D!important;background-color:#F9A825!important}.btn-yellow.btn-lighten-1:active,.btn-yellow.btn-lighten-1:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-lighten-1{border-color:#FFEE58!important;color:#FFEE58!important}.btn-outline-yellow.btn-outline-lighten-1:hover{background-color:#FFEE58!important}.border-yellow.border-lighten-1{border:1px solid #FFEE58!important}.border-top-yellow.border-top-lighten-1{border-top:1px solid #FFEE58!important}.border-bottom-yellow.border-bottom-lighten-1{border-bottom:1px solid #FFEE58!important}.border-left-yellow.border-left-lighten-1{border-left:1px solid #FFEE58!important}.border-right-yellow.border-right-lighten-1{border-right:1px solid #FFEE58!important}.overlay-yellow.overlay-lighten-1{background:#FFEE58;background:rgba(255,238,88,.8)}.yellow{color:#FFEB3B!important}.bg-yellow{background-color:#FFEB3B!important}.bg-yellow .card-footer,.bg-yellow .card-header{background-color:transparent}.alert-yellow{border-color:#FFF282!important;background-color:#FFF282!important;color:#887A00!important}.alert-yellow .alert-link{color:#5F5500!important}.bullet.bullet-yellow{background-color:#FFEB3B}.bg-light-yellow{background-color:rgba(255,235,59,.15)}.bg-yellow.badge-glow,.border-yellow.badge-glow{box-shadow:0 0 10px #FFEB3B}.overlay-yellow{background:#FFEB3B;background:rgba(255,235,59,.8)}.btn-yellow{background-color:#FFEB3B!important;color:#FFF}.btn-yellow:hover{border-color:#FDD835!important;background-color:#FFEE58!important;color:#FFF!important}.btn-yellow:active,.btn-yellow:focus{border-color:#FBC02D!important;background-color:#F9A825!important;color:#FFF!important}.btn-outline-yellow{border-color:#FFEB3B;background-color:transparent;color:#FFEB3B}.btn-outline-yellow:hover{background-color:#FFEB3B;color:#FFF!important}.widget-timeline .timeline-items.timeline-icon-yellow:before{background-color:#FFEB3B}input[type=checkbox].bg-yellow+.custom-control-label:before,input[type=radio].bg-yellow+.custom-control-label:before{background-color:#FFEB3B!important}.bg-yellow.bg-darken-1,.btn-yellow.btn-darken-1{background-color:#FDD835!important}.border-yellow{border:1px solid #FFEB3B!important}.border-top-yellow{border-top:1px solid #FFEB3B}.border-bottom-yellow{border-bottom:1px solid #FFEB3B}.border-left-yellow{border-left:1px solid #FFEB3B}.border-right-yellow{border-right:1px solid #FFEB3B}.yellow.darken-1{color:#FDD835!important}.btn-yellow.btn-darken-1{border-color:#FBC02D!important}.btn-yellow.btn-darken-1:hover{border-color:#FBC02D!important;background-color:#F9A825!important}.btn-yellow.btn-darken-1:active,.btn-yellow.btn-darken-1:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-darken-1{border-color:#FDD835!important;color:#FDD835!important}.btn-outline-yellow.btn-outline-darken-1:hover{background-color:#FDD835!important}.border-yellow.border-darken-1{border:1px solid #FDD835!important}.border-top-yellow.border-top-darken-1{border-top:1px solid #FDD835!important}.border-bottom-yellow.border-bottom-darken-1{border-bottom:1px solid #FDD835!important}.border-left-yellow.border-left-darken-1{border-left:1px solid #FDD835!important}.border-right-yellow.border-right-darken-1{border-right:1px solid #FDD835!important}.btn-yellow.btn-darken-2,.btn-yellow.btn-darken-2:hover{border-color:#FBC02D!important}.overlay-yellow.overlay-darken-1{background:#FDD835;background:rgba(253,216,53,.8)}.bg-yellow.bg-darken-2,.btn-yellow.btn-darken-2{background-color:#FBC02D!important}.yellow.darken-2{color:#FBC02D!important}.btn-yellow.btn-darken-2:hover{background-color:#F9A825!important}.btn-yellow.btn-darken-2:active,.btn-yellow.btn-darken-2:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-darken-2{border-color:#FBC02D!important;color:#FBC02D!important}.btn-outline-yellow.btn-outline-darken-2:hover{background-color:#FBC02D!important}.border-yellow.border-darken-2{border:1px solid #FBC02D!important}.border-top-yellow.border-top-darken-2{border-top:1px solid #FBC02D!important}.border-bottom-yellow.border-bottom-darken-2{border-bottom:1px solid #FBC02D!important}.border-left-yellow.border-left-darken-2{border-left:1px solid #FBC02D!important}.border-right-yellow.border-right-darken-2{border-right:1px solid #FBC02D!important}.overlay-yellow.overlay-darken-2{background:#FBC02D;background:rgba(251,192,45,.8)}.yellow.darken-3{color:#F9A825!important}.bg-yellow.bg-darken-3{background-color:#F9A825!important}.btn-yellow.btn-darken-3,.btn-yellow.btn-darken-3:hover{border-color:#FBC02D!important;background-color:#F9A825!important}.btn-yellow.btn-darken-3:active,.btn-yellow.btn-darken-3:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-darken-3{border-color:#F9A825!important;color:#F9A825!important}.btn-outline-yellow.btn-outline-darken-3:hover{background-color:#F9A825!important}.border-yellow.border-darken-3{border:1px solid #F9A825!important}.border-top-yellow.border-top-darken-3{border-top:1px solid #F9A825!important}.border-bottom-yellow.border-bottom-darken-3{border-bottom:1px solid #F9A825!important}.border-left-yellow.border-left-darken-3{border-left:1px solid #F9A825!important}.border-right-yellow.border-right-darken-3{border-right:1px solid #F9A825!important}.btn-yellow.btn-darken-4,.btn-yellow.btn-darken-4:hover{border-color:#FBC02D!important}.overlay-yellow.overlay-darken-3{background:#F9A825;background:rgba(249,168,37,.8)}.bg-yellow.bg-darken-4,.btn-yellow.btn-darken-4{background-color:#F57F17!important}.yellow.darken-4{color:#F57F17!important}.btn-yellow.btn-darken-4:hover{background-color:#F9A825!important}.btn-yellow.btn-darken-4:active,.btn-yellow.btn-darken-4:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-darken-4{border-color:#F57F17!important;color:#F57F17!important}.btn-outline-yellow.btn-outline-darken-4:hover{background-color:#F57F17!important}.border-yellow.border-darken-4{border:1px solid #F57F17!important}.border-top-yellow.border-top-darken-4{border-top:1px solid #F57F17!important}.border-bottom-yellow.border-bottom-darken-4{border-bottom:1px solid #F57F17!important}.border-left-yellow.border-left-darken-4{border-left:1px solid #F57F17!important}.border-right-yellow.border-right-darken-4{border-right:1px solid #F57F17!important}.btn-yellow.btn-accent-1,.btn-yellow.btn-accent-1:hover{border-color:#FBC02D!important}.overlay-yellow.overlay-darken-4{background:#F57F17;background:rgba(245,127,23,.8)}.bg-yellow.bg-accent-1,.btn-yellow.btn-accent-1{background-color:#FFFF8D!important}.yellow.accent-1{color:#FFFF8D!important}.btn-yellow.btn-accent-1:hover{background-color:#F9A825!important}.btn-yellow.btn-accent-1:active,.btn-yellow.btn-accent-1:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-accent-1{border-color:#FFFF8D!important;color:#FFFF8D!important}.btn-outline-yellow.btn-outline-accent-1:hover{background-color:#FFFF8D!important}.border-yellow.border-accent-1{border:1px solid #FFFF8D!important}.border-top-yellow.border-top-accent-1{border-top:1px solid #FFFF8D!important}.border-bottom-yellow.border-bottom-accent-1{border-bottom:1px solid #FFFF8D!important}.border-left-yellow.border-left-accent-1{border-left:1px solid #FFFF8D!important}.border-right-yellow.border-right-accent-1{border-right:1px solid #FFFF8D!important}.btn-yellow.btn-accent-2,.btn-yellow.btn-accent-2:hover{border-color:#FBC02D!important}.overlay-yellow.overlay-accent-1{background:#FFFF8D;background:rgba(255,255,141,.8)}.bg-yellow.bg-accent-2,.btn-yellow.btn-accent-2{background-color:#FF0!important}.yellow.accent-2{color:#FF0!important}.btn-yellow.btn-accent-2:hover{background-color:#F9A825!important}.btn-yellow.btn-accent-2:active,.btn-yellow.btn-accent-2:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-accent-2{border-color:#FF0!important;color:#FF0!important}.btn-outline-yellow.btn-outline-accent-2:hover{background-color:#FF0!important}.border-yellow.border-accent-2{border:1px solid #FF0!important}.border-top-yellow.border-top-accent-2{border-top:1px solid #FF0!important}.border-bottom-yellow.border-bottom-accent-2{border-bottom:1px solid #FF0!important}.border-left-yellow.border-left-accent-2{border-left:1px solid #FF0!important}.border-right-yellow.border-right-accent-2{border-right:1px solid #FF0!important}.btn-yellow.btn-accent-3,.btn-yellow.btn-accent-3:hover{border-color:#FBC02D!important}.overlay-yellow.overlay-accent-2{background:#FF0;background:rgba(255,255,0,.8)}.bg-yellow.bg-accent-3,.btn-yellow.btn-accent-3{background-color:#FFEA00!important}.yellow.accent-3{color:#FFEA00!important}.btn-yellow.btn-accent-3:hover{background-color:#F9A825!important}.btn-yellow.btn-accent-3:active,.btn-yellow.btn-accent-3:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-accent-3{border-color:#FFEA00!important;color:#FFEA00!important}.btn-outline-yellow.btn-outline-accent-3:hover{background-color:#FFEA00!important}.border-yellow.border-accent-3{border:1px solid #FFEA00!important}.border-top-yellow.border-top-accent-3{border-top:1px solid #FFEA00!important}.border-bottom-yellow.border-bottom-accent-3{border-bottom:1px solid #FFEA00!important}.border-left-yellow.border-left-accent-3{border-left:1px solid #FFEA00!important}.border-right-yellow.border-right-accent-3{border-right:1px solid #FFEA00!important}.btn-yellow.btn-accent-4,.btn-yellow.btn-accent-4:hover{border-color:#FBC02D!important}.overlay-yellow.overlay-accent-3{background:#FFEA00;background:rgba(255,234,0,.8)}.bg-yellow.bg-accent-4,.btn-yellow.btn-accent-4{background-color:#FFD600!important}.yellow.accent-4{color:#FFD600!important}.btn-yellow.btn-accent-4:hover{background-color:#F9A825!important}.btn-yellow.btn-accent-4:active,.btn-yellow.btn-accent-4:focus{border-color:#F9A825!important;background-color:#F57F17!important}.btn-outline-yellow.btn-outline-accent-4{border-color:#FFD600!important;color:#FFD600!important}.btn-outline-yellow.btn-outline-accent-4:hover{background-color:#FFD600!important}input:focus~.bg-yellow{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #FFD600!important}.border-yellow.border-accent-4{border:1px solid #FFD600!important}.border-top-yellow.border-top-accent-4{border-top:1px solid #FFD600!important}.border-bottom-yellow.border-bottom-accent-4{border-bottom:1px solid #FFD600!important}.border-left-yellow.border-left-accent-4{border-left:1px solid #FFD600!important}.border-right-yellow.border-right-accent-4{border-right:1px solid #FFD600!important}.btn-amber.btn-lighten-5,.btn-amber.btn-lighten-5:hover{border-color:#FFA000!important}.overlay-yellow.overlay-accent-4{background:#FFD600;background:rgba(255,214,0,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=yellow]:before{background-color:#FFD600}.bg-amber.bg-lighten-5,.btn-amber.btn-lighten-5{background-color:#FFF8E1!important}.amber.lighten-5{color:#FFF8E1!important}.btn-amber.btn-lighten-5:hover{background-color:#FF8F00!important}.btn-amber.btn-lighten-5:active,.btn-amber.btn-lighten-5:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-lighten-5{border-color:#FFF8E1!important;color:#FFF8E1!important}.btn-outline-amber.btn-outline-lighten-5:hover{background-color:#FFF8E1!important}.border-amber.border-lighten-5{border:1px solid #FFF8E1!important}.border-top-amber.border-top-lighten-5{border-top:1px solid #FFF8E1!important}.border-bottom-amber.border-bottom-lighten-5{border-bottom:1px solid #FFF8E1!important}.border-left-amber.border-left-lighten-5{border-left:1px solid #FFF8E1!important}.border-right-amber.border-right-lighten-5{border-right:1px solid #FFF8E1!important}.btn-amber.btn-lighten-4,.btn-amber.btn-lighten-4:hover{border-color:#FFA000!important}.overlay-amber.overlay-lighten-5{background:#FFF8E1;background:rgba(255,248,225,.8)}.bg-amber.bg-lighten-4,.btn-amber.btn-lighten-4{background-color:#FFECB3!important}.amber.lighten-4{color:#FFECB3!important}.btn-amber.btn-lighten-4:hover{background-color:#FF8F00!important}.btn-amber.btn-lighten-4:active,.btn-amber.btn-lighten-4:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-lighten-4{border-color:#FFECB3!important;color:#FFECB3!important}.btn-outline-amber.btn-outline-lighten-4:hover{background-color:#FFECB3!important}.border-amber.border-lighten-4{border:1px solid #FFECB3!important}.border-top-amber.border-top-lighten-4{border-top:1px solid #FFECB3!important}.border-bottom-amber.border-bottom-lighten-4{border-bottom:1px solid #FFECB3!important}.border-left-amber.border-left-lighten-4{border-left:1px solid #FFECB3!important}.border-right-amber.border-right-lighten-4{border-right:1px solid #FFECB3!important}.btn-amber.btn-lighten-3,.btn-amber.btn-lighten-3:hover{border-color:#FFA000!important}.overlay-amber.overlay-lighten-4{background:#FFECB3;background:rgba(255,236,179,.8)}.bg-amber.bg-lighten-3,.btn-amber.btn-lighten-3{background-color:#FFE082!important}.amber.lighten-3{color:#FFE082!important}.btn-amber.btn-lighten-3:hover{background-color:#FF8F00!important}.btn-amber.btn-lighten-3:active,.btn-amber.btn-lighten-3:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-lighten-3{border-color:#FFE082!important;color:#FFE082!important}.btn-outline-amber.btn-outline-lighten-3:hover{background-color:#FFE082!important}.border-amber.border-lighten-3{border:1px solid #FFE082!important}.border-top-amber.border-top-lighten-3{border-top:1px solid #FFE082!important}.border-bottom-amber.border-bottom-lighten-3{border-bottom:1px solid #FFE082!important}.border-left-amber.border-left-lighten-3{border-left:1px solid #FFE082!important}.border-right-amber.border-right-lighten-3{border-right:1px solid #FFE082!important}.btn-amber.btn-lighten-2,.btn-amber.btn-lighten-2:hover{border-color:#FFA000!important}.overlay-amber.overlay-lighten-3{background:#FFE082;background:rgba(255,224,130,.8)}.bg-amber.bg-lighten-2,.btn-amber.btn-lighten-2{background-color:#FFD54F!important}.amber.lighten-2{color:#FFD54F!important}.btn-amber.btn-lighten-2:hover{background-color:#FF8F00!important}.btn-amber.btn-lighten-2:active,.btn-amber.btn-lighten-2:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-lighten-2{border-color:#FFD54F!important;color:#FFD54F!important}.btn-outline-amber.btn-outline-lighten-2:hover{background-color:#FFD54F!important}.border-amber.border-lighten-2{border:1px solid #FFD54F!important}.border-top-amber.border-top-lighten-2{border-top:1px solid #FFD54F!important}.border-bottom-amber.border-bottom-lighten-2{border-bottom:1px solid #FFD54F!important}.border-left-amber.border-left-lighten-2{border-left:1px solid #FFD54F!important}.border-right-amber.border-right-lighten-2{border-right:1px solid #FFD54F!important}.btn-amber.btn-lighten-1,.btn-amber.btn-lighten-1:hover{border-color:#FFA000!important}.overlay-amber.overlay-lighten-2{background:#FFD54F;background:rgba(255,213,79,.8)}.bg-amber.bg-lighten-1,.btn-amber.btn-lighten-1{background-color:#FFCA28!important}.amber.lighten-1{color:#FFCA28!important}.btn-amber.btn-lighten-1:hover{background-color:#FF8F00!important}.btn-amber.btn-lighten-1:active,.btn-amber.btn-lighten-1:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-lighten-1{border-color:#FFCA28!important;color:#FFCA28!important}.btn-outline-amber.btn-outline-lighten-1:hover{background-color:#FFCA28!important}.border-amber.border-lighten-1{border:1px solid #FFCA28!important}.border-top-amber.border-top-lighten-1{border-top:1px solid #FFCA28!important}.border-bottom-amber.border-bottom-lighten-1{border-bottom:1px solid #FFCA28!important}.border-left-amber.border-left-lighten-1{border-left:1px solid #FFCA28!important}.border-right-amber.border-right-lighten-1{border-right:1px solid #FFCA28!important}.overlay-amber.overlay-lighten-1{background:#FFCA28;background:rgba(255,202,40,.8)}.amber{color:#FFC107!important}.bg-amber{background-color:#FFC107!important}.bg-amber .card-footer,.bg-amber .card-header{background-color:transparent}.alert-amber{border-color:#FFD34E!important;background-color:#FFD34E!important;color:#543F00!important}.alert-amber .alert-link{color:#2B2000!important}.bullet.bullet-amber{background-color:#FFC107}.bg-light-amber{background-color:rgba(255,193,7,.15)}.bg-amber.badge-glow,.border-amber.badge-glow{box-shadow:0 0 10px #FFC107}.overlay-amber{background:#FFC107;background:rgba(255,193,7,.8)}.btn-amber{background-color:#FFC107!important;color:#FFF}.btn-amber:hover{border-color:#FFB300!important;background-color:#FFCA28!important;color:#FFF!important}.btn-amber:active,.btn-amber:focus{border-color:#FFA000!important;background-color:#FF8F00!important;color:#FFF!important}.btn-outline-amber{border-color:#FFC107;background-color:transparent;color:#FFC107}.btn-outline-amber:hover,.widget-timeline .timeline-items.timeline-icon-amber:before{background-color:#FFC107}.btn-outline-amber:hover{color:#FFF!important}input[type=checkbox].bg-amber+.custom-control-label:before,input[type=radio].bg-amber+.custom-control-label:before{background-color:#FFC107!important}.bg-amber.bg-darken-1,.btn-amber.btn-darken-1{background-color:#FFB300!important}.border-amber{border:1px solid #FFC107!important}.border-top-amber{border-top:1px solid #FFC107}.border-bottom-amber{border-bottom:1px solid #FFC107}.border-left-amber{border-left:1px solid #FFC107}.border-right-amber{border-right:1px solid #FFC107}.amber.darken-1{color:#FFB300!important}.btn-amber.btn-darken-1{border-color:#FFA000!important}.btn-amber.btn-darken-1:hover{border-color:#FFA000!important;background-color:#FF8F00!important}.btn-amber.btn-darken-1:active,.btn-amber.btn-darken-1:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-darken-1{border-color:#FFB300!important;color:#FFB300!important}.btn-outline-amber.btn-outline-darken-1:hover{background-color:#FFB300!important}.border-amber.border-darken-1{border:1px solid #FFB300!important}.border-top-amber.border-top-darken-1{border-top:1px solid #FFB300!important}.border-bottom-amber.border-bottom-darken-1{border-bottom:1px solid #FFB300!important}.border-left-amber.border-left-darken-1{border-left:1px solid #FFB300!important}.border-right-amber.border-right-darken-1{border-right:1px solid #FFB300!important}.btn-amber.btn-darken-2,.btn-amber.btn-darken-2:hover{border-color:#FFA000!important}.overlay-amber.overlay-darken-1{background:#FFB300;background:rgba(255,179,0,.8)}.bg-amber.bg-darken-2,.btn-amber.btn-darken-2{background-color:#FFA000!important}.amber.darken-2{color:#FFA000!important}.btn-amber.btn-darken-2:hover{background-color:#FF8F00!important}.btn-amber.btn-darken-2:active,.btn-amber.btn-darken-2:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-darken-2{border-color:#FFA000!important;color:#FFA000!important}.btn-outline-amber.btn-outline-darken-2:hover{background-color:#FFA000!important}.border-amber.border-darken-2{border:1px solid #FFA000!important}.border-top-amber.border-top-darken-2{border-top:1px solid #FFA000!important}.border-bottom-amber.border-bottom-darken-2{border-bottom:1px solid #FFA000!important}.border-left-amber.border-left-darken-2{border-left:1px solid #FFA000!important}.border-right-amber.border-right-darken-2{border-right:1px solid #FFA000!important}.overlay-amber.overlay-darken-2{background:#FFA000;background:rgba(255,160,0,.8)}.amber.darken-3{color:#FF8F00!important}.bg-amber.bg-darken-3{background-color:#FF8F00!important}.btn-amber.btn-darken-3,.btn-amber.btn-darken-3:hover{border-color:#FFA000!important;background-color:#FF8F00!important}.btn-amber.btn-darken-3:active,.btn-amber.btn-darken-3:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-darken-3{border-color:#FF8F00!important;color:#FF8F00!important}.btn-outline-amber.btn-outline-darken-3:hover{background-color:#FF8F00!important}.border-amber.border-darken-3{border:1px solid #FF8F00!important}.border-top-amber.border-top-darken-3{border-top:1px solid #FF8F00!important}.border-bottom-amber.border-bottom-darken-3{border-bottom:1px solid #FF8F00!important}.border-left-amber.border-left-darken-3{border-left:1px solid #FF8F00!important}.border-right-amber.border-right-darken-3{border-right:1px solid #FF8F00!important}.btn-amber.btn-darken-4,.btn-amber.btn-darken-4:hover{border-color:#FFA000!important}.overlay-amber.overlay-darken-3{background:#FF8F00;background:rgba(255,143,0,.8)}.bg-amber.bg-darken-4,.btn-amber.btn-darken-4{background-color:#FF6F00!important}.amber.darken-4{color:#FF6F00!important}.btn-amber.btn-darken-4:hover{background-color:#FF8F00!important}.btn-amber.btn-darken-4:active,.btn-amber.btn-darken-4:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-darken-4{border-color:#FF6F00!important;color:#FF6F00!important}.btn-outline-amber.btn-outline-darken-4:hover{background-color:#FF6F00!important}.border-amber.border-darken-4{border:1px solid #FF6F00!important}.border-top-amber.border-top-darken-4{border-top:1px solid #FF6F00!important}.border-bottom-amber.border-bottom-darken-4{border-bottom:1px solid #FF6F00!important}.border-left-amber.border-left-darken-4{border-left:1px solid #FF6F00!important}.border-right-amber.border-right-darken-4{border-right:1px solid #FF6F00!important}.btn-amber.btn-accent-1,.btn-amber.btn-accent-1:hover{border-color:#FFA000!important}.overlay-amber.overlay-darken-4{background:#FF6F00;background:rgba(255,111,0,.8)}.bg-amber.bg-accent-1,.btn-amber.btn-accent-1{background-color:#FFE57F!important}.amber.accent-1{color:#FFE57F!important}.btn-amber.btn-accent-1:hover{background-color:#FF8F00!important}.btn-amber.btn-accent-1:active,.btn-amber.btn-accent-1:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-accent-1{border-color:#FFE57F!important;color:#FFE57F!important}.btn-outline-amber.btn-outline-accent-1:hover{background-color:#FFE57F!important}.border-amber.border-accent-1{border:1px solid #FFE57F!important}.border-top-amber.border-top-accent-1{border-top:1px solid #FFE57F!important}.border-bottom-amber.border-bottom-accent-1{border-bottom:1px solid #FFE57F!important}.border-left-amber.border-left-accent-1{border-left:1px solid #FFE57F!important}.border-right-amber.border-right-accent-1{border-right:1px solid #FFE57F!important}.btn-amber.btn-accent-2,.btn-amber.btn-accent-2:hover{border-color:#FFA000!important}.overlay-amber.overlay-accent-1{background:#FFE57F;background:rgba(255,229,127,.8)}.bg-amber.bg-accent-2,.btn-amber.btn-accent-2{background-color:#FFD740!important}.amber.accent-2{color:#FFD740!important}.btn-amber.btn-accent-2:hover{background-color:#FF8F00!important}.btn-amber.btn-accent-2:active,.btn-amber.btn-accent-2:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-accent-2{border-color:#FFD740!important;color:#FFD740!important}.btn-outline-amber.btn-outline-accent-2:hover{background-color:#FFD740!important}.border-amber.border-accent-2{border:1px solid #FFD740!important}.border-top-amber.border-top-accent-2{border-top:1px solid #FFD740!important}.border-bottom-amber.border-bottom-accent-2{border-bottom:1px solid #FFD740!important}.border-left-amber.border-left-accent-2{border-left:1px solid #FFD740!important}.border-right-amber.border-right-accent-2{border-right:1px solid #FFD740!important}.btn-amber.btn-accent-3,.btn-amber.btn-accent-3:hover{border-color:#FFA000!important}.overlay-amber.overlay-accent-2{background:#FFD740;background:rgba(255,215,64,.8)}.bg-amber.bg-accent-3,.btn-amber.btn-accent-3{background-color:#FFC400!important}.amber.accent-3{color:#FFC400!important}.btn-amber.btn-accent-3:hover{background-color:#FF8F00!important}.btn-amber.btn-accent-3:active,.btn-amber.btn-accent-3:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-accent-3{border-color:#FFC400!important;color:#FFC400!important}.btn-outline-amber.btn-outline-accent-3:hover{background-color:#FFC400!important}.border-amber.border-accent-3{border:1px solid #FFC400!important}.border-top-amber.border-top-accent-3{border-top:1px solid #FFC400!important}.border-bottom-amber.border-bottom-accent-3{border-bottom:1px solid #FFC400!important}.border-left-amber.border-left-accent-3{border-left:1px solid #FFC400!important}.border-right-amber.border-right-accent-3{border-right:1px solid #FFC400!important}.btn-amber.btn-accent-4,.btn-amber.btn-accent-4:hover{border-color:#FFA000!important}.overlay-amber.overlay-accent-3{background:#FFC400;background:rgba(255,196,0,.8)}.bg-amber.bg-accent-4,.btn-amber.btn-accent-4{background-color:#FFAB00!important}.amber.accent-4{color:#FFAB00!important}.btn-amber.btn-accent-4:hover{background-color:#FF8F00!important}.btn-amber.btn-accent-4:active,.btn-amber.btn-accent-4:focus{border-color:#FF8F00!important;background-color:#FF6F00!important}.btn-outline-amber.btn-outline-accent-4{border-color:#FFAB00!important;color:#FFAB00!important}.btn-outline-amber.btn-outline-accent-4:hover{background-color:#FFAB00!important}input:focus~.bg-amber{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #FFAB00!important}.border-amber.border-accent-4{border:1px solid #FFAB00!important}.border-top-amber.border-top-accent-4{border-top:1px solid #FFAB00!important}.border-bottom-amber.border-bottom-accent-4{border-bottom:1px solid #FFAB00!important}.border-left-amber.border-left-accent-4{border-left:1px solid #FFAB00!important}.border-right-amber.border-right-accent-4{border-right:1px solid #FFAB00!important}.overlay-amber.overlay-accent-4{background:#FFAB00;background:rgba(255,171,0,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=amber]:before{background-color:#FFAB00}.bg-blue-grey.bg-lighten-5,.btn-blue-grey.btn-lighten-5{background-color:#ECEFF1!important}.blue-grey.lighten-5{color:#ECEFF1!important}.btn-blue-grey.btn-lighten-5{border-color:#455A64!important}.btn-blue-grey.btn-lighten-5:hover{border-color:#455A64!important;background-color:#37474F!important}.btn-blue-grey.btn-lighten-5:active,.btn-blue-grey.btn-lighten-5:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-blue-grey.btn-outline-lighten-5{border-color:#ECEFF1!important;color:#ECEFF1!important}.btn-outline-blue-grey.btn-outline-lighten-5:hover{background-color:#ECEFF1!important}.border-blue-grey.border-lighten-5{border:1px solid #ECEFF1!important}.border-top-blue-grey.border-top-lighten-5{border-top:1px solid #ECEFF1!important}.border-bottom-blue-grey.border-bottom-lighten-5{border-bottom:1px solid #ECEFF1!important}.border-left-blue-grey.border-left-lighten-5{border-left:1px solid #ECEFF1!important}.border-right-blue-grey.border-right-lighten-5{border-right:1px solid #ECEFF1!important}.overlay-blue-grey.overlay-lighten-5{background:#ECEFF1;background:rgba(236,239,241,.8)}.bg-blue-grey.bg-lighten-4,.btn-blue-grey.btn-lighten-4{background-color:#CFD8DC!important}.blue-grey.lighten-4{color:#CFD8DC!important}.btn-blue-grey.btn-lighten-4{border-color:#455A64!important}.btn-blue-grey.btn-lighten-4:hover{border-color:#455A64!important;background-color:#37474F!important}.btn-blue-grey.btn-lighten-4:active,.btn-blue-grey.btn-lighten-4:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-blue-grey.btn-outline-lighten-4{border-color:#CFD8DC!important;color:#CFD8DC!important}.btn-outline-blue-grey.btn-outline-lighten-4:hover{background-color:#CFD8DC!important}.border-blue-grey.border-lighten-4{border:1px solid #CFD8DC!important}.border-top-blue-grey.border-top-lighten-4{border-top:1px solid #CFD8DC!important}.border-bottom-blue-grey.border-bottom-lighten-4{border-bottom:1px solid #CFD8DC!important}.border-left-blue-grey.border-left-lighten-4{border-left:1px solid #CFD8DC!important}.border-right-blue-grey.border-right-lighten-4{border-right:1px solid #CFD8DC!important}.overlay-blue-grey.overlay-lighten-4{background:#CFD8DC;background:rgba(207,216,220,.8)}.bg-blue-grey.bg-lighten-3,.btn-blue-grey.btn-lighten-3{background-color:#B0BEC5!important}.blue-grey.lighten-3{color:#B0BEC5!important}.btn-blue-grey.btn-lighten-3{border-color:#455A64!important}.btn-blue-grey.btn-lighten-3:hover{border-color:#455A64!important;background-color:#37474F!important}.btn-blue-grey.btn-lighten-3:active,.btn-blue-grey.btn-lighten-3:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-blue-grey.btn-outline-lighten-3{border-color:#B0BEC5!important;color:#B0BEC5!important}.btn-outline-blue-grey.btn-outline-lighten-3:hover{background-color:#B0BEC5!important}.border-blue-grey.border-lighten-3{border:1px solid #B0BEC5!important}.border-top-blue-grey.border-top-lighten-3{border-top:1px solid #B0BEC5!important}.border-bottom-blue-grey.border-bottom-lighten-3{border-bottom:1px solid #B0BEC5!important}.border-left-blue-grey.border-left-lighten-3{border-left:1px solid #B0BEC5!important}.border-right-blue-grey.border-right-lighten-3{border-right:1px solid #B0BEC5!important}.overlay-blue-grey.overlay-lighten-3{background:#B0BEC5;background:rgba(176,190,197,.8)}.bg-blue-grey.bg-lighten-2,.btn-blue-grey.btn-lighten-2{background-color:#90A4AE!important}.blue-grey.lighten-2{color:#90A4AE!important}.btn-blue-grey.btn-lighten-2{border-color:#455A64!important}.btn-blue-grey.btn-lighten-2:hover{border-color:#455A64!important;background-color:#37474F!important}.btn-blue-grey.btn-lighten-2:active,.btn-blue-grey.btn-lighten-2:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-blue-grey.btn-outline-lighten-2{border-color:#90A4AE!important;color:#90A4AE!important}.btn-outline-blue-grey.btn-outline-lighten-2:hover{background-color:#90A4AE!important}.border-blue-grey.border-lighten-2{border:1px solid #90A4AE!important}.border-top-blue-grey.border-top-lighten-2{border-top:1px solid #90A4AE!important}.border-bottom-blue-grey.border-bottom-lighten-2{border-bottom:1px solid #90A4AE!important}.border-left-blue-grey.border-left-lighten-2{border-left:1px solid #90A4AE!important}.border-right-blue-grey.border-right-lighten-2{border-right:1px solid #90A4AE!important}.overlay-blue-grey.overlay-lighten-2{background:#90A4AE;background:rgba(144,164,174,.8)}.bg-blue-grey.bg-lighten-1,.btn-blue-grey.btn-lighten-1{background-color:#78909C!important}.blue-grey.lighten-1{color:#78909C!important}.btn-blue-grey.btn-lighten-1{border-color:#455A64!important}.btn-blue-grey.btn-lighten-1:hover{border-color:#455A64!important;background-color:#37474F!important}.btn-blue-grey.btn-lighten-1:active,.btn-blue-grey.btn-lighten-1:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-blue-grey.btn-outline-lighten-1{border-color:#78909C!important;color:#78909C!important}.btn-outline-blue-grey.btn-outline-lighten-1:hover{background-color:#78909C!important}.border-blue-grey.border-lighten-1{border:1px solid #78909C!important}.border-top-blue-grey.border-top-lighten-1{border-top:1px solid #78909C!important}.border-bottom-blue-grey.border-bottom-lighten-1{border-bottom:1px solid #78909C!important}.border-left-blue-grey.border-left-lighten-1{border-left:1px solid #78909C!important}.border-right-blue-grey.border-right-lighten-1{border-right:1px solid #78909C!important}.overlay-blue-grey.overlay-lighten-1{background:#78909C;background:rgba(120,144,156,.8)}.blue-grey{color:#607D8B!important}.bg-blue-grey{background-color:#607D8B!important}.bg-blue-grey .card-footer,.bg-blue-grey .card-header{background-color:transparent}.alert-blue-grey{border-color:#87A0AC!important;background-color:#87A0AC!important;color:#171E21!important}.alert-blue-grey .alert-link{color:#060809!important}.bullet.bullet-blue-grey{background-color:#607D8B}.bg-light-blue-grey{background-color:rgba(96,125,139,.15)}.bg-blue-grey.badge-glow,.border-blue-grey.badge-glow{box-shadow:0 0 10px #607D8B}.overlay-blue-grey{background:#607D8B;background:rgba(96,125,139,.8)}.btn-blue-grey{background-color:#607D8B!important;color:#FFF}.btn-blue-grey:hover{border-color:#546E7A!important;background-color:#78909C!important;color:#FFF!important}.btn-blue-grey:active,.btn-blue-grey:focus{border-color:#455A64!important;background-color:#37474F!important;color:#FFF!important}.btn-outline-blue-grey{border-color:#607D8B;background-color:transparent;color:#607D8B}.btn-outline-blue-grey:hover{background-color:#607D8B;color:#FFF!important}.widget-timeline .timeline-items.timeline-icon-blue-grey:before{background-color:#607D8B}input[type=checkbox].bg-blue-grey+.custom-control-label:before,input[type=radio].bg-blue-grey+.custom-control-label:before{background-color:#607D8B!important}.bg-blue-grey.bg-darken-1,.btn-blue-grey.btn-darken-1{background-color:#546E7A!important}.border-blue-grey{border:1px solid #607D8B!important}.border-top-blue-grey{border-top:1px solid #607D8B}.border-bottom-blue-grey{border-bottom:1px solid #607D8B}.border-left-blue-grey{border-left:1px solid #607D8B}.border-right-blue-grey{border-right:1px solid #607D8B}.blue-grey.darken-1{color:#546E7A!important}.btn-blue-grey.btn-darken-1{border-color:#455A64!important}.btn-blue-grey.btn-darken-1:hover{border-color:#455A64!important;background-color:#37474F!important}.btn-blue-grey.btn-darken-1:active,.btn-blue-grey.btn-darken-1:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-blue-grey.btn-outline-darken-1{border-color:#546E7A!important;color:#546E7A!important}.btn-outline-blue-grey.btn-outline-darken-1:hover{background-color:#546E7A!important}.border-blue-grey.border-darken-1{border:1px solid #546E7A!important}.border-top-blue-grey.border-top-darken-1{border-top:1px solid #546E7A!important}.border-bottom-blue-grey.border-bottom-darken-1{border-bottom:1px solid #546E7A!important}.border-left-blue-grey.border-left-darken-1{border-left:1px solid #546E7A!important}.border-right-blue-grey.border-right-darken-1{border-right:1px solid #546E7A!important}.overlay-blue-grey.overlay-darken-1{background:#546E7A;background:rgba(84,110,122,.8)}.bg-blue-grey.bg-darken-2,.btn-blue-grey.btn-darken-2{background-color:#455A64!important}.blue-grey.darken-2{color:#455A64!important}.btn-blue-grey.btn-darken-2{border-color:#455A64!important}.btn-blue-grey.btn-darken-2:hover{border-color:#455A64!important;background-color:#37474F!important}.btn-blue-grey.btn-darken-2:active,.btn-blue-grey.btn-darken-2:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-blue-grey.btn-outline-darken-2{border-color:#455A64!important;color:#455A64!important}.btn-outline-blue-grey.btn-outline-darken-2:hover{background-color:#455A64!important}.border-blue-grey.border-darken-2{border:1px solid #455A64!important}.border-top-blue-grey.border-top-darken-2{border-top:1px solid #455A64!important}.border-bottom-blue-grey.border-bottom-darken-2{border-bottom:1px solid #455A64!important}.border-left-blue-grey.border-left-darken-2{border-left:1px solid #455A64!important}.border-right-blue-grey.border-right-darken-2{border-right:1px solid #455A64!important}.overlay-blue-grey.overlay-darken-2{background:#455A64;background:rgba(69,90,100,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=blue-grey]:before{background-color:#455A64}.blue-grey.darken-3{color:#37474F!important}.bg-blue-grey.bg-darken-3{background-color:#37474F!important}.btn-blue-grey.btn-darken-3,.btn-blue-grey.btn-darken-3:hover{border-color:#455A64!important;background-color:#37474F!important}.btn-blue-grey.btn-darken-3:active,.btn-blue-grey.btn-darken-3:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-blue-grey.btn-outline-darken-3{border-color:#37474F!important;color:#37474F!important}.btn-outline-blue-grey.btn-outline-darken-3:hover{background-color:#37474F!important}.border-blue-grey.border-darken-3{border:1px solid #37474F!important}.border-top-blue-grey.border-top-darken-3{border-top:1px solid #37474F!important}.border-bottom-blue-grey.border-bottom-darken-3{border-bottom:1px solid #37474F!important}.border-left-blue-grey.border-left-darken-3{border-left:1px solid #37474F!important}.border-right-blue-grey.border-right-darken-3{border-right:1px solid #37474F!important}.overlay-blue-grey.overlay-darken-3{background:#37474F;background:rgba(55,71,79,.8)}.bg-blue-grey.bg-darken-4,.btn-blue-grey.btn-darken-4{background-color:#263238!important}.blue-grey.darken-4{color:#263238!important}.btn-blue-grey.btn-darken-4{border-color:#455A64!important}.btn-blue-grey.btn-darken-4:hover{border-color:#455A64!important;background-color:#37474F!important}.btn-blue-grey.btn-darken-4:active,.btn-blue-grey.btn-darken-4:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-blue-grey.btn-outline-darken-4{border-color:#263238!important;color:#263238!important}.btn-outline-blue-grey.btn-outline-darken-4:hover{background-color:#263238!important}input:focus~.bg-blue-grey{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #263238!important}.border-blue-grey.border-darken-4{border:1px solid #263238!important}.border-top-blue-grey.border-top-darken-4{border-top:1px solid #263238!important}.border-bottom-blue-grey.border-bottom-darken-4{border-bottom:1px solid #263238!important}.border-left-blue-grey.border-left-darken-4{border-left:1px solid #263238!important}.border-right-blue-grey.border-right-darken-4{border-right:1px solid #263238!important}.overlay-blue-grey.overlay-darken-4{background:#263238;background:rgba(38,50,56,.8)}.kanban-container .kanban-board .kanban-item[data-border=blue-grey]:before{background-color:#263238}.bg-grey-blue.bg-lighten-5,.btn-grey-blue.btn-lighten-5{background-color:#ECEFF1!important}.grey-blue.lighten-5{color:#ECEFF1!important}.btn-grey-blue.btn-lighten-5{border-color:#404E67!important}.btn-grey-blue.btn-lighten-5:hover{border-color:#404E67!important;background-color:#37474F!important}.btn-grey-blue.btn-lighten-5:active,.btn-grey-blue.btn-lighten-5:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-grey-blue.btn-outline-lighten-5{border-color:#ECEFF1!important;color:#ECEFF1!important}.btn-outline-grey-blue.btn-outline-lighten-5:hover{background-color:#ECEFF1!important}.border-grey-blue.border-lighten-5{border:1px solid #ECEFF1!important}.border-top-grey-blue.border-top-lighten-5{border-top:1px solid #ECEFF1!important}.border-bottom-grey-blue.border-bottom-lighten-5{border-bottom:1px solid #ECEFF1!important}.border-left-grey-blue.border-left-lighten-5{border-left:1px solid #ECEFF1!important}.border-right-grey-blue.border-right-lighten-5{border-right:1px solid #ECEFF1!important}.overlay-grey-blue.overlay-lighten-5{background:#ECEFF1;background:rgba(236,239,241,.8)}.bg-grey-blue.bg-lighten-4,.btn-grey-blue.btn-lighten-4{background-color:#CFD8DC!important}.grey-blue.lighten-4{color:#CFD8DC!important}.btn-grey-blue.btn-lighten-4{border-color:#404E67!important}.btn-grey-blue.btn-lighten-4:hover{border-color:#404E67!important;background-color:#37474F!important}.btn-grey-blue.btn-lighten-4:active,.btn-grey-blue.btn-lighten-4:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-grey-blue.btn-outline-lighten-4{border-color:#CFD8DC!important;color:#CFD8DC!important}.btn-outline-grey-blue.btn-outline-lighten-4:hover{background-color:#CFD8DC!important}.border-grey-blue.border-lighten-4{border:1px solid #CFD8DC!important}.border-top-grey-blue.border-top-lighten-4{border-top:1px solid #CFD8DC!important}.border-bottom-grey-blue.border-bottom-lighten-4{border-bottom:1px solid #CFD8DC!important}.border-left-grey-blue.border-left-lighten-4{border-left:1px solid #CFD8DC!important}.border-right-grey-blue.border-right-lighten-4{border-right:1px solid #CFD8DC!important}.overlay-grey-blue.overlay-lighten-4{background:#CFD8DC;background:rgba(207,216,220,.8)}.bg-grey-blue.bg-lighten-3,.btn-grey-blue.btn-lighten-3{background-color:#B0BEC5!important}.grey-blue.lighten-3{color:#B0BEC5!important}.btn-grey-blue.btn-lighten-3{border-color:#404E67!important}.btn-grey-blue.btn-lighten-3:hover{border-color:#404E67!important;background-color:#37474F!important}.btn-grey-blue.btn-lighten-3:active,.btn-grey-blue.btn-lighten-3:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-grey-blue.btn-outline-lighten-3{border-color:#B0BEC5!important;color:#B0BEC5!important}.btn-outline-grey-blue.btn-outline-lighten-3:hover{background-color:#B0BEC5!important}.border-grey-blue.border-lighten-3{border:1px solid #B0BEC5!important}.border-top-grey-blue.border-top-lighten-3{border-top:1px solid #B0BEC5!important}.border-bottom-grey-blue.border-bottom-lighten-3{border-bottom:1px solid #B0BEC5!important}.border-left-grey-blue.border-left-lighten-3{border-left:1px solid #B0BEC5!important}.border-right-grey-blue.border-right-lighten-3{border-right:1px solid #B0BEC5!important}.overlay-grey-blue.overlay-lighten-3{background:#B0BEC5;background:rgba(176,190,197,.8)}.bg-grey-blue.bg-lighten-2,.btn-grey-blue.btn-lighten-2{background-color:#6F85AD!important}.grey-blue.lighten-2{color:#6F85AD!important}.btn-grey-blue.btn-lighten-2{border-color:#404E67!important}.btn-grey-blue.btn-lighten-2:hover{border-color:#404E67!important;background-color:#37474F!important}.btn-grey-blue.btn-lighten-2:active,.btn-grey-blue.btn-lighten-2:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-grey-blue.btn-outline-lighten-2{border-color:#6F85AD!important;color:#6F85AD!important}.btn-outline-grey-blue.btn-outline-lighten-2:hover{background-color:#6F85AD!important}.border-grey-blue.border-lighten-2{border:1px solid #6F85AD!important}.border-top-grey-blue.border-top-lighten-2{border-top:1px solid #6F85AD!important}.border-bottom-grey-blue.border-bottom-lighten-2{border-bottom:1px solid #6F85AD!important}.border-left-grey-blue.border-left-lighten-2{border-left:1px solid #6F85AD!important}.border-right-grey-blue.border-right-lighten-2{border-right:1px solid #6F85AD!important}.overlay-grey-blue.overlay-lighten-2{background:#6F85AD;background:rgba(111,133,173,.8)}.bg-grey-blue.bg-lighten-1,.btn-grey-blue.btn-lighten-1{background-color:#78909C!important}.grey-blue.lighten-1{color:#78909C!important}.btn-grey-blue.btn-lighten-1{border-color:#404E67!important}.btn-grey-blue.btn-lighten-1:hover{border-color:#404E67!important;background-color:#37474F!important}.btn-grey-blue.btn-lighten-1:active,.btn-grey-blue.btn-lighten-1:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-grey-blue.btn-outline-lighten-1{border-color:#78909C!important;color:#78909C!important}.btn-outline-grey-blue.btn-outline-lighten-1:hover{background-color:#78909C!important}.border-grey-blue.border-lighten-1{border:1px solid #78909C!important}.border-top-grey-blue.border-top-lighten-1{border-top:1px solid #78909C!important}.border-bottom-grey-blue.border-bottom-lighten-1{border-bottom:1px solid #78909C!important}.border-left-grey-blue.border-left-lighten-1{border-left:1px solid #78909C!important}.border-right-grey-blue.border-right-lighten-1{border-right:1px solid #78909C!important}.overlay-grey-blue.overlay-lighten-1{background:#78909C;background:rgba(120,144,156,.8)}.grey-blue{color:#1B2942!important}.alert-grey-blue,.alert-grey-blue .alert-link{color:#000!important}.bg-grey-blue{background-color:#1B2942!important}.bg-grey-blue .card-footer,.bg-grey-blue .card-header{background-color:transparent}.alert-grey-blue{border-color:#304875!important;background-color:#304875!important}.bullet.bullet-grey-blue{background-color:#1B2942}.bg-light-grey-blue{background-color:rgba(27,41,66,.15)}.bg-grey-blue.badge-glow,.border-grey-blue.badge-glow{box-shadow:0 0 10px #1B2942}.overlay-grey-blue{background:#1B2942;background:rgba(27,41,66,.8)}.btn-grey-blue{background-color:#1B2942!important;color:#FFF}.btn-grey-blue:hover{border-color:#546E7A!important;background-color:#78909C!important;color:#FFF!important}.btn-grey-blue:active,.btn-grey-blue:focus{border-color:#404E67!important;background-color:#37474F!important;color:#FFF!important}.btn-outline-grey-blue{border-color:#1B2942;background-color:transparent;color:#1B2942}.btn-outline-grey-blue:hover{background-color:#1B2942;color:#FFF!important}.widget-timeline .timeline-items.timeline-icon-grey-blue:before{background-color:#1B2942}input[type=checkbox].bg-grey-blue+.custom-control-label:before,input[type=radio].bg-grey-blue+.custom-control-label:before{background-color:#1B2942!important}.bg-grey-blue.bg-darken-1,.btn-grey-blue.btn-darken-1{background-color:#546E7A!important}.border-grey-blue{border:1px solid #1B2942!important}.border-top-grey-blue{border-top:1px solid #1B2942}.border-bottom-grey-blue{border-bottom:1px solid #1B2942}.border-left-grey-blue{border-left:1px solid #1B2942}.border-right-grey-blue{border-right:1px solid #1B2942}.grey-blue.darken-1{color:#546E7A!important}.btn-grey-blue.btn-darken-1{border-color:#404E67!important}.btn-grey-blue.btn-darken-1:hover{border-color:#404E67!important;background-color:#37474F!important}.btn-grey-blue.btn-darken-1:active,.btn-grey-blue.btn-darken-1:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-grey-blue.btn-outline-darken-1{border-color:#546E7A!important;color:#546E7A!important}.btn-outline-grey-blue.btn-outline-darken-1:hover{background-color:#546E7A!important}.border-grey-blue.border-darken-1{border:1px solid #546E7A!important}.border-top-grey-blue.border-top-darken-1{border-top:1px solid #546E7A!important}.border-bottom-grey-blue.border-bottom-darken-1{border-bottom:1px solid #546E7A!important}.border-left-grey-blue.border-left-darken-1{border-left:1px solid #546E7A!important}.border-right-grey-blue.border-right-darken-1{border-right:1px solid #546E7A!important}.overlay-grey-blue.overlay-darken-1{background:#546E7A;background:rgba(84,110,122,.8)}.bg-grey-blue.bg-darken-2,.btn-grey-blue.btn-darken-2{background-color:#404E67!important}.grey-blue.darken-2{color:#404E67!important}.btn-grey-blue.btn-darken-2{border-color:#404E67!important}.btn-grey-blue.btn-darken-2:hover{border-color:#404E67!important;background-color:#37474F!important}.btn-grey-blue.btn-darken-2:active,.btn-grey-blue.btn-darken-2:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-grey-blue.btn-outline-darken-2{border-color:#404E67!important;color:#404E67!important}.btn-outline-grey-blue.btn-outline-darken-2:hover{background-color:#404E67!important}.border-grey-blue.border-darken-2{border:1px solid #404E67!important}.border-top-grey-blue.border-top-darken-2{border-top:1px solid #404E67!important}.border-bottom-grey-blue.border-bottom-darken-2{border-bottom:1px solid #404E67!important}.border-left-grey-blue.border-left-darken-2{border-left:1px solid #404E67!important}.border-right-grey-blue.border-right-darken-2{border-right:1px solid #404E67!important}.overlay-grey-blue.overlay-darken-2{background:#404E67;background:rgba(64,78,103,.8)}.grey-blue.darken-3{color:#37474F!important}.bg-grey-blue.bg-darken-3{background-color:#37474F!important}.btn-grey-blue.btn-darken-3,.btn-grey-blue.btn-darken-3:hover{border-color:#404E67!important;background-color:#37474F!important}.btn-grey-blue.btn-darken-3:active,.btn-grey-blue.btn-darken-3:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-grey-blue.btn-outline-darken-3{border-color:#37474F!important;color:#37474F!important}.btn-outline-grey-blue.btn-outline-darken-3:hover{background-color:#37474F!important}.border-grey-blue.border-darken-3{border:1px solid #37474F!important}.border-top-grey-blue.border-top-darken-3{border-top:1px solid #37474F!important}.border-bottom-grey-blue.border-bottom-darken-3{border-bottom:1px solid #37474F!important}.border-left-grey-blue.border-left-darken-3{border-left:1px solid #37474F!important}.border-right-grey-blue.border-right-darken-3{border-right:1px solid #37474F!important}.overlay-grey-blue.overlay-darken-3{background:#37474F;background:rgba(55,71,79,.8)}.bg-grey-blue.bg-darken-4,.btn-grey-blue.btn-darken-4{background-color:#263238!important}.grey-blue.darken-4{color:#263238!important}.btn-grey-blue.btn-darken-4{border-color:#404E67!important}.btn-grey-blue.btn-darken-4:hover{border-color:#404E67!important;background-color:#37474F!important}.btn-grey-blue.btn-darken-4:active,.btn-grey-blue.btn-darken-4:focus{border-color:#37474F!important;background-color:#263238!important}.btn-outline-grey-blue.btn-outline-darken-4{border-color:#263238!important;color:#263238!important}.btn-outline-grey-blue.btn-outline-darken-4:hover{background-color:#263238!important}input:focus~.bg-grey-blue{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem #263238!important}.border-grey-blue.border-darken-4{border:1px solid #263238!important}.border-top-grey-blue.border-top-darken-4{border-top:1px solid #263238!important}.border-bottom-grey-blue.border-bottom-darken-4{border-bottom:1px solid #263238!important}.border-left-grey-blue.border-left-darken-4{border-left:1px solid #263238!important}.border-right-grey-blue.border-right-darken-4{border-right:1px solid #263238!important}.overlay-grey-blue.overlay-darken-4{background:#263238;background:rgba(38,50,56,.8)}.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=grey-blue]:before{background-color:#263238}.bg-shades.bg-black,.btn-outline-shades.btn-outline-black:hover,.btn-shades.btn-black{background-color:#000!important}.shades.black{color:#000!important}.btn-outline-shades.btn-outline-black{border-color:#000!important;color:#000!important}.border-shades.border-black{border:1px solid #000!important}.border-top-shades.border-top-black{border-top:1px solid #000!important}.border-bottom-shades.border-bottom-black{border-bottom:1px solid #000!important}.border-left-shades.border-left-black{border-left:1px solid #000!important}.border-right-shades.border-right-black{border-right:1px solid #000!important}.overlay-shades.overlay-black{background:#000;background:rgba(0,0,0,.8)}.bg-shades.bg-white,.btn-outline-shades.btn-outline-white:hover,.btn-shades.btn-white{background-color:#FFF!important}.shades.white{color:#FFF!important}.btn-outline-shades.btn-outline-white{border-color:#FFF!important;color:#FFF!important}.border-shades.border-white{border:1px solid #FFF!important}.border-top-shades.border-top-white{border-top:1px solid #FFF!important}.border-bottom-shades.border-bottom-white{border-bottom:1px solid #FFF!important}.border-left-shades.border-left-white{border-left:1px solid #FFF!important}.border-right-shades.border-right-white{border-right:1px solid #FFF!important}.overlay-shades.overlay-white{background:#FFF;background:rgba(255,255,255,.8)}.bg-shades.bg-transparent,.btn-outline-shades.btn-outline-transparent:hover,.btn-shades.btn-transparent{background-color:transparent!important}.shades.transparent{color:transparent!important}.btn-outline-shades.btn-outline-transparent{border-color:transparent!important;color:transparent!important}input:focus~.bg-shades{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem transparent!important}.border-shades.border-transparent{border:1px solid transparent!important}.border-top-shades.border-top-transparent{border-top:1px solid transparent!important}.border-bottom-shades.border-bottom-transparent{border-bottom:1px solid transparent!important}.border-left-shades.border-left-transparent{border-left:1px solid transparent!important}.border-right-shades.border-right-transparent{border-right:1px solid transparent!important}.overlay-shades.overlay-transparent{background:0 0;background:rgba(0,0,0,.8)}.bg-transparent,.edit-kanban-item select option.bg-color_name,.kanban-container .kanban-board .kanban-item[data-border=shades]:before{background-color:transparent}.border-top-black{border-top:1px solid #000}.border-bottom-black{border-bottom:1px solid #000}.border-left-black{border-left:1px solid #000}.border-right-black{border-right:1px solid #000}.border-top-white{border-top:1px solid #FFF}.border-bottom-white{border-bottom:1px solid #FFF}.border-left-white{border-left:1px solid #FFF}.border-right-white{border-right:1px solid #FFF}.transparent{color:transparent}input:focus~.bg-transparent{box-shadow:0 0 0 .075rem #FFF,0 0 0 .21rem transparent}.border-transparent{border:1px solid transparent}.border-top-transparent{border-top:1px solid transparent}.border-bottom-transparent{border-bottom:1px solid transparent}.border-left-transparent{border-left:1px solid transparent}.border-right-transparent{border-right:1px solid transparent} \ No newline at end of file diff --git a/boot/assets/tv/css/custom.css b/boot/assets/tv/css/custom.css new file mode 100644 index 0000000..1cf3314 --- /dev/null +++ b/boot/assets/tv/css/custom.css @@ -0,0 +1,19 @@ +.icon-grid { + width: 8rem; + height: 8rem; + margin: 0.2em; + text-align: center; + padding: 0.3em; +} + +.icon-grid__line { + height: 4rem; +} + +.icon-grid__line .icon { + font-size: 3em; +} + +.icon-grid__line--text { + font-size: 0.8em; +} diff --git a/boot/assets/tv/css/fonts/DroidSans.woff2 b/boot/assets/tv/css/fonts/DroidSans.woff2 new file mode 100644 index 0000000..7e63a5c Binary files /dev/null and b/boot/assets/tv/css/fonts/DroidSans.woff2 differ diff --git a/boot/assets/tv/css/fonts/GeekdocIcons.woff2 b/boot/assets/tv/css/fonts/GeekdocIcons.woff2 new file mode 100644 index 0000000..c689d76 Binary files /dev/null and b/boot/assets/tv/css/fonts/GeekdocIcons.woff2 differ diff --git a/boot/assets/tv/css/fonts/LiberationMono.woff2 b/boot/assets/tv/css/fonts/LiberationMono.woff2 new file mode 100644 index 0000000..3f4bb06 Binary files /dev/null and b/boot/assets/tv/css/fonts/LiberationMono.woff2 differ diff --git a/boot/assets/tv/css/fonts/LiberationSans-Bold.woff2 b/boot/assets/tv/css/fonts/LiberationSans-Bold.woff2 new file mode 100644 index 0000000..b165967 Binary files /dev/null and b/boot/assets/tv/css/fonts/LiberationSans-Bold.woff2 differ diff --git a/boot/assets/tv/css/fonts/LiberationSans-BoldItalic.woff2 b/boot/assets/tv/css/fonts/LiberationSans-BoldItalic.woff2 new file mode 100644 index 0000000..081c4d6 Binary files /dev/null and b/boot/assets/tv/css/fonts/LiberationSans-BoldItalic.woff2 differ diff --git a/boot/assets/tv/css/fonts/LiberationSans-Italic.woff2 b/boot/assets/tv/css/fonts/LiberationSans-Italic.woff2 new file mode 100644 index 0000000..86f6521 Binary files /dev/null and b/boot/assets/tv/css/fonts/LiberationSans-Italic.woff2 differ diff --git a/boot/assets/tv/css/fonts/LiberationSans.woff2 b/boot/assets/tv/css/fonts/LiberationSans.woff2 new file mode 100644 index 0000000..796cb17 Binary files /dev/null and b/boot/assets/tv/css/fonts/LiberationSans.woff2 differ diff --git a/boot/assets/tv/css/fonts/Metropolis.woff2 b/boot/assets/tv/css/fonts/Metropolis.woff2 new file mode 100644 index 0000000..d79d50a Binary files /dev/null and b/boot/assets/tv/css/fonts/Metropolis.woff2 differ diff --git a/boot/assets/tv/css/main.min.css b/boot/assets/tv/css/main.min.css new file mode 100644 index 0000000..a96edc0 --- /dev/null +++ b/boot/assets/tv/css/main.min.css @@ -0,0 +1 @@ +@charset "UTF-8";/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0;line-height:1.2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:1 1 auto}.flex-inline{display:inline-flex}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.flex-grid{flex-direction:column;border:1px solid var(--accent-color);border-radius:.15rem;background:var(--accent-color-lite)}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.hidden{display:none}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.badge-placeholder{display:inline-block;min-width:4rem}@font-face{font-family:"Liberation Sans";src:url(fonts/LiberationSans-Bold.woff2) format("woff2"),url(fonts/LiberationSans-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Liberation Sans";src:url(fonts/LiberationSans-BoldItalic.woff2) format("woff2"),url(fonts/LiberationSans-BoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:"Liberation Sans";src:url(fonts/LiberationSans-Italic.woff2) format("woff2"),url(fonts/LiberationSans-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Liberation Sans";src:url(fonts/LiberationSans.woff2) format("woff2"),url(fonts/LiberationSans.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Liberation Mono";src:url(fonts/LiberationMono.woff2) format("woff2"),url(fonts/LiberationMono.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Droid Sans";src:url(fonts/DroidSans.woff2) format("woff2"),url(fonts/DroidSans.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Metropolis;src:url(fonts/Metropolis.woff2) format("woff2"),url(fonts/Metropolis.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:GeekdocIcons;src:url(fonts/GeekdocIcons.woff2) format("woff2"),url(fonts/GeekdocIcons.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}body{font-family:"Liberation Sans",sans-serif}.gdoc-error__title,code{font-family:"Liberation Mono",monospace}.gdoc-header{font-family:Metropolis,sans-serif}:root,:root[color-mode=light]{--header-background:#4186c9;--header-font-color:white;--body-background:white;--body-font-color:#343a40;--button-background:#498bcb;--button-border-color:#4186c9;--link-color:#0a539a;--link-color-visited:#7749bf;--code-background:#f5f6f8;--code-accent-color:#e3e7eb;--code-accent-color-lite:#eff1f3;--accent-color:#e9ecef;--accent-color-lite:#f8f9fa;--control-icons:#b2bac1;--footer-background:#2f333e;--footer-font-color:white;--footer-link-color:#ffa31e;--footer-link-color-visited:#ffa31e}:root .chroma,:root[color-mode=light] .chroma{color:#999;margin:1rem 0}:root .chroma code,:root[color-mode=light] .chroma code{background-color:var(--code-background);display:block;line-height:1.45;font-size:.85em;border-radius:.15rem}:root .chroma .lntable td:first-child code,:root[color-mode=light] .chroma .lntable td:first-child code{border-radius:0;border-top-left-radius:.15rem;border-bottom-left-radius:.15rem}:root .chroma .lntable td:nth-child(2) code,:root[color-mode=light] .chroma .lntable td:nth-child(2) code{border-radius:0;border-top-right-radius:.15rem;border-bottom-right-radius:.15rem;padding-left:.5em}:root .chroma .lntable td:nth-child(2) code .hl,:root[color-mode=light] .chroma .lntable td:nth-child(2) code .hl{width:auto;margin-left:-.5em;padding:0 .5em}:root .highlight pre.chroma,:root[color-mode=light] .highlight pre.chroma{margin:0}:root .highlight>pre.chroma code,:root[color-mode=light] .highlight>pre.chroma code{padding:1rem;width:100%;overflow:auto}:root .chroma .err,:root[color-mode=light] .chroma .err{color:#a61717;background-color:#e3d2d2}:root .chroma .lntd,:root[color-mode=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root .chroma .lntable,:root[color-mode=light] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:100%;overflow:auto;display:block}:root .chroma .lntable td:first-child code,:root[color-mode=light] .chroma .lntable td:first-child code{background-color:var(--code-accent-color-lite);border-right:1px solid var(--code-accent-color);padding:.5em 0}:root .chroma .lntable td code,:root[color-mode=light] .chroma .lntable td code{padding:.5em 0}:root .chroma .lntable td:nth-child(2),:root[color-mode=light] .chroma .lntable td:nth-child(2){width:100%;margin-left:2em}:root .chroma .hl,:root[color-mode=light] .chroma .hl{display:block;width:100%;background-color:#ffc}:root .chroma .lnt,:root[color-mode=light] .chroma .lnt{padding:0 .8em}:root .chroma .ln,:root[color-mode=light] .chroma .ln{margin-right:.4em;padding:0 .4em 0 .4em}:root .chroma .k,:root[color-mode=light] .chroma .k{color:#000;font-weight:700}:root .chroma .kc,:root[color-mode=light] .chroma .kc{color:#000;font-weight:700}:root .chroma .kd,:root[color-mode=light] .chroma .kd{color:#000;font-weight:700}:root .chroma .kn,:root[color-mode=light] .chroma .kn{color:#000;font-weight:700}:root .chroma .kp,:root[color-mode=light] .chroma .kp{color:#000;font-weight:700}:root .chroma .kr,:root[color-mode=light] .chroma .kr{color:#000;font-weight:700}:root .chroma .kt,:root[color-mode=light] .chroma .kt{color:#458;font-weight:700}:root .chroma .na,:root[color-mode=light] .chroma .na{color:teal}:root .chroma .nb,:root[color-mode=light] .chroma .nb{color:#0086b3}:root .chroma .bp,:root[color-mode=light] .chroma .bp{color:#999}:root .chroma .nc,:root[color-mode=light] .chroma .nc{color:#458;font-weight:700}:root .chroma .no,:root[color-mode=light] .chroma .no{color:teal}:root .chroma .nd,:root[color-mode=light] .chroma .nd{color:#3c5d5d;font-weight:700}:root .chroma .ni,:root[color-mode=light] .chroma .ni{color:purple}:root .chroma .ne,:root[color-mode=light] .chroma .ne{color:#900;font-weight:700}:root .chroma .nf,:root[color-mode=light] .chroma .nf{color:#900;font-weight:700}:root .chroma .nl,:root[color-mode=light] .chroma .nl{color:#900;font-weight:700}:root .chroma .nn,:root[color-mode=light] .chroma .nn{color:#555}:root .chroma .nt,:root[color-mode=light] .chroma .nt{color:navy}:root .chroma .nv,:root[color-mode=light] .chroma .nv{color:teal}:root .chroma .vc,:root[color-mode=light] .chroma .vc{color:teal}:root .chroma .vg,:root[color-mode=light] .chroma .vg{color:teal}:root .chroma .vi,:root[color-mode=light] .chroma .vi{color:teal}:root .chroma .s,:root[color-mode=light] .chroma .s{color:#d14}:root .chroma .sa,:root[color-mode=light] .chroma .sa{color:#d14}:root .chroma .sb,:root[color-mode=light] .chroma .sb{color:#d14}:root .chroma .sc,:root[color-mode=light] .chroma .sc{color:#d14}:root .chroma .dl,:root[color-mode=light] .chroma .dl{color:#d14}:root .chroma .sd,:root[color-mode=light] .chroma .sd{color:#d14}:root .chroma .s2,:root[color-mode=light] .chroma .s2{color:#d14}:root .chroma .se,:root[color-mode=light] .chroma .se{color:#d14}:root .chroma .sh,:root[color-mode=light] .chroma .sh{color:#d14}:root .chroma .si,:root[color-mode=light] .chroma .si{color:#d14}:root .chroma .sx,:root[color-mode=light] .chroma .sx{color:#d14}:root .chroma .sr,:root[color-mode=light] .chroma .sr{color:#009926}:root .chroma .s1,:root[color-mode=light] .chroma .s1{color:#d14}:root .chroma .ss,:root[color-mode=light] .chroma .ss{color:#990073}:root .chroma .m,:root[color-mode=light] .chroma .m{color:#099}:root .chroma .mb,:root[color-mode=light] .chroma .mb{color:#099}:root .chroma .mf,:root[color-mode=light] .chroma .mf{color:#099}:root .chroma .mh,:root[color-mode=light] .chroma .mh{color:#099}:root .chroma .mi,:root[color-mode=light] .chroma .mi{color:#099}:root .chroma .il,:root[color-mode=light] .chroma .il{color:#099}:root .chroma .mo,:root[color-mode=light] .chroma .mo{color:#099}:root .chroma .o,:root[color-mode=light] .chroma .o{color:#000;font-weight:700}:root .chroma .ow,:root[color-mode=light] .chroma .ow{color:#000;font-weight:700}:root .chroma .c,:root[color-mode=light] .chroma .c{color:#998;font-style:italic}:root .chroma .ch,:root[color-mode=light] .chroma .ch{color:#998;font-style:italic}:root .chroma .cm,:root[color-mode=light] .chroma .cm{color:#998;font-style:italic}:root .chroma .c1,:root[color-mode=light] .chroma .c1{color:#998;font-style:italic}:root .chroma .cs,:root[color-mode=light] .chroma .cs{color:#999;font-weight:700;font-style:italic}:root .chroma .cp,:root[color-mode=light] .chroma .cp{color:#999;font-weight:700;font-style:italic}:root .chroma .cpf,:root[color-mode=light] .chroma .cpf{color:#999;font-weight:700;font-style:italic}:root .chroma .gd,:root[color-mode=light] .chroma .gd{color:#000;background-color:#fdd}:root .chroma .ge,:root[color-mode=light] .chroma .ge{color:#000;font-style:italic}:root .chroma .gr,:root[color-mode=light] .chroma .gr{color:#a00}:root .chroma .gh,:root[color-mode=light] .chroma .gh{color:#999}:root .chroma .gi,:root[color-mode=light] .chroma .gi{color:#000;background-color:#dfd}:root .chroma .go,:root[color-mode=light] .chroma .go{color:#888}:root .chroma .gp,:root[color-mode=light] .chroma .gp{color:#555}:root .chroma .gs,:root[color-mode=light] .chroma .gs{font-weight:700}:root .chroma .gu,:root[color-mode=light] .chroma .gu{color:#aaa}:root .chroma .gt,:root[color-mode=light] .chroma .gt{color:#a00}:root .chroma .gl,:root[color-mode=light] .chroma .gl{text-decoration:underline}:root .chroma .w,:root[color-mode=light] .chroma .w{color:#bbb}:root .dark-mode-dim .gdoc-markdown img,:root[color-mode=light] .dark-mode-dim .gdoc-markdown img{filter:none}:root .gdoc-markdown .gdoc-hint,:root[color-mode=light] .gdoc-markdown .gdoc-hint{filter:none}@media (prefers-color-scheme:light){:root{--header-background:#4186c9;--header-font-color:white;--body-background:white;--body-font-color:#343a40;--button-background:#498bcb;--button-border-color:#4186c9;--link-color:#0a539a;--link-color-visited:#7749bf;--code-background:#f5f6f8;--code-accent-color:#e3e7eb;--code-accent-color-lite:#eff1f3;--accent-color:#e9ecef;--accent-color-lite:#f8f9fa;--control-icons:#b2bac1;--footer-background:#2f333e;--footer-font-color:white;--footer-link-color:#ffa31e;--footer-link-color-visited:#ffa31e}:root .chroma{color:#999;margin:1rem 0}:root .chroma code{background-color:var(--code-background);display:block;line-height:1.45;font-size:.85em;border-radius:.15rem}:root .chroma .lntable td:first-child code{border-radius:0;border-top-left-radius:.15rem;border-bottom-left-radius:.15rem}:root .chroma .lntable td:nth-child(2) code{border-radius:0;border-top-right-radius:.15rem;border-bottom-right-radius:.15rem;padding-left:.5em}:root .chroma .lntable td:nth-child(2) code .hl{width:auto;margin-left:-.5em;padding:0 .5em}:root .highlight pre.chroma{margin:0}:root .highlight>pre.chroma code{padding:1rem;width:100%;overflow:auto}:root .chroma .err{color:#a61717;background-color:#e3d2d2}:root .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:100%;overflow:auto;display:block}:root .chroma .lntable td:first-child code{background-color:var(--code-accent-color-lite);border-right:1px solid var(--code-accent-color);padding:.5em 0}:root .chroma .lntable td code{padding:.5em 0}:root .chroma .lntable td:nth-child(2){width:100%;margin-left:2em}:root .chroma .hl{display:block;width:100%;background-color:#ffc}:root .chroma .lnt{padding:0 .8em}:root .chroma .ln{margin-right:.4em;padding:0 .4em 0 .4em}:root .chroma .k{color:#000;font-weight:700}:root .chroma .kc{color:#000;font-weight:700}:root .chroma .kd{color:#000;font-weight:700}:root .chroma .kn{color:#000;font-weight:700}:root .chroma .kp{color:#000;font-weight:700}:root .chroma .kr{color:#000;font-weight:700}:root .chroma .kt{color:#458;font-weight:700}:root .chroma .na{color:teal}:root .chroma .nb{color:#0086b3}:root .chroma .bp{color:#999}:root .chroma .nc{color:#458;font-weight:700}:root .chroma .no{color:teal}:root .chroma .nd{color:#3c5d5d;font-weight:700}:root .chroma .ni{color:purple}:root .chroma .ne{color:#900;font-weight:700}:root .chroma .nf{color:#900;font-weight:700}:root .chroma .nl{color:#900;font-weight:700}:root .chroma .nn{color:#555}:root .chroma .nt{color:navy}:root .chroma .nv{color:teal}:root .chroma .vc{color:teal}:root .chroma .vg{color:teal}:root .chroma .vi{color:teal}:root .chroma .s{color:#d14}:root .chroma .sa{color:#d14}:root .chroma .sb{color:#d14}:root .chroma .sc{color:#d14}:root .chroma .dl{color:#d14}:root .chroma .sd{color:#d14}:root .chroma .s2{color:#d14}:root .chroma .se{color:#d14}:root .chroma .sh{color:#d14}:root .chroma .si{color:#d14}:root .chroma .sx{color:#d14}:root .chroma .sr{color:#009926}:root .chroma .s1{color:#d14}:root .chroma .ss{color:#990073}:root .chroma .m{color:#099}:root .chroma .mb{color:#099}:root .chroma .mf{color:#099}:root .chroma .mh{color:#099}:root .chroma .mi{color:#099}:root .chroma .il{color:#099}:root .chroma .mo{color:#099}:root .chroma .o{color:#000;font-weight:700}:root .chroma .ow{color:#000;font-weight:700}:root .chroma .c{color:#998;font-style:italic}:root .chroma .ch{color:#998;font-style:italic}:root .chroma .cm{color:#998;font-style:italic}:root .chroma .c1{color:#998;font-style:italic}:root .chroma .cs{color:#999;font-weight:700;font-style:italic}:root .chroma .cp{color:#999;font-weight:700;font-style:italic}:root .chroma .cpf{color:#999;font-weight:700;font-style:italic}:root .chroma .gd{color:#000;background-color:#fdd}:root .chroma .ge{color:#000;font-style:italic}:root .chroma .gr{color:#a00}:root .chroma .gh{color:#999}:root .chroma .gi{color:#000;background-color:#dfd}:root .chroma .go{color:#888}:root .chroma .gp{color:#555}:root .chroma .gs{font-weight:700}:root .chroma .gu{color:#aaa}:root .chroma .gt{color:#a00}:root .chroma .gl{text-decoration:underline}:root .chroma .w{color:#bbb}:root .dark-mode-dim .gdoc-markdown img{filter:none}:root .gdoc-markdown .gdoc-hint{filter:none}}:root[color-mode=dark]{--header-background:#4186c9;--header-font-color:white;--body-background:#343a40;--body-font-color:#ced3d8;--button-background:#498bcb;--button-border-color:#4186c9;--link-color:#5e92c6;--link-color-visited:#936fcc;--code-background:#2f353a;--code-accent-color:#262b2f;--code-accent-color-lite:#2b3035;--accent-color:#2b3035;--accent-color-lite:#2f353a;--control-icons:#b2bac1;--footer-background:#2f333e;--footer-font-color:white;--footer-link-color:#ffa31e;--footer-link-color-visited:#ffa31e}:root[color-mode=dark] .chroma{color:#999;margin:1rem 0}:root[color-mode=dark] .chroma code{background-color:var(--code-background);display:block;line-height:1.45;font-size:.85em;border-radius:.15rem}:root[color-mode=dark] .chroma .lntable td:first-child code{border-radius:0;border-top-left-radius:.15rem;border-bottom-left-radius:.15rem}:root[color-mode=dark] .chroma .lntable td:nth-child(2) code{border-radius:0;border-top-right-radius:.15rem;border-bottom-right-radius:.15rem;padding-left:.5em}:root[color-mode=dark] .chroma .lntable td:nth-child(2) code .hl{width:auto;margin-left:-.5em;padding:0 .5em}:root[color-mode=dark] .highlight pre.chroma{margin:0}:root[color-mode=dark] .highlight>pre.chroma code{padding:1rem;width:100%;overflow:auto}:root[color-mode=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root[color-mode=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:100%;overflow:auto;display:block}:root[color-mode=dark] .chroma .lntable td:first-child code{background-color:var(--code-accent-color-lite);border-right:1px solid var(--code-accent-color);padding:.5em 0}:root[color-mode=dark] .chroma .lntable td code{padding:.5em 0}:root[color-mode=dark] .chroma .lntable td:nth-child(2){width:100%;margin-left:2em}:root[color-mode=dark] .chroma .hl{display:block;width:100%;background-color:#ffc}:root[color-mode=dark] .chroma .lnt{padding:0 .8em}:root[color-mode=dark] .chroma .ln{margin-right:.4em;padding:0 .4em 0 .4em;color:#7f7f7f}:root[color-mode=dark] .chroma .k{color:#ff79c6}:root[color-mode=dark] .chroma .kc{color:#ff79c6}:root[color-mode=dark] .chroma .kd{color:#8be9fd;font-style:italic}:root[color-mode=dark] .chroma .kn{color:#ff79c6}:root[color-mode=dark] .chroma .kp{color:#ff79c6}:root[color-mode=dark] .chroma .kr{color:#ff79c6}:root[color-mode=dark] .chroma .kt{color:#8be9fd}:root[color-mode=dark] .chroma .na{color:#50fa7b}:root[color-mode=dark] .chroma .nb{color:#8be9fd;font-style:italic}:root[color-mode=dark] .chroma .nc{color:#50fa7b}:root[color-mode=dark] .chroma .nf{color:#50fa7b}:root[color-mode=dark] .chroma .nl{color:#8be9fd;font-style:italic}:root[color-mode=dark] .chroma .nt{color:#ff79c6}:root[color-mode=dark] .chroma .nv{color:#8be9fd;font-style:italic}:root[color-mode=dark] .chroma .vc{color:#8be9fd;font-style:italic}:root[color-mode=dark] .chroma .vg{color:#8be9fd;font-style:italic}:root[color-mode=dark] .chroma .vi{color:#8be9fd;font-style:italic}:root[color-mode=dark] .chroma .s{color:#f1fa8c}:root[color-mode=dark] .chroma .sa{color:#f1fa8c}:root[color-mode=dark] .chroma .sb{color:#f1fa8c}:root[color-mode=dark] .chroma .sc{color:#f1fa8c}:root[color-mode=dark] .chroma .dl{color:#f1fa8c}:root[color-mode=dark] .chroma .sd{color:#f1fa8c}:root[color-mode=dark] .chroma .s2{color:#f1fa8c}:root[color-mode=dark] .chroma .se{color:#f1fa8c}:root[color-mode=dark] .chroma .sh{color:#f1fa8c}:root[color-mode=dark] .chroma .si{color:#f1fa8c}:root[color-mode=dark] .chroma .sx{color:#f1fa8c}:root[color-mode=dark] .chroma .sr{color:#f1fa8c}:root[color-mode=dark] .chroma .s1{color:#f1fa8c}:root[color-mode=dark] .chroma .ss{color:#f1fa8c}:root[color-mode=dark] .chroma .m{color:#bd93f9}:root[color-mode=dark] .chroma .mb{color:#bd93f9}:root[color-mode=dark] .chroma .mf{color:#bd93f9}:root[color-mode=dark] .chroma .mh{color:#bd93f9}:root[color-mode=dark] .chroma .mi{color:#bd93f9}:root[color-mode=dark] .chroma .il{color:#bd93f9}:root[color-mode=dark] .chroma .mo{color:#bd93f9}:root[color-mode=dark] .chroma .o{color:#ff79c6}:root[color-mode=dark] .chroma .ow{color:#ff79c6}:root[color-mode=dark] .chroma .c{color:#6272a4}:root[color-mode=dark] .chroma .ch{color:#6272a4}:root[color-mode=dark] .chroma .cm{color:#6272a4}:root[color-mode=dark] .chroma .c1{color:#6272a4}:root[color-mode=dark] .chroma .cs{color:#6272a4}:root[color-mode=dark] .chroma .cp{color:#ff79c6}:root[color-mode=dark] .chroma .cpf{color:#ff79c6}:root[color-mode=dark] .chroma .gd{color:#8b080b}:root[color-mode=dark] .chroma .ge{text-decoration:underline}:root[color-mode=dark] .chroma .gh{font-weight:700}:root[color-mode=dark] .chroma .gi{font-weight:700}:root[color-mode=dark] .chroma .go{color:#44475a}:root[color-mode=dark] .chroma .gu{font-weight:700}:root[color-mode=dark] .chroma .gl{text-decoration:underline}:root[color-mode=dark] .dark-mode-dim .gdoc-markdown img{filter:brightness(.75) grayscale(.2)}:root[color-mode=dark] .gdoc-markdown .gdoc-hint{filter:saturate(2.5) brightness(.85)}@media (prefers-color-scheme:dark){:root{--header-background:#4186c9;--header-font-color:white;--body-background:#343a40;--body-font-color:#ced3d8;--button-background:#498bcb;--button-border-color:#4186c9;--link-color:#5e92c6;--link-color-visited:#936fcc;--code-background:#2f353a;--code-accent-color:#262b2f;--code-accent-color-lite:#2b3035;--accent-color:#2b3035;--accent-color-lite:#2f353a;--control-icons:#b2bac1;--footer-background:#2f333e;--footer-font-color:white;--footer-link-color:#ffa31e;--footer-link-color-visited:#ffa31e}:root .chroma{color:#999;margin:1rem 0}:root .chroma code{background-color:var(--code-background);display:block;line-height:1.45;font-size:.85em;border-radius:.15rem}:root .chroma .lntable td:first-child code{border-radius:0;border-top-left-radius:.15rem;border-bottom-left-radius:.15rem}:root .chroma .lntable td:nth-child(2) code{border-radius:0;border-top-right-radius:.15rem;border-bottom-right-radius:.15rem;padding-left:.5em}:root .chroma .lntable td:nth-child(2) code .hl{width:auto;margin-left:-.5em;padding:0 .5em}:root .highlight pre.chroma{margin:0}:root .highlight>pre.chroma code{padding:1rem;width:100%;overflow:auto}:root .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:100%;overflow:auto;display:block}:root .chroma .lntable td:first-child code{background-color:var(--code-accent-color-lite);border-right:1px solid var(--code-accent-color);padding:.5em 0}:root .chroma .lntable td code{padding:.5em 0}:root .chroma .lntable td:nth-child(2){width:100%;margin-left:2em}:root .chroma .hl{display:block;width:100%;background-color:#ffc}:root .chroma .lnt{padding:0 .8em}:root .chroma .ln{margin-right:.4em;padding:0 .4em 0 .4em;color:#7f7f7f}:root .chroma .k{color:#ff79c6}:root .chroma .kc{color:#ff79c6}:root .chroma .kd{color:#8be9fd;font-style:italic}:root .chroma .kn{color:#ff79c6}:root .chroma .kp{color:#ff79c6}:root .chroma .kr{color:#ff79c6}:root .chroma .kt{color:#8be9fd}:root .chroma .na{color:#50fa7b}:root .chroma .nb{color:#8be9fd;font-style:italic}:root .chroma .nc{color:#50fa7b}:root .chroma .nf{color:#50fa7b}:root .chroma .nl{color:#8be9fd;font-style:italic}:root .chroma .nt{color:#ff79c6}:root .chroma .nv{color:#8be9fd;font-style:italic}:root .chroma .vc{color:#8be9fd;font-style:italic}:root .chroma .vg{color:#8be9fd;font-style:italic}:root .chroma .vi{color:#8be9fd;font-style:italic}:root .chroma .s{color:#f1fa8c}:root .chroma .sa{color:#f1fa8c}:root .chroma .sb{color:#f1fa8c}:root .chroma .sc{color:#f1fa8c}:root .chroma .dl{color:#f1fa8c}:root .chroma .sd{color:#f1fa8c}:root .chroma .s2{color:#f1fa8c}:root .chroma .se{color:#f1fa8c}:root .chroma .sh{color:#f1fa8c}:root .chroma .si{color:#f1fa8c}:root .chroma .sx{color:#f1fa8c}:root .chroma .sr{color:#f1fa8c}:root .chroma .s1{color:#f1fa8c}:root .chroma .ss{color:#f1fa8c}:root .chroma .m{color:#bd93f9}:root .chroma .mb{color:#bd93f9}:root .chroma .mf{color:#bd93f9}:root .chroma .mh{color:#bd93f9}:root .chroma .mi{color:#bd93f9}:root .chroma .il{color:#bd93f9}:root .chroma .mo{color:#bd93f9}:root .chroma .o{color:#ff79c6}:root .chroma .ow{color:#ff79c6}:root .chroma .c{color:#6272a4}:root .chroma .ch{color:#6272a4}:root .chroma .cm{color:#6272a4}:root .chroma .c1{color:#6272a4}:root .chroma .cs{color:#6272a4}:root .chroma .cp{color:#ff79c6}:root .chroma .cpf{color:#ff79c6}:root .chroma .gd{color:#8b080b}:root .chroma .ge{text-decoration:underline}:root .chroma .gh{font-weight:700}:root .chroma .gi{font-weight:700}:root .chroma .go{color:#44475a}:root .chroma .gu{font-weight:700}:root .chroma .gl{text-decoration:underline}:root .dark-mode-dim .gdoc-markdown img{filter:brightness(.75) grayscale(.2)}:root .gdoc-markdown .gdoc-hint{filter:saturate(2.5) brightness(.85)}}html{font-size:16px;letter-spacing:.33px;scroll-behavior:smooth}html.color-toggle-hidden #gdoc-dark-mode .gdoc_brightness_auto,html.color-toggle-hidden #gdoc-dark-mode .gdoc_brightness_dark,html.color-toggle-hidden #gdoc-dark-mode .gdoc_brightness_light{display:none}html.color-toggle-light #gdoc-dark-mode .gdoc_brightness_light{display:inline-block}html.color-toggle-light #gdoc-dark-mode .gdoc_brightness_auto,html.color-toggle-light #gdoc-dark-mode .gdoc_brightness_dark{display:none}html.color-toggle-dark #gdoc-dark-mode .gdoc_brightness_dark{display:inline-block}html.color-toggle-dark #gdoc-dark-mode .gdoc_brightness_auto,html.color-toggle-dark #gdoc-dark-mode .gdoc_brightness_light{display:none}html.color-toggle-auto #gdoc-dark-mode .gdoc_brightness_light{display:none}html.color-toggle-auto #gdoc-dark-mode .gdoc_brightness_dark{display:none}html.color-toggle-auto #gdoc-dark-mode .gdoc_brightness_auto{display:inline-block}body,html{min-width:20rem;overflow-x:hidden}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5,h6{font-weight:400;display:flex;align-items:center}h4,h5,h6{font-size:1rem!important}a{text-decoration:none;color:var(--link-color)}a:hover{text-decoration:underline}a:visited{color:var(--link-color-visited)}img{vertical-align:middle}.fake-link:hover{background-image:linear-gradient(var(--link-color),var(--link-color));background-position:0 100%;background-size:100% 1px;background-repeat:no-repeat;text-decoration:none}.wrapper{display:flex;flex-direction:column;min-height:100vh;color:var(--body-font-color);background:var(--body-background);font-weight:400}.container{width:100%;max-width:80rem;margin:0 auto;padding:1rem}.icon{display:inline-block;width:1em;height:1em;top:.125em;stroke-width:0;stroke:currentColor;fill:currentColor;position:relative}.gdoc-header{background:var(--header-background);color:var(--header-font-color);border-bottom:.3em solid var(--footer-background)}.gdoc-header__link,.gdoc-header__link:visited{color:inherit}.gdoc-header__link:hover{text-decoration:none}.gdoc-header .icon{width:2rem;height:2rem}.gdoc-brand{font-size:2rem}.gdoc-brand__img{margin-right:1rem;width:2rem;height:2rem}.gdoc-nav{flex:0 0 16rem;font-size:.875rem}.gdoc-nav nav{width:16rem;padding:1rem 2rem 1rem 0}.gdoc-nav nav>ul>li>*{font-weight:400}.gdoc-nav nav>:first-child{margin-top:0}.gdoc-nav__control{display:none;margin:0;padding:0}.gdoc-nav__control .icon.gdoc_menu{display:inline-block}.gdoc-nav__control .icon.gdoc_arrow_back{display:none}.gdoc-nav__list{padding-left:1em;margin:0;padding:0;list-style:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.gdoc-nav__list ul{padding-left:1rem}.gdoc-nav__list li{margin:.5rem 0}.gdoc-nav__list .icon{margin-right:.25rem}.gdoc-nav__toggle{display:none}.gdoc-nav__toggle~label{cursor:pointer}.gdoc-nav__toggle~label .icon{font-size:.7rem}.gdoc-nav__toggle:not(:checked)~label .icon.gdoc_keyborad_arrow_down,.gdoc-nav__toggle:not(:checked)~ul{display:none}.gdoc-nav__toggle:not(:checked)~label .icon.gdoc_keyborad_arrow_left{display:block}.gdoc-nav__toggle:checked~label .icon.gdoc_keyborad_arrow_down,.gdoc-nav__toggle:checked~ul{display:block}.gdoc-nav__toggle:checked~label .icon.gdoc_keyborad_arrow_left{display:none}.gdoc-nav--main>ul>li>label,.gdoc-nav--main>ul>li>label>a,.gdoc-nav--main>ul>li>span,.gdoc-nav--main>ul>li>span>a{font-weight:700}.gdoc-nav--more{padding-top:.5rem}.gdoc-nav__entry,.gdoc-search__entry{flex:1;color:var(--body-font-color)}.gdoc-nav__entry.is-active,.gdoc-nav__entry:hover,.gdoc-search__entry.is-active,.gdoc-search__entry:hover{text-decoration:underline;-webkit-text-decoration-style:dashed!important;text-decoration-style:dashed!important}.gdoc-nav__entry:visited,.gdoc-search__entry:visited{color:var(--body-font-color)}.gdoc-page{min-width:20rem;flex-grow:1;padding:1rem 0}.gdoc-page__footer,.gdoc-page__header{margin-bottom:1.2rem}.gdoc-page__footer .icon,.gdoc-page__header .icon{color:var(--control-icons)}.gdoc-page__footer a,.gdoc-page__footer a:visited,.gdoc-page__header a,.gdoc-page__header a:visited{color:var(--link-color)}.gdoc-page__header{background:var(--accent-color-lite);padding:.5rem 1rem;border-radius:.15rem}.gdoc-page__footer{margin-top:2rem}.gdoc-page__footer a:hover{text-decoration:none}.gdoc-page__nav:hover{background-image:linear-gradient(var(--link-color),var(--link-color));background-position:0 100%;background-size:100% 1px;background-repeat:no-repeat}.gdoc-page__nav--prev:before{font-family:GeekdocIcons;content:""}.gdoc-page__nav--next:after{font-family:GeekdocIcons;content:""}.gdoc-page__anchorwrap:hover .gdoc-page__anchor .icon{color:var(--control-icons)}.gdoc-page__anchor{min-width:30px}.gdoc-page__anchor--left{position:absolute;margin-left:-25px;text-align:left}.gdoc-page__anchor--right{text-align:right}.gdoc-page__anchor .icon{width:1.4rem;height:1.4rem;color:transparent}.gdoc-post{word-wrap:break-word;border-top:1px dashed #868e96;padding:2rem 0;line-height:1.5}.gdoc-post:first-of-type{padding-top:0}.gdoc-post__header h1{margin-top:0}.gdoc-post__header a,.gdoc-post__header a:visited{color:var(--body-font-color);text-decoration:none}.gdoc-post__header a:hover{background:0 0;text-decoration:underline;color:var(--body-font-color)}.gdoc-post__date{margin:1em 0}.gdoc-post__date .icon{font-size:1.2em}.gdoc-post:first-child{border-top:0}.gdoc-post:first-child h1{margin-top:0}.gdoc-post__readmore{margin:1.5rem 0 2rem 0}.gdoc-post__readmore a:after{font-family:GeekdocIcons;content:""}.gdoc-post__readmore a,.gdoc-post__readmore a:hover,.gdoc-post__readmore a:visited{color:var(--link-color);text-decoration:none!important}.gdoc-footer{background:var(--footer-background);color:var(--footer-font-color)}.gdoc-footer__item{margin-right:1em;line-height:2em}.gdoc-footer__link{color:var(--footer-link-color)}.gdoc-footer__link:visited{color:var(--footer-link-color-visited)}.gdoc-search{position:relative}.gdoc-search .icon{position:absolute;top:.625em;left:.5rem;color:var(--control-icons);width:1rem;height:1rem}.gdoc-search::after{display:block;content:"";clear:both}.gdoc-search__input{width:100%;padding:.5rem;padding-left:2rem;border:1px solid var(--accent-color);border-radius:.15rem;background:var(--accent-color-lite);color:var(--body-font-color)}.gdoc-search__input:required+.gdoc-search__input__spinner{display:block}.gdoc-search__spinner{position:absolute;margin:.5rem;right:0;top:0;width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;-webkit-animation:spin 1s ease infinite;animation:spin 1s ease infinite}@-webkit-keyframes spin{100%{transform:rotate(360deg)}}@keyframes spin{100%{transform:rotate(360deg)}}.gdoc-search__list{visibility:hidden;background:var(--body-background);border-radius:.15rem;box-shadow:0 1px 3px 0 var(--accent-color),0 1px 2px 0 var(--accent-color-lite);position:absolute;margin:0;padding:.5rem;list-style:none;left:0;top:calc(100% + .5rem);width:100%;z-index:2}.gdoc-search__list ul{list-style:none;margin-top:.5rem;padding-left:0}.gdoc-search__list li{margin:.25rem 0}.gdoc-search__list>li>span{font-weight:700}.gdoc-search__list>li+li{margin-top:.5rem}.gdoc-search__list .icon{margin-right:.25rem}.gdoc-search:focus-within .gdoc-search__list.has-hits,.gdoc-search__list.has-hits:active{visibility:visible}.gdoc-error{padding:6rem 1rem;margin:0 auto;max-width:45em}.gdoc-error .icon{width:8rem;height:8rem;color:var(--body-font-color)}.gdoc-error__link,.gdoc-error__link:visited{color:var(--link-color)}.gdoc-error__message{padding-left:4rem}.gdoc-error__line{padding:.5rem 0}.gdoc-error__title{font-size:4rem}.gdoc-error__code{font-weight:bolder}.gdoc-toc__level--1 ul ul,.gdoc-toc__level--2 ul ul ul,.gdoc-toc__level--3 ul ul ul ul,.gdoc-toc__level--4 ul ul ul ul ul,.gdoc-toc__level--5 ul ul ul ul ul ul,.gdoc-toc__level--6 ul ul ul ul ul ul ul{display:none}.gdoc-toc a,.gdoc-toc a:visited{color:var(--link-color)}.gdoc-nav nav,.gdoc-page,.markdown{transition:.2s ease-in-out;transition-property:transform,margin-left,opacity;will-change:transform,margin-left}.breadcrumb{display:inline;padding:0;margin:0}.breadcrumb li{display:inline}.gdoc-markdown{line-height:1.6em}.gdoc-markdown>:first-child{margin-top:0}.gdoc-markdown--nested :first-child{margin-top:0}.gdoc-markdown--nested>:last-child{margin-bottom:0}.gdoc-markdown h1,.gdoc-markdown h2,.gdoc-markdown h3,.gdoc-markdown h4,.gdoc-markdown h5,.gdoc-markdown h6{font-weight:600}.gdoc-markdown h1>code,.gdoc-markdown h2>code,.gdoc-markdown h3>code,.gdoc-markdown h4>code,.gdoc-markdown h5>code,.gdoc-markdown h6>code{border-top:3px solid var(--accent-color);font-size:.75em!important}.gdoc-markdown h4>code,.gdoc-markdown h5>code,.gdoc-markdown h6>code{font-size:.8rem!important}.gdoc-markdown b,.gdoc-markdown optgroup,.gdoc-markdown strong{font-weight:bolder}.gdoc-markdown a,.gdoc-markdown__link{text-decoration:none;border-bottom:1px solid transparent;line-height:1em}.gdoc-markdown a:hover,.gdoc-markdown__link:hover{text-decoration:underline}.gdoc-markdown__link--raw{text-decoration:none!important;color:#343a40!important}.gdoc-markdown__link--raw:hover{text-decoration:none!important}.gdoc-markdown__link--raw:visited{color:#343a40!important}.gdoc-markdown img{max-width:100%;border-radius:.15rem}.gdoc-markdown__figure{padding:.25rem;margin:1rem 0;background-color:var(--accent-color);display:table;border-top-left-radius:.15rem;border-top-right-radius:.15rem}.gdoc-markdown__figure figcaption{display:table-caption;caption-side:bottom;background-color:var(--accent-color);padding:0 .25rem .25rem;text-align:center;border-bottom-left-radius:.15rem;border-bottom-right-radius:.15rem}.gdoc-markdown__figure img{max-width:100%;height:auto}.gdoc-markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-left:3px solid var(--accent-color);border-radius:.15rem}.gdoc-markdown blockquote :first-child{margin-top:0}.gdoc-markdown blockquote :last-child{margin-bottom:0}.gdoc-markdown table{overflow:auto;display:table;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem;width:100%;text-align:left}.gdoc-markdown table thead{border-bottom:3px solid var(--accent-color)}.gdoc-markdown table tr td,.gdoc-markdown table tr th{padding:.5rem 1rem}.gdoc-markdown table tr{border-bottom:1.5px solid var(--accent-color)}.gdoc-markdown table tr:nth-child(2n){background:var(--accent-color-lite)}.gdoc-markdown hr{height:1.5px;border:none;background:var(--accent-color)}.gdoc-markdown ol,.gdoc-markdown ul{padding-left:2rem}.gdoc-markdown dl dt{font-weight:bolder;margin-top:1rem}.gdoc-markdown dl dd{margin-left:2rem}.gdoc-markdown pre{margin:1rem 0}.gdoc-markdown code{background-color:var(--code-background);font-size:.85em;line-height:1.45em;padding:.2em .4em}.gdoc-markdown pre code{display:block;padding:1rem;width:100%;overflow:auto}.gdoc-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--accent-color);border-radius:.15rem;overflow:hidden}.gdoc-expand__head{background:var(--accent-color-lite);padding:.5rem 1rem;cursor:pointer}.gdoc-expand__content{display:none;padding:1rem}.gdoc-expand__control:checked+.gdoc-expand__content{display:block}.gdoc-expand .gdoc-page__anchor{display:none}.gdoc-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--accent-color);border-radius:.15rem;overflow:hidden;display:flex;flex-wrap:wrap}.gdoc-tabs__label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.gdoc-tabs__content{order:999;width:100%;border-top:1px solid var(--accent-color-lite);padding:1rem;display:none}.gdoc-tabs__control:checked+.gdoc-tabs__label{border-bottom:1.5px solid var(--link-color)}.gdoc-tabs__control:checked+.gdoc-tabs__label+.gdoc-tabs__content{display:block}.gdoc-columns{margin-left:-1rem;margin-right:-1rem}.gdoc-columns__content{margin:1rem 0;min-width:13.2rem;padding:0 1rem}.gdoc-columns .gdoc-page__anchor{display:none}.gdoc-button{display:inline-block;background:var(--accent-color-lite);border:1px solid var(--accent-color);border-radius:.15rem;margin:.5rem 0;cursor:pointer}.gdoc-button__link{display:inline-block;color:inherit!important;text-decoration:none!important;padding:.25rem 1rem}.gdoc-button:hover{background:var(--button-background);border-color:var(--button-border-color);color:#f8f9fa}.gdoc-hint.info{border-left-color:#0091ea;background-color:#f3f9fd;color:#343a40}.gdoc-hint.ok{border-left-color:#00c853;background-color:#f2fdf6;color:#343a40}.gdoc-hint.warning{border-left-color:#ffab00;background-color:#fdfaf4;color:#343a40}.gdoc-hint.danger{border-left-color:#d50000;background-color:#fdf2f2;color:#343a40}.gdoc-mermaid{font-family:"Liberation Sans",sans-serif} \ No newline at end of file diff --git a/boot/assets/tv/css/mobile.min.css b/boot/assets/tv/css/mobile.min.css new file mode 100644 index 0000000..6344d5a --- /dev/null +++ b/boot/assets/tv/css/mobile.min.css @@ -0,0 +1 @@ +@media screen and (max-width:39rem){.gdoc-nav{margin-left:-16rem;font-size:16px}.gdoc-nav__control{display:inline-block}.gdoc-header .icon{width:1.5rem;height:1.5rem}.gdoc-brand{font-size:1.5rem}.gdoc-brand__img{display:none}.gdoc-error{padding:6rem 1rem}.gdoc-error .icon{width:6rem;height:6rem}.gdoc-error__message{padding-left:2rem}.gdoc-error__line{padding:.25rem 0}.gdoc-error__title{font-size:2rem}.gdoc-page__header .breadcrumb,.hidden-mobile{display:none}.gdoc-footer__item{width:100%}#menu-control:checked~main .gdoc-nav nav,#menu-control:checked~main .gdoc-page{transform:translateX(16rem)}#menu-control:checked~main .gdoc-page{opacity:.25}#menu-control:checked~.gdoc-header .gdoc-nav__control .icon.gdoc_menu{display:none}#menu-control:checked~.gdoc-header .gdoc-nav__control .icon.gdoc_arrow_back{display:inline-block}} \ No newline at end of file diff --git a/boot/assets/tv/css/pretty-print-json.css b/boot/assets/tv/css/pretty-print-json.css new file mode 100644 index 0000000..9061b54 --- /dev/null +++ b/boot/assets/tv/css/pretty-print-json.css @@ -0,0 +1,21 @@ +/*! pretty-print-json v1.0.0 ~ github.com/center-key/pretty-print-json ~ MIT License */ +.json-key { color: brown; } +.json-string { color: olive; } +.json-number { color: navy; } +.json-boolean { color: teal; } +.json-null { color: dimgray; } +.json-mark { color: black; } +a.json-link { color: purple; transition: all 400ms; } +a.json-link:visited { color: slategray; } +a.json-link:hover { color: blueviolet; } +a.json-link:active { color: slategray; } +.dark-mode .json-key { color: indianred; } +.dark-mode .json-string { color: darkkhaki; } +.dark-mode .json-number { color: deepskyblue; } +.dark-mode .json-boolean { color: mediumseagreen; } +.dark-mode .json-null { color: darkorange; } +.dark-mode .json-mark { color: silver; } +.dark-mode a.json-link { color: mediumorchid; } +.dark-mode a.json-link:visited { color: slategray; } +.dark-mode a.json-link:hover { color: violet; } +.dark-mode a.json-link:active { color: silver; } diff --git a/boot/assets/tv/css/print.min.css b/boot/assets/tv/css/print.min.css new file mode 100644 index 0000000..3237753 --- /dev/null +++ b/boot/assets/tv/css/print.min.css @@ -0,0 +1 @@ +@media print{.editpage,.gdoc-footer .container span:not(:first-child),.gdoc-nav{display:none}.gdoc-footer{border-top:1px solid #dee2e6}.gdoc-markdown pre{white-space:pre-wrap;overflow-wrap:break-word}.chroma code{border:1px solid #dee2e6;padding:.5rem!important;font-weight:400!important}.gdoc-markdown code{font-weight:700}a,a:visited{color:inherit!important;text-decoration:none!important}.gdoc-toc{flex:none}.gdoc-toc nav{position:relative;width:auto}.wrapper{display:block}.wrapper main{display:block}} \ No newline at end of file diff --git a/boot/assets/tv/css/style.min.css b/boot/assets/tv/css/style.min.css new file mode 100644 index 0000000..c53bd4c --- /dev/null +++ b/boot/assets/tv/css/style.min.css @@ -0,0 +1 @@ +@font-face{font-family:Simple-Line-Icons;src:url(fonts/Simple-Line-Icons.eot);src:url(fonts/Simple-Line-Icons.eot?#iefix) format('embedded-opentype'),url(data:font/x-font-woff;charset=utf-8;base64,d09GRk9UVE8AAOe8AAsAAAABu6AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAABCAAA4yUAAbPOH4xiK0ZGVE0AAOQwAAAAGgAAABxmk/qIR0RFRgAA5EwAAAAeAAAAIADRAARPUy8yAADkbAAAAEsAAABgL93cQWNtYXAAAOS4AAABMgAAApb6NPANaGVhZAAA5ewAAAAwAAAANv4pzBNoaGVhAADmHAAAACAAAAAkBBH/42htdHgAAOY8AAAAfgAAAU4HvwSibWF4cAAA5rwAAAAGAAAABgCkUABuYW1lAADmxAAAAOwAAAIKic1IyHBvc3QAAOewAAAADAAAACAAAwAAeJy8vXl8VdX1h73PnRNCSIBgmBIEBBQRQhhFBcQJQXGqUqVKrVpEixSppUqdENFGpBQVFStatWpFpRURlUKkiIiIEVBAQEDmKSFApjvtdz1r3wSosbW/z/u++ePk3nPPOXtaew3fNRzPBALG87zGV976q7G339xl6K1jbu4y+Bd3jLnTeD7jmYuqF/mqF/urcwNFGf6ijEBeuml+ZWNbVFT3ISP86K3VT1XfFWxtTOiyRnI0JkuO4ZnZfM5obbxXRzQ2r/C0iGlkmpnWpr3pbLqbvmaAudBcan5iRphfmNHm12aCuc88bKaaJ8ws8xfzuplr3jOLzMdmpVljvjHbzB5TZipNwgt4DbzGXnOvjdfRO8Pr6Z3lDfIu9i73hns3eLd4v/LGe/d4D3qPen/0ZnrPe694c7x3vA+8j7zl3hfe195mb4e33zvs1fiML+zL9OX4Wvna+U7zFfj6+Pr7LvBd4rvKd53vRt+tvrG+3/ru9U32Peab4XvW96LvNd/bvvm+f/qW+j7zrfZt8G317faV+ip8cb/fn+7P9uf68/0d/F38Pfz9/Of6B/sv81/jv95/s/92/53+u/0P+B/xT/M/5f+z/2X/G/5/+N/3F/s/8a/yf+Xf5N/u3+cv91f7bSAUaBhoGmgZaBs4NdAt0DtwTuD8wNDAlYFrAz8PjArcEbgrMCXw9G/G3HpBt27d5N/5df+6u3+F7l8P96+X/itwlxQUuH/uygJ3ZYG7sqCn++du6O5u6O5u6O5u6O5u6O5u6O5u6O5u6Oa+devt/vVx//q6fwPdv3Pdv0Hu33nu3/nu3wWudXd7gbu9wN1e4G4vcLcXuNsL3O0F7vYCd3t3d3t3d3t3d3t3d3t3d3t3d3t3d3t3d3t3d3uhG3ShG3ShG3ShG3ShG3ShG2ahG3Sha6/QtVfo2it07RW69gpde4WuvULXXqFrr4drr4drr4drr4drr4drr4drr4drr4drr4drr4drr4drr4drr4drr4drr4drr4drr6drr6drr6drr6drr6drr6drr6drr6drr6drr6drr6drr6drr6drr6drr6drr6drr5drr5drr5drr5drr5drr5drr5drr5drr5drr5drr5drr5drr5drr5drr5drr5drr7drr7drr7drr7drr7drr7drr7drr7drr7drr7drr7drr7drr7drr7drr7drr7drr49rr49rr49rr49rr49rr49rr49rr49rr49rr49rr49rr49rr49rr49rr49rr49rr69rr69rr69rr69rr69rr69rr69rr69rr69rr69rr69rr69rr69rr69rr69rr69rb6Brb6Brr1vB90TE92WGMd4U7xHhvH/wirzHvKne49404cLTvT95M7wnvCe9p4QjP+094z3rzfKe8/4s3Hm294L3ovcX7yXvZeHUf/Ve9V7zXvf+5r0hXPtN7y3vbW+u93fvH8LB53nvevO997wF3vvCzT/0Fnr/9BZ5i71i4exLvH95S72PvWXeJ8LlP/VWeJ95K73PvVXC8Uu8L73V3hpvrfeVcP913npvg/eNt9HbJJLgW2+Lt9Xb5n3nbRepsNPb5e329nh7vX0iIQ54B71Sr8w75JWLtDjiHfUqvEqvyqv2aryoF/PiXsJLelakiOfz+fy+gC/oC4lEifjSfOm+Br4MX0ORLo18Wb5sX2NfE19TkTTNfCf5cn3NfS18LUXqtPbl+fJ9bXwn+9qKBGrvO8XXwdfR18l3qnnZL1NpjE8EqPF/aUKTTNrVJuNG0+gZk7XHZJeY3Dmm5U3m5PNN28dM+1tMhymm0yemczfTbbLpPtQUtjM9N5s++eacHDPgoLmgkRk8zgzNN5c1Mld1N8P7mp9ONCM2mBt6mp/vMjdfZ26tMmOyzbjHzW9ONRPuMXd/Ze7NMg8+ax56zky5wDzynnnsE/P4w+aPH5k/vWae6mRmJswzfcxzU8zsC82Lc82ra8zrs8zfrjVvNDZz9pi5y8w7pebdoJn/oXlvknn/HfPBYbOw2izaZ4q7m4++Mf+aaj4ZYVaca1bdb0pGmq/bmXVvm/XbzDc/M5v+brY0Mt9NMjuyzM4Ssztu9pebw6ea6ntNbLZJXG5swguu8CK/9tL2eQ2f87L+7DUZ7TX9zmsW9ZoP91qe5bU+1Wv9ktf2XK/9XV77OV6HjV7nqNftSa/gQa+whdezqdern9d7qNf3Cu/Mdd7ZTbz+z3oD+3rnrvQGLfXOj3gX/Nm78Gpv8AxvaHvvkgPepZ95w6Z5l63xruroXfOwNzzT++kX3s8Ge9cXezfc4P38n96Npd7NzbxRO7zRp3m37fV+FfB+9bU35lLv1z/zxr3v3Xm/95s/eb99w5v4L+++U71Hmnt/+Jv32BTv8WLvj4u9GTd5T0W9ZxZ7f16bWVQ9PhB/ovqJcKb1tgZyrbn01UM5Rdbkx/ZYe3Tpc9buvLcm39qvFo4OW1s6bIu15XPbWHskUiBfr6zOs8n+VSUhPlfx08nWZFR9YU323Db51pw26KmwNS0eCPPA3dY06HdzUZ41RQP/YM256ecErT04+n5r0oZttfa98Qut8R2ZP9marJHnFkkfWs2JvPcna/p29skPC66wplnXFtYEXj1kTetWc+TT7EXzrAnfG5WHcehd9rw1Z8w705oLXi0rilhj2nxcxHFpUZBzh4rcNfbLIcvkvgek1//kPnnOje659rvtV7m27N6SXX+ydtm6dO2HtWsSR4uKJltbNnux9HXcXGsTGYOl/7c/Zm3l3JMjNvlZv5usvWPYlhzrFQdyi6y1sV3WdNr7OxmmvfAta7x5fa2NzpEnBnJnyK9N75ZzW86yNknHzciBct3wLPk05BOZHzPxoDQ7vvghGV2kQJ5xlKuCNFK9V+5s0OpNuX5jW5lwzll5kHy62ZrQhmbya/+J1qTrHRNL5RPjCI592ZrMK6tlhKxTMybcz4CDnDNcHNZ+yiqbcJbMiTfqThkdz2s6bYS1FbTRatFvrY1DKm0mNZZ2+RTJlblKLhwtSykLY5MzH5cmmz0i/U/MGC/E0Nn3iDU5y15j0i4WgpAVtVGZOVMgXbJf0XI7Gbn9dHiWrBtjYfq29JN103NyTfnfrN3EEkVHP2DtqumjUguwc/XhR6zdxxQkZvxG6HBtkg5Mld7KLGmnbKUMUjra3Nqq3be7ztstd38nl2y7yNrtAx+VS2SC7H5ZVh24PkAnwyaZKibIWmaESbNxqI+JtAmmism10WkjIm7GbXRyPqtwkizZort0HLJf2Ep2c1c+zZIVpB9H6dZRvWPpc7rWk4Qiq76AXownB51f5sVCOVCJtbMXQTn3yNc2H1tbc2S+fN19u8xQcsgnkUxZFNmYpo1uYrtlSmfr3VD2nCyuEORtNvlC+jlMaenwbOv+yt9qKiMZtkV2RvaciAygWyA37H4y2axnfs1GuaD/xCL202OTZfOeO2yrPGIN9NVu/8PWHsq8WjbX3DbyiLZlz8tVwyqWyH7vUbHUmsFCP+bMqlW6++TwynY5x2b/ONLN2s/Sz8mzdm76OWHp64aZUyda++GEr+TZ7LfN7DpzGpv0ADRVnfuEtVtZm5L0c2QdiicFIcgzUxu3JiCsIU2ITRasjZC/ztBc2RwNsn4hlxSdK2sjc2Ui7KcQRN8Wom8Zai+7ZuVK6eW2i2QEecteqxtB206VwgBGyp1dWLxPX49bu6Ltl9L5lZ8LD6Fn304fJTNiWKy5GRcHU5O6tfhBaxpNPChXykSbk8/+tZAphBKR8dsayCgA3VdoJ19ad78cX9kuxxrZHLbyrk/lp4PTZV1HnisTcefd24Qq5p4sT493bSmXyh63lUqGgeYycUcufCtivS9Y5fxR43KklXUZQrudjsqcQZhVDKOKHVfN1tCDfM2/7rpQfeePO2fCcN7I2mTeh9eF6ztPW+mpr2FphnP5H34Yqu986hDWh6T6lXediB2TL2RvTN4C4ZuncInxZbwik+jLsMni9ptq6dXN8n+m19u/R69CCudeWf1/ptdXy/4bvbJYx9Hr1cziOjjDgYPCEneIKLRvCZMxHWYvOkavpXX0+pv/lV7Z3f+RXq/vVUevsfrpVUeQms+tSx6vJdWrg/+vkmpBR7mUx1UiK+O+jDpS/ebaVtb8RDiUDEwmXTjnz4Td9R0uj4LJR6ddy+MHy/PeEcljizY0Y2P1HgrLk8uTm8/gyWPlAAtPTmQ2ZZbkMElnuMh9N6H+v5dnfDLmaWv6TB8VrDt7r8xbujxJPk7Uq47/lN52dZH7zvPgQFNOF+kjAzXnIbBGXdsqmJKkoSPvyfUqJmWc8lVYcbRokDBhb5pIS69N4zE5SiiPQyhMzRqR/XZz2zXy2DQkQ/VL64SkhdzsrhYvyEzJ8E2gSyaEglxPMbbcWkJBs3GEAqk10MUpOq+WUGTNTQhSaysEa1pymyOU7VfVSyg3XVtLKDTzg4QiI9gqff1R/KzZlPqIZPw/64hkoBLJd8eIpENqKSvH/R0iaZgiklrZ1ZUZMcLmRHaVRLo7XpAFG8iBDWxVLpCf4gJK0cIFbqvjAr9PcQG54tzL9ysXuBcu8FAtF3iraf1cYNyJUmuHnLtk9fFcwJwjtJRcMH209KMLxLIaeZSimyV/LHIrWEuXD+lJOSD6KzafUeS+m1C/m2VCVjO9XVBCVnPl6kW/Ddbe9P3r66h4IlTc/tta2j17bMT1RA6/d0/imXVUL4o3128+gepl5uXw6xOpfsm0SO2YUAC6oKt3GfRUsO76cXXXs3Jy/bH9ouNud6z37IU7RNUxWVk3Ipk2CFGGO+w5QTJx0K+158TayI90Dx33U0qI8ClS97X2XL71fiUKuzcDCWLMhLWilcFI0z8YKbsfjrJVmrUbVhSLtg6n3vtoL1H6ZGvYoyjv38CyLfIU9c/+a8Sp1q4UFmXX0PxH/Foz9mW574+yqU3B+IXh43pxwkAq6gbSoHYg975aFjruJ7mngrsb1D8Q0xVGf8f4hXLPR2V/lnkV5dOuhPmczrTul61pzkLJ2QT5eiHZPjv+/A/hBezZUmENJqdiCQMWjb1DYXcm4XrhfuxQI5qV8bFlvElNpFHlYKJFmyAmR3jm42yVIbQvAlgWt1HVqmB9vcyzXv7S50L1zYGM95DsEHPpsK1h90jXhI2yjTy02Wq05GShcC37zqN9ZL3Sx70tW37QU0IiN14qv4t6a3KYvwQDSarecIksqWU0kTFPFcF1dkhXe6HEL7m9KOyMK1s+Xu70UIR3ITwz0TNKix8SeXOpkITx97spR1ULET2YtqbfzSG59m+BXNki76D39xVNz36EmXmBsB5zwb0xOTeik2z1wR9YM7ToPNn1lyOA4kufy3ENmGz2kodcaA4DVCsvU4Y4RLhqbA8NVMn2sVbsVlsFZSZXfSOfZv3VmpPyFsitEGp2F1GCwlNOS1lpDXsPZduMbDymery002KSaDw5Ew+IjcME7pxYmh/vEdYPqVO154Vh99/YLsTnMndW7ivlCY3zq3vU8scWdedrf2ThS9pvjt+Uo1dFarVBp6uJ1lf34KrO/n/XIuO1D1b1MKXepbQ9HlzcfnPoONWvTnUUWpmG2Oq/93cyyOyX1qe6l6lrOa+vTF3pjZdG9CgnsMjL/9FFvsqK2NLre8rX+RfI5ZeskbvZAnrI1AUY8glPXJf3hsxis0dy2qRnVo+33tzcJ2gJ0zRTGLwtf+ZZedItt+SLYbX7dsANPSu/p34aNS4vJlblFztHbgydoL1+X1M+Nh+xq0I/oCl/fwo2AnJ0a/FC7CYVbNja5didmbfcoh0VzpaV+4TMb7b0Rzp9Z91PU/Oqr7LJL3bfnqOXxK9yYxCygWl5izMuzpFelD0vs3gIkwkr3JZhf5etXCWT+pSoEvapf4giVbF8XupQjqVudt8uXdnefpPQJkP6HIHpH/atcEM0Tx8m6FeitRjfUpmitWKPGN9mEYpxuIvp7JNnJwEJTKQ7Spuo73IC0WfRiZPMMPqujcoa2RhrXYniV8W+qsIcrhZ1y+SDsRxlgwyaJabALiRYO+44EsgVmjoDrboUktgkO8luwiT+CGt4scg3W7l/MgfR9I/AnOy8M6UnCVilpfdxBLlF54qtS0detf9WjuUlO6XTPQfITSBChgWshEUa9KIqHR1WaFTuiagpHkrZ4hZBYh/tIxMG1GBF3bR2TprwM1kqWzFmpuwxUIYyuHPuoCelreHZMogQoigGVBZghWpGnIpeCcpSCedvzLR8h4bZkL7sU0jgyQdkJPTPk4NNQMqeqHE2IXqCMaIhGwMTS6AeGhQ0g8A30qgxNB9E07O0mS4c131qMGSZfEJfykLFtmzKxuiG+rx0dGhj2FYZMKe03Bly4FkDL/lSWOOKj2Rl4Ch6yKarJSU7ZSQN2acbMVlyC+TTItEeTQMY1VbhviZ8uygVEWRYRBiiSVtwuUwDrDeI9uYDXvEhI1gnYx7tLZ9kQY1Pe40S4afXCTGkTAfoIDHldKHgRGEPIQ5mMw7F9JRn2SQcunVsN6gS+07hr3RkmR5uvTogByxE0wwe1IwZiouCaHJAaBKo3CGFtJo9Ij1ZCHqkYBkEFF0+ryjyRkBEkGnUtkT2cgaLEUOehvI+kEndIKy7IebKYdoKlj13vagb2ADfvHqIXTjHHaRx/9iXL5N5YHyjGKlpere0pOuIjhwTa8oYOGHFqg1CIRD2UQZaKbLDHpWJtHsAEneP/6fwFBt96WsOYlzUiFS0CbDaGixea4dt5Qj+aThrUQigDRvDVjDIz2oGoFMdA5hLH7YFHA/lJ8SG3QgIdCNgSBk3d1mXLj8vgqF8VFjIphdGbEuB+QxK/WrWx7I1KgCPLWZxHC7n46vu+TI01gOwvyg9ifJVga0EsxBtNUcxwXujsuVq1CDAtoyyS3yI8vjuX6Vw0cS2C2Uq0YXWiRZnBoACqliCd9qNLEIzHr4GAm4FW4qzm3xwuijXBViRpDAQE5R5Bj+WczA+g73o3/s7t+FMUC9RdFWNB3BSYFNZySaiZ5oszDIFmJPsIr/wM+Ufxuwc6WbeeIOeFIrxZvxGjg32/k6OrXWmwJuadEYD8+8cyRHdRO/wCZc2oiZJe+fAYwdsbCfT/SWbOKtstrXPseNPgU3WoLj7UGkrQC8Dke4yN2yvMNCDZSkDslecvhI6InzWH2guv+rQYADBqlXIplwI8CR2VQOkVxodSGfuIuyBiKikxrCdg22WFimAzFHV6aoS+cRkyg6WZ/gV/WTsM2WxbAVN9mP94/0nys+3ioZnbh2yTKavKQprU/p/knBjE0YzbLz79iJUotdmjHcqEbBOzt1bf4xKlCzuf68sw1HWYr/QiIPDUYmkrwPYImVzT0b8VoGJVitzUkQblTUC/hPWqeEgX0VHz2KaB0BucmfoxBubp+75DzeyyIciBXpjFjfuPrHFQ3U35tbe2IglHgBnL320z4+98ZDcmH3XctGwXj0UEvGQHsh97i+iySVje+IyiZ4J5FZfFZuhYmwxPAFTw7KfLDgKvgsVBtYqWSJy7dy2RSr1ZF2LYRKNJjVBYYQN07TOgutdXRfrzmEcsD6L0fCzA81Dx/X5v91YysfFEGvWnEjouOl1V+oK1C1D7TluLEPrWKzmityJF4hbHVxYe3+R3hup7wl5+oSQ9S7D2PhiRKcf1JBvi1/1Rv16rtDtYxgId7y0Tki3HYiWNt8O2yuLMeXcKCyiBbssExaRzblGoq8gtuTpeGlOZw2SutUQMXEIWSGX6ME/CY+LIjI8ViyK2mA7iLoQgw3HdSlBsKyqVGqHMMMHs26UcVdiotlK9QghSCqRhoEhn8hklAGbhXFJHaHZpuzlI/SsIUpUKbpiE+TiAeCBHBGddosyKoCAfUXnymMPnP8X/C1jUu6GMiRmqZwzWS3kCQdgrZH2oljurdkIxgTnt8AGBxAt+0aKKla6d4J8VU2O/XwY9OUofGs/kCw9xF6MuH7bGOZBJScTrE9lyU557MEl09DxQqdIY2qhwQ8Nmzc2r6/wpaJBMmc4zTx4ZHTJNJlm1fNAC5JtRVWM570vF09m5+DHiYptiL9PBJuo0yaTT9tY9YbYq6VQdNPVh0VnZXxt2TVlCKp290axhrouf0fYTsvMa2TOWOscGF1W1ReIEESG17UlNIrBH5r1qiwAzCp0zFRH8w4rCoNYSfM1lK+g5z5RkWQICKoOexUxk6/ca1TSi95ojEpkxsYmNx5ePIsYk3OIGZV8yIh0FK9KnhpBglTP+I00jP0QQyEPtRHFK4o8CyHTo7czrCbponscol8qVPdgFnSX/SaPHFf+urD224vEHom/worEwEIsjgybOKoWeQQbvgIMIcniVqrURkyU08cjkHANpgsogq3mhxq0hirRWZF09Hu8rFFyxWJh4wd6XyJdmfYzGdvUy5TT3iKN7lz5OcAAFNqA0+VMVWNA1QoQjwyul60k+w791sBBs9Eg1AOYAKDXPZ/EskwvLJT5avjMsxwRgX5Uw4ZCfSbE3c0AYtNbvCAPu3y/yFD4XUMQhUbqIchCZW6MJG0AFtQA8z6btVcVo9n8C+SxmTJpthwUUjXCikh3MUrjkEEAoyKB4hF4aV0RMycf1sstAWS3jzX203s/Mj4NNpF+8I/ywJ03ygHT6qSmd+M7UUhlY3tpH1TiKDdn09RBoKKGWGiHoJJGsI7d6O7NsHUq0A0aourVyNY0DREPqn01FGNfmpqcJ8c0oRDjQT9hbALf8CzUADZ1KdshitVZjrVWgeWkO/sQkPAB1nMnluhRqGOnun3XMzi7D2GTjV1XCnSi2lwNDw8iFKPMdVBdyiC1AXylZSjuiiVUDHpC+oReC9pnPES+es1V/01Kv5y1Z9X1FGgecdsnZUTpL7E9eY6LyiYaLPcgfdhO1j4QUsXErChWxWQYszeAPbYYCp1b/jeRQXlXB8L6OXXW/VT2fJ4epV+LUKP1LhUMw1TD2/bqoVrEZhh20kAYFxfxO3vuDmHYyWmdfdLsttfjcu3ZmESr2KMFmAJLWCY9rITJrcLClq95qQ45zIbfTSEQHL+bsy9Zy6PPRh0rwFXFk3iwDOOPsje9rLXJnPqgkPx+x/sH/7MvcWO4PjmZR/yJiAPvo70TAOqE1yetL0PUk0lFssbPtZLpmwXVTJp2PQfZsM/NesWam4Qpm4nj/yk2yef9fx9OcTdz+YHaFT3/LyilV1bLuAZeWX08dnscpGnGDtsSSgGz/w5plisgkHFxys1oQ8Ozhc98waXtGd16munGo/TQkgF15CBf5cnLlkwL04NQ+9q+hTq47/+tR1vrB1lvu0d46duyOnYxLV/WZlkoJms3AFKQ82fVnV8q998huy1539UhmdLRKARKYT8BObt64W3SjdEzH5NuzEZ+vo0EGOVrKONclPuktV+D3K6YcSdfn0gdPkcY9JTNZAbu/pV0cqawcPv22iReopGvJ2RenhwlmsFP0EJeB3YYPeuvrOyp8mxv8UvrWdlmj6Bz7p0gitAlNZuszRYD2TzIvrdIno1iJdiuqMr/EBrwvA6ykr/HFDBjXxbZ2B7usnlumxxYnxk5oEgxD443Dk1NcHb/e+UT3LKh4lr4v2ypmr8JAChRY+UTuqhVbjpjvAx8O9rKrXDNEdf3kl/WpUtjGenn0NW7hbWhXNUgdINoGBWIVfcJVSSJbnOkS0NZJbSVStWghk74yiaT6rysgdNVYYJUITRj2GgV5X9DGrIKNoZX27DAMcSRh7V0uLBQmkDaVUMUmTAdH76WzHlnypK1Tj/bmjcII3rpxc/U1pJ2jogOIhM8RZ6OEAgtf1d4IopDukYeMbp0drxHBEUGFm4Yay5tXl954jtAqQcvWSPjNgglwA5jpl4qB9QC8+SDckAUerJqxneldMo38A8Y8lgZHugJKqna5MaPT8vT2CJ4skGJNXgljPoiWHIjGpd86qYc9OEXV1gzFzXBRLJEO4sj/PzAGJUQRRw+X4UASI44Tb4ygevRyV9DJ3tWI3bwXdoRp2KhaMgMyrP7/jymtl2HUjRcIyhYPT+0EZenSYPSJT8abRqKV0SFKJpWBFe8H/mdNvallAD2v3oIr7CHZhxnpCcDEL4PfDhUhaARmSBHZRq06L5fjmJoWJ42qHwXKsCmQBJ70f/k/alupBEOhy5mIupqGHGqUNLvhCK9rjPG55ycHh8vGvo9iL6bUO/0oF852Fm1P9iH6g6zan84ds5dMit1m7C4t5HWh5pNyUnh6/oH5g6WXqTYeuREhH2ZIuxygPgyB38AZn9mCqx3iL2MCxxfwXrhFC8Yr9n/9vT1PH3lDz39vLqn98rLrHqimsmpGh8D4v/+VIjQ27Bqg9DAJjEEbCUbfCu7sazp3dLyVUBqvy06Dw9n0flCwGePFU3Qw1QJa6RJuxdXEI0Ia92et4DHwHFsVLagSNMF8gknjwYiRCc1lidOBZae13c4LAQaaUVsRZhh5U/4Sh51cqfKSEzorc290Rznt7PlaCh60K/qy8tE6y4ffR+6z8OpQyakkjn9Vvl6cLo7yCWc0+C3pnfLct6Dw2pGyS559l6gwbLGY1L42j4Y0aGdPxelbv4FdBREed7ZY4MOOTYGq88occLH3bnR9woNDkP/Wzvrrzn1kZCs7ylqRbRFpU/D9MlDcGWFOsitf8MB/MjOkcKgouoFuF60/KgC8gxVmCNTen1POW7n1lYa2dJu9qIi1XJhR03kE75Pw5gDuil+rVuu6T2wPdjvDtSEGjS+bejQdqvMsfVuRBIN3j85B7sTj14TGJOCTI0Y3EklIMO/Rh8c2nhMMGWCWg3bw8NhwZDdueJJMKo4dvrut5oKnfmQmgmsQA89IKHCAjmRkPlWI8Kdw4lpE+qGQQtOEFZiYxhKsSPzaZJ4BMVFLdYyZhHykcPvQFpgBMv6/16ujKmdCxxePfZl5AaaY+CuT8FnAcoCGicag68E7lrhXK4mjKsfYNMEJnwlxw5iAJm2UMv5gRZwS1G07HmoDG25qEO/m4Lcvjx1U7jfLfIgMN8ApkJMNSmHKBJekDp7+f4i7ZR8xGSIXVklfVoKi13cZmmwbni3O0g/NTxkpRwiOhFMybSgm1CZqIQLFT02eakJVbUbjEbPuYkXM5HFSD3HBM7+dapFB6M7rQv1xdm7zaZEdEKt6b/lrKCbUBN4PS7kFlZoFCkQIKTXYb++haODqQl1MwKEzG5nQlNjdRO6YdxcechCrJlzxeCXycSfs/l2gKfAnHCqKW+y7NFqzFpWSiasc2r9cAfRH9xtx6+yW89PU7Rg+mroo61zEyiuimc7Nb6m9zATWKEBjUlMIHt8Ax+RTm84yfnwnCPcp/Aes+MDVvewRzknNlu2HPoOxwJics38i4Jg1cISfOr8ww72ieAzPprxru+J1cDe7zNzarCO2sSKCE+/lV38Vo4SRkQnk3GuSl0l4+yTCuSqZr+lZkSutBvQgjZfWSUT2oEFNH550odsjs2wSZnroE5e6iadUOXBbj2JDnT+NV2/1FkN+ztulV+PR3RCU7QgkzdRVdTUDBlMS3WdGRUVAXSDgO4QH8AXLMBNqKdB6idOqOIIek7jGHz41xLaIlLf2oF/4DmgGkn8YT42unqcPPXi6fz3EbXLLiFKoXan7WOnEanidtqwrTrOVUpCwdSExrB/mFDduXplakY2Q0yyx+Uh5zO37+OO0j/mGxZwjIMsdyvjWEDtmrKG8NAAHl4mtHalp15WVLumutIDkJfCAoK1mw/ezdQ6v6Mj3f2TI5nVD23M+aGQmu/FBg0ZEqrvfH3BQnmfxZaGNSCtyKmHqoa6MHVnIELGBuDTsqUdxq1uU8SI0o4HbBpHU/aDnSYRjQF1nKnLVYE11WO5ztK6QfZb1CJP1VCQH+/Kanw9wn6rlg4Jn9DXf4ukPSEe6LPPQvWdr2+u8oaIkbWiWGyifhjv/ZREU5FeE/8tqvGh2sit4oeKNLysNjqNaBm7FENo6bWtimxynbKPTxfdVTUvxyYrheCTlbP+GsJVuk5Y+E3X5lgvTTQ6L5I4GhLZWNJ4THWrYyErpcf5Z2IPHfPPZJ3gn7lhY3sNWTnI2SbHhaxUPRSui1Y5WHe+SV7RbcQ2sGrVq8uPgyBus15x+01v1I/Px16WjRpZfVhOabRNLTpf1d4m+29sHy6KtQ/WF8KC8fokYQFRhe8DzBv82XjoVDWQTUJxePSMBOFkUXZ5FAKKc6hRGDR5EDcCX1LACxcYv7quQaWCSEoeZIKqT5AZEoIrBRTpV1n0EzSPm9TGmKuRrsOz1G/1I4PkTItXD/1Q1Jb+9W02pTaAPQ7SnoS1xqH6BIScyPoFfl7RuuzfYQ8rdFstKtllzaXKNBLqNsYRmYTd+MHfjV+x7WV7f/dDMMcP9eoHAgMr6Mqw/r+XyXwbebN1bls1WjDzUibFshRslj27GLNCAcP/bLTgUinF4ZAyK850ZoU1o4C0u6qSvlVBfYy15hBJPha0HpqjbLtzUFZ+QQf5yh7aBRVu1XA8DrtYbHeuZFe+UyrNZZMay7MPzyHgtQK6q4DWVAM8/MH1Mt+HYVaaX1LB8jdk5vWgoWLp+Owbovk1pMUKDWvAcyFPFMo1dnPX6qukgRUah+Oie4kc0Qa+VdzjhFjwP9bFggf+D7HgIi4qMNFTseBs9tq0hVa1Yb6atlAXC14b5rsYgXIMIcsX7oVdiGl1ZNEEoSqsmCSQs9jVJyZF/f8QUX9cBkgsz4V7XPDKd3LpYITIx8r+jY/A4LMi/yU9oAgOTIZPUYpINc3usHNVFfaQ676I7SEU7cqaVJ4dGXWpPLsBfYeH6uKfXRrEifHPxyfs/J48uxMin//n/AelIKEU7/Oy54X3PRbbI7eMmyfqxVS3yWTMd4ZOka7/lVlfDWW9hcL7DpP1JUSRYGslNUSpGcq+BmlowFUU8468J1ldNlycRgMYCDHmO4woUIwpbXNXoiNPT9mCLcFQsnsPEdONPdcMQDIbi6ZF3vsyfYdazZVbumQFCWMR0REYfa+0KHvbpC1/V77CbMNAaThSTBiQIa1kR0qt5auNzfiNzEkjtlwlARamAUSTq8lxQAIt4SU+0oZaaVRw6diX/4dQZZM9fZRcniAAovUla+Sey/fJM5e9LpSO5te8bQmjwMdadclquCqRn0ls24TCmsCNiQvfYu4mrHXzKN0h1jwBIQbxqMZQ1An1MD4FrxApYYwAGb6MLZM9Fnn1kDz9kChm5iSsyv2rZCqawu33cGWj7VfhEQeuKddQvgQiIUo70dnFuoi1PXC9SUBfphZZNZ66Dv99BebVrcAhEC6IuFEIwbtLkxeRlzsQeGFNxWQ+fOnnSD/22/gxrSlSJxCq6tX6xMYve14u335tS2kYit8B764Gzt7NUI+2eIHWcTcdums5SqyLempMP89NRSQSBKUT6ZDi1Ar8/t9W4KuilDM0tQIFugJ4pBFOjZ55Vsa2Z6yw5kO4kvejJO7HzCnDG7TnyQehNA1XLNkVTA07Bs7KutlKNIkYW0s7o1FcUZRq1twmsBaiE77+DyuAGx+LMO3Ct0BJNJRyozDZatIIdhBXRsCU/U5XI/uDG5QnpYK+naegViQX6UxH6hPKYl6UFnQUGe4hVLZ3JQIF62QH/tMMHLq7Fv0WvycKeNo/ujBOZoxJN2krPnJMwkmWarU7xBZKjditxk+PrQYjYnUqNdQqm8jCXQBizTCN9rJRW8J2yvD3h9UWhEdqLFslzqMYPrJqlM/UpyapHxJgidXo6gEQn3mIh6645IinNZeTzmuGa6zWY8TdjEPCjINA4YoyuruAd7oXdhdh+zoI9ec13wSLai0dNc0rlrjvsAzG5UKaFcIk4+C4kGYNX9YomeN0l1RIs9DX/POlF0G0l+TIger+1Zki+QwJ2Z38IRN+5bvUXktbscTNpNuJ1SRfBUbf/32CJ+WBKRaN92sA5wc67BOu32GKjGYHpOW/UFZ1pmLWmoqp0a44azYgp2MIq5egyW9UtwcgOgw7qUR2b0AEHAZ8/Nn+h2UerlADdBcL3whOUoVMDmDEfoXq21wdF7DcUZraTPhtvrZ846XCr9DzAihb41mLzrCzFsrZIricAnxvzgMbwUvenDFe5uvFmm+AY9hgh/FrNGQfVRJNbA+KOp9cN22EDLYhE55GAF8mgqmLBovg9LlE/cDwryGwjXL6Ukh3DyMJ03RT0jXFxbaAxzRk7D/f/SsZ5i8JGLBb1LMNF62BJxFFag9pcjLZKWUgIMsVKuDcPAIkPfjhPLZJFv6OVVgvjXBEVBL0YEIa6ApS04b1OAp0+nTVF3L5832vkWMb9KGGRCQQvWECuLbtywjSGVv6YcuwHIlWb8r+AJyLriiGmd10rTumEMso+QoxdnEid4bcPxYm9KrmMiYAv5ITvpZPhMikZPtmONElaxxXgh+dnIodVY9JVPEYOEc8lXcOLZP8bOYuuKI2kTPI5PvxdWtielBBOE1gx6FCtKYJaWg3EFhAA0U1LjzM1P1s/2QZ3M9Rrs5itsmZNmcFmgeFrq/Gh/1HMg/t57C/rxEM67HkVn0wMp8sK6jPYOPUaHoGzLcGPvIOQ/Dz/IXYBO1AVVYjKHuWCXevBtU4jEs2htw7pPp8mYYubAMxymJudqCd5TIfZSh9h4ibMCjN5QwoIKtlj7DsobltCGnZ2LZWL1+L1y8fTrERVOk01qVKTVyiOBKMvwrxQ9yqrdJWoxreFYX+DRoZC2o8utKALbAJ3OJkerGLUJ1ORKVbUMetQJN7YKHroc9ygO+1+ycjHp98gKM6KlVcYvgZYn9NJ/TbXYRTdYOTlfPIQm4yr3fYJ8cRIPdTcHea32zuilGo8gWvgJ9+q5/ez/OyUQIzoNZG00DombEMUnCy2WFlmkDEp1IN4OJwELGR4N7G3NuAIWYiQTX0MQSu37RkFzwX7qV5DgfYVuQZ2f1AUAo9l4mFYrLxS+wBYU2XB9qd00bA2R+FxX1d0CFHISvR3e4iNG/wqm/UA90ShNa0WHCZ7Eo6kEN0UdlyUrJgxn6QsQaK0rN70xlaCJ0rQICsD60nCMLh4e4MqqcwXNijKCV4EwwkqG7h/hOfZJXbUzriCbXvnI/UHtHgJIRZVL3TiN5KdU9VtFIyrEYZ50m2RrFVLTcAERzlwYcgu8MQUznEXU4a6hEenmCexzMPf2Laf42kHKzBksuNJ8dP6XEjIIISVqm19gVLNKzMBMSm0T9Q2tnxmQjRANI1gy2bgWs7wtQ0lOmLqK8NfEyj+xWJZokUTQuSAWmHLHfTJqxHVPeQRk432NCMIxzbg+03IFPFp149pFVml0bSIZDbxgByhI2ZHCLLkoTSB7mOoHQTVEc1JEtgsN0Pu83RwCSe3LrZI9RCIYTJeO2/rWVQEbLcXMg0VwU1rpi5ijWbIoNC10totk4GFmXm7Y/xUL0SrpdDNEMDpqSxxjBpLLXGVzOOoFr8ikxCMkYxRfV/6Ce1NhUEShs1jmQ4dnEMz7pOUPWiu6SrJzPQ9Y2FUZ0BUrQDwVWI/69CPct0vB9E2QNTsAsb8RyytYRDRkRX8YrbLBUO+fGkJqEUHvQ8rpdiDkfgDfvmpGlEPrxsFVJ6ACN0fxfPbVuLIu3XKH+UqENMRgB1toIhnjT6PmuXAhf1hZfZ8f8UnX3pc5j8i+5C3GHPefj3GilMxsw1grY0jj4bX5R65RurlUVuh7mYcCm7dxRpTtQi2abZt5DRXsq+2O0FHYpcnJnJJBsnxiw3UD1aiRaXcBJ+nvXnf0gPmmP+GMMaFfH7HTjusAJEK2TCp4lKLFrWtLLnFQ7IZlq1Hkg5e0fM9Xx4t9gaczOHW3NZp0quru8qW6L1C0rrztb+RHTYkGXMKuFiTywcjTq5Ex1DEf1Kxm8IjXDKvrrK1OWjfkV4ZgZ+VZNx91YC+dH/NDCjiXJIxhR86WsWRSzpkGIsDDa0fB4gvmaMB/DRJbdfyc49PZU/kK6ZEtjcIbjH0YPTQXLUVnx3eBa4xxEN0qTyihYPOqoWI4SyHzZSCc/WiN4YtlC5qjBa5yaOBm87+4KpIIHY2oRciWqUYAL2byT0/K1Xy+S4mbXr7FLWpCftUaSjAx+VYfHMBMyliSYk5Cpu+iR5Bltm/AYL8u7vsGTYLX5UnBpmJBTpLjZSiBmMgwdE0CwJ9DMRdeZrIlVB1o3BlCfIaeWczGTfy1dYWAYBH52g2SCY02B4UN2CuwNQjWyxtkJ/3nvFDwH84TOxnxKpomJIhLm1iyqWMJ0w1OL2m1ECMFBKALH6z+uXwo00eDELFanrkfmkapTBWc7XJW/ApukKn3+7awt+G5r7hBojoquZJgjjZmomn+oiVXoP/VAEXO+hRVyThBmoayaZ+4Rcc7rGZe1/qE76rRHmZto0najSz9OSSp4Wx9FMLfXoHpmHUqA0JPcco3yEVB3l0x+ir1zGAcC5cwyPGhdxmrb9UrVMdRI7g0nhMIiqVJRUuWorKrYFlbJbsXS6leyisXSNcE0DjYqpAwSdvAq5o2tcpQIGmqrQ7YOgrcSpbY9CSCWy0FNkZWiRVEBbqTUaZGLlim+QzVYd5t1avRn8gX1bknFx6Lifji1+yh78gsa3DvlEkz5VVGvZrEwVfwSLZ2tQuxZ0kmUMpm6LkPXix6qOdNgz3Y3LhDTOSzM+OuxzVG0iRKWK1CI2+bSZj6eYuCmAB+RiGefCN5uy3zPQdnKwYTIQQM3gjx4k0CAV2WrFIvXumL0oxwWD2Ch91x0ZY1rjImNsnIA0+yYm+geoyRegAy93Tm808LjsbOMDvYqp9w/pGiVuywJVR2HHCWxmNclhzCyKPPEjogO/BqcyRpca0M1gbCYTR6FVNabnLRwN34nSqMNEVGFiMhP4bO1IevsyfkjnoElycHCksAqxa54oUuuGI+LbYHyqL8ZTwOEGZve63kOD7qnGh5qdUOtE+LrmbEY0/JIwz8A/znBwtQmgU/jRyeQGPCfI+s6KusWAWnxkgiRYzoA6g0GggwzOApTwSXELE9CQF9iRn1kxF8DleyPg32Sxzx81DoQdxuQXNUnXRi1prSdmgpp0Riv6yacgKLIjoN6aBVfIEx9HTg+P7SP/FBeAytYw1p1V/URTdfXKaxCt75Opfg1Pu2DCWu5R9RavY5g4JEOQfZA1jt90rT79cVHbnANbQR3FT5fPTwG9BmYfVQkyFnH8pqYuT0MUD0Z14JOdz6DGcvf7s/4qw+2M8vnUkGVClReK7LL/Ev3b/Jq9Nhh2sgA23Hfm43LlV1fK9v5JoIU8819w2JJ16VViUr3H6AdgVxaIZWhtEYLos5Urqdeyijm6D1/wAl3fqbCpxWqB372NGKbpt0rfqeSlQJIlSYG4JiIKpQdHsI4OTB+Vo26WIoeTm26gWGuRntuVkhJYW5ruEEdWWoYa1zJecTE75Ii7wuMsSKvxFXaXCfonI+yuDG9sqzkyoe9TaOrjg9OlraXQSte892Py8Pcpk9cfbvYFPhJTADHNBpwyF7LAZ2ELTYWOLmTLLWCxlgkd1eL9WzZ3k0unYqeMIxpnKvjQOLD5cSj3+nWqKA6156bzdai72Exteg+pdaNqvpE+wA6upSLRtbjcOmpMmUbjKCKg+Sq60dgwBqdTnqKGhGedTDhqmB/aipYhA9+CRWJENZWn92Wj7MPE6wEyQ10403GWdLUca3cnNLWZS74C730TUbhV4SNyD1zIP8IkOZ+0C7wPSYJUI0QWlpFCSklBe0gVItSpQ+ijQ+f1Ee2QAJpzcGcdQafOhQBqNNQzXZi1x/gBx4y3dBaCccVHsmpvwU/nDP5AFmkDs9SGVV8lc2ia0OCnqFx2D6ie3UvsRhz8cx/8sYaZyyZidR88KA8ldC1tdCSx9j02xTWw8jaItJbYCF3Uq0GwbfYzz0rbjVCLWlUskbY/mpMmajENfMmzPwYMPMzefJ9AqVak1CpKeDmrGx85QAytPKA5zfYfKqac3Uok4qlw08NwnqyX1ksLD0KjvYpVQQCsWArXOYliR5+yjzpgC60jVr4RuElzduZpy98VgXMdGtSp17YWwacJTbCNTF9myppqqHElOEiizGxDzPwa9JeGCtQy+Q3pSRJCIgjJ1Rz0EWiU1DglFngemOYenrKIkSpuvlZ0Lun3gTEzEbxow+rKr6TfRiNAqD4SJzBS0c04qK+NT70MFzwq8bDtV4GLkgnyHSFQ1GyxpWyxHr6GKVmbh+puWrFCIVhzi5Ep76ON423KxZquIKCsP13aRvDzJSgih6ePTpnoh1mGKG6Cw9hdNaz9S+hlX+39nSgiGJtLIO4qxOeh2Yuldwml1Weekd71ggRORmh0HPiIiAvWsEErYbwDMfDLNdX58v1CBWoqQ+3vstHLocoWMKQP8Lo1QKYuIwQqQO7AtsJCVIKPRSx7M5f8kfJdOKfI1DZ+/A5VYMUaAVnVZpnM8duxPSITk+vZL2czig30vQrlLsnOSUJfmhmUVHGsKVat3izSHDyOLWan4nOodajx0rZK4yMw1c+Bc3RoNqXIeh1LqAhz2bEiUBGAHz9aFTlsJgTWgPZnglRUCAIuhdk5fvC+CLIfPqDHvjaVvayfGJt5IJw6FyTW2yriknEx6V8aHtwCL6thl2uuF7isOQVLVfOvOtCBU7Wghhr1W86KuLwl459xl1zds7/8gvAPdW1JjE5PUhpChd2deHAZThoNnw5FV2O7tBf+aDdqtTuFAWH3ubgBajDGWzDTFi7UUOFV19UgershcsXF4iuO8AGBgxkXyUFjovTcwtEw24gq0WHILJ5Kc1cdS1Z1Hwvy9MzHZP3PVyAvAbLVJbMor8jl51uL26yy91DSZ8WusHYHsXKegqBMUwiZvkZxDnj6ahTd09cmi4qoXbCWKIU1cPU1mI0VqHQ7aL0G+b8dPAhDN/Xkyp79aZVVNbc/RrkvpTq3DZNlMO634R1bRaoWRQidQSvOH/O09bLGLxSNfAaOEt+U03O0MhxBUA9qUFQ3/aiRURFXoovCXK4clivRdUKxL9SBY0XojitHd1zxLi1Hl3rIo+5TXbGvSXXXd00xUr7W1dWqK/gFw0nV7vp1xD3o2NNOKPh19li9fvX3KtylAsK+LHLfXdhX7UPuqnvmH+oKfn0/gAw28ML/oT5RcvEPBXtpXnU9wV7Wu6z9pv9UmSj1yHoq8Wgv6onost6A9pt+qCbRsONqEpF84GoSuVChf69JpMFCWpMI9Ei9eC4E6cfVJLJeUmjJSxu2NQfnGhGHbGQzitA8BW15bJTkhIQqyWotQVlxTNKouqRWfo5TR7EL9L1PkMbzR98XdNvWxvlF44kTGnerto7t2oqjwhw456w2C8gQpbabIedIu+I/Ml9IIUjUuN2JGBi87LVgygOeXLEYA6pHKkJbM6DUIEsCTXGgD2gacfZ4DM6f1Phw9Ym5krUxLaiBysaVxs9eT1H776FeuH6KZmXveGkjz+FwbrA2UWGM6LxG05xVu0MfNNf3kt5+SKSGsETUda2XQ/e0ZnGAWbRaDEej+ms/OWMriHQOYA/5Zz6OOUHjfbGPNdB5hMYtm4JODu41fnVPsb5B5otQXhPEDveBAYU0Fx+0KAAKFlev3SXIvJWIop/CFFsorhQEd/JeWj8dh5qIqgATEYMtBjSeQ5PCmKYanWagoSjGld2FLftXtXSWUPB1/gy25IXjMLEelbVZBz32ow2bUBNFSwiDPwfIavMYWQAr1zTBtjgPIvkQibNfMxNiGgKMaI8pAg1DhKQYKaGiOMA78kj1FiyYcnrQwfY2BitNQMQxXV34RoK8VvsJTH0N9ukgTKrdGnUd0EKeKJV+1YDBqDwtdKyRxLmwkoXI684IjT5TLyNumgH4YawByMDHKgRYSCNmMvxpyunWW/yPM7TsIK6CMAsT1lByX7rWIozUspS66EONZ0gu0upO/x7qoCxHn6E/IIhdSM/JIvtSTPuJwR+Aon1GME1L1L31cLmzVHsiHu0jVM2tZO3tpJ7feoB8+3HReQSMacQ4Xoutag1hvpRqhNEWVy2kU1WqEdenje00KKMiFZRxLHoyVaRvYNZNRf9WwK+iLjCpQe2gKZjlIiu3VK0iwQZAKJuCrEZDGrWkSwe8ieZMtMGdIEQd6WUxClE+4vwsiCwPgK0VNNZxYqlc3aOgg0zvbfPOFCacvy7NJp/udDRlI5jTH5COZbHz2sLxLyPS/mTgksvAlL5lZ2Vp4sTEgzLGNWRS2A1IWIs+slXDr1XpLjpPRt9/7wQgLuy2bOwii9skXx3hHdpvlk4US3e9X67LyEnFrD0xZBmLtA22WAGwtB7y+5vWE0N9+RtE1g7OWIG7s+NkQuXy8MrqeIS2yoAbJ204SZ6Ypu5V1S/B5SuWvSaPPtphX6Q+cLA+VJCU+QYotSFYWjp8JA2WFhSLQ34ai1xejADarHW1tLxO0hV0xPuLQzWVUvSbtl+ChMU0ZBd0SZ3RGoUcx7CJq68U4ttMFNAujJBnVao9q7n238J5W+iVGsALwWqlJr9mymNNBAi0NQFFvKbcdC2Il28zVjxr5sM5511+gMA98NSnCJvvnTgKE8YC9GnGJaZb8Nq8FKgZ1HootZ+Mn+oVQS1DhALrU/9y2S2jrLm/ohhGoQksTF9wdTkJFrwPAKIQCSknD7GG9xX2CKbqAQDuGj9RQlGtJlb2nJaTqv2EwyyO+R/FRRhVmUuFYlul6UjFD0nP758pHPa8nSNTxGN+S2tPAZssV2dFQoEE4vcSuF6tRk6M/2eRhjUVpWxqg8BOYIR5+vynicrojfFgHx3zNDGGBIXVsJna4FI9QmbGIHUtD6LGtzkZ7tYAH6Z6x8WUkadMw4838sI3pWtfsLd/9YzoxgUYDWMYfAFsYvqkxnWwzlatwToOgfQzGPJzKAeT2fw6tGTp63H2RQ2KDCLHRrlAc5cTWktsLdlrsOVqzXghUCqG1R04Mj9yGYXht8gOxcu3SCtTxdU1SbJhjKhmrc4fVbkfpbKVjSk4ShK1JtIG9DULX2Lq9OfSEkz2Yi3eHVcPCYImRuhaQpfryHx1Qm6n4GIURUJ9IkQFGJ++noHpCbT5WC4qgegG0rN/YdX9k0xyB7zFtbCJpuDAP2MEC7G9OBLdbTA6klpFj+HWaB4PkSyxVAUwtOJZfxXlJFurKtwNFf+MPvwCTVImO08sEBH/yb77H3aQoDW7B1Mi/dae51j7d3DUnzDS2fR+NjPOOfs3IXr71MqVeSlnai4rrAFJ3RVZ96f3xxtwmgwRIEVB+4Bz6Cj2oCksLvMNOUs2tOyUnVarO4nIfNotiKt9Fs+dEXlffsEy7Ao0KgsQTHm4Axr3rUVmdF+66hMm60YZQhBxpo0EdPNMH/W4qnZywRl42Iupa3IGEE3/B0JBVyrSvXFC8wv1gQGt0qBpDitBrRVNZlMlFFdg0RRItiuFaZgd/e+tLReaqhTaB3/QiHqC6jqlDrWZxvUE1bk84/xYj2apzIB6n3l8JvN/D9RzSQY4+u6Us94HfYejkeGO+BaYZ7AGg6tzCsmx7Mn75dMzshqfoMq9p4WNUPK0Skg575BQW1SzIiu1Gg26pNZwShC9dAj8R98LUImWQQij3a/FjNVYV/aUwEhJoO4mtMARndFDQkWF8rH9WiBNo3bVv6zVo1DvDwGCEWFjqwgTSqDSVyKUEmqvwmTK6dJi+lqGy+Y9uvmJBllqNL7yRbqZBBbUmmLJuz7F8TnoKcQO9HEhcTNbeD3E+QUdZGdl8DRF1TPUMNHykelny4g2ARReiDWi1Tr63PJLYaXQbO9bbhG6aw262xqIpgWmdAti8bLVT4u63QCdugEEmE0ZnuxV3whV5sBtc2irLZpIKyIkCwhkM7m33EIwANVga6g70QoIg9GaBsTNRAEkM0DUonSAJAJbkziKngCXnEy2tNujneG3f4YLtR8sU1yMeZJ/RDS83RRsz8Ctsr+ZKFBBPO0H1UrbplkSu8bMTEXl7KIXu2BX1Sht1eiHldjvlWR2HoVxHEV9KsV9VapoHgpCOUsKWO3eQHKUhGSNQqzUfAwx+Gw15cKqNfB8HS2twxlyGAr7mj2Rv0VIvxgQIB+z96PBH7riZXY2Ktdprr7Kgivc0aaKHugn9NiOLJIf2KIBYWw/Zcs3BOnvqXE48O2TyMzMAFzWHZVDcJpGy3hAC57ab2oRaJFVDZdSx7yHluJpfp2e1GvqDjnEBedoOV18UxmghSfxg5Zt7IlXRRNpfsqOVQVMIw47qisqC2FwaMppOW+8cVv4tg/136xm+uU6/WLtzVDsbJi6ySBq7siEr0BMFLqxFmhq0FOT5U+3bdHk6RG9RC5WAc/WPbI2iWrky+AamcbJ0ydPx3P9wfXTpZdKRxkY6Rz0Dj4F666RPyqnXlE0fXLk3y5yVx77fbo2U9sn3hKT7NlfNOkRp0rvfwdIpnr5cATylVogyQpTvvNsAoy6UjCvhoCS3A0nie7RAdR5Fz7A0xAXARaltaYUYzBo5ppHEm2QvMIEDqoghK4ppX64kSata7kxlw4nJreNaqA9xJ8ku0C1qC0UeKQKlT0Ca1yrwbpxxNVRLc2KOnAUvJy3IdgKdpg2EuaSmJYWZJY10FRrlW2GKC9m4bMw464BDtAQHwNX8JBzQU0QZasH1fzUGEUYZww+ovGfmrnnsRNUa0xyR0zsPZsU8WWfxzT6bpAolnuIZ5k0/yLUSTj9ai1vC8NdA9YRYjd+NyfyQKpMSxXElwa6WaX+D7p+GAnYlOpNla3mwEQ1OAOZlGSgIY360wKf+qIIudCZB+ooYQvaGnBLytnaOBzclV9QM4DdvxELaBEhbnZJyU7p6GOI+Z9QW2kOfrgJsxeJKPiFCFsvZ+VKeBnmUSX6hub5VlKDJogaU0WqcWtR3u1qDSmDER2FUXhahUXdyHQgybYOaflTdH4/SpQWjfGj22pKtqegDwYPosYEVXGnKrCWE92NejiIxchghQft/pUYTefDWDuxufTVFy3oeyMMApe5uElBD9bgX1i3LWCVnwBdZPDsHdSiacUqKljiKaQFHwq0F1kWhXOFhQ+JCvw1OZkkZ9x03fGf1JMeeuYZ60qEhdVHoB4EIu4SOHI7MpI0wIm2atYoioBupGniIQ1tY/cE2yyVHeEH8zmkLyhhWxxgRhuiGOzFymrCan6Lby0Ikzow66+yfF/3u0lGOxtN791+t7h6NJZC1PYZgLf3IJwLsLBHzuuLwdnywrelQyA5rZm2CBPYrMNe4Qw+LfHzbIsXMHiYgSQGo+VdCklo2zIXAJfGNJZdmNT3lXVBSdYCHkm1/JZcWf3Tn+q/1GHlldX/tOZsZ+2mgYl4iMU0TZq/ZLX0QGOuYR6qux8h0lV1v7K9E4o09BezGsFHpXFeyJAKnvBBdKhDWrCFvBvYnKa6n9iLqn/rhU97jvdFqxkYhe20QjGV/DxVWvBWeqK0uNq9WqHRAICEiMnIJVR0JqEcAS3trW4VrcKnT9bEE61ZosUUUBP92BG5eH2CEEQXcIbBwqAj/0MC7GotCUHpb3uQ/U/enN0Dddg/v5P6qnXJExovqyFOXKfLqFVwq5jWL1HUqokKXoPO0wQZ0AhFLFdf4sbMtnjxMxlgJ836a4fHaS/GdxPsty3EyaRprAi1oBppYhd1pnImfMVocpa/SxgnldZj7Ok0OGVcFGfThLCANsSKt0cJyCFZsdPqw2hZo3kvz0lg3lVs8saqwoAWatD56VgsVYRAnY7A4E1ApoFGTNF1TSG0mgqnNUZgM34NUAJpPEmVYCzVxly3WoOOf3zK3mBVboKE96+mmKDuz91AQGodAtOr2WITutyKAGi2HdbRboimBdriL7UMu3pMqdCRvAPR9gol/E1nfQGewk5wOv3KwW6CNfCDXYtStobBfYM82gh4s5ZNw8GcgvTbCJs9PfeJfOvly6q55xYd/2BFMDof/FNRKkHPwvs8onE1lcLTCqmP9kq9jckqKq1zDP9w5QxIjvHhk7AEafjVAESM+7mOPAjTjmxhYvNMi0W/vZmZ/pHdJtyMeTtybeuclAGbxEQ1zHcSqWS3X6EufzS0Lf30lQ3ja1/ZQEQUr2yIgweUaqSJvjBMNUANlc5WSL9sybRaL3EDiCiNvdyALRvQMkNk4ZoSSgsub0NB6sZIgMZoDfmqGUFQjbHQD2qMcAk1ynoNIY3Qp/3U4gDw6KQGgmh2lsJYRmcXMSSTrSa8FhNQotWiqlqhQmgda0LoYwo/P3D3thxh4o3vsOZarWB1wag75dYpSILLZ04lVApV5GmZLG/G9b3kggG8KGXO1GEgHFozX2vSs6M8dmFs1J1AL3dv46hvFSRFWeurJbRwzPuj79MX2WkZbzQT4hBTNaEVP1AHitbBJDQziXyxbUvIWGknn9QtuRqx1qDpPbKMNzOKl5Xk5u2fHBQBQad6aUSWhWNrNOVhGNNhZPKEnTdY+yQW2TkoI31XfERNdRShLOZT0/ss7KmxWp7IPTMIfvcvZMnv4OK3oY7vgC201Mo44NF2CJrBHH23lvIEqqTamFbC1ZIl7PHaanzoLGhYKdg0tidSR5qqMadI86460hxRR5rXQZrbLvpfSPNOJc2pkGbxpBNIk+QHk8YLEiK8UCKoDqTL4dKXT7sejH1umx94RY/poS6PM4mFLtjY9r+T8ZkEua3i5+6vx0/wGxwTPjI1K+F1V6KVvKGm8//LJP8wPP8B4mvsMxiF1yqxXqD+nsks4GXpZ8tv01FtnxEx7c3QF1rwNwDd4U2tn/R/IvsPIaxi99YSQqOSKkdUX1b1EdXDKg4O+pdE60hq0L2OVt8vSoKc+UrrCWuI0E3gAS9r7bh5JTuDwkIHiVolvLiNKilTIc5+pLP3RCLXEqx0oCeunjmkX9otoI478D1eo/EOW9DOWlLd5f9Cxtb8AT1oKS8wskqDpwRyRWblMbCdGNr9WcszF1zx3zfdedDGEizGVuyM5mCqyXeY+pG8hdJaBXdSG1vk/ZnoViu1SNDtqzaQjbcUyp6YeTWAHjSyD7QhQ2sPY1tXE1tcRlxaNXpoGRS6V13XlWePRaz8pbMPxw+aTAko8wbmewM8qoRKDrZEC39ugMY6aL1plI2uLWbjMb/8gNx6SFNDDvKKFo8HVIM8ZKoNRoG9LJTsDJAnrdncCOM6h3CqbDbuSYy6JVEXeerwajPwUZmVUXdvky18LTrVudw0GGPuauykq4leHkTFiPmYfq8kjoptNXNyHi6bLWAhzcFUtgCXNNa3lA3+QI5nEnj3cCBX5qiVpnzAHE7CAX2S+u8JjmsF87BPK6hsqEm4nXSbk7Dw99DnVi5D4R3u+okW8PV6ExLk5X2Qgms8NYWpjRjX0lhATTHVUxEuvDHHBIAs92GKtCDGbht0e4rmynTxZdQN/EIAss/4rS+m4kIi0vSwEuhvGT61BUufSw08xQbXotBvQa3cSN3lA1DMTo0f1gRUQjZj0FoNeIBz18hiGQ9CsXzyKXnyzhaxHTRqXQvQnKWzpm8IAaizVlUvOqj1SGJkZccLu4sMq3llR8qpUAPX8zQh5W12WmO6tQMo8x31GSRQAt1LSuDsMdLna/T9CFpWBX3aVZGCRbrUBi2xH+1Kpb0o4SC4uMBc1X6TdubgIHoaeNxGZ1B2kOCYqEYWAzxHVd+vKfsz91Pv3WhQpJYp1xDPt3jeLyc1oXfYrlF8UVH1uoP6RTUj17JSTi3W4tYWClZ/SQ1C18AMtVCsRh4kiJEKHpkfcWM3Q3na26jiB/EL2Bp9Z7XGI7BjfKDscS1Xy7Pj2FRBddLCUULsP79WRpjURAjlevyIb0w5Laj512J26mxiN+XeW4MdQLqm+TkBc5eiAVyKmfFz5uvnmE98tX8nvOD5Dc2IONtFfrsmNO6hCr2+bXTf5QdEmpRRkOCMTpVCBWcR0zS2383S6MaBOFwzrxEdlfLszfRd30xCXt4CGfBCjKWHGHU/YmkbEsdiwqAT3jbpeFg9URp0ij5brW+0PAJivFVrY87FHhwAMSyGcQyjONAw0F7OmQE8V79ysIuxF/TiudhXc+nKYr2XPSDn8qx3CuM9dcZdMoh+bIXDYDYLcQJOfD0uw9k7+l4RVFtgmHvYmN+gmxxl7czZEOE0QI2mmBF9JpYGXbdNWCP8tVYizC+MhEu2+Vi3Dl0cp6H1fmY5SqmApBYIQK+P0lB8YimyBuGeHPxBsJbc6HQNvMIPFqmvYAqicts9yObTcXTacrr3DFv3Ndj7O1ghM6tWyTrO5B049jXUlKFaoh8D+hYt9akJyWsmNQ66p9ooATA1yJM4FcC0rrFfCwPFNJp8/gX0aerlchZ7g96bMJHGfsJ5gk/eL5NzKg0NeWVHMIVTU+nPeec0gNudU4mu5f2CTe8OuuLxxkewpg/C99Trra87w0T1aVV50AO1EK2GIauuoUpxQN98BOabqoKnQYsagKXeS8VZDk6XKy8iBHKVVqDWfN44hUu1KHS1vp4KJ46L/9Ggr/gttzAzEIrOTLVWoONyNzMPhOTKteDkraeNIEEKHeBNFVHskGKwxCsoGl0965WI9Qag4Bf7Mn7ojc/1hM2ZAXPbIHyYUxdeSji0i8fiItUDt4NUhqgnsA/zoLlmxeaR70WBXVdf1x3aQZ5156i5qyV32e3b0M32IQR28War7UyPgtNGCwLwnjy3kqD/GkNjtcrKgAVX/Ph3+MkGrNmkiV5xm1ys4QRXAACFgfsGZYlE788qp1+ymlIva4ke+Q6zLLU7ZLV0Ddx7RlgX2QeI6LiazFoUJs57l4PIA9bVhAFD9KXCulpCAUJjBZ0qtXbin2wqAVhpUlOUUiQKVaFx+XHhGR9OSW/JdEd/xrC1NctI6xz68MBZWJ5P35KOyuFU9YKOKSq30YPTg64xMfl/VSvBtFCBnts5UkaRfuMwa75zCS78lYL2ZxIvX04Vy2wt7arei2wyCyhi7A76lUNtweLxWrDYPSFVABluQxFjDC7RXbxLNc7cCBtNbmj/rUzcTmLM9+HZ2odQ3znldGoI8oYf+dyZs1+JloZ7osWEr4Uy7e7biVJpgdWVwwTnQJUtNNq/1ZwI2eVUZjED9L3O7g2ZRPPksF9y0CNaOEzLr1mOsv+8m5nJBVr+sl2VGL6VGriGTrFDy8sTy3GUVyEmb4CaBw/PIq1osWhy3sjOAUVhKAwNHq6lD3xAyRG1N5SXZN0YiVWILqUaRxV5sLyvzdaowCWxlSIPslHvv/0xkcIrilNhBV6+RsJW0IcyeDFvw7CHhiyTCbqjqqT+IFl5mGn2cP2lD633wtljfyBQNnkfQNDsje1Q3sks4a8uublIA51+dAhUfZmyeZnVD1W1r/9lE0PqfdlE3pBQfRwr/7P63zchCj3RCGbVBoImfsprY5bgxRjS6g3hjti5ORpKWnFv9H9qTvjCA6Gwe4SYNOt57CwqCl0ps/JXistZy95rtLlr+P/L0WUpM5bRpaj6Muq7dUYPukBT9rFwOg7RNI1nngmlEigr4WUVOLJqiAI4Kmpr5MeumIy8QckuwnZJXuB+57yRZ8qlT4x9eVa9tJT3Wb2MOf8evSfsHmLSeBwPNiEAeBo6vhP1kdfxWfZHCzoRpQ/Ncr8OlmcyejJkZTrE+FoPA+0MkPl+5tVy/dsacCCrFRarv23JkJw3brstXPVQ1ROpDzH3Qd8uW1zYI6f+FP/klv4TfyDFP1mluWNYQS8R4/qyZvvGtaINJ2P6DmQ2dGzLWcD+mm+vKZ5m1J2ylPrOiChywcf9cXxnQXBCEyL8wwxDXyjud1Oq/RTulOpkkfZXGEmb4ofC9e5BXjK7eOAjOXLJogm8ZHYL5u8NqBbzi86Tey5GUg8ev1B6/QoS7/70c3LapsfmfabHWNOcH61DVF314+VzZtUTwiq1zo++AV3pOw1Hm1/L9AFKhFWqfdNXWPM3/UQ/MpnLRd3NVFdDLi66cogpU19euQL8pEdsNwwdWL8BJllz7L+T++OU6KjVBLohedYjWToy118orLhe1+VbAqN3waSP6gtpVev9lEf10nzVcqYpE819t+Y84pnQTMVyzfR+l633rrL7GC+/iOn7LHTI+joI1AjC8FKf0DpDwBxqrIc0Fk+jn/UFvoQe+/VtE5pjdOFbbJR2uPqag0NuRzJsOjJfyH0X/snvyN7cBMVtwrTZjvrfuvEdb5HD6deXg8IK/c5TvzPViKdVI9DN4vomMARiDb+6DgJ8KNJXjUxP4srWIcU0Anwu2vxcjUkvZ6+VF3SUq3YTraPYS7mmOX9Dns0pxQ9ifQHe8E51WePzHCzAm+zhTNeI/uedOWFtjiuZYr9GFJ9CxMJWfWn60hetFlUAKmUhK/4lG1ydAT20dIGWN9iOIXQKm/JrMK50KmqbbsxtN9WX/Xnvy0Edt8yY+nb9WrlC323J68Xt39W4CmCLalhjWJFDTcRRp6amPYHpUmvLVTQJEVzv3sCphZcVYPZt1PIpwDYecT2aFu4pFWroqMlj8zdHG23O4/KwOfJQGzindRTtNj5twwTZBS65C81iW5uleeRIUqdF65wYTDr3qWuLSKpGlxm2FfNeYyI0kICqh3HKIlFc0tZoqn7tJ+nWRGeRuBDcGM8xQyGld3JnBFO4QEJfLhnXckYwo8RLFHA8BZo4ZdUGuN22CzT1OeWhU1BCU878kQKuhKy+KegYTHngffrKHz8j9ul7C4dnYbZuomLdSH2jfJNXS2fdY+0BZfwdM38S5nPNPZzSNzr+C5k8WxSm5GL2/UhwoH+9tC7E79nKTO4hebeJsEb5t778jVQ9G87MmsXzD7GlzoJW7pNZ9AYohqqh5feTIJPcEpMdesOCK4T7vYBjRuvA30B9s2T/2C7RAOcWFtqkKtfDVn4elo5TT+gXb+XUBhlro8anVZgxbpyezmvIkhcOeiKkn/npVOveh5OoWsVYs35e+46qBMJeX3WWxOvqCzRPdZlyIGO7ttBOk203jRjts0Z0Apz3KQoIL9WX+Xjq//WpDFyMm3ehOj9+JI++p151pf43ZFY/Yb3+WhDlBbLKt2K2dZ1//g8Jzfs7Vf5AfQ1TArywBcjjhuXz6pdp1vR2AU9EPeo7zxtqVAsQUOPBH8iQm2kYbUueQnFOk8duO33uyThUKJJnulNn5iNYzUkY7Zuo9HUS27wdTKIAWPUcdviZWo7ldGU9jXCWbVNEeoeW69yLEKlktxzUoFWiPA+rSddr9qLQD1QLmgSrGkutQrueRFG7DkL4Ev/BXoKOvlVovhfAuDkF7t2RpzQBKm6HGkXtJK2dbiI4rA/0Hir6SfXE0mb6ubasOkFKpXRvk+aucu4A03fKsC0yx726tgzR3FMiHsEcvsbiOgNGur6wUMjM+wWSbdirZUIs/Ze/GxOJUNx7SDj2EF/nYQrJ16qblNSK9JwsxGUsnKw+P3dl5t9ecAW0WkLpUlMCKtl1weU5qRUeBpuTy8IykCzK6RTnLchplx4b31mOs/rl1KtAx8b/eJKsGl+/UmoNVpjpopGd3yui77I+H6z79FBd/qcKAl51bH8PnTyo7yYh5r7oyALMTs1xhglooZNk+jmoedjQmiZrv8LLs4mAjhWY6SuAmNcS0d0OuXI6S3E6mn1nwPx2SIiekQKh9FwK9JpmiNJqkhKz0CePjJnJi3EKe2AXh4GBNIZPS5OFwCZ9Ck7jXdIcqzBOMoujQUstxrQi73c7R9rkVS51MfNq3rJA4HszIoR3oY7mErW7MdJdq+YQN7QT9HAXk7MXmt4Lq21Bej510Y3IA5nb9gCBpjnoUC4yyMOb26z/72HwMdGmvLb6ukO/5tHjTvEAzKNAqck5gRR+jkxz8YQxrSatXzXAn/iFA5pEybuHDtKNBLK7VBM1ylEN7WF9oQfTfVgT/PS91VqfRSuAaTUkzGqr3get1Pga31978TNZx6ao6mtaSf8DYKefw1jKgfK/xI+ivrio1pjWQr90T/NStMtJIGCrcKE6FPR9qAtH48hbCT7qkgAV/1PHn+pS0wm4uOPFz6z9BZ6lm7BttiCMj0CmDYFQ26EuPUOE0qzJrV01PzNG5Wlci8rgPksSyhQEnfJYFwWi3Cd02ADOhoCmOmqclZp/8FDASdNYYSYigBrTT9Na66221vhO3oPUEmfSEY2q+Ak3/eTRXlA8CZLuoLXfFa7T8hkkAFZpUClokiq2bSDwBspg0Ta0A0HkoobeURBRAze1EJUJEvyo0WVBfWmyasGp9E/p0z7RUJOjtF5FCNuhkPD2A/iJe4O8a6mKTh2Eqa4D6+2EiF1O4E5TwjlXgjnXqNb3CTjWh7m8b+wimrjopmtlSg9TSS181woZMaXa0l6R9TjKLDSA/R+lfw0gpErM2Qw4bjWVRzKoHGPfK/uzHEi8NBmsShVIVYZGtRHu3gDdmqJqWuDLHp1/PrXLWWvmLQIweqTtl9K1vqQATaSOjsnXop5YMm1By47MFgP4VJ2lg6S1j0Um/BGA03mxvsZOaUA0/2b1iED920SkqIW7QJ+YjZKWCZ1rbEPpqHEiQabtvl0jHu78gYiHO48FO6j3NN96Y3OfCNc97U73SH5Sm/MOjYpq/cyz6DO4pTTQSiO9XDaL4ry3/JIkMz7eTjHXjxE7n6F52hqNyV/2qswcgaSWVw6z00yIQhn2HqJ7HiJ2/j4SFCZp/uWLC64ISttmCH53r33538TetS02tpNeji+bbc2vV7LD/f1+4SLLHO15+k5etQrwHGohcdiFCYCnJ2CfLsFGc2wfYg0mYoOcBVn3wKNhQhS51+qgEQ000K2oXk59jUIpStl5sxfXvpovlWG+muTyeSdknug5fWvesewYPEbu9Ra8HdNlx+i5EZ2AWA/J9HvP8X4LLcdpE2DuGJS20tX87j00YpM3v7gyTMVUUXpilHOJaZr22JfzahlUyozgzYrqo9aO30ASY3/MpJH31ogGyXRfj0TtzyuibBXQKpGS7sUSaVopNiL7oLpQ5RIF4wP4IQO7x7i3X7uYFY+wglQsGiJHX5VkNbLrBQzYYtj2bCapvxZaugMT6K+33CKKRfLBVd9UNRX1bebUIutNLH4oGOOtK43H8NuUqlXym/1sczd+23ZRsGqtTU5+cYX85o3fe3dM7utNDcnkQ80eIaMuXTRDbzD730aXv1Nb1JidGJzcKoXQE/iufh33yQ+dB7XSqwaHgr2YQ8ixCWSqmwCQnOYxB4cTaYsV4Uov6hs/D/Li2ykjOuEV0kpfVEX189qS6ExiEQHRo1rCo+mEVO5enOJYUcWCNT9LLb1GiM97NTdek/lU3OiLGgjxqE1bHHGaJi8Ck2NOJzQfg/eamvRWb1hTmfeejLw7lVGeZrI/g96nM8DPWfcxC2+TbnZEjj4jqhk9XmapC02PKSOn/mc8gFEFRLTvxJTFCVg/vsct/0uPTzvW41OP9fhQXY8BOBsjHB4YcSoeGgSVb11a3Vrl163V/Lq1ml+3VneesFbdUUqa4+huC7EfHDlIVDMocR/S9jNsgeks7+eEDI/54HphFU25uy1r2lgRgq6o1b/V8KAfnhIKDKem5OJ6puS4RVx3bEour28R/4cpOUa+ef9xSsafMCVdmZIcSmO1RXM9yEjWMyWl7OrUlChVHNQpEW0QyLPxCdOCsweUKaKvVSSZx5aj7NIzW6VZnYwsSmhgFFEe1SrH8IQafigTBi58akjvoSHeZX5dkTOsXDGBGoYXYrpq6EhYw3Nx7adjt1BJyDRUZKUDAj/OCyVdBbx8cJ7WhOC1YHnbbOmHDU36izntpfW1sPpA1JKuMO0egBYDMy7mqoGM/gzSVj6DAy7a/7AYb1+hsrTTNz632UKxodas5071+kHRWzQG7huuupkKbO6G2cgLaTBMM38A9xRbogNStsQdRNR+C8veQMBhyYzxedY7VTqcfHJ4Vo5NvfGOGDjjU78wSZa+jMGgXSgCMUdDTBfC2B7COMyEw5d19qG9b0KT2/hoHxlw2qO9UtB5CDKuWPERQfldMn+0o0dz3YkH0YJM6eyktAdQ5ooGybE9CthIuMDGB8JhlycgzX0IVPapNKfxr0fBdf+X5pCsdNekE5fCEEzw0d40x0M3aN3gMio42EOYeuWaqMjmK9NU7Q1QtN+9pxNzRSF2n75rEA+hfNKIoxKx8LysFcXYr/eh171OBNNsYK7JbIJy6ifab1FWuuFPcLWh9BUV1ZrQqTCKAp1a5Zz0x8qlzwnVPKAh0LyXQ07Mcr+bMKprhBR4904zxhcmd14eKxztDMDP/AdCIfXeopOod1FfLKrft2qZgm2qSFNYYTtgRgNCrKv0XXdE7muhjzRN29KXQKFV+mFXEV5xlYb642eLROh1nEflLn3uAdktaGhRgJOWWljrd/hezDUI72vU1fo7Yery7yIiRjeg5J+LsbQYLboDEqNaX1ZBtFeCEmnouKlXDGotFbRiDWDRH3yoh2FN1oKxXAwNrcVuPF3L9o9fKON8gwRtu4ic/+S0ESzR87gs/04I6t/ZFM/PccCZXPU80u7vvBXhUubk54xfD5dSCXkYXfv5/8Pdu4BHWV173O8kM5MhhBBCEu6Em4igggIq4LViRSmilVpvVarUWvQoKrVWwRtataNFq5xWUfBGrZej1FLrUQpoESgiIKKIgAlyDQHCJckkmWT2t3///c4kJIPFc873PN/z8Ty+Zm7vZe+1116X//ovPKOfAlG+gDjEXC4+i/BTYuH0K4v8JMtc0lRn4s4tRODHkpvWFbyxwMzPxCYXVHssNQ0czEICNmehRueCAZsLLk68kwsoL5s7ZW8x5TnTCmKTeYRf0YhixgDPmMf54q9B0dZQ3dlAAZBRya9Q/IBJGoQ/M3ZF6+hgBP5fArUKvkZYQcRsRmw9U/ay/m/FrH6UgMWt2FuP8RsdbsOvce9NerlYejvqU7OpZXrgbjxm6j08lXiLvVV/qb2mOMwzVm/lCOxXkW4x+Rk4VH+jnp6U4E/EgH5cE/krhURWn2Ot+/+acR9Bf2a6k8IXBIe7qO6km8SuOyhw4fm6dZ5t9QYR684QhnghoiAVQ8+0K0ptfQQM3EU8rAb8xkrGoo57zGA496qsEYdij2gddtt9wK4itrIEHtlOAhv13HcZQImj2cHj7AdFqh9Du0fEUAGXS+IfBGZ/OPGeJHhiJ5jUAIyyZRjRmcjBLizeTippRS13Z8eRo9Fb2UKR0d8cOSELtXyyfQO1VKrzYCQo/KI7b2DgKhRQIlu090Gy/XuFabr3vZ8Yb5OA1ree+yadzhT+R867Uf2ofgQdqeEI4Ofu4z5GQeLwNR+cxNr8Up6oUuSloOmM8G/rudxBZPFrkmz/0q8ZoXdpBtBRBPxgg7pRQa5qQJlSRnxCFw0eErQbHPkGakrMFnGdsDXupMNIAvRWHkCThRgqxXjuq9lD+sDjWyl0YfH+V3EP4UDsw9mzORQjUINAD1KSZDfna+0ZiWwEgI9tESE04lYiER1bwnk2j7Kj3vvNIhf58brjYSYY7k7UOzYAcc0UpoQsTIAsTBHlF14HceW0I/KToIitHSZyA1DvPKA420ExCy6+mZSIqkc3yJlREyZxcZ644A47kjuZ7IF49V+ieY9CaFexaRSC4y1kaX+DGZOH4H6hvts00FuN8djvTkgUGKQCcQhSACSehQDoosQugn43vxGxV1lGMVU5516DBfgF972dENXHb8JvJC1CjLGQWYgT0+hDW8B6xTTwFk8kM1DIBjGgM+SDRCq61W60s3c7QYJJ806xV6klLrhLWDWetezyblYSd0oet6C/BTOmS5fX6t2L7Q0gbtlEXTKwpItYukH2paOY7aBAphhYhTh8av7RYdilLq8bJRmK2eTCUijhdlx3LQA9ped2AkYXP3EtsZ6AzNh8lvMFE++Fz07lcUxof3TkBnJEJ06/wi5/0ik71TJQEXGk8SjsyoO4qcdS/aI5lS4oFwSSAHElOJAGeKwCXbFnn5fiOhZ7tz3R1j7Ycz0xozvCfnoMNmsV4pWBtbVbzUII4JZSp57JPVRDSfOF+iqw/2xkbexGpLZdNTSSGwvWnHrkaZoRI9LigtIFyruXp4ea1EyOv5wepzMgPZJlwJHH4TdsSI8ZqS8YcOTPmP56xekfJ91Zu4/IqplQE/wuD5l2ADeMOHJMpbUpSwvurMkRqCS7ZSaIgo55jQz02U0yZC7o1jI9FgOTvr6D9d69vmUb0mfHYkOi719hTzuwoXIm2UixBth/I2rGRaOvG5Oh0pIqVGYr+XqAOvuK7O+m2QviWwtrxsUm2xvIreljAj/e0KuwT/YNVua9QOFR2TcMKOzL4ejseGVsXvpPaoIm8PwJ/Q4XaBz73QKNvys2gbnfFmgcSKCRrwBu4eR2BZ5onanA8BIW0Ws4Q1MBKdxHGuZH7ONK2dUw1jpUK3nIoUa94RlIFVb/gajX40zsJHa469VLAD9N5awCfOp7rdivs2DNcr/Nu4aQBJvVS6u32ntooHer9wlXPZHve1ZLmIwNvSKH3kqrNLcS8y9RDsT+TFCGisIVYN01v2Xuwt2KOBT897rbvcRuSYm/T8MzP4FiJKXC+4FdWIdNImN3paDzK9nx12HormMiVp7zAocX7UtCr/2efppaNKsqT0Cf9yN30A+r44T5E0H2Tlw2z16ihyqZuURn9F1n2iN4Pa6/LcLRysI24tKdifpQCWVKCGZuQ8Fvow6zBJkoQQA6E/7chpfQY8wamjirwPWD964SWPKAYxu0RnUvGBdhusfKlUenHuEN+ouUSoOYahqEtlap4owBGbBk0WLQVAnMSks2EsmmFqYxmdIJtvkEKx22carh7I9pO2muYONeSB5hi1qQbxmHZykkIiNpQEMY9mP7XjRyRVJ16V9Sa0SlIiIzpcAamuvG932V6YYxqayiOlHEPYvxriNo10/kWgdElcHXqtVOWI268gTmsKa3vUYH5rk9G64OHYj8+iGQzLF0l8nEOFKj80wVnYt6ivkVdw90oV4OImhw3aCSovmv8W5hz3qJMqMfIsOPXQlG72HxGcxmj39JDBZUJz+oyIVsKrDvSsPFBVAW6B3TIGPJK3YIMSYcIB9HNcM+in2KAX132VvtAL1ee25jN6tw5/Qri/1hferNgpDesB8xocnPu1uzYUPvMH//hHefaxwAu0RvuLiGQLUY6zxIiDIFz4YDL6PqnxFXikUFZbJvTI5YRjB+CxUlFzcdyzMLUz+K/3ITRdq/YLweBkTrTaPmz/sFaucFPM9c7nEqv1ZZdqUY5YjsfakhRx1Uwdaa6E9D5MS5FITUCScQVxMH5U7oMVM3eLAd8afeiGTxtzURg2QcaMBhTaNP7PQO6LMJSEgIxGRQ/Rad2fSJ/+T62/4Cjg8+4ozdTeB80plVapht10m6k69IyU7aczuJ88/9XurcQ7orGhZ2J/Q7hSjOMHhwcXJ1/0WIG/GPu9Uttn+iPAajyq1uFFeD3Ka0q/uXIsNKKwvu+u4jQn3tme8Ot861d/3bI1wn6mKidaLKhMOuExHr/Jt18vQzrBO0kFsnqNwm60SOtNYJbpJRyYhbJ39OrZMRzdYJuJpvWSeT/0frJPr/6XVCgtZfJ6qvbbJOcC7cOpnsr5PBKVFemhTlluuEypDQyvX+k6eX5cBv8aUn4oF5v11z4DtLvJXT43KPfHUN10fF8EDiKZfO2UKHTNwLbRFjSZaPEb8CtE9XX5JpB/M29O41RFZWKUnH+SMIVb1SWaJ2BGqqFF6dMqAMa52qH6mK0M02zPzTw/ZPYvailYwRDZ/AMjhWXSUfVwXu81S3X4Br87bdS73xDmAHF27gs/sYo6PY3D/GD72ByOwE7YhEM1+l0M+8PbaE4m2GcC5u0VymbqFygMzZmLk9iQRfTCB1Ii7XLN6VLznEbqOoD+KnmzPEEPsG8Dqqu7yMPJ+0kmIidQj2y2CEj9RaFnTVwDJrLrw0T4C1WCow3eow5nhMJRNWQN56ZZ+WxnHwxYiyRAg8kLAZrFpMCUesIQalTMohPTz9TPhevaGI2gdq9xvApMpSLyhBIlhCWWdMBY1l/fwwcGiCsGHgAHRz9QLgEWrBkCRo3WLK50+0a+Az4v5Xswj/uGUccu2RVlr/NDmQ+b9QS0xr7T9Jjz537EJAojOuthjf+spQm6Ew46dow+ehfPBO2nS8SUy/kY4BbxFenaL+3AeAN66DYWITdbM7cCc+u3VuNHn8Wqw6BFcPkCPsRy7aTKGS7MJL21kHo6BmciEp23uopk+UZuSk78cVD74eC8aeihfECuIjw+mdnpHxgsJ+1iuxTv4ZUwpjI6NHct6X03tZNQWH8axerh9S6N9Hn/qCrNhI6wP1gwYett3A/bGV5ASJfdXC2mKqSUTUvbCcngpccyUsfUspCjT1rC/HXMrCEA9B/MZHidZeSESghPjJvSMmhNPSOFhb9+1jG9upH9rK+x7aMLqt8OZ+MPfG2Fzk1aqbYmxAZlMXNsysR85906qdxznJReJ7jqsdZJy4WQBG5nrcxcwbub+VrJ1T+mwi7+iaZVwLIxQIa/XECCOSHtS13inq/KXK4UzBkADcKiIafHIyCuJNdFIPHv7ejk81JexuSt5zs7bmtBwZ9xBnzYvvDOsRfAvaPdGhcQD35O/+EDelgkX2FkE/V8YVFNwpCDSDefBZh9Q47G99vjaJbWq7dKFVhollyjVtRA+uY5X2RuN9SQ42cDPwurlK2PUGvdGPR9lIHAsAZ2JZv2rAunOtcWLlZYs1DwLni3kQzJaphevDVGPZ1KEsamE2N39ipcw2xmeKUMWhiatTjphu1d3W3DniZ/Ff+h3iWs61EoAtZ7s4ZpXiWAZWrOTNxjw2LtWFpcWoM21zr7kArsgpe+hgpYEP/9uBt9+/LzzReA/auw6JMo5BJ/yekHlAuLtenTr2QE94TsGddnDOf+nLDXYWruy3wSQ+AO4cH8Lw0Uwh8IOz/5PkKLtJDQFdQ92FWBnrSLbU7LjJnisnZ5RJ/LVkOAlSkqv14HfqwbMp8l8/c05UnYKi6hJk1LLUNBD7V/cA05aqvAuevB1hx9jSOlTSJYfMTxAnP0vNr89BtU+jwNEL9lqtd+kWTJ9NhCCy4hNGblbBXaSdKY2np7xfbytzSnSlgpG6GmZRtSl/778HPia2ClEXhDmbTEetGsFpDITPK0ZE7lYT+xVkKq8hDbgJ5fPc28fbh5hFZcPNtRshtGXEX8Y8KGZxX3H7Mvv5UkTw8XAf+/u/kOT6GWvzv3GAn1ECdQu9Vtqe82KhI8LwxmO5PPuHx5jSdSCTJ+m3l571iL3DixDtVu9dbX+3sfMLdiCiI6mvx1yu4KOX7LjblXPukj8XGfMGfmdbJGguW/k+UMOJ6DX2dn+jtAS1OOZpHN9LZy+IIgUC5ueJ5m6IWlX232a39rVKg1ARsLx2Q5TKIGtJfN7Z2rmfA638WG2J6klamf10UfDoW7RfHSjEXq0elhVPTg7xU2uNfk427XOc2eWg980Zb7QKu3oj94+PvP60VfaG0p/d23fH58kmwy33ELbzMym6sO7O4frJyvovVbu9XObYqBk95GmuW7pb0wvJ0g1c8mcMnol328uOP9MkFqp7gjz4g+8gTkxfWzV12Ijx0xXLdAu2b+/RS+2SXHRxDTPXm5xKV4wKvsBnxT7TwcAPp5OHEf8PT9QFdGQXGhd4feZscUdjtkIt24U40QZxXcTXYBMeQLbwB8x+hZkUPDEkCu8BP+blKs/Iw+XK1SH3lnlcLg93D0W63p2lhcdkx8cVHZNdbv+zM34TYLeL1doutG3876gr6uzKrLwgrePEHB4UrYf6piu4lqSsx9S2p57Hs9wgcq0EybaGc99Kcixr7Ys8Urmsn0OJtUicBQ3KpjLnDbT8wZYzDer6Vp9zHkdyjWrvATm/l3Hw7/YWAKcEgdwlKp77fZKEYPFMO+PngtN9fOYrIcdSKOiO4zDMUKMS5XnUOKKUUuxpOefZJ/4xhnVPMlBraSR7Eqz83jlk4DdokgagNS6f/A9jXsGH3NQdWHqEDa10xITC/tkmUXx3XXAA41hJUPSqE44uPNZu+GXYqSXH5RYeZ1/8Cit0y93xwiQCHn1SBdQl2ZPo1kYsfDTVnWiKj433HgHV8DA26jyx5jtgqpqK0bCgTmz/qppiE8567m28BPU+JZnrefT2ELIkdGm+D1YOi4Ogz9f2m7cSwjVTdvNN7d8ytpWLVlzVru2I34bA67Ua0wPeCFa4IxVM0C0rAweggYIPNbZuEJAfVHsDSsKo546r5lLzHqvRowryGXWsEQ2WXvMNFu2jd9f58T9TS5BCSHVVS6kA16g+MSbKNTVSqAUPCPDR7ii4dQB6ISHjuRkN1soYu2S/dZ6uXW+ffPv4swr95F4GW4Ch11OG7hTnPfMMWDI8jJHQhl6hqAbIxUnV1dfXeC5nfJvY3T12Lg14CEKUTDUlJwPnqaIvIoWJOe3PCrn7kGjAlPFVx+5HTom4i5i3gYRPI0w+DUPUlxNuMrsHBPfJ7luNXama1WEwC1NJiU5FN41Wt58VK3T15f4uGiISHJemER+mmjvJsbRDzrzQf1pDXkegoM7R7I7UDBCJ4ZY8UfcYiIEcwMb1QH5H04w6qhMZyKZBIQewEzhC7JxeACADPMZeRtHD+KGldsgCU4ZdSovLDAFbmcMM9Hhixv2+9JWTVu6yoY81XrthdlaqVSK6erHo3HHnXscN+JiKoBfBDL1IRfeLXPxFROljku+vo9UaSE38UwT+0EXRAdnrdnk3e+vk/rv2+Ke9nAhNhMZRvwBRAgJpETTfwyvzWhHCaUNV+wnP/dUaXpwmizRHjkZIjOBsnVgsUclD9FGnzdWkz/XpoO2H2F1lCppKNFoBI14t+nZwC6YKWJGY+lsjfHli54m8st9eiRR0AZ905rTHQJNxDB5kP8hV+mHqd8YrLgCrmCOjSqjaPEHeVdJA2ruKCmyviKV5kGWQR6Cmml+HpKBB+4UY4QYqoTNFPyekhjYp0LdtOFcEJoHzUG+DiFK1KbjzKX9deagmp3AmiTn9oWMjrxVFYQGrYg+M4/aB9zc1VyJ3wLJjqhRBjF5DwSxF3qulI9j6qsQLgSTsE3RTkAsiBxHEQf0Sg8Q6d6Dvctmh1Ls0jKlSpXovBn47aYvd4Cq/JM/y5YQr7IHb+BLmu9244dsx12pwK6pUZhYWNzfnz2VEdqhbBOGgmFpMcK4YkdYMMPgx6s1NjUIDtdQcJ6haqSPKRMd2QWZEJ0X42D4jQLDXRHXFyxrczmpiSwcJUZQpnInDWY4k5mqFUSTioTT/9mrcmlMy6roLVeFReullEBH7MfprHM9/HeRL34eB5fuEXr5Pg1r9dd199svjyJb9+OTz/YBpcfbp1gMdSp+GeSLMkhpGuKmQsS6EVW0ZzEPM+hkCt7uaidLD10yc8d1TmYu+LZVZrFTmIpfK5OQbTGAgfWuONOP8+utpc+1pE+I3vJ6WuyJt+v2GG44cYsBpR4HrffjJXxYm+xMuuJ3FoYa46pO44A6glKhCDl5P1sTX6qPm9zNs0sFxWsuKPOG3kj0VORMOlDsJZExf59/MPoulpl8mv/9A4+lT/elcN8a7/f50OknqdvRXKPX9u6OHdG/UgZI9/ZXd46No6vSE9npixbuT4F71rHgu1Ggppfn+jwna/+rGaOHx2QOMGe8FktOuf83yhmkRFeXfljVMD+MYba9mt6e1iOKjF9cUory+jz0rrKOK9JQwZlesuWg3o0gGwkNZVMtKTYWEq7At1JtnDfjfdXL+RViBzSdHxJCXxCDiqOa9CVXbEPU1kRM5+6SX7LGO8puQulKEp19JdkD1Yh510AFZL0LBy0A28oizKENrA6V5e1R5D+1RHRRiUOd0x7akGVcL2mXMaFcGfxuJ7WEqFx5aMcte5RLW5k84nIPxeBuo99vY0q7Aqn6PHfhVu8T9spVZ+Ah/QmUt4AkffWgA9sJqEii9JoGpaYdVkVhwh538tqoWAMiVKz6mJ39JeexPX1oHkpZOlacoIoAv9oMxn9lbGck8vc0Dn4SensVYz2Jrn8v6+hf69X07i3bEvlCNMNvGahLAxxJBKYO+x2uHso+BX1ZWe/eN0RBX9ciYV9OJqYo4w2ZaE7VDTbaGYr6ALi5quaKuQSHI4gI3jwWJ1XcXyNVP2VvKSHRvhEt1NdvZjhn3J0unnAcq/8gAXjflkGxmg33/mgqZMPt0pUigjetZp17CREw0PQnGBKBv1G94QOmoiZOlr9Mm5GCwCdBrntbIQ8dGZetFU56vWuiy3WxU8gQ1spbvHwPyoAZRacWmWQN7VUIcLNyU+JHtTswsNgzsGn3YR9fWC7y6AHIcs4Kiy44EE0qJpvQVxbyKXdk+hyiYIxC03TlF3+51gTpzF5LUA5KiKmycAXesjUajz/lOTFj1V7HVmDMilPrD70JRfyVnEysBHeYVgzwok9fCabPFY3tp3jya5qo83cvacaOVtKPwvdqDAs3D2ukUOSGqRn1Rv0t4DeZ0ex5/K4KTz7kzqaPPVg9Pclg5lJwEsIZaY1z3J4y3A9nIk14Ti83aFz6WyWvFNnCvonFNt8lHRZRst8m5ty/7jqWF3kJlo+I7XvdNz0k9Pkq/bRrvnvjO18LpGL/sZ+MpJ0l+dKxPOrbtoWOL2bevXjbvtULrOt178g9eO0xnWjN72bz0pFtWQwc7/oClMJ0he2v/65orYBc0N/XDP6riQ//kYq1ao5d5Ki4ZEU59Rjkgckc1n/U9oWKZi92uBzYDkcuxQnmKsuRCEgal4g/Tv7dufNReaxCBz/F09wgsbKhkdWv4xlphtV8sWfFJKNnalivtJ2RtL9ddZwqnPlrn3yqdr+hwbw26C/OuoVXixuzTTaBETbDy4RYO4my0W2010gGVUDdYC3pPgd2HE3dWzMIKriDbfXCJlZN9ogJm1ONqcytE/5J5hGNrxTtN1rxG7liyIZx9rdVfo04p6iFFcC7w0AD7+xNwHoZ1fcP+fh+KPgjW6CCT1pb+h14eXfUCD+ZeQlIuv+JZ7tOuzjYYlvnorDrp+JVw3i+BqFlFyC5L11rRP55NaQy3veywyzxxxdPP2LF9YMwacMDU7HqqWdNOiE5T1sBTJ8uTuNLJZGAS98S3s4QTMA5miDwFTzBALxjz5C/tbc5H5wfhX3Pkb/cOPtFOxyBiHEtldxi1RJAzCoewwxTpvT2/t7tiYgrY+hUcTj77P4klURnjEbzOYKVQ2EKBvb2WGc8YlVU8R1xH9m0tYISg2t8oEqOgCNtqBKM6CHpVdSkRhjlDFI83U/9RrIpXtWTPIOkcYa7VWlZ03WLDSv0F04DPSBFj5hsUU3+c/EoptXQ+7zqqIkHoRM1BEy6t8bxVp7pZX9bdDdPTzL/hnyZvmEv6N7w/dcO3/a9uuG3qhh9Le8O/S93wNv+GBwQPHdnGG8Ui/ZaRTX+j/f6PbvSxFjdqzAP42SXX02Y4guXSQO2piCGk6BpmzrF/3Rfh/jsZNYq0zzTZr+CrpZklrRyiPpjegzUxIasMKdE9uGcxMSJHGeI+Y4XoqdUwUCPR+FdE7QRZrREh96BGtGNi9+57p+xpvMvpae4y64jvsnPqLm9Le5e3pO5yf+respr+9V3vEql3dwmM9Ajvssu/ucsjHctZqbtcJ+qNtYnYdqi0iRjE8Z092gGJYyOhtlu0LTJ/JeZUDI7HNRuvRX0Ts4XAQggS5KcfZEmmptEJC/LdBJGa8Ibe9guv2NMGRsZWQ4aG0dOW9VJLzpCCFk7x/h2fs6+Kk5gbzoKfJyISBA5ZlCC495bNs7vRSLXtUbK2lejfOsg1wUDNJr+wqeNTdi464Xy8wtI5Jgdy9AmM0Y8n3g0Zw5Td9sD4FKhhBVo+h3VzUG3orsOe/jPhuRNKTo261rNkJwnSNlCIIQryOHk+czZjey40VeavKOSFQ63+/aOMPt1ga6y14n6VhQOzjfcCScZFkRMLB2XH+0QLT8j+/8FcKNZ6xHMRuPiJ6//NiM6k1uioHTceZsRqRprA43O2Ho6a8fFgx2YsUz5oJ14ZTkOZGIsKuoM/E995OHqp8Zij3R0h8uHpZM9YvS29dUlj6lJ7U/diL9vTFOoN412NLWJfH87aXCRaJuEzmlmbVl3fZhIX4aEH1HToeTRBScGdmFtKWVRUzLrrTr8FXl7eNVH7FD2wHJ5HpfBF45M1BQDd7gt2/DVzXyG/GouhbXxntNj/zWwuxrjSJxsVFFHLgSzF40LqB0gjyIDV/F7WWtpQ4HSG8BjygJbdh48xDy6kS9nDPoUe4yRr7Ji/Y8l1IxT6ElZ9hjjOL1u9PYk2CKvkhkCIevfVyZQR+4/+Er2/YKFaJuori7SZQRQK/oiWF8le2XaF+P2zF7jlbuJQmgoRGAc2lgHSPT75H37hdr1uZRUqYVxXmNuCBN1FrxOWXchUisZULbJDKsbGZs5EW4fmUAMZFuD6CqFVSkVqSXokDwd8EvrZw86tUwSZtRxTPpD4bK1wE/KZiQ5oR3V9f6GrwMOlNn4f8enFZ88gSANmWv/UUTkxtvRh+7zqhhDf+TBvlBjaG5OKXTQNxPjfqJa6DGXzCJCCP8H++PCbBfaTd2VNp+s/710hNXoOuQvh8Acgqp/Aed4DUf+K7FwuAvMpeiOEX7oeP3sTzziQ8NuHVHadRLHe1UpLdXySzpV5NA6UTJmarv+Fjy9SdzW2ZYlk0dzeqBsBHm4FGx4y5Y3mh8iUd/ybhWJZM94ogibdqFa9kjq2jP2vRZTRkWCR9EKovMwnJjqh8kLidMfddn+Jx1GgW8JyQWWLpcJWkTD50bs0rnEiggdG3z81ZXcuvkQp9ZdpIGKJUPliqP4Lg4htjNMox4U5ITxWKypq1qaK8REq10EBoVKb96ZC5dowXKFmo8UqNOA29mFZTtJ6YKuvE7ARhygmInDShaIEUu7BKHUqwmpBF1SJb7QDBNQ1TpLlBal3k/MaFIMpaiuD6B/S5WUGOz/st+1oJl2fWJkiXIZ0OTkTrLeJdLXAqb188G/2C++BLkO6zFq0HdJlSog+Il1mPzvKp2pkzgHp8noRXBtIMPc0ZOIkhO15NiknXYEY3IiTI2C2oLowDez9maIMJt+vx6+ln6mhGfpGZX3Ye99C+XwF4Pwr8SHUKoIJmYTZibbdmfsjq8cdr5g1pkvAg5ty1TrsYAETCzZ7yai1kss1kpk8u9enIUflJTopU8FeV0vCrEKBsYo3C90RZCe+LARJOaTFTRkMAEXri+zvd/B4nZRw70eUpyOgiU6nTbJS+i5KaP6tb9tv7aZG9nhQP2HE/zQCiX34+CiSoq7jYXjzKCvPvVi5vVjoPxCXKfvQsXIOyP4APVa3L5fOI1CRgRKrk8OS/MsYtZZHE9UTQ4uTvVabSvMGWmwUsvY34AwXsthG3ToXrcoGIMqBMIWvHpFxXaUBO8x8Ag/bf9y+DApQZfpAnIfBBBxP35QAXy9+s8B+cwHz9NHAzgQSCEjVsb1UK2RA7LMODz60fJH95ktYJlcP8EKutYIqae1qsN9sRXIvpIi8IIvDSXeevfhZ+81vyGkLZLc8ZxRJumfsVA+7zO7x5b+J+ORUtdmnMzVQVO1gtceRrrWyoGCbK135VSQJ8pK1lPHeT4ypxP0LgkiuIi+uNGm1YLEno4MGP3E94oI4HhT/SzkLPwfcwUEqHLwilkaZkPZhKPBqoTSISPMz0xHF+CLT2kefpG31MfZbbLRh5fk/AQexEsZWRx1ZA+i3FZm9uoycGfYBaA7ZWiy/aKI85LWBcG5Ov2pKc4nveh1gdYpQMtiOGcrv9ak6jvarNN7moWeQ9b6LPPscQBkX0Apg4t31dpRZUV7xlL1ZznURY4bbb1yfTEXYpCDYtZ05VDot3xpREwGP1CFMc9g//6JmPA9c3jXis2C6TctPctlNqwRx+MmOG6mjR0J3kY3dJRZdGittJ5rLS69QDLzshs4YS8Fsm2S2GlUWL9dihfSmGmUjRvAArMQBRFp6o8P5wBvw5GSA6i+Sbyid9KJUqd+KzU/LYBhkaUCVyDEl8ENb64uhQ1oSZ653HK7QJtOeewKx6otoHziC1fSb8XS/cUcayZnFpMOzeMCZ829AAS6ySyvw+JS9hSn4Zk3Tp2jyZLIvhScuUz+zr+zgJx5DRbiy9r3qFQYg9QAB+L3zJ2I0niKy+b3zfwGEjp27jVwXgEztqLw3X8HneQvOEacNHXH60niTUDZ2GOyzDXhhebKbQwEtO/OsF804qRUOmupHgmoYmrGoOU4e628fDlL5/In2kdZedRI2OOXn9lyFesNqAuii7Gtc++eATyCIGWRxGsZ/zwrdaxk5Yf3Nbj6Qg1U0DddcYH81o88mkziHShOvjx2YwM0FU0yiHOY5r4+Vz8QT+Tep2YddSgnEKqDGMJDNeE63Lr3u50Lky8EXSa8Ch0yyR5ze2zJOpQwEA9sK5eYR2hV1g5dnt/N9cAlUsfdXHdfWDnQmtUOZIAVNLdQotaDBYmDV6rGaY+qY5x+JnGaqDkQNi4sesr8/nYLOD0QhxU+9MNstP/UiBXchoexuXgQ5lzKJIIVhOZd03PNkEtXXbqAjDYoim30wT+Tc2Q4pnNXx98TurGE2R9TQ4T4hv39HO5C4e4mZ7JLL9DV3fHZ8R6FPXZFx09PG8cVli15Cm0aR1b7eqzhX2rRMvXp6U4lVL5Vx+XXXu8uZGlwSXc7UD4WL1dHhNeAPJG58lMEDGpuJ+v+A2T4d9kdv1hPXm8DsilmguNkkaYxntqgFNX9tTL1M857roqefpX6beq+YtiEtnU13aKw/OFwDBN+TTTm/qlPIjT1VQxTvMUgdbiXiyF9GfzW+TPOevux+1vgy+V7xx8Z8MS3fLpg/BjtnOYoDU0mhUB5Q2QoshtZganarmeXPlSKhk4s3Cg9gKdmjUzAD/i4tS1Mnrxj9fcw1FwDVpfLhczri9EdTf0wfJVHPfY4D9Dlr5mPKSj6maqA/fGGfA3ccgt2jQ3/mvD9G4JDYqu542Z2Nt+mlL+0NzxK6IhudlAEpZzZrNYBJ1Tr/pmjymK2SYdRVNtZuA3uJ91NhOarw8ALEV6tAN3vcdlWv1YARyNebKmqDDLHEKrG+3heO3GBlrfarQve4ZhdKaCnmwFIeZxeJv7+rPefPhbqSumoNjVV71HoeaymP7jvtMRxbn9CXWD0L/IkJV2AZVvUtBw/0hP1L2W9YhapInHo/fbPAV1Ri4TIJZQQxJ73Wyve1BokaYKllU2snlyebDodm1pjPwpADcS6ZxHZZ20cjsVqFXvBmswkfA8WN9/PYKtjXKQRpPezHLrfj5QEoqsTKb68eMX88+z/Dmmr7sATdTlEOg+j3KDT/LisD5QzTBorWtoxjoLEbG6C9qcIUYTZM5Z7HoxxJLWr4mTlThc2fMWcL9931DaaXnUk9zrLVtQYjIJsAmJcN86MdgwLjGh1ki1HWXvx1q4jCR8HzKq47rGNu0TsFyCy3zX0mn8NUArDbzcKrwHaogBZELytp/eKNwPW44O3jeJY3i8Jcwa7MbFVQIZ/ZSuhnr+/AUa111e2AEyjPlK02Z7NGLyFuC7K+iuQ4E2Wqzp7BCIjfq1JUTirGvajc35GqVnzCBnGJ3RACPdSi0wfpPn44kO5ZD0eFtjwCkK7SBALpilBazaWVwKDBxSEgXXCXDqR7efc0IF0YK83dNXxTPcQaQbqkqr4dpHtTEqRLhs6BdNlBHEj3w9+nQLrPNoJ0hzQD6aphrVrO+yBdxrgFSBcjtZ6FloTjpgPpgmdtDtK9fRmjgfYY88gpIZNYZu2cRPV11xemcEF32xFXcTBdK3yETyP06IFDkVBgf8zt3NevgN6PxhM2pGzFmOeuGcLSiav2mfhVjat15s+YmNfNeiRBzH4pquxagQ+EPX5URYdJjGs0mVLE007hW2mNu6E3m6XUFGxWDeAvVXzr8K1gSMSClCG75rRbIBen6x1EQplCT3kg8ELrsoU1VkG0TB1pXR9rjNeTxBp/msJ6t7NnwFQNY635WGMBSVQF4Y8EaF+idnWC1ZIZrn2ofwprDAtDoBT6hg0FdxVq9i/2PzNJrnb7/CN0m8vtWVy5cu44JInO2DDYNegh1cmCGEoDctZAwLSBbSqBWhPDpqeGw3XE9zxVwhm1D9Y/hNbBnTaPivoQYwI4IQc8drEbGnvpuR0FbphSZhfzi8B5ayd6J2R5c9zke0FhaoWbJ6rvjWav9lD7iI738OiloZSU3aUV/1FqxU9t+ldT4LVgZ4+ACfiVWObYJ8c8crLWyfE+xjpEJ4SQOIUJ+bmrAwPnZkPJe2LqQqJWVF0tmf1a6JISJ5/1sAlc9mD3QpTOJmR8eOjQleDQ3tOawvt81v2BqDPizA7jdzv738PqE8gK13z7l9KCZknVQaVbqwQFqsjEsEWEV9eCVnmBloeXCSyc9e0WtGMIQy6RVDXVVVyoESVvFc1Qh6NHnp5wrTWtSpruCn29DEI0aC0tD9Dg9oDNHaBcOZNYtZUMFJ96rIMlTwKqiZ6Q2/eXjJo83waw0JMSDRNPFL1ISIXacxwc3x9i1ww2tkzslkIdYe7RZtbE0Qi1yiva0bC75MKnnzGBE59+pjCaFFhxMrtuf1W8d4m/iKVRjauVVldKw5Q1SBUTV0Qf+0tEiwX7rcnqKHpYq6PM1/B0VvfVjr8yxFtA02G7OqYeujpEuacY++XdfdFSYYS/OtwOpNXBGnCrA0n1V0cvVodOBEz6LmZx2pg1oUa4aON+OLXFEslWl6ikeNozPQhZ9hS8Q7c6xJJkqO4OY1uE2N9CwDjCYqDR1SPA8LWL+PeEPx8CtldPJAteIFck4U0jVXh31zcKk4qVTU9haIkUTMKIma+xUkUc3d8zaYo4mirWVBGHGD4bizj67mpWxIH2dVuMijhYPqpMaVrEgYPwICM2TV3om0JYm+iSBw4t4gD12KSIg3kwU4hPjhbYxy/iWJZU69rgNGtEZ2vEPq5AbYsiDlhR1BXRt1d6RdIUcSjCrU1OkBl/k0PvtijiwOw4tIjDmDtZR3fk31TolrVpYB17KKkGNSbFHE9aH0PtnczZ4kcqUPlJC0Rm7LdaIFuSZUIC2/plQh9oZ28smpIFcqqfuxCnVPiOL5IWyAWAQO4kTHGXGuY2KtIqNTXzZX5q41+S/sWNEGZ7pgcIHE6jZNa3BgenrEGhr2QNSrwJJWZBxOpbg26nUoyWHVrSpr3cbdh9y7AGKSDT+pZ6s4LXxjiSkENLtjr4O6m1Bi/zv+BKtrDTM3BQGsp+bb/5HlHPLQIbPvCS3ZGmcLsyutyD0/A1aV/95tCtZdqhRjIPb+4kJjQNZ8LtKvMnHrqrAHGt0yRr/2iyqwQ7pXYV9SbQrqIwn9tV/tV8VyHc6HaV/Ju1jN+VAJ2kp0c01DGLeaEa7ZBd5ebkrqIOZqjRDKgVM7Vta1jCahK7aWAoeSHCSyIgdyXElFy4EuJbFz0QdurL3mnP5KYi+KkvjP78Jo1LbSrCzhFmxgz1t1g7v3ZT+RfzvyX/ZqvEFsJz/WOIIu846xG45rw/iur/bPqbv0yYydtLum2EnPVnto23czH4kiAU/j9f8Cv94CH7f+OteGVfzDqXt22mq8N6oke9BGqKEwNR+WACfZY14jr7UrSQKp3LEEmmuroGAYQ7xuHHLoy6b9l7Z8M8kyW4mGfz+wzLOlQ7Z6JNbjsmzO+q0+Pq5pFBVqGBzS0g9JF2MdWDKp/LGDXQu1wt/xoEphNrmLSESvbjjoCaCB1XNIZiZTEduQ1YiYVFzNOSM6bwrFxRo13jampJxQVlJzYQ7tRzNo6IONe9LIySIPuBG5EfEonorgqW4Ai7b8erPmx8mFdTD3Ne6mGuTT3MaUf8ME+kHmZn6mEebHyYqY0Pc+zhH+aEdA8zNfUw9pteX3HN4iD91i1Gu5H+k4+vROu2J3TcBS05DGPrFVztaxXdQD+uJ9rc67m30wnRhJQQfdEoRCc0CtEXzYSo/78RolUpIXoQb/1D1mtobAmRmQ3LF1kh7649EIKO0KsN6alJ6ocIvFLbggBybRIrkba23Hv+4lp0i6pAmNsSkpClvLxn8OBoNL7W3vAEttx7jLFC0QHV8gRIjakYnDex1P4Alh7ThicmWOcwsQJiirz5Izyc4XRTV/XaIUYVg+ksBKa1qVGltpIyqq4iezgLYXlhyt7+bMdqQ8khzspIoInjOygN8Y+oQlVX8yUvU81LDnNl8ngIwXDNdZ38JHbJOkWFWLZ1SqzdqXDXE3BfzMZuKcMUvte6RLk1I2MwJR5LWLE3AcCNxPs+46/PSPzq5UZi0v57/lfsl7fxsy703Qzf6E+DF8bcCgjTEt9hR+9YNu4bVm+3d7cfl2kPIcIyjPZKrOjtVtIih5yVgNqxBLlSd+QO9mWxnUGVrhTiklet/MoKAxNesel4Ow5fYLZcf957IUdh6IVo3G4oWQgDVPXCKvxsedbDPDtpO/fsJMrte9Y83yaan51sBznYcPuxitvvuJHnJATyNF2qXP+cmMokSHLGmDVTTYDM1JAKT4hTU41ylXM/50V7X2tYbE/R2sDLheusPR5zhzFWo+dQBdj50rxoJLbWqpVthB0Vd9VBLzm4eCTveZ1Th8LkB43vua8U+j8rjleKC/fIvm0PQIZ2IdHNr64P9LNp+cWxyvjI73LWI3om6MCux0Hqe9XQQr9zbgTrLoiZ4doTYAy0UplsB7yNXaThTR1hlGrxdyvdS9y+HgxVDainfV3fsJ7cPszl3SBxXnctpPcJOYnVaqAvyLu8G2bNhWCq8xDPPOyeXsRt2wktiAwFcWEiuGeZ715kbwTOlKy8a+3dtEfsd/RYbO+mEgh+jKVZRUFSHYRIMfylOIH6cng4q/Atq0ir1xF7EDfgcmzQk0lmZZAqEGtWG9RwNqZSAULoxeymELhiDM1le18FvQXQyS2cYiP7yEYSInrZ5D0OW8SFQYC7N6nw3hjGXRE7HXqTDjSzly8ipfNqvR2FXE6eiy0Ht6vryey1Iw7n+gazvPeyB+rAe2Y/196rPiu4brkEtfRle8buxptNDuytzaNIAuKexLlw6J1RxjzLbrENE/Xvr9glWTnP2qmbod+qRDbKKUgoJVu7hVVVRj+93Uzyv9ist+NfbBC7NebwAZUDq4sxflMNaKsaMORx6ijMf016GXxhXG321DgQhrl6TMf62Cr7hcVwi32kvbsBdEyD2HVgjUuwkdWPmACy+ZIgRwEx1ecPh1IFX3XACAKIZRzu+yBDAFe8FxLR1G4inj+kOmUDirRfx6fYK7FU26Oxq4g15RD9qFWptHrNPi+QpoBSdXfHaXA7VURJkOTcJZ5AH3CSICwjyGIAQoLQtp/67GxBFUYPpwLuDNAYXiaV8Y6+ygqlF3AIDtFXXZaRC1gG9dcKMzvM1duAmAxzx200nWw8vXEZCpTREgiZW++AjdORldOVZdGJCvV89qtizNbW+CiXsFP3IHN4GSZDLSVjdgHJaEQ+wsxMrTqpqQ2J2uN9wmq+XNxS+SiHEwmkBliSI4ExGYyebmiVrcIoIvj/lI2Hwl3MNJchOduwkKqxY4Sg2EcUqJwv72At7mVVliMJEq7PEaQK2lmUQtdQTfB5DxtATA0MAOvUWOfAVPKBgqxxAst1MjC53zprFtp7fzm+08rKxpzzf2a885CjihETmAKUhWGUMjWL8g5xfhpgGKCrkWNgYW81K4mjd8NuKGHtBlauf8RF4Rz7gce6E12oW3P/BMLXkzjeUR2fsqN78ewF6LXg6q2ubMcLEpcAAeiIzFzEmuvCWuMIVjoilG1QFz2Z/HyitSehfjvxvfbIQjtmtjPz0YFQXgRF1dZ6l14r1GbnR06JpLK53HXzbC77psvmIrx62SSbi2Gsn6XJ5jraF+PdhbhNYKVMIGamlxzMTCRyAvLzQOowUx9wSL3nvjKTaID9mdV/O3nKC+WJ90PQ+7GfrBv/PdDYKz4xgR7q6d1pzjdRvzS1ln0gFxE6AFwzF0DuARUtYjfvUR+6nar5rOCjONK6T7guxOQAwbFqwhQHMHYOYoDvB2O6j0jmfua7Bmu1hrxZXIh5BFrNUERumaCkpQ65FXw4Rn2xqSTXYNY/WAzUGwq7fEKTAZ6nDfmPTGIWWZIyYn1ZkOUqgNaKVEcblnVrurjm4IK0JSfSin2vtbQYKy0iGCs+TQT5zeCDVni+XmuQTF4bck71IKSzmc8avJgsERIQVsxCm1eRX8xk8ztwSYhVUglVmKkiL6FIVkydOsVdgJ9W+5iVkzhjtldF1QeVcNyglsWG6smAGHIND1mANqM9rBVVe49txWxGsNH9xVfaUy4UZl+noBqPpnjFChP4y+gldnrvR5h/wqY2i9zdVKK3Uwljz8DZm4H7OrXX6mKOn0b50o3GG68kAT7M/UrHHBlhgTG/Y739kFZqbzKot2DJ3kLu8EqUmw63sOj4wPyFRiA/RAx+pyE6IgSStWhX43NdIOoCRfRiAwLN0PjMwMCSVNMF/WtRnj+FSk7cT3fQy3QkDFYWRVP/1h3WsTMvEKiqQVW9g4LWQS/tBwz8N9a4CyxVB932AJX3YAJl41mV0+vDm2BFYJdCx0Ryd2FmVJ9shWEXWZbd4F3KUdS7MbV320lLbLbzldjK9B3EMjgoNDm9dhL4WA3k1xMwWDUoXMSFdotol79+S23TV6zFBK6Bee6vRq3KxRHuOuUaNdm6tB1DFlc5uGuBq9AnucNMAntxFHZQVgPSKUMugDIN4fp4ekngsxd58luwPelv6XViBXpCB0AhFCDmmAF9SgY6in7pURMYbFdFYDCuciuFLPdANkTTlzCp6w4QpxXg8Pewut9+qeCh/mgrHk8NbNuBvKxQu71pdB5ZXkZflw+J9HwINOtGcjM3TrjMmKWUoi1FvbYhZ1BHULUdOJZq9os8WBQqwJu2oTDmAO23IhjcoqALMcUH0QzD0DmnoFgfxxmbfu5/Ge903O3TZ9z/W/tFlCeEomqoYnazkApwzHerFwnKcTcxKkX3YuqtSR+XRKm1IBNf7SfRUEOx5Q5WyD56s32K/VS9tsGakBRydFdXCIyxQQTr8yhxLcI+ojOZqSe+10pU1ayztuqNjGeZyzDsYe/Jx4HYA94krGUH0iXjkmDEBH7D+Fct/8DKbhu+2QZEEbUVXhuG2yyz9lOOWr3yBDkMca10EJbPAToM56ACK9mXsx27EBkOYgWV5EFMOZ3fTQWb5D5SJI67X7z2yt+pEZDoG8kCJohTJdh9ckRAj65ui4lczQO1xWLZJ9BqW9HyTLNGXIQIRQVYxBBSf4BgSYCbCFAVHQDBFxDPhIKp1gWwK3a6Lr2hN8Gfj5fNc8Efe5uFb2QdJvATPAwnbZ/DFCsFvIt2HRryITuikE/x4CHRaH2fkNUZdpgCH4u+Nw8DYh8bFwWopkI5bJqR7mWb8cZudCB2E9tin3EvGqgCvH8Fp96HzVWBCjkNd+1M4YbIB1arAxnoxASikFC2nNyF+iQZ7KwK5Xg4wSws/lLFwMAvanYShC0MuOgEeoROYnSiRXHU34cTUg8IMaC6azHmKRqkvouijlAbPEJO6gapRkkee7UHTkxO21Uy+FEhhcKbsLVlQJ0eYB9RjD0gutu3j8PIXgt66jO0kOvMh3UVkvfAVdqLf4CdvvPMP0Ujz1JApSAGobJcZPKADItdxAbn9qumz5lwSmwGISSlleZLtTZid4cRLILni03stSKfUUU4uhVKPKbyYYY8hrLKRHZjYujdR02WOcg+V8midn3IBQABf1ZLKdH5rKrziW9tpTfZVoYuft3P7ZSA9ahidjepTgQraYvQPp0hJIsAP+jNELUmqZPL2AWFPWvFfbeaN8ya5vfifdxNoPQcFNhIdp8Iu7y1g1gAFRgI98hW8MR/AruYIBA+Q3c2ZBZn27H6EhXzpdqfs/pW8Th0yzJfMuE9sEKO5rpHsyscTTpW7w1a/KzV5IW4ml57fl1LerYtgla1cn3E7gHZm0fF7Yz8t10NJvGe+kQaBfUFoEgIoT8g4xHQofJqW9zIaG7kZy1vhJlyN8IgDVo8s/FGcITdjfAE3IgJdD/nRWgJMkRzIuAAfmlAQBqEM8CeEUSrZCqrjQVDWy0vIAXan9LjMWsOEFBD3QdULsR26KHpM9T0IwsiYS+s/nfaOOEwrFFmVasTkVVWPwFSxhARTBA0Tbw9Za9qCdW4XvkJDC1Hh0fjy8QdtNi7972r7UT2FE8XBlwHDLFCNevLB7XmeepCqHwp8EIXDNd7jFNAnRzk9T80gFpEx/84sDOM08h4O3ALuybeY9UUfcu+uWYMGuBrFP9OuxeZXSyyPcRJ97A+ubzZBZlOz3PfLDaBgXfXATHsodo57q+IBsyFRQ9xf8qT5QPIKyNGU8go0C7OlIAZL0MQm5yejbiIp9+FnWLPSAea16wJFTj98q6FyYyjq8NLNGMtPBTHcnzUpEgO7cNMJWF0P/U1iejnXsg4ApuE0kgqUtdmlsg+nSgwsyHu2Y04ycvZcJfj36xli+7NWjsWyTmW4P0Aq0y93thXQyMnWEnseMfn9rGL8MpqKBzIwwE/CKtF4JrBQ9ShW6ldYhYhfhbmVBnsuSGmLQMnLUtYK6itIS6AdcDe1ovrWpvEUWrwfhQl7F4nbqcjajWAHi06772ISE2zxH1q38C42076uCMz9lV8B9P6FY+7DcW/HTuxTKRFxMI6E/zb/t7V9vRrDqjnwaSXicmbNe+cY3UVueKe3PWxk+cXG2/BvGF2azwOk7A3JqHIbwasXG+HIHP5IqtvB+Ci92QoN+BSfoqomLNGL7V3t0aVXOrcy4199mB36wKssJMVyFHZrvvWVuS5PVuhpK5LxazUuTuzQ7RD3vLZJrrcXZu6o25IyG7COEWI2vYpu+256weT2NlGnljN9HaSBtky75TiGA1CxpY21mxUH8I284/b/2VvZBLe8DuIwmZy4x8GO9pTxkpOveKQHmvfzuUWH/cdere9r/Cg/cEczKo1BFbPYLu86Yyp9jm/98jJR96ALfkMC6m5bcPj/ZUwzhXXXWcHc+AT19snOAcp7MlgHo+GuZo2GYdcREWqusi67O5i5/sv0YQ3LQzPdoXh8XnEIS7albSvcFuwr4zpeXedFdm+7IebJt4TcilGRyGqvtU1UMYp5ql8sRKUJh5bRepQzRea5GSVSlQacxFoxmGLpoWMj3MSlke+mDJnUomQ5Jg4qj+Ycz5BU7VQoTVgQgzAyLDnV0b7ebcMtbbkmXlPqVsvQ4mbIBuHzuNXjwA+czhbNWRHVIVT9M5kIxohtEaQRnRCE2YRaaG3tJ7IT3y652wcETrIkhV4NjUisPB8BRBgE5vKv2bcT0VLtswFsWZyyJ7b005czfoOoLVhrokxThFhnceWdjeJ69CWDvRVNQZ2TJZ+7JIwL9dYac+aswWMOGY1J3S/t2e1knKqQoEqqspW6bWMLZyqhqKHirVjwdKD6FFVbA6w1KoWTes+4lC7WnmKNwuKY/PS29VW6wxnH1otb3v45nON+YhsxWFhvKk0pn0vLufCpTH/I5o64sgFFEL305j20V64u87eyVX3hXeHDkWifdQMW3V3M2zV/Uls1RLirBwCBcMuZTYimANZmFjNFQEgEfde3112hh63zlGgrWr726kJT2N5iQjU7XBF6sdltfRTLrKqLLFPlVJ74SXdT4w75ar4e+/jKMQeOIBe9mn2vu9XzhO4f3JSY8lJ3bmht8SIBrOISRMxUulz4GnBEbNVNn9J2D+BlRW7nDu89AVyQ8U7YuIO9ir2p+B6TMnyD2KNvhPT7m70zQJ29GwUzYzRSzXHo9xEJ5Yv+bOq1sD1uLLAZoqtqR6yZscQ9R1aQuZtmIrnanFXmyanqfVoBM6lQc+RFic+OQuTw8qES4sPT6bFgaq1TIs7eTo0Le6uPDWFAXZXBuf1ufWcA+fTzJV2lN9htuHSmKepLm/ulUaT08ym0HSa9a/lXBNjsVKoyaZsMaJas2+ZbKh23WSPXtJdiiHsFMNhJnvZvFg6R5nJfj/2VOGJ2TWT7yocnB0PxoNNXsReti9ifa44cqbV2NYj33GtmA0iwlPa4yM79lcqOsACGUYfrLYYEJHp1oo/esznvvnVSmAuQiw5Yt8UQSCBrtbgsiMYc+2xadpu++mj1qTSDBLTysYLj4tbSjXVyEdYbSApt2qF75mL6OU98Qt71glWexaqFx/BDbK3FLgQ97bOe0zNoii1dnSAWQTWKIzycoVWxA1tLduQAFYv7PptjEYHSkG/vH2ZFYQttFUxi9X76LELJ/o/agUb49Fw5mRztvPwT8rZ1HphEtCN0cvDMCrHrySVZvasWEEuB3I9kwDUewA/EhCeKVfVzie4yA9RK/S3vGutp/Av0YzWTdkT9WHhDSzkBjJHcbRVgjWm9o47iZNtmrLXfnGewuN/ZWX32PZTmjBbazqgHpDq2ovzXY+bF4TAjdiSujM7b+YsoPFx8mz5OBRxftuKG6pZvQ2nA6/mAMEKeqKZWqzrJybegw0cBp49Ev4oUzOlAlrrY6xTT61lXxpTeSdcNdQeB4E9Vx/sziKuQHBy2NTPUsAUARhLW87zGqqs9U+a5R6BjpjxNsIoE7kIsJFY2yE6E0et1rp+NdgnQWRTzD+5d9vVtAOFE+O9/yaIvI8JWgMm3SSolqtTeQPedd2tc3/nQF1epkMG9rcnY7ttABMQ8us9Cab8XDJPzKQfne/A+9pjF8HHIJHxSF9Tnu1iBAeZtBgJnoP5N8Nh2EAUr17MoIoiCRxP2CR+52aEv0z8AywfNt767NOm+5Xrolwx7E7tFKYS/JK1cYC9HZYQs5cPyomNH1SQW7BhxXLwguOYcUiAqcZaDWLD1MiBP46O31wji0euVQUN1ayVEGAbxm8v75USKqxUFQoDa+AfNDUAM+uxr+qxq+kG7WUqKSXPFbySwe1szb1V4rI2IE2VCr1yuS1kjd6idCPBOvhC5U6/JgDqBVScgN44iGZuxU5RwdLMQTNtFjyX/NISbM/ggtsJ0tRD9l9y0e5CUQUYdZWxnuaipImD21FLJK9+x00PA/VHB9SL7S6u1QkllReAxKSedGbm2f8Z8WEqRUS55SLn3ZfVjAqkdZIK5HHV3cWSeaFkLX4V6ZR1re0Mzybbce99WVluizDjXQaLfJ941pxlI7EZ2IV19fiwS5NUSk0SNK7sfl02tk4FvOW7OFnZjPvYs2VWER2vIrZuyGnUkrZJjYgXFooWhU19lxcmXxgGq+7tv9Fus3GaxnjUZHuZpNaDKImAyNvplu4FryS5EJS7j3KnVZypp/LMe4mORD3n9iRMHIAw0uMLgUtCyfyHUhAXoonfJaQ4lobh587tEfJXjKPOpfAgoe7OCWlujWUmSe+x8EA7VpzZgCOciyCqOwxFLwtbIbJ6G/vz7EkvH67r2Hhc/LHzJ2ZZ3+uGwiHZsSGxcYVD7f/KG1/EC+onH+aj3Job1YK7iCh5OzzYvew1ZSzaMr0kZqmDfVmsPBM6XGEyMeuz62WoSPYPeEh/eu6voeR6QUs7LmDhTYyyAWWsHXdWojplspt25V1jj3tJa6j4WmQghSWnRny+kqMmzw/5yLQa4epIzNYRe6m88pioeDKijvREZaamfsTPcNEy7e/ngjWdk30aZJxbfmS/iiYMcOk6dYSrE3mJuyvedXelmFTyPa8dK79I8afUy+R73cXtF/UVUYLMc5CUW+Kqk+zMjSF3fZkqJhrYPkNkokQnGJJ5HxafUxEuon/WO3RWAISCewLcoveRC6Ob8rN+a8/6A7b59R9Oh49C+K3sM1z4Wpf2sqk0sGrmUZYWFUf1YlQSo/JjF9rf/xSpuxjgsUk8N88nFjKMXpA91wuqFsbdFYFjd1cdn8IFu9AupkD3vGus0HRB29UQJi/A0tteji/0DSvafEPAtpw73g4YeSt7qPU+7UhfkH9zViqR29wwO7QzWhMWir+U/ZqoD6sviyEsJ7XYSePUjbI0rxubbQFbdycFhHBZsnDnvL+U/ybVOq2F1RiNpLMZrZzvG9jZJCriOzHNwTp6XV+3uzGuSa66zrb7A6Pbjp1lv/jDMWP2gil1HV0kW2ob5TDYFc9FU0cBkxWC0Lf2inEd6MB+dpP9YmnaK4oIMD1eLuuMaInXTn0zt42PJEMLCpQ7uHunVBUDa8kerzUqSKWVGU+5Cu2ZKLiLeaPYsoaYXQHb7XYFQmiA/o04vL/BTy0ntuzmTvFqzZ02jTfh1DhM64HM5q0H/IG/qOzXIaYveNjpw3Ry08em7qav16cRE2hX/sB3iWjts3tPYrqbN1aNSi/8efta8wbEox3KfT+mQi4e1F4IXxp7dPmNZqjm9V/vf9WfTVfb51jzRZOtutz9RMb9eROUucW83d5s3tqk5q1js3lTJa9sDvvan7dAd8XU/HkrYt4izNtvfD+x5bz9PjVvdi9L7M2/KeswU9bY3TE1ZQG73LOSs0URWjlYmU4df695GqTj8czWKczhw4cstou02Fq65N8yW2bsYWbLqBYjOWN0i3UrDXYCt9JU0u06GDRZaVp57gi2wK00ovv6lV1pNzVbabemZowsqyInbsboV5icF2Cz/mzd5Oap5WxZ9bjKnjhQAkjUvAT/tVki9wH0VIxowZcAaNW5vlq2FXG8g3S9kfVfew65c8A6MTCkQoXsQy5lZO8QgAPRVR4yKBJn0R7iSNWycVazZ1WjdwXEqtAwsVnuUkEeCaAKDKHWJM8OoNsjyG5MHX/ridnVYH8lACLsV8kYyYpKVbqR7dlEkL8zQrMTOP3Rj5xsj11vxKMYAcTAmzyfUic8zGrM4C/BsFSxO7wDRkKdhzZZK9PLZputwAcqIO95AAcsf/Bge54eGTmYXCSI29AlSVXnBYLwnEjq7Q4A7edXzFptvJM0CSExbIWI9biubWrJhwcWQD8CcPc6EBrt9SDRkdHv/tAef4AQllDLNZCBT7A5B0ij1xPTzSREGlfZC9+LK5aC3C0Q/JAn20NWEN51U00OMkukgHvIErbBtUjAURDGWb5pxv2s41qKtd+nibv13HvYSVeogfTyenAlktKVL6y0ErMKU78K4NA2FYKBdjgIPHwBprBoCuf2+fos6w2gve8Fuql2PgfU2/bdi8kfUhq8bF70LhaBagRBEAHBE/zc7McA6CgLk5zO9zGq2zLJx4FX9QKLZ5ITp2k6Vmxo+pUPK0T9sF92GKc3hWgR6/yuALiEf+RuBRhY99KXURWn2ePWlFEmoFsntbIWhRkGe4QYfY5drGRh4QfKxAdS14agagfZzINiojOYqEGhVQUDrPrnQ34XJHV2V+f5vUxoK8VSmHWxYBk4doV/LyDQkaPMq6odUcCwrHtBmJYCYJ5aycPEI8sSBIYKCQ+tUKNuqtg69OnwWgNT8pD4drxXTJqgNXLgmuCJvC5L/E4IUSbj2woipHrqCCNEJCB7cEVJlXZuvNaqIyQR01rNW5EzgZAvVINeBuwY7Ze/ee/qqF8kUA/wJYfFVQ1Rch7KlW6rNGgyIrX2hjEncWs0WpdyhX3ywBsw/iQmoTl/TFbuDQrIP8ZOGMGPLl5wuzWxPrUSGZjfY3FhNIsKgSFR3KeNrkmFqSORfjD3Ejslg2lB3Vv15PVsFNVqVk6GR42n6oR1rHvubY7EtjKVtYAwIEvk6Avt5uv9i+L24eC4T1v+AV0EAJa1goELK93Lzf2xHWRoJbPwuAKbiJ4th+dD69ALgD7KVGQBXEOmNah52B12uQUWjllT6JLdibOuuQA+kkos51rWeRUJ0CrZxGjouNoBELJWPbPwGnVOjPt8zZF5DcjtQMdkku9JTAcaWnJROb4J3ltQLJ+ijsX+lZ3fqjM9NgvE2aN/R2z11kxONi39DnZrgSiUA+IRZO0ozBSRQylAP/yngZvZv0tGfwQJNB9lCvJGsD2gCv4NvVCo8o1Vi6paJRdHgsEym7Gqw48K4+lWya+rhNEyMQkx6DFveKEJTCJW1UPtKAghL5j5J/ondrdbWmBqzvm41cEbf2t/eG/BlNg4491FDjDx0Y4b47xQAPABRDuT6zynnBq5Pu8f/DaLgpk1TAtEAAnxK1CQXi9+yUwIaK5RPWS1eljofpnbqveu4lZlHFSK7FclyEIA6yTCl9WDhtLvvRA/FYNCGJc2IcxR0+HBWAioO7y2HkKP2eq7B3IkDJQ3e95woMWzF+DvnYVOeApM/Itldx5y/iDF5e78srFCl3dliMJ9OX+79OfPRGVnzxvmn98Ehnd8ChRBa+S0XuxT74x0Um5/YJ21OLOdAYRGjN8BEXO+ss/Jd9Rf2wnWiPrA1a9YYYdzImGmF/HT7e3/JpQ8fy3UQc3Pz63p/LWYbu78c7bKMhplJ8CtSGPs9pM4y2qEwCSqdErGfh0yicdZYWb0Eikdf4zZ0VScEhLYccVKCe8gK1dvHwvbOeCBOg0H9lwVO7uplEFYKQpSNHeVCD3hWK8jNq1Fa+WyJ/UoxKjqoQutQyGqhslf7i99EfVrsBl9/8EQZv9h1zk10mR2naKxcv6yn2zRMNklstQNU3LevkzOJXBOFegzTFaejtEwre71qWoOIlhJh0Z76icf6jk3JYxEh0zfNj6czguTJmnaPFyaRM3DnSYZ3/n5+smFNXaa39o2noRTYGDFLHcXMGVkgc5sjDnB21M/OZTuLggc3rE2nM6vcDeRtmX81Q/1r58sdHcG9zD3jrVR+Zr146zG8DZnn9ZUY/gjYLVGvKnWiB2iNTxRr0prmCBrxtcaVq76IFeEJX252uVrDfuT9clVrzZUTq405S3kSsVOkivpF+U8Ms95Ial16ta18usAakH4+HK1SXJFI506Ualpa6ZUn1VtqvDHnVwRdW+hNcwNxJulNfzFyfnjWJXu/E4f0gHa1W41ldueTeW2nhKr5lqjqchmYvg79kj2YuU2gsRXJLIZ0HU6kVWDn5CiTSHizwlx/EqloTm8GdiajZrDl0G3LAAuu2swBO4aDIGuEZbh3mRZBNbFVvrLIgfZqWyy6bEsjrQVovHKM3Ky3NZsqom51AlnCQOQK7PDdPN1xNvHhZL7SnMd0WQu/42OGNZMR1jVF1jw3NtJNaot9Mj0g/YbpxfJWzQb7MDNpAt1z16W+ljkjHLbv4kRXKGXKk8cid2TNp7S3Z4wb4JJ9Hj7+MJGveyr5ZLRS0MC98zNvSRN14dLgsX1fdKnqV1Dse8AnvbuUVu1zaPC6bRFuig4vMTd340V6FdpdczhfiXywnutkCYuzMixTz0dL5vrQzOYZdKQpB+i2Ro1WF73d+MFYmL8jr+yiqzrG3bsYtaILWmoTJvtLn49/YQd0lm0SWfQtKuBupZ7ecimF8AaiKwv+p9cIAWGS7IYd48XfFx4UvbrdgLtc5ycPaDoZPtC1zyJhpamoVIL+FoVuo9h/b2FHWQa7JmeVZHhf+M+lMCUWAqKcwtadjv5tl1Aa/bw7f043JUz7ouqmNHK2NaSUwWSpamtUZYIP9BRXsB87HnKfCty+ak2/VXU6ZZwgRIeazVgZbMq71r7rVLyoT0EAydtO0jUaseDLvauPAYVWfYr+ycRHKN2kXRr8Ly3j7Pf6tJjMZZXDulpspZeNh7aHpy3PLCyW+hb0aniOWM2YND2Ftj2/KefiWpE7IBEz7a+Hojca4Od2MzNhMu1KRZDBdEOssN8fNjiJ39p1W/h28dlyeSGn+EJVzxg6lHzlFzQ2XUfW0wmQZZKEbyryRopLLPr1Xo7CqVbfmRPizLbg3rudvAdK5BXYU8u6bOJsngWZAfUdUfyXh2W/Nl+6+Rp7e3xIszrRaQXv4c/+ObsBfZ6b0oZLqJv6D/E80tc8k05UP8EitaF3WorKd4uiM4OPIoCohZ72KkLVXT9SgXxAobTlI+YYGUy/NhY+1hU5rShrRaZX68LRUu0eIk+bdUbNmgWae2gqPcLTv4Bs9ALg5l2kF57PO9C4h758R2YVw9bPy1wJgshnYVlEgsBq/lGVot1LCOL7qZp1nOxTns4E2e8vSzntkqmByPzVmyVSZRwrUBbkEKlJSMKHUzM7cMOK6asVgzSJlOs7oNpuzZMr/rwMHfEaXVHrdLcEf5MsfAvizCH3iLWeAZXCeQNyPD32hYJR7fXpruLx3utTn8X32L3bRrkm51ze622ZmduzVMxe930RMkqt03W4fpEyXpJoCdNuW2qLNdubMX3hYuSJbMokJnJSlu/BDdZS9u0BDf5QdMSXGJ0yRJce//7yPhNX5ddmE4fHqJoU8/sZvdvI64Du/iRPXR/N3QoG1aTPspTHXbRwcjAmnnBIshjg0L3B0UmrDr6VFmsPUR87CKYtZpQMwq4EU2v9S0cXGAXBZxzFdD9s13J8oBsqL87m8BZAzsXppBsjlw16l4DgxRyLtz/f4ea828mhZrzaQEjSVQgz3L+4mejIZPG2UiPCvTmDbs02uThGknyUqjAJCPvt/J4N6v8biaezURR4imRnXB5ceMwTuLW9tFHNA26PJ1rVczjPuMLEEOAAP0vwa+/ToFfRzQHv2Y58OtdzcCvaZlzhzcKVBPwq5WdycF09e9NFm66Bf6t9fTdTaCUxewvUtyEI6mTp3LILXpAczqgCFKL3i7Mtmx4k1QX5iYk2cmiRbIxqfPss59P5GY4QjtcXVwOx+rqC7XEW4IeFzwoNRvJ2VGfAH/aIm4BOQAqC6oJY6bvSX0Lp2yzVubDEBg3KW5BxyfHnypMRyNgh+aUoWfaXw8mI1ZAXuZonIFek16yjtHi/EkmMGLP7+29bAKo+CWVjeU0F1vxCs730k2DrCvyCMP/HzP/RGESJStH46oUEI8ePLAzdoSwLy31rD3BMjSJWcEYlCMbX2I8fR0ZpBU5pLDpJL8L5O2VJX8utj9YjuXSgwKC1QTlT4FU5hv1nVK9cAweCbNb9XkqHjCiBVR8QAm1vYSE4yQX9nJqNbCpQEK6gS0ik+t15mWRanGIO4fFV9FaeD6Ceu2wwxomvQzau+EgEeQKP7xoyKZEln8gVkWCEUojZglVIFKzxk3oXK52KdmmS3k4Dc65WE72qYtfDxLBeIyxvJUU0Wv4qzNw9WZgOPOBeQ1QpP0UpE58B8Kl6jH1A1Q0vvoPj9ljDakYDwB7pdrGCc6LwXqAv/5FDehna/ZfZkQW4oMLxK8nfW3Uwt6MXkIiQoSGKipfvghrpXYjWwkrLEyDbi+SfTohjAxRSwpwKbiiCNYX/ApDt5ZSGUBxXh4AIBHwF0fPJrE4t2dUOcVkXmX0sqhDLZr5AqjSTPVLFtUw9fz4HoQz3kQIP24lofcj0qSPXXcdsPIz7OMFJlHOk/imXzUkdIT9BV0z4qQb/71il85PbHYhPJHi6CN6jXovrbPKp5tDSntqisLcuwMD7ko+Ti9/MOTPcOsdVhLpq+5liwNJqB+1SCZkkMEUhMg+BcRHoSxzmBoWNWJy5WchhL2e8JL3H0AhF592i/18KzXnT+LGfHjNBYQo0JX1mNAqlFGTpFrFrOoIFyiE4QXEnEiwIYNnqgIkGiKkRGLSy948ioCEsqxnVMzK8rPGYqZxY0B7am8uW2desKNiaZlPTGRilS5RVQ2lwI4dmEJRFQUHMZlqnUyoqLF0WkGWXljZi8d3Pmj/BEjYoDyioF9q8cKpEkS9XJf3+hn3IsvE5TVZ9eSwM8EhmimM6A9I1wgn+oH4q/ZQlbafYrb9DMYeAguJb/p8Tb3YG0n7fj8NBHPVFCD/3DeFzbjZBLrTLNyp13zWeS4F97ksg/xLgrRm67YuYqc8X2ULasajK7z7Q9TQIibtXhTFD06bFPIZ1DNJyYVBtCkfnXn9rdFIbs2EmmDh6zNvuMvaBFYIs269xXqX94Vvt/d5xav1YSGwb2vkJLPehWe/ZRfGfeHXZ1LVep58x77XXfdxjB6Qfa+/dbS94GXWF0qsIsscsNOW5c+HKOPjLL5clSVb2YDZZwwRwxi8Wm2hBtnCFwYRULxWFbnfMJ6rgMRWQ9uyDw6Jl899E4urQcJBOeoBpU1U8lyF7k/Y+WGCY0xLK+ARNcv+Zh8aaIHBtQu8fNokllBQ+EhygbBlKBJtaLgWiU/Wvdu94zSAqyci55/QBOFDUpAfguDVy0+I2TV9r7f7svuZ/9tNqfd6F8fHWZVxLE60SjJ10EsOKufUe+az1GFj8oPG99xXNvo/K25pH19nd4jA6cflHmofO8JF3z62f4Hbrl1wR8p8IhzhzKfxcHhcPXshGmjSS8Z1JEQXiSfQGAJ6OtQC8ICN/RCn4bRbwDwis2Mda3BTC/ejRpZho+Z4h7EWziZ0Of/KY1qY/zNj4MdGs0XOg/41ZeBo+ge29C7c7TVpg9Hs9oQE8EjFGsREneJcx03SdfUqehXnMIn9oHBSwYcGRGJDjhwT1nKKLicGO0IxADclHz6emghk2k6Mvcv52LEcvLMxnubjqfnP676P/DU+5bd4U4ecxD+TP33pfD5/IidF/fi7my1GTidpPBN/pXViUragm+IW9nuk2Un8Mx2+FMrun1On5ccO0K8F1VyDiSKbcjHGqcAr76gpz/vM5ad88tcnfkGhx5aLIzJAstI5xOkSUnYnDT52oVWxJ5GW7QNz+qlYUCc9NAD4zgi00sesxEGYSIsxowIq464UeTm3XA8corWacFWwgw3FYtjI3lcMiGeRKDLnvvN9LE0Mv4+0srDa3hZywwHLgOUESHDvV/gaH6JBBZLiKKzlPgT630AqxaxT4+Q1gEN6o27Xk349pm+ZVdW5IN/to5lmHkS6sIG1QfYv+bPV/x8BwVoJUnwoyub0khE8/WACij3w948jM3AsgJFcJiNE/PAyqrvOxCIZic10pepVRvG03kCA+V+xmxSBrFu8bJ6924/stplIiC8sSDioHqCyOJqpq42qoMQnCY6rq9Bi9uqF2mJVkGHUx1SM7j5jsvFpk+MiJ1TnRjiaVVfrOJoTwhEkQaumQVBxsJZ6LyAchiiELs3zzwMBoHo8/N5HzDjEnUh+XREvrT+WIPZnlJwacvXAXvCNVva5sx4b61fXBufSCiAITiNDLQvUo8B+y0Br/NsktInn9HqxcX2lnk0vqEj3CHWNHbKruMvexCz7ihhC5MlCo2WNuC6aHF17FbemTOAqa061XFaOL8Ge+x3lo98/731jvkAO//rkL1PLaoOKWJRyTLu2WhbJ2QVF8bh3Enq35doiPNNkbQnl79aW2hJobeHG+WsLlyXN2kLFY4CtwHfT2rLLqviQZUW8er+IN1ssqwf/zbI6O7msjj/8smpZ8WeVUvpldWrzZdUO0sK/sKzO/9ZlJe8m7bL6Hc9077T2dlpHECFfqEBNcuKjKlVPLit1Z4yrOfbZ/xnyS7xV2F2zGEgit6uCriAEpmYjo9d39TYErWLWYXHYLfKeTpCtcY1j+5Wj9sbbjdM9rUbuG66Gv3AiuqdVKkBPLSea41KinlxOIlQdxko9o2REKIlsFtpPMFm/2N1fnpTF+wvZywDvmsFAq7w+VUqPK+gX1esUes+V4cuheGWffx6nWHz0rTQAtF7uLxF+7/iPSG7sDbvtx+zwX01pW2KRes6kK6RdfJgM5bj0GcrYYmN+OH8icWo23sfUjsnuvtF4n1ifaCi+OL64MLY49nJ8ZGxkvCBM98j3rqrxCv17S6jwTrQiH9I3NTHj/kic/Ltoiw9gWn3Dwb50lONiGv4G6evGehN1sVA+AXXewagLjFHTkE2O/ErmIaBJ+1LUwwQV1MNBlJniZ/NwmkWGrc4Gnrq/kJMBl+u1wQIrmJZvNVn77NOjkZohUCGr+XUOjGbVGNdBwg9qrhwQG636PaMM6pVAk5u25/fWIzjlnBen0yH9yV9i5jDFagQTl/7uaL/hrcN3HUdg40s04BvCOS+bZwdzXtCpMfFoOQZE1Ji9kW2IRH/G7EfqOVwPBWsDWOJ6ZiSBw1FPr4PUcYa/nddjsmQ8/Yyd//40t3ptzQH7eeclf/aXk9cWYPU+qfg1B4gdBOx4BM4QY9LQYGfj9edan8NRs5y/lrN76aWIYZq+18l+mcsNxfMbilD3B2vZH/U+NNjJqqXxXsA+Y2/NG6HdLsQsuqlhZ+/z3o84olqzBQXbFX26EYNlo1KK+oCDXnLwurFhfwMxl/2Z1ZGym0eqbaDHNxNkGL2z/2j/ws9Qa46EQkIJVQXOv9FhoR3rUELNiEQliK/s9l6VVQqbK6tJFgCZR6rwXIWia2SkwJN+i3p04SOqMYEUG0MV6Kfc7AwOz/Dlf5I8nKHuI2aGwoDPAIE4FWn4FECj+g4bGpu7ph2qTqX210iQ1eNF/eYkP/IvgY05yg9FeyT6+kDSSmxcDrLHpQ14LseHBIVTgMoyLyDKngB2lidGKDXJZjYC8PaIN8s1pTRqda2zqWMITo67jOrgcHK949oavxmIksqqAFDjbpEyCW+v9vWETo6f/hP7yOjb6wBdnsbKmKgwjTtOQJY/hDzkePaMGUIfC7Qsq0BGmSxiVeBFR6bsWiAp4hg2yVt0XVE8NZrXB7Lj0CdSVOaEo+2UqBfJDaQwvcsF+bmMbPkg0tMD+OvqeXY013K/V0Ni9gpZ2ROo1Z2jirA5AhjOoax4JQtkLdjs5yn1GMC+PZvimsvo572aB718zpaoVeE7TWDuJcHCDUvfjxbHX86KXnzFiO44S9+8EbH20DOq3/hGy3cnS6CarGkFD1mlBmFD8q75DtCgwMKLa7Kif7V3jWl91qV5dv38jP3aK7y45ooN0UjMM2bQmM/sACzrW0aFDBHTgwjbVwy52N4+H/89ezefLX7GHrcw+znE7bbSxSMHS3cLsO8cFtI2FHRr6n5XC1m2MbbKHrdRJrwbS+ggu1+Voqfm9LNn2P0uH37GVsRrOpxgVX8Yx62LMFgj1rW2x6NYrvvE2EO5wAGwqV2o067i8oXW3DUx6gOLnemiTsJ9sW0o3/Py2bpbL/+ALPlfxn+vpmuh4/uL97Fb29aacdFobF6chM8BGsKYKvFSEiwzOzjH92cvKIxG378i9gDRneYIoRT9z5EjhGJbD0sDA04n8Cf4tM3mBzG6t6u38p3W/txFA4ddlD6VMZJlUIQexL7RpirytFIBFkrJRuXgEH/DJlBEj5yy5QuNl0eVFZyV3nQmbDzmSHvCZruwYDKhQaxnpQYxd1VckKEq74yLdmPea1OmNCoTUy1ToK8LUfc/RnOMZ6FdDySUwhIvQNCqCBe1iPh3DvHvblLE/KKYWjKvmLg+dIJeN5VGo76KWJY7OSGFLWYHYAyIDM1mBeXLVKT7NV55OfC1UohRSyj9NGXoijJ+XoaPUjR5fsiqmeOg/NkCEiNLLbvHlkQjLt1wtCJX/UpO/Q9rIHP9UnYyopB2FyNF1h0ldhRr0DtalVo9EPj95Ou65V5iTcLhVLt8pCKAF8DmfMQ0faQaGSJrCTAqF/DyzCl7KSOppllpNVN2EJ8yTmT4oOsXdlD9iQ4CZwsS+q8medHqjKn87CdYOfPYTCpgmRRjxUfov+ET77F3dRWLYTjzMpyp7YqZ0xXyrJ7izUB59qWJeW5sXoyC6CMkEhl95MxdM2MFdx35tw+DvXLZFz+jY2AWZI91x+Qmq67a9luReO+su2LjCtOtrsM3vj501aZbscWxkcHGcJo1j85dX6Rk+dhHTrEjfSZx4oWQ86umdO6lxJLn4ustxOPhEx/iu2HR/YgphVRt8HO2AxQq0raD+xmnMCSBPMZRbPWgLezB3sSrlKK9yt5xNlm39zDdiJARioPiIqO1otGHATs0bWOp8Bxu8Dnsbl/w+ReYK2ez4N8T85YLmomVhX9pw5xpz/sXIkBjXVsm9ZKEQFcujpsnELCuUF7Wt/ZmRJs0hN+2TtwkOqMSP9lqIwjJWFg9CF9gCb94Qj8yDVjPOgRxFRznKnwKRj1GuJVObAUHMD97SPX3Fix1LP7ImXh0Z+LZj31oQNT6I9YkPQ228xNJ/Z7IZU+juuY08rKQu3gnks/+ENWkgwhfPuHTD/UBvzhRH+hnsxfAGfgk8nzLkj8XuujnIc3v/GC0fagP+NY/L837nzY2PJ0Fc+or+0L/MwSEdzm7di+6p3mdeHp7sLeSR5f69QhALcH3tbgXpcD5SkUfshD48wcPDbAXLaegshwY8LZrxvph4m3XjIk2Hi9wgV37TcpoCXSvAxDRb/ZCgNLU9/ZDffZTX7/TMQ3PlCQW4OYVYAx2ZvMSXrgzitVrq9KwtnQIq+ejNgTnaqfstXe2g2SuPRAoXnMQMl2qM0Sri5tTS+2m2b14JohKzL4aFtwBMpAHrr/N/n4RY7hAYbWtVKJuVSp9DVt+V6y7LdTOtaG84gAZTawIU2NXs9d+xM+iyaNsiyz2yjYiEaL6yzsTOTqd/p1ePo5SPu5RCOu0CAeiDn+mgzCcB+2WHDjuw8fpazDzz2ppEHW1mGbddRM0fJGkenno2JA//G4OAJOArecvjJfroUA6oII/9NlBtEho9FJ7lU6smU7q1xnEyTL4F+zyKuzwgsKxt4dYzMuHvUksxDx50+c5U8/TBV+gi35wHHBRGr94XRmaA7BCabj28J0sttTd4mHfLW24Rzw3mgOR4lx/K0/GSvpAttZuMEBQWJo6mrFuRZiysHl23DqX2Ub4dxyXSw6UddWXXTH8xC98Q70H3kWPwUMiTk17p99B97ECGLOdXKmgSHKFkSQqZR19THsBNo8V20huTZ/YPFr4yC9ltPBQcU6L42CgN7I+9NYWEgL2fUdYtjH5VfujYfx8aXGMOEvqPO5gX3afafVG3jVWl43C4h2McTKcvXo0BtBoLLCh6mZHCOCdJyfbwfiwYlZWfLJ+VqhXFIWchg/gnUxI7ktmYQDmyRJCvR+hGL7CTviMB/zX5PndYy+bhP1doe6pHVmw/eTvc3Ee917Zzydd49V+9+E6vXTPzPvuq/tFNf/Suu4x+337h07Rz33I+8XxkbEhhadk21E0geJb5/6/O5B2Ahc/y9ZEqqTr+iJkA6k+xxpaXi+2/O+j8s6DiLg9imcUktke7igBfL9g/POxnP+74E777TAUxdvUBlzltzE2/DrkNiaWfl5C9WRiDLX7C+83pJY2rOqIetnWct7O9Kw2+ykOH8qqWEXBWzGlDMusy2/2YyIuZcvdh0O7g3n7mFh0Llvjx2NLqYNEIX9FF9lA8M7S+FP/h7MnV+bw02cCYi+L37m5MJXTvV1b0qnOFGlpIxx/aGpwAn8+O+xSwt80Nt082fq1a2iBt4dH/UT8P+YJjPw/EXum6ZB3E3/dlHqZ5j19mZ9hMK7CgNmL3f8ZimIL1ceb0HjmuklzrPIEwOpdCVXCaEA1OlxJFoODmcdWwXvmJeySl9D5vGcPdbyc5D5wX5n3alw/g2CPhpIammHWvR9/d9wKUq9PC4dbLWJ3RczSbwE+HmpjH2Jkf7sT//HorCM2sT/+OHzEiZ3RWf+XTxQfcuSOgLWbLkEqdw7sUkgbnEU+OEUNcTyqCtxfRJXE4hRASotgKs+GezkfczF/zGd2oWxFaR7sW2aFuhs2fzesjswCa171Yb/fwSLtSCirgkLbPEzgCoQ/49L8e+12iNzsdw2A7eGAEOqYfQeQtQPagi9+72pjRinrJwidVI6XrLQG3mTfQwuH8epqQYLJpoVbwQsjRuHJ8+2dvo5t/I76yWcpdQYNqQj/6UjmGBQ9Qk0ZYmZAc4WFGmA3boUeqebLeSilCu67AhKFcsQ2pnov2u+ZLmRActYae7cHn/uLPRCc2o89ViN/B81l2GP2K6IGXluUgSEIBiqVB0NH7WCMOgoY12ANrKNZ0h3B+XUECh0opkPMoLI77LMcBbPeUYQRT8Q3r8DG7879bOYx8lidFSjgVljqO6kTMBSibQem5f7CEarG9t2xLsdaE3tjK+2N9uW5OqoRei0maa2CvKp3Jr4QBgFJXs0L4x7XCoymxs/sFWGsnLC6ua6HhH1HmP6QRSKKQ7G0oddZDzGUoHd7sqvor16Kfqlihqh/GdNBKMN8Av/GiQBz3h9/pp8n+IyN5DPs60Sp9QgSq4oetne7gTjE/9PbmYdHWWVp/KuqVKqyEMKSgBCWjg7LRBqVuGAYlQaN4szjo80oOoBMPzRDu6CtaNNjT1waVIwbggJqYwPTDjPgMjNAdyuttoAyJCwiAoKCoCgQhEBIUqlU1Z37e7+vigQLJujY+aOeqspX33Lvufec855z3rND7OorkYWzgIt3UPCfj0Y+TKFiZ0X1sA8Llg5WKWBDRle5m1nnQlwYUHEqA+YSE+SPh5jAbsCJMxWndokJUB4tiAmyL+H1BQij0xITvIYTOlXJdQ10NG5P1UANoeMCVq1LUUCnJPNLUihGqvO0R1xwZYq44HoaUnS354R83fcpHaXWVg4/FXGBSSx592mT+CSbBkQi7GpGSYfwwaPAGiEwxqa5c+1sHWSxQw6TmMHTj1fe2j78nMLBN9if/8aahr47fmcnpCPuct767dSb2w1aFCJqeSFfxglgHTf914DwiZkyjXbma5WJ1UY0pKSk7Tt1TUnbd+qamrbv1CXs1IBrvs9UpDCFjedyBvBlUNXnipagE58jdDgfyZzKNvcWAdhlAAhu2AJq8mPo4zpW/tFBpWjhhALIfLD/JAqRq4iD9h1YpN5gaVyD9zcHJ/vnQu8m7b7SztXPAGVHIRo3YrBPVLVV5i0VJlE8eJS9yfF067gbJpFBJEHcLF6b8tmPw6iEdbOh6yzrLz7DrS7i8zIcpGXKf66IAoDOx5W8kWLjORDnDIW/Zun8KqwjyOga3KRG+GOM1fmOQ360EVTJOd0IjYKDFPc6IqShckp7rEODEROxW7TvV5+PLEjFsfaliYF1TcXA9rWKgbnxrq6njoEJUG0ZA/Nw0DPlnrlxMPmdCnfh3aWNgzENreNgViLGvrfI+J6oW25vfywA74cM2CDS6uaivg6greaqkyv8ZM/igM1H1y1njmerMd0R8kFMLUETaHdNreKqquIh4xg+G7OBlV1MOHMnUM55iNROsIXzCEoeAxUbAnlOLur6Ylz7PFDcK5j1AaiswYjTZcSpes5fG55JB0yrTrLAhMXiFyCZJoJ2DxBviwCxxWCha8DsjjD2MeRC1vNe2Bk+BhVYfxcRBZL1V37+Y6sX2F7XUY2XhYqsZqMt4hebudci9sjNiGx/rrsH1PQ8rsHPnIkM7QHeTUAXD8OPLMDwnKiAWEfSAG5AEj9ED9xAB8pXNyf+89fuo5jY9At4Hiv/gXefTj5fGFA5iyhEYNKcmfYg+g2b+bgTD9EqPV1VbOPwtucANg9PXxRr9V0E98kqYSsY/ia7yJpLAlBFgj3GRfaJVo6pozqTGdcmodaV3F0CDCUO+KN/JAS5NKO545cvCCbDoyhlNzwo9jjqPVzW2WWM6sd7x5HETXyC0LT4aBwfP4ypZ+Ho/mw+YAkZhY+g0RCRoA5SZjFbkXiFAyJv6geg11m9to2ijJROGuTSDfWRuOxw2yu5o/ZESdZRgt8PK+JzCMMuZKD2sm5LsX5w7ZwyIJ0O7/2b/S9sth3I1ryQ9jf9JLo4CaVwOXUDzQ3RpihA4ESsKnHWfEDABl1yAqy1iOiw1ZkUGzICwhETqdCHDOQ+dN+nFJpuI6JcS0xggz21qWW/2iDuLSamGrOhC/fLz5yuyOtG+hmViGkM2GkQkYKjjI9fjQpgGvLjDan/jV9hIWEne6AfHEALJRMDngwqn51NOyQ+rAcznwx7ZXf+aT1RpmyWEC07IZRpAoUcUBPVhbStH8Ai+AO0uMlMFfj6xDJIBxbC18pUMc5G66H5eqvrIFUmbgpWEE9rFYxth8rG2QWdW27fof7XcLGPue9NqLUqgO698IzHgfYSGPBxBe7ZuuKkiZvo2At4xToOyAtXg12UVgwrJYSj4G+0hngWYhUSCQTxvbNpktMFG+YHLOu+wEftyWo+J/Ov7H23x5Q9h02/mVbggwjlMHP6nfkKrTKQWfoIuK2Y5LJq9ZkjDaBJBG1qkykic+LOTRVRVF4PEhA2QTPpBKgTiLJvGajSIqy5aEX0UfuzmCSILGQTVZkEaydCuZGPmvEYtPtBSFjNJqqEy8nG8zgc4bwSm7M7L0o46jorTDIikN+OYohRGQk/a8LwbAElLKpFFGPikCGgtlE+KML8pBK6H6f1REhQcEqe0oR7XI/d5nkKzW0JgrQ7IzCg+3T7bVDFHnZ+QqL7A5AJoOmjVgvYsxIsbxaFhitg0D/HxD0Ns6Do32JiBN9GjlHNu09jZbJ8DB0O1cbZKBeIcyaQ6SEcWMtcnjvMXnErXn8RCOqajwsJAZuFW2Vl30+lmjMRgZqtZihsbg9QgWqW45fuxIZfwbvVMvTFISgeLKSxHqHyiaaH4E4ITrmonDkle6IPoch3PwZR7uepezoeXQ9wyIuv2WUvfyn7qjOJGO3vsG9uBP2agbM5gzTql8HH9DJjxa09K60tdS1rbxEpZhMXbrajJCeTSgKjfGXC464oKEEkfizsRvOdkuszWP54dCrVccb9aKa4eu3AIyFuCpV/9pNBlxvGfgsSrE6ZSFmAgYjKmxqIFbBcMJkrZqp7cpf/PJOqpwrL9GdmfaKGVO4I3moMMm7l2Igs37AS4kALCQwNqmu8j6hdKn3s54HdpXMmJXWO2+zmjJQeQuf8N1wl29QWJzoKnYM6iqgDGIMWA00IqqmMGEYylKcfg58FjhdiTM8kR4QkC2cA+qBL+av2qEdxZLLLX7GLFfry8SrKmkLRrXM/hAkT2WwmMs72o3y5z6wv68tXW2L2Ffv4Fdb5E5uhS87540j41lClF4Y8LN4dZWfJlFAX3S23PSlCaO4Ss7hBiwHF1QBuqDTLRrXnKWT32E7apDo2mKOYHhl0XTuIvVfHlup25t3PBOwX4F7HZlVX0URXM6sv/YBpChqoq6zZ8dVt6PkGYHloIk0DWqOZ4a5X1R0FFfbfLyp9N6hUQW7/Ia/W7jB3ax8OB+Mzx6dUiKZK9ymdfJXxso22F1pYz9bTTxHFeraQAEJQj9rKwIhtgOc8OOy58ATRc3LzrBjRsR8QZT3VDTymk/tgph4TqEjAgfst/dkzCCrSWssO0vt2s1ZQrsuECQxwM4qLZssmRrAnTLJUnH0lTFcFOxWs5/E34Qyr6JWHO6wSE5X3dFgSDi8OVXqB5nzVTuKLtucQP1UXTn9EJKtoCTsdMFeWWn2jD7NYwxnoD3fk9yGofURi3ciO0g75aV6/3d48I5Zrp8x9TKcQ9abHdHKJ2eTSVrMA3sw4EpBLhLRRRXZnkX28T5UtWQAmQSCxbB41A4rgbJVzCaFSl5r++T8Juk9pH+FXekombarbvCdMDN/t4tNO0stx/nceoHM7ai4LcdmiitFs0VCJhk5IBDHALJcf6gC3hQFVeOQ/eADqyGThFhQ+jDhWuA9l6txHBSWS4Ka+ZVDoQstcNLJvHn3rXuYe92E76LuTAaDfMPNed+5Ng7q6A9hYecOgxFr+/fh/IIdwqJ3gogk/ZZdBcfkgvY+rW6cIKRX1V4h+FSmi7XCOooBFdhiQfWIKIWs1mtiSMB3n2WfDaunViHHUntnrhWyUiofShw73k9zioLL8fHSUcWqvYd93nngXZ/2acpy4aFlQRmLXTeis1SQb7GLfP4y0hFVEHSGFM4MvG9ElgTsXeHWu/oXbyHAA2AviIx7F+x2y9GKeli/9OKhx1IafHzrCHlUXsWfoo9RIohoTuFYJpiGuNEQR1/3dJvBEMM/VgBCHZOY/+1BQO5M9khWlBh/qqNGoCnGl6xxWC3G+XEtSWvGg0mCy2pLwQlxoHKhZXBkGZEibA4BdBxrXo3jKX7OHX0uKosqTMQboxWxiJKo7vbHO15KCEFH74WsPssZB/RuRjhirIcKuGEfLRjZ+iaJhpznE/riS+MnR+VVMARJm5s6x70i9SjDvxiXeaaQqyDRtN2K99uwff64y9y79l6DbNNNtqONX21kmKgCKYujX6lzMpQFlnaB2E9nTfsVaKHbyUy3RhEoJzLebUUQx8xB3X8uo7WJQ/2fKR4za0EcZ6Us8TNctA1eWK4UmTmdBfDPv4ezYsQIi1I2W8XX85Hn6tPRLSSX6ASUE+WrqfM0uFAo+YPODvMP2jXHDYVW2lo0nswZtL/s7j91mdddZzA5eTUwF2ARP4kpqxV9OLNxqf1NUvS7Ty4532IygJ3b8QtSFBAzsbg9qh6VUhqB2EDS9cCu3wHj4ccLC8kkAFkLsodZ5YeNFr4dJ+ShlxHdOvJtpEG29Op+KeltJ+Vh0Bv/TKSD5rUBlHwyaNVZI+dV1Ph04XfsFGgzfs1TaEUik/Zql7I9sBSE1VGHFhDA1/OrgO/OesOe65mNFlykbaePeoNt6xeskTiMmMWC6+e5NO+x1ehM6vEMRkfNRCyUQqmzGBHKBJ9bXZlSy+x0e0lqMgc2Y6CUUhB5PyC5hj3e/K/6A1Dtm7WYFxYCchDa5L/p4phuLTUZrT0zH9oK3Xjp2UfIf/JZiUeP749DHCqwA4Kg+jDquV34OL/vE2slyuw8BPIhtPo6WFS9hF+djuR+WQUBTkf1oh/04V1OY2Ht6r7FWMiF+AGonhxkXVH0MUbmneOPfukaN8wgWuCiVCpkrzurkax2OIwI4jv7y92FbdOLm9knQUCT1gA4FsvJWT7N275yy8SoCz1P3oHaEARsJLGTmWROsTitqMFPxCItlGkvxoFZuOxm5eAU58MM24FtlsEvXcU8ZeAp12CsxjjtCHLWBHzeMG2qnfR620zwAs0IEdwpKxfHLlGNDimJcH+XwYxhGETJf1DdHmWQRDME4aEJEOaNN0Kyqd48L50VRaH65ApW4/5eAG1Qy4H9mgZgodxln81S/HyWmNSnXLgKvuD1/iSrL7LfqGgzueoy0dYh3TRSPrh2qzc+Qt9MKLwQ2eYQbnoep9Y9zn8eUpDFb1kvvuBlvCnTbcbEmSC46ipwuJxf1kwNol4WdLZp0f+4Ie8ZpoBudOHAwXu2Ua0XjwiaQiwXfjgUbZnrzMDmtAX6hNTV8nxUtKVD0uDIZPgZMNHGrV2aQ03c8AJ0KLNsv15PwajYBsnbEEfkU87NH81ckDeEQvY29PBxitjdF3+tVnz6UTKRTkDwtG1HLelh7tjdZtcPZ6N9EN72ZokIxXj/flol3yV+q6XOL+lmZscOxqocTH1zBzj6cLLPkle5LUyKdesku/qAymWLolkgjUm+CAlyqBDpRiexRXIyM20P4rgM6c85zh04nDgBM6obrgVMZa3gm3xhLsF39Y9zgO86ZfNTRX88IpwnBT2odgo+1+M4eYu9hKbdjfwzoDXLh2wzJkMB+uG0hwXaLJBS8UMsWQ4xCNQDmNlXiGeVOgpHBbmliWKdNqt2gnYTMJhQ5Y8eiMmyyUQjvgwpPoyoz710T9gKFtwNe3E8M84FReVYOehJs/oTNoiORyU0C19dB1pJGziSBrkC2THTQRwbSHc171/Q0zjkqixD0dAhdWMwOtkfxlwfo3nA/G8UsdkaHmk73AenyDlO950LJDgm5TJ28Dav60+mzT08EH2dHUTN7H52zdtojn1E1zK9qORKbxK1/UyUcmICjkhYniFHvQJbuBNTuHuTAj6+eeGMc7e4nef0B/cC0cRW7ysYTWoUcxDDHzZ2N601i046z4MMdjS3dQjzUx0db2DeE5I50eRqSvVTeR1CC0ysvMrVxatuDfsZsKH/V7oURcsgXYK0tY3NeBlC7gCmIUMZE3/jToWk9Z9WL9vAFLM0QtaTLeMgR2GwRtsoxQ6eHFW1peyKFPefyK6ypEQLwH4ONMoLHHkFoewxrPLT8irB34bb3m9Fj2dt5jOe0en4Eu/kyBW2JwS1YcYu9z3OwmJ46/zK7Dpci/OqxsZINbSVQpT7af9irP6UmaXe+t+jWAi8Xnx84Q4B8ONa5Gmw0AkjBCUOL7cFr3ylwv9cPdKwzBHWjj1er0M2eMXNxRvL8XNA900pBgQicrmN/gVIoJ3T8NoEXJyj/BLvNBR5lfqIEo4WP2g1sbL9joDNR9L9o0znARHFiFR+Js38k2KrjNLs3AJFx0TDFpH6hhpN1a+IYOT7BCONIRazg0LXyb1Su+gWitB9TvBOeUJdVL2Krsb//bMbEoGevd6GssRC8uhO2ZHe79dqBOl9hEJbib9lBKvKQ9AyWWoBEFzebhMu7Dzt4FOjCP+8xiUnFG9k6TcL4fkq4cfKoDs3gg3E20wRhNiFORp0oNx0Fw1mtSjKhEvV/uNYTFZeA/t2nia2SDvycwJkono7kKcpjZF++wMr9xXBpGaX7BgbCAB9QXri6rOFvJYRk7f3YTs0silCdfvClNiF6Pbj7T8pf9yboI3Xb3EKS4x4ssU+AJrcB1kdUhq8KAmzdhFvJDwlZI/1HIvRT8ZIEwI8SstXl1sqyx4gJyp0mJqWPPgT8jPyfWAuyIw5JoTrCnFEzDfCjO1Vdh4AGCuqWGfMlFlcG8II6mvrYdmUdhbH5+ei2fPFN5hJqpkCwNIj0h9E0iekXIaS9gA49IWUqWglp5fcsoB+mBHTwcQH9xakENCmb3VKy+VjP1qI5rK2iaedDoln5LcXyunRiWdx2sex2ErH0lZBIfGn1ugIEb/dVrQQvs49Rk4y/kOCdXO7C30XwWG93enkz7nq7Cn6qjyqaAF6wU5+xjy/UyPXRnH4UjK1WK5y3xOf6FiSvW5G9VTz/ShTGfuxW8XYZMKaEArVCQ1Q12eQ6LNjTRFVNHCBByXQxaz84YUqbBdsCKSofFmze6jJc247U4PdmGAaK0GLQ5yNZlYPwh3cB+v2QeOwGceSyb5Ag5wSIDjXjZuiUATwI97wYmnqXRQwxA6wwzKKL1TysVWnHII3qmPUXWZWb061KOlnSVfOUq7KFxmi9KokRt1FhfHbCqrw+6K3Kv/7Wq/LTH353ZeEbyjP8SA3VB62x0lM1+4kTmIxOWtJ0IpNRNWNYCqbGO1P1xtig59K5x4P0iFutVZFOkrISszibJIFM5NJlNBoEWXQpyGgVur4U+ryT0rK2qgiCF0Vn8hiNShmcKsSNd06psKeTHX+KCqK8SJZ1/kf3x75Wpm13dOYxOaW1ihJvnbzC2qZHQFLqmFK9HOk6q2fzoUwvZV1/fE+mjz1RnlWFdi+oHB56/mX7nV2Idvr+CbG6KI/k7+1UhvdkK6gj0aJMpVk96HvlDHtqtLUwz8bV/BtG8FzM0DJAtDLEvIxtYD2QyYfDnrMG6Yo7F7K0dlXadVCPPL3H/ahAeY+KwG9muqbPfsKzbJyiI4uRUlGTknOOv+H4wIHiC7c97oF8InZIiDRCzcZVw65klxfYmi+sXgdyQZ2JOhI0wYuapdJ80iWylVTHb3jnZKgzjfZbXjLxWLuDNBXwX8BbZ+COMyu1sacGoAvF/1vxYPqCSn6AAtn00tvGbGaf3AY4sz+j6/EB+PLZB4yTg2W9EXetG0NxAIUSvqmHvUGcCHl89bpLFmW98PrUO0l0A15vAz3NonbbNGYOG9P7bk3fVfiLYAkGUTIsOMM+bjgmzlCK6ihGCzz164oTG08oYPD5+JtCxieWnyfLXzlR1IZ4Jlxt518ibiLPOgLRZmtxsxvdV7dBs4HQ5zHNECw52cwQScJOSNDtZWiLoskrMlOzvCU1y+GTzvLZqVn+2h40F9WWnOWJzHJ9apbp541+OK1ZzkKFpJll2tV+RLClL3dgZ9k+5T6xWB7gZpXoSwdDcxT4qG7yn56CQ2i3u7uYoyKCIH2xCym4DKfTF4anAm6wT3U17kAZG80QdO86TmmXTS+k5l/dZWOf5hjT33rZ5EVmda4s+E1udpGT28np7nd8zvXOIifhG+l7zZ/v/4V/p782cGXg+cDB4NuhV8OBcK/wz8Mrs3pmTc7alLU9+/zsp3P65GzPPfv7KCzOaUWofJw8OR2hcjqa6m+wqNsztvXaKnBq4yNxVsQmIt79U5518umd9ZvJgS+cVkeL+9JnByZPrb/k+StFORX+Nhfwtf0CCe8C8ZNdwPV3k1epdAPYp76M18j9e7yMc92KW+wxr6ASrntnarD13CQbAuxoO75SdrKJ+Q4U4ukoyVlDLVoBgL/+H60A0rGMt6TR5oy5u60uaSD0GaRIYT/I5BFMuhp8Arh1jcF0XstWswyCvN2j8tX7Q4DaIkBMIs1KTHZGkvn7R+7/CoLT3rsqYxYDXk2gHCkOrnjDhSMeM04vNMHVaLkL2P4dTB5nut34Qhj1QdyBMNrHT+gwLJKbbPrUO1kgUs3oABKgTISgURDQohH34yKU4r+rggdLqkEh2kxUX71qZIAZa9GZjXT8rEX9NkMe28jNH8Hc/UqMwDiCdSh6uXdKdukEQvwlWRt9+W4bIY++XHgbPtoZgLcHVZ6KlwCDmpPL42byFF15EQ+ifLkMzNSwiPekf1Jhl5Db7yxTLXyDlPskyA3JAKGOk9woEo2mZx80zt+Tvva+4GBZ5RXRsJ1SPwMXoHceHFaOH6Ybs8YKka98sVU/ImjBgljG1c7lOeoY+ZCipYLdlY0lJwaiBhogxpT3zgCJyFlJXU3lr9t/YEPUYGgfI55yiKSiBsLJbvy9Hv/nMLHcHGVX1JGPFoaOeS9kX53JQdhC4Lg/qS5b0YD9yAKqwfvtBi7UiHzkKr8Ynefka3yxBDos3BZUY1Y31OZk8et82kT6lRej2islySoJgsrugDiYSWlXqymVfBLwMhuwVa8q3vSQ/SwGKTGgCapWeYES4ZBAExczS3zyn+wXA+xjx0liSzA5X6Dya8Dq9yzcMglayN/be369NxOLJbgK57+UXObFIJpjyIpcQNbuGAJyCzBURuKrVcEzMAQRjOPzqddqBhNfhNHQg3yozortFi0Jt10L1pyOunIuw5T/s33+RFUdbTPOw7y85PA8u126FXwdmOhDTNp+wJH97sdZ3os+pr7Twe7PCjG19bEDyXb2u145qW9vT3PGmakz3u69HEqdouUZb0+dcSZnPI2eU2mNmJO1m0p76vT1k1+clnX0TaqTXiIQ7pBkNXE5T0QGWNqSjKgFeVGpR150nB5FZEQ5zaXNpfZkre+dhJzGAXkn65R1wrAk9WKbhiXZiOf/a8TTEDVR3gSwoIhfPd5LA6oqSvKLqcJMb3sYp9Sa1fx+t0ulac/Zy+4w6iicA2iTjuApJ+mct6ildmmZ7zVJpux0tdR3AWE92ecAhYWo4l3gWhu5q4M8SVVFFN36OFUEiisp6HM3Qeu7KTofQ7OTMagPfdTLaHzlBSADjzeuZ2DWkVPwNWG5D8ie342S2FG9DtUw7j1rX1wz+CZeRvFxkftiXucd35mXBt/Ayyj3O/flJfcfo7xDXvd+1ivnfwG4Rm27AAAAeJxjYGBgZACCk535hiD6XKvrahgNAEMzBnoAAHicY2BkYGDgA2IJBhBgYmAEwsVAzALmMQAAC0sA1gAAeJxjYGZiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbAyM8CBAILJEJDmmsLg8IDhAwPjg/8PGPQYHzIoNjAwMMIVKAAhIwAQagwhAHic5dH3Ws9xFAfw17eiCGVmtsykJHu1y1YIGYVKZIbMVJSQkYzsFTfmEtxBffp5XEXnPOec91nvP85BvH+2UBS8aDBkUSxPiNpDTAoaN9b5M/zXyEgM+Y9So9jsxDEcpn6H3QQTzA6VOdLMNc98CwLXIukSA9MkkyWbYqoMmbJkW2yJpZZZbpoUqaabYaZZVsixUq5V8uRbrcAahdZaZ70NNtpksy222ma7IsVKlCpTrkKlKjvstMtue+y1z37Vahxw0CG1DjviqDrHHHfCSfUanHLaGY2aNDurxTnntbrgoksuu+KqNtdcd0O7m2657Y677ulwX6cu3R54qEevR/o89sRT/Z557oWXBrwy6LU33npnyHsffPTJZ1989c13P/w07Fe4f7hl7BHjWEYBfQY98gAAeJxjYGRgYADic4lGXvH8Nl8ZuJkYQOBcq+tqGP3////7TIyMD4FcDgawNABHzQyreJxjYGRgYHz4/z6DHhPD////GJgYGYAiKIAZAJzNBfV4nGNigAAmBjhgZMgH0+pAXMAgzxCOkGJIg7PCGerBtD6D/v//DP5AlgEUg4ASAz6gj2QXCPhDeRJYVTMCoQGch6yXCUUdP0MAQwIOGyWAqtWB8oxgO/wZOPC4zgNMKkB5GgwgXxn8BwOomAMwVOQYxJH06DOwg8wEAPJEEGEAAAAAUAAApAAAeJydj81qAjEUhU90lP64EaSLroK4zZCMoODCpSC4E+ymKyVIQBMZfZa+iW/kg3gmvYtCCwUDIR8n3725AdDDFxSapdDHSLiFF6yE2yhxFS7QV0/CHbyqSrjLfEtTFc9Mhrmq4RYGmAi38YkP4YLOTbiDN/Uu3MVQzbFGwBEnHOBhOEdAzLTEDol8BtbheDp4swrRm+UuRUZ/ej+FRQ4v+ayxp6pR8XOW54z7/2e/PYcpU8c6w3pLGrN5ipdFqvdeV6XVM/1rQGZuapw1lXX0H/vjhk7Nu5CdZpRmfGx8fQ4palfaBzvfAVpKVSR4nGNgZsALAAB9AAQ=) format('woff'),url(fonts/Simple-Line-Icons.ttf) format('truetype'),url(fonts/Simple-Line-Icons.svg#Simple-Line-Icons) format('svg');font-weight:400;font-style:normal}[data-icon]:before{font-family:Simple-Line-Icons;content:attr(data-icon);speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-action-redo,.icon-action-undo,.icon-anchor,.icon-arrow-down,.icon-arrow-left,.icon-arrow-right,.icon-arrow-up,.icon-badge,.icon-bag,.icon-ban,.icon-bar-chart,.icon-basket,.icon-basket-loaded,.icon-bell,.icon-book-open,.icon-briefcase,.icon-bubble,.icon-bubbles,.icon-bulb,.icon-calculator,.icon-calendar,.icon-call-end,.icon-call-in,.icon-call-out,.icon-camcorder,.icon-camera,.icon-check,.icon-chemistry,.icon-clock,.icon-close,.icon-cloud-download,.icon-cloud-upload,.icon-compass,.icon-control-end,.icon-control-forward,.icon-control-pause,.icon-control-play,.icon-control-rewind,.icon-control-start,.icon-credit-card,.icon-crop,.icon-cup,.icon-cursor,.icon-cursor-move,.icon-diamond,.icon-direction,.icon-directions,.icon-disc,.icon-dislike,.icon-doc,.icon-docs,.icon-drawer,.icon-drop,.icon-earphones,.icon-earphones-alt,.icon-emoticon-smile,.icon-energy,.icon-envelope,.icon-envelope-letter,.icon-envelope-open,.icon-equalizer,.icon-eye,.icon-eyeglasses,.icon-feed,.icon-film,.icon-fire,.icon-flag,.icon-folder,.icon-folder-alt,.icon-frame,.icon-game-controller,.icon-ghost,.icon-globe,.icon-globe-alt,.icon-graduation,.icon-graph,.icon-grid,.icon-handbag,.icon-heart,.icon-home,.icon-hourglass,.icon-info,.icon-key,.icon-layers,.icon-like,.icon-link,.icon-list,.icon-lock,.icon-lock-open,.icon-login,.icon-logout,.icon-loop,.icon-magic-wand,.icon-magnet,.icon-magnifier,.icon-magnifier-add,.icon-magnifier-remove,.icon-map,.icon-microphone,.icon-mouse,.icon-moustache,.icon-music-tone,.icon-music-tone-alt,.icon-note,.icon-notebook,.icon-paper-clip,.icon-paper-plane,.icon-pencil,.icon-picture,.icon-pie-chart,.icon-pin,.icon-plane,.icon-playlist,.icon-plus,.icon-pointer,.icon-power,.icon-present,.icon-printer,.icon-puzzle,.icon-question,.icon-refresh,.icon-reload,.icon-rocket,.icon-screen-desktop,.icon-screen-smartphone,.icon-screen-tablet,.icon-settings,.icon-share,.icon-share-alt,.icon-shield,.icon-shuffle,.icon-size-actual,.icon-size-fullscreen,.icon-social-dribbble,.icon-social-dropbox,.icon-social-facebook,.icon-social-tumblr,.icon-social-twitter,.icon-social-youtube,.icon-speech,.icon-speedometer,.icon-star,.icon-support,.icon-symbol-female,.icon-symbol-male,.icon-tag,.icon-target,.icon-trash,.icon-trophy,.icon-umbrella,.icon-user,.icon-user-female,.icon-user-follow,.icon-user-following,.icon-user-unfollow,.icon-users,.icon-vector,.icon-volume-1,.icon-volume-2,.icon-volume-off,.icon-wallet,.icon-wrench{font-family:Simple-Line-Icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased}.icon-user-female:before{content:"\e000"}.icon-user-follow:before{content:"\e002"}.icon-user-following:before{content:"\e003"}.icon-user-unfollow:before{content:"\e004"}.icon-trophy:before{content:"\e006"}.icon-screen-smartphone:before{content:"\e010"}.icon-screen-desktop:before{content:"\e011"}.icon-plane:before{content:"\e012"}.icon-notebook:before{content:"\e013"}.icon-moustache:before{content:"\e014"}.icon-mouse:before{content:"\e015"}.icon-magnet:before{content:"\e016"}.icon-energy:before{content:"\e020"}.icon-emoticon-smile:before{content:"\e021"}.icon-disc:before{content:"\e022"}.icon-cursor-move:before{content:"\e023"}.icon-crop:before{content:"\e024"}.icon-credit-card:before{content:"\e025"}.icon-chemistry:before{content:"\e026"}.icon-user:before{content:"\e005"}.icon-speedometer:before{content:"\e007"}.icon-social-youtube:before{content:"\e008"}.icon-social-twitter:before{content:"\e009"}.icon-social-tumblr:before{content:"\e00a"}.icon-social-facebook:before{content:"\e00b"}.icon-social-dropbox:before{content:"\e00c"}.icon-social-dribbble:before{content:"\e00d"}.icon-shield:before{content:"\e00e"}.icon-screen-tablet:before{content:"\e00f"}.icon-magic-wand:before{content:"\e017"}.icon-hourglass:before{content:"\e018"}.icon-graduation:before{content:"\e019"}.icon-ghost:before{content:"\e01a"}.icon-game-controller:before{content:"\e01b"}.icon-fire:before{content:"\e01c"}.icon-eyeglasses:before{content:"\e01d"}.icon-envelope-open:before{content:"\e01e"}.icon-envelope-letter:before{content:"\e01f"}.icon-bell:before{content:"\e027"}.icon-badge:before{content:"\e028"}.icon-anchor:before{content:"\e029"}.icon-wallet:before{content:"\e02a"}.icon-vector:before{content:"\e02b"}.icon-speech:before{content:"\e02c"}.icon-puzzle:before{content:"\e02d"}.icon-printer:before{content:"\e02e"}.icon-present:before{content:"\e02f"}.icon-playlist:before{content:"\e030"}.icon-pin:before{content:"\e031"}.icon-picture:before{content:"\e032"}.icon-map:before{content:"\e033"}.icon-layers:before{content:"\e034"}.icon-handbag:before{content:"\e035"}.icon-globe-alt:before{content:"\e036"}.icon-globe:before{content:"\e037"}.icon-frame:before{content:"\e038"}.icon-folder-alt:before{content:"\e039"}.icon-film:before{content:"\e03a"}.icon-feed:before{content:"\e03b"}.icon-earphones-alt:before{content:"\e03c"}.icon-earphones:before{content:"\e03d"}.icon-drop:before{content:"\e03e"}.icon-drawer:before{content:"\e03f"}.icon-docs:before{content:"\e040"}.icon-directions:before{content:"\e041"}.icon-direction:before{content:"\e042"}.icon-diamond:before{content:"\e043"}.icon-cup:before{content:"\e044"}.icon-compass:before{content:"\e045"}.icon-call-out:before{content:"\e046"}.icon-call-in:before{content:"\e047"}.icon-call-end:before{content:"\e048"}.icon-calculator:before{content:"\e049"}.icon-bubbles:before{content:"\e04a"}.icon-briefcase:before{content:"\e04b"}.icon-book-open:before{content:"\e04c"}.icon-basket-loaded:before{content:"\e04d"}.icon-basket:before{content:"\e04e"}.icon-bag:before{content:"\e04f"}.icon-action-undo:before{content:"\e050"}.icon-action-redo:before{content:"\e051"}.icon-wrench:before{content:"\e052"}.icon-umbrella:before{content:"\e053"}.icon-trash:before{content:"\e054"}.icon-tag:before{content:"\e055"}.icon-support:before{content:"\e056"}.icon-size-fullscreen:before{content:"\e057"}.icon-size-actual:before{content:"\e058"}.icon-shuffle:before{content:"\e059"}.icon-share-alt:before{content:"\e05a"}.icon-share:before{content:"\e05b"}.icon-rocket:before{content:"\e05c"}.icon-question:before{content:"\e05d"}.icon-pie-chart:before{content:"\e05e"}.icon-pencil:before{content:"\e05f"}.icon-note:before{content:"\e060"}.icon-music-tone-alt:before{content:"\e061"}.icon-music-tone:before{content:"\e062"}.icon-microphone:before{content:"\e063"}.icon-loop:before{content:"\e064"}.icon-logout:before{content:"\e065"}.icon-login:before{content:"\e066"}.icon-list:before{content:"\e067"}.icon-like:before{content:"\e068"}.icon-home:before{content:"\e069"}.icon-grid:before{content:"\e06a"}.icon-graph:before{content:"\e06b"}.icon-equalizer:before{content:"\e06c"}.icon-dislike:before{content:"\e06d"}.icon-cursor:before{content:"\e06e"}.icon-control-start:before{content:"\e06f"}.icon-control-rewind:before{content:"\e070"}.icon-control-play:before{content:"\e071"}.icon-control-pause:before{content:"\e072"}.icon-control-forward:before{content:"\e073"}.icon-control-end:before{content:"\e074"}.icon-calendar:before{content:"\e075"}.icon-bulb:before{content:"\e076"}.icon-bar-chart:before{content:"\e077"}.icon-arrow-up:before{content:"\e078"}.icon-arrow-right:before{content:"\e079"}.icon-arrow-left:before{content:"\e07a"}.icon-arrow-down:before{content:"\e07b"}.icon-ban:before{content:"\e07c"}.icon-bubble:before{content:"\e07d"}.icon-camcorder:before{content:"\e07e"}.icon-camera:before{content:"\e07f"}.icon-check:before{content:"\e080"}.icon-clock:before{content:"\e081"}.icon-close:before{content:"\e082"}.icon-cloud-download:before{content:"\e083"}.icon-cloud-upload:before{content:"\e084"}.icon-doc:before{content:"\e085"}.icon-envelope:before{content:"\e086"}.icon-eye:before{content:"\e087"}.icon-flag:before{content:"\e088"}.icon-folder:before{content:"\e089"}.icon-heart:before{content:"\e08a"}.icon-info:before{content:"\e08b"}.icon-key:before{content:"\e08c"}.icon-link:before{content:"\e08d"}.icon-lock:before{content:"\e08e"}.icon-lock-open:before{content:"\e08f"}.icon-magnifier:before{content:"\e090"}.icon-magnifier-add:before{content:"\e091"}.icon-magnifier-remove:before{content:"\e092"}.icon-paper-clip:before{content:"\e093"}.icon-paper-plane:before{content:"\e094"}.icon-plus:before{content:"\e095"}.icon-pointer:before{content:"\e096"}.icon-power:before{content:"\e097"}.icon-refresh:before{content:"\e098"}.icon-reload:before{content:"\e099"}.icon-settings:before{content:"\e09a"}.icon-star:before{content:"\e09b"}.icon-symbol-female:before{content:"\e09c"}.icon-symbol-male:before{content:"\e09d"}.icon-target:before{content:"\e09e"}.icon-volume-1:before{content:"\e09f"}.icon-volume-2:before{content:"\e0a0"}.icon-volume-off:before{content:"\e0a1"}.icon-users:before{content:"\e001"} \ No newline at end of file diff --git a/boot/assets/tv/deps.tmpl b/boot/assets/tv/deps.tmpl new file mode 100644 index 0000000..3a97247 --- /dev/null +++ b/boot/assets/tv/deps.tmpl @@ -0,0 +1,45 @@ +{{define "deps"}} + + +{{template "head"}} + + +{{template "svg-sprite"}} + +
+ {{template "header"}} +
+ {{template "aside"}} + +
+ +
+
+ + +
+
+ + +
+ +
+

Dependency

+
+
+
+
{{ .GoMod }}
+
+
+
+
+
+ {{template "footer"}} +
+ + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/entries.tmpl b/boot/assets/tv/entries.tmpl new file mode 100644 index 0000000..65ec34b --- /dev/null +++ b/boot/assets/tv/entries.tmpl @@ -0,0 +1,91 @@ +{{define "entries"}} + + +{{template "head"}} + + +{{template "svg-sprite"}} +
+ {{template "header"}} +
+ {{template "aside"}} + +
+ +
+
+ + +
+
+ +
+ +
+

Entry

+

List of entries started while bootstrapping rk application.

+
+ +
+ {{ range $entryType, $entryList := .Entries }} +

{{ $entryType }}

+
+ {{ range . }} +

{{ .EntryName }}

+
+ + + + + + + + + + + + + + + + +
Entry NameEntry TypeDescription
{{ .EntryName }}{{ .EntryType }}{{ .EntryDescription }}
+
+
+ + +
+
+                
+                
+
+ + +
+
+                
+
+
+
+ {{ end }} + {{ end }} +
+
+
+
+
+ {{template "footer"}} +
+ + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/env.tmpl b/boot/assets/tv/env.tmpl new file mode 100644 index 0000000..a52e907 --- /dev/null +++ b/boot/assets/tv/env.tmpl @@ -0,0 +1,58 @@ +{{define "env"}} + + +{{template "head"}} + +{{template "svg-sprite"}} +
+ {{template "header"}} +
+ {{template "aside"}} + +
+ +
+
+ + +
+
+ +
+ +

Go Environment

+ + + + + + + + + + + + + + + + + + + + + + +
OSArchVersionRoutinesStart TimeUp Time
{{ .GoEnvInfo.GOOS }}{{ .GoEnvInfo.GOArch }}{{ .GoEnvInfo.Version }}{{ .GoEnvInfo.RoutinesCount }}{{ .GoEnvInfo.StartTime }}{{ .GoEnvInfo.UpTimeStr }}
+
+
+
+ {{template "footer"}} +
+ + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/error-mapping.tmpl b/boot/assets/tv/error-mapping.tmpl new file mode 100644 index 0000000..6a86a9f --- /dev/null +++ b/boot/assets/tv/error-mapping.tmpl @@ -0,0 +1,62 @@ +{{define "gw-error-mapping"}} + + +{{template "head"}} + + +{{template "svg-sprite"}} + +
+ {{template "header"}} +
+ {{template "aside"}} + +
+ +
+
+ + +
+
+ + +
+ +
+

Error Mapping

+
+ + + + + + + + + + + + {{ range .Mapping }} + + + + + + + {{ end }} + +
Grpc CodeGrpc TextHttp CodeHttp Text
{{ .GrpcCode }}{{ .GrpcText }}{{ .RestCode }}{{ .RestText }}
+
+ +
+ + {{template "footer"}} + + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/footer.tmpl b/boot/assets/tv/footer.tmpl new file mode 100644 index 0000000..dad3e26 --- /dev/null +++ b/boot/assets/tv/footer.tmpl @@ -0,0 +1,7 @@ +{{define "footer"}} +
+
+ Built with Hugo and +
+
+{{end}} \ No newline at end of file diff --git a/boot/assets/tv/git.tmpl b/boot/assets/tv/git.tmpl new file mode 100644 index 0000000..78d3052 --- /dev/null +++ b/boot/assets/tv/git.tmpl @@ -0,0 +1,85 @@ +{{define "git"}} + + +{{template "head"}} + + +{{template "svg-sprite"}} +
+ {{template "header"}} +
+ {{template "aside"}} + +
+ +
+
+ + +
+
+ +
+ +
+

Git

+
+ +
+ + + +
+
+ +
+

Package

+

{{ .Package }}

+
+ +
+

Branch

+

{{ .Branch }}

+
+
+

Tag

+

{{ .Tag }}

+
+
+
+
+ +
+

Current Commits

+
+ + + + + + + + + + + + + + + + + + +
IdSubjectNameDate
{{ .CommitIdAbbr }}{{ .CommitSub }}{{ .CommitterName }}{{ .CommitDate }}
+
+
+
+ {{template "footer"}} +
+ + +{{end}} diff --git a/boot/assets/tv/head.tmpl b/boot/assets/tv/head.tmpl new file mode 100644 index 0000000..a922ea8 --- /dev/null +++ b/boot/assets/tv/head.tmpl @@ -0,0 +1,37 @@ +{{define "head"}} + + + + + RK TV + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/header.tmpl b/boot/assets/tv/header.tmpl new file mode 100644 index 0000000..5778e1e --- /dev/null +++ b/boot/assets/tv/header.tmpl @@ -0,0 +1,18 @@ +{{define "header"}} +
+
+ + + RK-TV + + + + + + +
+
+{{end}} \ No newline at end of file diff --git a/boot/assets/tv/image/brand.svg b/boot/assets/tv/image/brand.svg new file mode 100644 index 0000000..e20f9c5 --- /dev/null +++ b/boot/assets/tv/image/brand.svg @@ -0,0 +1,88 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/boot/assets/tv/image/favicon-32x32.png b/boot/assets/tv/image/favicon-32x32.png new file mode 100644 index 0000000..1251c54 Binary files /dev/null and b/boot/assets/tv/image/favicon-32x32.png differ diff --git a/boot/assets/tv/image/tv.svg b/boot/assets/tv/image/tv.svg new file mode 100644 index 0000000..bbfc19b --- /dev/null +++ b/boot/assets/tv/image/tv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/boot/assets/tv/info.tmpl b/boot/assets/tv/info.tmpl new file mode 100644 index 0000000..77c5372 --- /dev/null +++ b/boot/assets/tv/info.tmpl @@ -0,0 +1,146 @@ +{{define "info"}} + + +{{template "head"}} + + +{{template "svg-sprite"}} +
+ {{template "header"}} +
+ {{template "aside"}} + +
+ +
+
+ + +
+
+ +
+ +
+

Info

+
+ +
+ + + +
+
+ +
+

Name

+

{{ .AppName }}

+
+ +
+

Version

+

{{ .Version }}

+
+ +
+

Description

+

{{ .Description }}

+
+ +
+

Keywords

+ {{ range .Keywords}} +
  • {{.}}
  • + {{ end }} +
    + +
    +

    Home URL

    +

    {{ .HomeUrl }}

    +
    + +
    +

    Icon URL

    +

    {{ .IconUrl }}

    +
    + +
    +

    Docs URL

    + {{ range .DocsUrl}} +
  • {{.}}
  • + {{ end }} +
    + +
    +

    Maintainers

    + {{ range .Maintainers}} +
  • {{.}}
  • + {{ end }} +
    +
    +
    + + + +
    +
    + +
    +

    Start time

    +

    {{ .StartTime }}

    +
    + +
    +

    Up time

    +

    {{ .UpTimeStr }}

    +
    + +
    +

    Username

    +

    {{ .Username }}

    +
    + +
    +

    GID

    +

    {{ .GID }}

    +
    + +
    +

    UID

    +

    {{ .UID }}

    +
    + +
    +

    Realm

    +

    {{ .Realm }}

    +
    + +
    +

    Region

    +

    {{ .Region }}

    +
    + +
    +

    AZ

    +

    {{ .AZ }}

    +
    + +
    +

    Domain

    +

    {{ .Domain }}

    +
    +
    +
    +
    +
    +
    +
    + {{template "footer"}} +
    + + +{{end}} diff --git a/boot/assets/tv/internal-error.tmpl b/boot/assets/tv/internal-error.tmpl new file mode 100644 index 0000000..b831a45 --- /dev/null +++ b/boot/assets/tv/internal-error.tmpl @@ -0,0 +1,29 @@ +{{define "internal-error"}} + + +{{template "head"}} + + +{{template "svg-sprite"}} +
    + {{template "header"}} +
    + {{template "aside"}} + +
    + +
    + +
    +

    Oops!

    +

    500 Internal Server Error

    +
    Sorry, an error has occurred, Internal server error!
    +
    +
    +
    +
    + {{template "footer"}} +
    + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/js/Chart.bundle.min.js b/boot/assets/tv/js/Chart.bundle.min.js new file mode 100644 index 0000000..efb0b2a --- /dev/null +++ b/boot/assets/tv/js/Chart.bundle.min.js @@ -0,0 +1,10 @@ +/*! + * Chart.js + * http://chartjs.org/ + * Version: 2.7.0 + * + * Copyright 2017 Nick Downie + * Released under the MIT license + * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md + */ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Chart=t()}}(function(){return function t(e,n,i){function a(o,s){if(!n[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(r)return r(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var d=n[o]={exports:{}};e[o][0].call(d.exports,function(t){var n=e[o][1][t];return a(n||t)},d,d.exports,t,e,n,i)}return n[o].exports}for(var r="function"==typeof require&&require,o=0;on?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,n=(e[0]+t)%360;return e[0]=n<0?360+n:n,this.setValues("hsl",e),this},mix:function(t,e){var n=this,i=t,a=void 0===e?.5:e,r=2*a-1,o=n.alpha()-i.alpha(),s=((r*o==-1?r:(r+o)/(1+r*o))+1)/2,l=1-s;return this.rgb(s*n.red()+l*i.red(),s*n.green()+l*i.green(),s*n.blue()+l*i.blue()).alpha(n.alpha()*a+i.alpha()*(1-a))},toJSON:function(){return this.rgb()},clone:function(){var t,e,n=new r,i=this.values,a=n.values;for(var o in i)i.hasOwnProperty(o)&&(t=i[o],"[object Array]"===(e={}.toString.call(t))?a[o]=t.slice(0):"[object Number]"===e?a[o]=t:console.error("unexpected color value:",t));return n}},r.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},r.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},r.prototype.getValues=function(t){for(var e=this.values,n={},i=0;i.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]}function d(t){var e,n,i,a=u(t),r=a[0],o=a[1],s=a[2];return r/=95.047,o/=100,s/=108.883,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,s=s>.008856?Math.pow(s,1/3):7.787*s+16/116,e=116*o-16,n=500*(r-o),i=200*(o-s),[e,n,i]}function c(t){var e,n,i,a,r,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0==s)return r=255*l,[r,r,r];e=2*l-(n=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var u=0;u<3;u++)(i=o+1/3*-(u-1))<0&&i++,i>1&&i--,r=6*i<1?e+6*(n-e)*i:2*i<1?n:3*i<2?e+(n-e)*(2/3-i)*6:e,a[u]=255*r;return a}function h(t){var e=t[0]/60,n=t[1]/100,i=t[2]/100,a=Math.floor(e)%6,r=e-Math.floor(e),o=255*i*(1-n),s=255*i*(1-n*r),l=255*i*(1-n*(1-r)),i=255*i;switch(a){case 0:return[i,l,o];case 1:return[s,i,o];case 2:return[o,i,l];case 3:return[o,s,i];case 4:return[l,o,i];case 5:return[i,o,s]}}function f(t){var e,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100,u=s+l;switch(u>1&&(s/=u,l/=u),e=Math.floor(6*o),n=1-l,i=6*o-e,0!=(1&e)&&(i=1-i),a=s+i*(n-s),e){default:case 6:case 0:r=n,g=a,b=s;break;case 1:r=a,g=n,b=s;break;case 2:r=s,g=n,b=a;break;case 3:r=s,g=a,b=n;break;case 4:r=a,g=s,b=n;break;case 5:r=n,g=s,b=a}return[255*r,255*g,255*b]}function m(t){var e,n,i,a=t[0]/100,r=t[1]/100,o=t[2]/100,s=t[3]/100;return e=1-Math.min(1,a*(1-s)+s),n=1-Math.min(1,r*(1-s)+s),i=1-Math.min(1,o*(1-s)+s),[255*e,255*n,255*i]}function p(t){var e,n,i,a=t[0]/100,r=t[1]/100,o=t[2]/100;return e=3.2406*a+-1.5372*r+-.4986*o,n=-.9689*a+1.8758*r+.0415*o,i=.0557*a+-.204*r+1.057*o,e=e>.0031308?1.055*Math.pow(e,1/2.4)-.055:e*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,e=Math.min(Math.max(0,e),1),n=Math.min(Math.max(0,n),1),i=Math.min(Math.max(0,i),1),[255*e,255*n,255*i]}function v(t){var e,n,i,a=t[0],r=t[1],o=t[2];return a/=95.047,r/=100,o/=108.883,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,e=116*r-16,n=500*(a-r),i=200*(r-o),[e,n,i]}function y(t){var e,n,i,a,r=t[0],o=t[1],s=t[2];return r<=8?a=(n=100*r/903.3)/100*7.787+16/116:(n=100*Math.pow((r+16)/116,3),a=Math.pow(n/100,1/3)),e=e/95.047<=.008856?e=95.047*(o/500+a-16/116)/7.787:95.047*Math.pow(o/500+a,3),i=i/108.883<=.008859?i=108.883*(a-s/200-16/116)/7.787:108.883*Math.pow(a-s/200,3),[e,n,i]}function x(t){var e,n,i,a=t[0],r=t[1],o=t[2];return e=Math.atan2(o,r),(n=360*e/2/Math.PI)<0&&(n+=360),i=Math.sqrt(r*r+o*o),[a,i,n]}function _(t){return p(y(t))}function k(t){var e,n,i,a=t[0],r=t[1];return i=t[2]/360*2*Math.PI,e=r*Math.cos(i),n=r*Math.sin(i),[a,e,n]}function w(t){return M[t]}e.exports={rgb2hsl:i,rgb2hsv:a,rgb2hwb:o,rgb2cmyk:s,rgb2keyword:l,rgb2xyz:u,rgb2lab:d,rgb2lch:function(t){return x(d(t))},hsl2rgb:c,hsl2hsv:function(t){var e,n,i=t[0],a=t[1]/100,r=t[2]/100;return 0===r?[0,0,0]:(r*=2,a*=r<=1?r:2-r,n=(r+a)/2,e=2*a/(r+a),[i,100*e,100*n])},hsl2hwb:function(t){return o(c(t))},hsl2cmyk:function(t){return s(c(t))},hsl2keyword:function(t){return l(c(t))},hsv2rgb:h,hsv2hsl:function(t){var e,n,i=t[0],a=t[1]/100,r=t[2]/100;return n=(2-a)*r,e=a*r,e/=n<=1?n:2-n,e=e||0,n/=2,[i,100*e,100*n]},hsv2hwb:function(t){return o(h(t))},hsv2cmyk:function(t){return s(h(t))},hsv2keyword:function(t){return l(h(t))},hwb2rgb:f,hwb2hsl:function(t){return i(f(t))},hwb2hsv:function(t){return a(f(t))},hwb2cmyk:function(t){return s(f(t))},hwb2keyword:function(t){return l(f(t))},cmyk2rgb:m,cmyk2hsl:function(t){return i(m(t))},cmyk2hsv:function(t){return a(m(t))},cmyk2hwb:function(t){return o(m(t))},cmyk2keyword:function(t){return l(m(t))},keyword2rgb:w,keyword2hsl:function(t){return i(w(t))},keyword2hsv:function(t){return a(w(t))},keyword2hwb:function(t){return o(w(t))},keyword2cmyk:function(t){return s(w(t))},keyword2lab:function(t){return d(w(t))},keyword2xyz:function(t){return u(w(t))},xyz2rgb:p,xyz2lab:v,xyz2lch:function(t){return x(v(t))},lab2xyz:y,lab2rgb:_,lab2lch:x,lch2lab:k,lch2xyz:function(t){return y(k(t))},lch2rgb:function(t){return _(k(t))}};var M={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},S={};for(var D in M)S[JSON.stringify(M[D])]=D},{}],4:[function(t,e,n){var i=t(3),a=function(){return new u};for(var r in i){a[r+"Raw"]=function(t){return function(e){return"number"==typeof e&&(e=Array.prototype.slice.call(arguments)),i[t](e)}}(r);var o=/(\w+)2(\w+)/.exec(r),s=o[1],l=o[2];(a[s]=a[s]||{})[l]=a[r]=function(t){return function(e){"number"==typeof e&&(e=Array.prototype.slice.call(arguments));var n=i[t](e);if("string"==typeof n||void 0===n)return n;for(var a=0;a0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+i}function N(t,e,n,i){var a=i;"string"==typeof i&&(a=function(){return this[i]()}),t&&(Ne[t]=a),e&&(Ne[e[0]]=function(){return Y(a.apply(this,arguments),e[1],e[2])}),n&&(Ne[n]=function(){return this.localeData().ordinal(a.apply(this,arguments),t)})}function z(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function B(t){var e,n,i=t.match(Le);for(e=0,n=i.length;e=0&&We.test(t);)t=t.replace(We,function(t){return e.longDateFormat(t)||t}),We.lastIndex=0,n-=1;return t}function E(t,e,n){nn[t]=D(e)?e:function(t,i){return t&&n?n:e}}function j(t,e){return d(nn,t)?nn[t](e._strict,e._locale):new RegExp(U(t))}function U(t){return q(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,i,a){return e||n||i||a}))}function q(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function G(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),s(e)&&(i=function(t,n){n[e]=_(t)}),n=0;n=0&&isFinite(s.getFullYear())&&s.setFullYear(t),s}function at(t){var e=new Date(Date.UTC.apply(null,arguments));return t<100&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function rt(t,e,n){var i=7+e-n;return-((7+at(t,0,i).getUTCDay()-e)%7)+i-1}function ot(t,e,n,i,a){var r,o,s=1+7*(e-1)+(7+n-i)%7+rt(t,i,a);return s<=0?o=et(r=t-1)+s:s>et(t)?(r=t+1,o=s-et(t)):(r=t,o=s),{year:r,dayOfYear:o}}function st(t,e,n){var i,a,r=rt(t.year(),e,n),o=Math.floor((t.dayOfYear()-r-1)/7)+1;return o<1?i=o+lt(a=t.year()-1,e,n):o>lt(t.year(),e,n)?(i=o-lt(t.year(),e,n),a=t.year()+1):(a=t.year(),i=o),{week:i,year:a}}function lt(t,e,n){var i=rt(t,e,n),a=rt(t+1,e,n);return(et(t)-i+a)/7}function ut(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}function dt(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function ct(t,e,n){var i,a,r,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)r=h([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(a=gn.call(this._weekdaysParse,o))?a:null:"ddd"===e?-1!==(a=gn.call(this._shortWeekdaysParse,o))?a:null:-1!==(a=gn.call(this._minWeekdaysParse,o))?a:null:"dddd"===e?-1!==(a=gn.call(this._weekdaysParse,o))?a:-1!==(a=gn.call(this._shortWeekdaysParse,o))?a:-1!==(a=gn.call(this._minWeekdaysParse,o))?a:null:"ddd"===e?-1!==(a=gn.call(this._shortWeekdaysParse,o))?a:-1!==(a=gn.call(this._weekdaysParse,o))?a:-1!==(a=gn.call(this._minWeekdaysParse,o))?a:null:-1!==(a=gn.call(this._minWeekdaysParse,o))?a:-1!==(a=gn.call(this._weekdaysParse,o))?a:-1!==(a=gn.call(this._shortWeekdaysParse,o))?a:null}function ht(){function t(t,e){return e.length-t.length}var e,n,i,a,r,o=[],s=[],l=[],u=[];for(e=0;e<7;e++)n=h([2e3,1]).day(e),i=this.weekdaysMin(n,""),a=this.weekdaysShort(n,""),r=this.weekdays(n,""),o.push(i),s.push(a),l.push(r),u.push(i),u.push(a),u.push(r);for(o.sort(t),s.sort(t),l.sort(t),u.sort(t),e=0;e<7;e++)s[e]=q(s[e]),l[e]=q(l[e]),u[e]=q(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function ft(){return this.hours()%12||12}function gt(t,e){N(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function mt(t,e){return e._meridiemParse}function pt(t){return t?t.toLowerCase().replace("_","-"):t}function vt(t){for(var e,n,i,a,r=0;r0;){if(i=yt(a.slice(0,e).join("-")))return i;if(n&&n.length>=e&&k(a,n,!0)>=e-1)break;e--}r++}return null}function yt(n){var i=null;if(!On[n]&&void 0!==e&&e&&e.exports)try{i=Pn._abbr,t("./locale/"+n),bt(i)}catch(t){}return On[n]}function bt(t,e){var n;return t&&(n=o(e)?_t(t):xt(t,e))&&(Pn=n),Pn._abbr}function xt(t,e){if(null!==e){var n=An;if(e.abbr=t,null!=On[t])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=On[t]._config;else if(null!=e.parentLocale){if(null==On[e.parentLocale])return Fn[e.parentLocale]||(Fn[e.parentLocale]=[]),Fn[e.parentLocale].push({name:t,config:e}),null;n=On[e.parentLocale]._config}return On[t]=new P(C(n,e)),Fn[t]&&Fn[t].forEach(function(t){xt(t.name,t.config)}),bt(t),On[t]}return delete On[t],null}function _t(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return Pn;if(!i(t)){if(e=yt(t))return e;t=[t]}return vt(t)}function kt(t){var e,n=t._a;return n&&-2===g(t).overflow&&(e=n[on]<0||n[on]>11?on:n[sn]<1||n[sn]>J(n[rn],n[on])?sn:n[ln]<0||n[ln]>24||24===n[ln]&&(0!==n[un]||0!==n[dn]||0!==n[cn])?ln:n[un]<0||n[un]>59?un:n[dn]<0||n[dn]>59?dn:n[cn]<0||n[cn]>999?cn:-1,g(t)._overflowDayOfYear&&(esn)&&(e=sn),g(t)._overflowWeeks&&-1===e&&(e=hn),g(t)._overflowWeekday&&-1===e&&(e=fn),g(t).overflow=e),t}function wt(t){var e,n,i,a,r,o,s=t._i,l=Rn.exec(s)||Ln.exec(s);if(l){for(g(t).iso=!0,e=0,n=Yn.length;e10?"YYYY ":"YY "),r="HH:mm"+(n[4]?":ss":""),n[1]){var d=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][new Date(n[2]).getDay()];if(n[1].substr(0,3)!==d)return g(t).weekdayMismatch=!0,void(t._isValid=!1)}switch(n[5].length){case 2:s=0===l?" +0000":((l="YXWVUTSRQPONZABCDEFGHIKLM".indexOf(n[5][1].toUpperCase())-12)<0?" -":" +")+(""+l).replace(/^-?/,"0").match(/..$/)[0]+"00";break;case 4:s=u[n[5]];break;default:s=u[" GMT"]}n[5]=s,t._i=n.splice(1).join(""),o=" ZZ",t._f=i+a+r+o,It(t),g(t).rfc2822=!0}else t._isValid=!1}function St(t){var e=zn.exec(t._i);null===e?(wt(t),!1===t._isValid&&(delete t._isValid,Mt(t),!1===t._isValid&&(delete t._isValid,n.createFromInputFallback(t)))):t._d=new Date(+e[1])}function Dt(t,e,n){return null!=t?t:null!=e?e:n}function Ct(t){var e=new Date(n.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function Pt(t){var e,n,i,a,r=[];if(!t._d){for(i=Ct(t),t._w&&null==t._a[sn]&&null==t._a[on]&&Tt(t),null!=t._dayOfYear&&(a=Dt(t._a[rn],i[rn]),(t._dayOfYear>et(a)||0===t._dayOfYear)&&(g(t)._overflowDayOfYear=!0),n=at(a,0,t._dayOfYear),t._a[on]=n.getUTCMonth(),t._a[sn]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=r[e]=i[e];for(;e<7;e++)t._a[e]=r[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[ln]&&0===t._a[un]&&0===t._a[dn]&&0===t._a[cn]&&(t._nextDay=!0,t._a[ln]=0),t._d=(t._useUTC?at:it).apply(null,r),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[ln]=24)}}function Tt(t){var e,n,i,a,r,o,s,l;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)r=1,o=4,n=Dt(e.GG,t._a[rn],st(Nt(),1,4).year),i=Dt(e.W,1),((a=Dt(e.E,1))<1||a>7)&&(l=!0);else{r=t._locale._week.dow,o=t._locale._week.doy;var u=st(Nt(),r,o);n=Dt(e.gg,t._a[rn],u.year),i=Dt(e.w,u.week),null!=e.d?((a=e.d)<0||a>6)&&(l=!0):null!=e.e?(a=e.e+r,(e.e<0||e.e>6)&&(l=!0)):a=r}i<1||i>lt(n,r,o)?g(t)._overflowWeeks=!0:null!=l?g(t)._overflowWeekday=!0:(s=ot(n,i,a,r,o),t._a[rn]=s.year,t._dayOfYear=s.dayOfYear)}function It(t){if(t._f!==n.ISO_8601)if(t._f!==n.RFC_2822){t._a=[],g(t).empty=!0;var e,i,a,r,o,s=""+t._i,l=s.length,u=0;for(a=H(t._f,t._locale).match(Le)||[],e=0;e0&&g(t).unusedInput.push(o),s=s.slice(s.indexOf(i)+i.length),u+=i.length),Ne[r]?(i?g(t).empty=!1:g(t).unusedTokens.push(r),X(r,i,t)):t._strict&&!i&&g(t).unusedTokens.push(r);g(t).charsLeftOver=l-u,s.length>0&&g(t).unusedInput.push(s),t._a[ln]<=12&&!0===g(t).bigHour&&t._a[ln]>0&&(g(t).bigHour=void 0),g(t).parsedDateParts=t._a.slice(0),g(t).meridiem=t._meridiem,t._a[ln]=At(t._locale,t._a[ln],t._meridiem),Pt(t),kt(t)}else Mt(t);else wt(t)}function At(t,e,n){var i;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?((i=t.isPM(n))&&e<12&&(e+=12),i||12!==e||(e=0),e):e}function Ot(t){var e,n,i,a,r;if(0===t._f.length)return g(t).invalidFormat=!0,void(t._d=new Date(NaN));for(a=0;ar&&(e=r),oe.call(this,t,e,n,i,a))}function oe(t,e,n,i,a){var r=ot(t,e,n,i,a),o=at(r.year,0,r.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function se(t){return t}function le(t,e,n,i){var a=_t(),r=h().set(i,e);return a[n](r,t)}function ue(t,e,n){if(s(t)&&(e=t,t=void 0),t=t||"",null!=e)return le(t,e,n,"month");var i,a=[];for(i=0;i<12;i++)a[i]=le(t,i,n,"month");return a}function de(t,e,n,i){"boolean"==typeof t?(s(e)&&(n=e,e=void 0),e=e||""):(n=e=t,t=!1,s(e)&&(n=e,e=void 0),e=e||"");var a=_t(),r=t?a._week.dow:0;if(null!=n)return le(e,(n+r)%7,i,"day");var o,l=[];for(o=0;o<7;o++)l[o]=le(e,(o+r)%7,i,"day");return l}function ce(t,e,n,i){var a=Xt(e,n);return t._milliseconds+=i*a._milliseconds,t._days+=i*a._days,t._months+=i*a._months,t._bubble()}function he(t){return t<0?Math.floor(t):Math.ceil(t)}function fe(t){return 4800*t/146097}function ge(t){return 146097*t/4800}function me(t){return function(){return this.as(t)}}function pe(t){return function(){return this.isValid()?this._data[t]:NaN}}function ve(t,e,n,i,a){return a.relativeTime(e||1,!!n,t,i)}function ye(t,e,n){var i=Xt(t).abs(),a=bi(i.as("s")),r=bi(i.as("m")),o=bi(i.as("h")),s=bi(i.as("d")),l=bi(i.as("M")),u=bi(i.as("y")),d=a<=xi.ss&&["s",a]||a0,d[4]=n,ve.apply(null,d)}function be(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n,i=_i(this._milliseconds)/1e3,a=_i(this._days),r=_i(this._months);e=x((t=x(i/60))/60),i%=60,t%=60;var o=n=x(r/12),s=r%=12,l=a,u=e,d=t,c=i,h=this.asSeconds();return h?(h<0?"-":"")+"P"+(o?o+"Y":"")+(s?s+"M":"")+(l?l+"D":"")+(u||d||c?"T":"")+(u?u+"H":"")+(d?d+"M":"")+(c?c+"S":""):"P0D"}var xe,_e,ke=_e=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,i=0;i68?1900:2e3)};var xn=R("FullYear",!0);N("w",["ww",2],"wo","week"),N("W",["WW",2],"Wo","isoWeek"),T("week","w"),T("isoWeek","W"),O("week",5),O("isoWeek",5),E("w",je),E("ww",je,Be),E("W",je),E("WW",je,Be),Z(["w","ww","W","WW"],function(t,e,n,i){e[i.substr(0,1)]=_(t)});var _n={dow:0,doy:6};N("d",0,"do","day"),N("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),N("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),N("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),N("e",0,0,"weekday"),N("E",0,0,"isoWeekday"),T("day","d"),T("weekday","e"),T("isoWeekday","E"),O("day",11),O("weekday",11),O("isoWeekday",11),E("d",je),E("e",je),E("E",je),E("dd",function(t,e){return e.weekdaysMinRegex(t)}),E("ddd",function(t,e){return e.weekdaysShortRegex(t)}),E("dddd",function(t,e){return e.weekdaysRegex(t)}),Z(["dd","ddd","dddd"],function(t,e,n,i){var a=n._locale.weekdaysParse(t,i,n._strict);null!=a?e.d=a:g(n).invalidWeekday=t}),Z(["d","e","E"],function(t,e,n,i){e[i]=_(t)});var kn="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wn="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Mn="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Sn=en,Dn=en,Cn=en;N("H",["HH",2],0,"hour"),N("h",["hh",2],0,ft),N("k",["kk",2],0,function(){return this.hours()||24}),N("hmm",0,0,function(){return""+ft.apply(this)+Y(this.minutes(),2)}),N("hmmss",0,0,function(){return""+ft.apply(this)+Y(this.minutes(),2)+Y(this.seconds(),2)}),N("Hmm",0,0,function(){return""+this.hours()+Y(this.minutes(),2)}),N("Hmmss",0,0,function(){return""+this.hours()+Y(this.minutes(),2)+Y(this.seconds(),2)}),gt("a",!0),gt("A",!1),T("hour","h"),O("hour",13),E("a",mt),E("A",mt),E("H",je),E("h",je),E("k",je),E("HH",je,Be),E("hh",je,Be),E("kk",je,Be),E("hmm",Ue),E("hmmss",qe),E("Hmm",Ue),E("Hmmss",qe),G(["H","HH"],ln),G(["k","kk"],function(t,e,n){var i=_(t);e[ln]=24===i?0:i}),G(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),G(["h","hh"],function(t,e,n){e[ln]=_(t),g(n).bigHour=!0}),G("hmm",function(t,e,n){var i=t.length-2;e[ln]=_(t.substr(0,i)),e[un]=_(t.substr(i)),g(n).bigHour=!0}),G("hmmss",function(t,e,n){var i=t.length-4,a=t.length-2;e[ln]=_(t.substr(0,i)),e[un]=_(t.substr(i,2)),e[dn]=_(t.substr(a)),g(n).bigHour=!0}),G("Hmm",function(t,e,n){var i=t.length-2;e[ln]=_(t.substr(0,i)),e[un]=_(t.substr(i))}),G("Hmmss",function(t,e,n){var i=t.length-4,a=t.length-2;e[ln]=_(t.substr(0,i)),e[un]=_(t.substr(i,2)),e[dn]=_(t.substr(a))});var Pn,Tn=/[ap]\.?m?\.?/i,In=R("Hours",!0),An={calendar:Te,longDateFormat:Ie,invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:Ae,relativeTime:Oe,months:pn,monthsShort:vn,week:_n,weekdays:kn,weekdaysMin:Mn,weekdaysShort:wn,meridiemParse:Tn},On={},Fn={},Rn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ln=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Wn=/Z|[+-]\d\d(?::?\d\d)?/,Yn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Nn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],zn=/^\/?Date\((\-?\d+)/i,Bn=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;n.createFromInputFallback=M("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))}),n.ISO_8601=function(){},n.RFC_2822=function(){};var Vn=M("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var t=Nt.apply(null,arguments);return this.isValid()&&t.isValid()?tthis?this:t:p()}),En=["year","quarter","month","week","day","hour","minute","second","millisecond"];jt("Z",":"),jt("ZZ",""),E("Z",$e),E("ZZ",$e),G(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Ut($e,t)});var jn=/([\+\-]|\d\d)/gi;n.updateOffset=function(){};var Un=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,qn=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Xt.fn=Vt.prototype,Xt.invalid=function(){return Xt(NaN)};var Gn=$t(1,"add"),Zn=$t(-1,"subtract");n.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",n.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xn=M("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});N(0,["gg",2],0,function(){return this.weekYear()%100}),N(0,["GG",2],0,function(){return this.isoWeekYear()%100}),ae("gggg","weekYear"),ae("ggggg","weekYear"),ae("GGGG","isoWeekYear"),ae("GGGGG","isoWeekYear"),T("weekYear","gg"),T("isoWeekYear","GG"),O("weekYear",1),O("isoWeekYear",1),E("G",Ke),E("g",Ke),E("GG",je,Be),E("gg",je,Be),E("GGGG",Ze,He),E("gggg",Ze,He),E("GGGGG",Xe,Ee),E("ggggg",Xe,Ee),Z(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,i){e[i.substr(0,2)]=_(t)}),Z(["gg","GG"],function(t,e,i,a){e[a]=n.parseTwoDigitYear(t)}),N("Q",0,"Qo","quarter"),T("quarter","Q"),O("quarter",7),E("Q",ze),G("Q",function(t,e){e[on]=3*(_(t)-1)}),N("D",["DD",2],"Do","date"),T("date","D"),O("date",9),E("D",je),E("DD",je,Be),E("Do",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),G(["D","DD"],sn),G("Do",function(t,e){e[sn]=_(t.match(je)[0],10)});var Jn=R("Date",!0);N("DDD",["DDDD",3],"DDDo","dayOfYear"),T("dayOfYear","DDD"),O("dayOfYear",4),E("DDD",Ge),E("DDDD",Ve),G(["DDD","DDDD"],function(t,e,n){n._dayOfYear=_(t)}),N("m",["mm",2],0,"minute"),T("minute","m"),O("minute",14),E("m",je),E("mm",je,Be),G(["m","mm"],un);var Kn=R("Minutes",!1);N("s",["ss",2],0,"second"),T("second","s"),O("second",15),E("s",je),E("ss",je,Be),G(["s","ss"],dn);var Qn=R("Seconds",!1);N("S",0,0,function(){return~~(this.millisecond()/100)}),N(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),N(0,["SSS",3],0,"millisecond"),N(0,["SSSS",4],0,function(){return 10*this.millisecond()}),N(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),N(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),N(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),N(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),N(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),T("millisecond","ms"),O("millisecond",16),E("S",Ge,ze),E("SS",Ge,Be),E("SSS",Ge,Ve);var $n;for($n="SSSS";$n.length<=9;$n+="S")E($n,Je);for($n="S";$n.length<=9;$n+="S")G($n,function(t,e){e[cn]=_(1e3*("0."+t))});var ti=R("Milliseconds",!1);N("z",0,0,"zoneAbbr"),N("zz",0,0,"zoneName");var ei=y.prototype;ei.add=Gn,ei.calendar=function(t,e){var i=t||Nt(),a=qt(i,this).startOf("day"),r=n.calendarFormat(this,a)||"sameElse",o=e&&(D(e[r])?e[r].call(this,i):e[r]);return this.format(o||this.localeData().calendar(r,this,Nt(i)))},ei.clone=function(){return new y(this)},ei.diff=function(t,e,n){var i,a,r,o;return this.isValid()&&(i=qt(t,this)).isValid()?(a=6e4*(i.utcOffset()-this.utcOffset()),"year"===(e=I(e))||"month"===e||"quarter"===e?(o=ee(this,i),"quarter"===e?o/=3:"year"===e&&(o/=12)):(r=this-i,o="second"===e?r/1e3:"minute"===e?r/6e4:"hour"===e?r/36e5:"day"===e?(r-a)/864e5:"week"===e?(r-a)/6048e5:r),n?o:x(o)):NaN},ei.endOf=function(t){return void 0===(t=I(t))||"millisecond"===t?this:("date"===t&&(t="day"),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms"))},ei.format=function(t){t||(t=this.isUtc()?n.defaultFormatUtc:n.defaultFormat);var e=V(this,t);return this.localeData().postformat(e)},ei.from=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Nt(t).isValid())?Xt({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},ei.fromNow=function(t){return this.from(Nt(),t)},ei.to=function(t,e){return this.isValid()&&(b(t)&&t.isValid()||Nt(t).isValid())?Xt({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},ei.toNow=function(t){return this.to(Nt(),t)},ei.get=function(t){return t=I(t),D(this[t])?this[t]():this},ei.invalidAt=function(){return g(this).overflow},ei.isAfter=function(t,e){var n=b(t)?t:Nt(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=I(o(e)?"millisecond":e))?this.valueOf()>n.valueOf():n.valueOf()9999?V(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):D(Date.prototype.toISOString)?this.toDate().toISOString():V(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},ei.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a=e+'[")]';return this.format(n+i+"-MM-DD[T]HH:mm:ss.SSS"+a)},ei.toJSON=function(){return this.isValid()?this.toISOString():null},ei.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},ei.unix=function(){return Math.floor(this.valueOf()/1e3)},ei.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},ei.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},ei.year=xn,ei.isLeapYear=function(){return nt(this.year())},ei.weekYear=function(t){return re.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},ei.isoWeekYear=function(t){return re.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},ei.quarter=ei.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},ei.month=$,ei.daysInMonth=function(){return J(this.year(),this.month())},ei.week=ei.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},ei.isoWeek=ei.isoWeeks=function(t){var e=st(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},ei.weeksInYear=function(){var t=this.localeData()._week;return lt(this.year(),t.dow,t.doy)},ei.isoWeeksInYear=function(){return lt(this.year(),1,4)},ei.date=Jn,ei.day=ei.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=ut(t,this.localeData()),this.add(t-e,"d")):e},ei.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},ei.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=dt(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},ei.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},ei.hour=ei.hours=In,ei.minute=ei.minutes=Kn,ei.second=ei.seconds=Qn,ei.millisecond=ei.milliseconds=ti,ei.utcOffset=function(t,e,i){var a,r=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(null===(t=Ut($e,t)))return this}else Math.abs(t)<16&&!i&&(t*=60);return!this._isUTC&&e&&(a=Gt(this)),this._offset=t,this._isUTC=!0,null!=a&&this.add(a,"m"),r!==t&&(!e||this._changeInProgress?te(this,Xt(t-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?r:Gt(this)},ei.utc=function(t){return this.utcOffset(0,t)},ei.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Gt(this),"m")),this},ei.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Ut(Qe,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},ei.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Nt(t).utcOffset():0,(this.utcOffset()-t)%60==0)},ei.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},ei.isLocal=function(){return!!this.isValid()&&!this._isUTC},ei.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},ei.isUtc=Zt,ei.isUTC=Zt,ei.zoneAbbr=function(){return this._isUTC?"UTC":""},ei.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},ei.dates=M("dates accessor is deprecated. Use date instead.",Jn),ei.months=M("months accessor is deprecated. Use month instead",$),ei.years=M("years accessor is deprecated. Use year instead",xn),ei.zone=M("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),ei.isDSTShifted=M("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var t={};if(v(t,this),(t=Lt(t))._a){var e=t._isUTC?h(t._a):Nt(t._a);this._isDSTShifted=this.isValid()&&k(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var ni=P.prototype;ni.calendar=function(t,e,n){var i=this._calendar[t]||this._calendar.sameElse;return D(i)?i.call(e,n):i},ni.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])},ni.invalidDate=function(){return this._invalidDate},ni.ordinal=function(t){return this._ordinal.replace("%d",t)},ni.preparse=se,ni.postformat=se,ni.relativeTime=function(t,e,n,i){var a=this._relativeTime[n];return D(a)?a(t,e,n,i):a.replace(/%d/i,t)},ni.pastFuture=function(t,e){var n=this._relativeTime[t>0?"future":"past"];return D(n)?n(e):n.replace(/%s/i,e)},ni.set=function(t){var e,n;for(n in t)D(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},ni.months=function(t,e){return t?i(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||mn).test(e)?"format":"standalone"][t.month()]:i(this._months)?this._months:this._months.standalone},ni.monthsShort=function(t,e){return t?i(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[mn.test(e)?"format":"standalone"][t.month()]:i(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},ni.monthsParse=function(t,e,n){var i,a,r;if(this._monthsParseExact)return K.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(a=h([2e3,i]),n&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(a,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(a,"").replace(".","")+"$","i")),n||this._monthsParse[i]||(r="^"+this.months(a,"")+"|^"+this.monthsShort(a,""),this._monthsParse[i]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(n&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!n&&this._monthsParse[i].test(t))return i}},ni.monthsRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||tt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=bn),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},ni.monthsShortRegex=function(t){return this._monthsParseExact?(d(this,"_monthsRegex")||tt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=yn),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},ni.week=function(t){return st(t,this._week.dow,this._week.doy).week},ni.firstDayOfYear=function(){return this._week.doy},ni.firstDayOfWeek=function(){return this._week.dow},ni.weekdays=function(t,e){return t?i(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone},ni.weekdaysMin=function(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin},ni.weekdaysShort=function(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort},ni.weekdaysParse=function(t,e,n){var i,a,r;if(this._weekdaysParseExact)return ct.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(a=h([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(a,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(a,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(a,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(r="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[i]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(n&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(n&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!n&&this._weekdaysParse[i].test(t))return i}},ni.weekdaysRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||ht.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Sn),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},ni.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||ht.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Dn),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},ni.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||ht.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Cn),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},ni.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},ni.meridiem=function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},bt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===_(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),n.lang=M("moment.lang is deprecated. Use moment.locale instead.",bt),n.langData=M("moment.langData is deprecated. Use moment.localeData instead.",_t);var ii=Math.abs,ai=me("ms"),ri=me("s"),oi=me("m"),si=me("h"),li=me("d"),ui=me("w"),di=me("M"),ci=me("y"),hi=pe("milliseconds"),fi=pe("seconds"),gi=pe("minutes"),mi=pe("hours"),pi=pe("days"),vi=pe("months"),yi=pe("years"),bi=Math.round,xi={ss:44,s:45,m:45,h:22,d:26,M:11},_i=Math.abs,ki=Vt.prototype;return ki.isValid=function(){return this._isValid},ki.abs=function(){var t=this._data;return this._milliseconds=ii(this._milliseconds),this._days=ii(this._days),this._months=ii(this._months),t.milliseconds=ii(t.milliseconds),t.seconds=ii(t.seconds),t.minutes=ii(t.minutes),t.hours=ii(t.hours),t.months=ii(t.months),t.years=ii(t.years),this},ki.add=function(t,e){return ce(this,t,e,1)},ki.subtract=function(t,e){return ce(this,t,e,-1)},ki.as=function(t){if(!this.isValid())return NaN;var e,n,i=this._milliseconds;if("month"===(t=I(t))||"year"===t)return e=this._days+i/864e5,n=this._months+fe(e),"month"===t?n:n/12;switch(e=this._days+Math.round(ge(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}},ki.asMilliseconds=ai,ki.asSeconds=ri,ki.asMinutes=oi,ki.asHours=si,ki.asDays=li,ki.asWeeks=ui,ki.asMonths=di,ki.asYears=ci,ki.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12):NaN},ki._bubble=function(){var t,e,n,i,a,r=this._milliseconds,o=this._days,s=this._months,l=this._data;return r>=0&&o>=0&&s>=0||r<=0&&o<=0&&s<=0||(r+=864e5*he(ge(s)+o),o=0,s=0),l.milliseconds=r%1e3,t=x(r/1e3),l.seconds=t%60,e=x(t/60),l.minutes=e%60,n=x(e/60),l.hours=n%24,o+=x(n/24),a=x(fe(o)),s+=a,o-=he(ge(a)),i=x(s/12),s%=12,l.days=o,l.months=s,l.years=i,this},ki.get=function(t){return t=I(t),this.isValid()?this[t+"s"]():NaN},ki.milliseconds=hi,ki.seconds=fi,ki.minutes=gi,ki.hours=mi,ki.days=pi,ki.weeks=function(){return x(this.days()/7)},ki.months=vi,ki.years=yi,ki.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),n=ye(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)},ki.toISOString=be,ki.toString=be,ki.toJSON=be,ki.locale=ne,ki.localeData=ie,ki.toIsoString=M("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",be),ki.lang=Xn,N("X",0,0,"unix"),N("x",0,0,"valueOf"),E("x",Ke),E("X",tn),G("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),G("x",function(t,e,n){n._d=new Date(_(t))}),n.version="2.18.1",function(t){xe=t}(Nt),n.fn=ei,n.min=function(){return zt("isBefore",[].slice.call(arguments,0))},n.max=function(){return zt("isAfter",[].slice.call(arguments,0))},n.now=function(){return Date.now?Date.now():+new Date},n.utc=h,n.unix=function(t){return Nt(1e3*t)},n.months=function(t,e){return ue(t,e,"months")},n.isDate=l,n.locale=bt,n.invalid=p,n.duration=Xt,n.isMoment=b,n.weekdays=function(t,e,n){return de(t,e,n,"weekdays")},n.parseZone=function(){return Nt.apply(null,arguments).parseZone()},n.localeData=_t,n.isDuration=Ht,n.monthsShort=function(t,e){return ue(t,e,"monthsShort")},n.weekdaysMin=function(t,e,n){return de(t,e,n,"weekdaysMin")},n.defineLocale=xt,n.updateLocale=function(t,e){if(null!=e){var n,i=An;null!=On[t]&&(i=On[t]._config),(n=new P(e=C(i,e))).parentLocale=On[t],On[t]=n,bt(t)}else null!=On[t]&&(null!=On[t].parentLocale?On[t]=On[t].parentLocale:null!=On[t]&&delete On[t]);return On[t]},n.locales=function(){return Pe(On)},n.weekdaysShort=function(t,e,n){return de(t,e,n,"weekdaysShort")},n.normalizeUnits=I,n.relativeTimeRounding=function(t){return void 0===t?bi:"function"==typeof t&&(bi=t,!0)},n.relativeTimeThreshold=function(t,e){return void 0!==xi[t]&&(void 0===e?xi[t]:(xi[t]=e,"s"===t&&(xi.ss=e-1),!0))},n.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},n.prototype=ei,n})},{}],7:[function(t,e,n){var i=t(29)();i.helpers=t(45),t(27)(i),i.defaults=t(25),i.Element=t(26),i.elements=t(40),i.Interaction=t(28),i.platform=t(48),t(31)(i),t(22)(i),t(23)(i),t(24)(i),t(30)(i),t(33)(i),t(32)(i),t(35)(i),t(54)(i),t(52)(i),t(53)(i),t(55)(i),t(56)(i),t(57)(i),t(15)(i),t(16)(i),t(17)(i),t(18)(i),t(19)(i),t(20)(i),t(21)(i),t(8)(i),t(9)(i),t(10)(i),t(11)(i),t(12)(i),t(13)(i),t(14)(i);var a=[];a.push(t(49)(i),t(50)(i),t(51)(i)),i.plugins.register(a),i.platform.initialize(),e.exports=i,"undefined"!=typeof window&&(window.Chart=i),i.canvasHelpers=i.helpers.canvas},{10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21,22:22,23:23,24:24,25:25,26:26,27:27,28:28,29:29,30:30,31:31,32:32,33:33,35:35,40:40,45:45,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,8:8,9:9}],8:[function(t,e,n){"use strict";e.exports=function(t){t.Bar=function(e,n){return n.type="bar",new t(e,n)}}},{}],9:[function(t,e,n){"use strict";e.exports=function(t){t.Bubble=function(e,n){return n.type="bubble",new t(e,n)}}},{}],10:[function(t,e,n){"use strict";e.exports=function(t){t.Doughnut=function(e,n){return n.type="doughnut",new t(e,n)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t){t.Line=function(e,n){return n.type="line",new t(e,n)}}},{}],12:[function(t,e,n){"use strict";e.exports=function(t){t.PolarArea=function(e,n){return n.type="polarArea",new t(e,n)}}},{}],13:[function(t,e,n){"use strict";e.exports=function(t){t.Radar=function(e,n){return n.type="radar",new t(e,n)}}},{}],14:[function(t,e,n){"use strict";e.exports=function(t){t.Scatter=function(e,n){return n.type="scatter",new t(e,n)}}},{}],15:[function(t,e,n){"use strict";var i=t(25),a=t(40),r=t(45);i._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),i._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{position:"left",type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{callbacks:{title:function(t,e){var n="";return t.length>0&&(t[0].yLabel?n=t[0].yLabel:e.labels.length>0&&t[0].index=0&&a>0)&&(p+=a));return r=c.getPixelForValue(p),o=c.getPixelForValue(p+f),s=(o-r)/2,{size:s,base:r,head:o,center:o+s/2}},calculateBarIndexPixels:function(t,e,n){var i,a,o,s,l,u,d=this,c=n.scale.options,h=d.getStackIndex(t),f=n.pixels,g=f[e],m=f.length,p=n.start,v=n.end;return 1===m?(i=g>p?g-p:v-g,a=g0&&(i=(g-f[e-1])/2,e===m-1&&(a=i)),e');var n=t.data,i=n.datasets,a=n.labels;if(i.length)for(var r=0;r'),a[r]&&e.push(a[r]),e.push("");return e.push(""),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(n,i){var a=t.getDatasetMeta(0),o=e.datasets[0],s=a.data[i],l=s&&s.custom||{},u=r.valueAtIndexOrDefault,d=t.options.elements.arc;return{text:n,fillStyle:l.backgroundColor?l.backgroundColor:u(o.backgroundColor,i,d.backgroundColor),strokeStyle:l.borderColor?l.borderColor:u(o.borderColor,i,d.borderColor),lineWidth:l.borderWidth?l.borderWidth:u(o.borderWidth,i,d.borderWidth),hidden:isNaN(o.data[i])||a.data[i].hidden,index:i}}):[]}},onClick:function(t,e){var n,i,a,r=e.index,o=this.chart;for(n=0,i=(o.data.datasets||[]).length;n=Math.PI?-1:g<-Math.PI?1:0))+f,p={x:Math.cos(g),y:Math.sin(g)},v={x:Math.cos(m),y:Math.sin(m)},y=g<=0&&m>=0||g<=2*Math.PI&&2*Math.PI<=m,b=g<=.5*Math.PI&&.5*Math.PI<=m||g<=2.5*Math.PI&&2.5*Math.PI<=m,x=g<=-Math.PI&&-Math.PI<=m||g<=Math.PI&&Math.PI<=m,_=g<=.5*-Math.PI&&.5*-Math.PI<=m||g<=1.5*Math.PI&&1.5*Math.PI<=m,k=h/100,w={x:x?-1:Math.min(p.x*(p.x<0?1:k),v.x*(v.x<0?1:k)),y:_?-1:Math.min(p.y*(p.y<0?1:k),v.y*(v.y<0?1:k))},M={x:y?1:Math.max(p.x*(p.x>0?1:k),v.x*(v.x>0?1:k)),y:b?1:Math.max(p.y*(p.y>0?1:k),v.y*(v.y>0?1:k))},S={width:.5*(M.x-w.x),height:.5*(M.y-w.y)};u=Math.min(s/S.width,l/S.height),d={x:-.5*(M.x+w.x),y:-.5*(M.y+w.y)}}n.borderWidth=e.getMaxBorderWidth(c.data),n.outerRadius=Math.max((u-n.borderWidth)/2,0),n.innerRadius=Math.max(h?n.outerRadius/100*h:0,0),n.radiusLength=(n.outerRadius-n.innerRadius)/n.getVisibleDatasetCount(),n.offsetX=d.x*n.outerRadius,n.offsetY=d.y*n.outerRadius,c.total=e.calculateTotal(),e.outerRadius=n.outerRadius-n.radiusLength*e.getRingIndex(e.index),e.innerRadius=Math.max(e.outerRadius-n.radiusLength,0),r.each(c.data,function(n,i){e.updateElement(n,i,t)})},updateElement:function(t,e,n){var i=this,a=i.chart,o=a.chartArea,s=a.options,l=s.animation,u=(o.left+o.right)/2,d=(o.top+o.bottom)/2,c=s.rotation,h=s.rotation,f=i.getDataset(),g=n&&l.animateRotate?0:t.hidden?0:i.calculateCircumference(f.data[e])*(s.circumference/(2*Math.PI)),m=n&&l.animateScale?0:i.innerRadius,p=n&&l.animateScale?0:i.outerRadius,v=r.valueAtIndexOrDefault;r.extend(t,{_datasetIndex:i.index,_index:e,_model:{x:u+a.offsetX,y:d+a.offsetY,startAngle:c,endAngle:h,circumference:g,outerRadius:p,innerRadius:m,label:v(f.label,e,a.data.labels[e])}});var y=t._model;this.removeHoverStyle(t),n&&l.animateRotate||(y.startAngle=0===e?s.rotation:i.getMeta().data[e-1]._model.endAngle,y.endAngle=y.startAngle+y.circumference),t.pivot()},removeHoverStyle:function(e){t.DatasetController.prototype.removeHoverStyle.call(this,e,this.chart.options.elements.arc)},calculateTotal:function(){var t,e=this.getDataset(),n=this.getMeta(),i=0;return r.each(n.data,function(n,a){t=e.data[a],isNaN(t)||n.hidden||(i+=Math.abs(t))}),i},calculateCircumference:function(t){var e=this.getMeta().total;return e>0&&!isNaN(t)?2*Math.PI*(t/e):0},getMaxBorderWidth:function(t){for(var e,n,i=0,a=this.index,r=t.length,o=0;o(i=e>i?e:i)?n:i;return i}})}},{25:25,40:40,45:45}],18:[function(t,e,n){"use strict";var i=t(25),a=t(40),r=t(45);i._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}}),e.exports=function(t){function e(t,e){return r.valueOrDefault(t.showLine,e.showLines)}t.controllers.line=t.DatasetController.extend({datasetElementType:a.Line,dataElementType:a.Point,update:function(t){var n,i,a,o=this,s=o.getMeta(),l=s.dataset,u=s.data||[],d=o.chart.options,c=d.elements.line,h=o.getScaleForId(s.yAxisID),f=o.getDataset(),g=e(f,d);for(g&&(a=l.custom||{},void 0!==f.tension&&void 0===f.lineTension&&(f.lineTension=f.tension),l._scale=h,l._datasetIndex=o.index,l._children=u,l._model={spanGaps:f.spanGaps?f.spanGaps:d.spanGaps,tension:a.tension?a.tension:r.valueOrDefault(f.lineTension,c.tension),backgroundColor:a.backgroundColor?a.backgroundColor:f.backgroundColor||c.backgroundColor,borderWidth:a.borderWidth?a.borderWidth:f.borderWidth||c.borderWidth,borderColor:a.borderColor?a.borderColor:f.borderColor||c.borderColor,borderCapStyle:a.borderCapStyle?a.borderCapStyle:f.borderCapStyle||c.borderCapStyle,borderDash:a.borderDash?a.borderDash:f.borderDash||c.borderDash,borderDashOffset:a.borderDashOffset?a.borderDashOffset:f.borderDashOffset||c.borderDashOffset,borderJoinStyle:a.borderJoinStyle?a.borderJoinStyle:f.borderJoinStyle||c.borderJoinStyle,fill:a.fill?a.fill:void 0!==f.fill?f.fill:c.fill,steppedLine:a.steppedLine?a.steppedLine:r.valueOrDefault(f.steppedLine,c.stepped),cubicInterpolationMode:a.cubicInterpolationMode?a.cubicInterpolationMode:r.valueOrDefault(f.cubicInterpolationMode,c.cubicInterpolationMode)},l.pivot()),n=0,i=u.length;n');var n=t.data,i=n.datasets,a=n.labels;if(i.length)for(var r=0;r'),a[r]&&e.push(a[r]),e.push("");return e.push(""),e.join("")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(n,i){var a=t.getDatasetMeta(0),o=e.datasets[0],s=a.data[i].custom||{},l=r.valueAtIndexOrDefault,u=t.options.elements.arc;return{text:n,fillStyle:s.backgroundColor?s.backgroundColor:l(o.backgroundColor,i,u.backgroundColor),strokeStyle:s.borderColor?s.borderColor:l(o.borderColor,i,u.borderColor),lineWidth:s.borderWidth?s.borderWidth:l(o.borderWidth,i,u.borderWidth),hidden:isNaN(o.data[i])||a.data[i].hidden,index:i}}):[]}},onClick:function(t,e){var n,i,a,r=e.index,o=this.chart;for(n=0,i=(o.data.datasets||[]).length;n0&&!isNaN(t)?2*Math.PI/e:0}})}},{25:25,40:40,45:45}],20:[function(t,e,n){"use strict";var i=t(25),a=t(40),r=t(45);i._set("radar",{scale:{type:"radialLinear"},elements:{line:{tension:0}}}),e.exports=function(t){t.controllers.radar=t.DatasetController.extend({datasetElementType:a.Line,dataElementType:a.Point,linkScales:r.noop,update:function(t){var e=this,n=e.getMeta(),i=n.dataset,a=n.data,o=i.custom||{},s=e.getDataset(),l=e.chart.options.elements.line,u=e.chart.scale;void 0!==s.tension&&void 0===s.lineTension&&(s.lineTension=s.tension),r.extend(n.dataset,{_datasetIndex:e.index,_scale:u,_children:a,_loop:!0,_model:{tension:o.tension?o.tension:r.valueOrDefault(s.lineTension,l.tension),backgroundColor:o.backgroundColor?o.backgroundColor:s.backgroundColor||l.backgroundColor,borderWidth:o.borderWidth?o.borderWidth:s.borderWidth||l.borderWidth,borderColor:o.borderColor?o.borderColor:s.borderColor||l.borderColor,fill:o.fill?o.fill:void 0!==s.fill?s.fill:l.fill,borderCapStyle:o.borderCapStyle?o.borderCapStyle:s.borderCapStyle||l.borderCapStyle,borderDash:o.borderDash?o.borderDash:s.borderDash||l.borderDash,borderDashOffset:o.borderDashOffset?o.borderDashOffset:s.borderDashOffset||l.borderDashOffset,borderJoinStyle:o.borderJoinStyle?o.borderJoinStyle:s.borderJoinStyle||l.borderJoinStyle}}),n.dataset.pivot(),r.each(a,function(n,i){e.updateElement(n,i,t)},e),e.updateBezierControlPoints()},updateElement:function(t,e,n){var i=this,a=t.custom||{},o=i.getDataset(),s=i.chart.scale,l=i.chart.options.elements.point,u=s.getPointPositionForValue(e,o.data[e]);void 0!==o.radius&&void 0===o.pointRadius&&(o.pointRadius=o.radius),void 0!==o.hitRadius&&void 0===o.pointHitRadius&&(o.pointHitRadius=o.hitRadius),r.extend(t,{_datasetIndex:i.index,_index:e,_scale:s,_model:{x:n?s.xCenter:u.x,y:n?s.yCenter:u.y,tension:a.tension?a.tension:r.valueOrDefault(o.lineTension,i.chart.options.elements.line.tension),radius:a.radius?a.radius:r.valueAtIndexOrDefault(o.pointRadius,e,l.radius),backgroundColor:a.backgroundColor?a.backgroundColor:r.valueAtIndexOrDefault(o.pointBackgroundColor,e,l.backgroundColor),borderColor:a.borderColor?a.borderColor:r.valueAtIndexOrDefault(o.pointBorderColor,e,l.borderColor),borderWidth:a.borderWidth?a.borderWidth:r.valueAtIndexOrDefault(o.pointBorderWidth,e,l.borderWidth),pointStyle:a.pointStyle?a.pointStyle:r.valueAtIndexOrDefault(o.pointStyle,e,l.pointStyle),hitRadius:a.hitRadius?a.hitRadius:r.valueAtIndexOrDefault(o.pointHitRadius,e,l.hitRadius)}}),t._model.skip=a.skip?a.skip:isNaN(t._model.x)||isNaN(t._model.y)},updateBezierControlPoints:function(){var t=this.chart.chartArea,e=this.getMeta();r.each(e.data,function(n,i){var a=n._model,o=r.splineCurve(r.previousItem(e.data,i,!0)._model,a,r.nextItem(e.data,i,!0)._model,a.tension);a.controlPointPreviousX=Math.max(Math.min(o.previous.x,t.right),t.left),a.controlPointPreviousY=Math.max(Math.min(o.previous.y,t.bottom),t.top),a.controlPointNextX=Math.max(Math.min(o.next.x,t.right),t.left),a.controlPointNextY=Math.max(Math.min(o.next.y,t.bottom),t.top),n.pivot()})},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t.custom||{},i=t._index,a=t._model;a.radius=n.hoverRadius?n.hoverRadius:r.valueAtIndexOrDefault(e.pointHoverRadius,i,this.chart.options.elements.point.hoverRadius),a.backgroundColor=n.hoverBackgroundColor?n.hoverBackgroundColor:r.valueAtIndexOrDefault(e.pointHoverBackgroundColor,i,r.getHoverColor(a.backgroundColor)),a.borderColor=n.hoverBorderColor?n.hoverBorderColor:r.valueAtIndexOrDefault(e.pointHoverBorderColor,i,r.getHoverColor(a.borderColor)),a.borderWidth=n.hoverBorderWidth?n.hoverBorderWidth:r.valueAtIndexOrDefault(e.pointHoverBorderWidth,i,a.borderWidth)},removeHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t.custom||{},i=t._index,a=t._model,o=this.chart.options.elements.point;a.radius=n.radius?n.radius:r.valueAtIndexOrDefault(e.pointRadius,i,o.radius),a.backgroundColor=n.backgroundColor?n.backgroundColor:r.valueAtIndexOrDefault(e.pointBackgroundColor,i,o.backgroundColor),a.borderColor=n.borderColor?n.borderColor:r.valueAtIndexOrDefault(e.pointBorderColor,i,o.borderColor),a.borderWidth=n.borderWidth?n.borderWidth:r.valueAtIndexOrDefault(e.pointBorderWidth,i,o.borderWidth)}})}},{25:25,40:40,45:45}],21:[function(t,e,n){"use strict";t(25)._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},showLines:!1,tooltips:{callbacks:{title:function(){return""},label:function(t){return"("+t.xLabel+", "+t.yLabel+")"}}}}),e.exports=function(t){t.controllers.scatter=t.controllers.line}},{25:25}],22:[function(t,e,n){"use strict";var i=t(25),a=t(26),r=t(45);i._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:r.noop,onComplete:r.noop}}),e.exports=function(t){t.Animation=a.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),t.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(t,e,n,i){var a,r,o=this.animations;for(e.chart=t,i||(t.animating=!0),a=0,r=o.length;a1&&(n=Math.floor(t.dropFrames),t.dropFrames=t.dropFrames%1),t.advance(1+n);var i=Date.now();t.dropFrames+=(i-e)/t.frameDuration,t.animations.length>0&&t.requestAnimationFrame()},advance:function(t){for(var e,n,i=this.animations,a=0;a=e.numSteps?(r.callback(e.onAnimationComplete,[e],n),n.animating=!1,i.splice(a,1)):++a}},Object.defineProperty(t.Animation.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(t.Animation.prototype,"chartInstance",{get:function(){return this.chart},set:function(t){this.chart=t}})}},{25:25,26:26,45:45}],23:[function(t,e,n){"use strict";var i=t(25),a=t(45),r=t(28),o=t(48);e.exports=function(t){function e(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=a.configMerge(i.global,i[t.type],t.options||{}),t}function n(t){var e=t.options;e.scale?t.scale.options=e.scale:e.scales&&e.scales.xAxes.concat(e.scales.yAxes).forEach(function(e){t.scales[e.id].options=e}),t.tooltip._options=e.tooltips}function s(t){return"top"===t||"bottom"===t}var l=t.plugins;t.types={},t.instances={},t.controllers={},a.extend(t.prototype,{construct:function(n,i){var r=this;i=e(i);var s=o.acquireContext(n,i),l=s&&s.canvas,u=l&&l.height,d=l&&l.width;r.id=a.uid(),r.ctx=s,r.canvas=l,r.config=i,r.width=d,r.height=u,r.aspectRatio=u?d/u:null,r.options=i.options,r._bufferedRender=!1,r.chart=r,r.controller=r,t.instances[r.id]=r,Object.defineProperty(r,"data",{get:function(){return r.config.data},set:function(t){r.config.data=t}}),s&&l?(r.initialize(),r.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return l.notify(t,"beforeInit"),a.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildScales(),t.initToolTip(),l.notify(t,"afterInit"),t},clear:function(){return a.canvas.clear(this),this},stop:function(){return t.animationService.cancelAnimation(this),this},resize:function(t){var e=this,n=e.options,i=e.canvas,r=n.maintainAspectRatio&&e.aspectRatio||null,o=Math.max(0,Math.floor(a.getMaximumWidth(i))),s=Math.max(0,Math.floor(r?o/r:a.getMaximumHeight(i)));if((e.width!==o||e.height!==s)&&(i.width=e.width=o,i.height=e.height=s,i.style.width=o+"px",i.style.height=s+"px",a.retinaScale(e,n.devicePixelRatio),!t)){var u={width:o,height:s};l.notify(e,"resize",[u]),e.options.onResize&&e.options.onResize(e,u),e.stop(),e.update(e.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},n=t.scale;a.each(e.xAxes,function(t,e){t.id=t.id||"x-axis-"+e}),a.each(e.yAxes,function(t,e){t.id=t.id||"y-axis-"+e}),n&&(n.id=n.id||"scale")},buildScales:function(){var e=this,n=e.options,i=e.scales={},r=[];n.scales&&(r=r.concat((n.scales.xAxes||[]).map(function(t){return{options:t,dtype:"category",dposition:"bottom"}}),(n.scales.yAxes||[]).map(function(t){return{options:t,dtype:"linear",dposition:"left"}}))),n.scale&&r.push({options:n.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),a.each(r,function(n){var r=n.options,o=a.valueOrDefault(r.type,n.dtype),l=t.scaleService.getScaleConstructor(o);if(l){s(r.position)!==s(n.dposition)&&(r.position=n.dposition);var u=new l({id:r.id,options:r,ctx:e.ctx,chart:e});i[u.id]=u,u.mergeTicksOptions(),n.isDefault&&(e.scale=u)}}),t.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var e=this,n=[],i=[];return a.each(e.data.datasets,function(a,r){var o=e.getDatasetMeta(r),s=a.type||e.config.type;if(o.type&&o.type!==s&&(e.destroyDatasetMeta(r),o=e.getDatasetMeta(r)),o.type=s,n.push(o.type),o.controller)o.controller.updateIndex(r);else{var l=t.controllers[o.type];if(void 0===l)throw new Error('"'+o.type+'" is not a chart type.');o.controller=new l(e,r),i.push(o.controller)}},e),i},resetElements:function(){var t=this;a.each(t.data.datasets,function(e,n){t.getDatasetMeta(n).controller.reset()},t)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(t){var e=this;if(t&&"object"==typeof t||(t={duration:t,lazy:arguments[1]}),n(e),!1!==l.notify(e,"beforeUpdate")){e.tooltip._data=e.data;var i=e.buildOrUpdateControllers();a.each(e.data.datasets,function(t,n){e.getDatasetMeta(n).controller.buildOrUpdateElements()},e),e.updateLayout(),a.each(i,function(t){t.reset()}),e.updateDatasets(),l.notify(e,"afterUpdate"),e._bufferedRender?e._bufferedRequest={duration:t.duration,easing:t.easing,lazy:t.lazy}:e.render(t)}},updateLayout:function(){var e=this;!1!==l.notify(e,"beforeLayout")&&(t.layoutService.update(this,this.width,this.height),l.notify(e,"afterScaleUpdate"),l.notify(e,"afterLayout"))},updateDatasets:function(){var t=this;if(!1!==l.notify(t,"beforeDatasetsUpdate")){for(var e=0,n=t.data.datasets.length;e=0;--n)e.isDatasetVisible(n)&&e.drawDataset(n,t);l.notify(e,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var n=this,i=n.getDatasetMeta(t),a={meta:i,index:t,easingValue:e};!1!==l.notify(n,"beforeDatasetDraw",[a])&&(i.controller.draw(e),l.notify(n,"afterDatasetDraw",[a]))},getElementAtEvent:function(t){return r.modes.single(this,t)},getElementsAtEvent:function(t){return r.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return r.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,n){var i=r.modes[e];return"function"==typeof i?i(this,t,n):[]},getDatasetAtEvent:function(t){return r.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this,n=e.data.datasets[t];n._meta||(n._meta={});var i=n._meta[e.id];return i||(i=n._meta[e.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),i},getVisibleDatasetCount:function(){for(var t=0,e=0,n=this.data.datasets.length;e0||(a.forEach(function(e){delete t[e]}),delete t._chartjs)}}var a=["push","pop","shift","splice","unshift"];t.DatasetController=function(t,e){this.initialize(t,e)},i.extend(t.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){var n=this;n.chart=t,n.index=e,n.linkScales(),n.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),n=t.getDataset();null===e.xAxisID&&(e.xAxisID=n.xAxisID||t.chart.options.scales.xAxes[0].id),null===e.yAxisID&&(e.yAxisID=n.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},reset:function(){this.update(!0)},destroy:function(){this._data&&n(this._data,this)},createMetaDataset:function(){var t=this,e=t.datasetElementType;return e&&new e({_chart:t.chart,_datasetIndex:t.index})},createMetaData:function(t){var e=this,n=e.dataElementType;return n&&new n({_chart:e.chart,_datasetIndex:e.index,_index:t})},addElements:function(){var t,e,n=this,i=n.getMeta(),a=n.getDataset().data||[],r=i.data;for(t=0,e=a.length;ti&&t.insertElements(i,a-i)},insertElements:function(t,e){for(var n=0;n=n[e].length&&n[e].push({}),!n[e][o].type||l.type&&l.type!==n[e][o].type?r.merge(n[e][o],[t.scaleService.getScaleDefaults(s),l]):r.merge(n[e][o],l)}else r._merger(e,n,i,a)}})},r.where=function(t,e){if(r.isArray(t)&&Array.prototype.filter)return t.filter(e);var n=[];return r.each(t,function(t){e(t)&&n.push(t)}),n},r.findIndex=Array.prototype.findIndex?function(t,e,n){return t.findIndex(e,n)}:function(t,e,n){n=void 0===n?t:n;for(var i=0,a=t.length;i=0;i--){var a=t[i];if(e(a))return a}},r.inherits=function(t){var e=this,n=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return e.apply(this,arguments)},i=function(){this.constructor=n};return i.prototype=e.prototype,n.prototype=new i,n.extend=r.inherits,t&&r.extend(n.prototype,t),n.__super__=e.prototype,n},r.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},r.almostEquals=function(t,e,n){return Math.abs(t-e)t},r.max=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.max(t,e)},Number.NEGATIVE_INFINITY)},r.min=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.min(t,e)},Number.POSITIVE_INFINITY)},r.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0==(t=+t)||isNaN(t)?t:t>0?1:-1},r.log10=Math.log10?function(t){return Math.log10(t)}:function(t){return Math.log(t)/Math.LN10},r.toRadians=function(t){return t*(Math.PI/180)},r.toDegrees=function(t){return t*(180/Math.PI)},r.getAngleFromPoint=function(t,e){var n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),r=Math.atan2(i,n);return r<-.5*Math.PI&&(r+=2*Math.PI),{angle:r,distance:a}},r.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},r.aliasPixel=function(t){return t%2==0?0:.5},r.splineCurve=function(t,e,n,i){var a=t.skip?e:t,r=e,o=n.skip?e:n,s=Math.sqrt(Math.pow(r.x-a.x,2)+Math.pow(r.y-a.y,2)),l=Math.sqrt(Math.pow(o.x-r.x,2)+Math.pow(o.y-r.y,2)),u=s/(s+l),d=l/(s+l),c=i*(u=isNaN(u)?0:u),h=i*(d=isNaN(d)?0:d);return{previous:{x:r.x-c*(o.x-a.x),y:r.y-c*(o.y-a.y)},next:{x:r.x+h*(o.x-a.x),y:r.y+h*(o.y-a.y)}}},r.EPSILON=Number.EPSILON||1e-14,r.splineCurveMonotone=function(t){var e,n,i,a,o=(t||[]).map(function(t){return{model:t._model,deltaK:0,mK:0}}),s=o.length;for(e=0;e0?o[e-1]:null,(a=e0?o[e-1]:null,a=e=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},r.previousItem=function(t,e,n){return n?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},r.niceNum=function(t,e){var n=Math.floor(r.log10(t)),i=t/Math.pow(10,n);return(e?i<1.5?1:i<3?2:i<7?5:10:i<=1?1:i<=2?2:i<=5?5:10)*Math.pow(10,n)},r.requestAnimFrame="undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},r.getRelativePosition=function(t,e){var n,i,a=t.originalEvent||t,o=t.currentTarget||t.srcElement,s=o.getBoundingClientRect(),l=a.touches;l&&l.length>0?(n=l[0].clientX,i=l[0].clientY):(n=a.clientX,i=a.clientY);var u=parseFloat(r.getStyle(o,"padding-left")),d=parseFloat(r.getStyle(o,"padding-top")),c=parseFloat(r.getStyle(o,"padding-right")),h=parseFloat(r.getStyle(o,"padding-bottom")),f=s.right-s.left-u-c,g=s.bottom-s.top-d-h;return n=Math.round((n-s.left-u)/f*o.width/e.currentDevicePixelRatio),i=Math.round((i-s.top-d)/g*o.height/e.currentDevicePixelRatio),{x:n,y:i}},r.getConstraintWidth=function(t){return o(t,"max-width","clientWidth")},r.getConstraintHeight=function(t){return o(t,"max-height","clientHeight")},r.getMaximumWidth=function(t){var e=t.parentNode;if(!e)return t.clientWidth;var n=parseInt(r.getStyle(e,"padding-left"),10),i=parseInt(r.getStyle(e,"padding-right"),10),a=e.clientWidth-n-i,o=r.getConstraintWidth(t);return isNaN(o)?a:Math.min(a,o)},r.getMaximumHeight=function(t){var e=t.parentNode;if(!e)return t.clientHeight;var n=parseInt(r.getStyle(e,"padding-top"),10),i=parseInt(r.getStyle(e,"padding-bottom"),10),a=e.clientHeight-n-i,o=r.getConstraintHeight(t);return isNaN(o)?a:Math.min(a,o)},r.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},r.retinaScale=function(t,e){var n=t.currentDevicePixelRatio=e||window.devicePixelRatio||1;if(1!==n){var i=t.canvas,a=t.height,r=t.width;i.height=a*n,i.width=r*n,t.ctx.scale(n,n),i.style.height=a+"px",i.style.width=r+"px"}},r.fontString=function(t,e,n){return e+" "+t+"px "+n},r.longestText=function(t,e,n,i){var a=(i=i||{}).data=i.data||{},o=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(a=i.data={},o=i.garbageCollect=[],i.font=e),t.font=e;var s=0;r.each(n,function(e){void 0!==e&&null!==e&&!0!==r.isArray(e)?s=r.measureText(t,a,o,s,e):r.isArray(e)&&r.each(e,function(e){void 0===e||null===e||r.isArray(e)||(s=r.measureText(t,a,o,s,e))})});var l=o.length/2;if(l>n.length){for(var u=0;ui&&(i=r),i},r.numberOfLabelLines=function(t){var e=1;return r.each(t,function(t){r.isArray(t)&&t.length>e&&(e=t.length)}),e},r.color=i?function(t){return t instanceof CanvasGradient&&(t=a.global.defaultColor),i(t)}:function(t){return console.error("Color.js not found!"),t},r.getHoverColor=function(t){return t instanceof CanvasPattern?t:r.color(t).saturate(.5).darken(.1).rgbString()}}},{2:2,25:25,45:45}],28:[function(t,e,n){"use strict";function i(t,e){return t.native?{x:t.x,y:t.y}:u.getRelativePosition(t,e)}function a(t,e){var n,i,a,r,o;for(i=0,r=t.data.datasets.length;i0&&(u=t.getDatasetMeta(u[0]._datasetIndex).data),u},"x-axis":function(t,e){return l(t,e,{intersect:!0})},point:function(t,e){return r(t,i(e,t))},nearest:function(t,e,n){var a=i(e,t);n.axis=n.axis||"xy";var r=s(n.axis),l=o(t,a,n.intersect,r);return l.length>1&&l.sort(function(t,e){var n=t.getArea()-e.getArea();return 0===n&&(n=t._datasetIndex-e._datasetIndex),n}),l.slice(0,1)},x:function(t,e,n){var r=i(e,t),o=[],s=!1;return a(t,function(t){t.inXRange(r.x)&&o.push(t),t.inRange(r.x,r.y)&&(s=!0)}),n.intersect&&!s&&(o=[]),o},y:function(t,e,n){var r=i(e,t),o=[],s=!1;return a(t,function(t){t.inYRange(r.y)&&o.push(t),t.inRange(r.x,r.y)&&(s=!0)}),n.intersect&&!s&&(o=[]),o}}}},{45:45}],29:[function(t,e,n){"use strict";t(25)._set("global",{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),e.exports=function(){var t=function(t,e){return this.construct(t,e),this};return t.Chart=t,t}},{25:25}],30:[function(t,e,n){"use strict";var i=t(45);e.exports=function(t){function e(t,e){return i.where(t,function(t){return t.position===e})}function n(t,e){t.forEach(function(t,e){return t._tmpIndex_=e,t}),t.sort(function(t,n){var i=e?n:t,a=e?t:n;return i.weight===a.weight?i._tmpIndex_-a._tmpIndex_:i.weight-a.weight}),t.forEach(function(t){delete t._tmpIndex_})}t.layoutService={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||"top",e.weight=e.weight||0,t.boxes.push(e)},removeBox:function(t,e){var n=t.boxes?t.boxes.indexOf(e):-1;-1!==n&&t.boxes.splice(n,1)},configure:function(t,e,n){for(var i,a=["fullWidth","position","weight"],r=a.length,o=0;oh&&lt.maxHeight){l--;break}l++,c=u*d}t.labelRotation=l},afterCalculateTickRotation:function(){s.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){s.callback(this.options.beforeFit,[this])},fit:function(){var t=this,a=t.minSize={width:0,height:0},r=i(t._ticks),o=t.options,u=o.ticks,d=o.scaleLabel,c=o.gridLines,h=o.display,f=t.isHorizontal(),g=n(u),m=o.gridLines.tickMarkLength;if(a.width=f?t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:h&&c.drawTicks?m:0,a.height=f?h&&c.drawTicks?m:0:t.maxHeight,d.display&&h){var p=l(d)+s.options.toPadding(d.padding).height;f?a.height+=p:a.width+=p}if(u.display&&h){var v=s.longestText(t.ctx,g.font,r,t.longestTextCache),y=s.numberOfLabelLines(r),b=.5*g.size,x=t.options.ticks.padding;if(f){t.longestLabelWidth=v;var _=s.toRadians(t.labelRotation),k=Math.cos(_),w=Math.sin(_)*v+g.size*y+b*(y-1)+b;a.height=Math.min(t.maxHeight,a.height+w+x),t.ctx.font=g.font;var M=e(t.ctx,r[0],g.font),S=e(t.ctx,r[r.length-1],g.font);0!==t.labelRotation?(t.paddingLeft="bottom"===o.position?k*M+3:k*b+3,t.paddingRight="bottom"===o.position?k*b+3:k*S+3):(t.paddingLeft=M/2+3,t.paddingRight=S/2+3)}else u.mirror?v=0:v+=x+b,a.width=Math.min(t.maxWidth,a.width+v),t.paddingTop=g.size/2,t.paddingBottom=g.size/2}t.handleMargins(),t.width=a.width,t.height=a.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},afterFit:function(){s.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(s.isNullOrUndef(t))return NaN;if("number"==typeof t&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},getLabelForIndex:s.noop,getPixelForValue:s.noop,getValueForPixel:s.noop,getPixelForTick:function(t){var e=this,n=e.options.offset;if(e.isHorizontal()){var i=(e.width-(e.paddingLeft+e.paddingRight))/Math.max(e._ticks.length-(n?0:1),1),a=i*t+e.paddingLeft;n&&(a+=i/2);var r=e.left+Math.round(a);return r+=e.isFullWidth()?e.margins.left:0}var o=e.height-(e.paddingTop+e.paddingBottom);return e.top+t*(o/(e._ticks.length-1))},getPixelForDecimal:function(t){var e=this;if(e.isHorizontal()){var n=(e.width-(e.paddingLeft+e.paddingRight))*t+e.paddingLeft,i=e.left+Math.round(n);return i+=e.isFullWidth()?e.margins.left:0}return e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this,e=t.min,n=t.max;return t.beginAtZero?0:e<0&&n<0?n:e>0&&n>0?e:0},_autoSkip:function(t){var e,n,i,a,r=this,o=r.isHorizontal(),l=r.options.ticks.minor,u=t.length,d=s.toRadians(r.labelRotation),c=Math.cos(d),h=r.longestLabelWidth*c,f=[];for(l.maxTicksLimit&&(a=l.maxTicksLimit),o&&(e=!1,(h+l.autoSkipPadding)*u>r.width-(r.paddingLeft+r.paddingRight)&&(e=1+Math.floor((h+l.autoSkipPadding)*u/(r.width-(r.paddingLeft+r.paddingRight)))),a&&u>a&&(e=Math.max(e,Math.floor(u/a)))),n=0;n1&&n%e>0||n%e==0&&n+e>=u)&&n!==u-1||s.isNullOrUndef(i.label))&&delete i.label,f.push(i);return f},draw:function(t){var e=this,i=e.options;if(i.display){var o=e.ctx,u=r.global,d=i.ticks.minor,c=i.ticks.major||d,h=i.gridLines,f=i.scaleLabel,g=0!==e.labelRotation,m=e.isHorizontal(),p=d.autoSkip?e._autoSkip(e.getTicks()):e.getTicks(),v=s.valueOrDefault(d.fontColor,u.defaultFontColor),y=n(d),b=s.valueOrDefault(c.fontColor,u.defaultFontColor),x=n(c),_=h.drawTicks?h.tickMarkLength:0,k=s.valueOrDefault(f.fontColor,u.defaultFontColor),w=n(f),M=s.options.toPadding(f.padding),S=s.toRadians(e.labelRotation),D=[],C="right"===i.position?e.left:e.right-_,P="right"===i.position?e.left+_:e.right,T="bottom"===i.position?e.top:e.bottom-_,I="bottom"===i.position?e.top+_:e.bottom;if(s.each(p,function(n,r){if(void 0!==n.label){var o,l,c,f,v=n.label;r===e.zeroLineIndex&&i.offset===h.offsetGridLines?(o=h.zeroLineWidth,l=h.zeroLineColor,c=h.zeroLineBorderDash,f=h.zeroLineBorderDashOffset):(o=s.valueAtIndexOrDefault(h.lineWidth,r),l=s.valueAtIndexOrDefault(h.color,r),c=s.valueOrDefault(h.borderDash,u.borderDash),f=s.valueOrDefault(h.borderDashOffset,u.borderDashOffset));var y,b,x,k,w,M,A,O,F,R,L="middle",W="middle",Y=d.padding;if(m){var N=_+Y;"bottom"===i.position?(W=g?"middle":"top",L=g?"right":"center",R=e.top+N):(W=g?"middle":"bottom",L=g?"left":"center",R=e.bottom-N);var z=a(e,r,h.offsetGridLines&&p.length>1);z1);H0)n=t.stepSize;else{var r=i.niceNum(e.max-e.min,!1);n=i.niceNum(r/(t.maxTicks-1),!0)}var o=Math.floor(e.min/n)*n,s=Math.ceil(e.max/n)*n;t.min&&t.max&&t.stepSize&&i.almostWhole((t.max-t.min)/t.stepSize,n/1e3)&&(o=t.min,s=t.max);var l=(s-o)/n;l=i.almostEquals(l,Math.round(l),n/1e3)?Math.round(l):Math.ceil(l),a.push(void 0!==t.min?t.min:o);for(var u=1;u3?n[2]-n[1]:n[1]-n[0];Math.abs(a)>1&&t!==Math.floor(t)&&(a=t-Math.floor(t));var r=i.log10(Math.abs(a)),o="";if(0!==t){var s=-1*Math.floor(r);s=Math.max(Math.min(s,20),0),o=t.toFixed(s)}else o="0";return o},logarithmic:function(t,e,n){var a=t/Math.pow(10,Math.floor(i.log10(t)));return 0===t?"0":1===a||2===a||5===a||0===e||e===n.length-1?t.toExponential():""}}}},{45:45}],35:[function(t,e,n){"use strict";var i=t(25),a=t(26),r=t(45);i._set("global",{tooltips:{enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:r.noop,title:function(t,e){var n="",i=e.labels,a=i?i.length:0;if(t.length>0){var r=t[0];r.xLabel?n=r.xLabel:a>0&&r.indexi.height-e.height&&(o="bottom");var s,l,u,d,c,h=(a.left+a.right)/2,f=(a.top+a.bottom)/2;"center"===o?(s=function(t){return t<=h},l=function(t){return t>h}):(s=function(t){return t<=e.width/2},l=function(t){return t>=i.width-e.width/2}),u=function(t){return t+e.width>i.width},d=function(t){return t-e.width<0},c=function(t){return t<=f?"top":"bottom"},s(n.x)?(r="left",u(n.x)&&(r="center",o=c(n.y))):l(n.x)&&(r="right",d(n.x)&&(r="center",o=c(n.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:r,yAlign:g.yAlign?g.yAlign:o}}function d(t,e,n){var i=t.x,a=t.y,r=t.caretSize,o=t.caretPadding,s=t.cornerRadius,l=n.xAlign,u=n.yAlign,d=r+o,c=s+o;return"right"===l?i-=e.width:"center"===l&&(i-=e.width/2),"top"===u?a+=d:a-="bottom"===u?e.height+d:e.height/2,"center"===u?"left"===l?i+=d:"right"===l&&(i-=d):"left"===l?i-=c:"right"===l&&(i+=c),{x:i,y:a}}t.Tooltip=a.extend({initialize:function(){this._model=s(this._options)},getTitle:function(){var t=this,e=t._options.callbacks,i=e.beforeTitle.apply(t,arguments),a=e.title.apply(t,arguments),r=e.afterTitle.apply(t,arguments),o=[];return o=n(o,i),o=n(o,a),o=n(o,r)},getBeforeBody:function(){var t=this._options.callbacks.beforeBody.apply(this,arguments);return r.isArray(t)?t:void 0!==t?[t]:[]},getBody:function(t,e){var i=this,a=i._options.callbacks,o=[];return r.each(t,function(t){var r={before:[],lines:[],after:[]};n(r.before,a.beforeLabel.call(i,t,e)),n(r.lines,a.label.call(i,t,e)),n(r.after,a.afterLabel.call(i,t,e)),o.push(r)}),o},getAfterBody:function(){var t=this._options.callbacks.afterBody.apply(this,arguments);return r.isArray(t)?t:void 0!==t?[t]:[]},getFooter:function(){var t=this,e=t._options.callbacks,i=e.beforeFooter.apply(t,arguments),a=e.footer.apply(t,arguments),r=e.afterFooter.apply(t,arguments),o=[];return o=n(o,i),o=n(o,a),o=n(o,r)},update:function(e){var n,i,a=this,c=a._options,h=a._model,f=a._model=s(c),g=a._active,m=a._data,p={xAlign:h.xAlign,yAlign:h.yAlign},v={x:h.x,y:h.y},y={width:h.width,height:h.height},b={x:h.caretX,y:h.caretY};if(g.length){f.opacity=1;var x=[],_=[];b=t.Tooltip.positioners[c.position](g,a._eventPosition);var k=[];for(n=0,i=g.length;n0&&i.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var n={width:e.width,height:e.height},i={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,r=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&r&&(this.drawBackground(i,e,t,n,a),i.x+=e.xPadding,i.y+=e.yPadding,this.drawTitle(i,e,t,a),this.drawBody(i,e,t,a),this.drawFooter(i,e,t,a))}},handleEvent:function(t){var e=this,n=e._options,i=!1;if(e._lastActive=e._lastActive||[],"mouseout"===t.type?e._active=[]:e._active=e._chart.getElementsAtEventForMode(t,n.mode,n),!(i=!r.arrayEquals(e._active,e._lastActive)))return!1;if(e._lastActive=e._active,n.enabled||n.custom){e._eventPosition={x:t.x,y:t.y};var a=e._model;e.update(!0),e.pivot(),i|=a.x!==e._model.x||a.y!==e._model.y}return i}}),t.Tooltip.positioners={average:function(t){if(!t.length)return!1;var e,n,i=0,a=0,r=0;for(e=0,n=t.length;el;)a-=2*Math.PI;for(;a=s&&a<=l,d=o>=n.innerRadius&&o<=n.outerRadius;return u&&d}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,n=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,n=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},draw:function(){var t=this._chart.ctx,e=this._view,n=e.startAngle,i=e.endAngle;t.beginPath(),t.arc(e.x,e.y,e.outerRadius,n,i),t.arc(e.x,e.y,e.innerRadius,i,n,!0),t.closePath(),t.strokeStyle=e.borderColor,t.lineWidth=e.borderWidth,t.fillStyle=e.backgroundColor,t.fill(),t.lineJoin="bevel",e.borderWidth&&t.stroke()}})},{25:25,26:26,45:45}],37:[function(t,e,n){"use strict";var i=t(25),a=t(26),r=t(45),o=i.global;i._set("global",{elements:{line:{tension:.4,backgroundColor:o.defaultColor,borderWidth:3,borderColor:o.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}}),e.exports=a.extend({draw:function(){var t,e,n,i,a=this,s=a._view,l=a._chart.ctx,u=s.spanGaps,d=a._children.slice(),c=o.elements.line,h=-1;for(a._loop&&d.length&&d.push(d[0]),l.save(),l.lineCap=s.borderCapStyle||c.borderCapStyle,l.setLineDash&&l.setLineDash(s.borderDash||c.borderDash),l.lineDashOffset=s.borderDashOffset||c.borderDashOffset,l.lineJoin=s.borderJoinStyle||c.borderJoinStyle,l.lineWidth=s.borderWidth||c.borderWidth,l.strokeStyle=s.borderColor||o.defaultColor,l.beginPath(),h=-1,t=0;te?1:-1,o=1,s=u.borderSkipped||"left"):(e=u.x-u.width/2,n=u.x+u.width/2,i=u.y,r=1,o=(a=u.base)>i?1:-1,s=u.borderSkipped||"bottom"),d){var c=Math.min(Math.abs(e-n),Math.abs(i-a)),h=(d=d>c?c:d)/2,f=e+("left"!==s?h*r:0),g=n+("right"!==s?-h*r:0),m=i+("top"!==s?h*o:0),p=a+("bottom"!==s?-h*o:0);f!==g&&(i=m,a=p),m!==p&&(e=f,n=g)}l.beginPath(),l.fillStyle=u.backgroundColor,l.strokeStyle=u.borderColor,l.lineWidth=d;var v=[[e,a],[e,i],[n,i],[n,a]],y=["bottom","left","top","right"].indexOf(s,0);-1===y&&(y=0);var b=t(0);l.moveTo(b[0],b[1]);for(var x=1;x<4;x++)b=t(x),l.lineTo(b[0],b[1]);l.fill(),d&&l.stroke()},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){var n=!1;if(this._view){var i=a(this);n=t>=i.left&&t<=i.right&&e>=i.top&&e<=i.bottom}return n},inLabelRange:function(t,e){var n=this;if(!n._view)return!1;var r=a(n);return i(n)?t>=r.left&&t<=r.right:e>=r.top&&e<=r.bottom},inXRange:function(t){var e=a(this);return t>=e.left&&t<=e.right},inYRange:function(t){var e=a(this);return t>=e.top&&t<=e.bottom},getCenterPoint:function(){var t,e,n=this._view;return i(this)?(t=n.x,e=(n.y+n.base)/2):(t=(n.x+n.base)/2,e=n.y),{x:t,y:e}},getArea:function(){var t=this._view;return t.width*Math.abs(t.y-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}})},{25:25,26:26}],40:[function(t,e,n){"use strict";e.exports={},e.exports.Arc=t(36),e.exports.Line=t(37),e.exports.Point=t(38),e.exports.Rectangle=t(39)},{36:36,37:37,38:38,39:39}],41:[function(t,e,n){"use strict";var i=t(42),n=e.exports={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,n,i,a,r){if(r){var o=Math.min(r,i/2),s=Math.min(r,a/2);t.moveTo(e+o,n),t.lineTo(e+i-o,n),t.quadraticCurveTo(e+i,n,e+i,n+s),t.lineTo(e+i,n+a-s),t.quadraticCurveTo(e+i,n+a,e+i-o,n+a),t.lineTo(e+o,n+a),t.quadraticCurveTo(e,n+a,e,n+a-s),t.lineTo(e,n+s),t.quadraticCurveTo(e,n,e+o,n)}else t.rect(e,n,i,a)},drawPoint:function(t,e,n,i,a){var r,o,s,l,u,d;if("object"!=typeof e||"[object HTMLImageElement]"!==(r=e.toString())&&"[object HTMLCanvasElement]"!==r){if(!(isNaN(n)||n<=0)){switch(e){default:t.beginPath(),t.arc(i,a,n,0,2*Math.PI),t.closePath(),t.fill();break;case"triangle":t.beginPath(),u=(o=3*n/Math.sqrt(3))*Math.sqrt(3)/2,t.moveTo(i-o/2,a+u/3),t.lineTo(i+o/2,a+u/3),t.lineTo(i,a-2*u/3),t.closePath(),t.fill();break;case"rect":d=1/Math.SQRT2*n,t.beginPath(),t.fillRect(i-d,a-d,2*d,2*d),t.strokeRect(i-d,a-d,2*d,2*d);break;case"rectRounded":var c=n/Math.SQRT2,h=i-c,f=a-c,g=Math.SQRT2*n;t.beginPath(),this.roundedRect(t,h,f,g,g,n/2),t.closePath(),t.fill();break;case"rectRot":d=1/Math.SQRT2*n,t.beginPath(),t.moveTo(i-d,a),t.lineTo(i,a+d),t.lineTo(i+d,a),t.lineTo(i,a-d),t.closePath(),t.fill();break;case"cross":t.beginPath(),t.moveTo(i,a+n),t.lineTo(i,a-n),t.moveTo(i-n,a),t.lineTo(i+n,a),t.closePath();break;case"crossRot":t.beginPath(),s=Math.cos(Math.PI/4)*n,l=Math.sin(Math.PI/4)*n,t.moveTo(i-s,a-l),t.lineTo(i+s,a+l),t.moveTo(i-s,a+l),t.lineTo(i+s,a-l),t.closePath();break;case"star":t.beginPath(),t.moveTo(i,a+n),t.lineTo(i,a-n),t.moveTo(i-n,a),t.lineTo(i+n,a),s=Math.cos(Math.PI/4)*n,l=Math.sin(Math.PI/4)*n,t.moveTo(i-s,a-l),t.lineTo(i+s,a+l),t.moveTo(i-s,a+l),t.lineTo(i+s,a-l),t.closePath();break;case"line":t.beginPath(),t.moveTo(i-n,a),t.lineTo(i+n,a),t.closePath();break;case"dash":t.beginPath(),t.moveTo(i,a),t.lineTo(i+n,a),t.closePath()}t.stroke()}}else t.drawImage(e,i-e.width/2,a-e.height/2,e.width,e.height)},clipArea:function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},unclipArea:function(t){t.restore()},lineTo:function(t,e,n,i){if(n.steppedLine)return"after"===n.steppedLine&&!i||"after"!==n.steppedLine&&i?t.lineTo(e.x,n.y):t.lineTo(n.x,e.y),void t.lineTo(n.x,n.y);n.tension?t.bezierCurveTo(i?e.controlPointPreviousX:e.controlPointNextX,i?e.controlPointPreviousY:e.controlPointNextY,i?n.controlPointNextX:n.controlPointPreviousX,i?n.controlPointNextY:n.controlPointPreviousY,n.x,n.y):t.lineTo(n.x,n.y)}};i.clear=n.clear,i.drawRoundedRectangle=function(t){t.beginPath(),n.roundedRect.apply(n,arguments),t.closePath()}},{42:42}],42:[function(t,e,n){"use strict";var i={noop:function(){},uid:function(){var t=0;return function(){return t++}}(),isNullOrUndef:function(t){return null===t||void 0===t},isArray:Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},isObject:function(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)},valueOrDefault:function(t,e){return void 0===t?e:t},valueAtIndexOrDefault:function(t,e,n){return i.valueOrDefault(i.isArray(t)?t[e]:t,n)},callback:function(t,e,n){if(t&&"function"==typeof t.call)return t.apply(n,e)},each:function(t,e,n,a){var r,o,s;if(i.isArray(t))if(o=t.length,a)for(r=o-1;r>=0;r--)e.call(n,t[r],r);else for(r=0;r=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n))},easeOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:2==(t/=.5)?1:(n||(n=.45),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),t<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-a.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*a.easeInBounce(2*t):.5*a.easeOutBounce(2*t-1)+.5}};e.exports={effects:a},i.easingEffects=a},{42:42}],44:[function(t,e,n){"use strict";var i=t(42);e.exports={toLineHeight:function(t,e){var n=(""+t).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!n||"normal"===n[1])return 1.2*e;switch(t=+n[2],n[3]){case"px":return t;case"%":t/=100}return e*t},toPadding:function(t){var e,n,a,r;return i.isObject(t)?(e=+t.top||0,n=+t.right||0,a=+t.bottom||0,r=+t.left||0):e=n=a=r=+t||0,{top:e,right:n,bottom:a,left:r,height:e+a,width:r+n}},resolve:function(t,e,n){var a,r,o;for(a=0,r=t.length;a
    ';var a=e.childNodes[0],o=e.childNodes[1];e._reset=function(){a.scrollLeft=1e6,a.scrollTop=1e6,o.scrollLeft=1e6,o.scrollTop=1e6};var s=function(){e._reset(),t()};return r(a,"scroll",s.bind(a,"expand")),r(o,"scroll",s.bind(o,"shrink")),e}function c(t,e){var n=(t[v]||(t[v]={})).renderProxy=function(t){t.animationName===x&&e()};p.each(_,function(e){r(t,e,n)}),t.classList.add(b)}function h(t){var e=t[v]||{},n=e.renderProxy;n&&(p.each(_,function(e){o(t,e,n)}),delete e.renderProxy),t.classList.remove(b)}function f(t,e,n){var i=t[v]||(t[v]={}),a=i.resizer=d(u(function(){if(i.resizer)return e(s("resize",n))}));c(t,function(){if(i.resizer){var e=t.parentNode;e&&e!==a.parentNode&&e.insertBefore(a,e.firstChild),a._reset()}})}function g(t){var e=t[v]||{},n=e.resizer;delete e.resizer,h(t),n&&n.parentNode&&n.parentNode.removeChild(n)}function m(t,e){var n=t._style||document.createElement("style");t._style||(t._style=n,e="/* Chart.js */\n"+e,n.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(n)),n.appendChild(document.createTextNode(e))}var p=t(45),v="$chartjs",y="chartjs-",b=y+"render-monitor",x=y+"render-animation",_=["animationstart","webkitAnimationStart"],k={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},w=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(t){}return t}()&&{passive:!0};e.exports={_enabled:"undefined"!=typeof window&&"undefined"!=typeof document,initialize:function(){var t="from{opacity:0.99}to{opacity:1}";m(this,"@-webkit-keyframes "+x+"{"+t+"}@keyframes "+x+"{"+t+"}."+b+"{-webkit-animation:"+x+" 0.001s;animation:"+x+" 0.001s;}")},acquireContext:function(t,e){"string"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas);var n=t&&t.getContext&&t.getContext("2d");return n&&n.canvas===t?(a(t,e),n):null},releaseContext:function(t){var e=t.canvas;if(e[v]){var n=e[v].initial;["height","width"].forEach(function(t){var i=n[t];p.isNullOrUndef(i)?e.removeAttribute(t):e.setAttribute(t,i)}),p.each(n.style||{},function(t,n){e.style[n]=t}),e.width=e.width,delete e[v]}},addEventListener:function(t,e,n){var i=t.canvas;if("resize"!==e){var a=n[v]||(n[v]={});r(i,e,(a.proxies||(a.proxies={}))[t.id+"_"+e]=function(e){n(l(e,t))})}else f(i,n,t)},removeEventListener:function(t,e,n){var i=t.canvas;if("resize"!==e){var a=((n[v]||{}).proxies||{})[t.id+"_"+e];a&&o(i,e,a)}else g(i)}},p.addEvent=r,p.removeEvent=o},{45:45}],48:[function(t,e,n){"use strict";var i=t(45),a=t(46),r=t(47),o=r._enabled?r:a;e.exports=i.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},o)},{45:45,46:46,47:47}],49:[function(t,e,n){"use strict";var i=t(25),a=t(40),r=t(45);i._set("global",{plugins:{filler:{propagate:!0}}}),e.exports=function(){function t(t,e,n){var i,a=t._model||{},r=a.fill;if(void 0===r&&(r=!!a.backgroundColor),!1===r||null===r)return!1;if(!0===r)return"origin";if(i=parseFloat(r,10),isFinite(i)&&Math.floor(i)===i)return"-"!==r[0]&&"+"!==r[0]||(i=e+i),!(i===e||i<0||i>=n)&&i;switch(r){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return r;default:return!1}}function e(t){var e,n=t.el._model||{},i=t.el._scale||{},a=t.fill,r=null;if(isFinite(a))return null;if("start"===a?r=void 0===n.scaleBottom?i.bottom:n.scaleBottom:"end"===a?r=void 0===n.scaleTop?i.top:n.scaleTop:void 0!==n.scaleZero?r=n.scaleZero:i.getBasePosition?r=i.getBasePosition():i.getBasePixel&&(r=i.getBasePixel()),void 0!==r&&null!==r){if(void 0!==r.x&&void 0!==r.y)return r;if("number"==typeof r&&isFinite(r))return e=i.isHorizontal(),{x:e?r:null,y:e?null:r}}return null}function n(t,e,n){var i,a=t[e].fill,r=[e];if(!n)return a;for(;!1!==a&&-1===r.indexOf(a);){if(!isFinite(a))return a;if(!(i=t[a]))return!1;if(i.visible)return a;r.push(a),a=i.fill}return!1}function o(t){var e=t.fill,n="dataset";return!1===e?null:(isFinite(e)||(n="boundary"),d[n](t))}function s(t){return t&&!t.skip}function l(t,e,n,i,a){var o;if(i&&a){for(t.moveTo(e[0].x,e[0].y),o=1;o0;--o)r.canvas.lineTo(t,n[o],n[o-1],!0)}}function u(t,e,n,i,a,r){var o,u,d,c,h,f,g,m=e.length,p=i.spanGaps,v=[],y=[],b=0,x=0;for(t.beginPath(),o=0,u=m+!!r;o');for(var n=0;n'),t.data.datasets[n].label&&e.push(t.data.datasets[n].label),e.push("");return e.push(""),e.join("")}}),e.exports=function(t){function e(t,e){return t.usePointStyle?e*Math.SQRT2:t.boxWidth}function n(e,n){var i=new t.Legend({ctx:e.ctx,options:n,chart:e});o.configure(e,i,n),o.addBox(e,i),e.legend=i}var o=t.layoutService,s=r.noop;return t.Legend=a.extend({initialize:function(t){r.extend(this,t),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:s,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:s,beforeSetDimensions:s,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:s,beforeBuildLabels:s,buildLabels:function(){var t=this,e=t.options.labels||{},n=r.callback(e.generateLabels,[t.chart],t)||[];e.filter&&(n=n.filter(function(n){return e.filter(n,t.chart.data)})),t.options.reverse&&n.reverse(),t.legendItems=n},afterBuildLabels:s,beforeFit:s,fit:function(){var t=this,n=t.options,a=n.labels,o=n.display,s=t.ctx,l=i.global,u=r.valueOrDefault,d=u(a.fontSize,l.defaultFontSize),c=u(a.fontStyle,l.defaultFontStyle),h=u(a.fontFamily,l.defaultFontFamily),f=r.fontString(d,c,h),g=t.legendHitBoxes=[],m=t.minSize,p=t.isHorizontal();if(p?(m.width=t.maxWidth,m.height=o?10:0):(m.width=o?10:0,m.height=t.maxHeight),o)if(s.font=f,p){var v=t.lineWidths=[0],y=t.legendItems.length?d+a.padding:0;s.textAlign="left",s.textBaseline="top",r.each(t.legendItems,function(n,i){var r=e(a,d)+d/2+s.measureText(n.text).width;v[v.length-1]+r+a.padding>=t.width&&(y+=d+a.padding,v[v.length]=t.left),g[i]={left:0,top:0,width:r,height:d},v[v.length-1]+=r+a.padding}),m.height+=y}else{var b=a.padding,x=t.columnWidths=[],_=a.padding,k=0,w=0,M=d+b;r.each(t.legendItems,function(t,n){var i=e(a,d)+d/2+s.measureText(t.text).width;w+M>m.height&&(_+=k+a.padding,x.push(k),k=0,w=0),k=Math.max(k,i),w+=M,g[n]={left:0,top:0,width:i,height:d}}),_+=k,x.push(k),m.width+=_}t.width=m.width,t.height=m.height},afterFit:s,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,n=t.options,a=n.labels,o=i.global,s=o.elements.line,l=t.width,u=t.lineWidths;if(n.display){var d,c=t.ctx,h=r.valueOrDefault,f=h(a.fontColor,o.defaultFontColor),g=h(a.fontSize,o.defaultFontSize),m=h(a.fontStyle,o.defaultFontStyle),p=h(a.fontFamily,o.defaultFontFamily),v=r.fontString(g,m,p);c.textAlign="left",c.textBaseline="middle",c.lineWidth=.5,c.strokeStyle=f,c.fillStyle=f,c.font=v;var y=e(a,g),b=t.legendHitBoxes,x=function(t,e,i){if(!(isNaN(y)||y<=0)){c.save(),c.fillStyle=h(i.fillStyle,o.defaultColor),c.lineCap=h(i.lineCap,s.borderCapStyle),c.lineDashOffset=h(i.lineDashOffset,s.borderDashOffset),c.lineJoin=h(i.lineJoin,s.borderJoinStyle),c.lineWidth=h(i.lineWidth,s.borderWidth),c.strokeStyle=h(i.strokeStyle,o.defaultColor);var a=0===h(i.lineWidth,s.borderWidth);if(c.setLineDash&&c.setLineDash(h(i.lineDash,s.borderDash)),n.labels&&n.labels.usePointStyle){var l=g*Math.SQRT2/2,u=l/Math.SQRT2,d=t+u,f=e+u;r.canvas.drawPoint(c,i.pointStyle,l,d,f)}else a||c.strokeRect(t,e,y,g),c.fillRect(t,e,y,g);c.restore()}},_=function(t,e,n,i){var a=g/2,r=y+a+t,o=e+a;c.fillText(n.text,r,o),n.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(r,o),c.lineTo(r+i,o),c.stroke())},k=t.isHorizontal();d=k?{x:t.left+(l-u[0])/2,y:t.top+a.padding,line:0}:{x:t.left+a.padding,y:t.top+a.padding,line:0};var w=g+a.padding;r.each(t.legendItems,function(e,n){var i=c.measureText(e.text).width,r=y+g/2+i,o=d.x,s=d.y;k?o+r>=l&&(s=d.y+=w,d.line++,o=d.x=t.left+(l-u[d.line])/2):s+w>t.bottom&&(o=d.x=o+t.columnWidths[d.line]+a.padding,s=d.y=t.top+a.padding,d.line++),x(o,s,e),b[n].left=o,b[n].top=s,_(o,s,e,i),k?d.x+=r+a.padding:d.y+=w})}},handleEvent:function(t){var e=this,n=e.options,i="mouseup"===t.type?"click":t.type,a=!1;if("mousemove"===i){if(!n.onHover)return}else{if("click"!==i)return;if(!n.onClick)return}var r=t.x,o=t.y;if(r>=e.left&&r<=e.right&&o>=e.top&&o<=e.bottom)for(var s=e.legendHitBoxes,l=0;l=u.left&&r<=u.left+u.width&&o>=u.top&&o<=u.top+u.height){if("click"===i){n.onClick.call(e,t.native,e.legendItems[l]),a=!0;break}if("mousemove"===i){n.onHover.call(e,t.native,e.legendItems[l]),a=!0;break}}}return a}}),{id:"legend",beforeInit:function(t){var e=t.options.legend;e&&n(t,e)},beforeUpdate:function(t){var e=t.options.legend,a=t.legend;e?(r.mergeIf(e,i.global.legend),a?(o.configure(t,a,e),a.options=e):n(t,e)):a&&(o.removeBox(t,a),delete t.legend)},afterEvent:function(t,e){var n=t.legend;n&&n.handleEvent(e)}}}},{25:25,26:26,45:45}],51:[function(t,e,n){"use strict";var i=t(25),a=t(26),r=t(45);i._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,lineHeight:1.2,padding:10,position:"top",text:"",weight:2e3}}),e.exports=function(t){function e(e,i){var a=new t.Title({ctx:e.ctx,options:i,chart:e});n.configure(e,a,i),n.addBox(e,a),e.titleBlock=a}var n=t.layoutService,o=r.noop;return t.Title=a.extend({initialize:function(t){var e=this;r.extend(e,t),e.legendHitBoxes=[]},beforeUpdate:o,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:o,beforeSetDimensions:o,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:o,beforeBuildLabels:o,buildLabels:o,afterBuildLabels:o,beforeFit:o,fit:function(){var t=this,e=r.valueOrDefault,n=t.options,a=n.display,o=e(n.fontSize,i.global.defaultFontSize),s=t.minSize,l=r.isArray(n.text)?n.text.length:1,u=r.options.toLineHeight(n.lineHeight,o),d=a?l*u+2*n.padding:0;t.isHorizontal()?(s.width=t.maxWidth,s.height=d):(s.width=d,s.height=t.maxHeight),t.width=s.width,t.height=s.height},afterFit:o,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var t=this,e=t.ctx,n=r.valueOrDefault,a=t.options,o=i.global;if(a.display){var s,l,u,d=n(a.fontSize,o.defaultFontSize),c=n(a.fontStyle,o.defaultFontStyle),h=n(a.fontFamily,o.defaultFontFamily),f=r.fontString(d,c,h),g=r.options.toLineHeight(a.lineHeight,d),m=g/2+a.padding,p=0,v=t.top,y=t.left,b=t.bottom,x=t.right;e.fillStyle=n(a.fontColor,o.defaultFontColor),e.font=f,t.isHorizontal()?(l=y+(x-y)/2,u=v+m,s=x-y):(l="left"===a.position?y+m:x-m,u=v+(b-v)/2,s=b-v,p=Math.PI*("left"===a.position?-.5:.5)),e.save(),e.translate(l,u),e.rotate(p),e.textAlign="center",e.textBaseline="middle";var _=a.text;if(r.isArray(_))for(var k=0,w=0;w<_.length;++w)e.fillText(_[w],0,k,s),k+=g;else e.fillText(_,0,0,s);e.restore()}}}),{id:"title",beforeInit:function(t){var n=t.options.title;n&&e(t,n)},beforeUpdate:function(a){var o=a.options.title,s=a.titleBlock;o?(r.mergeIf(o,i.global.title),s?(n.configure(a,s,o),s.options=o):e(a,o)):s&&(t.layoutService.removeBox(a,s),delete a.titleBlock)}}}},{25:25,26:26,45:45}],52:[function(t,e,n){"use strict";e.exports=function(t){var e={position:"bottom"},n=t.Scale.extend({getLabels:function(){var t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels},determineDataLimits:function(){var t=this,e=t.getLabels();t.minIndex=0,t.maxIndex=e.length-1;var n;void 0!==t.options.ticks.min&&(n=e.indexOf(t.options.ticks.min),t.minIndex=-1!==n?n:t.minIndex),void 0!==t.options.ticks.max&&(n=e.indexOf(t.options.ticks.max),t.maxIndex=-1!==n?n:t.maxIndex),t.min=e[t.minIndex],t.max=e[t.maxIndex]},buildTicks:function(){var t=this,e=t.getLabels();t.ticks=0===t.minIndex&&t.maxIndex===e.length-1?e:e.slice(t.minIndex,t.maxIndex+1)},getLabelForIndex:function(t,e){var n=this,i=n.chart.data,a=n.isHorizontal();return i.yLabels&&!a?n.getRightValue(i.datasets[e].data[t]):n.ticks[t-n.minIndex]},getPixelForValue:function(t,e){var n,i=this,a=i.options.offset,r=Math.max(i.maxIndex+1-i.minIndex-(a?0:1),1);if(void 0!==t&&null!==t&&(n=i.isHorizontal()?t.x:t.y),void 0!==n||void 0!==t&&isNaN(e)){var o=i.getLabels();t=n||t;var s=o.indexOf(t);e=-1!==s?s:e}if(i.isHorizontal()){var l=i.width/r,u=l*(e-i.minIndex);return a&&(u+=l/2),i.left+Math.round(u)}var d=i.height/r,c=d*(e-i.minIndex);return a&&(c+=d/2),i.top+Math.round(c)},getPixelForTick:function(t){return this.getPixelForValue(this.ticks[t],t+this.minIndex,null)},getValueForPixel:function(t){var e=this,n=e.options.offset,i=Math.max(e._ticks.length-(n?0:1),1),a=e.isHorizontal(),r=(a?e.width:e.height)/i;return t-=a?e.left:e.top,n&&(t-=r/2),(t<=0?0:Math.round(t/r))+e.minIndex},getBasePixel:function(){return this.bottom}});t.scaleService.registerScaleType("category",n,e)}},{}],53:[function(t,e,n){"use strict";var i=t(25),a=t(45),r=t(34);e.exports=function(t){var e={position:"left",ticks:{callback:r.formatters.linear}},n=t.LinearScaleBase.extend({determineDataLimits:function(){function t(t){return o?t.xAxisID===e.id:t.yAxisID===e.id}var e=this,n=e.options,i=e.chart,r=i.data.datasets,o=e.isHorizontal();e.min=null,e.max=null;var s=n.stacked;if(void 0===s&&a.each(r,function(e,n){if(!s){var a=i.getDatasetMeta(n);i.isDatasetVisible(n)&&t(a)&&void 0!==a.stack&&(s=!0)}}),n.stacked||s){var l={};a.each(r,function(r,o){var s=i.getDatasetMeta(o),u=[s.type,void 0===n.stacked&&void 0===s.stack?o:"",s.stack].join(".");void 0===l[u]&&(l[u]={positiveValues:[],negativeValues:[]});var d=l[u].positiveValues,c=l[u].negativeValues;i.isDatasetVisible(o)&&t(s)&&a.each(r.data,function(t,i){var a=+e.getRightValue(t);isNaN(a)||s.data[i].hidden||(d[i]=d[i]||0,c[i]=c[i]||0,n.relativePoints?d[i]=100:a<0?c[i]+=a:d[i]+=a)})}),a.each(l,function(t){var n=t.positiveValues.concat(t.negativeValues),i=a.min(n),r=a.max(n);e.min=null===e.min?i:Math.min(e.min,i),e.max=null===e.max?r:Math.max(e.max,r)})}else a.each(r,function(n,r){var o=i.getDatasetMeta(r);i.isDatasetVisible(r)&&t(o)&&a.each(n.data,function(t,n){var i=+e.getRightValue(t);isNaN(i)||o.data[n].hidden||(null===e.min?e.min=i:ie.max&&(e.max=i))})});e.min=isFinite(e.min)&&!isNaN(e.min)?e.min:0,e.max=isFinite(e.max)&&!isNaN(e.max)?e.max:1,this.handleTickRangeOptions()},getTickLimit:function(){var t,e=this,n=e.options.ticks;if(e.isHorizontal())t=Math.min(n.maxTicksLimit?n.maxTicksLimit:11,Math.ceil(e.width/50));else{var r=a.valueOrDefault(n.fontSize,i.global.defaultFontSize);t=Math.min(n.maxTicksLimit?n.maxTicksLimit:11,Math.ceil(e.height/(2*r)))}return t},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){var e,n=this,i=n.start,a=+n.getRightValue(t),r=n.end-i;return n.isHorizontal()?(e=n.left+n.width/r*(a-i),Math.round(e)):(e=n.bottom-n.height/r*(a-i),Math.round(e))},getValueForPixel:function(t){var e=this,n=e.isHorizontal(),i=n?e.width:e.height,a=(n?t-e.left:e.bottom-t)/i;return e.start+(e.end-e.start)*a},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}});t.scaleService.registerScaleType("linear",n,e)}},{25:25,34:34,45:45}],54:[function(t,e,n){"use strict";var i=t(45),a=t(34);e.exports=function(t){var e=i.noop;t.LinearScaleBase=t.Scale.extend({getRightValue:function(e){return"string"==typeof e?+e:t.Scale.prototype.getRightValue.call(this,e)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var n=i.sign(t.min),a=i.sign(t.max);n<0&&a<0?t.max=0:n>0&&a>0&&(t.min=0)}var r=void 0!==e.min||void 0!==e.suggestedMin,o=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(null===t.min?t.min=e.suggestedMin:t.min=Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(null===t.max?t.max=e.suggestedMax:t.max=Math.max(t.max,e.suggestedMax)),r!==o&&t.min>=t.max&&(r?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:e,handleDirectionalChanges:e,buildTicks:function(){var t=this,e=t.options.ticks,n=t.getTickLimit(),r={maxTicks:n=Math.max(2,n),min:e.min,max:e.max,stepSize:i.valueOrDefault(e.fixedStepSize,e.stepSize)},o=t.ticks=a.generators.linear(r,t);t.handleDirectionalChanges(),t.max=i.max(o),t.min=i.min(o),e.reverse?(o.reverse(),t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max)},convertTicksToLabels:function(){var e=this;e.ticksAsNumbers=e.ticks.slice(),e.zeroLineIndex=e.ticks.indexOf(0),t.Scale.prototype.convertTicksToLabels.call(e)}})}},{34:34,45:45}],55:[function(t,e,n){"use strict";var i=t(45),a=t(34);e.exports=function(t){var e={position:"left",ticks:{callback:a.formatters.logarithmic}},n=t.Scale.extend({determineDataLimits:function(){function t(t){return l?t.xAxisID===e.id:t.yAxisID===e.id}var e=this,n=e.options,a=n.ticks,r=e.chart,o=r.data.datasets,s=i.valueOrDefault,l=e.isHorizontal();e.min=null,e.max=null,e.minNotZero=null;var u=n.stacked;if(void 0===u&&i.each(o,function(e,n){if(!u){var i=r.getDatasetMeta(n);r.isDatasetVisible(n)&&t(i)&&void 0!==i.stack&&(u=!0)}}),n.stacked||u){var d={};i.each(o,function(a,o){var s=r.getDatasetMeta(o),l=[s.type,void 0===n.stacked&&void 0===s.stack?o:"",s.stack].join(".");r.isDatasetVisible(o)&&t(s)&&(void 0===d[l]&&(d[l]=[]),i.each(a.data,function(t,i){var a=d[l],r=+e.getRightValue(t);isNaN(r)||s.data[i].hidden||(a[i]=a[i]||0,n.relativePoints?a[i]=100:a[i]+=r)}))}),i.each(d,function(t){var n=i.min(t),a=i.max(t);e.min=null===e.min?n:Math.min(e.min,n),e.max=null===e.max?a:Math.max(e.max,a)})}else i.each(o,function(n,a){var o=r.getDatasetMeta(a);r.isDatasetVisible(a)&&t(o)&&i.each(n.data,function(t,n){var i=+e.getRightValue(t);isNaN(i)||o.data[n].hidden||(null===e.min?e.min=i:ie.max&&(e.max=i),0!==i&&(null===e.minNotZero||ia?{start:e-n-5,end:e}:{start:e,end:e+n+5}}function l(t){var i,r,l,u=n(t),d=Math.min(t.height/2,t.width/2),c={r:t.width,l:0,t:t.height,b:0},h={};t.ctx.font=u.font,t._pointLabelSizes=[];var f=e(t);for(i=0;ic.r&&(c.r=p.end,h.r=g),v.startc.b&&(c.b=v.end,h.b=g)}t.setReductions(d,c,h)}function u(t){var e=Math.min(t.height/2,t.width/2);t.drawingArea=Math.round(e),t.setCenterPoint(0,0,0,0)}function d(t){return 0===t||180===t?"center":t<180?"left":"right"}function c(t,e,n,i){if(a.isArray(e))for(var r=n.y,o=1.5*i,s=0;s270||t<90)&&(n.y-=e.h)}function f(t){var i=t.ctx,r=a.valueOrDefault,o=t.options,s=o.angleLines,l=o.pointLabels;i.lineWidth=s.lineWidth,i.strokeStyle=s.color;var u=t.getDistanceFromCenterForValue(o.ticks.reverse?t.min:t.max),f=n(t);i.textBaseline="top";for(var g=e(t)-1;g>=0;g--){if(s.display){var m=t.getPointPosition(g,u);i.beginPath(),i.moveTo(t.xCenter,t.yCenter),i.lineTo(m.x,m.y),i.stroke(),i.closePath()}if(l.display){var v=t.getPointPosition(g,u+5),y=r(l.fontColor,p.defaultFontColor);i.font=f.font,i.fillStyle=y;var b=t.getIndexAngle(g),x=a.toDegrees(b);i.textAlign=d(x),h(x,t._pointLabelSizes[g],v),c(i,t.pointLabels[g]||"",v,f.size)}}}function g(t,n,i,r){var o=t.ctx;if(o.strokeStyle=a.valueAtIndexOrDefault(n.color,r-1),o.lineWidth=a.valueAtIndexOrDefault(n.lineWidth,r-1),t.options.gridLines.circular)o.beginPath(),o.arc(t.xCenter,t.yCenter,i,0,2*Math.PI),o.closePath(),o.stroke();else{var s=e(t);if(0===s)return;o.beginPath();var l=t.getPointPosition(0,i);o.moveTo(l.x,l.y);for(var u=1;u0&&n>0?e:0)},draw:function(){var t=this,e=t.options,n=e.gridLines,i=e.ticks,r=a.valueOrDefault;if(e.display){var o=t.ctx,s=this.getIndexAngle(0),l=r(i.fontSize,p.defaultFontSize),u=r(i.fontStyle,p.defaultFontStyle),d=r(i.fontFamily,p.defaultFontFamily),c=a.fontString(l,u,d);a.each(t.ticks,function(e,a){if(a>0||i.reverse){var u=t.getDistanceFromCenterForValue(t.ticksAsNumbers[a]);if(n.display&&0!==a&&g(t,n,u,a),i.display){var d=r(i.fontColor,p.defaultFontColor);if(o.font=c,o.save(),o.translate(t.xCenter,t.yCenter),o.rotate(s),i.showLabelBackdrop){var h=o.measureText(e).width;o.fillStyle=i.backdropColor,o.fillRect(-h/2-i.backdropPaddingX,-u-l/2-i.backdropPaddingY,h+2*i.backdropPaddingX,l+2*i.backdropPaddingY)}o.textAlign="center",o.textBaseline="middle",o.fillStyle=d,o.fillText(e,0,-u),o.restore()}}}),(e.angleLines.display||e.pointLabels.display)&&f(t)}}});t.scaleService.registerScaleType("radialLinear",y,v)}},{25:25,34:34,45:45}],57:[function(t,e,n){"use strict";function i(t,e){return t-e}function a(t){var e,n,i,a={},r=[];for(e=0,n=t.length;ee&&s=0&&o<=s;){if(i=o+s>>1,a=t[i-1]||null,r=t[i],!a)return{lo:null,hi:r};if(r[e]n))return{lo:a,hi:r};s=i-1}}return{lo:r,hi:null}}function s(t,e,n,i){var a=o(t,e,n),r=a.lo?a.hi?a.lo:t[t.length-2]:t[0],s=a.lo?a.hi?a.hi:t[t.length-1]:t[1],l=s[e]-r[e],u=l?(n-r[e])/l:0,d=(s[i]-r[i])*u;return r[i]+d}function l(t,e){var n=e.parser,i=e.parser||e.format;return"function"==typeof n?n(t):"string"==typeof t&&"string"==typeof i?p(t,i):(t instanceof p||(t=p(t)),t.isValid()?t:"function"==typeof i?i(t):t)}function u(t,e){if(y.isNullOrUndef(t))return null;var n=e.options.time,i=l(e.getRightValue(t),n);return i.isValid()?(n.round&&i.startOf(n.round),i.valueOf()):null}function d(t,e,n,i){var a,r,o,s=e-t,l=_[n],u=l.size,d=l.steps;if(!d)return Math.ceil(s/((i||1)*u));for(a=0,r=d.length;a1?e[1]:i,o=e[0],l=(s(t,"time",r,"pos")-s(t,"time",o,"pos"))/2),a.time.max||(r=e[e.length-1],o=e.length>1?e[e.length-2]:n,u=(s(t,"time",r,"pos")-s(t,"time",o,"pos"))/2)),{left:l,right:u}}function m(t,e){var n,i,a,r,o=[];for(n=0,i=t.length;n=a&&n<=o&&x.push(n);return i.min=a,i.max=o,i._unit=v,i._majorUnit=y,i._minorFormat=d[v],i._majorFormat=d[y],i._table=r(i._timestamps.data,a,o,s.distribution),i._offsets=g(i._table,x,a,o,s),m(x,y)},getLabelForIndex:function(t,e){var n=this,i=n.chart.data,a=n.options.time,r=i.labels&&t=0&&t=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};d.jQueryDetection(),o.default.fn.emulateTransitionEnd=u,o.default.event.special[d.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(o.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var f="alert",c=o.default.fn[f],h=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=d.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=o.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=o.default.Event("close.bs.alert");return o.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(o.default(t).removeClass("show"),o.default(t).hasClass("fade")){var n=d.getTransitionDurationFromElement(t);o.default(t).one(d.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){o.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.alert");i||(i=new t(this),n.data("bs.alert",i)),"close"===e&&i[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',h._handleDismiss(new h)),o.default.fn[f]=h._jQueryInterface,o.default.fn[f].Constructor=h,o.default.fn[f].noConflict=function(){return o.default.fn[f]=c,h._jQueryInterface};var g=o.default.fn.button,m=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=o.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var i=this._element.querySelector('input:not([type="hidden"])');if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains("active"))t=!1;else{var a=n.querySelector(".active");a&&o.default(a).removeClass("active")}t&&("checkbox"!==i.type&&"radio"!==i.type||(i.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||o.default(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&o.default(this._element).toggleClass("active"))},e.dispose=function(){o.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this),a=i.data("bs.button");a||(a=new t(this),i.data("bs.button",a)),a.shouldAvoidTriggerChange=n,"toggle"===e&&a[e]()}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(o.default(e).hasClass("btn")||(e=o.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var i=e.querySelector('input:not([type="hidden"])');if(i&&(i.hasAttribute("disabled")||i.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||m._jQueryInterface.call(o.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=o.default(t.target).closest(".btn")[0];o.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),o.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=o.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(d.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)o.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},e.dispose=function(){o.default(this._element).off(_),o.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},b,t),d.typeCheckConfig(p,t,y),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&o.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&o.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};o.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(o.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(o.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),o.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),a=this._items.length-1;if((i&&0===o||n&&o===a)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(".active.carousel-item")),a=o.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n});return o.default(this._element).trigger(a),a},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));o.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&o.default(n).addClass("active")}},e._slide=function(t,e){var n,i,a,s=this,l=this._element.querySelector(".active.carousel-item"),r=this._getItemIndex(l),u=e||l&&this._getItemByDirection(t,l),f=this._getItemIndex(u),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",a="left"):(n="carousel-item-right",i="carousel-item-prev",a="right"),u&&o.default(u).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(u,a).isDefaultPrevented()&&l&&u){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(u);var h=o.default.Event("slid.bs.carousel",{relatedTarget:u,direction:a,from:r,to:f});if(o.default(this._element).hasClass("slide")){o.default(u).addClass(i),d.reflow(u),o.default(l).addClass(n),o.default(u).addClass(n);var g=parseInt(u.getAttribute("data-interval"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=d.getTransitionDurationFromElement(l);o.default(l).one(d.TRANSITION_END,(function(){o.default(u).removeClass(n+" "+i).addClass("active"),o.default(l).removeClass("active "+i+" "+n),s._isSliding=!1,setTimeout((function(){return o.default(s._element).trigger(h)}),0)})).emulateTransitionEnd(m)}else o.default(l).removeClass("active"),o.default(u).addClass("active"),this._isSliding=!1,o.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.carousel"),i=r({},b,o.default(this).data());"object"==typeof e&&(i=r({},i,e));var a="string"==typeof e?e:i.slide;if(n||(n=new t(this,i),o.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof a){if("undefined"==typeof n[a])throw new TypeError('No method named "'+a+'"');n[a]()}else i.interval&&i.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=d.getSelectorFromElement(this);if(n){var i=o.default(n)[0];if(i&&o.default(i).hasClass("carousel")){var a=r({},o.default(i).data(),o.default(this).data()),s=this.getAttribute("data-slide-to");s&&(a.interval=!1),t._jQueryInterface.call(o.default(i),a),s&&o.default(i).data("bs.carousel").to(s),e.preventDefault()}}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return b}}]),t}();o.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",w._dataApiClickHandler),o.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e0&&(this._selector=s,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){o.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,i=this;if(!this._isTransitioning&&!o.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof i._config.parent?t.getAttribute("data-parent")===i._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=o.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var a=o.default.Event("show.bs.collapse");if(o.default(this._element).trigger(a),!a.isDefaultPrevented()){e&&(t._jQueryInterface.call(o.default(e).not(this._selector),"hide"),n||o.default(e).data("bs.collapse",null));var s=this._getDimension();o.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[s]=0,this._triggerArray.length&&o.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var l="scroll"+(s[0].toUpperCase()+s.slice(1)),r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){o.default(i._element).removeClass("collapsing").addClass("collapse show"),i._element.style[s]="",i.setTransitioning(!1),o.default(i._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(r),this._element.style[s]=this._element[l]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&o.default(this._element).hasClass("show")){var e=o.default.Event("hide.bs.collapse");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",d.reflow(this._element),o.default(this._element).addClass("collapsing").removeClass("collapse show");var i=this._triggerArray.length;if(i>0)for(var a=0;a0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),o.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),i=0,a=n.length;i0&&s--,40===e.which&&sdocument.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var i=d.getTransitionDurationFromElement(this._dialog);o.default(this._element).off(d.TRANSITION_END),o.default(this._element).one(d.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||o.default(t._element).one(d.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,i)})).emulateTransitionEnd(i),this._element.focus()}else this.hide()},e._showElement=function(t){var e=this,n=o.default(this._element).hasClass("fade"),i=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),o.default(this._dialog).hasClass("modal-dialog-scrollable")&&i?i.scrollTop=0:this._element.scrollTop=0,n&&d.reflow(this._element),o.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var a=o.default.Event("shown.bs.modal",{relatedTarget:t}),s=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,o.default(e._element).trigger(a)};if(n){var l=d.getTransitionDurationFromElement(this._dialog);o.default(this._dialog).one(d.TRANSITION_END,s).emulateTransitionEnd(l)}else s()},e._enforceFocus=function(){var t=this;o.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===o.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?o.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||o.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?o.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):o.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){o.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),o.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(o.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=o.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),o.default(this._backdrop).appendTo(document.body),o.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&d.reflow(this._backdrop),o.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var i=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){o.default(this._backdrop).removeClass("show");var a=function(){e._removeBackdrop(),t&&t()};if(o.default(this._element).hasClass("fade")){var s=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
    ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Q,popperConfig:null},$={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},J=function(){function t(t,e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=o.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(o.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),o.default.removeData(this.element,this.constructor.DATA_KEY),o.default(this.element).off(this.constructor.EVENT_KEY),o.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&o.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===o.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=o.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){o.default(this.element).trigger(e);var n=d.findShadowRoot(this.element),i=o.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var s=this.getTipElement(),l=d.getUID(this.constructor.NAME);s.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&o.default(s).addClass("fade");var r="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(r);this.addAttachmentClass(u);var f=this._getContainer();o.default(s).data(this.constructor.DATA_KEY,this),o.default.contains(this.element.ownerDocument.documentElement,this.tip)||o.default(s).appendTo(f),o.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new a.default(this.element,s,this._getPopperConfig(u)),o.default(s).addClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().on("mouseover",null,o.default.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,o.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(o.default(this.tip).hasClass("fade")){var h=d.getTransitionDurationFromElement(this.tip);o.default(this.tip).one(d.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=o.default.Event(this.constructor.Event.HIDE),a=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),o.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(o.default(this.element).trigger(i),!i.isDefaultPrevented()){if(o.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,o.default(this.tip).hasClass("fade")){var s=d.getTransitionDurationFromElement(n);o.default(n).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(o.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),o.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=U(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?o.default(e).parent().is(t)||t.empty().append(e):t.text(o.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d.isElement(this.config.container)?o.default(this.config.container):o.default(document).find(this.config.container)},e._getAttachment=function(t){return X[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)o.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;o.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},o.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),o.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=o.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==z.indexOf(t)&&delete e[t]})),"number"==typeof(t=r({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d.typeCheckConfig(M,t,this.constructor.DefaultType),t.sanitize&&(t.template=U(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(V);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(o.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tooltip"),a="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new t(this,a),n.data("bs.tooltip",i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return Y}},{key:"NAME",get:function(){return M}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return $}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return K}}]),t}();o.default.fn[M]=J._jQueryInterface,o.default.fn[M].Constructor=J,o.default.fn[M].noConflict=function(){return o.default.fn[M]=W,J._jQueryInterface};var G="popover",Z=o.default.fn[G],tt=new RegExp("(^|\\s)bs-popover\\S+","g"),et=r({},J.Default,{placement:"right",trigger:"click",content:"",template:''}),nt=r({},J.DefaultType,{content:"(string|element|function)"}),it={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},ot=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=i.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},a.setContent=function(){var t=o.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(tt);null!==e&&e.length>0&&t.removeClass(e.join(""))},i._jQueryInterface=function(t){return this.each((function(){var e=o.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),o.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},l(i,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return et}},{key:"NAME",get:function(){return G}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return it}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return nt}}]),i}(J);o.default.fn[G]=ot._jQueryInterface,o.default.fn[G].Constructor=ot,o.default.fn[G].noConflict=function(){return o.default.fn[G]=Z,ot._jQueryInterface};var at="scrollspy",st=o.default.fn[at],lt={offset:10,method:"auto",target:""},rt={offset:"number",method:"string",target:"(string|element)"},ut=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,o.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,a=d.getSelectorFromElement(t);if(a&&(e=document.querySelector(a)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[o.default(e)[n]().top+i,a]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){o.default.removeData(this._element,"bs.scrollspy"),o.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},lt,"object"==typeof t&&t?t:{})).target&&d.isElement(t.target)){var e=o.default(t.target).attr("id");e||(e=d.getUID(at),o.default(t.target).attr("id",e)),t.target="#"+e}return d.typeCheckConfig(at,t,rt),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=o.default.makeArray(o.default(i).find(s)))[n.length-1]}var l=o.default.Event("hide.bs.tab",{relatedTarget:this._element}),r=o.default.Event("show.bs.tab",{relatedTarget:n});if(n&&o.default(n).trigger(l),o.default(this._element).trigger(r),!r.isDefaultPrevented()&&!l.isDefaultPrevented()){a&&(e=document.querySelector(a)),this._activate(this._element,i);var u=function(){var e=o.default.Event("hidden.bs.tab",{relatedTarget:t._element}),i=o.default.Event("shown.bs.tab",{relatedTarget:n});o.default(n).trigger(e),o.default(t._element).trigger(i)};e?this._activate(e,e.parentNode,u):u()}}},e.dispose=function(){o.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,a=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?o.default(e).children(".active"):o.default(e).find("> li > .active"))[0],s=n&&a&&o.default(a).hasClass("fade"),l=function(){return i._transitionComplete(t,a,n)};if(a&&s){var r=d.getTransitionDurationFromElement(a);o.default(a).removeClass("show").one(d.TRANSITION_END,l).emulateTransitionEnd(r)}else l()},e._transitionComplete=function(t,e,n){if(e){o.default(e).removeClass("active");var i=o.default(e.parentNode).find("> .dropdown-menu .active")[0];i&&o.default(i).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(o.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&o.default(t.parentNode).hasClass("dropdown-menu")){var a=o.default(t).closest(".dropdown")[0];if(a){var s=[].slice.call(a.querySelectorAll(".dropdown-toggle"));o.default(s).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tab");if(i||(i=new t(this),n.data("bs.tab",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ft._jQueryInterface.call(o.default(this),"show")})),o.default.fn.tab=ft._jQueryInterface,o.default.fn.tab.Constructor=ft,o.default.fn.tab.noConflict=function(){return o.default.fn.tab=dt,ft._jQueryInterface};var ct=o.default.fn.toast,ht={animation:"boolean",autohide:"boolean",delay:"number"},gt={animation:!0,autohide:!0,delay:500},mt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=o.default.Event("show.bs.toast");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),o.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),d.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var i=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=o.default.Event("hide.bs.toast");o.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),o.default(this._element).off("click.dismiss.bs.toast"),o.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},gt,o.default(this._element).data(),"object"==typeof t&&t?t:{}),d.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;o.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),o.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.toast");if(i||(i=new t(this,"object"==typeof e&&e),n.data("bs.toast",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](this)}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"DefaultType",get:function(){return ht}},{key:"Default",get:function(){return gt}}]),t}();o.default.fn.toast=mt._jQueryInterface,o.default.fn.toast.Constructor=mt,o.default.fn.toast.noConflict=function(){return o.default.fn.toast=ct,mt._jQueryInterface},t.Alert=h,t.Button=m,t.Carousel=w,t.Collapse=D,t.Dropdown=x,t.Modal=q,t.Popover=ot,t.Scrollspy=ut,t.Tab=ft,t.Toast=mt,t.Tooltip=J,t.Util=d,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/boot/assets/tv/js/darkmode.min.js b/boot/assets/tv/js/darkmode.min.js new file mode 100644 index 0000000..52bfe03 --- /dev/null +++ b/boot/assets/tv/js/darkmode.min.js @@ -0,0 +1 @@ +const DARK_MODE="dark",LIGHT_MODE="light",AUTO_MODE="auto",THEME="hugo-geekdoc",TOGGLE_MODES=["auto","dark","light"];function toggle(e=[],t){return current=e.indexOf(t),max=e.length-1,next=0,current{document.getElementById("gdoc-dark-mode").onclick=function(){let e=localStorage.getItem(THEME),t=toggle(TOGGLE_MODES,e);localStorage.setItem(THEME,TOGGLE_MODES[t]),applyTheme(!1)}}); \ No newline at end of file diff --git a/boot/assets/tv/js/en.search.min.js b/boot/assets/tv/js/en.search.min.js new file mode 100644 index 0000000..895032d --- /dev/null +++ b/boot/assets/tv/js/en.search.min.js @@ -0,0 +1,18 @@ +'use strict';(function(){const input=document.querySelector('#gdoc-search-input');const results=document.querySelector('#gdoc-search-results');let showParent=true +input.addEventListener('focus',init);input.addEventListener('keyup',search);function init(){input.removeEventListener('focus',init);loadScript('/js/groupBy-62b30ac391.min.js');loadScript('/js/flexsearch-ad47a5e1ee.min.js',function(){const indexCfg={};const dataUrl="/en.search-data.min.json" +indexCfg.doc={id:'id',field:['title','content'],store:['title','href','parent'],};const index=FlexSearch.create(indexCfg);window.geekdocSearchIndex=index;getJson(dataUrl,function(data){data.forEach(obj=>{window.geekdocSearchIndex.add(obj);});});});} +function search(){while(results.firstChild){results.removeChild(results.firstChild);} +if(!input.value){return results.classList.remove("has-hits");} +let searchHits=window.geekdocSearchIndex.search(input.value,10);if(searchHits.length<1){return results.classList.remove("has-hits");} +results.classList.add("has-hits");if(showParent===true){searchHits=groupBy(searchHits,hit=>hit.parent);} +const items=[];if(showParent===true){for(const section in searchHits){const item=document.createElement('li'),title=item.appendChild(document.createElement('span')),subList=item.appendChild(document.createElement('ul'));title.textContent=section;createLinks(searchHits[section],subList);items.push(item);}}else{const item=document.createElement('li'),title=item.appendChild(document.createElement('span')),subList=item.appendChild(document.createElement('ul'));title.textContent="Results";createLinks(searchHits,subList);items.push(item);} +items.forEach(item=>{results.appendChild(item);})} +function createLinks(pages,target){const items=[];for(const page of pages){const item=document.createElement("li"),entry=item.appendChild(document.createElement("span")),a=entry.appendChild(document.createElement("a"));entry.classList.add("flex") +a.href=page.href;a.textContent=page.title;a.classList.add("gdoc-search__entry") +if(target){target.appendChild(item);continue} +items.push(item);} +return items;} +function fetchErrors(response){if(!response.ok){throw Error(response.statusText);} +return response;} +function getJson(src,callback){fetch(src).then(fetchErrors).then(response=>response.json()).then(json=>callback(json)).catch(function(error){console.log(error);});} +function loadScript(src,callback){let script=document.createElement('script');script.defer=true;script.async=false;script.src=src;script.onload=callback;document.body.appendChild(script);}})(); \ No newline at end of file diff --git a/boot/assets/tv/js/jquery.min.js b/boot/assets/tv/js/jquery.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/boot/assets/tv/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0, this will return without doing anything + * - Style elements really shouldn't have classes added to them. This functionality should + * probably use some kind of data attribute. + * - Currently, getElementStyles is hand-rolled and probably wrong. + * + * v0.6 2013-04-08 + * Removed $.browser requirement and refactored a bit so it runs slightly faster and works with + * jQuery 1.9. Also checks for native scoped style support and exits early if available. + * + * v0.5 2011-01-30 + * Sibling blocks work, most nested blocks work but some oddness in Webkit means that some + * styles don't inherit correctly when there are multiple nested declarations. + * + * v0.4 2011-01-29 + * First jQuery plugin version. Works for most cases but gets confused when there are + * multiple scoped blocks affecting the same context (siblings). + * + */ +(function($) { + "use strict"; + //Add this to the global jQuery object as we want to apply this once to the entire document + $.scoped = function() { + if ('scoped' in document.createElement('style')) { + return; + } + + // To detect which method to use when setting styles + // IE9 pretends to use setProperty but doesn't + var styleSettable = true; + try { + document.createElement("div").style.setProperty("opacity", 0, ""); + } catch (error) { + styleSettable = false; + } + + scopedReset(); + + //Backup the original styles + backupBlocks(); + + //Go through once to add dependencies + var $style = $('style'); + $style.each(function(index) { + var $this = $(this); + if (isScoped($this)) { + $this.addClass('this_is_' + index); + + //Get all style blocks in this scope + //Including nested blocks + $this.parent().find('style').each(function() { + //Add a dependency class here to check for later + $(this).addClass('depends_on_' + index); + }); + } + }); + + //Go through a second time to process the scopes + $style.each(function() { + var $this = $(this); + if (isScoped($this)) { + + //Empty all scoped style blocks + //Except those that this context is dependant on + emptyBlocks($this); + + var holdingArea = []; + + //Read all styles and copy them to a holding area + var $parent = $this.parent(), + $all = $parent.find('*'); + $all.add($parent).each(function() { + $(this).css('cssText', ''); + if (this.nodeName !== 'STYLE') { + holdingArea.push(getStylesText(this)); + } + }); + + //Copy all the styles back from the holding area onto the in-scope elements + $all.add($parent).each(function() { + var this_style, n; + if (this.nodeName !== 'STYLE') { + + if (!$(this).data('originalInline')) { + $(this).data('originalInline', $(this).attr('style')); + } + + + this_style = holdingArea.shift(); + + if (typeof this_style === 'string') { + // Webkit, Gecko + $(this).css('cssText', this_style); + } else { + if (styleSettable) { + // Opera + for (n in this_style) { + if (n !== 'content' || this_style[n] !== 'none') { + try { + this.style.setProperty(n, this_style[n]); + } catch (err) {} + } + } + } else { + // IE + for (n in this_style) { + try { + if (this && this.style && n && this_style[n] && n !== '' && this_style[n] !== '') { + this.style[n] = this_style[n]; + } + } catch (err) {} + } + } + } + } + }); + + //Put all other style blocks back + fillBlocks(); + } + }); + + //Measurements done and styles applied, now clear styles from this style block + //This will stop them affecting out-of-scope elements + $('style').each(function(i, e) { + if (isScoped(e)) { + try { + e.innerHTML = ''; + } catch (error) { + $(e).attr('disabled', 'disabled'); + } + } + }); + + //Standard jQuery attribute selector $('style[scoped]') doesn't + //work with empty boolean attributes so this is used instead + + function isScoped(styleBlock) { + return ($(styleBlock).attr('scoped') !== undefined); + } + + //Save all style tag contents to a data object + + function backupBlocks() { + $('style').each(function(i, e) { + if (isScoped(e)) { + var $e = $(e); + $e.data('original-style', $e.html()); + } + }); + } + + //Each style block now has class="depends_on_1 depends_on_2" + //We switch off all the scoped style blocks not mentioned in that list + //The disabled attribute only works on IE but coincidentally, + //IE doesn't allow .html() on style blocks. + + function emptyBlocks(currentBlock) { + $('style').each(function(i, e) { + if (isScoped(e)) { + if (!currentBlock.hasClass('depends_on_' + i)) { + try { + e.innerHTML = ''; + } catch (error) { + $(e).attr('disabled', 'disabled'); + } + } + } + }); + } + + //Put all the styles back to reset for the next loop + + function fillBlocks() { + $('style').each(function(i, e) { + var $e = $(e); + if (isScoped(e)) { + try { + e.innerHTML = $e.data('original-style'); + } catch (error) { + $(this).removeAttr('disabled'); + } + } + }); + } + + //Update this bit with some jQuery magic later + + function getStylesText(element) { + var temp, styles, n, key; + + if (element.currentStyle) { + //We work with a style object in IE and Opera rather than the text + sleep(50); //50ms delay to allow for external stylesheet parsing. + return element.currentStyle; + } + + //We extract and process the ComputedCSSStyleObject into text + temp = document.defaultView.getComputedStyle(element, null); + styles = ''; + for (n in temp) { + if (parseInt(n, 10)) { + key = camelize(temp[n]); + if (temp[key] !== undefined) { + styles += temp[n] + ':' + temp[key] + ';\n'; + } + } + } + return styles; + } + + function scopedReset() { + var $style = $('style'); + $style.each(function(i, styleBlock) { + var $styleBlock = $(styleBlock); + var $parent = $(this).parent(), + $all = $parent.find('*'); + + $all.add($parent).each(function() { + var $this = $(this); + if (this.nodeName !== 'STYLE') { + if ($this.data('scopedprocessed')) { + $this.attr('style', $this.data('originalInline') || ''); + $this.data('scopedprocessed', true); + } + } + }); + + if (($styleBlock.attr('scoped') !== undefined)) { + try { + if ($styleBlock.data('scopedprocessed')) { + this.innerHTML = $styleBlock.data('original-style'); + } + } catch (error) { + $styleBlock.removeAttr('disabled'); + } + $styleBlock.data('scopedprocessed', true); + } + + + }); + } + + //from Prototype + + function camelize(string) { + return string.replace(/-+(.)?/g, function(match, chr) { + return chr ? chr.toUpperCase() : ''; + }); + } + + function sleep(ms) { + var dt = new Date(); + dt.setTime(dt.getTime() + ms); + while (new Date().getTime() < dt.getTime()) { + $.noop(); + } + } + + }; +})(jQuery); \ No newline at end of file diff --git a/boot/assets/tv/js/json-to-yaml.js b/boot/assets/tv/js/json-to-yaml.js new file mode 100644 index 0000000..eb973a5 --- /dev/null +++ b/boot/assets/tv/js/json-to-yaml.js @@ -0,0 +1,106 @@ + +(function (self) { + /* + * TODO, lots of concatenation (slow in js) + */ + var spacing = " "; + + function getType(obj) { + var type = typeof obj; + if (obj instanceof Array) { + return 'array'; + } else if (type == 'string') { + return 'string'; + } else if (type == 'boolean') { + return 'boolean'; + } else if (type == 'number') { + return 'number'; + } else if (type == 'undefined' || obj === null) { + return 'null'; + } else { + return 'hash'; + } + } + + function convert(obj, ret) { + var type = getType(obj); + + switch(type) { + case 'array': + convertArray(obj, ret); + break; + case 'hash': + convertHash(obj, ret); + break; + case 'string': + convertString(obj, ret); + break; + case 'null': + ret.push('null'); + break; + case 'number': + ret.push(obj.toString()); + break; + case 'boolean': + ret.push(obj ? 'true' : 'false'); + break; + } + } + + function convertArray(obj, ret) { + if (obj.length === 0) { + ret.push('[]'); + } + for (var i=0; i?]+/, null, ':|>?'], + [PR['PR_DECLARATION'], /^%(?:YAML|TAG)[^#\r\n]+/, null, '%'], + [PR['PR_TYPE'], /^[&]\S+/, null, '&'], + [PR['PR_TYPE'], /^!\S*/, null, '!'], + [PR['PR_STRING'], /^"(?:[^\\"]|\\.)*(?:"|$)/, null, '"'], + [PR['PR_STRING'], /^'(?:[^']|'')*(?:'|$)/, null, "'"], + [PR['PR_COMMENT'], /^#[^\r\n]*/, null, '#'], + [PR['PR_PLAIN'], /^\s+/, null, ' \t\r\n'] + ], + [ + [PR['PR_DECLARATION'], /^(?:---|\.\.\.)(?:[\r\n]|$)/], + [PR['PR_PUNCTUATION'], /^-/], + [PR['PR_KEYWORD'], /^[\w-]+:[ \r\n]/], + [PR['PR_PLAIN'], /^\w+/] + ]), ['yaml', 'yml']); \ No newline at end of file diff --git a/boot/assets/tv/js/marked.min.js b/boot/assets/tv/js/marked.min.js new file mode 100644 index 0000000..068ba8c --- /dev/null +++ b/boot/assets/tv/js/marked.min.js @@ -0,0 +1,6 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2021, Christopher Jeffrey. (MIT Licensed) + * https://github.com/markedjs/marked + */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).marked={})}(this,function(r){"use strict";function i(e,t){for(var u=0;ue.length)&&(t=e.length);for(var u=0,n=new Array(t);u=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}r.defaults=e();function u(e){return t[e]}var n=/[&<>"']/,l=/[&<>"']/g,a=/[<>"']|&(?!#?\w+;)/,D=/[<>"']|&(?!#?\w+;)/g,t={"&":"&","<":"<",">":">",'"':""","'":"'"};function c(e,t){if(t){if(n.test(e))return e.replace(l,u)}else if(a.test(e))return e.replace(D,u);return e}var h=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function x(e){return e.replace(h,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var p=/(^|[^\[])\^/g;function f(u,e){u=u.source||u,e=e||"";var n={replace:function(e,t){return t=(t=t.source||t).replace(p,"$1"),u=u.replace(e,t),n},getRegex:function(){return new RegExp(u,e)}};return n}var F=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function A(e,t,u){if(e){var n;try{n=decodeURIComponent(x(u)).replace(F,"").toLowerCase()}catch(e){return null}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return null}t&&!g.test(u)&&(u=function(e,t){d[" "+e]||(C.test(e)?d[" "+e]=e+"/":d[" "+e]=w(e,"/",!0));var u=-1===(e=d[" "+e]).indexOf(":");return"//"===t.substring(0,2)?u?t:e.replace(k,"$1")+t:"/"===t.charAt(0)?u?t:e.replace(E,"$1")+t:e+t}(t,u));try{u=encodeURI(u).replace(/%25/g,"%")}catch(e){return null}return u}var d={},C=/^[^:]+:\/*[^/]*$/,k=/^([^:]+:)[\s\S]*$/,E=/^([^:]+:\/*[^/]*)[\s\S]*$/;var m={exec:function(){}};function B(e){for(var t,u,n=1;nt)u.splice(t);else for(;u.length>=1,e+=e;return u+e}function _(e,t,u,n){var r=t.href,i=t.title?c(t.title):null,t=e[1].replace(/\\([\[\]])/g,"$1");if("!"===e[0].charAt(0))return{type:"image",raw:u,href:r,title:i,text:c(t)};n.state.inLink=!0;t={type:"link",raw:u,href:r,title:i,text:t,tokens:n.inlineTokens(t,[])};return n.state.inLink=!1,t}var z=function(){function e(e){this.options=e||r.defaults}var t=e.prototype;return t.space=function(e){e=this.rules.block.newline.exec(e);if(e)return 1=u.length?e.slice(u.length):e}).join("\n")}(u,t[3]||"");return{type:"code",raw:u,lang:t[2]&&t[2].trim(),text:e}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var u=t[2].trim();/#$/.test(u)&&(e=w(u,"#"),!this.options.pedantic&&e&&!/ $/.test(e)||(u=e.trim()));u={type:"heading",raw:t[0],depth:t[1].length,text:u,tokens:[]};return this.lexer.inline(u.text,u.tokens),u}},t.hr=function(e){e=this.rules.block.hr.exec(e);if(e)return{type:"hr",raw:e[0]}},t.blockquote=function(e){var t=this.rules.block.blockquote.exec(e);if(t){e=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(e,[]),text:e}}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var u,n,r,i,s,l,a,o,D,c=1<(p=t[1].trim()).length,h={type:"list",raw:"",ordered:c,start:c?+p.slice(0,-1):"",loose:!1,items:[]},p=c?"\\d{1,9}\\"+p.slice(-1):"\\"+p;this.options.pedantic&&(p=c?p:"[*+-]");for(var f=new RegExp("^( {0,3}"+p+")((?: [^\\n]*| *)(?:\\n[^\\n]*)*(?:\\n|$))");e&&!this.rules.block.hr.test(e)&&(t=f.exec(e));){o=t[2].split("\n"),D=this.options.pedantic?(i=2,o[0].trimLeft()):(i=t[2].search(/[^ ]/),i=t[1].length+(4=i)&&a.trim()){u=t[1]+o.slice(0,g).join("\n")+"\n";break}D+="\n"+a.slice(i)}else a.trim()||(s=!0),a.search(/[^ ]/)>=i?D+="\n"+a.slice(i):D+="\n"+a}h.loose||(l?h.loose=!0:/\n *\n *$/.test(u)&&(l=!0)),this.options.gfm&&(n=/^\[[ xX]\] /.exec(D))&&(r="[ ] "!==n[0],D=D.replace(/^\[[ xX]\] +/,"")),h.items.push({type:"list_item",raw:u,task:!!n,checked:r,loose:!1,text:D}),h.raw+=u,e=e.slice(u.length)}h.items[h.items.length-1].raw=u.trimRight(),h.items[h.items.length-1].text=D.trimRight(),h.raw=h.raw.trimRight();var A=h.items.length;for(g=0;g/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):c(e[0]):e[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var u=t[2].trim();if(!this.options.pedantic&&/^$/.test(u))return;e=w(u.slice(0,-1),"\\");if((u.length-e.length)%2==0)return}else{var n=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var u=e.length,n=0,r=0;r$/.test(u)?n.slice(1):n.slice(1,-1):n)&&n.replace(this.rules.inline._escapes,"$1"),title:i&&i.replace(this.rules.inline._escapes,"$1")},t[0],this.lexer)}},t.reflink=function(e,t){if((u=this.rules.inline.reflink.exec(e))||(u=this.rules.inline.nolink.exec(e))){e=(u[2]||u[1]).replace(/\s+/g," ");if((e=t[e.toLowerCase()])&&e.href)return _(u,e,u[0],this.lexer);var u=u[0].charAt(0);return{type:"text",raw:u,text:u}}},t.emStrong=function(e,t,u){void 0===u&&(u="");var n=this.rules.inline.emStrong.lDelim.exec(e);if(n&&(!n[3]||!u.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=n[1]||n[2]||"";if(!r||""===u||this.rules.inline.punctuation.exec(u)){var i,s=n[0].length-1,l=s,a=0,o="*"===n[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(o.lastIndex=0,t=t.slice(-1*e.length+s);null!=(n=o.exec(t));)if(i=n[1]||n[2]||n[3]||n[4]||n[5]||n[6])if(i=i.length,n[3]||n[4])l+=i;else if(!((n[5]||n[6])&&s%3)||(s+i)%3){if(!(0<(l-=i))){if(i=Math.min(i,i+l+a),Math.min(s,i)%2){var D=e.slice(1,s+n.index+i);return{type:"em",raw:e.slice(0,s+n.index+i+1),text:D,tokens:this.lexer.inlineTokens(D,[])}}D=e.slice(2,s+n.index+i-1);return{type:"strong",raw:e.slice(0,s+n.index+i+1),text:D,tokens:this.lexer.inlineTokens(D,[])}}}else a+=i}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var u=t[2].replace(/\n/g," "),n=/[^ ]/.test(u),e=/^ /.test(u)&&/ $/.test(u),u=c(u=n&&e?u.substring(1,u.length-1):u,!0);return{type:"codespan",raw:t[0],text:u}}},t.br=function(e){e=this.rules.inline.br.exec(e);if(e)return{type:"br",raw:e[0]}},t.del=function(e){e=this.rules.inline.del.exec(e);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2],[])}},t.autolink=function(e,t){e=this.rules.inline.autolink.exec(e);if(e){var u,t="@"===e[2]?"mailto:"+(u=c(this.options.mangle?t(e[1]):e[1])):u=c(e[1]);return{type:"link",raw:e[0],text:u,href:t,tokens:[{type:"text",raw:u,text:u}]}}},t.url=function(e,t){var u,n,r,i;if(u=this.rules.inline.url.exec(e)){if("@"===u[2])r="mailto:"+(n=c(this.options.mangle?t(u[0]):u[0]));else{for(;i=u[0],u[0]=this.rules.inline._backpedal.exec(u[0])[0],i!==u[0];);n=c(u[0]),r="www."===u[1]?"http://"+n:n}return{type:"link",raw:u[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},t.inlineText=function(e,t){e=this.rules.inline.text.exec(e);if(e){t=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):c(e[0]):e[0]:c(this.options.smartypants?t(e[0]):e[0]);return{type:"text",raw:e[0],text:t}}},e}(),$={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:m,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};$.def=f($.def).replace("label",$._label).replace("title",$._title).getRegex(),$.bullet=/(?:[*+-]|\d{1,9}[.)])/,$.listItemStart=f(/^( *)(bull) */).replace("bull",$.bullet).getRegex(),$.list=f($.list).replace(/bull/g,$.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+$.def.source+")").getRegex(),$._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",$._comment=/|$)/,$.html=f($.html,"i").replace("comment",$._comment).replace("tag",$._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),$.paragraph=f($._paragraph).replace("hr",$.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$._tag).getRegex(),$.blockquote=f($.blockquote).replace("paragraph",$.paragraph).getRegex(),$.normal=B({},$),$.gfm=B({},$.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),$.gfm.table=f($.gfm.table).replace("hr",$.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$._tag).getRegex(),$.gfm.paragraph=f($._paragraph).replace("hr",$.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",$.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",$._tag).getRegex(),$.pedantic=B({},$.normal,{html:f("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",$._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:m,paragraph:f($.normal._paragraph).replace("hr",$.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",$.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var S={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~",S.punctuation=f(S.punctuation).replace(/punctuation/g,S._punctuation).getRegex(),S.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,S.escapedEmSt=/\\\*|\\_/g,S._comment=f($._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),S.emStrong.lDelim=f(S.emStrong.lDelim).replace(/punct/g,S._punctuation).getRegex(),S.emStrong.rDelimAst=f(S.emStrong.rDelimAst,"g").replace(/punct/g,S._punctuation).getRegex(),S.emStrong.rDelimUnd=f(S.emStrong.rDelimUnd,"g").replace(/punct/g,S._punctuation).getRegex(),S._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,S._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,S._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,S.autolink=f(S.autolink).replace("scheme",S._scheme).replace("email",S._email).getRegex(),S._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,S.tag=f(S.tag).replace("comment",S._comment).replace("attribute",S._attribute).getRegex(),S._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,S._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,S._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,S.link=f(S.link).replace("label",S._label).replace("href",S._href).replace("title",S._title).getRegex(),S.reflink=f(S.reflink).replace("label",S._label).getRegex(),S.reflinkSearch=f(S.reflinkSearch,"g").replace("reflink",S.reflink).replace("nolink",S.nolink).getRegex(),S.normal=B({},S),S.pedantic=B({},S.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:f(/^!?\[(label)\]\((.*?)\)/).replace("label",S._label).getRegex(),reflink:f(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",S._label).getRegex()}),S.gfm=B({},S.normal,{escape:f(S.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\'+(u?e:c(e,!0))+"\n":"
    "+(u?e:c(e,!0))+"
    \n"},t.blockquote=function(e){return"
    \n"+e+"
    \n"},t.html=function(e){return e},t.heading=function(e,t,u,n){return this.options.headerIds?"'+e+"\n":""+e+"\n"},t.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},t.list=function(e,t,u){var n=t?"ol":"ul";return"<"+n+(t&&1!==u?' start="'+u+'"':"")+">\n"+e+"\n"},t.listitem=function(e){return"
  • "+e+"
  • \n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return"

    "+e+"

    \n"},t.table=function(e,t){return"\n\n"+e+"\n"+(t=t&&""+t+"")+"
    \n"},t.tablerow=function(e){return"\n"+e+"\n"},t.tablecell=function(e,t){var u=t.header?"th":"td";return(t.align?"<"+u+' align="'+t.align+'">':"<"+u+">")+e+"\n"},t.strong=function(e){return""+e+""},t.em=function(e){return""+e+""},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?"
    ":"
    "},t.del=function(e){return""+e+""},t.link=function(e,t,u){if(null===(e=A(this.options.sanitize,this.options.baseUrl,e)))return u;e='"},t.image=function(e,t,u){if(null===(e=A(this.options.sanitize,this.options.baseUrl,e)))return u;u=''+u+'":">"},t.text=function(e){return e},e}(),q=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,u){return""+u},t.image=function(e,t,u){return""+u},t.br=function(){return""},e}(),O=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var u=e,n=0;if(this.seen.hasOwnProperty(u))for(n=this.seen[e];u=e+"-"+ ++n,this.seen.hasOwnProperty(u););return t||(this.seen[e]=n,this.seen[u]=0),u},t.slug=function(e,t){void 0===t&&(t={});var u=this.serialize(e);return this.getNextSafeSlug(u,t.dryrun)},e}(),j=function(){function u(e){this.options=e||r.defaults,this.options.renderer=this.options.renderer||new Z,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new q,this.slugger=new O}u.parse=function(e,t){return new u(t).parse(e)},u.parseInline=function(e,t){return new u(t).parseInline(e)};var e=u.prototype;return e.parse=function(e,t){void 0===t&&(t=!0);for(var u,n,r,i,s,l,a,o,D,c,h,p,f,F,g,A,d="",C=e.length,k=0;kAn error occurred:

    "+c(e.message+"",!0)+"
    ";throw e}}L.options=L.setOptions=function(e){return B(L.defaults,e),e=L.defaults,r.defaults=e,L},L.getDefaults=e,L.defaults=r.defaults,L.use=function(){for(var e=arguments.length,t=new Array(e),u=0;uAn error occurred:

    "+c(e.message+"",!0)+"
    ";throw e}},L.Parser=j,L.parser=j.parse,L.Renderer=Z,L.TextRenderer=q,L.Lexer=I,L.lexer=I.lex,L.Tokenizer=z,L.Slugger=O;var P=(L.parse=L).options,Q=L.setOptions,U=L.use,M=L.walkTokens,N=L.parseInline,X=L,G=j.parse,m=I.lex;r.Lexer=I,r.Parser=j,r.Renderer=Z,r.Slugger=O,r.TextRenderer=q,r.Tokenizer=z,r.getDefaults=e,r.lexer=m,r.marked=L,r.options=P,r.parse=X,r.parseInline=N,r.parser=G,r.setOptions=Q,r.use=U,r.walkTokens=M,Object.defineProperty(r,"__esModule",{value:!0})}); \ No newline at end of file diff --git a/boot/assets/tv/js/moment.min.js b/boot/assets/tv/js/moment.min.js new file mode 100644 index 0000000..770f8bc --- /dev/null +++ b/boot/assets/tv/js/moment.min.js @@ -0,0 +1,7 @@ +//! moment.js +//! version : 2.18.1 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com +!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return sd.apply(null,arguments)}function b(a){sd=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)return!1;return!0}function f(a){return void 0===a}function g(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function h(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function i(a,b){var c,d=[];for(c=0;c0)for(c=0;c0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Hd[c]=Hd[c+"s"]=Hd[b]=a}function K(a){return"string"==typeof a?Hd[a]||Hd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)j(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Id[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Id[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Md[a]=e),b&&(Md[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Md[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Jd);for(b=0,c=d.length;b=0&&Kd.test(a);)a=a.replace(Kd,c),Kd.lastIndex=0,d-=1;return a}function Z(a,b,c){ce[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return j(ce,a)?ce[a](b._strict,b._locale):new RegExp(_(a))}function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function ua(a,b,c){var d=7+b-c,e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:c(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=l([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=l([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=ye),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ze),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ae),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)c=l([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Ua(a,b){return b._meridiemParse}function Va(a){return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}function Ya(a){for(var b,c,d,e,f=0;f0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--}f++}return null}function Za(a){var b=null;if(!Fe[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Be._abbr,require("./locale/"+a),$a(b)}catch(a){}return Fe[a]}function $a(a,b){var c;return a&&(c=f(b)?bb(a):_a(a,b),c&&(Be=c)),Be._abbr}function _a(a,b){if(null!==b){var c=Ee;if(b.abbr=a,null!=Fe[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Fe[a]._config;else if(null!=b.parentLocale){if(null==Fe[b.parentLocale])return Ge[b.parentLocale]||(Ge[b.parentLocale]=[]),Ge[b.parentLocale].push({name:a,config:b}),null;c=Fe[b.parentLocale]._config}return Fe[a]=new C(B(c,b)),Ge[a]&&Ge[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Fe[a]}return delete Fe[a],null}function ab(a,b){if(null!=b){var c,d=Ee;null!=Fe[a]&&(d=Fe[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Fe[a],Fe[a]=c,$a(a)}else null!=Fe[a]&&(null!=Fe[a].parentLocale?Fe[a]=Fe[a].parentLocale:null!=Fe[a]&&delete Fe[a]);return Fe[a]}function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Be;if(!c(a)){if(b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return Ad(Fe)}function db(a){var b,c=a._a;return c&&n(a).overflow===-2&&(b=c[fe]<0||c[fe]>11?fe:c[ge]<1||c[ge]>ea(c[ee],c[fe])?ge:c[he]<0||c[he]>24||24===c[he]&&(0!==c[ie]||0!==c[je]||0!==c[ke])?he:c[ie]<0||c[ie]>59?ie:c[je]<0||c[je]>59?je:c[ke]<0||c[ke]>999?ke:-1,n(a)._overflowDayOfYear&&(bge)&&(b=ge),n(a)._overflowWeeks&&b===-1&&(b=le),n(a)._overflowWeekday&&b===-1&&(b=me),n(a).overflow=b),a}function eb(a){var b,c,d,e,f,g,h=a._i,i=He.exec(h)||Ie.exec(h);if(i){for(n(a).iso=!0,b=0,c=Ke.length;b10?"YYYY ":"YY "),f="HH:mm"+(c[4]?":ss":""),c[1]){var l=new Date(c[2]),m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][l.getDay()];if(c[1].substr(0,3)!==m)return n(a).weekdayMismatch=!0,void(a._isValid=!1)}switch(c[5].length){case 2:0===i?h=" +0000":(i=k.indexOf(c[5][1].toUpperCase())-12,h=(i<0?" -":" +")+(""+i).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:h=j[c[5]];break;default:h=j[" GMT"]}c[5]=h,a._i=c.splice(1).join(""),g=" ZZ",a._f=d+e+f+g,lb(a),n(a).rfc2822=!0}else a._isValid=!1}function gb(b){var c=Me.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,fb(b),b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b)))))}function hb(a,b,c){return null!=a?a:null!=b?b:c}function ib(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function jb(a){var b,c,d,e,f=[];if(!a._d){for(d=ib(a),a._w&&null==a._a[ge]&&null==a._a[fe]&&kb(a),null!=a._dayOfYear&&(e=hb(a._a[ee],d[ee]),(a._dayOfYear>pa(e)||0===a._dayOfYear)&&(n(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[fe]=c.getUTCMonth(),a._a[ge]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[he]&&0===a._a[ie]&&0===a._a[je]&&0===a._a[ke]&&(a._nextDay=!0,a._a[he]=0),a._d=(a._useUTC?ta:sa).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[he]=24)}}function kb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=hb(b.GG,a._a[ee],wa(tb(),1,4).year),d=hb(b.W,1),e=hb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(tb(),f,g);c=hb(b.gg,a._a[ee],j.year),d=hb(b.w,j.week),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f}d<1||d>xa(c,f,g)?n(a)._overflowWeeks=!0:null!=i?n(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ee]=h.year,a._dayOfYear=h.dayOfYear)}function lb(b){if(b._f===a.ISO_8601)return void eb(b);if(b._f===a.RFC_2822)return void fb(b);b._a=[],n(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Jd)||[],c=0;c0&&n(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Md[f]?(d?n(b).empty=!1:n(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&n(b).unusedTokens.push(f);n(b).charsLeftOver=i-j,h.length>0&&n(b).unusedInput.push(h),b._a[he]<=12&&n(b).bigHour===!0&&b._a[he]>0&&(n(b).bigHour=void 0),n(b).parsedDateParts=b._a.slice(0),n(b).meridiem=b._meridiem,b._a[he]=mb(b._locale,b._a[he],b._meridiem),jb(b),db(b)}function mb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}function nb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;ethis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ob(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=qb(a),a._a){var b=a._isUTC?l(a._a):tb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Pb(){return!!this.isValid()&&!this._isUTC}function Qb(){return!!this.isValid()&&this._isUTC}function Rb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Sb(a,b){var c,d,e,f=a,h=null;return Bb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:g(a)?(f={},b?f[b]=a:f.milliseconds=a):(h=Te.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:u(h[ge])*c,h:u(h[he])*c,m:u(h[ie])*c,s:u(h[je])*c,ms:u(Cb(1e3*h[ke]))*c}):(h=Ue.exec(a))?(c="-"===h[1]?-1:1,f={y:Tb(h[2],c),M:Tb(h[3],c),w:Tb(h[4],c),d:Tb(h[5],c),h:Tb(h[6],c),m:Tb(h[7],c),s:Tb(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Vb(tb(f.from),tb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Ab(f),Bb(a)&&j(a,"_locale")&&(d._locale=a._locale),d}function Tb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Ub(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Vb(a,b){var c;return a.isValid()&&b.isValid()?(b=Fb(b,a),a.isBefore(b)?c=Ub(a,b):(c=Ub(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Wb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Sb(c,d),Xb(this,e,a),this}}function Xb(b,c,d,e){var f=c._milliseconds,g=Cb(c._days),h=Cb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Yb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Zb(b,c){var d=b||tb(),e=Fb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,tb(d)))}function $b(){return new r(this)}function _b(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()9999?X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function jc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function kc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function lc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function mc(a){return this.from(tb(),a)}function nc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function oc(a){return this.to(tb(),a)}function pc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function qc(){return this._locale}function rc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function sc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function tc(){return this._d.valueOf()-6e4*(this._offset||0)}function uc(){return Math.floor(this.valueOf()/1e3)}function vc(){return new Date(this.valueOf())}function wc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function xc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function yc(){return this.isValid()?this.toISOString():null}function zc(){return o(this)}function Ac(){ +return k({},n(this))}function Bc(){return n(this).overflow}function Cc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Dc(a,b){U(0,[a,a.length],0,b)}function Ec(a){return Ic.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fc(a){return Ic.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Gc(){return xa(this.year(),1,4)}function Hc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ic(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Jc.call(this,a,b,c,d,e))}function Jc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Kc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Lc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Mc(a,b){b[ke]=u(1e3*("0."+a))}function Nc(){return this._isUTC?"UTC":""}function Oc(){return this._isUTC?"Coordinated Universal Time":""}function Pc(a){return tb(1e3*a)}function Qc(){return tb.apply(null,arguments).parseZone()}function Rc(a){return a}function Sc(a,b,c,d){var e=bb(),f=l().set(d,b);return e[c](f,a)}function Tc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Sc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Sc(a,d,c,"month");return e}function Uc(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,g(b)&&(c=b,b=void 0),b=b||"");var e=bb(),f=a?e._week.dow:0;if(null!=c)return Sc(b,(c+f)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Sc(b,(h+f)%7,d,"day");return i}function Vc(a,b){return Tc(a,b,"months")}function Wc(a,b){return Tc(a,b,"monthsShort")}function Xc(a,b,c){return Uc(a,b,c,"weekdays")}function Yc(a,b,c){return Uc(a,b,c,"weekdaysShort")}function Zc(a,b,c){return Uc(a,b,c,"weekdaysMin")}function $c(){var a=this._data;return this._milliseconds=df(this._milliseconds),this._days=df(this._days),this._months=df(this._months),a.milliseconds=df(a.milliseconds),a.seconds=df(a.seconds),a.minutes=df(a.minutes),a.hours=df(a.hours),a.months=df(a.months),a.years=df(a.years),this}function _c(a,b,c,d){var e=Sb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function ad(a,b){return _c(this,a,b,1)}function bd(a,b){return _c(this,a,b,-1)}function cd(a){return a<0?Math.floor(a):Math.ceil(a)}function dd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*cd(fd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ed(g)),h+=e,g-=cd(fd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ed(a){return 4800*a/146097}function fd(a){return 146097*a/4800}function gd(a){if(!this.isValid())return NaN;var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ed(b),"month"===a?c:c/12;switch(b=this._days+Math.round(fd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function hd(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12):NaN}function id(a){return function(){return this.as(a)}}function jd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN}function kd(a){return function(){return this.isValid()?this._data[a]:NaN}}function ld(){return t(this.days()/7)}function md(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function nd(a,b,c){var d=Sb(a).abs(),e=uf(d.as("s")),f=uf(d.as("m")),g=uf(d.as("h")),h=uf(d.as("d")),i=uf(d.as("M")),j=uf(d.as("y")),k=e<=vf.ss&&["s",e]||e0,k[4]=c,md.apply(null,k)}function od(a){return void 0===a?uf:"function"==typeof a&&(uf=a,!0)}function pd(a,b){return void 0!==vf[a]&&(void 0===b?vf[a]:(vf[a]=b,"s"===a&&(vf.ss=b-1),!0))}function qd(a){if(!this.isValid())return this.localeData().invalidDate();var b=this.localeData(),c=nd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function rd(){if(!this.isValid())return this.localeData().invalidDate();var a,b,c,d=wf(this._milliseconds)/1e3,e=wf(this._days),f=wf(this._months);a=t(d/60),b=t(a/60),d%=60,a%=60,c=t(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var sd,td;td=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d68?1900:2e3)};var te=O("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),J("week","w"),J("isoWeek","W"),M("week",5),M("isoWeek",5),Z("w",Sd),Z("ww",Sd,Od),Z("W",Sd),Z("WW",Sd,Od),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var ue={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),J("day","d"),J("weekday","e"),J("isoWeekday","E"),M("day",11),M("weekday",11),M("isoWeekday",11),Z("d",Sd),Z("e",Sd),Z("E",Sd),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:n(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});var ve="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),we="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ye=be,ze=be,Ae=be;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),J("hour","h"),M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Sd),Z("h",Sd),Z("k",Sd),Z("HH",Sd,Od),Z("hh",Sd,Od),Z("kk",Sd,Od),Z("hmm",Td),Z("hmmss",Ud),Z("Hmm",Td),Z("Hmmss",Ud),ba(["H","HH"],he),ba(["k","kk"],function(a,b,c){var d=u(a);b[he]=24===d?0:d}),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[he]=u(a),n(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d)),n(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e)),n(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e))});var Be,Ce=/[ap]\.?m?\.?/i,De=O("Hours",!0),Ee={calendar:Bd,longDateFormat:Cd,invalidDate:Dd,ordinal:Ed,dayOfMonthOrdinalParse:Fd,relativeTime:Gd,months:pe,monthsShort:qe,week:ue,weekdays:ve,weekdaysMin:xe,weekdaysShort:we,meridiemParse:Ce},Fe={},Ge={},He=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ie=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Je=/Z|[+-]\d\d(?::?\d\d)?/,Ke=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Le=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Me=/^\/?Date\((\-?\d+)/i,Ne=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;a.createFromInputFallback=x("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),a.ISO_8601=function(){},a.RFC_2822=function(){};var Oe=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?athis?this:a:p()}),Qe=function(){return Date.now?Date.now():+new Date},Re=["year","quarter","month","week","day","hour","minute","second","millisecond"];Db("Z",":"),Db("ZZ",""),Z("Z",_d),Z("ZZ",_d),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Eb(_d,a)});var Se=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var Te=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Sb.fn=Ab.prototype,Sb.invalid=zb;var Ve=Wb(1,"add"),We=Wb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xe=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Dc("gggg","weekYear"),Dc("ggggg","weekYear"),Dc("GGGG","isoWeekYear"),Dc("GGGGG","isoWeekYear"),J("weekYear","gg"),J("isoWeekYear","GG"),M("weekYear",1),M("isoWeekYear",1),Z("G",Zd),Z("g",Zd),Z("GG",Sd,Od),Z("gg",Sd,Od),Z("GGGG",Wd,Qd),Z("gggg",Wd,Qd),Z("GGGGG",Xd,Rd),Z("ggggg",Xd,Rd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),U("Q",0,"Qo","quarter"),J("quarter","Q"),M("quarter",7),Z("Q",Nd),ba("Q",function(a,b){b[fe]=3*(u(a)-1)}),U("D",["DD",2],"Do","date"),J("date","D"),M("date",9),Z("D",Sd),Z("DD",Sd,Od),Z("Do",function(a,b){return a?b._dayOfMonthOrdinalParse||b._ordinalParse:b._dayOfMonthOrdinalParseLenient}),ba(["D","DD"],ge),ba("Do",function(a,b){b[ge]=u(a.match(Sd)[0],10)});var Ye=O("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),J("dayOfYear","DDD"),M("dayOfYear",4),Z("DDD",Vd),Z("DDDD",Pd),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),U("m",["mm",2],0,"minute"),J("minute","m"),M("minute",14),Z("m",Sd),Z("mm",Sd,Od),ba(["m","mm"],ie);var Ze=O("Minutes",!1);U("s",["ss",2],0,"second"),J("second","s"),M("second",15),Z("s",Sd),Z("ss",Sd,Od),ba(["s","ss"],je);var $e=O("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),J("millisecond","ms"),M("millisecond",16),Z("S",Vd,Nd),Z("SS",Vd,Od),Z("SSS",Vd,Pd);var _e;for(_e="SSSS";_e.length<=9;_e+="S")Z(_e,Yd);for(_e="S";_e.length<=9;_e+="S")ba(_e,Mc);var af=O("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var bf=r.prototype;bf.add=Ve,bf.calendar=Zb,bf.clone=$b,bf.diff=fc,bf.endOf=sc,bf.format=kc,bf.from=lc,bf.fromNow=mc,bf.to=nc,bf.toNow=oc,bf.get=R,bf.invalidAt=Bc,bf.isAfter=_b,bf.isBefore=ac,bf.isBetween=bc,bf.isSame=cc,bf.isSameOrAfter=dc,bf.isSameOrBefore=ec,bf.isValid=zc,bf.lang=Xe,bf.locale=pc,bf.localeData=qc,bf.max=Pe,bf.min=Oe,bf.parsingFlags=Ac,bf.set=S,bf.startOf=rc,bf.subtract=We,bf.toArray=wc,bf.toObject=xc,bf.toDate=vc,bf.toISOString=ic,bf.inspect=jc,bf.toJSON=yc,bf.toString=hc,bf.unix=uc,bf.valueOf=tc,bf.creationData=Cc,bf.year=te,bf.isLeapYear=ra,bf.weekYear=Ec,bf.isoWeekYear=Fc,bf.quarter=bf.quarters=Kc,bf.month=ka,bf.daysInMonth=la,bf.week=bf.weeks=Ba,bf.isoWeek=bf.isoWeeks=Ca,bf.weeksInYear=Hc,bf.isoWeeksInYear=Gc,bf.date=Ye,bf.day=bf.days=Ka,bf.weekday=La,bf.isoWeekday=Ma,bf.dayOfYear=Lc,bf.hour=bf.hours=De,bf.minute=bf.minutes=Ze,bf.second=bf.seconds=$e,bf.millisecond=bf.milliseconds=af,bf.utcOffset=Hb,bf.utc=Jb,bf.local=Kb,bf.parseZone=Lb,bf.hasAlignedHourOffset=Mb,bf.isDST=Nb,bf.isLocal=Pb,bf.isUtcOffset=Qb,bf.isUtc=Rb,bf.isUTC=Rb,bf.zoneAbbr=Nc,bf.zoneName=Oc,bf.dates=x("dates accessor is deprecated. Use date instead.",Ye),bf.months=x("months accessor is deprecated. Use month instead",ka),bf.years=x("years accessor is deprecated. Use year instead",te),bf.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ib),bf.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ob);var cf=C.prototype;cf.calendar=D,cf.longDateFormat=E,cf.invalidDate=F,cf.ordinal=G,cf.preparse=Rc,cf.postformat=Rc,cf.relativeTime=H,cf.pastFuture=I,cf.set=A,cf.months=fa,cf.monthsShort=ga,cf.monthsParse=ia,cf.monthsRegex=na,cf.monthsShortRegex=ma,cf.week=ya,cf.firstDayOfYear=Aa,cf.firstDayOfWeek=za,cf.weekdays=Fa,cf.weekdaysMin=Ha,cf.weekdaysShort=Ga,cf.weekdaysParse=Ja,cf.weekdaysRegex=Na,cf.weekdaysShortRegex=Oa,cf.weekdaysMinRegex=Pa,cf.isPM=Va,cf.meridiem=Wa,$a("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var df=Math.abs,ef=id("ms"),ff=id("s"),gf=id("m"),hf=id("h"),jf=id("d"),kf=id("w"),lf=id("M"),mf=id("y"),nf=kd("milliseconds"),of=kd("seconds"),pf=kd("minutes"),qf=kd("hours"),rf=kd("days"),sf=kd("months"),tf=kd("years"),uf=Math.round,vf={ss:44,s:45,m:45,h:22,d:26,M:11},wf=Math.abs,xf=Ab.prototype;return xf.isValid=yb,xf.abs=$c,xf.add=ad,xf.subtract=bd,xf.as=gd,xf.asMilliseconds=ef,xf.asSeconds=ff,xf.asMinutes=gf,xf.asHours=hf,xf.asDays=jf,xf.asWeeks=kf,xf.asMonths=lf,xf.asYears=mf,xf.valueOf=hd,xf._bubble=dd,xf.get=jd,xf.milliseconds=nf,xf.seconds=of,xf.minutes=pf,xf.hours=qf,xf.days=rf,xf.weeks=ld,xf.months=sf,xf.years=tf,xf.humanize=qd,xf.toISOString=rd,xf.toString=rd,xf.toJSON=rd,xf.locale=pc,xf.localeData=qc,xf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",rd),xf.lang=Xe,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Zd),Z("X",ae),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),a.version="2.18.1",b(tb),a.fn=bf,a.min=vb,a.max=wb,a.now=Qe,a.utc=l,a.unix=Pc,a.months=Vc,a.isDate=h,a.locale=$a,a.invalid=p,a.duration=Sb,a.isMoment=s,a.weekdays=Xc,a.parseZone=Qc,a.localeData=bb,a.isDuration=Bb,a.monthsShort=Wc,a.weekdaysMin=Zc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Yc,a.normalizeUnits=K,a.relativeTimeRounding=od,a.relativeTimeThreshold=pd,a.calendarFormat=Yb,a.prototype=bf,a}); \ No newline at end of file diff --git a/boot/assets/tv/js/popper.min.js b/boot/assets/tv/js/popper.min.js new file mode 100644 index 0000000..8a17212 --- /dev/null +++ b/boot/assets/tv/js/popper.min.js @@ -0,0 +1,5 @@ +/* + Copyright (C) Federico Zivolo 2019 + Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). + */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function i(e){return e&&e.referenceNode?e.referenceNode:e}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent||null;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,$(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ce.FLIP:p=[n,i];break;case ce.CLOCKWISE:p=G(n);break;case ce.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightwindow.devicePixelRatio||!fe),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ge}); +//# sourceMappingURL=popper.min.js.map diff --git a/boot/assets/tv/js/pretty-print-json.min.js b/boot/assets/tv/js/pretty-print-json.min.js new file mode 100644 index 0000000..b80dfe1 --- /dev/null +++ b/boot/assets/tv/js/pretty-print-json.min.js @@ -0,0 +1,2 @@ +//! pretty-print-json v1.0.0 ~ github.com/center-key/pretty-print-json ~ MIT License +function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c"+b+"":""},e=function(a){var b=/^"/.test(a)&&"string",e=["true","false"].includes(a)&&"boolean",f=b&&c.linkUrls?a.replace(/https?:\/\/[^\s"]+/g,function makeLink(a){return"
    "+a+""}):a;return d(e||"null"===a&&"null"||b||"number",f)},f=JSON.stringify(a,null,c.indent)||"undefined";return function htmlEntities(a){return a.replace(/&/g,"&").replace(/\\"/g,"\"").replace(//g,">")}(f).replace(/^( *)("[^"]+": )?("[^"]*"|[\w.+-]*)?([{}[\],]*)?$/mg,function replacer(a,b,f,g,h){var i={indent:b,key:f,value:g,end:h},j=c.quoteKeys?/(.*)(): /:/"([\w$]+)": |(.*): /,k=i.indent||"",l=i.key&&i.key.replace(j,"$1$2"),m=i.key?d("key",l)+d("mark",": "):"",n=i.value?e(i.value):"",o=d("mark",i.end);return k+m+n+o})}};"object"===("undefined"==typeof window?"undefined":_typeof(window))&&(window.prettyPrintJson=prettyPrintJson); diff --git a/boot/assets/tv/js/run-prettify.js b/boot/assets/tv/js/run-prettify.js new file mode 100644 index 0000000..8fc3e48 --- /dev/null +++ b/boot/assets/tv/js/run-prettify.js @@ -0,0 +1,64 @@ +!function(){/* + + Copyright (C) 2013 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Copyright (C) 2006 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +(function(){function aa(g){function r(){try{L.doScroll("left")}catch(ba){k.setTimeout(r,50);return}x("poll")}function x(r){if("readystatechange"!=r.type||"complete"==z.readyState)("load"==r.type?k:z)[B](n+r.type,x,!1),!l&&(l=!0)&&g.call(k,r.type||r)}var X=z.addEventListener,l=!1,E=!0,v=X?"addEventListener":"attachEvent",B=X?"removeEventListener":"detachEvent",n=X?"":"on";if("complete"==z.readyState)g.call(k,"lazy");else{if(z.createEventObject&&L.doScroll){try{E=!k.frameElement}catch(ba){}E&&r()}z[v](n+ +"DOMContentLoaded",x,!1);z[v](n+"readystatechange",x,!1);k[v](n+"load",x,!1)}}function T(){U&&aa(function(){var g=M.length;ca(g?function(){for(var r=0;r=c?parseInt(e.substring(1),8):"u"===c||"x"===c?parseInt(e.substring(2),16):e.charCodeAt(1)}function f(e){if(32>e)return(16>e?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e); +return"\\"===e||"-"===e||"]"===e||"^"===e?"\\"+e:e}function c(e){var c=e.substring(1,e.length-1).match(RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));e=[];var a="^"===c[0],b=["["];a&&b.push("^");for(var a=a?1:0,h=c.length;ap||122p||90p||122m[0]&&(m[1]+1>m[0]&&b.push("-"),b.push(f(m[1])));b.push("]");return b.join("")}function g(e){for(var a=e.source.match(RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)", +"g")),b=a.length,d=[],h=0,m=0;h/,null])):d.push(["com",/^#[^\r\n]*/,null,"#"]));a.cStyleComments&&(f.push(["com",/^\/\/[^\r\n]*/,null]),f.push(["com",/^\/\*[\s\S]*?(?:\*\/|$)/, +null]));if(c=a.regexLiterals){var g=(c=1|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+c+"])(?:[^/\\x5B\\x5C"+c+"]|\\x5C"+g+"|\\x5B(?:[^\\x5C\\x5D"+c+"]|\\x5C"+g+")*(?:\\x5D|$))+/")+")")])}(c=a.types)&&f.push(["typ",c]);c=(""+a.keywords).replace(/^ | $/g,"");c.length&&f.push(["kwd", +new RegExp("^(?:"+c.replace(/[\s,]+/g,"|")+")\\b"),null]);d.push(["pln",/^\s+/,null," \r\n\t\u00a0"]);c="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(c+="(?!s*/)");f.push(["lit",/^@[a-z_$][a-z_$@0-9]*/i,null],["typ",/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],["pln",/^[a-z_$][a-z_$@0-9]*/i,null],["lit",/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],["pln",/^\\[\s\S]?/,null],["pun",new RegExp(c),null]);return E(d,f)}function B(a,d,f){function c(a){var b= +a.nodeType;if(1==b&&!r.test(a.className))if("br"===a.nodeName.toLowerCase())g(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)c(a);else if((3==b||4==b)&&f){var e=a.nodeValue,d=e.match(n);d&&(b=e.substring(0,d.index),a.nodeValue=b,(e=e.substring(d.index+d[0].length))&&a.parentNode.insertBefore(q.createTextNode(e),a.nextSibling),g(a),b||a.parentNode.removeChild(a))}}function g(a){function c(a,b){var e=b?a.cloneNode(!1):a,p=a.parentNode;if(p){var p=c(p,1),d=a.nextSibling; +p.appendChild(e);for(var f=d;f;f=d)d=f.nextSibling,p.appendChild(f)}return e}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;a=c(a.nextSibling,0);for(var e;(e=a.parentNode)&&1===e.nodeType;)a=e;b.push(a)}for(var r=/(?:^|\s)nocode(?:\s|$)/,n=/\r\n?|\n/,q=a.ownerDocument,k=q.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var b=[k],t=0;t=+g[1],d=/\n/g,r=a.a,k=r.length,f=0,q=a.c,n=q.length,c=0,b=a.g,t=b.length,v=0;b[t]=k;var u,e;for(e=u=0;e=m&&(c+=2);f>=p&&(v+=2)}}finally{h&&(h.style.display=a)}}catch(y){Q.console&&console.log(y&&y.stack||y)}}var Q="undefined"!==typeof window?window:{},J=["break,continue,do,else,for,if,return,while"],K=[[J,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,restrict,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],R=[K,"alignas,alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,noexcept,noreturn,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],L=[K,"abstract,assert,boolean,byte,extends,finally,final,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"], +M=[K,"abstract,add,alias,as,ascending,async,await,base,bool,by,byte,checked,decimal,delegate,descending,dynamic,event,finally,fixed,foreach,from,get,global,group,implicit,in,interface,internal,into,is,join,let,lock,null,object,out,override,orderby,params,partial,readonly,ref,remove,sbyte,sealed,select,set,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,value,var,virtual,where,yield"],K=[K,"abstract,async,await,constructor,debugger,enum,eval,export,from,function,get,import,implements,instanceof,interface,let,null,of,set,undefined,var,with,yield,Infinity,NaN"], +N=[J,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],O=[J,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],J=[J,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],P=/^(DIR|FILE|array|vector|(de|priority_)?queue|(forward_)?list|stack|(const_)?(reverse_)?iterator|(unordered_)?(multi)?(set|map)|bitset|u?(int|float)\d*)\b/, +S=/\S/,T=v({keywords:[R,M,L,K,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",N,O,J],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),V={};n(T,["default-code"]);n(E([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-", +/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),"default-markup htm html mxml xhtml xml xsl".split(" "));n(E([["pln",/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], +["pun",/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);n(E([],[["atv",/^[\s\S]+/]]),["uq.val"]);n(v({keywords:R,hashComments:!0,cStyleComments:!0,types:P}),"c cc cpp cxx cyc m".split(" "));n(v({keywords:"null,true,false"}),["json"]);n(v({keywords:M,hashComments:!0,cStyleComments:!0, +verbatimStrings:!0,types:P}),["cs"]);n(v({keywords:L,cStyleComments:!0}),["java"]);n(v({keywords:J,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);n(v({keywords:N,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);n(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}), +["perl","pl","pm"]);n(v({keywords:O,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);n(v({keywords:K,cStyleComments:!0,regexLiterals:!0}),["javascript","js","ts","typescript"]);n(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);n(E([],[["str",/^[\s\S]+/]]), +["regex"]);var U=Q.PR={createSimpleLexer:E,registerLangHandler:n,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:function(a,d,f){f=f||!1;d=d||null;var c=document.createElement("div");c.innerHTML="
    "+a+"
    ";c=c.firstChild;f&&B(c,f,!0);H({j:d,m:f,h:c,l:1,a:null,i:null,c:null,g:null}); +return c.innerHTML},prettyPrint:g=function(a,d){function f(){for(var c=Q.PR_SHOULD_USE_CONTINUATION?b.now()+250:Infinity;t + +{{template "head"}} + + +{{template "svg-sprite"}} + +
    + {{template "header"}} +
    + {{template "aside"}} + +
    + +
    +
    + + +
    +
    + + +
    + +
    +

    License

    +
    +
    +
    +
    {{ .License }}
    +
    +
    +
    +
    +
    + {{template "footer"}} +
    + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/logs.tmpl b/boot/assets/tv/logs.tmpl new file mode 100644 index 0000000..ef56bb7 --- /dev/null +++ b/boot/assets/tv/logs.tmpl @@ -0,0 +1,111 @@ +{{define "logs"}} + + +{{template "head"}} + + +{{template "svg-sprite"}} +
    + {{template "header"}} +
    + {{template "aside"}} + +
    + +
    +
    + + +
    +
    + +
    + +
    +

    Log entries

    +

    List of log entries started while bootstrapping rk application.

    +
    + +
    + {{ range $entryType, $entryList := .Entries }} +

    {{ $entryType }}

    +
    + {{ range . }} +

    {{ .EntryName }}

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeyDetail
    Entry name{{ .EntryName }}
    Entry type{{ .EntryType }}
    Entry description{{ .EntryDescription }}
    Output path{{ range .OutputPaths}} +
  • {{.}}
  • + {{ end }} +
    Error output path{{ range .ErrorOutputPaths}} +
  • {{.}}
  • + {{ end }} +
    +
    +
    + + +
    +
    +                
    +                
    +
    + + +
    +
    +                
    +
    +
    +
    + {{ end }} + {{ end }} +
    +
    +
    +
    +
    + {{template "footer"}} +
    + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/not-found.tmpl b/boot/assets/tv/not-found.tmpl new file mode 100644 index 0000000..9536e43 --- /dev/null +++ b/boot/assets/tv/not-found.tmpl @@ -0,0 +1,29 @@ +{{define "not-found"}} + + +{{template "head"}} + + +{{template "svg-sprite"}} +
    + {{template "header"}} +
    + {{template "aside"}} + +
    + +
    + +
    +

    Oops!

    +

    404 Not Found

    +
    Sorry, an error has occurred, Requested page not found!
    +
    +
    +
    +
    + {{template "footer"}} +
    + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/os.tmpl b/boot/assets/tv/os.tmpl new file mode 100644 index 0000000..6322444 --- /dev/null +++ b/boot/assets/tv/os.tmpl @@ -0,0 +1,143 @@ +{{define "os"}} + + +{{template "head"}} + + +{{template "svg-sprite"}} +
    + {{template "header"}} +
    + {{template "aside"}} + +
    + +
    +
    + + +
    +
    + +
    + +

    OS

    + + + + + + + + + + + + + + + + +
    OS TypeArchHostname
    {{ .OsInfo.Os }}{{ .OsInfo.Arch }}{{ .OsInfo.Hostname }}
    +
    + +

    CPU

    +
    +
    CPU information while process runs.
    + + + + + + + + + + + + + + + + + + + + + + + + +
    UsedLogicalPhysicalVendorModelMHZCache
    {{ .CpuInfo.CpuUsedPercentage }}%{{ .CpuInfo.LogicalCoreCount }}{{ .CpuInfo.PhysicalCoreCount }}{{ .CpuInfo.VendorId }}{{ .CpuInfo.ModelName }}{{ .CpuInfo.Mhz }}{{ .CpuInfo.CacheSize }} bytes
    +
    + +

    Memory

    +
    +
    Memory information while process runs.
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Used %Used MBMem AllocSys AllocLast GCGC CountGC Count Force
    {{ .MemInfo.MemUsedPercentage }}%{{ .MemInfo.MemUsedMb }} MB{{ .MemInfo.MemAllocByte }}{{ .MemInfo.SysAllocByte }}{{ .MemInfo.LastGcTimestamp }}{{ .MemInfo.GcCount }}{{ .MemInfo.ForceGcCount }}
    +
    + +

    Network

    +
    +
    Network information while process runs.
    + + + + + + + + + + + + + + {{ range .NetInfo.NetInterface }} + + + + + + + + + {{ end }} + +
    NameMTUMACFlagsAddrMulticast Addr
    {{ .Name }}{{ .Mtu }}{{ .HardwareAddr }}{{ range .Flags}}
  • {{.}}
  • {{ end }}
    {{ range .Addrs}}
  • {{.}}
  • {{ end }}
    {{ range .MulticastAddrs}}
  • {{.}}
  • {{ end }}
    +
    +
    +
    + {{template "footer"}} +
    + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/overview.tmpl b/boot/assets/tv/overview.tmpl new file mode 100644 index 0000000..97a62a0 --- /dev/null +++ b/boot/assets/tv/overview.tmpl @@ -0,0 +1,46 @@ +{{define "overview"}} + + +{{template "head"}} + + + + +{{template "svg-sprite"}} + +
    + {{template "header"}} +
    + {{template "aside"}} + +
    + +
    +
    + + +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    +
    + {{template "footer"}} +
    + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/prometheus.tmpl b/boot/assets/tv/prometheus.tmpl new file mode 100644 index 0000000..d1e0ab6 --- /dev/null +++ b/boot/assets/tv/prometheus.tmpl @@ -0,0 +1,695 @@ +{{define "prometheus"}} + + +{{template "head"}} + + +{{template "svg-sprite"}} + + +
    + {{template "header"}} +
    + {{template "aside"}} + +
    + +
    +
    + + +
    +
    + +
    + +

    Prometheus

    +
    +
    +
    +

    CPU Used

    + 0 % +
    +
    +
    +
    +

    Mem Used

    + 0 MB +
    +
    +
    +
    +

    Req Count

    + 0 +
    +
    +
    +
    +

    Up time

    + 0 +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + {{template "footer"}} +
    + + + + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/svg-sprite.tmpl b/boot/assets/tv/svg-sprite.tmpl new file mode 100644 index 0000000..f84b643 --- /dev/null +++ b/boot/assets/tv/svg-sprite.tmpl @@ -0,0 +1,87 @@ +{{define "svg-sprite"}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{{end}} \ No newline at end of file diff --git a/boot/assets/tv/webfonts/fa-solid-900.ttf b/boot/assets/tv/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000..e074608 Binary files /dev/null and b/boot/assets/tv/webfonts/fa-solid-900.ttf differ diff --git a/boot/assets/tv/webfonts/fa-solid-900.woff b/boot/assets/tv/webfonts/fa-solid-900.woff new file mode 100644 index 0000000..ef6b447 Binary files /dev/null and b/boot/assets/tv/webfonts/fa-solid-900.woff differ diff --git a/boot/assets/tv/webfonts/fa-solid-900.woff2 b/boot/assets/tv/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000..120b300 Binary files /dev/null and b/boot/assets/tv/webfonts/fa-solid-900.woff2 differ diff --git a/boot/common_service_entry.go b/boot/common_service_entry.go new file mode 100644 index 0000000..9ca37c2 --- /dev/null +++ b/boot/common_service_entry.go @@ -0,0 +1,768 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "context" + "encoding/json" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-common/error" + "github.com/rookie-ninja/rk-entry/entry" + rkmuxinter "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + rkmuxmetrics "github.com/rookie-ninja/rk-mux/interceptor/metrics/prom" + "net/http" + "path" + "runtime" + "strings" +) + +const ( + // CommonServiceEntryType type of entry + CommonServiceEntryType = "CommonServiceEntry" + // CommonServiceEntryNameDefault name of entry + CommonServiceEntryNameDefault = "CommonServiceDefault" + // CommonServiceEntryDescription description of entry + CommonServiceEntryDescription = "Internal RK entry which implements commonly used API with mux framework." +) + +var ( + internalError = rkerror.New(rkerror.WithHttpCode(http.StatusInternalServerError)) +) + +// @title RK Common Service +// @version 1.0 +// @description This is builtin RK common service. + +// @contact.name rk-dev +// @contact.url https://github.com/rookie-ninja/rk-mux +// @contact.email lark@pointgoal.io + +// @license.name Apache 2.0 License +// @license.url https://github.com/rookie-ninja/rk-mux/blob/master/LICENSE.txt + +// @securityDefinitions.basic BasicAuth + +// @securityDefinitions.apikey ApiKeyAuth +// @in header +// @name X-API-Key + +// @securityDefinitions.apikey JWT +// @in header +// @name Authorization + +// @schemes http https + +// BootConfigCommonService Bootstrap config of common service. +// 1: Enabled: Enable common service. +type BootConfigCommonService struct { + Enabled bool `yaml:"enabled" json:"enabled"` +} + +// CommonServiceEntry RK common service which contains commonly used APIs +// 1: Healthy Returns true if process is alive +// 2: Gc Trigger gc() +// 3: Info Returns entry basic information +// 4: Configs Returns viper configs in GlobalAppCtx +// 5: Apis Returns list of apis registered in mux router +// 6: Sys Returns CPU and Memory information +// 7: Req Returns request metrics +// 8: Certs Returns certificates +// 9: Entries Returns entries +// 10: Logs Returns log entries +// 12: Deps Returns dependency which is full go.mod file content +// 13: License Returns license file content +// 14: Readme Returns README file content +type CommonServiceEntry struct { + EntryName string `json:"entryName" yaml:"entryName"` + EntryType string `json:"entryType" yaml:"entryType"` + EntryDescription string `json:"-" yaml:"-"` + EventLoggerEntry *rkentry.EventLoggerEntry `json:"-" yaml:"-"` + ZapLoggerEntry *rkentry.ZapLoggerEntry `json:"-" yaml:"-"` +} + +// CommonServiceEntryOption Common service entry option. +type CommonServiceEntryOption func(*CommonServiceEntry) + +// WithNameCommonService Provide name. +func WithNameCommonService(name string) CommonServiceEntryOption { + return func(entry *CommonServiceEntry) { + entry.EntryName = name + } +} + +// WithEventLoggerEntryCommonService Provide rkentry.EventLoggerEntry. +func WithEventLoggerEntryCommonService(eventLoggerEntry *rkentry.EventLoggerEntry) CommonServiceEntryOption { + return func(entry *CommonServiceEntry) { + entry.EventLoggerEntry = eventLoggerEntry + } +} + +// WithZapLoggerEntryCommonService Provide rkentry.ZapLoggerEntry. +func WithZapLoggerEntryCommonService(zapLoggerEntry *rkentry.ZapLoggerEntry) CommonServiceEntryOption { + return func(entry *CommonServiceEntry) { + entry.ZapLoggerEntry = zapLoggerEntry + } +} + +// NewCommonServiceEntry Create new common service entry with options. +func NewCommonServiceEntry(opts ...CommonServiceEntryOption) *CommonServiceEntry { + entry := &CommonServiceEntry{ + EntryName: CommonServiceEntryNameDefault, + EntryType: CommonServiceEntryType, + EntryDescription: CommonServiceEntryDescription, + ZapLoggerEntry: rkentry.GlobalAppCtx.GetZapLoggerEntryDefault(), + EventLoggerEntry: rkentry.GlobalAppCtx.GetEventLoggerEntryDefault(), + } + + for i := range opts { + opts[i](entry) + } + + if entry.ZapLoggerEntry == nil { + entry.ZapLoggerEntry = rkentry.GlobalAppCtx.GetZapLoggerEntryDefault() + } + + if entry.EventLoggerEntry == nil { + entry.EventLoggerEntry = rkentry.GlobalAppCtx.GetEventLoggerEntryDefault() + } + + if len(entry.EntryName) < 1 { + entry.EntryName = CommonServiceEntryNameDefault + } + + return entry +} + +// Bootstrap common service entry. +func (entry *CommonServiceEntry) Bootstrap(ctx context.Context) { + // Noop +} + +// Interrupt common service entry. +func (entry *CommonServiceEntry) Interrupt(ctx context.Context) { + // Noop +} + +// GetName Get name of entry. +func (entry *CommonServiceEntry) GetName() string { + return entry.EntryName +} + +// GetType Get entry type. +func (entry *CommonServiceEntry) GetType() string { + return entry.EntryType +} + +// String Stringfy entry. +func (entry *CommonServiceEntry) String() string { + bytes, _ := json.Marshal(entry) + return string(bytes) +} + +// GetDescription Get description of entry. +func (entry *CommonServiceEntry) GetDescription() string { + return entry.EntryDescription +} + +// MarshalJSON Marshal entry. +func (entry *CommonServiceEntry) MarshalJSON() ([]byte, error) { + m := map[string]interface{}{ + "entryName": entry.EntryName, + "entryType": entry.EntryType, + "entryDescription": entry.EntryDescription, + "zapLoggerEntry": entry.ZapLoggerEntry.GetName(), + "eventLoggerEntry": entry.EventLoggerEntry.GetName(), + } + + return json.Marshal(&m) +} + +// UnmarshalJSON Not supported. +func (entry *CommonServiceEntry) UnmarshalJSON([]byte) error { + return nil +} + +// Helper function of /healthy call. +func doHealthy(writer http.ResponseWriter, req *http.Request) *rkentry.HealthyResponse { + return &rkentry.HealthyResponse{ + Healthy: true, + } +} + +// Healthy handler +// @Summary Get application healthy status +// @Id 1 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.HealthyResponse +// @Router /rk/v1/healthy [get] +func (entry *CommonServiceEntry) Healthy(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doHealthy(writer, req)) +} + +// Helper function of /gc +func doGc(writer http.ResponseWriter, req *http.Request) *rkentry.GcResponse { + before := rkentry.NewMemInfo() + runtime.GC() + after := rkentry.NewMemInfo() + + return &rkentry.GcResponse{ + MemStatBeforeGc: before, + MemStatAfterGc: after, + } +} + +// Gc handler +// @Summary Trigger Gc +// @Id 2 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.GcResponse +// @Router /rk/v1/gc [get] +func (entry *CommonServiceEntry) Gc(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doGc(writer, req)) +} + +// Helper function of /info +func doInfo(writer http.ResponseWriter, req *http.Request) *rkentry.ProcessInfo { + return rkentry.NewProcessInfo() +} + +// Info handler +// @Summary Get application and process info +// @Id 3 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.ProcessInfo +// @Router /rk/v1/info [get] +func (entry *CommonServiceEntry) Info(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doInfo(writer, req)) +} + +// Helper function of /configs +func doConfigs(writer http.ResponseWriter, req *http.Request) *rkentry.ConfigsResponse { + res := &rkentry.ConfigsResponse{ + Entries: make([]*rkentry.ConfigsResponse_ConfigEntry, 0), + } + + for _, v := range rkentry.GlobalAppCtx.ListConfigEntries() { + configEntry := &rkentry.ConfigsResponse_ConfigEntry{ + EntryName: v.GetName(), + EntryType: v.GetType(), + EntryDescription: v.GetDescription(), + EntryMeta: v.GetViperAsMap(), + Path: v.Path, + } + + res.Entries = append(res.Entries, configEntry) + } + + return res +} + +// Configs handler +// @Summary List ConfigEntry +// @Id 4 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.ConfigsResponse +// @Router /rk/v1/configs [get] +func (entry *CommonServiceEntry) Configs(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doConfigs(writer, req)) +} + +// Helper function of /sys +func doSys(writer http.ResponseWriter, req *http.Request) *rkentry.SysResponse { + return &rkentry.SysResponse{ + CpuInfo: rkentry.NewCpuInfo(), + MemInfo: rkentry.NewMemInfo(), + NetInfo: rkentry.NewNetInfo(), + OsInfo: rkentry.NewOsInfo(), + GoEnvInfo: rkentry.NewGoEnvInfo(), + } +} + +// Sys handler +// @Summary Get OS Stat +// @Id 6 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.SysResponse +// @Router /rk/v1/sys [get] +func (entry *CommonServiceEntry) Sys(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doSys(writer, req)) +} + +// Helper function of /entries +func doEntriesHelper(m map[string]rkentry.Entry, res *rkentry.EntriesResponse) { + // Iterate entries and construct EntryElement + for i := range m { + entry := m[i] + element := &rkentry.EntriesResponse_Entry{ + EntryName: entry.GetName(), + EntryType: entry.GetType(), + EntryDescription: entry.GetDescription(), + EntryMeta: entry, + } + + if entries, ok := res.Entries[entry.GetType()]; ok { + entries = append(entries, element) + } else { + res.Entries[entry.GetType()] = []*rkentry.EntriesResponse_Entry{element} + } + } +} + +// Helper function of /entries +func doEntries(writer http.ResponseWriter, req *http.Request) *rkentry.EntriesResponse { + res := &rkentry.EntriesResponse{ + Entries: make(map[string][]*rkentry.EntriesResponse_Entry), + } + + // Iterate all internal and external entries in GlobalAppCtx + doEntriesHelper(rkentry.GlobalAppCtx.ListEntries(), res) + doEntriesHelper(rkentry.GlobalAppCtx.ListEventLoggerEntriesRaw(), res) + doEntriesHelper(rkentry.GlobalAppCtx.ListZapLoggerEntriesRaw(), res) + doEntriesHelper(rkentry.GlobalAppCtx.ListConfigEntriesRaw(), res) + doEntriesHelper(rkentry.GlobalAppCtx.ListCertEntriesRaw(), res) + doEntriesHelper(rkentry.GlobalAppCtx.ListCredEntriesRaw(), res) + + // App info entry + appInfoEntry := rkentry.GlobalAppCtx.GetAppInfoEntry() + res.Entries[appInfoEntry.GetType()] = []*rkentry.EntriesResponse_Entry{ + { + EntryName: appInfoEntry.GetName(), + EntryType: appInfoEntry.GetType(), + EntryDescription: appInfoEntry.GetDescription(), + EntryMeta: appInfoEntry, + }, + } + + return res +} + +// Entries handler +// @Summary List all Entry +// @Id 8 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.EntriesResponse +// @Router /rk/v1/entries [get] +func (entry *CommonServiceEntry) Entries(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doEntries(writer, req)) +} + +// Helper function of /entries +func doCerts(writer http.ResponseWriter, req *http.Request) *rkentry.CertsResponse { + res := &rkentry.CertsResponse{ + Entries: make([]*rkentry.CertsResponse_Entry, 0), + } + + entries := rkentry.GlobalAppCtx.ListCertEntries() + + // Iterator cert entries and construct CertResponse + for i := range entries { + entry := entries[i] + + certEntry := &rkentry.CertsResponse_Entry{ + EntryName: entry.GetName(), + EntryType: entry.GetType(), + EntryDescription: entry.GetDescription(), + } + + if entry.Retriever != nil { + certEntry.Endpoint = entry.Retriever.GetEndpoint() + certEntry.Locale = entry.Retriever.GetLocale() + certEntry.Provider = entry.Retriever.GetProvider() + certEntry.ServerCertPath = entry.ServerCertPath + certEntry.ServerKeyPath = entry.ServerKeyPath + certEntry.ClientCertPath = entry.ClientCertPath + certEntry.ClientKeyPath = entry.ClientKeyPath + } + + if entry.Store != nil { + certEntry.ServerCert = entry.Store.SeverCertString() + certEntry.ClientCert = entry.Store.ClientCertString() + } + + res.Entries = append(res.Entries, certEntry) + } + + return res +} + +// Certs handler +// @Summary List CertEntry +// @Id 9 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.CertsResponse +// @Router /rk/v1/certs [get] +func (entry *CommonServiceEntry) Certs(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doCerts(writer, req)) +} + +// Helper function of /logs +func doLogsHelper(m map[string]rkentry.Entry, res *rkentry.LogsResponse) { + entries := make([]*rkentry.LogsResponse_Entry, 0) + + // Iterate logger related entries and construct LogEntryElement + for i := range m { + entry := m[i] + logEntry := &rkentry.LogsResponse_Entry{ + EntryName: entry.GetName(), + EntryType: entry.GetType(), + EntryDescription: entry.GetDescription(), + EntryMeta: entry, + } + + if val, ok := entry.(*rkentry.ZapLoggerEntry); ok { + if val.LoggerConfig != nil { + logEntry.OutputPaths = val.LoggerConfig.OutputPaths + logEntry.ErrorOutputPaths = val.LoggerConfig.ErrorOutputPaths + } + } + + if val, ok := entry.(*rkentry.EventLoggerEntry); ok { + if val.LoggerConfig != nil { + logEntry.OutputPaths = val.LoggerConfig.OutputPaths + logEntry.ErrorOutputPaths = val.LoggerConfig.ErrorOutputPaths + } + } + + entries = append(entries, logEntry) + } + + var entryType string + + if len(entries) > 0 { + entryType = entries[0].EntryType + } + + res.Entries[entryType] = entries +} + +// Helper function of /logs +func doLogs(writer http.ResponseWriter, req *http.Request) *rkentry.LogsResponse { + res := &rkentry.LogsResponse{ + Entries: make(map[string][]*rkentry.LogsResponse_Entry), + } + + doLogsHelper(rkentry.GlobalAppCtx.ListEventLoggerEntriesRaw(), res) + doLogsHelper(rkentry.GlobalAppCtx.ListZapLoggerEntriesRaw(), res) + + return res +} + +// Logs handler +// @Summary List logger related entries +// @Id 10 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.LogsResponse +// @Router /rk/v1/logs [get] +func (entry *CommonServiceEntry) Logs(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doLogs(writer, req)) +} + +// Extract mux entry from zap middleware +func getEntry(req *http.Request) *MuxEntry { + if req == nil { + return nil + } + + entryRaw := rkentry.GlobalAppCtx.GetEntry(rkmuxctx.GetEntryName(req)) + if entryRaw == nil { + return nil + } + + entry, _ := entryRaw.(*MuxEntry) + return entry +} + +// Deps handler +// @Summary List dependencies related application +// @Id 11 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.DepResponse +// @Router /rk/v1/deps [get] +func (entry *CommonServiceEntry) Deps(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doDeps(writer, req)) +} + +// Extract mux entry from zap middleware +func doDeps(writer http.ResponseWriter, req *http.Request) *rkentry.DepResponse { + res := &rkentry.DepResponse{} + + appInfoEntry := rkentry.GlobalAppCtx.GetAppInfoEntry() + if appInfoEntry == nil { + return res + } + + res.GoMod = appInfoEntry.GoMod + + return res +} + +// License handler +// @Summary Get license related application +// @Id 12 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.LicenseResponse +// @Router /rk/v1/license [get] +func (entry *CommonServiceEntry) License(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doLicense(writer, req)) +} + +// Extract mux entry from zap middleware +func doLicense(writer http.ResponseWriter, req *http.Request) *rkentry.LicenseResponse { + res := &rkentry.LicenseResponse{} + + appInfoEntry := rkentry.GlobalAppCtx.GetAppInfoEntry() + if appInfoEntry == nil { + return res + } + + res.License = appInfoEntry.License + + return res +} + +// Readme handler +// @Summary Get README file. +// @Id 13 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.ReadmeResponse +// @Router /rk/v1/readme [get] +func (entry *CommonServiceEntry) Readme(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doReadme(writer, req)) +} + +// Extract mux entry from zap middleware +func doReadme(writer http.ResponseWriter, req *http.Request) *rkentry.ReadmeResponse { + res := &rkentry.ReadmeResponse{} + + appInfoEntry := rkentry.GlobalAppCtx.GetAppInfoEntry() + if appInfoEntry == nil { + return res + } + + res.Readme = appInfoEntry.Readme + + return res +} + +// Git handler +// @Summary Get Git information. +// @Id 14 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.GitResponse +// @Router /rk/v1/git [get] +func (entry *CommonServiceEntry) Git(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doGit(writer, req)) +} + +// Extract mux entry from zap middleware +func doGit(writer http.ResponseWriter, req *http.Request) *rkentry.GitResponse { + res := &rkentry.GitResponse{} + + rkMetaEntry := rkentry.GlobalAppCtx.GetRkMetaEntry() + if rkMetaEntry == nil { + return res + } + + res.Package = path.Base(rkMetaEntry.RkMeta.Git.Url) + res.Branch = rkMetaEntry.RkMeta.Git.Branch + res.Tag = rkMetaEntry.RkMeta.Git.Tag + res.Url = rkMetaEntry.RkMeta.Git.Url + res.CommitId = rkMetaEntry.RkMeta.Git.Commit.Id + res.CommitIdAbbr = rkMetaEntry.RkMeta.Git.Commit.IdAbbr + res.CommitSub = rkMetaEntry.RkMeta.Git.Commit.Sub + res.CommitterName = rkMetaEntry.RkMeta.Git.Commit.Committer.Name + res.CommitterEmail = rkMetaEntry.RkMeta.Git.Commit.Committer.Email + res.CommitDate = rkMetaEntry.RkMeta.Git.Commit.Date + + return res +} + +// Construct swagger URL based on IP and scheme +func constructSwUrl(entry *MuxEntry, req *http.Request) string { + if entry == nil || entry.SwEntry == nil { + return "N/A" + } + + originalURL := fmt.Sprintf("localhost:%d", entry.Port) + if req != nil && len(req.Host) > 0 { + originalURL = req.Host + } + + scheme := "http" + if req != nil && req.TLS != nil { + scheme = "https" + } + + return fmt.Sprintf("%s://%s%s", scheme, originalURL, entry.SwEntry.Path) +} + +// Helper function for APIs call +func doApis(req *http.Request) *rkentry.ApisResponse { + res := &rkentry.ApisResponse{ + Entries: make([]*rkentry.ApisResponse_Entry, 0), + } + + muxEntry := getEntry(req) + + if muxEntry != nil { + muxEntry.Router.Walk(func(route *mux.Route, router *mux.Router, ancestors []*mux.Route) error { + pathTemp, _ := route.GetPathTemplate() + rawMethods, _ := route.GetMethods() + methods := strings.Join(rawMethods, ",") + + entry := &rkentry.ApisResponse_Entry{ + Rest: &rkentry.ApisResponse_Rest{ + Port: muxEntry.Port, + Pattern: pathTemp, + Method: methods, + SwUrl: constructSwUrl(muxEntry, req), + }, + EntryName: muxEntry.GetName(), + } + res.Entries = append(res.Entries, entry) + + return nil + }) + } + + return res +} + +// Apis handler +// @Summary List API +// @Id 5 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @Success 200 {object} rkentry.ApisResponse +// @Router /rk/v1/apis [get] +func (entry *CommonServiceEntry) Apis(writer http.ResponseWriter, req *http.Request) { + writer.Header().Set("Access-Control-Allow-Origin", "*") + + rkmuxinter.WriteJson(writer, http.StatusOK, doApis(req)) +} + +// Is metrics from prometheus contains particular api? +func containsMetrics(api string, metrics []*rkentry.ReqMetricsRK) bool { + for i := range metrics { + if metrics[i].RestPath == api { + return true + } + } + + return false +} + +// Helper function for Req call +func doReq(req *http.Request) *rkentry.ReqResponse { + metricsSet := rkmuxmetrics.GetServerMetricsSet(req) + if metricsSet == nil { + return &rkentry.ReqResponse{ + Metrics: make([]*rkentry.ReqMetricsRK, 0), + } + } + + vector := metricsSet.GetSummary(rkmuxmetrics.ElapsedNano) + if vector == nil { + return &rkentry.ReqResponse{ + Metrics: make([]*rkentry.ReqMetricsRK, 0), + } + } + + reqMetrics := rkentry.NewPromMetricsInfo(vector) + + // Fill missed metrics + apis := make([]string, 0) + + muxEntry := GetMuxEntry(rkmuxctx.GetEntryName(req)) + if muxEntry != nil { + muxEntry.Router.Walk(func(route *mux.Route, router *mux.Router, ancestors []*mux.Route) error { + pathTemp, _ := route.GetPathTemplate() + apis = append(apis, pathTemp) + return nil + }) + } + + // Add empty metrics into result + for i := range apis { + if !containsMetrics(apis[i], reqMetrics) { + reqMetrics = append(reqMetrics, &rkentry.ReqMetricsRK{ + RestPath: apis[i], + ResCode: make([]*rkentry.ResCodeRK, 0), + }) + } + } + + return &rkentry.ReqResponse{ + Metrics: reqMetrics, + } +} + +// Req handler +// @Summary List prometheus metrics of requests +// @Id 7 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @Security JWT +// @produce application/json +// @success 200 {object} rkentry.ReqResponse +// @Router /rk/v1/req [get] +func (entry *CommonServiceEntry) Req(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, doReq(req)) +} diff --git a/boot/common_service_entry_test.go b/boot/common_service_entry_test.go new file mode 100644 index 0000000..d701cf7 --- /dev/null +++ b/boot/common_service_entry_test.go @@ -0,0 +1,419 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "bytes" + "context" + "github.com/prometheus/client_golang/prometheus" + "github.com/rookie-ninja/rk-common/common" + "github.com/rookie-ninja/rk-entry/entry" + rkmuxinter "github.com/rookie-ninja/rk-mux/interceptor" + rkmuxmetrics "github.com/rookie-ninja/rk-mux/interceptor/metrics/prom" + "github.com/spf13/viper" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "strings" + "testing" +) + +func newReqAndWriter() (*http.Request, *httptest.ResponseRecorder) { + var buf bytes.Buffer + req := httptest.NewRequest(http.MethodGet, "/ut-path", &buf) + writer := httptest.NewRecorder() + return req, writer +} + +func TestWithNameCommonService_WithEmptyString(t *testing.T) { + entry := NewCommonServiceEntry( + WithNameCommonService("")) + + assert.NotEmpty(t, entry.GetName()) +} + +func TestWithNameCommonService_HappyCase(t *testing.T) { + entry := NewCommonServiceEntry( + WithNameCommonService("unit-test")) + + assert.Equal(t, "unit-test", entry.GetName()) +} + +func TestWithEventLoggerEntryCommonService_WithNilParam(t *testing.T) { + entry := NewCommonServiceEntry( + WithEventLoggerEntryCommonService(nil)) + + assert.NotNil(t, entry.EventLoggerEntry) +} + +func TestWithEventLoggerEntryCommonService_HappyCase(t *testing.T) { + eventLoggerEntry := rkentry.NoopEventLoggerEntry() + entry := NewCommonServiceEntry( + WithEventLoggerEntryCommonService(eventLoggerEntry)) + + assert.Equal(t, eventLoggerEntry, entry.EventLoggerEntry) +} + +func TestWithZapLoggerEntryCommonService_WithNilParam(t *testing.T) { + entry := NewCommonServiceEntry( + WithZapLoggerEntryCommonService(nil)) + + assert.NotNil(t, entry.ZapLoggerEntry) +} + +func TestWithZapLoggerEntryCommonService_HappyCase(t *testing.T) { + zapLoggerEntry := rkentry.NoopZapLoggerEntry() + entry := NewCommonServiceEntry( + WithZapLoggerEntryCommonService(zapLoggerEntry)) + + assert.Equal(t, zapLoggerEntry, entry.ZapLoggerEntry) +} + +func TestNewCommonServiceEntry_WithoutOptions(t *testing.T) { + entry := NewCommonServiceEntry() + + assert.NotNil(t, entry.ZapLoggerEntry) + assert.NotNil(t, entry.EventLoggerEntry) + assert.NotEmpty(t, entry.GetName()) + assert.NotEmpty(t, entry.GetType()) +} + +func TestNewCommonServiceEntry_HappyCase(t *testing.T) { + zapLoggerEntry := rkentry.NoopZapLoggerEntry() + eventLoggerEntry := rkentry.NoopEventLoggerEntry() + + entry := NewCommonServiceEntry( + WithZapLoggerEntryCommonService(zapLoggerEntry), + WithEventLoggerEntryCommonService(eventLoggerEntry), + WithNameCommonService("ut")) + + assert.Equal(t, zapLoggerEntry, entry.ZapLoggerEntry) + assert.Equal(t, eventLoggerEntry, entry.EventLoggerEntry) + assert.Equal(t, "ut", entry.GetName()) + assert.NotEmpty(t, entry.GetType()) +} + +func TestCommonServiceEntry_Bootstrap_WithoutRouter(t *testing.T) { + defer func() { + if r := recover(); r != nil { + // expect panic to be called with non nil error + assert.True(t, false) + } else { + // this should never be called in case of a bug + assert.True(t, true) + } + }() + + entry := NewCommonServiceEntry( + WithZapLoggerEntryCommonService(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntryCommonService(rkentry.NoopEventLoggerEntry())) + entry.Bootstrap(context.Background()) +} + +func TestCommonServiceEntry_Bootstrap_HappyCase(t *testing.T) { + defer func() { + if r := recover(); r != nil { + // expect panic to be called with non nil error + assert.True(t, false) + } else { + // this should never be called in case of a bug + assert.True(t, true) + } + }() + + entry := NewCommonServiceEntry( + WithZapLoggerEntryCommonService(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntryCommonService(rkentry.NoopEventLoggerEntry())) + entry.Bootstrap(context.Background()) +} + +func TestCommonServiceEntry_Interrupt_HappyCase(t *testing.T) { + defer func() { + if r := recover(); r != nil { + // expect panic to be called with non nil error + assert.True(t, false) + } else { + // this should never be called in case of a bug + assert.True(t, true) + } + }() + + entry := NewCommonServiceEntry( + WithZapLoggerEntryCommonService(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntryCommonService(rkentry.NoopEventLoggerEntry())) + entry.Interrupt(context.Background()) +} + +func TestCommonServiceEntry_GetName_HappyCase(t *testing.T) { + entry := NewCommonServiceEntry( + WithNameCommonService("ut")) + + assert.Equal(t, "ut", entry.GetName()) +} + +func TestCommonServiceEntry_GetType_HappyCase(t *testing.T) { + entry := NewCommonServiceEntry() + + assert.Equal(t, "CommonServiceEntry", entry.GetType()) +} + +func TestCommonServiceEntry_String_HappyCase(t *testing.T) { + entry := NewCommonServiceEntry() + + assert.NotEmpty(t, entry.String()) +} + +func TestCommonServiceEntry_Healthy_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + entry.Healthy(writer, req) + + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.Equal(t, `{"healthy":true}`, strings.TrimSuffix(writer.Body.String(), "\n")) +} + +func TestCommonServiceEntry_GC_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + entry.Gc(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_Info_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + entry.Info(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_Config_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + vp := viper.New() + vp.Set("unit-test-key", "unit-test-value") + + viperEntry := rkentry.RegisterConfigEntry( + rkentry.WithNameConfig("unit-test"), + rkentry.WithViperInstanceConfig(vp)) + + rkentry.GlobalAppCtx.AddConfigEntry(viperEntry) + defer rkentry.GlobalAppCtx.RemoveConfigEntry(viperEntry.EntryName) + + entry.Configs(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) + assert.Contains(t, writer.Body.String(), "unit-test-key") + assert.Contains(t, writer.Body.String(), "unit-test-value") +} + +func TestCommonServiceEntry_Sys_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + entry.Sys(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_Entries_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + muxEntry := RegisterMuxEntry( + WithCommonServiceEntryMux(entry), + WithNameMux("unit-test-mux")) + rkentry.GlobalAppCtx.AddEntry(muxEntry) + defer rkentry.GlobalAppCtx.RemoveEntry(muxEntry.EntryName) + + entry.Entries(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_Certs_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + muxEntry := RegisterMuxEntry( + WithCommonServiceEntryMux(entry), + WithNameMux("unit-test-mux")) + rkentry.GlobalAppCtx.AddEntry(muxEntry) + rkentry.RegisterCertEntry(rkentry.WithNameCert("ut-cert")) + certEntry := rkentry.GlobalAppCtx.GetCertEntry("ut-cert") + certEntry.Retriever = &rkentry.CredRetrieverLocalFs{} + certEntry.Store = &rkentry.CertStore{} + + defer rkentry.GlobalAppCtx.RemoveCertEntry(certEntry.EntryName) + + entry.Certs(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_Logs_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + muxEntry := RegisterMuxEntry( + WithCommonServiceEntryMux(entry), + WithNameMux("unit-test-mux")) + rkentry.GlobalAppCtx.AddEntry(muxEntry) + defer rkentry.GlobalAppCtx.RemoveEntry(muxEntry.EntryName) + + entry.Logs(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_Deps_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + muxEntry := RegisterMuxEntry( + WithCommonServiceEntryMux(entry), + WithNameMux("unit-test-mux")) + rkentry.GlobalAppCtx.AddEntry(muxEntry) + defer rkentry.GlobalAppCtx.RemoveEntry(muxEntry.EntryName) + + entry.Deps(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_License_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + muxEntry := RegisterMuxEntry( + WithCommonServiceEntryMux(entry), + WithNameMux("unit-test-mux")) + rkentry.GlobalAppCtx.AddEntry(muxEntry) + defer rkentry.GlobalAppCtx.RemoveEntry(muxEntry.EntryName) + + entry.License(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_Readme_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + muxEntry := RegisterMuxEntry( + WithCommonServiceEntryMux(entry), + WithNameMux("unit-test-mux")) + rkentry.GlobalAppCtx.AddEntry(muxEntry) + defer rkentry.GlobalAppCtx.RemoveEntry(muxEntry.EntryName) + + entry.Readme(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_Git_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + req, writer := newReqAndWriter() + + muxEntry := RegisterMuxEntry( + WithCommonServiceEntryMux(entry), + WithNameMux("unit-test-mux")) + rkentry.GlobalAppCtx.AddEntry(muxEntry) + rkentry.GlobalAppCtx.SetRkMetaEntry(&rkentry.RkMetaEntry{ + RkMeta: &rkcommon.RkMeta{ + Git: &rkcommon.Git{ + Commit: &rkcommon.Commit{ + Committer: &rkcommon.Committer{}, + }, + }, + }, + }) + + entry.Git(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_APIs_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + muxEntry := RegisterMuxEntry( + WithCommonServiceEntryMux(entry), + WithNameMux("unit-test-mux")) + rkentry.GlobalAppCtx.AddEntry(muxEntry) + + req, writer := newReqAndWriter() + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, "unit-test-mux")) + + muxEntry.Router.NewRoute().Methods(http.MethodGet).Path("/ut-test") + + entry.Apis(writer, req) + assert.Equal(t, http.StatusOK, writer.Code) + assert.NotEmpty(t, writer.Body.String()) +} + +func TestCommonServiceEntry_Req_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + entry := NewCommonServiceEntry() + + muxEntry := RegisterMuxEntry( + WithCommonServiceEntryMux(entry), + WithNameMux("unit-test-mux")) + rkentry.GlobalAppCtx.AddEntry(muxEntry) + + muxEntry.AddInterceptor(rkmuxmetrics.Interceptor( + rkmuxmetrics.WithRegisterer(prometheus.NewRegistry()))) + + req, writer := newReqAndWriter() + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, "unit-test-mux")) + + entry.Req(writer, req) + assert.Equal(t, http.StatusOK, writer.Code) + assert.NotEmpty(t, writer.Body.String()) +} diff --git a/boot/mux_entry.go b/boot/mux_entry.go new file mode 100644 index 0000000..816844e --- /dev/null +++ b/boot/mux_entry.go @@ -0,0 +1,1052 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmux an implementation of rkentry.Entry which could be used start restful server with rkmux framework +package rkmux + +import ( + "context" + "crypto/tls" + "encoding/json" + "fmt" + "github.com/gorilla/mux" + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promhttp" + "github.com/rookie-ninja/rk-common/common" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor/auth" + "github.com/rookie-ninja/rk-mux/interceptor/cors" + "github.com/rookie-ninja/rk-mux/interceptor/csrf" + "github.com/rookie-ninja/rk-mux/interceptor/jwt" + "github.com/rookie-ninja/rk-mux/interceptor/log/zap" + "github.com/rookie-ninja/rk-mux/interceptor/meta" + "github.com/rookie-ninja/rk-mux/interceptor/metrics/prom" + "github.com/rookie-ninja/rk-mux/interceptor/panic" + "github.com/rookie-ninja/rk-mux/interceptor/ratelimit" + "github.com/rookie-ninja/rk-mux/interceptor/secure" + "github.com/rookie-ninja/rk-mux/interceptor/timeout" + "github.com/rookie-ninja/rk-mux/interceptor/tracing/telemetry" + "github.com/rookie-ninja/rk-prom" + "github.com/rookie-ninja/rk-query" + "go.opentelemetry.io/otel/exporters/jaeger" + "go.opentelemetry.io/otel/sdk/trace" + "go.uber.org/zap" + "net" + "net/http" + "path" + "reflect" + "runtime" + "strconv" + "strings" + "time" +) + +const ( + // MuxEntryType type of entry + MuxEntryType = "MuxEntry" + // MuxEntryDescription description of entry + MuxEntryDescription = "Internal RK entry which helps to bootstrap with mux framework." +) + +// This must be declared in order to register registration function into rk context +// otherwise, rk-boot won't able to bootstrap Mux entry automatically from boot config file +func init() { + rkentry.RegisterEntryRegFunc(RegisterMuxEntriesWithConfig) +} + +// BootConfigMux boot config which is for Mux entry. +// +// 1: Mux.Enabled: Enable Mux entry, default is true. +// 2: Mux.Name: Name of Mux entry, should be unique globally. +// 3: Mux.Port: Port of Mux entry. +// 4: Mux.Cert.Ref: Reference of rkentry.CertEntry. +// 5: Mux.SW: See BootConfigSW for details. +// 6: Mux.CommonService: See BootConfigCommonService for details. +// 7: Mux.TV: See BootConfigTv for details. +// 8: Mux.Prom: See BootConfigProm for details. +// 9: Mux.Interceptors.LoggingZap.Enabled: Enable zap logging interceptor. +// 10: Mux.Interceptors.MetricsProm.Enable: Enable prometheus interceptor. +// 11: Mux.Interceptors.auth.Enabled: Enable basic auth. +// 12: Mux.Interceptors.auth.Basic: Credential for basic auth, scheme: +// 13: Mux.Interceptors.auth.ApiKey: Credential for X-API-Key. +// 14: Mux.Interceptors.auth.igorePrefix: List of paths that will be ignored. +// 15: Mux.Interceptors.Extension.Enabled: Enable extension interceptor. +// 16: Mux.Interceptors.Extension.Prefix: Prefix of extension header key. +// 17: Mux.Interceptors.TracingTelemetry.Enabled: Enable tracing interceptor with opentelemetry. +// 18: Mux.Interceptors.TracingTelemetry.Exporter.File.Enabled: Enable file exporter which support type of stdout and local file. +// 19: Mux.Interceptors.TracingTelemetry.Exporter.File.OutputPath: Output path of file exporter, stdout and file path is supported. +// 20: Mux.Interceptors.TracingTelemetry.Exporter.Jaeger.Enabled: Enable jaeger exporter. +// 21: Mux.Interceptors.TracingTelemetry.Exporter.Jaeger.AgentEndpoint: Specify jeager agent endpoint, localhost:6832 would be used by default. +// 22: Mux.Interceptors.RateLimit.Enabled: Enable rate limit interceptor. +// 23: Mux.Interceptors.RateLimit.Algorithm: Algorithm of rate limiter. +// 24: Mux.Interceptors.RateLimit.ReqPerSec: Request per second. +// 25: Mux.Interceptors.RateLimit.Paths.path: Name of full path. +// 26: Mux.Interceptors.RateLimit.Paths.ReqPerSec: Request per second by path. +// 27: Mux.Interceptors.Timeout.Enabled: Enable timeout interceptor. +// 28: Mux.Interceptors.Timeout.TimeoutMs: Timeout in milliseconds. +// 29: Mux.Interceptors.Timeout.Paths.path: Name of full path. +// 30: Mux.Interceptors.Timeout.Paths.TimeoutMs: Timeout in milliseconds by path. +// 31: Mux.Logger.ZapLogger.Ref: Zap logger reference, see rkentry.ZapLoggerEntry for details. +// 32: Mux.Logger.EventLogger.Ref: Event logger reference, see rkentry.EventLoggerEntry for details. +type BootConfigMux struct { + Mux []struct { + Enabled bool `yaml:"enabled" json:"enabled"` + Name string `yaml:"name" json:"name"` + Port uint64 `yaml:"port" json:"port"` + Description string `yaml:"description" json:"description"` + Cert struct { + Ref string `yaml:"ref" json:"ref"` + } `yaml:"cert" json:"cert"` + SW BootConfigSw `yaml:"sw" json:"sw"` + CommonService BootConfigCommonService `yaml:"commonService" json:"commonService"` + TV BootConfigTv `yaml:"tv" json:"tv"` + Prom BootConfigProm `yaml:"prom" json:"prom"` + Interceptors struct { + LoggingZap struct { + Enabled bool `yaml:"enabled" json:"enabled"` + ZapLoggerEncoding string `yaml:"zapLoggerEncoding" json:"zapLoggerEncoding"` + ZapLoggerOutputPaths []string `yaml:"zapLoggerOutputPaths" json:"zapLoggerOutputPaths"` + EventLoggerEncoding string `yaml:"eventLoggerEncoding" json:"eventLoggerEncoding"` + EventLoggerOutputPaths []string `yaml:"eventLoggerOutputPaths" json:"eventLoggerOutputPaths"` + } `yaml:"loggingZap" json:"loggingZap"` + MetricsProm struct { + Enabled bool `yaml:"enabled" json:"enabled"` + } `yaml:"metricsProm" json:"metricsProm"` + Auth struct { + Enabled bool `yaml:"enabled" json:"enabled"` + IgnorePrefix []string `yaml:"ignorePrefix" json:"ignorePrefix"` + Basic []string `yaml:"basic" json:"basic"` + ApiKey []string `yaml:"apiKey" json:"apiKey"` + } `yaml:"auth" json:"auth"` + Cors struct { + Enabled bool `yaml:"enabled" json:"enabled"` + AllowOrigins []string `yaml:"allowOrigins" json:"allowOrigins"` + AllowCredentials bool `yaml:"allowCredentials" json:"allowCredentials"` + AllowHeaders []string `yaml:"allowHeaders" json:"allowHeaders"` + AllowMethods []string `yaml:"allowMethods" json:"allowMethods"` + ExposeHeaders []string `yaml:"exposeHeaders" json:"exposeHeaders"` + MaxAge int `yaml:"maxAge" json:"maxAge"` + } `yaml:"cors" json:"cors"` + Meta struct { + Enabled bool `yaml:"enabled" json:"enabled"` + Prefix string `yaml:"prefix" json:"prefix"` + } `yaml:"meta" json:"meta"` + Jwt struct { + Enabled bool `yaml:"enabled" json:"enabled"` + IgnorePrefix []string `yaml:"ignorePrefix" json:"ignorePrefix"` + SigningKey string `yaml:"signingKey" json:"signingKey"` + SigningKeys []string `yaml:"signingKeys" json:"signingKeys"` + SigningAlgo string `yaml:"signingAlgo" json:"signingAlgo"` + TokenLookup string `yaml:"tokenLookup" json:"tokenLookup"` + AuthScheme string `yaml:"authScheme" json:"authScheme"` + } `yaml:"jwt" json:"jwt"` + Secure struct { + Enabled bool `yaml:"enabled" json:"enabled"` + IgnorePrefix []string `yaml:"ignorePrefix" json:"ignorePrefix"` + XssProtection string `yaml:"xssProtection" json:"xssProtection"` + ContentTypeNosniff string `yaml:"contentTypeNosniff" json:"contentTypeNosniff"` + XFrameOptions string `yaml:"xFrameOptions" json:"xFrameOptions"` + HstsMaxAge int `yaml:"hstsMaxAge" json:"hstsMaxAge"` + HstsExcludeSubdomains bool `yaml:"hstsExcludeSubdomains" json:"hstsExcludeSubdomains"` + HstsPreloadEnabled bool `yaml:"hstsPreloadEnabled" json:"hstsPreloadEnabled"` + ContentSecurityPolicy string `yaml:"contentSecurityPolicy" json:"contentSecurityPolicy"` + CspReportOnly bool `yaml:"cspReportOnly" json:"cspReportOnly"` + ReferrerPolicy string `yaml:"referrerPolicy" json:"referrerPolicy"` + } `yaml:"secure" json:"secure"` + Csrf struct { + Enabled bool `yaml:"enabled" json:"enabled"` + IgnorePrefix []string `yaml:"ignorePrefix" json:"ignorePrefix"` + TokenLength int `yaml:"tokenLength" json:"tokenLength"` + TokenLookup string `yaml:"tokenLookup" json:"tokenLookup"` + CookieName string `yaml:"cookieName" json:"cookieName"` + CookieDomain string `yaml:"cookieDomain" json:"cookieDomain"` + CookiePath string `yaml:"cookiePath" json:"cookiePath"` + CookieMaxAge int `yaml:"cookieMaxAge" json:"cookieMaxAge"` + CookieHttpOnly bool `yaml:"cookieHttpOnly" json:"cookieHttpOnly"` + CookieSameSite string `yaml:"cookieSameSite" json:"cookieSameSite"` + } `yaml:"csrf" yaml:"csrf"` + Gzip struct { + Enabled bool `yaml:"enabled" json:"enabled"` + Level string `yaml:"level" json:"level"` + } `yaml:"gzip" json:"gzip"` + RateLimit struct { + Enabled bool `yaml:"enabled" json:"enabled"` + Algorithm string `yaml:"algorithm" json:"algorithm"` + ReqPerSec int `yaml:"reqPerSec" json:"reqPerSec"` + Paths []struct { + Path string `yaml:"path" json:"path"` + ReqPerSec int `yaml:"reqPerSec" json:"reqPerSec"` + } `yaml:"paths" json:"paths"` + } `yaml:"rateLimit" json:"rateLimit"` + Timeout struct { + Enabled bool `yaml:"enabled" json:"enabled"` + TimeoutMs int `yaml:"timeoutMs" json:"timeoutMs"` + Paths []struct { + Path string `yaml:"path" json:"path"` + TimeoutMs int `yaml:"timeoutMs" json:"timeoutMs"` + } `yaml:"paths" json:"paths"` + } `yaml:"timeout" json:"timeout"` + TracingTelemetry struct { + Enabled bool `yaml:"enabled" json:"enabled"` + Exporter struct { + File struct { + Enabled bool `yaml:"enabled" json:"enabled"` + OutputPath string `yaml:"outputPath" json:"outputPath"` + } `yaml:"file" json:"file"` + Jaeger struct { + Agent struct { + Enabled bool `yaml:"enabled" json:"enabled"` + Host string `yaml:"host" json:"host"` + Port int `yaml:"port" json:"port"` + } `yaml:"agent" json:"agent"` + Collector struct { + Enabled bool `yaml:"enabled" json:"enabled"` + Endpoint string `yaml:"endpoint" json:"endpoint"` + Username string `yaml:"username" json:"username"` + Password string `yaml:"password" json:"password"` + } `yaml:"collector" json:"collector"` + } `yaml:"jaeger" json:"jaeger"` + } `yaml:"exporter" json:"exporter"` + } `yaml:"tracingTelemetry" json:"tracingTelemetry"` + } `yaml:"interceptors" json:"interceptors"` + Logger struct { + ZapLogger struct { + Ref string `yaml:"ref" json:"ref"` + } `yaml:"zapLogger" json:"zapLogger"` + EventLogger struct { + Ref string `yaml:"ref" json:"ref"` + } `yaml:"eventLogger" json:"eventLogger"` + } `yaml:"logger" json:"logger"` + } `yaml:"mux" json:"mux"` +} + +// MuxEntry implements rkentry.Entry interface. +type MuxEntry struct { + EntryName string `json:"entryName" yaml:"entryName"` + EntryType string `json:"entryType" yaml:"entryType"` + EntryDescription string `json:"-" yaml:"-"` + ZapLoggerEntry *rkentry.ZapLoggerEntry `json:"-" yaml:"-"` + EventLoggerEntry *rkentry.EventLoggerEntry `json:"-" yaml:"-"` + Port uint64 `json:"port" yaml:"port"` + CertEntry *rkentry.CertEntry `json:"-" yaml:"-"` + SwEntry *SwEntry `json:"-" yaml:"-"` + CommonServiceEntry *CommonServiceEntry `json:"-" yaml:"-"` + Router *mux.Router `json:"-" yaml:"-"` + Server *http.Server `json:"-" yaml:"-"` + TlsConfig *tls.Config `json:"-" yaml:"-"` + Interceptors []mux.MiddlewareFunc `json:"-" yaml:"-"` + PromEntry *PromEntry `json:"-" yaml:"-"` + TvEntry *TvEntry `json:"-" yaml:"-"` +} + +// MuxEntryOption Mux entry option. +type MuxEntryOption func(*MuxEntry) + +// WithNameMux provide name. +func WithNameMux(name string) MuxEntryOption { + return func(entry *MuxEntry) { + entry.EntryName = name + } +} + +// WithDescriptionMux provide name. +func WithDescriptionMux(description string) MuxEntryOption { + return func(entry *MuxEntry) { + entry.EntryDescription = description + } +} + +// WithPortMux provide port. +func WithPortMux(port uint64) MuxEntryOption { + return func(entry *MuxEntry) { + entry.Port = port + } +} + +// WithZapLoggerEntryMux provide rkentry.ZapLoggerEntry. +func WithZapLoggerEntryMux(zapLogger *rkentry.ZapLoggerEntry) MuxEntryOption { + return func(entry *MuxEntry) { + entry.ZapLoggerEntry = zapLogger + } +} + +// WithEventLoggerEntryMux provide rkentry.EventLoggerEntry. +func WithEventLoggerEntryMux(eventLogger *rkentry.EventLoggerEntry) MuxEntryOption { + return func(entry *MuxEntry) { + entry.EventLoggerEntry = eventLogger + } +} + +// WithCertEntryMux provide rkentry.CertEntry. +func WithCertEntryMux(certEntry *rkentry.CertEntry) MuxEntryOption { + return func(entry *MuxEntry) { + entry.CertEntry = certEntry + } +} + +// WithSwEntryMux provide SwEntry. +func WithSwEntryMux(sw *SwEntry) MuxEntryOption { + return func(entry *MuxEntry) { + entry.SwEntry = sw + } +} + +// WithCommonServiceEntryMux provide CommonServiceEntry. +func WithCommonServiceEntryMux(commonServiceEntry *CommonServiceEntry) MuxEntryOption { + return func(entry *MuxEntry) { + entry.CommonServiceEntry = commonServiceEntry + } +} + +// WithInterceptorsMux provide user interceptors. +func WithInterceptorsMux(inters ...mux.MiddlewareFunc) MuxEntryOption { + return func(entry *MuxEntry) { + if entry.Interceptors == nil { + entry.Interceptors = make([]mux.MiddlewareFunc, 0) + } + + entry.Interceptors = append(entry.Interceptors, inters...) + } +} + +// WithPromEntryMux provide PromEntry. +func WithPromEntryMux(prom *PromEntry) MuxEntryOption { + return func(entry *MuxEntry) { + entry.PromEntry = prom + } +} + +// WithTVEntryMux provide TvEntry. +func WithTVEntryMux(tvEntry *TvEntry) MuxEntryOption { + return func(entry *MuxEntry) { + entry.TvEntry = tvEntry + } +} + +// GetMuxEntry Get MuxEntry from rkentry.GlobalAppCtx. +func GetMuxEntry(name string) *MuxEntry { + entryRaw := rkentry.GlobalAppCtx.GetEntry(name) + if entryRaw == nil { + return nil + } + + entry, _ := entryRaw.(*MuxEntry) + return entry +} + +// RegisterMuxEntriesWithConfig register Mux entries with provided config file (Must YAML file). +// +// Currently, support two ways to provide config file path. +// 1: With function parameters +// 2: With command line flag "--rkboot" described in rkcommon.BootConfigPathFlagKey (Will override function parameter if exists) +// Command line flag has high priority which would override function parameter +// +// Error handling: +// Process will shutdown if any errors occur with rkcommon.ShutdownWithError function +// +// Override elements in config file: +// We learned from HELM source code which would override elements in YAML file with "--set" flag followed with comma +// separated key/value pairs. +// +// We are using "--rkset" described in rkcommon.BootConfigOverrideKey in order to distinguish with user flags +// Example of common usage: ./binary_file --rkset "key1=val1,key2=val2" +// Example of nested map: ./binary_file --rkset "outer.inner.key=val" +// Example of slice: ./binary_file --rkset "outer[0].key=val" +func RegisterMuxEntriesWithConfig(configFilePath string) map[string]rkentry.Entry { + res := make(map[string]rkentry.Entry) + + // 1: Decode config map into boot config struct + config := &BootConfigMux{} + rkcommon.UnmarshalBootConfig(configFilePath, config) + + // 2: Init Mux entries with boot config + for i := range config.Mux { + element := config.Mux[i] + if !element.Enabled { + continue + } + + name := element.Name + + zapLoggerEntry := rkentry.GlobalAppCtx.GetZapLoggerEntry(element.Logger.ZapLogger.Ref) + if zapLoggerEntry == nil { + zapLoggerEntry = rkentry.GlobalAppCtx.GetZapLoggerEntryDefault() + } + + eventLoggerEntry := rkentry.GlobalAppCtx.GetEventLoggerEntry(element.Logger.EventLogger.Ref) + if eventLoggerEntry == nil { + eventLoggerEntry = rkentry.GlobalAppCtx.GetEventLoggerEntryDefault() + } + + promRegistry := prometheus.NewRegistry() + // Did we enabled swagger? + var swEntry *SwEntry + if element.SW.Enabled { + // Init swagger custom headers from config + headers := make(map[string]string, 0) + for i := range element.SW.Headers { + header := element.SW.Headers[i] + tokens := strings.Split(header, ":") + if len(tokens) == 2 { + headers[tokens[0]] = tokens[1] + } + } + + swEntry = NewSwEntry( + WithNameSw(fmt.Sprintf("%s-sw", element.Name)), + WithZapLoggerEntrySw(zapLoggerEntry), + WithEventLoggerEntrySw(eventLoggerEntry), + WithEnableCommonServiceSw(element.CommonService.Enabled), + WithPortSw(element.Port), + WithPathSw(element.SW.Path), + WithJsonPathSw(element.SW.JsonPath), + WithHeadersSw(headers)) + } + + // Did we enabled prometheus? + var promEntry *PromEntry + if element.Prom.Enabled { + var pusher *rkprom.PushGatewayPusher + if element.Prom.Pusher.Enabled { + certEntry := rkentry.GlobalAppCtx.GetCertEntry(element.Prom.Pusher.Cert.Ref) + var certStore *rkentry.CertStore + + if certEntry != nil { + certStore = certEntry.Store + } + + pusher, _ = rkprom.NewPushGatewayPusher( + rkprom.WithIntervalMSPusher(time.Duration(element.Prom.Pusher.IntervalMs)*time.Millisecond), + rkprom.WithRemoteAddressPusher(element.Prom.Pusher.RemoteAddress), + rkprom.WithJobNamePusher(element.Prom.Pusher.JobName), + rkprom.WithBasicAuthPusher(element.Prom.Pusher.BasicAuth), + rkprom.WithZapLoggerEntryPusher(zapLoggerEntry), + rkprom.WithEventLoggerEntryPusher(eventLoggerEntry), + rkprom.WithCertStorePusher(certStore)) + } + + promRegistry.Register(prometheus.NewGoCollector()) + promEntry = NewPromEntry( + WithNameProm(fmt.Sprintf("%s-prom", element.Name)), + WithPortProm(element.Port), + WithPathProm(element.Prom.Path), + WithZapLoggerEntryProm(zapLoggerEntry), + WithPromRegistryProm(promRegistry), + WithEventLoggerEntryProm(eventLoggerEntry), + WithPusherProm(pusher)) + + if promEntry.Pusher != nil { + promEntry.Pusher.SetGatherer(promEntry.Gatherer) + } + } + + inters := make([]mux.MiddlewareFunc, 0) + + // Did we enabled logging interceptor? + if element.Interceptors.LoggingZap.Enabled { + opts := []rkmuxlog.Option{ + rkmuxlog.WithEntryNameAndType(element.Name, MuxEntryType), + rkmuxlog.WithEventLoggerEntry(eventLoggerEntry), + rkmuxlog.WithZapLoggerEntry(zapLoggerEntry), + } + + if strings.ToLower(element.Interceptors.LoggingZap.ZapLoggerEncoding) == "json" { + opts = append(opts, rkmuxlog.WithZapLoggerEncoding(rkmuxlog.ENCODING_JSON)) + } + + if strings.ToLower(element.Interceptors.LoggingZap.EventLoggerEncoding) == "json" { + opts = append(opts, rkmuxlog.WithEventLoggerEncoding(rkmuxlog.ENCODING_JSON)) + } + + if len(element.Interceptors.LoggingZap.ZapLoggerOutputPaths) > 0 { + opts = append(opts, rkmuxlog.WithZapLoggerOutputPaths(element.Interceptors.LoggingZap.ZapLoggerOutputPaths...)) + } + + if len(element.Interceptors.LoggingZap.EventLoggerOutputPaths) > 0 { + opts = append(opts, rkmuxlog.WithEventLoggerOutputPaths(element.Interceptors.LoggingZap.EventLoggerOutputPaths...)) + } + + inters = append(inters, rkmuxlog.Interceptor(opts...)) + } + + // Did we enabled metrics interceptor? + if element.Interceptors.MetricsProm.Enabled { + opts := []rkmuxmetrics.Option{ + rkmuxmetrics.WithRegisterer(promRegistry), + rkmuxmetrics.WithEntryNameAndType(element.Name, MuxEntryType), + } + + inters = append(inters, rkmuxmetrics.Interceptor(opts...)) + } + + // Did we enabled tracing interceptor? + if element.Interceptors.TracingTelemetry.Enabled { + var exporter trace.SpanExporter + + if element.Interceptors.TracingTelemetry.Exporter.File.Enabled { + exporter = rkmuxtrace.CreateFileExporter(element.Interceptors.TracingTelemetry.Exporter.File.OutputPath) + } + + if element.Interceptors.TracingTelemetry.Exporter.Jaeger.Agent.Enabled { + opts := make([]jaeger.AgentEndpointOption, 0) + if len(element.Interceptors.TracingTelemetry.Exporter.Jaeger.Agent.Host) > 0 { + opts = append(opts, + jaeger.WithAgentHost(element.Interceptors.TracingTelemetry.Exporter.Jaeger.Agent.Host)) + } + if element.Interceptors.TracingTelemetry.Exporter.Jaeger.Agent.Port > 0 { + opts = append(opts, + jaeger.WithAgentPort( + fmt.Sprintf("%d", element.Interceptors.TracingTelemetry.Exporter.Jaeger.Agent.Port))) + } + + exporter = rkmuxtrace.CreateJaegerExporter(jaeger.WithAgentEndpoint(opts...)) + } + + if element.Interceptors.TracingTelemetry.Exporter.Jaeger.Collector.Enabled { + opts := []jaeger.CollectorEndpointOption{ + jaeger.WithUsername(element.Interceptors.TracingTelemetry.Exporter.Jaeger.Collector.Username), + jaeger.WithPassword(element.Interceptors.TracingTelemetry.Exporter.Jaeger.Collector.Password), + } + + if len(element.Interceptors.TracingTelemetry.Exporter.Jaeger.Collector.Endpoint) > 0 { + opts = append(opts, jaeger.WithEndpoint(element.Interceptors.TracingTelemetry.Exporter.Jaeger.Collector.Endpoint)) + } + + exporter = rkmuxtrace.CreateJaegerExporter(jaeger.WithCollectorEndpoint(opts...)) + } + + opts := []rkmuxtrace.Option{ + rkmuxtrace.WithEntryNameAndType(element.Name, MuxEntryType), + rkmuxtrace.WithExporter(exporter), + } + + inters = append(inters, rkmuxtrace.Interceptor(opts...)) + } + + // Did we enabled jwt interceptor? + if element.Interceptors.Jwt.Enabled { + var signingKey []byte + if len(element.Interceptors.Jwt.SigningKey) > 0 { + signingKey = []byte(element.Interceptors.Jwt.SigningKey) + } + + opts := []rkmuxjwt.Option{ + rkmuxjwt.WithEntryNameAndType(element.Name, MuxEntryType), + rkmuxjwt.WithSigningKey(signingKey), + rkmuxjwt.WithSigningAlgorithm(element.Interceptors.Jwt.SigningAlgo), + rkmuxjwt.WithTokenLookup(element.Interceptors.Jwt.TokenLookup), + rkmuxjwt.WithAuthScheme(element.Interceptors.Jwt.AuthScheme), + rkmuxjwt.WithIgnorePrefix(element.Interceptors.Jwt.IgnorePrefix...), + } + + for _, v := range element.Interceptors.Jwt.SigningKeys { + tokens := strings.SplitN(v, ":", 2) + if len(tokens) == 2 { + opts = append(opts, rkmuxjwt.WithSigningKeys(tokens[0], tokens[1])) + } + } + + inters = append(inters, rkmuxjwt.Interceptor(opts...)) + } + + // Did we enabled secure interceptor? + if element.Interceptors.Secure.Enabled { + opts := []rkmuxsec.Option{ + rkmuxsec.WithEntryNameAndType(element.Name, MuxEntryType), + rkmuxsec.WithXSSProtection(element.Interceptors.Secure.XssProtection), + rkmuxsec.WithContentTypeNosniff(element.Interceptors.Secure.ContentTypeNosniff), + rkmuxsec.WithXFrameOptions(element.Interceptors.Secure.XFrameOptions), + rkmuxsec.WithHSTSMaxAge(element.Interceptors.Secure.HstsMaxAge), + rkmuxsec.WithHSTSExcludeSubdomains(element.Interceptors.Secure.HstsExcludeSubdomains), + rkmuxsec.WithHSTSPreloadEnabled(element.Interceptors.Secure.HstsPreloadEnabled), + rkmuxsec.WithContentSecurityPolicy(element.Interceptors.Secure.ContentSecurityPolicy), + rkmuxsec.WithCSPReportOnly(element.Interceptors.Secure.CspReportOnly), + rkmuxsec.WithReferrerPolicy(element.Interceptors.Secure.ReferrerPolicy), + rkmuxsec.WithIgnorePrefix(element.Interceptors.Secure.IgnorePrefix...), + } + + inters = append(inters, rkmuxsec.Interceptor(opts...)) + } + + // Did we enabled csrf interceptor? + if element.Interceptors.Csrf.Enabled { + opts := []rkmuxcsrf.Option{ + rkmuxcsrf.WithEntryNameAndType(element.Name, MuxEntryType), + rkmuxcsrf.WithTokenLength(element.Interceptors.Csrf.TokenLength), + rkmuxcsrf.WithTokenLookup(element.Interceptors.Csrf.TokenLookup), + rkmuxcsrf.WithCookieName(element.Interceptors.Csrf.CookieName), + rkmuxcsrf.WithCookieDomain(element.Interceptors.Csrf.CookieDomain), + rkmuxcsrf.WithCookiePath(element.Interceptors.Csrf.CookiePath), + rkmuxcsrf.WithCookieMaxAge(element.Interceptors.Csrf.CookieMaxAge), + rkmuxcsrf.WithCookieHTTPOnly(element.Interceptors.Csrf.CookieHttpOnly), + rkmuxcsrf.WithIgnorePrefix(element.Interceptors.Csrf.IgnorePrefix...), + } + + // convert to string to cookie same sites + sameSite := http.SameSiteDefaultMode + + switch strings.ToLower(element.Interceptors.Csrf.CookieSameSite) { + case "lax": + sameSite = http.SameSiteLaxMode + case "strict": + sameSite = http.SameSiteStrictMode + case "none": + sameSite = http.SameSiteNoneMode + default: + sameSite = http.SameSiteDefaultMode + } + + opts = append(opts, rkmuxcsrf.WithCookieSameSite(sameSite)) + + inters = append(inters, rkmuxcsrf.Interceptor(opts...)) + } + + // Did we enabled cors interceptor? + if element.Interceptors.Cors.Enabled { + opts := []rkmuxcors.Option{ + rkmuxcors.WithEntryNameAndType(element.Name, MuxEntryType), + rkmuxcors.WithAllowOrigins(element.Interceptors.Cors.AllowOrigins...), + rkmuxcors.WithAllowCredentials(element.Interceptors.Cors.AllowCredentials), + rkmuxcors.WithExposeHeaders(element.Interceptors.Cors.ExposeHeaders...), + rkmuxcors.WithMaxAge(element.Interceptors.Cors.MaxAge), + rkmuxcors.WithAllowHeaders(element.Interceptors.Cors.AllowHeaders...), + rkmuxcors.WithAllowMethods(element.Interceptors.Cors.AllowMethods...), + } + + inters = append(inters, rkmuxcors.Interceptor(opts...)) + } + + // Did we enabled meta interceptor? + if element.Interceptors.Meta.Enabled { + opts := []rkmuxmeta.Option{ + rkmuxmeta.WithEntryNameAndType(element.Name, MuxEntryType), + rkmuxmeta.WithPrefix(element.Interceptors.Meta.Prefix), + } + + inters = append(inters, rkmuxmeta.Interceptor(opts...)) + } + + // Did we enabled auth interceptor? + if element.Interceptors.Auth.Enabled { + opts := make([]rkmuxauth.Option, 0) + opts = append(opts, + rkmuxauth.WithEntryNameAndType(element.Name, MuxEntryType), + rkmuxauth.WithBasicAuth(element.Name, element.Interceptors.Auth.Basic...), + rkmuxauth.WithApiKeyAuth(element.Interceptors.Auth.ApiKey...)) + + // Add exceptional path + if swEntry != nil { + opts = append(opts, rkmuxauth.WithIgnorePrefix(strings.TrimSuffix(swEntry.Path, "/"))) + } + + opts = append(opts, rkmuxauth.WithIgnorePrefix("/rk/v1/assets")) + opts = append(opts, rkmuxauth.WithIgnorePrefix(element.Interceptors.Auth.IgnorePrefix...)) + + inters = append(inters, rkmuxauth.Interceptor(opts...)) + } + + // Did we enabled timeout interceptor? + // This should be in front of rate limit interceptor since rate limit may block over the threshold of timeout. + if element.Interceptors.Timeout.Enabled { + opts := make([]rkmuxtimeout.Option, 0) + opts = append(opts, + rkmuxtimeout.WithEntryNameAndType(element.Name, MuxEntryType)) + + timeout := time.Duration(element.Interceptors.Timeout.TimeoutMs) * time.Millisecond + opts = append(opts, rkmuxtimeout.WithTimeoutAndResp(timeout, nil)) + + for i := range element.Interceptors.Timeout.Paths { + e := element.Interceptors.Timeout.Paths[i] + timeout := time.Duration(e.TimeoutMs) * time.Millisecond + opts = append(opts, rkmuxtimeout.WithTimeoutAndRespByPath(e.Path, timeout, nil)) + } + + inters = append(inters, rkmuxtimeout.Interceptor(opts...)) + } + + // Did we enabled rate limit interceptor? + if element.Interceptors.RateLimit.Enabled { + opts := make([]rkmuxlimit.Option, 0) + opts = append(opts, + rkmuxlimit.WithEntryNameAndType(element.Name, MuxEntryType)) + + if len(element.Interceptors.RateLimit.Algorithm) > 0 { + opts = append(opts, rkmuxlimit.WithAlgorithm(element.Interceptors.RateLimit.Algorithm)) + } + opts = append(opts, rkmuxlimit.WithReqPerSec(element.Interceptors.RateLimit.ReqPerSec)) + + for i := range element.Interceptors.RateLimit.Paths { + e := element.Interceptors.RateLimit.Paths[i] + opts = append(opts, rkmuxlimit.WithReqPerSecByPath(e.Path, e.ReqPerSec)) + } + + inters = append(inters, rkmuxlimit.Interceptor(opts...)) + } + + // Did we enabled common service? + var commonServiceEntry *CommonServiceEntry + if element.CommonService.Enabled { + commonServiceEntry = NewCommonServiceEntry( + WithNameCommonService(fmt.Sprintf("%s-commonService", element.Name)), + WithZapLoggerEntryCommonService(zapLoggerEntry), + WithEventLoggerEntryCommonService(eventLoggerEntry)) + } + + // Did we enabled tv? + var tvEntry *TvEntry + if element.TV.Enabled { + tvEntry = NewTvEntry( + WithNameTv(fmt.Sprintf("%s-tv", element.Name)), + WithZapLoggerEntryTv(zapLoggerEntry), + WithEventLoggerEntryTv(eventLoggerEntry)) + } + + certEntry := rkentry.GlobalAppCtx.GetCertEntry(element.Cert.Ref) + + entry := RegisterMuxEntry( + WithNameMux(name), + WithDescriptionMux(element.Description), + WithPortMux(element.Port), + WithZapLoggerEntryMux(zapLoggerEntry), + WithEventLoggerEntryMux(eventLoggerEntry), + WithCertEntryMux(certEntry), + WithPromEntryMux(promEntry), + WithTVEntryMux(tvEntry), + WithCommonServiceEntryMux(commonServiceEntry), + WithSwEntryMux(swEntry), + WithInterceptorsMux(inters...)) + + res[name] = entry + } + + return res +} + +// RegisterMuxEntry register MuxEntry with options. +func RegisterMuxEntry(opts ...MuxEntryOption) *MuxEntry { + entry := &MuxEntry{ + EntryType: MuxEntryType, + EntryDescription: MuxEntryDescription, + Port: 8080, + } + + for i := range opts { + opts[i](entry) + } + + // insert panic interceptor + entry.Interceptors = append(entry.Interceptors, rkmuxpanic.Interceptor( + rkmuxpanic.WithEntryNameAndType(entry.EntryName, entry.EntryType))) + + if entry.ZapLoggerEntry == nil { + entry.ZapLoggerEntry = rkentry.GlobalAppCtx.GetZapLoggerEntryDefault() + } + + if entry.EventLoggerEntry == nil { + entry.EventLoggerEntry = rkentry.GlobalAppCtx.GetEventLoggerEntryDefault() + } + + if len(entry.EntryName) < 1 { + entry.EntryName = "MuxServer-" + strconv.FormatUint(entry.Port, 10) + } + + if entry.Router == nil { + entry.Router = mux.NewRouter() + } + + // Init TLS config + if entry.IsTlsEnabled() { + var cert tls.Certificate + var err error + if cert, err = tls.X509KeyPair(entry.CertEntry.Store.ServerCert, entry.CertEntry.Store.ServerKey); err != nil { + entry.ZapLoggerEntry.GetLogger().Error("Error occurs while parsing TLS.", zap.String("cert", entry.CertEntry.String())) + } else { + entry.TlsConfig = &tls.Config{ + InsecureSkipVerify: true, + Certificates: []tls.Certificate{cert}, + } + } + } + + entry.Server = &http.Server{ + Addr: "0.0.0.0:" + strconv.FormatUint(entry.Port, 10), + } + + rkentry.GlobalAppCtx.AddEntry(entry) + + return entry +} + +// Bootstrap MuxEntry. +func (entry *MuxEntry) Bootstrap(ctx context.Context) { + event, logger := entry.logBasicInfo("Bootstrap") + + // Is swagger enabled? + if entry.IsSwEnabled() { + redirect := func(writer http.ResponseWriter, request *http.Request) { + writer.Header().Set("Location", entry.SwEntry.Path) + writer.WriteHeader(http.StatusTemporaryRedirect) + } + + entry.Router.NewRoute().Methods(http.MethodGet).Path(strings.TrimSuffix(entry.SwEntry.Path, "/")).HandlerFunc(redirect) + + // Register swagger path into Router. + entry.Router.NewRoute().Methods(http.MethodGet).PathPrefix(entry.SwEntry.Path).HandlerFunc(entry.SwEntry.ConfigFileHandler()) + entry.Router.NewRoute().Methods(http.MethodGet).PathPrefix("/rk/v1/assets/sw/").HandlerFunc(entry.SwEntry.AssetsFileHandler()) + + // Bootstrap swagger entry. + entry.SwEntry.Bootstrap(ctx) + } + + // Is prometheus enabled? + if entry.IsPromEnabled() { + // Register prom path into Router. + entry.Router.NewRoute().Methods(http.MethodGet).Path(entry.PromEntry.Path).Handler(promhttp.HandlerFor(entry.PromEntry.Gatherer, promhttp.HandlerOpts{})) + + // don't start with http handler, we will handle it by ourselves + entry.PromEntry.Bootstrap(ctx) + } + + // Is common service enabled? + if entry.IsCommonServiceEnabled() { + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/healthy").HandlerFunc(entry.CommonServiceEntry.Healthy) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/gc").HandlerFunc(entry.CommonServiceEntry.Gc) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/info").HandlerFunc(entry.CommonServiceEntry.Info) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/configs").HandlerFunc(entry.CommonServiceEntry.Configs) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/apis").HandlerFunc(entry.CommonServiceEntry.Apis) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/sys").HandlerFunc(entry.CommonServiceEntry.Sys) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/req").HandlerFunc(entry.CommonServiceEntry.Req) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/entries").HandlerFunc(entry.CommonServiceEntry.Entries) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/certs").HandlerFunc(entry.CommonServiceEntry.Certs) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/logs").HandlerFunc(entry.CommonServiceEntry.Logs) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/deps").HandlerFunc(entry.CommonServiceEntry.Deps) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/license").HandlerFunc(entry.CommonServiceEntry.License) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/readme").HandlerFunc(entry.CommonServiceEntry.Readme) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/git").HandlerFunc(entry.CommonServiceEntry.Git) + + // Bootstrap common service entry. + entry.CommonServiceEntry.Bootstrap(ctx) + } + + // Is TV enabled? + if entry.IsTvEnabled() { + // Bootstrap TV entry. + redirect := func(writer http.ResponseWriter, request *http.Request) { + writer.Header().Set("Location", "/rk/v1/tv/overview") + writer.WriteHeader(http.StatusTemporaryRedirect) + } + + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/tv").HandlerFunc(redirect) + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/tv/").HandlerFunc(redirect) + + entry.Router.NewRoute().Methods(http.MethodGet).Path("/rk/v1/tv/{item}").HandlerFunc(entry.TvEntry.TV) + entry.Router.NewRoute().Methods(http.MethodGet).PathPrefix("/rk/v1/assets/tv/").HandlerFunc(entry.TvEntry.AssetsFileHandler()) + + entry.TvEntry.Bootstrap(ctx) + } + + // Default interceptor should be at front + entry.Router.Use(entry.Interceptors...) + + go func(muxEntry *MuxEntry) { + if entry.Server != nil { + entry.Server.Handler = entry.Router + + lis, err := net.Listen("tcp4", ":"+strconv.FormatUint(entry.Port, 10)) + if err != nil { + entry.EventLoggerEntry.GetEventHelper().FinishWithError(event, err) + rkcommon.ShutdownWithError(err) + } + + if entry.IsTlsEnabled() { + lis = tls.NewListener(lis, entry.TlsConfig) + } + + if err := entry.Server.Serve(lis); err != nil && !strings.Contains(err.Error(), "http: Server closed") { + logger.Error("Error occurs while serving gateway-server.", zap.Error(err)) + rkcommon.ShutdownWithError(err) + } + } + }(entry) + + entry.EventLoggerEntry.GetEventHelper().Finish(event) +} + +// Interrupt MuxEntry. +func (entry *MuxEntry) Interrupt(ctx context.Context) { + event, logger := entry.logBasicInfo("Interrupt") + + if entry.IsSwEnabled() { + // Interrupt swagger entry + entry.SwEntry.Interrupt(ctx) + } + + if entry.IsPromEnabled() { + // Interrupt prometheus entry + entry.PromEntry.Interrupt(ctx) + } + + if entry.IsCommonServiceEnabled() { + // Interrupt common service entry + entry.CommonServiceEntry.Interrupt(ctx) + } + + if entry.IsTvEnabled() { + // Interrupt common service entry + entry.TvEntry.Interrupt(ctx) + } + + if entry.Server != nil { + if err := entry.Server.Shutdown(context.Background()); err != nil { + event.AddErr(err) + logger.Warn("Error occurs while stopping http server") + } + } + + entry.EventLoggerEntry.GetEventHelper().Finish(event) +} + +// GetName Get entry name. +func (entry *MuxEntry) GetName() string { + return entry.EntryName +} + +// GetType Get entry type. +func (entry *MuxEntry) GetType() string { + return entry.EntryType +} + +// GetDescription Get description of entry. +func (entry *MuxEntry) GetDescription() string { + return entry.EntryDescription +} + +// String Stringfy entry. +func (entry *MuxEntry) String() string { + bytes, _ := json.Marshal(entry) + return string(bytes) +} + +// MarshalJSON Marshal entry. +func (entry *MuxEntry) MarshalJSON() ([]byte, error) { + m := map[string]interface{}{ + "entryName": entry.EntryName, + "entryType": entry.EntryType, + "entryDescription": entry.EntryDescription, + "eventLoggerEntry": entry.EventLoggerEntry.GetName(), + "zapLoggerEntry": entry.ZapLoggerEntry.GetName(), + "port": entry.Port, + "swEntry": entry.SwEntry, + "commonServiceEntry": entry.CommonServiceEntry, + "promEntry": entry.PromEntry, + "tvEntry": entry.TvEntry, + } + + if entry.CertEntry != nil { + m["certEntry"] = entry.CertEntry.GetName() + } + + interceptorsStr := make([]string, 0) + m["interceptors"] = &interceptorsStr + + for i := range entry.Interceptors { + element := entry.Interceptors[i] + interceptorsStr = append(interceptorsStr, + path.Base(runtime.FuncForPC(reflect.ValueOf(element).Pointer()).Name())) + } + + return json.Marshal(&m) +} + +// UnmarshalJSON Not supported. +func (entry *MuxEntry) UnmarshalJSON([]byte) error { + return nil +} + +// AddInterceptor Add interceptors. +// This function should be called before Bootstrap() called. +func (entry *MuxEntry) AddInterceptor(inters ...mux.MiddlewareFunc) { + entry.Interceptors = append(entry.Interceptors, inters...) +} + +// IsTlsEnabled Is TLS enabled? +func (entry *MuxEntry) IsTlsEnabled() bool { + return entry.CertEntry != nil && entry.CertEntry.Store != nil +} + +// IsSwEnabled Is swagger entry enabled? +func (entry *MuxEntry) IsSwEnabled() bool { + return entry.SwEntry != nil +} + +// IsCommonServiceEnabled Is common service entry enabled? +func (entry *MuxEntry) IsCommonServiceEnabled() bool { + return entry.CommonServiceEntry != nil +} + +// IsTvEnabled Is TV entry enabled? +func (entry *MuxEntry) IsTvEnabled() bool { + return entry.TvEntry != nil +} + +// IsPromEnabled Is prometheus entry enabled? +func (entry *MuxEntry) IsPromEnabled() bool { + return entry.PromEntry != nil +} + +// Add basic fields into event. +func (entry *MuxEntry) logBasicInfo(operation string) (rkquery.Event, *zap.Logger) { + event := entry.EventLoggerEntry.GetEventHelper().Start( + operation, + rkquery.WithEntryName(entry.GetName()), + rkquery.WithEntryType(entry.GetType())) + logger := entry.ZapLoggerEntry.GetLogger().With( + zap.String("eventId", event.GetEventId()), + zap.String("entryName", entry.EntryName)) + + // add general info + event.AddPayloads( + zap.Uint64("muxPort", entry.Port)) + + // add SwEntry info + if entry.IsSwEnabled() { + event.AddPayloads( + zap.Bool("swEnabled", true), + zap.String("swPath", entry.SwEntry.Path)) + } + + // add CommonServiceEntry info + if entry.IsCommonServiceEnabled() { + event.AddPayloads( + zap.Bool("commonServiceEnabled", true), + zap.String("commonServicePathPrefix", "/rk/v1/")) + } + + // add TvEntry info + if entry.IsTvEnabled() { + event.AddPayloads( + zap.Bool("tvEnabled", true), + zap.String("tvPath", "/rk/v1/tv/")) + } + + // add PromEntry info + if entry.IsPromEnabled() { + event.AddPayloads( + zap.Bool("promEnabled", true), + zap.Uint64("promPort", entry.PromEntry.Port), + zap.String("promPath", entry.PromEntry.Path)) + } + + // add tls info + if entry.IsTlsEnabled() { + event.AddPayloads( + zap.Bool("tlsEnabled", true)) + } + + logger.Info(fmt.Sprintf("%s muxEntry", operation)) + + return event, logger + +} diff --git a/boot/mux_entry_test.go b/boot/mux_entry_test.go new file mode 100644 index 0000000..c9d1b0b --- /dev/null +++ b/boot/mux_entry_test.go @@ -0,0 +1,482 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "context" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor/log/zap" + "github.com/rookie-ninja/rk-mux/interceptor/metrics/prom" + "github.com/stretchr/testify/assert" + "io/ioutil" + "net" + "os" + "path" + "strconv" + "strings" + "syscall" + "testing" + "time" +) + +const ( + defaultBootConfigStr = ` +--- +mux: + - name: greeter + port: 8080 + enabled: true + sw: + enabled: true + path: "sw" + commonService: + enabled: true + tv: + enabled: true + prom: + enabled: true + pusher: + enabled: false + interceptors: + loggingZap: + enabled: true + metricsProm: + enabled: true + auth: + enabled: true + basic: + - "user:pass" + meta: + enabled: true + tracingTelemetry: + enabled: true + ratelimit: + enabled: true + timeout: + enabled: true + cors: + enabled: true + jwt: + enabled: true + secure: + enabled: true + csrf: + enabled: true + - name: greeter2 + port: 2008 + enabled: true + sw: + enabled: true + path: "sw" + commonService: + enabled: true + tv: + enabled: true + interceptors: + loggingZap: + enabled: true + metricsProm: + enabled: true + auth: + enabled: true + basic: + - "user:pass" +` +) + +func TestWithZapLoggerEntryMux_HappyCase(t *testing.T) { + loggerEntry := rkentry.NoopZapLoggerEntry() + entry := RegisterMuxEntry() + + option := WithZapLoggerEntryMux(loggerEntry) + option(entry) + + assert.Equal(t, loggerEntry, entry.ZapLoggerEntry) +} + +func TestWithEventLoggerEntryMux_HappyCase(t *testing.T) { + entry := RegisterMuxEntry() + + eventLoggerEntry := rkentry.NoopEventLoggerEntry() + + option := WithEventLoggerEntryMux(eventLoggerEntry) + option(entry) + + assert.Equal(t, eventLoggerEntry, entry.EventLoggerEntry) +} + +func TestWithInterceptorsMux_WithNilInterceptorList(t *testing.T) { + entry := RegisterMuxEntry() + + option := WithInterceptorsMux(nil) + option(entry) + + assert.NotNil(t, entry.Interceptors) +} + +func TestWithInterceptorsMux_HappyCase(t *testing.T) { + entry := RegisterMuxEntry() + + loggingInterceptor := rkmuxlog.Interceptor() + metricsInterceptor := rkmuxmetrics.Interceptor() + + interceptors := []mux.MiddlewareFunc{ + loggingInterceptor, + metricsInterceptor, + } + + option := WithInterceptorsMux(interceptors...) + option(entry) + + assert.NotNil(t, entry.Interceptors) + // should contains logging, metrics and panic interceptor + // where panic interceptor is inject by default + assert.Len(t, entry.Interceptors, 3) +} + +func TestWithCommonServiceEntryMux_WithEntry(t *testing.T) { + entry := RegisterMuxEntry() + + option := WithCommonServiceEntryMux(NewCommonServiceEntry()) + option(entry) + + assert.NotNil(t, entry.CommonServiceEntry) +} + +func TestWithCommonServiceEntryMux_WithoutEntry(t *testing.T) { + entry := RegisterMuxEntry() + + assert.Nil(t, entry.CommonServiceEntry) +} + +func TestWithTVEntryMux_WithEntry(t *testing.T) { + entry := RegisterMuxEntry() + + option := WithTVEntryMux(NewTvEntry()) + option(entry) + + assert.NotNil(t, entry.TvEntry) +} + +func TestWithTVEntry_WithoutEntry(t *testing.T) { + entry := RegisterMuxEntry() + + assert.Nil(t, entry.TvEntry) +} + +func TestWithCertEntryMux_HappyCase(t *testing.T) { + entry := RegisterMuxEntry() + certEntry := &rkentry.CertEntry{} + + option := WithCertEntryMux(certEntry) + option(entry) + + assert.Equal(t, entry.CertEntry, certEntry) +} + +func TestWithSWEntryMux_HappyCase(t *testing.T) { + entry := RegisterMuxEntry() + sw := NewSwEntry() + + option := WithSwEntryMux(sw) + option(entry) + + assert.Equal(t, entry.SwEntry, sw) +} + +func TestWithPortMux_HappyCase(t *testing.T) { + entry := RegisterMuxEntry() + port := uint64(1111) + + option := WithPortMux(port) + option(entry) + + assert.Equal(t, entry.Port, port) +} + +func TestWithNameMux_HappyCase(t *testing.T) { + entry := RegisterMuxEntry() + name := "unit-test-entry" + + option := WithNameMux(name) + option(entry) + + assert.Equal(t, entry.EntryName, name) +} + +func TestRegisterMuxEntriesWithConfig_WithInvalidConfigFilePath(t *testing.T) { + defer assertPanic(t) + + RegisterMuxEntriesWithConfig("/invalid-path") +} + +func TestRegisterMuxEntriesWithConfig_WithNilFactory(t *testing.T) { + defer assertNotPanic(t) + + // write config file in unit test temp directory + tempDir := path.Join(t.TempDir(), "boot.yaml") + assert.Nil(t, ioutil.WriteFile(tempDir, []byte(defaultBootConfigStr), os.ModePerm)) + entries := RegisterMuxEntriesWithConfig(tempDir) + assert.NotNil(t, entries) + assert.Len(t, entries, 2) + for _, entry := range entries { + entry.Interrupt(context.TODO()) + } +} + +func TestRegisterMuxEntriesWithConfig_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + // write config file in unit test temp directory + tempDir := path.Join(t.TempDir(), "boot.yaml") + assert.Nil(t, ioutil.WriteFile(tempDir, []byte(defaultBootConfigStr), os.ModePerm)) + entries := RegisterMuxEntriesWithConfig(tempDir) + assert.NotNil(t, entries) + assert.Len(t, entries, 2) + + // validate entry element based on boot.yaml config defined in defaultBootConfigStr + greeter := entries["greeter"].(*MuxEntry) + assert.NotNil(t, greeter) + assert.Equal(t, uint64(8080), greeter.Port) + assert.NotNil(t, greeter.SwEntry) + assert.NotNil(t, greeter.CommonServiceEntry) + assert.NotNil(t, greeter.TvEntry) + // logging, metrics, auth and panic interceptor should be included + assert.True(t, len(greeter.Interceptors) > 0) + + greeter2 := entries["greeter2"].(*MuxEntry) + assert.NotNil(t, greeter2) + assert.Equal(t, uint64(2008), greeter2.Port) + assert.NotNil(t, greeter2.SwEntry) + assert.NotNil(t, greeter2.CommonServiceEntry) + assert.NotNil(t, greeter2.TvEntry) + // logging, metrics, auth and panic interceptor should be included + assert.Len(t, greeter2.Interceptors, 4) + + for _, entry := range entries { + entry.Interrupt(context.TODO()) + } +} + +func TestRegisterMuxEntry_WithZapLoggerEntry(t *testing.T) { + loggerEntry := rkentry.NoopZapLoggerEntry() + entry := RegisterMuxEntry(WithZapLoggerEntryMux(loggerEntry)) + assert.Equal(t, loggerEntry, entry.ZapLoggerEntry) +} + +func TestRegisterMuxEntry_WithEventLoggerEntry(t *testing.T) { + loggerEntry := rkentry.NoopEventLoggerEntry() + + entry := RegisterMuxEntry(WithEventLoggerEntryMux(loggerEntry)) + assert.Equal(t, loggerEntry, entry.EventLoggerEntry) +} + +func TestNewMuxEntry_WithInterceptors(t *testing.T) { + loggingInterceptor := rkmuxlog.Interceptor() + entry := RegisterMuxEntry(WithInterceptorsMux(loggingInterceptor)) + assert.Len(t, entry.Interceptors, 2) +} + +func TestNewMuxEntry_WithCommonServiceEntry(t *testing.T) { + entry := RegisterMuxEntry(WithCommonServiceEntryMux(NewCommonServiceEntry())) + assert.NotNil(t, entry.CommonServiceEntry) +} + +func TestNewMuxEntry_WithTVEntry(t *testing.T) { + entry := RegisterMuxEntry(WithTVEntryMux(NewTvEntry())) + assert.NotNil(t, entry.TvEntry) +} + +func TestNewMuxEntry_WithCertStore(t *testing.T) { + certEntry := &rkentry.CertEntry{} + + entry := RegisterMuxEntry(WithCertEntryMux(certEntry)) + assert.Equal(t, certEntry, entry.CertEntry) +} + +func TestNewMuxEntry_WithSWEntry(t *testing.T) { + sw := NewSwEntry() + entry := RegisterMuxEntry(WithSwEntryMux(sw)) + assert.Equal(t, sw, entry.SwEntry) +} + +func TestNewMuxEntry_WithPort(t *testing.T) { + entry := RegisterMuxEntry(WithPortMux(8080)) + assert.Equal(t, uint64(8080), entry.Port) +} + +func TestNewMuxEntry_WithName(t *testing.T) { + entry := RegisterMuxEntry(WithNameMux("unit-test-greeter")) + assert.Equal(t, "unit-test-greeter", entry.GetName()) +} + +func TestNewMuxEntry_WithDefaultValue(t *testing.T) { + entry := RegisterMuxEntry() + assert.True(t, strings.HasPrefix(entry.GetName(), "MuxServer-")) + assert.NotNil(t, entry.ZapLoggerEntry) + assert.NotNil(t, entry.EventLoggerEntry) + assert.Len(t, entry.Interceptors, 1) + assert.NotNil(t, entry.Server) + assert.Nil(t, entry.SwEntry) + assert.Nil(t, entry.CertEntry) + assert.False(t, entry.IsSwEnabled()) + assert.False(t, entry.IsTlsEnabled()) + assert.Nil(t, entry.CommonServiceEntry) + assert.Nil(t, entry.TvEntry) + assert.Equal(t, "MuxEntry", entry.GetType()) +} + +func TestMuxEntry_GetName_HappyCase(t *testing.T) { + entry := RegisterMuxEntry(WithNameMux("unit-test-entry")) + assert.Equal(t, "unit-test-entry", entry.GetName()) +} + +func TestMuxEntry_GetType_HappyCase(t *testing.T) { + assert.Equal(t, "MuxEntry", RegisterMuxEntry().GetType()) +} + +func TestMuxEntry_String_HappyCase(t *testing.T) { + assert.NotEmpty(t, RegisterMuxEntry().String()) +} + +func TestMuxEntry_IsSwEnabled_ExpectTrue(t *testing.T) { + sw := NewSwEntry() + entry := RegisterMuxEntry(WithSwEntryMux(sw)) + assert.True(t, entry.IsSwEnabled()) +} + +func TestMuxEntry_IsSwEnabled_ExpectFalse(t *testing.T) { + entry := RegisterMuxEntry() + assert.False(t, entry.IsSwEnabled()) +} + +func TestMuxEntry_IsTlsEnabled_ExpectTrue(t *testing.T) { + certEntry := &rkentry.CertEntry{ + Store: &rkentry.CertStore{}, + } + + entry := RegisterMuxEntry(WithCertEntryMux(certEntry)) + assert.True(t, entry.IsTlsEnabled()) +} + +func TestMuxEntry_IsTlsEnabled_ExpectFalse(t *testing.T) { + entry := RegisterMuxEntry() + assert.False(t, entry.IsTlsEnabled()) +} + +func TestMuxEntry_GetServer_HappyCase(t *testing.T) { + entry := RegisterMuxEntry() + assert.NotNil(t, entry.Server) +} + +func TestMuxEntry_Bootstrap_WithSwagger(t *testing.T) { + sw := NewSwEntry( + WithPathSw("sw"), + WithZapLoggerEntrySw(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntrySw(rkentry.NoopEventLoggerEntry())) + entry := RegisterMuxEntry( + WithNameMux("unit-test-entry"), + WithPortMux(8080), + WithZapLoggerEntryMux(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntryMux(rkentry.NoopEventLoggerEntry()), + WithSwEntryMux(sw)) + + go entry.Bootstrap(context.Background()) + time.Sleep(time.Second) + // endpoint should be accessible with 8080 port + validateServerIsUp(t, entry.Port) + + entry.Interrupt(context.Background()) + time.Sleep(time.Second) + + // force to kill it because mux do not stop server with stop() call + syscall.Kill(syscall.Getpid(), syscall.SIGTERM) +} + +func TestMuxEntry_Bootstrap_WithoutSwagger(t *testing.T) { + entry := RegisterMuxEntry( + WithNameMux("unit-test-entry"), + WithPortMux(8080), + WithZapLoggerEntryMux(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntryMux(rkentry.NoopEventLoggerEntry())) + + go entry.Bootstrap(context.Background()) + time.Sleep(time.Second) + // endpoint should be accessible with 8080 port + validateServerIsUp(t, entry.Port) + + entry.Interrupt(context.Background()) + time.Sleep(time.Second) + + // force to kill it because mux do not stop server with stop() call + syscall.Kill(syscall.Getpid(), syscall.SIGTERM) +} + +func TestMuxEntry_Bootstrap_WithoutTLS(t *testing.T) { + entry := RegisterMuxEntry( + WithNameMux("unit-test-entry"), + WithPortMux(8080), + WithZapLoggerEntryMux(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntryMux(rkentry.NoopEventLoggerEntry())) + + go entry.Bootstrap(context.Background()) + time.Sleep(time.Second) + // endpoint should be accessible with 8080 port + validateServerIsUp(t, entry.Port) + + entry.Interrupt(context.Background()) + time.Sleep(time.Second) + + // force to kill it because mux do not stop server with stop() call + syscall.Kill(syscall.Getpid(), syscall.SIGTERM) +} + +func TestMuxEntry_Shutdown_WithBootstrap(t *testing.T) { + defer assertNotPanic(t) + + entry := RegisterMuxEntry( + WithNameMux("unit-test-entry"), + WithPortMux(8080), + WithZapLoggerEntryMux(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntryMux(rkentry.NoopEventLoggerEntry())) + + go entry.Bootstrap(context.Background()) + time.Sleep(time.Second) + // endpoint should be accessible with 8080 port + validateServerIsUp(t, entry.Port) + + entry.Interrupt(context.Background()) + time.Sleep(time.Second) + + // force to kill it because mux do not stop server with stop() call + syscall.Kill(syscall.Getpid(), syscall.SIGTERM) +} + +func TestMuxEntry_Shutdown_WithoutBootstrap(t *testing.T) { + defer assertNotPanic(t) + + entry := RegisterMuxEntry( + WithNameMux("unit-test-entry"), + WithPortMux(8080), + WithZapLoggerEntryMux(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntryMux(rkentry.NoopEventLoggerEntry())) + + entry.Interrupt(context.Background()) + time.Sleep(time.Second) + + // force to kill it because mux do not stop server with stop() call + syscall.Kill(syscall.Getpid(), syscall.SIGTERM) +} + +func validateServerIsUp(t *testing.T, port uint64) { + conn, err := net.DialTimeout("tcp", net.JoinHostPort("0.0.0.0", strconv.FormatUint(port, 10)), time.Second) + assert.Nil(t, err) + assert.NotNil(t, conn) + if conn != nil { + assert.Nil(t, conn.Close()) + } +} diff --git a/boot/pkged.go b/boot/pkged.go new file mode 100644 index 0000000..216a320 --- /dev/null +++ b/boot/pkged.go @@ -0,0 +1,12 @@ +// Code generated by pkger; DO NOT EDIT. + +// +build !skippkger + +package rkmux + +import ( + "github.com/markbates/pkger" + "github.com/markbates/pkger/pkging/mem" +) + +var _ = pkger.Apply(mem.UnmarshalEmbed([]byte(`1f8b08000000000000ffecbd57b3db4892e8ff553ace2bb403ef3ae23e143c401882200002373636e0bd210c616eec77ffc739524bea31dd3dff99de7d9114222ab312e52b99bf2248fdbfb7aacf87f9ede7fff756544bb9c67f49860e9e86a1a9b2ffe8abbe8ee0a9f98f6edddf2d846a7afbf90d76e76c9ae174e88b7ded0f781ba6661ea32483a7e617e34f6f6a370ed3728d96f2ede7df2bfad39b1975d9dbcf6f53f3591486e4ede7b76b94345191fdf4a1fda99a7f8a7e9a9768a9929ff2aacde69fb6b24aca9fa2aa9b7f5a869faa3e69d734fb299ae76c99bf9854fd32fc34364536bd7d7abb4753912d6f3fbfbd7d7abb0dc3f287fb62444b52befdfc7fdffef2f69f9fde9c256ab3b79f9769cdbe08b72c9a87feede7b77e587eaafa7989da364b7f8ad7e5a7e815556d14b7d94f55ff53bc566dfa53122565f6f6e94d1ea4f736be97fbb95bfff5d1e6bf14c37b2d9fc7ef23f7bbd1eba2a989a3259be1cf9dfacf4f6f42367e58c56b5e0d6f9fdee263c9e6b74f6fc9d08d5336cf70de464bf6bda238abf143ee97a8eab3096eab79f9a2c8f68fd4748ccbf03501479f4bfc2c24d5587e8ce71739fd3e339da36f4296fc5a4c319244d9bf51c055bf64531fb570966ed194ce7f6dd6b6d5b854c9374dd945df495f6f9fa23e5d97aafd3b59f31a2f6df62da34bc96fc2fb7ddf4909f19df07d07e632427f256124f52b9944b1efe4bfaa7269bf1ba79d44d85f4bdfdada45c9f057a6f0d854ef2b31eb9321adfae2bb241ccd3dfabd1c47734611bfd2547d341ddf6bcaecfbd2e0fa7df97e278f59f72e4ed330bd3724efde17c577cbb018e235cfa37680cb6cca7e9df7d74bf4b7327ffff6ef47659c7fdb746c8acf43f3bb36f0bca41f435c4673f9e502275382bf4fdfd71adf7752d416dfab9271fd5eccbb651ea6e57b559f2dcb1425d9f7ba61fe18caef55e3d0b6dfcb7f7dcb94e56d962c6db5fc4a3d577dd166795b15e5af6a9d8f3989da16cef62cc9fad7dfcb5afb8f15f455bf64f3d20ebfeadddacf519e9559947eccdb873ba906389f3f5fabe1cbe6fa7c5bf7eedb3f5fe0b82abe2597f997f4978dd5555df6e502776bbb5463f431681f8ae73a2c593a4e55bfbcfbc9b74f6f7db67c7e85cb6519bf4b7ebcfc32ba5f95bf34ff8beedd858dd3f0e1bedee5757acff998ed61fe18a0b74f6fe3e7b6bf5fe077affb45fe32ea1fa922dbc7af09783efa257a1fbf69ed97cfddf992829362f84efa3a98d132741f3eeb6f72be0cdcdfe8e7e3bd915f16d4bc4cc9f03193f332557df19175f4c997cbb7e2bfccefdba7b72fed5afb2a19d2ef52f0bae428f56b99f910dfa7fbedd3db2bebd361828ba18dfae22fc354c03bfc8bb32fa3a48c30e48f598d437ba03842fe8ef5c7e57d77fd51bb5f7cdc6f19afd32bfbe58de337ecca26cd7fdbe26fdf337ec3f8777afcbe00d37e7effd765f31c15ffa8b85f2df162fdd842bf6b374ec37efc8e210697639434bf6155a57df41bd9d3b0fec3899a8ff98b4bfc7bb9ef3b119eb3649d3238aed26a5affe1687e982e53d4cff93075bf65f4cb1a7e2ff08fd8f5efe5fde7a7b77b362f5f23ae7e6ddbcfaaaf61d6679531a4ef8dfcf9ffbdfdd1c8d588aafe9760f09f898fe5c118d23f660d17c35fba21fdb8c9cba6b9fa8835d1bfa0d4db7ffff77f7f7acb3f77eaf722f89fe1781816f8737cfc6efe1ef9bf5fd36c89aaf643d57f8ec3bfd87c7a9bab337bfb19a5904f6fddbb4ff91943099a600894403f34fff5e1737e7ec3100cfd0f14fb0f1cb923c8cf04fe334afd85615996c1191c42989f91770752cdff95be8fd0e7c17af776ef4c91bdde2ba0691ac3f08f09f8a890a1e94f6f665bf5cddbcfe4a737b51fde7ec6100263109cfcf4e656e9dbcf24827e7a93df5318f2e9ed96be17847c7abb46e97f25c5f05fc8dbcfff17f9f4f1f73f3fbd81f786ce6396bcd7e9bc5f508a4068964259e6d39b397f68109665318465fefbd39bf18feda95fec7fe920f2df9fdef87fd29eaba6a5fcfbf730184592bfdc43a21441602483fdf7a737e7db6470ed9034f3477fb9b6f93c4b04f25e95d446c5e70c39eb3faefa3c4653f691b4bf24df07e63f3fd6ce7b24ff83ec7e90dd0fb2fb41763fc8ee07d9fd20bb1f64f783ec7e90dd0fb2fb5f27bb2fbeecbdc54df14f84dabfc2bcfffef496464bf4cb28bc87fffdf2adcc6f777d54f84f0024fc39b2fd6d8efc62f3952331e69fe648fa2f084ed11481a0d4bf0c92c4379024181461ffcd2049ff026d188ab0ef1487fc36487eb5ffa583bfcd917fcffc3730f26fd0934649ea3b8c7c9f8b1f18f903237f60e40f8cfc81913f30f20746fec0c81f18f903237f60e40f8cfc6b8cfc05f6fe6c9a84ab64e87fe7b3c9cf26bf20254e62ffbf901241091a47d17f192951f4574c89227f1e53a208cab228fb4799f24b0fff28537e33ffa34cc932184b919f5be47c9b8c1f4cf983297f30e50fa6fcc1943f98f20753fe60ca1f4cf983297f30e50fa6fc074cf905f9fe67c8128ed6b41afe32f6c5ef3cfffad5ecdb23b038fa0b681218f2770913a3ef18fa33cefc8ca27fa198bf41cb3c6ae7df614b1c4719e61b5bfe1a2de97f335ab2df3df78abefb30ec1fa2258562188bfe624f31c8e73f7f902d3182221184fc6db6fcc75538df4dc02f70c9fc4fc3e5af3e54ff2bd0fcb638bfe67f66c9bf8f7fdfd8eef35aff82765f96c7afd9ee7b62fb6cfd57bee333887d732d3fbccd1ff036dfb981af7ee7adf238ebb62117b9180000c074dc52740b0080f02e828d070100807b8057a7bc2b3839e5eeae08802e5f79782f391b00c073b5236926001ca5150014aa0dc0f5bd3c1e500080f40e00b0c6f752a90e0020e17cb2b622f3515ea7e937c406f026c0e00a15af28bb7fe8f19b76775d8528ec50b20d8590118ddb00e07c53bb89921b99f4d279cba0486eb0c3707f5a1beaa4e68c4d376d9d5b0cc1cada03832739ec30faf57d6cddfcd2979c78917981d2ae723544b38c520085c5aae2a18a57259ef2db4b1921e2b3b6d5ae98cc189d1bfa66e2f2411d29d9b1edce62721fdceb2c188d70d63896e9cdf6c5a23bc4c0f8d5ba9b7d61fbb17f5827ee4a08025108323d0f845b6e6323df25cb215aeb102a24c3fba3a50ba39695172e2fcfac345d30046663cc3959b2f9559bcfe04e5ff08088c86b4ca52cd4428def565282e632222444bd4a7b3987dbf5818ed47ee5f81e2e3628b6fa2ed7158453139e06a57a6b1374d7434da9372d30852d60d16b31af3d89a75e23387ccf29766d698163cb62db1136232226e1f3a17a496086395420a8f660d7e292dc7d676317d2570e8f30e24ba9a1ba2c7be00e0e08f00a289ba4d9471e93cd3c15af51f478b5aff77cfba16a60f3670702db854ccaa7a5b5c272e9394d7518e47abae76b381e817b297624908d674e0b68db43908edd28c1e657a937fcdb52b7fe840dc7fd02e3707ef1442e5505236bc5ebb37c41170daf2d98855c836f8ad6b85f7c9bae46bc59b5bc6f2592a0e579c6805b4df683ed0f9fc1d0fd868d9e155d0f5a9e70c0dbf3d93a5610f9149804e73cf25662e45e725560281c09dd478462f723af7c48028c850f2c6fbf7bb751c663b5c5e7e102d3d340d6e8ab2d3380941c8f73f709c6685abcf0183b27724286adbd3d2524744c0bcd70ef5ab0f888dfee8f198efbf678a068f8be57d02997f5125fa0469ae05401634ecc079473ab68531a2b6129b66eafa7824999ee0156b15eb9ec7570d2781d1da57e6b01273a0f24cff2213de1d52b2681a1fb66e7f841665c5049f68b92f7fa7917dbdbbdf6e80bea5b2d352e2d233aaf00c9f629ee4e122daaeb74ab43502d2a0f8a90dba39cb2dcebc2c193f57a1cfef30102706a048928b6b6f12a8b7710aadb0993d172787f7a0906b82b16d009e163b44ec9670466c06fca065c71bac61b28d17c931b30873ee0894700243ec1514da35f62a9eae26b824173d2b9c31f499644fca472bb54bd78ef89a2cd02087e65205ebbf26263d7b975a12c486b4cf8e9a7b43a169b4da5355acb62042117fdb93fe38e4ce97608fcce966189b5b72174e4d3760eafa6822373a2bdd630042e036a545cdf1ad87d2a7c77144980952f1a0e3b15a65ef2987ba9b9c30f742d9667709196bcb0e76b278eb11998335f7389150bad91291ba75f08340f1f1e7a27e893ddaec9260271e00ea74662001c0012412d0d344572fea86d687e64e8352c3c791a4e21d887a21439c1c68134150e21c95c52d88d16f6c6f618f88ad5c251ea6d8ebf6489186ca493ec9b339a0ec3bab4373c58720b15d571b8e0066ca7caa187645e6c64f42c8144e68a2700bf26bbe6512d207cc11b08d82e1fb11180b0e89430f36f4edb17ee60daa019ed43052b2ea88b14dc9c46d4ccb56bb58b2d0c12e0f384b0c4791b2e1a64e08a6971c3859e823a01327fc9a1487f6d03487d8f92063303efe51e59743b975a0d65b499cff0300bb30e169d8b28ec76afc2390850368faea9b8d26b8e8c5d7b2d19173119c8505feb2b5a97d67e8a1bfd28cf1375f6982328b9280dbee054db9d1ba026beeaa26a2300dd584631aedb4970ae1b965b265fb73c92c0d15aad1987599957cf37158cfead318593c986ecb5f6121dba5e9145558715bbcfd5981c049a0dd8299ce4addb72d5486be26a914bdd769ee670147eabe8553969147ac88f73c11f5be9e762c29bdd2551c7a940a8256070881af9083ea1e79ca1e92d705c8e0757910a3a31b29aa6a9217f613c02cb564924e6b3bca228be2c95f484eef747d0ab577cefdb851f7d2c5ef97b51c28ef6d0fc7bcd8dfd2d6ff88eb9bf70426df4412f583ad06cbde442499f17e8ccb04cd0349f1dbd739858214f512ea1e882efb4f7f755ed71937ce5d6048f5b6b75e611fa1212dae0300491d0ef00d1ef2aea09ea6ed5e0b46a805f4eb05935d8da162afd8ff77a0fb9792512ca1212dec725c66e63d837c0a8c16ef1c866f2c8617af661dc87cd3887cd3ce6cd1086cdb0125ecedc8fa0c2713deb7621f94055ffcfdb9f473d719434bf0f3d5fadbe320fceb0ffcbccf3effeaedf57e6c15884411816fdc78f68fe6bcc83d20845d214feaf31cfc704fc609e1fccf36f609eafdbfb5f409edf4114cc4eeefc9948a42711f9bbde663f238aaa2c7e864e2e9a043089d231463918731bb02a7651ad6a18ffe17b6b2a8e08b13c820ca3e60062cd1754dc152cf54f7ed0d83914042c7504da2c6ea5be9d9d6b8dd15e165670639282c1edc054c296adbb316b4d06d75ff3c66a11b2afcdf84a380e47b88d2159923cfb35c72d8625ef0da1ceaabbc4b2a8fb2700af11b72026e96fd2356f941edddc637ddc6522ad1bb932ba234d42a32d3be0eb6bb5f088f02a5efe4963d934a58bb4285206110401c9a30f612ab2071c3c293687a21604b9f87d870e4bcfe332f1065a171a2598940dbde27e894da4adf2d2112a56773ade61f502b29cced11bba73db0cb3acfdb6ba0869cf6c705e1151ab5e200b5d40c00794c83dea1b6be1fbd395462bbc49d7f0c65dc35c7839e5a8082b76e3b82badd5c097bbb23db540e35532a3338fc8fb89a85d29be15ae1fc05a87a39a71ebb574cb78ee5abef65818886cf271ef21c56a0536b1d71b2b3992ab1ec225068e99c96f9ee1071ac2de0971abb2e331a44ec1dc338831791955a77007998167827eaf914406f49a9c2b9ee096faacf8a722dad2c923ed9cb09584dfc8c78476283c08bb4c8413a2f3a0e00e522a76e2f132c98cb9ab39b83c9fb30cf19aab0a7be6304a9db42b6941540714bded4c9d2aa59ccbd7eb73c4208f81e16aca0eec6490be61ba4992852ecd3232d45cf5d907168c1e0f51641a7659d0fe728b20065b4f451b7c4240f26c86c80da6c3ee66287a00551152f6cc38d547e182e2a23a686f5c721d4f895e9d997832aff0feb80a277a3f0da65b46fe35ac779b0e2c864cfbfbeb164b9d368ee6c57ce08f86bdedbe375d8317033f54bb4ed2140edaec6a26721bd826441e11af49344167d808aa27dc8a2eeb4d139769667034ba25061afc386a65f516883c7cbebe96832372078b3458c5182f8d8031ab3786b26b0a5c7e32fc8569514394c593cde3c1ae133ae1d4c354d4dc44f8b4a5a2e6aa32571c475c8dd59bcac65eb4ee5be6fcf445aa51d3862a39121f8964a69518865467482902fa9857ddace09884a7331fd23edf6b4a1dcfd882fca8147d75d21325c4ab815c964224e31c8de8dd4bd0a36ff8fd64b729d7d98ce2f2785e843d7d0ca94d50cc5aa6f6381676ad869c4fac531693da7d5ef2a53f756543c583cd1eae0489a9a0d0636a9d049576ce8b152aaa9c8eaae8cc19d9cbda8ccd9bc308722ec5954631f643422c2394826b3c2cc6d51e94893c5f7b04775d7fd4c1239bbdc9445986cad8fa9271d4c5ae045bebc4aa9885b3533007d1f6eb4d2d568d7a5138dbb60535400cda6fce06826469e6b032cfe8eebf1ee34953a195cb7b685b5a1ee2dec0834ca8a0d0524f79bd4f7c568cb421e42c0daf28a126178e6dc2f5a16035caa76e778d77127ae4ee99824676daaeb52b63b64f7de3b0106a0bba7e7805245c7ab915ec6abc1a3300b5068e76228a4757c828f3d223437adac031638a7fa8852956e6303c56c2cbb84291aba51c586eca01fa002e279855176d15584e14336e2e29eac0e3f59e7e163706c84144cd6720f89222f97937f0aaa58659eccf8f9b8f720ad7eeb5932189202d408d13d23390e20e3cf1c23c8c4aa66ea17d9fa8484e4610e4f3cd85af1328063c40c3ca1fec09ef1acf48cd52b32f11393163df3aad7979a1b4d00e61c02198155e9ea2b33987063cab981f43a7f13de6f869c9dc115bba9ce44b12941a32b5c565e0275ff008422523b192af1cbdedc36dae34b43e006723ae6d52799ffbd6f0b8609437eaafd4d442b8e55125437be462e653eedd1f3c9bd40f91125b47c84aaf0157c8c6dc8aad79789f60901ae5d587fdcbe1e51fef88622bdd1b67b53b9eff13c3f574487e3f5affc5e86bb0ce30e4ff72b08efe69c13ac3320c8561e8bf3758fff6241b8be1344332ecbf16ad7fccc08f68fd47b4fe6f88d67fd9de7f66b06e5cc4bb68d17997011b00eef55db09e605749745d98c6322ac5d2de43dc60ac24c8abbc324094ad910d09518d47ed6777f578a42e66433c3c60892da494269bd8e172a0c0f57db85b8fbe382a8acad5b20bd75b5d04a2d46b5448f743b64ecfe9392dd4b50f6fc1ace9e9f3493da76962f139673d1a0733dc74feae5de457756add3dbc9735099fe0ba15854410c7260fa68c27860965f68cc8564234a465be26c2baf3dbaca739918335832de5241152e1c690e8299d5b346b41ac6c422c7a7aac4436791796367d3ae1b74c27f0fd95854c6629d9b29063171e2295c2538ce3d3eb4542104a37fc06146bb0bb40ee0ca930440bab6265f0075acaed28e955b30a6e4fc92e249ca6c83acc1e154e612687ad5545270fa98ca261d7b6b90a034e692a67b01416841652a5a72d910e0e1a53b66dce7fe52fe2c2c44276068cad65d7bc8ec28bcf64347497a8977ea04c9e2baa180079a99345b37c316ad68b4f0cb2aa9462d932504dc7de6d82218dca54845db1f464e0a54f5759b962cceb7aa283930a85e429ab5d56ac3347138ffa82a617db494b9c84e035932f37ac4e634c7eae00a3c33ebec3d79391b82bcb18f82151ccd539f8dcf22dc2d96a821cb09857edd778d63775a034cabc95065f595c00120e23a012dd20e1b8f03cb8adf8447178fcba50d780c27492b5a030ef423681f0c7b2537eab6fc4a29714bdca0d7f14e0a68ada387677e3b994f68d5779242c325c8e0a7e071c1d078a6adb1d8f78c85a6280575e1ddbecf9eba1a323e5b763de4b7bf2a0bbc32a72be9011ac4088eb022d0080c333e56aefcdd1d72ad712382034228a3f4ae8c4545b0509075d6bf1a80c891576acaa3c67baef8165916cfe88b54d66e6a3e10d91c8c00c869699f74b56b0e47cfa54f7741c7399366ca157452825dca11fd92d919887a63e23fcee4b2bcdeec49375296675718da529cab0aeaf1d0ac1e5956edc6dc5e40211af25441950e91d3e8f5537a08850dc8efa952d0c2e2cc41214370e5c95c148e3070ac994bec61ddb0939ac53231afadeb94973d108c9f3691d6ed52b85accf5007f3e0698fead2f0814b0f1987127d91bd084639af9ad00f1686cef148f1766229aa30d5ad0f43eb24ca4876cdfb1dd2804e5ddcfb31b2e4a0be0416bb3268353450715ccff94a11bb22eab65a6c9d6291573ee8f8b14a7443d7c41b01e56a8d62747aeb482c7d4d1a06d9061876c566360e042078b6b126d7a2b047d11d68763f7865290fa3df36f5b973567dc4d8f20a9ff88b40b4a77b28a5b98ea520daf1e5f61a5ecc93748b762d84bad93824df182ab510a501c64ee4afd9820c3dbfde558e38aa46949ead5bc7f2211551e1f8272ef2076214febd256c43906e00ac37ff2e1a6925919b7b1b8eb2b647f6720b2e905e9692ecf38bf7445dbb4c1ff74e78f928c909abc6532bba8d1a6d67ed998509dfd297a92d833a89dbc936525e620b243af99bd406cf9a8f95ca6d2b4f8b4567401d550f65e116ea401713cf7e92fe856bcb25e05efab62cd7b9e3d6237087cbb06991e044fc7507ea7425ac0e4b0127d94fd63578ecd44ab79a88e8e5455558bc72fa51fa87c01618fa3867bfdb7644f590fbe906425e718603e275e79716e7704b2836590c5c1fb1e87028e612ed6f0348b5a3b8f4a864f233634bb436e3b64e1ad7ebe0a9b7429250bf70c1d61687bf2cc17813c361e5e82bc8b6c0554bf9d9467d9fa3990ec4f94e65302818f3799582c52ceba7a41677332b4d88e05ee09ee3d16b90c60bad05cf8beadd0c618ee582f35cf6bdcf6e293e97611026ac8a05e1d9cfb89086237b4077e4891d32782085f0a03644b44381ba739717d25da3763d0e76d1a99bc1cdb1173cb51c714ca072a96735b4372c47615e8edda1efae5df9be6ad4857cf20dd64f0946ba9c2db43a0f94a306d280f54eb0834276b34e432431bbe9ee8309a7f1b018449054ee269845193a66799484b36ef2eb81dc67f4e65518d55c8e294949db342130dd6ffb2c2c3b45f0d375101db0daac7b0508b8cd3bc29968736900b2f2cba03c6a1459f4c57e08101ebb411d64f263d1188b6cb41bf5b2e95c20367eda21eec8d4266c86932ae4b1211ae4952d8b38cffec3a99ce7e2f2497517dae4a280547e18d232c60ae52b80d66da0859710512f213236569ceeea49a8b264ae94bd20551be07265879cb4a5a93ad767925ab5c539f2c289352fed8754b04f4bd162a4615d5403182327370ad4c43de0c50d5c2e357cbe73937611ef73508080f262e0e7483ff2828a9c4d318806f00b2112ee3502b24da840ecda6a27340fce7b3a37edfebce7a06bbc7a9ec3a60aaeeac9161b9080a802010ffda221f82bd33fae3685a78f29870f08a6dcc7e308a72edf725eb8d6d8cb9b706b41f5436d18a9ac4ede2e00b0813232509a87f7b097985cde19fd3468a8b9d2715c85eb9da8729dc5a1fc1e2624ab32a2aa086c79eeb6038ad73681b2142829bcdae7061e367f0d05c6036807118e2af6633af503712d1db11435027a78a535e4100b03d3505f8788ea1d996e1fd197f64edc53a31545f17ffecccf7cf2aacd7e9f22bf5a7dc54892fddf7ece8dfaf33092c2689c41feb4e7dc508265088afcd728f263027e50e40f8afc3750e4d7edfda77ee6e34acef008d6d79dda00e0d2f61b46bacb4bb9bb2e3c907d37672cf006894d244103d205a01aaef32f02f87b50889334960f06a4619aaa4bd0dc5cdd16d5450adac85c77ce114b15b9687ed0cae85394805a0c9254ddccb8233b6178ed045bd62789d231655f9e6e46cd770cdb59b6cfa13c203670a555d90c43e7692930096b92e68df04b5a7d1de8faf3625f676c121e0169535ca92c8d748107c37eec3a8adf499482182a13a58a4caff2241e6996affdb625571791f7e6420c3c4b071892bec621ced83a5cf1783de689421eeef5b43a0c4ae0a7b064a4aeea1599531acbd0de1d624f16771faa467653d6716dc10d574ed010f944f6f04a9b2492d20c50237e7b4a420d299642c33555b00f7358a01c7af86708e7569faf0fa1536d8d7a12baae56516129edc04f561b5fc38a0c2eac7a37dd3bd2fbf34c3f33392b1e797e606cb566fea3f055c5793d6218835ee76d7588b33fecea4160dcd3b1b99bc8eb241e2225434458789f01ab5f2bbb2890c915d54173f8728e61446b659bc8afaade4b7b46f749377a0c09432f85be677cccc7826ea93db84f2c7233f3c0b06bcec3bb83339a0d3c79b7980735f4a4ea71521cd8d26ece6b3ea8729da9adfc71ad073414d54db374759397844c2f6a4b683de05ef058784005cc092b2ceac33b7b4f73627e7a342ee0270d6fb82ed50f3b8457dd414ca141409c80bd944ac5132fcfb9190ea52e767b748df959ccc51ef68318fa121bef346eead90e938620daf04a8f44d26fa28eeacac9331b76714fd9ba9407c3b58460d2ac15eecfeb39d3d59164f9763d13c58abbbed15e2391496594f646e3f56e5ddd5dbb9e01e93bc46d9aad01b35dcd77046f13c160b22c9a8977be4598f248e322bd5c1e4e17d23cbde20b13017d46544da3a695bfa3fbf8125b699472b508226fa03afc3894e91e362aee128f9b2776b9c399b67141074f93d5d1c08c86178bc723c9b8ecd0d4427549f39eafe5ea209caca61a3c8ac24c8cabf704226e2b2772cf041382106818315a7ac6b1a8093410b96daa7855f6d9c5075df52c5e1a7d4fcbfb2842981d33f79b76bcdc711bbdfc75cfb6f65a6c2626576c90c6f7db2a3835beedd12e4b021f634f762737e75a2a042c92cb8327e5c5b49d061d871b52042da3ac3be617835f327732881c6195fd43dbf52338d75b02dc3d741cdceb94325e36117b1259e979b52316962ab1c6129b669ed903f9e24a5999a28013315fd464ab2838685f6cc838a6e8d46faa56d5d618a94268db5c96042d811b69758f5cde79c8bd68b76361b61a78b50fc10feffdba245771c8ee5ac86d9a6b6b08af17326aac987a0309bd3af8fe289ce629a08f6d00d86153b08368997aa55fb572e187a2e5ad0b05109cabc58c436a613be3aee6aa381c685f1c662020a658dbcc2bc5382442d0b242abe18226fce505a0481d24d5158fddb13689990c2c749006051742232dfbc6f3252606be90935aa81166db02d557395453b5d76394ae441878a64d633defc2119174840247a8cde9231c811dcf67742066616876fd82689808e9dab5c2343528089d645c09a9048bf6e8ba58ccd3b8b84503dd9c0b96ee954d0ebde599f2802dba215ba6fe144371e42e08b018e10e6d695d64cf18a39e9bf58288e871b8e056050ee05f1b41710ba53f9e549f620a806a8a3741b3df47c37c2d878985a00734944b382f484c98e3bacdeb11e107a4076df90b09db1cc3d01c77e04b2e43f4f3f1746e419e1a7615aaa59eb0cbd405b6b51ae6b30a94a79aae6cbc8655945472a88b69d13b772bb6f641e9c31668925e1696f0f4adb33d9395298aebc2e062735e8b88c28818b40618d7c721ce95d3c8362376803e3c655bbce67a6acb0ee3cc559e67a3e011f07202de0a380d00e63ef842779a48051dce33e22c9e25da8067660dd4046c52a1f32c049bf3004f5933e2347c098dec96e2ebc442d727b5e235031bba694e26f6aae553af58a8bce2d9844f4f50ced1b06ba0f20198858ee9723d247bf215f45a151936120da33aec118a096d3cb170003d1c3236a29cef39002bc0dabcc27f4114e043fbc846081322a0d820b65af82c421b639f22dfaf33c622a9d0baabfbbce857a1d26e94c2bee04d8e9dc2832f17b053c5ff2cbe0c6d9a4d7f0060bed97dfb9541f47f1b61feddbf2cf8f527ea699aa2589c44c93f0961708444088c20fe3584f998801f08f30361fe1d08f36d83ff8910b3d9220f4415dd8f5c7cd74be85788e90cf4e5496e5092ec69e166ef57bc732b2ddb1b8c1c491cc2e08a877e83e41b17457ac7dd38cfc2b48a44496cf0e3f608212eb33bbee4a4b1a28c4096e43d7544c89e34db172ec183336a1e4985f13c997c229a33bee429d6f1cb3ddbafb4a659772beecff3b5d234c4b024bbe91d761e3012b4f780326b1fdbd1211c0bd67b9af7f6249b13a5d2ebb3d72a5033999577960137f648a6aa2c22e2b807da6ef43a455a6dbe926695612a5f97443cc53bcd583834792fca2d927bf1d0c876e8b4e7c6ee4838f7779820f0d09d3192d74fa7244286d9e01cbf262f188aad27d037da722356f1293679f51216caf766ca959df1065c6c317d05a01044eb2940ec49641a791346dc7d4a76a87085b9e5180dada35732e6391feeeb803c6748f5d1d39e161e5e4e51cd95dbbae4573a1c61f4eea259d891acaea0407ae977da0b9e12580d188e7782a1a010e842ea08a1fd2ce906d5f23c7fbc9e14e5932518d4eac29bb7f5353c60fc46ea9e4e2b23d40056a9619bd24eba0bf6b206a21817a71b4d362ecbeae9e5f50daa753b9fee8aa19fe7d382e13804eda0315cbdb89e62b58f4a6d2e3514beb488348d47cc5ab3571ac702d5b965d445c5ab967817cf43247656952c4569b242131f3a81eedac02f82245eec9b7b795d0d5c2715d53dd8fc71335462505b6b1cfb60d6448b2986a6aa533fe1e50237e9fbecd503930669b6f6b6c3c11bdc2b0619d2ccd8c9aee3df5e7c2bbab64b5c5f89bf6489c7a093c78c8fe94e57bbdae4de829524478248b83f6f92d45f3db07a7b1361f375430452e4ac64c65f6b2109754f6772b2114df144e27e87021488548493b8646696569c600ed6f3c9fadcc263bdb0351a0b0544abbafc222df25d80fb02768d59af882d7d6087ca2aa9da2a60b798c7aad423d7a3eced7121fbe74d07a07437eb7d0327576132cf7d030f78ac8a3a2551356a94a4cdd67baf31b420c44b879241c1b7d20582d922c2e305152926a234b3b33a156ce7d5cdb295011b72a58f2c8fa7a3ce66e24942ce881fb5b9d07198edfc0af857bce0c92b9ff194602efcb1cfb0cbcc53d55b28b178c395a891621826491d1f97ebed694245d4b42a590cbb49f8a5f65063883e8890b02a74a20b5397d1c97762c75e2f54924fabe5be240532ec4b24a3dbd93d2cbb99241acfaae2e29fd912cc12b0536f060182abebb9aba9e7f21b3a47d6dc3605a5db4aad2bfab9f9e1b018d96cc68572f2c7e870928056898a5b936b5e62c4b8b19bdea219819f1eb8717cb16a33d94d85f41c6d8eb6452edb84045018b5fb7be1ccac01ac019c8357482421342024936c7ec131a7b1e281500ca00a61a6103e1b94457d5e125e6a93d29b2c7b59b990e09e4f02d817a09bb5730810c35dae9564035557328687e3fe62a9a0f4cd87e2380f20f877a25bc038007501e9b5bf2c89ae4ff40eee9d3f70e2b0a79979653ac5227234e790632ab8690b9491229feb49e23449ac1b89f644b988f2a06a42b8c2a905d247b79ff45a9d34e34c763a5759e1dcb01c96108753b9572351c7e510f8f5f0e39df04c73691a2567408b35544edf050cdafe27bf7b517551f1070ee2bf99fd12c66224c2fc7361ecdffe9ad9bf1ac7327fe2513c8351284efce13816fde78ee269824531fa9ffbfa05fa5771ece719f811c7fe8863ff0d71ecb70dfea786b112b837db033a957e0380f7c96f61ac8f190fc90d771cbe5a8f7cc585f53468b34dd965bda4f3238e33af289e3e7b8cb780d038830ff9a0b5917ce584175cfaced511dcbb5c48c151613caf714fa3c95bceb9222567f7cde45e80b4161a1be42b95a7af8536688b9ece74cd73824829d2a0ad17e7891b151a8ce5e7562ff43d8c4319799ed7f59117bd76dc135cb3f066be15ca6bc5f2c35c5b184e7dc0933422a742542d0e713f8cd0ec301abeda7c4cc3f4585a304dbe58293719fc4abfe8a96900cf08388575ad74ed191e0872c74590568ed3425c42eb05f253784d4ba4ef0c9926b625d0cfb00414a25e631c0b9a502af10176b0b4d7d810625f1d6e44235bc95c1392abff4869ac165cbb419768cfaeaedfec631dd468bce677c7a142320c068558c810a0e165b1e5bc72efb4d285be1068055ee3a6249f77bba8c1e207bda89a3e5fb997d1766e5ad1882517f076b75d03645337dd7678bbe26ff38bb9197b282ac041b66618a30078acc358b35755b9e1933ab7f0a8ccabbcc07bd7358e1453a85857284e8917c1ed26c3a1a0ceb241dcbd9e171e62ec8836585293e144ceb59fdeb2f6cfbb601210b8d7bb3d4c6d8555e3b12882c434f8248d50000a6e61c4b8d28b22508009298120a70db5a6a18d94a22b3d157409223178f8d62b040571a8c1823dc79b73d1423a4f6d70235223d62b7db11abca863df1c3c7e6e9aa61f685e9b381688aa535c58976a9fc856048e588ced9dd636d19d1b3b007b4045c1436d54531c44ee82f24dcfedf96a91757115a8e266cdbe399945773ca347636844ae1c97e86e890d2bc4c55ecd00af39f7c9f2bb7a8338210eb0388b2fb6edb4123690e05222b7d9d18b4b49dc5d1f6b6ee076e31b87809ec694f9f1c3f66274cbf4f5ae145bed88b039f7c71e37ea4b6dab47a35d210e0c4f2d9856b008e0d5ede2d422461dcd9d0389aab16d820d899aa119e2a6bd7ad5ed56272a2f0a2a9770717ad45e61f8957e7af78955423cb996445f3d52393cc4dde0f5fd7ef1cdeeccd790b134466ad6e4e4022c5531dc97efa54fd0867e8abe57cd64de6b9810f14ec9453757f00e0c60e86a56964036e23958d700668916a27b74d0704cb7a0326ee5b855cbf595aa6134b967fa44d5a75717e7a38b0708741074e9504c6de696da23fb220544f8d425cc1c913d3ec328d4b3ad2c454926d2665d516a5800824813a56fe2f37163035e4b467ced45b300d5f32eee1b9d8e5c7ced899b3697f70b64730e001acf6e92f9cc4f02ba397c4a0457c3f528fcb91b7ba0276413209e13629bd1e9d26db52bf9328ba5f4ec6ffa83eac7c90b88c3766ae8be093738763a58547315da9bf0ea3e99455b8926a4413e41f4421010d8741a858a17d5ca4ef0549eab9fce04b1604a83d98d2df6dcecf217152c5269b5c9e526a6fbf4d4af8d1da3e2fae079cdd70c7a230de30e08be9e50dc39e3d5234369d345f6b68ba7e52b8087f20579c60bce98172695adf894c9d88cae5db0693b0a5443b5844115a8e0a09d11baf1aaf87842965b7516213de467ea0a6c89a424a4b7f23d9a294cd7d11e21f8a4ea74a0e71badccbe2b9a2fc5972f073c135938e908d7d4dd2a0aa839c19a6d472dd1de80265e4850081ca26d5bc250a35b3dbacedd2e6c09bc80e781ee4f0c2d8d4b496c5b4ea03d46cbe13adf6e548045235def710825e1682eb85b93175227c5a84e2fcf383a1717b5e724b6cbe8d63997a2a62f15189569a4b8fa8a49638837e32d55494b8ec56ce0f774b0da5d380a62ca12c2cb5fb5b7049bfb7c9d6d9558443b769d4d653aace08a1b9338834d0eef4709c2f2eef41053897a44bcbbe9aa6f184e325f63d2ab6caee12744b32fa46af798a3d85dc3694181210a378a5c57c445c930022e3c2bd74ad9e3283b769533feae40745556f363c75f2c85f3376e67e8a381a06588b7ccd87780063e36f795d76208321977551f182df4af17818338cf58824dcddb9be36a6ec5cf9227b671ba3bf6b52e605122f6991736fd9a58d7f69a6dd0acd9398c372f8fa23564c96b66ad56f146524c5de371bcd928469131c3f08fca3f233e1306f470fbc104044aaf1160effd56dc228fb378699bd5e2625b17e6f1a4e66beb963518d822d7eae7334ed4a8a4e592018248ca04c1cc53f6f0b74d4921f67c3ea684de51030c398c4337a6ea50fd2cb4b095b4bb3158887541d5ad9438762a28299b48b3319e41e79420764059f198166b529a9509b1700f09c402e074a9925fbebd2c89dc3349261bb72010dc20567884812ce43a670ad6e2ed089fc50bee5496c74deafee2074ebe2884f1b054a399a7b1214b4bbd882cad1574d01b4d0766dbd364b150b3d5f51c2b39100153177d978d42dacad55626e691435bd925e5566bc52e15399d69fcec5bd37e24ea059a6627b9e3480981339063fe74045549cb584959d9d76a288a0fc3d6a052ae83e26c6d75ae3cefe0492951a07a4d5f7cf9dcf989c30c06d52ebaa1a6582129659e163c3584c76927c515526e6dd8b5f3a5157973b28a11d34deba0d320652138d98d5a777a91d6adb0c6783e2d974654b1a39c6fe6194e517a3a4a3842d2623ef9315950dbac5007a27464612c13aa165489ea93c6016129b7cd88b75e554fd09697580a2d13795eca9715c93118d851a031b3dfe77b395e175b47c5566538998724a52e8e87f538d0dc1260e6c942ac14cdb8462accf2986461a13a0f618fb32a6f59de1fd5c399d85954ab6b9a18dc0253a3392222505919aaa3c675064332e6b20861382034589927c93db6c9be4f35324a3b95952a124a264185697fb90b3104c75b5feebd650af66e5fb880c8955397ec4e190a3b8718d911ecabb9b8c6bdd8ddebf9225952a3f51579b920e3515ae3542d991aa3774261c4eee3a26b88565bc4f19470c78124c6d6697622b5d5d3a49b59d1310b8b5ba2703e41a41616148b4ee7a61987afc3a3cdc3167bca3a87102d3be6d58a9cb565bd0bef04918d59485e3829cb1e1e6e854c0e250acbc230747774c1a710d13085184fba473c4dfb6b23330ae656821ed67a5d9da435779c55fdfa842159ca665f8450ef69ba7a6d6cf3254d640e63298aa04d98d9b775c379c3e662e22c99e7bac60fbe5c7c2beae3e0158ef8e3a1dca92b9017ddd9f592c2fd88c3b1fa2e32506adfc9f5394da54853777e0b09164fad5225f3fb4605180ca5be1fdfa44ca06a85136f2e96a7ec42b3307d9f4f929e9bd1bb68219e30756611c94b77f90c927a07261aea51a1257ea5f5fd84e078b1897b216fa368651186d114fd8cd69e42f22ecfd56b7d57ba25556e730cb16bffbaa21d1e2f0572f397a3e6ef2416f1a69616d717070be81320151b59bb55a125723ccd4bbd731426413475bb0d05be70726c5214da46af48415f509a69e7d2efd79ed48e44dc044808c54c1b2f964c17daffe077eac634fffd43985f8cbefeb83c8652ffdb4730d89f75048323184ea32cf18fffb7eb7ff10886211914fde71e86fceb1398cf13f0e304e6c709ccbfe104e697ddfde77e8c280973837a12de17000882f6ddf94b673f4c0fdd71187f3d7d7ac4b22e3beee6608a875dd4a51d06bc34dbc1857266dbf030d54bb9d6deb01b573d8091826b5df97d688f3be912a3a7a9d63d9607a720cd27781ebb4ca8c5a6fa01b8b51ec75d80de604671030e52d7617c8b4de47cc578dbf73bf18a8f8c4a45a7b76e427e99b297923dac3c87af509e246426e3ccf8221f98d63dfb728313d648678c6e3364f4611c96f9d5f07538de5401910669eab0dc9863c611ce694b5328315e032a100bef1d6c3ebf0e8f9ff6634c573f6cc357ac5fcfc9219f5c37c233a4f1967351a657ae800a8253272628af0a731f52d8737fe2551ec51c14b2989ff271adf43453b82c96e27e230be57db01ce9227263e90597c90553e95d8ae7fa2064048cb3fee0e7bbe38f318fd8c54de478669374c40eb6db7dba199c8a2a61c573b2c80bad5f9dcf7b6d453a2c937502e57adf930e4b07b0ea55420621b35c5f2deeb53ef0c5d346d34a645094e8a55031fbc63b17db20a4abe69c9178861acfe870a6bd2a7c42440d611df946cafe2df4d3335f8e93545926818face51d5d7402890783048626aa1a492ded0bc8986b28d44ce1a7b8929f9e875c631cae2f0c979f4d090608a636ea45e3a2d5f33b8f47dc4e9c0a729975bb42a0d8ee52de7db0a704e9416ed052cd6122a4c0fe19c7f7692837858ec701a51eb54bb215de67f0cecaa5da9245731d02546dd5d4dd394b79769b91c02fa36621087de10fcf0723f160e5387aa863f62a9ae159f759d4c6d7b1c58eb4a9212641126825854c4dacbbf708dd69133896bb342e1d41c0bd96ae260673c06b8ee0c185fbd2341363f4a33029b2970bb10e5a9f45c98a40737e045e7211a7a85b8e45cbf2e56a5d1df4ca24b17ca9a7485ac966dd4d939421ba7e3a0a542aab430a393c171bc140fe0add1f93ff0cec239a3ca6b60b442dc4fb790e65101eaeeda1d3dd88fde3022107c62c3b318528a9c014828f6738235136c1bbe0a9d3448df1545116827235c69cd45632827b19c4d3e527822a82922efa711ec3047eb9be945cc8de6d9df864a5154ee7328677b55131f62075f37994793cc554d989544da8e10304d27ad965c74292247b42af058b01173112afcd0354848aac0a6a7bd79a10529a5ba52e7ed578273296e9894b049e61415276eab6fa0e49d2023576bae15e2049e2e752150a5f9b2c4fd56a99260d4b88e4a4dc28ef097514f1c283c60e3af8d69be64116121300dbd7b36550d3f33499fb0be2af725d78c6e44d5c43223442cbc4a50d849be340c7300c874bc769903937fa94b1d47945a9dbac3e133367b87097203ea5fc04a611d9ed08bf6a843391400b2fb903bf98fe7652d854b0b9a671e90b23a20c77318814ac64421cbd57892e97b3b8a0535c208cd82c84e2d4e02bf14ca162a5074d828fcea9493d902e348fdea9f6a95dcb9cb86b8b6056fb419be15525c9474cc2341bc3e0151df9f1d0817ba11d5972c4d4543be371b9a8749e557d919d832ae966b7037cc9f4c37d85429d239219f7e102f6092911ea1991972d43c4e71e28416ca33025c227b73d9e6c9b200709d3341fa09bd5a6f24d008329aa14150abbd6f7f85ebe76eeff63ef3d9b14c79684e1bf32515fe9bdc8208126e2fd2009599040de6c6c6cc8216f90418827ee7f7f03284379aabba6a6776e75870a99a363d29dcc3c7952bdcf2fe9a900b4d0d4db3486b69148b51c9928d8b14c41565c0eeafe80da80b4e200d1ecfa2a5393f914ea512787829d21a9b538500acdcde76068afbabdd11788483acc5060b3ca4b47e31dd22fbadd6467b56586f3ab7966f089226e2c8ca31d0990b6d66a4d23e6f820faf64ec17156404dd2198d2159457112d88c383516e656c5059511b399b153f2a5648dbcbea3417056f89ea69b6b9724c1105b6b8381a7a898a115b51d91b5b58fca591a7a2b0e574ab739486a6d335d2d904866b4a4de78c50e52997669b25c15993c6ee14a46e399291cc6b550ccd955e36c02cb05443fe8fd95bfaa1793ce4b8d8d06adb37da934a16346919b802830914b655d090c06a55b39e1ec952a31a59345d97cc1d0b42a7314806d0572c3ce9d359996606165c17c5298deb0cb01d7347666b3533338881a1a5aa96cec330a68845a3bebc0e9b416d47106db4e6ff8b5dbdbcb40148a981758750ca8150a8ea6023eb29c66c8d68594754e008b5343c73a783ecd5ab26f59e0a055c3643b0593359c24a30c9be0343a1e6ddd985b441bce8c360bdd7614107032c74476b9e4251a962b8aef4ad37c3467172bd89602135cb72c23b89ab98a81394fa229c5e9d0c69c8dfbbe9fa9737c6c1e55e7d1687434740b27c0786f3304c13e1aa369dac1f582aedbb6e3f792c592b9bc1cd7e268c25bab72602929f617968714caa422876a8a21cbf1486b27230c23a183bbf075a65bedd74203ece3d06666fbf1b0448ae53e05b0fd68e5b824bb4262f1301acbc33438800b47b1a1b13564cb29424168a5070b3a9a50839c461e9948a03d676758aec85e0c0daeaaba2d976e82723a6f03c50e3651a62e28b988a2b4d984141509ac4c6570bbcca1baced7d57a3c5bca87e994f14a761ee2fdaed06a1c6f3681a56a328ad00487ae3332d2f02d2f7a9b756c8d8ab2e5ed15c4a80e2baaa1206da77eb2061a049e4ca7884b1ca0a435cd1a356b43244a67e207f34099d653874c36fb6c898da6c94170c648ab32c9461fed472896612b57ac586ccac042b7b31d240311de63bc4e52198ee4cbca24dab9e6ad35b86ad7237d3365363da87b7c1261bbd596162954efe978967b9ea67742675a036207254511f84022fb76b4510f6bd0f6216b33e093acdd09c658e52b699fcc0f7b6265cc8931c5105182e6002436b2c0d754cf1406c20eb12e34523c827b79e29491052907def6da7e346ef93a8b08abd116fab2f4398093c89c2eab949bd113b6cc88eda274bd5a5143b4efb2e974eb4ed5e94818c1dd38c19cc54a1f63c27898134836b3d50d2d6268e8751207d77412e0c29ca0c4794f13d4962df3361ea1b1a092919be87b241d172335cb9075399d6d3a54a3299203c384c6f7e136a3166adf4bdb690860482ca86d4d52a9d5e4fb28dab933c6439a31e960f303441d7888152c2ba4391eef3d63e9e8a371241c7c0c256a70401c6a828ab8335751c799249d3fe526dc9ec84694b2cdc8a9267951e9eec334e8509eda45b28485e8bc4421742ae0dc661a8c99cdd81b2fdc61124fbad1ec403006d27b879a1d17c17a425ba3955806887758028726571c0da3c1610462ab302de3c37614e0b4366f0b09139036e068046fb259a92d52c8d8486dbe9ea7eaa2aff9a665c00452ad72bb37855ccabc00cb9a9db062539b3af8ec74bf4e39791ef5c1a44d2486b4a84a3510a934f630958d306f82e73c91025b26596a1a9a69b85cbb68c7cc0c540febf51c2d26b83e9126bb94a0fd99142de6ed220bfdd0370cdd1d2df1d2e40e4c00e4fa261e241ed2f70e18cca9b8af67fe5a00d3adc5b71d146782e792640e928b190ecd73ca9a70063331075e18097432a755a2044905ca453d721d208fdac920c533aaaadba5d3bb0b7fd153cb6ac0857e36435039e409a1d4934a6608109bd9fb601ef28494cf79aadf533117e1962ced632614280b37845e61418ab2325f1c9565b454566a3e5dc40dbe4d5c1e28a1bdbd656a4ee6bb91912d101c5f4ee168376f6439833179c72fd5cc12bb3d467a7b3c5e70b157cb9600cc1791e927c63693941cb0353d6894c55a61f6c17e852d2760b726075e9a69ab19b7acb02dc0e1650ba653935b563ebdb0c06c451bca21896cb7d41ca44d8205ab04ae9a2bfbe9786410e87234f7e6e351bb3860414bd3ca5a37176e456f47199c2428d3e2d65eaf1070a3d755c4a01cce3365bb8bd16d8e27203aae4a6b374b7121580bf48c2e24b55ffbcdeaa0795cbea1a4c36edf8b945f4c5b6436367acf49b69da6db3cbc121740bbdf4648b5a15a2a2a1a71b4209cd8cd3978d4f3854540e3fd5c8ee06ee52d8ad8733488f3f36601e45eda03a9213ae3391aea644ccabe305ee8c874e4172886c992e6b26427c54d97d3627a306b4e52d55eb0b09226654dd64572d60378ed246a89083a610315b31f0877e6080d07b2d36e9f9ac024de6f625a81a97c1d6beb0dd6640c083342667ac41ee3522484e28cd88bf56ccc4fe770b91db934b4dfba2500157b1ef68c7c17334b6c92e14ad915ba3b4293aea65c5f02abd94cdfc819349d1771ec24a2e71e54924d88d132188d67fd4e8e8385ada2d08e0b3abff6d18d3aa215f6208d56d3614d8cecd90edb17aa8e290dd360a15267e340ca87e4309f8d3b766c90e3e5260ee81d3a2a363b7857112066ec8ef65434e56053048bc3a8e2ac5571c86d746c48b928cc797962e9983c06d976345eeb5e1d742696d75eaefb07d4501d4531a75aebbbbb221aafd3f18864ddadae4fc4dab0182275505ddb14f3f104996d0acc2da442234905e7bb25cb6ed50964d1da66ad19636aa18df0898ce3eb78bfef85adb42c50b780980d3fa3aa72db8585b39557cbd0d83365ea8432b9d8e1e3a086c78731b2dcb3495fc21a6981cbaff497a6e115fed2db42171f49f9db43d6e0bf30646d3299a0c0f549c83ee62f9d01336c06cf7ec95f7a46c0b7bff4db5ffa19fed25beefe747f29c3001925e9721906a0ad58a1a7cbc9689cf9f5145ba9b19da6d6c192a382f548dc4e188aee25939a22244129b804329ad4733425491b3c2469940a68a26f8a440a085e5eeeb96c92529a4e85f1c0f5874191b05c812b8c5e60fa1286d7acbcae90608b565b3b6fdb1940c3e0b8a8c1e568bc81bb86016b66e53b7db5cf507167b283c2a8b5b1638ad658cca2253bf71c742b672639ae70d3db8f663ebecc84757e10f81c09a504da759b8db86ed8a89c5576c21fbc448634ce99784cdbe1a49867b07050887815789b701364e54658ef0174cd93d02a19247f3e91670c05629c8e1b3b89e55c7be5ed0171b681a6870c4b197d61f86b16c8b0b15f2c1b0daa2d770c1115d9ccb6b5cf5055c441eeb665d7d3431a0ffcd8f04a2555ab099ac2bb62e2cb616dd598b23311743eaa04bea5554eabe6ab394865a4138b78884919e970e202f7524446d7891f20e3c06dc0c05fe96a6bc0c2c103f401d115b52050c4278b2ec04871344f9d492a262b21a138805b981db750695d34655d44bb2ddb312863335bba3472543bc81c70d0e70b3d467cb5dac0a3032d3842290581466e9793e964204b8db4bb4d1171ea6c0bcd060c23d4358a2bf2dc0307528d472c123a8c0a830dc3d28e5b1eacd10c562619515a9b449fce106927986e47f9f39ed63c60aed5d12a996d925870e225bfb23b131b45e3de1e5633b1a23b98547ca69c36ead6818b69013622b1a526f262f0c6b3481c4f9215b1e168a92ce9b0e3f6b6c8557bae9ffbebc3daf3f7029b55643d97fc31a16d6ac62d16087f58c88325ee7a0e61b3053ec3fbc20a0bb2b4d8b54aa9c6c186f00dcfea039637ac56793b0e31577846c0bbad532efa0399265c0c87b390d74a3d5018d86b827d9aed496b3954d692acb92c52b40847731ea2f251c3e80463996e4ec44e58db2ee10c4ba7576692b48f5c68e284c268bdef3742bec014c7463bac77230ae469b9512371627106c5c97389888c5ec265c39616134736dc111f5b793525fa8dcc90603ff07b6825513bb048627baa431a6e418731b66564dad70b0aa7288a11c38463cab1b60e812521c53985323336737a43500124f68b4940708b0e6db96dbc58fbfb7564709a3549c56a6663fe8277d3b982fb0a441158890a36bf551ac6c5b50d208b6dc2e00a875ba552e9a6301984d5b25c8205876c44895144052548dc07fdb417c328e74940c13cb55980f48a9ae8052bf6cb989ce0b349e60a88dc94656968ba9595fa30684b79d130c3928e0c5259cdf94c152366499544c5efd79aa52c8069cb4f712d5cc05a9de5a535a7fa56df1fe8110288583b537b71bbaa42cdb139595fc9a30de4269db7ca101ca7713ccf0e788a4b76e8ec790eb7705ed5b53092a022e37475a8ad12b238888a53d46fa787d5cac90f87a616b77322c1232a518812989b209d16e6aa36f74b7aa77981b0055098ea621ae7074b6a14c7869576db4f647ceffad8c868117c1ac153d6a2663d7158806e506a731f29b49953c1f3784121c2f820c1d25a43380aef0b80e426044b2e5580d52d0ed0398e90d5405c2b1e32ced2c1121a171ff58758eec049ee10008dc3153acd3cd50f24a391b6838f92859705db5a86363a972f02688440c45ac1fdfd628a4656935515d5920067a1642f35898e1fa6e4468dc00e820427d9cfd15e2cd17e3dea937683c5f62450c61a4f3a6b7e6dad0a030f1c5f6a5ad8529cd88748851a4f3ce830a6a291b2a7b754bd8143c3d0957eb40e68a7459289242c03c3b4b4192815124a6ff3912dedf0920af1de4c9a6d25512b36489675a7216d1a552e85d9005fcee6e46e63cd4c6955b5b648d4ad83cf3051c2463d49e934e68fc2681990c17edac19d5eb869236d7161344f1c8fd8007dd81881a90ca26b571ead29e4b8dd90db025dd7fb519386ab3670e1d4b618ab95a96201c5334ee568585d57503b42f4010209a31042b2c149783db6672a8fe76e4f427b0a6a670d0d06894d34bee38b85062a281830e06ebdd3b640eb4808bf24e7667dd8ba08d46312a7645680c7030bd5b43bf3e72ad01301510d2e5d4fb1d968e0edc9069efa81088d10723f540b5c49e96aa5e05b7a9485840aa2d862922bb6e7f0fc9c0c99d0cf4610b94b8a29385e0a870d92f5c4641c088bdd78de4cb52e9ca26061351b346db72abfd2179b0a712949e5865c6d851136d637438ab703aef6d309e390719612324e6fcdcea0e7784dc8f118f0368b4aa2169a40880318853d4baead627fa88d46aa677358d93154d81898ad7da1ddd30457e45ebe2b741f27024c3e987bf9f3ed9ec95ff7a51418992020f2576dd501611006a7c0c7722f3f0b143961e0dbf0f9367c3ec1f0b963ef4f377c9679fa60f83830a183b239c28ac2230e5e34b13516cf28c291b6ab3272e836af5b90b550d7f0bc4504b04b6132599a8607489379c4a854a78b62047a1b9d0721a36db6ab9262a062d44a71bb9095465a069a9ce212a7441cb96f0fe9ba419235688f0b76bd5b6f3679144a4bdf71d5b59f1ffcd904b391f1ce18b5ae33020ff3dd7c8c7529e4d79a01d744241db26acc364ea4d7464d6787715efb085a4ad032d9ef61bf8a6a147353db97fd8dbd0c4980f16aab616b10dd29faaef574de2546e34db9e0664b43069632b2f176bb64867a019f5673a19a8a3bb82ae0786c3a26cf80ab0801da99b7892570b32db28092e67d20428bfd0c1f5987aada9953bcdf089b369e2dbc0e88f334c1457c447334b79a93723f1971531df2d3880e68931763232a1dc64366dbd0770d7d070390359dce7dd833e641e2b60bcc1c17db8e0e9b28edf3c4178b2e9f97abd06209986d5b53eb557c156944c2970ae5ad8ba5b536d1d854970c16c6660d8ea6589961635023676638a33988c9ba6d8e6d57db856ee83e86812a9881be027a60cf16cb2ace27ee663dee274b3adee306d8b8bb1d2bd683e0cd4bfa807b424fe15b7a320f3bb582b725b36ea7b655c3f424b3972bddaf37f40466a7db882edd1cedc474e994fb2a4940d304a3ed928ed105a8ab7ac80a66c18a651ebabeb0206a26b15ba83c405827f47302188f822c57c8348a70dc6439fe10ce19ab0ad3584ab1b57828a7ab6a3597fa2cb6486cd19b631b58cebb11a1451361973a13bb5b2f16da68b76c0c776dc3cbe2d04742a1863c6cba714762b064c961ae0a2bdcb213c997c1c562a302d89688c76c28e1243559ad36c18292bbe5d6a0caa009895852485386fdf16a44c280a75500e9a863555cae41adcd6a195f8a3952178c81af85e93c6bdc85b52e76d074cdd9c2a8b278e2b077e3093d1721dc91cb5140ac18d41a31b8a62dc2ce6b0fa10923a8b1f2a4309214bce455465256c4cc1c304542736d9fc8be351ad67877b0ab5617478097350cadce0e5b7c63631554aa4e5ed592e8aff25c16b67c8f87caa2c019bcc6cd3825256726f0b823315419ae6c05d7f0525dc436ef269da1b531e6e4e67c121341898438e54042a679b50d0c3b09cc6c468ef15e93c8a82b96fbb94c8c5c91c87880e0704e969494e69a45244d7c5ce69343ae16443a5eaa4024480b375e85a084ce5532dc88e564addbbebeb1097dea0709edd552800bb84c28e53298ce412107d1f9ae2f8d7884e0ac5860229bf4d582d4a24a9397c3c1015aa69fa79a572a4b09f7080aa964394ea56d136c7b9e2972c2cd3a68c22f603a107c24a4cbe992549c1a55a808285488261145f2c6ad2fab3ce8e4530d192f679e236c091e8a16d2663b5efbf08c5e4892b650660b34a56601818e1396f5ccf9b06772a0ad9d1803fb8ddd8cecd854152559f1252aa2122eac14856eaabc2851b6df1853bb090d3d9b85c4c0cf0f8826cc878a50522d231429aeb3a5175aca3a4d1b6491f474890c23dfce1794b42403daf55b57a32d3b72287760a4214f5469bd2d597a95161547cc659ec986fd04672801a09ac28fb92d4ec3158e5b5b82a10408c5cd6253587cdac4bb89bd9bef4763360117657e48fdc62b7baba52c9c227acbad2a6cac940449ee4d841116a986e3b0ec1303bddb694b699178dbcac3add9045ee138b79ace47b8b1e8051004c6384046fc783948131acef885a4a45c453a9a267594d4915de86cb67230ef3bb9d2250b5a27f85c86e0826e58908c20a0b54da5587b69592d5619b8556468eaa36206222869edaba29167b9aca35c3c666b31d0f465014ab965d55ddbcbc142b73cab43250ae7c42ab19d43e6cef9a4d27075e1443840d6b961cff644bed06633d5698d2eccb885466d95993389cb05e9903c1e29641a8e6320ad280965530db119ad18309d9722b8c0817e3e72da0ca2b2dc4f523c26811aa12a5e41e2c1241442c7a20441d09d37f2b434c6231269a8c33ec72dbe4e12b9e151970e75b6a5e6712dfa6292458a543ad6a0015330931da916c0c374499b3ad936c4e1d0d1033d50870c5f050d3c3528742b45bc444a61c42d644694536681e3f054df229e63c1360e80a2ba818489160d1e1e336e27fb6c9f58f5dae6918db935f429822bd17e46e1ae960af68655f756335912bebb0e6c7e60bc70be1cc8b45f26e58a25cc8a57621a28b7b626f1b84150c67ec5cb82d527f4206b95bc8ef628c7b1b18d625ce16ddd7ace23d369960bf14c5b28b8b39bc3db3932b6d922f4e25409bde1a0f30e3b0b48635371b81b323ba5b0e70b04d834bb1a2e94f5aaadab95ae56638e92397cc7a3b3d62cf69bf9f600cc0e5d85aff3d0d242dadf5a1e93af25515e2d0075e630fb865db6cd5c45f7b3326b64b82b766324214b734ef85bda12b3bc5e0cd94177e3c962300f9e4c4a2cc80614324c8bd09b44a85b870b29dafb2a93aa449086381e8a2c535468a0ce43650872b3c9ca20d4a455cd4b741355d0269eb8a9340e4838e9f4116289b813658c518c16c85292f7b2141261350e3b392b8742ab6929a654290d7708d42c1222b6ac3af7e63ddee8fd6a664d611fde75cdb6aaf9500d79a2988d166edc4d0e70e4c981e048b19d4a83d6c65a90a0ed7acad193f502d5d214c380b51ead12a75b2e305797875928976183b5d54957a8d50ee2d9a92adbf67a8868b00f76153f42795b3420b6e8b45dc460128eab8bc19b55bb91bc1ea96d0eb3fd96eacdd584ce853adfe463179f8015b7e03d55c125b6c880bd14da0b04531aac2df6b0198e84b1c994bd40198035f45dafcc3c3c24b45a2f708949dab5bf75d9049d51519187de6a1c1b7a69a0ea3e1ccbcbfd641942acb8d9b7f1922ae72b9f01eb1241c588d90b04be8c3bb7758d64bfc460aba070de309361a425fd406635e2d9eb096c9851d0c87eb39fb8c98a25fc1ae2eb6ae181d50eebeb1526ef01391c6c2e4b1bd260557000c9b25e8cbd002a9b652eec0dcb18695ac726e350624661b0142a01e6512dac2ca285a6b8cf20744f70dc527670750b06bb8d49359d600b388e3bfa410b5a062e9060dd4e4d1bf40d88a8720357c4898a272d3415d455a1364bb1280891a95d3a3fb0616301ccb22440d081d4229604cd49b8f1d2d95294e7d22e13b887ba4791a9b3f557859ef9bab75e61080ce3514859d97644eeba0a7318362b52b70d864ed4e6b89fefad36d42a9e2cb78b963ed449d04aaa048af31ea9127f80543b9ff704be2650980b14186acb959df64944a52adf9b00ab44166455826c9bd67440604b4f0d53dc108890a980381e3781b0c0508889627feca9d9645935383e97807abe5b11e6b8c4d40d64f042aea62e3da2aab5584f3bdbc1e3006c13b32290d52ae86bbcf740c0d533a214f8d2d69c38f1e98399f9c3c4247b5c08400ac8760e0c3b23df5cab7414d4f1de6a6178be1ceb957848ca419777133d763d4c213d3f9c2bf8c83316dd74decc99832b19b0a82f64d509ea761a218bf9421935ccd407a6a0994f7082c3fb908ce7e8286f77e3f53a1fa9be6e76c378c58c09576a052ee5864cd94fba5d3dc732cb5b993d5520a0399ff97b4b6c8c4e68651df6da749b6a859a817c610efb55312d8a22cf5d0157d7b3602ee059db8f4c0598c3a1e14f797137deed36223ed60fe86cb72a0eb33186d9ee3adf5056674c4634b589d62a341beb0704225663090c2a536f98e59630dc755eae3092858dd166a875ac43a63004225d60a473706079a8108bc31a0f800d54ece7126ea933369c0acd78c4c2707d986a6bb5ca46ea74b5ab77018ca290e778a3762753d84e4496bcb419835dbf761b9dd6750bb405688c3786c8eef942b5f7aba95914e044df8c9bae15f0b954a351b88c7d8a6348033554098621703a45e42a5fc195ca6e234d5c4c46b3c9ceb1f615ba4ab108c4cb846fbb821b5b1d91403bd75caf369ba83344d78493fd4c5bb14936eda70043d4692d34d09a17db924de203a7117603b843a822b391ef2d06449a41a02e9bb0bbef27c1662ea0aed9bb56cbb27b780deb50c1baeba203d1c926db8c61744a71dcdcc3d99e6a8156b0a6d67eb7e017c6a6a26ad85a1d4a7c13140a31429b02ecc64eb6b75b7e98a6c9b2b205cf0dc64e074f5b1886b2491a91c4211413bf9b30fbb43510971e7190602d2b2cea79d66c40db368cb40b82b98b41ae825a8cd942c894815364c163545b360aec69968051c548abf90db940e707d41555492372b91f1b0b9fdeaf793c9a8128d8f378bc6acbbd21ee8dce249b7eef62f5c8c6ba31ae06072d11294c00caaf7126167eb0ff579b57d93b697f1ecadd075100d8f46f76261e5bfdab369d81200022a7ef22ff15ce44780a600034017e2d8ae284816f67e2b733f1d79c890fbcfde0490ce036b50dbb72732de4f2acb3197dc215204626fbd267c0661d963387d1237b3e5970241e72f33de0987263ab08efe6721690c4ce8e896930e09dc6d0804312d846ed773e93012ea38dc8180f39129f79b08c5c5c9f8e454c4c2fafed1ceb7c12cc2d03ac5c364539568cdc42683d481f1cc37a54762395a7df35891d7c366b6c75b2589358691b74ba0e6f9f31fcce66d3476dae9970bf4e6fc7c96039c7b6538e4424cb944b8e05b1631d827a3bd6f3317358ee511d7770b00cbeb11502760c1970e6402ca878cf2b5c68e5d86033fab056b89e8b89c436f68d07139105659d7d38958bd761c99352caaf59f9519f9f1ea4ba07bce4517f9e1ea73a38866e1cc3efd60adfd8860d7009c238c63e5373bab54ff8089f8fe1493b0e49442e93156e02c42ea3e73ec98d54863ef824d1ba905cd97996d9f39faf4b8332f49dbef06b123b8df7089b533db7b477776de5581aa8b7d7523af31f70c3df95b1e79399638005c78a4060ecb3b5c2b796c9178e3169bd3c2b1c5642b9b9de07f326740d7ab234fdca66e57215e383c012132e260e5e2e605c2e473e43a18e014636a4ed3c062956101f79900689e4fe4cf32c9ff96996b8d024dc9840bc3c4c669642945eaee76b857f28931191cf84a732eb78d2ad492c5a274758482ff67f09cbe91d8d90ca990e8f658ff0b98787941ecb0dafd1cee938d237cb476eee671c79a6096f20b08d54deb7774f5f787a4793e93ad957aee185b77c8b71391879b95fb9313838865ffaf332144d62b21a88d632c3d687b2d46742949b73bdc78631c78a837500629ba1014bad2ad7a00b5bc17a37f7a6564e1f6cd5029667dee32d08eb8ebcc7c5b3d19aa14287e5333b01e2006ec2656a572ea3eb5ede9f61579cde79a06de52c6f2cf51e66671abca30f461a9deb0177362d57aea11deb7915bea7b2995805f9a95c681519609bc2e3f2471a7e49265c1cc77a6c03498fe322c37b5cc52e24232fe0ebf82cb2f27d762fbb48ecaeec6c0945806bf423b268a7c73a3726f0d91922fb771698fb873490d0e44e1b84c0c974329b8013f065a5105321e04f64fa278cfc0bc166208ca200f24c353ccfad6f6986203a9b4eef35c3e9836608cd00f8333fce348350e4fe1bbcd0048400109e4c5fd50c4fe591bbf2f7237c5d337cb5fcebaae19377400c4420e894224179c0c69d66087cb566f8541bbc563ba9d3f3e559555c3b5eea84c11fa7bb7fc4cd1fce1f678de58fcd519ffba38f622ffac389f3e68fb6fc232ebcacf3833fce947b5b242edaf28f2a0d83fa65bdf3bab1dcaaa6ff7df3af9bffb9d74dcff4f958352dcaf68fb8685a27cb02ff0fb76bff70764e9c396e16fc11177fb85d9cf97f788e1705974aec7fdf9c87f5bfa73eff2b2c8faddc6ba8ff7d09bddca953d7698353d06b501f0b9eb5ddffbe71bb4d5cdefcb871873638aadb5e995775d034e34de6b4c1e58df01057a7eba275e222a8c759dcb4b73782fde9ac1eaab6bc3f193be71acf175e5c452778de5efb970ffdc679b808bcc7973e842020f6ecc6382edaa02e9c6c1cf8bd53fbcdd3625916576dec3ddc8972e7e2eafef5da29fcae8db3171e359ddb66c1c383dc471e2e8eef5d5c79938b8bcb013491033eba8210f4d135024217d74f9a6cb30b38ed11007b7cf5d0d7dcf1ca2745c7551a1f293128bcd28f4f113d77a763a729c0cb6bd7690274f2e84e5c38f57079270a2e6b1b2747f2bdb8ae82fc7859d7657decc8263f12c5051986a5db6d364e568ea3a00e1e3f7b4aa26f3d7cfff54ba854cddb45ab343c83e6dd32e3a6f54f208e9c26bafd197bb5071fd177dfe291939c2cbcbce555dde5e5266f9bb26e2f6f1541dbd68e175cde2b9b13282f6f5565965d5e3f7da50e3659e0b559dc3ebaddc44598059b2c0ea347ad3643e33959360ef6811714bb971e75c58982eeefb741d366e5a3d17545e36c822870fc13de4ee2242ec79be6fc1b97b7cc757e2d3fcaf6f3cfd88dc387d393b57f3abf65acfc38ff9f7fc67997b571e59c8076bab1edca36f0ab3a2edaa39cbcf9715304edf9ef386adbeae2f4f4e70ebaf737efba7f7bef28c2aaba3c89afe375571f9f9cb05d362700dddc1acfe79fd3b7e76eaf6fa17e3a0b837d757f326e86a2758ef0abbba23d0fe7f66cec85e5c5d53d309db6cc4f32ebd9935bc03dbb7fd4757edcdc1254d3d65e79c264d3d671119e1e0d8577fbf350fd2d7e6f7edcdcf6ab2b62efa81fdd9f8dbb7603a28faf67a7cb23ba6f7edcec82c22feb7158664e11feabacc3f17e7c27ec23c78b1c08b8ae545566030803c83ba54f3f47eebab6dc9d8c7bab7057ef82bb89e38d7251ea6fde2ef17cce78a3f03b233e12a05f34c7230f9ac6095fabee118987dd8985de2d57d5e57e78a720348e2ac74bdf2815fb85f3c6e3baec5e45543334b722f1a5a7474e1c3781d7d5c1d88dfdb8ee5e85e6a9685b3b45b329ebfcad4277347cacf09a72c5b1befff97604beed08ec1f3c7f67407caa0d39f6ca6213bf13ab7c5be6e1e358b32bcd49185001e0cf09fa2734f9d7040510089acea6bf6c4e4e1e999393e9a72e34cc8ead9e4d376c824e106006be614e62283c9bdc95bf1fe15b0b0daf94bfda9c9c2108084f30ece24b59b36f73f2db9cfc3627bfcdc96f73f2db9cfc3627bfcdc96f73f2db9cfc3627bfcdc917cdc93b8bef0bacca71d33b6118d4ff3a691defac565e947cd8138b60f07b716c9736263c83300c43b1e736e6af44b31d8dcccffd8add6c726f04c2d8149a61c869efea3546e6fd10af34322fcbbf6e64c2331804a0fb344230f46c6fec09137766263af90e68fb0e68fb39c1f358285c44b5f5b711168598388cdedaa610af62c27d14b1914780cfe2f112bf8cc6e04b9f957b6fe0ce113134d0dcbe137bb01fd9909f7931877224372c938b77f3acb3f3d9b18de9e336e4cc83c4c13109c031b08e4bca90cbe4d23185f07858855eb9ac5cb931a1280391b810d8bad024f4207df0f32cb195c9d3fe9da3ef94631ff8e33bf3bb77b4fb77b8e6711fc49d5bc891054bcffb77aeb3b30c303bf5ade0eba521677efca48e7339d0cbfb7815e3b1c3ca80c70ae872c00ac7944bdfe03a0bc2da25ccef5ca8ad6c05ec1c03d95a0a363803d8fa66f8641c6798da061839c6b94e97a10707207a17ca3a9ff17796d1778e318b1f45fd29fd65245cec3259621bc8e1040fb6791e259723916b68a7fa2593882c28cab839d7092421388698b985987171fffcbd421f5cf204e3333d1ccadd12f22b9f89402b46121702765e8eed1c28cb960652b979152de123ec403020b1d865b07809819107cb99176382a289b49a89f4b290273ec95db447604ff00bd9267fb8a79584ea84bbf2ec052d3234e0b0c2737cc647786390a06091c76487631df7bc70097748075e7976c7379905eb8363cac8b19cf15ab953bf5e80fbd323a57b476bb340a3419f094fbc684a6fd509bc407f17d1556ff5e7768c524e1f1c43247c532e4f63008137faf9140f3f33c6cad48f3443b7fe5b7ddfbc326e5379810ecf34d17b3996fa869879c3b1fe37fb125b26d11ff9c232e5ca85263ba710776eccbdfc0efd2a9c630fd65bd7a087e02c6b04c714018ea225e5a97cb9e44798c8bc9c3ec93ac5904e7c27be51decbf583c7609d07e9afd1eac5c10dc21c7f45863d83596a9b62e2e559ef33d971fcc731ac95e1d5be5cbe7b38ca09d7a0ae6ceb3c169ee533fb3c37244be8f49daece39e100391c65836d208057a49d64129507f2990713bb93fc792b7af396367f869e9edf7f5ccf53597a925fb0b55f4262e615f2b7ecf8961d9f2c3b4e7445bb857cbcff2119b2fa96218f65c851d76345c536c5fef8cc565ec1d115b473cb332fbfffc2fd47f53ce5b507fd23712124770cff5b8e7ccb91cf96233b37b72b1bd03b9fe59117f5f7739f771ea30fe73e20bc7dd2e739e08df2c33d3f992fe8d64f8f84eb05f215bbe3e9f1921d9862cbd7fbf2880f4e36acf59a8df3e2c1a55eaee7a776626167337aee184875926385b0f3f2363bcb61647ec7a7dabd1cd5e277e5d56bf2e2968e5f7eff85fb8fea794affdccecb9b9d9f50c7fef727ba7bd1c6f333ff4d3cf007db10412fcf80131dbd49bb57cd0b84c7644bdbccbe90aff9c883b2443275c0b986bf5fe5e3abc7b8d041e91a19f9719e66f99dcdeac98b3e9967b8a57b8fd9571674d60796507570a1c92bf449f8afc2b91041d70023af484ffa84ca64079f2452db243237973337172bdb14422fd71bcb94339b24228f251ac710a3dbb9ff43fa8aa0522ff93b6efbf2a0fbbf4ad317f50b09debfafd79ccbda8c7eb060bef2d893dc3d8f15685eefcb255e20b1b40d30bab2adf311cb836d58a776b801bbdd499a9d60e10dd8e0406719bd4ce5cca37f679be7d4cfea75b9cf17b6f99affec0e7e7ae29b7ce5b3e9bb747d95ee60129502e9c817f23c69996265015fa71f2999af5d233f3fceefc4e0423268ddda046fea8e24ff84d7b1ad0761dd6b34fa868e74f00db0b54c1e39cfeffbca83a5d032f60d47fd94ae32f9d6551ee92a27dbd131f4df5b5781be65c8b70cf92419921de9dd2f6c930b6548787d1ecfb1de36f973db69969ed70eb86f1de4910ee227bfb7dcc85ef3877cfb4a5e80f3b7afe409ef3cf695b0b62985f291a698acb3736c708d5b1beac3b68cf42d471ecb91caffad6d9928b38c3de09c75886f3de45b0ff9045bc6cffc673e11a2b40dbaf19908e15811b04c19f45e5f1b7959b67cafeb3c5ad751183d7259b90cf4df59bebc12eb7486cfb76c797a7ccb96673c74856c89dc5c0a3d96df1dfbe60d44e5e6f6ee83fe93c3b7ffe491ff44f2722cb14df1a01848ee0ebfdd9a71731f93f76d077ddb419f68073dc48912836dec239fd1538e79bcb6f441d9b217deb0a3fe137517f50ec6bfb5eeb2dfd9f0b77ff65b77f9dc351e97c10a1bd2078ee53397a101db90c2135fe459f6619b487dba27e172ccff89fe9623cffed6b16e836dd0e9799fc1b75cf9962b9f661329b24653aaa685769e35cff7025d1c2faeff50dff6cf63fb4739f3a9fe7bcb12f335fdec5b8ebc00e76f39f2b89e17f5138fe577aea1030ea383de40b4b6290f8e211ece19f0f9cc33f5cc83e5b7e4c54b3610fc2d5f9ec81793fe9d65cb21f88e6ffb962d9faba3acb581507d867e2baefe25d9017dcb8e47b2430dccdfdac601fcf87bcde703b2e3af8d8b2fe42c60a59dc3caad4b7e8e8f54a165512589de32fceca41790679c7fd0e600ff33f89a070293b8cd9920025e9e75f6dfb79eb2b8fdbdcf0ff044ce3c8775f1c67ee457d65e7c36eb6ff34eecacbcca2cf8c5b8a0131d1fe5bdcf64eff8a8f8ec2e9ef77dbfd105bc737af072fa8d58ea733f1c53cedc6be8ec745c2da7098fc92ee28ff58d7c86e39bf1849fe5c7bea61fafc8e80bf861b193eb894fbe98e3a3f7ce7c0dbc8b97fcec9f3b7f85e77d5fe405fd1c7c96afdcdc7b6d1fcfeb6b5ab93f78cc1538bddab748f7cee5bcab63ac5710c96bbad1ebf3c849b6bdbd36f98b74763cf75f93f51f9dd7dfe07f13780bc67f051df9f0df08b7d77df3277b194b3f249bde9b0bde68cf63b0e1ed7d8ccff8a8720b393bad3b7c9c5e0fb6c9438ef1aabcfff4f1ddf7fb13e5c4c762adf9b7f85e79837fff8ab9afb54db974a137f5e65b5e95118f39e730f2e0e37c89143f81efde3265c036f9ee9f4acf3e789bb3e9b7a0af730e95cbfd065f3c2fbfb197f165dab24c7eb0ccf49df53ebef219bdbd62edf17c5c3d0f3f85d7dfa657cd8f307e3c1fdeeeddfb3ad990b84c76eccfa92f5fc5af16b4af8e3ac129b7087dfa5ae557c9a6bbf12e6d333b7f89f58bc66c1b48ea3158e5165f2687cf74a63db757bf68bc805764abbb7c7f5fd8a67657d757b4e932586219fb2f6befc8db7e9ea5b6c97d151d9df437dbe4bf54469cf352eac3df2023eec6fb57c9889fb79f20acb3f3acf8f6a1fc4ace197d7307c7bf6bdebfa64f5fed5b919fc5647de51c05663e7345ace8459b2ec46f6d437c632de80c77cb90d3db18d2c8a589e1140757c8773a2be0157af671dfd0dfe18f3ab7a9ff05b6ed1b6b7f9f2f777f816f3c56e74f7b33be503fb60cb1b4f5d357ba3f0407c74000db38e570feb87e0c13a06e8a994d1399978bc7f147f6ab76dd2bfc51e8ad95ff947ddbb8905f5910dd481036d89ab8f30de463f37e9e753ea317471de5e3740e9641fc21faee7c038c7fb2ade3dcd17c291f17441998e2df07dfc2cedc5cde79b7eb68bf835e23337afff7f82ffc9d6a7cbadff5e7e17017c7fd7f4abf7b0b1797b0a6539b39fb632c632f5d8da397c71c79051fbd91dbf5b2af1ff3239d8e5fc913749d3fe9355ab9e4e1cff715def9eb1ef9a3eff2e4be0c9f6b75aee2996ef56a8cc6ad9d4e3ddb5ff4857a946ae8c015ebf057ef497a1be7ff39bae42fd2e6877c9f57ea8dacf5f7c8d3d636c053bc9a64d8806df2ac75c53e9aabf7c0197afbe6dedab7d71b5b0d96239fe2333b3fea207ef289eba2a26d80673dfdf36d00d631e5cbd8b52f935956c1476e2e7e99bfd882b0d63532406668e0ebe482b8730db0f2a94fd70ddf1da762c88495f3c357b7abc17afcd56dfa8c3ec8f7dfa3f9a2750f086c9df3baec97fae43d864e1c882ebecebe9223fb0a39fb396dfd4eebc0fe4e3610e8764ef83a5d0ec208ef0be5a20d61bb6bf6a37e0e7ef99d7f9c7b73fd204118f8d1b5bb5ff10179b01c7985ac395fc8abbe499cdad320fd0a7de0b3fc117aaf33596beb22e07d950d50d89957889fefe7fe79bd86bbcb6ff5f7f841decbe3f6323cac1cdbb98c1ebd9a3be3177c212fe678f83addfdbdfc303fcb7bbf000fecffd8badf7fb45f487021ffff884fe849ce836f7fd0b73fe86bda1cbc1c1b5458073c5607b4d7be33f906fdfd2571841f98efdfe4d7b7fc2fffdc31fffcfcf6e0cffa3ab993638305e9ac057cf51aa79f9ced0959736139faa00df92bb1cb8d658a800c89273dff6863b8e615f9c03ec707d1da0648b8cc7e67013ce2335fb79eee1a7a7b5a4fa7c08ff97a7e6d1d3b7375fd601bb2649bfc5197054efb1d3fd43e02ba06ff93f66376908c7de342221998f207db7d7fdc3faf6f20994fbd99d7f52fb06fce6dfa8c3ed8399d7c708ebb4ea7cc33c036c0ab75d6abfdfcb90e2847da37f9dc32dec973f757c8e5a7ed7f9ddd11d98c3c5ce3eb79299f98a410cde91b7ea7bc237ae71862e4c152e85c8e85a1539b3dda5462e60d44eec25c6829c4c163f4c431ecca1a8893acf5723bb220ed8dbc8d5f4333d7eb5d2fe0f8f2feeb323a7719baf85998db0a522ce33e94f37d64837abf2409e6589fca603b8fe1230b6a1a8eb21bcbf045dfd803b738794f97f98b63493fbabffa751becf5b9208abc5c862d93cf24434eaff173bd045f45d36959214449135a711e361ca5eb8a02002bf29cc358d6757ea95a00c7d83b2f07ae87ebafc4bf9b3278c5dcf2522ed1d632a3ca35f59663e5c13290836b64070f3ae56406dd3c7b37b6f39374a2f6811665e2d3640e03822e2b5716441f7cb20f9d1cabdc5c4f39c61f5c58ef3f287bfe037804895ecf6b7859ee85fc0bb9d6d9c3a4e1e83eb68d496f92dce9dc6566f7e7b629970239d90b73c2e35ecfa77b3ebec6e7bbf680afd683e8c182be6c1f45e9c222e07ea91f03fb988ff22ff4d76a77f9e4bf1ec7bd475dc94b9f83e7e883f1babf80dfbf692f1b8325dec7f7fcfe5fd50153170223c7f8b23d2085637cd99ec8d285c04c37f9e6ab68c731c49d9b7d7e9cc0eb3cd26681e9efbc5cfe0df6697d85de70a45504b08cacb34dfe3f63cc059f59c6befdb2189e5c2fbe52defe2db10fc6d7c5bcfde7c459e807dbe4bbaf8c37f3737d38db90bf495c5676e455b9fd9be218dec9177f89ab2fb17914dba4c5bb9cc05ada7ca15efcd56b3c7a6399c4c136e49565203b6dae5df17d84cff1fddbc63ef25831b38f76408e492bf5636b3cbfb077307319baf7203d5573ba73411c597dccf6fb85bd7c4fe19d7e61dbfee031a2f8c579960aaf2012ed942721fbe89ac6afc444661e20eeec0faedffdad397fb2bb3eeb8af217e8621e2c7f35ee4f39004ff103bf4bfcf111c67fcf1cf79063fe6fd7fd3f94bffdd13cf85336fc2fcdc3e2dc85e4ec1f3d07ffa4acfa0bf59fa7b9b7bf6eff124c806fc6d75c94bd766d5a7aa8f367e2f869b7b0dfcae7f0337cc5ba80def9e9d9e7fa53311bda5bfeda8be3ea7c730f75fec49ac83bb1123fd39f873a7fc6bffed934a4c2e2afed15bc7dfec073fcc13644d0cb3320d01eb7fb9cce78c263b2a56d66f7dfc07c67ce8acee55fd463e2fbb50e92b7961a2d290af86ad9b37f158f1d468f6ce689aefd946f523ef2a02cb9cf41ff8eccb04edff514dedc1f7bf7bd884f1aef097e2ecc5741fec6372ef3ec76bd2e3adac44f6c9b3bbc12185900ffdfcd8f9bcaa983a2bdf9f3ffddacd3f0e6cf9b9b1f37a29307c7b37ffffbc74d18b751e7fecb2bf3715d96691cfc5711178933aed3ffcabbfd9f63b72cdbb1d33441db8c9b7eec95c5260ec74def846150ff6b70f2ec58755c6ccae3af1fb44e9c35c7d3e2dcc8a3923f6e9af810dcfc09c2536cf6e3262ffde0e6cf09049c4effb78d4f6f400004fe1708fd170ca800f0e704fd139afc0bc640000050001901b33f01e0e6c74ddcfcaf1fd7377f6e9cac097edc34c3a9d179b0bbf91344a7d32904c13f6e845303300cce663f6ec42c2ed29b3fc11f375c51defc09011368064cb01f375aecdffc8900e08f1be67876ec8eec1f2b027edcac1dff7fbdb0fc5fe0e6cfff067e9cfeffcf8f1bfcd8d5a60abc639bcaf1074427c014436793c98f1bb139de81b1290c43130cfef78f1be1b5f2f0eca2fced10fffde386fc607922aedbe8c577e0190c02d0dd3bb30970fef7ef1f37ca252688acf4d2e6e64f183a9ea7672c4d000cfd7143674ed89c60c104c5e977d91c69ea742add9e1e61f33fff3ed25314d427441c717333d69aa06ec67e5984fbae18c67d59a74de578c1b84e6f29ec92c06e7edc707955d6edda69a347a47aff7c5e7ae707aa5387417b3e97cbf2f64c705a2fbaf9b3e8b2ecc78dd23a59704f21a72b39709ab23897654a3ace82e6aef4b9e5fbcb7950dd9fab41d33e297dbcf5e40da1f4bb637bffefe6b6fb6fb3d6a9b77171f3675b77c18feb0176eab950fa5782372cff9597fee9253da89bf8347af05f207ae2feead4d33bd1f06e876fb1718d50f8f78f1bdf699d9b3f6f9ee819e8513ebd9eff5b436fe5d7237d78752fd789fb7d34ab4b59cf9cd7ff564fe6bfd3fc9994213ffcd437028a4bd97f92e76a19dedae06799cb9ee60b94636e75fba37c67dfcad57ed61feefaf9c83e3b94f772fc32efe7a331ddb5c7defa76efe71de2e4c7783cfe932e8372a4f7b6fef9723ef987b19fe26b24f412163f0bd7736e77ef276177ead77bf451f81770e448fca4f3ae62bcf8e077054ef9c5f907f8dee5ff465fa2893b5be70166c4ce2b5e2e7b1f83fdd0e7fbdcee57e2fa64d75d53f6aecd3bfbe76ddebbc5cffc167eec23bbe8612c0c98f94cb4b3e79770beed534cdcf946ee9f790c7ddaabef26d796c706ffe5baefe3d31ee02cc2bac9379f008b6779a4afe2d1fcf13d8e24cebeb7c734783d2f42fae0b32fed23f35e82c7393642fab9f15d2b8b1ee599be12e72fe4a6be8e6f18b1710cbdf3a9360bf48fbca777364bec8ebc75250fbd98d7f963ef9ee283aeeedffdde30f53a18dee544beb24f47790839477be05a3ebbcc0d7c2d2f3fcf277ca53c1433afb0332ffd085eeffb71e7e35c70247199837ee7e676f568dfa5fa9eecbacfb5ffa8fd5bff24fac496bf72ee78a11f3a76979ff6d3f8f78a7cb757e94ebf46f3a71cb38fe0f4466e589463e5c137b497c67e81d39fd679ce7dd2cfcfaf9c973f8bf67affec8f7a0fe697b94fafd507128fd5750fd2538dd107ebd8264317afc88dbbf5b64bb951388618b994b8f3727deec27a77f57cca8065f0b2fc78de8e71e489fd47f0d53b6c76f8e9beb10f39373f61bea76c93f880dc38e7b8fc84765fc875f8b336cfeb7bfe9fda41afc8b7abf59297726adee90ffc13dfd78b76d25bbcff8e1df056db57da518ff7c45f393fdebe2bdaa61cfd8c5df5cc86642ef6a45fa9035c7e8be1b3682fb8a7f577e00e7d645e0533571701cb9409bb90332ff57fca167dd8bf7ca107bd9067ef53ea7e77fc19f0011e8dbd9cee2ce86a3df736479c1cf9d7ce5dcc435eb92be5ed5dbe32dea6e8d82ab88fb5438ba07525afbc9093ed636db1479af9803ecd129105b5910d5d5b5e8eecc37563f13fc79ebc5c437bd767e102a73d2557c2ccdfb9b070e5b89fe5debada27e133f4e0d372753d4eee632333eb6558bf30a75fc4535e496bf7b189d7947f87c715468f5c562e03fd7abbdfb97be765191ebb10d6d806dd5da747eeaba37ee741fa0764eddd3bd7e0e5ddf6779f613fbd65033cd6395ef38f5ced537c2d2750f1a49d176dac5769e27d7e7eadddbfc5e6ba1256cf6ccf2fb1b1981773d25c616fbfcef3afe39338cab7de37e5d33786aef2c5bd3ad64bda38c7355dc743f7b109efd142eec27c72d45f3e288b8bbbdc2a3a8301d62b73eb0befbd94a7e44a1c1ec744372e8325529101afe8ab2fd98f77f93ac4577487b7de7994e3e345fa646ee3792fe6a9c0142ff3a15c059b77787d659bf2299ee2bdb9c07d92d7e113d7a4ce7d78d8bbfccb6b514f7350bcebf735e4d42b1ef3e893fdda284751a1cb64079f2476f679bf79629df66e5fe609214e39286c533cd8a6101e75788ea1420f26320bca72c7101ee593585e01c357e9f60dfbd3cef7910dbf331ee6760ff439bf82ee91b7791880fdce8589d832c4fa3e1f83a9373e731eef5f24db4acbe4531fa2075ba3539be5dec14546cb9a16aa1a3d5faad2644912b4aea5ad380f43cb40d2db3c0790789643ed957200f01ff37efac4960e5d839e380608ba0a011c6d200f022b0f3ee5050dfd236de32ff1f17d3ce2032f5dc053fa38ed5de41f901a8ea9768e81643649145e8e811ef9311afc8bf0d93d9b7799277a414c64cbdceb96a7fd07939e8bfb90cbf73b81e41a8ee4339f09fb6542f5c2a3ef63ff9cee7b1733f6ae1c30f9c4b9727dc061b083cf7c645d043b7c82ad257939961c717bb2ef0fefe9b0f77bbbafec238d5ea92b3de58deb7c3c77fba2e77f85ee72a2b19d6bd0d5d5fd81aef62fdcef03beb27c654158f781f2b56d66b00bf3e95fa3d79de4dba37dafd7ccdf3f33f778b91eb90c70adcd9ed9d7dab7c7ba2ff6795e0957d031ae8d63f8229bde14332fff88ffe73ef7f4afdbc02fec2d7c4f261ef16933d7c1fb1dd9f5740fc3bbeb491f5bcf79be7fee4abdfad91e34e1e5369fad0b3ddf3797be88a3bbfd71aff735455657ae79d930df5bc0c7e2524eef80a775e9cabada8f78bf17e2f3d68f1fedabba4a8f38ed5b520d1d7098ebd6a4eede39d9e2d7c0e71ddd41cbf5fd077ce3f77b8b3ed13e7aca37bf6c1f69671f696aebfcf2fd98980fd9efc3dd3ea14f90178ff7bebcebaf7bba4efd2118df7f2bf4220eae78eed7fe509d977ef127fe869faef3fe5b4917fdec9edaf0e7e3cab5a2b3adfc781dea89befca1fa6edfe55fc371fe30f6a38ee43374722fe319bdb58cac59c54463997c2dddc639d91016b92452b9b775bae775c5d0cb9bd66674e89627412fef518e89009f250eab78b6b3a10c70583d5ee6e2ce55b0c185b0da31b4d63df63da776c7f75d539f1cdf7f6673d172e99842783cac42afdce3fd985094e1bcd674b4f9bcfbbdb493e33c7bff0d803bb8ddf5533289c882a28c9b739d4012c25db95fedf712e21b17e28e3aefc167f46109ec7909d0571aa0753e1b9df8c96732c03df21ecd2f39eab406b5736342bd8bc33c9579586708b984ea8e369777e1cb3ce277095bfb2544f7ce3dcf11856d5ec805e6240fa313cda659ba8af158541ee6ada37cb1593d79ec270742cb247af7640b9fe0be730a71e73e962767fe7f3ae724dcd1367c6aab3eb3d955e0c9de17564c9c239da93fed977f1ac7fd28f6cb82f5c13165e482775a8ea27b476bb340a3419f09518e6efd4b1848a7fd37e2694fcc2a265c53ba7cb732f579191a2070a107ebad6bd043a096a17af60b101a7592fd47dad8f909b5b34ef195d7e36af5cfc4d5b358d00bb9f9b0efeba2fea5423cdae3f51c1f177bab9ee065a9100b1d941ee3971541d70023af48518eda571e2c85a79842eaac133de6afbbf8ba0ff018f9cfc4dbf318c0df82cf1ec73a9edec70667c02041c152db24ee753c1bd22fe27389936e75863fc2dbf3939cdd3fece13be993a96f888f74afa542441e7b9a57ce388fb1ad0761dd231dfd96ae9ff8086221c17b2e7902ffe73eb8b5f224a6c983c4d236c0e8a9ae7a7d8ca89c79f4efc56f36a3f7b681a4b68124a73de7ec29ef08601bd253de7824439fc5bd337e76698f9ef4d0dbfd8b8a21a11cc94dfe99387de13bc0caa358e9c437f9ca67d347724732894a8174e415dc9196295616f032af2a99af3da605e2e01b606b993cb28a09e19c37976e5c927889170beb7a9c0dff4c9cf9c9ef223bf523ed407ee6c5046bf58ff1e4dccf6fefcf75827af10ddfa31d08c9a0053d8a016d4f3eef53dcc819c74ba83adcf2f5b95f0f710d4fec716e10e678fc14decfd762b0e593f9f070d4ed5d83faf998d3c7f1777f2bae64480738caaf7c92a88e769c9783b734ff58363e8b0d7a9fcffea1f3ddddb7f0b2df4536b2b6f96c5e7b88e5524ef16e806f0a8ff179b99ef43e2e0fff485c6647992266de131fc6dfa3bbf8994f3e85e1396fbf77972b7a38f3e8631be269ccdc357295fb47cad597be09f91be0f4e15b9157eaa12e83151fd041f7c23fd3267c1297f85bd8838d0bf9856d7247fa6f2c53ceec8b3d2c8ff812be5d7bfbc07c290cff483c2ae71ca3fa6f355f6aa94ec81448738c5db98cd63dc59d773ddee07fe6dcf8385fdfef60d71f79c23dad0deaa0373cacbd9dbfe1c4679ea9671e2c3fe14311f9802c85fe99b81491dfc7277a9a13d7da40a847bdf431ae6468f98179ef9af5069fd1273e89953e03367f0f8ededc73feb9b2ef399c399d02058e25221bd24217b2c2138cfbea56d73ae96eed792d0a5f2c15a2f459b9f7faead51c69a7f13d99676ff5ceea387fdce52bbbbd778e0b8c89cb7c674fd6ac6feb3ad2d763ba7a52eefcec58ef49bedfc2d9312628c7dce60b7bb60e778a23181cb33af3ea931869eb16ce6421c296719ad74ffea16582c764f8fffd0539c69ae6ed9c62c70277a9c430f42e8f18044ea693d9049c802fa61383301502fe44a67fc2c8bf1074368300189a3d4b27764ec6f4563631109d4da7f7d9c4e0c7d9c4c04fcc2636835004bdcbdc054d4008852733e0ff67efcd9a14c79586e1bf3231d7e73ded05aa9bf7ae586c70633318af7ae2892fbc3065b06cdc8501dbbffe0b6fe045b24d55f55cbc3171624e1720e5a6cc54a69492f0b789a5edc765fb3b87f8dbc4b0edf1b78935fbbc10df5fc8c9cbfd36b17430caabc4887ffa26b1e6ed61436fb37a77f38ff9d5627f19966bbcedffc8befde370fec3f8e31c1ae1c1fae3ef03dc9fffb83907cbf9c33878e73fc2d31f07df82177bff47aebc4593831f9efe08dcb7fd3bfa9eb261bc145799fdcf9ffffdf37fef7799e5ea59bfcacc3f857f1cfc736840b8b7ff302fe11fc6d53840c384fb3f0efe1fe6e500ed3f2cc372f6d54bcffee7cf9cadff2fa3f9bf6fa714cbfd46b3ffa94acf33de5dd308f7e76f3953ff5bde8ef63f7f9a97bf0fa73ffff3a71987fbd426ad9317bcefcfe76f7f4323dc57bf784b0e41f6d90f8d83bf7fff060fe7b0f8621f657fbdc74178bafff1cdc821e61fac43e064f22c3edbd51fedb3f1f8b0b7ea1f6d6a3c2627ad2fbe1dfc70ffee1bf0dbdebe19eff6b9d90cc243101eacc7378e67543eddbbbf1bbe7d090f10f1d3f9628670fff8c1b3c78f0f69bfca276b54f95065e0ec1864ed13357ea97d1e9354e5730365082b728ac6c4a4fee941ab6758a746d36f817b483571ef5b27fbe0bf55fefc669c7db2fad934cefb9751ed9b836fbcc7d56f9c7d15dab763aabe95cfc1de4b3fbebf9fde5342fef652a5a8a8e1dbc9bcfcfdb7014fdf9cfdfbbefe5b5345bb7eecef5e954a70ee6e1ab86fb9687adb7c3b87762662c7383bc53fdfac778b4e87ef8e31b52403be55bfb2824bf5e3df5e783ebd87d5affc7d18be1bd6befadde99c89b2fa557082b0fab9d9e57dff37dc5b213c84b5afcf07ff0deeff868737a786f51c9f2d03c26ffb686fedfd2beaa78b9f69d0fdfb707f0ee1a9c6ddc53f1b7fef9dbd6167e396b993c3e9dbdfe7fcdfc3a930aebc9b97faf6fc9f6fe6e1edf167763b64f67761585e3afde7ff7cf32e303c044626b4ec8b5f9753b8b783f7831fa67ef2cffffce9efc3fcffbf39611854feccfeaf94eefdcb92fce2bbd48505efa7cc7da59f2fefe92fd9689fce9980fe2c2e5bccfff9967adde27321f5ecafb77d14dcfff8768efdd048e5f77ef1c39c9de2af6fd6dba9f2e92e4c233c7999cf6afd5208aef57d1aeafce7cf42a1cee1bb75ca46f21cbe1ffcb7eca7d8b78a7f1ee08bf1fdf33f7f16745dfc83958647f7bfbe5dc2bfc997fae71fd9c774b8fffccf9fd7bd6f9fdebfbd9da0e1bffdf7f4fef62dfa563a7bc7b01c832286b50a4e30266962dcd33afb27b5aea1ed4a1fd7d5f8f27edd971347473bc7b5ffee6ed19e333a1af7709c2aa0ed9fd3ffbcfdf96cbce1c0d554fced9299506fbbe0fd14c53d0da96f4e60586e47ab83ed1b1d3fbf9f2ed8813ac7e7c225a27e4d2df1db796f5ddef7dfcc837d78bf60a599350ddf0dfffcf7e9ddeb6a54ea700a70483b3f85f7bfff5e1cdb7b71ecf9fcb8283617c697a792dfe8ffd2e3ff92dd1965d1e67349e577fa0749519397af4e2aa9df99547ea7c91fe3a14965c9e1d0a4b2d27e7852f9e307491163fadfa4f2dfa4f2dfa4f2dfa4f2dfa4f2dfa4f2dfa4f2dfa4f2dfa4f2dfa4f2dfa4f2dfa472485259e67cff506e59be7cf27f2e87fff66e5e36dade9f441a513f2693ce379188c9ff21be4be48fff3b9afc5f92f8ef8f17f2cb5f43a2bf36d57cb9a79a3fa8efe48f1f3fe81126d5a4498224bf8f897bfb17f2fe52d1b054733c225e48ea7b47aad98563571b8432dda47efce309e7bfef21fdbfe4819a9ee1f12ad2fa514d11da2acc5e255cc72767c58eb3d305260b5fc06e7cb468fecd3e5a177e36baad96b7374986f26a71af667efb7b36f50d4d3cd9eaeaa25393704d8da14e4dcebac65f4d6f129b2a7336b400ae3d21b1e2d75f6b0a5c4d7f1b028f090d351a6f7cc1317d3eb428253654fd7bdad7a4572fab443808f305c96bc4c5a26d273fa94292c66e9a5509eda928303d393458250094436c8e8b0b2fc9dfd72a99ac3511ee97dbd0a2521e4807b00169d1db175e7abd71d239b429e5605090e86cd7c67b302971bca748c7f2ecc03c9e6e7fefc6894d313ea09478ad29c18a65629b85479395cf75f9ba6fba260400f13df026d7ec94f8ac09ab7c5defd6a4e3a26b7a0b4e56a594557586aea109379365c61b8f3b9b94f0dea6f32dda17e390f12e9d62a012df4d958901052f9bc3881228255ccda79336bdd0d72926af446dd3e619aa4d5a5e9bcfec06a841b48100d04a0cb430d435ce37d4d10bafa6b46c6fd6d269d1632cb9efba3719ad3521d87bf00292e068526302a86362ad72d7fd3c3c0115fac672fbc2cfc3abed2931f0a2ab9d0494a10981ee45b045c3729ae2f752386b1538a60acf7b29084d6a7cb5e8a9a353f2d954271793166ed94d8675594640255b74ea5a98ddde0768ee6aab6377ad0a57939dc41b5f8c75759c582c13a7346f6292062af76e68db30af8a235da00ad7b2aa6ead09ef86f6fa52dedc60d12d3d75748f8b555a0c6c36829a161e4c9a73533a746f42d8ec24dc78e3abe9c9df51f037be7201ac129b2cbc0084ad0056399a747152e11890a62742cbcb6cf10db0297cc5ddd0c3dbb6c77fd5d66d5a8c4d6aec973a6b5385cd7bf062b04a6c68dbefc09b5cec592abb7cac756f724ef968c3cf6ecf69e13028ce6dd9e052704c6d5ac2f674950ccca5fb521dfb354ba67e2e1dbf23900a9dd1f2d73652bd6de3173dd3bfb723f66a04371e2474350af4f658a636f0bea73847a7c2ec2641d3db86771f49018f9f8747938aaed6f174e4e7af6d9fb414425d8dce0d7b1ff133a5a5a316ad1c103220ad659d2f2191e1a6e57f5fbf5bec24c92b10472f45e57d60a77ae66537d81c75f596d212006af4a27b4c02d414069a8e3dc55deda57835a553b83eae48944d59b472dbd3e2d59aa76d1468b67db663ab6260c62d3f95bd5464d2557f042f99ceefc883c94e8e06c2ae3258497031e9ed49a584abe9a77a1925da0e7e072c4c2c3672f6527031a931dc500e3454fb64cf51f3040c01fdb04b8b16c7262bbf98dee402da3c24b667a5bf113fe7416c5213e2a756f3632743155da08edb3ec757527bbfb4e71678b1960ad1fe7e72b3593b3669e586d00368b2cad19eb5644900cd21748d837adb6726a96f5b67b7ab41afe927f9f92b428ff279fc3e171ddb73501f5f7b6a42018df34c76426f7c1058143c986c5bcfb0704a5e9761c6db5acb7d3448e399627c5b63ca845905f15f1a072d4a21b45d4b4e665ed14a26b6ca858626da6dfa3932d3f9f6bc9ac53c771c6ad10e92dfd79a0d752f0cec19e958cb29d435ce313d016ebca28ddfd2a7928e83ad8984498dedcdf1149aeae465ad82ab4e2bc95a8517d343c4244d1ea5d3cb5a25affb03e99994405a311998de1815b3b4781f8cb394c91183cbc7d89114deb25be1d5b18fd22195ce2a9627a50e68529d9eec46acb6df28f9888126409b21ea34d159e5786b6e2971a57ecd5421311057313e23040efbbb492b443e479f226bf9769f4f578b5237d2395844c56fd064c50468e2772b7fc1e70292d3854f1468ee5e2f42f92fc6e79aace20375eca6fe793f2313430b529ed3f9364ee7db22e62ae6a4f43727b57d62438981454fcfbae6bed82c7330d9ccc6476bcd0ec0523c6db25b65e52a4db70d6d9f0c4d846bad88b3bc223759b674fa6679133f3bedd8e5d39390ca6f87131c7396e538be790c0eba96da3b44f9deaa6fabfa5cc7d6c42bd607a8c209a8c27b1a9776f881584fe713926cc6afd5786db4a1b39b833319f36dbe4b58c58d845c6657f798adb4294db819ea28c4fabb3bddc52d8c9078d91c1e7168aa6bb97d4d03f370f71bdfef3edb63489b9d606dcca214c7f28493a655e24995b9596cfa3d73d129f9258b45d3d85f8ddc0d35216d369f174c0a78a9afd91c881815ffb770a43ee9e11313a0662f9b843a95e251ce6b15eb63ef3e2aefe3d465a90930bb89b8112fef2bf1baae4d6f595f757c04b879625ea3cf33d408ae35e566b21307cc1eb2edf5ebc77cae7dc4c0085b67154257e1d96afb9610a863725fb149dd8bae3a15a262acfc74a556b5abeca45798df3ad9d2c9a3ae8e295d13aa315160e6717f88c393dda8cb468ecd2aad580a616765cc63577940c74faf693e73b055ebeda71f5e6d4d3c1bea186e8ecc6d3f9b262615056036f54d2a6ae722b3b10b548e0431491b2c24c0eef5d7fea19b2fbc361dad96691e07ddd54cf080075a7cad3d11eabee2af55ee9ce67fab59d0f2dd1635391beaf66d95bcdeda367ea73f04341780653d8f6ce68faba5129b33c7d535d1d97830d4551baee9e9052461e6e784e3f66c286026911ccd2fc225a026d3adcc4c252828c6425100c1a49ffdf4bbad0ce75b05a69f17a2bca50537cada8aa4b313a1bd92a178e0e1e906e61cbb570271eb728698c04085c26ce7719ae88d0dc50dceaa62ef0455389a6cb4cde06af064318035e6534d941841a2c88ded7192a03a457f9e14584ecf6948ff13e935a5acb69e03785f3c83853033944003cbe9c1384e0321b1c9350183ad3f35c4f93450fc40955c92e1355be421b8ea8a72123c2154a0088d44515449b85910be986cc819c7b7f79d2c8e84c5e4622cc5a3983067b0b01940294b5e130ea64b5040dede0c056ab20f80a9c894ee8d05c1e334e5380572e2043bd9f1052f6d6fbb22cd8f776ac81ad42ade7911277ace46918599c8ae92ec33a39092e746864bcaa2e67022cb93121b30bc3c59481adcc8b4ed4b6a30dd2fc6d26669ff2527ce4892f99b4d90b2493b82c84ec6922c4c0101e75bd5e6b604e3efd41301c8e96ae78586e14f25d95540957e9d2277a6329576dec4dd311c2d51eec8f6b609980bbce9092f124b8cf74a30de2c9dbf14f64c4acb60ba97a3979d06797511bcab9e1bed3d4513a42950599b48f9375cf84b60eded2efb3db8894aa04b5e7034d588060bfb6c7b5cb0f5a121922ea52af64fdb137559829c21431fc8566451dc4592001413865618f9b6916168cca7ee6eb1a0a4a53bb655615cd507c35bc5fc12409100b4b40c185b26e71b4d3c14f23fd92cb714b4e02fd31ddd149554dbfc7217495380427294aa928aadb8f14613799e724e3ac18ff68be8d75603475e59913a612b365442c50f0e3c09c6aac4a9321968aa1a7086bc2274688f6c5578b1e6e2415d2cc63b953cf1acb8da4a80df4b90d46997349860b951a12127ca2ffdb8bad99eb2147d9bdfbb0a29c9fcc890e12ad33789d94854b8b3a19b28be6828897c934945dcc830d3c76da2bceb8a2d0a2e29cbaef897c2b884749c2a7ccaa70b04650158c90b7cde255f5457140d2fa4252f148505f90bd0b620cab0908fc0f0f2f82f838a483d117606cb859217498a92d23f4e7f9f0bdad451c8052529e24e5c4c645512373cb388a5e35415537d75c1c6f0ac58d2024364985f066d6f0c7241486ae0db04c9ec54c8ed5887d009f126b242a8788e2b2670acb8d6d8f6b805cf42b1943f2095a5b104e9ef2fba6c8d6d0232922b72e202d292222a8008195e7500ef45245858e3bdc7cc0d0a6e0d79314af5c72645859f839d4882b1ae3886c9048ceac3037f9cfa297fd97849c05112e5052c6c361d6fc50d76a97fc8fa1351682ea786c8fe4852bddd2bccbb2c091b03ba89ac05ca7e412a8ac489861bcc6569aaece5f1622b8982b26068490d189e20a59d6a1f79929354680301a6e31db84ac29c756fbcdbc18cdf4cbf2596dc594cb03013616378c25856439127c62faa24887ba88c24455178c8fcdab982c833ca5872c5a9b020e5ad660b862b27922270369c065bc9e179026b6f993d6e133856dd941ee55d76ed4c5ed25c28fdd34121f59baa6c537fb1d848e25124c02f5de2547e01978aaf64fe53a720b726a7c916f2ef2241663ed8808222bb9cba630347d5c0cb3a9ebc6c16226f115b0250c2526521106566b975e15a24b80bd8fdb80217dc6c82f16d82996d2467aacb7a6cb1c159510abfee063b455218cb0b7f02caf6ff9288203bf5cb2a8e3d7bbda1d69f1ff3a91d1bea36e425f05df798a34165eb1617300ff25740e8a96379cac5ce6f723d019621f4340e51191fec2637d3b3be676b50924eac59a86eddc9ce4ea66b91b2aff99c339614d56114d54e699d157391b8251890fdadeaa375024ff9f7b62ebb40db319cac1f398367b7b1e8434396b999ea5a634309a4ad1b1c14025c54087e9a0cd4e4a372d4a9e82c2f32b86363395545efeda6107224c99350f2c1414e9453d95f90525f53ce87ccc28e2770b7e04eaac411262bceb71e34144abce9dee96648166def269c217337d54de72ef0a2b8634194185a9638d5a418c59883a3a90019a8675251dcc45a7260ef45ef3bf534fa49c0c57e2efe657aa92d5b91c98a4b51b5535d4ef2b94f4975fbee4b052ff3e5856ee5be0d24b96f070b3bd9c8f05df4c203ef06e79d0c4e1254e65b573cf044fa59546c791cf06a20280b65b493c5a32047bf4489f94b5c9063090a3420c85f5bcdd9c889434b64eaabc939bfb405859d8c2459bcee65f23117e673636d6e92498e516bf40ba1ec915b9908ae60e1ec6c62126c96c0e5a96d22b1e3e3de8dc28d068dbde48c24527c17e4e865ab417eefc2b1c4383f0d3208782d80a9af5615c7b759ee22a573c351f4e545f6fb2f6ba118ea62fc4ba7c8b34d894b73090e86cc15b609b59d0f5c95497d2fe4eab146e9db2067aa6f37b070a6821b8d379a72dc4b157d5083d4d75140b6599b885e444d11b6092474789f5b0e62a2bc48d478c3334aa8b4f93d982e49a6b1990d61a8680ae08f9090e6c2c96085f966e9f086cb507ac2a4b1db52d180622ae0453f0aea3ef5a550301412fedaa97026b09cb65f2ac7bdff4ae8d0997e682e67cbb9438e2477f29ec65a3c0908155a24cf084a1a3be4fac89306c568b204fe12193896bde0242adc4291b80dcfc0b1a488ace88e7f818413f63058c86af06e13e377591205c3b3694956b8c6dc7bb6553e913de760cae37363eebde573ef64a16a7067780e23bba298cebdaa069f997b17d6424ceded94cd650a586e3470487dad5cca5fb5159172a862ae5b6e349b13e5f162278b5c1afb29aabd162526b5f7b3ad8acb8d16385b2a0c64164e376ce6db65457aa564d756f72aa3ab5e64884a304e630f40f1899c8d974be98a45ee3d7129fa0ae021f829a7fe41cdfaf3a61add5457bcf2c4f8974e43d1201789ac8880279917457304459163590d7e6ec9c54dd1e0465c2c084911a73641fe1225419009589d7bd3f1fe0598d47f7017b931f7ca7e6bee159f9a7b3550ce6d787bcbec914f63dba52a01c520b96526afc52d29fd930e6d9567a09cfa0b71ee123a61b386b78895e39413494066fe531582dd6eb2b55d41e2e70c97cf5da4a428dc4c719d5fba0243f9b8bd0abb7026c2e90cb88c207ac45592397f3f77765bd9d6b6d428daca4c28535622300bca20b8c58e2097922cce6d02ce814c724025d975a288ba663386369d2ab4ad184b9b315c72617bdc54a122cda081baf56d72b304e22e9b97147aeb0a3763ee2882c7df8af981311740364881945572be8ddd37cb536e406588d5fcf5ad37c79c11a3b596e7b58dbda76ccf091c9073ea2f8b55fc0dc539162553c2ec76dda8a7abc0305355e174633935d2dc522695774b66a6459e59fb4f9e4d92adccb1a22a6a92cf41399f77c5479b6d0a4fd8b3cc4a3e4e8f223ba1a4f98a4cfd7539bf486c9e4b6e2411a80b8692149eb08988de4ace96a71c5a55ec8d05035d566d602ae0a22b16b19121f933b1a9bd0cfdd4de37323ceb09232b0b6ea313cac66499a5b980d07483b322093789044be9081cde2548d515d258298dcda0b8ccfcdfcc66025df69cdc9fb916b97727179040ce94c1bb7ee47e9a8b4998e52a529e6bda2e0cb6c772be7576169c4abb4a2ead2aa2ba556d913fc2b10a85292f47bf544d047b378d1d85294f4c2461e96c14d67e91d440b108b8d869b6a0300a25c9e2bbeda6b1a428880b398deda7824bfe6acc97f3dd2ee4c4a5538d1d6bf467b9e5711ae8b2b3e3596161d2804fe74bb074499e20c782068ea62aa4f0df057992e6ae822139634975a3ccfe34f1c853692c9f7ac34813b480dbcb6e967b17f699c6f2694cfcd3628595ec4f0ffc51f4b3dc559e84a2070f3ca9df6446e01af35be65f79163a3b6675d309f16abbb758d002fe21efa888a75c42559ca9ed9292b0b4f9fdff13b9a83315e022d9791150198ed2a968677babd84e20671025ff90dd7a93034f72949e7027db13d2f84bdccbcc5892458697e1dc588c81428c6f69ee627b7c0ce869097f264151b616c121e547552cd28081622e94ad4c9c32fcb6ca68261bfe65107094c641fc6222eb74b0313c712e6901b36738597505c12082850c458e5f900b403b82b860d2f9fab85f64fa7f5017dc4661c49ba8ae62e9c81c14129060a19cc5547ed9ef0ca9baf6d92026ef3bcd110cd7bd49a478e417e35f602108a93dc85034b604f9be73c59db2706f922cfafb05b9d8a6f3352b8ccab5926aee6db24268ce394321b9a54e11637b0157698e6d2a2094d2f9a42f3e80cc2f5183820117a4e4074c1a1fecb4a0880f422e9ddf2417080664688910199b20173bcdd9ec5d25d597323efbcb54384a9504d566024d90a6f5dc5c0db3dc5c5603662f93bf6449d9ec5d37cdcdb97d999b1330cd2d37a24bfe9235fb2f71a1d0922c72fbc5f8455421bfafcf87087bdba6f648db797cfc97b90818d9cbe435df488d7c20f317d615c8cecc60dcd86623774b7067dd2333f9ec54b8dd1fadab40d95389648ab53365aaba64e1cb57d78d264c8d0533d55dfb64d2d3954c45b39d078d2d64d2f894e717c14a5e9e889fe46b1a07ef78564cfdbe9bdaf9a73e2f981dbf9cae15860925773b328970b1919ded1ecad72f818ffa7c98d05b99d96d0966bacbe63f712a1370ba551d66eb3223319507c34c15328d2daa735eeb3f90fe2ee27fe74459998a3237ddcae40cd9c66516a22c4cf985b24b630571c1e1f0ed768ac86ea1a2898ac0d98789b395195a5ca4f4098c2c93bbadbc1d6dd5c95f2614555e61d268e6e7ce174ef25ca0648248e4d98fab7a783afe88840399afcd37d7bb0f82073c3d7b25ff272b3a36bb783154d201947cb5d87125fe8802c5e5fe927debb6236cdfcce38d8d4c2a275151fc420e79dc210bd9986c65413448dbe7f3ef972ac3b10ae1ec147615abc7a9cbbb60ac4266b685c5da1ec1fdd4a1cd9a305053ffab902b52a784b3c94c33b87bd5b9292e38f18ccdf032f997298f293d9d3fee6b8372e63f4b7923ec2950a1ed5a2cf78b675d5aa0e56b9a6f594c90ce77ea1e828d24cb914d2e62c59b388afa46e914a92aacf22e280ae0e969ac6ac1d920e0afcd2cb5d737a2982f97bc1ab922a1d4e7bff934b8e78312c8d78ef3f858caf3332bcf4f29716935e617633156b604b7d08f42fa79a168cac690985f922232fb055ce889c21bae1c498428ece5b16453b660b8cc4882fcc826d278c111b6c9949614f19afa6b938642353e49e3955a7ecd083b51a9cddf4753e14299117e9a94b8927dfb2f43722830175c9e882e3a1df0a604c7aaef8ef68b896c240abf7799b1b44ce39048cfe21b8979014a9a6f421dd0629a1fff6aacad332a7436862784e6d276452aa2740fce0a7f0a1422a000e3a4fe2fd8d5d74bd2fcea43f93722bfcee6e38fc43bfc9121a4657dbde191af7d68bde145719db34d06d24611d2fc2be5ffa791db8361c8e46fcf7f9f5edbf603c067f181b2e119399d3f055e1e347f3ebb3eb1d9433791d4f0a7288f6eaac46df8051115eb13ef3b0d8a0631662535106d62b210355b10177094c60f8652e413453c2a406ea9f8d05199e0acba8ab1575731cf56d69e3d268da75d9100641a1f36d69ecfadb56792796aedb9ba7e90e983276abc1a1d4cc8d5d70f14aebd7ee03eb57e4095f939dede8a7844cbf7961435dc8964b1364e95fe29df9b53e6a9bfd88e0556588a5ee0f050bfed645bb595cc7f1e0dd9bdca4b0005f79418f9fcf02293ca6e0bc1caf01860fba7eb9a3e8dc4f95411978290d22993dc55555e49915e103239dde890fba5b824234b8cb725b90588c3c03cfca07e12a7682b07ca7e29f85b59596ee545c2cbdc74e79212bfb041397fcba4a24a24b7166401ec6477f273378d813685bab67de367887aced9b8561fd2ae975a206acfb39a973368d7a26435ed6d18e81a59c06e11df41aadd5f3c23be43d41be6f51e1685aa4504579346d6bf67af87b7dbbf4588ef10f5646f09e23b04fe3712f11d82576c9d7e56b387ab512ceb56804a3a861a216a01ebedcad74a11f54481e94f49fb5e9b37752c5ac85e2dee6f2b429321dab5d0eaf8666b62590f93d540f5c3526214acb25eaccd5f14b4bf4b65316ac3a06eed9af0761dea0d75eee07e2ea23d3e84ae72289b2040578d2ba2bd81688fd007d25c8607937ecbea5fb3ba448fbb5a5eaa3be4c1a4dbb54d6b8f49acace696cc5fa9a26b67196e262d04456d7d0cd4c8b15948a1ea5f744db8015520d6c50b03eb1d1109fedb78ffa82d7b9c0d38cad4fab822dbe75f9070c6fbf98242c359d0423ca285b85d77dbe22b264261f996a0e158436949f6f34a4d639cca54244c8a78e1253e591ff964201c0a074738ea17e130981f9c5c4854ed3d0ac666f946a261e8f1fa28b7eba26663c7a2a750a7b7615e9ff6235c4bca68b37cd4c2aed57b5d7d241c5f07c2b04782868441f3bb11c10f9589f6466364420c9509afbd451818b7a130cab3337b7a7ab5a8fc26ee8dc71c2c6a72b635116ef23305b74d9a8b16671b1e785ebf9bace2d9d9eff5dad54a0d7bf6797f2003d313e17e7e8af8f974b265490858e8ac96c2d1f21458be1cf2932503f340d2862a12c6fc94f0ac12fed4cefdbaaa8e937de59cc1a6ca8f9fbf62616860e0182fa8fddc0d4d5f40ebbea45ff8c13a0747bca46361f19245af8f163dd01e89fd9cc7d3950ca549180933f262d1685be013fec227fc4058a00b16251c46d470debae42423ce2122e18cf673192fa3e3ea22ec06dbe828d32bb48d51436d4ca0df483c1c2b5a1fb7f140dec8fddcea90d176a88ca2fd7cd1010775e61305872c5ff12f603dce3ce92a97985444daacfcdd6627b7ec4c94779faf1fb8e6e119a820f32b36055d9b7d2bcea656e6f7fcf3cb5a8517c02aa3cca72cc9e77cc8eefe9bb39fdd7fa386fb17f27bfff9ae817e5b02a3cd8e0cbf2ae64869fb32df8299db86da0c4fbf11787a9e8d3db6387a9ef72b683891200d9df79d91801db3276390190eceb33e052d6721595c84f96a303d428ca5e7a958043fee1ff0275a2da677745fb89a4b8500524898f46bea37e2fb5cff381f79db5011047ee6634a1b2fced6dd6383fc337d0a0d75ec022df7377f6be4aba92aaea12ede2c4a8881aa5c562c7301b3d793a9c2cbe36c8e7e032a11ece37ed99acbafcd51d66af475f1082e0e4eac8b9058036189233e26cf9fcf55b6587a3e108b60e8d1a9f5511fcc9770c0c1792e67c18ed9d371081a0e2fe943e77c3a8b8bd0727e3a77c1d3f3640c821bf7f940bfac4e0e8697d177fea77318cc59e650d7dec25a2c8392477e2eb75eaf9b9f21841b4fc8ced7ad54185aec24b659e66223f609756a72b1d9ec2e89fa7d0ac5d9f4fbef072630b5e9d5f245c7f4c5cfe75e19edab2ce6fb12fa0f59fef0140f7fcbd310a862a0efa6894e7310a8a3375d1dbbab99131aeae821ff640acd9d7bffad3a36c231fd0d7e6feb7c4e7f3a9f7d117f61f3de82fcdc777e3f87aec24b1dd6e0d8161fbf9663b4c4ca35fddd3154f266d21ca1ab6302616f77fa527bc7c9c2f445c750477558289d4ffd28a55c6c56895bf228f6c437def8bad68abaf77993f68a7d1f31f9a0678569bef169f8be78b55063ea59619ec7884d79947b152fa6f7e381af4947256fc0fa86ca7cf3693ebcc2a762f064beafa52325dce062c677be9afc56e299d3ed397b44d91ce7afb35747b33560843f789a26cc3ccdf96b4dbc5ab3afc01110268d3a9791e2c8e79a7c5deab3ba8e5bcfe31e73e6ee4bf829e6f1f659f71c57165ba3fcfef3baffbbf3f78aaf41f8f1a7e9c5e489071093693e92e62bff802e7d9e8f213ee72bf094b03032cbd67cbe849faf982b6bbad29ae7be5e573eed6f87e8cae7f918a62b9fc7334c57be809f25caaf9567d815cc59f4f65d028f3e72682f39c7f4859bae71e9dc853dcfde68d709935f56cfe67f7eafe44e533e47a0cffd23629d4abfc639c20e38b369bd6d275ce296cf8f957b047ef3bc50e129c4dd5f80d0c33bafe5fd47e51d03a90ffb92319f35e8f902bf56e1f5fc35bc465fc5ebb9c92bc297397bea5e1390d84b78065290ebd8fc71cfd13daed4a62394ffb09795b6ece476bf67cecff9df3c7064beb90f5eed8ea57c3fe37ed752218beff7fb7f4a5f7c5f3b646e7b644ec17dafde1954c473589eefbeb7176e54819bc76e585a8bdffbf837f1774cb5c76439744d95c7ada91ef422ae6de26ccbba4716f7b8b56c9fe50078bdca74a50fe6aa01b31c6fac8ee56bd60f3f15a1eef1597bdca1c81b2a3531d9fa5ac7f8ddf5a60ff6b9013b9f5ff13417bff7e9daa8218bf23ec7fc7ecdf6384d7ff31a0ee7e4f165839e367f7df222ea70be486fb4dfe147ea701f7e02cbfb5daf7aed3e9b9f7e83ce684ff9932f88f5b335e7aff1275f3db71cd279b1e52bb0ba56ea4d1f5cbd0ef78b7dc96f9863eaf496fc177789b6ecf6865c6b3c10a1ee45692e50c15fdc337ce06f3cf23e8d55b856c750cf6c07db37e22506d357742cef1c029a73f6553bbcdfe3cd277ceb2ed59c565385ee5ab5635d83289ca420a1d67f529cd83eb490d8e83e9a10984b50bb2ff241a33bde60e469b2859fa2e0d9f6b235dc722ceef7eeea2ae3a0c674bd2343939a5cf0f40a479d12303c46454e8bed0b818a934f3e9e36e50436aba0fa7a02ab13e0888a595359e5f72ea278051ef030bc1677a411637ed996b1b114cefaeeedb69ebfc2f53cdb5b3aaf8f6ed0036b341cd65b1f2c7a382cab0f16351c96de078b1c0e4bee83450c87b5ed83950c87c5f7c18a87c35af5c18a86c35af4c1ba09089f8586f54afec4f888dccee4909fafc8b6cd04278b8a9c9ff3d7730a275b5fdadd2e69db7e788bf809fa221eaf1f0793658e468cb64dcbb30f05bc333fbb5d363b88f12bf91d866be9ed86e033061457f079bbad67a3118ebf7c9e398742326dfb269ff3756f71ca60cc5fbb6cb1e409698b4d9e84431f4ff2109eb06376e7693e8427aced953c216dafc9131ff7f1b41ac253dcc7132f0de1096b6b254f485b6bf134efd5e11b7f44cc692d7a5e63a1578f539b1904abcbb65c5de3ded71a070162cc56944cf3f3ed0db4eee1ce656c798a8b9e67758297780a83f35cc4c9315045e4fc0e8e562ca8b8d86212ebead807a8788d029e70e491f790a6f4026a7246f3093cfd6861fbed55e56cb2131aa18fb8bb57ab7c8e811a9d4dda46f2aa7b7aa44b98b1d6a6a4e54fcf485e1305f29ee0087db1df52892d3642c643bab4a5784a6fbf3351d38d69607aa8b85a7005e9f5b66151f7c6a6e3e45ced197933d4f13b5647d415aa8621c5ddd56fc4b3c2b147e61dfd81c3535bba9367d5ced6be50fd79298dd3659cccfc2cc745c6e98bb12eb9b480d1b172bc40b6ae3246e50763a02a079dc2c97becd83e32afb8f173e620cc31f1729103e95e44a2f5ecf526ccb76364dd63ee6731fd7852a01417b54f51e517dfdfa5744af070be27ef2f428bee8041092e50f1306c8a490c5671539f6aab985cc34bb3064caea2d98e453910cc3ac69d9247c0133d9c9dde69d02034d9e86ad368ff043c01ea7d7c60fd38f0000b5cac1c1a7b62ed39a5beaf80d1fdfb7df9083f79ff0db98e729c56d7ce1cc042d24a106f8f646d1954db0b2fad48cb43bc5993f5e1d07d8e4a8c7a2760ed71315f5dc3f618d7d09464731875e0105138226cfb0311f17324dfb85aca837548fd5a545b73d25531b035fe6523b9e30d769d8aa8d627d5d6b8b27aa2d9030edf5a1b2dd7327bc625d5a3bc8eabb56ed585e3b1e6391ccfa39eabb6c65bac613efaa3d64d5bb460d67bf3b5af168e728def795e3e5f6f15f3b3c6de4aa997883742b2f6cdbd98871e479dba7fc0f68b85d447a07c99bf4a1afb147719ad3b7009589e186c9fb594e68db87ed8daab388b65d85b730fa81ca3716a439875d3388be14b1d6aef4b75e95e6667f73d839e315bef0abbace278acef0ed2f1277095fa5c936566f7e5daf01dc6eb207a70365bd85d1b0fc25686f2f49bf7a362bebe87d2e733a2fabed3d0b9a9b9b734d4d6d0b83afa10983e3d73d42b9abe217686ece78e3712c4eeb35574ebb7cf553579fc7e1b7b8a9f4abd56c30eb1782a357a5f34677dfe8cd5c13abed6f7effae72c647cb33e2ebaec21aeed6b0d8df1621caecef90ad987c7d316f2d2eb0d435f6fac87e9377cae6aee7976f9759cbee06cb598fbfeb9980fb187fb7be6a973d356dbf68ec483901d4a8fb2bc3bed53cbd7ca7d58ecfba2f7350ae1545b3bbbd76e88793e8ac9b98bfa486c8d05065fb68f8bdbdffd7c5c5b914533a67b4a1ecd7aa1676482e93b402e8d98b72e9bc1fe33afa77afc567d5b0eef5b53de537bcb7847d4650c961bb26fbea680e95bd48ed6e6b47add036eddc79b14b59c9f95d940b97cd8be707d07c905550f31442ed83a0a64cd846f55f3ed477d05aaae3261dab532dd7920cdfbed9a9ef5111fcbda8980c2d1d15e44d5ef60e9a9eec1dcfd8a8f9b77b721dfaaf779d4b2a1f3ca69470d17b2cfa1d6a75d8783be036f46dcdab5590f3c9f3eefe95bb7865fead18d45c3ff0dd48fc63ac1301de171b83afa34fdf3005dd9a169ebd417647edaa733af989ad23ebdc1e6f8bdba83ae07fdc7ea34e9465edcaf5b08bbed8ee7adb89ec7dc75a4ab4f82e9d3ad57289f82c74122711c399c1e12d9386b1fd02944bde9a3ae125d4bda189776ad28b2dfadd9efc3fad4a333e7a77466f9119d893ea033c83edd3a83a0ad5b671038fa74e6e9b9ab99670fd61964fe364067ce9d3ad3965d62b08c6bd256c86be55d928e03d809bd39bebef1b357c25abebdf1fe74b45a366b189075550f783e12dee8c3f0e8263ceeb69fbdc6293c61391dade6e9e7e9a05a9412c65a12cbb7924f7a9aef24a7f84edfdc49e1df9ea55368c9514ce16472dc6474bebeb56a540ef0d3f1c583a77bdc50e5eb96e2fdb89c5658989b0fc3e451302bf217efe38b9257cbdefc02464c94e7c5f3f7c4f37179c961663a93ebe0d3f4ca287a8987fe75e8cbefcd391f3652e47035beb3770f3f2ccb72ceffda716fd9c857d8f2b6136e97ed75f04f22f8ffe2311f34aee7af1fd7e8ebc775f99bc6b503eec7c7b5c5ffc07145d0bae4e03ebf8bc833539ab5b7175d530833a9bcf11f93e38de7048015a179acbdfd9fc66f57938d10f48a572bcd4b8bbb9710f34eb1b699b629ef6542c622451e93e7b8e53d6f087879cc204deff73921da646bafbc56dc218789b1ca5887d7ee77cc61f7b4caf8268f418a3bb03070f3b56022da9777d461da65f199c415f76662e23abfc80b25ee71af262e172dd7c725ae72ef152e5eccd7bf79bfbc9713873f1bdfbb2cd71226772ee9dc11d17d9c0f44af3cd712f3a015df3e1ff3dd43a6783a0a7afd92de1eb9ee88b8426fdc4f2f57a517d7bea4377ed08b1b87c7fd65eb1de965753a03ef31fbf41a7a61bbf99db558fb2dec2d5f77e8b0b9bb9de7f086d97a190775d87b6ecbf9ba4ca73d977697c3ecb6bdbbede77087dbff7d7da8db07e4b69dc7a49df65dda61be26d6638ba52fc8e10ef707f7d8b8db2794b65391f5107baf8df7209b5fd4e91960f7d531edb5fd4395fe7efb6fd03fc007ac9af4f7fa813afdc37d41d5367bfdc1ef8de1733bcceeb41de02bb4529711f67fd7e3acddfd7ed74ebb2bd69a06f88992be6e9d9216151a7b743c6ffb8c8fa8d28a6b9fd37bb8d3dbad43d2aa42ef00fff0a0b7579ff9438d5e5cfb8cde42164ff806f2eea7b0ed1ff3415376618faf2fda0ff60ba5ac439ccf2ce785860cb1edef3e7677cf439ff0096469bb78f88ffbd5c3b50acafaa86177237fc139fa7c1ecbd608739ca87b7ef2b1c86a5586c507d163ee42ae1396f356b93659ccb588b6397d8b077dbdb1c19d469c5d967446353a71ebb4775a17755afbe282925eccb817f4c6157a71fa54d21bd7e81d121354e9c5b4cfe8dde5b2c8e218fc5c5dd291af053c1b0f5468c1fb893c562adae7be100fbff0570f590f8b05a28abfc2aeb53ffc557187c1dd5f758f67d1fe23714034f07d05e41afa111c0307f8a837bb5e2f3aa5bfe89ee2993407f75476cf2b34fdedcbeaf07ad8506260d1d3b3aeb92f36cb1c4c1655bb29781b8ff1f2fb5e8533509938bb8f9445d59909de3e0e5e4c2a8d5d50f72b08e7078cac961ed5e681a7183b14cfba1f1e4d5671acfcbecb13f2dedb479b2faa4b128a7b77fa79a8b5ebe2238f67fb79a9b7fb276a898ef97d31437825bfeb5404756df5529cc340b53b54dba5beca40deb79cdd27f3413e3b7919a47bd9badc205ea261bc2c9bbc20de0af622b85f86aea109379365c61b0f9c8186b22f7829ee82f34c5619ed2bf66ba8e3fcbe3715d737fdfe2dccd605e930ebbf392edef8ddd4b135f1baa16a31c3adf8fc78fb00f5c6714af7acac05cce0e7f7fee0789c6567bf48531d7f2f3ebb86c6419d2eee904cfda24a5e10fa9fd1bbd6b8ab5dd0be56c5c0f28ab7f08e416cd2a87b52729e6d9a73ac65d14fb3635d7b7dc9bfebe0894edb4d4b3a69cb636e1b6f7cede997b55b6b1cb43d25b628a5dedfcf708796a75040e3927e398d2a6d917c23da6161c6266df5c16bb469c33234119a1a1f5ab4e858bef85dcfee751985c5f72f05aec4669918756f64d91fa863774f316743b52f6b15124025934d315ee96f081d086c5609ad983c02754c64f7ee377097f7bf76f43de89a00331bd242c764a16f1ec8fcb724a8fcd6c9770c34f1682c5bfd137bc9419b1550fe3b016ae4ad3581d0358eb8f39de1d37b656651ca191c48687a0f7967df1d83620c950baa86b0e8d79257d1b7fc1eb54f91d215ea1e93d29dddabdae8db29ab02ef5d1e4d7e1f3244c8d957129b85de7e57ca23fc656b0261a8609c9d3d2de2975e3d7bc0c9e456f99cdd879ff2dea36f55bcf99de63e9a960ebdabb4e7a0bdb4b373dc485a7ce1a6ab02acb443f8b380b4683100be1bea5a7eeff09eaa7c97bd55a05cec7990582c73043bd2c9efd045ce6125fd2d5baec0297c66aeb7b8b705f27b45531dbcdbc4501957fadf658c8051fe867b9f21bbcff6003491cecfe8977ee53146163d75744a0e754f216c4a816637ac526e28993c2bdba6bfa88e3961790aa153a8f9baa80d92a6df8bfa1d747e5ed4f6f05a98d7dd1c4f11ea3ed8bc268788f7540e777344d8fd1da7f0c089b8ebacc4292cef3851ba51e2241f3851f9458913dc710a88b1b9e3a4ef3851f7359438470f9c1db25523c7a2c53bdeecbc34f2de8d428769ee6ac7c4ad8875f2cfe87323855fb6e3a2b6a9faf985c7cfd189b1e402d33b87fc3d5e114e96072f46179eb24d4c44256d16e5c4863a7e4ff3b0cfd6f6943191453f1fa3e679d007e3d438c3f9e5b16a4ed333f16a7e2fea8763d60a1f4fc7adb34adfa762d7d72acd1f8c5fe5368ccfc4b03bac1c3e1ec7e2613e19cb16f5e49f886773bdfa4c4cbb42d2f0545c9bcbe373b1ed0c0963707c5b93c3d3316e7d1c9e8f7357a8fe4fc4ba32aaff53f12e8affa762de5cfe5f10f7e6b2fc92d8f780a7e9b9f87784a7e98331702eefaf8a83ebfaf7e158b86e431f8f870f3838cfc5c475dff4d9b8182ba38fc5c638590d8a8f8bda95213172f176c69038b978d36240acccd7f177c5cbb31afece98b98ebf2b6ed66bf83b63e7b886bf337eaee3ef8ba1b7351a86c6d195386c782c5d9bef9f88a76b71d473317595ce6a5cfd7bcf54e5f84ced233137f91db030b1d8c8d94b41607af9bc96af33636595c5d659dff4f3fc14ade68bb7a28eb4cecf3cfffc785b13550756d07f3fdbfb64bcddb9de899a178af1f126f49d8746ac9efe861fef2266d63e186b37fa99de248b97fbf055e2d8524679dc3f0f9a6bc9f85ca9c8416a71fb57af1757e8032c8c812a146f2c66f94d0c34002d5f40dd5b51c6a8656c13e262e4621d0aa5df59bb625ec5f61f1c63b7d77ef1f1e11d37e7a4715e9ebb92ed18fdb1568a87a195f3d91b8a8627e26b121d1fe36393bc7f537ef5d81c22e7eb323eaebec3f799d8fac17746d3c67bc8b58b6f84dcf2fe9d31c22326bcc776da17c5d5dd70d0b2acc6ae1579a2e3737c7c57695f89ef30703e1c53f7c163f237dcb06fe666f122c2e687cbbc02a794f957c4d3485a3a72980a8c4a0e83a26590ac1ff16f55d65f184b23f9ebca3feff171fe7e5911f3a1e6f432e6ccea0407c6d1e42336ee884df9b88a1b75cf73897b5bc5dd13433f70a3ee5abdc7c5872a6ed45dba256eab8abb277e7ee0de74c8dc6499c4aec9ddcdee71ea8d836795f97878ecdcec831abb66fc7babc453653cddb5c6fa88b92bf83e1237f7c6c61fa89958abd12762e3e877c4c6e7a763e3e56762e3e8e3b1f1876a28dafd3e101b9fbf3436ee94df8762e3f317c5c6e74fc6c6d8fe8363e3765dc393b171f4f9d8f813b51555fc1f888dcf9f8b8d5bb89f8b8d979f8c8d9bfd9f8d8dbfa4d6a217ce13b171f445b13106ce8763e33e784fc5c6e72f898dbfa2f6e280a6e5e9d8185debf0c1d838facad818c9dfc0d8f83c38365e0e8d8da3a1b1f179706c3cb026a38abb27363e0f8e8d974363e3e899d8f8fc81d8f8fc81d8b8d967606c1c7d34363e2363e3364ed7f4ab71eef88a9e47c50055678182a7d7e071679312de51ed0c9543c6caba175d752a44d260d762f27bec4de82a7746c6534bb18aa3abdd71df3aaf20a773c5d944c93bbb977542a3fa60625dd72ee2ba6cfcb5699bae5ded7714ff44e657964a581b335f74742f828fdfd0f4de63d54c27951b9adf7a1b341f44083c3802aaf8bdec97d261d24a3a27047b5671377459339fdfd9fde91a21b6a89179c82caf7747e9d5ae594b54e8096adcd95513eec164274703b1cf065878c0d71b75e8b9b66de2b8eb3afe5c8c48347175b5d5e306cf0f9d80c8bb3752f88fdaa176bfac161eaff7a57ea069946b6d30b650af7d6adb4247be59b18303e9a773b4d5ac1f6bda44d90e63cb6b35d7dbe2cc74d13772f6ea84b4e78167680e04f3f0fed66d7687f6ef3d1fe39ad9bad143b6d8fc9d751bfb783dfaae0df5cfcdb6777fdb6523046e7fb05bd7c9c17e1ad97697e698d1b9cbefd678795acf913887fbebc65836fd6d9f8de4385ed13c3cade3e460bffdf9b534f1d25813ebf2dbe7c131c6a1deb62b6668b61decb39f8e351a7d8af1418e2dcb23db0ef0d7e78fc71caf689c39dc4edd79c405d157f86a240fcfc51e99ac4bfc675d83575b4bf3daecb7eff7f552e9f5c669a873b2208b8f4d8a21f2f37adbefda30ddf32c3ff44c76e2d8f3a038431ffeddf677c835c3cb03671e677fbe76fa56d6d05e756dfb929ff71e4c4f5cd69e643415e74837e464d85ce28deab8b3f969f0bd01394fbbfb6fce7ed67fa740c6af76977f7e6e7928bdfeaadaf7e9b12bf6293ec26b373fcb4ff0b3fc0c3f518b1fc43aa263fa7c68514a6ca8e03bf026177b467aba4a06e6d27d59abcccd62531f228c2d5a84e62e9aa5f41a04e9e864f19d0caea6bf3deb1a80a607e3153b86fbe5e3f39a75a0b904d066e151df4527a04614d0c440a7166fa6a790601791baaf5ceca57cb6bcc9c1a4c5eb9a1d5f6df6c7d9a214dfa4e4375b75cfbac605ba7a3b5b1473b16232011a17a0de1fc4f10228e56a7976a0ef227c5f1a2636ab846bad5b2ebd343ce040cb83de9eca6414028f090d351a6ffcfc7bf49a9808d7b3c6f7ac7005acd2a2634b4d2e163539eb1a7f36d5c9455785eb9a25afa637c9d7b850f73c5013d2f220ccfc1c3526d62a704c159ef7523037e9945f255e2d8a312cdb1ea2d0a4c6d7bcde13a56f9531d65a7051635efdae774c4b5d6ac9d16328a08e03eb30bd00cd21d66cf9394a74759c94f247c8d9b153bd649904019330582593e9109db9b769f3ed037512030a3aeb25960ec2504998d516d6fbe6dfc778bcba37714d6a1cb4e877b92b6027176337159459477f8a391b9a909fe76ee881ae4681458bd7d582943b68f7758d7352bd03cb36eff7dfba68f098c4a094d8f6e0d944e877fd77f95cd8236a1fa8ec5bbe7111d82c7336906f3e8364ad8eaf96473a6649f7fd6d97f2fbe7723f447e171473efb55843cedefa3034d13159887a6bd8b362f262d25ca8abe59c5fe3a7f82dfacd75a36e3e87d6640289541f74541ee5f3a1e94d625365cef9fcf9399a3be96a8dd550ba223c5ded71287f2bfbd0e5b93061fe8abc87ac1c639b2af7ecd1ef7e03df8ada6d17b8b671bbed0ad73669b745bf590e7c8b68b7dde2da92edb632ae2dd56eabe3dad24fc86cd46efb866b3b6eb7756ffce76d196597bd7a51b5ff21ba816e8fd70f747bbc8ea0dbe3f504dd1eaf2be8f6787d41b7c7ebcc93f21ca1dbe37507dd3ed39fdf9af320fce700dd42b44d906dbde2bd94c277dab0bcab909f236b8be8fccebf67f4aa4d0b8fa5658ba285c0d122ec50b474e914422e471c2d168a161a47cb6686a2a54b9fdab46ca4d7af7803f3e18f964365b942b5c5f25aec2f3ee18bdaf3258f953b8fa225c1eac00c454b971f42ccdd128e161d450b85a52546d1d2e583dab46cd036edd9898ba2659cd282aabd32fd2969cfc8186802b497e7949e83414122cfd915c7f2988b4ec979ee2f9d43539dbc207f43be31a310363bc9eade2c4a2136c753d11f5c755a49d62abc989e12b7f2d4265df3d3cb5a25affb03e99994405a311998de38cd3d0ff7da857978d355d135d4b18fae8d788bf694037bee583df17ef838c38fb96bcf980bdf1fb59522e68ebd37a2826f84c32768157c12c0c10af9a352c1b92239145d3382e4970f7882847cc3f5b496d298ec4e1b2dec50b9f85bf63e6c5566983761f35ad31991ce05df33dfa3f6f6a18c1911d7783f2a14aaf6c5f6de42419a5678976fb687a825f3419b2f0da06af5a892d607ccd42721dbe679c55d168d3b1ea457342ddefd8eb37bdbfc336acc525d76d2dcb8a22fc1fdbbcfdf17f856c48403743f3fe73b40fff3f3a6436ca0811b6f07bb06ee4e5b901bf83bec615687db65130d5a3beda229d37edb28ce083f631f4d9974dac86b4326dd76d2e2b5d3569ab087d94b8ee3499b89eb3c0fb19b3a2f15dbf9bd7befa7fc6cc120bbaab6c3ddb37bcacf9fdcdb11585b99d5da75d9548d3e0167cfb9aed568c4e9be90dfa93ed09ec88ace58381b2ddff2afe908aa6d6e3ba56e91cfda529d3fbcbe937c5dbe2446d7d3b674036ebf1d35f844db426633d53e8df31c58fb3bad5586b4d91f353cc36ca832561ebc18ac121b9af8056b6e6fd9ddce0fda71772fbfc5f576b8bb8bdf927abbaeb9a7dacec1b523ebed1614ce9ed6d2aad1b673de39d7746886b1a724abb97fd8532263ec69716bc01c36e72c11ba83a2259b17dafce1e710f9566fdb37df44355f806f8be2738a9cf7721f5eedf3f45c53c11364e7abd03655dac3b63656863a3e018d0b6cd45bfabe18ebaaf00e54f1bbc9a679500a2fab3f0f4ccf7a591f19f47de84bced1a91082194964742dc333d0c4ec5c4cbe6f062f203985ebe32b89798ba0c0bb0d4d55f1750dd9ffc21f15683e393fa2deecb03ce66850454d1c15417b99bf116eb1cc31cbc50ea3a88f4e9bcddf4428deff69cb6a37ba092afa0ef6077e12026a8187715c65f2faadfb1e55d9e3e4dec78726e677c5e76f377c4e16dd63fff9b71b1eba7afef4d87f56cf77581ae24c5ec83bf3df428b9a9c8dcc46b3baad87efc0b4b7594898acd26ebf1bc5c8330c6c76feefb6d7c2a29eece1d7d6c7cfd7f63c7828ede7193e64749f3e5ef2bc04c9cfefdd578c4e6b4db89a2c7473fb789257e418ac48842d9d8d197934e9e91889673722bf60fd35c59198541414f693d5bf56e224d4fb14a7d43fd86c5677fc917143e0595c0464ed5bda2efc6eb3cac89e912e5085abe531f99952ecf98fb4cff98cf9fe25abf989dbef4364df270165684260b38abba753db1e2786f6b8dfd2a4576febe382b4e229d43501a6733272dcd4f1fbc673b2b7253f0f8739da2ca48016a6bef56251b0e03fd5c149bc9a8d2241e3df80ca24604706a83315056ff9ba253d10ce31bcda9a98e9eae6c8dcf6b3a96bd22201d4ed9b4e2b69fe78b117795f24ed9a40a4e36cd1f79a81d05ec21bc0d7d586765caedf55735f4cace89134af85359bc5be8ba359f19eaaed61e1f2dfd04e84067e5c6c4fd2c2b28e7fb3c4e2271bf8b179b0a95954a36d827d6f45b3e8465ba2838651a32d25e0db8e1b6dc71df4e6e7f71b6351d4e97d36b62b74a25cb71aa817f9dc3058378a35a281fac12368e9d091599b962e3d41d0d2a92b88f69dfa8268dfa93388f69d7a8368dfaf3b88f1fa276a7453fc8f759cc1ba1536c707af2b591d6f5d0ff1b248da7474ea55930edc1a5c6827729b0eecda3649e7f7c03ca3534dbab71db4bcb568113af8dcb4e53d449f1a7dbeecfd9c873f5a36e589592fd4acfc3db69a7c70eb4f249dbf9df5842f6ad0d1619b449b0edc7a14490bbb161d3d7ea8099befa0db6ad33dc7d3b299b568e9f1414d5a5cdc7a5a68c7e55de88d3e457c89e893c61d7db64ff37ed8377e344fdfdbe0d6d9d318a3cfbe69a1420f6e8c32bd5d56ce0522d7dfac903f4e1f67528ec8b53d7a2dadc8fdfdfc157afdd18e89a4822fc1e24b8407be84c7e0e389073e9ec0e0232af8081c3e417af087d937a0d7927e7be0d391766dc7045dc14763f125ca031f7a5d955e4b6f157c6f387ce30abe31569ed26b05166e9dd50a6dd6092c4faccafec227d9ffd0346a226dc62461b03006cbc7980947fd221c754a385ae87ed95ec0e4de3edf07f8745c58c678fd7678a8b5c3db625c6b87b7c759ad1dde261bf475da651d66876de671f010fbcccf070fb0d13aee0e3be5ebb83b6cb58ebbc35eebb83b6cb6ce7797ddd67177d86e1d7787fdca75dc1d365cc7dd61c775dc9db65c87d967cfdbe6183d61d3f5f11d66d73f6a7d0adbfead317b51033ac4eec387dc706fa2e631775fec54d47a0eb1f90a4eec1e1ebd9616b72a5e1eabcfab7abb4e7bafb6c3e9285f8797e0e0f149bd5d97ad57db6d31edb635bc027acf90cef7f3c881765e6987958b556f87e5d722ebedba6cfcd16e83e5c3adb7c3f291ed19864fd9b756f1d5f128b7ee18d367695fd79a783234ceb5e22a1e9d5a67b6add3681ff5b803fd83b6dd6dbfcb41f67b1e66bfd130fb1d1247efaa38fbec371a68bfd140fb8d06da6f34d07ea381f61b0db4df68a0fd4603ed371a68bfd140fb8d06da6f34d07ea3a1f67b7eca7e971fb6dff3f3f61bb5ec17716f190534ce33d909bdd6406051f090ed2dd2005a1e389bb4f5627b303130774954da85060b5dc02a973df580b9f19c00b022f23d956adf340f30a9e85cebeba73e6682bcd7aadab7a873cdf65b80175ded045b47f1681393230cbfe17e9eef0361eec4a8c3504bfec2daf743f9decfc844a7b9abc9464d1acaef7bc6ecadcd7f863fcbbb7afabae1636c6bfdc71bff2e9b5e18a8715f6bee4bf97d8f0cc76bad1ce7260dc3c67fbfcbf5bd89ff8b72cd2a4d77bd28de85a9e8ea407995fa92e7a5559d3d19aae8a2ef83acf255c864d6ea3f4c5f2a717bd5c671f5790d5dc5f2bfd6de06fb89fd8c2c781d35e948f57ea01cdeee3e03454bf95bbffd22e591d231c4878c1f3e446ec39006fb9131562f523b18ea4b76a52fb9a16819e84fdc6a0d74838edca7fcdefa0ad47c94ed5f54757da85c1f7aa67dcad6c20fcf4b71a3ef20bffcf6f0cbbb7aff0fdb99f6d9f9e9d68631d43f57de54fab48d7dc13cd5a2431aaa0f6ec5e7b4603c6b5f2166befa748e55a5aba247e74fce57e7cfc475f95db78ff966a07fbec7b19f9bab5ab1d5f3f15d83ffd40e07c637a38a1f69c1787a9e5a7e32cedb35697087fb935dc59f3463b58fcc519f8cf75ae32a15fe04f536292d3a360b8f7b7a7abdd73ef902a16b22f2de0dcb53cee96fb6a77cb7d8c9bd7eabf23d42e6ccc1a226675b13610d4fe57bd479d9eccece657833692128de6028befb74ec9ad82c43186abeb65be3a39007829e18a89193d59ce57b1855ba1ebfa1cedaaa5c6252116917b15015dfe337e41d5f953b4dab72cbbfffcd67a81e32d26abc16df23eeddf13968a6bf69207b03ed23fad1ec374c3ef53ec5ddc69f3f1f53da41b6c6f0ac7d6467473ea623f57e8eee67f72f12e83bfcee7729a2ec0421b31fc579d94956b76e2f5d746d6ebeaf7acd6ab53571bc398c50f7aa5fb33dda0aac35f22dd01fa1904cbf9b79ed38b1974e1701354fc504d5c049a171ca0d9c28ddf8110af3064e94ffccf7e3ab381334ce550327eabd9354b6759c18d9de04ad86f386ac0d8e891b7f54eaf0e6c89ae8ebba8e1775ff406c66be4d0e85b9f2dd5e728ee90b9e497361f60e0dcb1060f74608aa08418c789bf5de26d38ba256165c2d8f78b1bc496a0ff0e7dcbd0156f17fa2e699a2cd5a5a248286ebbf4806e08f36f3298efef43717a856d0c53f7f5c9165fd31f026b12905e56fa7f4b77e1e56345e062b9a677b794878093b06e96f390f9f3d5ffec04714fbee189ab70378768b3d57b4dc36d200b94b3cd90523fd7d80fe8c8a7d629c0e8d06c83f2ecfa963c620e68fca003db23a6592fedecf0f1f758f0d1f9536f17bcf47d57425c4f124ccfbe5b2c9cf217fce4774d0f0849e74c0781b40c72aeea463a8afe8a263b88ee061248b828ecfe7c80f9cdb7cefe833f344b607f4597f81a521e29301365aee6d7d72bee880f184afc0c310920174248b2e3a1ef3062abef42247a7cee1469a7e2fcedabc589e7dd0776fb7f5fcf5cccf6e97cd0ef5263b77d655e13d8ff3f2732d1b9ff3756f71e267b7aceffaf886a2fb60a6f14d5e0f7834a9e86aa53130c5393f737cb7f56c44a3f4bea45538e269150e5db4ca1db4ca5db4121db4125db4f2099e561e6527775a571db4aeba688d3a688d3a699d2b785ae748f9d0060bcbd8afc479b2a8a8c0299fb33aef1d46877cfb64643ea5a2439e93986cce2bb7bb65e7e5d7b3d10845b74d394116b756646c2c857341375ccf17b79486f511693f25ed541fed489dbad32ef7d14e76d23eefa37ddb457bd2473b52c7eeb4affa688fbb68e7a53eda17783da54bba4f471e7d2fda05a84cbc56737bb8d379e0235e429db3141dcb3b8780e69cbd56819df0a8bc2d34d46dabad20c9a81ccab73c665cc14f0b898dba4f3d3097005afe031ee6cdb173768e75462646760f367797e18a621c1d7987cae49abfb150a523ab36449ee7cccfa2dbb1aec10a6c0522d72b3dc5b1d2f93fd5a78a2cc051f4045647bd05d76eeb01d41dd1aeae71ef6b8d836059692b5937613e45b58f812a56e8059e90e67de8f399d9f973cb53dc8a3c3c70b4620179eff3248d35fc3acd3a85b9abd237a9a80ed75ba1ef4bf42134d9e86adf7539c8fa768cf918a8d1d9a4ed2a9f0770649c0d2ace5b2ab1c546b0a27b2490b8a32ea1cff166e3ae4d49cb9f9eabbcead296e2291d75eeb418a369766ef841d396e4e7af23d4bddd063b21daedd3b1620ea875148b8597aaad034f1ff1ac805a472d657433d4f17b5dfe8b04cc1136f7b07908d4f1839e6491088945a2de4644b41deb924b23d7800a3d6bf78110a8dc11251fd363a89aff99bf46fa718bb2a35cf62a77b655a502fbf526ccb763e45aa01791a0e6db641aa86297be1dcca552d59fb1e009a9bd62f5076802d1a289125ca00a1e8a5f9b6212235b6b6df6d1a9d42fa0f878f4b1b3b5e9ca58c30d0b5c805ab7f36dc7a21c08d036e4014f807a177d4d3fe401177822e61d86e86a1daa77fc9573e4e38e2544dce69773d55a726f7b2abb67c3cfdf19cddfd97922b6aec07a1b0e6bd607cb1a0c4b40c7a61558fa7058e898bc024b1e0eab575edbe1b07ae5c50f868589e52bb056c361f5ca6b311c56afbc5ec9c1b0d039c001c464350f386477bcd0e53bbc9df1e5189d8f586119636ed2f838bb23c7cedf46cedf4ec3e719b831d5ca98176f034fe40e559ea92779a6fa7816a4e778c6dac49d67bc4d3c917354794e9ee439e9e3993f3ec733d646ee3ce36de4995c05c46499afa0f93df037f49dd1a98d8da1aeadc23cbf0e31fc9d8ebcb440bd199ce22e62842296c7f547e73869ff6a9e83a39f1490f1644a7f375e21b1506fd3a5781fb90da62f26374afbb6f3230c0c5d651c1cdf2635b9f4d1af53c838b44a439173a1f5089753a57addc8ab30b217b21c0b1c31f144a1cb78fc001993657695af05de748d83a62fe26c2b5f8ba7a74e763f0deabd78cf0a01cbc4464ce6f91946961d795d2acfeebe9e4ef0128fdad3ad8e451f0c9a3f2ab8f1bca67c024ae9ea8fcb07d3fe454e881f071d73177c2abfbdaa9c4d7642e3fa036a7246bef99fea519183f4c1e8ca2353388f5c12d33f5120ef090e6abfb94a472f1c6a410847c143e55e155d2a723c1c0c7cfe99c2a8e5a05d3aa5ae5079573a9e3df881b7994f8fa83a8e9a2cf2dc166bdbf8bc35f5ad8ddc153b37f0b490c8a8dc3dd3cb6c2fc7c7faf668a32ec64282cb571e6b45791e86d30d7cbe9bfbba2ce7ed981f998330c7d190cba1c86d3b606c898d8a9ba78adc133b3f62f3e4aa7f2972659c0c5c4aa7d039f043274468d1db1e5e842360154c0e9ef9fc32cfeda6a723bfcee3aa668e8d83238fd23c1867f78ffcf9bed6d5a1efe0085454fd4b8daf1e3f8ecdcbd3b1aae4e498d8ee7ebf2b72ed8a02f778ecfc02bcc9d1d678c4dd77f95d74658e74bf9b8eea8bf9ca7ed5b86f089e7afb9c4eaeba4615a1ea854a7e0a9f9ac52a1baf78a7a3fd3ec729abfd3c54634a17818b4f78d4bdd3052e53856ed9b79f2f3200b392ae960c317167d977280e1c1f168daa252bf9b028784efb0f90571187ae1038dc316abebdcbaa9c2786e36ac4be089c983d82c7f83cf60a06e0abc4c90819662726fbf9cbf20ba9b82f11715724a67d4e4365bf04a80af21eed82d67c3fa8888907f0d668dfd4bfaed8bbd0ade1b8f2381fc5137a6fa4ec57eed98ef979bffc1e7bf5afadb11ab6ae58f76b6be9ed3680b792c6113f6ff2d7da5f46eed336e91792d7c1be772d59b7d6d8b5f6c3916b344dfaa967642c1cfb658c5ed76cd22f3f236372808c91fbc92dfae7cfc8783b40c6c835a126fdc93332e6937e19a3d7559bf4af9e91713c40c6c87def16fdd233325e0c9031720daaee6376c37cc57dfd14e12bd0eb5fee10dca3a770cf87e246d6093571d3cfe01610baf5c4fa6e13f720df71c78df01d68dcfa10dce453b8078f37722dbf899b780af7e0f1eef4258f35e62770a37c091a373f0477fc14eec1e38dacdb6ae28e9ec23d78bc3b7dcb3daf1ae0472b6d1bfeac737ff4ee0ffd475ed5efb3efebefc9dd673fb90e5fc5fb6c5ed6ee7397f5736bf9557e6af9d7301a2ab54d52af1c123e41d5c054e155f3b24163f0d847e8c7df93d795fb0a43796fe426cfed455479b8e75483f06a453dd7b197dff146ea8c511eeb6c0f980362240b913f96f6865bcbe9ce0d3398cfe5878dbd94fe71c0eca954e1d5f65606d2d0e8d32707f4be4c4d0ed5fd9901b92ba24f8f5e0cc82fd5c71ecf40390cc68d5e5face2cdebef2d9689813a1ee2f753fcf5fda2790f1d7e1d478f5e3c990b5be87c18bdcfd58cef91750748d8c3f228bf9e5377ebe7b0ba1d146c6b509e539125cdf78ed173b97405f6c07cda42e7d4c3c609592b81843d2c17f3eb79f973e384aeb340c1de3e3b4ec4f3e3d49d8f57600fccc92d745e3e6c9c90f51d48d8c767c769f5f438a16b4350b017cf8e53f4fc3875c6ddf5daa981e384cced9fa991ead363ed712ee3a97969575b237ca63ea867ddd0aae5f5c3e2b747bd579ffe7c605da05efff5e4b80df083c3cfa120791eb6e658e181fce0b8f5ac455ab5b581e7c66dfbc171ebf58b4fad2fd46ad4fafde2f03338489e87ad635678883f386e3deb9b566d7de1b9715b7c70dc3afde4e32cc980317bd42b6d117b5a32cdcfb737ccd9867c6fd053dc01e380818f3fb7d2da171c86a752ff84c197acc8ce7d3a9a734ccf1e9263147552321acf9147d638dde54e4dce83c6276f87da2b3b08e81aac92bea2f6dfead7c9b25e2169adf5e3cee834e53d1cd73dbfc7e14c79e33c5e5da06a1e4bbc375be36e262b0fe0ad38e383d86f145439d6a905ea1c5b93bfe1f8d4c6d92204de8e33460d1b9e66ef0af6e3ccd7bcacfc2dbeb63ce7f28d9f3b5d7bab2793de96fd7b75f2515386a8bfe838df74f71903f160f9c19f8b6a8d5bfecee160bf71abbdaf38e85c557d0cf21ab5d1e0312bdb23ea58b0e7b2eebe6130aebcae095157d251f3d6d0e73b8cc1b2ccebed8eedf1dba80ad43da14b1f2fba0686ac7715ed503547b83ababafcb3fab3016b5ac53c99d599a1f1e16aee1e7b9bb63ac47fe4ed10b546a440292eaaf6b539570ee5a9d1be3d4e1238ea54674d463ed6ac9294358183f5a3d6a7656f1d757ff77a935aeddf90ba135d134e40c5f30bb20a14d05557738731d8f61e7462ed01488e0758bd6b1ebae32d6b9b9fe1f7d107e5d77075882dfab398ea097eb131186081db1553d6ebe807e0acecfbe47162df9a777f5c9bd5810f8b398b9afd6def7a7f47ed3e6afdfe09decb98238bf9fbd7bbb167bfab308b73e043d7fbef71739fecfb63e36cfc07c6c795b603d6f93167d36bb9d93d2e1d84bb6d5bcf9d5b40ed613d61e3557db9c7e0fd7ad81b5f6775ffc363de546ead7817bbe7893f978fd2e93bdce7f6018bb317fdfa883f8381f04743e3c9c7de75334ec68d497f8c9ec27c2a4eaf9fff184003fe1c484d2f9e9041239e7efe0c09726c9fe0bfd167808fe88bf39be75186c4dfed3efdb511d8b32c55f99631c5303f391837743692d5a707cd38ffa9f1184acb805c21a56568be5069dba393c9eb2db585ae3cb6e21786c6a0959a96469c8f1b8bf92b21cc61574c9aefb90cc7df88b971fcf7e71bd5f11c9a7320faf4d68ce0efe168cf178f3b3906ce5b887efd751b22ecc98bb275e746be3170fdbc7a47483f2dff3f7b6fdea42a92058e7e958efab7ee74b16855d911ef0f57c4022c37b65f4c4cb05802027205457831dffd4526a82c99a8756f4fbcf845cfc4ed5249324f9e3c79f2ec7987ce5282e5219e85d75d70fc135f9304ddef037643f47bb7cf34d55328d1be173f0fc8fc95776e9f71f7e83d979cac3b65df42fb1bbe8d867843bf67f1e32856a4f95693dafed441d56fea59bc5c6863b7124146df896730c3644df72c959907ba67bc728e88b963af67f174715cccdde57ecf124af0e1eeeceb59421146dcddefa09d5f6c87b91f1cb42bc187bdb72fd607bd3783196d55c63d80b35195540283c7b088474e3ab9aa3f7be51c96c4f73da9f76db71ada0b0858b0b80d8bb83dc383bb93df6062b2b0b691ce889e89bfd338d6072a02162cbec322be2fb02c555cfba448b79c3c81bc1c83f7a484f773db263a1eb3453a8e0c0f9e5b4df49c14e9f90a0f16f78980841f4bdf89809a039ece93229d5fdb63f19f0848f8f174af3825bab7757a4ee814f18ad2ef0d863d15f1a9781dc2643a51332f29af41e11d2cfd2b8e8086093f06811c03bf0e76691da4c9d11ccf8ffa12bf0f144745c234c5dc2b6a302c8d8609bf16669907113add45afc378565a0793e9c4cdfb609620da63f16f96f94f0607be6fa2d6371eef4499fee747a381f79865de03e1c0e27b3ca3eb7034e0da41e07a80a409948f36369d51edfdf319307d748f8c15ecfa60fac2af9d8359bb25726eb83b7663d399d7fbf1b1fde0eece8f4d47acf503efe245f783a70507430be87e70f7f8c6a663d6e705cf2702cd73f067d78e479dbb83bbcfb35d931c31459e5b7819436b9031d07d61cfc01d8f3ac3ab3474fb6cdc61e512643f589eb1131078aad1d0edb374573a4bf37e6a3474fb8cdde1659c120d25d0be32d89d048c2ca64bc3784d9196e19981ee20f94ca42c476fba344a54ca3d34f1105d1a2685be0e0dedd2423bdcfe8f94e5fc3a2e6e6d3c12c8eb91224f7c4d6a61efd8d6a521551813b73723656916c6c4f2ee08c8eae77617fca36a9a4af1e932ae7dd9130d388c13447bdc9e8b809c5e8303df3751eb1b8fd7b080d75b327a0464f42a1cb873529762ba0e071ed78653c075133ff348209f5f60be8367458633a9f7dd806fc31110b060f88f4702d9bc060f4e2fd265962ce0e5bc77b138371c15010b8667005868042cb8b3c5236dbe00fb557644e2dd2ee2fd1e794397d8229d5fce3aec9900c6a051f060716f0b48f8b1f46e0ba839e0783968efa3da63f16f0b48f8f1746f16794c26a722f9b3391855db1d783c1e09be00f70d393c328bfc25eb1bcbafcdc1bcda16279345e640acb6c5d2b959e42d595b2cff3607660d5eecd9272b718106cff2f7bd344f1569bea4ff2c1fdc0bb29254e1c8f60151e0a917b9127faeca4a5a9b0f0e1efcbea18afbe6aa4b2161c1afaf835edf2962cf63cf6c59a1aaf3c965a547f61d55dc77459d0c054b033fdc15f9617e1ec6d33abf46ee51adb847ab7276bd8fa6fdbb2beedf1c8e4395ee6ecad8a01fbad6cf09030f76cf6bc53d5f96afef3ff7a40d599707e6659abb255b7be44ea8e3a585990f967f6845fe5191abebb0e4bcfb97ef87eb59f95d6ab7ede78b4abb1b36f4fcced2fbece8491586065b7a0dde067b7a15e6269bba5d6ddb6057afc1db645befe677bede695fafc07c9f8d9d458fd16867e7317035d8dafb68d89aeced153ab8c3e6ae60e06ab0bb2718b89a6cefd5b9dcb2bf57d7e54e1b7c75fe77d9e1abf3b9c7168f9d4f833d1e37a7269bbc8d7ba7c12e8f9d4f936dbeb66f6edae7abb8bed746dff05e839dbeb67feeb2d563c76ab2d7d778c23d36fbda3ebacb6e8f87afc9765f5bab46fb7d758c7b6cf898771aecf8b5f5b969cb478ed164cfafed9f5b36fdda9adcb4eba3616ab2ed63d6e221fbfe10d9c7afd8f89bd6ef713b7fc3da3e6ceb9fa1fbfa96bd7f85eceb7b36ff065a79d8ee6fa0e7f85ddb3f4e0e78c4fe7f43ce79dc07d02c033dec07c0c914dff10534c94d8ffa033078fb964fa07a96ff8a5fa051067bdc3700f9c54dff40c6a7eef51154fa6cf41354da36f80a6665189afc05d9dadde533a88cdfe037302ae337f90ebaa5b6b7fc072518eef42160de69f023f068981a7c09c8319afc0965bcdfe15350903035f915d03035f9162a6b71cbbf5099c37d3e06163d46a39f81c7c0d5e06be8a3616bf23754f07587cf41c1c0d5e07748307035f91e2a73b9e97f5860dadff04154e67f9f1f22c1c1d6e08bc0cea7c11f819b53934fc2c6bdd3e097c0cea7c93751dd374dfe8921aa6db38fa2328fdb7e8aea7eb9e5ab98a1da37f82b56a8f60d3e8bea3eb9e5b73090f037f92e2ab4fbb8ff6281c4f1b77d182878beebc740ceed3bbe8c3e628edff267e0d7ff519f066a6edff26b24a8b97dd3b7d1479ecd0ff83786c8b3fadb3e0e1b09cff7fc1c09b2af6ff83a666819e91bfe0eb49cf20d9f071a4fdff07b18e8b9ddf27dc8645797c4ad260d370625c0fa0e2c333aa8fdee4e97407b3350c7f3ddd4e163552282ebb351ebfa4c81cfd609c27eb6ec46ba7c975f242afb39f03aaab264cb7d36d917977c65fc469f480906bc3d7e48721279d5c5d206fbe152a98cdfe80f298f8fb71d847c19d6cb7e47fb02862518eef68520dfc1eafa219f2061c2da8c74b01f116334fb4148844f03ab9b87828d84096be3d1c13e42c1d4ec038950be09b4dd963d55e6709b9f82316cf41837fc1f68b8f07e1602031bd656678073f5d17c04cc5cf0f65b96c6c08595af0c868d2befdce1f740b76fe4454e759fdc968f0c864db1b035fa3c30efe07150dd2f37e51b836129dc3bcdfe0e0c6cf87d4354f74d26ff20cf07a2723edce9eb2011b677ec7e21aafb2583077b5e100212fe463f07a23d769f10d57d92b5c79e1f848084ff868fa39e4b1123fd08e875a11ad7056d5f6fe2735495cffdb27fa33ebf13b62ffc5a53f8b5c6d8fd717b72ac54f7e4aff936eaf36be1e787a51daa8976d07de1e94a1b74d167e8637e0dd4b99dd30ed20ede4457bb2a5d55f411543c42838f8447cfef7b3e0d145c09ced782e7f59b06d908892f2c5d69030539bf6ffa339032a180f5d9e06d56b92e71b1fba3eded43788edfefcb28b5c5daa7723de23a36be4fa2d467b31f232af826b0b6a85c87b88c8db79f0fe9f2d8377c18f5fc00a46d20d71f6aba7c83fe1fc2fdf6a8ffa23e065697cf75876a7bacfd471fac50ed9b7d17f5f658fd3bd71b6af0e3ed7f997cfa80df2242d8f99bd620a9acc1e51dbcdd2e934b1ff459a0c6c0ae43ae2fd46c2d787b5b268f3ee8af40c1d4e027adac45735c47a438e5fd70bfaf02394683ffb4b21eb7e33022c599a1616bf65344281f0adeaf5a5993dbb11391e21818b86ef828aa31fae8fd4154f64729ce06dd375beffb967fa2060b765f10957d718d8541d2f88c2cd3f81dbe891a2cd8fd4054f6432166056d97e651b03fe697c0ae05caaeddb84e0e7e9dd07d61f921c5a3f0f03d9f047a6d91fd60f71d2520f02460fd08581b3225d8f57ebee98fc0d009d2d7d2c04f37157e7a91ffeb3676a40cb739a1deff055f04561641f585e7c79b14392f8c4f032f236e08643fdff243d4fba9d2d0cd3356da50a87eaa3474cb4ea74b1b1a39afdfe683b8e167b8a77ed1820c1ff2338c1ff0338ceff63384f7fb194ef7fb19c677fb19c207fc0ce1437e0644befe4d3f03f29d463f030aa6663fc383f58d4a78bfcfcf8082a9d9cf8082a9d9cf103ee667387dc7cf801ce3869f010d57a39f01095bb39f015927a9d1cf8084abd9cf8084eb869fe1f4a09f01ddfea69f61fc1d3f0306b6463f03e69d463f03fa9d663f03fa9d663f0306b6663f43f8809fa1def6a69fe1f4a89f01014fa39f01d1bed1cf8068dfe86740b46ff43320dadff0338c7fd9cf805f97eff91950fd7ddfcf509fdf77fd0c98b5fe8e9fa14e97dff633d4e7f75d3f039676bee567f8d5fa490be4b9fd2b7e06647fdff633a0e6f73d3f030aae6ffa1970b2d137fc0c88f97dd3cf809409bfed6718dfe367383de06738ddef6718dfeb6738ddeb6708eff6338ceff5339ceef73320ea2e60fd0cf5b6b7fc0ce1c37e86fa18cd7e867afb663f43bd7db39fa1debed9cf8080bfd9cf707ac4cf107ec3cf807ca7d9cf8082a9d1cf801aa3d9cf80a8ddd4ec6740c1d4e86740c174c3cf707acccf80aa8174d3cf801ce3869f01f94eb39fe1d1fa4c65dabad3cf8084abd9cf8084eb869fa1563307eb67081ff63354fbbee567a8c1d2e867a8c1d3ec67383de667a8c1d2e867a8c3d2ec67a8b77fcccf805d8b6ff91930ebf40d3f437d5edff333a0d7f6713f43ad9f6ffa196afd7cd3cf80a193eff8194ebfe867a8bfff0b7e06ac2cf2b89f0131af6ff91910fd7ccbcf50efe77b7e867a3fdff33320e675d3cf80e8cb1b9e0ab271d4c0230eca725290e109fcfa79a5faa811767dbc21516a87c3bf37248bedb0f8f54a3552232cfebc215d1a17cba3db215f8f6969c4913e98d4f7d3027bde1d50f54fb9258e27b643a12efb36e02daed725b309dc797740d540e596383ed60e857ade4e132ed1b54d170db29c5faab179e61b11feec69273c2ab7198f4f647d536e893b4bda89809ac3127766b493624db76b7b2c4e91354eb92556763b28ce08756634efe362cdd8d23b58bca26b97da044e3e3e28ce1c39069e564bb563af72061eb7e8faa53681938d0f8a63a261c2d32c51af9149349c816d446dd2063ee9cfeaf9a6785a256a752d6d02a7ff1d10f549f17cd39fd5ea5436d02851ab476913b98cf2582e1dc28f7da8d7e268c4b755c9b36ce4b5d0b654ee1b4fbfd57a1c0db85696ab6a5b2c8f8536a6725b3cbd566b725cf08ce4f5983a1b8df80b3179aa4dbc20c4e4a3369cf3985a1b0d38d5abf9ea97f308cb0f424c2e69831c80a9b7d184679fade2b9702ee1792ebe8646137f60ab79e497b1b0b8f6d92aaeafefe0e784aba3d1c033d86a1ef8e51d2cbe7db68aef2b6c781edc501ba391b6ed2a6d17dfc3cbae359c17ce222c6fc6d7c768e21bd59cfcc2998497716b782fc087e5d9f81a198db43eabd27a763634ca6c33741d8506be8ca97dd140e3b32a8de76716566e23aab548f2730bcba731f52f1a687b56a5ed1ca6ff499e79766ecaa57310bf465e35efa35997abb46d3e338b30e0d7a39afbd1a8d355c66f3e2f4be3e3e5664c4ec70ddd8ec5bcd3785622622ff138c4e47534ea78c858d1e67312051316af98dc8e665d0f9daf71fb8c44eb880deff0e8779a743e74cec68df3119183d1c03f0c47c1c0d5a0fba1f3366e9d8dc8dc85e6fd8fcdc568d60113cc58cde722e61d2c6fc0e66334ea8236ee9dc63311f30e9e6f9815be71974e88884fbf791ed6c7c0f20cb3c2336eeb862b54fbe6b3b0de1ecb2fcc0abfa8e8889d1943ba2ae35aec5870e09dba76cfd2bdd9e68321017e684d9a13da6047f18c187dc821d266598e27b8a92386651b6743dba4dcb6c9765981a1593f1c17cf252c1d5b4205d6261b6665fc1bba21c2cedfc823e204f34ec3f9888c2db8a11722c6c0f386b0e2cbb9c3a6898c2fb8a113a260c2f304a3e2a7bed7b689f4b7dfd40791ef60798351f153df65e344c740dcd005917061798451f153df67ebc4c503dcd403917ef7465b91c3e3c66ab0796262026ee980e877f0362447c1bdd360fbc4c405dcd4ff6afef246190eedef6fb681a2c668d6fd10edf17340f9fc1b6da1a8f6cd7a1f029e5c6643e0c8d1a953a8c8bd5495235ba7275b40abf08e7466141bd4eab5f0f94df13a89ca8077855891842c5f0515574fcf134deeb96a9f887406eea5c8a0dcd0f4c464eab509ad4f3a1ae3866adf3aaacc2cc0dfd13eb21454dc63b17fa973d46dd237bc51fbb1be0547a1ef835da527d67a191c4c6613299415e8cc6ca753f3ed878cbf775f951077eefb0261786eac4ab38893daae027ea7acc06456afba3fdf7192b0d3a4d3f683e96cd5be8bbf43df997b02a31088f54ccdf1243098d519f607fa0d760675b23e06dd90efaf427ed98d278bf8c02f5cfc3c16e4569127fb47f06e78a6ad2c363107c769ec7fafca11a1ca16c1497357a13a8922cf039d6abdea8c7b501724a18d01decd1d020fa4eecd5dc33b05ba27be998cd832fbe4569584a3e18d084dea1ca6be7800b40cfb429ebdef115853559e849ad476d7f4dc5d035a604447a72796c9b847dd090e3ad5767ffdcea27cbe995de837cc39b3e5fd8e7967771c34ccfdefb525417ad628a823fc1ebc60fa29ce1929bb25e45dfde85ee7a0fe06bd02f2212972013f47ae630e87c958601ffb1a820f97d711d3cfc3f48083a77dd43d1175c610faf88cab51a8492680dd55fd3962dfcf9333ad29d22950a9d66b268b21db3ad5b60a251e4c464c5030687e15868034e879a0faeebd6b95e2d6ca64e2e27eb300efd59d00ea0328580cbbb8cf7378fc4c4e45b55712447b4f70757fee1a3e62dd991d0a9e9fa62c109aa4b6ffe63d4be8b08e52796da0ae83a2d1315bd84b77e1a2d677e3badbf5f69a2fa626e37aebdfb04fe1da3f40df85fd735e974ca741e186e1117ddf58f75afb2b9da3f06332173a210c6f743028f56878c4ab428d624d9e03185f517cc11ccfc3335ecdf1c4d27dc1d3e94934f54e47931213851aa598f748e47bbe181b4ce37b07f47819dff9e53d3c9e3bc5b3ae3c8660198c4b00fa597b28b96e0e68feba47e579a248ed54f53a89be0c429d365d03f441a1df3517d8774963dc6b7c57b7b1effe2fce6702d2a88c1cdf51e45e6032a3509303d4994ac0bd837ef71e9c45dfa5234e229134ffbbceee8c964edfde57b87775a643abf2c45164018dcff1eabaff1fa723cc7ec69eeb1eb754c2ba8d43893446b4542693bd55af7330fb640a6860eae07c074a242ce21a2e549b4c4d69b253a5d136934f224fa7da04270bc1da5bbde2f478d51955c61570e3266b4a3dea3ed44f5fd5e52e69b027783c5d1e9fc7db6c3c615c6b8bb5bfa94e154f381f864255e03d4c07061e860abc9c93b7fd557d05ac17e03b0972cdaeeb95f1b5f29a616c23aa4dc0b80fae8fa033592015cf7215697ed549ca78c0af1902069ec6ad431617535e0bb6c19e77be5ba104cb096fd35708747b3ccd0928f8b174a4d4e1b75b2d21c5c24323e0399cdb3f4627dbcb3345de5c9e094e230d45c8f5968a6b4d3ec04330fdd5e8a7da27163fa77a5b3c2fa9b7bd453bd5f643ac6d52cd6ac93dc05356f5f64d74235779c586c6f76d20dae7bce5d7eb07817325d2fb37794b58a15b9caddee3962b5c7fe5f3a5de67135fa9b64db16ded5adbe67326a9b5bfc1534e353a6aa03bb2de1e7fded4dadee427b5f6391d21f3745c4516001edecaf22690459bdaaf207f51a15f7753e043734c8e8a6819b49880f3489127894e9b95f158cc78ee4165c48379d1a9f2ef83dda99cdb92d7d040dd1383b28f5340f78b23200b5e79bb6a199e6be9feecb5fc1c25234e48dd132c9311df72fb7164d03d4ba1564086a50d6f144fa90ea5ca130fc88c53cf0a5466eeeace791ec56762a8336e6c506efaeb72c1757df278b5c7d7f4121bf79d753510e3de58dba2def677ac6f523cbfbfb3c6b92df777aef3dfab1346aa344a4d79e2e6713ddfa10118a3b2ee5ff5768141e78a5ec76a5b863f399a49eddd8447bf1be8dedc053cf66a7ffa5bd63f3af372d31b259a343a988320d5a551a8f749a023a7481ba12f1e146a44405cd0e64e93e76eee7773814e66d213cb184447d31313d53b1dcd34d869d27cab4aadb3ee587ce6eacc2930c64260d0bf21e6e5baefc2ea3a61707d5d27400bccd9cffccd3d5e7d17c898887735a9bd55a53651d0a7cf6bfeca4ba53cd0c7f29d7d2152a453c84982658ca18deed7f6f738a235c6056b9d1accc85197c141a7cd4491bb6f3aadba86a7863a6dbc6a8cbb05f439cdf5f4e233553a859adc4b355940e9ea575a484807c0aa005a9727c5fea3f532007cffa83327c41e3ddb1deb71128a2c127a5a8d6b092c539e1f91f5206c123eabc775e0dfd1fbb577b2781b6f449a4ce797ed7f671b323a2720836b8a191b558f8293c0b377749e05febd10f95e1ef703f17cfffecde6bab83c2bee53ecdebee20111630ae17ec7c085ace311c167c858d2db6b8d8a257e100777cc13112bf4fd79226295ee99673dc6eb3c4fc43e04fbfccd603aa996fb1c55cf6da9d2ccd22432d6e909a1486d624a76629d1682dc576b29be70d4c722a12e46812ef78e863f077cea4da14e813108125512888fc1285ef7bb2763bcd9f072afc5c2ef5b449b18b409411b0e7eff751f1a1c23bf53bc00b7a7c996abf6cb30cb74ef68506eee771cd906d5094d79eeb2921b194c27311970c6460e9077a6fec455e8d9ee3a9febfc3e96f5365c657e1ff7db83bfb9dfe0bca375694e6ab066c46d653e5fc53557a449aa5327d26456e575a7007d745f0d4f74ccfea6b29670ee01a24d58997bf01bf47888dbac3ed9ffbf6815b1176920a7ebf4049ceb28593b01f21a322e009ed33dac7c8eac9fead5f536633cf90d712466ca49eda3e19156ee8f42c815708ea8d8c44ca6c4be07e789aced9aeb6cd577c03cff5e1b6279be4839193e43d51bc9d707fa821e5a3b6857fba5b9de399ff07bf341d26ff37ceaf267369f7a7b8a93269641896f409e3419d751a4f8ea87f746a92a41bf0f824e944897dced1ac89bfe3c50a85178f55193406f0d91fe30289bf790e3994c0735270023a1cb11d07d094d12002ecfbef65c6f7b90a7a37c7c36692bb290c747a1e604f1848b27a238890cd46cafa1e08c802ea733683c827963c7f5e74703154b6093b6c910992d01b97699bef337db0672fa817b08b93e00a7b85824d326234d9ae1debd0367e4e37404f56fe4fa66794abfc35f7ca1a5d3b7f715ee5df04c654e681a94e74703f2996fd0d1b8797f21c6db6a409e873cc925d6cbdd694a673eeab36c7079b6e81ef8a598b28c08694593da88f36a1ee8cbc0d3298144fa2119379a7a16d47bd75407c62b9be3ed2be7acde72fff659de38029ea7c9f336db6f9d0499dfa8d228551764a023626cb27e478ec9b8942a479777a776ab75ef7c745a44c536f93ad3a1d7bf841333b305781dc79479846fdecced08d02ef81bd7c282369d3c361ae82830deb888777e10e5b10c6719f7f26cc33943d2487a6eb607dc0302373b4d9abbe738e60bfea1fc0cc744ccb504d3192717d8107ec2ca1819ed003916c6358f0b6bed0c7f8986caf194d938534f3d2ab488f27f97e24eb3b5632f6bf89d984e18af4e87912e755e39a993aefbe4d99717e95487d0e0fd16018ca93728c1d299d51b279baee24581d927b398776fe4a80b92d26421503c378478b9da9fef69538a6dc9f1192af2dc95ec4dfcb1acd08b5f88670134e9dcde4f86d7a11bf09a3fcf79045d8a9749012f54179b13e774c90f1c0ed3c052e879600279be148324388a74723ffaad36f6dd840c1579e2abf2ff3deb006d7f0d6bc14927cbf04cf7d69a5cdbdd5a1b36b83dd6855797e699e373c7395be4fa1a4c2780f64e27d8411ba91f39a63c49610ec3f919626f1b9465a90c18ff7cf608a4e10b47c309629d72a1cd695ad4f5fd89ab3323429355b7ca8315e914b2fd16e08d8e294d0225216d550e025566779c33a484457c980e6621e7cc086e3044e122d598d156a78d0bdf502495007c43a13a00968339d8d9ac13d93abd89ceb04f9dee86ef774f820ff4ea49bceef712959ae4b92171ccf55bc9c7f29a2f6478a3ad268be9d4730f1a23269a3c2b9e2df11463af99d267bfcaa556e459563af183ae3ba52cf75cc7177ea77711b4e9cb9b576ed9c8837f2bcef2b323c71d5b3f6b7c61a74873b0a7335a39d38c13586a66332f9c1d23c4f939f1396974d024d2329915e22c2b3d6f38dfcbed2e6744194fc89ca5dab96593475346c530ef227e1cbde6beb216da3fb28b78b9d8063167d0c62fb699a0dbd0c53602b28d5082070db35082072547efa2e972db5e17680c7c47d0c72bb7dcb6a74bf76d6d67fea4f560d7c6b695486b5d828f3d090383980e784a1898483834a9bd53e5496016dfbbec2df4fc34a90dd6d7d24bef60fc0cfe2e32013f95e7853904a4ee0b2e2a0e5df7c4d46444482bc6781be5b1323b5582fe9f8d4ec5085a6cbb063d77617e19dd6b73d2597e11a18d9d1d77bff18e18aea9f26f59cc5413ccc5b8af4a7fcce68438830eaa2c10aa342bc4b1ae6a73d606083e7085bf145394cb79192febf7763c425fb9135ee2fbf0a2f8ca7df00a7e54fe6d90c52ca2eca1675874c64dcd3e99a8b2e09afdde11157f759df32930e859647862aacab38d89bcd3a28baa2d1c6ab200e425622d9d5c4e9eb70d6695c771dfa6e3b37f981d77f7463dc6e7f04b3ee22a2dcb820be3d281ce6df7e20fba578d2f38718e88a9037086db8dd4a417e892f976b19b2ebbf16459f18767bf6d3559887566d49e7a9350a784fd8df53a6834bf51e4e89267caa72b5a95e6db9a5c92e572dea3b7d5fb6fd0d98bf4a07b51ca32c3cb1976c9db4db79442099eea54f549cc3986d2bfe88905e3e1fdaabc51f2d99c8481121be34de16e8dee26f77517eef6eb6e78a717af076719ca7d85bf7b93a301f436182b6221e8a3132bdee9a850616432231fd007d02574aafda6326e6a30276b0d7005f838a586aabc8954c6857e8dcb7cc762849a9f4ef76c9de9385a42128a6422facb6c3c9ce412aa44a6979c22a738af610c7d2b606efdee891f035910fef6a6d06262509d64eaf78e9ad406325155c6b07426de70ce249d52453c9cef3bebb5d831582f77cb8e27bee20d77c2721b0ace2a9c0e8621e7f028b9ec6830191d73f2dc52d38b5c5e9267a67ed61f945307dd9073ba094abeafe1a81cb74b54d79def7749f05bdece532432d0c7db57831a1d8c844cc179ad3a85bd43b104bf5c9d6ece2381b9a55b55161c762cc48ad47e53bd139029ee78b7979a9e89c1fd1c1557547b1fc621557315967340cff96fe699e713fca07b816d5abcb332a78f691ee7a47aa348934eeda92f58bacf470625269aa414f6b0600b8321c923f5ae51a248a40bf42499ec106bb9e756636179bfd72a8e2f40ff5fb7b636bad439e874ee3b39c7605167b94189f9c15deb152bf2c4d22591c86b231cccf1e4a88f6bf5f80e428ae6dfaa6c59badc0b5559f892e979603227774dcd0383ee858abc7dcdf9403d86179e3f55b88d187906d92d5a9090b157ee9a19450673720db2f36550a203e9a45a1b18c8518fbc9fc76203de9cc34de7b2c6ab9076e369354f0577e702fefe8debb8607f4927c01fd177a9dcc43ba4c110f04e99eca4671eca49274bf1c44bac7505c795f876175dcffe0ef88b63d6ee5a58b448744ca4d8522432d619f14ba6cf67432b97f1c4e45b30df71ff8ce9b9ae999005f9332af9ef0d4f0c15791e98deea2da31b01f08a6bac25e403979a51313b10c1f3baeda4767e8f42bddf3d083242c7bb9c955195279fc0debf9c31ce0ec603185427d4a4d9864dbb0027753b85332f9cd7259b470adfafd6a8586e1bcf2398972cb185b5b9eeed8c5f46d9b98bd4fd2f72c086f3e79672d957ecf97b603262b42ef35b22c373ddb6f4089c97eff2dcd59781a7c91320b31f559bccf82e624c76d0dd20efefb89ca7dd83c98cec5c8f710dfbfc1dc81ac44101fb40565da0cb9ccf3b347d2174f43b71c55dfc03bd9dd0efa5063302f4e501fcac71b628aa58831dd26cae77ac802c7d95139d925d0aca09155b1ade9edadf44c2b2eb7e2c2b328b6726aa8ca883729def4193f948a77bae6e976497d49448c053dbeb5b72569f8ff9014a4f29e0b4209322f9fcb7e4480bc88f67be1064fde5e7c432939bcbb8b0529dc9e4b7c922867239d76fb5327b6365bfca58fbe4a959e62be3f07a1ee434ebb443459ab875b96882928b682817dd8f9beb7d82fd6e0cf653ae5364fd4aaaa54b6e086371a5760af546cff5a6d4b9b6109f2aceec242c6ff092c6b5649f756664ab52fc6cd03d4bf72bfacc12cafc31fb4bf4c26eb4c1bc2ad310990c9dcb908573e277c88eb8f53def110eca95d651bd4fde85eb5a8e79d840fda770073c0575a48c5fa0eb3438a8f347a8d3bd0df667f7eccf3bdba0a16c0dc740d1f8f25e9a113cd553ef5f4b5a8cc039bb5e90c7dc6691c91e12cacf7ab38f5891e73b84ddaa782e15f41281d425d232fc6d643023421b75be54468c0d4f74000fadaf9d0a7059b075405df92d8f7fc8ce3699bfd40899d2e6d1f06691e24f5c450a5ff3bf914975127580d807831a8e239d6a1ff3d8aabaeceb00d9b7be572f3122d5d8b6546919e30d2a56e6267ec07970f6f972928bf269df8763946deed65e927b96c9585f3235778df1c485b92a526dbf27c6d842e623dc05d738939b3859d8199e7bd0d22c07e76aa3091c453a391f8361ccf7571b6ed13de5bc2b62074328973f720edc9adb77eb30dde64b9d5895f3ba5a361920f9d3b7fa9dbb0625249adccb758f8a1e4df7ceb6a5577ed13db14c16f70ef7429fb40d4fb4b434c8fe26240df8d8ff824f23e4e72cbe2897ef8c3470d4dcee54e0c524da3685f02bdde459dfd18326453d282e9f6d281f30c6d78bca2fb881af42ac0aa549227df61b6436d7abec3a45e9668d7455dc9bbda341cfaf35202fb50e79622a09ce74d92dd7151c04f97965a4dc808d857e7c12a0df15e973bd8e535c0fa6939afd9b6779f51ccde169945d8a7dc63a2d10683ee436ccf7e1fef1bad7a29dc791ac36da60b68132d9d577fccbf33365d4ba099e420d4f7c8a5b3796e4edf82438c350186c1e5bb7b188c1e736d22591d098ceb6521ff295a55447590ed366ddb2448f248e360abad0b566a62758fc9247c57936cde137add919d777afd956954eaec988c8759b2e059787f55891eb464c1731c5dbf01fbabe66e3982b9c1c17a9f27ca753f3cab83b4775b6a9ba44d62442e25665c45095e7eefd7bee3ce7469b007a2edfb513d4e85369f3d40a59530a499f92e99ae34a4d5d782e2a2745523db56a03c8fd16d3a511f24b83e4062c29e0eaa3a2e7ecabf2ece1b5139c91a57aeafd6b47e1f636925752bc34f2d4665b4e7d0ebf6bcdceb8be77cda0dc27ec50fc4358f65c9ee29369658cdc56d8e2fb71c23b60edb6c46dfb437dcc87f965ba8ad5a5e0f08dfebf7bc741ae1dc933ab54491be5a7d239a3c87347eb3f6aff6b5d63d2aab499e3fc5eda847c1ab9e7b631bf9c60f71cbf84b160ad6fec3948a38faf5d0ecfddbc04e012b3b7ab75bb8bf37db4ffdfb6ef1e1dbf13673e29014587b13a102d656960cebb61ca0db63137185242f2d0da1d8d31f4b7a78faf5f6f2b48234b6894d551f3e31f58c35f18e3b7ade3a33094f5e5420ce841701073a4445b9526aee234da80dbbcdd4ab0b5c871e7bfdc4b5409d6c8797c7f9ee1ba97b796e6fdc03efdd5717e9b6c730f1c65595ba12c5797c4b4e8239a42ff101b1be3c678978add58d8a912e91a49f770fd4c129a3c0f55f911bbb41ae8e3ecbc29dbc5cebf9381eef748735c8ff9c9f5e124f76f156d0a795cc3c5bf9894fc8bd4aca5327317b53f54a643eb608ed22c32e549c8c9307f3686ebe4a996269d5c155593cc734333d3353c457243b08faeb5f3c52d2aaf4aa7cd83ce742cb54f9286174797f826800bf03b8ca36b1c2bd4a911c4f3fa6a33b61409e563208f407ee7a48b7fba16c786f46703daf4eb76da02aee32995c701d2f3b6de10c707e409963905c8b810aa9273372ec78af0685ff4affb5ee0deeb851ada8f8a89f7bfc075be0b282efe76aeaf02fd4ec8fad0191ea69e1a18be407052c73bc7409e652a4ccd80dc66d57d3b8f21c0989ab39f6314af07d1c54f97c713c2ba31aad426a6366b63e4e0abcfdc46ddeb90e3e8a23b8bc8d8914679af62d32cecab26df44a4ca16c0c74191e248653a8e91903027da00b24683dd9c93b3781d993ae75e237d82159f1ef4071563e9c84b2c5ddd9ff02b7e3ea04ba70a3d093259a655d8fb80ef37d9f549770df8a2d7b6f43eb9d529212df2286dd0e8eb894cc6257446fc3ad74600f23c663f16ec8ddd4d16aff13b6dc859ec9ce1b9716e3fbfac2b3ac6fc3e9ab8f56e6dfee31ed2d7598857f9bdb18392d802bc5bf7462127cd8f0acd97d77e7ca5bf4bbc348287a8b2e52ab448a88bebdc4b711f19cdde5b9fdf5d33a263c29a05c5f36e42e8d558db9adc30c3c80d93a33a86fea044918848a7b37d6fd0f5b304fa0afae4569327e7782918ab6c4a242a36d9d6a939f4f518de282acbe8e53155691e9863446c2c029f8ad7d9663ecf89a52f0a3a0693c79ad5e68d926530734e7a595c42bf578b87833e659c6ce44f5c83ee01fd0ac85681eeb55da3e4f3c7c86ca8f7307cc5f0c4d4603a078312534e720fba27262cb3216ff084d339a6e877f105241cfd3638f31faaa771ed6705e575991608459e93b55accc5d8815f921faeb886baefa8939acc888039cbc567b208644bc79448185f50f7158e7ed567dde607db18e95fa8c3186a527b6fd0085ee365b91385787a8267aef1ac677a107e57dc7075bda83c87a0df4e54c027a876aa2ee01d3e47851623e83facfbab4fa818ef47e288a7cb2ec41f82df14e100edbfce3911e05c29f87f214e51770462634571eb925475218013a07f55fdc288fb0871b928d77317f2cff29904f49d4c7655a476a04ba3bcff7aac73816fb9faa287ab9156e81bf2c40dd07f398f0cb23a85f06e2044cc41f9dcade973553e90d530caeaa9e6f121597dcd8aef1b133ba248a7b039ae04fc156d8d72094eb2da0663b9bacfe77513c34897f9481bbbb1c68807233dd71aacb6c3c7b156fc83299ff2a5ba8ec8b954f79c471e75af93d7ffa9c54251fca07bdd8794eaa9cd7927196d8c015edb912609894e9db21cb67efb1c4f98ddab56a38d085d5f82b2c22c1f0dec9d3956a742d78e3077e7bbfc14aab35597ad832eb98ee175b23ec751b13e66bb50ffaf55c87923f8019485609efb35ff5045ee138516131dc24a82bdb07d00dea23e7fd1b92a75f1ae35d2605c64ce1fb278a5e492338d8911aeea6e6c6a6ea703b6cda7d818b682ac20e6b1d3485abc710e36f34ed5533df4f970598334dfbfb99e6a9068b9457034468c323e5ba8755a8e1d4f6ab68134b32fd5f003e81d95237f893fedc6e73ca66bded1105d5720b771413eedcf2db0070cbb60fb42c8b5d558b65cce75750f950b8c9a3b7bfd5de6f3d8cf5acdf8a470f6557239d0f1ec9c340f600dc18c26c13a92bad42add439de78d65fa6fbffb5be23c6fe2306d23e4e4621ce730a7a3c7ef0fbadad3cab45538632e71f242a63b55f26c46300fa6cc4346c818c6cb3d658b2b1f28ec496c4cd4837ad0c5f657c5e765ae65de93a8d2c9ca6a6adc8b1fa0035e64838b6daa427f3196fe9aeb47907c7ff596dbcfe0e7623cfe151eb652a3258bbf027c585d6471f95c9f00ef0737e9e2eeb8db261b4e415682f08e825c57b9acc7d49bb8aad7495419cbfb610e1180fd5c4323fb5c97b70ab5074bb6bd0a8dbe724b3eaee73414e597737d898c16747a9ecbaddd13d04fb5ec5edb8d26b5bdac26c12a2cd6921264fead281b4efdc911e839e0333b18013d19e0c132ec5ea07b6aa07b2ea12e4ee5da1e69b916d3d9670863f0fabd14ca1a9778e90dc99dff6531d397b32bab0997af552d6f54090ab9ab09582b53e6735b68111ff0acf0801cc9c96a6050aead492758f3ea52af9bbadde66bd52df419b96b4985799046d2bbe2d807eb5da963e375805eea7e0c80ae383964f56a7fedfd9bfa853f07f25cd1f753e46d153ed66c57b8f6174779ddc1c81cbb7176b747b9ce388fce4face8556d02c8759c94c55be7f6f08893468e4289b1d9bfb6d1a19d4f7075467450b13a2aace189a877760ffc62e74b910447957b0407cf75c15229f1addc77ab7657ca5dfa5d3e1e2aaf1461cbbe033f62635e2a2a7f30d3ef2bf7465162d440c736d477293159a7ab7852ac9de7f43a5fabde5e955dcff0464046d92830ae3a720d3f24f9be58aa27f485aaf59fefa322fcf83a10efd1794eeb8b6c79d6bbcebebeecfec4521c6f515644d95201bee4594eaf402f85dfb177d86a12e9739e4aea4c9ce70358e5ba0ec8bbcf559f9346a941894d3a41210ef9223bd76d12e34b5ee9461b08bf6e9f668607a0439a633754e5221f700fe85a743d8bf3dac7dcdf57b3b72b8bf641a7b3da1e531ff2cd8638fc6beda9f31ebbd4d141f9fc50b51dbd51a8339057976c06aa44bcddba931ee88f0605ed37b1e18d7c5d1abd156ad4c4402e29c6aaab1281b41f23faf992a92bffa8e7999def77dd46d733fb2a0b5661a8e598837d8cb94f778aaab52381f6a5bcd08380ce7fa6547992663eba5ea24866a4889d2f5d125303b45bb6b79aac56ee8759910ab569aa7fd0dce7a297d906b077fecf5d9511b7eab2a8cfce81fe4640fdc4c7d8869aed60b9bdaeaadbcee2e658e6ec3dce177640df47e673d7decfe238387f7ed428f1c0c9f0de78209f17e21457f5ba3c599cddc1643a7b556a45bad701b22bb47d9b6368432ebd8fac3980f275f8f35a4e49d19e5bc94d2fdb1080fe4df76a3553f33c88d4b8dabb5ec1ba5cf258193351e5ed354e4c9e00f99e34d23c17b71c2396c93a74cf323cb02f1ecc21fd2d72fe84d0edb66d32adc8a06af7fd25957cc28c0e1d01e9ef07f896c0f9468d6c9d11b7b27ce56bd99a02fed5a155a9547fefc023e253405fd7fab893e3ba9c7398f9b0eb384951360dd017e709960e745354fc25a57a82d3a5f88aadf22a7b67346030a304eab8f7da08cefd6270c5413b9e75343cf75595eb35ac8a7a9226b5e1f3c29a16f25aeecc79e99fe3852b74770f7cf9de5e532ad0ff88ec0ef11982369a62a020ad013966a7d39360edad36405e58536aa033f12b9bceda0ac5b7f1f8125baa249059de016a5e3b47186cdb3cb34acab9a50a1a47cb6dac2e51f1c3004e12f26763dc181304ed3428df2dd84f908ee4eed9bfdc5063a1305eff4cfbe7989973ade2baae279ceb1dc0f301e99b46f47bb20c7a96d71d9ea3f854cc0e0a670e6a2d64189798687290e96d6ee70bf25a64cd9daabc5ab65de26460dc185c668377cbf58e5138bdd26e961fdcfe9229487fa48eeac36ea1e305c6b056fa25161359cb5bb66205f28b829fccbf9e0f708eb59a0ad9bdd5a8ba2a06ac597fc98948d9b14021e3e350e3da79cda5ebdd63e55829f01d1d6791f775ce5b134ab16f596d2d148dd5e1bde4fb01b8e9c8d3a45308f61b3f98c502922f60e64ca36bb0f034ffa67a6ea80f768e9076697e60d475076642425d105517d7898ea69cd530c4ad83e28b84c9740e9ce71e4c6f146ad2bc58dbd8d23d3752ceb996946569d40ad6b46207c38afd48d82952e4b2fd166124ddd31495fb95e72721ecfa2e2eee55a13af17a41127a42c27b6c14af6319de1c1b4f77ad0598d931afb17b5df8bd70cf49995e52440d0c9ba7d5c126992ef9063927b77961e93cab716832ef11bc1387991c1579b22dac5bdd675ff6ed9cf75581b6c53aacbe98e8fd8daf3223425906605d7c75d1494dcfd8af19329c52c24e9127a92acf3aa63cf7b8e526fc84fbadd7d2a5d3c148095b1bcf0963b03b72b4499b499be693f6d1f08c23ef7463be0ffbb2d971a6237c2ed89360b39bb34e72feaec893405990e73b103bac3f4f4c69657f3a27587f8065e019d861ed55c253aaa7daec06d2789f4c4ce9e47e2e26aee989079d9a6f59bbb7fd5c4c04deee9e786a4398ce88e57d25e2e520121604b5184c285eda90a263beea4b76c3934a4bef13293be0377cd24d4d9b48b4814871cb093b950341e8b74876e0823e4eda803d08a2d25e6f89841d0c13f85d56227eb5494c67f4aa2fb71b5eda9c4c67e2708b56ccdbad64da270efc727810966cc439fc4148c0f7ed815f6e22ce99259cc3b6b8458be61c81e5253ee29c15c90eba11bf200ec26005fe9e4467eef07de2202c57f96fdd13b71ced788a8fb9e510f63f1d6c23deee261c98d3a275e21740ce60379cb36983bfbcb74995a4450af0f7e186736624f8cbcb0aa9f5c1182acbcb4a5b1b0c6380836c8ee26ecaf031b700ef5de1e1962376caa061359262bb2180f50af3a2450810f6e1865f0178e09c367c9f38011e202c88133b18bdb2f6fbf367463bcf9364bb11965d9765da474e9eb806235a4899ace2b3857758c1da9df32327c17bd76c9d1a25598e51e67385714bf4e4a26397f6fa9d67c3dde3f67bb6298371db88faa8c31618bba0abb750e7c9b90eda2fe86db97f4bbcd485c4c6c7a7b3933098e53eea7b6217044fa0145a758c8d294fc28fbeb955e4b93505678164ba1c0df846d4d2a5f84da12ccbf005d71c90a4c928d1b41fbf0359971d5b91ceb4d3cfc564678ee7f1d47e3f9ab44973be9172806726ef093fe8c6595fec06e6f91393e37a40d899dec366ff9cd67b561b23e7054bfe200c862d76601ca683555b59b4a829d84bce968432e26078982e0d282f728ed202fff2df63b6df6a0b8e1b724bfe305d765bec803f4c0782c5394a5b48403f06f48d823d305d1a6d76d0bbb4857fb3b6a53eb905e8730bc787fdc03dd93d71ce969ef6bbf1128c3b189ef4410637e8875fce4e6b9b3d7e3af111e0ead33602769cd16e5edb7373b6fd94f64a556f3bc79a95ea9edeeb1767c9c7f5ea61493630c63d17c6577a422e5facde38893cae6df43318872a8d808e99dd654621ee643afb014651644a2742937ba12a92859801318b0da8d49daccb14807e4daf9e1372f645cf0e9ad4a6a0ad6d8cf5ab015d7caf02be37e637fc326a9687eece11df39aa27ba8a27da77c55a5d784529a7228132cbf87a4f54e5ae435a8035bf50f7835fe3a7b33859ac7fbe05f5bebabdf8e1ba5cbfa586ebe55eb7ea3d5706351df75af53b9d7a59aed12882f91f9f921829921bca8baa8e516d076414d1acf97018f7608c4542a2a12fab6330a3d480f166f3db6d29d1323c6177736c79eeaec773735dad819c8a60ad11be8b766cca731dfaba96a4ab4ba3401f11351b7ea51dd055dcdbb0f42c8316609cdaedb602d8ef8e767b6c18db84e80ffeaec8135791a3f29d84b9ecdec403a6c5bac8173ff4a8e087ee3aeac0dd4ea5591be54fcece5d44bc514d27c1d1543bd07dd5d21944fda70a2d00795715892bffa9c57137adc3fde35c69eefe77a04f67d408db759d0afdae139256a5c95e936751b35ed8c85f1136cbbcde43d5ae600b9e2ac17c49ec9e50193755a449a84a88fd793d67b69a2c588a77725504ed427c407be8a8d41fdeb7a15aaa37f29465211679b029c6ff1d741afa78429d365d15e15bc8797175bc9a3e0dfaad9f9f907f5886275a151b35dae66bf304bf9c1102b3aac49592ddc2595ff20967e79ef8c62fbb2e37d8c613195f6b93a7663b6e09ef7f057247f0b564e3c9226ef1fdea5d4d8538a0a5b0fd8072cbf91d1ebc43f2fd5528a45db7720f513ef6c9329955aaf63711d8cb59fe9bdb11060046e5268cc577aa3ef0ffebe7db4043e89adf17f900fa32a1cc70b5e727d32c3eb79aa753b195acb036159d1609e8a75ea26da9da5808f31c4797cb6ace859cb3097e29961a1be758e077e73b13688c4fac8fafb372e523c34ccfc4e42f96e3118771b58e73c9e79bc719ab791f67fbeb9df1e9977dff2b7916aaa77a0819d6d118d1d1a8c9713daee9adf1f99c6ebc372a2dde7fd14df901b266d4759cfe4526bd1df7e4093b5512f68ad76915f205afb18e836e5cb9f3fbbc56590c84e712e06c54d262be69f98eecbfa9067e71be1539e43a27b914f381b54b5e7150910114ca72150ad091657e5059bedca7dd3ed7bfc6dd99763406bb14caf5d7d88840cfeb3256e31ff37aa185dc66b59abfdbbac42ad7743d642c7d3d4610a917ae5aead272a7e8bae371ae2f3bb00db3bad465c4fa6f2eb8da54e5dceb5a8d88fdb9ce2fe7c1fa3bafe7fa3b983bf50e53648d8dfbd66c9ab753a559655cb2ae87e6f364c7dfb61fe73a0a61f3cbaecd32e77380b0a7fd8a5d27e9d22cb4876cec07ed43cf9fe39e65329bcc563c20ecc9924d85c19010d2f988b57bd0f7c2c9135267561dd61329556a1f556666b3ccacc36e098a73f8944fba276115035dfdc4390a2550f129fb9d807f857e376107131eda781d856607c6865ff29b69bf95f2a9f02d5ba6cab896ce747c4e165be59ae76ab066c4edb472cfd9348f25e6aff92371a126faf58ebe1b63b1fd76c6efc793a3d12749c0870b316a9e265bae3ab873ac9aafa16a4bdaa06a126e356914ea941199f226af57310aeb7828c691a371518bab46c91f85fbb0cf6766417fa6f21ae75899e8238b390fb9e52a9e2cb6781d529a40bbcd433a242a6725aba1929e7314eeaadbe0cd03453a1dd58424d7fdee41973a5b458a017eaf3167f7e55091424d46c3d58bb963cc7e2fbebfe6405deff80df9f8585acbe3745ddd9fa1eaa0b790b90e300ff79a1b9ddf6bb3e17f4bcd083c3e1beead28cad2d0b65fbc4fe3eaf3c4d12aa6063efa5eed220f89746a6ee9807ff40bf58d3c21d469c1e5a40ccfdf8e8728c5efc39a0716d89f0ab5ba3ccfeee4453d8b103666949c731bdf2cb3492bf49bf0483f8c52bcf3e795afd6293fd71581f12fc3df41d700fff7da5953feefbb7b2983a30fe8a350033eaf67858875c7b5278a318ecab267f1ccb02c6ba36235a5ce5695e22c5ffa5a77ebd984f789bb8941cf229d52cef90a79eee4dc55a8ceb966fe6b7ea722a18dc11966eef07324099d327d9d11917951cdb5a7ab35f0f378eb0599c59a16f405984b9c740f3c2546f7d4a52eda0e6a77eb39b85c926dac32a27fbd3b1a3e8f74e827750ff04e954597e4fba87d93d79792e74795324375d106eb162a722f85b1df255b46963ba42e36d978a838dd6c0d2393e9f82a0574a8730d347c8e14d26f3b68ae7ff43ff35766307658872558bb778631fb5ef3597637c2366e71ceaacd0e8c83301802b9f2c02f817c3909b9e5ec202c371ba1df22a7abf80478e89489296ea9de9639713e414cdec2791d345f8c8c3e8cab81711958bdeebebb8dce7be7a7299131f497cb99bccef96aa0ca4654b8d3748f97ffa00e1971cedcd597f7e50a5ce90ad6017ae00ea30b7dc37c9b42edf6f35c769ad426d674394fccf4dc549326213216fd8c5bc605725863ae20b71c1ea68c184d694cae5ae14ce59c91ab2fba79cc7fbd764a5657a06093795046adca9e4282923d337cb1e35eedee2ff4bd6979fb7e3b36b2ba1ac45a2ed6e7d8b62f794b799d394d9e5b3ae33a4de78f01f419464cccf1167c0e74c9cdf4e8abec45298e6a0b5edd2f6032235b675697f3c41cb38772ddae76c11ea8508283ba7bb11ed777bbdfd6a678569d6352efaab9369e43dfc415fff384f37b09ac27e2cfdb9c3c399a493b51e511a9c993ec8c1d5c6adf391ae386d7da34459fec7df328e03b32bc0ecd8ee7db35bcef731e28d428bcd6a29a1f8dba2f8380fe8bc579fd7a846117e86141263a6d20715388ab39eba63047e67bf8e91e0c7a6e19fe99fe824495ea7960c875942d70d6a459fd940b8dd1425abf33fcd6fb0077d5b864c0734cc675804c7acefb01b244438e58deff295d5f7594b31e89d15bcff903ab363750486eb039c11c029cad18e993caefe6caf10ceb845ef8f23dbc1ad5473b301278b75135a63ac6d52fbdde6f75968df9c29d6cb0de1aaa06e00d5d09839fba2f00310738e6afdd85d464dfcfeb639ce382729bffddf738f23e7fb71e92e5862877d15e5e371c1bbb2c8cebf74722d6ee7a674343de00e6bdeb9dd4c87ad4975c9918654b41f75993f929c4fdc30fdeb16bc43076fbce3df5b07c96d75eb873af14eac6166a4cf8a53d53ac1582d77790771d8be977650e7eb0aadb1051747795cf8a752deea605946c73379e1c444dd94adde25f9983ce8c707d3fc20fd1b0dbddcbf89c1490badc8531e9f9fd5e8db22abcafe8125b0bf969319f8412eee29357da56bc4eab5afb1a9b235e7ca7eefb6cd2b5eff383d66cd9c8fb75ceeb05fd3c57fc36e2f15a9fe56cc746e75015fb3e54eed82be2b99e4f5ab059e475ba51e7d0bd364b921fac6201799f51595762193752e96b5d88bce60bcccfc6f18bebb9dbd07fb9ae7a6452a344cff26af1f3aaf8f36bf74267b530eebe9f1177bf4d76af503bb3775d751bdbf0460eace7c074d25a9df48baf1b557b03c8a8dd4887312677d98c6ed5df8072755e47a270feac48549ebc91f9855cdd17a3bb6abfe5f0aa599d5da2a86f01994140adab2fb8860f7485e65a577f7f9d2a3181f9fcf7d6a3aac45ef2832eaa3e1c909f601e3c908538ef5a1ba0a0bb5c6bc2a173f3af7de47a0cd05fd6f4d59785ae4372c1eb59e7d898409f6cf0bb97e3658724d8ab28dd4397dcadca9c4a35d1f37be9cb77ae16e7b644e7535cf09e9cf5c0926e8abadffa168da3f0b53dfbc2d715bf60b9e602c20654c023e709475dee9126236e3919c6e75c65224f8cd0f57c1bdeef9f6b20d4739b39298bef2ec5351464ca4b2e48cd873642d638bce219770ee0e2b2d1f7a0156aa062691c518b2641d16a469f62b99eca1279bf6b39f69319c506b57abd7e46c55455f46d268b9737c72cdc0fa53b0d7ec16691c7c813868da3df0bddd142b596617eb774b3ed22bfa309ee67741dd5aaad8887f5d81073f2c84065e621a236dab7eecbc5e1fcec3b0372ddf973f12e8ac21d48ede912133f55cfcdb8f08912ce5135bffb98f937aee91d6b59b9b7229369ca756b51bce0ca87b33b9c321aacd7ee47b7b3eeaf0159928127791c7cb96e4c268f7dcbe691fc965a1b7e56cb5d95214de775a02bb58e2f7b66db9e2caf32ce15d6099ad7c15aeca46b42dacbea37576dadc87c03b97edf4ce18c4f613c04ea0cbb63bc6b7ece45f7bd8c8591fdaef8713b5fb90c788f8c4b20655cbb4543dfc0ef90950af395c9ce017c8675cf6431303c717b5f7d9cdbfd64b570dab7eed4c9eaf74b22a1ca932f996a5bbab43a189e7832253751a559630dcb465fad4d50959a2f64b5de62611cfb42f7677dd15991177f09f28e95f21a17edc0087f79659e6efd8e68bf201f54fc25bf12f7acd213777d9b0e4af778fdaf60bb8f26c4c818cfdb32ad5afa5874653af7579774aa5cde42ddbb5d9373cb77c614e41b38cf6fc373cee919d7f53981fe957edbd7fc95b2bd8046f4999f83d89ab9681b16a2667ed56f7696efa6cb2d4a57c2d4dc172afa17ba86375817c51b2535fb4fbd4674e1debe91cd4bec095553e2dc1fc0874ef76c05ecd9cb9d2df5fa2397f6cc0851f7edfed8aa523f95fa6f45fe5dc9fbbec4139575b83cce313ffb554674747a72ceabca63aeeeafdf84aa237f857778b6d1e3639f303a6001d7f8fbd110f791e5b5e7524c5dbdbceeb578a8e74fdd39a68dc9bbacc5965eef2f40d7b7ed3a8233b1f881e0e16cdfd7da45f5dc16d41ecd6972c379f3a349657588339db2702f12d085b33ce6e8625bb997369d4659883ad7d72fac75a1864bcfe319848fe8db70c757ff0f4afec969bf5ea3e7ac0394655f5c8d4f0ee805ccc432ec1b7702fa795e609facd98a729a4caaf1c7b7e9a2439ab09e723147a7100f8c8b5dbc17e63abe2ff52950feac5b7a4546b3fcbd395be53a5af53c238af786314f2977fb2131394581eea9c7824f84c4e9629ce71e54effda07aa34067c42cd7d15383cc66bdb9e4154f079b525ef1b9fe4e7ecf47ed9cce7f47dfcd80e09f9ad4f6f4a4b7cbeba31d606eb65ff54fe3e2aee11c361a037d5931e7919626b5360acab683e081f9d8b1e1d57c9a981a6ad9783ab345dcb7963d3310f74de5e36472450db6df7427d31917832116366d80ba77f0fc8c6f7886ba5feffc4cfc1d31bc906e11673e81c881cbfda8f3f47e5d6ed69e2e7b2eeafef17c6dac6b7dc90bae4faaa3b49514bb779e55c6a5d688f87decfcfa6d5b91e1bd58b8dc4654bcb2a54964acd3134281f5260b71107f4b2ee719274046c8e205cb6bc257fdfdbf6ffdfbedcc36bbe8a5ba340aeb38caf2319afc87dc52bc3bbef86c77ccea2215e4661ff04cb82f29559e109a24587a9fcceeb07082d4947b403e40f84e5774bdaeebce11a8594b186c5131a1e879976a070b8422913136973eddb4154f89052c7f3bafe36a635024dc3bc67852f29b57ee9cbddb0fa87a2aa6d6e22682f5192fe7efa42e7721f594a6fad0a8da9ca8b1d873adcb2d901d0bf7855dee1a42c762667ddd216f9fbe236fc31a966519af50fb5444c5f225a5bce602fc18fd13f6d710b372c929aedb6ad9921c53d4e7cb7748e3efdecee77777ac062e86ab509f0b253fd7e7588967bbe421013e50ca3746c8bb67fa29df6972bd5bf4817afa88f9576dacb1220b29bc630d514303090bb2ee0859b107b0b8bab3085c750faa3c49747a52cde5c96b16d46247ee8a0f29d67252a555c93655cc115325e2efcabd699c2bcb4cce75f84b39200a358a731bdcabbabc3b862055a84eaccafc461bd46caac4b76a36358ec1a2e5d9025e0a758e113932b57bbb4f0d361152077b0ffac591be6047a77b2e27cd5dd5afc571e0ec62aee14f8e86cf1779eb952f39c83a18799e18bee618cc0117c538af8350a93926583a238a463fbfc307a37b166aad3e128f9708836d28382cfc878985aacff9428f2c1a0f4d71309e98185e2729ddf97c1d0395b379f33ee7dfb4ef1ae63949d9b1006bf8dc150773638e45bfba495981c9aca2dc4ffb0aefd99430347b77bfab83c9584976bfc15db12dcd733f3fcfee4875d737f7dbea4da1c5c4a03ac9d4ef1d35accc83980f6361eb93e3e2a9ef9bcf452f47d0181bd769ec2c1f3dea636baaa394efe57158abd7933d5bedb2ba361d40cb303f881f93f5bba3f2b6fc625bbc6fe0f425935d8d12dbaa0ffd0880661d453ab9a2dc7babd723ca9e7df45bad8f65f94e2093e9a0db0e8665d8507756b913179ec3327b28c41b1d0ab5ad8af233ce260a78c91edac0ec5e8cca372d3e37bcfa1d369c3f71337a14b74b699468d4fc68522da44dc3f0c403e0a9aa3417cafd8a059a1835dd97fb7d78a0fe72e1297121a7b7549fa6f1ee5c64ae75e94cbb792fed8d39c1d826e41d57b07ec3c4558740368aa0fd9d6584a35acfa72510fed78d4017e4e46fc490ff9add601bf3cb89878e432eafd1a707e6f4d8ba66ef94ee0ecaf4769af878faf11468fbb51f3dfdf5ff3e7d6e374f7f3d3dfd7812346f0d3efdf7bf3f9e3676641df43f8d9df7b2dfedb6f6fa5fbeed3bdacb7efb2fef70faeb45dfeda2172d0cd751f812c62fb6a76dd6a033dbffda81bfe63ad26c37041ffdacdbacc98fa7d04ed74f7f755e7f3c793b73fdf41745b6de5aef2db245c25ffe13d9b0394550e4bf48ea5f546749117fb5dffea2db7fb6df09f2ed9d24e867e2fd2f8278faf16487ff31edfdd35fd1feb0fef1142670c0c1faf8f417f9faf6f64651f48f271e0e43bebebfbdfd78125cdbdf3efd45ff7862fdddd35f14d1a2de8956ebc7d3ca369ffe6a13e48f27067ca2881f4f73137444fc78fad4ccff189bdd7f88a7bffe0ff103feffdf3f9eba00d230581b60cc05f843beb688b777eab5fdfae34908c12f548ba43a5487ecfcf7c7138f6fdf3eb7bfccf0bf3f9efa0fb6efd9fbc8bae71df095ecbcbffef7c7d3e2b2183d77676c4338dd9ebbcd16a94580272357db640f98b50fff7221a01ef871967f0478f9f77f01e558eb3d5c04b02c4f2fab70bd0f5fcc9dbf391dfce425deedb761a019eb97fd36a7a5a71f4fac17ecf6d1a716594f7fdda0bc2b99eeb7d9d7c1ce78faebe95333b6da66fd07fcf50f3bfc43fb238cb4c836fef8b2dd75f8476cd986f587667be11fd1ee0fdb37dc83b9fe2323e0bc89ed47bb3f82ed66bd7ffaf1b4d4f69b7594ed8bf96e17dd3d175e8b0cebe9affff3f4e7d3bf7f3c2d22cd5d9fc9137e99afb570e73ffdf5e4efa23f6c3f8c34d75d9b7fe887e80feda8d9aea6bbeb3f6cff0ffd60bbe61f86665860d330bb118011f49b4deb3f10e63f373b304a863ff8b4803d4fdb6f752d5a872fd9a4fefde369b00e602bfdf065ef9e7e3ce949b40e9f7e3c193b2fd8afc3f0e5cbd5a275f1874d6a07f0bb1f69b6bfdebfb87618e53fac4ff0d33e09a2dde5c38b96f5987d31ecc082f8ccbf9bc58766a85dbfac8df257936ab7c94eed8717db8fd67b5f735fd666acedcdb0dacc75ed20b28deb2f96a715be5d5edf6bbe79886c17f1283ce891bbbe3ef0ccf6f50b78aff0cd6815be1427105a1a59fa46b55f4bdfdb2455f85e1932720b783ab5894ef9db15564f337695a62fc1d60694b8f68d9d69fb9bc2c7172df4c9e2775d0bd7afadd22fb6afed93e22fd6bad8db8b03c8b7f03d587be0eb7ebfdb0340be3c40140532dcecf4c3d797e6ee5eacf57e5d7e5625d1a687b75f2f6225089b9b06db4d869a9b6d5ec2c88428b6b4d0caffbc187b8306cb771911ec24cddd147f328243f1eb971785bb7d54fcc95f47d15e33d6c5df76214465f1a760e7bac5efd557f6eb2f776d44ae1d957e0e6d7fe3aebf5c7b6395460d93d0d05cf7657d5a1b6bff887a74f021055d7e8fd661e4ee4ab33bf8a1f6b5b6d69a09d70db2137bf7f215667fed5dbeb9b2d73cc0dbb33f2fbabdb97e8cc2f3e77c6379e0f8cffebc780737b2030d220dfef0f3b08bd666b0b7fd08f0c9a71f4ffe3acafefb62455150f808ff73c6eee5c733f8f96f808505fb1d645fe0fb610f9ec0d5de851041505282b0833f2f80ebe6df73acc34f9bf529b87c7809133fd200fef6073fcaa6937f7a3136bbc2b70b32b568e7419e557b9223aef63b10757e3ce50415467b630757328cf6b6bf818f12dfc8ff5cbbcfd7f7e9c7530ed7c1b70d201e5d3ebd1ca22ff2b5fcfd1d7e05cbfdf4e3e9b8f6cdddfe65b373357ff3e76ebf7939bd9c99bda519964611f7b50a766e42d244fb466bf807ecae7bdb9d795c53e3c3feb83e1f1c0dedacadf9d5dca27e663434be31634080a61f827fde3a0c336919d7f042e29b03dc4237db05fbdd29b9d1907ab102cdd836b4b24d5f6b78bcdf1db00b152661ce12514fc14e7c09d7c661bf7ed16dd3de1fb0d8844da3bde6875fbbbdd7d4e84cc3a0c37bdaf9a0bf7fff785aaec3e82271f907d7cd7eba8859d94ffcce0440020dea4ec995d76cff2c0c3e221f333b7e67ded7fa65b3fbd3db99f02571bd0f6d286b927f92af50ad83bceba2f3dd2b6aa3b5bdfffe7832b5483ba3e36f50285fe83fe9f69f64b35e99b7f945c5922228badd7efddd8a65fb6f542c69827aa5deef562cf319dead585edbdfad58be13e4eb7b8778fb47b1fc47b1fc47b1fc47b1fc47b1fc47b1fc47b1fc47b1fc47b1fc47b1fc47b1fc47b1bc4fb13c6b7dff33fdf2e54b3bdac6ceff174d9d68eacfc0df346b9cf5e667e5937c6dd167f5b30534bdaade4974fe45bc2dc9f7bf5a9dbf48e2cff757b2a6717e696e7843e5a469f2fdfda272926595f3f5ef5239dfdf5bef9dd7d61b815139699220c9b7367169ff4a12f07ff7ab9c748722db6483cad934c6a2b00467a5f3fd7fad7416e9acaa805e29f6f23cd331d16ae155e7cb3640aef2e5f451d6f98a9a5cd6bac2533205edca72fee142f77121046fb8f0a5275bec4de731f1c16c76dd6eb72b2c56d670b5e976bb7df0b5bbe977956eb7db4bd7fe9e003ff4c6427f21ced87e77c37e75adad0d7eb32793f970b49258291249321c0986f812be9a9449a99421afe5754cceed76eb4d9df59711f7a14854b8b39743e5a3fb428c14fb9360adc5eaf84a8c74979d3def0276be5a6821b57203519f8be276c1ad263f579f9c3a5e06d1a26b7744c69b6c6633fb43ef336978ea6ab220db1df9f0327d9bbef19f32ad50c789d77b8edd67b5cd3c87af9df6db91f6fd4f6fcc4fec95fcfc32dab9adc81a2f67f149ebad273fbb4ad0e5b9e960ca4e0fc3e7d1c03d5afb97f19e5a2a2921b147d5b5944412b8c5d15d8c9ff7f1e6796ea7c44814a6e1516e5b33e795ef7eb94177aaf4951111f01f7bf72d5ed8c6bec76ea2c57847eacab1c33fafa7cb28f13613f22360e4d78fc5e4b9b74d9fdd7518ee19ff73c7309dbe293bc7309d76d5af37a11b1bfccbe07438fd6403dee53fdf48af3d7eedf956fb8d9871fdbd19fefc62962f33627f6a4b0e3f178e87d1c74f7b7f888ef6d19ed9d1f4287a83add355bdcf402279b7c37d1d7b92b21df6767248edbffa3f5b3f17b6e12f75e7c4ad88091b252f43dff81a4603c3fc1a0c3df574b2537aec4429eb73c2499cadcd35b36514456d519bd5cbb3d04ed681e689ede0ada5eabb64b7fe24bb1e4f0df940a58c900ac29496d5747b523bf2aa2dacfa6bcb9893d4fb8bf7e9f07ef7b34bf83b9d8adfbd3ecbedcde9783f730ffa671806e1e979fe7cd07c5b72e5e7f8d9ffe8edf6475f0998af518f4b27cbeef1353ef689f9cbbe3764fba7e0307cde0f56f671bb6fbd9203c2df7d4ca24567c3ad17332d4c63fd18103f2567d30e0e1fe41bf115cb9ed115d2f68230e7161d71f3964e8aaf632f185acf26a9f7ede9ecf015cb82d1665bef7b974e94e9cf9fccf15326f567e3e87c18a34d7f43d11ba637a59edf1291139cf4cd8d07fcc76c25bc125448ab27f5fd634eeb06b9a1d63be3e578b04634f932089671277d557b5d9f9ad9fb4fb0bd4c7b373b326664115b91d464d93b6da2a3f0d1a109e2b01eefba87b1a0f7362fef4a77d71d722fdb8f3533484e54f8b6ec4f7abdf668d51664925f786f9bf5f2f836168ef287f673f5613c1fd330d91f7bfdde6aba753ecd3ea93beb4db4217efe140e1b63688f95dd387449f32de41266f5d1b5969fad8dbc5b9cacbe625aaa198f48f96db1598f360b4531ba0663924afbcd487e1e4cb56d2dfb7edceb9bd29bf6f9dedd0cfbe28638f537ebe922d57e8e5702a58cdee70ab7eaef3aad2f63451d7651bb7f88a42869cbdbf1f0d37d1fdbf164f4f21c1d5e260cd11d0e228575f7cb797fb9f37bdb2fd232396266596d229c0edf08aae78d85b66e99ef2fc76e12bcc6fbf073fa39f3bd9fefeffe46302cbde7d9ccfbf12364ac1775c8f62547ff3288ce477fd07a7be75b86b36ca95ce765311c079f03dfeaf5c2feab34f45bc28c61f71fc634edebe47a37184a736574ec26f369b71b3cd3bd8ff9809898ecb0cb50f3754f27fba7457fdb9926e48e76d205212d0e2f07fff967c2f735563dbdc4ad67fa855cf4343e1d92f1b3f4c25b07db343eadc1e875b9fd4c2372b2fb9266cc784fb46ce1e55d9af707c1cb9c9bed5965b97a96e4dd50523e4e6f4657d9321ffcd7331f2483cdc0e992af33855b1e16c1aad56b0d88a0bb8b4f1b49b1128d398e3e246b335c8dcceecf0973e258ce8c078b9f7d7f2ec7cfd6763d7a2629df199e8201cb8ee2d960de26de6d739cbef95bcf65b9d763df35d6cbafed0bf9dcfd1cbcd16ccf7a935bd3e5e87db6f0a5497fa9d3bdd6e7294c7c62119ee499e77af1977a1a08ee3426177ba327c6cffbd97848eee6ed403c6ca28e31243aef8c6379c6b8ff2c58c6c6b4e641fcee9bbdc178f166b793cf178f7f5dee5bab5eb73f14db7369b75eb436c7d6c1177ddb79768e69bced2addafb771d79c76a8f7fde2a4866b86d50612e1ed5d9a6885ec44390dfb836ef245feec8ec7f2297826e209fd42e98b7d7f3b66e49342f5d60b5259522fa7742b38f2d159f7829074e751fc7e62cd553288add0de8d59e5e7d7feebb9e51cda5fd6fba0db7f619ef73edd3db2ad9d2ea7d6673c1a7cf9d36d4a1aa623c9c18a5e3d8bf3c9f064bc399bd3dbfb8bbe9d85aff3d490c557e15d6774a6f7bc4cad963039a46d71bd9dbdfa53f55d78578845879b8d0e5ecf92882f37f4faa3209d2c556eed44be7eb4773fedf464bffb5d5a12be74253037af063f996ffc15c9c9b38f60dc4dd644d46b2b7d5f9fec88246951cbb797749ff8e95ad00d3b158f47cbdebf2cb481a6b18709e912c1bcb7e7c644bafef28889753c12ef1b6d399d33d1db52dcb467efc3d74dbffb1cd823724da802b79084f6aecd8d5b8922cdbf3826243e4edc22f4b6dcec2bfed80d56dddde7cfad2cbcae86843edb886db53f9aa51f6a6ffac16d5edf27db69f02e52c23a7cf57e2ebb738f337a647f158f561b72f2d17d192c9de7aff7aefd3edd334a34ea583328642c56e274fed1ee2b2cfbfffcfeb04edf5c9ffeb422cfbd11db796d775585c8ce63aa10f5bb5521a026fc5655e8aaaa74de49b293a91df7a942d463aa50e7bddd7e6d918fa942544d15024bf08f2af48f2af47d55e8bab1af6acf677f18718b1e2b0e499e65d4a361f7529319119ac46f54c64dcdf124507c1156de639909a97b3023db36253754fbdd885bb63e3efba3e192105692d81bb18c45e852fcdc774e3b932143963959ba6774584f3cb04eebe333ab5ef8dcb7bb1bb6df7dd7259150163d476346894189c4e762228a43259af6d94b9b3c53fb79b50d37ab4b747d4f5c2ce3e3f9d9a53fc63d68492f51a5b8c3fa59d54883b25c559ed9ec38cb18657d98757454682165eddecef044ef73c11e0d2f3c9acef0a8c842aacaf394a3059aa384d448de53cee149ce191ecbd1fd6dc7a0799b1db43ea01e3838c15b8ad8f1c4d50784ad49c251b7ff3ff6deac3b55e5eb1bfd407bbc27809ac865820a082a4acf9d401404947fb0013ffd19d50055a049d67ef6ff79cf18675facb1a2d254336bf6f337e53daa74059fd9c8e3cc6b208e8e3fbf1777a0ba2f2e8bbb7959e87ce63a5eee72fc453516d5e76451a9c78f8b57c97b5425b3e0e503fa5e8edfafdafe04d663af41f498621f6456a1e97378bf1c7f20e4227d5e776bbdf95910cb625479b6cbcb315f6d2b9e5be87c140c9669282daec120b8d6e35f54c3fb521f962ae74561961e7c6e785edce7c3c55dbee0b9c14a8de0cec40bc31b2e0c37968571b34718e9adfe0cff6da5cdd97f3f359f65a9509abff13f37e387a8da13567decc9caeccf49ff7aa252e55516d8b33f389d036e59c16e64d9ac0a2ab64532f8fefef3a771dad7f7ae6ee43819859c8712dfc8e7fc6795cd530f8c53ef7e8fba9891f77e92cf85ff3e30da4ffa0aab6fe28fdccfa234c852e6bb3140a4d2f5f76b4956a891f7c27f62a713a9b0cc5cdb8bbc6c4a5dbbc3ef805dc6a4b4f0202fe061b7476d7f523484aa0b7841b275dcfdd65e83334956bdc4dae176f5c49483d74bcb4390a5b750f8b807d9e2391d1e172d0d0ea8e79ddda375f1c43255b3fc2e1f86706c086d6e0dc651ffbd0f06f3c3f3b397df897347552a21e48951e2dae5d5cfcc7320cd53c0b77e781fa6f58fc1d61e25fe20b8f81875499e307bef685d70a78793a27f506bac56e3fd3ab38e5b7b48f33efde3e0da6501788dc7a5577f4fecb7b8bcfac725234b560e9edfdc975af3355e1fe5d1f9e2f88b97a547cb9917abf83d2678ddc1e746d9d60e2edb23e469459f663657dfe2736f72dacfab25b566f3ead67b97275a693005bce90c2beb65695385b6d97faef451790edcfb5779d61f33fc37ab69606ee9662da346b720b3d09e66b3dbd659f49f8dce98518fd53253231467174f9c153e374a4dbcb7bdfb66cca37116a11de6fef1cfc7e94b607f47773569d1b8c01efceabd62197dda3c1b4e4e7b392569d35ab84e7a0d9d754c9d593d21c77655ab8f999fad7f4f5b5298fbd9e61a562376abbff380c6306df3c2e176ad917ab5fd69ac72f5f9bf5d217f9f0cff79b3e6507c6fce1c8aff613a21371c018d9eff87d309076fffcd3a35961b0ddf7e9b4e58cff0b7060d71fdafd30939f67534e4c6ecbfe984ffa613fe9b4ef86f3ae1bfe984ffa613fe9b4ef86f3ae1bfe984ffa613fe9b4ef86f3ae18fdeeb43f1df4d223c147fa7428de5c67fc7a61cf10c3f7e1bf41306ffd4a61cd236e5f8bf69530e589e7b1624ebd97bf50c7f6b5312d7ffdea61c0e798e8565737abb1bff1a95ff1a95ff1a95ff1a95ff1a95ff1a95ff1a95ff1a95ff1a95ff1a95ff1a95ff1a958f8dcaff9502b5e6352fc56dbbdf7f7efd9f4bfc7ffccb314c3fff9f9fe2970fef68cc4f66f03ac006e7af7333c7ff746ee680ff67cdced7b64c6d3078058ce619324a3f6f72fc67b99923861db13cc7fd516ee6b89b9b59ef426d7a72cc80fb3743f3df0ccdbfcd8e1ef389366b53ad4e913c85d99ac5d65ea6fe7199ca627af132bef2ed19cad6943e0acf9edd3dfde3eed9e69ece5c64e3d01e25b01ff7717131a6e964638e8c8d3e623ea5f55e89c78a6c7bac9f2de1b314d12c42217d93333ede66d62114645e7336a340b4ae5efc917e4ab09fc87d1ebbb1cfcdffe3d94b463e303ccc7cb4f94c16d9ab27598567f0679fdbb0e0bd9e13c1fe4dc19d651491789790be85d27cf43998a7a164557efc5179ce8cdd3af35411e66930f8a8b6361bc971cabbdc8c71b9fdc9d3d3b79dc39c143d7995b3f659f41836a997a5174f77334fb432d84f3f9b9dbd099f78b697fb9979b22be2f92953840278def773d6386b18887c154a8bcba34c2bcd599fa80c2fe7cc04c7f42dc82c2674e61759aa7b1b9b2739b3ee8134cf7d7b1a2b0e7b709dcd612b44a9e29cf99dbecf15234fd5f441169101d610ace9f21664e9d9d5535e9136a7adb328a8b515cd9c58d72cb44707d4af1fbe83731d791f4ed8b79d71267efbb828929c7f7269a6481b3f4899bc1d3bfc4cec257a867f67197b300f35e79caf8e72e14f4ed1422f9b355b1dcffcce38579eb361836cb8f7ac73e5e8239875a488e3f679557955e9cf17452faf6a76e365e3bdf0ab51f3cc9dd3cceba2660cefe9e545cd167c2880ffd73cb9079e5e322a9cd3f0e25751aa4aeb7c27959a9be5a93b585f6afa30a5f93510ad2a94127ccf39f58fd6d973e6b06fee2a9ede54314cc3495eedf49457c5e12538b09d752de05943346625723c6d6972b61cf9f6fcea0b6e660ed2b39bf1857adc5ccdc1a6dadaa3a325ce8ef3d8fb695cc6a7cdc63e77bb84226f84807eb2d074eda0f8c43d7f57f17c89cf5dbcd393c2c06754cdf099b03e2a7ff09106c7cd089c7519f69d5e36f7a8d29973ed92f58c53b490987c07d6f6d85f53c539e75ebc2fe7c775368fa354b3c1f749ae4ef65928a4ed7e1bf03a065d37bfe2f9c59a817a22f99cbb87e714fe1bed1cceba1b369f8476992aed3ea7ab811705f147a599f5191d1d82cc8a42d13cf947abf085e46d6bbb273f1e558086d569735dbd1feb20e36f9e33673ef5a8528539f83e0aed9291e3f2cdb347ac6f5b15ec3700e62e94781df214ace322f618c0f302bc5fd4de8a660ef8b122c1315e017f06dff9f1285124b9f0ab92a413b076e479601c87b9b8606f84e812da65a18ae35c21ce4c70640a3f1e5d34bb7bbee1fb18cd36b379665e1c964f03a6e1bfc43bf7242f48112dcc585fdaf0ab8ce6c7cd79172d7e3520cfd9fa140ab7d8d565c02b8b508263ba6a0f6447f38c760f6e41c6333eeae374d98ab3bb31082f046d5f5c6e56f8023e9f90e6de7939e693adb304fb7351c079bb33ec72f29eeff4c8ef9d7171987f567336e080fc037b04e4d23955b38667f37ebc2f1707173c9f3ab7aab42efc387df3f496c750f302f2f06841f90aab2406eb18d363aa99b32ac86623f508ced5e60a69421fdd7d3185bd0408decad4eb130a6e06787820cdafa1c8a30cfd0774dd59b75cd1cbb4f39e83cf8dc0985877b0b9060736dd11e396c5219497ed9e021e92bc78c62901f4435d2bc9f4b5d2025f9babbd6bc571e75ab3bed6eb5f3b7d34866c1ecf0ee05a8d335f3715e09d242ffdc869f9353dc9b635de09b3d41e7c849d6bef4fafe5bceeb5ecf36ba3eeb5878e0c85efd94925db9fe38d9ea3be8f3ca71ccbb6e57b3326df39eb53104379c628e2b8f0e3a408852802340be4c8d659ce43b1e63d6cfd9dea3969ea4dd87b7d8d9f6dd24fd14a34c704672f0f98d93de0f8c316e8818e976af6027f8faa253c7bcdfb402626e7f4d306f7c9e0f7f6393618cbc8f09c35ef1a489e0713265e4f3f760e932e0dcb32d7e67cb1b1f8b935b574fcf76e3d7d8f55d1e5e5e4e3dd61f9b961b296359d09c6d4dae98ce56dcccdce613edee5b83c69fafc7d3de377bac92e2d6bf3b14eca99c3a4abcdd47289eb92c7d7f1fa666ae9c4759ca603be5da621905522c32ff5f2a819d3b12632c5a7c11e55635ab807f66da7973bcd216499c314e19d7d0bb35911dae6ab6cccf81547ece1d4ecd0a979c1d7f2b2312d3c9a368690363813ca3ef58864afa64f6f1d1a9a00de41d1ca6c51cb4f467336e31deadd52cb8e8b66b25128ee2fbe3d1b2a93f7c2d34785678f8eb037a39014c181bd784eb05f3bf3ca759213a025ffcedc56dc78ec1fce57a52af2203d5f1d834d6d6efc15ce1852ff24e5f87ead435db0913361c6e79ef07ed30ca0538d6065cf3c764ff5df9a0d654c0e69d5d9a4ca748c79d232ffcc2cead95bac6b415d52985f429b8d3d478e6542ee435e087bc70ff97032fc4b3bbc43192ec7f2971f4f79b43eeb6a65ac47cb4350ad0c93d70cf642e8052bd71cbe8513f642e8848c36797f8173d3cfcceab8a1c66554a42c9cdee8737c6a654973cd1ead87538eebf5910d86f76337f38c1bafdac31cac11b976a1d4bf369c0c793f4ea9b15858de113c668d64c4ad4b47f39e6c9dbd633d754df3a2fa7b6a0e1f9ccfa5893c7907eb976adcf0d5336e378da1692d14cea962e4e4b50ce0cf06e02fc2e8bcb587a750007a190b798571606eea94e1177aa96b865c6c264c4ccc8fd2f16a9d771e7b8d0ebb75366990cd187f201706e23b356d5d83582ed60776ba93ca057d4e5d784e4331ca836a04ec0546b369dab3f45aa697556deb803302f7d1e099d561daac833d58177e4a9e11f9258847986fb0d7d551e61bdd3a1b179ec85f6a7e121ca93d2a49fda9b9e7e85db7f67abf104ad88f15d8113b7a6f5f3b3229d2859e3cb43bb2089ccba76bede9685d68ba08d0ba81f326ad79f80e42c7043a09d03d905dd6916fd33d752fd0d595e93a9b6796bf99b1e39d68f9c68cc957e8ac13e3a6ec688638b7f4d8a6a72eef05b642c3333a73c3fc30a2f67c2ed0bc0cda0413b8dfb9a7eff35586751f7dc4f8ec320de077cbb43fd7a2339611eb8b375eb3cd97ad6d9e14703f83e4a9c959a52224af5bc06b0cfe8ef519689b79cef4046df8ccab7c8e9df9c74df569e1f71e1fbc77967cff5e23873a913658d4f348a96766f0bd8d6cafc716da50ae516b85f4ad66ad4ecfd62aa8e0bc800e7d09a5f9a87ea667e4ac07f96b82e7ba41f37558b1a39f82b5660258c5c93eb147e6bedef08179281f9962138fd48d951a9a39047fdb6bb3b436d68237f45254136b65cde673f0d98ccbeefb72ffb8bc017b57335d4abf86b636c7b341b64cbbba3de1e3386d9d05615b0727c581e321f470cb5fa70cdff1f3b4e708f0a5015384c23e81fa9db0bef89cfbf4fab91045411602dbf3124a8b7ca7df92076b9806c6b3f5fb60b6627a7f72df0f6b8fee55537e47ce594e014d7dbcc9f12ddee9f2a3311d5c7b79f2ac791a0cac229c3c7bfeac7e3eba5e7733ccb7770e97329e338f42d1b2fc6c19b95c947ac02ec27be070e83bcd419f3d7bc404c714d1193c83c8ee52802d8a9e89741487be5fcdcad4cf42665b5f37608a79c71e25759a6fed59e923ad7d6d50c60a40dffbf679d7ae8fa823ef334f8fd01a21b91f2d849457a5f549af6e89a2976a6f4f09def33d1d2fe1736c1d3ec753333e7b7afd2c39b9cefc18da2ce0297730275ba7e7d4e52d3fbe7b96f4cf1ff69dfc74fe1c966f69b7dac7e07df2ac8855611eca71da7f76caef6a5dc233be5def5b6fbdf5ef9fe70fe447beafd67f939927447f25d43964639aefc035d3a0980b49b1a94657eff0f4fc498a38abbc817586f45da5bc3a0d1ef02d8bf9d59a0b6b60278233c2bbb609e8b2b62155f01b788e6682711136a09520b93e3b15b6506e5411d8310f6c31763933b1ed47e963d22645ba497deed0b9d46c933e97b679f145ebe20d36275ae71ea5942fabf5837c794e0a65eaaa7936fe6dc2a66ac327cee9a7037dbf685fa12d62f2a1f0584f083293d41feb7d8e7dd1e4c1de92cf20748df14e342f087d81d2cbae1eb2a16a3e479e7b628c35afe3ab35373b6c4593b759961a976b9bcf7d08b6d5f54d40394dd0d17627dd4e36b60d43d13cd92c9377fd2478acb5efff2338cea34f1dfa11102f85facb280dab0f06c9f7511664fc7943f25e23b789ebaedf5cf74a5c573dbfeef4248e64bef89935a8e9a3d1a327d09f1c8542ca6cc139a93ee09c2d709f897a032bc27cf6297da4ee60937ac2079ee7c73588b17d61cf0b4fffa87dd17ba057da5c51c89217ca22d47572cf5914b2c857b288f8ad2cd6b477dacbf199d69d25dac7d459e7027e36fe3be3463e0aebbe8adf63850367e5898e2d2ee97366974807956ecfd63f9b6770ef2eff1be3570578dd17e4574273cdab2cc85f9e9e90bc8e3a37bed83937d0964810ed60deb44addf63b91c7f4445e37a7698cde4f20331ed8936cdae835706da2abe29c337f209f904f63cafb55ebbb59e865ae19ef6f5be3c6bbc63957aaa2de8bbb66f3be7fe023d54e5eb716837c2006b45119455afa0b8b2982037fb7ef1fe12a4b0a4f4f72c29ffab570d88616b7c4df289ef248cf8aa07f80a60f2f45fa4e7981f13234b62bf4f9605d0ada77e2b8fe2dd2ec71c3d355635a6c0de646c60c007d6ce27d37260ad70fd8d636377c7175365f656948dc07d6e62fd7e0a1ad61e911a34af28b671537c7c873f01ecf2a4a474f79454f79d25f47e95da9757121afb51205f9f769ff14a41b5a9687133e01fa01d00de4582e3e2b395e6516af183987ce34451749872e9ae760df1c90c5f80c440cb2a396912fdea02f589d25a750482ebe3dbb294244ea2c78fd9bf540ef1187451083f132b9a227afbe6d82fb5fbc3a962ac9601caa22ad733563a340a0d7bd3b460fcd1fbc0be8b8bca22779d7571666ddb385631d597aaffd8fe00cd988b79f5de7fd1466660e7416434cefa1006c49169e2d8d0176359eafe4a5488787e3cc571ddfa1df958522f6b36608ed24385a07204b3583e1ebf8e64e2a291f57f7dacede1df1de21ffa408fd8ae019a96cb0e93cf618199c3da7f51322dfc62cdd49b788886f460bc417bff3c5205f92c967dff96c42a1bd0ec7564f1e9807f62d1b9c7b52f484d70ce6144e5886fe3e05fa4904e380c775a439eb963f18d8a78ae21ce49ccad6673a3d51b914746cf3e23933d6b5cb3b9015e4f8695fee280d1c2bf2a5258ca7a8995586f6ac08aa88513afe874fdb2462c8510a7da6e49a6219bf05e7a6e3776dfdd25ebddf115847acb3c13828d4d3f429af396bacb3f59eb173b8280ab87d366ffc73e87a87e54faeb33ccd630fd901e2ecbeedfcb6934aa8978267c1f981e7c33300ae03e712ecc70dd03b185b01ce24b9ee90966a3aadc77d40fe56fc99dabfda472edbd0f783e2dc02785fed9393f9da1fb4b5adbb2290f2727df11c2f0d8ec9a9931f52b4fef7311fc4c867a808491df720cedf389b6761aa883c9445287e175d765209ced115c82515ce11f02637239f05fda5d85fecdf197c5e22faace2398379517e7401edb5a23ff529429e0a64939959f7d02e19b86f9defc07a787679f79cf355d3a7b75523bfcc370facb9b4e65d3cc660c2440ba1ccf07eb7b10e9a47e39c12c03b862fb28d62da609f57d9f845b6c314c81c4f1f1d3d14fb8b61be12f81e9c27ce6200bf76611c9090e5d23b8c35c9c60cf063620fdf5bba36185eb33dda76c8c8f3b48fb08f62bfb547f7509c5d5c0eae554ceb0d50b78b6b3eb842393fc85ec1beeb9e0de7d43a3803cec3cb421fdf564937869014e877f42c74165348b3369117624fce2eba66c9d37e503ead6913f12d330fc5a8f207c11eea6a53ac6b76e31e52d8e82f3facc3e0c13a0c5a598ece97c39927c813ec612127cbc8cf46d750f8b887a27593c5e9decc66178f33f7ee31d92f04395781fde894e38540c92106c686264ca9dedf73551cf2247dfb877159af9f6bcfef8a38cc55693d86fe757108634b8d0d395832ae3367883dd979f628d19c75f339186cd260c25eea7b10bdb04bd7d99c804ef029ec6fea14bf8fb3725fd89f42814d159dbfa8c63457eed35cc5e326ec6044e7b369bb66b3e99b89afe9c43266c82edd9c828c1fc833784e67c1717e0de27dbcb6e7f7509a47ee601d77e4f110dd47c74e1f7c67a0ef18da1f699d53cf62609e5828448ca7979ea2978cd7f1618173f7bd7f0fad1b3ccbd0d74efb346cae687c3d8ac5bc861253849d3c8e1f7d519c770de208f1c3035bfb0d22a4279695660f299dba8eed6a8efce657c59762033d645aa2186d74b107eb972066afab8c0f55718c6981a4eff1d782b055fdc1f7637ee2effab3f1fe6c03b4e3b98f2a6d00fd0516d80fbf2a9b392955f10ae65cebfaaab43ef99959e85552f859670e5998d27ee89eef8f3a973b09fb7ab228c2718e7a6ed8f6dcf81edee3febba228b87773ff3a31806ab4f39bdcbb280a187ee0a754ee1dcc73ead2e84fbe682a57c0e9f8c584b26abf837eb1c2bfb355eb03674a559cf28bc939d226ec75c54dbf94aad601123e48cf8cc68dcfae91470eb6f71750de98273f3de78e5ed6fc88d0673e22e53e23ecb019af8aa36e9ed28ef4813d9a579307d05d3b496ebedb72d628a8caabe6c814cdb97f60776e0db602f4e5576cb4ca66a4dd1901bbd3bf377667aa8a4981e68de9af3b2feb9c3806d41718459aa7ea2cc955f0ffd3b91336f8235a8532789d77f911b66375cf59b2beb43e29d433b1ec379a33ea281dbfa39b95a902ce2ab605ac38ba287a4af82ac66fb21e5de159ceac21b0db147d04e3d5f3d88d1640af053450611b452f2ba52a6a5ef3d6cd550cbae785e22ff3ffc21af015a2a3a4a123ab8a689f2cf43d21d92e5beec98f7b3a80a848d3bcc93335dedf7abf533ae09ef0a5b5eb46fadfd46c73f533f3259c20de16c4c5972aad6bfd3adfe9098a15883ca21df0ffff1dda21686158042d9f27f231c0b97beacf4667909b8e099fd75b47565d6d6e16aa22e03988f72a7aab0fba780cab6a7af20f80678dd24f385e6c43188dbf2c07eb5ddb28d01662cf9163b0b9dabe2befbc270e322bda0e5adf98eb3085cffddfa7d34e1c02e6c23c5cff04c733c531e0dfadfc843ab17bead655c075b90f815d57efc7637a45f3406b4cec4738395736c787c00ec23eda96c7cf20dd5c5569ee77e5b39b9985ad2785dbe501bf89fff575cf17399da7816845a1f0e13bbafc4a7e9605f9ab5e3f4c0f5f72fc1e2b03d2f6286259dae4be6ddde51913eff432fec7f4c226c767c3ab628fefe77eb62c427b937ea72b785c1d3f6ce6507850d6f49e87738a1fe938b43e80f4fef61ddb26c7397981efbae75046ba59ffddba8e7cc3aab586fe41e5f1582ae453f8299762f9645d36e9e7b4138fa6f39b8e4d9c36e56b99932ac6f8b68a99f2d11efae2ec1e4ed38b275a43a3936f41fb12c3b46be7aac49ea2b53b9d170ed3a7e13fd2ed013f1c8e49fb79c50d81be45e955ddf5f7e33e6ff4e3a224f59b47f3ff39e780a2912238fc999e1e1cca4b7d26517e9d0cf8eba5dd9fe435d0f7b54ceb9f31ec43fc66cf615d5b30d8447eb6843e4537335f1e9f8fe6ef7c754c53ac4b338a14621d2cecd2dc2f7261b0cf89f4775473ddb547474f6f784fe467612acf8abd1c3731df7b28ceaa502862351e5e88ef533f5b7f299369d4f03478ad75d32a19fa0de86758b7552cc70ae057884f0dfe393e857c070a69bfea39fd6ec0c3faebf61d0fc3f14de6e4e96c672d922bed9320632c437e21b85938a162edd9fcb806bc1ffb2abcc2e7b08fe7c13a045c99bb9cf96d5e46cdf3c8fdac6dbc551ca51ae26f949f43152246339353279720578c1bef193c8aad43bfd0eda61879f319bf03fafa9a67a2fd6ffc37c8e7b7a67c374a7b2ddc0324431fedc1337ed9d4ff9c89f58e82e31acaff50b068ba33981b69cbab047d780eb20dfc03da1fff40af01a10b377a806acc1e8db7709d25a3dba3c47322cdebd5c8f5ece4667ef81cf7f6fbefd8c448f63325693f425a14801ebb7ee9acd7971fe7d5ea489f17c256bed4b632119b4d15715cb8fa035d562fca1537fe02ef511df93538d27a67f8addef90bff0bda93f34227ec7db487c0de67fae77ef89fe09077ce6819fd818d936bf6988c07b4738bcb48cb862f300735857a21b0a38b6da313f6e803c78916dfc868b3efb36dfd3368fc13283f9b39ce638f3c7728ae80fecee6476a8deadf30df4b899c3ea4c36ea01c86353a434f2f679e0eff9e107f1bf5df1bdbbce89c35f2ec35ff299ae833a27d6037e07b508d8dc99948ef9fce52ed794c03f3c0f41cdab76c1e3328ce8972f073dfb10a85ae89281671f242fe4ed5f475fc2bcb83c92eee66a688d65833de73703e9aefa40dfc8ed40b94a3fca50851aa1d867f2d0c37079ffdf87442f51a534e316ee385e1fea51d8637c5b9dd3af5c45f5ea7c6c433e07dd9c2781f2cee01b330f6d552badd1707b95c1c64763909ca79271e6c70281e4c9ebd9d54c25a49780e9d5686ff90834ec653b379ad87e911cc4fc3768ee6c5fb5c71ca7193174dc60b26389e6a203a22de5dae6a7e4cbc6fd5a97fc1b14ef80c4f9fc298018ce918d3eb82888f2c26e7468fdc8926e271e210e812b026c74f87fc72228f9693845bdee5d15207f2ed9c6a078a36de147bf4a9d9e65533e8efdbb3764e15980b02c779c739c07127264be4ddefffda64e6cb16c69c92570bfa10b05fe5693d3e8a8f6da7cbab2792b284fafe84738ca87c242a963d45badecf7bdcda9a849fd284311ef2372181b985305681f85f13abb0907e893a3ae9c0a65c7fc9f1c7c1b547177fb006bae91e8e5db41235963bb934399d6be5e4a9cd59a4aff1418c8835518e5c59427ab02cb8cf816df20ba17cf50cf66da72745609b40ef7ef5ac73ea182c0374083a7e86f331095b249c3037551c025976d1c4360f13db238c662c4ae5b8fef2f411ecceb5e6f8c433670ca48bc93b4d2bddb81bde937aae706fa69b4e7c1ee62ce8753c149c27b21604f9208838bc0e6b7afc7566850aed9380b69351c7a47af720b98a6a8ad379c058e0dcd5f99d2886faf4f767ef8bbaf358e2da07d2f7c3437d6bc27c294c99aa93e96d795f0c9693e97071586706ca5f597840ffd2cba9a7a7602deeb5be08cead2f2dd3de9cac0fe47f85f4f001d759711ed3ab91f117d5b686a16801dd07cc775f9fa3a0fa8882ccdcfb19cfc8e2acf0457ee0d9ebbdeb2cf6c8a73e8cd1d98b569e9efe84412078fa837a79bdc49d834216aff7ab6c4c8b7030cf4391f88ceb2f4389c9579c55041c90f56ddc1fe767dc9a5a7d33bd6fc877219c80e7bf23bbfae2723cb025abd05e029daae38b6ae330bab39c91380fcaf734f47ddd47d5a9c78e3b76cbf3e75e5ce7e3e64b496d9f756a42ca6fc76c3373c80bd07a5a6fdd3c0a4f1f5d7c6e93c25c4d9dcedfdc38f3ca1fc82739b52e383f93f1ab0f409b7b57ffb8f8dcf04cedb5fed1aebdfe0173a06b7a91e3e4cdb3ce826701decff2e4f94039e6549d7b1e3014bd1646d65b5f1a3fe57b4c87b79d7e8bd7825c7c0e985c15a6b79dbd8c427179ead4d795103f86d65396584f81f94828876474f544cb84b5f987f73c1884397ed6c5cff8c4b3504dfe27b78c000d2f8c9c9495ac9fa565685bf3cde47c709d652a4f925752ee79227fc0f516335f44f9ffe8bd9bab8beb01367699421a1088e7492c5ecb79aa4e37dfe9918e67cfbe0c7b765b311b284bcccce4a1bf7816a6ae7d5ebace7b1def80bc499dcec1f3760e979e7dc762e07edb511470d1cea9e4b7a7f29dc03651c033acfa7324005e8fdf217a06532ee3d2f20ca65a1a6641c9367a3f6cbc1f3bf03fe0090b7d7c5385f9a496bfe01c410c241dd530c9e2acbe77b0753627599c5d104e520aeb4c6509da4c17b95b83cb75730ddbba3b7fb03e29462e237eef66b27dab710eaea1b0cfd523a08968193a9b08befbb8a0fdf094df4d867a929599273faef39aca8b9a79d720b12297dbf7f2b3fc38a5f2b802ce023219da290afe47ce45efe6421335047311d61030ca2c4c5509ea198ea73faa4d697c0a352607c98b8a05995b26f2285f8c4b99ed9465513751fe1254b41f118c89b2d18df737ff50324d5c7a72be2877a6c2e7efa2dca77f69cebad1539eca3c3bbd075c7af1aa0fec83fcc8fc810c65da0ac5017c3f0572c6446b27c1cf453803ef9b81f54036eaeceff80b9fd4ce256c140864ed1c5ce7bfe5c77306f3ab3f207c15197f0d05a44311794605d22172e6d1bb829fde25ce18b2a64d7198c2eafa278ecb349ca65dfc9987630e9d8fc47536a90ef180ca58edf91388fa04e42bee8f39b3cefec0ebfa7ac87ba35068ebb8dcf8e11e629c086beeffec836203119c616b0efde5cfc71c3f1b733deffe1ac17cb4d6ae83fa0959f3d5d8552f75cc03ec25f2f358374f9c319e995e94d93975705dff77efd7ed611fff4a1ce69fdc68bc13a20bcc179bb035edb4f16e9b6de86083b09cd0d8c9d83eb0c76cf9a5d62d56c7f9a3753ff8a215054f6bde1ef8d991bfeab5ad0de5077e6655bab97e51a85c36e6a6d2678347d84f8d1f15e5ebb6f32bda67ce8a1063a2c03c3194bbf00a79fc239acf806e163e8f6f895eb35ef57aa8dd5abefeda009dede859406eeca97d0a9f3d5b289bba01b246539d4cf3efc6dda503d207d4d40c50e3bd95544d53ff5c302ae2f7dfe0cc7d97a78bd793332f4097f4b856e785714623bfd81c994b360b9f9d3574bf35f56cebf69bfdd94aeba25bdffa6cdd36a29506b3c7fbf327ebe71dd7b52e9f005e0564fd8fefedf258527f78268fe9daa81e0f0e8512e92a74fe32c903bfab5d40f46a6e52cf797fe97cfedbfb17707cd5cdd52379e4e7717d0ac42111ab7a7896eefe60ceac8fc9b771a0ceb31815dad08f645c4f97ebf9a76bfc0b7c36a280813a0fb05d4ed4deeb70bf19f5184601d3f09d9362f00ce0519e3dba87ce3c3506e1c573e4d303be97a358c4f2d1bcc9f7fe648f52bc14c7fe1b5ed91d07ca25593cdc33d759ce7dfb4fde6b5d82815579267abf223cdcc381eb2c3f7c6993069995fca22e3caaaf7d34c63fa8bb87b62fd0a388daed87f3fe29f644e7f19474de182dab883804fcdce0df783aad2fd37a158cb3a740775d5840772d6e0ee2253918b32a3d94c1bdf5ff2eee4ec8e347f4926a833943c9e1366e59f91c0febe5dafb615d4dbe8a9bfc8d9d0fe96b3edf9075dbc45e6afab4acf34af11ee401c346c184953d9cd7a867663117cd87986386395b3b2cff0e6c7f9d33f9eed9a6ead56769535f80c77c0db9511a24e994c8ad6f6a693487ae89db702681af84e6f2687e6e9632be3dbb11f9f9d00713dcd90bedafcdc9ba059c93dcec415b939e2dafa13d627e7e5ef4cbe79dd34f13ee555b3b9f35b5cfbc4f631b6ddafa886fd7edcb7352d9759627629c08a7c6e88c53b498de38538c8548d6346416e739f3bb67b4750d30e6672fbf50fc0f9fad6c047171f1e74e6dc886e9e367a17d44b54bf06c757cf8a3de3d9fdce8ea8926a07f14b39e9c6eea8cdf05d23c0d0f39d3a985a842e161dd70e35f7507f314e1a8d1f5e47e8b9950f8b5dd376119551c837343acfb10fe8ecf1c1fc4e5159c37d72e19cf99a7de8489167a79a5e7057438d2a796a73be976d233930f8ec0ae4c3aeb3023f709d548c5e515d502b7ebddd4049be6c9a992626bb033450a707ea1cc6fa1afbbb661cb94e20bc2eda6367e6f78b60a572f7345bf45dbba7e52a73065615d32ceef3bb9f535067f01bccc3d8ccf0be354ae0eeff9ce6e7da23eb25fc8f8d39b7f473902c82f067903b5c6eaecec83b93b803e083c5a9aaf8d098cbc71d1cc73c2562a7ade099d89668e696f9f8432558cbc82bc561c17415cdb2634ee0349532aca3fc8556941f373aeb5079507d7ae3218438d35ce7c55a4fd29a892e2538872a0a302b968c2dae2b25267e7ab2acec2ae9f2918ac7b58891d7f3b78fe06c6367b18a50caf59118d532ab5bc408578b9757c94e02706c307714ae7bd025e27ad8b202efd060f4b2faf8e5ee7d7c29af413ac47b3872fe4f3569979d972d64887f6e2f02f2d1be6f3635204f7f6fae09057da61f8971f27d9a7d1cdb945357e0be336de3ab7529b9477554cc0bcef1a7b66db7d3a9ff19cc2551c459a0d7d581b0fd5b5173e3c2b25b827056bbd4acf912a5abd357707eb5aee14419cbe81b55544eccf9d2ef215997b78679b7df4f452f3f4e8a2e8a50fe8c0d1932657bbc548d9bfb97af145d4483036370b57dc98f71b1b103c8b3aa739e49d628a78677b363afca664285c016a9ccc0de6d808658ed7a5ae9707e3bd6bc04e37985215173c39d6e05e1e568305d08b586d72e317b56e2edef87076be3bc699ac0d2ee6b17787b5bab19b29223fd61cb3d85ae748a9cea166dfc8b1a3980887f39bc50e2f943e7a744af8352330dead41e3737a15a4a9dbea0ec772c1e3be00bad28c69beb5c07899729e0d5fc2191a138175d2e6b359e7ca31d8ab8a7ca05b840930fd5a003e49f388aca53d6a7c57cd3a874d4e933824e2c0441d90b4e0fdf41c397ac96a8e0c78c3db568fee0aa037c9e4435ce7ff0dd6fc09f9ee214e01904fb7d0599e14c924d7996bc658757019a4f523fc4a1c93216c65c1cdb60dae02f93df82e6feafb018febe0b3007b9cce49a174ef9a4e615e7c363fae297f83c5a5cc16bdfb42c58a05d236fe70b6cee6847cf84953638db025c0f94d3af9c8601d929770925f3b3a0447ee259d27cf9cfc037b51332f877a74dcf7b913d7476d9db505b11e5adf3b9fae0ed4ef10eb8894813be956221c53d25739827116c3b118d701ef1cdd95be8fa1ad2b91643e9cf07d9c0b4a56c9851bdf9ecf03e134c41a377c85eb827821f4e153394f2d9e378cb1fb0837a3c5c96de7816b2a47becf32b0a7c6c69e1db6425441fa85f88d1d1c0971e42f665d5d91659e60a7c0f18233170a4d4d3c946d2eaeaf2278ee15e2b202bee7c8a72de5d75980e7405a0e06ecced3a3eb4e2ad199382ed350b8c55b1bea40b927400c9db5eb6c4e724d7b92c9373a925e1e347bfce21e7254332944ac2acab92ade78df599fdcaa7c40a337f0fe0378bf3f413e60580360b3d730334fa19ebc2ae2b88e97a50a5ef7502f8b2eee46efec19cc09fc5b4dcce1ca48eecb893982581f069b6a8761393f4c99c57dca2d0d73b03c98b9a21727cf18feb588dde1d2d88f56c682591a49f3fd5248b2c5c1ac968735bb3016ac2a9ac04ef84b3bec8b85210fc0b3953b7af6b2130bfc746819db60231cf8749522ec0522f6e587337026bafaf5fc192db4f1acfb14d2009047a150c09a25bf4ae99e00c0dea9f3be6af942cbc8ab823085907c192cc6fefd7c87f8cf77549faf88333f60e118734d674ac5c8237bb00c35dbf283ea9c3b844ee3d2fbb423f90e8131d1e219a17c91cb3cf698ae6ee6e9a39b3f783f297a993ed24b6ad918c44817017ad36272ce35497edb023dc44e9abc28d7604a452faf3697c2716ff573e450f5ccacea594552d77feb9ce58729c3eb5c1b4752a7e7543dce53dfe639cf4c2f9a79863d107cd182b115759676fd2747cf79d047a4d6bd48994ae25366691a5465ad075c89f866a48909d2b16c603785a9220e0b58b766153787c223e07dd762814e45e1763f1863ad973d1927d05fa6c5968ebdde357b8c781290e51d5f07d0b3164259680e9923b618fb829b214c0bb908adf3018ff9cd05bcb3c18d670f9a7843743de1599b5b86f67d1642dabee77732df0be6e043f9ba077cae501066cc4dd1ddec53882260f7058372bc40782a441c18e57f01d92f3b8b6c7e6c7fd30eec80cc57c4fa328b756c7c965d885d0c73849c8eef46284f9aedbe84466e005d85c8d5bb6983c58b0bce947d3b2f0cfea41e3fae08b728f25d96e1b702a677233f81796bd6b952453e5c65fb4b2059f7ad10f9603f80eeed1dc6a79e8fc9deb7f1a8d60e2db642caeff452fa5dfcb8e137244647368f2346337998e3d9d408df99529bdc4e35068d3658bfc27cdecc0436500ee5151a63bc753640dfa3750f3d8ae6d938d706f22be58b62cf80bf83dfce0b3d0db17c49158e69c6f7683edfc54ed1fe9511d0c5a9b9d943884103e726c9cddc1afbcd59bff8871cead9a190649f409f35a6634d5a14ee1de7d167f33c14d92800346fbc479a1e1de6c73abf7406ec862bf42710bc0df9441b9a07f305f79c17706febe7c2dca1bb2aee797fc267f6e0232471c0353b6514718fe2ed1c43d9e7380f2f01efdd0abdf742fa07e7d103ff5a3de62fcdb4487ced1bd28fdcc2ad805d8af15dc45b368f67c93c76614e39717f363f2e1945f4fc8535eaf023fc1d1a175813707ff9f87e12e7e823c1b1650ef7a7696b3b5b7f64e1ddd942e3d62fee3d3f3847f3d51d94ac3a1b83754bb4015827b70884325125375fa57cfd99538c3c0e852853a5f7c2839f8918447bc66afae5bdaaa4f646b3c6f4999b22fc18af2a7710fff677f8128d6fef413e2fb6bb5bfdffc9792b5c83a61b9be3295c028d9ba2fa21d1fcf21bfe9ebc06c707e3ac7306faf589349dd163bec09cf2031c73d58c595ad46366806eea039bf5b886630e81be0acf4679687869c6279eb328fc097b007a06e2f126a0b9a2c7ff116ddcd059b87d771610564eff2c201cc1e6cc21ff38a673dc7762769bc7ee59b5ddf12759ab8d7d126e5566aab4c03e4273efc5c5171ed7e95b9a9db02370ee55690168918afd6d270ded1dfc8175013453fbadf1faf01ef6b7d7356436c26fcac039dde9a5fb47fc9ed6afba7efc46bf22ebf25da3ccb1cd0fd617d8ca17b5d63b660c798661cd3e90e3043d568fc6f8cff2704c5b07a463ca6d7caaf1df1163bcd7f923b53e81748892257384e03866482e03fa267422f6810e77003a9c3f6159428703fa0da065b05e952a59becba2f55a718b2fa5d631a477debd9705a2fdf717ac2f950eccfb19bf06d5239e1e0d1531c95521baefa45b140849363fee4fae9e1441e5660be8b7be75f12a704c06d77cd6be4ca164edfbecd365993ab727fb8e96b71336d306e6ab59452c95eb33e1ef1a07edce4235a62f3d1dc7de5f0291bfc1fe07b3f3c13158a4e31839d08fd880db9fec815cf82c93aba2dbe4f1346b7c674f75cc6f857066dd27f381f939a6fd47fc98aaafaf6baaeb3e06f6fd236cf07e9aef6621ca679afd6d3dbbf19f415d51063c12d30a85618f68a6394f11ab7163626fc8f12cf22e6d07771ef16d09d2c76b68f0d00f40c470dbf8508d81423c53b33b726f3643f1c2cef96ace8a713a3d394f585694b56e0bf32aecde3e355823bcddc59d227e7b90c3416292f46d154906b6cab5833ff5161c6ebc7f3f57c00ea66b35477e38e1afb0663165283cc6473a2951e7bffde6b7dfe17bd5fae02fc6dc62eb52e3c53e2337c3f38988b543eba513f8990efb888e7fd7e3403429fbe413d7447acebad8c449e139ebce1e429c966e3e08b1778d9db943e32819b266d5b5975fabc1faad898fc66505737f81acd461adee650beb29f75f0ae295554dcfd81ebc75fd2721f22113d7b1b0be4616612c92e0f3354eca8d57448895d2d217819945f979e967e79eb3f4fbb16afea2dae357c0fb6adda2f31e642f51f8d049bbf78e8c75856f9f8d6922adfd89f57e75c71a35eb609c7b6bafd9234611a71003d8e5f84b28a697d0b6f87042d5f41fb6f7cee76ab473061f95e778449dc714f06acc074346b383eb522867e1843daa77b98074528d19ba9f13b01b48fc7fb6f191b6f597bd9a2c2344f8a7644cb83e7357f03c18d3c579f6ab4eee6970e099551cd9987f55dae13d9b1fe5b177e757a1b0bf417d452f712f4e289bb450882eea7173ad7d57082f79fdbbdc77e80fdd1830e75f92617fbfd6d7dccdfda1f3853b3e6c8cb14afb2dcd6e3c96c8fb5f3b1b94f73f5d32ea74992a7a3909856f7b5220ddb4d79762c9fc7339f2651e0cd67bbb920b3965622037d6832e5f7982e707f5fa28d56c12cb22f94b3320462a85b742d4cd0b84ecfa2270f3aaad1de63ee5eb1e66f36c7871e13ea7bea77b2387c0540fa507633d2e7fc21ed469d9f9703d6b7ffaf3baf82ebec7bdb627ebdcac28f78ec807dfcdb1063a1cfe5ceb713596c00de20a01dd6b326df30efbe3cbfde3320d1ef702eee6ffdd03116274e09831b46b26dd3eb02e57a6ae233fcd25ece1c8d6f81dc72687acafebd4fd3f6a1cc1c13cf7b8f442f6050a00ff723623cd68f3c37dd1e23cfbc6fb9ddcb6965f6ea22df8fd7f986f6e3828dfbc4f435067eeae458d954fe5fc36bc19cdb59ffffb034ff2e3f46d73043c05eecd17e1d7a7f2081046903c267e7f0be2e24bb187b89e66fd15c4656a0fe621e64d8fe6750d9ef687fa109b7331790776c6433a09edd17d2ba659bfcf14eec14bd653dc7bb4f8539c12d02f1c872ab064bfa847354b2955b35415792834fc39b5b9d137ebb03c6d6d8f799ae33a6df3d5614fa2fef943f1e5e77dc0ac662ddb1c8d6e1d696f6d716c1bc6abfbb9e78f9e0d71ad1fe7bf7f376e9433fef4ac5b6d2e2e9081bf1d771b93a7f92f8999f2b47e62f5687ee286813d14509d4defbd01ecc50471959fe6af6f9adcffdb4d4598360f9ef314c3e811d60b219fda1ea5b56dd8beaf3471ce4183e3f690167f8d37c3005d8837a5e6f98cd2cb83ea630fd679f2414ce3610299a43b6b122be6027144058c15d3a71d12abf2271b11629aa9e2b833dee2047542218178fd3a8c894c4b19e327631c33ec8f2bf28e9fabb76f0ecba7fe71c90699a541d9f34d6d191967a26415de37cf00fa6693277d0db2f4b8b5878d0c71b9d9cdb5977928255d3955d035818d3c625c3b2dfe463e764da379c040dd8c3707eb1aab8679dc9bb99c9b6cd397f92b9cb0ddb57aa3305c70fe5a9b93dceb13d6ae8fb3e1b7830dd45d357d7a53c533630fbc50b3cf4c13c7d5cb2fc47b3773ffc0aa58c79efb31fc9eacfd039fb16e65d5d7b69fd1f58d8f4727f251c07bc91a3c1837263ec3df897a2bbda96d6a9e4be604d5efa6bf43d7f564147a57af26a5d80ed617d759c2efdcac4c512c7b7637ea7a6db42e51c01035dc067c2ffd1dba8eaebf40ef246b560aa327c7ea38fa3c05f2f1719c216df36d9df5cbc2b88dc3c989acfbc3f8e1added1d1619a9c031c73c83e512ca0d21a9f4add8ba696d79ddcd029cf28b373a8c2fe7128568f72dfc0986484913019dec89c47f2b940a74171c0e8aad94936cf92269f609d59993f98e33c7bf60cf92cf4ef82eba6791703b3f1ddd8e327f35cf046cbb39a5e5b2e89d12c99fc62726635497e0b61aee6a2b151428b69fa0a10fceb0af163eab5c6f9838a5ede777aa9f5e4513d37db633ca72f13500d29ec77817bd08c4b6d523230c75abafd9dbd2dfc3b7b518de95fda61c4cc8f498359fbdbe774f7d0edee21c7d77b5869f614ec4d779e686e360364660e630eba9b41ff2de6db2eeee544f8eb7afb5be3a777f6b08d09e9cd5c1abbc8af8a52d1cb0aec51f3bb05fbb6578a5ee63beccfd81ed78525ad0bdd59f39f0386e2a9a6b4eeea0c2929478203ee51e67c442e97329fd09f3663900f620afbe084e22cf7c93c536007b6753d17872bd330b30a75f29e537e1b317990a7896b7b27b0173258d3d7b0ad1ba173c82b88af4ef44083393f578d43fb84d7fd15e3bdd4fd0658cd4efef20fe3db2a1b9eb77a79d01cf9bc25f398eea323cc1bbab347452f695d19c523612e1b113f9a8793c6ce62b48a39bbf79c55aa82ccbfcbe6c7a5ef592cddab44aaf384a7cd3c54c9e43b633e68f6b419b36b0cfff2abb2d08ce99722c9f833956bf79757b99922de78af4a8a477ed5d5bdc07359b43690b3c0f859082f432771b344f32db8b3d09f0571be4414d779b40640ef046be04ff2035c833b9bc318eed182d8097e05f8ddf44b1187634d1ce78ac3f29d9cd5d5a31a85a676e451fd8b78a6f4cab6dfccfaece925a91bf1f8734bd3b07fcfa2a1530dd07d45d45f4884ed5e955dfd2782bfd7f5197652f46df76911d03d4896a140d95dff09a572ac8839a399234699bc170ba13cf77c74c735cd478588d1ec02fbee13ba679768d6bcade977b5934a469bbc53d869bff13d8693db4d633c9c939820bb7df20ecfe6068e09f900167a52dbf4f0acc21c00a1803ca2f6a1b4580166bda605ee8388f9c594dfe8d180cac5980cf900d7fe10fa6cae0d647e23c1de480f6a8120ed448a915f357303eb61902d40c4e075421716ca0b3883aa38ad71e15f3ad7bf10b54a800ed25a57d61cb920fa81f16d2dbfd9ad5184b6dc2ac175668defb0ecf258f0b9f01c2ff585f2aa4a72afbfdd465a77e3870dcea62a2df8e000eb5150ce12ece9b618b7fca4f5c5c0f89663b63dcc604c7ddca323ff40c8c83b8b73e96b3d6719aae20dee05cefd3dfb7a7d6e1fe7002b42946b665dd791e4e4b334fb06b13f5bde8970d76a5d256019cce751ed91abc35ab105e61979e3bb4073017387b9cf7d7d8f29352e69e473138b6e65e91dd54b746a38a665bf16505a8331d618c429111f7ff1708e06b45f60ad011ec771596ced650ade69b30cb461c93d5e1fd7648f3b463bb0259c23452b09759ef199c2671fd61411b4743e7763a2443d1d3a939807aeb861363fca7f2d26458e6a04eafd59035dab9a1fd35095e4b3663324ee112ddba61e55f747f6da83f94dd28d5f084941e2b6f9b0be66843144095e41d512a01ab37555e2dea2cd398aea5ea3b57f16e5ad9c017feff4cde2a355361c2f267ca470c357bf3a5f50de0fd221e6b17747ba1c151f02fb906b0796cc454dd56c5978f6ac52844e4e08b19eaab820d7ba807d54f473a14ddedf147bc137f686b8c8e6595f67d4d866fd0a976520bd047152f842c103db4891cc2fcd66f21577cbe671942b77b650c5f117384b4155f0be5046e03baa4f87f40ef9aa8bf20e016dddc1efda810174c32a1cf3dbb11d1c23f71dbd047a27abdcd9339103d5f0796fc2669af4fe82e9fa0ef4e055e6fe154cf8e67ce079bd6e518cee348fbd4c3bbe03db690cf4eaadd0d7e9299cca037b407c6501d7c7bbb3ec8a0bfef28df35135d873c3c30eec4d3b0cfff22a6fb41ab87c1837673e76102fe15a1b601ec2bc53c76d7910ccbd63b24f8be1b7120bc67ad7c42958fb44b3012f58f7ec8400faca1739ccb93fb099622767cd768ba062782f067c9a295cac63a9e29a87f999addf41f06cef1a64267a8e9850d8875b6374dd492558df7a3d208db9f7261f6007f45eed30626b3bc9a9a6bc66bbf577b97b9ca7ae5dbc394877fcd2f43da2033ddf817d05eb07e8d86dedc19de3b08779ece55a3606733f68f6a26fe34a7211ea65aeda3730f703dc53e9bd7f7db34e25ab8aeed907724144f4ac1a6ca14a8b73a7d6ee790dadb300ba3d69cbf0f833a9f7dd49fb44734cb2eef6a0b6fc94f770bd6d375683e43e1da7f1f4e4d538ae4f5b40e312cc114c3a352cd693fabaaaa9af1360ede25b702f2f44bce04ee477b09a3d02b210d0cc15e69b73758c6b14a1ba07f6d0e0d28bc929d4d3f14e406bfea06730e57744bd8d514f5f5592eb1cf48342c4315d63d4f61e8d11fe71e3dbd6a348d19322ac7556a9836f2bcd981e868418bc2c2630ce0868f2ac4dca337d4fdebda7c16fd6185817f56ac1f7417c3df9ff8bf87a687c64cc06622de4f3d82b20763d85c3103eae036af12f0f4166c1fc9dcf23ed637b8205f0529f8fd5e11dd6fd437c098c11e08be9fdb71801b49c8f683c80d986d949b79325ad796bb03ec19a2ebd5ca29e601dbc41d2a6c1f21eea8d085ffdec3ab00e06ea305b6709e5b88b31804301e610937a05aa0981fe2536ae6b3dc28e0cc734fb976607c82707cfcc905fc47954f72751249957c431bfd547d916d6d8cb0f7bdfb67b4f60ee227d1bea393b3dc9519fea73fa695b89c959a5f2b86737edf7b78a9b03f33446992fa637889128f24b5837ab77ed1d17e624d17bd6dd435a8752f4e415ccd1256bf08404d86250efd9ea6dcc7fab37f1fe1cd50a46447c30a1f293429df0dbda09ee59b1c86d8895d89ef5d500bc1be86fb5cdb828ecc1baf0d336df2938b0117e1fa38a789f7438c67a1cf55e36f712becb6f64835c63d0d434c6631b12d2588dbff0c09ecb576908fbee766b8ee752273681fb6e91bd56436799ea9c350aee2cd3e9afdad4d5526703e7e450fdbd0e2d3ecc77f7dacedfbf77f33f792fe66f75fccecd8674cda3b4c6bddf64882353e75ad47ba34aeb8b9795f937f1fe7407ef9b03995d055c0f470ae395b329714d071bb9d3dbfa87f711cf817917b067ab303ab9cee21bfc3df3b2b547075fb212cf599c60be8eb426bffbfe5edc0b1aceb5d38b5ab3f80b7816892b65d9a3836b2f4f400779900b867331585c37419f9167185230b6daf224d4c311e729a03aac04fa793a63b906a955f7b04b3af9004d5c07f6deb01a9956db7844af40147bfe6d4f4ecf20fafde1d887d7a98f4634817a37d8f78f70c535fd1afcc50c625ca3fa66ab281d88975d5f3b0b356743f427b5a05ca7eceeced861bf0d835fad1206af118d01654b7db9a7d973888340c68ffbe74386b4f14d9e458afbd1c27af520eed7a102f94dc43bea1aee4a15e59caa1982f513fc75755cd7b88117559c168057e267ffa6b72490e7445e2a8abb3c59bb6e8ff414e8025b525f32602fac4a91c831c19ebfc0b6807e304897155873f9977489703830de0bdfed35abcc50fde72ffbdc5c357b4af74614c7bdde88febdadd9afe90ce8365b20f709ddcd82b9ff0bc06f70beccb0d822fa04b64b0ed616632456b4ee3863baf8723d5e2c0e495e7ce9d19a38bc10d859dff1e354cdbc62eb409bee82ff7ec697b730ef96f4ef0abfe805289a884f0b7bc81311efe9d376af76a3d61527fc651533a56a23bc0730b7de39eae085d4e748e386afaa313dfbf57dbfe5e15dfe2f0ebbbd3d79871b82793ccd51f907f9f79ec6bbb845f57cbec13cec61a874f27e4ea1503f6744f137cf1e3ec441e8eb0332a099eb837ed824ded9331e759561fda09bc9fa8ca973b4fc18facc710fcc71bff6ad7fde218d0471199374e9c29ec532c46fe9f13f838f5619cf439e43ee81f584c7405f78db271bc778ef74ffac9f78e1b4a8f56b921fc0fc7cc9246beeee4a55147e057b2cbeb8467e578d29eea75546387e7ffd65af5a2ab6f0404eeb306e222d7ed55316fa3a26c51b217f725a6e4711ee794cf8b5a78f31481c28b7618d1dac75c27d68dbbdba152ec27e25f9e915aec93d476b24945183e12ef2140d87e2b02fa3ad3005b618993fa35078f6dfee215e4b99c45623c60be39ca9a2df6edf60edee3dbd2811cf47be990eae6a17efed42e6d4d43931b05f3db0bff4a8407d1e73e43f013aaede9f5f278fae630ba3da3512e78ba44f8819279adfe1079f3cd48fcb77f4a4f635551a7bce219e5936cd55ac73b5b5d053fed3eecab3f123bb9ace2d87fca78c80ce84f26c69bcc56e4d76c37f700e65b7cf4c086def0dee8346fa00705d2aee3ba17143debfe797dd04f6eff90fc6d4bb3eaa3f710dd6c4784ec5d660e710e7a3aa317fa6bceb94e3ad3ee5b7c4bd700d513d451ae8fbbc6b332842d2f89156449ec15667a3d5c0e43507faf0ee9a638e1793f16d756c729e0e0ff4d2daaf8873a1162fc13d6f7d81c7e578d7acc52d0a623773218e5c92cd8f0b546711478707f5191d7983e2db4d1e665da3715c8f833b5fcb0446e1a63016ed1f995c15177f6c17d535cf907fa05af57baf1f9c38fce3bee818fb1eeb79cc0dacb76cbc17ee9dea9bfb1b198efc584e3996f588d5ece44bb9033e4e609554c5972aa09c54e45b965ffc437e007cdfaf926c9e417fd41df20c71c977d6e957361ba46b6791cdb33f5d0bd88795c2316b9ff5d8ee83783e42c9feaabf248c77ec21ee8f264edf147b4cebdf42f1151a233266572a4dff7493f7ab16578bc0cb19ef24d44f56e3cc570b622dc27e99c8b63bf0b5dff1b56b37d6f9fb2e9df3717dc4871fe843bfa2df8e0dd7d2afd8cb0ffc914ee1b3083afd03dabc767043491d0cda6e01a0bdb8f8daea6e16607bce457cbcd8f66c48befaefcf17d02289e7933cb3f78ae0ce44bfed932f3b8b9caa61341abf4457bf49fbfa8d49e0fb35fa0dabd93cd46fdc3b7bede02790eb7c8031263d7941b8a8f28b67e4168eb91da0cf12f075888f3d3d294d4fd5398d0dfa5b7d1dc5067ea44fbf027a159d178bf6ab9bfbf8337dc267b5d83c519f2ffcac37bb75df5d6739de09d313f4c152b40aaea17a0ab21d1d9a6d75e8a4081d06c7447ea6dd7f6e2df84ac1393575ceef23da75c1f80cb84e873fe8cf0bd7c09f9c137f00e50dd0c9ee0dedea49cf87111ccb31cc7335194473606c400e89108b60a535381d39e54b23f2a96f6dcf54f3cd35d81bc283bdf1c10cf25216e68918d45e15082b21c9774e78dada65dac1da82b81f26c4db43b4a3426c98f4a18e1ff46b66605d249883cd5921c46ecc9611eabff1236e690e75696e88e2a1289e98af3293f70ffc1d629a1a39ebe911c6df1be50183720cd07de62b78a7a2972994d37f0f9713c96a94fb44e09e11b117a8e7400c802b91fbdee8d53e5bd4584dd007e839e5d88fdd2ca8a24871ca71887b998530c69b92f87f757e18ea6b0ecf2ee56f7a71efec413d6eaea8dff1c6f01cc02b7316c63ea5dba9fedd847164182b0376038c597b591985d226f5e37db400df631dd4af4695676f5897ebda25c8ffd5ef0d49f45c10703cb4db37d31e92fcf9cb3f021bf10674f7430777fad2c3363fb031b46fc87cd4bfe32b45b88cd182ee6bc722dc2102af1861c0fc28ab497b4b7636e39db8188702ac4b80317398672d2ebe167af28a31222a18e33ef0d75536fd52aab200fbae480ba0c7e6aa30bbd7be5622570fe6832a7a19edf4b2faa58f819e77dfc7007f57a5050ff3e4681de5595c00e53973d337b206b61b2358e05e9f98b7e1355db472b8ae19013c05e6a62d789705bc09d8536e26eb518bf330017ca41ccb767202b284a4fb562603feb828a04cad718d51de29ef568ff49494f7ecf2eee91f91e62c708e62dac54b80fa6640f75b383cd237fb36b37909451e9dc387fc0df9ad08fd94b2ed117f3531a6c028f3c519138ad64511a6b78e6d5db435ed753fa29e5dd9f341cf63b75232b3edc54ffb2b9feb1fb4fd8eeb32a7948fea7b9f8609f5a07ade8a308b76d20dc5c0504fa408e907490efbebe2efebdef560df14940f07cec1e597e780caf3501fc522a628ef6ffbbb33d09e779b1fefc4245dc409f4b792310a05c7c9346efcbad5cd4a6321de518eea2a1360fb5c543101e7bf8d55b471874b07df9ce487300f249cb083c6f6237d4fc01686b20bf2fb6779110c5a133cd7f45c21cc6f708e862ff877987315ce008f86791258be52b5a3917a5c5e83e3faa71c9e93671577472f2ff67d1982f3ec5945e5e8ecc5becf432c979b7ca0e0c03fc09798f9e18c69f3238d39ffa89fbe8b307aa14e04fb721f7815f082d511fa4a5e6c205f8d5c02dfd1f8c01eb9c630379858e72ede2ee11362a3a08f1542c44b46b04f05ee87902a165acf20b39210e62977f56a2a367042fe1b0bf618f253c8235ffc430e751932a6398fbd0ae879541edf719e7a9275f82986b115e198e1bb21d675df87777ac4f7509dee3aefe1b8c46ee6c7d31ae7b4ce27bbeca4f2221bec05ec7f7018dee8f5dfd4eb4ff2989ecc6ff3aea0decd20ac981f75485297bbf8767a5184a4636bfca68e996df12588788d016b45e0d97b93f5e8827082683ed0f233980757dba357c80f70fe0435cfc1ef6d21ac87d4767cf58826bb78ed705df5d251c431c20cc7b14245485ebdda9700fd6b402f99fed6deb910347907e7c73f00fde0c7f134eb85fcef0b8811e4736cef7c74e290706d513e5879d70650efb520462fd009a47593a382f1412ebf190bce5f80799ab51ee0d37e27ee01964c846c119e5965bdbe2ba76e1d826fa3f7a27e2a53becd3f84f849542f70d81fdcb4aa20e32b4598cf3ea58fd41d6c524ff8f0f5eab6b752661f4ad60df67217e42faf930fe875e738f3603f9d3af76b0dfb4250f31b75d71aca1783af6a3eeadff3a883afde3d73fd7a322142f8384c01eb0f1583f7564990d3d802f4d89d277dece0f98bf179b0e66930b08ab0c5f87cfcbbb0cf3bf956545e599df75663c2cc7bb838941fa18e31218c027afd060fe823d58eeb978591a79ab47e518de9eb82ee7f31c36b5ec7f41da8c721bc54a6f657ebf11fd107d2e9507ff82bb003900c678bad7d4e612f660ee88a6bdeaa22b87f0a85a9448d6fd8d5355589ae476e31cf3e72ffb8645c7b74807dc825998a3b429f11eea92b8b293827919f2d616fcb204eba789a1594df681d80dcba68faf4b6aa63a76ddeee97e7a477b46667a8636f519f132c2f885a61717c71b851e4db261f0a30660befd56c24133cd1ca5cc72ac219d2cb823b9bee1a9c22d8ffce81b9d8b077055b51f46b3cea23b6bc746458a7f7125ba9d29c0f85e835144a079cc9cfe3fae273ee0ffd1ca32e1ecb6b0fa3a7c5f7fab937e4607335079b6a6b8f8e8a30d7820cd5d819f6ec264b45ac0a735e86795779170fe4212e7f0f3305e585d698c9a4fe42e61b5f6adc2c87839817f8fa618eb037378fdeffbfd3db18ecbd80df15b7bca41e27c6cd3a297a83232c2399d6df971ffb7f4ff35effef6e3e7a83f9f00de68d7e247a698af2631ae166f775d3f3ec47cc38b887d43d608e5283758272cabb3d561f8d9ff4ad3cc2ec6c6a083af96d9d75ffc64f4dc7a90537f3f48881fe526983f21c60dece93f5fd198fa7778660bebf30ca828c3f6f10ae6ced07e8f89c31de5c9f967fee118a7afcb5d8b454defa633c6e023712ee5f0f2f07e983041e5bb3b6fdebc89eba06efa05c72983343e3af09c9ab223dc0d921f2b73bbd38eb7a890b817ff38af06ff8ca83b4b459bace3b6f1dd7bdfdb2398c4bd35d53ebcc3906db3f83751f12697d9a4beb42af92622efd12efb07f2e900e817b2b206cbd5bd27d673f3fcefce65930570ee685f6c6857d06c0c6ffb13f2fca47acf55a448f0f9ff97dfe77a32f496bde6c70c16ed142e8f7ba7606d6dd33cfe9278c0d45ccafc60bebc6f0585bff19619ba0b3fa685d51cdcd2ffa005b11cd57fbbdd5db9a82413956246add9eca503f6e74ce8e6fa0a685a4088e0fd6fc973c10e85af83c3fd385e93c895e7d04ff6d0ea2d2e4e730af0a58af097ff4313695629c6e2aedbfa4ef15c740f73eabf6f0d58f81dd85f2d8217f1336df6087f15dded6c616bae3efe2b33f9c77cd5793cebe3fb976ca806ba15daf71e145a971cf0fbf8eef21cce83a2f828897e17834b093a03d0ad7c7915f8318c6f2eaf81cf6693e5827eb9c3828dec828d333a3ce925c05ff77b13fb36511dab0dff0531da0b306ed3d98b7e8dfe0d0fd422e17088ff2090ffb267ed2c3b716ca0afa790999fcddd8bec7c8639f8e83f0d9547f10cb659eec3553ef7538417b0df7585a377bdce0e849eb93edac8b4d9514760fafbb97abfb477bd87bdeff58b7427cf8b7ba15ea9bbaa6f6eebb31fd8ff7ee0ff00efdf8512ed21ac5a70c9ec198874c5b33f078ef3603a4236c7a98c808c7fb8f64712ddf1ca6ffbcff9dbd833e6ec5399fe167a389b3e60ae5d305b2417e090594cfbd80310198475069b56d3679cf57c7569f6e78ff34fc63deff077cfbd7396cabea312de09c6f5ccfd49ee70623c369e800f7054cdf7c7b780a889cbbad1e550a5d5b92aae2f805d7089d1642f21aa4c5cdd1cbab3690f17a4df3d5710e7dfa609d76d8c7d8e375dd1a35bd274b3bfe2fd6eb6339d3b5117dda7d580777fa1487c527c46b8f2eff14bef8da1ed6b5825f72fcf126c7b778a7439b74e8c77f4b4f4e3cdb8bc0b82da4a3dd211f65f8819f82317fa4c17103f3401ebde371ff9e3aa789c6f47e401f84adb449bd6cc6fad2c6867e7d67e97b549f40d277c43ff285d4b9b6c5a738ecee0fc441e9f2155247227c17bddc27e4b37033d2de22b0550aaa6793d1f66c227bab76721753dff9603e519feb8bc359e740da8c346b59eb4f05aa4d4f1eaef933bfc7e335df9c828c1fe0f33d0b8e73709e8f6b6e76f1339e91a5651a0a1fac9f9d61bf40593ca79ffa7b3cafcea95205b12cf2175908be08bac37defe9b5911dcabf73729d05ceab5e9336768fd6605ed1e3fe59046d3c587f54679dd2b1b38fbe2d2f956384d5d9a79f554aac37f4c9f5cee953dcfa9fe89b9807f3fd3c6accd74eed598f2e3775de2f49fb08f7fe9e1bb59d81f1e87b34f38ff8a71e3cf79b1aad1fe4acdc9cbd9eafb87a8c43d0f1195c9a3c7b94e3f1c437d4dbd39fe29594fe44c6875b9aeff2aac5c31876d7bf85eb024f481f4a68dde2dbf1fed77d59d9fc489ddfde3b3bbee65463dbb3130a65aa18a747bc9427fc5910cfa0c6736e7aa94c9717cde9cc99ce2b331ec5cd0d6efe1fcf5e326ab6ac3c1bd84551133300f2c024f8bfc1b928df91ac5f6ec7537570132fdd1ce4b5dd8f6fa2d807ea27de89535efc6c76863d4ad279ea727ce509f4f3b62d6d30c1317d0b8551e60fe633a0872853fea26640d6af4f24be83e2b007d7d91cb6a8c77407cfac9501edba001a4d2f9e45c970b0576f607da8bc8f073a36c2c780bce4ee39ebd72eff7338f3d17e1772b28cfc6c740d850f70df1ee770efb7367baeebb664a95e97615cfbf95b3c0d3307ba1c1d17cdbbba0b81afb3b9c0fa30581397a07e8c386775230e4fcacfbddcc9331f413a67bd54013a448deb1113fbf34d2c3d14469127ae4f4f3176c4e1d35e36a6380a15879df829f4b34efcb8913dc59a1b5e3cd12a3c6703b1b8c1e7daef5a6373139fe1f508abdb2470bb4de27bdc1301e26b238c6fd4fbbf04efc518de752fe906039cbc1ff626207fdf88561a50f7430cf0de7be075b3300fc57def791d9cf1fa3b781dd0799ab9a2bfe1f74d6f4612bf5c87e3c0357f0d2e7afb3986bfff1a971cbce7075c72f0bcdfe092338a985fd419ec55f41f3ffe1bbd8ac0fd9957f91caba278ebf7fabd22c15c6fd873b0ce5bdea177ff53314e039cf3cf4a2ee423ea77b4cdbafaf7effc3248af6efdf5fde7cc924e5e22f51ca3d151299983b1afcc4236def387cffd450cf0e9b3f1b943fadfa3313fb63dda1825dbcad1c7f6c5e3fdb247607f9e63cc3cec0bf2decb3353a4350fe4cf132c292afe8b72d431662fc28faab10eb11e7abac99d183111d3a474728cd9d2e6220e7ed7dfc7a37bbed7bd6b986eef1a578f18d8b3467fcabb3bbe37c4bb6b5f95a227af4daf5b32cf208e18d863f3e15ea717a0cf059c7578d2cf87d16cb3ce79a1fa1e2d04a23e825897be4d01f7eba75cbd08d9eb49befac1cff59bf5fe46fec15c5a1561718c7ec83323fdad179413568e091beb84fc9e753d4cded583efa13d67826cf6ffafb53d2eafbeddcb01efe081a417972b594fb4ee0aeced93e41007b9b52d2f4d7fbd87748b64f34f7e57cc733a9855bd7e463d5ef57d1fa63ae7fec9dee9fdb8e893715c1ef376985bfdbcefdcb4bc28d2c7a58d673ee6b701c757e1743efa3edf847e16b48b1ed332dd9be4477f37b4c9a87b14e1e173ffae6ddbcd6b78eaf3a672de915fbb0862b8f639f63df4d6ee671fc1e371fcc20700710cbbb18d3ad7a7470b29bff3ecd13d74e6a9016551377e8273499ff436fa9d7fe717b6f3a079f6d9b5cf306eece97f9ae751eb82e9dde42c46b33635863dd06fd7fe8189d7d38f9dc3a44bc3b2ccb5395f6c2cded8584d5fa3957f60bb7b45f735b2fb3e8c47d8f3751e689dfb09f1ebf15861fdc304d53261df5bba3aa0befb35a625f671401f28ca9d069fd9680b6ccc4eceaf99f568f941aee088ce158c9fe08cc604ce684cfb2d42a1533f32dd74f4b6f4b2936e276093803135fe5a1a8ffdb9dd3ac8a1ddba4675cc2f9e91bf0259f647b8b0f6f44f71613b35f1b3c483fe04e611e688d095e18d8d9ddda08d6b642368b7c27ca1e9e802fb5899a30bd1c76a45db83efbc9135b669d1fe4df5ba6befb1909d08aeebc9d23bb4af7a361c1807659b3576588343039fd7c1a6817665e73b781dccdd723e984f839dfa319c4f4d9b60df8b5088167e0c785e5218e2f0efe49b2e800e1064fc196370fe602745909fa8d939fdb4508e0ce0754637e6716c6db41fe50bcbb7f1a86a1f1b8379027dbe33181b20634c60ac641e19b0fdf87536c4be3cefa2ceac8b6696dff9f3ca9e6ff8016eb0650f1fd7df197c8de7f2ba1060fd1af4e379b8968df0e3315decafcf8cde8f4d361aef8448f40f2c1893fc0807d8cababebf11eb8b37c0cf5e6c7b78528cdc41f5357cba4a614d4cdbd3730af5996e5d80d3d9d7481166e94ebafdbfdcbd5797aacc1636fa83f6c502d46eb96c519064227327d00a02cadb18c05f7f46cd2aa261f5bbcf3e677ce3bb58a35d0a455161d68ccf13bae659069c59d3bcd47978bc79c1e7167d0be631fb9d0e73d31ad667c7cae621d668a6c37ccd1899c2bb172565d3bfcc79c72e44ebc77cd09bfefbf5630c36a1c3e41d0ee487f65fe604f6633f61e2586b6cf30906bb2d6baee10cb82052e3ace8151704d4d076eabaeb3a213da3765a613de87582996cff1e833db9161f4b91dbf97f95ebf0b4ddb979dff6ed9406c7a72d035edb232dfe803aae88d7fe4fc7aeaf6be55bfcf378dc72eff0fc598a3efbf40e43569d9e2f8a4665c194fe2471fa8f76dbc886560418d78f60fe241efb86a7b8e5fb87f16ae7a83e601837ed757969aa7cb2f87ca96324688d77f55ea8575ea3b3f5596c04c69c3ab93ae64f97b58a43bb37de74a7a6a7ce77e8704db7f32a043374bb75bbed1ab0973ce850cfcd419d288bd63b5a43cbd4c8212f6a9a5d2097417be237696a732a0ea9bcdb973ae7b7e17db26bbedcba3da78e03e2dc389267af54398dcff7097bfb9b1c20bcaf27e0f87d9c23dafb1b4f70d50ee0ac8d427f3ec9bfb56abff7fca06fda7fba0efa7b1a38a9c38927605de6497b2f78991fdab9faffbeafff3fd55a800c78b6c7feedda7051ff9eae8bd75cbf991b85ff9098535b2ebc8a935f5626c61e6e5f0bb906b3f8d46fa3ef676cb53945f2e0491f3bb5660ac971ed705cb4f9d835faa208e3fe5e47b2f253b6c63536d7dbdc8387fd2af6f7ebf5ffe57e2d71bdfbe3bcfc8fb97c953abfa053df47de832b92fe7bfc221edc7d2fad8e0b3fea0a7fcbe5c3f89a0f793b3546b0b6cfba39b4906bd1e19b52b9a2eceb1c7ee4a404d7396972d891ad98ffd4e752999475ad721b93ebf8fe3d5ee46e927cc2be8c69e1bc3fe639347e48fdab5d5f0d67ee2fb0180047a4153b282bbda61d2f6feab10b13e75a417e6e9bf3a690ab3c4fd041933bd1035993a9ec83f0a2ccb2cb53ce657a61ac8d8562d3ecd79a13734918b2fdf1eb7074cece97df7290485dbcf66b4b3fb9b67513afb75601afb7e1d62909ff485b3f29fab84d6013b46bc704b03144ef402b5eb4bff5ed8bcda36faeef034e7a39ed175ba721b6b16bf9389ab8ff39f9065ce7b6fe115e64ade8e447e883e062cca5ab2f9865304ff46f8b8e3ca6b84b91fbabeb8047bee56740f6af6b53b197800d03789292f02fec766ef357bb1db5f71bbb1d3fb793efa4f47dae8a30bc68adbdb8898a39c63939531ec1beeae74898a9d191e72d2c3dccfb86f9c74eddf8d7edf624af8be032921a97b7f9fd803391a0f95ed91bc014706d2a0f0456f2d24df22d60ee9697f91c38ef4f09ea1a6bb85736eed95ff49ab7d827bdd88e938aade78b078a85b56ab129c1f1918d3b0b36a596a8c8664e2abf2dfc5662ec748fca749d1a7efc25fefc1637a497a7934a91d4eab788ceb9912f9857379a90fe2c56fa816d3e477be0b424f959d027f0b5cf3bd8602ffb0879f4dca6ae8f12f52ff26e74e84f5f8eb9ed56ba631f834cc3cfaef6f7bf58939fbba7f9842f70852ace2f225f301eab899f5df983666fdfe1a3e6fb7ff50e6dbfd2eb76542f0aef551d511d176ed7dde9597b2debfdfca40e2e4b3a3cf965558345f2865b75743257c579711f2b7cb7bfec27b7b79fdeae8940eb3f7f73d5ac51ecda218c055acbcba35ae5d7fea9d779979be9a3bdfe03721fac2d7a4139d6e2e7659f79f722cf1fdaefc8a0e5b1ae15a53c0aea565fbecf7ab0fe77634afc482ffb979ca51a63c1a4a29d5674724c9e6114b570069bbcc73a9e70a696a9f123465f915cad9f1e96d8b35c16dde26fe89c93b5d13f1e935c644ecc454ecce452dc8bd199da69c5c1634607e7cd7a0bd23a4fe45eebccc2cbb8348ec7367c0c0f79768f36367b7e5f0316907852154787ba9aacdff6d3bc9e2e5e275a0ba0777eebd9a3ce4dbb49c7eed49a7a41b15d0fd6d805af628a848f97e454377160c0cf028cd2363fc901d90ab750c53e92cb4e2baadc958fb7b5e5cdbc24ad79c9030e6a6f33dcce287e5c6b8f3c17807f996e78efb829bfb5871cf4723580ba14a845a875b0e993316ceeb11af94f78119f8ddb7cfdc7d54611ea27d417a5068eb732c9a5d7ef67f38374aa364644b22ac548668c0f31ba45752c531323e5bf9843c01461d07db30fccad5d5032e10c1575ba5c0dc4768e19b20f23f188fd5c3bad00ec90bfe5a4f6b01797801d62f1b7b7f261eed6f1786bdec271c038fb798521f676dea3e2ba7c37571d7f4f9d1335560fec1570568e629df7fc175d2f548438fb66c67f64618cf9d90f3425eb59d9ca8f40f64e5e5d8bb19e245699139c3253ca5c26a47eb58e1fcee98effb283fd5d8d93922219598ce4b998f763080d27cfcbb39da9f71ecf777424b81ffb697ebb8fcb17fb1830afdeae0962e7e3778d4f01ce9124f9f7902ff2460e37ebc9171a9982759c0aebe62fbaf5432d2692d3121dcc8af0ddb95be9799e901c5c6d7f5338aa80f3c35ef03846f966dc5b1cd7edb312e744b5fd87a7b07ece037658bbcdd98de02c1ebc817909decbb7892c187f1ef5f70a4798c8d04607c16dcea4d1fbbdbdb9f4f15d5c9ba71dabb83fc8c3a62fa37affe29ab604e438d2831ec60fe34f57f95d18670cb8fe0f5bc1e8632c815f09787cadc5a91d3f78c43a0c133f023cc88e0df7505b7b94ae9ef18bbad836562ae10174d3047063f4947d220b9ee4fb93ebe5f906c797712e0f9c891883257ed8975d8eb8e1bf392f2eed331fd7601679c53da208b3b68fb85c99e7ab228c02859b15b5bc13e00c565cfbb15f0f35d0efcfeb8b14b917c07d24efab0bfcfdc97aeee171d67aa5e2da49adc7f77c75d05e237f615e2e2eec73d29f47ddeabf7e0e99a77a6e3aef333b274ff5b82776ff9b33e182fb7f4eaa718467d8d2fd8d3dd79a83f54987bc2537776cc0a0f9adac3f74653dd6d72a4cdf377bbd396fe6664b56343a5f0f63e8bd5d3f0baa330bdd7b7cac8b798a6784d7403f8fae8b1d72041c509c579a37f19a3579ce46f20e4fe6ae151ff6a2da7f9d7b771ae3e0e979280bc3368f48467016da3c5797dadf0bf87061b9b2c5543ae23aebbade5a98e54e147f38514c388c5b3978adbd8afaeba72cedff4d760ba307d9bd15f877729bac23820d24881003728ef83ecd1afed5767271dd089aa748061c51244792bb313023bf5f13d5e700d7def8915af9b72bc6f820b8a0a4bf4f73a3fb3975eddc68aaced3b5177a604f60eff5e55197a38a8a5aef1ea133fedb9e0016206adba717b4036db0c912e79b65d83f8fdfbbb5a6911ebe720f2f9fd559d3484ebc7d2fc8df6b7867aa1a94bfe9f97d5bddb086d9339fc94e2b72c77ef489bd69af2fcb4a7f8071d5bc4a461a6cfad735f8171989de13d71c22594787dfafe76eefb6ec5262cf0cd74fceda17f7504487396fdfad7fa1d1595d9dbd60fcb12cc47c9374e6c57fdbabcdfdc114eea7f0fd846f3535ff2eff8f8b7c6b2d12793a031d7dcb247dbbedf53d333a0c84fd058d8d3cfdaa72b4a18d6767f58b33e4c1afdd890f1e173f5bfb0b6aa5dadf63bbe49cf93ce6f4f8adade934f54270a637360e6acbbc044292ff462f6b3fbba79bddbd8144fd6dadb4deffd6aa11afc69072ac73ff9ddeccdd57ae5b3cb5851a89fd49adf2dbe79b70cb98eac35e7c7916bfdf9781c0ff408cb6fb7ddd5f9309334ff8b59d787da23be076ac11b5b56ebf39c3dbcfedd98b8ddff31772a8a7efa3fd17863e134e3d6693fcc2ff01b175c054efe5516d6db1c667d8d9541513de425e5c371773eb25e71bc1c5429f395ba7b7759e9cade616ce7b85d8c7cacc2e68cf90d856f35b95ef47d1a13f9f24fe812efda840ed64de717173ad0555dd6b302ceda76f38745beba1f60fd9143ccb61c2706b0d59f419785666c87e82e71c3c06cd4b72f1ef347e6e7d86422caf54e6e7d4137a72e6956fa8c6f884f57176ec09e8e75bcbeceb24cf31f13afe32b75fd3f73666457898dafa406d0f59cc2cf7680ae36191da1e52ffc9d7762b91539ec5df700ef1333dff55add2bbbe025ff273fe0dc255dbb6417b7edb4bc3bd91dc60ff36ebd2f10e7dccdf4e8ef0e669ad47a726dc2cfb32d31aac73d7a4bb5ca9b0573b67d9f3b560f5b9f87b754d3dee52bf7f8e3fb71bce10c37e931bd6e5a890caaecc94ee643f74753a9d950d8a5d2a47b2079924fdc61c4ef5fee963807b03b163cf18fd3cf4ced8f20f632b0ac638988e8b656afc27988ecfaa7eea710f24650b8ba2ca456357faecaab63028d4699d6792633eab61c5bb51aeecf51fd46e1bff1e7c43dddc9dcb6ab0fef34c66af74b5908fe24f608b279d018cf55c071d34ce76d3c953ae0b24b7e48159ca33166a7815f4177cc3b7db4ecfa815d33fcf4456bdcffef1a3f30ace287cdd83feb1b2c51fdc8764accea90cf01c3b73bd781ce3f99a5d5ba8bfb7fb62aa964b7d3654efc61dd9122b8347fd1aafa6337a375fff6775189e55ddc81753a7584ed7f452ff1af4aebb37d7a9f9029d57537ae26afb5330a54e0197df975387520f71a9ea31b39b7e65766a64f611ee2916d1ad540f6b663915cb45d5b6754e642e24cfd87c07d3e17f5687d95d99aae5e2e050cb693c52a771269b236a7518fe47d59dde3b3fee595130bf032e2f1707835a4c557a717746721926abe98d91b5fce4eac3ffa8111ac30653dd12469e4b724cd0e77542e1f301eda93441f2df813a8d01e41bc06f81c056792db925bc3cc3def9479eed394ad6f20830e00778efee34387bae388fa489dfbe8f277fc575ec9c9b15c44f04feb8dfea9bee83be39cb1a7f5372710573f8f773ecd18fd4a9a33ab0e0275b4654b1d38a0c7499d9337ba95b17d7d8436dff66c5c10735b980e51fcc2b3b0cf757679c079ba697930df69ff62fdaffef6314b3ff4d8c82d82ebef0b29d1a8be459de3ee112673b7af8bca094e957a6e058f86537bf012f981739a9683fe4457eba3a6da0f977f5dbadcaaf701896f68eeb3ab7a2cebf1df47363498e3760fe3c7be75b01cf3eb0e5f22802368ec3f094ccab3d2c02b1c52381db74b5334530cf5a7ecb7fb776f13dd8675ee1d876ea4192fc66eba7b38af746f98b780bc120acfd9694fbd6d7d4d2a7da7b12ed6bf007040fbe9cae9c099316b774226bf1589d17e34e1e31e1eedecd8b57719d5442e774277f7cfdf12ffc9117ccaf48b5b8c37fe3a37be87bc5a9fd32fef4e2bd925527a7fd74c67811449e603fd0cac53c1eac2210dc0581ededeb97be80bcb52fab1c0ccab5a5dcb578e6513690389079867b6c6d54e5819cfa7a143e27ebb854cbc62d5c25655385e83c80f9d4e6a4d33b384215c75c5dd7b9b2d7248e9f254dbd4f9cb7dee9f23b1f5b00767c37779ec8ddbffaf08324e0f667a8ef982f7eb6f6c4de0a49de1ff3deb9d9c85381eff87ceb3d31cfb2377965adfb372d7c4431b740762dda5ca87a172f27ceeaf631e6d0cbf3a43f8fedbc7e74e655bef5d678c70f7e05b45f84710f4f3fc4757c0fdf93fabe5970918559fecdfc4d2e547340f0717436011e0fa1f13dffdd77dec2d6f9ad2fb683774fb3b25684bd5a969363631dab95c7943b5a1f4395bd04029f794795edffd6be6fc30c4f5a59746d432d86ef2dadb83efb7e53f6fb84bfff061ce9ceb33218efd922e9cf878cf536dd7d78bf38ffa6705e949316c9321de6306ed13a5f336cee09269eaf43c6bb5a01312d9331f25ecee447c015ead65e50cb7841293cc9d74b5cc0820aa6d93f5e54d45c31066352cbb8b8283cc1499b66432f2a34c71a1d5d3d1bb85aa1b9f62471ecf587931a39d46830468ee3c599be4cc3646753e043791ab3658c8b6b87376f2051fe9dbec85363b00439fa3667e4224f454ae5e24f571b25dff3c9d53f6efaf853d53d2d5936c930e601c66550e6e7aa1ef302b969168decba0878b7f4af1cad13374d8e4135ded1eca6cc83724bb0b79638efe0c3c51c85a80d16e90bcf62a8e2d1bcbbda046c6867b08e96e5430ef34549d7c8de8a024eccfbd8d7ad331de72b0bc38bcb8594c2491331babde2b4dc7b98f72cf722c8d3cac5348e9497791493a34b72d9eabe94effa92f4fb52beeb8b93f6fa7234def565d7ef8bffb62f41bf2fb7777dd9f4c7e5e8bcebcbb0df976fed4d5f668b7e5f3edef5c5607a7d89f3777d99f4fbe2466ffa229cfb7db9bceb8bdeef4bba7fd7977ffa7dd9bc1b177ed3ef8bfaae2f667fbda4e3777d511efaf26e1ff10f6b377cbb5e1ee6e8ed3edaf6fbe2bc9b233eecf7457cbb5efa6b37f6dff52509e6bd7179d797f986eaf5e5e7ad7c396e7a73b47ed797b2df17f7dd9e16d87e5fce6fe58bddefcbed5d5fb287bebc5bbbf345bf2ff2bbbe04fdbe1cdfeea343bf2febb77bbae8f765faae2ffebc3f2ea7777d49fb7d71dece51d8ef4bf1765cf07aa9b173bd683f5aa2bedde98b9202167feee8e87c9f318b32ceb73afeded1e29ce80743592b68e0ee88c2bbac158795353ca9ba9829c20df8006441cd94f9176afbae4671ee1e48db5c9c6fa7d0366a23266d207b885969e1459eaa03f4def254a561bcc8b303d4c69d3a79d1be544b348efb6281ff96ea748fc66a44da3aca5a11417f0eb34ce1c7a43f62a6cc7d16ae8fe27c53b55bc6f9f714dabdab1c69178de54cc5f7cdf799c2a3cffb023d774dee33d0b8dcf118c95ab122cffe91b5e21f787614e7e6145fbb8de25c83f1340a592bd6e45a49d68a25ba7639457a28859f371b660a0f7382da9d916b35592b543cc6eb4c9989e4da5ba6cc1cfc4e5c9c9ba46f9b28ce7d3c7f99323f91f7406301d7d2ead4cf14de279ff79932dbe36b783f536627686f395533855b93e79c32659693efd799c2c7e4fb3c5366644ca771a6f0e45933d4fe1ee67e311533859f91f6f799229809592b682c2897f4d9b5901d3c82df16877da6cca584bcfb0530771903e600da1378dcc6c1cf1421c1f7e8b39bac15f7aabd2d6a6f5e3d6b4da135ea923950517bc0d78bd60560afdeeadfd03a4bc96f73b003703e4d8549ce89b9fb80a5d69651a78ba38d9afa156d94f92d7b017cc2ddd816c67aafb09f89fd896bcf463707f20ea03e196a81a5c8893c52fb251e2876651a2719fcce499b63b4830d5df74de77b7cb9468fc316c73c56cc86fc25b57ae53e5ba6c6c7f780ee71e01a6d9b39f70ed0c718c7ea93563d397c9ff479491dcb406325402e438b639bf092ee5eb4c3c95c0c394b8daeb746637059d930f6609be29c268c79ea45c5d1c57ceb6073553c257e0a63b7a8da6be7f73fc50de1f81272406614ba2f91db7d108cd638d09f3bad28579ab493a3ccb33511c956f45db832bfdacfac62a409c8e3b93422397ca172544f90af375f23fbf8f22c576f0b9869ad5c3d61e46dcdfc669bf47827b0e433954a69fdb965772f168155505b7b923773a8e681561c14e1466a6feafb328f3e67d67d12d83afdf9b40dfd14aa5c51d53a7ca836957bc9d940efe9dc69f8eb4da9488c1a5f19b4dd9e27ae28e5664c0e4af30e0d268e49b15e42faa215b16b15492018fbfa3bfd7cb598c453793a68fc6239ab6ac5c5a2619ddc5726fca5a1b6a5f115c1fdade7d3ca5ccce43af6aee6f5183438b799add3c0a1bab3ccdc67dafd20df7771da432535702c364d2ea8dd6ff8ce39b53982bd23d58d5de0f55d92f5dde190958571ab8f62ee3246bb067f86c63d98d21f4a3abb747c1078cd35317a2178e0ab2672a9a9f38bf65985a56e3166d0e3aa4e7ab1ea97f9919dfb88cc69d51184b87eb8aadb17d9954e9b78bf7463d801d3935f2f6b8ecd6e8d7d5feecd44bc9f6d1af6d5b760b096360abbf8028ba4176768dd6f60f963a8955c686a73fa79ee5dbccc8b35908295bd3eb9e6b9b435b4fe8bcb4e8bf3ef410ff39eff5f3e9f6023b49fdbe1527e3efe5e19a75232866729c2189dd7acac159fbbdebcacfbe3fb8057b8beb84272f7059e72987d8e79b0367a20f094ab3fcfa1e8e51fb664f3f0376beeb282737a9fc97a06bcc73b9beee65a08e7a41dab548421eb6ac07f4d6a8c3bf8914dae5119025ee356303ebe51fbf335bb467f8561ebfcb9bdae493f8811e06e0bc68f188919ae3b885b7b1a701532ff88ceadee38e37c82a2e631ff8e46a11237ba869226778269107982d13d33b19e529f8755ec0cf34e6f248f9cb30117ff09a69917f054db078ee509e6e5cd7c5c1f7cf2a2f88f77c85abfedfbbc0d0f636c956c8ace7fe0c8306fffacccf3b744533f125d0ce4c88f64fefc2d26d48fac899fab92cd14eeedf5278b1e7eda5a9e2defe3eb56bb5ddd3441b21a78c9c528f4ecc33990a3f873558a0fbfa3672d69ea1f59cfff284c12e03315cefa4b3d1fc2b06b87f5e264b8be11e3a87bd128f916cc03c182077baefa3de09c34e0ea73e43faa9680fed7acf14de2306cec9aa6a6198bab674fae5e6a5e020e732df7f83f0093dc63d09c13ce7aa1730ec073bbf26493f463022b0b78236e9ec01f5c6d7fb5b9916747c3abad9d62a5bc456214e71287f49f3dd1392b1b72c3623c972479c543e5eaa3168e8d847972b4c939b017143a3b44a148fc81ba0f8430f4a2aff6b90c7146e3397e31e895ab36d64f82f52151a0697fb0de3ba9b177090eac0f710ffe2272ad3834ce9d5d3ec1fa873da5d0c3f38a2e62b90c7de5c0fa2e9767ab727d558e9b04adf9ce9e7af26c4743634f47ae2d463bad58fcfd39ffa26de0511951ae15247e24b10a2ff5c7bfcabf4aa508e9c413a4b3518e353ae073914fd05edda03df0f7f7807d271ea97cf3c4fe017df1b82903cb88302f00608084de7c9188d18c5d59d0875bfd5b85a3f4764dccf64eca5e3dc10c3df47eb3e2cdfb35b97162a7dea1b61f22cc3166ec3ddbbc07dc2472b54928ce2b9c4ad4feabf14bee7aca2fe5d9260c00fb8e873a2b6c33bcefff069d69e626f32c03cdbff07cfec304edbd4ebeab36a23caab8068c59ae191ee7a473b3ab9d9c3f659efa63ddbfce4b6b767613fa7339a7ceedff2ffee5ff555d62ad32616d7d1c2be58872d199d0e12f7bf16e03337339b4eecca7fbbed253484d5f2deb8256fe9fc9c159c93e5b735e3ade7b027b711913c998135aef6dfb21e06e91282c4e0e3aef06687fb7f4756198134e893fe2518d969108b8a3bef50e071dcf45c31d51b4b1b7b00d73a09eaea3809be4aec5df03ae2bbb144edc3b4c18024f81609662d4b64b6f059c05d371e497e2073aff775af1f112d38ce30157c848cde3c60e6fa01bfc4256b8299b7b023b10e7933000bca361855f61bde542b59ed6b1ff478d9cb4aa49839aab363ee85d0a564ceb3e3a2f6d3dc3f6b035bc6cedc56a6daa77c0d26bb5e1474eea474588ae718ec9cdb1177723358bc04a4ad7da4cb78279d89645d6e0e12199324ba57496fb77dab3c11f89f927654e2a5d9ba7b7c05327668aa0d6fc60f2dc44320fd931f93793dc758ad7d57b76453ab737a50fca7171d80ae6d9d18adbca5261af3b169da0b95b83dd6b5e82199db842129a384f19e4b7d75ad335f7e381ce498e44e4d7efb28e64ad38adac5bd5d7b3638799679b6774bebad3e61ecf4a2e5b8ba63d4dcc94b9c37a842f563c42ec1ab5736cb5937a03d416b43feab5af92b98bb06fb4f96d6b8ddabfed5abfdd20b709ada788f0ba464e2acfcdf14e70c73bc88925b9bb772af209660af8a46c27958eeb7ca3539183eb0440c745f7830d395f6752e4522d9cdae14a9342ff2885df1ad81b8c14b94f75cc80030ec9263f4d2ba68ff73a9dfed476e07c0dfd32ee54047a5ff32cea9d6f4a99cd583195ae48bf72ac61fd2ef27c33de7133c86f0bb838dfdea9c83b9a672735cb7a1ca290dacd6fb7fa9a0315356776dddf53302fc624373153f835dbb3bf98d77e3f27f58e66ee7120eb724da7bad7411f9ee78d631db458afccf3409919f937574c155ecdd75af1a308a7dce40ac9061f35e8c0eb5ab6f25ff96b1cf959087137bc2f4e815d8cdd0878d89652e484db963fcf2f314eafcc495ab35f919e61e62e37c9fc7272f106eb3de465a4494cf6ce1dfb07a52bc9dfade743ac7271cb8eed4741de141a2318dfc978c7499083bfb51618533f62fff119ec3358d95f996c6fca6ffb4cf27b2721d41b213d11ae5f9c7a7a33c18edd9fc46482e4fcd9c5ba6635e6fbe0f1bc601cabc85c0ee710a37def0f6874f6ecaa3da5ebf407f07ff3e36c4951a974ac7070c3856cc3b5a36a5d7d57fe3b5e644dc8172f46b27ed6a4c8adfb6644098bf6b0537126ced6ac8faf8d64fd3c6b5fbbe1f0b5db6a4d5a75ce9bba3212c013da72f1a7ce39693d87b35bb6b390aeb419ef70de695cbdcbe640afe15d8475b6a49cf6bb08f85df67df9513dafc0733d3bf9e083e72957a3a9ad4527709de5ff59a790cfff211e4d7a6be1b5e0de59013d4fd633d5c5764acbee553feb3ecf6759e5b703fdf5618f57e3eab01be0d2c77250349de7edf14eafbd11ed5952bdcfabf130eff412f70f9f1d66d9393bea7930cb8475ade28ef47634467db951b5a74de945bb3d8d7bde9ec675dbebcae66a5d9c08976d38de713c857499c01a41ad78fb9db5ea6c9b251799cfa3adbd493c5b8d144e02f9222654a6ccc6444635f54bf2434e51a327f6c64b5e314356077f69fc21622ead23b2a3507fb5037b591934d8b0cb8e7ca3580dc96661c8eac4e7a108c3f69afbc4f9a2fb8f802b12e03f3e64975dc5cfd81a9ff619518db534a5b5f6584b2fc65a020ef24646ecb4c27ea3d725ca313c7bf3622c5ac6e55b40630b3e89ba7e067db722bfede6c5e74ebb85ae368ca5b994b851d2ae1583f1dfcdc1ff43b9167d87cfc79af73373ed05e629b536f116e36d861edffe5dfd23dd6f7fd0b3c439d45b02b79c78985d544edcbb16d2c137c00d2826a6b189a8a17818ffc71646fef774711035ea2cf2e142e726c9b7c09f7da14844a1e60145f2efe85a235cbf63ad3fc5b9744572deb58a04f22db9c905e95ca290dcc5b979710533dd5aa3c4e5bece8a590c55c6382e53e05d68f9adaab1189db15f647fb579f51f9b1b9f6c5efd91b5f555d6cf789cb911b4bfb2469e6ad24d7c6c569db9e1d5d54667d7a2af5b3b4bdc19e19435c3853e33878e45df3c641f55f8f3b3305999e7cf800913ef70ba6e8f8bab178d739f09af8155c4159edcd67247a033daea8755366bd6b6e9409965c9cacc9bb33ba172e989cfa383b162bce82fbf083d7b92bb06d405ea0eea973523fd85383ff873499c9f479f35e010c176892618aff7e95cec60d2c03b4795cd38cc5634895598e7a01397e070ec4011e0774a392e4edec0cc5dbe553f63c2997d97b5f80372cd6759a7a6c000bfeaec8dee31819c716f80f40f36c5ef887d6eca54cc964764e39f1f6dfc9a2fee85bda3bdb377f8bebd53d8fa2912a3e27f6b3f35e37005f950d9e9f375b6a283a4e2bb9740e615175213ee76654e1bc3e8cc2af3354bf4dcdc632a5d6874772dbe74983d39071adfdaf780c2df456288f4d4a686747df107269ce19073705cdc3c21a1644e4c91edd0c654477ab6280c332f1a9d1c7bb10a98d1da4fd99b6b4bd4b71696489f95e722eb25e7d2d6465017836ca115b28104d3730513c99ec4342569cdb0675f60a1ce4b9e4b9eca5399add3259a13297263d75a5c5dc1348d38997a0c7df39851826c063fc90b5b4bc63b4e8cda7137d7a6f24d0fbbbe1d7790e7ebfdd61add0381bf380c8e65ad06eb0f57c37c3d32da0f1d1fce2d0aec4daae8c8b68a3bbf89a914fa8cc12c38b0f9b7ae4e7f82fc4d092e32bdb8fac8b63f649f8e55dcb6c2ec3d068456d9869310db72784e3dc18477776c09e96d6ddbee2446b8b6d9b537278f798f5d53b79f225b38bc825d9d165787e17317fba7431f74b1c7eb649b064c0077b0d0bd8104d88cdf0c9ffb4218bec799302e9ec0221992e0b9e64b387b6d9add6985f3c49756d5927a7617cf7dbfb5d03b347ce118d7f6dcae4329918d05be4ac0bb5957fa82e74537b4fe7272ee3d597b22e02ff942113a8c71524aa35439f6a870e28f1825819266d7ad3544fb266bafb780ab714553314a5885e79ff8d13af9d3a1689e70fced911bb255a704b62160442bf38d071c425adccf3b01dc9cd67d8d0e1ecddab153d827a057ebe3483c6455dde4c98c4677c71a6581907cb8a6597acf62b4f3f5538e6baf3a0fc899e36ab788ccf5c91b2c28318affb3d227e39d702331cdcaaf67e4e261562ecae14d397c5d544dcc5607eab69bdf222f652f445febc7b22fe45d5b71b29ab36ae1d85fe097eac6d53bbc1470862c6b5d0dd7c2f538a09a5a44ede1dd4eeff6d616c70debeb03ee16a9919849913bc571ef6a4f2daede7183645824dbc5f87b40658daf72782339806c73fd2671539ef6e6e4fac7f73e419d355a4fc4e7e4543e2e2497e6c593bc817d26b7e3a2e0a7ce74c005afb87b99e107b6b75b6b725e8cfd238eafbfe5df7c6ec3833edbf7d1d47c54ccb8bf46bafb912eee0ae3e76284f6a5982d2388c55cfb7c539d7c4dc0510b4b5837803b32c91d6b91c8dc38510f5f57b7bc45762942ad9863bfe3139d3dacdf67ba5575bd428f868a3646737027b12f82fdf43f7d46eddbdb0974f83d236b685eb4fc81e1d8b3f821f81f6df81e7c946dbde3894cb9031657cb87accc45f62937d574584a91db96bfad7aab85a726d49fbe5ef4b236499fb07d9f10d2ab4cb20f77f382e48c25e35dc5d7a6d3c0b1d68e45b8042bddbbd33b74fdf780cabb7938e3769ec5f54d9e055a4bc98ac479fd28bc5a8c192824b7ce134ccad526f0dd32653dd7a458889fd3e7c4869a1811e37af4b824027bdd8ab53ddf270f797402d47e923c3e64171b187f12efd94ce9f9d1aa319322b78e55bb0fb16907d69b82c73257a3847518c8e5e8e66954ba3dd498b5f39bb02f8e9c271d6eb97e8e8333e89d1f6d1f41ebbd49ae620b4f38ebe6190905f5ff8dae0fb10dac03933eae91bd31173bf10d2f72522f2aaee83ab447bd41203af6e204b5710d0e335a97d7ddbcb892b306cb5fe07f4feecdb9b439f9293b2038a33cf830a27d446215864725b10b58466e86742d712e250e6366416ac6a230dba373523192b31223793e41ba61e85926d2cbf68ead221df716d8eba8e20ed86ac55d991bb973a7933a3691f26757c3f9decd79935cc09789f5af0438a7d306cf488adc5c8adc8314b9a114b9b7dacf05ba40ccc2dfb9ca8a512b3e2fdc72311a46adbd7657043517b1fd7052b476cc2fce71fde1e2b466d818f27db4f8d3e39cd4299dd4e72a3fddd3fcbf5ce1c44b3b3e1768c541ee60087c553ae101cecdc1d787cfe737db2ec6622475d6ad3f5f77638b5151ae2c5883796dafc67cee4d4fa13aefe4d64c709c919e111bbd7aeff2898c69ce57fe9cd89063f25626b56a9f9bb509fe7a13bd4747674a03ae539310a33182319daaa58c316c6b8e4727e5efaeee50605374f65d48f56c74d44e0aed70d27d2bccca85ee207b85f60588af435eac2b24473867382972ec45b238aca33e578edbd72d857efe4a0ee7345a235d7de076057d201947bdb39dc57a8298ed6c9013cc1b1d01f458d067058cebb243ba619adc37989b13782e76ad1c4b5c1b3c3c2dee4ea6c412eda66e8231f77e5967d9cedd2e9f607e1ea8db92198e5b79459f5e94ffd46bf08e798296cc18d92de8ac2d09b7ce5549dbb59726c4b514617ce9d75f428d3227e19a4d4dcabc687285f84a391af86942b87aa850e5e21cb07a8431e07d002f998de48739f405b60ce6ea0bdf56938f2445ee15b083da9c59484f1686a9948ec1cf216b45b2fb7d5deb70c13d1befe42f35ace4ccd51e73d8032ece02212cbd818f31617938936a99bc66f88b97b214f83f85dbded126074fe0ef7e3909d1bf762e23b2015fd5aeb66a75864bddcf14610c753beaf42b5b76dff3858fb9931b1976e3636e2b2f2da1b668bc4bcc0f06fe4a83e4947112c61f8d2668ac4ad75edcf11e27790656426d05b3c4f921a01becbd8108b943ad67437fdb73bab2c513c9876bd766e7df0cb27716947f340f81c096cb635d2b9cf46b801501c971377307d59a467215ead3ab7504beda5f8c2fb538acabf12dd5a99129c20c8fb53ecb1421269fc5b7e3def245841d1cef5e0d17f14f201d00b848099e4ba5a7dc5756c51918c35e44367a602d286f207e7a07ba041cdeb67e0dd85d2417fd40870d3e3fc1a16c63f4eb6d1bb4964f901bfb2ff708e1dc6b61ec58466f5f48899b22bb737468ad2778a6089887c323c4062cf382f6d8d6de648e55643e63c62247edfd8179736df1246b1374be5f24c81132132f9ac0d90fb1e176eef0d377c0dc596d1904b56ffa57263f950b4faf671618b3f4e93aea8ed1f0b4d07de65fd4dd8fd4f2d7fda017d3f5effb31fda25ef6a3c16c47d7dd64adb8e23a2ce72e6b90937352f53dfa3e23d7dc2196f24696776c69d80fc5b83ab376f322246b6abc1362c091f8fb19e8500b1cbbb8c85375a436358a4374d66ce1b343abd15b3c824e1d2cb10dafe46f48fec25af8358640bb46602e3efa4d319726fbe4ec86f6d0b9d2e4266cdaf6e965372f5a39323316eae11eb8a167459b17da3fd0edbc9aeb4afffaf4ee45b964c63f729980ffcbd542ca62d84011469e475359a7ad369f43478f9b75f05108fee7656b2f2638f7264ca07e4667e1ef3235aaf841cdabf13a6ef3a656a45597e5c1bbfd85e36ddebdb7f1bddef662147f7664d2ac39d75cab489cc1e6ea4713c213c9967e09e71cb28df748c6c0d93f3729c55e2418e703aea1bc12629acd3b1cd59ce8098963adf77e6a1e5c2b615c6bbd0f04a443b8574f28ae018374e7099c81fefdb4b74af1c78bf2c8d6c476ee36b5b37e571fbfc57937556d58ff3c6afce1f3f5739f0c575c5606e63a94e7ebffa83a4b29faec0374b903552c07e238989e4bb9cc332f39978ace071d3b9a3e97f68bfa8d5f3ebf6c3d1fce60757abeaee6eb4faf447aac84d66bd72667d880609265c0777a071cd1abcfed33656eb00ec4948ac3aa8de759e1e9f3e79775e97299e77e596375e218620fabb38dfbe421bb116ce1073ed5561cc2602d9aca83294d77c61cedd143412d9921daa349651707e6f9626beffa10b7edc6437dd613bf0ce6fc6aeb1eb70b60735b05b5417dbcd37745b85d5cc1bcb9d6284667f3d632ef2bdbc83d6e54ba16c475da5c9d2fc76ba71539d8588c4919a979f018fa16d89b90ec07f6e59ad5a91bba17f0691ee4c3ffdc57532ac290c5f972e85cc37efbbf62c10a63e0ddeccdff78c785617b5d55edf6f0bf7a71e022dc119fee5fcf627dcd5467b1aafb03b9eb6b0de52e1e54e73c76de7000407dd77131f22ce9ea711d795b3ee29b3672a8cea9b7a937d8f26f3936afd827d4d5eb21665f3aa90b1c0c5d1ca65529dd31c7ec2d5a1edbb2bd08714e5e47870a7fad0f1dbe6eff422f1b2e7faf1fd2c83efbb5fed0d1bd6695dd51a8d375a6a40ed171547a11553a8e4ac95a71c76b02705869b8f7fe0579ce50d31f412ef32b7ba48ff397fb440fc17646bf4604ad81c5608b6b8d9e6250caf6f9e0d88b449c7e7df438909225b308912da2ea59973b85e4d33950dbf0552e8f5d5e6a9c2f38ecd430b5be477d663b58d3efb09abb587a6d1b93ed71c3e7c19cfaab2fa0b2d97cae4815619fbb5cc1280295bb6531c2751c7ce93226a50822f8463d818d1ceb96db773a51d0d8daeb3c80cf18574c9919ac7360cb6532fee327e791ad9f4ef0b78af175f0c78ae1ca12ff6cf52cb30649b09bdf4e5b13dd437feeb4385fdfe9611f471b9d3f6e04b85b946c0d59d19a9d9c039b2e8ff18fcc8fff88d1305a46e2418ce21f372a12e0714e1789cbc5a9141ba994aaa78d56a480d761879e9b50b907f9cf0e7abf8b476fd07827c12c4882e9f8e4dee9ab3c3372378a3329728f758d7a6ca27b3345d8833f3c38b0ccf2b8a9db6b62ceebb6cc007c7b4fa7132595322f5da7523afce397e149998bd932352ec1400a7dce49bd039bcbc23e5b1efd7732e8b41aa8a74db3ef897fae38c97a7652b810cdd1c9b1e8f14ed8a752babff84c187a763176392775b9d17d2bf067199d3d5a7856c087c99fc5083884f26ffe9cda3a7d56e6a80fe14116c01f3e924b69dd5a67108f0db43053e65f50ebab0889e7f334e0186fb9224167a963dd5229565329e2a716e30652e4d2f24ccddda838012eea2bf9554a34da73389ebfa0c4c37b5b0def27e0d9cab75a71afe2e48dbe8f75f9eaacc571ad845e59ddf8830ef50a6e86f45cd70e0fae3d21b6037b700648d736e3653981be613d7874f5221a628b6e9a242e37895ddbd9bbd688d9dad2d54bd1590ef52b50ff83756ca48763bd5d14e8c41f2c429731f68e358a45818f5d2181673ad66dbf15ccdc47329b9b0c1c5bba6cadd1d12f8711b25dbdf9222167ed61659e2f15b7a882e68ba6903d765b9661ef1d43aa9be761425cf9352ecfc2f3b8fc87f8e53392d3c98a717241e3bab5f84bc04dacadc5e698f77c18edaad8cedcb8b84788cbdc4d815d7b832f56d50afab96fe6a9bf98d8cafb3bb29bf139b2bf2f6b5b794fa96585e7b3a6000f9c7c8fae71aaeff159823f97b096d1199475ec5ec1e96315e7b52f4b505b3a8d8a79f0389ce315806edee408ca0f75e24dfe2cc95decfaadf1b8e65e84e33a8dfedb3f1f46ec7bdf55633f075364e7acc7cf63d6670ad93e4d6cdb60abda8b8eee39d8f474cf334572f830868b2e665b2dbcac2ce7d4d4251999c2cd6e6fe237687c6f64be69f40c19db7bb09645018df52c03df82303b055a9c2d1933f719939c57eae7560b0ffd6776f0369e703791e7dde579c59582e40efd0b3f5b1e054827c0f5958780133f036e14f6393f2abbe89b815c32f87e793cb30a3ac7913d7e8c3fbe0754ee0d264997f30cd91f54ee30c5d5efe166cbf6995566ee03270cfa1ecfc13e0ac0de71332f35e36e8d509079e9e61a949dbc00887fbb3a3dd85aa3d81bf8ed9c460ad99dde81f6c4189e19299cc4a1335f8c6ed126654bcf4076d02cb2f533b5121a1fce72b046f65ee37b4ed03a39e31cc9ba1f4e2a0ba6e727140bfe02811d580329906dba8eb923390dbe6186cdd13a27b22ae9e536bec6ff7c3c2f5ab204eba4e2e13676acd1d53b26676f60de578761a40833346f689ede728439684d7212600d8851512a31d4725db6f602e30f10ae92477cf79e1f11e796e422c4adc5dc8f4655ee16fa8b74ee6b3b87ebf7ed7572a222652ef6729e46994f75ae01cc76d7fed57bebaebd86360da413a6c91dfd85776ef3df3fc5cd6f6c7bc87b6bfa59b7d9e1d0eff6135d03fd0c04feb0a57ed17e827168618ec867cc0bb7091d26476d6535aed57b5e34d2df068b02cffb4b6c0ad436f81bfcf4fd98fae5034732e10e05bda5e563325ef9980e8d8fc9f8cf4267694537c0c7e54d297ac9dcc6817ece919c77e873aee866dfc795dbc4c7e64fab782aa951e27ab6139af3d43ca079962b5d4a70d8ad1676f0bd7bbe48c943fab290c42227fe385a1e89c257240fd41f31fdda43cc11ec80c95e8ccea95c4a7b71bea0713d9b198bf3cd15ae67c6e87aa42b0d7df0559a483fba88b3e4ecd92645b0c9fef1cb8986c77d0df1c7965c3be15cedda0f13af2cd3dbf23807dcadeb011cd6e746944755b508fb4c1128d6e56abf5595db925b0327df7258cff4cb3c5222f167cb53ad5c0f95d40d86e7561ed3790738d380317e72ec49b24cf7790b3ffa63cb013fd3b4e17f7ac3af17c19e6cf6793bb70670cf937b30cd68f99dbc023ea8af8f40433a2f7fc3d7547202fd8d9bbd8df19e517b9dfc527ccf5f725041c6ace1394866907d89f7398dfec65d19d27b4e7d4f576e749e03b2a8921177b85f87cf25c857f2199e07f200f76956f5a9a8fae4635ec9c4d7e2dc276b7e79344e624230abfb38b0bdba8d7e5cdd8f46645d62dccc6d232be0d92dd901f3d8fa3f7abf16fe5ec27675d5b8cb1b52db9c462bcf0fcb07b42e489c03307ec4147f2f1eb2c75c545293bf2a9b7cba656af4eb053a3270554a9267d17420e07e8bd13969f3a30127e160926fedf5498cbe22c8d1d1b32eefd55c85f7e9e40972958f84d83365d2d657e817fe54a4f357b11c7a7570fe041ac52c0f5fe0d75e1ccef96a6e7c227b46b6905d4331762f67d323b2c1bf43cd5989f40307e27e15ee0d7dc1ba4bdb6759c5a76b5e09cf8be05eb045db3e7607fcddf00eb795d5e1c6fed393a1ad7a62243bbf7ec408e4e51dcbcb20ac6b8b0793c46192146427c83b243b6748765ec428fea86c5e920f04797e4e9a5c5c8ef8e3b959d1c386ca7c5a4a7cdbccd0fe7a72fd0d30be3a73683cea26bd730e8f497dce615b858c27c915c4fa7cc5e37ba733f4ff36afb56bfbfb8d2d95e88c2436688ec65c8ccea15c8a7b87137f905c76b809e485401d278c073e7bfc8189e62ac371ac315cefc1f53764ef03c71ffa0d7def6ae8fb61f490f739a7b25e6efee1194e7cfffd2bff845f167437a6a2be3ae7f3fa9c175474ce1faa73de47e7fce06becdccf378865f1e7db9373fe569df3ee812e21ce44303864c1a9c7793ba5ef8ab046677afadb337dcb5567baf1ec4c8f5f9fe9b35f9ee9a8edf50fe44d92faea762ce0053eceeb3ee3982ac6e0002c96977d23be1aa82535eaf583dfb3d7ef593b3e78e9d589312bcbb904024be411d62954ae38ae6ca7c57d448dddfbf9dcb2c9472fe27ce09f75701eeb8f98e491cc503f6242459d181e1793fc9bb82fb789ffa719ab6fa29374e2fadc2f7455e267eaaee1f8d51abe376b38466b38abd670a0a3356c8cb7fa9946efefd367fac91aa6ab35ecdcdbbaeacb5cb076fef84b79b165cc914ff7d604175efd39a925e62677881da6eb7df35eebece9ba1988afd7cdd3f5fe76dde42b0bf38b559cbe9d3534ff426b285d59b7960dfe35760f580e9035747ab1867265fe55f9497fc4e8ebbc8a263fae1d9fc4e89c5b834920976226262d7d765eebb3a7bebe40c6b5554314b2e05be99c0b5f2dff6c3bc7413df57d8ead31b8be3cdff5fa7cbf422e8ffef5b9d58beb92897fe432092d26e9af9fac1dcf077b16fa123f8e8f30cb7673c8b52398850fe77a886b59ba39c65d7eb876fe583f763beee87ccbb4f73be4e0bfbcbfb475f69dfdf9f1506bd2d119c7ff279f3f19fa3f3a83fcfbefce1ff7fdf973fa1f9f3f585739d029d26d6bdf23d7d9b7e79ead7944b6a667125bb3f691c5ac5b3eb72b3dad0815c02fc676a567b6edca5bb50f472df9364276657b4f7965579e6fb947db51eee5303bbf88e32fa731dd8bdd5fe55e9d6b2bde7c5dd9d278d7b795fe4b1f756f4d519dbad8b90875b15e9454359ddd5ceb340c7d8a1d78498d0d316a616ae35a6de29bc4f5da6d9fbbc942fef8bbb86c37767ffd17b1fbf25ff832dfc4be92ae1ff7b9dc3cab48b668d2a215a7d25c8b3f04dc84f85abf0ec876934bf1539cbb99cf249428845430fffa504a3675ac45e2a4ec755b8e8e5b7b730a2cf1b2b5c6573f354367b0beba027bf04b96b4455775eba592869467ddfe6cad11e3d852e658236aa521dd9af04b1f0a6a391091ecbec8772a9240262e3c5ba72299312f2ff0433b369b1f21d9197f7a51ce8ad104ad8d2a470de76f5be6dd67f8a3ab4daec876fcaf6277a42d17ce3ce98e6486cb4d4257d86430d7299f8b429878f3491a58b77dc0f0a5876ca6817aa97cd1de9deee8235e3b97af24781e1a96737e9a84e8d9669a5c3d92bb2422f99dba80e5e6d39bab21b0b7953ecbbdc1aff384e97779bfeff23a96d3593f57bc7cd24e3fefe4f3f7750d0efd9cafeb2f39db03c0b96a6acb2de3d4c395ad7f53e7f4cb9cd8c7fd69dcffc5febc2847f104beac9a1b85e0f2bde53c59f4f85492bb310842970912ff20bee356c97b5c298047d8aee7370752e8cfdcd0c1f1a7776d41cd757baed5434c72784617c005c0b503c502b82a086f8630cb14bca66e1d1e95ee1971e8e6c0d5d886575f30915ccd90eefb97ba69c03e7b5a5f5e0e6f0aae31a75a35b9544f3fcb5ff4e11e2099c0009ee52ffae066044bbac19be7c452397c45bde7dd7a7ec1779ca4eddfca0e1f12d45a8eee484731183377a15e42ba4b917b518e8b9b6b2d9a7cdfa37a011f1095dd3d66f8c729c3bf5d7392b5f84fa08d422525b840067a06c83bb4ceaf55edb01f217befbcf2d3f803f87cf48c56d2d9c52178c49b1aef0838f2b365143638cec720f4d3e1498cd9897157f790e3029cd4a73d601f0a1ba88140f321ce517fd5a8c297067c8c5fe5facf9a3a97c3be5aab903f86730466830557e50888e5b2ce11501955831c81abcc4983ed009e9daf6cf1620c92b393b2c85662039dcd97e92d95d2db2560126a2bb074c02f12c0203d16c8767d7b36377b7d7672ca026a08e4b99a4ae9ece401df307bb018a437179e6b521f0e7d4e6c9dbec99ca4939c41f0a9223901bffd9b583589c956fa2ac63aebea42d5bbfa65716db0987a5c96027fd707c1c598c3be2d8339e4623cd7b71a8cae91662f78ef689e6b9ec9273eec76ed80abbdaddbaa9fe740cd5670e9e1715535347b98278ee0980bc8266fe36f896d7f628d0302981fafce192e21bc2660bb3cf4a35b7b40b08970ce4d0b2b878f9c5224f924a6b73029564c378918dda205c6fba8db45fba13bdec912cefc324cc07fdef8bb4255efe6a4439e01a9a154f52f523bb9f1a04eb4ae75c5583f6b260cfd18e969c6c98b90dd8c718ec5c357a11e546aa13b83e534061c82776b4807bc481564a367f137f95735be356e4c2477dfa78adbb7f1a222c7920e680e5d26ccb6e939f7acd1d59ff3a53f58472daca648d646a9379078c75a9c9ef503ef35cc7b0773c26c12370d4e5b2bfbf104fae20d26857f24b8a3cd7ef871ede42ed7d86aa3d01f2c3297191219d9aed1105f606cce0ac80fd7d987f5f30c3fa8a5d35fc026d469823da6b2aa7e3eac84a77afea70335066ddbfe86eda343bdbe4eddda8345206bc9b56513e518bfcaf43c1e6ca21ce9d6101389924fa4f7c9c230ebd4eb4ca9db72f0356ef7c38718cbacc903427a3a4f6580136b9eefd600f8652ed6007d4f432e4863c7bee63f7dccafaa6cc4d77139c8d78ee93010f6ecca80bfa9949aecb2af837670245afe65a6b83a299f9b60ff3969f7ffc978270c4f1dacdb466fa8726d52e958e7e4bcbbfeee5a452a452efc857ab368dfc1c2ede10067bb7921b4f4baa8c7751cc9da3e7b5abfadabaff3f7dfe6d2a84593cf0f3c77213e871d1afc71c07f27a2cf57254e6636c51b262f49ebc4343626bb5c1b348f73bf6779a053914db325d8a133cc778eec28adf65b1bb1189d178ebd3929472944e3e769fbac83b5315519591bdd3d2139b8dabe7ca27f76f1b8a633c04d51d211b24fc14f8bf3f9915ce329b07d8e26e56a6126eb14bb326bfc0f0acdc712d7855ebc14d9a5703e023609fe3fce115ee914b243f17b7134e5da21b58c2a7fd257b49bdf868045a58d2e80c5057e2b27adff8fb176d9954e45807b81e4ae659efdf966d469a753db767bf0052c076bf48c9d9fc2f90718e42d0cb94fd932d860daa937edebb1ed5c71166203faf9a2242ce05be9e89d759a52e61b2f3029d63b3ef8453b75e74ac2a69ec01ffdd2c5bcddd42274983071678bd3d62a6268cf56dbb572e89e12ea7a200f015f87de07b0d7b951bab5a57b40be5f32c647ebfdc30aa70f748ce7587d6193d312235917620cf6db69abc5179bd95c3d2399c1998df17d6abfe99281ba1bf4dd75c98c5964bfa379369824f204b45e92cc85dce9711e6871f63df83a6d915ead03cf09b5b546b4ab4d929d2d9ec4835a8a5141231988e6cb4d8bd01d2cc62b5b05dd6bcdf087ad60c66b26cc3c61b3446bc4eff1d86db98687c11a989df834fa7f5b5e93180e6bd1d4a7689968ee3ec9bd6555b7e5a2f3d1c23c11e88c81b969c7d9303616703e74aeb169323e462a45e16585dbcf968cc1fad1e8e60dbe4eb296502b6b98fb517d5ea4528ae6a8e860650673ec7775a7f427d289d6902769de91aca8e2101be007477bd9f8d87205e6fda9f2973076288cd7639e57650feebb3c650299571be4ebc566c2ab3fc0638ef1e3580ae3b616ac22209901724440fa544b6e3dd416f573cfd13c6f05f68eef3752e908ebe00ef8f9dddfdafc7c9dfe74e614f06af2b077efa76cd7188089ac1549b5770d3267bb7951ca9c785f00c780d1f48b9f84689f0553b2de07eb56ccd2407baf9a4bd8e7fd3e2fdb355d6d796153b90f583eb0a6a75b21c95d3c86f765eab47fc3ef78fcca914c41fa9c4be6b93fb695eedb7f77c8d1166aac2a0aed03a53786a47e2edbd9fd9a99cd6f7d6ac3c5417de653ebfbb85ee9c4cfcf77c1f85363e25bc6c73b5eb85fe041dc17ef39ee3b35e51663fc8849bb5e470a7e638bab7a5cfcada6be75cf958c3d7abf3fd5de581e49fdb9fe88f303357677f6b24cd97f51db3ebcf85148b579884d73325b9b1bdea617eb8da1bef38d6d7a7e36d3986d26e6ccdc99e67bce71b7cfad9d98ebcd8c473a10c1cb7fc36d2cbcbc77bd36a589fe8e5f5a18f539c0eb3e6f0c7a6df2c9ce98f1dadaa0779a319aeabca96bc6fbfef87dfef4c49de8b3848ce16462c4fcc278cfbfddef93be31373b23367563c62e0dea2d7f7fd8e7403728d3b06989374c9337e8b73ce1d9d37b29da34d1781ad0878d6998baf98ee37dfec0c3afea54f0cb7bcdfebd537d664e8c84d536e662ad5323fd2dd7bdf0f0ecd6fdbcb93117c65b5ef5fe5a8a17eac6e0359bfe9773389fbc5c573a3de18d9837d03ab2299a3767fcce8c79d534dece6bda9f9b665f4abc41b1aa199bb3b75801aff7091adb95cebbfc866775d3900c2336f9b7fbf5a1ad056ff2acbea6425e7fff1e4cff3d027b123bf626310693e43de739dd1f53821f666aaebdb87a733779c839eddc1fbcbadff4df73d68f5ef5593b2eae5e827db16fee8ffaf7633e31d3f0b07ff9ddbdbb877b53f3ee3105e39a7f7d2effe4de22b0cc7bc04b89cfb079909ab13130a3602e256f79f8f9877d75d80afcc565cc356009bebb77c6bfbfd790469ab549bce3260be66f632f3f2fd74e3526d6460f2c89f2533379b77e75c6ecc79248ae536f3df10bda396e4ad732a7a053bd953d59ff3d31e70bf0c1619e18ffddfae637afd627efd913ea9bb4a159a3838774548871be7e47ad7fa6a68bdcb5f8d26cde138fbffd760dadfb63ee3061e8a541b2066c2af3ecda0bc215f76e0d3c9cb3f51af053360eac45e2d384c3ecddbcf5dfe9b848602d0f2657efb8787bafd13f97ab7b6d3301bfe8eb31983dec23c6a474dba4d0da737fd786da6fc313d8a351edc777726b26f5c70e384603bcee7f71bffbf2fe77e365be583f68aff9027bf199b772be785c3745e2d8384fdb853a8bd7cffe7e3a5798a7edbd9cc2efda8dcf3acfe2b335be82920e4f8e56c5bc54c09c0ac8f77e59d5c58a05c4bb70dcf62003571cd2e18d4c111cd2f617a973df9750378faf3dc95ac110ff1fe4b4e26b519f7c1c278ee2fc9b3ccf45cfc3357825e666833622592b0618f3c1cf949941daf033650ecf83badef51db7f1cdc5b9017d9edd542eced7a46da38cf32d89ebc95ab1226dffc85af10fce595081870cc7ab4f99328bb12d34353285ffc2dfcfe24c990d01134dd68a056963296b8586df719d2933d2062f66caec86638da81f07dc0f9d8bf3cd81f44f8b7393f46f13c5b9af93fac3f90963621cc44ce1abf13d650a4fc60c5d33db93e7a03139e1e7e85f99c291e7cfd03be438be89fac59358fc2ccf94994fdecdc914fe44bef73385c7e3296bc566a549104fb607e60dcb7016fe2f4645e2ea5404f1619aad64f42eb0a55c8c0aead96f981f46ccbdd460451c6bde5567973dc0725d8c8af2d9bd2e608b263b82f5bbdb76e47f716dddd33a6fd85b752e3b56f34c24b7ec415b5e1659ebfebb6b6f767e4ba6f84cef5e066a5728d7ea5e17b49e81e41a3ca39289c222a9c792c132a4d787bcd587832798a19fb06523278adb93df9fbeabfb6c7c19f05f625ca2843dbbf626b407d559539c9e8d79ad6359a8ff9be4c95a281b1d81bd373a47c1407b30ceb5bceae2b812ae74e287c9bd03750aa674a270982747d6590ab84b3b38b5ac1f607e89bdc891b828f79ce3aff13b8e3e311e48b651e693f0db2aae8eb5fef08e5d5fa8dbe3d4ffc671ec8fad60e4bec08f3c810ddd6996ecbafeee91abb5fd32f5b312572b6e8e9de41ec3c7cbd4ec71ae4b5d0eeae319fabd3c6e92761f5d9bc6fcd23cfb84bbe779ae4807330eaf81097ec7d11db0b9b9c7fc10e2174ffca3d45c2bcc58bfca25196c4ac8e1c1fedbaa263c01ec402ecebd7284d763147efaa4866b1949683dde31ff339c31a692ce2e3ec3a7ae01ef07f1f3762d77cb7e457be2ea417e28ce7b733578cec5b5031df569634ba53c3fdfbd81593a8cf12112be421fc917c1645cebf621124e70312a907e7677ac2059a680951cfa0c7b518422f352e3c3d54667c7967e704c870efd34bf803f5e67bbffd7f2627924b9d673aa8dd1933df0541a225ac799acb317e548f68b81ec9c11f45f16e26c793c43be4a80e48b3ecb37cf397a9fe2ca757d75789ed6165e1f9097610d71ee0eddc6ecc33cb3684c5bd766f05d3a44677fa6a46e12088b933237d82dec3dbcbf154145ff9f18f43af7a61ddcf6c36a706697a90a181938265661d2aa9f01638e77dc93fc9efeda3cd6b6188c0f70a0099b84f876a1beca67928bc318fbe0a05e54fdeba27293d04b217723f7703e47e95af415e3bd271771ee50c09532cdf738cfa592c79b27b64d55b368862e37035d83e039d7f5cb80ad27ec59371a9d3d6693b4b8e346bac51ffc749cbb533a05eecc8a0f33a64367205d95b983eeabe5b9668d28d796002bc61b88b9a7a3fb9af3a0f7fb67370e80f90cbc12cf3bd8dfd11ee999ed79811cb8604a5f95a35902ef4c95577faf380cd1fa379798a75d12bc81b476eccd69c5602e5c1dad7983f00ec4eed54f8063e91173621ed77d41b2a283fb3b374edf0c5e53cba39ac39abc67892248a1cf98338f513f02ae78359e1f5bae68e1f44b0bc75a94de3d8b95662e25efb84990ccf1e79bab7fc818f8edf9387e78369529c7cdc9b5866f70f70cbc77cae202b97f247f17e7e1cc2e5887174fd519211e31768d1749acac15805fef45712aa50de6c5eaf0d5f8b00de095bdb439bbdfd408377b87c8339cd361101945274aead29e5090b9f34fdf5ad1f94ed63382a10871376a3beddf635c5c24db7998dfcb3665332fda474a2466846f30071e73db4dbc291511991ca1f6f079474538273940ba58a21c17d7008d39d2012a1dc2162385ffc2fc199c54cb63312a3ebb98eca750e58a06ef3aadb08e902d5460bb86995dbcd41c98e499e82c58a7f81cf1ca562efe5cbc3cfa46901d86392f775a317475e0d09eba3aeda279032e86997a71c899d0cd079a2435760bc40eeadad40cd760140745b83de2a3b5ea53d6e528548e41091c444f6b1df69fcb32b9074c42cec5d1cd4f4d06e70f98c3804b2aecb8db3205cc6cf61bcdeb2041b2eb8c634da3e47bbe6617d3331aff703b686a511ff152f6912b9891d1f8d32a5fcf7d194d620fe3539f1cdb05eefbea39b836a6d2298dbdc70c7351e0236f20515b6b74446b4701ae4da90cec09e126c7b12b59af70f3d61f1067077c5bb3f463bec691f5abef92cef9053c22e8ac727424d79a33a3d23d414f29f139e5df3be75486cf29b06ba927b9aec8c67dd4998419c4e460eca7d470c948a56bf13fadb3ff717f7212ae9b3c9cf6756e76444f3d21c1b50142128b02e420defc9465b6d606c6d6993fbe8fc34d2a9eba5c143657e02943f70a21d2792f24f61b3a4789f6e7eb9358e30922fd1863102ea72d0cc2297d7f2bfb07eabf94fd5f6ca075647feec2dc75f48013e67e772e9ec5c6ae5534f91406391f85353a1f1f657d59404d6c6d67919c1f87316f684d00e6069cab8b1b9a07d7e8ff0e98fb4970a00a15e422de1baabecef5729fc9f3167fd43c4c94a738f506fb57b980e44159e785e47e89648103d8888ad0e20ec56d0cfcf469ce238e9bdff3cc1f0419c90724fda7abbe67df15b6646b5e5d0de792ac74310fa6d5fe125bb89431eb6aa3bb6b8d2865ae56ba1dedcd018303adfd8cac7d7b6b6f4e6b8c5b77091adfef1dce1cbc0f060ace4dbe2af333f0946c04f6b03c1a1764ff834df0629e97e93e27367c82e6a93ae75dae78a51b7d0451f1727e9729cd36f2c46fbdafd3bcafe0a33582e5dd51cdbf41d782b841ee47a3d0130a9efc7692b5d17d6b6709e4cc135fdffa298677952f556379e33c64a833a71a6ea063837b2836f2aa04bec5565d01b163f07506f09ab5eb0e00ffcf406737d7e2fd79c12bddcafd005e256bb00976f38e6e88bfd330ae9932039bfb286b4eeab671862117426475e0c6f21b5ebfb2cfebd7e7ae7ca697dc4e3ef77fb75ea208c3977a8913c599c2038725b2b7f36f2dce2da4b30b6aee95c508f26c523ef28fe62de05a399951f1596157eb167fab75681ac987701ad812e4e4d4f12b5bfd700654d6e0cf1a1f585f90122f5d472dbc59c064857c1ca8e92f1219e30a3ec78526b912bfc69eb5918e5bf060f35763ad85dd7789429ac89c67f6d8c9a2a96c372fea1c645f03dcb30cf8db8e9bab96c0b902678fc924d476b6a0fda39478c726fee5dfb3ea1932b2f9496dbc6c9490e3da1aa7f5878b716ad1199dbb829923fb4d9c032eeac81f6c12afd1179b73e4207e3a80599a577a59b144ebe338295ddb61551dce674a85b54d72bca7b342d68a677afd25005e1bd2a783f8e194a3c7f86e778c72b7ecc8f2d6fdeaafe7bee2b4b3e8bc50b55bb134e980ac875cbd1b99c22ffe0b1fd4794738bd16501bd4e206fd7ee46aec617a93dcf878f2254680e79eb5f2cd7bbfc7d92aa28add1cda6de7ae0dd119f06d2f28d7a2d8802ba6c0bf65d35d6ca4199f54b95a18a7e2d10fe8a51d3fe027965759a2cc09c6ef51acce35a8bb581ed7d5ff25ef905d1421b95b029d431e52d787f8e36a552e52513ef1255e3abec4e319388c97b83fa56351c87eaee452f39ca3849e03f3a033effc4af573e257cf09706ef147806b21ff79e4d6eef931d3ae1ff37b807547e000206d35589c98e70f72ce6d9a55f8cd132ee027f3c13c998f19e15e46f322905aca7b4641bbb3e429c7b032179ff861a527fd0f17355fb4467c1206e0daa2f127ff4f2ecb749893d844ec1a38ff9ae4667ff8479aedf186ae5ff88f6fcfe642b74c6a2bb0d89fdc5d434bb2869ecc85fb742e5cad5e3394229c936ffd14394d2c7b47e6294263d7f693eb561fb3a9ee73fad7f5c3153fae1d7f88c749e9311bda61cc7b1d83406383b1a6b43ebfb5d23b7bd03b3c799f9acf3b005d52fdf08e544efa16025eebecd9da6ae32f8d3e9fee71a15e5714f896f4ecb2d30a32be09f0b0e9c2e31eebd46dc2783c8e8d57cd299217a9592cd311abccf11af719c8d3e49ef07d3feb6f52dd1758709ff0fabeae2fb983ed1e756cec27f670fc3c86305759cc81be997acc28dd5ac15d11e0bbab63abf7eeb55f803f0f6b1af8340bc09ea9c642c1f8ea50c746f0a173f74edf915de11ce823d8fdcf7c7f51b15b593ee81b38366ff67f1fac6ca73eff970327958e4e8b1bbeb63def6214a712d2fb01af18fc7525baf7c5b5f5d9e4476f75e3548a66552e37e10ee5734f6007983b31a97248403779e91facb8ed84f8d2b6a5da393106635201d2c329c8f7f67cae3801c76e9fc7b4e1c6cfbc08d91650d7de79bf2a5fbf7a8e3f007cfebac6a396e5fcfeb22ee3530038ee2d1ff851cd96e53ef48ec5d88b9c14e3d40c2f3e937cb85a9c4a688f77ae5f780d9f3ec8d848362916f3535215a609e1d3d824dff38de9a737d6047d3aae6cd06ecd0f17e741e9a441d95e5723c99db28992b662a37112af6cff027ee814632868d6fa23001e5527dd824d64f47f673dd4ee2c89e5b99fa3b106ec460d706927c61de9a9648fcd8cfc7b4ac7481fdae85424460d0e97cfdda265d4b2ef6646bec539d877d79690adc23a25b269c16705d897fed14dfc281c22bbf1f96ffb2a0f445f592ada1325b23f4d8cc31e79827997e7e7aafd8fd6b3725823f6e2e6588b64790cd916e779bed6e903d295e11909c69e70d222f1cbf0b37a06c4dac8e79dd6e8ddc083f8a41f2b0bf8957559ab6dd03fc63d9b2898df94f87f2a2ef80dd461c13bbdf84d9e7fa1f143fa77cb7ff0f4fe4a5e00962a6021400e7b7853847db69bdf22391aff53d5b46defe8dd6b19c4794c7dc69ff0dc17ab6ebfa4ab3b4f242f5de481bd40eb4e77ed0df849491fa1d6a3bd8f022e3e6dcb38c37dc77e9175cac6df3a0db9e00a8977ca424ef0ce8d3d6a635b3ae9b624f35461251dce49bfbf44a6fd4362113f8dacc9dfe9e54517ef354c648891629952e90cc041dd915fa7b77e0a19fb1f12591fdf88efa49aff0fb1aea70d1de538cb300f7431d64b2c1fb02fbf65d3110ec827e3f643f40b6965ddd0f33e771ad40e492b6b7c718e66e6099b3a2f0b727c84d985f03a911c0f2ca70221041d1ffc61d59935abf3add64fb1dee7ebbff91029b9551ba108e3dff80ca9a73ec3f9baf21952ef7c8601d7f80c9da8c697a2bd7493b8697271ad756e31a3a0f1afb5fc89249700fbd7c62cc417e76756c1b9659717b981a7deb90f7e14d0adb8e22ac3f9f4d40752367d705ed9b454cfa6a5defa337a1c4f6ff942517b580ebff251b206e12e79117764ed3bde8bfa81a691ecef606696a33a1711627bcfe293a0dbaf2feebcd689d800b8a4e3b31e15a1d2cb01952b9fda0cce4f2403eb3842b567aadc8b47dde231ff2240ba179c0d103bc7b2547bb31fe6e784c44042952b12ff287e681cc663d96975fccd7cb4252b2c8417dc67dc3beeb3499ffbec4678ea29a2c360deb98eae29b25bccfd9f5ba5046b538c6e51f5bb987438ca9f724b39d8d779a9732788affd998e5c7ddfcabfa05756dcc2591981fffd592eb75feedb7eaf03baafad8718cce2e45a348e4560fe92acd291aaf30e9f53e65de6cf94228c82f699ee4fe9bc754ef4ce428c1ff9faac2c4e2b8d1d7ad6edbad5d0da47b6fd578631623bfa24d6716df5640dd6b99750e8fc6be9e40df789929a43d75ad0d8f745e4b23046b2bb853513e7e86f9d6390ceaa1c031ad9bdd5da44f6556d6ba5c34e0cc2efe61374df4bcf6eca9ce4b0e9d9a19d5bb0062c76f312f0d8ee728fd4a36f695ef9961e7d18ce331f46cfdeecdbdfdfe94bfb3b7f657f3736e6a6ef37b01adfd363ff82becf8bac2fe27b427da55a7dbda0befeaaaeb0cf55abf1a5fc3287fa6b20b6714e08264b0b5706d681aa1550efdba9d9edd4f007ec4e4b3cd52498fa7fe51202be39cc07acd7f9d2a55ae359ed19b58c2fee5f70f6aab3df8f46049ba718efb8b05412c2433805feb24faf0c29a5e2e19dafd15c7e567e93ff87b8ffea4f95dbdec7e117b40e16a02672985890a6289d33812855d941a5bcfae733c7a45b92b5fffbfb7b0eeecf9d859459c71cf5ba4c790278a107f91ff8797b359626e636d6527f4f45576bc6a66d2c0a785bc017edae38d284fc7daee57350e918c943a44f584c1498385f1e9dcd199205689fa07fa379310d2d75976be24bcff13da3ddc466b44f9b893c87d24a36225253216df6b4467aa1e7f82ce4b4a37d67c750b7e0db3a3a87a3ab5570ee8ffcee351f1183f567774e1287558ee47db35e00b3b7f08817182f44c5fb751115027818f7801de04916d480f6f1851cff78d2f4c9b70df93e9f15f6eff8c8faceb73b4b4facff9938c5e7c532b680a152add7a4c6bfb4fc0f9f2b2e115f383ebb8c3e1535ab3048c727acafe4186fe3b4f3201e81f5912bccdb1ce97397c48e1bbee414c75eda3c3dc9d8b6f116239f3ea92df0c415513fdb9d7ba4d375febdbbc7e3ecf8e80f755be3b6b65ea14cf48edefa39ac303e57dd97ee5a82f676fe7d776f679d557d6bfe3dbc77b806c18f35b876f7fec11a95640fb0ee87d79be79810e3253575d6e3980b07983fcc38012ec150f3eef42bc8f399d896465cad982e76fa32d8cf8678d9d1fb5ebb343850ee2caaf08722cc092187a9a000268987c6de62b4b142d53c96936fb47e7f58b7700f3b634ffca8b3bedaf50b3a4ac36917d305dc4ba9df5cc11e7575b9566618275ff09de77c7c7d7ef5160326d8e60d064ce09435bf3a70bd361c9fc7ec175ceb759c29b17caf97eb53cf171a236c33c23d15e77976b603b2ac6d497766c6966cc66c5ce5bb0cb8b85b6ce3e81df81f1995061cce8a6f479c215dac7feeb438549377a74c0281190f73675a3b4c19776ddebf5fd4ee66c7ea1bab7cd29bd325b4a949b4f11779136b8a35db95d36f8cebf600dba0c207b5d0bc04497030c85718692d4632b3245c46bb382bcc7350718f1096fc79b5a9f1a5c345d2c18957af0633e14016c6bbc8f11b5ef0963349ce8e764c5f05bde21161aafdb2128fb681ecea36bf4c276b7ede097eded8dd9c8838f3729307057c3d154e55eacc090fb0cde50e87fbe9520ef5003b2031efbd9c5f87bfd5393eb68fede17efe2af8aa610e04c0f6bd1f6f2b8036a4688f0a8c399c67c8977756f9b4c6acb3215f09d6c6f4c08caf8d1f6416d1c8ee36f53cfdc2eb35e66b5e4426a79fe8572d9e9571a11f6117ff7c8eb6d8f74d8e07ecaf47b8814dac008de9b3ba3738170e32d2e7016bf52ae9a8af806ff733f654170bad788caf5573c2713ee40fd69859436ce5eb2ff451e2479c0b8ce157607951cd07e8fc5acd8fd9c86a4b0ebf2b190a3c2ba63e3e3675015dccd0c7181ced5caa775c3c83364e7ea1c36e81d3d2ee705a567c98e40f7d6e30983a388b8d3c3b5479e4b60f79afb459c51e717ef4b4ee0329e953c0c9017c2526a4c5f92591566a071306f0f7af92a1d97b0dd972a0a735b94db61ffe9194cfe961f11863d269b10e3987d0aeae4e365c4815765984ce21b4461cf272351432027f56879bc5798a83fc1c1b93957fc1a338caa7ac51e3b721f9b1ae72639e5c9f4d0227d6709d3383fd17705e1a97c0d4279a43690b8520de1c3fafff6dd823eedb32b872e3735d9f5d8fe744a3e8624f6985c0ac3d3bd24a4bd528c05d62208ff70acf9fd898f317e74ebb3c8bd92ddd58bbba0be0398cec582b38dff4ea7d27c4e8ac5806fb057e1f2f37edd2f7ba3682337b9ec0339df796e6888b2c7d9cee8d356747eecd892f91139c3de734c4d2a17f8ba54389e543def19fb0746a0ca4b666aceb93abf43ba8b51860fc1d56d91dc7fc6359f9781db5b5c42ff19afd61bdf2ab5a616334a8337e5563bf18d6342f5eb5633c6847f8aa1ddb11d1d4996019a4d67adf15f08a2bbd4f54cc47b8d065cdc73ba83b062e2e7caf087c26753dad55d5d33ab330dd0347af3a7958775c423b2ed5758a97f3d38b7ca65a9e0f706a773785a14796c1cd4d631db56765043530af722291dd6233cbc0928f379d9c382e49dc2c2a4c0163d5207ab591667f7de2f8a43ef11ca6737ec84b82f3ad0bc697ce7cb160fb1c2acbe9909bf82187bd14b03157d7b4813d73c71fd2c3cd1723e28df5d9d479fa3ef1d5fbcabbf79104e6b92dc942389985d28bab62ec41d3d825661ca57b633751743ab4948aa7dbc8a71d4c4c4f52c8188d872587c9009badd25916f47dec76373dcceeeb4c9d02ea4cfdae9fdeeceae8e8cc1bc48d792519e1732b7f77034eeac59917c04580eef5f77a9eb8ab688d31e6687a80053ebae3dbff1fcedd7f37d6deadf175e35a171cef611634ebb31dde9fedd56568d11eb9911342bce9cccb996f149d9836b3482d391cec87bc64d58f809b695f9c7f3ef3daf45bd22eefc692a437e5792a9db2ab504e5363999d589fbd18329a1beed0d5a7f895483ba37c8adb15f6db05f5319aef34f89f8ba47abec9dbd8a3bd3268173ff30ebc9116c28a4804cac17bb5bf4ebef8e534e1fd6aadf47e9b9e75927679f91cc2b390bbd062f1e3bcc87efc1ff042fb798e13ac73f6d6c772a887b76b3dc3f92a32eb83df3f5e7beecc3b0106fe8cbd74fb0bb889fdf78e1fe48f034e29f87a57e2dfdfd6a6b67c0da03747e8bc6c7560b44e4d1cef45fbb78ecbacd6d343e79c853830e47334df4fba1c5dc8b66f7d9ccd3d3d3e285c03ca2677f89e2bceb64902303ed908e358edb4dd528d44f8ae294f089bd432b47fb7106b3cb6bc430ae624d2a925e62562c298f3bbfa41ddeeb079c629c9f7a6eeb11b9388a79d98c402ed1d0db0ee9bbd937773a0def60601b54bfc4aac74ed71cc9d3a588fab35ddacb11381e761b6c800131873109e2df93e3fa9236706f1bc29dd8d1be2385747e605580e9b4fe4b0d995c3caa2c14c35e5410ece2c2f256d7a3665a8a703bcea9decc1df9d781059e512dbb8b626727f593f0958bd685e808b00f28770dd41efbc5c88435c48f08109cc18702b4d64f71579816cec9a8feab0ca09c1df86764c17b6be4cf7461259b31e7f7a07537b51730e55df1031762c96af900fe414616d3b059221f673ae8a3cbbd7576abb7f6d5b156714ab6fabdad2a8c541873855747575d56f7844b52992019ec0a815f7df071a33db59127f9de89219f224730d64838f93cd09aed3c0a3879f8f2503ae619e2abf139f9523e0bcb0fc063f3a1ef0ebf7ecdc0da55e0d92be397174daeb13cf5e0c72b1f4d7bf1f56f9dd392c3ccacf8273613c38af3e7a3976ee2ccdf1fab844f66a1db10c1a97eef93a1ebeb7c39d67d9221a8fd9e460209b4b4736cf325506ed78fdfb0efc41836fa4fbd930678dcc0e15bf657f8dc0de6b75c7006a152e78cdb6b8af56f19940be89cc650dee147ef6c4f966270f18cb43ab3063f6b48ecc915620bd00cb70777a9879179d725dc9d8d91649a4ae5faf9926472f00ffcc5d3ea1d8bf57cea9ae8fb5e23c4bcd808438afeb87159702f4c1174ee29957528f5f85b4896c82193ad7c067fadef4bd2427c2a9f29776fabe93a1ef235e47f27362ef34a23aa706399d80e1d0ecb1b1b010691bea055d78a6f26bc13bd5f2710e83b0dad25fb34995677d01f96529e45527b48eecfaa90e02f2372abcf0e5c552085a32b6f86f239f5af23874622d06ec0a7f5758ba09b5fff86f6b7a60d42b3783ebf08eeaefea9e2d3c8bf6502b1ff3a91d5d96cdfe5f6d934325c7b6c5a4e467e13b2b7b634915af187300fb463745a4f0b33e9ec7b698403ecb01fc24cbd45ec1b518dd7730c86a8fc11cd02e79591a06d97bdef4ef9f37fde6f9fe9af6615e4bdef8385b7e447774ad7b198d7dc6d1d3b8c56fb89ac2c9522369555e7292464c0e3b8d935fd9c5e600074c0935c32077ac1ad28612d14b35e20edb70a96e89e34b6cd2812dbed969ee41253f975b12bde3a53fa17cfdecafbe4f3e7ac756d35479f9e3f7838798a4fe2b2cc1fc310e29c1592fb16757038cb9414dde4b4ccfd3eb67ab7abe57fd3c0ffad9c3ac79f9ed07ed063c50422b9c90039ff84b0ce0076ddf1a1ab15f6885f3729cc98718772fdb3af437615cbbd9d72b5cba15c42fbbbef7bce5626a71e900b727a2d1b81deafa4d83c27dd82bb8ced3a026914bd255cdede480afd563949792cc45ce893ba0313046180bcb82f1cfc967bf759e0f7af7504bd265bcfaf9b4feadc201f185d547dde61a97cbff1ae05d59fec33a1faf87495580bd930c7274ce0fb1a2e2f0152e55f8185f4a7cf50cf5f89997f85797c76d7bf99d5337e6f698cb739c71be55c773915ed2f7632c89bfc3bcbfcde9426feeda91bdc4eefa3f69c7b3fc23e5f3be7da78f61fbfec5875c805dff005b59253471a7ae315635a1c95aa8bd3c9b9cd30b4c65c0cbde1db621bdd0355adfaab9f61a7b9a7e81af8cb1a70d829376cbe8d758e2c3b3b3691fb19c6b8b48df69f4525f2cd7ea225faa24bddea9e46ca7bd3c8b86e7683b76353ef7929e2bc444dda913d5207796ba7889f3393c5bbbefabf0cab5c396a037da42db684b5ad5b5cf97d8d2ee539cebf5528daca51ad1fa56e3b8adca89bb5fcdcbfa1156f5dd9c68e15294d50afb5de36485fc274ec93b9cf1fff2bdd9e0bda565ec94fbda9657fdb55ee0dcf66a36fee52caff29f3b75056a7435a99c7428e0947fd19edd7d7b1680774359aa36367532b319ad5474ed62023ec4efcff95e8dc2a006e625cefb033c5ff5697eef4b4cf14738b577b541bf18efc98fe3ade15c15e091acf11e7e1f43abcee7fb7550614157f1fc57d8baf41d66f6feff5b1b473dac5e99837a496384c690ae6ab1b892f5f3dbe0b7a616c1a0a0bea8a9d9c53a14ed396507eb14f7f76042fbe8a4ad451afb0213f6efa7aa75a9d1d117b3bc384c1e39247db1002b08e93be2f3f73739d1386656e95b837657f5031a1dd46bccc0317d5f6086efaed7115d714173a9a5d1548db56dcf09dfa696a538c46d5dd23e9a5ba82faee60274488c0799356dea62b1f6c7a88bad5a6165ddeb740f6bae311640276f1ad70058fa4ea9e65373e2eccd9273e06f76469f9e4955f5f53d9cd0e3d02759f51bd730f46bdeef74cb5bbfeebbc629d8a6835af9eb30c7dc9a0de28f951f4560c66ddd6ea77ec292310ff5bdfeb5e88d43a70e7c50cf3ec6b5864a520cdbe2dec542713d8bddfaaaebba7cecbf6e6b4241fe553e6cbcce0c8f80ba23e56eac92de5851ddbafe7e3babf53dae73fe1d3f1fbc3bb90dfb60cbbf1fcf7b1d51fce5184e86b9fda721a661f56c67ec8ed5983d5d43e4cb35344fae9dfcffbbb9fbbaeb777d6e5735389dfad26a1d7d5b06e42be131ba6f4fd06f4ff5be20210406cd193abb9601c6c1b8445f4a5240cee41ccf09d6f5d9a739faf55c54f372e9adab532347129b9ad47851f7b814b307351883da93966321bad92196494e89c74f584effb57d776d707e6cc304e3ce3ecf8919eead5f7e63876ca26ebd09d45b3cb76b7ab96ae3263fb854c9263f58d9d6f516f9ba1421f6dcf2ca56394f5a27d771b4bd5a01594823f1ed694c9259009eb03b27a1d682553e1281599ca166aa8870be66e3b3109b67fb1cadd8ff0e3cd471746599c9f400facad6afe23c75ce2dc8a19abf9f0d97814969a543d1459d23e88cb40cf299182decf38a57d818f0fe31d4c9eba39d2be9e37a2f27c2efb8bc3a798022d58e2d0b63fb6a3cd1787f8d20ee385c2b75ffa2c3cf79da89e57b1ebf12d35e6ec60ac7addc553ee5310f71ad075d25ede2ea94e6823e202f3decff5bceb784a6a8042dab45c5e1debb96a792be40ba6cc62b3481fd026aeacc49785e94c3bfee32cd0d25a96dfaf7415bd0b7ae9c6f7a76711ceacd753cc373fc0ef7f0bcc2d455c8f726afd127f2837209242a3c5b72960bab4bd4e3b4f61719f000ce13f220876f9686da44e4484f6df316b3d469714aefe36705d7b9d6cb576fb9822bbe75e9a7fc5f0af22332cbe00e92b14d31e6689367d9591f15efbbec1198b3bbe67acbdf71cc6857b850ebc8b66745aca677386a723e72e288e8e0aa0515660859e56f42eefb418ee84dfc4f6d6f3029863895c0e9d6c9e5aaea4edadcae2a9fb4f91d73715f87d7b17eb1269c13c62495f45fedbfd1da0f71de4dc891568cceac1e0e90f788c3197391aa89bb6c7357fbfa61788f33e37fde5af94ade84d82a6c8a88b9780a79e5362576fe5e6bf669ed59b1fae09aa6d80c3d1aac9d6203fb984ddd5998bab3c9ccd5add832587a2f87a9297b378141f65678b54edccd7e82e30371ea27b5166dbe3b8cff507636f94d2c4392ce687bb4639a60190e6a07d01ec3b67337cf7adaca6f394f048cb7123cc1010299debe67d1e5564ceaba0a3bd606f9df477fdbf801b7754d836fc99f1ee49fe17e76f858a67dfed06e8cd9d8fe654f357f706f6caed288bd5a71049ccc02c4e5db7ff348d789adc466b2b3380b53e744a47b19b02d6f26a961dcfd7b19fe7fdcdfde9aec8dbfa64f4a53b72295ca6f0ff490ff57ed2a84689dda23b75ec790cbf9c37e7e6707b53e4f6a2f5fd46374f7f0f4dce75e5769c049037ef4edf4b15ffa42f045daa9afeae6fd5d882aa7a4e8d4a73739ce0eced96972e120cead2f91ee72752bfb5e821ca828aa797d1d3f7cb7f41cf511bdf7d33971de1760dbe01a057e0567717117c3c758cc35ae445577c7261b2ac4796518a72fe19b587034c8b58676b463b3122187c6f1a36b8bb79497bc6cc64e74290dcc875dc5adc5e4d0c9f3b7e4c97f6c2abaf233f6c8fa11ddcb352fbc1bd67d96a4bddad27691f773cc8bf0ad8bbfcfafd8e1f9d2fad446448b8b39cb6d430ea1deacf73d834d0ec0b1fee3b9918ba0a34d81bf6723ffaa4ee5867306eb35bec837b50d08ebbb2377a24b3dd6c75dd39f898beb19f269ef770a6a053c74e6fd74efd6584fec78ddd6f944449337af53759ed8e7d689e9f19756fdf62bae58a76879e459f2757d60578767cf76e1454f74a917bab259b6f9ea1f77df7302fa254e1dcb4caf958f2835e523d2ef12de201edb25a32ef736e8f8a9f52bbba953a70eb1d4c5f37178ca07acfeb51a9df893fe877ab1c779c973f6af297b05d2df01974af66ef0b792c035242bd0ff2b5ce25b75edd65cfbd55af887f96fea87bcaa86eb8771f5f39bc02c80170dd94b6251f3a241dd2a89c77a0b798a48b743e7ad8d6b0f8a9613cd41366c5cf1a365807f6e88578dd2bc3d417ace1c647493236acd49a8cddccf724ad231261b609bcf2667d31053ab2443c078995f8a57f8982ce3d4364428c06f61eaae20e7fb2916a0ebd7b94848f78fa687d505ed13ef457dc4a5a97d98411e310de743d5972f85cc80978941b60292f796fd856c2be523758297eb2940fdf9825cec9c38c0ba7eda8614df1bfeb5b4cb04705e0cc01778da4fb0ab56213a177aebe66b84c635292a9bec26309ee7948927a0f51cd3c5236ef676bcc197f017e48b9214d0a6118164fbc9327604c6d6675f3c3fc4f8a9f322419693907f85eb956fe86f5e9e60bf3ae0643df331445793a22fe0a383fadbcfc2d2d7d1deb022c7cf8eac7f89f8823d625f795458fab657e7600316e7af6aba29903df2e31a4df07bfb66dcffffa4b64f69a9c5f588b9d33ab21913cd5f8164c26195ff58273a9053deeff9bd7bcfbd5b8ce6bbbaabda149dd63cfdbf7e577187e1dfad7d1a8b7e7d96a863244770fda53812914ed5f195eee57e9e9510ed2c75a12d0c6229abe1d232c8b5a62e3f2535dafe158305b12eb763b134897579cec5b953aecb6dbe99b365cf3eac7c5795ef22e167e1d49df57101d418f8471bfd59d62738ee51d5f75bb34f0feb7b9f758e6f6fadb8f20462d9bb25fda946dca7aed18aa67d6e159253a5c2abed686daf4f88cda2d617611d1f8c11f62118e49476fb3e87379ea978de1532e27c13f226517b5d196a24d24ebd3c8d649cd5f77d93039bcee357ea555b46db9dba3b6c354ede6ad14125b5adbaa0656d954f3176c2678b5b01b59c6aafe6a0fa7eb516c21fecd87b3dbbad11ddf66d98455b8b8f9eb5e3f5cd020c947b2c0697f1225c5fad1ead382a900d6c3eb379568d1dd9b579b21ae30cd93aad1c126b1cf77aadf77cf966d1c3a8eedb67affad6b7cf4e8d4fb3ab3bcc3e2faeb1262a4e9481bde674dafebcce15d74847b51d1773a76d07a300e604db2d6aed7f79a4bbd57df30821e6262ea389d51a4bed20cb20dfbf7f7ddaf1f33edc4f1c45c7163ab767ce716f88477ba4112c83742eeee6ea93d0292a1ec3d5f66a9e22c2526b1b2fbff285571c565936c4f2b8ff466d77bdf8c6684b776d18db6f71d4d0bf9d80c6d8107a7475e7b58d077e852eae4621510ff733da0f6f78beb5c43e6dc755cdfab9c6d8de8c5eecbff914ed6fe227996029648cf775bf8ebe8be5bdf11ff341baf3c7bafa335f0be79b3ece739f4c0f33ef2ac91ce932e698adf7bda15ef7c67ad9ee55a8b97881b3e1f8963e096c6a076dabfd5766ac1e4df9b396b975db8f9d7b4f6d3d2d911d982d8c293e77bd483240c617808139e2129751f1efcae5867404a7c22bb1e44969335160c9c74c60a64957865b06d19cefbdfcb50e0e800bf67eb577302e52e36b155739604ed6fa7ff7dd80f5dbb6f38ada59df87f7d3fae6acc04f9e09f30fc0adb3a0b6a1c165ead7da777d41d5fadb9eb4d882fa740bedcfaa8d03593eb8176ad2aa76407c65b56de312ad4cf73a6b8268fc1b10af00fccbfa0c4a5805624ed00f5e499a750a6ba5f6f9a2330230b5613dc75cbc38bbb349681a3baf53af53e7155c2d664998728575b262df5ff9bd76bf3e0bb2633d06c26c2013fdac92a361ca3274c1321506859e277b4a6d702c049f4d0e15e643df1f0db5d0c373d1fbad7f972b38e0de797c36f47dbc5c81c7d652b26cf04ed9d427a7eebec338d3eca3b1c1181db18ac6f4641abbc48dd5d3a02e32ebe161ccd0dacfebf54c48f38fbfe2fc9c1d98e3d99d8589305bbed2ddbab5885749f978b7839cd814e9b7ed47e0df47d7bab2ed71be49ed5fdc766cee6e3bda75b9a154da29300e46b75e02c992cd889ddac1a5e04b22e775cd762282160395e44e3bf4f7d376ec67b58fd68ba480043e96fedae4801bbfe3b7efe10a557106e08dabd722cb007f0ce007ed99e5956548ef8b892eae4e1c61fe94f3515c1d7d9e0acf805949d6eb19b8c3bf59ffd3ff327691d3d3753eb2c3700c6775dc089db920c33bbedf6edd7817a704fc92bfd73dfca7b1b9c17e9b240e692596e1c45ced57bdffed0c36790f73e9d1bbfa6defeb1269ab87f67de910539664d6e729b58dbdea83bee3b3ffdaeac21fd9602d79a292bef3c67ab43776c17e06b21be3f5c6cbd2a4a2840d92eadfb9e732d15594d91ac7d7dfeb13cf39855d2cdf6bc561e3bbc62edecc9a7bd1197c69fffd59eb261d5c62b0c73bedafdea3af4bd16fdf638ec44bf7df2e63e6eb388f9a769e34c2f289fa5a7b9ef949d3b63da38dbbbfd9c1f88f142cdeeb7ea1f7ac831e46f11be0fbb67e7c74ae79ae9e1398cb914d9ef663b4a5f919ebf3a36d32c4a100ec563407abfbdca9a17f93551620c79aba46743e1bbbe961b59d8a33c0e22724e5231156db3f159e5c234b5a3c66f6fe1d80ef34be7ba6c267aa70026b3d3544fa342db6b5b23e8be312673c8644c62b19cdafb67fa4604c8bb3b0f76d8c2704bcc251572febf366d63c99dcd9328edd39506bfba7d293daf90e8efe266ed79da0f49efb7cf85cbbbe9b75a0141eee6f652756ed482177285834df30e3e86a1adca4fbecde7ff8eca3b5a43ce947e0946cdb0f7d5d0a0adbeb97a858a925f7f7547dadf59936bc5e582fa49af80870763afe2b5d97d3ecf87205de3546bb9a141d22d9b3f13fb09ca154a4b37fb33efbebb56ccbf76bd9d220d655f9cb35db8e88d4d220565ef4f512a7d66f81dfa4d22b6b1e8ebbf52d547be4691cb6f00a491fa736acd3e42a056cbe9e3bc4662e52ebb9f3d70e884254b6a3f5fc58ae83ed68138fa782d2bde788f6d955927bf78d7939bf4af205389c9478b9e12bec2a3b206f52f9f1d669eb4594610f65d5ef1d8cc2cb15ded3bb56e92e45b3df2ea272e9c9794159d29d18df559a7fb4f1a446ee13f98642fa3ef9cab7816588a1e21c00d923905dc6cb39095866d5790f3ea0ce7902f5a7addef25750166f5f1d5e2cc002c0e770274ed9b1ef3a75f7eecc043d4678e5f39999f1d37848df861de47f34789b7fed92eed9c1fd9c984982f485af051d7731f5602f45afde9f7bc06bf3ecd913e47cd8ee9268c765f42267e26479765787eed8018dff06e9fa8bc646e9ebf4ab70b8771a1c184959a44ed95d6739d9d549b15fa39bdb8074a3637d16d392429c9d806cb0f31c3f7c801f134d0fb3e6bc061f04b2dd3a72ac774d501694cda8103b463a11cef7533b7a3287ceba6eacaabfef15a21056e20d7854e5292dfaf9552889813c11eff04f307630c4220803f8ffb8c8d4779aac4f0851b1663bd923f8384c0e7a0f232f9564b4a74097f2247dfc6e2a79b9a116df7c1141be19b23d4c39049e7d7eb5ad715f53240f4c994cf9cadeaaaf833c98931e2fe79ea067dfd02ea38311c264ffd957f176415978f533a64cd0f87d39b4a9e1d180b376fced2a93b29235a560a8180f3bb878e8acde508b8b20f7729732495e640263d2e2fc124b2bf5ddf2d36f5c730f63e7f1949900d60ae05e9b096f5c32c0f0acf995758c49d1b67b49b7f3b4a48778591dffdd55aa798b7defca1bf9b4ced1b37b6b95bc6e46ec5f64c72bd53e40fa17af4c6e80171890375e490a499f36d8511df904636eca6ac12ac4d0febc8bc5e07cdfed11f4c59e4f96fd63cad3a2fa9e27946ccf46db2b686cc3a913a4df3cd56083949281b95fd0da02ae8f0adb889fb3ffd9cb59c1cb19b289a08d7b63bd3155c052eb8c65f88ece499e8a5cc958777cc07d9faf513ce2251c1f35dfcb3146797b1e81df46c63eb8befce89ebddd3a1af30e87a6b37e0849bbb8023346ebe72a756d316c2b13756e0ad8abb17a3529cf73c2f5cd62b44f77e65d7bbc1fab1d8d6b25d5aa2f8ff094065c800d0ed7a33e1d9ff6e9cbc7fe81eab7de786e9f8fe783bcc6761d343cf3987b3491948ff7bd9277d6b219b332b2fb095af443a4c7bff3c525e10d96e671ae78b06796c596a2434b5d12804da48cff6c6690371089814a01670bcec7b981ece8e4fe74f7e0afe77d293ec86da8cf7933b621efa82397472cd61754f0afd7fee7a8ca6b2b6c8a9c21fbbef62bb7fe4c9c0b3798d3cf4efce72aa924f007db7a74ed9e05f73e1118df9b646cdfed32bf6e1a3eef45ba97f35258a9a95992914ed12ee0110246649e49baf8470cc489546edfcc725c8881f8572c93400a16135199169b6051e95f974c9a233bbab193b3c64e9e2fdecc32cbc50074c354d2c5a496852d9feb19fd4e4bf231df286ccc330ba403dff872e9f298478d94e46329ca56c02bd9747dca28b1b03c5e19e762e0e0f71aeafd7bcbc403fdb94873585ff8efc290b3def74cf48d60516ce604cdcf1713d1b7125e36637ea5a27f935c2c26d23ccbc553765e0722ba7f2acdad29fa7b2f877fc4e083581770ff74ada8c546b1a68795fa67ad38e57a2e26d5d945f2cac57762cddb97f5d86cdf4cc87f9d7e8b1a91eeebbf2302f40ff89b24525161c748a71095b0e0e2057a5faffdfbfbf6978fdabf5975dbbf280eb3231ac7a433a625af8ca9b5a2966bd98c5d25cb45654188caa268fa609015fe3841dbf3e9d99e1370bf58e499a42c924d9cfd59072a2996e083490505ffbe467bbdda7bf61cfc0919172c3231585763660216e65a314b31f89c8aca472116163ab7dbe7907d5da4b4b3229fe0b3f56a4a7a679a3bcfe87d6b271c6bfebc6a0fce1b392237797db5fe965a35b603c6594ac1c708fbebf8ee809f33baf265a3ef55fb7d7d360d6e6e53bba8e1605ad667247076a77b7d1df12b3675fc94de17613796793dc81e92e7449b574d92c26a7b85bc52a2b93688d1a7df965c61bb322a2df6f0bed53a4ffa8c6cd503926161b4c13829bb83a22e4d83e02c6da12992a2662f6d8c39d9c50e885ec5f4ad1771f43bbcf215376979921ec4e3e68bee184542441f2a1be36094e4bb41d238ae46d28797b60863ddec3279c6cb4288279216e6dba2b2a3639b9a9e79f9855d55e1309af85b3117805f11cd3169c64ddb53510efbfecb151998585e463d0e0bcccb95bab3c9b7a22fc74a7d96e8e119eccdd3e7cda672656f2491a4800c485d7972300ded04b185f90b7ed4d7b1c8d43208f4aed889e9cb6b4e59889dd73cf7d56ff0ecd3f9463264f0bd6b77ce24edc59cad5ede9bb227ade1d0b166bdd84cc54f93c55cd460f057b9075ac9f916d9c1e66fae1bd8bee87260d4b1baad8371d9882fd92385e5fdb3c2ead2f056e3f159dfecd84aac51a7560463e2903fe4edbfc2a1eceb684c06384e48ce8973baace2746f5d4e313b983ef16db07f1dacc32575ae3de8724a52bfa7cec7bfb6d722baca65493b7508e4300ffe459e5bd63e1fd142239f06751afff07c27e6f13c67b2cad746fbf3b0ca3cb41f3acf557dc098b64efc905f1cf26e0671638cf969f4e32eee5dfce8594effaeecc6cd6b5f529343c1a834c6e27e1ca7e8fbc9f2a2ebab1098292dce72afaf2ba2b513225dd003bb03dbe4a0ffa175e22e2f3743066e09ac13ae587cadd65f4664273690175241e49b133bb58369be093eebb9687308ee73341b7f76c3638bf901873ed39adfb18e49bcf669d7fe67631decf5b0f9b70df982e3bc8dd5a0737a597c7562358d1f3afe9fc6553cb11b0b39b5b9eb072c2b6b8cdca7ebcc9421bffb65fe85cd44a53b7b18078618b95dc7d4e44f240fabf5c99575ac19c7395afba1931bd6ec677efed1c4d17afe2f88b3d4f1df2d5a6b75fcb75d937364e78f137796d2e0c7eee866b5cfdb1dd6f4403e5c7e43efaa7c35cf6ce6a62603fbc81feecfe4ff740cd13c8e3e274897b30baca3ee9b3e7aad1f62c56139d78b619221bad63beb22ba6d3be66021073ed8d2a59699a898c37a8dba66b31f97c239d911a7b09ea47cfc10d36ef24c70ce423f9fe782d6f1def84c2d18878f7ced93feded895ac1ff6fd1ccac7bb3bcfa3cd68fb2d296c62cb6dfc07f048bbb9968c973823d80f7d1e8c91eb3973b178c83bcba8f4202687f326649578e0bb1ae44e70b58cc6317879908b6168a9cb4499cda8479b328f62c95ecc3822b03c6ee56e5dcb642917822f0982d78936b6b4da7e8b682db4fdfe16d1be2e7b398b159fcce3f95d07db7f9cdfe3ff7a7ea9f5ec37f37b1cceef8897f34b1bc74b73d47fa815ed8e878fc6434d04a61d37be84fb89dfac0f97a16b9bebc93811d9a1e2436be3cd7d9f8da54c7d3638c3df8f6bd2e8263e2acef2885712ea35a7ee7d3b2d63499a7afeacaea91f3fea72f1fcb256b49abb7a4dfb77635722f9ae4d0f38dfa1abdf34b9b18fdabdd7b14edbb7273a5cb632eb5738d29c12adb73b75ad1a04f9a92fe999aeed966a3968c780ef966ff77037ef059ff57e9609c03747626c82d9f4fa5572b44039891027b7bd3e3eb3fe87dff00a36f335b9425eb59cd2acff7115fcf111f0e167ecb4c9c999b1df969cfa928fe5f15d1df413dd6f1067bdd7015f9e31dce7b3dcafa65d956fbb9bbfeaa2718273354c8779aee003059ef2baefe78c97f35e5e2bf6c113c3eb100bb0cbfbfc05770ef9c0572956bbf98c8534ff9c1e98e95d1ec44b5913d3a43b83f3b200f92b7fe2d8e1acce0d66ff48fa34e64edb3f923e6efdf8f30f18072718d383d82ee44f4a412f6727c7ef82bd48639ce8c77ab2a91067bbacf2306402bdbffa3b4f801f11fd5bf94804197da3fa7b25d28abe24f6b3c905ad3953ce13e028362a9e452a4f4c4a3dc3ba90f314f08baa6b553e6b06b96ff3bc44fa8a33c3f12f7df409bab6bdbc6448d7361512ae012608baf640d736953c015d3b0ea7a6d2eadac338ae49e5a4c5680fb8af7a36e545941774dd8f0e37689327ffe8dd558cf8d1dee8da66a736171fef1b56f9481e9c73a98939c7f1b7ef6ba8067587ce20973ff344f9413b4f6eb1377643dbb38d853cd05f9d80a873b2d2fbbc9e1ccebb4e1e41772f414ef5b37a082720099091fd7d83eba0292d7528adc2b78fca1dc65c8b700e41ef0c686dc63ac7b5ea23df897b7772ab5396a9f2f39769ca32553f9644c23251c932931bcbe4371be72596aef109354355bd1471981399c074dac38c13a9f0ae70bd376e6cccf95ed1c9554a367e9d43d2f808938381792beab5d6d8a6c6f669be955d843897449f264237ce1d7ce0eb481e416e5784feff6f726990b759e597437d814345a1257ffab57e68c63469c758ff714e383fbab63ff93e0f02e4a07573b51cff69ae963fd81fc94f79816d2c6e3ad8034d2e95e750eb64dfcd755a0df7cbbfe56ced6a5dad961d4d6e18fa964aadbbed5a1d9f7d0bd9ce45c74e0e9c8228fab63cce6de8dbf3d5b576cce6f763d6cfdd325f9fbfcf73b74610b3aef2101fe76e990aceddba9735bb9b1cad25e51967648d77e63736872f303bcf65166f0ffd9c555ca0ce8fa9d6f5c134b8e2b0aa741dd853446507a5f47afe3159f77157a4fb9a6ac26783dfc70c916eb0a1a6531b62f4d3c4f153fa79cce40871384bbbdc8c5e7c9aebe7573fcadbf4d9773b20d780ff159309c8fd56ee5efb7b6c4abbf3cb4d62c6ef7c71b9f106fb2d69b5fcc33eeb6d132f57cf3fb5479b3dc8bdebf826f8d99240632ecd3f20868764362f676716cba8a9b8caa776302920d6c68c69a76f23ddb07ebc406df6aa367bbc3efd9634689bd76b1b43f7da2677f2023bef2c1ee817cd7744f49d15dbc9535a60dbbb7835775ea1534b972f5972ed27854e2dbe45e08168314efaf1ef8f01e6981a213d028dc5cf350bdccd8aad1238c40d1163dcacc08fef57bc1a113fdafef9a9f64c5b7113386b57bb1bcb54b863c5a76f19d1cd8eb747b3cdbdafd6d12086bfe8ebf302b3f8af6c31aee0ea73c267991fedb22eb7f089af75d99886736c28bb067d7e565f9838c5e7cd35b6e0a7a8cfaadaaf67fb97a2abc7ff303738376fd6becf8136a8fe200761ddcf2b416730b651aab8ef77e5dfe9eddb7b1f7447f6e8e354ecfba3239d1a7fdb2441f3ab6d2c062a29cdb3318f740b6afa26cae48d97c33f5230ee5febb7537edace393b59cf436a5db293b57c21f87231907d48ff59f4f4fe7e6e4846f00a92430b2c8774cdb6fdcbcd5048b01b36b3f3d909e8db26102f488f41edefafbfede3f5c78cbf9d60d2cd6ffda9a639b48c635b17b9c27a4e6d47dac18ffbf1b7732e76c632357b75fecbe901fa03f67aba8618fd0470d0ac6e9eeb9c2d05c096187faf57bd77cf7efbeecdd377ab85303fc2bb372bf2ce9706f934f7985d4dbd11c4371ef8127946a50fa749c42b5926155ec4976481fec675db90231d49c031eb4592c126c2cc2324a36757fc7582e4cfe1b44da4f9c75f7eb5fd46f749f38fa61e6173dafe815ac6d5169d1fa93bcf237cd69011c4075fd45cf1ad5d51ba3ae7d5b945c2cf75e8ef5d5c0b74d60bba8acee1ba16fcd6e8f9b3de99e6213bc854f21bdaa7a61c5dd1d981f5fab56dca97c8e86013d9a7073edd58f3aca5c6d9a79db87b82a36619199217951d32991eea3367e0cbebc9987a0ec94b04b94eca02e96c19b453c909f07714675a0c548a5752d067eafb7974fec5d3f7a19fbeaf97b579afdbf0a16f28f9a2b4a9a47ca4ee0ada7f3dacf26db5b6877e96fe995e8d9f25a717c1d8b910b3532e4465ebdcf88028d68a996c8aa8e02b9f8d4ea9df824c12869cdcbab85f0f6cecc2d297a1a64657777e7c14676a7d74ab7caa229d68be4887f6141efbb56d698f74e05e4ef0a379ed71a8d7e322fa77e392367368e44d3f458d984a73efa7efcefe27df55b2e966d5fdf60ffd2db95ff7777dbf0e52be1dd769b31ecba58bcebbc3aa5917056a97a898095f2ea875e98cc46041f1a7e6f7d278e0bf6df7dab614436ef9125f67b5abf65976bfcfe42c5f07ce685db2f9da4faab1d15cbeaa076ae768410ddbdc1b4b9278e40382f589c65259fc1fed2b8d48ed92c8b18e8cec99c514fcaaccf43f9282f4def01d6c89661f22ddbcbfafa480c0f24361c738b78ebdd4fa8cc3d0237ecea69b5902181ece33b9b788aeeee2d13c60fe6fec5fd9415fed53b51757dbbbbd38c8ed24405ec8b9d797239cbb19b1959fbdd34f7df13dbcaf27fb98c51f490699938b01ae733365a2d685327be49c453f1bf32774c6e4deabf9dccc7fb91f873efc5908398fdca999bfbf82b2f80f3f67c9b54cb6eb0fe96da71fe5125afff93acc1faeff56e6b1f7e3dcd4233fdfa39d785229060eb5995957a9dc161b653b11e78bd13af89cda41727d354ecf6557b3278b07675f9dfbd19555d39e1c9b77ea384a76b40e8eb11d4c093108898df291af4b333b30e3b7a7e7345aaf73b178b42f1f9f1bf76b55f827f96675ee59a37b8af5ea75db1e9dc5ffde3624bb58a2d39efcbe3ddcb0cdcf65eec24a6d6af9509efdba6dcc14bf6bd6fae058e5231503315dcf1ef9bc61ad3336437b8f65cc6f657d7ec3efdab6febcd922aff5f767eb78c7d0a419e7d1effb7cfc759fd70a92ad4ffbbcb0479a6f33daafcfffcd8373d82e703f5a1f63e689724682ac7b30cfd867ac692fce2dc8cf4336044fa9edd905329e4d0eab7c338c91dcc9d8789c08ca22453a78634723395fe7c4546bd15d56f806b10a3e260963aa77f5462c2346db6f5323684ba66f5cc092eb6e9c78767924a3b0ada581befe687cab9a8f14d943dfa81fb5ce8ece30c78fa687c578e017ceb1afeff479738b23b2dbfe63fbe145047c91c61eb90a587faf6bc89af6db64db5741266f524064f88c6a75fb6acf123c45bb92aede4cd92cd68ada59ffdbef4732af3ba70fceae412c6a30afc3f99c2f52a8d59c7f242f73a957f914ad916aee639ba16f3896dce8a484a1a0795463d84be5f269bc0bebf80beaa91ed5c99d96e44bd4d53514bfebebcf0a616e926b45fcb9fdf32a1e3168673d5f225a6fcaf88f141c934d48f4d6028bebf1bfc51fe6e2c9f9f88ff3c1a6957f2a8558fa6b7cb7aafd3bb47ec0cf549f15ee0c30edab7e866f4a2f4682644698bab3f4911dd6d94b481f7fa48f0c727e077b6ab897d6b3ac3acbcd911884ff345770bee2be15b55d02f315d5f3b5a0fa7d2623ecdbcadbb1413aa56c45bc92c8bdb19e2d321ed6eaee87b5faf8fcfec7b54a0873ac6fad03a7d828ffd5fcf6c7407b3806c5fd186c914d53cba36413b183f5bd80f5fd4887a9d6f70b3f4883d9d6eb3f6bb0b5dfeaf6c0fe407233d9107732f786e4a9a04feb582c3a43d2bd42e4c24a845a56f0a30cf7b1826d259c6b12766c08157ca9d8c725c65c007520ed192313b9013692488b1d39c6534b5792bd48a0c23f52f091088608bed16e3e1c4f4d9eae9917be17386b316e5267cfcc960d56b85d920fce1d22e795cbdd396c17442eccc09f5ce38cc379f46cbca05fd55ed814c4c554c634b6bbfe65ccd2ffb331fb9f9c650a3b1266d826fc6fcf33abf59da2f5f58df46c5ebe972770263cd7b95ed873ff263f453f039b6d5d6497ca3efaffe75957f5eba97fe0ff51bf1ec838ad23e3eefab5f84dbffe57e75d0f7f4498dde18cbcc4977da02fb7fb0cd9a4f7677d23f345c54c1f9f9de19bea0f7400a8dd4a89a73ac0fff4eceb61b4a4033c964460b0dc417b7210f78af872f1cfeb420cb68fc62c5ffb8f7488637fcc9eeb0bf94ffac22ece6fa6f13c66d0e2fb64c37df73897adffde9ff5cbbbf72e5ebff7853d3c98e3d950776a6aa91eae9dddcdd5b9d4527f9613dbe1ba949b1abdde3e35293afb7aad835c315637e44a02762be09054f950f77e95ed9f6e3d491dcfeaf9db2b6e2ce07409808fbaa8ecd642d2c789b0621f60b335986d5117b3b2c2faeafb3186cfe15cb197f15497591616a511ea68e739a7ed734cdb26f7e32eafef75ded9697d730d2eb0b435611a1c7a779d1febdb23ed6aadc43a0fa290e63fe4f1d7ef52b5ab35bbcf01807cb56032f07380dffa7ebebab178633b757cc8693c3bbdba3292e0a971ed13bd09cc8246f70d736f39dfba4aab6dcc9dd07b30c7895d929ea02cdeed724c8bf3f482f450a8ef47677ee55bb50ba8dd69f95298c554d4d5f2b0cabc57ba3caf837f00ea84faf903d36f24e72bf973e3a9898bf32dd50116f0c07f476944179b08c6af5bc78bf443ffe281bc527a5cdef779ff7194da0f75af166bfa61de68531bf00cf3777a06bf7f5d6f355cfbcaf9c97b9bfdf520c7354c31d64f375fa48b2fd3d6b36f8ded599c85ef7699156bc5c4f16f645be88f7091da3e74b1257fc059eb6285f772e55bbcc7f0159659c1f966959fdfe6fa010eceabda8a48bbeea9c9cda5c6dd5cda3776c67e03e609e4ff3ec6e9aa6aee637cc68535e640d6e4ec3539fa39f1e0daf5873c0d69909f71c4f9dac75a5e5ca579b73e14d715557bd5abe45f853988d64b37df76fc77200fde3056e1476a1958974732fa291ebc5e613c19db7753c9af555e40159300fda0976bb087fa937e8e9544a96f8eec7570e8710e66531b3a0b210f7fdfc9cdc3358155ce1b33beb838ae57fbfe3c902d7a649bb256767312aa5a22ec4f5d98b4405ebe7832bb893362b295c9bd29936f8246bb02e5f4780c34795047af64f93a98fa22d492dce1b6bedd5feb63e638723f070570ccd159264f0718a4bddade9ba4e39ae701664e81c67d5f6166bdc0c621d70ad2fdccd80e32725d8ac4bac2d063f5699d83f40730389430f92a3c4250889257c617513663b3e6a09ab3e546cef28d82ecc2e384572ec015bcd7276485719df025e076816f18f07b8af08fa02c622eaef1788e8558229913e6c27c31dec8e13be6208eaeaeaed17689ce16e03c4eec9316617cb1f114e3837cfcbe6d9843a8ffeea0c62449cf7641e03109b2a9a87c4e6d9f20d7815888b37abf7f42adcc6ffb0079572559d5fd8fa7102fc6b21ebf430e911e52e3c034784476235f6a9c423643fa3b3e07a0af907bc4eb35c64d836b749582317500dc17c070b91ee68b62331bbe0ffcb954af2dc593b680bdc34dc58045baea1f2930e375b086be0873b3e4e249d52f8cb786dbb838db418b1733ac857a841b6642fee9676653d1d5ad6b82705f89177dcd37abac58cf3f52dc4eb66ddbebb6d25dbca71e9ff30023c3f127844df4f09a1ef1f89d1ff00e767136d0debf48947a85f34f3e269b18e28399cd2c034b3ede8c282ff951ee38451a0a9493b215fe382f4f0acbf84c4d7d1df10b13aef3adec9b8a7e0f5f1674ac0dd5d1b7952dc488785dfd966496668321267e38c0b4327b7eb45e0e33d6abe03ce599e937e8bc0d5e9c0735613d9d41c1f9e2ee12eb5c80b94412bd3ce7831cd65c4e957d323eaf1531e19f71f3f4796daefcfc48423cf08eeb2afa058f5c0fc3fa31867b0fa7a1c10142e3f6cdfa90738bf1d5e5cfeebb7ad834bfe3fada62f9d4c98b7dc551d63f7fc699444dcfd8b7964dc4f9c74854c28918a8c4badc661b25cc79e59c3d6d07055c5e54cbc1005c3e64cbeb039c60c011b7519c9aab1a38c1f01c2cb28d1ca62ee6fd99f032b29fea7a5c57357567501fd3701c56b1cc8cb6c94b6000af58167371d6b3a337a30fe0117066a1272924c9f956c2af3e5257ce035ece4b9d5abb92215e2b8cf2dff31a75392a57ec73ceaa1ef7984637354c835af48372b909a7ddd9347672c5e95e4a069bda05b2bd96845abdc3212c0fc94ac960cfe03363a65797f13c7759d789ac55e7a455bf7f3cfa7d03b825067bc6f86ce1fd37486c873de370aceba8efdbd6e6aebfc05b890ef2803f72f4646d151c89ec2cacabaf0936e8f1fae52dafdf07c6dbf48fc43a081b3e7474be237d0fae9710d3c2d7cb63cd4d976f9423e085d9feb158cb61eacc411f8a21ae31273d21762377093849913543f76e695659a46e80cfe63e572981c66929445c64ea6b342e80cbb1d7f3485b719e7d5a7b551f63ee644d0f2bf6cc068b422cd83a9e7292b4cbfb5e9f242e13793613bd59ca105f0adb68161315ee2a9adb1499d9d4046ac61b7c27e3a3adb995f3c066e8f2bf790ff0a3743087f9d5c7d5197d62bcb1f9479d7711ee0d8ef852a1def966c7dad55dadc5d687e39c79397cebbc87c6f54f97c48e2362af2fd3bd914477185ef8ddc0bb67c6cb604f2e49cbd0205703d9d63cc8ed756a8fd6bf7f369edc5c268abf5474661c938341bafd7d1c9e81b71d6c752eeacd83b62b4cc022aabf13fea6ff35066265a7ad3d9bc97d535f7fab8616b9ba4a9bf2e46419bbad4dd1a9a56fcf4d1dfa898b90ae6952513afcb6a4aa5735d6d05a922d7d7db3e37562339a8a6c3a875a5673dc7f2fd4cdf6307ad9bb9c1a4b9e1c6c9d26edd34e72e25de4f8242144f4c51e695777411716a3f5717e97d32156deabb17877c196ffe8f8f3ac829fb1b9186c7d24673b6b2411d05aa3e8c29d793e2fe7315fa4ef0fb941a8f137dfe050020668a65313a87f36e5c9c141df42f63fd18ebd5362be7d21a2334b9f804dbf457a04c3792675296bdb08d9b236e5aaf6e853b40c2bb2975c64a3713989f5f91b48fae21d7dc71c211b1b8d93965a18f7e55ae35c3b2496071a43670aa351969e1b0e603f6850576f96246a4b61812dce45d6a2337ec0b54af878beb747d7f80c4d631761ac78117830957879b164249b807bfd6603a64574b164efc6633b8a144e9f91135b3727263507ea0635ce0a2711d43c51cbe24bf63c01e79d3d9359a985cef4c28c81cb1ead2b19d96a64b4d32721cf4c91dcedf2b7a43047f3bccbe790f2459a209bf27e6f6a5707ef89f35ebba4869cd7b29734e33c3189e8ea8c769e1d633ca78341def8d5108f4f4cbf28f44c7fbf6823ce73569f68dede9e9d69163a83180d9defa439dadd9ce0bf90bbb54d0db96c7904359f555e9cd9aeaf9dab6ba42537f2e36e2ceaf7ece4896ce9cb009dddcf6401921336a3011678f5bee2b94c68bef9fc9eea5c3bc87966195c6c8fb8cb3de7d510bf6fd2dcdbaf37fd5996b5eb92f8b96d7ecbbd779043e06fb7182ce3d01ed698e9f9abc6d85cdd61b960fb66f4d1c5a3083705f65b74654f834b6284b0bf5486bed98c16f233e0976efaca2fa76925df235ece27ddb9b0e488863c02644bcc094facf463774e9e37d4f1a1dc1f9e4f80391c2379b22c01c7ca20e943f59e9d42beff780604356e2007d82796beabf77ef9684e05c09dcabd1e272c922b2bf36ac64bc2a4bcc85a6a99c52c09cb10ef6acf905e679ff01ad66a39d5c5ba04eeb5e8bd7ee7de58cf00b712c967b2792fd633b09d4ef0725ee3eca1b388acda8f9f5bd4be44a87bba1aa3ea1d2aee6f8d5b2ee9e6b72887c9e6f4bc1f6033c639e9505ed5262dacfbe094c94860a22be037e271453a1a707dbdd0f1ee386d2d239f3afed117159662fdf057fb5bd235baf9f602f70bad7575b42b50dbac51f8ea3b23f49d1ede689fdfe8d178c4dc09eba59b199b0833cec76b7479f7ec93f96b9f975934cf34e6e95e96a6f171c7edcd1b97947fbe1652b6d2a59bb928269e432db38dff3937f5f1c99d7d366b8e055e2cf8ceb195b729d88ba6fc09be45cbf00876e59ed139eb36ef049c1e5c47cc80de77629b3db3bda231dccf26cd772a2ccb14f6f58a1cf2812f7fc1a13e5e07dba46f3b4ccf6dde50ee094c983a450fcb969474cdde6bc4d929c2d42c4952a86a790ffa1a631bf5ed2c8c9bc1c09aa05d7912a2f34a1a6dcf6611be39fea4b08cf5cd5e5911cf8809b23d2d7d7cc6fb9ffc1d6f38f3004f6db5ade282f955d25b7bd0e96038411c72c59ef91eb733aed96c30f85afce40aa361c8db1bbddb8597e05a4f8c3dcec693e86bb5f505461de0d1ab8fef3f557e1a1f38bacb36e614d1c085ffcce7716797a63dac7ef01f75b979ee7c7a431edddd23feb2055a9b87551eb14cabfbd894795463edb433bcacdf47b6e116bc7f7f9f13afc26ffeebce2aacc4a28b9550f194aeb6dd5ae53e5e72c54989f409fb04fae55d1b77c06d1ef5e77c8164379a0b38fb54a43b225daec2261df65fb67477f9d5e3b8c031adeafa19f0b41ff3046b36ac5f24afb5905dad1377a579b57fad6f07f56d18bde7635481df7ca72f83fdec38e06340fb24f56bcec741dc35e680273b035c6b89a8f86fe2a86cf1f9c3bfeef2e2190a7943fb76138fbbd7209eb539ed6c5323e8bdecbda3b395571202c7c2341af2bafbf5cfde5d7d4617d7bac0dc9ad2a88ed925c00b55f91d12497fe62fac62071d5c824e8c6f2a1af9948d6b6ce39e1fb4c51758ad6d7149b4f358f1473dc6c9cb8a4efc71f88e1ab311e92b654fbe906966c83929a90fb9862a2e849ac7bfdb972c1ff07523dd6e69eaeb333febf9ebc9de7c77cfc295363db47cdce46195d739018943d41cc06a7258e5359ffb754f6913a7f048fef9f7829ecf6d4e7afc4a4ccd224c7946a54dd92305464c78c09716ffd6986e1bbfe59aefc6c9914e00ba2ac668adeef7b0ff5357934df8648df6ee9b82cfbf59abdddf2a7ec867df77579def1bbbe96171ff3d7736fc5e78fe427619e86eb06ecf0e79090c854c30cf46981caaff84d5fa713ca0349306fbde7fe4ebc735933d7fa47fa4d62560dbffd2173cbe62cedffc2ac4dbb33bcb7c95f0248da43f356dc71ae4a7a42eb52deb67e767f6e71ee37837cf6f354d9517b42c6bc9f2d573d6e0396541af1452535f3de39efacfa84b6e69104b4d5b78921a46fb9d464bf0fd39eb0bbd35d9e3e0bfc0b833e3ab35f30861c6415f1592e3f4503b28f0be63f1b2eda37e3bb47029caeaee535ba8afbe3b197c77ae101346565d4d0db503b47bc6a6fc531f3c07b2d3f627215a436cc42d55722735cfe231ffd41691a4f82fdeb3a4fbef39adcff6c85d606cf708ee778a17cfafdcfef3f1927419efe6c4c0c5fbfcb985f6fc39cd4d5cc6db5a0657ee8d35a18c3e2b9dfff91c7c0dd68fcdd027c8577bf1cc76f4f8198d8a88fdf233724eebc419ed246705cfbe9a4b65309799136b9faeb13bdb232ef98a35ce36c0df9cb8afe674b17c3e262aeda1f789afe692b9fcfc7cf4ef63ab0cc6c9343462cfd0c5de4822955996cec8bd39f1f6d5f8fc67303e5e676c3e917ebc07dd1ff49a176b75f7a27f15ee1101dc50c6ded89d77315dd81a3a7b9797976b7811fdd37bb7f1b2dceb6b985f74f6feaeed9f2fd63b1739861639a39763b8198c21b203e3bdee92f55a7b3987467f0e9d582b5d862e2cb56d0760e0bd5ee7f2709dd7eb68dbae093c1661142bb11659486f7dd1ae1ddab7bd982b9b55f1b0abed7b451d73158345150f9b5c796651c7c34ad1c73157211ed7f6e4959f2f0a88dbcef175a46b387378f78897f318626db330ddcf09dfa1bc9b4bd2993dfa249d198b6ce1defa66fd9c92642eb529f7e61ac8262368f6f459581add5dc3079b42e388ce89fc24c9dcb3df2692cc51a69e27e01790d9d40c08dfa4e8ab154727d7e02203dfeb0bcb29cd9eb8c819ed6e4eac1dcce1f8fa6ccf36738bae6d3679079d4e49cec2ead3fbd2f39ba96fdf2ca3cfb5ba931f3e130e9fc136c5102be589fd3cb4d150bb17951fef24bedbfea43336c886823df1ab75c4cf22faa0f470fde63d5f418d2d78325387594e6c86f6ac79121daaba25f555fec0c0eeadf98d906d89dabbadfc584e79b90a717eb3289a74675e047bead49c151d99bf84fb65ddda58ba16826fd4206961b1f85f8c630af9aeb15638617b0de7a5c2fa494de0dbd9ddf6947615b01f227148cbb3992884bd534c4a93f2225b5fa03d7313e28967eb2ada3325c42b6647df8af39b0b39debbc86634c2923f33215e000ebd45b99113699c1a6be1dee02273b493a08d7316c9b68eccc41c9df62a9feec19f37b95a860be3b433b8825f5d607c657dfb661679698fb4c2a4d4372c1f8fbec0e4911b6be9c6e746a6c15d71ae6b7eb18c7569ea6eb4f1b9bb31074e7919780a48cc9da2a6ecead37346ebc89a7d22db1cf565641ae2d1a43cc823b7669f89ed7f9696c151165a2be85ca3c0e6264c6317b12bd77328f0d3d5fb053d03188b2c036d3d3a9456b8b156b027027cde16cef1fafbffa1cf11ceb961535b87f8d6c95212929f8567538e685e49aec23f9cf1f57737f1347519fadbd2c76fa6410076660f97f2b12c393d940b8be9ff815cd0eab5f4eff241cefff32267a3bbff89269f1bf6128ce327eec7a41430f665b347f0dec27b04ef2d0dad95aba99311da4f963cc94c635dba145d58b39c045cca4637daa9555c0ff2506d268aecd38eb366181fdba4f204e9112aa50568ec84d507fd45b985a94f0803e7cebfb12758bf237bc485ac9f972645a3398984d33ab0479f91534cfe6353d1959fb147169d89c63a72707bdf4c396fdb364fca839c9f25e3426f460d3f21d9f0139e1a5de462c674f825b36fece3ba1a02729066c01bfc5ef7c1a0a27073dad1bc72b93efc7db48e4c341ff3e47a406b78f5919a459ede710102a66e14b0417216c23b1d8566c3eaf719fbad54be0c9e31afa61c9ecd22f5373efb6dcfc277133031d2778bd162d3d052779e20bda9b4a93c124eaee7c4e3331ba1ff4f706e3bd3e6630ee78f9db1571cdf5812fc4a4d591fcb10a79215c20ce7c1edf54960afb410fbdfd7e9bec2a6b4669f9e1d6f919c807966fd3039b43ea2fe5e6e75c2f317c5ddac55f8d6eba71f9e9d199a672edd9c5888eff1338eb0a94b64475a61cfd84460f0fcdb457eb6f46588f6d0263ea6f0de53f8f6352252bccf9208cd451d93d35ef1a5fdf69c2cf20a9b757db674d2139869b59fe8cc3244bc87aafdb487bfab715ae0f3a9b34f144b5f1796b1457adefbddfe0fce3ed6c7c523eb5f6abfd4d9f2271e2f7b095fb06fac7f011e0ab324dfad11e7d9a7dd01cbb4b3dfaedb7561e93bf4bdc4d4f3b2b3c76e3d7e05a3eb571d5f7bb650ace5aeae95eecc7b87bda324ddf6f8bcec05485f403263132f7e983b380bde2cb93377278dc63a447827733bb92b300f02ce79477d4a9c580bdca556d8f367fc693dbcdfe13cde90bc6ee711f891b1dc6342f477579e9520dbefe4998aefa37691166bc55eb712cb601fcfc7707e231a9e63fd1cfebf396daf384f3aafbf7bd8ebdbb77de7dff5feda203da9d54f0eaec1259b789cc2f31a4d5906975871143941421e945ebe73f72c922d63495ac69ae05717dfa676934dc381e7c542cc261077621a594b3a71f666179393656ccf6ca58369069722b95ced3702f69b9c6fefcfaa8a4f069d0be8de590efcfd9d7e684e9c3d3e63dbe78be6f9454f3f24d079b167b48b09f868dbab0d393779d29d3759dfa60ebab7de93cb4a6603effbe54edfdaf8dccc34d689597cf83cd11d9b45c233e1371b9c7d7e242607e089b89c9c78797597748d03ee0ddf6750586f1418f8ff5bbd76845a962ee9c49a2789b0e2228b890a24138d9156ec95e4faff7a1e05c68b4c1d72a9de5cac4ba5ca1d0fe98ff2b3d2e7ad6bb5bf4e96b19b57f67d89e4e103f91aa039433a66e75a06734a2d4b915c239d3d4036be53e431ece1d16764f6af9f1b5d6cd9bb1ec2fa81f33fa760fde13323b515b2cbf54049a30b8dec2d0bf4a3662cd2affe7d27b82f76523368e5be51821e55d8b37cd459ef4b49f6ce60832c6a9e48f1cc1bf9f46b442442bc0c2d06fb254d3ddfb9ba567cd598e764e5ebc17971b11047a5422c15b13826b5aef7352733e154f7550bd54a67e767e1bb1d9029d2578c22877b9c93153921d465a1b9a42c0dc7a9f9d5a5b613debe564402f82e55ed073a0bedd931e197d3d4f227680d9d79196ae0df3bf125e09c41dfda613ee7ab0031796e82394d214ed65c13166ae323d996e475500b96aa25097ad617017657e6ce911cfdcc6c260a2a7de9b63fad6fb69f1d5d461bbb333ab3996582fecdfbd3ffb07ee66fa11e08e92924d67582fb777ccdc8913b722e564c17b64c920ec4bac02f16a277e833b2d96396bebd801f75c6beb191b756161ee1ae3e9bdfd913917ec9e1bbe34f620beba0ef701e8622b275d019106e7c2eb3476b82f53b67602436fa8b2de7781fc75b24e7f1d9bb88503f0a1807862e36f1e28ceb47f077657d4258061758c627618f58f45ce930f4d5a1007b2672e275e4ac206fcee367e1f5e9efc8c6ab720df8c7329890d444518831b2030a9c4b35094d63e7211d4032b680790c367c4c178755e623b982e400aeaf42f60457d6358fd5efef963cb9ed4bfa0a1c449478b5636d043ad1422b1cdf7bc7323f0a37319bda90a399bdb1d537904e736f6b9291335a7b16a5beb9f2314176da410edf9ce2913dc681ff5365b4c2a1a2d25dd05925e3de2b79381256584e621b2009847812b904e8b54be7c49ebfc0bfe571d63c7968e73a144da231aecf859ead1fab109b77575aa9a175bc2270cc2caef2466677754975ae5aafe6ca92c36b6b4f634c21c8c71e7ddeecd33ae27cabf76f21067e8ad67ec5e771b52ed4abc52c0953b910cea9c3e3f0b80ef72a11fd3561fbe19b1d5c8a7a1de0b94f69d6cf8e95ffe0ad6f77b0b55f21012ef0ea3983da450eb52ef606b6f57bef61b4d21c714915c778f23eee30b82fe18d1e1f337dd0ffc7ebad9abfa1ff4179ec97f45ff93255ffe13387c73e8b3b1ec1dff0a7c37a54292d45fa863de24a5c9f77cc0446051d7e5bf9719d02c9f0173e0bffde6eaaf619e466da0c1d987aae20f985d63d3a8bdc4544583a71eec50df4ad2fac54745e5c31ef8a78e6613cc9a7f53f9ddcad422c919d318538b1588457cbc7be76a831c1b52750ff84eb9b5412705c5ed737bdc8b7c239616651e7f674ea9e021aefed6ebd13159eed594ea273df2ebc5458a9e917f580377a96d7dcd2c4410e53b33063d660a156ca9e659d363abeb012616c9ec4ce3b318845b62eeabaafc5088d8109fd760ae04683310aeb184421962ad4e4e82451e57be643feeaf64c5016b4a4aba91d1005e07630222d96046dc9792a295bf8cd991314fecda4d70a41431ee413db6d3fcb436165a6b6dcab533c09ab10e95a1ecf1c136139a5ed02ea0f4690df30cb29612e26c242a5f7b277e8621e7ccd894c5888b48dbe59e48a646cff6e0bef8c74904d3cc67fcf3fea3c86a338bf2ca5d3f1fd6b967ef33ad4abc687553e6699e8ca2ea78097fca590239e716883bc8c0d391f0b0c5a776a02f7afb6898aae2be4a4c6a340ebe34b6e79a3d05ac1dc491f65873338ab38a28e6ba5e568b26affd1dcec7231d5cf179b935ae7562802e32407bdfda63d8b5a9ee2ae1d319f5e4425090eab3c95a8ec4d1ddde54abe37f955f304b8810586f41cf87b91088c95d8ab1db233037ece26c26a7d031ba33896bc0c6760f1a5a0dfb6f8de788b7e2379398ff7fa24ac782dd0358a7fba7e53df45fdc6fc6748c7ecd77e1a97c035b802d9771bc8e9ca1fc988616de9533b06e78b2f684b36e39e5edba91f7d9477d8f85cfdbca87c42dd36d2fd5cd205ae637a54370d5c6ebbc4d635c07ad9334be071037e625dbbb2cc2eb2d0f9ab6f87dc1d49555bf528df2e80bcf7e8bf7a6fd9d4d43263a4df97756ea03dd2ba5814fdeb0ce03336380592427a8755e6d97e1873fd3e76f207c7b4436984c644174ba74977963f7c27ceb96dfd8bf87a44a3731fed2b8cf7ddbfa7ae7ba8eb01805babcecbede3075f073512f85e83a4d9213f31fa0635a67bf9db3d5ec05e3ffff6fa364fbc5e5e3035a64d83045dcb0908bfb3be7af823269547a6c135632251ebd4d29745e7bd493fdf98a5f70649f335b6f04a4dcd126a2853495ee4c2ea831694454f4fb120a7308bb9938a74f9eabe0e371f25d21d4e739caf3c272ea29c075d0ca23db217fb6be9cc37381459a78e433c5b7ef86ecf09afc15cacf413b3c3d5e2ced3e40b636690922ee27e28e9373ffa98a2df5cd98c5ded9219f2a47091fda25c32492672a1f71e8f46673daebbc8a05674a81b614e528296f4c1d8b672f46e1e201f14e31a149242d07b239fb2069b70be35dc7bed7a5fb1f4f03d0233fca617f1950e0e35e0adee8a640ebedebeaf3e03aafea9cfd678315ce350bb02fa695fffb4660d463daeaf3a69c84ea86b8130178d4212fd5c6713c937da2e2648e6a2351fecef656ecf86a9730c1fe69cce00bf136a02db7c53b1c315b948fab5878b773bc81fde5bd523123a35be885a9f0b5a07ec28b1c1a040edaafbcfcb59ce2a44771d4d0f4c3e3dacc4f31e6a5db743cc72d2bee30a6cc7b0e196c679a9fdf194d1fba6579789089b5169364667835b624ec1e9d53c713777b4ae39e36f42ac5ddd807c3fc8e8ef65618d4ca4b3a57631a14057d7e92be68e9b5ed199ec50e037a5bf708df8cd0e480adeabef4285894a178d95c1d2ae8fde87ec29b5fe3bb6aa7b9d58bbd8232bbabbffc445b64e5396ba4ced459e38a35d64a36f96f8394b2713775ebd63c54550ffd9b94f324cd4a6cc8935a8fd54a84960a977bfa77bf0c54c22e7f4bcfe412749184713f86ca3ab75bf069f9cc19f854dad236724b6cf162d1e8433d232b005c03f84e7ca1cb9e11033a0d997fed4c773b33e5b4c54dcebd08f3960d17ac29c779360cfec12c77fdd0657273d874a9fda8050d7fd4b1dab634f11e2acb1190a7156db0cc7bce653e6e722d2f76c36de25cee813e44d6d33b27ee61ba31dda8bc8d6bbe25c30ee6a1abbc48db5a50b35b46ccac651b9ab6399cbcf02ea794fbbc8aa7e5357dccd619627ecb39b201b32732aff9c41b5df6dd723570e7f93dbfa85928d08b073beaa38745d078ee481656ceb7f37baa55661066ee2c543bc06017c041342653ca4bbd7cffbaecef936d4f355b5a7147c3fc5765e55ffb782b3417199e5c599272fb166d039a18e769e6d7c4e0fb85ee36ac7f408d7dbd73ca9bbad13e3f6587ad397c42177858b7d98f8daaaef9f70e51e6e5d55137f3fa71df97fa8b114616ce764cb33112f89bd61453b98c72d6d072d0759556b7fb34f6bc23961dfbc1062ffa6152f03ab872712427d985d009ff64d883dcf21e8911d7d16901f70da4d00f3ca48b30a07ad9474dade6bc4bb53d2153e59e4221dc3f6c337f654ad45ecab4ea44a26d7fd900cf6adc2164b0c85bca267ab1a0cb2aafbf5247d7cb51eadd5397d15e2c773c02a809305f5c0b06e22ec73efe23be37179b20fe6242951776b0fb0441eac49c6044ca8bc79e7b3fd23e9af9f3d18ec798077987e8d9a762d2cddf25c3d279e603c84f5efea8a8b60afa36fca8b7aaea206d3b0bf5ede2b9c3d3823e0b945c301fcd782f6e0b16dc66a764c363e4736dcbf835ac85a166bf1327575d06ba3e15c203d97ef8cd99379f0863830ff3feadea44b55666903fd4167b001b54a86552848634bcf4ca02c1050cec606fcf577656402093655ef7beeb7d6bd83bd764993641b1911f9c413d64c613dc84fbe60fcc1e73ac8f8ab6b87e41cbf1fa7fecb760f36974084391e791c3e3f5c718fafab029ad70da76137ae04626a467bcf2e052c8b48db91fe972d527faab06e86641183f98cf1b8e501dbfd8689be3bfbfca1fd355e70dd8fe36fe761ed6397ac73f8ac2c8741fb7b83f3c2b6fdd3799a784e2b47eee6218e47aab9500123d37008c42372f6e1452e67d27e2606fc3c929953bcc8359f4c9b3f74cf5c97dc704cf315fa71f157255ca75beb74762c06738ccc581e78ab3b728ebd21bbca75ac03e8a9d345e13a8b07f9fc29bf2ad6d7a307fc445127a60a640dfdbbe165045dc7354e952a2585d75ddbc0114bebb12bfbee19f0b107834d1582bf58e63dbd4c7bedaad4d989d7a4e1999c4b65aebd003d1a957fdfdee1ddb55a1fc5b1fde9d9633717d4177e35cafc8155ad5bbd1dc7e83b724ef4dfc4c37c40e0bff5ab8805bd33e3d92069e3ca086740a5f6b88ec25ff0792d261fec6b9f308d15247167b6f9478ee53762c3fd5a0ff3e351a542bf35d874d43f0cd1555f61da173d4c3b1b64d77f8281bf0592b537079b9731429b5e7c0a398bc79cc52fe364ca7e7cced5b3176ac0bd8ed9581f1e7d4f49038e2fc2ec074cfe0fef9a032b0e674afab2dea2f5b4de38bee64179cefc55bfbf3deaf757edb07aedd83a8bd5da9adf5ebed38b75d9daa3cc7f193b12f5e23aac215adf7e26161b89dfbf8e3bc97b7de4c1bef03a06e323e9f78367b31cd8bccffb4eebc76db8cee6f8b26e623f2686bf7a8e12112cd1ab6fcd1ec4a9dc900c7afdbd7e5f20db72c3820df262bcecfebae22c648be4e12c7955c7cd7d1f2ed8204b992f13fb77b758ff7bf96dcfeec7b079b99f6d3ab1732fe317a5fefbbfffb69ff5df55a280b3d6ee0f7140c1dd7bd1e587b8a38bd78f1dc258c0d7e3298969af8f2f81645544afbe111970f1071bc5cfa214b8fced97f5c8fbf50825f1f03a3671d1af03e3dae1d47336d116309e2fc6e66e6ce9f9bf001c84f5d3f7a587df3f78f66645f7c5cb71eecf110a97f0baed9ffd6f371898d775f6faef9d4207b86a9206df3a7bb9fe8f77f3a5c5d0483fecc5c9837709aec7037cc8f3f6fea2de3f9521b1fd328057226437d5979932c6c06236806b782113b8fe78614c9ae76cd200c7652cd0fc5b1f52c543babd94325faff6d159daafd3d57594c8b72da42f2a7eb628426701b6aae76c98ad3d3afc5447b72f039ed4f155194ebf9df4faf86519e15d19c093d6d6e5d5584dad7ebf1c5d672163bcd88b38e1bbf544b71ddbb7aff7ecbb354d8fc74d27d87fcf4c5fca7ef3d53c392cf0b8da9b14f200bcd40fefe42ce607b2470cbc6bfda24dd2e9ae8cda9f67ce948b37b3f69eb3f869edaeeed66efb2e89a11edd7e9a9bdbbbfd09fc5fac6f5bb73a8e29607e58c7e2e6d5de63e0989e97b1f94abf2d2e279e374e94ba038bf12c8ca17eadffdec9df36eed3545264437ba635447a4728bdaccbb25f17e04a644463ce428c481e64b48c437d9e4e3a73e0e5fcc1326fd9e56126b8a0d1599dc935276db9a892624b626d5dbdc605cd5964af9378dd9baa977b1caffb3154f5b220d7f72af01aa3eba83c9794fd916bd237e08c96c04385cb867c38188783ca3b913238552f0f6057c649f145eae1558073019fbbaa973bf22cc6ba405b5cc0b9e0ef05b936fbc6989d2a29004b9b0d8f5f18437b066cc6748a9f15e7b92615985b57480a833cbb457d80bf3752f5d2ac638975f0f54f734dfce0ed0a7ce331920d21f99fc8a5d893ac02ad71f4b75fcfe74a467a58eadaf8597c6e2917f26153b9f62295d31f30e54e396e6283a6c9d9b0c5abaa7f233b7fb1321b8cfb7f018f3f1d16f778559a1309c77efa92780ba7358e0fdb02e69e6de259b638be66a9dd632e693f3cc1cee39816580fd335dfc6311d215ecbe8c983ae5fc0ace36388bd978e77821ce3b2aeff535926c19ae23295b33f589f3c7b9387120f319caa5e0affb6ff30de5a2e1e8d8b8ad7b3f46fcb46fa94cf951ce8cbd3a60c454bd8281092a3aae3f1b21ee67faef36bf4ca9da667753a052ce1ca2aa86f6c8cd0569820437b8812aa0df7d0b0302a8c1756f5b2c6faa33957aeec3e5762976753d7470bd7f9386f9d05faff180a49a624b87f00b38ffa491ae62b6e48c64b4e9499927ab18caebd75fa74a010aed9baeda393e72807cc21f2ddf8a596d988d766c77f365f3a7d8b79833d7b83ea9cab0260882b8fc39c10ea6c5a34f33dcb6fc886c73eb3fe98d1fd29d773c17e11b32aa0df3bbd74eee68be83e97eb06e612d127776bd67eb5664d88c977b3b62de9d9cbc6713da7f47b19f00fcbbbf38f903eb826f7ebe1fbe57a009c36e9dfe6bc3eaee54c7137d68a703fd6043f438df91cad0166a5f3dcaa8afcb9c08c1cfd983bc2f068df3e4e4b8bf9af6a5dcfaa585c35230dd538b96cf551fa25597b54bf667dccd6c59cf4996ddcf5d9dbefe4e667144ad1ad96bf9bdb5d39de8372722ffe8ed09ee0e9a3dbd6c9d3d5649a3f9ed3651e0cd6798b79a264335a5b527a0bd19a32e8bab9d906c930c9cc575524e2f8de86af2aedd707e75648335510d3ddec1ad5ef3678b8c3895f3280614e5bd962f6c7bd68f3248cdf1d2477c48fbcc6e6984209b96076b3eb11ce5649de16ba2dde41b9f8666ea87af41e4822b39de4674d62d3508a2ede24af3489b25ff679aa4969b24c401e5e00139201376d140a51a509f2498e93e6fb7e05790473bc46f0588542f2f6b02ff17adffeb896bb73bd19775d4776de1af561bd97d1feb55a9eb8ff2f967f0d323e09ed055dfee61f96dfca41da3ff7782ee2f52b59e9fffe8db4cf634538d636e9abb323c2eba8f871e483bfe5a19f5a49fa1c59a1c814752e0a9ca78aecab62d1e803f73ebe9271083730bdcefc43390e0e846b6ec6147e66dec933ebc1de45c52b1079dbff5e42c9bade9e3b5be7abc1faedb12e9940bce5bf1d1337136f9e85e4d9774ce6d0c5bb978b2ff792b64dd86749ca89fe7539241616c6f3851eb5b5effb7e53955b4dbcdb9fee38c5bf88bc6b7328bed64f6b2e5fb563b3f6cf036a39dfcafbbe4ee5e94923f33bbade01fb66b06f0c7cf90fe2d71e8c1f9c65e2be52f1de4238accd236da3f76dfba7fa54ba4843b277603d0a38b5a1bfa9fd8f3a0348c7bb6effd072e99fcab65ccbd834c8c25485dcb2206f40763fde27c97c40f3adfea797b75fcebb1abfd9ea2ac46ffc707fd07beb13ae8ff28001f908dc923e89d36bb0a90ff49aa76b1c74c924a7629f29d94bf62efb3e472f8ddb5f398b14ca69794051dfceb7ce8241b2829a6f09d20ffc3d7b42ff0771a327545abf5ead0e71fe9d0c8018e218f3866e7855efd4a5d6d121e6fcc138e51e1abfbbb5d8cb2312ffb4764b9a43e67e9ecdd6678cf91a1eedaabf9ee12c00f0751db91f8ff690a744f8ce5793e99fee3a6bb03dcff6ced7b298e845649dbde1f60d5b3de66eedf6f2915375f1e3c763ffc3d8e19c8438c614fd2b3c90b16586e64728b4bca7777a6417978d63e2d073b5bf02780ce4fc854e51bcb61b6bbda3eceb063ff307a135a17f5f3532dedd38c0f2b272e433ac797671090e9b3488cb085d035c1ee13c68eeedfb7bc79077217638c17964a6caa81fe7daeb1b8883bbdf975afde6691c8634fee3df72534b926e7dd3d3c5a1e7e8be2e33a9f191f98bf5dbc585e89d7c7374bc50b4e2a66f963052b4ee599be10f14c67314dfb598c2bfb1d58abb828d46db5a419cbc85548cdcbd0e13bda3366d248b71edb4086e39ebe9d83ee9e8fe87f99b3f68e2528b40badffb7fe963aa3c6771453ad74ffa85f740b7fbfd37da33bd17bea6e30319f83bdf5dc6b2c097666ff45f7e2be9e781bccb1d3ffb4cb15cadf5e313a349a350c3182024b3b91fcb90bc9fca38fd5c46f45319876e19b45f7e7adde9e5e8d937082e1c7220ac9c23acdf7a2f58c3fe2df37655e33028bfda4c6efc6a9a58c4812456ae8dec54abc2cf75e42ece6f9559493306109f6a76bf258dd1b74ee43c2e06fb77368f9d76cd5eb4e998aca9d2ef9e45c1733fc9ce22b8b123cc4bd794193dd5850488fd2b5c83c57d2f449f20ff274c2cc76dbc14cefd857d5090ff231ec6949c61e06c05af03e023423639d2cb5636ee6be2cfac56e6433bfedcf86a6d54ee35d6705e51e2831817edf789ae819ec9a228e0be3bf67f1097677c3d827ce068bfa1f7f45ff92b41164d8ba0029940cdd135aafbad9d1ff3dff99f519b207f79d347b91f439c55dadf33819fb1df5687e9eda577fe4fb43ee2c7f31f70f1786fc43940f87a1eca71877ba03fa617f0d53ef74d472bab887ddb625c5d2e1aff58ca3463e1eae58ae812055e5fcdd9ec8ef0b2dd6a7b7d6b01774ba93a4ce170f73a6f9dff95cac9f6d691175332aface2ff644d6d0d36f9c59a7a20b361bd40bee9a7e37df8797ca971187924e6610bf8e5f081ff848aa18f91ced39579adac93e159e7673916d172ec91fc82b99632bfe947904dc19ebd343ea28e5c7d6a8b516bbcbb1f077117a381fac01ee0fa04716f0dffea1cc1c4396b74a42f60df2f3d5f3429c97bdcb7a2a73f586fb713037909c45358e7bbffbfde0f28dfaaefe8c99dfdf7dbf9fbc087912999d997f1101f42cfeb46d6390ab2e1c7bb87b63be600fe7aa0cffdce8f467c4ead5c8f03c2c1d48d655e67ca614dc55c7e644a2c5fe4788a745d7f2eb23037e878a235e8f75dfc749dffde66eb5c21633ee4cc337032cd92639d2743abf738eb9452e357b5e397e4ff70ce537b8f0bf28dde139fda151003e76672065c95c0f98b79cc1a79f4a7f94df23d3983e8e40b72be3caceb31c65c1e7a377734b1f51a7961092301b54d9b9d303e8b81bd370d6ec7688ef6ad997c67efd1feffdd5dbe6feccf68b9f71ee688f9cf5c77b3badf21c6958e89bd89e18aebe471291de318cb7bf0d3d5b6289adbd856a6cf40e24ff6a773947fb04e609f87fe47765937aefcd3d33b3ea96771c29952f37b0853be979fa6740cbe9bcfc662dee4588678f0da17007e1d985351aa52f993c27fe20f7de0bbea9cf9616ccbb3b6fe25f2b139f3d666f27b386199ddacf41da389b37bb4a79f9fece9676a5dbd9c5f9a34a5cf113ec9fee3cb195a7fd3b8c5603fd6fd7b7a3ef04cebe93c576738c7c3d6605775fb089ff7e1d1be01fc39c07151aff1925dd9d3fbb323966fd6de8a7b7d7f998829d24301ef2c99b16a8c63dfb18a504a91bec5681ce4c13c012f962ebfad6df31854d71878e34ce0d28277fe11bfdc3eaf31068ff7d5ccab7c8e55cd2a39227d1873e76eba38282367b5598b9f6d38ef441cdbba7598ae5c98f269cf775204fbbbfdf54ed75913bfcd43fbae8b9ba8cf7d908c80bf915cf19b3cc0ffdb1c02fbb1c5e0ed421cd307fb777d4eb535884e44cea9dae7e7b136f96c6c614a1e47bb5999ef66d7271c830adfcd4b96f7fbf06e0d067bb206a5311fc4ddf6faa8bd0ff47c3f6ef4fcbca92370af34f9ca2eb59c730d96416b640be3322de67aeacf45a6080d4a1fa4db4dcad3a4395d9fb61e7179d33ae70f4ad8be73edbfd39e61a4cdf920a53b5ae39db418efa4b2db6fe2e6ff17fd469f0bfdb2dfa8f3ea17fd469f29fdd46f38ee58f9c117c3f7f1685ac612de40fe4b154f91e6e4a1cd4d4f5ffb8fd3523f059a3e0ad53879d32a88e5bf90338c3f418af6401c93fed05645eb88c448c871093e25726646f5498b219553be8dffaddf4b997c372b23e07d3c3085293db44f297db1a9c7ae95131113ce3e909c3886b3cdb52f2774bbd53b5563789a3b4c61642fce7eee655f756f5b0c7fb22dceff8b6d81e6ba6cd07b0060472aba5d4ff938ed4647c27c93687f3480c79ed1b2c525b4478c2a001feb05629cc939f54e2f170fe616ad5714fe8d7d0f3a18dce44d36a6142f299acfc02f6ee21c25277ed7b371a9fe6b729a7ae282750f9bcac367abbfe8cf66ef137c6e3382b5ff649fb4d9eed993dbe085c4f10ed96af47c8676a49567afd1b7a18fb4deb76abd82d8ebe09bde225b5c40f32e2936c4efe9eafd758efa05ca3d838e79480dcf417a1865cfbc3857b56f9f21966116d245e93ad4f91be23afea5ad0f85f7b08ad279b036b18fa9c558435fd63c8bc6896e7f57cfb0701cf40ee64f52f8832e7f04c6c4bdd673579cf9d6e86db6787dc2a5d689ad958dcf7fc35b725bec912c5c1c5d47f90c05c8bd745cdce635eebb9a133e4839ad394d3f95109f6562ced61b7bc1361ad22dc7d0ffe8fe26e32b554af225373dd67cc59aa0b47c8cf7637a2379e68b9a6f64ab9737f2fc5bc3790c7b5e7af6246bb8dc7ff2e0abbcc3cf63fe006db6e6431de75124bcbbe7da6e47b2241446b99f6dd22feaecc8bf0d793f6eecbe3fa82ce0a0686ca21272102fe3e975671c8f10c70df98e93a2294f28782aef6cd19491998527f167e0ae74c839d33fe3ea2ce713b71e9bdb524f809bbcee1b4b120f90e7d960622af6fb26ef915ef934c680b6e7789ccbb6c30358adb8f15d7e6ee22301ffd3b29faf19f37ea7ab4ab1fcace5cc23fc2ef53de08491f7c787be14240b1fccf92e979764f9a1c8369c76a85e3b87398614eed5d393c2d513c00e6f0dfe8274e365acd4f7e395c1806f10ebe46ef69ca76e8de59164a1ba7f52b673bc3c284f3957eff36cbee458ccbdf8bbc36bd7e5a9483b5c4c206f0847b42a997f658afbc8d5e9f3eaae4fe5694ee86eddceeac4ad16bfcf373a9cef9fcfe7bb7ea0624e9693a0ec73050487dfe6ad3e9db5830c3eff361fa6b5de4c457363f1f3b595ae2ceb758c6b2f56c732a79b4f6b6aed36493ab7a696fe329eae179f63599fd3b5b5111d865d6d5ee700cd7bdf35f429efbc8cdfedc5a7d778284312473fe5bb0cfbf1b3e4dd4d9616485ebf6ce3a01f031c5dc2973165653f8eebe8daa38367b238b7c3f33eb9f6e39116c0abc5c43e69a3332079f52dbe709d94e4e59bf27256465f36cf86224f702ad6ce6bda56e62b5d21cf6f7675db1d8ed407ed9fedfbb7adc40fe47dc7dfce3ecc35978dfbb9e6e877f68fdf99be7aa7e8e8acfaf4497ee961a9c45e2d6b91ddd6f7c981fdd0bb4663085a3ff84c3e8715f81f9b7d37a8caabeba485cf89c9f200bc3467ef96a7da0cf2c302bf7bafded7ff431f6a7bc645e118827834c0b8f1b2e6fbce69be6fe011b44707b4e7fa369f0047f40b6eec57f2696e7cb08b96dfedba30ccfc2157ad94de6a3e1997e30bc28555f305dd7c49bc6d25ebd6bb0e1ce0bd6b477fb0607ad7402e3f7a0ecef66abe4ec22db645df9a74af059c1505d9a2ffad12f268f4de075b03e743e16bde37d2be2894bebbd7b2a8f26cb7e6f061d033c16191ae6c19e9448d3df30877ddce49f9e8e9d7688ef3659c9b981964db384ca79c7aeebe2ecffce3a2f115a625e4e8d0efdf075de0b0e101bb95f1956f8bfd32f32f6e7cde3a8b5a6fc5fef638426dc3b9c2a97d559652c851009c519cfbed1a7caa65de25c8d808b8b7b26997ffb2b9d7c43ea0fd93d152abf2276c44e660bed26b1fc5f1aa19c959add850bd1d738d4b8ae0c65c96691d8fb2be683393d7d8e1d111f840bb8d8fab4a0cb42af59df4fac7992d42354e8ece84f79db4bc39fa315f55eb8b26cd91ddf98e6ccc1dd83d576433058e2017720a78c56f3965dab37bb18857e8de1edd0b62a5bac62efa1d83bf214076819c9667e0169cadb1cf71c2fa721cc44e9713b708e03ada13e40b7a7e55a1720bf47bdff926f8895cdeaea8e762640b9747d43f7655f74ffaa959f94eb3d8f7b970e5e60326d1aa32c17d58fc7575f66d2e30a3b5ce6e9d8a0dbf6e1fc562bfe055fdfbacc6097a965b39a7ffba8e17d5391590aeaf094aef9afc866d2e86ffe2f228cc44923f61fd261b1f859cf5aeed8fd17cc614de8d7ddfce364c3001fe7aec9bb9c1df5938fb80773d8ebf6e25ab82ef4ae0672765824f0797255c632867366f7e7b87cd15d70b3d1b5e02294a83fd3126f5cfb6769936f59e25c49e3039b57bb61c533a1ee0cc95d8bb807dda9c9de2b398bbf94e9df578545edf9a4b8bcacd84f39b3467d849111cd82e37974e9e79e2d7c3fcc8776b33ef707b836fdf6ab8424dea0c54164236c8ae075962d900e9cb998974e6dade2c30eff747ac0e5a4ef33a0f0fce5f876d5083738ff27e1c03f6486730ffadee66ae51769f89e770eeb1829c74f398e483bc055299874274538dd3debe7d862b7be1cf4506c9bfab2f897b4fffbe38e2f5e255d758abe45a378a57b6c9bb75dec7d99cf87165de8d47c84e3fa94252c8f63053f6c0a9986a87c5d597524645eb2a4e9af3beda97e2dc5816e9df9e3d3fba31e624772aeaec8eec412eec5572b3ff04999551bfe13ed98f76684fd744de9fa7cc1fb5bf075970bdbf0731ab41d2e447a9f74dcf162b97fb3e07030b6c457532cd552327fbd122751d65bf1546b7d0566ee14c3ece915c3ee01c3b9d67006356ef6324e79273e2d586c711fa76001832274add2a8ac9f9cca0eea78dc11cc31b3b4063a5ea23c667ca4bc859d51a720c7ce74bc29549e4fcdee7aefc462fe3952db7f59f0554ffb370feb39b9583ddac8c69bf34c870f6f4b516af17473f7dd8ece8c311f850adc6544e2b26d6aa319cb9bb31d507c2b5528d22fa9a95e3b07233df3a0d1ca71c9339d23e1727f7fa890e39ad20b604ded3dd4c9d45e3dd2cc894583cd883107c681417e04413e7c5da007ef3bf2be3e37d7b2bb3565f3dfd55ab22ffaaf0fa50a7635407ec2b99225bdff3b72c03f6b72a30256acbda29c7c6adfc846bd3296f5429af19d308d9ebe68d39cd0d865f99d33f6e3c02ae379c27215a21fb792dc8f93293cf388e9d5a83c947ac4da7f83bd339f4832fa5688d5d3588f997a96b91a1dea679ad0fe11c476ce2d970266999493af139f6ea73a3d43fac8feb2a01fe00e089077bbce0e793d3dfd5ec83e2d52efeaaf5f9de74fc5eb7c7b8b1312d2b02f1f4d7d113c89fa1614ed4cfddac5cada653b8b636d895ea347d80e6f9279a5fcd9c6af83901b7d26de774da6fe767f33cd1db7489bf217da5d525f95b4874c13bbdd329c7724c7c8ad29197d302e33ffacf59c515cd2339659edc3f5175dee01c9314b7b963e058a76d9cb6bcb7e2fabe9c46a67e5f1c617851f55259e9119a93852534b648bee48ab16e90798965ea7a656dd03c04d9670a6e265b1f67a413badcf7712b2435af3eac3b630fb26481ca35f7ec9a9aeb8b9528bf1b7af157b53ece2e1745410273e63314a2856a0ccbf93ef863c4052f1fbee36532fcbbb23e7dc3c2df95cd61f79bb86ed395b53e075c99bb9c799c0be55f552fe7f4b56d5594c05940d5d91392f7758ce6fabae66b17904c46ef6a07eb1c7051eea1b99b16958339159a3984e699bb47b245fe6b084d7ee1b31c277fdd5666d0f6c7b4cd953a8c9b9cbe0396df3977f388c29bc8ecc2e0efc67ea5cbf1f2f08bf9f740066b523ede09d17d99108bc17f9acc42d1f5fbfbaa4e62a1a72edfb1b9701ed97a8d5c82c3fa4d8ee5c232d8bb32e0cc6e7feaac3f4b3f49cd5a022e83a2d30e4d3ab67b55a7bef7fd46ed81f763d0fa9c4f73c04c8f63d04752bcf690ec47d7544ece6bf91ea627d1d1f19adade98ab364d78bf5d27488e2b1db9359bf23e924f783d9ee6fa9447b267dbc8dfa86cce576647deb349ee574b51d61c7f0a241ece79d4d9345f0e8e48b695902768cfa601b78802c93c06e017c3328ae847a5aad7bace31af73fa5bfbaedcc43a5681eb64b9749f4601f7ddd9f7ac18b86362edb028b6f62255271f851537be27a7dba66fa4b791dc15780fb36ee3be7ed22dbf4afaba0dfa16eb1e164c10470ede5b681da5d647eef41ffc3ed527ed9e15801e04f9de7a7541f3b3f7fd77c89185e4c1031b1fad698f4573c1cdeee7959bc9cedd3b54dde18cbf5eb717b9950fad3ee894e35e1df32fa65d67f473cd7e32fde6bbef44c0ffd2e85810cbcf4a2a13b5b19bf43adbd7ebb3b5c1f13a5cf09af4c4169ff4633eba5cd4a007cc701d090f358ffe3d9de79817a2f29ccfc245f34c18a773667ad9ead77819432eacbf2b5df990e39687a1ee13e013e616171f7faff0ebf650fd8d734396552b2bc41ba95fe11a4c3487fc036d9f812c99f0d1ca36ffd2e3fc40d6a2f185e76a9dec81bc69753801c9c8e4cffdbe708ced4afe7bff6e113bba9cb7fe26be0a05d49fd3bf2bfd4edee6ad8e82d7c99d4d5a9783f38322fbb4f6159eb79c350aaaee3a535b5989da99c3ba23e7505bdb1bf5cbab6dbfa0e6e6af6d8a5939dea2f5816c402e25f3b38dc75362178d73b43220ff3259ff486e821f89516f0c9e078d7d54623ceba01cab82c8ec66e5c11e6c42389b027d918d565514a17586f6665512e19baa5e9ed1b7b40abe756ecf74bfafa0ef4a4322fb87486644bbd9f5e81a0cce3b1abb19929d48ae05f168bf95c46aedac8f738c87a8563ab2194f15b271d13756f81bb7bb6fcce63cf4c3608e64db5f572f8efe1ef3f9075219213d45638b3f32cb207bf6458c9b85f37c5b96ae9b8b8bef7c5e7cc88111a5189791fc45df0a2a7a5da13a5e63c5906f100b3450eed778c3e7d0c7b9d0787e320eb5ffb1e53c00bf886c4c0bd9f8406b3af307cac975d647c82fdfe3ffbe7bff3eaf3ec9d590dee8b3ed7ece1fd73835fe54fafb9a64f2e18ca572400c79f07948d32268e3913b731fe2c3906d669415a5afe6940e7c5b390ae485f0d3d3cd21fa8d3d58843b1b729bd57ee594eca9851ccbd8bf807dc0749eb25a069f3bf2571a921c90adbda9c46ed4f0a7237927746c4bb6e59d18fdf59cf486310073645fed5754cead25376ff514e9ca87d669ef1818d7486c7198e33ec89991ef8b0cef59a7c2a163ffa5d0f763aa2e229329d9b02717c5332d83d1feebc7b56f64d8d95761cdc1d919f191c7d4bcd1cb33ee5793f617009e9bfa8dd73375aed0f0fcb0a794beee746df2ebe37e7351bf655dbbd4a5faed9b0fc453e618a7b3cd45e1cab6fcadc8f23f8feb88873c8a74dfa17942d54f934cdc8fb372ec5b7775eff429e4d96dfbf1ddb3cb9be7d0394fd63cf45bf38c45e46063ff617f19b7a66d9a48adeb306113edb0386e6d8f01cc4305f995617f42b2b1fe1bed9d98cbaba3e337f7f11e87e5a88ce57c62df3e4325f612dac69261afa762432672a664eb73688f6e5b29cd507d5119f53c223655d2da54e3b8f615b5fe2cf0eb11ff5749e511a772b6c7f55952dbf7a04bc4f5b953937bfddcb13deae7ebbeadfb0dbe037b328fd62cb28f3469d81d07f49bf8f91a7906fbc09dde3282f5429e25b6d3b93e630ae3d368e75039070f90f7e0e83973b48e1af9b19b9529750fda8cfd92c3e65c471592c23f60bbc1edd585ec9b24f74c7bbdbbbf953bba0fb17f9a8c13da9b63ec83eb5eefeca545786377bb5919ef66755faff15a6fe779b131d801e6a9ec96dffddd9de3800bd6cbc94a8f92debae9977f0e069fc5d65993f90431464567cd0a6e26db773210db3ed339ce57dfb3d3f1f8f355589f374a445e22392bc8d02f5f6271750c7e887ddce4fe241fd26ba49eab043bd0ac3fad2f1f21370b3d57f179663d1fa9df500692cf649f82b5b9e236fe5c84b1c2ba6f671dd66583ce59ffcdd798f9f0c60efae5e179cbf02b2742e5a2f7766ad346b6ae2bc827324770dbb85a16e5f57c68da4dd67f5feee0ef74d6a6f9a72b8bf2cef868d45a84b941fe86eb5846a0fa101bb31caeec3596b5fa27923549eb834b8748ee7d4d58dfd193e24b407dfd81f6b0e1caf9a6cee9701e8e5f7fd338a5fe6c91ca12f0c4619d1ef5f594af2c7b4478b6ac04647d2d5348fec97595f66456d3e7434ab617aa74e4657ddacc2f25f6eafeeed8f86b41ce57fb8f9cbedfac97e42356b1ce7ed6703e737e1b37b23b6fe63cf0d8d2753a36f3bb1b5ff78fc6a5ed1721eac828a477fbd5280f1898f3a88d8d7d8dc6abd14bf4ee7b2baea3a7bca1fd49ade8bd85a7fe3ec610f3fec3de2f3bdfd4b9062db7e97d1daf4daa9e7fda3aca17393e51dfcdcf3dbcc1533d8ace3964de60fcb15f47604a157ccfe527f441bd16295de44ba0312a688cbf630daf6f03ad392d1ec2ba35abb459c36605e71c8581bed5ead2abd59eb92e99f149d31352067344f5b1193e540d7e48cee1f69e1eadb4c9345fc6f2b9fed6aa8aeeee6b52f157ad92b76d85ecab6f3c1f51bba6e362ae27c5b6624e2af18d87959bc9a689f37c4e4e7f359d79df56e9b0ab870ccf729cbccb4ed8b40564b3538ee17f6a2fc3bfe93d2c1def66df773acb9abc8374ebafd6577c91e3a4f557a271d0dd0cc90de00142ba5a9d6f292e4d24e7ff595d92f775e5129ba4f50f37fb86b5865c42d4d8fef912daf5ba8c81cffcbf2b7d1aa9d47e55bfdff12ba2b56f0cc1c66dee37e7a9e0bbc9890d40742a7acd377b3ddf93edffa5f54f0a8b0fe78b1d1de140ad2bd42716bed61f07baad3d3d72d8d1238de3b177bfd9b7894f0dc7a6fd7f48ee90f3b714cbde0874cc466ffd9ff5c207f63bf8602d19ebce2ff3a5e1f9305bf341d572c12ed1b8c5dfc4f7039864069f19d3fe57d09968bf50099c40f8bcbebe7645fa4f3dfe9ab3a6e64252785479f43af0f4f429d68dce5bba6c716d03244f70ded2e97581e34ccfeac41d615e95e1716e0437c2f77e5c1832d8e01043609810c355fbe270ec4837ffe446b20816667309f62746cb5c3ed8f34527171dc170817fc06071ac30f46bc4600c57b9579d4df545e74821b987bbf9bcc14e62094f15e593980266c48b5baed950480a88d978dc5f2f73e277b8b70ea7d43f5827cf5122372bd3653c3dce752f4575f6b951b6b54336c8c418b03cfa77a564a86d61b57536cdf30b019ec7b1b604af788fbd6e6357be06cc3994f81afff2dec9a7ff9cc7ecdcc65f27cdf9e152b89ee6bf9b3383a590bcfa168d1daaf01892d88909d291e95cf6e67b3008733c6ec3fc8b5b4401677ecf27798b237a966ba5e5ffca77c669ef3a8b549e4cdf288e28aa4ec31e4f4ecd9d08dcbdef2e9c1b7e54cbc343aeb7b336939fbe0f7c03cdf7e7cfbe5f04717979527f88a1d0a471be73d8dfb43b0a669fc5971e319a44e36c53fe29ae9f6059490c096059f13a976ff3669dcbd522aef33a4c59b057e1fa9c4332c2c539122077823fc1f202c98860c216aaa0281b8b5f9b096f1a15cef1d0ab3faf49dfcf7daefbb2c6c9fd478e4fa95ac963ad92ffca87c53ec8d26b3819c63bbdbccb1d1dce94d1d740e63d89df631cf1faec49fcc9b5d333d2e12167babd80dca1761307f71d6f679b932f91f8f536577c8aea49647b114e4ec9ca91fff4ebece9a301e4abd223acc360ced2bd2ff104ffd3c61ba23d04e2c238a44bf003ade6dd9c7430cd35ee96576772be8cbfd15eb1570525f70e0ae19e82b389912f99674f4a91ed1f7d194cec67fcd9d3e522c47322f5b3cd642ba58527403c20da572af7c636f8b83b4c628c6c23930f85519b37a6ae6bb6b9b8646ea9fae81248d619ed95ddf62b89cf2d30c65c1851390d64623b2f0a7f807470784f523b398b877c372728735a5669e2d9651a4ae6b727d0fbb155e709ed726339cc7bc09eae0ee465ede6a86cf7a245e5d922039ce8cf635b29ee65a4eb4c2117a52ab9bd3c9f63c0c9fb04d3e8c565d6cf278af5a8911f807f2179f3f7c0e354d4b87738479bf0e76586ec515487c732be235f9dd3afe4f2fc177219c9992f6e9c29d9f8ec215bccb62a9c679b4fedc1265cd943c8bf49caff7778f99bdb8f217b1a3fbbb24ea1cd59617b66368dfcd8cd82f8bb1f8fd2ec5b35f67c372b7b67b52447fc44e491ed54f338fe94ab746ec843e0ea447acd3e1861fe29f437f8fd7224078278c4f82c8981643791776b39297ebbefa2b901b16f036a3fb4cd3f727aba90f39a6fdae7e1e8f21b7d0ff47091899759922919cef94d6372571ccccf37577f953fb5c5e522dd6e51d5fa5f70fd79feb4ba875fe171a4ce3a2b92b7e3ad9eebbfe9fb05cea553c79d0eeabe9f1bf2e8f7f963a7a8dd7f206fac915f0047ffecdbf7f163547f4c47f318faa37b7e36e8cb8e9623ca6619facce5dce444aeeddc2ea71db3ebc7b94d1a4c31ecbb8b2a7977e15c1de745247178ac4ae5265627eb6ad9e46092d945dc7ba78aae1ac4deb63e91d0602fea6cde916790afc9f878776f254bf930f6d47960b1722cdf6599f7a0278f7d911def84e8da917fd6a9700cf676774d4fe9b1fb0e8496bb9cd82edf5b7b740b25c8fb7ff1e2cf2bcd1b04e79a33e03a7adf367a138e1546f238a8eeaf79f8bc9c609f95d4b5b19e4d6165d0be9060d9c744f3bb775add9c7a07f63efa9d3a86a7e6a2f2256f85f6ca953e45765ba6c4d392f87cef9ea1ca7df43e95679d3f231d5dceacb327c8851777fbd323b20ff0297659f8835076ed3233069fa97f687037bb70a0e4a1846c10cb005e577d94427ceeac1c07f108c96bc692d2fdb68a8e048fd0e5c491be6b1d28f533b4ffb6ebc493ac6c6b8f529c43dfaac25972ecce19b390a93ed5a5f4b015c32894accab0c56a5bc9c517679d811ba4b6938c69e171d65ddefcfe59bd3368cb3507c0517ddef6cb1fb0344ff8efea9b6d522427fc419aa27effe2c2349cf473d5dfc53e03d603c62de5db39662d18d7d9a4bdb8bdfab9765e35cf357363176456e475c70de773cff89167af33e5f0bc1f3cc9427bf4e5cbb612d5618aa0df9f386eafe5fb72eab2da3543caeaf282394fbfd9e2c21eb45fa3fb74c2a6da8b31a4ebbeb241a6e7daeca38be948f9a62f1eee57044b856531e19b21dff4ec11e866bdb9cf68ff7aff58df1631e4ccf9e5be654684a7b3e17ff2fe41de735af75b108e00c31699ad303ab9cef76ff5928b3af92860ef7c61ffff42ffa46224e7a057e03d0df4a99cc4510e5a5f92c9d5bea4f92de170eec0a7e3770b25fe1a48300f8a467e3b0bd69fadf970c6bc43ce9ae7fa26b2b10b6df651ef6b99267d179e50729ac4145e558e3449e6b760530f0b7f32ae96fb293ef39c7de4de9e4d979c85d60ec668d31c01f194e22cf8e6830af5631b87d489d11714d375203fe037daf3fc8c676429656a9f914ce26efc2a3a36f115d29a9f0b25b7b2918e43e1d707ee7fbcc929417b357a479518de9ff0b13a938f5f069bdadc2624e71e23c07c1b79ac4a96ef8938cec2d73f73ffb0605c7bb4c7fcef73ca2f43db59a334ac3ef72a70e5b2d9cafe6e780ad16f64cf793736d33234d7d6efb21e8d5676503f9321db15735ee07aca59632352fcefd169e598472f2e636d969c095759e10b80e33ba17f77b166546c926f9cbaba82343fca06e8ffe89d4b708fbd7af0fc47f1ca67fadade99c2da53a5e171be3773ed190711969930c6c01552f7bff579f1b9eb5d4c96bf67e11ca26eb729f117bf3e77a5dadcc68f0e41f7f10f6c4f775a1f49ae85e85e0e74ebe6f5e7c56c33decde4a3bc975939063b1ecbdb83b50f2534a709efc993b6ac66eb7380ea2d2ef2afcc047e544ad75bfb1c5fd4b929501d3529e1fdaa44366fe4491bb88fb94dfa1c249dfc1be9b2e3dfecf5199c599798f35b44f52bd1de83ecc79c601748fd2ca4d302bec5e74a03f8900cf03b0386d197ac28e04cded5cbf34e2f2f7e66b53c20a4dc609f5fb4d966e033ad6f0eea2059d5235f776d4f814cbb612ec00763deac7bca767ad48f9740e8e46039533ce5842f52e17b6bbbae0b8ff6c520b3528a3b06caf51cf9aeef3b761c35af83f817f3fac656bf99d741dc72cfd6dfd424be5fffaadd2399c2cb7836487ed3f725f1ebd63c8e6d1bfceae736b8c083f7731bfcda3691a645cb2b9e14aed35ba3d298e61de7efecc4c1cf1c502ff3d9e05c39e31dd2396c5887d1cad9fc5ede55d1c3fc2758eff9aeed66fc37ecfdccc5494f9f9a95636e3d667ab2b39a5faf386929f3df657abd38c2f882d6bcc60e8fc0bf97b27e1da3adc5c5c9d18f6faa31c6f1ec55f247154f81c9e2d8751cff8e7d7166661d364e745505e5cb66cbe06bf23172c472389f8a8133fbbeae5374ed7382af6dd0b56a2e96c1d7747a75c4929d1bee10fd0e8de9703eb502676656f3c907beb7ffb8ce2d744fbece274a7def56df5b88f5bde63daeb9c7d6f7a2fadea8beb7aecb4c3c72cf92e0deede33aafcbdcd7efc9f0de26b1a44dcafc45ba026d03867a675f3b92380ae02c6bf0c5985781c41547374d90e39a1bdbbdb1be5d610c35607c0525d4c402c7d9135ca19cf6e760372f0915b31c3be295c4f4a73c2a47ab1ace7ecce59d32855d291fe87bf81c572ee61653d8cc2832a00efc2d14e4c66faa4da6f87e357e53c53251ab24d1aa6b8ce306e8e7c450134f4bd71c163285c391e3264f6d31d7afa56331853f61df319ef9586a33dcc6e55ee43bdc1ee077a0396099a37cb01afbd113e488ca6333d8daa3c41f047f42e2475f766ca6f59f70728c43cac747eb8ff26c91fa92fb27e0acc2dbe7ef487ff1259e70ac8ec6bbd989477ac6d78029b62d2fd4d133d874372b2b820389ddacbcb8fb638347a470d597950d32f3a8ceacb3e72cf6ae03f958e833f95c9b9d78b583cb52eab87828734be2c5fcf83347f64353a664165f0326d7a46bdee4ba9678df4f190a53f61dfbc46789b16c4d5c65e33b23e5168023604f6707f4d951a81a279a5fec429ded134ec21607e0ea23c6c35cdb24e62ec9292ce9a5ebd770b15fc360597c765f9fe13471e0692bd347ef1416f12d1481139b8158f7c3e66248fcc0739489ebc0b907c40936311db763243b1b887b0f32eb164e72c6be2dc21e97ceb1cfbf00bab19e14328959ecebc2dbce19773b165046cd59a097b9369b17be5026dacc2d7c83ddb718a9a4f06e2dcf58289423b21f16ee9eb9623f22356ef1945fd941a6c4edbc00db15e371f850286b0c26d2afd073341719bd5ec007e6efd158921807bd6456382f34c42fa952c2a33ec078e124a731e34aec465b2a8e00d90e6d5fb3793b1f16e39d3405ddb3b98f6cbe0e574f42614ccbf10ee9adf46f0170a8fc16f3c8309a9474637524d69fb30c6f57e3a3161f732c9b9a35153b7af2eeeecb13e5678d91edf6dc96bcf2be7542effd516773de07fc13b2034b1fc9c1a09af2c18d1fd9032f5cd9e69b7ca8f9193b79b56eabc1f0087e163abebcc27825391bb1beada44137175761df9470554575d974dc71a2ea654a5ff384133cafeac99b3a4bfd30059953c796df3d8fcb48f2651c252b67deae2f8cad24dfdc401b090ea689cff41a7ec524d7c8b7beac13e738e5d84536ad58dc207e51c4d700e72e160ce62fa09e7f10330c39f10c16387896dc10ead2e2e987c72f9d8ec3eccf250afff61cff0d78209c0b22b98b5b9071ce04eadd84d481c64e3ec6cad4313814e692a17dfffe9e3962dcfff82e3e82ee5fcd98e6548e249a33e4026b0ffc3c2daf25d2f7ec817c4263d5c41a1a1fef019ce5d6f847f48c1202eeabc62ecee462ae23d9383ce33d60e40729f34795ee9e29b67af157357298af183f22e3b844bdb6cb1abc6485f192c949ebe06ca710bfd3c7cac9f110c702c1d80dcf58a6f138760162e59b780c0acf98f2ea2ce9e0f57b6386fa08cd151c1731a365ca1570715f35f6db4968bc5651bf43e24d461ad2bf1d85c481c3376fc120bc04d91a627bbf748c3504f93961470493dce295f7c7fb7290ec80731b19fc2c74993edac76a9d71969cfd81927b5c7a866fd3d8fb43d26025490e80b7664eb7cffdf9eae81d057094a803f2eee418e3335c6807c6e439098d653aaa0e7bec9dadbf3ff05d77ce345de24f5f0e16836d8be9c0d89c5a877dc237dacfdd02fef70973f40fe5d8af6abea29a3b5df43d8be1c309e138b8d5df80b898789991fb4259a9b3758b2d84be48fe9038d71a2f1e75380808d7806a1c8f6e3d57ec6967aeb8d6297570ccd1bb0b675b05c13029547cadfc869f63198883ace36b67eb3abe36aa636bb5b62ecc92532acf16ff2e3116abd6c3dbb284f19b23adff2ac2f81c4ad62d142206d96704c758cb0bc096b8f59c76c00774457a86db8955609906970af335796bfaa5e67b10caba9e68dee7fdfad1b17d14bf1af0ee84c2236e8829a5233091bfbf1bc3d646d9e7f81a8e758c97598afaaff619e42b5da1d6be4c786de50b6a8b5cc9ef4d9f75e288909c49fe6cf513b33c6c78a217473667852b67dd8c27b22f5cc72ac2494eee6d78ea9cf90672f656ee297de2469ddbb22b7be1072cf31e5a64ff93443fb40a64f7f0ae756291befa701fa4fc12ae3eba04597ad8da43be3b87ddcc6d636b622f4b0bcf3862ae09fab9091f75e2162b1cb35cbfbb8c157cee1197518deb477a7b83b3a8d07889bc366b6dd8bbb32bceeceb97b42e8363f5b0ad80cbe4d2ec4b4f5afee23aa61eef6d54dd4f1515bb5db5631855342f0dc6f3ca644d254dee8e202e8e34167985db0e78e78e7f8e92cfc0b9a217a81e6cc059159e57106f170583c5c01f2849fd0cac178ca5ae65389adb35974041cac1f1545dcc75a1ced6fc633ffc671b43c899a8feb5cef346fd0dfbaf7a63ea38f0eefcc61c677f916d43b0ef68ed9077d8fa378ceb4e2f8f5a660dc39912b983cd9a8a1bcd34e99bb27d877c209447ed80e6003bf76c8f593966b1154625f08f77cf7e8e3b2a4f248cad343c2e8c79aefe9af7787a5ddce6bfe73246fd1b470ccd91dbac5fe1479e5cfa0c8d235898b31f47558b85990307bb1f8fceaa34c5397fe26f16aecf4c7c7d36073cb6cd0d8ff3fdf700d5459dc8c3a590865daed26b97bf7bcfbe6f0f0b2390ac3dc94b50217b53d5a3fde33ccc80bfae7d7f0c1a13d71edd70de1e9c53979adff95deeefe7b9ad22d9c679d86b3eef2e9f27e404b90006d2512a7f201fe594fab66d55b284cfd996b18c71dd0e9cf9a75d7f2ce4c7c1794d66f2d31c7f1ddf962ea63b3dc9e99cc3cff3708a6dce45293d7b7a37ef26ac43416e72ceff53cc39f109345832d52198b71ed7e19a13cfca60fd8dfbfdf3e4a17d8a5b7ffbdcf01b30b6549ffccb336766de9ef70e964dec807b5d544dec40396f31c515ba1ed6d7ab1a53ec968b0653ec964b0130c5c03d8ecaf7f6c03381319ca6557818e75b6c27f4750fc98f4b70480a0f5f2f7c6e946eec32c5d8d4925b3972e11becfb9a8b725fda549e3d7cfbe2d82898e49196b1512094993f5044d75e1c911e81e6d4c616f75ba1c439d9e1399c2704ed476b47a95c277983fd8a11ab2013479ac49ffd59f216cc9882e6805966e333fd5b133fd920b368feb837bf1aad4347493bcf4977ed7ef3e272efa3fbf435a1cc03d68b7c294d9a364ff29b96a5372b138badbd117d099f876822c464401e92e096b3ed37c057725b66d7c21d2829e60617e18cefcbc88fed736cfe25a5e77b0c09c52faf97538361deb67ac9798e02395797d9bc7058fe16cc907eb37e0b0f4c0f9ff0bfcec16f8cdbd423341f6f58fecd87732aa74c8f5ff4e83a8b55c88dd0be73f51c85f96ab0f0f32199b7ef5bce1a017f2ac43d024febce19809f167856519bfc8155b99c09bcaa5ddf712fd7c78cceab07fef2aceb879cbf7c1ed5857054160fb1bd24e7b4369b53712945a2ccc8febecf736d8639be3dbdfceb39c91bb2513cdb7df3e312e93ed7e096df3491bf84dc280df679b47398775f18ed918e1c4a56338f7ec8019baf9c13afcd3eeab8cd8cf803f1f91ac1588702f62307d8dfcb22dd1ae9371eec2be0b32ddc0aedab48c7fa40faff5fcc6591f4634ace681c3cbbcc561c7ce72d1446f53875b1d7f8fa257494bd67f0388fd301bf4fc6b1088534a2623c2a88b923dc4ac6203c77306331e84339f8389c8d1fa44ced3f3e3ee1413fcd212fe437e002b7420af957b676990499755ed9433afefab8da4f3bbc83de84fd0c0e4af4a54747552f39640784fbf2b81c00874782fd67348ffa89536f4ab8bc7d145bf047a5853753527fcf26847b04e78facf5152c1f6ecd592dc4a06f522f13597f063ada35b89de8713ba90e8d674e511fb47d62b3d02794ef1de2ae90bcd5261fc55c282f5ab660838382e53a6000aee77b1974b70fd63c39c583fde1ec225d5f88081edfec6070b503ac011ee97f3bbd2ceafd626d8f12b33ec3324f69ff9b9d782fdc8e339625488fc4eb19fd5fcf3b4f1fed028e67836c91c2758e1ff89955d57c06c10c74cce26ebf9abcc8652625d0772b473e7e0d98829cef5c03b4e7829ff7947e41ac0ca9cfcc059e949fead4cd43c832aa0d732e87339999790c31175402b63c29d7af46fbd0512a1c2352eeebf58b79764f0cae0b6046e06c01f420dcf777f30dbd17009fc9e3fbaa5e32aa3da5f2bf830f3b0aaa47723cc21caf1d19b1f1b716d3c3307efcf1d253ee18ecd5e6d2709979e8193e144fb953ebe552374f0165fb55800f9b005ef8a4daeed96d750bdedf53e76712f39f79979be7b032b1cea04a4caecd127e3e398d5612f3fea5177f553bf4bfac5e7e8441f2779e32ef5edc59c387debaaae7e35193d6c55cb85eb5990b7861b4a6b6cec276ed32f7a6cd3a798e4d7c6c1fa61daca2ee669e3ea4f61758ff7ccf1e2b7e13bbb21092b339484f6ec617fdfc43bf789f6be3586566a9bf8c63b88bc9900d1638ce552ace16cb7cf9f8cb385a76a137df6791ee40b08f4c1b479bdc5ee342bb780d1ccbc0a7cb0ce3425483f73d8b7973d1dc069eb0dfc4774c91fef3ba2fb8fef92e956fc829c704177ac7eb1e4ec0574971ddc957f0a70a6e36d7f974653027dd1e655b7b9487b3e48f1c3357799f33ff322ea35cc4bf698758e1be2136113e0b055d7753db8cc922f2b3d125143ee17b5817f9bc04f1274be7aafa9d7dd489a5e1547d2484b697798edcc166d4b1323546dfe194c2e7167f578e8cf1fadc1cce776bbc37aa836b13fc99b36eaec3b93e77c2d75b1cec0ecdd995f189e4712786bdce73f3e8dce8c97921c69d0336ee1a87ce265b0a72e181ffcbab7c8ec17311cd292ae6a5c1829376416eb507752679919bf3a36d8b7f2f3c7b580437e6ba1cccc7ae5174749ed06073c51e237b71e13a9ba396b1b91f4791e6cc0bbf62595547b6f0c7bb3f29f74bee8af4a0b33d30ff127eb79bca95e17230ffbbb2e7852a25e87f541ebf323e28ec3cc92b84ec07ca074af7b17a63a3963f74dce30fdde41e67dd1ef0fcd5eb856e6bfaa87f96bdf901f178c6b45ad67956523ef6257ebfadd0ba2a0b75f2518402f03e33ab7d533e5a735183b76cb1f8242f52c32b4bbe5d3478f866fce05ce77a9c0b0d1fee79657cff97ee0b9c6f60385e19eb6a69ac478b7d502d0d33ef957dc6312796a5db23667e53848d1e9dfbdf33b9f4cdd319a6c69c34b842fd9b99ef136669b883f93e61956c98aff6c3ff209d1178251c39d76ef4f7ddf75f7cfff2e4fbc326dea6ed671ceb6a598a7f58dfe68922aa33f9e17ad48c75be73eee652afbcd63f5c9781b1561dcc66bae2a69db33088e97398a2bfbe9bef187dceda8efc6b7c426dbd3e4fa1b360644941fac9299088de2959892c292379b660dd0cfb0300bfd5ddcf2fff8227a1cdd9a14777794342e1295e5ef1b3c505d906ee60fd2dc7c5d1dff367b592bfe18c254efeca597a0eb3c64ffc4bb97def53e8c4a7f531e2688f98406c06bd7f237d6ae9933c532b472ee8fd89e6a67dae7f2897360f219de7cfcdda3864abdbff55eb6f7aa1d7101b7194074cad67e2bca244aff01d23f73d8bed975d79ce67ea3a7dbd90c25ac765057cc204b30572775f324b6ef877654cf3202e788fc6f01e98fb7ec9ac031aaf30b3b69ea35c9eb703dbeca83f8c83757291ed948cc40d239abae5890e932e3749bad4ad8d879e437ac74eefc481435c8f678f9217b1acc0cda0495382cb27d8b63d73d56632af4a532a96fc947e39737c06dc9ebb9d5733f9dd8f0b7eaea7a9cd8d7917c7aa233be2e2fcef7ed6727e339bfc9f8bfd479dff9385785d6ade6ef57bddd4663b79dfce5b7bb4f76756e261fe5af077aaf73ef9f3ca4e1add0ce729b4fc506428bfe8f79dbf9c70723d2a93e0c5d7e750120f0497c8b87680e301b8f4ec4d08af1dfa5b70b3206ee367eb3c89248701e1002ecfb04fcd36693f56bca74be33c194e87a39e8132bab8bb1b9e7b844ba7ee2792ebc7e54ad6932cc87fdd70f9db2c604fb60e7061e6be03d8953c9c615e4522e3d1dcc7d727b5fc2873974b19c2db48623c410ec375e0564bacc8e5be8f77e70c1ce68b85fc81d353ee676bc0e121bbd875308e08e9583e27263af4653767a85f7dc79614a54166420c92ab7f9e7d6e780ab845e44b68cec0de02b1e5a114d5fb03d44b96ca3c18acbf71aea7cf3abff2599e52cfcc6a8e65c8150c18b4d05e1c71b9d64d06fc22e8dfb7d0f904b9e3d9eb33606b5a1d78ef73ec756b97a947958de624be7f8da9be8f35f114b6b1b2c0179dfb92956c905c23e3b3adf7624169c743900b9b65da1c2fe07b4f0bcfc679ba0d5bbc3ee17e8275bb724e75bfbf7d0d20b6b20c6debec7226fcf66df11ae0dc89103f87747d3713f75bf4db611eed39679b236b40647dbc46c210f35589852f2991cb9da8eb16c60448263f07cce5437fe3bb6720f96c827ceef814382ba4e75a10d3b8a911afdef78bd2cc71e1657fe73b677ede4c2d696d5973abc943386ffc7a4ffb7572ba855c0ae77f8ffd2e69cdd7532e33930faad174637a9f96599ada6cddcb29f919f6f022dff33db29d3a7926af680df6ae958ed1e0429afcfccb4347afbaa882e204198fe6f939b4d9d843fb235a1b74ee6509ed939f46bd56eaf6d3fc4068ee13ceab4a3b34674bd8269c74af8590d70bedd95e1a1c927bf9f0221f21ce1f7b2f0fccc167ea7269b6b591fed7aef100e98bc8bee51647cf66a3a0fa38fa0319d63ed2797cc9fc36c93d59aafd45c9b7cbf148cee7fea1952ff7cf0de386b75018a56166555ffafd9e42ed5d7d8e8008ce649dbb3181b3ecadede59ebdfef6a5f4160a2087bcb5c9ce1b392444685c2279b6c8fd2c2c3c1dfb097e6a07e8a7fa67adb70197620f7b7d5367482e2f8ad0dee09cdfedba780b674cded3511ec6f6fcec139997aa71027f532f7fdfa59f0b5395cc2c14121ee998e4fc285a39a785652d4c87b50cc2ddb4de588a691bc7529b469f26cb0b48a5da98e2d261bd4f43b4c4e57e5de853d17098916598c0cdbfb312716e99e6db5228e5b5b5d89953ded0ad8d6225d6ce48adc5c6529435cbdb6bb3b436c6b15a90e70cd613cda45cadcd8db8111f7d6b5e69527a86b1986e5686d572c9ad39feec65e93d16a8c1ed4f0b7fcfa65acb3f9703061ce2278057756a30ec673843fdaab0a1642d5d9b4d83c167e472c01b88e4358bf491cd945fac9d0dd2cbe2d0d9a406e428a9cb9ad765b5be671330bd7519455d86e1580c89e358e0b3f80d7e86e6449a7dc0beeb81debe6083c1e6e29b2203389383c5203d186c46673141f69bcf75da203573e0306f7425a46faf07d62d94f813dd0e381f754e84aba3eea327675c42922907f928efd743392eaf754c81b767af0f621e8aed843ddb83cf5093d6fc1747d5dfc49c8f5e5c468ffbde7c23e785d76e7f9a6f81509e42671341fb12360da5e8e24d7272bec3a2beb202ce6ac7017860be8b50183d9ee77a52a0b6ae33880f8cfcb4ced13f3e6e8592d192c76b40d5cba3eb2c9698a722dd5b3856f9cd07ce8cf5f9c9fac835298a02f6f3127029f09119982b3077d987df5d1bec42b1a6a9bdb1f8a565b2a299a4935e1d564866821e2859c90fed585989a51b53fe7333b5a60ea3ac0ca614d7e6a8a9df0e9fff2480cf6214886575ed910d5c84fa895cc77c515b7bd1bbce739ea380cee9d91b0162466df14cfa66bc324412436c5e61fee8254bdeeb7044aab38f9ce28b67d11c5a72ebb3db5f7f06cbedece4f95c8576f4e79d750b2471ef196c8eca55f572ffac0e70068db940e839c8bbece90ab96c8587674e24cfcafaecdfadf535ef8bf85d92d707ded9dad60dd565656f80bb6f6b30f132999eec948f34270f9c99799d4fe7570de2043fae9b8947aead87cdb57d7dcdadaf559b845cbb05f5bbb705b321d742095f13a54d1377f839d1ea5844888d44d7ea77e57239c5cfad6f1fe49a226d4cb8769b4f3e4ab866ae07b83c4b5a1ae439d39bae197c6d3375eb6bd2265943cef52f269d3a8c685aa2a2ac53cb44737d6db2e2325612d7d9449aa3a4ae8de43bd2f19595c16e766b6b639a492a5890637ff46998e69b9c21b9303d217dcd1d6c2a9fe319392e3f2d71a3eba66259536b6724e26263f1863515754be427fa54d4975952dc9767edd64cf469eef35cad94c01198f35c6070cce6e453c0f19c1fa8dd277c6dce6d52d2778c7b22b19dcc5c908ba09e97529a06d8063878ce66ed0f16b76dcd89628f12d751128370b7833c13f9c7f2df6cf7bbe09623dbf1f17346deb7e7a93d66cdcf272766359b9f1deef1deb0697491119573fec400be18ce59beafda2fdfc7b98b3a6748d17cc6b67fa3796f8fc0bf82714222df3bffbbfd1b4e86a52113fd28600916e876a727211d291ea1bd2872b948f76cef567348353ede81550599750edb33d39cd2a14e800d9b52398a26f923ee914a93a6c5b6c15d82de70ffae1091f8ef3202fe2e9a7334e59bb3f616d7d6fa093dfd615de1ac5e893dccc92be2f564d83ceb1f36ba678bc997fe9d6b99059cf3a16d1efdaa44bac18dcc55e03f3632c89fff9443c3d347dd67f56fa4e3b27ec6025eae8b857b90b33d1e259e438d8164164fda936b92790eedc77d07fc4699b5f7ec94f3cc1fc724aaf79aadc13eeedf09ec898c6c30fc1662cc300ecbe11617ffb049bf66ebfcebf6d18c6900f90078d69736163e6bb1487b92221492f7a002bfd65d5bb718235179f62245ba41374f22a92be4def2fed77970fe47f3c061796df6990698ebbf6e93e225a314e9c90127565fc6a3be058eb05d7dfeb8ce44c6e5a225b19121260c63417e281b72ffb37d7910fd2b8e96bddbf00ccef71fd7065bbd0fae353fd1621230388fb7d2390b9669df7ccb359b2910bf006deafaefbb7cb4e4efcdc2e73610c7fa34fe5b1a4561961e5c6773819c6c8fcf68cfaee3e51e2732fe403e87ce220d12f180e68312bb174752444f0a5347e003af8dd179fa4e4f26b28d8f1130842d97ad0febba3c43bea016e7f24e723e35fc24d4b97005312afbf24ced2115da435ce0d88298bf82e455a9316f0d1e43cb22c6b7af7f7cccc77506ce5e2179a3e639e33911a3c45e8ed648fd1bcd17ec4b9af3ee9d3f81d8d537ccc9170aa3331a132d1b5d3cc902fb7f37bb3ebda7c46e3776dd59937ec1cf1a4ff2d1428c1e3943a2ca6d7552cbd275a71c3fbd57fbaf711ffc51311eab009ff36181f456c1b3d13a42d74919d230578de3f1a767345c16f8d8fb7102b48c27fb21dd2760b775f0ab842ba1f63b7c71e839c09a529825d05b8ea1c416cb0ce70209256b18d6b65c27d6a7e477ce07f0dc207dd99a29a9672a299a639ec1ee810baec1eb610ca585ec2b11cdcd7e8e3fc29772f88cb06c84baddbdafceea31857d1030a93bbdbce2b8182bc5f8f187e763b715d7591bb50dcea8464efacc3cbbcee7d5b3470929a7190bd8bb0488b1613d33320df3faf41b300f262c83b141644c7af5b4a04f1fe117e77feab5b272d66f706684eb863980ba67bdd75f609fcaa511d4e753cc62fff113f76f6fef8518bc33703dec2147ed7b27ce4d674a6d061cd58d3f5bad4eb7d5cc7c6fe23e6f2c630f16a1265d79d7e023551af92ecb149e75da3bc8cec3bc580d2fedb2c3bf0bf9a48a950d3ca7b9262548e69c35698ee4d25b10d77fd3390247bfe7cde9e0c1e5e7bcd37bf6f1992d7b0a978713afcdd6edf917c56349f23ba6eaf3f3bc0b151f9bda1c1f2eaba77c0c118e2f73b327f8bf684572f887029dbfdff27d96c957dc08fdcfcbe969b275947d6897519032f132c3d7833882ef435b1a3e8024afefbb3a3e037a864dc272d1243998ea3c1723928fe4fa38ae5732cf204b39f180f3f50edbdfb0cfb0693058441e67e6da331c9c0e7ee7fd96e49b0906487f2bf8f63a70aefd8ef3f109ae723580b9e13b7af2d6e184e8b6e58f9c9e5a3fdffe089888ba0f906ee1daa38b7f48917e7c037c04f4bff50fe6eb7d2c5bc0898011d91c948b6f2df65bc93ab9fa8bb8b6a9c5931c6e489e16321acbccaa9a33805eac15bdcf7ccdeab3ddeeb76d892d7efffd45effb041f6e450b636a0d5d383b34e36e2c5a87cbd5a8cf9c3d649309cac9b3d9cbd6c9536ffa8fcbfa7c5a96b8887ce7b3f04caff239b63e237a55d65fd8a73bdce52e91bda333c4b3616c004774dab31f4751cbb9b9be8b17047c418ce3afb46c7874ab3afe0ae771c0cf7ee49af40df25d056cf9f0b8303e46107f80bf91a87a79c25c88eb9baa970772fda4ea90e311e9dc03552f63727d04f9149d53bddede9ecc87764d1f98a2fedbe1ac936ba7c5535e601c53fbe13911ee5f7db4f73926de5132c2e1000b770aa51462e59f7cff08dc6c537816b8b4746bb16af9b4525e9bd59cf03cd83acfeaa4e2b3a1a90bbe77a423a68641c739d7f97ef0efab36995e4127a8eb3bb0d8adbd7eda4f73ce8b96132b5becd7a78511948b8a6116865b69b67cf3b2f9699ecd478bfd225becbdc8cba65cb73f5bfe81a77d9a35731dce83bbefa7d770ffa26e4632d4f666a9eda7d7b93064e6b142f75b1ecc5ceee977f7f2753e99becda54dbc9c1c59779f70cbfdc7753ef9789b4fd0ff4766bef7b2e53e4ae746f0b6d8af2b5757784d22dc36fb677ccd1f48b721f69bb2f3b2f2e23a4fdbf03d9f819f8af1ecf0a732e3dafffd3c464e699ee9da7f54dc03ce31da9c3def1ca608ef6341b1af5c00bb8c6f73017c9fd73a3e3f0e20d729e6b3f66f74debe325a59bcefc5381e568ee53687e34c2ee4740c7947da788b71ee38e5d8614f158d69a2bf1954c9d1d5933f907fc038c6963dfaeb67fcc08ff1d9ea32fe88558ec428384cb1e9e0163f538a5b01c7b2ddd8a8e1d79ccd5b4ed1fdb41bc7717776cf53ef2dfcb9c5001ec3351abef2e356187daa7a84ed7d7b5ac74decd1dfaddc28afe877c78f5b9519bae6da9b648b7dfc912f76ced00a0f383d52c6b3d91b899369ce83cdcc8abc29c489163ee19024d82207b0a626dcc35834a2af02af02c5774bf7b9a72747b7bac68a806c0e377e115ffd4c3fca94ec7ac43eda362f961ccf63d5189ee60e93d7e7f44195e65e1c5d55674ef307d4b999714e6aa1a9e77b70636217e3166288351368bc23c3074dcee9e06eee0642527c196cf77c5492f1f968951e6c4e0995d883ff81537ca6a468ee7af666bc9342df4d994cc9e0ff73d0f679a6c4220739f5e9f7312f7d6a70a3e20be9be36e43618a17b2bdb3c7aec2976f4f2a2ea785c6403f8e732d5491ecc838f72e59c78cc176d7e03ae234edb3688e3fb751a27682da4aa382efc2a29be264cb91c7c8f1793d3107cee56113ff84eac0ea270659a54bc2865a364d886c07e8af99f50ffce55697d76edd1c8e0dc7cc52568cccf2bbbbdd6e457e9e967dd387cf3180ae505f07346ceaa4272f484d1c5cfac9517277f485c3d4f5d7b16fbdfe527d5b18c01fd263da5aab42efc2a0d978735ce5363f04c1b87b8fe130aad6c5c264d8efea37608903cc3efe8a93f179937c25304d8b8e0c60f909c697819674cf1f5821f1ae9f8442f83bcc398cb0cebb190e3a87b7e8e731393f8426a8d40bcbf369d77f336e85107578b74b78798a7c9b0ece50de8cbb73f5ddc93886d4629e15d90ef275e9b527d944c511fe558f62594ec4bfab20e78f15ec9ba60c2e68dac93d6fc561fa55f12d6d991ecc379491ecabee889ec2bbc1b2ab3196b2c07b0bec86b53f0050c7dfb8ac64d247660b1beb1221a0bcff6f22fa13456a679f63156e3eada8b549b4ea16efec13a2d71acd04d85f8d7c578275d7324ab5adf1e8943c0cf5d1b5eb5fde9b6d29508dbe90ace77bf678eeb1b3f01de2682495767dffcd7ac1ccbd9e8124ae281f003e59ad8f854ffaeccf91ff9109d7c69745bc6f2dff5ed187f496ce11fe6f192e5fd2dcbf026e431fc6e642896996e1610deb700f7038fff2fc7bba9857129b38f332aabb691c973a43fcaf186d88bdad43c87030572875172fbfbcb02ce4ddfd14bb2be933fc09b21ad1b19e1090f6484d08efdca5917508e5ee378cd632094918a6dfc372c8f02c859a4ead1a1dd7b82ae5d073ac147ab174d58469ba5be8fe47aed0f997d14ae4e7c9807b8c7db1cf99ec5144ee5669dbacc4e3bc014ecf3dd4e47fb0c5e83c68df569dd86c8cc7c554517d20fb52c4b1ec8b2abd6eac87c2894ab96d73cba6ad23427b8e5552337abe48f2afd8bf64fc70fdbae4dc7f93223ed76d87bae55a7997fff6d73b5117920cd3bf9822c0162bb4736370a57d609b03cdeac1c03f76c0c7ac07f1fe227441c032cdbb96f89f4de9b8e7733b7738fc4e6acfcac1ced66e549d571b936bb0935b436266cfb77fdedf4643a3a9ecf342ea496a3bac142df92e760bdabba9bd1bfeddb67a8891f7c7dad9157d3617daddd5bd05aa4be59af214b64785a3f3305373367e598bee689e83d3783ff9dee3d237633e3508ec1ef5fe136ab0e4be40eee1f7a0d3fac8350d27cb8b8afda39d8d39137a84cb43ff59f23f524b14953a630f76caa4a5007920303f88074554ff17cb05df47bb17260ad3532c1d04bbde10deeae519d8aa98b88dff54f6f4d469eb4c9613d656201989ec9315edba3512845b99f05df2e279e71cc12e0d7e39d9ebcf9c2ddda7e504e3e50a52b5a233fcb022af62fd8b3f49e9bacb8f55b677c6ffc617980bef9540dfe13f0c68700ce66880cddadd8d3bb031838f9cd19304590326f415c8e76dd7337a39f0f605de757c371762dbfef0cfafeaccd4e89672f0ad75122e20b8ce642093e59ffb07e93d392910f4c8d55f85cd9017acf50f5f22ff95b7cca87758f3b3d6b0719dad5f8d4526bbd998ae6c6e2270633927433345ef9f55ca7ebd7b3a6fc6cc394a2c32c5646e2291b76fecaef95f77c68752ce3ab776ebd77189f0b0f3ff8ead8de3b04d3b67ef5cefece274772ea69d9f0085cff0613bb04b31ab07c5b7729e165e05bf5726fb0d885127ff0b83295f7a77e5c4a07cffb85e3ffde5cbdbcba4e0a755c66b08fbc03b678b6ce7b9cd26cc7ff7038816f7b992545208923c0104ef274d772c13f6bebb3d856cc6f35addb32c7f85b9cabfbb3c6026159b23eaafae80abc40ce82593b16b395f86aebe4781ed3674b128ff6442394f8cab543f20da46b324719977d09b2f4ad8ed7067cc3414921e74b667d86cee6e80f94fc2b13c95e7a8ada6b56b24c72c3608624d7b7790ce294571df6791edd47eb82cce797fee87b9eb7dbe26e8e409cfbff43debbb4a9aa3b6fc31f680f16a076cbb03d21078f20a799402b11507e8d07f0d3bf572a01026a77afbdffefe819ec6bf7120821a954aa5255f77d7f7a6eab13dc2cb897e066f15a32be6c0493d31211fbd5309f32baa192d71c70fced75ecd9785d29d57e867ff7ac49776bf1bca7cb199ceb0939ef0bb1e06ef8f0538acf81c5e167ce5bab977ab6798676edf0e0615d6ebbb161c597fa793efc1c97b519f0efd48b987f1f0761305dc77ed285361d3b5402c93cfb45792ff11df03b02ab97fab619eb75bf61bf863e63db478a6f9e847d4af92156cd7232fedffa505d8875f99c38d8dc093f886c6f2e8ede9b3bf6c7656bcff1ff4fae5e63b07f76688cc248619e0c6b02d8a758ceb0dd1d4866b182da02f3128cf9d895e210ea0a68fedf8e9eb778a8b2c9919388d127c5182db1e4b65617a986f85efaa38b64737105935387cabd8a254cabbe025ffceffb9032ed460fe743ea13ceda5ade41171deafb67105bfebbf713ecfbf25b9df2dea19c32b80bcfae031fb216f1a13fc4fa304aa16ed39cc73ec17f157dd44bb6b6720fd8baebe3b91cb3379acfa67828f4403f1f614f459a34cee463197f52827f31b661cdf1ddfbff67de7e870b725b8cbe8fd33fe48c1a676e293daf2f0b86d917c3c554e6f034d65730e1fed4e75e0d7c2aced623522fd7e65d2dc28b6a6488d1c58db86c5d978bf785a61f5262c9f810b3ed03569127f40e8ebd3afdeeb9f0a2ea80b3c0b9b6fc5d9d55cd2929985c331f3d1ebb36e53097c482f273357997c12ec23647ff656d2dc991a431db188f570cd891f57afb6ff1ddb2266d03fbe65fc5450f9ec023e0d14ccc28b0e6b17ffcd68efb6a3d8f9f8d5634f77745fa71fda18dffb5da207cf81b3e75a575e6da41f8c337ac9e7cc3cdebcce3efec57730ae7e0cc1adadc08e60fd7f0b15b5c2e89726cfcff526102601f90fead2017b0ebb06e52a7f2c5b1f3bed7c9fb6ba62ff2b1c62f030e108475728d99846dc9e73887e48cef49ad04b6291afc409a3483fc19f637539a1cabb352ca55ecbdc638b957e7437a7e50215f90f0070357bf007f8b4c1e0ec5f918df76d63c0c2438274a3f3b7cc913c6d7ed31757653e000e096b43def90d6bcf190f313651ef6b546b53e6960b530df47fb907c83a570abfb108b9ab4ffd518b9df710e96781286c8faeff1b250bc4a96260cc7d084430bc45c1bf7784fca03f9909e14e49e00a3ad3edf8d5543243c1609f0da88f41b85671808b50e61af751b75a4d866f7803f876beace0923671b31a9cf986becb4d7f59c90fb47b8c85ee160603bfcced7f92ea8c9cffb69bc985f4916dd82c511cf77846fe1c91ab8f3a83abf28f727baced78f9883c42e03aeadbcdfe066a7cfdaba1c2ead55c31e948d71659b0680bfc162f8726230646a2346d53ebaab31286f60df60bf23b0e69cd79191aa3b4930843d0deb761ef06feb7cb2977ba6879c04f8951adc9fdd4449e4f26cf3a2e23e75202e725147330efb1fab3b8756e341e15a6bfe73282a46146f5a7eaaf1686b103eaa577d09864ec26273e2be55fc4125a6e430cad833970a47e6056f8e2c752b2c1992bb5161c94c3ea783d8e9ac63778875e866ef5abd138c01d65d527fef249bbda3b33e6e134fc643a1a1128c8d94c6335fe5d1c5adbae40a83676d87372c27aeb522f80a532576a7e64f7d28f521606805c33c8533d9e94cdcea39bfd4c779d31f9a9d205714b8ba9c4485fb4a4e9e7d1bf7226bfaaa93575ced8d796ce4c4b76aca6bac35b3eb4be681e00ae5a9df59c75e6216f2747d25e778e33dd3e6a5c2cf9fae44d9f860fa343b615fb83e4f8fb2d63e9d124c8f3387c742c3f71bd53abab3dc47b08f148403c7018cfb5b0e3eff133e3090b30d706fbd92a9ea6c43861ad415cc9f2fe5e1d6eaee4b7ded17ddbd69cf6359a2b55afae0bcb5d69127991dc7c6e3001801a1df892f4e3108abda2bf073e3268ea555623c3e1f73859b9435c07bcf9af428d6c6c9b1dd5896261779ca72d77d20d296bcf76b9d7891c76118249bfda725f2b2c4a77e677e73ad3cc332ebe803a273a4c92518f58f5497f1afe49db10bd9fe445b7b7e7380a3a5f5bd045f9e27fcf963d12bc210f8b8a15e629279d3f83d30b87046b9874b79d91afc1dfbea33c0e3a9795c1642f74b2de277c04a9b9c2fb61e9d587c3797fd1b85ef846b261dedf42853a7b2f829ac53bf3300db64913899df31912fcc8bada5c48be307f0d353bef2376f9817ae3dc81c6b5edbc38787baa9ffbe96a6eb93ab0f00dba87a0f1a705e3140ae3e08d9bd9cc8505f74f53c51a7f4dc2f9ac339976a9ebb5a32095e6371f0b7ba062d8c215fcf52ee4e47499d64f3d6dedb5bfccedfe9c31626e3c3b75d1da859701bdfe5a126ee42036311dbf8c2e6e2256617ef2bae4e38dd55e9766afa4a5dac4bde03abd7f8966008b87fe24e8fbdcf612fb41f30d59af6f74ecfe39d9e170dbd311eb7798939a8bd23f900b53e8b8234484cac6b69fb1f482dc28b829ca38cfc2f0f353950d4c2474a27efcbc9847946c6bf67ecfe819f75f5ec28a34179c680f73ab696e9224fb0ee8d8f5e2216744ce9faeb66f234be0615365c8d53e44da37d6d7bc3fcdcfcc414b696c8fbc500eb02ced5bb7bdd7288ce9806a1775cd19a1162333842a9f7c3ab27adf65ed2df973cdff4bd07c7eaee5bf621c5fc304397607834be45e934f6b12f52bbc4e0468e1ece1300f7806093cb5857140d5dd191415710f9ef8bc1e45cd84676d386aff9652c410ca0be273e5f6d9a5f5f71aa1acfce33aa9ac3d2f627be513169eb89bfc9f16f70615b9d75f0b86f74ab7c328dd503aff611be2957c13043f650aee607ec17b68e4dc2f206984fa997c4dcd69a64f5993e910d62efcc39c0bf9902a70dd8625e41ec31bfd665586ed8b9fe1bd9acde5fbe4b4383cd96e0c7a4811487deb094d9c1d9b123cac3afc4cdbd919167697df550c0d572dddffb82c961fb85caf0de4d442cdfa7ad3d63bee3469f9fe375c6e2cd82fded5a934896c4a4f55e8a8b13b2bee1a59acb614ef7a8136b8faf3691385c9ba26944e785c1070b9b9b8ccc71bc34e23e52393e046eb864727125f1ac0e9b5c6bb3bbd3ce3feeb03c81328a2edb444c3db447783fd9bdb48702bd5aeb43f9a876565f727c43584781eec472d2f8d641672b9917793a283c4121ffb6d7273cae655f291ed9451e9773b02e3e7590196cbb479eb4d9cbe83c520b7fef75e4bdd7599fb0cc3af44cc9c7f2883e10cc89bdbfaa48de37f2824036cc9e2c4db03e04db666bad631ffa3a28b6b68bf7f68b3c062ca5d869cbe294dd1736fbaaf6b696b1043093ac5e0f7ffb56e85d03a1cbf4ef86d751e6daf3bb2cc51ce0a335c6e846b0d884307584fd9e605f0d7a5e67b3f76cf31e0c076c8d1e603e6ded75ea58b7bd4fec12b2470893c295f2d8efcc00db89dc5bee2503e237ffab7572db3b47bc1640c65159c3a9211fe46447f0740f4ecdc7972e2d537c7aee50db1eaf6238b76f633893760c6750d64e890fb11d88abd772bc6de0f0c8a26c8c33ef0e796725d75af89a6b6de2f93c077c3656c7843a34d73cf336e40fcf4ede30e79eace95ba9b3dd033f50a71ba8117fbaae2427dd59a217989ce80ff362692bfddd14be3f63f0df8ba5d07f736dbee1bf19c5036fc14bbb46a5f589de34aaf78ac6997fd48e2bffafc143faba6ea93e0b199778e6e7667e52c38737fb3bb2ff8b0d8ea3966f011c0f632ac311a9cbf13aca9dec0fa5df896da6d2261d10cc2fd63e667531e4109bd8368be4a1fca5327d581694abee9032b67af4a514ddfd5a8a23aa13085eb0fe41f0093b0a273fed1f6069238acf86750aac49193020c522187efc4f9626f7ef9e5d167edae4787d6aeb1460eb487d6ceb5c975297f18bfa8cad3316c17e81d8b3e93926f7fe7a2e015fa7b08449b0dcf44f5bc00367eceba9d2903f73b86ff29718cf73faf11a6571ef3ce09deef65de37cc16b0d7cb7d67af76206db94ac29ae5ea3e2eb9c5e9b7b2398a0b5edb7ecac21573818f6a8bdba69c77c5e9f973ee447f7484c42afd67bc6ea1fc2fb1595b9394a9d8bd7c33651ea0abdfeee01f793b56bb97cd159f59feb488ad352e2765bad585b53cfc1dee2a1f8f939ea93fcbe3a479cf0e2a892e9f93187e5a7b05b31a9c699d4e4e3d48829bed2f1c39cabb9313669e5d34b9b770f655faabd86fcce268e652f58bcce51a9e79df15749be75bf1ca790e0c285944309b89f522da97d7f6dba113f85200e26c4a65c24d185f1fd33578aefbe04bc750f7e71bd3666844f823953744066f9d07f82a7db90295a1bebdff98d964c6ebe94f7189b3054f5b0d15f55cf1595e0dd658d338ce3fcfb1c97322643b0cc6b7c7c5e7c2e9b6c8ddb5466b09227775f888fde31efb7bf8ba9efe6607eb19e7a815dea1df2829ee130b2d32736d1e8411fa4bfe7faaab9fcbc02741af86e4b2c5f3cd7c0de013ec9725f049f36677558ba336a5fadb48b584cb2607843362fc63ec75fdda999b9ba9ce171069c3634beed2aae19a8a12f66a35959c7592ca00e33aafe5e7456b42ff112b75ff2636e75aa7336f07dd4efcab95256364436ebfbcc52aeabf62adb1d72fe5bbfe1fbb0bc134c3773f8690eae500f67cbb8cda36baf0926dc46e96d2431f58eebd8c7ef3f125e3a82f91a5d02c247076b2618f604e0a391009704b7c3febbc2d529c7047fbb7e9c5fbd98f49dfaaaa25ff456605f527b09fa2a99b13f26bc4a4bc0fa5fc7ae3d1801771e96f5c4bc3bc2e4e6c238842c171f6e2ff68579e84b266ef7d4e0e49bae2e81f5fa3a7ed777d71795cd08b68ced5a932fc39adc004bb2b54e28e6467d16769c89c42e04be428abf2ba2ed818f09d6e4138c738aa75c630ff3718977ec09caddb51501cf61306de1110f4bbb11beb7ea833a8c9b352c15ae4455b7f73ae637a5792ed206fb05651cac60f009bee3db8af1b7fa8259048959f80596b9d509f28aa6c0f7f9ee1df850416ec8deb7b3481d967fe0e17cc3217611af1de73170dc4fe5c71c5b89e2da001e455e800c4fcd7869f55b72046d71aa7dbe907d31478e35ff5adaabcc43e4fcb1e4bda3dc5d622b6e41f1cdf37bfb0cd611f2d8b195cd16ef711d3c665d7ab619d56ddbf33898ac53cf32af81bd3a6df5585c14afb18b0221c63e7507385ee8df5a3289dcb12960d934a4f81e607bc8964f72c25f03dcbefd81b4e92cd5a641ea25eb6b50f442575a4f02c050a9633aea50f972ed98f78772e61751f6dbf6f13d1efaed33e7f8d35a63fff9b77d3a6ca5c9c51536703f7beeefa11e893f48e69dd437742f5ec5d7b0c163cc7b951c6d9ece9b26cd33d79a14a6149f5d4be48321e052002ed8630e166062b16b19eba8ccb5d7b18a75b050e27b67786d1480cd33fccbb93c2ab1678982bbf9abf92c5c8bbf0689f9fb39fdc57b9eceebb7cfbd9cdbeffad79a5f2ef351738c7dac6ff01e8ff526e173bc0036c4b1e1c79eeafc7b962b12f8f245d918d73c3876a5c32a79518d7384d767799e0df34cec01e0e72be54c1bca489b120c3b622b863163eb244a322ef7dd153d2fb994baa7f94c9d4bccb6cfd82c45f3ccc439b1f71179dfb032071c90ccbf4f3e8a52ade5cbb9c3069e21c5095b85c4477f9da74778f821d79ae4edd8ab4b2089ea861317ea306af8b15b83bf6ab148c76fadb9767c57f198613ba0e8edca31d76b1f97a7315fb1c1b1699c0f4bf0216767adcc0d26e732c9d29e7b0ecf07b40ef0fa1c077695b928eeef5a1c826edce21004fc20822746fdd7cbd69e971c9dd8377e8eebf3ea7ea30ff83b1eaaea53a00e86e0b8c919f0478fd2422de4ab8cced76fec18a82b0e2a7ce2de8eb589ca7a98f67bfcc43c7b1d3796518ee5e5b438ca5f32ea2355e85f5c7b7e70ec418c6dc96d137b31516d0eb04564e3235da03024b9f8245eff2988b7055238d79e734cbb55df5cfc6ccdeff1ee753edee4a312fb521e3ab0b6f1b7eddf7c940b60631a2987fb0eef823a6b93ae870f31989c13dbc89ee7e449b74449cabca3dbcbbc239fc153f44762a44ab7cc27fcbabf1b0b3d0f5523058e44dc963a845876a224ed6f5cc77e67c57c5f86b442fef2beb13f55c949b56985f1dcb64732f5d763f99fdf75a31c2a50071bd8797f5b73bb85d80eaeb8140997e861697cbc3bf79ce5ce39306715c9d28a2157d07bcee9196b9293eea68d9a37ce12dc6037cddbb216bad2ffe9b8c27bf0f7ee5ae7ab410313ed319789d93b0aac77191d1dd17ca902f605c0e253c460d8b43bb09dafb17608f87401ec7fc4a7028c73c861756c255eda4e957b57fb8f7ec387626a490b7246c0659f1db3f6078cf4a649d53bdf5c941f5decd32413ce255ce058de433fd9bc0528577d41bc10ff322467b387f4a8357db48cd53d8fe39bbff69792efd65ace7baff5df9b5bf4beb9be165fd6bfb1b55cf74db7c60d9585368767931b6afe786ec7ecc978bebde205e77f695f6c48acce11ccd41be645f96f37c9afd827fe25af69ea73bdd04061bcd4cfb16af46f0bfcf7e1e38f7f482f50cbf1b44e206eb66f9f7fc57d0af851c07dea1715aeaa01b8cb291943a74371564e72144f6c7ea01bfc7a2923c8417e7af6d8aa4d48975c75460a18da751ea8b9741f736c18be52fe0ae788047befae1a626c75e6c102bd8ee903a7cd71cef94713b8a715e43e70a9104c2936f7527c78ae710665a40f6d54b9e01dca7b30fd5dedc603172a3d2f05ae07b029e26fe450a1b606fee6eff96dbfc5d335fc7bb92ee687eabc2a9f8d36bfc07facb8ac45a84530ce84675adafcf18a5e423091f3501d7d641e8ad24562022fb377fccdf8cc846abddea3ea1c0d62dc52247ac51ef984ef26f60bf9a71a18e69cb62bce8d497f379c14ea436d01c5c96de8f7906bcb035e4faa097cd3cf6370c773e209fdb7195e9ba37148f6373350c7251f4337d512f7ea75b86ff87f9f701b7ecb9bdbc897791e9b31c69977e010a9fb23bc3a1bc0da5fed5da2dff772217fb97a8616c540d8daf334180e4ec1747d5ba0fed54d2607d7c2df905d5c21e6b6531369497cd53a04875a13d657a733bbd2b6ceae641e3c611dfba80738b14b21c6be55b1b5269760c42155d8643eb6ed3b723fa098c21eca4419b9b8ff778be744199d632f995f5dc9343751dcb08b9bbcdaf2d7cce452e02fd4e52a8fc3851cdc3c93a50a1f12f20bc8d892fc3b4fe89e3d664c5cc91464c9bc04495c78420fceb2696e276d8b9c4ffac520f492d5be81ab321c9c5c2bbfb9473393a741e827bdd44b82bb86e4fa6cb81113eea68b8ae7b34f30010c0ee9564f706c2575f0bb276eea09393d0b9633bcb67c92fbb0f1f8c1d51f71b92689bfd1f1bdb25e156ac7f4b25e75d653f53dd49962db00f2d2bfe5b82671e21ac399e19536cfa16de77dd7ccd06a3c480372b67df59182edbbab05f89871f0ba36f701f78af5ef5fd66cbdaa0b616b3e48fde7df736e2eb9b65e86d8e61b5b3740f57500f81c5697d4984c57d827ac7854bee10fad71e41a7e8e59b6b1801a831ff8cf818fd1e632f29d505bb2f46326c7e337b52cecf380bbf7f219e4512ecf177d2ef3925e9f23bfc087ddc1b97e7c2f6ba2be19b7fba7c5234fb83dd49bc037f0bffb76d6deaf9f55629733bbfeebe7902554f908ba6b0593cfe9e0d9fc9732fadf38faab798198cbebb618995c4b13ce353944fc18e0dba46d10ddf3cdb832354ae45e9bd42cc37dbb69fe600311ff4029bf99c1b67d3d7eafce99ea3918145b8b4f032916dcc71a9e07d95d5a667f377cb996f0b5e738ff76de7f298bd31bf2a91c3eb4d7c8cbace4bee48e1709ff97c2bb891bfbc71a5f85c61eb19dcd72cda7bfc1e89e19bfc1e56ec466af60934d5729a919eaf1de711ebac9265112c07bfee39a90f3ca01a6f411ecebab3685f829b6dbdeff557d2a6363ceef7bc0b67d888b919cffcc3b9c490c0cdbd9029ffac286ec91d263ee864feb86d85aa2a085d7e3a12a17b6959fae84ee70807d8ef396d47134ec3aa85b19f1b12675453c5f1517e9b1e442dd88b4e6b6fa1dd62df6bfa56eba6bee9917f7b5ec93bc30a9ff7776fb730c729a4755c6c121265871a196f684b599109c63c1bc9576048d2916ae35b97b4257742bee556c3f6662cd0d5ad94e1597a89f98a12f8817bc3e54261fb2fc5dd5e5542d42b6bd3f32fa402ae5e5f5ac49b12d9af9f10b242355cfebefb10758eee20de0749f373eb63f0df1fbeb253f6ccd79cad6dba50b9a0751627fab8d5cb488fe7eeeef8632dad972c3ae60f27b0ef83b0369539e8b34ee5321d6d8c85b68f9987ca14de59736cba35ea67e89cdcc29b6d1d1075ab0797f77be924bc7c6b29df76514f25e72be789de0027971f87714216d38c1fb0b3b3f70a6afde39240fe52f2a1b67c756bed8bea9c308cb569b5fa0f877bee7ece11c06d6c5543e7d0a25a6e0e6cd12baa7f968d3514d2e63f882e1f7c5689f135ea87d7786e2406372ca17f199fc8e6d5eb4ef2e46ab5493e019be7c668ee26007f5c07fcfe74dfc6592ebc1f8cedcfce094b91edcfce043cc4395b01f8bd7a54cf005ea9859130365ba79727ef5adafccb1f94225a7a6761c9c1c7b1ebb13257685188f3fe55c249c24ad5cab3bd5ad229c6d21c8eb2ca01e02f576754e5438dbda730ece108f33d1d1c38b168b750d1813d3f38bbc006c82c6f5da66f0ef7ca84add8bcde434e9352fec5d9336edfac603f1733710e362fa34f2845eb2b5fc8b2f85a12f98d126318fb89f3ec50b225c9fb34449fa171807dc3fc1dc0482b8da4a93bbab87b1168b1cf627012fe438e7b4e926c3bab9519b54d5508631f01efd8b716f602db5df2975c560245e694d36e537a9c70cf04e49dce3dd2b7af8fb04d756eeaeb9ee783c79af2a75b340279c4f4ff240b2b2ee96da02ccdc50cc27d80f023c8f3427a907fc30ecd9ccf3ef7ef6bd80554d652b7af728ef023be7f53a50e05cf11b79837cbed675a5aa7fb69fc923236fc087163fad0f7575a833fbf55828c8bda9d2e66277d6a14fb0ac2e7e6795cd8630ee24fe39e2df1d6b7e082c9ef7c00eafe7685df73ff6ef8f758578bc9c02eba4c9c1e998e7c0c2be3f23af9b7afc5c7b6e6c85f8664a9302eb9507ac7201f8ff336cfb37fa83db209cbc4c5bb3c75ac0325ea3e7a123cc79cf3633c75ec76bc8195366ae35119afd69b791532ebcb829b31bf312486661486618241b92c739fdc8884df3c01576fa57fbcb7dcce8e78a5381eaea88fe4d63d2a5de065e05aab725aab70f9b549b9e451572b308d751db2f84b37f01384d42bc9fb9d69c0f24735cc99464de75abb7f493754c3160207f606bcf5725861ac4af86717f47b0f959bb05db5bd8a7b9935c252c1bce37f9591f2757bf85b321c1b9f8f13e68ef1bff147501efddee2857afb35e78c23ad637eb1a8fc23ea71e89f3e367dff0de4df89e497ec846ca7957882f4647895c5b7e2338ea703fc905990cb2c00a522f120b573219bee8e6f33ea7f428bf26e0ad7f7b8fcd65feb4b1cf3e93cbf4f33587ce45416ea10ee5de7c28e33d97c15e88aa7c7b17703ab293c39f39dbcefbaa041849e267874b55f31cda067fa1e3942ead3e9ec7c7bd6943f3496d78f67dab3bc916eb236bbd0aec75ad03d1abdfabf5206a12d647f53efc8ca7b1c4a674481e39decf9eae2dbf13a415960be1dd479ed01b81fd55c86fa48649b97ad13cdb5af3af9530b9617bc2d5d96beb6b602999bb21f7c887f48075a09c8897b524f24e92c72be0103a8f4a7b9ebdc7b044de17cc31d8af2f7e7ffe5e92bf6458a2f0f2f7cd3cf4a7d81fdba045527ddfdceb9877d7346f4fde67fa63e6990acb677c92ad2ed824800565adfbbb61582ced5526270a1f4cd744b60c1edb54686bf56e81bd2238e6841f30f6245a6b4def012e35acd3ad31bd2f4a174285a5fd5663924c084fde5411297fde53de488a21f48277927019fb0583752231f98e80030f799e4cde9d9340ad80cd6565fedb776b8da96bbd3eb715ccb927ac794f32efa4eeb50b7916811067de788dc7877337b55c93bc9420f5a47c4c3083ccf67a60b03cc9bac2635df6559e2a1e7c93c98b9a54b63fc93cd6867ddc9b4bdb2d025c1eb66e0701cef28160913fe75ff7509428c9dcf3621ef787b1ef7fd60b5023838077b4b3b5f26cfd38e68972945f8e17b1eba36aae64a9ec072feef43cfe9cae0bc79a736bdb8578caa3de80bc99469cc981b870ffe297bab7c8f9a5f1f11e188ddc109ec90d392cadd80b4c0e6c50a7a8f3b99ca2f7d007f6bd0b01f8ddc2a53d3b39d89ec1b65c5d3317e26ff02867de8b6f28f7e70cb7e10d893da841cdea3cf63b73ba1791361e395f4a0ecddbbb37e229c7217028c44bc179db0ea3cc1be2f9d9a385b141aa9ea758ce491d6030726cf3b89daecb9a376c4fedecce80c7f6639b33c7b9f3ef3b9bcb6c5ec4be412dd791127a49f692dbc6e93cd84dc2bfe45c66eca60dd84d9f1d37756dff295684abf784ad6576549bc9f13ec2fd150e8c575479e21cacdb647d0dee50bbc56022afaabd2918f6ae8180bf797d75683d09e3af5e9642b7ce7f99e07705fd9d443060f1bd26cd555d94efea809ee21ef8a69a7114ecd3c5813449bd69de9f4df966ed931455f6ac57b0765485b944ce534ab995fae9ce962f78ee41cf8ee79963cf8147d8215cc14c3cf7efcf2070bf210ff791d319ebf9c2b52607ec9b603bdb4b2659ed5f6f2aec36c20fbd7a5deb047e0e89efeac4e6bf3856cef85d5c8675dd3763cad6f9fed02f53d4a6f3f809cf3360827cdb0f83e77636d7ca7b517e3da61eea15909f5ae309de1cf0ade3d0b3f2f28ce13b3cc2f091d3ed23a7390c170f8534a7e6893d36557a4c3b572d195f7c6192b89bfcea0006592c3a02d4fdb4ecf755a21c57d8772e56551d7aefe2dac106cebf85dec43fcaa766bc7993aa7afebe038c94e7baa12997901752fc278cf1840fb78239279ca96b3c96781de23debbbf15cb6f01df1ba8e7e78a68d2989f5279b33f0239e64936bfae319275f3ed7a36c4b719c1d52cb775147720e39cc64aeef2af0b0e036707f6ea40d69966ad30fdc4647d5f384de7b53f5fc04e38c7502e5efc3fb49007930fb54831c40dc07a7cc01ec513e3efcfc91f2f19d66c328b32916b5830013efa28e36d0df35ed6f00bc44040f6e5e44d9aabc0745d9863ebbc2bf3fd6f03462514fecbb17f599f1bb07fc1bfdacf29bb0ee22bfb5f09ffb8dfd8c709a111e7fa8e544553d2ed5b36cad215bb3ba3aa97a78d526e7f7ad60f61688919d2a37f445ddefa47f71f4f27cdf9c7812691f6a0f86948347da9cea1810e49a37e20d60bb0fa1c63ec0eb7fa787488bd87c4772ce0a6ba4c6ca3d7d121cc00bd422b438afa14ed7aef0e3801be3b3c3653eca63c8bd67f3959ab187b3630f8c809c415dc11e9d7e93df783c13ac08238d773697aa64af13553d3af98d5860f7cfff7b32b0077b3e4862dc4ef6d999735e47891789296abf919b32760673302be36f78ce09e7b9fe93cce0b988debc0e976d9ff33117cdda6c5a5f3bacf10182c9f96a7f83c5ece84ee2e8e185f0fb2a1003a65883a2366ec770cbb3bdfc0a7524cf6bb7b15c9cb1bcfa45ce31d8bb3df25b13ffcb079ef82af67165ebc1f1fd34764e7216ed96dd05631065db228c35698cf7fa77a88de830d8703017b3ccea9cbf5c3b7a035cf0728c27e04feaae358fb7b64b6a7fa7b3e7f202364986c720c4efa57349fd6888e9fe5aeeca3afa4d51c97a25238e21a6f8bb1d3d7ab3782ed5b02d8dc22bde0f3d41e464764d7e2383106736f1f3735195e44b23671edb7087e7f2c4d6d693bc969cd3a6722647939b0fbc00cad5eb006fc304ec9604726e0af5555fa47146f2c622d02bdae4f1dcb1f4194a3e64460676f81d25ce757d7eb147ae140b32cadf1d210ffdce1ccee9174849aa7ad94211b5a1763bf6502e0fe5cc2e7aa156f2096faa7392939c444823671f991ccdaf81954714ebb09cc73d701c0c211f865b160ac17196d8b52abf05c31bd28683bb6b6d28460fe41a5c3d6973915184fd3fe5659cf7655ece18eabf18ec5c888535b11ee23bc9e96cd83db44ef71b2c8d164eb947f8ffb21a03b84bf4f5b41daf945fea6b1f810df837fabaf857fa5ada9c1ed61fc8baf24cd62177cf05fcb876dea0127bc93a66f077f7f46cac1cef4abe1fb0160117fb37f82832cdff64b1314a5c97cdbb57645faaad101ef5063686c8c66b2f35764439d62f7c0446ee685e2ee0b2bc927f7398bfd3fb608c601d1d5794ab8a4b81bf76ca659bc7f8475d4f589d773fc582f867aed778c1c089dac0743283a5d0e081e56d237da75c1a35f7298b3334959b38661338c3aff0858cc48cdde120944baee2e206d86f6e627280c5057861d55ab9c89320f48bc111ef01d8af9387f217f0e64de51a3b1edbcd782d3031f4a530fe53eac325fe2e431c40ec13ef7bd8468b00575251a7b3543552f8ff0285a996b8e1d6ca8d2dd667c775f669e77dbce76a497e758b5ec7b1958b3a54465ec7ccdce1e0e275567ba8251e36fafd262312730fac3c7b9d57decab7805c7fe7bff977c7791c8cc3d017f6dff95745d3bf7a7d06b314c214b87f8e11a97fa3582d14c789ee1f3724170cd731f66b8db4b3b57a91d7f12fc039443035e02c763be290fcb2eee0bb3316aee6d29cc68acf99172cab7e32411ee162fe356f04c1c17512b9b65bde67c6a9d8e9b75c35ce9c963858665e9d395fcbb5dec0d0d727049b3461fb658a8be3abb38f173516c68700e713ba8cb4e3fce64931d73a4b7c522f51ced9a4f261e4e309a9648f22f57e9bf8be667932f43da9377cbd17a10dc36f4cce0dc5b0cee3be2119456f3507c926dd19297dfffa17dfbce2becf6d073f86f0242388b532354815c7eb95726025cacbfaa3f00218cf353e63aa2007b709e74174fe6395c59797fadfe2afa95217db44a476762326aa0eb27422fc5315bf42ca9cc35e696d34a720e795cd7f028e2f36c7eb37ed96350b2d5dbb122617a5b3da831f9c984530acb07e09de261e0b2be6b06e95e9be2ea31f6ae98c8fcc3ff073c75e9fb4a3127ac9fa8aed935fd6fca0328f5c1dca5fd53736b1b8ffc808ef77d1978ce29d8cb2935a9c2f6a476ef06ac07af9152f8f5c2c86559d45673e843a8b1287e12eb7ebbe5eebc2d012cc6037bd9d1cf31cdbb406ee6f6a86987c3561a1977d92efb44f551dc816fe865a30c2557698dd484d7e59673650ea5a0e3973ee7c4ab05708b730d67df8fa1af28e1f6ac7ee2ab577b46155b7f6947bca2973464b6cdbe3260bcadc9623b15db66017eedf66c3fc0bffbd2035a0e9e3de03f2132fad32e73aca20efea48f37608dffe652be0bd342fe06fd2f6977aafe4270ca679df3f404ca2b461fea8125edba45f35c741fe5ed6c2d7b88bebab976cde646320aac609114c3f595c5add3f1576d451ce5c6c9f1aa77066736f32c58a78bc6fedf931d7b8b7ba169f0b6d8aaff341fdce8908f5f5757ba9268d2f2bc6de5a5af0efc2b1b13fb62ffb876dd253f3b9fe49c67bcc54495d7b865eda0bcd79bfa8a30d3f2b9ec536e2f7dfe73d37da7cff11f38cd40c32758d9b5b55cf7a8ff25fe87f1aab26b97e25d6fb0bde7d467f8f4b4ccc0a0303ebec1758664cee73c5c796d65c6bdd6c31bc9d67ec5e1f317522069f921cc4768dab73da02b75cab8695f0cfa6da50993bf607d8a75be03ec16b98b4b724bec19b1cb1763bb9b69bdeae36daff59c466ba1b4729f61596f75377371a0bbbd1ac50f5fd9f4534cf1c8bbfb9d62a2d6ba69461ff42302f42bce787f4dcb35a1fbfe439cbebdae4e8f6536d1a535fd4f32ce5ea0ddb351d39e851bc2732353c06a925caa18607f6fedff6ad886a3e9da152e6863fd4d0f9c79fe5767effe02bb9bd539b8cfcdd29ebb0e7f78f6ea9a7e7f78f9edae4a0e51b67093a976b5257acb98afab745b261f043c167a579e00407491d46ef6a71e69652f79de5e883bc0c9abf4ff078146f36e1323fce721be2f1edb308d2ded2062ebf861f5de6212cadfee335ac53adf1c3efd88e5f5ad1c3ef3ee8e059339e6a9bbf99bb02afaf6ff662524b5fd7d2c07ec170529c35234b81c31d70077b0170524f57acad74a97d442eff8dee9adfc77fa1a320a6ba73a509e798e28ec50e52a7ab7429f4bc17b54ddcb250eed436450ba49c1c7b7e9263eecd431033f84d3d6967663865ae40670ef9f534c7d2a8722cf9791523f3b9c5f7e3cdd6a0bdaceb5f0ab4ce9e706f858b57bc53869802468fd03fb96676b3f53cb6ee9340355288832e8eb357f537ed7decf5b999deebb8967273acf9d74612b34fcb4d3d29efef8621e412f880453ce1dc875a71aec4943af977e0e8c7ebe5b4b5f2c84fcc0bb6f95cbd77d84a71e64e95d83be07ba2acc6a9a07862268375246d3239c9af8eb58edda19c7d0a0d5ff54d3608cfc937e768176fca8baa9e7f8b83897db0adb542daf40cbcaeaead844e92030626e41f36e2f7fb567e0560e666cfc7ed26cef0b5179816e539a4c677f1de73db4db25c33e2c09656ff53f5d5f587ba381613b592a57abd8c4375baaaf46430eaf766a38fcecc887ab3c3869bdf57b78511e58b23e5c54f687d2cc8a6d2df0deb5a541972f8dc8b467081c077c27bf5127139febf628cc5a5f19128c9a61f3cc58aa8bff5a9edf0c3fe579f9f435efb2b6eb1bd6b70e252ff81d7ab71fe69f6775237fd9d0e9bf56abc95d5bddec756b77a1f5be5f53eb62a68fcfc3433c645193f9f8fc639e45deb6c4d2a1ffa130e69d30f91ad77c532ea59f1dd3539a4494ef39a6072b62e67db11c7eef9156e27bee636af8d1d7b1d9a491c073c7e97233a05e4709c010bbe8832f7ce1f54699c6ad3085f4b491c7e06dccef69de7174588e560476bcc0afa7fe2ff6c685d28dae7aa1ea5b2c147d82e61eebfaafa58f4a679dfd19dc42ec290a9433ca97a142eed417f27458912f7498e8704ed24bb697e67dab9e376b643c0c6ddbdae2ddb9478ddec1894e72a601305a3476c948a2f11fca7ee1f07b8514e483e9498a0f3ce9660e015aa7d26f9b453e78d39f77fa75c08e73a9f76902d48bef1debda7358fffa87c3e629e77cae7997cdcc189c90de476ed5c2b53fc8d6d709fd53efcfdafed04e323730cee44b09956990bfcc5554e64c9ad0b35de4b69fcae5a1bd135cf5775baf63c947dd97adc38ef87fb0c3ec47b5f6d3bfff6cc367be0a195edd585d441c550274870f198df502ff59275fc39065e726136ec22d5fec57d7a17380d0153effbfbba1a92d365cbb7036cd4c93a7584ac9d434c31bd7fe20ddc7c170b38ca0cbeab8c06758c665872d23cf0d91d4b7fced173a8157981d77e0f8418e22f7e115399fcb8d1bcf2fdcc48d99812e0be9a90470f799144ae47f21b93db7561c6e2d4e6a4772b3f919e8923c8d128df7b67d60247b04cd79bad35ff7a38c31536155f24e4b4925a1db62deebfb5955fc979efb9e2ae5f24e07384143bb9c44cbc6bc6186cc6d9e89c2ea5716d6717716809d197fa10136bac919ffb46b1bf49fc200f4bdcbb9d9136f6d360faac563fcad5bfa8137dc8a1bbfb1d15efb51537f4eb7aff6f6be947b30ac76c3e9af1d5b9c661c3f8877b4135b2d34ffa8ada1899a3e7776dbac99c3b934bfc54c66f05c14378128393367fd4e986707e5a9bcc35488eb46aa47c93bb202b6c1aa3227c1ce16569cf4499e8cb70a6476faa0438e81547bd9ccc10f9cea83a37d7864a2ca312dfbf8e0d04859c82ed807539c598049cbbc44ddd0e8d4118e945939ab6b1a3e7c0f941afdf77d816e9c827af08f1181f54233decf4e8e2761e7d31c6f621e358e4d982c128297dac063fa0d13f3977fea2953ca9cd313bb4c6ecce8c19b7ecac6aeee5647c0a86d19fd26ef50ee2a53a8f1ca521e0124c6ff5bbe873aa71c2bf71904f72a838cc52ade44ab1f07c927909ca7921fca3ed79e19fcc0be43c02cfc228e5684eefe5c93cdcdbf310d85ce6dcc54295fa27a788326f18bd3dc7536be7a9b6ed1ae09fac38facb98b66c8c6bbc527d9fee9a9c464feeff60f04dbfe15b788c93366c8907ac375bbeacc7a6b432cd99392298e63e0adfb756efe04dcdc835528fd4988f531bea3306d9d69aa7c1087eef2e467e59cbde2d6bd917fa77b5ec8d1898c0d836c58ce040fd9a3be46f70e15c136acc98f85dce61fbc02b42dc7ff0a51ad81dc7bc1f0ca19606b899d9dab6ff5203daaae30c9778aead92632b4f3f1373e327938b2f50ae9e43db8725e75ec15409bde3bce43ab57dc8c3300bbfc45e80daed75e158bd7bc90d667680db3ef68f33266f3428201fda56142f89b9b534e11c437c7dadc6641567a3f49b36e02c815c8fc5d4e7e28bd9e87357948d89a84d9e5e83f501fc102fbf33a57b7b7cd7adde0f6356fbd6343f67b7b5e78a1737c767a7e7f81b12afa39c9fd61d49fd8cda5e59506140cf326f44716392277d41fb94d66f16f3a2e2a3fd615c3e32e7ce85b30af7a4211f032cbfb06e4670be4e39bddbfd8b481b369f6cad1eb6357b5417617fe8a0da4c3f9279e675e6f10aebd3d147dae2ce8fbd29c1a82379c5f9d517ca3ec4a29bc417ac877ffea6095b2795edf49ce57584773fd64935b004a9acbd94e9cc3bf0f142e8f699f818e5f8a9312a08de04f3edcf64d7046ea86b99271b94ef88601ec01fc7ed60dd5971db49f19b6b884573ae368dbc50d52032cb720f03861091c94e29db3a6e73bc0e036902dc444b83bf36e7eb511e3c94e52d5e3c91c434eab97dac8d21dff76c2d40fdf7543ec907b90b71628663a7c47f79a9830a8867be7b879c637d4da6fe0ef891087f727eafda7b31ce74be42e0709ece423c1e0a72d3526ed9bf5bf63239efd1c7797bcc1d3de6fc63cd67e249e21dea2e87e145bd8fdb6b40dc7dd3c7fa1bb9db43ed8f35f997982eabf23c9b9bdf67b4f66d7ef01333f6e2fd1bf51dee4e47895dabe7523c8ecc11f214db6ad6a8d48ff36c8bfdca49543e7308a64aa60b66af7cc617c2d43dae35d7aeee09bd69e3df67d75e87ec3390636489116055da8a4173f52fea4816e645943947930b24f1f2ba7e7173a9eea96dd4ce16fba24305f6dd6567f5363b809fff67763871c0a130eae78bc340d4245acf7c9c957d2c5c824f11bdc4a060cf7f8f4a0cf813d67a43b14fe859b95b78025fe50903169fdebbfbc9bcfe4d807c9aeadf8b6473718fcad5abf317b14f7573ac20b6462fb184912f4d8eaeb9475babbb770d31d68e83d0154c67017a83cee3f07cd59239efe3fe1ed786d351ae9e94cf5ccbe5aa773cd6ddb5de11b5dfe136dea13f7dc7c6eb0cc45d33a697327b6123a7aeb5eeca3cccab6af385964c7857001f6ee44993bb0f36d7386d6137fdb51f4ad7070ff2067923b2407248b8ab1d677b7baaf85e9c73b6e4065a91df977abfaf0ec767cdceb3add5fbda49bd2b70afdb036e27f171204dfad5bfa773eed3ca63d56cb4e36bf71e6e8b9c0f1ffc5bbb3ea6cedbc2b244b0767c6972704d53d7f5b1b8b4c617bfe31eb1ffbab57a17d7566473cccfe404f08a5357efa55ed28bfd28dc189b9b188cceb0ff7e1621e1e994ea3ad4e779e3eb3440d8f76cb6231ff27b90f8ffc8e8cca985dcd73a73c1bd77518bf3b1d01237f58f736e2584a927adde3dd44bb6b6720fc62426b428e298e4fc9a1797fea64add8b9bc485df598f204e34247c848407a98ff7c08b69cfe3f5589c57dc4c773ef284393df37a929f3f54a2aded20d5381ff07ee72566a14fd6736304b860998c201fa0790df855da9894cc7c1c4b2ca3ded52d73d6699dae918891abf72abe7dfafdf8f998d45093184a80f7c5a1dc077c4d1b381e13e5382b730b3815707c9a635f63c0826e196da549b112f0fbf6c2dc903b0b3dfa0a464c1cb53507c02d09b80e0dfbfb0ff49770d9d0710f2fd8c6d092b2ee1edb10e3d36c78c3b601b1e324c82daae46e69af4512e3009c56f177b1ebd77b97c66748299cfe32e6be8d83b13aca49c4ab2799613bbe8ad7c8736c57c893fb7a526f4c6cc5617e59ea32e03a7b772cd366d7b566270f45e4ccd6ea37b8b9ca9a2419c95877601b439c8d48fd12f0c724f1c595ccee4288fa1eaa6dcbad0eb66575deeaa1dea19adbcd8453a528ad620da319b738ae4419b9796089dca290df9da3123b56569f958e526ea9cb8963f1b7a7d70d725deeec8bf93d430b41c1ebffab8c51cc0f1f6fc188434a923f6b5f981dc8f36e67f52e1fce08afb9ed9d3d0f9d5fbde33af58e66bcb3c1ce02bfd8d133d143bd7b6055674827bfc853ca1f99aaf77186ef09a6757d935f605d17fd71f4f3a5c9051ede35294a17c944849cd9bf3dc740e599e30783a354711af6e623b9c651029cbb0dfd7d06384ae47e879c0b75b8cc1f71e14ccf93a5f1916d47fc7b2089b795a55cfde3ea4d4e2608387751ce799dc1c04be233c5df9a78c9ea2dd0f7c8b17aa96711ac0cd7ea4532c2fa4109997b632f59216dbabefae3c9656bf1146b24e62a5ec543caabcd674abc6a8885aa76de9713e6d9847916f033719feb7e6c3aeb10f7bfdd3f9ffcfed8de71ce3976f59d436f6a160ba420fc7ffadbc8b17a2b4f9af41648393856ef86ff6e5f3321de611eb7a313c23adf97f2f093702df3aeb0a763303f3956efe81af89e30f492202edb013c9f3bfe3d4f1d212bef877a265f88e11bd6562fc27d807a83ce3c25e3615edc211d07526373a738e8d82e2d02e84fe3f73bfcfefc19d39700dbb8aac92bdf1dd803e09dacfa4beb250dbc87c1f7d09a5b09efc59baafffe94d4f7f9d3a8fc8d873e75cc72ccc75ec7449e645663e04a4ad61c07ec9ff96f7202ff677e0b4016c9ef01236bf41adeb70e27e44e156cf701d641f94e3f991cd77698e2bed0ebddaddd789ee0aa19e5f53c766c37669f373a2ed3be28903aa9eaf96afce17aa72167633f016e9d08ffbffc2d28e53aaae5c49d966ba1c7f0b3e17798677fba4e5d0b7f7ff57779ede274949e3f5dc72e7ebfd53bf8c7f8061cdee45d13e0c223d722e639c02758202526b13a2223eb443c04f6ec4d4e5c6c7fdd691b8a771cc05c96584aa48d73fcb901eeb9b7260f1dbd660e0ad79edf1708f2b06f7e62defd82bc07fb58a6fd419eb3cd725c669e30895c8bf89b0ba464f4df581ec3d63d73ecab81ad609c902789a12b999167999c033ca963da0fc8cfa9e607ee9b36e687e04f55dfd1e4e1c37da5585473afe3c60ba49ce17eb047caf9a118571d93abaf8b7cb9eee8f3cb20017d535e6764883c4fc683e51b5c5ffdc920f43b6bfcde9b63cf3957276d6ea409de37dee4e320041b857c4ba9bb58bd05bf61bbacfc9dc492c8353f118f302ff713f2a7cad5ed28b1df99d1776319c53617c8e29b7c847f376573827d7531f34627847d0a4fc833dab6e15ae617c8ec711ebbd6392e75d7463063c801c7ef2cff2eaa6b994bcf6656546f2e907277ad9ce2ddf5daefe71c2bcfe87bcabfcb6bbcdf19c4a0378ed5dff4da3afe9cae2bb9067d368e2ffeb4d255c0216a525db8400a87ffddd28d1baf631eb6e339c165877644de11c20360a458b7f25dd7c09a9fa84ee7e019a9d6e52679a6942f7a9d912ffa7cb9dfc947f2ef729fa3f7c0b9d6b6b56fd3b32b76ff48b1bdf9e477d29744cc028b8f99b1173c21c7fe4b6bdc8310de95f86ff2b1fabbbc76722d335bc03987197b4305f00ee50a8b86c1fce2e2b18cce65cdcec9c07bf8b087bf25f204eea4ead1c587fd61739a5558068ee815e1fb0ece80cf3a69f3811bb33c2f798e953821d83614bbaac67c7ae4448a355a6fe725ebcc3541a7c4416266ead4b9c09848796ce2752ee13edc526dea5c684df003f7e6d2024cf7bb6baf271ea91d8b1ecf6f5e3faf2057d0e2177d47bd46bb842f384f7dcebc109cbcd52b2cab501d4e5eb77bccfbb2fdba4f5a023567909308f5fe369779741e4ca9ff0c9b8ec14c8078ec77f5897fcdb1efea79a40236a4e9b9134e7451f6a549b9e79ae7c836095664fd6f5e249cb47dd1d19fe3cfae25f346f6cede610b58ce6650e74df499fce4e84b2d31d6b06dce9f53db3817cf793267102fb13a73a837c26bba5c37c4e79efd718a3d0a8430c67a4435c4efe69df393c96d753411cc015d0bea10eb92814dd6a09cc947da3ecab1ff7c5087742fb2cbdfa33f01eabd5a4f700eee8f15de49007391c8c1708f406fd07e6a0f6dc2bbfe7bdfa3f5d2d890bd7153ef3390fb46f60dfa1b3376f57e740b67c3df7c5b89356946a49f2b3a2f748f8331acfff650f4f66fc7abfe861bbb6f7e374eb6bee98d0d3ed8e9e3c9623dce27e5b7539b0d6a4cfc4ede873e8f952c00de0d4ef4effd131e0f97dea70dc737d5e89ffef5788c4bdbf056b7093c8cdfe888235e53830a73b435cf43e283ddb00cf0d81625fc65b35369876e2d92e7a6fefc8e616029a0ffbeeff33cf5c87bb27f3b872bdad7b28f1ef173802719cb75f95d249e235f98b9227cafc9fe296ea55f448972fcfbeff48bfc84f509e5c4f47c9e83f7100c8127dff188fb467068ab9cb8bfef4379aeb1d373b2ae4bacd8ffbb773eca50755ec7657ec7bc91bcb2125f92c41a9ab1833de1601e4e9e9ecd9239aeea90c319cd47748de767b9a54c503b9ffebb8155c0e49f3acd7888cd65aed5bb03af06d50326e4bf9873723e22c2996abb8680e56459525c5b752a8b01c26d0dc85924576235e3f7852e70490c2705d4453338388493c4c5bedaa9d587fbe21b5b444b7838a3f13a4a194bb120078cf0fbdfb0dcef6c5e6cd7d6044feab2aafa1a9417344e9a28943bc4e6456cabc75eb2bee3bdb2cd71446a0d2a3cae0bc31b727fe0bc3ce6fd4f5edc515b6267df53cfb6f9b4c235b4c4a4c40a5190fb1c179117498e3e2fee96f65adc4d9fd5b33c60d572aabd7a8d534beb9996f6daf3622edde9111d97a763c5c6aa0ac043a9b1ad58de9378473184543d8f9b350d7cc561168cc4cac62ab17e80fb00852d2e4ebe555399d33caa18cff1b7352cc1f086f03cfa1cc5d8d5e5acaaa545e3db4e8f2abebe17f59b8fdcc6cd985d58e6a931f5fd759edc749536b908a20a4ff5099f780cf10d3617a0993b1b57b1f021e4f0df9ee763c05c8a3292bf3c16e366caa72e0aabf12235c035ee41931b77767275e049f26c83b19ba732608db97a1c52be07c0a6a4fcd5058b1d1d4c1bbc1ef7a67dcde534f6cbe48bcb571964f2d935e51f6c27ba460ab165ca8f7dd23addab5bdcd0eef0815426bea40e455f2bc4a33654fe99e972730e28f70a53fffbecfbf05895df48f4b6647a3ec917e198babf3be0c514f295d442ec5f7099c3b3898264241b1cd6253c6d2f0b860dcc85ba3d74bed4393d326acad1ac5d1fe8b926c7ca4e51f28195186b4bfd79fd5c303917b641f8fdb5328e20c4c9a71e725647094a9cac19b63be1de338bf57a65b9e37d44f88a54a19f32f948172d49af5bab7b92e3fc2223e0687cb2aef8509bae2e76599732063914b7786f8fc5c8b5ccdb4ac8af5ef28417afc4b09fd6f1ad2a3654f3eed579f7e3d430388223ec0b9b931ecf9706ead1f84b90ba47e07e4c69ec0705e087b9a99798917c485b9c744c8ca7cea18f77150f1f60e01e812baed56f76ad6b52579c517c02a6f6b4ef1f326a378c4f2ac14b6bc5c1baa96a74c5f9688fd7627f696c3a0c9e09b6232e6a71ae31b88c0170d8bde4e91ef1777c3db05ef3af7f87ebd35a9fb926f819f0f037d7e73fb321599f581ec8bc133e9c400a75d79af3fe719e06c9460c74c2a14eaeb5792eeaf833ec29b5fd84b442ae71a6758a150fe32853aec48a3f0ef6939a3faeaa8ba2184c22ef252bd00b7e225e9b36165da7d0c7307ccd4539880996609c343049585c6ce383d85743d03d0ffca42ad41b37cf30405eec554b5e482e18c1ec0e2127af210fd332568dc7e2854ea8ecb4beb8d5810b2f5c5afd763df965697cbc7b873c5c08dd2fb588098e02700a9e2fb6c9317a0ddb64d5dff9aec4d879e4dd64c78ce06a127cc2ccd1eb7ce3a77607caef90f7d4c0e89e9d8261fe4ef8f1d28b26d158f351cee04c84e2f02f923ef65562d74801df793725b9a12cee17c556103d94dfcb98f5d29633bfe881bd41e389a257e49047e95a1bd1616a6c7dc1e436cc5992213810e76dda1b116eefecdaf3bb6305f1d2fa57fdcf7c060bd34721a701a7fa5a544b7c68e3ccb538ff456ffa0bbc0d033036688cb8aa03074e79822de3dc55bd97d018713ebfafca18713e1b6d48bda78dfd6b3e0ea431829a4fe323f347755efad69e4fc0ee3ece5327c9e3a69ddbc837beed005ff92917d2419b56b521efe59eac6f566f72d4476af1f1a50ab72c10cc700b5cabe337c843d429974e93575f5f9b13533795c97a748278b663cf3992aff758af40732060fff809a362296cded4615d3bd2ac6befa34d21bfc931b66dce31c5780a096f5454fa9237821554e5f849d40e09595db8d6e5778271c2b31cce075befd1f5bf56d678fe0593339931798599e5005fd42cad30b4860d0cad70367ae803de8712929350ef1596300fb463103bd619626f3b3dbf7a915bb896f9f624ffa4b62d7527d90e7bf5bc0c9d84f4c149640bf0590ef86ff8663dc77bf1bb1f9f0fb6c185b35fc8f9c2001c0e2ae7ce5d6ddbfc0ddf6fd0f0331d83bf2e3b6d6e9416d63ee3cbeda67941cfcca1dd9dd5c8eb097fc717cb7039d43cfabdd910d665cdd38b1a981a997f7f510f32dd88db06760dacdb677e64e68d78be3c03aff0da7ec12b4ee609f239989a6fbaf74e38a8af6fcaf6385f54f9adb0be6a7ef2277b69c57f54e2ee0046fd03172cf82f2d1e2e86b3f939469b2c016fcd7e5b731a945c52d5587828129756fef7f52cfa4b4c0c8a5d734b94179cd825069a56e5b088c5527869abb15cccdfc9eb37f8774c9f92073e33ec2bb1d743e6df4dced5a2fe9ec591c9516baebbeb4b3e74a38f48dc4d7e6bf07c1bfd96ed7e6af8674b3d2c7d1991d4292abc57626e582b44b1c8d217dcf07fe484fcde6c37fd459b4dce49ac4f1b9ceb6c1f89acfff1a186f8841cf27e62c312dc44c03f592466a3cdadfe80617276ec8f93d37a37b45be34fbeef8c868d59fac34f635f6a59db35819a8e10fbb45e0c75c0afce01f827b5274f3174978771a254b80363b1552b99db86c83c37f76626f766f15ce61d5eb5277fd75ef1d05eccbd410edb817f27631e0f5d2b0c8324be06b6fc0698c704e321de4a13616b893cc42c6bff07eda0066d75f1acc9ad59abdc9a1b3bef63fb4385ba221edb3cef3b621bbd7ba39ca9813867d8b667fcc6dbd29a78de84cbdc03df3adba19c13d8af18e509d3c689a915899696eb6d275c161cf89b25ac03e0a1284241d5f323963d873f4736d5b50d0e7b833f030fd6b029dfc0635fc52323b1f5cc7129cc3d770263fb0e6d1b3c0fb8f993734f9bce4e018a036d2aa73bcbcc7c61b3a7f7dcd5a9932e04f21be94bb9f6f01ae1d2c7dffcf21bd1d28a4e018ae8fb38e45966e10a1b12a77a368f07f1006381f78b641e06c310a9468a5a7d4ad93ed1df04c6be39b4f6f2075fa73e775a3dc71b18e697e5a6f2fffe991922a719e337bcaffb072e5f74e47e303a17783ebdf85c68c62468ca359cd7307613b6db204ed2e030f712711ed8909727b662f58c2ed8bcea2357f51170aebbe26c74be00ce35731ed9ace96ff01293f99fae1efa150831b71d8b84cbfcf8aa269b69a78ac9fc1a1759981f36bfe1e4efcc8c4daa4addd3fc8efd98769def6f7078597cbb4d55d3bff881ebbf516ff2149bd0ecef86138a75e786cf30efe8b9d66f30ef9ee0467fc30bd4e441bacfabef5bf5e6287ae0f56f9e93d735e89f1deeade4f323b50d8df1b8fec6065e187e6903e74cfe723e1b391516d1cc907b15f6a901fc3a25161107be691dc379c0a47b62f7866d9dae55673c3352cb2045a76018a55e117284472e025c67d7cab1edf7b0cf06c3f8c0d69c621f06c645ea66a49e8f6076346be0f25775048f78302d3cfb1f30385fc9e1c9d507cdd8d574f5073018a006833b35712ff7a93654d0d6c27a3642aa1eb178c9273951425fd808f3a19cee6cee0418af0fb81cbea0eabd6160b9896bbfc6d468e371cc8c0f61fe1497f4253f18e5b21a7f8771fef5c02145e55e4bba271f5598bb3c95bb8b87c2b0c6dcfda06722bd8b3aadf2e63b847718ee3d401cb3e48a3ad076b12f372258beaa9e47f4de93aae702e89161947925ff1302dcaa8b3a8a00b78af052e1f5016be5aeeaf98e3e8f543def94bc528ffc51e3027fdb8a7edbe730ca3677ee04eb4a07be7d0edb2c2b521f86bfe1ebf13c863ba97a78d1b08d5ae15045f05bcbafbe507efaf2ecf19d70ea505e2032c6dc632d9c9c6a933e6e2f5287116076c9c0d74d6c922aef3cb93d99d3123bb85f72b15cfcce207678cad52a8985cfe0a5104e87d905ce3f8e6681fba78dc71747ef659e30a735034df9a6b838a42ecbe04eb321dee370ff4a9c8c59aa0ea34b904cb22de4108b85692b0cb6c8e0aa1d0936fed23ef37e727bf38aded1b5d763e2d790fc79fc8c3a8cb287768e2c06f6f88f9c845c301ddc17a87f65efd58ef38e63054717eaae9bd7e4430a67338c6d033c3d1ecabd4fe11c7f1a550dc085f23266de44891dc14c83c45c11be0eb9c6d8788165a78e3e3257ef513eb75eb2b582bbaaef53ede8869e1447804b1d9b458509709cc741c91b30256343cf86ffddf8d8ab7f3b3edc4eff577c4019a9a7dadf5abc51808f5af2eefb055e2fbdbb2f99076d2a57b16a7532bbac8b922fa94738bd08767cea4a13ceeb2858ee9978057bdecf89017073611fce4dc97c46b5bf24c0fefcd66a1b8f71a2543192d0d022a7e633ea800df920cb781f6bf4193df419b79b2eb9cd733ea1a172f7a5c9e519f78f27896130e48bad159c82a1226ae3976d84f8f90a671c293b27c9432fc9903655208fda4bc4ab4f72b0f65e2216aee5c6fe11f01fb3ed5489dd437ac5e3e41a1c9211c41f0e8ebd3af9e88634611d3b47f3b8ec60f9e4609fabf20024f3e208620475aa1b9643282ce5186498e814e00d9a3ce7400a97daf47cf793d91be12a59893262f831a672261f443c9622e0f3d4b644ec25f3ab2b99e6268a59cea0a7f3806d536fba7a9323f1e249f1c5d5078c4cc97b2799442ef8b7515ae12e104eb3cb4e0fa1ef0d3e1e3d5ffec77da1b23519bd98315c611755bf9dfcc3e3fe00b9dc442ec54f81e2a692737c528372008cf5cc3ff24d7e23a9fb9c3f6cbc4edd317f0dac1e27a3bc8c313cdf57484e511650ec1fdde24357d8bc07c3ded5030cd755dbdf8a5b3a8dd6a2ac08b63c89295f21873d111ff8895c1d728f085e801e32f846d5b35876c4268f12d4dfb3ba8be19b59db5b2bcf36897970ad58a038b4f7e7dfdd384722f133c89bd85cfc8e7290b1be7978eface67f20b92e8a674d8eae71be6809963d316cc651f1d8d2581a99d353634ea71c5e3bf02cfdf6f6f872adf1ad65a07cf6382f9c3b1fc3ff2126f47b9d5ee71336f521edcb9fb5fe8a8f2c3ebb859c7d0a932c189d108dc9e1f5d5d6bfa53cfcdc56077f47dae4afc4df5490b5dd9a8bd09baec55fade57f878d755b8cc6a916cdaffe34de78dc3cdbda03e40993c21d9d8be7bff3450bc3a0f8dbb3f436e7247baead4e65d13fe67d57120f01e5cf7fc639c772f4635dd2a8efd6e54446e7582de47719e58546b9147656c54d1bcae8767ac5e5bd154cf0e7ca1ae97f9983963ef8d6fa245690dbc4e3b29fe56351bd6b9e03ed38cfb6568df1d238eb198dd32606a37bf5233374847dd3c7affc5ffa7f26bf406ee61734722f4cfc9d1b1a9b9eaebee484e7fdce6aef249b7d75168ea2f7768e5a308c2e35d6629b4b357e7709d610e440405c1fdbe2100f84efe697bae8dbc3d0b327b75046b348d19da33a8cfea716b78b3decbf2dee377179103f2c3e0fec58dc7f76727187f0da108f4dd99a3dc4f808c748b874d11ed9931b528ddb6d296cde581c0475bac964b4ca65d43c93f71a3875dd509536ff2c8d0d3f3b4402604c8f387e7e9f71b3224a14b4a7d71d6e61f8e575616e7cdce6e4ba303736f7b93e16d591c3cf8d19af247046447e1f3efc7e92f5305e1eb81b6dab0b39f0a3710e67bbf8efe1f8e41a5d7166ac00df7a69cc72b5f1bbdca1cfe67323024e24dcc79931cee7a331f61d5315fe6bc52286250f077e3fe953bda770fcdc907b73949d5469735e1a705d508dee3f33e303ce1de786739f1d3ebeb0be991d664983436b52f170247e229e574218fa11b68936277a6658adcbd79812707646f2b20fdc5541a1e7e8fc9bccf3f0ffd990ebd976966ba359bed3a3774d08524dda8b1adf3da8c3fd9fc511ee4feafb427137c96e9a11079ff771b69862f9145b5cb9ab56ae1f77037ec122e41a7116c0e295fff887d37d6e10fc5ea7fa4673100cf73795c4cd39d79e73788d2ac8cd54a92bcac73df10726596eeb3dcee3f26b2098c50ab00df6e9b23308fde33cd609cf285b1b97cd0c275d1c5f5cd7f1f58f5435c41bf633da31aae011679fcd074d6414f56723315e24c0c978f3a4c9c1d5c3449356295dc3e7a52e7acae1f68f1c73574df2458dcf92e5a88b6c5d3c6ad348fc2ce4443e9c90924ccefe28431ae08b9c4a1c874c3e74d10251dc06743bcac87fab712414b13917728b9b3df65c936f7c935d34bfc9d3e978034741e33b8e9a24c39810ffd7173f3b5c832777adb7f3ccb3af6004fc6065ceef7976103952a7ab846e47097d29dc799d41ec110c17e0f3d08e258fa8e90513ee1248f1714b78cd522fc9532f21b110d73c73ea7d52df7ff8a06dacbe662657f25e5f989c63dc46e3dd04c38e6d4f69be7f981558c6c05f1b8913b27765856aa4dccef62f0eb68b85338cbf6b127fac6de756e37fc8912789876d67c27b9d75bc8cf38b7ce4b2a0e8357eb705825ff60c1fb76eeb766dbcdbe822b5b3aff2e103c8375b7fdf8644c697b493fd910ff9cd4f36ff2c25d033ffc8e8bc53cb7baab18cbee0dd58bf18ddbed619148d771b27f417cfa39d9e77b4c4c5fede93bed6f8dad4e6c87cc05b823633ecb7ca08ce1e2f9e34b9b8fc00fbc0e927e4f3843cc1f8999c7d8acfeddfb99363f0ccefbdbb2fe56930dc5fede9ec4b13fc54d57bfff384f8a20ee5bd8ca26cab8757eda8f09e64decb7edac29cf73bebaba7e7a1751fb0f98a7bafe8158195c77ed14b5cab77704da8a3e23c81f71c33bbd926d7e0a8568d73b6d4fd3d3927988932f2bffce179a74e9d93538477d8770a1f29758e1c5a4e61ccfb3086bafce50d33b444f2972a752f5bbc56a43c758590835ce724c47f67e4bca1e2bd6dfd9e7b814e39bfad1e67ebf5598143f20b77ea74c3ce610ab8510299e7e55004b991d1b94b654cd4a6fec54dcc8b23983ba763de03493c2fed33fcbe95ccd0c57e3aff64bd3cc8797ec2362be885249cb9b61b93ef55da6d11dc3ee3bbba17dce73d52052293dbb246b990ffb1a55216c3769d6d196baae2091eea75b7d3f5d91b8b7c30eaa3a51416f2b0ff0fd6d3f8ef2592d3d65a44d84f71edf50e6a7e273fea09de1bf57c8f7ea37334334f32395b80baa252673dcb2dae656428f2dee84127645b7bced942ccb9164ff4eea1edafd663e549d13f543f359e7bf6fed6bbb3ad51f7dfeb28916b2bb13b11693be2cdb5badff207115e27a62fc20da905965bb100aee3c3f88f520c0876cb88434a71aeaec17ab99f908cb0aef9ae1fbfd3b39e707b906d5f9a148e0578a1a76fbe87cd5fe4ea7da48f4056a61fe5f83edb93be191f2e2cf56ab5371e9fef8f9ac1ec8f6882f7c673736fac6dce569bc03f89bfdfc772a46727ef20764bae3419415caba3c1fbce4f64e931ee598d81bdce5ca37f94a7eb3490f278a9cb4795ef9fb07d45f77ff85dd5a32fa5908f0b2423122bed01565f89e9b82cfc7dc57788db10ba70feb7e54b2ec58cda47758e9c72cf43590a0bd77240d762fb87ea16fc1bd1b5c5b95085fe17b6b5d86ffc85dc87955e226767dfe1b21758effb1de5507e3f1d1f386722fdc8af74afc373c279d206cb3c1d3f9079d8271ae35aee1777e03ba9fb26c139cb978fb293520c420fce62fdaf6a7fb6726e49e6e0c0fe86f71f3cfeaa0e6399e271c1fbcca714729e952f031bcbc9c715cb33596f74cc8e6bc03a78b6361a633625f731b610c1bb379fe9f3a67ed23a8fcfc27ef0b37e25f7313a3690c2d8b19eebd6d61c3f7956b9bad3f8477d4aee8beabde6b8469eb0ee3dd5432d1df4e4d9e217635b94f2184c955f7d9b7f688cc9ab75cd9c8382ac34c776486c11388317ba444f4f639059389f1af2a127c547ef7082354befabd6baaad7fb7bf0421f3eccc9a81a97e8dfec2f81b4a2fbcb04db4417ac5bfccebae7491b513eaee3cfe9ea4cfbf946f61a725f73af61fbf09b395d95faff1e4c95ab97043fca90df59179ed03b96e353fefb37ef6b3ffb1b1bc0b5b8b28fb1f79b352998e7aa7dc9cc7e9451691d7be5dc25ebd89bfce61dec33f1c57f664736d77bea1d67e577a4de71fe1b99629f393bb6f2f5f3b7f0a19f64ad677e9e17cf9a14db7b293b73def9b6761bcb8009f67ebd77015623600d533c57de39d4edf9a31fdbbbfdd49e5f8d7718fac99ae2453edfef193ccde63e71c8918f3eaea0afc156560a4677df3dc1e5284ee54fb973172d217897fe5dbc68c7f014487c6674b04d20f79da3bcd7ee588f61fb254744a7c96f32b34fb876d8ae0b6cda7d936a3faefc226a43c3bba8cffc1b9baf7a9e8e1f1e0fceb1fc7ff1ec043947e51b9d5c8e8fdf772c05f9e877b6c21205c4cfc0cfc4bf597fb81f7229e78927889c97c0f907d855dfe8dd4560f1c8b5e5b21fa93bcc72b59d7f35954539712f7e6226323a3398e0036a1fce79278aa3e5e123515058a8770e2d90fc55da4f81a528ee30ca947b7e0fec8fdab74edcabd7595fbcce3ad6b01f80e47f96d2784f62e51c9205f782753b1e13598a23b0cb3a32de97feb10affcb4319b28ddbd581730f764dd4edda829279c2fca9ae7894e3b025bb7e7f3b959ff6d72ff8bb6b7f20ec67da52f7b8403fdf8bd79652445f781c4abc38599a678e3dbf2f75a59e377b06f72e25317b71fd0c7eeb10fce4e3eb6ffe85ae136eb80d3c7e25de18e37bb36dfee8531d97529e927952120ff95f06c5072eedd7adb5fa9ab5f2f7881dfb42262cecdf72d57a7013f11a48bd6b20997fedf3369eb57a87ad243e3957a839351979ffd51af9614d5c5eae89e2a3efe883137ed752970fb5bc3f99779d074e3ae8d7e11d85ff8bfa9a30fe47e9c0ba8fbc9fedec883dc770a7eb9fed8d69651345bfb0e323b7b61db2dfc89f2bdd18795b3f3f03683f335db1cffccab67325fa0ccda5fb1cf11d924747f6adeff61e75ba12cbb374d5c8191c0d2791137206b4b5d7b53da63f9c9d13df9dec778d33fa5551f306f9473373ed99e8139cc0ceffc7dd9f75a7ca6c7fa0f0077a2e16a0267299a0220276a03477025110507650693efd3b6a560185a2c97af67ec739ff73b1c6324a53cdacd9cfdfacfb00d1e3345d9cdb0572f9d28a1d6ca867992c8ffd9e2cbf87f8ecb4fefe6819f3b3bde5f735ae383d1eadd21ba06eba191bb28b8d4d4ae2fe9173b27837a8c6d7e4d83bd57724a603393555af1691ffb68d4109fdbc49fe80d353f9ba97cee9f3e632acff55f79399175651c70aaa7b52f0398e9826e74ddc5ec1e75882ffb97a56e4c4ebc4893df5fe7a8b9b1c77e2863758a67a26e02ce8e224b08d8c87fe5fe45d3b63f04d30129b7162ffc3a8d205961a60a2c2b31d7846be756216eaa36d63ad5b88779a2aafb66b99beef7becb9417e53c431afe8e314faf357eb21e0da7457e44b65ba016c136abcefb856bff55d5dcba8e8e3eaf7d432669133d95e1d63c2589c1fd993f9116ab1281c97d7d7311745607252bf8fc757b28c5c8ed3bbf7439f24e788aec5e35e8ae13ba9f71d0066bee6df604ebdd95189e767cb9c8d1c6e1dadcc151a2ba28b44d6a2ab5ca455be3bbeb7849a36125b622e8a81e4b784de4730d52f3cee993d2b6d53babadc257127ebdb8edb5eefea878b65e1fbf5ba8a9bd77b27846f2fd7a664d15aa764ec3ce416e39e532adc336259459cb4ce9a5e3467add6c98adc57c410e22a8aa8c2decd47928ff8c9fd3aa942f8b0cf0b7ddc7dadf678ad023da6d1b5181740e72ce8ed2e058fd7cae298df1568cf30a6101d0f3258265146e344d6b36c3fcdd805d4c76deee2c7be2f9763aa1eb7a6a312f2a745bed48d495f1143ded2d262c18543b7b06255c7383184173c60f863fc4a2a4e8fcf47e988d1d1d60e05f432815a4ae64cf2b2204f4516c7df6a9027488ebb7174019cb1bac66d7851f5f3d90d06be85ec1ad34e08b6266079757dbf34a1671c5dbb5910fb20f2e2a8c27277909d25f7b6de2cb03a9f6314d29b145c5853678fb29627777937ff69f763b630ced27436f8eaad785bdc428c71bb9dcd702d78ab4f5273c68dc1dd75548c7ab27ac03603fc0c9d65d0de60fa9ecf2df3806993c4783bf787c61c11d2ef456f35dce9048f6634861a5b59ec931e3eea3dbd80afb3a9c91e93f7816cbd529847b7a5713e5be82ce13190bd077ac3f8485ae64bc686e0f56c0b2a1f3cd2c5e88ae81af24f44c2ab4ca4a7829c6ff379639802066219161803c68a3d21cd9762f8c713525e3d264c1b2b67c2e35a4b89574717662986f1eca816d2cff38e67c1f8ec1cb3523de54355977af87de13bd44c8e1ede9fe0f7937e34b0beabacba462e2ec5f2384eaa9e1398a7c0d9bfce02eba298d25015a2aae7447b0e22f01306d1ab03bdcc09cf6ece11acb1228c7d9aef3639dc5b15c950591c426e10e2a1e8ef5515ef18b137a5597758df3b9a9f3dc849a45388439a16117d3ea541c8231da90c5a774bb362b50cd19cfc596031b89677dca2339be491c945c690ba07a4c3fb4b7d95cb3adac76125cbced013e619ed436f18ead93fd2977aae68a2ca8171833407bd53cb7c75940ea0e796d18f67a7d5b7aae7b7656ff5bdd4a53774be5a1839ad33fdf1905f06f617d44650784b6c5eca807b06b176a4af6d713f35c0b13adfedcb829201354e98228ed35dd52bb8c85365fa91da4722f7b52eb970c8a878fd45d5e1da0beeab739707a79f838e6bcf96ce22fae2717dcd988ee73ba616a6484e2e479fc3fd68d3c73968f77264fc7d2f1f310da8bc533434b6d3595f2ea5f79d9e978896d55202b9e2bd904fd00f5d071ec9cafa25918b94e0484d36b2384c775def1533f4def63911f2e3d208c978d474a7a53c9aff72aac6b3e050aa188f800559daa153ed206f20cb719dcaa6969bf87d58d65ab82f4c3c0bc3b353e489ac0fcf2e3a9f77740afd5cf0389245e067a0ff22b95d84d5dae0f13c1fcbbb6c84df32551b45eecbf1797c7adf1f451fbfc9a2c56f04bf91e5a3716a6961a2b4b0b124b0df6d730639222e7b894dc0e2edf85e67df493cefcd1572b0c51771ce13f93bbacba72579dcb31989ed76fb94288c02c4afb04d42f25630efaaed1a4b6732b47e5220bd3b057359145122976c61705bc7da3257782fce53f1e52225670eec0ddaef90ecb5fcc958efb1e3fed5182faa962768af1745fa6de9f96d5184c1ce003a8d70cd3c355e9d4773a89e896c31e8cb88eb41fcc8e0261edadf9d91876ebcbd623d387c4374ed4617fc3bc6f2f000b3889c696c9751fa9e18f1ca446de3cf44fc1ef00426c8c6fd45dfd288df63db7bbe37297bd3393288c7308ac660b93b7db4ad8d22fd7622e68a31b68067b5fa5735677bd2394e5cf716a5d81eefacf122750f39b3dca68114410fcbbdd9c3fb64b2c3a739cc36ee771655d8fab3c08e9478927ac220767ab38965cccf1db8120c6d0fd85a385405a4670c32cfc4ba24e442a3f386b1881a7f02e413ad9e8e87f4e3de9bdcdc47b693c9f28e3761c00effed9c9c207a77027a4ed6d913acd80906be335d51f2c267b03d9293754636ff766fb2e07f2373e95fedb89fe01efff02fdd14edda6dcb5cbdce19306b9a88d1bb4d16f056a09e1770386879664a89077d985c520b4a72d685d98ae84d07a043ad851df82609d237e8f9a43f72b34ebce3460c9a03f4877fa065f652981aac0be2d7be335d0ff793d7bea0071a8d6711da8b8e3caeb6dd5a3667a93a7b18cf610c75125f3d86b6396f32ee3dd59344b02727b89fcf21d8101d5d9aa2396e0e4ecc339268df3ce843f211c8dc265974f8b894d33c237aff4d197da45f1ce0edbde1da35d2b32218678a685f17713fb5a0a7da18722af6d3dc314d26f9bb7599c49eb8edcc4da3f5a167f461e96cf1401fc6f07f4c1f488e7e123d7df8ad6a59a64c2f57a87d3cad109fc3fd2f46675f15f2d8392657459ca4de28f1814f4cf3a1c1b2bcdcf40a6fce5189b198f75aaedfc91c385b4f72f6ea9a1e32f72efe8bcf6635ce78d3354e868cb3f82fc649e8a233af2baa3049ee319b6c3d71ec2d93229ed3b5debfe5c5d0f798f0d057f754b5cdf5bb383b71e2f51ef2c481767c6639fa7846371ace7dfdbc58c6c0b7b96db1083e1387d8bfcd199b5c6cedf9d9c231e8ba1f0b0ff58064adff72cdc39d39c73942f772b9f07f5af3e469dd50cb27d279de3036ea28cb9ef21dec7b3f38c6e46a195ee41ecf879d416aa1854f580b49049e72809aad2edac5b2e57e8f2b9d256df6b0927f431e70c7a68f72c7e6b60c19d3235ef13d068ace3eee4141d12707f5a78903df1f3af99cc16d3dc207d395d61e0be0734f2a7fbafb5013497abf838fd56dce2ff0c9453083d8be14e475ec7c71baf3db1739f1e927ddbefb69c39b5bbefed393b13ee2c2de3dd7ad71faefe676aee9f97e3e1803b53d0606e72b5734e7409c20e795f1f84e56e0fdde70dbce1c070a8feb5a3d8bc4285ad8bcd0b71d6322b5aec1f8e987aca649f23eb4a74b73fd743cebc7f1b4702997d3eeb12c7bf4f75b7436dfd4298379d598e1a5e0d375824362b0ccc914a4ab228cff289ad48a7b6d1e6b77287ce7e1d92898b3bccd1d73c2beefb5f48f1cf4437332182aa3f371294c5c73c224800d1de5ee6c340eaabaaaf588b999427ad94fb2ab290c86e68877976cf6c71cf143491bfb9299a5ca34bb28da30d5e1dac3d9eae58c63e6c57efa91984278b3b9305d1dd977ab3c07d97fc240994a6f522a5fa520cf16812224d0f78d7993aef2f81ccc78522f2a422d5131f39422dfd69f39377575e66614aceb1687c49c5c5c73cbdc5a7541d3f37d2cdd97a7aba13acd8777f53a500be7d635411057bff3df5a5df93951dde7353864e04fe2fadfb656f58d05ff6c5eade1b6641da398e11a98424a3be418c96bdecea1a605f75c87d85e85e5fe85cfe39b1457369f94d639cea3a4f299b530f79d80f23d55fe29119fb1c5f12385e798ea9b517ea4ea96492de8c1bc2e6ca3ff06f25f4f90be0ab90f55fcb1f65722faed7de25eab109bd95ebd208f9a731ef1a6963b12f8eca54079225f142a4e073845dc25724e2ac124057f15d8c3bac187b61661dff788c915b1cf5b74dd15f811fbef9e907e131cbc6735587e95238e65a815536b4a7ea76ab45ed45359edfaacca162e96c6a45d1334ba14ad18b776383b25bb94a752daecfd067dbeb9531cb7003dc6187032d88be1bb6c4abc1bd4bef81b156779b7ee72a90007bbeeddec0ff782dfcc19e7be433c911a3fd4d32cb571269b2cdeb713b253b605d4f8406fa7bfdf3fd0cf4e56db3f54b284560618cf03d7d094186331f3efcf826cc09a324b7d0c5892cd3a32f9a2b71a3ac70b53e1abffcd3ebea4075c3f7572e349b69bb47210fcaaf60e5f5bc91a89bfdf83454faaf93bd4db0afe6db9e99fdd00e298649ce8731deb4fc97a41dc4fd6d3c43db24513171826ca695dec0ce62ceb17ff2e8f917783bca1b1693e94c589e3094cded4643048d76fc6dfd041b237594f99a48def29c89ff61a877a3588fb91735ee2785453074bf53f39e605c6a2bff36b693eb33478c0266d6a119bb35ef39ae98aaae3e85cabd4130647e8073f9d454e50f11c2acfaab7f67746f61bfa6df9d9310e3ae9976d5ef80a3b039d49a5958b86e35c4d2e06c5bb633b71a6ebc80d1eed100ad3981a2b75e648ad25f6036e880f707876f13eb2908322aa7c1d4317325fd5c2b717cf6be5d2547934f2f403f233ec28857c2a8b65784fc3cf92a71ff1ec54e9437e246b99ef0a807957ad3f9d0706791c6eaf895142ce053eeb74aedd15e7dad1b2e241c7a5732eb1dc2439d05250ebb6a95c408c9859426e044bc59b295940c642f1a66a3eef784dcf019dcb46f842ba33566f9ef0f0ae84f01442fbc3b33c557988d7dfcbe9360fa9c64ece22e0dddc3ffb97b2fe1cd06ba0888dcf771147a49606d3df1ef72fb85fdb4e79a64cb10c5804e3bcd61102e6826c05594ff0bce3dcb7e26d0ab1f6928d496cbdf59b8969a35a6b5a2650b8482af8b15ef0d98636d80b4d278dbc6ffce22d3a727a1fe70a37451187fcaee2cb3db476fd6cc945956c669dd3ea4dd5f262a97fbcbbc7fcb6e849df7211fd962e7d279e9f9d1ed26da270715aa56e6f1b68c6eacda5f667af85ef9666c51df4e7e37e5cbf7a57b53629b689b2374563d3bd16f1bfa56b524bddecf7dd1e57320072a48fbfd2d71ee392417ea6f95f9b67dee76ea81837b9fdbb661bdee46bfa89749678a94967f3943b527099137f24230b522013ecec4d105e77319f38c101d7a7444c220bd2f763ef2cccab606ef196db1913a2b7863f6341533abd8af13eaf2ec717de836fa99ddf4ed5e45f1a7bc387fbe19d1329a9fb309d32a80992b543b89fa481cc30d8cf68aece5280ae637d57f035aa761bae37b530503ad7ef03c76e27b3c866b67d57f06345989d00834cccf8d67a44d535f91564de913d537cf4ba9c4ad846c63a75abfe720718a803a0d75a4f833c341fc9f62b654f24777adb3fe8cc7902536156639f06d60d7ca41b203bec4eaf66d1f8763ad2016bbd277584410afd3f204e71e05588eb8e89ef204bdd127aa6654b23bbdaa61f59859f20ddeaeebe7f3ccd8a7fe56b899b5ed49e9667556c47ee7d3a8827553a9fdcf0f7e3133e0cb94a240f1cf8af27e680add17d5eaa5ca74f478d58af3ebfb1fa2df79844993e9e7f5c8bd6b21333a39c51f7ce9fc81d5c87d1c52b2c78d786bf5bbf8b3b494bb3b1c7de295e1dcfd0de8921a50fdb8fefc435688122d67bfbb6abf3ce7cf67e3d09ed35badf91bd814ed46084df9a78f647ea099003d87c3785dcf984b67770de06c1eaeeb0d389ef98ea819427158f6b6c61380f37225f2337c036ab45cbb4a265b7fa4be81d38be28d0e7ee7017036ef86913c3dd10ccf9152fe3b8329101738817ffeadc69ad3377bd3b735077b234fab4fe5d2c353f599a881f51f98dc18160298568bf1affc3384b5fe24d8f678e273c62db9818136aac9cd691db5b9d5ddc17b320f90704abe5003e29f057a5722e05e1dd6f837735c879f8fd2a7f248887d2793985ef2c8b89277fa1dfc04712aa5aff7aff1c7992fe91b64cf255aed2bd565db7cac13fd6f6afa55fa5545d933e3e673034d8fec5d4c28ba23167f86c66a1acf12747cb82d9681a1c66ab507d1ce7d77e9297b2c65ce4495eee8555a270de05c6f1257f84c5aa78faaee9dcc3f75dbe946d5e3ebe4f85f7c980cf47db91c4863acd2f9639635c730bbafd8f36613bcf3675843c53442bdd0979a84cadd4d1f2d36fcf8a8d7836e028d3b6144dc716a6e3a0961f6d5c00ea3c78516dab633bb5ad5b722d1e12e4a746f6217b7645f20c1bbebee8ad486fb543c55f2167c939b217a407cb441e229b7f1d547ec5fe155f1b56b2ac5c1a2ce8a1959cda8dd8536b8edc01cd11f2166df67206de0afc2fe3dd227cdfa133ac5fa8f1b267b91cd7b92f32e0b053b57d146fb6f504d662c18d873bcd8ae509e46a97de98f45133c6c8c6df2af1b66f1b2a3a83c902f7936397dae44d86fd26d850029357fde870aec0e15bd572a82dc3fc8b77d40993caa2ca4be6f9ec06b92f6bd1703fdd106cba0f5e32d4d43e32be47f6e8f95af8e9d2f0a03f86a4f92783f391dd816306533591f5cb59d170ef094718943b637072c40db227c25960b7afd719de2da27767c4e2efc5d51f59641d4720b413d1fe3bd678fa9b90a790b75fb4fc13d7eadc20797b7fc6b6817f6de930f55a3e7b063acbe1dbff7fc6f7f93f18dfc4039f4023d7f8dde802b4b73306acad7d467bf3e38f4de94030ce63c228d3cf9b5b26b74aa628d379e2c45e6aeb4958eb1da7392feb493c0b6cc84fa1e97ab96dffad88351d02ef8f3509c978d2637105b563bf9b6b16f4cf828d7466641b996d8c4789eab75cfb6c71be0e5d7b24113d5ca5635211e25db69e9b949e1dc9459a90e7e1387140d66ae239f6968533b4652f91b94d73f30ea74f0bee6b8ce03d0ffc98d40734b540251b3531389c27b23457e9c3bc8c7e779d52ed07616f752d50c8fa6e7c29e91a297bf3f89d37999f7786cdd0df5971fe0dfa24da57fd83ae198aeeffd68d499ffaaef1716a54bd14f47e077d86974eb39bd35bd57545b6b89ea17d4634a050f5490fb550f1b6f48c1cd7248950b3942db571ae4c55ded359f0135a2573dee9748d5548c98bcdd02a2f2cf4f801f937e677f7f9b2d34da208938ce440935ccf71f2c565df72499d2393c5fdd4f57156e55e7b9003ac5e54331fca23fafbf4fb7e4feabec04dec1cad63b1ebd5b6034bc56bf59d1851796a59a2105f215e1f95f73488719118e96c6e99b3ef26be1bd2b610b966fbf335f7ef1d7d244d2d5804b454d7b335ef6cf4e9564ef547d85513d6e478fad0dfb75a1f90dfdca6a64df85bef573a3659ab398e114e33460dc64477eeaebb7291ddac85f1ecb86225523b301fa9fe52877c9d62290eebfa8527b50b85ac0f2faa9e14ad98e4387dec97ffc33c94c73960ccb820cd9747f6d6ae23423ad58ff31ace47fe702ff6ff99ebee63cef5282539fd7ed1fdfcf1f945cd06f450aafb28c7fdaa8f72abd602edc11ce7efd7b518747e68ab36ed6fd67a7368c7f74f9f85c3cd23b7f7983b42db84157fc5fe68e67c97035ce0bec938b709fb70683ed1c4b2dce8c298806dcaa45a70d7fbc69c4f1cf393f9d29ff6833990b31d547b6d6f99ef8a4f6e383fb14f6bf4dd3f556e44c59f216745cbe5bb1ca372c745d9da60336f1aa988f7fed43beb9e4f2fb8cdd083b8a7df3eb7489e6997f6b99f5c2253bfe317705df86e6be9378db16a77ac0fae4f9c67c82efbe53881169abc103c565c8bd0aa9bbdab45d8240b6ed3ae9513b7bc323edfd1cefc7b677e0266edfd78707fa2267fda3976d6e9225de13a0bec976301bc58a247d0b5f3cff613f0764f73c132e61db5da905b88717f47addab008d3381ad3e04a6c0286c292ef3857878b62d07d433f23b91cbf5e33a8cf861870f9533e68cb0f5db211b131ff69f51f0d24e01b5691e6777dc90f96ceded3e4d1d42e73cb5c9f95984d9c5a5faae9f3686af9157a0999d29fb61c9d3b16cb7cab7a724fbfe81e7affea9a3a056a2e2b9b10d782e25ee33e83d60df16d7574392ea7ab77ab48bf15718868eeecd5b4498f2bfc07ead3a09f51987a7a96413eb7ce6460a3996d7dc0e0e69edcdba43b9d3dcae578e84df3a17be43bc69ee6558e59c32be69e329d3b0edbdefbca376a6979abefa45b50be6b93e4364d42c0d8358a99ef9ed689c5e59114648165ce135bdc048a300b3c73cd385c1f3ed318b2705dcc875f9a944af1dc774eb6ef16f833d65be19ea3c365e4fffce4c63ceb0ae89a7588eeb7c588c3ffc335a107bf01c606fe3d8e22475c97b6b942bfc73bc33b5a26f65d90df4f9e398bf0671ed94205f95c3830ae438efede8d2474ff5985f11d18fc1dccef3c0fd07780cd067d4da4d8a7c6e9c3f376865d58060bef71c410dd77b1cc0ff47f8de78e3e3b700fcf7ad34f16e672826b3237de90fff913d267619d4ef3a31b4719beaec62a41d7612c33347e827187de4bf0d9d0ef8c0df7aca3afe91ae9d83efeddc6fab5306376f8f7027f8fe606dfb330be939dd8e2f626419efdf33c5d638be400f487aefb35ad4be6661eb3b3c18d2f5fe1f86244ecbbaa65f9dc641283cd4b5318fe636ac3d438a2eb725729301ef84a637718df7bcceeb5c831a72abaae953f6708f7b86f8ffa146d9f2853e9419f6ad525e29a4e9223e6239e7571ee70e5375afb9d756e45c38b185383f86775c619137c2d9be61cb670de3e6fcb23eb435ddad1f2973ae820ddf594988f24b3c0c2f5e5e66cb81787952fab925bba2b4e8eb6a99e9d027072afe8f9cb82c917f100e3648bdb68b9bd3812f4b3d9dcc70ddb79ea48f7263ec0966e6ab4d776395a3dd68f8a431ee953203b8e79257b001300eb2621f8a9906e8a7b806e710e19f406abd7af303558df74c780bfe1ea8dfafc5c086bfdd129996fb937e3e9bd04bb43c7fd2f9ee7e555f36fe217a47716d6990a9f51c4613a172eedf70b99af0a6185b7f506380f555e5e6f9592fadec86ce21f51e5c3da6b612ae99f55ce0bceaf7a885b54b59b751f37885b285335f5b4fc08b62c8e0906142d7fdb5aa32b7a1326754790cbd1d025ce954fe552fdc76df79547366c4d7f4ef98cfeb244d6ac78a15b3eae5fa1fa8a835f70c33b4276b6d033466c5b8f2afc54118789acb1acac67e5c3bd829fd4b64b9d3f95a5aed0e441ca2d6cfbd9410ac27f96fac7437dbc1bb4fae883fee8962cb328c667b9b894cb230b7d2121a76fc4b26dbe31bfb3c3e69eac67e7bbb52c4d6423c6edeb9662fb4cc83ace717b62bba4b8367a88fdc5d4deb92c73417beb8897cadff1cf525f0ff7829fc21a217d790cf65d89d6089d73c5dc0c2d331fca982e405fdcf43e7d8bdb96b06f7a9e215bcc2a19b426b8ce9dc24320b12e9a6791daec0def16e9d92a87f9e2f891bc3e4f989ea520877c15c754df761a1d87c539fd3a3e2b906f8b68dad2f079fadb33a44cd280c63cc6fa05853f0ff21cf29b0273cba4753e6fad8f74f5c2798a43721f1ff9f1fc397ae7f9e39631d385e9e03fc790b080efdfdf63d7f105b0c99b3cd498f5bfc683c8ed413effafce07b19d9ebd3f9905360775b7fa1d2f06ff32cd9bb19fc9e0dab218d3132523759653c4312f4f2dde3be617e8eb40db8185cfc97ac2c97a9f7790debebd93a95ba897a4d79bf7827b399c67cb16e645974d7f4f13b8472692594e896c38c803e55a3c82e3db3c02fd0d3e27a6a55f382ce841b72ad7f5377b4cfc8db56cc3727485f3fd8e4ca68807de15283bf3989f179c45e25b7e667036d40a3b457e5584319c797bd43af3e8ba50363096d6a2f123d26b7733b530ddd535a27773c53950d55edc4c9db9a8ba5ace7bc4673f528be5739f0d8778af17a4df54fec3c3bbe9b305f64a90fb4bcde796a63574207facadeb7841f8e6217960307f316e9653eef695d875c78a6ea01727d8e079f4e09f2679f638a6b2095ef346fada2667b1e279ce88753c21cbbaf81dc935ac736cdd80c48ce2e8cdaeb0ca8a560edf435ec95d4f90aedcb4167f25382691735a6f907dbf34d4d499a4b909e79fe4be430e8435dcd1714ac83ba2d7d4fa466713630fb4d63f967b6b6f69448e1db5f5f0965e696efe2daf3f23dbec977ad53d2f277cee9e771fce6e91f2777c27599e368ffc1cf0aa5ee85253b5d2e59939c40386f1ec18629f73d1d2cd482e0a932f7aead0abb083687de9ded75b80af177434c0a10800d3a23dc64af788c7df72a307f8b2381ee29e587eb19f6615564d54e3b53ccf7d84f5fe0b199e007f3261afa8fcd643a7df00e71fcf3cac37e37deeb25b7ec46109f2b322ae522fc82f8ae8a65f5a1e289361ea15f944991ed25591eb4b6d9c119d345b6e88df5ec3baa677045eda600c09e3b33cfde06742858dd8e7694c32b4d6708fc912db87c4b291bd46c5651d63d2d7e36de9412de0bd6eee874ff71ac7f20b4a9fae6286a7ee5c8c9c5b16588f7c1d7b38f00d76e9836d8cd6f2e2c0bb5ff39d277d360245c47d3116f1a1a619ebf8130f04fcb9e73ceeae27c93d8ffdf9f9f96d69aed22f1d6292bd5fe80e30272908df25ede0cbe270e804d1702f1ccef69121792b6d39e50a6182f77edbc83b7d982f62e6e20ae13f73c18a65d1e255e85b9ee580177524f91ae6c7e54e2e7edbc1cb33f9d85b855a0fb3fc713da036a2ed43016c3986f4e8011ed4a61b95bf971dca9def606930977b7e7b67eff016e635758d13c6c7a2e4b1ce109e20a52dcc2d4cefc957bca9f9bda457764bd5b36b3240bc6d836c212d4cbf1a9976f146fd1c6384343e8a8a8f29fa189ed3964fea831ebaa3c76e6e3a65e9cb3383fbf1249eb8bd54b8ae4dfdc0f9827496aace96d02c5f8f71c23bea16c990fc727fc61571f8cfd2e827800742cdcf29a2e1fe4e57eab26549dc6304fe87f1865785bcbf34dd260ec36c865fa3cba4d2773df63231917e220e5327001b2ff962d4164e25ba6e55d4b86b601f55b862ee8855b02e1b26cbd14752635b3658986777c4848fd7607c379b60303ee79bd1831dfc7c5f126e59cc6e6ebc8edc781bdef53d0a16c1ecbe9fd28f3a9615813e75531a7fd54d99a8f12c7e8ac90cb1f065bdffd9b77aac6ab990cd22a5d877d891b37aa4f3c2e9fcd4412bbfca291e6ae9da354df47d4dde299d9f7725fdea5a67f7ee3eeab7fef75297923dd0890b3ac11e7219a931808fbcad6b131d8fc285fe4b1fda8ff22feb8cbd5b45ca2ce3ec41dfab31473bfd666af2e0ef1a85cc8bb8f6b18d134aee11eb7dff0768a0c9c9bc58a6bfb04d44338353fbbe2a4ea5225a299762f60efa612b6fe5991ef9e87358e8ea0b3f819a54762515c72f21bfa5480bd217b594cbf13f4b23a7b1e8ba6290df32e0df5ab13c9d0df7825fca45da59c346f4d487ef091e69673d9b1b6f63b7970fbbeb03a1ceb5ba9f7df44baadf6a90978a2e25ca8bfb1b1c53c00dfb6ddd105d634bc96cc0147ef35ee92e0ffc7e7c6fab5498cab41dfb20bf1efc87533551b09ca36536c1f7a57d41293f17baece4666da4206ffb71f4fb67580fb106b9ecf439517e1e1833ad3f2495be807537bcee3b33896a3b017c238f63dd69f7e361c89ce831b33ee801d45a2f8de14b994ed775d1b5d53fcbf790e0813eda49959d6b1b93109dfb5ffb337f8e57b10ff12af0efabff2ccd475b572d373fd9ba8001e9967dded3ba6d5b92ebf4940f2c4a95ade4935be6ec2cb0fde588e116450478804fdf2da4df2dac3ccdf797477bb89faa430f7050251ccb68f80c7bef635fc593e3aef05965a4160a3a0b95eddd7d0dab405ef380c280ece6af3b8dc13d9fa788eec2f46f6ced6acf1b7b8af4a11c25be22e23c8c4574616add62cbd47a48ed37064c19bc0eaf6897aa316ff9f25b3c11e46a0766454ce92a5a9ee25ca4c4c16718c6e9b5ea61a38bb7ffc1a67ce8afa94969d53773118f3be709d8b142f40b3f52ed63f8e15cd53d04ab3a0ade13d2bc89eb8ecf3bbdcf3b41dd5f9cd2afa347fdbaeafd4df1e2ddf6310e54f72b17fc36bfe7a23b9f74447cd2e3961eb3db3258a60a07668e31e88b67f489e3c71957e1f611fce3fbb8de4d994a486f3b939ccbbbd8d33091f5dcc7d8d2c31f6326f51930c2ffe20c9cab31ff51f573f157e7e1a50ff7258e4b8df3013a01c53b29dc8fc7770a69de393e8dc94d2da76ae5128ccff7727c90939238b147d5013e5d93bbf389640db6d1645c6387f125a6eb8b2362ddfbdfcb97477942fc04f4dee3d85491f256019822543ccb671ce351e7b6ca7eb99fe6a55c4a9d72697efc78116fe9d2c9d512e3b13f9345a0bb822c9b1f5582e188f36569ffdbde687219e623b7f2c3facf70edd47236b4e93ef4a33ebfd0dd78765a0d97fab8504f0c9cc5471fb34b8d01f19831ff809d5de42caebd5e1f7782bf6be3c94f685bfa37f74fbbf0e825dc9fc036b88983714a78d5e9790d66f6f631ded98a414ed90a7b02e26e3bbd960d73cb3c408f58da5fd1859d4cf18dd7b2a34dcf0fbaf4335ed13aef54aea33c5da53b2dcb882ffb6fed57dc57f42f6d5705f222f258110fa98dfb8a23dbff1f2778f01bb3942e51e977eca3cefd900b427040ea33ccdee988aca985ffb4cff4d67b3c4fe3622e8c5ff639d969f731106c133a8f3e707fb9257da3cb315ae79b19a597c5293b985a1a2a4555b7d761370b3ed497d7f5f950bb1f0e97bad48179ff0158bc6ec9648b9e3aa4737a29bbd997458bb7200fa4e99d417e839e03c8b674a14f4b93a7ace8e304d35174f58ccd3b7d0e71de13ffb5380e2f7279fe33138688de4a4ff063b9a533a7ec02f0f8ad7bde14d3f577b2ce67957c98eb07c427e28ede297fa4781e3927c8637c934e33f0cb4841f8f6ea1eb7aaf31066a96dd8707df39d14c810eb2078ae1ab56fad3e23543d32ecc7c37ee33da36b84a37cb89fe4c3990035bb81acd5bdf283bd2025caf4a35e6bec736830e37e9303f18a6f7822e0593ef8d077bf8adb3ec785a47b03237e44e9c718e7ab438f06ec80577a40d3873768f1b329e04875e920df8077f08ce68d97ef3a37efc2fd6717a74fc76599562c10e9c6ff728dea3a613a4fefeeecfdea5d7f6b677834d60e85a740eb8b4d1fa8e77b5cf7af7c1d6f7f350eba0ff4d3b1fc4013a4aff31d5dc42b1ef0c58297348ce5c8f1c22ec5fe43be9ab76586f7fe9759605da0d74573fed997e75fafeaedaafc8bbf3cfbbf3f0fdde769aaf2eae8522e45aaaea4a7fe842dc4506797f48f4e32a3377f716eb34a6e108c1adc0352d52506f009f16f6d5d75f4912ccbf19b2a64b97a5c21be7c8477dcf166726fe3f3d7c23f0fdfe909b9b79215b4cdfed7b64fda31cf474cca1f78a0fd73ace4fde5f99876e39ed06783f247bf1c0bd427fc2e3fe64759f1f379f5215667e3bc1a968a03b1dd7a64e59b5847f6ff2e07e2411e824fbca9b51daa4218cf22dc5306f21bb0ce99363d7ca85822ba3648bf9dd1e0da15bf68fc13f9a30fe4516fbb2db7f0de14636a3ee808ff269fe2f8242fe2155dd47d452919cd2eb71746197dbe38eb21ef09b9bf34b206bfa1ac79dc09c7bf189cdbf7ca773c7dcc6530b830ddbd90e5ffc69f47e7e6eeb43c213d0d69be9e4afab8c1b4ec9217e5f8618c7fc90fc25fc44edf174554e5c03e5f37f171dddc92759cd7fa1ac130815c81d406ba5a874dfec3c77dac21b547addc69dfd430a6da43fe602b4fb6fddc561e0537f1e4526ac5652c88e9b76c32dffc458e842d6ee35fe449f84ff2242e105b2379120e952761e93fe749d0f3591a900f466afe59ee71acecf931b7e203dd13dae37acde2d732aae983fb225f02b02f9646d6e44c88d93f543df2c1ae784bb3a76987cd8c73078acfe809afaa721afca591837de78cfabc13b4721d92a59191bea1db8b3b5d0fa05f56959bfbc0333bfcc6f4b582ef63bf6948cf87ea8d5abd639ccc021be22696fe30a6362d3f9b77497abf95ec1af7266ae768b4faac3ddfaff417fbc592fda27cc3596a1756fcb4a73bc6d4e0299e58d5795f416691dafb0e9ca262c1f587eef17245ba288d4904fd8d480f5ce2cf6bc5112afdf21ecbc8891a8c62b99507d1ff56a336b6f3c37dd46f4e90f26a10f1b0d6c593fa8708fb6cdbf18d079f6dbb768daa7180b5a9fc46044ba0c66f00b9def6c3795a98543de25afd66318e0addbfe17ce70f4b16bdcdd009ac18f0c2abfa78cd672b3ba0a30e8ceda8032be50acf591c821cadb094a8dc97774bcf930537ae72e401930d7425adc99177ca871cf95b472e03d04dbb862567eff996228c73dae7dfc4f53614c6f7a19d37f303e66b25c7084dbc01a6c75fd4cbfcb53e70927e1fabf87b19ff7b3cdbf83e16fec99bdb76ff704fdc503d38709e26a9cbd61754adbead33d982db0c6d83ee29b14174d1c67c207cca36b6358e4ffd79cba45fdc24f546e7e6f788859e5272d37337d96b11ef415f0a1a57a0c9437852bf4f611d405de90f581418c3abf62f627db35c6a487f0ee17cc98d4d41c5acb11c6874bd3095343fc17571e1837dbfebb0ef91fe45f5752d96e218f1879bd19bc1d9dae1b395cbfaa5a8fb3d36ba052fe17c124a2635712f1c13873cc13ad68e7fc3737a9097380653820e24a4df3bc05eb0aafc5092afd4caf3c0d8e50ddf49ea5cc0f252d7bded4c96af7ae5a3bf15f6e23a51ce981a7f52a6b368a9f1ae1bc177ac3afae8cfb7ecd06073563dae8af904fdff512c26d56fcccd2ef29bad333773bac954719c299cdba263cbd8609cf19e97d43d8b3988a11c54fde3cd02bcc58f817a4c8e96398fa451c82d62fcfb7c24d5bfcff5fa77a6fa7da18f9bfbcbea77b5ac7e57cb43f53ba78eaadfada2fe5d974aea33dbdc6755f795f3fab916435d4b8d516dde518f71d35f9ce8dc7564db4e5867ba7aa3fde37b731dddf7d80279f3534fb622f731062d4372fa27516d6746176f51f8d152f323381bb5bfc9bfd95a16488294b43023a7b3481166ae03188cad5a54d713a464796400bbc1067a6b30219d78d3c6d56ce70f347100d20ffab1376b3fc17ddafbdfd07f52076cd43774f6a4e0e320091f419d8721f857c5185f765a18cd8530dde92cfa1bdd57407f3fd297cf365d8241061811b5dfa0c6faa2ec03a7c86f55cd8f4361c4c8264363a425b60e189025f0d9de3c5a8e24767ebc948001634451c55755216cf3ef8aee1b9df19fa5beea23fb623962d8792f1fda7a9f9f1fe1dc0e977a083d0d97476630477aa09ef1aa2eb5f196c479d4953bab88631ef2d611afc03c06d7fa9c3e6f2e83f41c9c1bda15abf284aa576c9fc7b8e4cfae6372593f639cd829e6355dd7595a08be3c92c344cd7ffccfd284bc5a34ce5cd632a467fb8ab94234c62cb9907791bea29fcf387f093003d0bbfe3c895bfb301ec0b5c27863ee291fca62c8833d3fc2184b88b7925ef357e8f14eecbe850e788c47c0253136679cd3528d2d676dcd2f1a9e3d061a437ccb89b0cf641187a9c54dae95aebf38a9a92d6ed39dc1968b98e7f7dacc3585892b056a38d3ac932c84ff918becaa94e7f7e588f967c97c3ae676b0b7a697e1deec5fa4a0f1fd4a41f8129362876474873fd5d419e83d47fa16a5c09727d9d9283e5d53180752b18a66817b96b5f3b7220cdcd65826ec97c97dbeefa7ec3fca167a3091b3fc0932c1147c479ae4aea449c799b08967c52191833455a2ecb638a6c3a5deffb3821e48cd9c4c2dbcd925e65976bce18d627674b84986b14ef8043045e20967991406483cf12d8dfc6faa8122cc7c2be659f2db91e08dd4ffef30a607ba9f60a94c187cffdaf700c7649d105c92d039a9043f056389d8a7351e0bb7bde1ff87e8f793d3fb3cdb26c14a29a512c6395d33040b85f1a69ff83b63d2c7ffcf7dfc5b74c17fb3d5df573b866726eef403ff1f47f85e7306d858b6b1cda8bffbaea8d6d729273fb37ad4df71defb8239e52199ffc532a2d413e11d17b21617b73783673ae6bc70a770ffc59b4ec877db0cad11ae2d1c441e7efed5c66b73dde1ef131cdf1f5c3d3cee9b2b4e72cfd842bc1ff351c068c99c5e85edb28579b9a775e9122c17f764271607982fa56dcecb0aafc6e5d01ac27de5ced87218e3659e90fb1232e6d231c9ff319be1fb78df159a35a3ffc658326bdfc6ff470ec18671c44184b165d6317927e89f8eb12d5d6e7222f83257b5947a2abe8e8c630d983c18b7290bbc787b710cc09de9e1777904bfc63f12bc9abec5f157c5dc96b6394b30368d7f71a6b3cca2f6f94b6453f7f47984feab26a6a32f91cdf03bcfe542ebb3ea1468ef4d2dc3eb5cc7d758c63af10cb6ef4d673efedbcec8ffe4774c7b96f9c9e0ffd78c65cccf8eb1bd92b3d3c37981db12f10dbcff33a493dd7606c135e27238071637499de99a7cf60b87c3983fd567c5d8f63d717b7539a49f00d6d1cdd15864db5c3d7156ec905e634c180ffae96dc9bd150e2c5ccf618ca475eac4e30bd229be4c82b7aadd7d6f407cd407ff343ecf0c7ee79ab3e0ff6da8c6299c6ba4cf786274c1cfb023dba8f0920627729ee39d393fe3b3eec259df614ca5d3ce4c2e4eefb370b81ac7e8e489937407e3f48fe43c577b9db822f93faecea7ca91737cc4738b1842bfffb1f0bbff43fefeb6cd08e979475c033a293dd1bee0cf6bbf3aaf96e15d09ded3c52274e2189362c76d19fc99a2df98bde077b2a562f89183e9fce2728304e33fb1ac437272a498e5f0fa0d089e7616381ce69dae3849e17a64578893c23293b71dfe3bb5cc75ecf466304e64ff7d610ca6cced45300fd7dc46ee09be2b6c3ccfc236e737cf9c1df1199b5df0b366e5973138125e71a97805a20f5bcc133b26fc82f06697f308cfb8201b07f30343c2ff73880fc21a95aec8333bc31ec0b53dbcc76e6f1d590683b1a4e23ec68c322617b7f71959465af182ab8d79206be375631df0f7011617eb8da44c1dc13b38c0e38fa3d429087e94e95e5c8e675dc007c9028fdbc2d981cfbdb58fe7eb0d2c2eea7d19406f7d3b8ef0d93bf905fe3dbab89c57481193ee44648ff587f2e4e22b66f2a96ccf99a2875749233a4470719592f96346fce1ab97f3fb80f564e6b3c696520566606a873f8ba875ffc534d34c1959f97e4b7f1f79b23e3c2fcbc455a2bbef47c3b71adbeaf8715968acf7557ea4f3e3846f7dbf65926511fe47d6fb37455c233de16b293458574a945d30de95c4eeb5f04d9e5cbe96a381fb35fac8946dde578f9f9e1c84ff28650bd398b36b3c2aaa6725d8f978ad95e98af7a6f9506ad7c21f9cc027b8c3946fabf06f4b6358dfbb9f227d19ea3d291b4802ac012708dfeefa95c038f6a47fa2636c782fde9c95e2f06771da56b8d3e1bec28adef238dfda580f6d9167ad388f4c52ef6d0be14dd60e81670cc83588a678c70ca4d352cffeb126795f1d7d5ccce9a15027ccb7528467240bdbcf45f70c4f06db3f99daf904d7c4eb9b87ce76fb9ac060fb81a99d03748dace5275b6739c0e51f0ddfcca9fa8de4831bf1d08b997cf79fe5362fe578c278d3d9de8b27a9676cd0fec2b8e9eba520bb35d867c337b34557e19b120d2fa676a6efe32c03e9d452ea189b4416c2f4ab5acb327710ad209a31b7974f659bf88a49e8108f25b14e5bc6d612d72d12572987ffe079d3bf49a9cde1e75a31792edb47b40dbabad95bfb762fc7f1b72dcf588637b438fe02b2719a676ecc1fb17e3238edc5756471b9efc6b837cf5e9c8796b9f6656d98c8a00791e715129a03fa8e7a2e3ae3c3a129f0cfe714e5a57cece3b5a9c62048a95266bea23117451f0c97c2f8a2a0731c307f0cb60ffa38da234547f4c27ab276be283a7e06e2c51687644174456342ebb96499ab7ce4d1ff64adda7342fbb71426304653bbb86e7171cce3c06bc6b5f63d710c7391b6b9b362d69fdbf1c435d88bebb2b96e6ae73fe684754d3c86caded883bd1158475940e703f8400c3c097880cfef2729acc157394e1780a797de765ade23f7613cbd8805fed1dca7229be65de142d28796e0bcd57d5a7ee8bb0b314bbe5c70fda1ad0d32a737aff26f7de0339db58d7ddc9b2748bf294cbb2ba9ebcb9c9e8a6c4586d4e865b631809c7db9a9d7a9f2e62382797f259802e85e1ed70d573d020791c755b9603fd7c8e2b9401e6af6a2d6f2d6917b48d6a2eacd4ce7d4e0d8117ab66e4cfa8a3061a09f85d8c7fd0e8e35f64d3dd787ba8a20c4fd0e8e7d5ed56adcda88eacd7c3fc6ab82ec6ada3f2c8e7927608a053786be1a9646fa6a8c6abce4a7efb7b430f9e2a8f995ed77bbbd2dd2070ad8a7d1476a69692eeb756c24eaa83bf0dd784de2a11d71832993e09cf8cd811ed7dd1a57bef34cc198168fef39cd6ff6e9f57b308e207ecf5dcca174389b2131d18e3cb09c97493d9a53a4df0b6e3874037a6f3af118934511dddabe1b4c1b4b6348e1fc6d4b8b9b645d79def778e0e85e12bbacce1fa9bb7d851d2575e43ca7dfee31af6a032a7cc8ee7bf5ac98eb563cc3f51289bdbd5ccde64c1cbc29ae936df62a256769eeb811436a2df9522e99421108760af1653a41c563d68031f058cb35296c11c7d9baf2f1212f15788b34748a1ff6632aa1fd283af7c394603fa8585e074f620273920584f66e6e917e431e16c18eb30c64cf47c75defa1b76e979f11f2aeda7c28e45ef0a152eea88d748e6ca90056509bef2c7a2ad0e742b75ed6632f8aa844eb51c548efeb3b9c202f711c29e4dd326d72366b1f2895a7197f048a1826141644b234c610335e4ea578760cb917b85f70df4e4b495e4378b1300651d34fa0b5371de7bf1baff3be5ec56ff779e21d69925f4d2dbdd905f6e953f94b1867a86cf5f67cc0c1427268a765be3a655f9e0982c185aeff6ec5e51a1a0aedc7beb63fd20ec8198cbb829e8d6b6e75e9152db11d32ed31bf6ebaf99e8ffabcfb506b5161813ea3ab0df461fb5fe1115a3acb2e8f1fcf7cd72c927d8b80c915317c3edf524a94d1b898933e1c0f35caba04b4b97b58970a03211aee09cfda759c43f7c8a277bcbbc7bc9c05165a9f5ff121c8ad3c0e58b954937b9e24976ca1989bf4397f55e9be8505a9057faf7a7062beb6f95691bea38fdf2bda53f5bcacf2e3aa793f5937c2e7202e40d6ae3b56513f1be2c3347fe8bceea26a615ad1a88cf70ddf7fcccb677193fa9a207c437b4ed619d1a13f0b2c12eb80cfb90ad82ee33f4ec15c16a447c44eabe317c92cb06fb82e3c033c2ed9bc5c31ae17c9e968613b413deb06f223a0e74073ce9de3f04cc9e26a1e355ff0b4b450a680cddac1afd6119d37fab7b87e9d3a107ee64ff991b54ca67908c929ace7e21650eff946d112e477125e95400ce07fc0ab48ff9467bce4517799ae1eceafa7a5ccf2c83ee2068f56e54b3ef83fc351c17d803cfd45dc4f23713f2d7f8acd87e845d632462dbbf9d47c0475a55db5a96057eccc7ca8ea1f1dd7803c2e801f1c2fc572aac6b3e3aa7c71f60be8571f10793c85b3057cf4ff093e45e6fd44cf26e3d0a017cfcfd795c03b48ffcee7d7419e2aa19fff8247316a01bc289e21591290cf24ce6ae9fc4dd19837c2bb92867785f12c1e22bdeeb61c31990c3659bf858dd5caa9036c5c9c3f248b1bba9ee1ba2cfc267e3d62a3ba771cfabf843d6df6ee31f7abfcb136e639960afeadf3993fe39a543c94e2498846e8b994909fa79fcf0dbfcd7c55abfc01acefc6e9ff86471d5fe037fdd73ccacaff0ff2288c17d0c5a38ee3ff218fb2f2ff333c0acffb671ef59bebfe8a4761faf92f78140776ddff511e05b13cf67fad4741ddfa8f355ab52fa0a47384d2a2d2afa0a7a1a942edc422f0ebf940ee23c1d0b00d36db89937267fe5e9faa7a2351794969ed1fc235284f7a0a804d33807a7af303e900a01b3ff67be8b007c53e2f4f373c3a23a48ee15ae5e928c28455e226a7476ed5d381af847782fc377edeb4f6179133f86f6dc7d6d935b26f27c8cbe5f67235f50bd987fc58f71c79796661ad9257b44cf727718fccd9d359ecb36ee6d2acd57473a5f39d2abfada5b3258c4b38406d987bbcf860b75498ce6238b4b4e8bde9b508797c2daccc9dc6f09696618c01aabebdc68baffd0fe3947edf1e7cc3c093a97a87e8dd39b2be02b9f3ed330dcf30a5f706af60cb7bdae0681903928b4ef7de97281f205b50e7fef6c3b94f65ae8fcf3de065b3d75960813ee69cf261970fd79bce6e4eec51755dddf56f98dff5e3d9b1eeddd8c103b697ff4af7198d7f33e6c8f9453d29e6c93f8cf73467dc986fe15efd95fdc7f55bf69f756fff19196dff959e21fd3ace023a15c68ff9ad8fcaff958f4a1c7fabc77e171ec8bfa9fdac701e4097b4b4345f7064eee290f4be3cbcf6edd4e71d9d9d56cd082d7f00036b8b73bfceb61651f5507dc05cc7f449de5d50185c35c6e498e0b6807f26417c1072c285e1d93ce58e19e5aea985677392bba610fec79caa37591f5273437a72b3b720a7eaf842b5dff08e6e5feb69ce5a9de7ab552342e74ca736f4a91f07b2c93cf13f8c5bf4e73cd0dfb84d7fe6c77f457f0b7df50293b543e7eed0e92d2dbdeb85fa5f63b156bccf97cb5acf1c3a259101a390f985bfee5feb6150f75756b60e1ac790ee3756f7386cf64a4d1afca7c34d9e0c86063b70cd0993c888f62659224779a914e19ffb7dacf5a16ede0fef40bcbf93cfc3de77610bd4d803059d63ef8a9b540a56b91444fc139d2d6fe96c109f6be96c3eadb3396274fd9b384f555f8ffb4c7f347ec2634b873b376770f56c8fcf72e597061fd10af7d087fade67f71cbe65ee90c85a36c07ce5918effad6fde39b267b44ff254e27748968b8744d6b3aca356bf5c9ad2b7aa85431b7a267fbcc609263a915ba4df8b9e0af754f6a38cb1e19ec5c86a3fbd5584189f4627f53f4736ee386f67a49f6f213f49257514b89e68c7343de46b5a29c2374b670229c8d17def6e99c7c4f70c7df6ac1f304e89dd7b94f54b59d73d4df1fc76d0b34f8d676188f46b34970af78cd41c5d46754ffca95af3b2ff7e0c3826be43f33a366b05fdb0b51718e934e65c6d237fa0b30deb4ee3dc91fac36f9df0c43bac068c7df0bfda67d18a67c7f095dfa0c4789307de2dd25c41b469a464cda18fc71fe7d12e39e3386bf8e696ec19d7b0f3c3bde07390f389e9f986f6c12dd90230c8bae3a9d8b7a0611c59c0863ecd223bde16b63138dae6dcd908fe4dde32c9830d55b219e2410b6e8c74edb31b6f63a8e9d306ccce5ca7b6d9157fe4a1d77fcbaf1fe429f8061efc72ac6f439de5bcb0cac457a6ebc413f308ea338c9cc674bdeb81d9815b39652ade79a753031dd7faf96e3a8bec63fb5d2f302b681afa968b1f6c7afc2e8c6f2930972e5f249cf35fe8cb94cc28db72c2a2fb35d638d626d7e0e1fc50870ed87d6ddf2375b61b5c628c6369001e1ed25d5ef24f7ccd0b3fd3b48ad561ecd95fe92a7066fae8cc1480e75af17cfc2ca8ef871aa0e913dcf46778ea25fb4ef6f701a35d011c1b123febc069871ace11eb98b86eedf9354d4f342a77ace54b2ebae8e31e975b0af2c41e25b7eefae37b9a4bbf2b8cf5aab6baa9c57ded33efc08c875e2dd07bc3bc54cf6bf7bbe97d56b641b2efa07f8a868b7b5d7b4761bbeeef7b2700e6bcf53b5da75d2bd7ce6f4174520e3a7291261dfb361fee3bbf27d8fc8f3909835fcbaaba57c10bfd9fd0f4ff424faaeaa0d1b959f4a4e18ed43c7f513ef1a7feedc77c845c1dbde8c910fc6d4f06a9ab2703f609363d19908d437a2d4888ef5e1fecd129f43c28402e4eeddbce581d54d25fe587fe0757139efbc3197fc653c8b9586e2fdecb5e0e6c1a2c02e9db8998a13a1a9eff82573ce349d077f08bcb7d0bf8401fd91eac735abda953a6fb3e24e74f73473a9e03991b784b63982c62d0117ebc96f0915763b992f7ff34e6eaba4a7edef7686d64586f16d948461bab37a7c84bcf98cd6c8c1fdf89bd50f155b7cd57711fb786aff89eb9be81dcede86bdc251b3be5e1c8ca7ed4ef0073bcdf81597c872f78ec0760b3c03d7eb134fa57c79830167738dbe22691f5a12f8b806554dfe346696e22decbe4378fdb162ba85b27b60fc8c990df05bebf34678e3a61ea77ab5a7651716f3bbf85b7144fd29db1f63d71ab221d0763f034b2f489de52c53c4017ecd49d08eee32306ddb6ef092dacbe8e7dcdbe55b3fbfe677a53676ca44879374a330a6710f7acd0cfbe04d8bfcd7aefd07ad7eb77081c639238d3f50d9d5d591cf30e0bcfa97281739c0bfc9bf50cff3fb59e641ddaebd99cb1b327b2a9274eba7a133ce0fbd432bae94dd085af1ecf02bfed4f13c6af31d4911e32cd7dacb70e132c4b0e25e44368fef5990c837c72a845277e73f017b8952ffdbfc3490f42328e71b75fabc1320f6cada1990e1f14bdc6cffb5e88e3d4d22e85517ed2989acfe98ac448dad757ba5995d7b0bd7a62c47cfd685bd4feceb65e36c2fea3c58bfe675687ee83f66529e2da04b5dcbcf0818f4177fac231f907fe6b69617dde4d8ece9dc039d7ce9109be302e4b6194130fd6e2b4bee922dfb3cdd9c832e7912c847f88fe3c734eab8a1fd77c41d6b27c1e846f8fd764b98a3197e818640a181abd0f441f6fae70e0e6faa6548bf0f59e4c493f63f1e7797a304fbc376ec9dee4e9cc51b70cf1ffc06744dfe5fd5adc8db37ccd533f9b3842937358d56d7c2f352996822607592e600e9ea9b76a06fb488e7df530ce07c1eae2712d9f4ad703454bfde3ddd6f3894df7f7d5d26fd96cdd5bf1ba89bdbd44e6168d39af3ee7a616be7ba29fb8c580b38c3c817afa0db25b527ec56d79ba2671c56d5ae7dd6e30b41e7b0a347ca0c2196796a675f6eeb185917e65e64305dbca8e74b203979b173b52fbfd88a960270eae9d855a362962ae3b6310daa6bfb4039f514ef3cc11234616906e1b21d99fec4dff1e9b868efff04ff819e0d42cefd6b285991648e063a230c352abf6db53751df1dcb7383f5a735b1cd7d0fb996cd4bea177e8f150d50e8d986cd15b0d9df2c254386b6e7461a04f23c6426bf86bcc27b6f0593f7f839f5fc705aad819e9cb76b48cf9d9dece234ff0fdfa5c992caf4c1fd6a7f1e5dce1f7b431b0fecb35c2bcb0ca05f06bcc2a11306caf4b71085857de882d0c6e00b855805fa263fcbf2a26f445e23db09e47d6afeda98e9aa63adf81bdd43524a6d9aaafc27830e8cc4ceaefceb2c9a45f0f7861d8f7d585154663fc12acb34ff80dce5ad53fa23e7bb4efec269b0ca6c1c93c5a9a97d0366cdf33726671bad43ac1e27401f907586c531f3eebbd2dc166c3f37749dd84650c4e9be92cb2e3a8bf0866f0b7674c4eb6c6109cf1cbc6326727db5cbd498194221a70388c4f689b1260d991fae0721128c161560687592f38cc8ec16116068ae82736e7a7183b34b97a469e2a62cb1e7f538f9f3cd485989f3707c9cfa9faf6c5cd6f6ebc79fbea61ccb44594925e4f50cfdee0ca0b33bae71ec6e6a8e29a061b39a735fe8e637df7b4c6b5c355ddfedd7d96310bdc23c64fa0fc2b8c6544a914b1bc427a8f2c4e97c23372c0fa7fe8232fcc8e484e03f602f5ecc6de836ba8fe5459b0c33818b04fd41cd3ba5756d1f4475784877edba40fc9ccdb6b79b52eed7533b78c03b597f0dc762d9440ea5a8459e4989f67cb9c271863a1d163e81ab82e1b54021d342775c133f003e36750359fc28cb14d9f41ebb83719a41ba5ce2879affd9965f20efd5d4640977df83ce6590fff4de2f42ac14e9c5c6df613ed5ff23542faf9e46af7b6becd6d2e04e3f97b2b4e0ac46b1681142853643ff318bf52dc16f85ce07a75b73c07fdb3e0f6cf82d73f0b56ff2cd8c8c640f4ea10bc46078d55c85bfed6c551caf61ad22dd9cce10640678bd3e5e8f466d1e274a169855744e26fd693f73de2a988d60df6e6e01cd8b72faece7f78fbe2409f7f93f48ff44b84755d7ae8ece91f298917970463d177626f856ca19d79789362f89bb50c2f52348c99bc63d7be1b7b91373a07529023be7423b88d917b8475adcec39b74953f4e0bf9e3f4257fc40bf923d6a47487e62fe618d7311eb08e98a5adfc8cf25ca853e8af737145fe0ab81165f26e717c81e68a79befa6614a4273cc60ba97def522bb6526120cd0a35005a26f55d1dcfa17acb5b48af2538284e3c8f30dd55bdb4801ecf6e43a3d438f2d619ac7096ef31dbffe599fae559fadb73c3f20b8ec2491b4f220a7f92e04dce0bab64990a0bce3606dcd2e813d9d2d88ded58424eee25989f2560c1e1efaafddab0375bdc004e2b7956b52e48d7ab3e57bf91bdc398afe81c54e341fcd616b705d25b019b02f4b359e406f5185a6715b07e5b3267d6d23b7738df9191cdb4ae7b9682310fba8ac1c712ee71cc2c8d4d5a616a5be636f5a0e7cc2a9e61baf697e60ac795b928fed2acd8e2f8abcbf14837ea59e6ec2a93fd01ec15919cd7e033710bc487d89b176f4325f8dc229da279ce67e64cb7a79dd13fec8c41e9217e3e4a5c27caaf3b83cd9cde8c9126b308e3dd4c0247dc1cecd3ece6681f2737de5e2c73f68d79bbfb6e8a8304c947f7b4a29f1fbb317f91040f8dc177e38b6fc579a400ed5c12fb149e166c7eadb03ea8f79c656dc0225dbc795604d888d53e55b8b2443fe9db353de0fd24df33cdf720afb12d323e5474d0ecef11e316ae6a5a6b63bd56ef6de401fbbea79eedc47662f7b685adf93ad8275a58bda3b4cd15f801be7a4cb2372e0ffabc6dae1ef478b7f0c9b36bde9bda5ac42be2c3fd47871bc43bc363d1fc9ef937602c58aff76d2d627648172c3e61ce6b735620bd588abcc2e1062749fc6ced97257c02ae986dae52499c9f6d63fe2d8903df3136370a4f0a74f6e6cc5ab127e0b9d3fe20ec676fe952f12ce4835dbc3d7ac2e0db36a312e9c32d9e5d3cc7e1831a70588346cee13ee09817ce029ba1fe2e14a4f300cdfa77e3c0b8d88497834f6caf85c95ecbbf910eeec63ce3603ff7d533bbf4e616c6e4b9d2956542235dcfc1fe85fb3da3fc30154d1af5f3c007476161d0b47dad31480aff2a6bf9b5e6973d26dd71f7faff0cd90788ee3b7c7ccdf397e67ab89f5ef80efe587f96abdff07c483faefc817e3da1937eb1df7553e9205de3a93044b02d626be46cc0ba53fd77c57ecd1774830f6d9df15521ffefd7287c35b6ff66adb63322975eaed95eebee112b9db6a5ad7d429f1fabb70a165cff6a0b3e83e4bd1464ad73229b8d6fd331b6bcac8515462cef04870cf7f8ee5f9dc02fa0665ff3aff2083038aff248ca174298b464bb1856b49ad881ffe99e66fed71d7d37be8d88eea5d860db225aa630b49d239329d81756fb849c635e2cb87e85af1ea1b3bcd4199eea2b78708e94bfc6a4f7e8b37c864543f5cd7b07ac94d1e5aa684c22e1fc264616b7881f24d08702fb658eb6e65f95d1386961c14e895f49f40ba7e71eb07cd9162e7a9f30db3ab1ef3bf13ab58dd501e3137fc64e4f3a105ca73749700399db7c4b811bc804dfca2ae9391c92afd6ba577e2c3eb1850f12c7022c6efe0b7a4d5518bb93931e4f2e36ce37237405584dd07b9e92a357db9c49db31ab2e35b045f0fd9c9f209bd94576ea7616d9dcb60f98d4457a7b7c07f428f16d06c984ed702f34cf01dca913c4e07c6fba2edc1ec8414a471b446ee86ff44d46f434f81be99d80e9418f6f3fcd02e9c4d2b4d4e6a7dc96d93663baf7fd34be27e2b7b00c6f61196c84742ff8ae07b1d7d633eda7cf3cb4ce3ed10d5b6bb0c7fed63b59bffe44ebf0527e54ba31b7655678fdce32d229f44a6f9ef3cabd3f07fa86a2fd951e75899f9e6b3ecedb6dae79febc712db77db7374f6cae4fe4d4e054cdd32da0f757f2f3b867656b4d3ad603d3d27cb817fc077a969fcd81cb7db7f7620e153faee61b1c020bdf13a07177eca16f8beb91234e4ab7fcc1bf782418fb30c7796a99f35216c2d4adbe3f79e79db98e5cdccf5ab30d2ffa12800fff716a1c62bf90f504d93b041701f71905ffdb88f59513eedf220be1bbac3139c698f06f4836cd02fb56c5e85b72b28b0e900e85e77453e2e4b633fa6729f80828fde57e1d2abbe2ff156be114adde170cf4f8831e03ab33927554fc2491c521e80d8a0eb9ea255ea79ac797c0e3cd7b1daba1535908af844678a718fcc7e1a2ab2c480729085ff2912e5aece04bedb313e3b5c2bceff1b93b7152fe44e3789e0cdecf1eb5f7f8beb3aca518bb868e6da06b412e7d04cfce9646cb8e363f7be48dc84e8fb7853659cff5111b3de507a779e48dc9b5e06ffb918f239e3aa3e4c819db495d7ca63586d7bc9c1e2f605cce5e3ff361ac5dcfbc1b8370e8e22f8cc34cae16e7dfdc68ceb83160a8dd3d97c4d0cc662f6b19a51d12a5b2f78a41e019516a13baddf4d6854cf101a390865290631ccfd110d1c037f6c565c112fac1d4f4386be4727696b52c580a43c41f53e9d80f4cad3e039db4629db68923129a66e74cdbe638e018883069f1f4269629058b8ef9367c2b87fcad961e197c264ef019c9063e1f7acfbb6ea6801959401fc1208c67a755155bbcca85cb4b81fb8db1c9d29314b82d1babc50fd1fc4ce62c57bd3beef7fc5fe86a4867dc72e8ecf13d5ce341f4abe90c3dcbf7f0f5d57e603e0d7ac686979a7dbadaa667229ddbe9b94897a2fef6867ba1fbb91007457c839b30b6d9d2cd5aefb135fa6fa2dfb473cc691ac674f7e2ec829e2caae7af5ea5336ddea4781c2822deffc589c8fcde2cb2cc7554edb7ad8569a513420c895c57db75f5d9015ccab3ad617eeac4f3b3d39b6d6cd347b2127ae83c9ee779611b13c6de74e823c0d3800e99a57921393e84af1b83e34ee40b6d3a8bec00cef4b5a2d57afcbd79c5a7d11cde5b357b81cf547c7e69f43be9027249840143625dbc14f11057d81552ea09481667bc140f6e901b1f6f0b491cdcd0186d7386eccf5a8e2ba77581f6048d6916d80fdf35390a565ce9c9357d3476d9f0c9bad67655355ea82d801a14909f786f42bfb00d0bc9e5d49b76f08bc7357bedd76ad32ac6cbb8b7f9b617c624f89ab067f5b3e7ba67d8f1cef423acab0e7955c8fda529517d9c86434bbfdce4224d9ca0cae5597d4b0113c8bd99e3b00ccd2fae6d7e51db2b9df2fb09dd3ed757c54d35e7d0619b7d93bb75d5d635cfe9f9812fc01a4ae67ab817260c55d3ddd85e7aeda3a27ecf0beca7e6d1fbd0d89b719fe617cb9c31d291e197a6f4e7dee7a588fd6a3c85220edf21a6356278e738849c9e59ec478e9827ee280d608f8abc58ea876411901cc0ca9e077f4653bb4e6487ff74ee1a922f341f9b1f77e2f682f8b4ad0dce4e6fce605ac6581f16e7478eb1f9968ee79b52e0daf49dc8979e60c588269646f577487a62566721e5a5608874aaab2b4e208fcbd606b9676c8b2f8ddcab497fa4e01229a7096b9bb301f695da85657817db1830cd7354788e7d9af936c742cf2c65bae601c3ee892f11e9d94a097dbfe6684c4a3c8f76468674e7d4d2998baa25e47b3b7538c839071c012990e8de314355c0f99576dd635a827c2fe0a504db551e7da44e117e3bc125d953f5d44023a3ace5bba9e8c82d59463186a9f768b7c3efde08fced5764abbb47f6dad42cf35f04a7dd938bf0cd14785729f884cae139b801acefd5e5e6671bd9fb26e44c219be44ad523dde7d925ca5d3eafc2f6cf4a70fe236b873f4bcd7797bdecb89f64b7bdb04a648d4f707f33c4cbfd9bdb5bf138670c8db9dfaccd14e7f4d6b8945a08f58f4ed0d4c19a51769385fe7f9645785e96ccd91cf143a99785b216de76555ea18069ebdfcf65e02e8bc3553e0e137934e465613e9ca1ebb890e4eaafaea497c0bf9f47a092f55ad1e38edd787202bced11ced143b269aff911a9c1636bfa277b6f956cfd5d6bdfefd6c814d444d6f09c6602d000ee2b549d339d7a4ebd56874c11e7680da9b9e4d1d218430f4ac0b6101b7fe172c432746d1dc1baa47800f93c62594207ed5ef327afe7b1d95529b200f2e974d6070c285c73f3f28c38a3bac6b27a36d4efca65fdae4411b366ac2dbca8cf7a3cf5ef3acb2c0bbf1927757e3d81bdc9dae52a53e75c15f252ee49c9220ecf0efadcf51be6ab19f055b23698dfa1b5f9403cee26051756397dfa883f2be8774c67682e995c32c1b290beeb3dd3c2d4153046922c66df2ea563b4e7e7a772ef2369d6904136cdd9112ed9dd3819593fa3ef1379fa91ba059bb6ce094d1753f51b7c0b42cabb5396ac7bc38f2bfab48f4c20e13153b44d72e8844b2c377ad33f4bb3c1ea44f3b183f07e3f5299b3eec6b142722e95b9f06c0779a918197dee5afbe6169742d62f882662a05db4be84efcd02bba61322ffce4bb3f95d2ea437a51806a4e63a95b903b59e39bdd66799cb1ec688cf4af6ecaca48436c23b995b2e8f1f68efc3a591357311985c0ed1593f5ced38bfe17aee6181f3f5fdb4f5ee31becee2b68923f8a5524a09d02eb7ead84fdce7d609c2372966135b5ca7b686f385975c67dfccdfc9af20bf2d3888d5f34ba3ff4716fbbc14d867dbc8d39df9f12e05a0afa44ec99488feb00cabf5a6960e53d996968e6522a9adaedf69e97de80588f3b2ebf93dca70717c5303c4cf2117983e032d1dc0d2605d415edf9d151f9de93d6011f59345dcb93ecd5abcd0e95a3a56bd9658a779a9eb4d255e2dc2b7bbf5c27d48eeb0e43d812d30cfcaa3bd56c7c9c87e237b6fcb83cff137363bd6b1f7269794f6747bdc316bd631d8c15ae48fe04b18b13857b0b2d540aefa913dc1fa3b6597dfecd886187f1d8b8438c18cdd197948f24c18cbf004b099c56df1ec9976555f206ec32dd48cd4f1c2d83ecd23dcf79d7c9e3e8f93408fe1fb67bff649b6dfdb61b3b9e8999c1da3ff1f756d329ffaf7ed135f5a3d8f1ffc68d51c9ff859bb6cbb071f5adda7b3f1cde1fead6779cb768c0fefd7569c9c7e8a5378e2e4b4c23eafc80d882f84c42c6aff9196c7af6240b268f13a37fb8f6dcc19f0894e28bb6ec3c7fb69fe6eb23c9e3bcbef17d1c5db1bd1d5edad7d279e470e671d56e6acb0cc309e3d9c5bc899d89b3dfc4c931df2de941dee7fe8e12189d1559aae124f189c2d73bef4b8c1ca8df9cc3667cc97e65f71ed15c44d796f0238ffbc4c7a08eddb7502e7faf9adbe414ded00e437f590ed3a679c9ec4db261be37bc2fb3de72bfeb134577fea35ab7c399a8fe57dd0be07e9cfd4df29f647f593bd4964d4933d96c555b32ff1a474b9e804d85c77f63ab56e880ff2b8b7c7a4b07bdb0bce69e98c71533d3886879dd147768fefc61e8b7be4408e4ad2d045cbd6efd893c1d132f2147ac216a05f45b8067c7defb388f65a78b5cccfcc998655ae09f55e35a97a157b417e7938df34ff9caece546d376fd763a87ac146c33dfedccadbb00dd6df1919f04d27184450bb37621925de426f45451c50385787b327e411b21beed6e0649beb0d3aaf4fcf28799e7462d23b1a00deb126e3f8811fe2f14dbb9fd1f207defbbaeb35af7b46be4941c583f0d8f6ddf36af9da7ee241783d735e99ae7979fa9128a2fbe0536af5c9157c3aef08ea321c316bf298cc7c4872c81a1f6e30286d73c6ed8c7944e51a5c95d8f75dce672cc3adf6f3ee3a16781aee4bb98518bc22f6c157bf9bae7dbb44fb5e3f2375a898ff4ef0191c4f5e3dca0fccbf9fed5d503fbf98f1ddf7b7c7f4d31abbdcb6f0e2e8686fc027defdcc71b3163fd0143abf67243b7ed87fc98db7f1fdd8f079ab7d83edf5d6f2dac7d7acf1a5f4b808d7296bd13bce4d9931e83b4fdc16d23169d66dba66dca9faa6147cfd3be4ce697c3d6605d93fa30beebb1ddbbec56d0387e3bf9f3ca7e7f5dcab1d4f8eb631bb395c0af97e0a57af15b2119905ee4f1ee0dc54c879be3c795ee29ce648872a2c8321cfdaf65d31bfb9f1e606f716c340eeaddeebfcda51f22407727bdd71839bc7f50ff5fe6a9fb8dfda747d93a69fb79d31f8ffd1f65e7daa32cdfaf007ba0f164166e9e1a844050754429f1154b28cb1e1d3bfbfaa6e26ac703fcfdefffd1eccaf46a073755d575537b460ea1f753de11c5e9817b2c5bd5afffbb95bd81febb31fe3240bd7cc10cee9a2ba1efef03ed3174c1556dff6cae17742afc9b8570230d8607cf15bacfa9779f8f65507702ee33b2aa0b3e35c46fc82ba63ac37c0bde38f049efd35afd0fd658eecffcfe6f267b97f99cbea67bdff13b71ddbf397b1dbfd62bbfec31ea0ef7df0bf99cb1f67f4ffd1ce7c9cdb5f6446d66506704cf3f33c7b7e2ef2a6983e3eef2b6522098f4f9cf9e89b71de7f9d3fc5e799f9d63933bc673a9c1f6b89714b225b79b2fd8ff90d89ecdf89ee5c13d9affe3267bf3dc3ecc9f443ff3fc6b7fcfa0e99774e9b996ceab80f544b5beb9116a7c20f944bd2cce4a4987fd83dbe3f19e6e629d5c13eb8a74f9d990bc9703e7dd4ff973163ef15fe49a7febe46f35537dd8579f92f756b99ca0edb3f233a22694877d0fddff6417d7967f5bff375fa6f9cab03fef9652dffbb3ee3b981dfbee1288c7b869282adcf8df6272aff7fb03f8d22268155a725e70eedfc9a85ce2e0eb23bae85eb937bd2fab7a8f1d9da12ff1faea73a155311f79d219f4f0c7fd8031f2fe8fdcbdaf419f82fd9567fe46a3e7e43e1af1ced19ebb33bd9fe8d2fcccf89a4d4bbb17eff812f8c75ff8b2e6cb2402c301ef09ff707b958af3def3bb6e6fc3fb7331f6b735e9d2ccfc56a7ce7e0eb18f4e6c52ccf855954a34edf593dff6677ffab39f2d7b8c2a86be11ff693fdbf639ddf630c1df5ccef1395ad25301d108a310ecaf510fb329266573fb4ae2c5e72c2f78b3e7c49c979249a5527ba26c421a97f7906f765a7daf81ea0f873cc7f53a8cfb591c9d970ce6d43f8f2acd703ff8f03a5ddc39cc6bc5ee17e4502fc3e8d4b42ab049be2056083f11db2f119be36e9f377ee72b6876e293cc222e7767ccad7c7aa1f6ba98234722667ffd5f32b83ad5bac76d347bcfdde3ffbc6bf46a1d7658dff9947fd7c848be903e729d3913291289485ef3393c01dfb494c1b8c4796b1f6e19bff7a8d3ff7e4f79ebf8cc1e75822e7f82ccfffc867f1d73ab3fbe06bfedb7d4c8ffbb19ee3fbc85896ecf571381fdf73fcd7b1cc167fbdf71fc7385bfcebfdff335e9585d65f7de3cf7990ffbb8f3dc6c17e79fe2f36ca8771fda53e6c5d6537ee0d8579fb9bedf89739988f31863feb82c17dd96f79cc7b12e23bf33561dff9193113f58ef1aa575c1f59491fef11fe39fd52c8f13b21e1ff4b7ce0cb9e41d0efc5a9fbfa4de2754ff2247cfdb996d2ab5944b82feddfca42fbfa5b5cf5f77d75bfc485bf7e0be3bfe877dc7bfb91dfe7dcf8fdf9710eadf09b4d635cfcfbfcfaba17e3cb78f039c4eff9dcbe2ef27af5e59dbb6fb67701762efd53ddc24ffb077e70f5b1f78adfdfa78dd6e1bb3f22eecfc2bd1c9f7a69d549309388ffdb7cfe9617d17d7ce77eaffb7d24f9f74cf5c147c5777bff9cdfbc4e1b0738b596e0b994f59df4ac7d7fd2295ed7dd77fb7ffab73d445fbfad3ef6fdf7fed4d83b1f6bbea7f32f657eedbfff61798027bf9555d95bf34f5ce6633cff609fff97e5ff0b7e2d9e8559d4bff39bbf8ff7dfcb2ea605ffd61cfbce117b1ff2cb99cf2c2ecbced5e7df795bf0efbce97f8829fd9b8efcce99c6bd33f577dbb1efed62d6c6db6761b59a98c8ee4fb3a8beed53b076a6b496b26ebd309b28109f9bdeec7ecdc3e9791e853d6c76d7e2fbd9a8d3da16ec0791aaab59906bb6fcd3fdfd78bfc5fbbb9b90b65fc7cdabf1fd79dfdf6ef75fded5c458a558f26f6d7ddf136e889f314fe3f798e7ff745defdb5a4e39bee734aedd59b3b5ba9fadc5f16cf92e5bf774f2b69d25a1eec1ff4bfc5fc5ff77ecfda9e9d5dd098fa04f8b703bbdc683f008443ab197afb7d03851afa6134720f0fcdbdb7636e69b1e546d1e1af9c2f1e9c4adb4f4a0dacfb54f27de92a407d59de0ff25fc1fc1ffa2bdb49636974e21a6d9eeb5f7961a933b286bffb4abbdc0a4bfe4524339a44f96872d3b1a9735972293ee16f31c1cc1e392a0dc2c477962650cf99ccb25971acbdb99dba3ec595e5ee97399625a6779a24ce6739666df7b588ffd60b3f2456747b8ac992c559676779251ee5dde165f7399d4ed054beb951648c92e597f38a5376792685cea4ca694e541545b64d261bfb50f5933e9f1dfac9e44e7fd247995c325d657b677732e4d56f660b1b2064f656565739677b660fd942d795eb2b7d7982c3d2e7d262bbcce7569ffdc2c5591496dcea42970396172ec9b93b8c171cee7bc6f262ecb7be29611cb4bb55494bb5781a5a9860d971ea6ad449bcb0dcb43714a8dc9818dc966777a7229f23c26aec824ebaf4ae179285c2714779733b9e779eccd27973d9712cbab5e6cb864f5a9976c2c6a959551abfcbaeab1f9a0783b563faf9c7309bfe7737bb9c7b2dcdd7ccea5cea4fae472c03255b5c77e53d59e8dcd7c6e0f732e2d2e1d2e7d2e09973997354a6757f132d95c74776c2ebabbb4e765b1b9a8aa138797b5513d2e239eb6a25cf2fa6973563f6d3ed6cf2de75c5a5c3a5cf236ef4d854936deeede656ddeef47c9cad847ecb9f2958da56a3eb19f55f38963a99a14c712248ee57c61973993151b4bb7b49f5cf65c0e5c8e79321d534da663aa29f232c4f1371bcbf982e9da7ce10c4c6e960e97bc5d25b3436ec9ed8f6a2abc7e8acdf3d8ec7c2e6b26f73caf3dcf6bcfefef710c17eecee1d2e392d93cb762f3cdad345e96c57453b55456a6fde463b8b455874b5ecf81ebd8a0f271b7b98ed9a38e2db9ce2c6db4bdf3a533963bf8acdc21e279446cac8613ffcde79d6ab379a7da138fe7b9417b0492d9235750274c6accf6aace026d9fea2cc6babb25ab875bb17a78aacf24cf8bcdaff992cfab25b3b773759c5fde72bee492f793cb75c6a57c4c545bd0b8c432548795a13a3b97e7b19798f4759e876433c9316aae326c9aab9b8f722b9ea6e66df3988d05c97455752b8b4b56ae3b309beaa9364bbb7b6598a0ee0756e7fd60d75c623fed05664be79a839838d73688bf202d2e3d2e332e732655fe9ccaef8f6ddd5532970a2f5b6173cd9f333c9c6b5c273597e9b2e6ee58de2ed365cddd5b5cf23cb93df5b83df5f6e6c0249bffdede6618a1fa4b667ffca5c3ca545dd6579aa762fb747b89e3ae3b1c7fbcd295b9e4f58d24a677d18461c45cdfa0feab4f8e59d45e5a73261d9dc93d2b1fb09d4b36aeead3d97b4ca27e81f4b9244c567b9e67fae452e4794d6c2e1123c00e2f589eeee073993129b032bcb17e2a9973b964799902cecf9d29f07af50e8e9bda3b3b9ea6441d053961d29ff3b4cc8eed4c8997df331d50fb8daaf2b4b9ca64c5fbc15aa0be812c581a97b5bb77cb134b53591a93f693cb9ea75d3a5c6e78791eea26489e96d91f903c8d4d1d2e799ac1415d5287cdd82743cec64a50791d1ddde1724ce3e13c52057bc9dae59464c9259bb7bb48465dde4513a6cbaac4ecaf2ab9bc1f9d0aed1b75aa88cdbd1dd159dfa74fde7f32b3a720d9d83b834a993479ddd2818d7d2a8c691cb453aaec94bc9c81d76d201a4f23b33e4f27631a869baaece1dc55658f953be15c926e96a9cce489977b9ae0fc0189f3469d306ea34ed8dc5427ee98568d4494bb579eb6a24c4f2b9197af38ac3f1567e06976a9c0e4585e3d77b13febc598c645dcd0e6e35c7377aac424ef9bbd2a621df7da1c79fedee438a52d188fd1160eb3a1d42dbd059327c635f6d61cfb686fcd3dfe1bc7736f2d5c9e878736495b7e943fa0ada1eec879f7b6c0d2d87c8e6b4be65f68cbcd479a13ce2157d8339bb27734b4297b47f3781a8637207d2e41c735752cd753916b536fecdf7dc4747c1f711dd7741b6d8ba68fe3e995aec8e584a71170eeee233e269aeea0ad05593389b616a4c765c4f3ca5426f958edc982f53b59305f4dd35df41740fa4c0e264b5bd90297124fbb64ed27ea580f6fe970c9cbabd85879d57e2c8ff719d16d5e1ef325408e69700ef4f632a54c663a93dc0e95af0ae651aa4fc4bd527d3afc371b3b93da8845207d2e91e3f6f64e5399447f04a4c4e584498bd9c752edb18f41163c4fd46193da82cdf37258bd76aec8d3081b2e3d262736ab179b7f95cd6d85b5b4b16fada5cde650ef0ec8b97be04f9857e5682c8da3b9054be3ed591ac66540421bad51b77a6f698a5cca4c228ef6de92e368e54ad84f952ba1ae572eb72996ba415fd652b9bdeb3d15e72748a67395c7e656e52dc6346ec9d330dbdf7b2adafede53c7f23c86d795c76dbea5ba02b641f5c63aab2e2fc71dcb515939dcdf1e5e9f383f40b2dfdcffb69fccafb19fb66071e9a074989d1f6cc6b506f0bbd62c0fc65986f97ccc83f9ad206d964645bf7b00ac6769b81e0cea582edd200fb429efab01ec0d937cec064d67e5b87cbc3d95e1a4a7f1b152bc0ae6b40ff610d3b83b1779b1bbf3d85cdaab02e2d65e15591a7fee94c05941aa3c4d44a11c7717f5aecf25fb2df03c2407f40ca410f13c6a156535e6c1e208ee2ea5880d7b55b6c1c700599a2c0dda3d90f982a5c95017dc5db6e0e5c86e99a164f1137fbe59be522e0796e6f47446c9ca99d8c03551da3c0df040902eafdb49b6b14f4e13b4157bc02907a5c7ebb651239949b2e012dbb7d9cde72c8faa67e55603afab829c1864c9fa75b3cb964c9e0496a65ed8d88ff592f56fad8d69bd9dc725ebcfcdded79924bcbc5ac7bed9ab6cecf7da1c7d4fc0353e8eeeceedb964e5ed5501c76daf4a631a077c7590e083a0dcb3b47b4d67d2a45c8a5c4a5c2a2c4f0d6311ee5e5bdaa3c4323415edc95e9b7bc01541ee78bdf6c07140463dcf437730adf944dddf6b0b1bfb0e64c5d294738d4995b2342675b01cb3e76d59d8254f8376029eb5781a6627a00dee287b9606f934c881d7addab33e1bd87cf196d91c74c35b8e3ae8ca2ef6992bbb02ea06f85ea013fac865bc4a95a04fbc4a95591a32f79635c8059f63ba5bbe4a4cb2388b5799146c264896d6a488079006c795f09802a4b1795a7bc2d30e2e4b3b78ecb7606b5c8ebfd97dc1e1d71d9eb70b3c624f16de12e706e0aacae49eb7c5c5b89557b92c86b0272afa0d7ba27a4caf758fcd09dddba53ccd5e66e5ec655e8e86b141c0e292b5c12b9d39932e6569221c1baf8a249e86f10290c80b7cddab6c994967ced29025ab1b5179dd74e4aa20555e4ee52dd7bd3224b2df47d2fe1a97e2dbaa9f01beca239e3992d584865f117d8f7c83e85e436a2a92e589cdadc02b484340967cfc2ad21048d390ddbce6b261b1dfd731ae2c611ecd9ee967406a1b71d47c125eaead474fc86bb3744a9e67c1ca2758be5dbe3e096282a920de0fa682b83abc0eecfa2bf3cb4bafb4597d874884f4aecceb5d61ac08a4b467f55e66acadcbbc66b2a2ac4c578958db6becffc0ab789b6be6cff815d9bdf64c6a3993bcdf76ccf722fa7e6079ec455e7ecdfc0ef3694bacedce12b98d18052aebfb402b9864fcc809d09feb9d80f5855dfa0dc1fe9ce71b2e09e74d9c9361fc8ce8f613794c19712c34791cda2aeca5cfe5f83b6332b0b8447e533818d301895c6eb0038d4b8b498ced994324119464e47a523470c9b845e934ac1f9c928d633520b700c9b89ec2eb4849133dd6adf3c842ab24dbebe3571d62316377c263c5c266c9d600363bbe06c06318ce9ec7d6f736e5b2e752e052e492ad19706cb79711656b0691c0f8dfabe460ecef557230cefb2a718efd742a6fc9a5be1ed704342ed99a81b6e1bf3fd604f61e5f0360f17cce439fcec0d7210495c7b633e6f32f33ce435f65c63b5f27f62e1a63fd0a8ff52f784cbf676b15a79ef970af131bf801ca8aa7e131fd25f7a59627117dc665ae3a7c1d80c7c827decee631fcd78149673eae03f018fec0fcaf57c5c178d0abe2ecc6b8ff5e6632eab9e4799ce8b80ec0ea5a2f78ac7e31e6e50e1e9719977c3d4030f97a80c3dab067b1a6cd7ecfd705f62c96fc11a7539f2c2ea7b2faaa2aafef7ceeb078dcdc6171b8b9c3e2707347e5b1d09dc762e13b1efbdea57c1d201d7f8b4c9ec6b2587b548db547d51663592e5f07708794c7db6d1e6f77163c66bf64b16d4d63f1444db3795c9dc7f816368f6d33ae0d728c71bb029732972c865b7a3c6f5318e3e62c86678a0ecb5b626599122f6bc27e5b63bd172e5bcf58b8035f6ba86c9637c71b5bb578bd2d95e539fa59f325afeff2a39e03afe7e04a3c1e2df018b730c6b8590c6dbe64f606246192c590970e5bb7586e967c2d6138b1f116ac25973ca6ecf0b8a5c3d741e74ba643f3a52bf0b402d3215770452e2526992eb902d3256f39ea92cb75c91d754875963c3ecded81b7647def2d3dde3f2eef7b97f7b9cbfbdce57deef23e77b9ee784b97c5a4977c8d03fee3927079e231694f6792cd2f4f65f3cbdb317be7ed6c618c55b33cf782c363b73c9eaeb9258f0f971f716185c781175c2e793c7832c683597b22ba19258bf1327b0e92c57a87f1ba374a6c6724737dd6791c5c676bc720331e1be6752979dcbb1ce3de84cf2bc27cdbdd6bcfeca2fab4051e03667691dacbbdc2a4cf6379af128be5bd4a3c7efa74ca318e9cf23444e5f1621e677c656b6f603b791a169b07c962cd9b3d8fd72e6b9676f0551e3f15595c33e56b1aaa6ce37a912adb3ca6e30c2ca6e30ca86f20072653fe3b65bf05938de32e63ebd0bb8cad69ee4e4fdefe89cdea35d920ae83243cd658630cf0233eb9c371a59b9d3dc61807b4fd7b95f9a03b6d6eb3f8d5dcd9f1981f5b93a4ee2e1ae385328b23a92c760bfe058b41cd79dc6af111eb2b5f0526b92eee19dfb6f7a6c4ea0e7e068b317ec4faca13b6dfad985f8331451663d4789c6cc170505bda4c6fa93b20865357e06bdb7b47c579b57738a6694b0fe3aeda92e1afb6647e2ca489042e798c11d738e9472c65efb1b8f6ded3799d55c6a3cc717da0b7555c7beb5d81af47558e6eb3b80feba3cad3c6d80d4b6b3ff97ae8602f2d9dc74c141e3399b378018b91bbbb48663e71243b636c41405f58c2b54994e8574bb8a68d92fbf780712809f7f7f9eff2c3ef673efcf2f4e492c50e5493fbe3f992f9f0f9e8874f78de8a5d723f7c6771bfdf95b9df2fb2d84135197d775c97ddab8a3b96bbb75979fb3df3a177a3efac0ecc8755d13f43ff9c4be653abf2e843b33ed0d8da364a93fbd2a6c0a5cce58449eefb222f0469733fde5f709f1bf76fa0ef3dfae0f8dbd26cee1be31e0c940e971ef343711c8836fab21eee1d00698efe5fef15d37b2acdc4b471eab5e6ced6c3eb8df1f788af03bd4a0eaeadbe4adeb837a562ebed8ec07571992df9fe0b89efef511cb6b784c7458003f97cdf42c47156659c59d5f8fc99cf3dbe96edf07d1e2edff3e2567b9ec6627b59545b1af19395335f8ee580ae33ac1bcbe1b14dd51bcb5179391a5f137b7abb3dc717775c5f54394ef49c37e836f681fa743ed6065d6ecbc7b5b057e6fbed326d5c97f1989d9bd8bb711d067931ddec38d7d8556c8d6157abe3ba08c61f76dafcc3eeec4e0a93d568e758397b738cf52f788c7f31aed9b895c9d20ca3ddb1591c7a6f8f69969866aff2fd4630af210dccb131d696631f40b9e37cb131360275e471b2bdcbd2f038a7bbabf50d9b2fe247dc0acb01db38c66d40777cdde37e8d574574b3fda2836a358b8bdb7eadbd32a94e666671fab1a9afc54a742f662dfeb4b7cfe1e8d3745dd43f6d594ccce2b65ff5567618d4ab2d0bc55a1566263eff7a316be1fc3674f08cbbeaad345c88d96178bd3aa5360b7af3b25f5c8b705bfd300bbafdfb77634dfcae9359dc9c556f762b9fa66671ab8f5baafe7b9a73b112cd33d95617d606a8b379d91779bd1ad40ef282bad83b533a86cf62254c2e665115c72db5dfb639be0bba6ffcd60bf3e76a61f13698f7507bdec2edf7369945751dcf2e21823f4917a7e2b37d66b7dad2c5db760a7d31490ae196357e9f04599db44e41422bcf0cff4e7af19949d6f4a04f6eeb90d46923b6245086a8f1fb28f4eab410cb4ce7f703e71a497969eb7e6eeb664f062bdf0459490ccaf21fbc7eb3f4eb649937b1b11789aef45148ef896c09b191d5a9ecd569a3dcb2d013a3804e33c3cab3c6bf92d01af01ddbd0c26f471c0da887bcbc35bfd45566e5d8d28cdabb5c4a96f933296d290ad9752774447bf0de373b5b8a9a6c189f8f1ae76207a612edfc2a6df642c4af2741564441a54461d7a6e1ab14b79fd749683d1d5d15c9d2cb537efda0df4abbf1aeb6a48a24d83f63834a24b46ecf9fe47b9ff1e749db29e990574e598b5993dd8e467e5f6fc51b91acdc91ec67d458775bd778dfe79768b0f264e99c0fc11efa2d4f02bf8f03274f1a7f921a569dcace3496fc3e6debe7f88d8538f087a301cf78521ce0f95a8f24d0ee191f9378a7154e63d2684772bbf1f938decab43dc98ee4d2c3d2cb79bdae44b28a28746914b893af7d11ed9cdcd123ea34bcae81d8468d96c7922d1383345fda55daba0afd598e7d9fb49ae44864b097f33a09b46914903c09eaeb21c0fdb479d2d6d32810ebb4a9cb28509a2810bbc4a8a751a3dda340c9d3c67f6681758d03671a49da3d82f637fe4002ad8fa47c1a49b3472cd5772239e72850ee24a0631f5d1329eb52d9eb22d99966929f677a5ea7cde773d896dd5e88caacc974f519490ebf4668baab264e630e077d7ceef48c42ad8e24afb783b11f4c211ba2a783e7e479fc1ae9d29dd96f745b8c0d9e5f70eaa3d6aac9e0d4d9c71874d77417d16c57cbce38ffb05fd521da3975dc7adffa3ad965f946cfbf5e53e265d6a6fad7313115d258cfe45b7ed6d90e54d90efc2fd79cdc91bc17a2cfbe5cab041238f5c1987f5e6b4f4224b9cf2818ed8325458356dbba76b3257f1a078a4042ebcebeb5a9e48941af7140eaef73d979a68d9f131d6ca4d7254df631ef2329cf9346a91383ca894405b403121533c9efb94ed591749388e1959be0a37f9f916cbd6f027b18ed0e69bbd26e6c85ecac92a73bdb8dd5c7655d6e743e06a1d7a53b5739189a32eaf621207d32789d53660f9e4e2192d5d98d764b42d4ad8f6fc0e03bb43a7d263ae912d04da986f60e91943f123c4b25ef52c399828d4da5ba8c75bfcf02a565f90a03d9cd0b677895c968ab967e91967e7908bee857e04d62fd36f034135bd70612e455c4ebbb31aa67047ea3348e7956c6b2399072fe650e9a4a146605f93a7f03b38f9aaffa94899ba5957f99b7cf646935b1f199265b3a55ac7fa4b9d881253a4b6fecdf3bcc7527d05ec631489aac20bbbafeb067c1ac8dda79b3d1c995a7a19174cbed707e8b649a4792f3c8024588024548655a44a15526baa64492d613831689ae95b144fa38f0f243c8cfa5932c1131a4a545dad41591fc21d3677712d2320aa81407ca25d1fd2e69d999d669a395993eeb53999669e35771e88949533f9216bfe3d5258d5fe3f7cd655a272de43befe3d0a95399368934ab92c6173269d6c732ed9296007eb16fe7c8f44242ab3f04f923d3fd6b2ad36b148845225b6dacd7f738a4b744f61e69e328914421bf07b62d50dab49989a9419fb13e13c633db0e21e895a6a4b297b3737728d8f76ad4bb54c6df2dd8bd54aa2512d29e049e98e059adf41a85b4c7f343754d88f5d98d84548e03988bda2dd6eb6bc2c7c8062cd03fe78d1d3817bbd9d351bfec50a3d9600e239edaad53a6cd59893e70d71ab2e5eb3319ef4bdee02cdde11397f36fcf3b4babb41b5789beeafcd7fb3b9f6683db8fe99d86f487f2f4f17bb39ce7c960d231fd26b8f550fef83b92a0fee630d63f92bbde292b61fc4d965a1e49e78ffb2420d261779a8c7a4e4247c8ca541ccb238d23384b53893f7e77b86f6b2c8f3454b6873d1de73019acc961e94ec6f610c9ffd67e225d07c0d3f1f978697d6b7f6ce4c266a90a1ff703b17776ea90f0fac62591ed5df5d1bf714b7a7b7752c6fe8fe5799f0deac778c2efc36e2f7ff92d3a832a7db305cde9a33f719e1b804de3ef7ab25956f4e3f9b6a6879df9c1af12d9139da192c6fc53dd1236bb541edb93ea59910ef36aecdf7457bf1f02f3836fa54d4eb3b292c8c7ef9994ed4e93b1fc74a8bff54f2af983b3db0be3f3d9327a46e5fea33e59ebd3cd32fad05fe09fe9e03e477d3fe8397576e6c7fd4303fd1709513b9c2edde574b9fc385dbaf67499c8a74b179e2eef17f63fcaf5e972599e2e13711a054e99c8fe3dd39157e5a9aef599cecece3deada904ab3320e3481840ef09621967c216a34987745d2ce9f51687570fda85b0f12e4f8bd40125ac0679e71e8e509b76189a40c5940f1fcd4a3eec01cef32ddc9815b44b2dfa5c073d87cafb3d07a644d3d305cf22780a9fcec9229696662d27cd8923309b46ba6e765145af551af6f49302be28076245000c3ab2cc4f71ec14edd807311897d23eca88b5d66386204e5e8f5346934b44799545724a4771266e744c23392aba3aed407c3abe2d0aa23d99b2692a2243262213cfb0b5fc577df6af65e94324d0d4b243a7e1b0330b587fac2dc042e7d04de6bf845a2233f9ca678b6aa26a60d8e05e06f4e02d2243a7006478e032244d20c78f914ec6114880f8e01c06fce4933035ea81c0daf4e74bf4924a58b246d9a054ac7b15b3884548ab1fc398c957034c8350a3476965aa04cb366768d65478ed097e2b66f98f76909f932bc4f8d5cdce8378eedae98ee54fa61f7609e3435f70704d109b58933f29b9d2f1c1a41fc6a0353391b798462ebea1005234fadaba855fb4ffbe80bcece1239de96c0811c291b7db7d6d1ad4b1c7edaca74980be3b387d612ed6f1c36fab4a34d4dd321e7bc446ce2507bd98423b7ad1fb6aecaf1a74d12b3a5d38ddce26078d40e44feec7488e454f8b00f86331c3eeb2b26adff748c9af3b5ac455b35ce7d292b922519398bb209d4210a359c9ba0ab19eab676258dd62792582732cd139d3671a0e449db818f3164307eba763beae05b5025d3eb3295699e863ef819d744f761fef691e45f81cf1ef18ce2197e3383c8b48c0d0bfc895b04f35c9add92d0bfc7a1a71c75af4b1b1fb9c621a435317cfefd79654a424d8cc3399f4f248f434b8639071c03ebd6381df8c2a4a97bd0f94452eaa34ee0ff3a696a119e4b9bd93dd3bd47225b53d2faeff88d95663639ea444c1ba5cb0cbf27216d138956ec5b33de34d6eb017c2998bf473d7f24815f9170fec80c7a86fe21d2ec410c67caf882037e768dcf35be9241fb0d8adfe401ce94e9c8f53f39bd7e1313e93672996b147845dacc2e60ff12e85b49c3be3ee219cc5e9fc804381bfa06a9ec29d0cfecac559fdb3a314f5bf0cb2870a91b096801b62369e0b9ba4c9bd9904844381af33c69b401e7ac4c9f51e80c6c0e3a60433efce5a361756017d2c6bbc621d888ee11ebca80b6067d8eac8f039a1f0de79118fec8b1c0ae08248036dea68c8bf94d145ab7a301e3e25c627d764d420abc522201add316f8be368ef5f03947b52e1d630f839667cd3807c1b7a62357afed40fdc046d2e40509b8ee07671a05fef8dcbb0d3c6ee4d9c869c6b9a7b4516b4d464e9e86913c62778acf91d1f7296339abf973526c6862d6522591bc07e2950e3e38d8e03c8f1af8bfee49338379306563827d318d424f4864eb4ec29acf139a1f18e6f524c073cfd9ff9206ba835888fda9d369d4ccc44caf6916f8d3a8b572a2fb4324cde0ff471478720479b6c0ef9d3a319c69d4fa5514ce415fa6d1f8fe6b8bd7873850301682e74487de239394293b3fc642ff12fe87b1623183bc3f84ce95e16dfd4c9b3a4fa08d60e7033fcfa02c89d651a0f0b4b44b1a5e4f893e323de7d767b784eb069e0d6bf850de94e8fe350e41bf6bfc3f61df2e83ff6f89e4f451e84d09e05a30bbc37c23302fa599087394ff2fb17c6672d250e88b29099416da88d7813bc8cec06c8983b887180ffeaca45d317f8cdbb1ba91302f635dbb13e4017e4d742b8fa41bd8978a04b4cb8c1a6d4d1200ef40aef0c874364678b672eb75582eda87ba8ee07fd9ca47cec2cf47c7980a91c16e7a1de072ac7b4d24b13ac4e01349786e32d8972bbe1b2ea3ad1952bd16c0dec58102f6afcbf47a1a87f30eda45246d8ab81b284506cfb4f31bf854903f3b6b9ec50f12c3bf13ddaaa15d6047d2a67e648607ff0f182b04ae123817b059a0ab49e0433e6867c14644d2ed964af0fcaccff40cf80efccf31df9a269285dff182f632aea7a0eea53ad814318fe47a9aea75c9ec2e5ca7e08b61ddd28f739e6ae02a552a7b6053e17ff0c770ec5249cb533c8fde83ff6fa9e45cb3c09aa6925f66a18563f4f1cd35c85fca1fa93167f94bf92303de14403eb306c70eec15fc6f64806360bb4a225b8f2c9c4f53d97fa63aed301fb9067e073c08633031d7f92c701e49a3206fcb601cd8b84e333c9798b511b8511c3a1d919469c6b0a3233a8f29edaa67f4115f521e1fd7c3571a8d362dd42611f080607649c00607da545a1d49ee1483b46e49e1140f29ba44ef21cda366d64681f738ea5a19055e9d806d08b23c86742de07a5d448195038e13c37ac48107b6e99ce8be108534ff8cd76822d1eb02713df487549f0dc0df33b4010ee03be0c98d8439d82a31065e29d302b03ad17de5a85b607f8a0ced1d8f33ca14b04e8811df2c91489a00faf6c1e50d0a3c3b877e3c2277f799dd92408f6ac0419c9f49e35f8fba738ef87847520eb89dc7212d211fb025471df5e246a07dd20cf849cbfc04fa20c8139c47123839da483caf5abb1ff0bef8645cdf81f99c47ecfe58ff3291ad017152673118b05d6093521d71b064bcdd1fc0078903e74242f03f2c91c7462afca65ce808c07b88c4e633d167b708bfff4ceb83317fa4925f815f32c6ad9197053ef0f0260a9d331b1fb09b569e36609330aedb279fbc087850974accfe92a61692c61f3036c36cc170d4c915e635b49f34f491492c7f685f1450e4518994e580458c37794316d216308d849672d433f6dd40c85f9a5551e055879002af29f97d11c602c62fd6b55bd4220f3c4781d226b22f1cf5bccb74ad04fc647883b12a3cb387f11a161f82f983f11efc662f3d1f42b05f5a77d4eb0178048c4f1c3af8eddd38a4ef24cceac480f23b31696af09ba6317e2b35077fe3924862ce781dcd2349eb0ebac67917c67ec01f9b90d019e03e6004f22d5d13d26656c07d12201e96479d76515023b6247a7d8b43fcf6d035c6ef3ad13bf2b2e656034626812f247add9090ded04f45fd57ead1fe248d2f9086760703fc424f4e64eb82f73f6ceaad4b1a4d8e42fa4874ef1e854439ea33e00a77c069184782df78a4cf58877e98839f08bcaa667678768d43c026e61f02d706df10301d6d5b83fe39f0c79e84a4236136c0fd037ebb24677656c635a401fcd5aca92f47c329635dec880176d8396792d61f5ae08b75cd63d7e738b80db1ae81dded63e0bf2105fed1263aaebb808f7865b6d5cbd32617a31678e4ac075e7a341c3185b9d07a60877b22f9e01f0c87d01148200ee883026605b769a6e7355f3b02db926786551f0daf8b24d6ff19f47d83f35b4864a897951f0daf8f021e5387710eb43e33a80cfa49a499783432fc2619daef71fda3a53209ac2146df3aab893ea6cf1fa99c9d1399cafcccbee16864ec3ce416f826015e04beb11205627e30fcfbd1a81fb896d7f8d3438bb1d4323606f77e5b3c8568ed3e6e8b9fc2ba74efed1075b3e25d5a8751376b5469758cdef11afc3f44d75bd14aab24ba86fcdaba25b9d3ac101fda813ce0fe7b1b5d210f7eed3483340f52388d2a451772920792678d29ad4ac86325453b52b4c3e9723e9e2eef258febec58cce7fdc7e9725180f3e669eb9d8fba5644cd4c006c881a4b8a81fb018684047cca06d7a6420a3ce10ed80ffc1878e811787eebd5898198f4440e1b807e39e88b22f687344f5a4d040e03b890040ee09a98e9f9236d691185759d36ca346afc3c435fd2aad3067c2f5ac4c83d007b802b403aeb91ca5e17cbe01fa1af88fc3996602e3ae8ff4421e24fcde34b0309ea33e29054df1399a2afccee811fc430286dd06e94b1e1f335b51ab83de0c7350aea1b62825edf199f9e35c02b115b42a78e648c5b5509f27186211fb12b839669eb772970515de336d143db95b48023da9573e836c53c3db0c780a115e15c83e8754f02c49a47247bd067551628d7449e4f89e13f1309fc6a4f44fedbd29af33be0d075da64ca51f7995f17d29af119073832c6a2c01fc7b5c81031a58c997f2d44cdec7ad433e0c4e0dfb6516801e64d89e43fd226ab8f7ad6656cdda04df45981f8079c08fb2c03ce0ffedf1877033e0cd837005ea430eee88303ae226e0824a0704f24520ef8da258176035ecf7deefaa8d7c0c3a03fdfa32013c19ec6cdacc842ab058c2041f648657a8942bfc1981e9ed9083a0136d7bb92905ec066405f339ca873c0864c479db84661a6b07b7e9336da057081b7efcaea09f7667782634bc5838176ec16055e0fdc0b702d95668817b1e4439fdda2d042de9004c08f40cfc447d4d457861f16aef1824f045c00eea58df8485a7a4b64a74ce46c9a84fe4042ff76d44531337cd0897b14648f43a0611c320b81ff295d2a3b30eef7387406987f49039c1eeaa23c32d9120f2d7d9006bfad3b4dc05f0d8097cdeef84db5903ed2462b111f65c03118db9990cafe250ae99334f50bc31ec0f119e0d1f9103a5d021815682db40ffd00dd178e862692c082f9d04781c3b87a03f5f614c0a118632c804df33c863c1bff99c89600f7b2a6ae3399f689c4c6286d66e06b017e29597053b2106c0aa9995fa05db0edb8e63f6b587c237f2412651806bcc770c06f2b63830e24009f117c05ff8af3c870ce890c5c880e89e494581e8b5f5f01cfb0ce211d32c3afe26036fa0f0a60d9a1f52f902e93d8370e53b9ae92c6578e06f0d6791d87548802980fb369a66b807702dccb0cef9160fc558171022cab93c603fc7a4f026d7230a8104b8029f934d3674a227b0cdb4202b615381070da29f0f6b801dc251de7b2528cf170f04fea1ef803dc4b258c7b4b89ccb1ad99290c8f8948020a73458e025c6f06dcec13d00923aba3c681b64fe220477b7d08b41279a601fe82571f0cfa826754c8ce54580feee3a6cf85f5c5bdde16cfa3b3f84758cbee7db6780aebd67d20961567292aa3bb03b2037f27ba66452b452139cd1af3e8c0ff3b788e4aab1f806b0cffa230badfe05ace7c2448b33610438f4e338734d7592103ee0116e61962607405dc5b65d3c96a7b9bacb6ff4c56dbe764b5ad26abed7db20a9ce36671cfff59dcaff7c5bd392c1ee56171af0f8b47610ce54909cbd3bb519e266fe5e9722c4f2fc7f2f4d3411c4c646b1a059e9818de34021ed868d328101bf0e7a240c4f839f60bfa5916f2e12864fa1385be80d81076a88751a375c4f019de19ce346ab87f06f6469a21d681fd8e9a19bf3f1b1093580c08f780242cded3138cdde439e00b70e3289c0376b1b892540b0caf6887f949f491313f2ae7fb462a5caf013f19f293eb5bda224e815d05c9e22c3acc6107633b99ae819f53616cc5b0baac01e917e0e312e05e7a3e258157c79236e5e75f4c49387fa07f12ce590ca7d13a7caef12bf03b4953df59fc77d6b3dfb33e0bc42941de3e0379837a12a96e10bb70fd1724051f1125fa57127d440d3ccfcb95ad1a310bfc23788ec70388ec9791548344ff9dc77fa7f83d675d0309be1f4811a551c3fc9dc6c10dec0ddbf311d0691c5ae09b4d8123417fc78d2f1c5a6f1a4bb33ad195692cd76033016f6e1c5b709cc087c5388cee4f328c17d757c4021d310be43395f1f724c6e766e8bf25faac64cfcf30bec6e46c9a18fe330e14c099f200f7030df5280940ffb46912d480f188352c16347ba23f12cc90e7258d86e39034bc3e4d7d417fa8a9ef71035833bb603ecd4cce0c3265b1736d9ac84e0ee39cea5a1f630c08b8f7286bc40c8cfb30ec009c783934f03cc535ba549f21aea686951ff47a3afac9a961b1d88e613d12b0bfa18f31d0b4d1983d6efc7314207e20af4ad136e68019650ce99b5945e0b9d66fa316f1e2cae2defe9dd97a5f02bd4861deb4739075a2538c2bb158d34d017d49310e9a4d5349ccd17f91c42ec1ebb32bf4dfb8d698caa37fe3e5a03f29ee7bc0189448a01f78bc3f957d563f3903cc666b73b84657b3f8925ef78061992e622c32d36715e079a6cf2e07c493d923413f68d6f3eb1877c8404f5b16cf02fdc90cdc2332c5fd8290afe10fb1e14f331ebbcd1abfe57881fd9435b30ac6316b66d7ac99a11fc5fc25867199e4170c27fc2ec2fbb33ec6fd64b33ec1fd317e9fc83960c5399166d343533f537d06763b291db0e1e8af44ef60ebd76bb4f547c083cb4f6ef7bba9b47e63f12ffeec75d698d2da20c5ade88e4e63001e30dcf8d5b6076bb0efc7cda2ba6f16d5e9bea8ea7f16d579b3a8de8de1d4bd0fa7eef2f3d49dd7a7ee027fca74b25edc26ebc53f93f5e239592faac95a075c102e8785f0b82f84eb6621749b85706a87ba31db2e9f0c75b73a763959d7f72e9b4681d6a7e82701d7d5aa086c6c80719b3c0e32f06d2e445770dde0c0f6304e8ebad683ce46a175836b693bcf8fe8db005e3815f8562972528cd771cca04514580a8bd1e1bac21dfc9ea82539f848e8c334fe9019b488835b7dd479ecbfa10f02fe9101fe84f5208055cdec8e7b8aa4d9e5a80327ec003f1abe6fe88abe136287d613e63f0dcc67d2980f85d780a73a056298e4f7098be30947dde958fc0f7de33231fc027d238962cc2d356879086622fa3d881fe88b5491442fe0efb0d819aeb7a1cf833135b66630c406ad12c919c0f78921ad017308fd1fb82645413625a1758f43da20bfd109b3fd8d76677136eb06d7587c0cec386d628cab922ed145bee6489b18db46aec04b49337b1003636815ae43063e9e2d46c00f0a44f06f8a38ecc017ba67066d89e4a33f445a0fb0a7880db60e79d4b347a213e617c9b4cdb07e9908181ba3df4ccf51883e51451a87ad191814f86f7dd4f3166c6dcce2b5e754b2caa35e97113c17f83509c147f20abe9701d71212997699ae8947bdcbb346033caa5383be27128c65f7c4189ee45571482f71987547fdf64c826c1a034e1ae31e065a2376e85991611cccbb822f441ac4a50b09e19af8806b18f3d2712fd63591c0a7a00fe883449fe1b54cf772f495d85a67475a7a23812f1c75117cd4299e0512d25b1c28dd511771cd16f765a07f046945869f189fa63c5ea6d499ec30ac3228f8e30ff08162e6db5c13993e52ddbf1f8d39ae690016a5327d4692231f8d39aed9a4b81603fe8b72391af32bd8523cc742a6cf44caaf4763fe481b65ca63e5b80f0df76b48649a8673e0d57d14d415c6de020f7128c33d1b0afa320cab6af03dfa24a8e1da03b87bda3a526ad03e0bf21e7c17823e09d85a3a44a105be479eb16b9344069f6606cf9509e4270157045fc6bf806f73403f28cf33990eb15ee7cca799f3b5113ac40185e73ae0a9a954c37c1b62f40d9c7b04ed9066e70cfd1fa5c53560c04919d7c607f05b306ed710c0a86b2c53210af3ee68c05c15a799ee43db0412921ce3738106d8f54c652a2472763f1adee3c070a7202195a240c9994f0218534b11ee2d218fa3411e60ff32fca6358bd9810f1223d6d4e02bca7170eb580ccee7b8432751339b1c8dfa011ce4d0687d1452f0511f47a343be21ac77ee2dd317c23a9f0a91e15e9d852244d694c5c538deac4ac096772972a6d279f9e5fa85144ea34b6b672aad77d1bbd32ca5553d95d62dc71f6b8ab139fc9f4cc18f299c6621adebdf7c8ee366d15c0e8be6715f34d7cda2e9108f6486473f97a7eedd9b4e56c56db22afe99ac8ae76455409af7cb61f1feb82fdeaf9bc53ba4b9ace4d365fdf374592f4f9795379dac57b7c97af5cf64bd7a4ed62b48233d0e0be9745f48cd7d2197f2509e2ecbf2f493cb97db7432593d26934d3799ac9ac964631d379b657bd82cbacd6679fd67b32c0cc4b8ea611d9b6b229f1f31992a3fefaaf2f36e285dffa2742fea71d324f77f8a73713f24c5e6d056e1d0755ddb9cd7036064534c6ac0c61c63892de023fa4e8087552ad39c04809de47ad4b58ec894ef4999c1ef27e02970a828cc86a3ae4da210f7c34ea306ec9e05b6a88824c036e77ec47dd480798089f50370efd0d222c17578513eead61df79d4922ae590106c2f3c051a216d7b45e6203700fe3831cfb10f370dd1c300e63880df858888375d4d212b8522401f63a0d31708d097c27b83f4432ad70dd5ad794a3ee55b846149229d1f32be0d921a455d2cec1776a01cb32835660df8941fa23c6ba29fa1024f0c4a3ee0f29ee6fc335a33b6015e05682ebd6d01ef23818b4491b3a25add7e399a12d6d0ee083617bb23c055cd2315e971ff5ec8a7b6302f48d26884b326d317e28cd04f89d0116816fa3d7d251cf2fb84746f6007fe4a35e174948317e14078e78d4eb067e2788454a7bd4eb3bdb1f8c6b38c251af85aca5ef91644de3c6791ef5ae4b64fa0e9c366e44f87d8f5bfa8ef93733e5a8df9ad8a0e863c4527d435c6ae9256d3c5cb3c1389d4cafe0eb263a2d016712835e539d4e13c3ab8ec0975b7a03df37c1355111f0ec46d027aaaf6c0f1fbd253af83c7438eae22d428cc1356fc09e4782fb95c934091dc84f80fc32c302ec298eba02fa702701e28ec03088de4943a749037c4f39c732bd63ccaec5985c0ff7713dbeadcba38e98f6200df84e4a7d043f53a68f04d24b309eb31e7ee3f3323903761d42fa64b1b51cb0a72306e2d534d59592ed1da44fe01129702d632e4732a559836b40884b8051c08352981f86d531dc51a6698b6b32a01f4384be8ed51d0da748116f002b9c02f0057e93107c1f7f72349c266d113fd03702bc38847400fd4b317ee70811604480fb0d2747c32be3900a44bf4d31ee6978676250216e31b6f53c1a5e9fb554c8827a9a1964381a3e942f826f9d813d307cc01209da9f35750bd891b4801973f0412ac48396cac0213269261f8d0cca97339d4c0f3a605c3e3918747208bb29f24ea386f9f102e985b5e1deb2c5cfa3b37811d63fdd87316c1b8c576518cfbadf16c2d1594cf15e88f1ad5761ed4c8568e99d66fafce8e873215abad770f04eb3c58b10cda762b2f4cf59201e9d432b2a61d8864374cf78ec2a5a4737f4779aa51495240f07c00e515a6b8017fe64155893d5f60efecbfb6651e7ff2caa561e4e777377baafe4d37da54d27eb469dac8b70b22e8ae366b3b81f36cb62b3599c5bb0ef0f66e7d1c6eb3f2693d56e32d1df8f9bede4728883fc9fc3ac0ac1b6b7d57dfd686a524f9573e12993822a6be974dcc4c17513acce9b203b8743737b31baf778e8ea95367d59fdf3a2907f5e94f57b7cdc34657b0fccf7432c7660dbc19e1b342721cd494b73b0e731f83a06cd71bd07f714824da739d87edc7310e23cce0f06cd0fb8ee03be0c2dc02f21212d08fc2f53e0cf305f8a186d3a2d1290322df09d07992216642d2d32991687901687166c372d239996609709d86adcab484bdc4b20834f424bb0f1f85e844ccbb4a56516d2320329d3f2003e4a48cb430b769b56714b2bf03312b0db32ad0e2dad239902efae894cebb4c5771a0087ea0cfd07dac42d6d6299826d042e0e73a68d42da462d6dc177001b4ce07f99b6e023c46093c15700d9d2166c761ad216d2a5e02f18b4cd42da66326d0f21051b734e427a4e5a7a06df016c741652b00d1dfa0306edd02eb714ec6d9786147c8c2e05bfc0a0ef24a4ef09fcc9f43d352870f90b91e9056d6f482f09fc81dd35e8256de92593e9e510d2cba1c5fdd6d708a44caf31f80032bda62dee55bc829f9001df6fd1df45db1ac9f4863638a43722d35b6cd05b2cd35b0276186c2dae73d05b6ad05b1ad25bdad25b2a83cda537f00932b0bf32bd1d0c0afef2edd002ffa7f708ec2ed8e296820d05bf0fb0fe9ec8f49e1af49eb6147c8afba1a560d39fb886017f2d7d22e7073b0a3cdfa04fb88fef99c09f4c9fc0f533993e0f21a55148c12f043b0bfe439f85146cfa1001576f29e0fd40808f877420c0b70d3ac4c0b1c14eca74480c3a24c0af5b3a009707fb89dc3aa443d6d2e160d001d7c15b8ab613ec2369a940642ac4682ba900bc3b31a8908414f00838b29082dd34a880f653a6c2a1a562145291c8548c65f461c44348c5434b9167476847a984eb042195c08e662195494be554a60a09a992614c9fbe24217dc9e461734b5fc03e52b47bebd02bdbc13b39ba7adce8cbeaae2f6b63b8143f8f977c9d4d5f2677f9e7fa2e1c37fde2b1e9d56b38dc6a32bcdf621138e730996c4e608beafbc12f8da1baafe4eaf1a24d95757153c87dc6ec549016f2503d4ca3ba5bdd54594b8992e8f4b8d9fe381fe2f9451eea531cd6f74b3655a2e0a2445273dc04da6513bcdd8da1cee3a16d26dd5489fe792a97e69fe32678bb6e0ef3b33cd47594d4ed44992a24d095e43d3c6e023fbfc7a75c1e633b74aa90feacfc7cff71dc0455f74fbc7ec843fdbe36aa3b994f95f8457a21f79fc74d207787222f8da1be273faabb45a74af2725722293e6e62add804416e0c4d113d9a76dd4d9573b37e59e9e7e3265e37ff14f3c6189a7afda32edeb5a9d26d7f28c97bca6c6f13dee5a1a97f26f515dadedd27ca4fdd396ee2f47e8f0f90e77d5d3685399b2a9797e185c4afc7cd61713f1ca0cfdaf265595f3a71aabc1c7e2ad1fbf9b839ccaa43909d8ca17d1003e355ca4fc9535eee84dd3bfc6c8de17c22bbee6475d397f54256de25fbb82984cbe160bd874377b22ee7eb7b3d7d21775d21f7026dff3fc1ee047cdf5ad6e5d99fbec431512ec563b59d5ebd52fcdb3bdbb9d9bbb555a4efab7e3a7b13956364dca6c770720bb766b7d6f6b35fdfdd0e0bf3e2161fdfc3bb98855bacb694fea7f3cebf9cb38367c79878de4fd490ad92a7c6fc7a18cf1cd2bf9efffe8773d00df79ee8b3320aa81b8596e04a799ed6ec6ca4b77d741dcf8f8b646f9fe81e3f6b4ff4d786f7df9c8dfe8c426b207b91ef49b17f3f0ffccb99f5e33959dfcebf29e87dbcfeb77aae0df3db395ddfeabaa08f37ff96ad7575f6e50ca46bbc63637828e8f016de6e9bc2cacd82e69bc2eacc82769bc2ba9a05bd6e0a4b300b2a6c0aeb6116f4b129cc17b315aed1203cd7fa73662fe8f32da87e4603cd37fd782676f4edeca5a8af3ecfd7d59fe359ba277bd99d577ad46d24ab2730bdc7ebbb4e5ae9fb3bae73559ab0d2ed9bbdadaea4a87e46ad5547c1959f79fbda6f9af4fc87ebc3a6adfe745dd834e69fae8b9b7afaa7ebd2a6fd63fef2a6da7fbbfee58c6b11da780ceccb4afe3c1f70df9fbab53efd76fe3b3b47e95a245b73f6b613eb37f974b6b7d54b522802091d01f4de2ac864b5a867dfce8d2ff27a6db8dda1375fcc5298bd05fb1f1f690cb77bebf3ebdbcebca6cb718cf36a65dc666be3f57a803e1570bd4c48c6b3c096782666b7da562f6e7fea36ad93105f803a0947e379fe96b7f49cd9e5b958175867017f0fe7c25d7cfe7696dd72b5a8bae397396cea29eabb594cd8d95cbbd9f56d67bf98d5eb97dfeeb7b61f0dbafcb5ed872deb335e7e7d349e63d9f59b609f57bbeebe6ebd3a95dd33d9563f92a5d06f2afbbc0abf9ed3352fd0a608cf7ba6fb4306e380e5efb1fddfeaad4dff50eff4c52c842fbfa397dde25bbd77bf8d59cfebbdfdacf7d8863711eb6dff526f7153ff566f0debdd9b7736eefef4b8306fa30e808e6daaaf6d9a9e219fb5f1caecae713e9345fef3b8a5cfb5713b47a1a326b876aaa889ecbe98bbf96cb5adba3f943b61dffc208f38704ff612cb6367a8edcc0eec00d9821dc033a25f56c6ad23c6e9259285ef7da942beb7ebdbee1574f3977ec67b1d29f2e7ba011df51eb877b4f21ed9c759fb13b02b43a2d725d9c273757558d072b5bb3e825eb8875bf731f66152e0196ff7b760f2db196f1b760663fe16bee299ef3bdca3ea3d3ece18953ed3980d9f2bc3b95837f80eb5102faa97a4bc9e7f3be78c9f19bdc2b3fae6d73874cfa037abadf24ce4d7f32aa453b330bb75eb3d76fa4c26a1b58c42a75e2daa2f78648ee327ac42a15be92ad880c7c7f9d0308eba703ec85fcf44335fb205fd7eaeefb2bbaff559435aa7ce96ddd85735f6e9b2cb8fdbaa3bee719cf9d96d69b736cebf9fddd6cc3ab2787dbe717c5de9fbd941163ece598c036ff21672bd58a8a017ec9ac4e4a610e8c7b37feaebad9a93ad02bae844417dcdf4d9c7b9ae1cd37ed5d399b9d5eadf74c410aefeafe77a7ee50cfa1ef46bf6f57cc238748228a01d597e3fc30f6debc7f76dd473b6881a9363f0471acdef637f3c2b13c6eae37cd3cf737455ef41426793c89e19b1f337c77351df52d46b56d6786ef2d7f3913d7d56a782f2c8d43ccf1a7f9ea9b48e4247d8494aed4bb39ea8ce390acd33d95261b5fd43fdd4fae9065e85efcfa3edf9a81f7e2700f7ad0ba298185e97eab4f6f49980cf6debd9fa6bdf7ccde7ef671d7ee7835fc6db6bfd6bf2fd0cc99684a78fef208d67cfc7e19cf3950f2ef8ed8cf44f8ec7cfaf66f3e34ab6ffd29e7f399b71f3db99afa04f444c74faedec54e4579f76196c8a80e7468ef3bb3c3fd6bdd905839631fee73c13bd16560bf3611675626bc23d0e948a84f91b294ec51aecc16e72b359ddbb542479a2d7951f5add9e9f55fdfbb796383f0cf6f7849df97afed4b57a3c8394f75f754d4a51b00a2204c33cfb575bd3e0bae110c956971aee8b59c0fc9d34566149117e07a17e66cb7301fd9eb458dfff5eb7ffc39c3201bb0cb7b1daffac2b9ff6904ed73b3507cc5c37b87766b293226e6399de7e39ff584d247fd8353361ab6b12d96bc24ef7f354f6de92c60f13d9aa904397ff453d171aceb1d542fbaf75255b80ae7c795ecc1e69e32d9113074420a1f56f7ad61db7b4feb772deb6b34320a8b7a0516f875a4cd6dbc9c5dd8a71b4155fec85a084db333f477ccac7ed173dc1f3c23fcfd004fc5c8df995afb78d2fbc6f0a4c0bf6f7b3bf2aadc974bfff32dea34ff48b4f68be04a292868693adca19f8876fabdec2ef77a1de7fb623c1fafad7e77a57676fe2289ff700bfd127b2fbbbd928d375cd9e61f7851fa30c17ca9ff3ea4f2ffc99f715a41fa6d5baa7f5717bead65a3a5b19d16f7e69d04f7f98e2afdf54132e56f55aaefbfdec584fcfabf0d95a8b2e0db55b1a6ae2cfe36e9a6f8ae77d23fe2c5acbc9561fdf66a3e97a7b6ddc85fdb076e23f2170cc455aad6a9a06224dc3f0369b74fd8e7d9fedd7ef9be5097e53ad30af26d88f057edb2c19c73af4afb775318ee319dbcbbefbe6cc36c5e987e9ffdb188b3fedc553b265613c73fefcd66b2959dca08fbad5f2cb59f4dfbe5de79eeda2ba9a4555ac17d6d42c9ec56a81f57bc0b366f17c40da4ccee47031e9be7eefde5b9ca4d5f659acb6e6d56c9fc57a619e59fae963b59b1698f7eeb563fd3d29d6aaf959eec284fa25ebad79d96ef17b7690bec3f45b2cffc7a6ec980e6cafdd5bcfaf15e625fb1663a87e98b5708f9b599714a702fadc6cb2ce2caa6ead9efea00b9fdf975babbf73a46f3c1fed14c399a4043be5e489fee4f69a7ef284e1f3fcdccff3eb477f4cfc99722cd814ea736d647236a08ff6af67dd9bbbd7ff78a63d7f66e48a3db7b133bfa7f775fb69a3c679fcb6ff7abefe47fd84dfce0dd7277f3dbffbcb99fdbfdd8374ff765637a4fdb7fb6b5df93f8fc3acf5c9184ff9b59fae6929fef9dc747dfacb59e9bf8dcf351acf1c6fc63396ff74e638edfe12071a308e63ecff786e3f603ee2bdb19f65da95865b7a7d0bbdc4d104f0b58460f0b3b51ec13d25dc521c13c64b4e57b2149f4783366be37bdc265e0874b5039fec94fbc5275759e9936bb6adba4f1e81ef5c7649ebd766893edcf9ad7c051ef18abe6918fde7671bb7b11afb9e7d705b0b70453b18af23fe4bab6d3dce99229266f74cafef59b02f3652ddac16b3f4adff8bff27fb05e8df6a89bafff51cf06eaddb9c53e566143a7ed258397b5fc4af5c893ef0fb33e23c4f1bffbed227dd2a98cc703e04d69019e6d95ed0fba75f88fd5527865373ce767b0bbee56f252debc3af58eaeb74ecd39f097043f4b37e2be7061c87f9c1e92ce8ad736678cf4d317d80fd8b0d4f480dfb65dd4f8b708bef9957ab45fe2bff1dfb2f3743f0df050adc2edb2a1deef557670dc62fc047863ed5d3917b2ad08f9f3c366f57bbdbf7be35aa0e756ffb59e7c3b6bac68bebec108aa8a351298a6fbd35301eb22f36cdf387d96672d69b2f66eb5dc9c2bc66830075fb99f6ca330b9df34ac798c27165dc8428c81659505f89eef79ba6baf27ead89e6d507c37d490a5c731f48e8bec40bfac955353c3fff252ae0da139e7b7ef2a94f9f6bd3a6d7f41bafc1f785a4d16e6c0a35270bfa8b2decfab5c16c818fef97e31ee25da26b43bcec1e6bfd5fe6fac0fdf02d2df99cff990007063f7a0b7ec6e44ec2bc8ed02fab7eaec2fd79b5fbc48d5416aed942616d91b18dffb52effcdc758b318cbdfcecdff1907c0b72b8c7d25452dbc6dcdb359329d3775988756c6e251932e5b0a809d3f49400782b19d5371dc9ac0dfefabf08363d30df8f4edb53806e4911639ea4a5a0a4fb0a9f682e6e8f7e8fe9dc8de79bd537f2603cd37d2f4b2fa883757dfea9cf4d5cf780776c7fd9116d7cba6a96650a65544e7b4144127ceeb46cc0f8bbc5fefd4abbda8bae3477d58ac236dffb56fff3a8f7fe9d76bb6a8599f05fb0f1b086d18e359f6f22640bd1857f8e2d394e762b5a535fa9a3c1695141fb1ab9ec7da461b7936ebc979b598fc58f7d3ee4d044e3872960ef912feef53e0ce37ce67b3555f15abad521f74bf041df8d5dfc67e28a7377b773e27c57596d6802b9f6b0804fcb0d6b9c68153af0c2bb17de1639c56db27f81787f556f9c24dab977081bcfaf12dd6599e6f36f86f631c6ae1fec6c14cf1761ceb8ddf3fded9ca718bfcf6e33a72c026857e5bffde3fb7c3f81cf0bd60f75b6ce06bbc1363dd7c4edc610c2249bb260bbea6f42566f3b5cfd6ad53a72dbe77b789c08fdf5a42c6be8dd29b05e0c4c83facd107ab80ff24cdecee7fc73df0a7d6c8a9c66f62ec953c09f6b36ca1e0773aa0cf778d76235b7affd4ddf97965b857b2ad7ed35ddc172bf90ee733c31fd6d73ee65eb6f8b2e6c46dec1fd69aee89a47cfa85ff1f716fd6a5a812b40bffa07dd18065b55c9628b32373de09948224ca2e1cc05fffad8c4c26cbeadeef7bce59df45af2e19921c637c22a2b9df93839efa99fc20d71444ae5909633e54eec9dae6cef18cbf9ab9fb86bc05e8c2ad5f495d90f1535e25553c5d17e62352172d7d02fbb4bf9cec3b5b2a6f34f659654164a07b231f2d64aeb30f93f7ad01df397de73bf36f7c27a83bbe13d5d570dc36e101491209091778d17ba87285e1f33d99b5b7efe79168d6445f69fe25915167bf7c65cb728197177ff6c12da471bc26d7a503bd37e223c31643d3bddf97b38f2bd191915a0e9fe7abecf3b1150dff7e5e3fce675f2a41bf5bb9e578f940b1af6c272bb91caf6611bf784ce1f71293df31fddb2dc70b998f907ae716b8caf6b365489ef55df2b71eaeec83b0b4378fc551a66db9e51bfd3dbffbfefdcd7b041cb9b79fa1707974b8c543ab16324fda7d5b3e027e395bd40b979f2c691f685bf63486efd841fbfc029723786f74af8cc17c40def1ccabf96831dbdc4dccfd32fc523067f37aef56995167852197e58ae7be982de04b233a6e2a9e4cf96f3adda167836bf6298ff514613397215694d93ccbc0d74fb147f324bed2f562e9bbeeb5ad2beeffa7333cd8dbe4ec7a3cf7171984ea1b4497017d43c9c4c01ad7c89f9601e1039218fac78fcbcabaff26741ed577d0afa307971892cc790f39d6d32089e5b2f6c9186deebeb679aee17deb5a4b57b9d3932b5b3de5b2b0ee95416425efe5fdafa0c79b16565686332e895b7bf1e1e62b9b1bd8ca5b99fc7036f92a33ebec77331fc85f7276636395cb876f65ad8d1268099315995fa6fcee9bd1bef966a2f49b6f26e9f966dab19bca980f3d1d47c7a230d56919fb4b7be7c5d7d5692912d9bfa319a268aa9b2b9355b94f7f8a293fddd2bd31fbc6dbdafdb7a97b7e4aabe2f6563232ac2af8c62fb369e837760fbfaccc9973ff03bfddbe7eff8dd9bf682d8385ca81fdc6efea11a4a6a49fc026e87dc7866ce4f2f2d406dfb461ba93a6ee01d87f50ad15a6bac57fe3fb61eefc3fb1df0c693e97c66a5cc42ae16fda0b7b4b82a307ffbb7de65804a682af104f38d293d02eb6a60a798a321ac3bb79479e2bfe4156e0881cf04dfef037cff243199e3a4cc24e4a3853718aef7b699a44a725b61bbaf1931fa547639ebfd3da499e651ec57d78a357efb8714f76f841b698ff40b732a05b2067fb5a676b50326ad7995d5aff91a16ec428ed645ec32e1bdafee8db4462f031c01c4f63297998f69ceac4b30fa24b3cf66ad5cab0b195356d1c5b992277efa1221f9175b8f9d2db972e892753d2c85929d7dee24f32c7f8ff82cc713569ae5eb2a7ff2873ac06b82a1d373a4bcf1e76057e218d6f6126de913776022f2ac307a1d9e295ea952e5c0b6c7a0d689c5415643e43613c0b051ef0572695df6e6106794d084f2b8307f51b848243e8f5dd543f063825047ae081e881c2da5bfc0e67d5bdc3197143bd4feae38c823ecee86428dc2b9cd1f8e5f563b17f79fd51a4afae2f67c5e8e575bb98bdbc7e2cd62faf3f8a7f5f5d5fcd0ae7e575bbd05f8febe3dd91928b615fd2287793dde3720cfc25d666f36a95bd9d43eb1b9ea95a1c8be5ebb616ef4efab22d6e956d5eb6b5b48bc5ebb682f7cdebb646ab2c78d9d66a56b8afdbcade23eb555bda7d753a0fda1a62b38262efddbf8cd100df7262b89a09c3d2e43a8e9e313063f64cd2e06dd091ab168f736ad60cc75327f9dad6caf8d8eee9066f2398eaa588b865198e964598471dd6266dbff9cb05fc8e33c0efa023f7301bff94226243d99c3f475c19a7d5ef9dbf5c478a4b68d66995ceef7b2b2b0cfb7c8633a30662500f314801a5dd765ff7367e683ba474c430244cfa49ce2167d8e774dd60adf8e84c7ef7c62e30de7b435683370bca4f01f8c1bb951ec0ae682a81b8b03532ee7f9a71ffd73e58d2a130ec42eefa8f277bf5d0cd975f4db4e399e2b2fc6ae2a63f60b98e2d96cb33a4ec7d6b7532d15a08c4c5a3f05ee3b7fa7387277be9d08d5f8071bdf7dad648dbdaf1defcf6e96faeeddfc61a60c6befaeb42fabeca0371690dfbb1f9d68f8cec4361956ab7c1be24f360757d5b3ecee9bac19b7187f3f7b52ca6039c030e9ef7ff1af63fbf18cc37e01cfeef7df7c771efbeed5d98ff939646edb756b373aaf7d663659f6fdee34d0ce4a1bd09bef17cee72b27e1f4ffb05bef35bafb553877f22cfcd9f706d19c30846e91f9f933fe039a71eeeb7e5ece739d253e43fef45fbc53926e7f3e51ef8e3dc03ade04ce57e319fe6db6638cbf6fd1fcf377eb4b6e5478323adc8dea7eba80ef6906550dceaa5c1419aa7251f9c965c9426a539d300bb6a3cb8fa279a07fe3cfb9cd2dcc4ee3596f4863e554b72beb2ed7ac36f913377d85a74fe8850ba8f0c6bcc85bc7b8f14b7de008f3934df1cfded9b48118fd49fd87eb35e48d9fb373a33dfb0fdd06244f3b53de7fb34afd9e70b1b0de75d1ae244295d39bc3fd32c18ef6930b712e34f979687a5841fcd474fe758a1b68240ecfa37a956b3f3737b2e6bafed33a1bfab74c8ff5684077498d633f42b1deea5c87a35a6e81bad7c31a6f71ffaf0273e4d68f7ef96070ef9bccfee5583b566785522270fd7f1d08f33e86cddcaa18cd33179a7588d36b99ecfcfb1549d0debdedb973056c13c819cfb6b672502c56066ef5adecabf30fe381d83deb51e2dce6dbb293cffb047531ce6f88aea208fe01ad5af9ae74c35b8eefce52c5444c8d1a9a7e866a8c135a436d7e69b85290767c3aace6beffeb518ce17e1af2d7695b5fb653cb5bb7e68ef4457e9e3271b1d2696aa12ce1547f3d136e76aef1d26a1447d993ddceed954ee85a9cccf615a757d6a7d9be22bfcdb77dcb17f110d8be126c91867bc100a38d3661f0d3e2cfb9c89ecfff365d13c4bd783f407e67cafded358914f5adab445edecc81a5f21f7877a4fbb7bbdf5787089e6014eb295c15a9c6b7fde28beb527fbc5a2a9c8c3314a431b04c5935e9af100ae5e4f83733ce37fefadacc1c50ab486a008fe0956c7e316a63d2ca9ba108186d1e719f6974b1652f3ccf41c0a63bcb6e6f73e4677a76e1332be76cef2569714357bdeb477457eecd3bca9145732c43ffc1dcbf217bc44bfcdbf625a1abb4044e651903964f3bf1b5fd4eaf85142ec8c4ff5612d77af48d2c566cc01cd27c67c365ada5c6f7578075d99ddb7ec6368919f701df6b999d36512e698dbf905b6d4ed05e6bb9bc7c616f2786a6fa0ef3fdde3a3bc7ab4b6dc5cac434f2e49fbaeaf9711b7cc519d706cbd5b5c36cdc57617b55cbf8590eb9fd05a1ef67c280487586af683c899b90b799857a7c1bbcdf7ef9027cde6d220176fa1e2262191097c728edc1b4aa75cbb8f469b2bcd01e6bc0fde6dc7dffa41c458025ce1999cbd16ffdcdd6fbe0d7603d8e3fee60a7495d6f7993cdf6fc64d68ba0bb940c5d1dad2d350104be4c9102f01bcdb137388f9ea3f371afe6ee6a17faddd1314c7d460d43b7bd548bf045e557ce6ae3dd8fff3667d8678a196769d7ec20efc69be7f7a47fcc3bde2cfdf6bf6ef9fb0498f3ff4e98fef897fb95ffc175cd40fe70bb068c36b6a35d17a3ef6e7bd42f14273c0be8469906ba7ed68e76f39e46b697b2defd9631966414f833412a0ced43154441e490d96617b8e7271a451fb9d1c9df45b941ed29d371600432f4d0feddecd3f0e81804e9ac41d22c1c51ae4f85da4867d61b807fef92c50bb26c53dd7a40f3ddb727b0de5f21179e4ac973086e8f518eaffd2d79607083ff6b5e1a5359123027f8b5fd22755273c2e89157786f2e81c4b3dfadcf1b123d97f11d7fab77bbfdd265e7340a35fd2677f33f8ddc554e898e51f545ade483168f893c83b5247cb9b777abe386ce6e48c94039f412c55d7be4f85ca9180cf801cbbbbba8d4da0b8c321d6803395b71ec67c0ab622642557a379deeade1fe04f5ed1feefb6f9ae5f27b70c675ddc8e667f14a6f4034d549c5f9f2316cfd2e124df91558de251dcfa1c57b953c64a9575be8102efeda2e5f1ddf5739f56243d5a41e4e8a7ef2c277b90279fdaa89fbe9df6fa9ecefb7dbfc6a378d4be37aa26c81a0fde35d56d89e6ddb8fa7c51ebf145221786cab67d6faf56d83cf5df5d8a80cd1fe24bff4cffff5fac915d602a4b0de7ff4f73d43c43c7d4c42e91398efe341f641e617dc81cefffb62f8767fe9bafadc381325fe7908fe0f5e8d2d8fec9de2b4361496bfa1dcf29f2c69976e2de876d564456cec3917666f4feb0f3de0eb184391a3f218e424cd66a8aa3d3766c286f859ea2be6c8d3d611c13f91ab997ab6ff31cf9ddc7d9219f3b23bf9a1059fa536058cf59b18a3d3e45be7675e6a26db95bddcddcbde58c15cb19ebae9cbd94395f9d6bead7ffee976c7532ea7bbcaedd320d0037bfe43ebd0a6be93d8d84259147380d73658399f378ae174f487d3a9f827805dd0513d9be78de8fd73ef60c59d93f6bfb23d74fda9731e2ca50183b843eaef221b62d4c710f6fa3353eb0e4470c9cbfb9d29cbd72f9131f0a541a3fc5fca4074de1f968b4213c4940d694db29ce4117a293a6a032f022c297382dcdbef9ab3c9e2bc307775f096f84c67718b71ad78dbfbeb30de9448f388775d5ce8361656594b67eb97021730599db306df047972be01f1aecefac87cb6cdfeb700a44af319449615855bdb7126c4a93b39e8fd368f4f17b2f05c7851ddc57a37b1eaa1bf8bd3c92ebe814cf2e133d5d088be365a29f643e1cd1fb8b47f37ff6dbb0c4d3ceca20a67f25ccaf642eb69e7cdc4987a71855e05b054a93ab6e6be2dafe68d6ac06fe49f125b0d664dd7656f63b6438dc16e7a24cca28c5e2ce2a7b7eba04f0097babba8519e8b9d855e4d3d37e293e850186181bf69bb89082dc503591d0ee1d60630ee728e52a73f65190b3d2f71f7e6b8feecd79282c815e7dbfcf8b8655dd1ad984d50b3ac61d1f38877506becc4656083d5140ae7b8d05f91a2b6ec7e7eae4f6eaecbe68f33bbec01a3fc291ce3de3b187b16644d688713c67b810e95098705e5cce16504ef639f3830c7346d81fbfe35985fb18f4d568d3c3c6be89c8bd70be55d580e519b40763bfd2efb2fe7b5bbafe52d6616e95b918a5971bc8cdeae66b61f7bf47cf36f986f190e3e731008634ede17407cffdfccd753ef915cf0ace78cc61fe2285da9a76d6bd32ec0bc86c3b6fcc239fc7de68f3b570b9e7b14d029a0fa47d3796caca9ccd8bbdcff769fb777a9cbb977084b0eb8d47b476d8f667ccd5ab385290dbe3c95e5d9c9175ff1627def1c056c66f6cd527e46f1db2971b9fd7c076a35693a826b4e3475c7fca74f7bfb547f572ffefed317dfe6fedb5bad55ead1e847618ca4ff3a4b7cf321b2eac9b0b7214f31132f93e26326e3d66f1026e5f26fbdb37f8287f350759aea75dfc41efbefb142b7086d87b6b604bfb2663fe6dee48ff5f8d1174b8513c1adcebe2565fcd2fd8809ee4d0bfef2fd26fe6ef81f3d68ccd029db744837b5d1cc4602d1417e26a5fe1832896ed55fc6ccf5eeb6f68cc34916b892ca35693c56c20af35fa395987668deba83e147d3e4e68502f76671003d0a387c5da1b8721cf7dc34a1a80735a880bc00d777466355a4c62fbf230eab2d8b997876f8d1fc8dfae19b6e61c4b97c21b2dbfd135221f3239e20a7520d4ec1ca55561f4684b747a212b13fdf0bb3e003156a817dfa41d2fafed1d12d513d0007339999842546a292ae359991ac37bffb07b277a2f7b997388c9a044f62bc3231f02bfb03fdab98fa5d773dfd0f558bedc7cfb72fd49b62273f36d0ec9b71a59a9d1f3473ad4046367c1a2f331f602ef7ede016dd0c41d3db3ed1a19d6a5f81b3fe9e9f47fe823d9ef6fbdb850fc7defe7cb1a7932d7e8ae0e3b6b6e2e973fc5d47ccb3530b04910f9a791f1bb75dbe66fc39883ce665122320f52dbefa15d772672ab745e815f09fc1f2fe7e53d96a650eb38f0c647aa1f2e7ec5d2980b39f91a08c92dc26027bc22f08d3b57568bc409bce84c7d3ddf9f7ba1170fcff4e3393f0791279e30caa74587dffb7e8fed37a74f339cbeed9cc834f18c0f299634fb86c545d637acdc33df263223d864222bf93d88553816786f35f1d9e7ef6dfb4447007de68a5ebc6baa437c666b676eeddaedfbc6770ca0533ed99edf5ffa5bdaf8b46ffe94f7bfc5a7fe29ceb6f50dfce199bd85e3ef79357a3e0f7ffbe23c015feacfe3cbf856d4c4ce9e06cff6fc91ee642f25f8658c4983c79292dfffc1cedfda349bfb716bd370cabe1db2b9dfbfd6e799ad4feec8a58bfaad5a4a6f959656d8cc9ab3331c7728917b09177a15396762501339bb993f4dfce41a3fcdbcb45a3f5d81cc5626d0dee3ba5ab676ee7c8c4d99fa6656f85c1219639515d037867fefdaccb97e9b27b38d89fc28ed667f1e8b71db5eaed1f6b02892f19273b7f31cd11c11c9a6fad8cbf726ffc4c0b749794c27a398fcdbc497c4c45717ffae53b1e8e17b86f82bcfe9ef05c29f38864749c8597b3e1be0a724fd4be77753616304ff638ff61e077610cef02f8f186a8e1eceb134901b1b2c2993e90adcf090cf11c5e3f6e23a32867f855853d68e1be57790299f708cadbc0e310faafbd849846e408c00d7ae3da3db263957b3731ab21c4a90d780b62fc335a233b6bcc5399bfcf842732a4dde4d212bb5542bf6fd38025b16f73d9ffe27d4bfb9808d17ea91d0df847671fb2166e088ac210edc54b532acabc454b232aa2bde5416652855775309ca9d54652cb69c0b850b0e4f8b32b469dec6158d59b9424eb0232ff4ec29d7b5aafd0ed3f2cbf020aeb408c116cf3013f872f5990fdfa071a377d2463ce3cee183173c611c9bf9f24cce16c46ef7e358ed0bb73e72f7d56873312d0c71a92097f1e23154c407025f09770e6cfee68db6b1d17c87c5b0eec0c7b44d10c59a250c5340e4dc6cedcdaf3436ddbdc6d2fde61fabc47b8ca388e76ebb16efb729f414dd21eefdf47131094fb292a4e1f1e189de2732a929cdcfd1ecedce6476b2d760fc01eb939ea202b5edf6bf9d51feaaf0842ee66b2bb9ac7d17f632f5695c1ea67210436b9cc4fef606e317dcdab0aa6238862aefd604b0d88d8fa330ac7b823a99bce8c5e433197341e5f7199f9036e2dc2d4dd51117b30bbf56829e0cee105912e25f213784c57c510a91b3c0ff7246f8c2fb90c7e64ef4a7b3a12c881cd88b5b4761ec7257383b5246e6efd13ba310ffddcc9fa9b4f3fcbe6b712987bba92c0a53a1fd5ce5159103beb741e76e1f8ea6384cb572a7ea181d8bdc1bb931e88952c5edfc6d89ec73aaa555897c84c359511af5e5757b2ffac4c60a3ea9ffda9f0030784eda3e9f72975025f2442676634c8e86d09fa76eed0c9bc8d08d4d27c8dbf87bf5426d6ba90efdd1d28afacbc01e9795a1e20ac8bb0376ca54511862ee0a75bd956d8dbc37317c105a0d3eb66300b1d9bdf9563744272bbb6b09673ce610ab0031e3d694ea89127759096218cb105f4cbe97c0b9637b8ae8d3ecfc422d189ac78a3e4fb17b6541da18e6a3ac30b549820daf26fa54ec55b8b5dd4a3a918dbe761e1a9331a3069fa44ef1da7b3b2f8e1a392b39b2f9ab99bf9d23a25f2a09dc5b1ea3c254b6e4ef6b982644a71ac618e5cec0be4fed83343f0e8b392a037ff96071b3758b3101fcd3db2f2dd5dec3949c536a3bd808e215e5f8143d287d6aeccd03ff8fbae9c5c500bea48da9a5fecbf935b092df40db6667c0087dfad31b1ae949a424383ac2358ab51f2dde218f0cccf93689880c373ba7bea0978137fed2881c7b72094d23baca6ff0f18e746c9e743e54dcdaccb74524c869a83867afd65b9d07e460759112dd86d67596f970b4c551adc78d7f3cb6f982e875b1bfc4ae37861aa1b627d73b617b8b85b73278f0d48e9b6f7144783ac4dbf0d85016e5e7c87d20d7bd46829c13fd2dca2f59388aafab932bf6fd3db114e4411de4e14cbc99f9bcd549b75e45fb281d52a460414babdf037930df12fa7a8ed23be1d14d9f52c3aa32a84fedebb7d85f969fee12c7734ce4ceda92b74b7b56fcf679f11c2b3c9cf3bd95bd835f50e5219fb199cb199a27b75028733d4718fae46d334b116fbbfa9006b99b93f97504f9baf3b7c567eecaa1d2e43cd6fe602723f27752232fc875227f90bde46f893e97c63e190b9155ee643daea100b13f384aa757f2ada6763dc4ee515b9980ac71863c94c45ec539aa7e8bd485f82910fd73790b7354a0d1e2fd49b667733efefdc37abe838ce273bf63699cac7d8407f14a0a8f87f9f1fab99e5bdaf6cfc20af2268fa54678672f46d77bc8f15ae8bdc797956f17bff7560598829ff61991557a78c3ab9ea2aba94cc428ad92b5affdf278eeddab898e8e4b047192f44c6bb8ef9bd3723d25679ce6580b7cfd8abced34c8453e9e6f7104b5de65182be17984bf468258226b3c22cf1a92ce4782eb8627a82db584fac38a380ad369b6f397f75091c79ad2ccbd5b335fe42182da743c86bc040a7e684af72de46d0e9180af81e01cd6c7c575710cae0b699a84f9e6100bb80ca5698a2ca26bf2b73877334dc1574d0d38f3f8715d48b0d7ffd378d6d6fc0ef493ecef9e8d0b7c959c3cdfcae2d495b7d60a9769535757c35cb9cd446b93e1b9cf6fa75b7ed19b633d36e7f2c29e8bbecf6da7ee5cde6fdcade31c8b9b39476b27d3f5b6cd5c160d9fffaffdacf656f56ce304dfa706346eca726e6fd295f0764552c299929e68e9d02edbf7f93b27aee8e17daec62c687c8b5743d50a6aeb3cd42be6d323fc25b0b2327a9067e784eff08cb73c683cf41be4630b67ecd93a83dccfc62c82781bdaee4701f25e7ae0093d6a781339b7f0be4dee73ec59d29f883cfb6658d5983d7b32ac2a25cf927ef90ff6ad342b63e8d7a230e70e7b3f2a4c15be45d678c6de276dd9f02d2b2b3736bf0ef20207a3cd959c8b9d175ff76af52d27476b27563722c8edcacb33fe3b96caaf5edc2ee1493ce5274b2207f46d9e35ec59e5adb005fd5fe42d9f7385913db18e85f126ca45a899fe698da166a2a1bc9511cd2b85bd911eafbd711861aee8e385f656f5f5176c2fb591f762f5c323f8a927031b6bda8d273a524cc26aa45d9137e6a1debba797c8e66b3377af849645b90c3585f7d2bc32550de4772213c4be0e752b01e32be944aee691a517613aad211f4e3a1e4539e6687b5cb290b2b29d977c8b518eafc8ede3279c324ac75fc8cfc00fdc1bfb33c689dcefd967de088f393fe53428c394b413e444f6335588e116f7d66118973a9f34380fb0931b8a73803af134b711e00f0d0b733b55bf81edcd8f0ee0c370088f126b43d2678137be86a3cd81da54a789a6307aacc80f4d991f7a6b943ec513fcfb9cc72756923a1c4587365e3d776be48d8fbdef81ad4a83bc1f6fa798d04ccfbd927d47f833d16d22c1cd00573772efc8d7ce863525fbeeaa933ee62e263a36d973c8dba43dd92489d56aa2e562bacbdd632c0d70551ce0007be3d0867661bc3a6da90c2b6ffe43be8b765dd74d6e8b58caca5dcaecd184ce6171cf6c797b7f544dba7d13e358ee9d2947cc0d7553187faccdd0cfc134fdee5302cca6debbfe3c76d4c678c7d21ff7821dfb5322c7e04f755a23a03d204b00ce047998db015fd43193930fe1483b0456bf4ff743988b9c26695f7df97a250c6d9b6ba759a7f191c8cdb1e2402ee9e733f02910dd6fc94527f7182b62bd3a5de839b50b6c2afdf3ed50bbd6482f62a5f9fd513e9f758805f5893e06beb796ce12f9cee9f5cf16825f1d0d5c7e5f33d8f7d93bb2c67b7f44eff9fc84ccafd8e428d9d50967ca97df3bc11daf52fdb153443e54b6b350e0efa1302632961b411d582735559484aafb02a731f0459543fabde83001c779ae9ffab9c69fe5367140f7172ef7fe39e206391b891cbf57abdffbde99325a7ff33403df13a3fdd1604f5ff0a7bf386f2c88e7ed30a854ce2d0c2bbb125d3f3a65e7a1bc3dc07a366b7176ea7111d519c59cb5f92aa70fc09e1179daaf265a734e4eee9dda42c4ab332273093ef0765dc9dc47753285983ccaa3c85923ba71fd693d63807a3479deeccfc43673fc30ace4ea096e6caa7a885c0efcbf7b9f87bcd67b2b9911bd6303781791f021a25be954173e14a6fc4179ff3c2bccf91be1fd15e1f336935fec342b9de337bfe798ea4b156ef5bb19bfa7d7863a7394b63978b0a9bcfd46e9a168e85234c47fdd7ed003ca80d53cd9f87a1df819607f7636e1bdd9247c5c0aa32e8bc0bd14be3d941f762ed7e763801926b4b9cbfdb32943e950188a23d2dc16cbd8686506a70c2c3227ced9b0920b195b48f3cde278cedf90e29654cfff939ed6e469846f144d4e1264dd53ad1689ce5580fcec89d7a89ea4862de2a11df8ed6aa4cbc814283fdf811e307ef8d2e4063929ecf36561cdc5b50f7dc4fdbe6be9e216f4d63caa45869f901f66ad156bc119e6ba48dffed5f8fbf01dfe7e63d8d384fc6dd29c40ef8d4eb6ff697e086fc514a71afc717ec0a70be7c73c2defc85bdac8ab7030dadea2d3e20a32ccbc3f76380780afe8e74341640d55adf4461722dfbc6bad1d412be35c2e63cf79d65f9f7c53ac0fd4a673427e9f0e6e081d62fed8561f2ec307c4153ef799ecd516a31b58d503721ee56e157bb846de86e527a1b180c103e2dd1e4eeee6b416c7f81129eed151646e07f5799c2b52f083ec874f969f05b17c838150f148712de4c9992d8ccb4f88c773ae3b6f7c0c5537436e5cef284d24f7b2b5bf396b19a31b6cff6a440738f29c21e9d3e8a4279f4e773db4e1fa26caf185cc7d9cbbcb50d8e250d240c7e8c932e5a7cd277a8a129823e990ead2b6465e90363968632bc83fad2037d481ff97b63787719d3fc1372e9376c6a033b739779ff753c293f5d7bc7967179b2fae81d5f0eace866248fa2352e4eb377b4faa5fe858a6ec7f9eda7e2d5d34ffd76db1365c714f6db4ba68aad3c95e758a3fb459845e949aeae511e58b77a2e32d883ea62478e7c5e778764e17c7e9fd53d2ca58c059ac1cdeb5a3768fd443baefeaa1a46b6f02f18c1b77f100ac543e07fba221e919f289ce0fb8ee4c4bfb795616e2c0b6f2108fab749e7c5ad569edcdfb6d80cca1a578b257a2d69f1632feaa1d8b7e8eaaa4c359b825025bcde68ca4aa20f4e153e8d947ed73d7c6a98d29bc03ffaeabdfd1688a037e9a90318752c5cee438df79f16375d2ca862e418e1d8a07e0cda13de43d48ab22e2c1ce7f34951767c62ef2de759fe8538457876af6be5341d7a7b94972b98e7279fc5fc61aa7afc71a50de95ee5b6c5a43732effdbb1d5c897f99daf63342b1eff47e33b355810ed9de66fd1af0c239fae72bade3bc053c684a636cff4621d8ad67eb83ab5b47df6da069b5c4c25233ce3f7cf73d1d2def7f87fbff683f9613291e85b59199db8b32b65bfb7842fcb5aa9d1ef83cf38aab5b289d508ece246d6d291c68901353f741cf92ea13b99a9307ee04f6f21d1e567c5928c17f84cfdc3b3cc966a836d98f0448839b6da7e4a15a5ff02d94f4b2e1ce98f55c611da716b65c6e1f310ebcc9e697045e513cfa0df6bd7b83d13d05f88f5910673d5bf4e74ad24ccb773e44fb91dbb179edc4b90bb359df3ed997dbfd93365ffec92b933f3aa88bef7bd08f365197b5bece46e82e6745fd2b9d16fa1702f5ff232bbd73f95c8baffd1c6d7e6df059bd963c930d4c66c7e5f3c9cc676c7adec0cf441e427f770a473d183071935f4642e7a1489a9520ce52a9f948dbf66e7a1f1eaa48b3ff5055963328fb7e8b47d3cdb987ee8675f07cda3dcc59fb93bd9ffc11fb0075c05f865122dbda781a7a744fed172f918e5e2f5d3e35253d213a46c417786677c1d435c4a2ed7b1828f21d1f5243d89049c51dbb7cc2305439ef200dad2b39d45ff0f6bf8bf40f47ff0b9c17379750b844b157b2247dbd06f48857c81ac3f3a1fabdb5b087f2f93f08492a8a67f472ab57f98128d1527f487fc4dd61eda1644d6afe52d94d8ff4a5c8723f7ceee33df37b947f4ad39799fe88649a8e007bb9e41de41c53d86233d217a3bfb5db2ffb9c0c325edd336a7fddc1611fb3fa6ffd367d50d691f37fc1caed179ce779e5b227589e937518184c1f8082de3a31ce63b0f05f66e2ede68ce61f8bb0e61ac870af2c4cf602ece0be8d781a3d7e0fdf312fa94e0c083fe9c09fd6773774623fd16fb1ff0371d43c285d43704f917771e7fa2ff8fefb10fef17e1097c795f410ebfcbc0d3319def0a23c1bd22fa37bc0ff81568974f2289fd9f97e4bd4be0eb55ecb9983ee75e63180fe1936e112bee855d6fd6f91af801f359e93007a100fdbc45eaf614e5224fdb17efcc8e44fee66375cac31c9f608c7736a7448e38d11a5ae41eec831ade3fe93077d1c94d3f21268bfa2d038fbfd3b82cf7d8b67f5a92b53dd2f697e7c0dbde62686f79217a167d9ed63881bf47d32410e8fa91bf591b84ee7e21abf95bbca2fa29166ce4a6ecff4be8c935edd7928ef7b405db10b91f2bed59e210bd87437f5a06ec7c80dca9c835f2e6f419b29fe873677abfdd23dccee3e93b2acc3d17e5f27107fddac2fcc05a9de89900db23fc8f33e44dc8f3a3e0a4a53ec51c63432ed36884601f317a52c64a5c7efad333a5451587846a1c294946f402426342757b0a557cdf299863672609737c21630904b10c47dae05ae889d4a60ced8d0b428f91bfad036ffce8ce4a8f5e09f235ce654ae7045c0742c5684855442af026a00dc8430f76ee1f019c2db70c157c074c069cd3aad99fdd3985e7baf1b1b1d56c6ce79d40683279065f022fa6fb1ff031f4dc84b99b44795c07deb668e806f53bd3bd437474588b9cc7b12203fd82eb7edbef7be0d3358d1419f294d3bd36bd852a3e311a730f856adc7ef744683f4e08bdec7f37cadbfdcd852338439deff3b41ced20072ffc3d0e3d9dd2dd06fb22516c4904fa2a5c2f6285ed5555c708fab4657ad360ff083bcf1dd16b171ce56fb09722b69750ee4a603ba4b4136f603fe8cbc0dfd63b1fc69f23a7277bc9cd3e6868a74b65c8d1b288294fa3cf9fd02d54c11f4ccee41b7b76bef3501efb4b6c2bf8b4532137097b675b44a31ec661ded03884b7849f28f2359e5705121246bf5d2554c45bd3ef2d9105b9396b0b78b7d43c47e4846ddd7b8ed7d8737112836d5bbe6ef28aa7349bf4d9ad91d08c85c7511e633b6ff821b92fd610f3a388a7cfe61a8ba962dfdc84027eeeaf4de4cdd8ab9228a3d729fea4b92772744e36f4bbeeb6089bf974891e04b8906b203894163ce8fa851edb0f84d6e734ae90d17ab0e5d3bf11b987e95cf139a13ff47a77ae420f68dd2554e414791546ea96bdcbea05b2185acaabf92bbd37a1ef8c10a673c7df036f9b214af72e919224e1697ba3f482af4341a4e7cfd7296dcff907fdbdbc9375677f57d189bd3fda8ed91c5c1aba1dfa8c56e73c8d4ba0fcf6c26cfdecef0dfbdf7da33201cfb1fef18dadaafd3b17054273c89c06369d538de255e1daaee78345271d23bfc02f7cb08358b9e8c117a49dc05b1e892c4fe9e8b24753c9fabf31da0c7d057c21b50756989d23f2ce17c814de38a3f25e7c0c85eac664bb5bd48e85f0ce0ae6bed95381e096a10af3da9c31a2671d77829b313acd0d3017945ee380c981dd7796b790e28dc8b596be80fca7eabd7b628dd8df512e3e2241ac775ecce415b0c7b77cb0cd352a0de53d8a777299cc288e4222df7a4ceecb97cc3672a7793ce8b9637d24bc768b232a5f9c91d79ea3f30ef6e31bfb3b3ed33a408c5e02ae0795019bb39dd7c8645b8c467a1153fe5f4442438baa24c8299f0e1599ca1654df02d92d14c43bbd278e186f796bfe6ffc33ec6c663b2a375c90bf3d8702ddaf3bdacfcbce6bedf1741f7b15b7f3a70c23037a2695dd462027d173938b1d1e943e778b477ad2c8716c0e6e2017fb541e7ce267407b778a08b114f4bef8686464a2ef878a98505968ca0739f357493af0b850e8748388e8980ae898709fe1a33abd97ca8618e47bf23fc400d0758f7291f143fd168f603deb7014b7fb8ee8bba152d1bd4c65bb63389ab2387faacb33faf3d829f29df1d6e293caaa8f9d5f602aa792b30173f288c819607b201a6d13467f1e51be68ee3f1095d7c97cdcd9730d6d7ac41e4fe4ef3195fbe494e5c7a6b21fd83a8137432e3b93e2912e01a55b428f1630dc0179362e904af7caa7c2974447a075007a74c51b73a6c76c9712d53d83914bf64ab32e44ff2ca036139313775e4ce368243e0d7c42331a39497e409c0a6d8703fdf8e472c86bf75a12ab44ffd679728e9b7318f805d94b8cff105dd6cda9fdddbd0623aa8776dfe11f3b05e7f41b3a4602a67424c74c27a5f347edbd8ca628f8deca9112dfca61ec376051192d6a645846b77838c31191d114b9a3bbf4b90bd8d77c90d968de8c9467b2a7fee83f17a9fa0de52d368df0fbdaf499bf83daf0c87538e36cbc9476a954dea5b2c1b64039226b7e0c058ac768e95eded37f7226fff8b49d9d8f0a4243697b4cd6f2b627e4f13744d797e84b02c3ab311ab969e468aa33e7b80c25fe162932d1ebc7bd6beddc91df9d1e4cff8ebd71c130a63995b1f81e3f4084ce65a627026f613412e475d34349e8e192c944b7f0b4b944027e47df7ef309520a9ed14dfaae4ff435970b84c3e0da67db4f91ec5b21f0f522f05a1d9e5c1bf5e87dfe49e5413ad607d0d8d322ed7408b3dbd354276a794127abf7c67f8a7239db818ff359ffe99fbd561f29a88c457591ef7b85eef99df706f34df58e92da1c1eb07fbfa8cda1a43607a2dbb4ef5ef0a73fbded185e95fe863c2057e4531b02f231f0587abf4a18df6ff24ff4e7bc443497d785ead1dd37a27c8c43854f080da073c9aea9ee156859c7974a183fe41debef8fea160872d9d7b34cafd12f004f8ca394bf305e7b013c26f4a3a5bbecda808f37d7f830c78d0c4adbead14ad0e5842646603b7c56b80c7e7f36fd11a8fd0479db22b01a3d30617a457bd61ade0c3660f8d6c9bd84c2920b7cc4e6bb89d965fcd6efec5d219d638e9e0bb16ef86b38d23b9d94fddd3bcfb728c727f6dd1be19128af984d649aec80fe776d757a21d15b93fe3a11ba49685b17af42d7f23190014e4ffb9bb4a392bd3beee6edd4db7f27c005e1e88470e055f71db5ffdda3dc85d851e4c9605f8f551d682c93218ad0c3dcce47b877c668ff4fd057668f01fd99a7dfd13162f79047cf7594bb7704b179221fd23d53237f8a037f9bc5547e257de3025f6ff4ee0791a1987cc135369c4858260d0f471e933f84248914e712e5ee95ccedae950ba63818b965e0eb433a4efdd27ca8c835d8b1a92f85ca0daa4ee4d2be8cf788956d867c54f4d6f9112b980b401fac1ad9840b471f971e5f7bc48a787fa2b90f227fef04e7821499c83ad46f4665933a142ed8f4b64924244d0d8cc13b4037bc25950fa9adec0b597cb9f3c698c6760fae5f763ed90b15acdff01b2ffb34f816f3a73edb3bf828474920b80f422f988c94042cb71093a500d3fcc96c731043c16c72512e5f2301dda29c6b6d23a6c76246d3d66e72e96ccf8d9d915e7f5e5f6acf6b627b86f2da02fae650bb9c372e5adbf88962b5e89aa102f9711a8e0ed4e6e22f8b20c765c377bbdcb3f02c8e4e9b4be06d0593f27b01f93a9c67aa33f16fcd3b31e1df940e5c3e9f6443a8032bf10fe0efcd381a99ff047e1ca2fb5d42afe96f72dc29f235ccdd326afd5eb0bfc681902421d079668765b48bce3db58b7f52bbf85be855573a66e8fb98ce4f469f87f115b750e09330df828c0dbaf56328bb329df8c8f86d63434f42059fa83c047a41d9e8836dec1695f1f810e20d5ad9b9b906fb97f9386ea1ea5ec24ececf9037be410e362fbe323df4ded82677f4fb5d4c00dc67bebdbe1cd2e5d4a5b6196fdce8a275c31b768adbda7d3af902674c6f247bfac6f4c96ebf515b25b753f071278c3193814bca9f1dfab7efde986c7f21b27090cbc71dd5bb5afe1a2b498f17c36fd079187fe4762a4aa21c2761cb6bfbf7f1b593d7f85b4cf1d2e5cee31b5a7d0d015bd7c8ac63be3f9f4dbc1fe86e42773dcac5514f4e69f4b976cf92fb9d0d1fb01f47a60376beadd3f218e5f81eb3d83dad97d76dd0efe63995e87c6eab3bef3cc627d9be6f74824870ef418f57f77f37b498caa509a3ad6efbdd48480ac4687dec4f1fc1482f2275dbe93960c7e531e8539446f469f168e76d19ad492ea1327e68982b4ce52eeeac24d44e09f8f9569d6cf9167af7772637bdd11c29454fbf4c2ee1ace8cd1d6d73c5da81b6d50fb1c36a7ecffb672a81f827acaba91c4443d2c16e0678316f33c04f3bb99b531f4e90777f674dee9721c65f6a30cb41aee701e45d8bbdaa34eca7bc3703bc3f77e9ea5c6a622c5faebefd14cf37c861dce6dbbbad7ded1a2be2221cc538ca00677136eccbadc9036bb438cf711171a80e4705a6f1eed5c450b761883931acc16e7e33209f961eafadf97d10d7d08f9d548341fc22e461ebe2a1281693e56144163e1bea4789ac8a7c076277e9d868dec541dc9dca9ff7eafdfc5cbfaef17ff773cf373977682e56aec1305d7afeee07f2e4f26ff64cf4e02f8624469f7cf5dbe3ab872f2f63e35485beba8c1c9efbd757f9686f89a7d0caca4f9b3c3b99e8ee258af8caf6ad62d2be933aff98427ca13132dcd9e4c7e06f31dd4b64bad5c8c415bf984da565cd47b18388a4149b35c4d190ef7f82ee67f1a12ff151cc735fba34294c351243c054f66a82e668b2533745ac4e1feb51c5e2fbc549acb8e55e21325fc585a3eab8f3b6934f85bf4752f6be972f9f81c5bffb7e1592ff8d7a1c992ef765cc26ef1e3f4e4cfffc65e2fb6585f9892e658529643496a7f936ae46c6a8a13d158ccbb0cfb71d999319f43ff455e7be987ddc4d978cf3a35ec830de29fc6f076ff4ffc37d4bee1f3fee0b324e5bbb2f8e18fe5f7a288aedc57d319bc6a61015e67c216a3d9cf860efcb8d0f29c87bfea47e1e51fbd3e3d350b85fa96c271359e0d78f3868b5cb3fbab7bfe5c6ecf68b15e4ffa54f88c63b131991073ce79113d76efffebcf77b100bf0ab379ef72e77ab2b0ee261e405f47fe705678665beeefc25c55e027e173fe70824e7b3bddfc57967c3dc81b30b67d46511e20b07e773b4ede773e9d719666d8df328172f50bfc8876f4dd7d62105990730c944bee9c52043ac4c8583d126d771fb77d1e0a84da5149bf10cf38dd1ba1be67cd2a3f1a8469efb8eaceadf672c4c2fff199183732237a1e1fe18b1ba05bf68fedd82fd8ec515274ff65232fd9ec37498f319f562594ce5add85bd9efd7b1356ddc5287534ca1b6ea2007edba1ef29e55466b1fefd5fb8f313da8c3826e42a12a8251f63ac65b7913694dd7aa5e5b14c762fa5bcef4a7b750c1c74f8b7fc41eca77fe215d8d36d76004b1bdd75866679ec6ac1c639fe8a963ce613202e5b33d9baa95d48645eb7dbc7e3ec6f1fcf979366fca44d4f2ed2df4a77c94e3fcd3d2be0ce5ed97962e5243787bd752ad588db6f5e7700d9ec77f0eebea77831564b1d57fa0ffbc68f8fc91d6871dde7b116beb4427f7112b6e06f144fee2102922d997634dd2bec2ba4c3565798bbd2ad394f12da671b24dff3233d50aa8efaa54e2de1ed41ad7dbfa2b8a33884deecee5dbbd97b318721f0ce25c64eed730a6791aaff2f399e6f2f811eba5c3b9051923294cd0db96b4c6c751bb2ea4b7919656459b13d5db402e0fcd73277b49c626d4b0a178a5bd7a1f6b349762160a4bda2f697c0d852da6b90471577314f08f4b3ea238368c687d8c867f33acba78a463d994e808f7cf6b6b5e99caf337aa0d797edb3ebf55a25c3eb17b2b720ff680dce15b3afc68b524f7a9efbbb2dabf1d5484905bbf9ad36bf20579db15198bedc977737e6ff1ce6b9b13b733119b19e4aacfe8fb7c12a9907f7c198e0ac07623bae79781fff1be952a89b4cb720429e4ef4d5b33a872613c7371e9d0fc85b5a9cec9989ff71e8d45fc8917cddf1ad9f07ded712ff317c48a7b21fa1fd1b90cfbf2decb3d93eba7732fffcbf816139d2debd69bc870a1cdf7dfb986a3f88a7c7ddead0dcb972107a22b2595a97e14a61c89ee51f43abc73e2d8cefd0c673bd552737e1043ab32d6cee1baf3f87b838763f6a4529ff15af7eef88614578f15886bbf45696592f790e072ed38d5a5f4e96e13446b0b949edd7fbf1bcff6a42748a0fb6dfbe0ef668e2f9122d6f19c7cc329bd23ff7b0ff951f0c319b977b8a7b8d9da390fe3d19cf375407be68339833312f6f72fc44f388c6f1c445457dbb54f6b210769c5219bdf9bca18af1da78c7247fc94aa1bb2f911ad1f446bc4ec3c476435260779569c1a725fd886f25698f2e21ca559e9d4c98d5e9b43eec548701abec0239ba735dde44b0ceb9a2f93584a6c435dc0fbb105ef1fe9fb77783fe8de2f11cbe764aa531a6bac20f67f82e9d9ddd2ff55c47ef3ecff985dc7ecb74eff9745769ddd9fbbec7742db9d2fe9fff292dd97a12694a95cf0daa3b5dbbc5a4fc27c7c8b999fccf4930bc51ff6f15d62d9c33666c85f1e99ffa5461e3e85bdf8941e36b24027bdf1b55c1adf5d8b33a1f6891bc5742c9ef01ae31bf2f894f971afa1406d2bccee5c061ebeb6cf36fabef48cf3438d5daf3dc3e08f555ce6c3eee1a73aacd45be87f80bdca16ba3dd39f8bdeb3349e44d29bbc34ec9a7c42961e1b56f56fbbdef27638dfd4a7416b78d47d1c436b234a9b9c228d4de9afbefa019eb13f3688c97ab2bdf6ec0d73dc9e134721facccbd8993c1ce9172dcd4afb456d70cb73723dc3b8a9d969409e2fbdc1d1432e2e431dd427fbf52477be43cd4ea857d9d62d4b90cda51ba75ad87c2c6f65d1d938b10d3e34c5f9c5d6069b19cd67b175b67b772eab4e9dbdef3c07ceadd6bb07792e5288e9c76b81ae05b2c6537b5ead5dce9dfb9cecb8b256ac4e2e369502af2d7dba9d6ff7aeabeb3ebf9c6e33f75b1b719a38c8caa09dd7cf66ef2ee443247d69f36bfc308ee17d83e65729c91cb4f93c681f53b019d822a5458a737dba5fac4e1711cebaa5bb0ee7ee1d595f6f33bcd8ba0bfa2ecdf9fd7caf8ca0b6c69cd686cb9a3c21b265392c4f485ae590ff80e8668427d3b5d96fe7b2b37169de109adfa9bbe73a63d3ce44dfc6e2c6c944c7e6966b5b5ed21c0c90ffc9b93a9cac6c5d51b1797d6f61d9ddba3adaab7722d30888f405d33925e3f4f9ad6cbbd3c5c6ddcace086a1895ac169d6fcdc5c5d615e736b7746dc75db9b4c65119e470dfdaba5bd7c9c67b223bb0f6f7b47d5d7665d7b2317997df6fb13edd72bc6ce32dcb1511d37e66aee3bafacae7b66bdb1575db9dae9de619427bfbcff05bcb75970eec4b196fb63eedcb27ed2b19eb6ceb8a92cd6d9bb1bef5e7d6e1e495e56e758f8c7b2e2e192daf980c696e1d77e393b9c45bd9c69bd211a05d9dccb33d9767cdf7427abddbe7bc6b59ae686d9d58f6e4e964af8898f01ba8ed91c3fa1784af405c60ce6aadcc65fafb673e9a1890777889d7ee2536a539c87d1bcfb9eeda7ccc1bf23ee4474052f24056f580d8421b74bb29e419ce23c80f68283226faa2a96cce91e09484afb277caefefc44a83dd8031484982acaa36ac2a33d4253655a76d2794b2a2df37b087cff9b2f7dead7d0ff2dc75ef1994d6cc9bf3d9ccc7dae60b5a9786f056b856401b3006720eb64d1e9e7e1b705620b788006df0d006993f1fae155d3f581bec6cf7da709d0cefd9d961eda1cc508ade7761aded8d83e4e67db28f68dfdd504b97345f1de6e83a2b504b97f65d2e690ec7214f4f43613ba6766a199b0c2fdf9bbf503b6d7bcf6c71a8101d767a44d6980b7231fb24bcb50e721be87da593f367f85c697bdff9cace1ab73994da9c7e421bff07b98499be4bf3ad137d9ccaa36d7d820de4d9a3b952034166794b214ee816fb5b1c65205f8bee88174d597faeab09394d62551f7f0a59db2692dabc7f3d5c94d3e4319df6b052a013413cba82ea50e0de63a89fba4c685ca853fc977699fc0876a4d5694bf471aed5399d81ad00e672abfca14e0ed3cb4ce5adfd9bd6acc0d8f01c513b566cce9d7fd692d8feada517bc12c06fd8dadf91c5f2b94a879b8f2f51c4735f669dfd369437b0a947b8bcfb16cd0504b1d9ac166a2f477d61f83cd1ad73c38775e4d65642f3915859939f5e21e376dafa304ee3c3bdb1fd399ccf11b477a6fb7809fb385630172a1437adf9845ecb5c5f37ef743edcda590c75235a692b0b69ee9c5f743af406f431c31ac35e5f0913e82b698beacaedbe9ded144c68d7ed797fa21cd7d168dbca586c9f16a632b9862397d033f8e6da0d7eb94ffd801a3db92bf66cfdb99ebfe5fa6973a5676c5c84a7258e4e5b0979e816e5ceb927d7419e5cdacfe46a581567d2b8b1262725ecd9882fefbe5f4de8decb4aab66f90ed40de1b7bf9ad8265a4b6b3bd6521c2e645e5c096067b5637f0a317dc883fc2ac39ce6f4ccce917538add5a5801e6f9368f636e9c5d4fcb356f005d5d347942f44ed78bffd74ef539a2641be1017d6e4a61ddf4e8635ae62cfad3fddce8f6d10d9378f0e34fe2aa3359fadf9fdc9ae0539954c65682785b3dfc6096eb12169934f69f2cf5aa532f69ad613b8b13d96a3d1e6b79e57dc4a207d64f504ecf2b696efcd33bd3aeb2ffbdaf8f40ac8f5dae43f84ba1cc9f9a77e37b941ec1767bfdd27d2a6c9978fcd5c1c91b67b76a1c95e714a64559689971ac8754e253339aabdb6e1c4e5f33577ee06aef4875c6ee958b19ccad9bafa7ee32c675b77eaec818fcf8bbd55494fb5fffa36c65779aca4bd5a614da1751bc37c0976deeda99af462ab07f5d2cc1cec20606782fa94af7c858a4375ca79cfc6930e72290ddb6ce92fcd9faca7089b7decacbf78eef7e239f7d47a68a76e68468f7f387fe9c3f2c9560cbe9e9fe620093d97fa875dd7b22c2c9a73f4a28e745b1fe667fdcde15ee96f4bc3ca7e21eba966c29c7ba73ea1d64620ae6deedcb70f227b32f4871c8b19e90be473fea1061e5b5387e677fe794d43b037c2d84553765ff077f059ec3cc18df514c1ff26d1c7333721b2c2b77c2a900b17ce50417dae954ef3a460d154e55775b959dea666fec096ec22ebef39495b9f383923d467d59e29dba3754834fba3ab6165517b32cd95f3bdd638f079d9c590135311afafbe0bb9f7695d0596aff5ad24743f1cc518c9db048d16ef81e78a86753f6ba7a5c0f27b5ff7eabd894582df64ed68fe29e71af92e8e4eb8cbdd9291f93ba491743f04272dede51defe519a1794b89bc4e6bd1ca09e481f2ab4920b8e027877c67549e4d76f4da9fcf4b8eaf91e0d6f15cce76500b76cc51da8ab9e884fb724d11e6e34636fc8d3a7e3a454a91d09a0ecc2e9bc979acb8f51662742a6fcd0743fba694d4865dd4cf34fbd5383bdf21c47634762d91d5d5051e12e622c3996c7ab9d22117cdb59119202f56cf86b666f57acd471599427bfde7f7edc9b9b7bf8a557a4890e2427dcbd7720bf08e9e3dbcf5ef420e6c334745745a7672d69cd24ca2f79a8ffb0dd55d3f9e6870015887bfe901e45b8a78a5f66e5a97ca7c1ad35a78faed0d7f0f7241419fee29f0f15a83da2ecfef3ef57390df692d892753d2a04ea19612bd18f4eb07aba5d5f3f9d0ba36cd3fc4f2996fbafcf4bd7693c094b403b4d7ebab63dd530df2047deb53d2d4c4ffdfcedf537b624cf4674a3f12446418dce5a4edfc098bd4549cb2911b198f7f7fe6f10d5e65e705e74fe0730788bf82ba0590bf91e2f4e137957dae3427293fd933dc8c4378447b66e615d00985cc35c26dbe7f75436423c0356a0ad173a01e00f7ea3ecd9f283fa01620917d15378c65aea349f61cfabbcbe975aa0f11f924388702ccd72396926b7f7da2dc29a9ae90fd66f9da195e493f828f1b6a7fb578ae7394bb79ef7aef37d15bf4e6eca78dad95d2d87ecdc8438a14990bec730a74c01131e169501f4249805686f9ffa4afc9b53fc71d8d9adff756e5bd90dd9a1c758d2fb68f7beae7842ec347f7776077d828d773ce1023948b3572bb3dd6cfbb3de08f4d9e60c8f13590c160bda21633e6889f02dc67f9a4b4d454e0b7477349423d822fe4b977f816cde79e840af0d16cf0fd47f1403ecb99abccc57e9eddc0eae1d4948518cff88727c8b1a9dcc5a01e5f697dee8ff66f96cbc075b20cfa1b1e897e4fb1c5e689c835dcd980da94f7ef1836abe2d998614c6b5f2b636b0cf60397dafec53025cf5c30f2a7205b529fd04b39a02f7bc2398e69de81e61b749eac7b1ad27c7c62535bdd7278b5a9d5d7c95c4eae9f16d79db729c207ff30739c99ea42dc58c997a92e4a8fe70a53d6493f206e86f01b87e8aa5285a18e43afde6e5867ff34b52a873616b25730e1bdb766ce86e759d76d3c75ddb68edf5017a0f98cbb71b0782fc673d160dea8bdce0d23cc4ff6925c22f752fb5636a8e9017d8179b8bfce17afdce18cc1b8957b496447b2e6b135eef65d0af5566ed1089df60a9fc4ca61c0ab61ee59ccb4ebea3a91b5da3cbb9cfb164987742d4dce5a7a79ce7ff985acacadddb697b4c2a8359a9b84e89b4c2f0dd3ac68d7a199cb11b51187478eeccf01ddf024ca830635f5e479a9a51f69875d09fe9b7caa16d85082324aabab6151b92c9a89df751d676c1bea471912f9dd2e5ee84249496dc843fb5a38fa387fd39f7d9ecae31ee290afdb81372e6205bf0f6c6b7e9faf411d5f7f48fba6d8a0751da1be722bef4b55bd762ab8c7eaf8fc24fbdb3b45cec2513cb7392e05fe4879e8eff0c8d7663ec69f2ab5cd1852f6db705f9edfa60d784e4bab2bc5d3dc0ba29b18ca1bc85361dac966cf7ab403b25b72edd7d9316504ef1af6e5f53cb92c5f0bb75ddb96063a15d065bf9f1334bb466d3f87360aa6833579bcffc61fcaa8773deef10d38476a3521b29486abb785b0484c8b8f3e674baca559d9d38d9f7342275bc8bb9dfd3587b279dade5a5be4b03e37e8a25b5fafc39176d67acfd1fa0180774ab49e3ea9a594debfee57c2416d0545b49bda8b86953de5d58667dbbae048c175ac66879dbfa0b99795f9a1d18b4db09389358dd7d38a3dd48b92bfe135bee1f0082d73166738af3ce4062e020e749f6fb8bb277bc6b7e7d9dcbeaec928e13e66edf95db2363057cd3af571ce3047805f5852fd45dd0c6ca8fd7aa3b10af6e113919d6c42e3d2aceccbc7e0bf92977828336e9e6d394bc39e831d237c70e7e8c8cfc9b9f0d5c323a8e717d3257bcf21b4ef05e6675c843ee0bae8595637a063194f7a8196e9ebad9c51ddadeed14d22d351bdf4fb3d5bacd7dee43d4a017789c37cdbda9f9f64dc14bee1232a0f82ffde257f5f1636d4a31dc8936b42db3b5ceb2b1d9733ec82a37afa9ccd47c291fddaad938ed702d0a2777744782d1a933e103d334ac7f9ced71f8d5e388c015888b6e29c1dc1f915cf8adab02fc9da837a846fcc967e36ecb2583c08cf9d53d9c365b5c672b246fc63af5615b29204b0fc83fa5f4fb62af923d7718c9f6a84956eee34b525129a673579b49809c1e9d5e2dcc01e0d7287ee75596ceaaef16b376bec46f577dbeba680ba0554b7a66b362b8bd8fab68e75a34b37fe824607896dbeeee1904788e580ddb676fb8f32b6eec982e870aa4b7167ca5d0c3de757940e7c6164ff0cec1fddf8980c30e3cee18c2fff073240e9a641bef59c17be8c7bb1ca2b11f874af4ed3373b1a37667e34c03a11dda330f365893cb97ef98e04b894067b7502dfbacf95145b899250c10379fe07bba0ded089cf511b3f5153fdff9b1c7e63f4fa39c6a4a53d9f39d9ebd58d62a149ffdb9a452ff0d0e58fb4359682dc908b10b99ce8e10b26baaac77325fc6d353ec44d61d0f136b44d0b05f1ebdbbcf2d04eae63f8ff1a29e2dd90b0d8979ba086d2e87bcd7efabd5e5f788e8eabf34d96218ceff22d1723e00549ff7ab4d9827ada871ff34c36f6b9303d700babc929b9e10c0bea090d30b13b9bbf19cabcd0537483f3fc0ddf99fd9c2b7288012ed6c2cbdcaa18303a3e2f9acacbbdd3af5d3386fde1bd9d978facad5db3383a507bee477f4dbf5d6a6b2eda76eb8a5ffb1ae18565f0e06f86eab43500683daff97967554746afb09ea2ab66f3d7a65ecc4a58fc13ceca82d02b435d88b17b298dfa121b16d1655b5e9c2c549ef14142c70ebf83c7b85c09f72fa3061de54cce4748e8683ae5891e42daf16da8c1560ceace2ad5643ffbe8c646784eca557ba243f7d7c1bfb4b94aa347511812d4406a6b18aef2ec0c36259f2b9fcf8ca9b4985e967b7443e71dea501faea127bf91b9b7c14e3dbeecbcb73fed81b2f307bf89514ad6bb3bcbe1f17e5f0b9373985e3873f651acf2f9394cc9b97db51f9ef292ba25e44f22b259dcc5e0bea8a90398c0c7533d0a1667cf9e71f063dbaf7743f17f375b1109ddc7ad0c0a58c85696ecf2cd3862aee1ffb2871763c3be70661e8850b3fd2f73bfb21d56afe9f0581e3f8a559d603377df40ce549f6909c47f7473cb539a662822d0957eee6ca8dd7dba8850ff81c64d3f684e7f8dda13dada8f2d56ff5d3b2eaecbf48dd3d20af287af4eda2f8d3c973be92ad54fa122a6817787fa92918aeb261ff8fddfecb0387ed40b693a47deb888eae986d0d69d20d7c80f0e865a94a180eb50587e99279d372c9df4ebeffbf2113ce5bde512ad8bc983baed837dd0c441a98b5c4fe5da909efde90dad925b5dc119e14b908ba52165b446c5ff2677ef71d35bc3366f6fb5b4e740b780863d1685a92ea00ed6b2861c45576316dddb9a5b369cdf928e3b8318d4303d8c975656a223cd090c35bca016d74258a6598966fcd9cc30d7e4d0e8ef7f530dc49d34965c27563d8a6d9a3a19de5bee567632d9b179dd861a5dd221edc5b5a586559dd616e448796869355e5b6cff835eaf895aee5ec91cc06f79f25c5fbbd31f94a48846dc5fe806d1bbefe54eaa46e69cc88213a00d269175e8fcbe99f345e9d4d5730c15ab470b98b0b39e22bd2777ebcc0f26e829c2d4167eeed158e0c1bd9cf34e933ffe801e05cd3dae662c9ff834ede50eff612fd1ba406153cb08e2d77a75207e981f5a27f3ed4c73cc839de46bed6fbeb474da8b43d04afb01312bff827fb0bfbef246dce1cb859cff1d2ed3cd7c5a74efe9f15eadc8bcfceb09496cce3351f3835cc7dbc97e3e3fefa4ac74665ccae2e352eaff40ff9aedda2e277b99cae80e91a1d4831858c9a6a91542fb4eb17784d6bcae7d16e49fd2989c5df0ad446a3509ace4cd009eb79deca5a4580bd9f953227accf9c7b8b44ff97221b2536c256fa6c2957e4dcec682bcf7654af3bb49f9de1db075f8f2e5dbfc1e3096ca415cfb59aee30df9476d815097047c246b8afbcf7edcbfaed4e803501786d0863292825c73088f2ec2d0e5c8ded3f76ac51bcab90cad4a37ac2af746db78ed64e54e227c3f99adfd4b737ede375642f82c9cadd529fa65d9c5d450a202ea32d133459e49019b6661903f9c1a6486996125c25eadd67bf59e18f202fc3abb146a131fc9f79dba9a79fc326ef571553b7f8e9a7aaa0567aa746d680d73748bf22546b382b66955b33ecfde8cfe0b9fdbbcb5b2da71d1d03c7e29d13a83c66ccead9e65475ffbf5877a7030fe17fc2e011c57bfc65d5ad56b2f03992e7af07517835af16bfbe377f418f3ab1adf4c162fbff6f530b6ca2fdfaab8e73871f477b914ea3b7902a5cb86a483cd05ec503cd4ed2e7c9b837c1e83b15a7ad8da86d422d668dc2eb35f25f57fe17f4bbbe52b3ce1254f39e0ff508b0b4df6d221f57991c603f3e25ecbf1f573c4fd7a5973c6aa381a2ff3267e8e388ae5aa937ebef7efbcd6d9e236afc4483bbfa601f7611f52aabb1abd1a88208ba81b91e80f433c0ccdd3f384597c4957c3b44afa67374a01af077a8da96e7ea1def7022b7b0fd3610db2c0aaae7b9f3b1b76d1d8485fc9018069e9cdff133ff84f67866bceccc2766ad0c7bc765f411ea89de73eb4f48f3a575fdeeee9409333020ce9e1275a7a66f5a007f5e10ca297a47371edd0f9063b579d5c87eb98fda2731ae434c69913d756725d7be33070691e869eefb258e51d66d6b02ac21f0738a6f028d2986fbbb81ad601aec5b3c97d75dafc555f319509d4de32669b8ac6a412f96b3132a0aed11c786420b80faaf72dc0afd6e6143a2d880ec883bfea14bcad84c52f66973c9a27c811c7199276d5d2acf01ed3d818e950f76d4774776aaf2b4cc815b33c1b92282325c6be3439fbcae6cbb02650672dc265e5db6fe2f2b18179797a67b653f55be8b99159271192cac2ac333a7f0fbef61e720cb8f59efc1fd6416e08e27fd85b5145687fffdd283da4612e0b3b2f6ef3b6c4fe1247997ca218263cd94b5afa1fec088fa57d686851bd38064517d77748fb395bfb320ad9c7b134ceff4c4728deee4fb935884e692a93977bc3f0a9ae35a817391fe66b6964fc68f4c3de1a9eebab3173c64b0bff34e7c3f5490fc272e6fc175b8cb0eae8f988d6c89db3bfb5464f182dec564f182deccdb076a93aacf56edaf3323cd2d83988fb7f7cbca30e23c6f236d0da822c67f1d9b0cb2f63b49984c7b2c76b00a7f19bd53b7a207f73a698f48aee499f17636b905ba2694f8cd28a7faa799b210f72338b61fdedde09f91b426f9faf9f037f21eebe5f277d11a37a7826e2ff64d398430d4263167186754f6d4fbe7fa3abbefe1fced5fc6d513736b4a85a4919a33f51d5d454366651bd909a9aca51bdb05afdae5e3cd51e0cea01f683ea0c58dc0316c515f76b0f7c6435c83c23561752c0efc8e63913f2f3ba6250bf5e8bb0ae8e3fad45607dbb076bb1fb7e1dd622fade16ac45fc449f821767eaf98cbcb83fc85d44f67174e4b99e1c77037c04a32babbafc0a8f55bdaa31f684c95788b926a7d1ff448e23ebf180dad6d41edaac6527470df28474f4c3f2977278722f88d5442567f53fd19b9af0a4ece75c31d4e70c719e1ecfbd137db669176cf8aa76de019e7588198ffb7949c007c3b0eaea066c1886cfbd878f275ef013edebcb9b8f452b9fac187d7a2dd711be3bbfee14f9618fe22bd4e757dc3a56a9efe78f73a73a62f42dcea1d5a5fbb9284443ca8af5487bff79fe98cc9367dd1c483aab75eca4808b06daf7e2de377baafbc3fe29bfd53cedd1f45157b3297a2c696e7cf0930f735604792cc19c3dc5fbf6fdc0410ebec60617d4fae61cc893afa7a8e8afe7dae693f548bb6e4e6e8e72b75eb5b9032a7e6d258ff508ea7849b18772e46b6d7d4c90f79ef646ec736d1d50ca032aa07bcb3aa37963fe47b2f08077a74d5dae27bc3919d73fa63d27ffe385cd890b29c8917d1757f6c77df9988f57b6c62f6711b79865e3c57fb115ffec9718d4121fe6dd49c00efd13effe5e23b47756661f02f365e57a2a73439c3de280b7d74f78fe1ec65a4fa94ff919e7cace16ad75d8d93dc5b537c9f593d6976fbff98a063138ac8db6cea715e401f81c696e7943d2f958c125d1c962960764e88760e70ab06544670df29d35869ced80e968dfefe205c9d9a07ad437daf33fdd5fcfb213bf6cfd58f3b7059c33eee64be3892f97e7f5a3087d7c897c97fb772f25a196c6b161d11c679a7baf0cf7f2e9cb55bc97abc84cb37fd73cb956c5665d156b4bfcf4d5e85f5d9afc55e7028c643a882f48160c53191e7b67b95f0f5aeaea166a149f9e468c3f68e91cf0e61ad496ab70e0bdb1679afae33c66fa5813f35f743151e4b79c0c7e537e92c09ecc1db011b5fc04fc9cff47e708ffa89bd53a1f090ec3d02c39edc8786e5addd6d66b7ad7e63d9c8916f210e49a5ce5142b10d8fced4f314061cdf265d9e2adc9f7f55407fc5b8ead6dd7d690cf37f9c2da3ac8744c7bfb52c399fb394ee206f8840c6a79ff0a6bc86d63826d2ffb4f3e8a9fe582f9dff52556bbb9c9add2d55e115c6ec89331cb5f57c13b4436f83ffdee9eedf99dcdafd8de26bc661538e33fd60324fbf9295fd50372acd563a8393da411581cf2e7c5c0be66e6e235109e63f89efc6380fd9ad6a1c017803118d6522fa3140f64f3b086bae0bd9af0738a4d65fe7d1bea2bb957e46b672d6fea06558961555743bec46d6e39368e7e1e2dc362398c94f9efeedd06bf9e24c3734775d257df8d2588bdaf0d8a8dc06c1e9efa03b936c8de00dc54583771578bebd647a43f72e861c89342e6357ad2277cc11520b6aa871ffcf1196e798bbd31e405fcfe0c9f7cceab221afd7fe4bd4997a24cb706fa83be41016aa60ccb0e696ce99909a48280720a51e0d7df153b020850b3aadeefbde7acbbeea82a15218866f7fb79f6b18bc6d7deafa9335f693f5ff947505bf71eab2e660ee80c9738f702ba53c7ef2f4f7dfd20e827cc37839f2bd276e57472f3ad35230a522c0a7c82f11af58e7c1017526c7346ea2746547f2f9537faf97c67dff4f0de3a3d7beae8e89a8b61bb8612d8660db7cfbc3f4769acc4fccdb682d5c15a338e398abdcbbaf33c6f5aebc8a2acfd1bb72c024540f637d4319c01ab89ee4554d11ea3d6ad8c7ec802e0811d1dbc272a2a4e436a8ff46bdd9f425fb7c378f2fc6a1a7d34fd8ef8bce4e8cc51fb157ada95c4b81dacdd554c46b1cfd0eb02b23677dbeb7fb8e1286bdefb9ce63846da1937f2b90373b0f765b5a0710f53d98c78db00bcc95c9966bf5e8cb9d35bf24ebf1c343edd9a0bd75f30bc77e65d372c524b4bdd835ae49696965b2eca7d7344f08b835cd6d2269fee8651260b631ef6841afd07d9b5873626f31fb009cd28f7b945e926b88e54b9f881978c307edd8cc4063416f67653271b4feede609d02efe21ccfc51ef0a6f7b1174e6e8ec9debd4b74720523389493c8b1f6b13dd8c7ce747812c35bdafad659284ec55f4d6d2eb20b4af1e452fb531416910338831303f2a2cd73a0a760dddd9bababac4e18b79ca42ec64343f38bb1b0a762ba19903a7c8d09b5de39d85bc1d9318dc831f7966d4939aebf2858bc5f807783772026046790f7a7e83b226fcca8890f28c887510bc049457694143acdfff1dc0e1309c7bdefaea0e3b90f838aae7775ac4e8d7a22137b4fb4700cc649802b9faa61c49fd7d8fb6d2d57bbbfebd81bf19909afb45fdad64440fb84c4db12cc71cc04abe90364c66bdc469e70cfb7f7efeacb11837ee758bb7473c1cfa5ce558b71dcbd36ebe8a8ee1c5c5fe5c2c83c7c88da3c030cfdb99353be677ddf0ff4bee83c6d2ebb8c1ac7877b61901d9f288994bac9eeea8511edcfd363e6917c6be6ebccde1581e75f6063777c05facce33e094a065a62b37e26cb3418161e60d4be96df6ec5bb562f3fddb1452b3edfb2b73bbd2ec7657147f2c265990ff7ccf77de336f6b5dcf160a3905c17f4acb4b569f956fbf9e99e8b362e36cb7ec9dc30a531af7bcf85cfa8fa56e6a80677594b6fb230cedcb6f72afd0e839bec91d7f338059b85eadfd8433dc5b718920255e336c3bd8174ad921bb635ed2de649d0f6fece265d7dabd631082a277cc6f292d434e0dcf099796c06e2d847f336105337be95188b58ea6211b77aafeeada76acb828a70b202977c5f868961f1e9d075651af4c2e133f0ae36c662328f33989ecf52d7fdd3fe626b7358c5d8d11e8fe3b248b11ddfe9a9506d7374e9db4004d3ee847e2f42be7dc1bacb27f91de2be0b9ef5a713e4d794702f757852adddc9b58c8ae0cf06a230babb219b3b904f8a39479dd463edda4c53ef97a366a10238bb3a0fd8b8a44fed60edfa351734166d1d0f8f7da8455925129165adfe9ff3bd7cd2aeb5398dad43ea70644a0e1c978d8cfc235ba77f2d65ef34df3dd974563dce9e3d3728c6f55e3fa239788aa93fadc733be139cad06df81eeb389d199dfce26e3a3806329ddbe17297013bfe9b591d8fdd55127843f0fadf5cfd00d45dc073330186c0fe3df28e144eadacaf3939bf0b9628e62875b003711c4af614c43e4cf9f1d33e61c73876ce5582e218ffad9d7972f7c825881efd6e09f747d733f7eb68ffb79f7e61c53b53a4ff31c237fe7b986ac951ffe8c752d90b9732473a938f4aacd4370c35f721933b5add7c149c67525444f32a183e71cf71f439cb0b78fb19d4eeffdbb0cf9343be9e89f12ed09e9ee9da93e9be9a27ceae76e391c487fe0ae19f7f6fc13d9e12992d5ab05932a42d4efd321bd518d5f55d7df55241fd5f44e19e6e86a9ba308f866042c6f9450fc250bd10f31fc79c5b6261b7b8375e070fa2f318cc24d28e2fe46b237bd92f4d55901b2e3326fc0d636efdde40cff596feb4fbde56f75cd524f6d3560f19e5a6550bf8e6c7e62c3d815cb5279a66c6b32571fd77f835e7691cee08663bbc2bad656830cf46c73bfb8d54bdae4c59e5d440eb55f5fc511db33f1b38e87821d433000fa7bf7ee9ed9fe678123ec5b99113efde681b9bf4611e58b7d1b2bf1a64dfd62e64f1fc16a1abf78b7dfc75c6c8c154c6c55fcce87cebda3f4ed7907ae34e8e3d9bac93afed3b1779ed9de839a9f205684133dd7697dfd8bf9aefb40dadf9f9f30191afb47598a19f1bd714f131e0be597427d495fafd17d62f0ddd39e5703a85b730ce6f5b5c210f9bccc7159e4b40d48702090ecb8297d9953c76a067d59d4e640ebfe0d99f4c36ec2a0ce219f3ce8634136f9b3af23850e5973e2ebbfb80630733afebe343ef67127def794363d196ec5dc56b876aaf501b5f9a7ad0df9d5ec16282a03fd1a6e7c0ba0c7c2da8f8f02d42a75fc0b347fc8ff26754cf477c84709369c84fcd95fd0032a8cc72baaf712f65295d53e42ae5cd6d783e930f2347a55c3887b4906bb5f2bed9923c3316a8e8cddaf95017949d27fcd5cddb0b8cbeaa3c0d8348dfd8ee4798964251a3bc8f48e7d2ebe8a1d36b614f8f3d353f8e21ae8dd3e58c5b823e7deea673e719e65d3f3f979964f0d86972b14dfda3ec4278158d7eb33d2b70fa3be8fdef137c83cbe1863bbb6187b79513a831a63aa99f71ff2f2cfcf8ed2bfb68d95a61b1aebdd1ce1deb2f0f4ef9ddba4c114cd01d784c83b98431c2f7b69e3d0f144ca46869a655918d675b825d4d99e8ba0e39b0ec4f4f5b9078e92fbd65cb81ef0361159d1e97fa36cbc12fa70bb67ad7cbb67dec89a673bfe9fd9fc444f984fb289eff4a0e33504bf0c6a765ec4ee411674faa5bb3e35aed712692eafdb4abb955becc7de1435eecd1b156b42ba7501381b9fbf3fb7efece91ea709a5b745ede72bdba4b42dffdbf3dbc67676adfe9dce0b19f9c02515eb8deab8de37f6d2dbf8824eeb94993b30727fc677de93ace7d59f461f7e58d703c3fdbf9d9f7a1ff8cf320cebf239ce8bbde50d7a2703ce3f7f7875cf0865176ce29bff3ecf8af659bf5671576ed4285562e0df0b5c8d6594e52ed7815b7e11ba386eca2831f05c420d0eae99d539c0348df6ac2714f117f415cd8bb51a65fe74a453bca1b88fb4daa5705f6151792cc41e58873be11a98b3f7e77d5365d0a9c7c0f6535dcf8cfba6369ad8ad7b04dfb6179faa6ec4de18c55fcb5dddbf5cdb20b9bf944675ef7913673547a9c79d7af1872cf8be2e4acf61dd2eb876d0bdeccb2fc2578065e1e9d36b6b29813f0fea8d0429b0b9ecd39f8ec00e3f98a38bcda1335cdc716e06f97ab83fe668ed729be3cb0367443ae685affce55af01223de0ede7f57bfbba3a58c92acef5e728b9d8514038ee0605fed2f52ec686c7c045e29e84bead4657c69548facba609404734e82ad1067a17ffe99af34ccbfbf9a0e474a28f934d6903f1d357d8575ee539efdccd66a946e43a6d80ec40f5bc5ef6808f1f950dd46f43ed4812353e79daaf1cdd01e64d765f469434e3888bd2426fbdc666bffda9db19f8e60201fe78c74de26195ed795cd814c817dbcab56d3ba6fcee6647554d7416587197b576223752fbb218e15c6dd9cf534feacf3dbceb4e070adcfaa90bb79eb1b5c47c75005afb6f5aaadb51e1f05a8416565159d37637c5cdef8a667d07ac2c9a8ea5acfba674433f9c8d19800eac1e8cfd402f095c89e26b515fbb5cbede3da16ea5c6f1563515dc4caa59d77ad73bf9633cb5147d783e95f0d6ec13896b4b62de99722acd0e703b40e10dfd483d4e102cb061c04644364995bd7b1d6b54e988be6c74ab33f569a5d6d66bbbab6f8e9fe5b931f1fb13d72df72e30fe09814d6f5676759e3cf9ba439c3cfbf273dcb4e52dc21aefee6bad62775523759643b38a346847960c8bc2546ecccf7a56dc639fd797d7efb9f39e68e873c4847be04350f1579de3e060ee8418c3fafcf1cfc1fe38001f732b76f7a905bd9b68f8143b9ee1b1aac78d1fa593faf8949ef5bae5d1ed7fcf63ff7c747a8d7b28762588fabb6db9847fd4efe404a01f7a6a2c74fe40a759d3788731b5dd3c85b89751227f6e249e972ebd81bac612cd4dcdc5dbcff9e715fcbc55bdf1af2be832779917980abb51eb9c90a6ac2c8de8e6d4e045bbf6f83d4fbb759434127ef6a9c6d523faf50b9174563ebf3826ce89cba3e73cc21bf5a3290e7f5a7d12bdd9179c867b3b29b62ed720fdd13cd29b70e1561f84316e6189365b14f6d2ebbba2570300404b74a3f98eb5ff27c95812c518b5889f9f6ec1980f5836438c4ddeafc2fce1d16549ebda905296535fa908531703639eae888df03f88a010b08e93488ed4524e70a7bfa6756c74ce5a984bf0fc50cdd6357e23542bea9a31610ff809a9416ff0c62905b1d30833e0fd05f343abb03e99763223f7c98dba46655af6b1939b4b78bb168b6df39e65e75ac05eb586be6b82c06c8564373ee9d79565e8c01d35011a2cc2da30f0b8d49186607a45b2d9697973bc08bebee6b6aadbb9fe335edefe584d2b7b3eeef5c6151f9f3df5f47affd566bce2dd25b6f64c58b7555bf19d7bcadbd21f7aee7b9993b8f714ac7d4719e5188dada2a2a9f063c9f16c1ebe9e8ae47200b0d16fa48a9e3eb4b3ca63e265ac7f7c679a911ddc7f0e22c937161dd89f3366d9ebcb15781fb4b7fea6debe168c139c1783e9de701a7025e6b3d55defa7093e6ccfbe1f33dfc334b7d1f65dff9228e6000a7ff173d16aed6031196d1686d127e24abdf6283a17d12002f4c731facbf406f24716e9b8f54568bc753ed1c5d5315b6f542d03fa7023e0a43cb38c0c39c923934d7e1d68c9abf89dc7c20fb9f92fdf996d3dbf909833bfadee5ea75883e5a79a35f2146dafd1eddbffa32476724933bb6d4624cc9d2f8d3bd14e317b83fb86f704ac5c42ebb8e0e073b693aca1dd388f64b29389843d049946c8bbc6491baa158cb3388232b17881f23bd79b643e6a62cc5abac16b3da5fa4e7d62f6b9db57b2dd7aab6a607f04a5fca178c3d53cb7ac7b2314f4532c4ba624a71794f4721b66525dad6c73e2ff4cdc0b9abf979718fe937fec5869bd7fe0def9ee9da84158f7b09e68f0d37fc944ddef558e40b16b992c4d5ee62249057052e26c03ecd893f927965c6afb4db5d4916995bcbc90bd4e88472935f283afd3eca540c15610e7bfa60adafcfeb90fd82fdf33bd95bebd7d918adfd5b7958fb25edf52cc1c8fdd697821a83838af30ddfcbe4094ff24e044768f829b739a85c49d657df1cfd528407ef86a3d84dd6775c675f3cb6480f523e24e415c819069b6adab3fbabf987ddc62833bb443ae867aa0843746ffc9ecbdd4bdd4ae21bc82fade501b2dd52fb22c5b679e39b7e5f739848c85f4f8ac01beca7cf7bb0f6c1e3377b74c703b6c75b5b71d139577bb5cf973d227bc14ba4f34f82515bef1faa2fd9d45fbe27e9b568f5ee14f7da3436efa053fb34a46ae38f44cef6eb87e1cc77ec3b95c9dc10b0779f6c276c2fbed0fdb4dd769994b8fe24ae0e533155e62b22eb98b4579b35ebe32eedd19ea47197900e9bbeb2ada1cf2daecf19d864cb1dd125c50cf747ed013fe01bbd54cfc90f79d99d03b9ccd07b62bd35070ef9fa3dbb36eef2446cdce803eed119d3930d4acddb2994a16704bf8f82fdc49eac00bcf8fc9bfb75eea50823be136f2891ad83ce8ff7a21e81ecdf73af0e81aa2570ea3a9657f2615a305be3e66f38fd5346fec1d2a8005f17e2043a914554ec7bd98d0522bded5de2cf6f703446727fdc53899c4731549637a84d72a7c80641fb6d0d717059f83e7ee9700653f79ac9d3984776cb0b7bae397bb8a6681fa375b5911f6eee727101b1c0573ec8c5b16a992292d8881138d361a84ca5f9def8f958cd7e566218f739b63117d17b9baee6ee4fa4b8e1c8bfdad65a6ab026bee3e19fb79f7762bfc6adbe2ff440aa6d2cc7df9641b4d5fffe77cafcdb1ab491b27837fee293d479bdefeb501751afff2a96ad628ce3a84c8d89033d69affccdbe9def005e51946e923e3f3d1def7fe223aaf3eda37eadc2c19ac44fbd6cd89f7996a3502f59d7b94933db1ce5ee6077f204c01bc178be68cf99785f8a21f497f59f89edac375c0bc4d6cadcaac9db3ffbe04204b6a4573181db8bc311dc8758116cba07f3ea85f1f8b814fbf3d2c1bef4a03ebcfb3ba7e1867bdfe3a824c09b07fc7d9813e8bd5f01b898c0ab5f3024469e2acbd50f7fc684cdf93da70cd87733f6aeb4b5838bd64ee9f940e19caef7041e8aadc9004f1b8995fd789117efd46eb698d0d8a71005cc192322fd321531fe0dc95dd7f55518bbbc1b53c135cb4cdb6ba85dafdee0d987a8fd8b3afe8974c44183185dab475bfbe7c781d87fdd7e13696d5b11d977f5b8614e49fda55189cbfd5d5c92fc8c2aa69bf035b633f2733a796af477cfd6039e97d7e390dc0bc66b25759af533eead4cc6362770a30851af37a38919a54ff1a8a5981da0ff92d8fa83666eef0a8ecb600c93b293ebf8259745fa12f38dd4cc903e9fa039734f189f2d3ec7534c1b70a5910dd88f91ae81ffa39e5fba86b6c63c77c211704462acd028edd54b939c54f4e985737e6b624e151c8318f362add34331f3ce2cb2cb6a4e0de639fe9d9674ad07d583c17b55d3e741d57723fbf829befee95b30ee7e7cfa41304b29bbdd075baef6f5287fe33bbbfd13f9d036f2055ed8cd5beb763e2c8dfc50a5a52218e8deb0be9b649c6119657fb86101f9543b599c0f551a2802f881988f73c96476c59feb5cd577cfda5c5efb28c87f7debf74dbff7c3e48a298e26c67ea67d28afac632174bedce0499c05ed4f52af56e4b21a65078bc9be9e3050f8f2f0548ffa36d6d5ae4b79e39565d4ab7d33dedc8ff4735b6feffb09bc44e0e7eec89926feeb94b9b5b16b1c636dafddd73c55ad1f40d96fcfb1d9d77e15c466c99c915eeebeaead1c6b3f7f99ab7855e7fc86970ff0fd202e0f98ad03c79266b6b58e65cc557c354be9ea5827642f923cc723f4ad7da268f059e071ebf40038b1482e10fef7047dae736be0b937ce5e05f8b2ac3d58dd56c01f6f30ce79ceb998131fddf7b6d21c821d2b057ed9cd87ca82fe0b384b5e8c711b3285fc6ddfa264b8c90d70f045fa9c853f4399d33b32eaad4df24a4fd3f5d5bfb3317bd86d949d2ef6f3692ffb1ed4dff43d901a9b17f6ff53beee6831e9d319a9e3636fec36370c7a3d73e47af59452dc12a96b4d08a7d73e7600b3fff96c53715f12d3ef8d25317267f6adfdc8bf7d5fed3d66b9a38d314e9bd060b23736dae67d2f3a4330d818a5a98588082fca9c07fc113c16321fc4775e8a8d4c029bb5c9d3ecf826ef50cba5f284ec8212de9bc812e023a86319cb97f615c41ba8fce9a38969a8451d9fa5e2217cd7ee1086c029e772c8cf3985b5ac1281f306b0c590cfdfc651ba398302e9727807a4cfc3f8aff77f13c7378d08f67bbf67a7e327d3b55c6f6575dbcff2423fd0cf3baa45d53f4b5003f3f60c3de52cdede7b6beae9cbf395b4390a3f6c73142fce21eb76afa5ff7e3e4b74eee3057e5b5db3e34c4fa9b2c41ce447b5c1f4213568c3eb06f094a11ea394b15e915c938d1d2186bcb01b9ed855f91718ce7f8861f3f6acbec59cca00670fdbfcf1d99f8a3d8c0dc0b72f65f5946e19dcfb47fcb70f373c0d36daea1fe1506f6a4c1a8c7f3668f02535345f455a633cf6f4738319af2c576ff09e462f30d70bb6aebdb04da95284558d179fb8020ffd2aef31c03a75bd99b2fc497a6dc1d74d692ea46edf6aa72fa7ae45cdb7e6f86aab4ddf57d3e3083c72748f4eb5f0413eced8d4634681160699ac8d1f9be4f19fadf6f3875da2bfd3bbdce479eb5e4cf62c2ff5ab3b45be0260e7fd9207bb1473e675708233c2c1f8c03260edfa0b26f3c2e0d1e17859ee1ab9a1688bb7f843bfad9debe2627ef6fb14fe2b1c05b06526a9574e20be62ab348e9248db23f111f6dc6b3e5fe463bb151b51bc3e2ff8d54fa11802a6cf63d3c3d576d4539f2f9bc458b1ef2393bc04ce99f04866bce2aa6cb919cf37a44ff9863fb0d197efe325747faaa3b139e455b06ec67d1ec0ad437a13ca51645bfb606bce79b9bc0592267ebae72c85dfb53d0219d5e73a3e4e014b15c76108afa8ac8eee3670e93ab12c8cb32f6e7db52d29b007c82f44327dfe216a135e569f71333176dceec7fb1ea9dd0f7fc6bafeb4882d2d6dfad91c1c8b877e35258167f0b6c6fc92b979bc0a01a3fced997ec587453d2f91bee709673a7a9fea77a13fc7b8ee6ff0d35a4e93444af6779bd4eebf3a03f4ef34cb00fe2c971b6debf9a67b01dc3258fb169a8bf8ee467c08bcc8895162dffbfd7d0dce08552e66fee0fe96634acac1dabf7e4e8b51f07e7f3ef798e7f212cbd2e337bdeb1e67308610df1c93673197ec4bac32a467f5039adb81c16cb9fe395fc7fe629fbaa671f7ad1dc1c77a3c008310fbff9827f709ff2b2a003767b6ab5604175a35d99b63ee53e863f85bac298cd559ad9fb093099ee6f2863ecb0ee63af567a90b3c0cd50eec89cdcc63f1584e837518fbc7b7d8afcf7a9dc6c8c55c3bccd50d4f25e095113bdcd600439ccedfa535be845bc6141626c6ecb2a95a67db809e2ba4e328ae31e05801ce59e4571e9745294fc5d13ac4dca0a2b9ca3da1601d2ece3df6965be87e533847a56dae997dd3174d7e57e2dfd9e5e8e12e8dcbc11c413febd6da357139f47ba851c75c7a158dc7eeab80519fcad6ea7a306eac85d66aa9a7f5fd375331f3d52206acbd0eeec08a8af1ad72d27b019ca37b21ae3c61c1d85c307339e423f895920481c774b136918f20850e7e8e8af3ac76d9a9cd9f1facf5037246f3f5dd4d9cd419ac5d376678a7ae27463ef265826c1c888b395c8c742e398bb8be1ff7dc8d3b793e1bbff79dd44edd5f8f6f9eca967e75d95b60d5d862343770fbff00f745f929dadb4466d4fcab571ff96c975763ab6354b867b3539ba2b6b6845dbebeb766f2916f16b1c7628e2a2f3c852bede7430c815bf6fcfa99c6dae5f6ac2b1815f4a059bbecddfdf702ee4375cc11609b93ebebb506bc44bc47211f09fe9c9bac53c75af335afddd76092f9a69fba97d587c932d9eff6c9e672e395e5f7e3fee69a79771cab8faf019379025f795c8cfc2df5d57b7a554aea4fe21cc78071bf874ecea1369022c77ac63275cb66ce0b1163d392da9dae0fe571456a737a83658aec79cc3ff6fa791e238d30d761fa86771af21c340e2fc81e478d712dd29bb3d6e46c2a8c3fb2e15ee2c05edd304aa46401e76cabb1f7e3f271b50db4cecdfb96d88f2f029035e638833141fd889d1c30bf19e03b109954af9de00ea4059cefd9bb7783bc40ea0d2680bb5ef3ded57df15e625c0ee0db2e400e619edd98ea27feed5961de9c0bffb82c486fc8537f57ee0941e0e11aace7e75b2b0a53e5b7d7126c6f6cfb638e9b21ee790d5ff96a4129ab6d9eeb0fde2f3707926f611d73a7ecb13bcd6d53c7f7ad811423fd4df44abd5e553f56428d99f0f28c6b3b3a905fe309137cdfa69731c0f800947e6beb9ef8063b6bc69e95049f07982ffd792f78d5f3def7a731f38d8e69faa009f6746d77fc5646d2baf2807546295be2cbf73d74dfb734b9d87fe27e33d77f6b9f40be0d734db49c54ebf32edd70d00b0676d0aa5af5f0e6572ff3a48e3a021bf2b87c84be39fae526fcc00d59ac7371ace3ec5b5289e6df20f8585b4bc7d894c079ee942ec752350c50a7c86cb908d9389ccbdde2fdc008bc641f3bb88628b4cdf52f838b99c3bce60319672ed2515a9a2a499cfb09ffcbd17dd6b6a4c831f7b3261f550677347e0763223e8f0bfcae826f79ef81272e3a58ebeb133e4fe39b4a8c3b98acdd81513986f1c03ce6c6f83885cf7577609c0f73c859438e12e649e01f86c0b3484f618e13cc4beb00b7e37aed0e9cf88f9fa9b3773fd1c9ef8bb178d9dfbdc5feee9bebab66f21ce165477e79ea013fb0c4fcf9bdf7771ffc84e77beb837de05d76cdb81d2b88ed81c1c0f9021dd49eb3e767e17800c6f26bafa33174905f0db565ad4e6ff788b5fa24d84ef9c15ad7f5ad8c0cb8c6a04f2a317cb3c6d6ee878f6b8c804b787f91eeaeded6b4e03833f8df6dec7ec603067bfd39cda36c0f8cd2c3b630e1576a7b48debd5bdd8bf8cdfbd5b2b0447ef697609c7d6b4fdb37b1c7bcb3233ab514b112f3516bf3d27dd545d99f7faa0609dbb8f33a1e19573596961b462925bbef804b5601ee44537f299a3a5a17d03936c687babbf11aedab8763eeaeb276bbcb65967a25b149e3db1df82538bee5ac12868974a1654ef4d99baf4eaf3199afdefbb6ebea55785d7e3f9f9286cee7cedaebdec588dfefdd7f7f4f239dfd7a5f77f465dd6fcffce59c9768ce01ff007ac383581146d0834fe974d0f5758e1cae9dda893f859e9ace75746c0ecf6b97ebf30ff6f6fbbd5935bd33bc826c1fa69dcf675eb04e6ddbfb7b0e98cc81b842b3c7052fe16fa0839eed628a6f0664453b7eacaf300fb9a0d776e94b59f25ec64e4a5c3f0a38f1308e765cc0eb826cf96a07f3055ca7afce3815371aa51e83cf2df038d5bdec027a4671f7395c03e19aecdd8ddaeb9e71b23b7c0a584743ee1a6ac36faec9e7d498ea7a6498571dc9577344cdef373588e4de2f7e7325bd5aa56d0117696c2cfdbb0ef66fff7e754eb1b54795cbcbdfb538de6a816c67e853767423f705a3d40423f09397f7cebc1e97985b8edefdbef71b263b9823887da2b9dd5c6ea98bebb6662ec73e5c0e7ac775e8b978da2322b603c8ef0de4971acd7b05eeb39f73df9a06ffcc09fc96c3e27ddc0aeadb3ab1a93b85fb09b5c68071dbadbb259c430ce095c980bb19f3470b645500dcc417e77ee08ca56f2e4a4730a25ddbcff0e196c537dfdfac83b5bfee30a700ba16ad05601deeb805eb700143f2fbfd3a03e4ab946d7e802d3703829158bfe7b4888f16cbf7f27ec1bf942f6c7dcf0bb10b96506f5379c97ae10a381e7d5c168383398adc8147e58e71cd9697189527f038bfce225bcc20750a3b9ce3b07e7b5daacc56b81e9ee2a3d8429f023e7744f631ff08cb1f3809bd74c38d739b5be486b58ef7737e4dea5de91c0f5d6381f5526827548c3e3f98eca39e13ec830ec11fda274680ce36d4656b808bf79bfb82bf2b38e602cd652c4fc5509902de5cf6277c0ea2d97d97e3b2805e11792a058eb0c771064aa78809f25ba9fcc24b2e082674b96128733a7045615fb7fd0de1a70dea3d73d05ee6c79a3d234fa5e860d9a1acdd52e5b28efdf982813d79413e62902b53a91ec327c9a3bdc7b6366eb9d5faf0810df1183b112ffed5318d0cfb323ac1a46fc7ac24f1cd1308a7bb806311d85776621beea55fc5a8c6601a0d0e8211bb533113cfab7c3515a1a6f4aff7dc99fddc9905b309a5c05dee15c78a4205e9b4cbbe74b9c7879820795690cfd918726209fa77813f5be07cdb26943056f7fc167fa912dfc51619bfc2becdd19ef41383c499489d25c6a3bc3b429c1c4ca324b515745e17eb4f938f0ea69362bb7201f53672cb1302b85dad2d350f8003445d0037e9d1fca39a8493fb966ff2db1c4501dcd298836eb43a7bc0f124434d85886b2b2a120b387b0fb9e137131f2dbfd96eb09e7639cdfc1a8fb7d5cb750c13d92818db7889f910fd19cb109e4306c9255cb70db8e6a99b781fd0a36549c876b91ecc22223ae5bc35e7bdfe2b9a8f2fce215f36976264333b6a40747fd4c39179503684981fcc51e55812d6b77af3db5afebfc1dc8f5ffba11aff428750f8fc15cbd478311b1aefa6c4fd793ac496e3dc69f0fbf58c6003dc3166591c22b970a890ee5ff0b8ff09f03c337f9115965ae4b2969edb79e9e1995332ef9dbf51f792c1fdb41bc6ff86f59af8b8cebee5a4d87141ea0abb2bcc538be7363b0871e64c8157e91d9638ee87ac28fe41eb691f60ae1d904543d28b987dbe784e09dc8430ee1dffc5ed01bbd64b78d6e38a919e180f57589c1d1d7421d8159ab9280f03e3b149c6b9232cd0792ddd8151b9cb5875ac49669beb1874a4e1a7be10402da26ffdccbce65efbd815e2dbc1dac7ce620f75cebfc30feae85e9570dbf5ded7853e9cdd0f240bec3228158196bd80abcf38067ade9ef821683dc6e92619fe9097abab5b422cfd2ae3581ff4d51da6e83e35c655d36f697802925b46f5ca17a07cce17f8e3b71cf993edbaed5d37a6b8d49722c1ba8f3f317fba2469f17aa1c7fba3a62f54953576e23905dc2da835e4460cbc1ff05a16a592e07e0f3c4fe8ec62fcc50de6670f359d37f706bf30e7b166cce3cdbe143ff0b9147307fc30b4ce7a86e59198dba6c3389684e74b8d3eeb7d44c6a6ed8dceb8d2feb864ed569f39cc0b1fef17e6627fdc31fcc6981b1b632a7ee07806d45122df20f7a74fcf51f73abb3522e3a845fc7caf8a1f905fe98e394576e9b1c79be52cff585f76719db880714da41f03c65ffefc504a7ee00fbcdcaf56b93b902e0af0ab45f72f01ae0b15810d7c21b8b9b36b7858ee196f76bd2b037fe097a3c1aa1cddbdc4bbafb468b499f26bdbda5f1506ae5f6b5331f306ce65134a577fb97f6cc2f1dd1ff803e5e2550a92a5e5b85ccd7e3e94c19a734ae9cfeb9cfeb02ecf379b3acea8d37f3467b59d357948a1b3d699c5c39b8e20fe6398a3ca369d5813f8b36d164273df6efd0485e172fbb3df874f354a1d8eb9f67e0ce65ffa8bbac1e7fa02a4832386700de6f26c355c95d115743bf0f2c695912cb283b96fed47b548b7c0852a923a875525abc527b21f7d81cf3127fcfaea98eb5f76c20ff1dff1cd36fd18ff3f481d611fbb67c0b62f6d739fba15febf63ad637f06ffaf7c53ba1dac1dae4beaf33c01de36e12733f5dce682d8e66eb13347f22f4ba4a4fd8ef44dad0ee6e817c9ed0fd7a5d8e32cc05cb85e89f931db5ae711e1db2fc6d46777375a5f31ae7d944817f12a9e4f43b1a7e309f710e6d69a060d079b92e0b9c13d12ed385d6e343b800ed1eb1a84e146155362b3640df77f2fd654effbc66e04fe5d767c1462b7cead5816f88eedb8f1df481e461a37cabef0dfd1c15a439daf33e371de31e9e2759b26cf8ac0fdefa40e6076cf4ff6d209dca511dbd3c9c34bf807f4a709f31392fdae3a41b66de64c2703a42f312efc221785493b16f3e709de5b2800fbdd009b793238a0f95a4a903bf7c24980fb307737178db7b9eff0a49af6c9178258149cd4318b485caed173d03343479ddc7c52bb2c2e412e9c1aaea4453deee1491becaf8e250d0ed63a56a693cab17627c78c9903f40b76c7ea0ec4938d7b42b76e528cece930942d266bf6e0ec4fd7875e7303fe46fac199f3b9bb8c713f8d1057d00f61ee7ee0d84adaeb4988efbe0af3ce1dcc7dec4c2781284cce07c1381f3823faffdc9acc9bb37152c2c916ddc3bbf8a9c7e999b85cc7fe7412a3313b9678b2053edf7101d868f67472f7c2c9899abf93128ae9512dda77d2d240c1360aaf2c7ff25f03a6e377384d8d6b3ff70f71d6c035a12e13d78936716cf1b48375cff0fbb6737373d0dc723be0cbb0a7e22f7f9a8568afb4353a6248cef615fae2d09ab19027c6752cd5eb7df49cab7f60ae0fe1f13207ec8551daf807386e0f3d898e8af9d5bda9486acb00770bbd5fd0efd126fb2d91c2f9d5564737c75a57489ec3f3973f53d9ba3d4c6e9ebba65179dce2e2180c2f6a3f3f9d10627d3c89719bafe4570f9703cb381de4f80f19e432c45ee8cf894cd7a19f83c87712abaef7cf73af4327e7d6d5173f6461553fa7393b9a10e787923c17e30f35dfd13920ad95dbdfc6d8fff4ddbcb6e790e89880696280d3663cf0ee7ff11e658bd182cf8cbcdcb57c538d4edaa5b29602367f7ddd96ebe8a6ba66a8e1f2030cdc9a93e4a9b620f8576a1f45e8d598f35f0329f68422b03903ec709cc367032fb9b1de8cd44cb5be09f6ebd0998c8d87232c18c75a7d90bd5ec7d3d15a7d7c714ddd53ee2771e972231c5b7be2d419137d3f7faca722f48a7bdff885e0af7df33dfcbeee8d64708cc24b8cdcb02611f4ece25ac2efde07f7512f9fed7dfbefe363afb9cb5fd4b03cc7bc7a7b5dc3fe27c62337c647c2c7735c3e0a85d3f9ad36bffbb334c69cb40e23a2efbe8955617e26a89924fd5e549c74d6ab15ef600718b58dd5d44ebcbc6eb9a7af633a7c28751dd5137eb9dee5344f80bbf58a7c36523b55d712a1776fb1cda79d182f553714f1e85db6c290e288897ec9650c7ded5e8d338df3dda985397befb260b8f0b7c164fee2969b5cec5b747f8836ffa43946fe0dbfa98babd999df1a87147035ebbc0ed483e31e7b1caf1646e3e352a47a73807fa2dc34b8c7148e9e40af53dbebd2e9edc535811d7ef0ad39fed1bb2678be66fed1a953d7d800704b084720c6026ab8d3f303678c084e1cda037f3e974d8ce3167bdc3af084e7dc661d33fe2a455e3c5fc32d60258b1ff8ff62786c73e3a134157fc953117a79954b2d13f5abc266fc2666ee4ef978c22da530785cc7600987ab913bd6fa6c5b93f7750a560663d984222f860f18cb26143fc40bd3dc13c6529e4225c4b5426635f1a5d046e3247f2f7ca447bc81117a3557e44c041dd6fd6c9eca6ad4ca4cf5749767cce338634a59e52fca34786b3bf88b5b6c616cab7e4eaefc27fd6fb8b66d0cf1eccd2cc2716ccd6665cc177e05ac72a4a7c2d3701546dfd7be11cc711b30bf911e36e25ac6430dc08b3a76aa06e70e36e8b45b1fe15e884fba6cf88e3e71ed17e495a3f7752738778eb134dbbc813fc5790325e64ba8b1b6a4d899afefae35b9bb8081ce2079866c13d6d1db3aba375cd9ac42f043d03b52f95a8ca7d2d63b821c2539ac92ae0f01ff7320e6d6a0c1e26aebf006ab1f5e383a3658614c3b1eaf1c3d7c6b7d9597bb747379fb7bde1cec7d4540f671cc2b82917b9611fba6d15ec3c4909f779345f632b6a9be797ec5c74acc37d825542ebaaa7ba390cdf4fef72cf4f91d00b38e9e73e7ee25eb66dfbc3faf60037e022ecf7247bfbfe00ea4b36310db41833ee71473b953cf311a1b8bf497bff6436a7b0d6226daad243ddfed3bb11847408779d5f17c2f3bebd1c4c86bfc5651fbd9f49903e6dc12dbf7071362cc741d26c953767e1f424ff99bb9dfbedf4b356e5a2e6be9fbdf43bd7984d6a504d9d9ee19cdb1f6efe68aaac3c6eb82b1f4829c7e0e1ebfb187f9b78ab12c0ce9b1e27b1b586e6c8d9b0f32128f19e271b8969ede2b750e7f2fb9977dec25a3a7ba8fc69fececc326f7cffbb8be8ae2561b367bf2e59a3cfbabe917a7f7fbf4822e0e07c4b98ad5590cd178dee9440a0f97f0b5353a3be8da6b136643e17ddb1c8ffcd8d237a1de087478ef33cc270c1c4545f9cac6db746aaeeadcc5f081c6defefd2857333e974bf1240b60077e8853f197178efec7e562a41f33712aa67229a6e239cda1d64d8d9f6c76ffcf6df65c9eed1e941ccde5d9a980fc1ec46621265bcabdfbbb837f960378db6f7d6663b07bf5f5dd11748a5b05fa4b67c847c3350efa0fc2b1c490786de045f09b540aed6255b598a05b6d5ec95a0afbcd9f0df955258d8fb3790576d78c6736e7f7362ce54332abf33c95e7df717b16b5bf93fea9bdd0b9bfa6f77ff7ae8687f41e432e08d91aac3dd8df81472e9146be60acea1ef37ebfb217a2f33daa1c6b7705ac3ad287a92cf77f6f7bb67bbbd30bf4226644f70d3539776487f7f21274af216fb24ce6cf98c766b01bafce3ab729b35ffe348e6b9d27863ab211affeec51accfe370856cdb504ce5c12ef7055e23185bc8c64a6575c4b8acf140e3d941deeb94766a432de60a79881775389d9ca305bdc239d267077344d67b5f6d99b7dc4db83f8b70fd3a6dffffa75cde4ad9a279b60cd78b19c0f33207924ffeeeac61ff7c7f71782e0d81aff7dec7412d026fb04e1d6ef86dfce8859f89ece4c837d7b1dcb38b7b758d31eebf84fc6ae6584caae0bad3b3cbb1e1c11cf56d894e1da7c9326d2f7c53170a766180c6ffc48fd0ce3fb3356e9fc8dfde5c6ef74d62e0bcf1e0e787988cc3a3c120f9e15a6af15c8f4cf8bfa87b21bd81e617f8fa011b2dbe05185762e277b026c8fc1cd428f30103401f537d3d681d590acbac320786af080ffe60dcce9696bdee39171e6d4e49633329b46fd8cf1dd27db499ac629b8be866fcee4994419c75969e8fe02f10fb5478a41dcef857f338bb51fc7ec3a2a9f580be7ac2eba716d0e3859e6592d88db760483f70903fd57e1b371f9de5d5ec1674620d65f6cb56639a433637b9850f7a8e9c61e040c45839773b495d224b1e96c69647cc95902a82c12b02c1d1fb8ded08392862c3c953de934be4e38927318c889e8f2bb764869b993e52b479b8edf17b7b21fdfb716c563f6f1b737e7362f6737561ee0e1765be39aa7dee7433d8975f749c8a70a5188624ed38fe067590e6889197627a34ebdea06eddf511db59f0bb37be4fea60ee3d9e921f54ac436fdf9ff4fd7b83f866277cd6c3feffe19dd906e3b58befb6bfd7fc2e752fbca3461f54bc23e8e39da17bd5321674c8544a3d6e7cdbcc4eec46650a91d4c7b4e3342a9b5b3c703f55779e7d237b285a1c28a6e37f557b5ee1fcf41bdf3c9434919334b112c3dbc386dae738879e8086e7494c95d99c93d52c94b4f554bc30a9dc898d8d793114b3033acf5c34f6c2ce796efa4891ee5628db6367ed901cf85ccf2096531d970f668dded35a8f8fb388859ae341315e692257ffdfab86fc7a764aa4cb6abcd5f4c1715954db33c3ad553bf1aa07bfd126e3e372f59fad160da4d0a9b63306d9af3fdc32e3bd70743e088b923cf7c3ab1ec5ea7c82ef6ce356595a5a6d67e2633dab3fcb8a8d26a167fe671d33bfd0dfab73305e9f5789c732e8f7ec5a1347eb0b1997e655ebd9aefe6db93aefe1b72b4df2656ee1ae347108633bdbc9fabc6e3f9bd9957459fb9b3048e58a2990bc5c9f757655d9bfe4e9a958cdc44abaacd2edec51ac960ff2b748d969c6c49f06a98ce41779f67a3621cf0e7acf9e97d2d9ae2cf51698d5bcdcc0fc0db9ee670f6e553a95a552bca0028f7b16082ee0fbde87f955c4fd710d76471787264aa4701ec8c29fd9ff1436eeefbebf124cc2d463a5d8618ca1f75c4bdfec7993ab6d8c89ea98fee26b39f1e18cbdb1c3281ba8edcbb698cc3517233b31d6b6f5f3957d807b6a81c3bfd3830af6d82b3bc60b337ea5c6791b8b086264bfc83476a530a2f85a77a49f848dbdc4efc83c51d0219ea308f3f4091b07f9623d8c15b18b8353eb2846565b1e74376c38b621eeddc312a1e55aebf7c537461146fea60c0224eb6ca41b8545ea46e477cbf5f828cc73e4abba039ff6032ad92ac662cdb3370d5ee740907f8d31d1a0071df82ba9f7c47c9e0be67d7e61d7c855888324ebbb9bac03e885d01ad9c550b6e39dd4b8065887a367aff803d4ffcc53e4e7e1ef1de0ffdb9641ae24cedd8b8cc0e64e7d6e01e044841a483a8750460dc73bd8862cf37900fcf297b82de859b914da6feca3e10f7f71bb5b1a1bcb02b2718a40a6b080a0ae13ada93a614c8ef7b7e6889781b325fae8db6d6ef8d6ae651461dc8ed91cc198db7ddaac215cb71dc03bf18e1ac0331521ca6c35fa20e3041f4a568b8ae4a75fda29dfe2e22f779918f347c75a93de6c3d5496758dce35582d99b4134fd67e329b695d73253e5625d851b2c7f1b98e7bdc709dcd99bd2b31ee552379f70c630c1a8f1d57dcdd44e7dd7274740423f6e6ebcce54631794eb0b56e8123bcab21a5fc81c1deaf7105492e3dfbe246b1cf507d05c908cd0ba9917dd73b55bf9fe1fa0b6a2d84a6e73cc671bf5bee58febce94b98a5b9b224bcb3e6eec3bbb0809f41f2187ff92cf8bbaeb527f9f1e213f9cbfbb647e4c30deb7731a2cd05ea07a1f6f88d0d47c5a7870dd7966dedaf4dac13d689a7d7056a2ddab5d0af6e587c82bf5373ecaa62e6090be6304b6bfec0d2e5585e6e6b91234a06b0e8d95f1cffd884125ad75059a27d71faa0c7a390faab4db240fbf94fdefbec0e26a3bf786f8c6f4d7328ab41ae2c6f776f760d6d731f89610163d95c6aaeb20573981675bdda8b798a5f8f15f6c13ef69efccade1ebebcda4ff8775e18903dd7d9df29b2db2dce8ffb381f4ff559dddff1c0a7fe66acc816f8c333775792b852cd11e3987e0c711d8d47f6efc315e233d478cc1adeb5b6e60473b913ec54bcce2fcf928071833797fd1f9cd9efe6b03d93d06b26004eccd59f3e0ad9c81e96f57f794ee7393e43f5fe9d235bedf1a5160ce07d27f3dc1700c3fb88b155e739acf7b25be7e595543dc1540c7bf1e3b8891f5b787fc33da6edb93d76cf418c7b19864d1dd2532f0b3a476a71568447e6109b87c6e5f741b7eb3cd4b8d07cf4e62a91c2e00cd8ec6a51fbe53c893f5c5dc0b78932fa5e0ef09dda3c7c8eeefb9ecb84dd0e907c7a3c30e67e2ddbd2073af72bc0c11689bf4dbeabfbcb66ecd39a391643fcf54544702a7225e11fd4bc5e95a4ab5fb6e6b0d13d0752c3d1e67dffc13da6ad0cdd52f7745b0c0bb81fb2d1f0bef9c36740dea6c809a62af29b613f127f3977073fd13a5d1b1e7573c73b6ad43c1fef49fa5960b35f950bc82bdec3f1ba464e29d37981e6fd301dc1be9649bf2ae140649428ad5c6eb4c3fde90ddeb78eae1505c0e809ea3e1ddb8c33c7dc85ca54d2f7c65ab7187eb737a489318fb75acc0b3b3d5eedf55da80836c13f69f7f6613aeac90736568480c7b8ea8d3e7b3d879db9285eac1bc6afa8e7889cb157f7ca6bb9d7ae69c0fee19c6c3dc1209844c3932df08fba1e16e318b578a4c886120564c752f37759415deac11cc5ce147076d47db4baadcfd103f0dca3ce5c6ef5052f69b133d1e6f15c0c8b84e0c450f22fe0ed4131968567fb0dfcb79a277ac65ceb3387f6aa88ece1c124035e8d701c225980e6c2d59842113cde69390bb32f8d6deaf2ec73fb7fab6afe8f63818b31ff1ecf53ffe16be9037aaaa05647e49dc5ed66a905923ba1c5f2d86f65f923fa9d1d7e8b432feb0cbf510c82e3124e6e2eb74f9d4b8cfcdc93bde08fc4cf3a5adccf13ae478575096d73943be60e6a96c5e53ab6074679b0f623a839b6d6687d32518813a2af4f3eb7a84481cfc5e584f52e933bae199e648eb9807c8863ed4eb62005b88e8d6011eb75ffe59aacf9fa240a4e669bdec9491698e7c11c45e272127883d5e960ed4ebe3026d8f33486edf0a4997ce9a893d44d9c3baecb75026fb0bb1d2eebbb1bb2184f623a51f7fa62aee97a486a6d59297468d93e82be465a3fc4b7d0d2f8d1d6dcd5b86dd7d5b4b8c96a935bbc8b61f4e122f95f3205fafd17e0c382add8ea14c00d8b12291e3772ff0bf8ca985f7259bce8b1b4d31aef54c1e73c944d91f7a9d85beba7a3f740be2afa3dd44d5c1c4bbcda6194fa4250ba03ef84f357bb5c45f3d1f56fae62640c3dc138fbd053b0c8c5a5917b5c7c815e1c0178156e2bede7e9d0d84f13623f3c4eaeb9f875304717b40f1c95e4cd12037849dc648dce2eb976c21c04fd64e37ec5936392fe6352074f7effe158d25d3125c04b13895d25868f5063270b3d5ae8aace6f2c763231e6c151d58bd55ef727da829fe8b134310d5ed2a2fdc29c8a991316b902b52de3fc001c5bfbd8e18c521644e85db5cfec7f8e899842ec4060feb3353d7cde969033077b9fe8dfbb37b513fb3ce2a81ac2ce997be94786a7d0809af4f5c331d7a993c4588e25fbf86b3a591bc65a17e7a3ad816bf22fa44fbc44f3609b4352bf3f625d5342f30d71e4ba07c82b411ed2f38974cc569f1beaced84b1a333a1ad16265e8c651630da477048b91b6863e9aeb253d37c806c3fa4e164efcc1b881fcb75412a740b65358840a7050fd1febc3255bc730d07e0f2107a4ce793b6c31cfe5a9f41f3104ccee706b8ef336f760a0f15d3b390601fad86fdb337ba9b98b20a7a406d7adb97061dd174c1dd3c895a59dd980a319113bf74ff700ba7672a775a1932c52179db5f0111a734333167c67edf6d142d2e6c65b3de69f59cee424ffd8edcbc57dc6c00b3ccf0eeab3ad6b239b549843fcac6bebc29ca5c4d645fe75f0a2af38ef739ebc7b67fcf7e9e471504b9fdb9c7e722d9807b4d703379c04f89e6226c6eb856e180b2d5a2f2c66b43516fc448bc97956c574c32dc6c76910a3f5b4b87dec5893998bd6106a38223ab756f5f872294cab28b32be641f8591bf9695745b6e156bfe432ae4c6eed6f2de85dcdd1ff95a5980187985a9c81cfd15abb36cbe43ddb9bf25b57fdef90ed55756a0b71cf7aae2cc5da4fbbd7cf2418d4a47e77fcbfb9c7cae73d36eebdcbfeb97f1ef741a64f58e1dfd67fbfd073103bff7b7b12d91cc0d306bd534dccb46f176e34767fdce9a3a3c648f25e5feb22967d804786314316aea3c259ff435dd9916927773039e19e3c1c97a4b869ee6ea243ff117c47303fbd72d2f6b9223b652109bb92e13680a1dad3730cbfb398788364b90a7211ad53d1e095d775bbdd39d749fce7cff68e468d4d142660f7beb3d36d52d7e226de93bed1e70b5deddae09d79c6351bf5d868990df613e47ec877f5f9fccfeacfdee1f207ef70f3913e5a62fc4471e9a7be703a217b5e2adfd9162373a717d27e2a822e426716ebcb8e4f1bbff069e13359b59377f9e0da97fd27fb0dfacc4d62abe37aa1f62c2c27d0c3eb5e762759583c70fc6811ba3516b900fef9099d19673a39c198a1a792de9fcfb6c43e96b69ac1ab7b6361a886b47835271087c47833b93b988c8f547d68ef73b023dacf7ea63d1b3cae7dce7fe467f6fa61fb7bd85b02be6dee4f7f5e818f4488cfd0e389b15c4fe83dece9037a4c491d6e335f209385dfcf576d7be991b137f458dd3f9f5d3a56d3eca15efca5f99c8a61347bcb2d012bc970ebdc88b9bb36bd6cea9fdafdddbd456268efe4d9c34b8c0ad94ee234083c8cbf8ffb48c1df9a048eb03f2953e803c5ef61fec4fe9b308135b73b3a6a54c9ea93bc4667ced81bfc6ca78fb0ec067c8685a4c5bc816cfb7d146f9ee7332865c801d6763b99a7b62e2126fe58cf976f7d775f6353120f66884ca2fa80905fb00ab61acbcad53c912ee4ff7fb63f295e5ba3243dc041bbd7ba7adb061f17d9fefbd8e3e212f9e0582e3ecdd56e67ec458b594fb408db4dfb39352f164b7038615ede9dc53a561d927a99bbb72cc662cc5f1c6bd77e46b0661c15c745448de10f7f680beeb8454e6453ec25cedd4b18f27e9dbd17f8d34920e2fc0afa1efd1db99c51efbdf84b88ab17fa1dcf016b6cf4c8d034a63077bab4daabad7ca2b130c5e4c5bb26ebbbb78c3aef5a63d53b61e092fc0fc4b49b3c4ba263bc0fb5c9b110f935e1ad764f9ea5d07ea95b0c7da4ee8df5565b38935d542cf09aac702df4bf3baf903b128539d943c8675c30a2b0bf3b8dfd640c0f481e3fd91e8eaa31ecf3581bbd1e77f91f049bb26da1ce0becd9177e44fc7fe347203f7f98da65f0940f73c3287b15135496d2f838056e56cc3f341079ef528cbd195deb51d7f2e994bc98239fa29405c3b50d26b3615eea38109a37aab60dc6f5ccaffd529674f224b5ec31f8a385b1ca0c2cbfa75fc6e40eb11a4be4bdb26094046c81116d276d2d3df3a72390e35f243eb83557d46752ec2c8d33ba873b2d18aa9fe8ee9dd987b2dc51bd213aef8405d37256eef82fe679fc9bcb4b3d947572e9975d4eff0d7de5042b627789772e87fb8236975586f9c4625aff7ff86ad179a74dd25ca73ae69eb539a3dc240faa87028deb27f5b7fee15cde61bad0f5fef670a54657f1b2bf1bd6e451f3838a7dce1a4bfa837b89cc2aece2b0b99d3cd9fb1e8e9aa340d45806c99b77fc607d5fb217275e7c2d27b13da8312c682ef0a8c1127bc5dde59d599ac70d78d6b7835d9febad94b5b4c4d86373e4839f6d737d25bc5f01f43897c15da6791b00e37b7775cba8e59356c9de6cb9203bf5de4ab20e6c2e88b7e61c388864619c1dd4787c14e6d9c1a273a1c3dce616e783a0f3c83e928571be83bf0de88b558411ef96a3191e235b2a42a7cfe0fee73dbcc31ce79a3b6b3d5c87751d8a5d34bc7ee7d348d66e9d33f4ae87f46b407abb6ade842afd742ca9dc5c6e65bdc7bd2aad6ba9ae5e08d84ac0d92b83fc2d027cdf51b549c699c7199903f57652b54916fcf19b9a9c3f7bc715c1251ce532cce71ce315ce7e12be82512e0bf35459aef0e76584ecaf5c498657af8c321bd7e8a4245e93cbc22a55963fd1b59cac1609e4fd8087afb8e2b99ba78ab023d79e526569c3b5806300b84ae87b0f3febbc4b9565c47f7145ea26fac76a5a600e9ad995e2a167636fb00e1c4eff1063233f70a3bbcf0d4ff5f7c76fd689e2b4a379e63e8f6a7197a711d2919c128d1606cbebea42da1ac8bf3224b55fbfdbed5d03ccd7912bf081332dcaadb9bbca6a3042b6de17ae5ffc102f581fb8a1c4f770bc598c11a737bcf05e29663dfc45aa56224032a5d93bae3a029c76593da5b24a6ae79bbe9ee0466a6864bdc4582747354a950be971546b6e7fa912c36f7aa2dbfb5da8794d313e37b9a73046ef1c2b4b3bd722c3b2d8bda847bca5c5fc428fa5e32e5ae83be6d47f2fe8a568b010a7c87e8d33975bd0753ef9d6b4d1bd73998a7bbf9f9f093d37605fa9f12a95857a4df4d76ba2c63cc1b1fdc3f5c03d1cd43833b47ffc19fbddfa34f58575ed9c2c30049b2ed5f03bc23872bfee7f9e4a31d85b9755f85d7f777b3f2f6ff082603fc7cdbbb9e50970f7fc70b4d91bfe5167278b1d8bd6e7e9fddeae8bb214f9b763a7f6b577664bc0cf9d9e428c532866e265fd70cc5528ab45fcb77b5046b29fded751917a835d0a9ce4a48ef2cdb84ae807e5f8d29f4ba37e2f500f8306749a0838917a4830e4d0bafde5196df7a053f6647b73cf2779a3e97363663186aac7fc7467ec67eab43f1f9dbe7706f9cc5f6671b7cd1dad3b79273c41cf6bddfbe0fed9d9eec80a677a4ae5253a0fc527ac9f760dbdc124b6cbff7f9e959d61e8eae25f3b2b117affaf0193b95013d9f6cf6c2d11db4653096c43e4f7d996c11c004f47ffdb77bd3a5631a6c7007c19d3e84af548bf96974bf17f69efaf577b7df1ad7e45f3d8d10d040fe1b87c04ed996dc696bea857833c0eda335b137323d1f327b7fcd7f98bb9247daa54ae13ed4fdc63f6cbb162cdb1e657ea1e4cef1e5dbe188c55c1402fb225756b004d7e7c148601e0b510bd4a73ff2a09ee319097b77aec1fee8079d2bf3ba658ec0ce9b88ba3eff66ae6f56408e685463ef55b7fa6fc97e796ea5523fba36b1bdd1c4bba386af059eb884dc2f3640fc57f81719e2b17f1ea632ee0086ad32ffbd23647158ef7f5f673876b7ec203ff7ddbdb5cae887f00f6705863838a15eeb905db3790d5a2c275ed62aa2c75626b23bb7b55dbc919b9f6dcc3ef7cf4ce5386cf4a338ff1db3d3a2df2ad2a51755bf6c956272047d0b3c5b028c95a31d45ab5787561d472c74eeb9c67506e43a6687a42d502f8c7e10c0880f749ce5f6393d36b1e284bf11795d3a563b819f25d69dc39ef693c05d2ef57880fc3b939850d869e2a523a6295ada64529abb7f718ee589ea76d3fe0b36eadb9d7fab84b6d9e9a29bab806c362cbe9bfc4842fc5a9f8cb9fa5a5c90d7fad0c26912e62136fda9ec51f8e7a63e412700e3ebcf896cb18f307700fd167e8fba31a211b89c6820cc430e6917fd5e98525383e7f8a1de786a312f79e0e7307e493c478c922f738884bf6f4c7a9dbcfa912ec1e8d60d68780e9c3907f8bdede2d1b19331dfd8fc782bd47d738ffbddf0ab5a5bbab3f7d8468adf76f6c457aad6d2c1f9adfb9c2a2f2498cebbbdf1db0fca1398e6bfcfe628331805b5d598e02b9c797dec5513478f9698f757116fbb252696db192b66fb17c8f285b629cdb6a74b57f737f78efe989f868ff554c64d4e221cf1fab56e68d5621f4e9347abe833930fd3e26e2229f796030bdb84849f998994d387ebc2abd2bcb75ec421d1c8fae0b200ef2f73aa0e569acea58c89cc426c60d5f2391df483ea3bdc4822c57ebd807cc41f7bdd5a0dc5a375e11902d10948ab0ca0d6332df19fb85c5141353e70de3b53d4febbb8af81fc197c9b3fe147a9b1abb87e8bd006462589c95d8d8ede70b7d6ff082aa17fade786d9bbe90b1c9c12c18c7025c192a76816d5f1bec1b31b3cb91a6ce79ebcf631fa3ea20207f9ac68a0958daafe8d8c797fd1570cddec5434016fab9d862915cfd8e8d7afbed1983f7456b1db6b63df57e863edf4f8cb971d4747ebe7fa1131adb0d7467e75d998310e74e89ecb8cee737e87da7ed36e0918991fec776929185aec9478eb50a2dda3e5a8aa9320deea4aef9970818bd510a79b2ff466ed61c8ad36fec1ca1c07e4f6d1f256bd6bb48b17bd90bcd5e79af271e584635fa25f5d87aeddecb5be7d295d33e170498f345ffee59d7deb360cfe903e3e69a8bf2eb3b5b4ed83fd9726087e3735e36b15eedf4320eba51711c549eed6a3baec076dc5b5fa8b55b88ac43fa5c59fe7c1b3ba6f442734601bbeafc8431d9ebcbdab5fa61a9e73e9c35f0d1b17df6e22cd965ff2c45f8d9ad1e3a77cf6e04e748114efcb7e7c45c94cea0ae85a5ea85423ba9eb1d458de16d4bba90fab5caac247fcb51bf63b3d2d2aea178a6fa89662c2d07063270a91404833a46f2fbfbf3254457fc9b28c3b876f49cad40a77ee3d7c6c83e7bfffd02785fc4c4880ed6feee91b3fbdfeadd75d313bb1bd4fb73a3ed1a3db5d1f47433d8b5718c19fbfadc5c6e15c6496bf9ddbf06609f7d7c0dfcd2b6269336e71065758f31f231e9fc84222ccea4ffe3c32d8bca318b18f09a2eab0f1bf4f1dfdba5751f30b1b52af29ee84cde894f857308700ed1998c884f057ed4995ccb129feaba3a8b241f81ae7da48a60d767fd4aae4d64b5889ab30ef908742d9a57a63ed717e0609b46d917b675d0fc87cdfc2f60acccbafc8d1db018b77600bbdeedf5d5f73a9ac664a57af9293ffd47632790786a5787471f4ed74e38527682a1478f3fb511582f79f4ee9d85e08f503ad4a274a81aafb7da53acf19d8d93562e37a46dde8b9244a9dc7d1762fbbe9a4b69a133fcca888cf96bfbe485fe5d64a1971895cb159c63ee424b2de858552a03967833cfa9fc7e1eeb9a8bc57ec16b862ee97a642cfe268685f6ba17367d9e01c4fda087b23f577bc90d832b1a837b665df122c51ec7677e6244fac008fda5143fdb11902f09d03ad1b1ce831a5dddf2bb399d4cf468b1fecd7b400e999a27e40bdc49fd567620fff792c50d73fd233b7a0cbc4cb6c94a6e886ce9fa6f06d9d3f7a6775778f0d023c30637775a3cb696fe831eff2e8cae3e702d417c9b1743b1c5de5aae32311c76e34d484ea0b33f1b87a476eef825b09978be92bff5f0a59d269c606eb01e31181b7217e8fd824a8c992686e0850587d6c556a3cc2ca5876d4901badeb1907f5a3c14c1f1917cfa661f2d3463a29b06bfdb19d24483fe98f5ca30d692c63ce5b8bab1bbb06f77229939c67b08f8f982bb3345b2b399fb8d6db231c850e88d9702578f7390a3e528759375e69bfb786fb20f7f19132e025c2374000c9015857db4bebb97f5dd15f4dce716a51b9e4203fd8be456753db57e8fb1d6177ba7de5716136f764c61e84cbcd5c2c999c4392056e570c0e18cecfe93ad4ec8f86ef1973a847c11d111e7ad79c23a5e15430a27a452a6624ec7afdcb0e8c7123b67c9436709f80be7a13295a06ecc2b25bf8d2989990f799479aa20b981e730f605a3b4b838b7b982f538d083a122acd13ab3cfeb8c6bade9b3a53f614f776d272417ba72624ed66b7fd54c8339087c04ba1f7ac9f8895ead32af6aed223b1c559e609c711d0ff0aaa98eb5bebb4b2776166bd6beec4bc7342a5c6740b8973bf2e5799fbbed3ec7be70ebdb85f55977ac7decc5f81c7b25c4f603c02964524d9e76e37c750e4335875738cb4b91374b09dd2310c347087b78d99169652bd30a1863f3cc0b5cf72e47f4f964b351b28c3afb0ff2fe556dafd3ebed9562f62687f236c7d6ab21a2f5cc4c067c081d624bed7dc59c7ea66a8eceeed2a8d09875ce607cc09f75ee5e88e716fc1faca773f41b11e271752c36c66781c2fd43f25343ef88f6d8f2167e5993c01bac55c75ab0078c650d1c179b649c1dacf57667acaa4d12776a15fc697386dcbe5c76c3286b733092afbcab41c0fa077012fbfeb8558e66dadc98e8b8ce58223292c8c6d776d39b5c46570ece5ec5178ceebeff4e16409f1d8cf14916e0eb8ad739b4c5cdff3e3e01f180b87d8efe5d5e2daef3e96dbefcbbe7d6f3fb34c7c0c5a74786a6cff98dce3c3df3bb7945babf044cfd92b259909eb1c4dc25f269530639e0a8e37a9c1f5e899e4d725698d70cf62cf0425a52a924c01f9435b17d2dbd2b682f852d978e02bd217bd6630017f7c32d47b177118187c75f1ad58e43fe1e93359f13de668fd3d34d324e9524886d13e405b2f5af8eb988909e3e2e8bcf23f1b97ce86de8da8af81e069aeb401162ffc95e15861d3df3a58e0225923297131309f35e32b63a491b7e7be8218f725b1d4d5d810fa19f5963d9ef9f1b65e205f82f91cd7a5712b47f01e78aeddb723a63e8601b1bc64267777f95ab76012f728e735bc49eb3a1eeebe5396a6401d8a496117b833d1aef5d1116cff3d4e49369fdb85e180b7e6d18e03fccffd7c79db02cf8c4e65eadf97f90ac77cb2278e11b942fce521b3fecd466b30b63be207d26bf395f305ff3eca01615b2c5baba7fc5fba4a61fd9c67ed33f02b631f06d20fbb6b687b10dfa467609ab14fbbc7f69db96fd1cb44fdbc877741fdcc34f3f734c9e69a7b24ab8da388369f4bd3047632d1bbb644aff76fe9bdf46dddf52360d3dfe838ac7ef84514ab084e871571827becd1fe26722bffef6f8c69ec864f5857f4d6a1860ffb293ad16afbff5059feb0587b51cc5b1c85a8e76e69d6086e92f6544a908bcff74bee871fdb37345f61ed48ad69c6ddd58a560640eb1e5f0bab4e708ed6deb9dfe61d6e25e67ff7e9e3864a7b031191319dffccdf8c68994cc7f7465d5fa7c108c9ba336e7bc94b5f47e5c16c17650f75ca75d3d409e896c53e87186dcd45eb3b920764d3d847be0b92fe5ffaa2681d4c41924aef33e067eeec5c06b9b06f769409dd6dfc4fa8da163ae595f301a39f85ddcde5bf6e2f62ddfc10efc36ebdbb127b8ae85c6feb35fd623af0927ba920cc1c7269ce81cc9c7e56e185438fef7ed9e067f68d7e4116f2f31a531b739eec3909b5e9082ae9d87f946b69fc719ba0bfd13c3a68ede0dbbd71e912d32fb86170aed6db44e4c134fa5d6a7bb6e1dccf0d7b175e093722cef44fa79605fd980073c1ffbb35b209759eac5b7c0d2e87e80b56b1bc04957d7ed3798381ef6275297e2a9d19bd8d95ef34d89f11223c675f9c0fdd8600ce33e02a4bbd0995f651dbd641563a87b9bb129d12f9fb836e3d1fa524f79d2f813ee25ac3293337c591d465e622452e8e44a6b7bbcf073f56bfb6c31738cba566ad8f2082e5ec4d354641bd0dc3e683f4b153a235e12335f0691211077039eabc7bfb107bb71d861ee0afc45afc7896bc662e4bf1e5fe7839ef7164be7cbffe49904af36892b8d59682bb42eff7dafc1e3758ecd1ed6b1fdf5f49b1a820e3713b605689c10af2c9aba337db0bf7b0970ab613b65b11e79837dec420c72fef45b646fd9802d398a1c4bccec8a0d94840d0e9cb146e7da31f733971b31b619e7e87b97ca3f1dd41187ec1fd0b56513a7a8148ca780745f8ed6a4f50d469f5ec2df914ec198bbab8f2f0e3839db7d364b334578fbfc8fd62689721ff9dc25b6ebea73639705e17884feca0c9e0f7887f07e1f70fdb2ad81f2d5cef595027bebbf5def39f3c735219c930386e13fafe1c07c98d34e3dde1fef259be37327892fb087ac5be49812eb54d707e04526e38f955a642ee77dacc262605b52be39af32e2d37eac970cda67efebcde21bf04a2bda82078ebee92873397f05bd2cd85f463aed097bb183538d396468bdd2d49481be4c8c8138af713a86ff59697cae68f38f1596fd0592fdee19cb7e97bd058ab6f03bfa8345fae056a279d99e59c05df2672cf0b0b85c11cbc62db6a89e2e4518d3b8ce9572f1032f19f2785fb5fbd0abf7e154827913c328f3c02fc7f8bdefce4c1d3f22d70356d8d6849c6e45dbea988be4111ecc51e29662aa2c57c80e0d7dd3fb6e2c787de1fa5be9723ca39a23384fb81689bf6c2eeb7f94bfa4ec30b09d3186d26f6aea1afbe7bb5c5ccf0e78a1a7e91c7a7d0ea1372021b225715267b0bacaea0870bc760329760423f785387097ab4f3a1f8f39c576b9930c732731189b3be53e70c8ae4bc7dca367a4b659545b556a7046b63466f9798cf4275be31e6ec279e086f13f39df944d3c291d73c1223fde4be20f4797028f8bcfdfd6f1f5ec530f30f1c0a72a0f561aefac49aa72c6e8dbda9465bf16f065cf5cf9b2e6b7faf9aae6b75a413de103fd1f7a0cbd19d68fab3042fa1cffbfecca84c3b496bfc8b7686b70417ea1779a37f6634ebf237a3ec6a835ce3ad53f48620a6d8e202cb2ad7a7a284b3dafe3beb27a4ab76c16da1d3d0bfd3b0dcea04e7c2264d36d62e4231967df92527f19cf317e4e4cf037245f59fee4edf294b6b103a8c3083a3eb830cfdc69e1fa8b6e0db837e32b52d7f17944fba6c1104f3fd179f470ecf0c385deff75e5737ce9ccd2f2a81615f6cfe61fdeb4ce43802ffa417821e9bad5e8a9ef374476caefe678f57a8e973aef959d393ee3395efdbf37c7101f7a9ae3b21be71033bb7c9e6377c6076fe6385796d8d6b5b534532efbbb1aafaeb84e1ff349436ffbef6b4f02e7b28fbd0862c8cfdcae18f3b827936b5c67e9ee0ef612e1a3c6f15ab578f99d92c4f9c1da6f77688d809b1ee44653d782f385481e1aa5a3a3ef4ed9cb6797a307e0fd01ffbf947e25c6c41362c5b122ecd308bbb68e7c4af40be011107cefae9d973fc99f64511d4ce21f09a7366645dd0beddfa77a1d0ec6fc81e615f7fe4bd52659513d4c74dff0a3db377c99f0caf25dbd8ff3dff5148760df5f576544e2aec3ab5b62df5d9e89c5cb5a5acd237211c948bd968b452d17e11ed35a2e22b979827a9bba6e6733b37b754fccd53b431f6f1dff8a94782d6a6cd3bbb5d3d889a1ffa39ebaa626066a0df718f73625322144baac13871776393c73ceabaa91fe755d486be7dbbd3e462c9348de8fde9f9118c6747f64a2446ce04da36b47969238b15b8e902e2fbf8c75ecd1bd76fdbeda0e8f35e4aa186586ec279177e3ec61815f37725706c1b76ef3c257e5b24a65615cc76e3b3d59751e8b3e13ce54cc6cb5c51270cb2637ddc4ec70ac1a7a77434bad39b0168f03d40980cd911e978ff0b0dc331ec6634a65738e7c3ca83942fbb4c60a21b83ba16dad53bb24d7b67844f7468e2eb2a65604e26c1c70dede1c15f27e6ccd174ce29f243e8f63eade603d70075224c64cbae1e6bc2cd463c1efe5858fe6de965a74f49957162447257e8811b179a6e2af766f9ca05ed12bb370138abf7cd20be9d56319802e21f386f4c3b8de37b55e0c816313f66db3bf7b7baa087a31e548891686310fb67a141ff606bf857d3efbb627f2750e31c1f2d7d6d812e9950367e41b6e9cfb02ffcb31873cc91922df09d9d7efcec4bd964107aded11eaedab94ee3175c2d1dab67ea6dd9a84883fd43c924d0e1dd621447624ee577ebd670fbdf8b6331dad34c6df1ac6dfc5dadb3e2acad63577616db76b96c134b85ccffd5fb87e217cdb6bc7e0f866cd3b82fe26bd984f3532cf63c0f5e73df9c6f09b7d142f0d435a580cda13ffa8b7bf9dd7c617af6bf53b73aaee8db5aeb1f5b3f0fec3786edfd649fdfeb9bdf57cb3cf72a53b27e9bf13efc735d94ffae4bdef78ecc5fda38e1dc8eeef3bea7dbef36ffc41d74742b2a13b8ef5f44b4767c0f8b6d76adfebb572baf710dc81d4d4989018c677ef37ecbd5f4f1ebd1fc7aef73e076b3df9d3dfea2fe66247edc7b77994f9a2df4f00398be7de50fb35ae4af80a5765c5767a4321b68ceca515a96346f6d2cfda1e2ad6659439c45e3a4ca3ff87bd3feb5254f9bac5e10ff45c14609a995c66a220882dd2de09a48280b23736c0a77f47ac08204034b3aaf673ce38e3fd5ffcc6af76aa34d1ac58cd5c73663ef69738e04ec6d7e02a2cf36c1301b70ac13787cffa16765abea3705e473519a753e969df776d7f3d2eb8fa0ce63ddc129b55e186fdb285850aa65af0b456f4b0cfd5d4ef73dcc5b0c9d1ebedfb4f85967f34acfca3af0193b6faf4275183efa26324d2f3ed860f7ca7c99dbda7728d2bdc9b0d9c392fbc2f12dfc95a23dfa9d557f8a535e793bd61036ca7828b2abdc3737ab53eea98f40629f80c1feb7d3d190ff553a9b31974761c73bea1b0fc6fa0f3c7f199a30d21873715146b65280b4d1f4e16e127f2cdda3128a30c01ef6bcd80efd4910c14431d6c0b7356b9c96aef7371e6e2bed65a8b04b8296b6efa80912536d882a681137bc7397a5e8ae30a30d34fe638ea8e65cd2741d9fe33c17c3115ee58e78c1c78449ef06550f9d8deb9721b4e80df5e1f2a8acb376c84fbbc6f24a724ba3391c9bc920dcc52f4094e177c84ad16bdc9090fb6711682efca567b8f70ada44ae894ea719e7e253ad60db774caffe36f8e053c2c678285c5fa7277cfdcb7df679037f72511c5a4686cde7702bafeaac60260ce6806c77a56e35bba527ef53923d2b9f9d59300b7c020fbe91ed80b59e7a93ad12b5f03f9ca64ad57f1958862d497c739fd077d47dab3be23b1db77945b9bf4bb35d46b9730bf03f809f45eba74ce44dd65285f42dbb7fcd347f7fbc6bf6bd71e0053bba27af9bbd8d456df185e1712c61391bd80cebec21b20bbd5e008775a3efad333e1994fdeec237c46e8655f6df39bb187be3392af135b6742cb8768f9fdb5ad1fa61e03fdd6c83ffb256b62d2d80892f3fa0947889053986226c7fa55d82e60be04522bc17a0d3fe0b21a071e894730370dcdcf700b6624e6ab792d41833b47f3f4f9c7f3d4f83d7fd6bf46fb515610db03146f3cc3a2dcf950c5fc9e5fe369adfb7ece49afee6fd4c02bae501c2fac4fc85ff3851a5384ec30a32634772bb26d2b38b3bc4484bc3acecfd531c2ab1bdeadbd44495e2eedbdb04f9b3596b7fdf932050ead2a1fdc89134e53cd4ebe390f513c3dd58b7d8a737fe88c27dfddb4af0dcf7604ee2192638e4e0d7e3fe6e9d8a9ca1513cdb740952a9c659aaa34bfed212dd5469b2875acd9ab3d60321fadabbfe813fc16337057633e975b49cc5c891fac2d91b5cd5c75acb85c1ce58b36f9230e010a3b5573153cf363cf7798a752eee7600cfb304fbd1c32f9fc10f5713016330de74d61ff0851b6853ad37858f73c6a559c200f3afc1de73bbc45f2f294c301f65899be513c0d6f8ec40fdca43fd7df5bdb6ce922be0026bcc6ca14183b72efebe31ed10e868a8c5dabf649f6ae13fbd2fc5471d72c388a4375f2013600f458840e569bf086ec2639a31e09061d34d03f681db6a0e6b3d3d17baf5337f137be2432be353bc989136ccd1cce3d752283768701fceffe656d29c554c2fc868ee5ed2beef7e96475a9f1f056feee0bc03fccf8d65c473667aa016fccbf8e16655f83f9d5b79483b33985a46e1be2d800706c27196c21c6c92ba1c3209f1bfdb79bcca16e4bee9928497b0ff913655873b7619e5b438f6ee1d67cd9fbe130580e56188320dd2eb616c4d3cde9e48fd8a8d6c4138607a29b2456da48c80fc47d5a41e19836ef68245f3b99bdcae19807bb8d35cf0e2e774b945039f993f5cd2b4fc0018eeeaba2b5c5619e64f588f5ca6c8ecf283f0c9fdf808fa8397457ee605e6eb196c0796b05b12300d68101ce7c292ebd81112f8b4f7d2be97b4f128f8ef639b0add91ef0a7a0bdc5738e25efabe7558bf7bd7d3418591aefe57088ae75b0add5a9d62ee7e65757b885e87b86a1cce4891f78c527d405b7a6933ae6ea2293be1bd095b256fb2f936765492c503c049a1ed69a714cf606fd3fc527e3169f90cb922536fd82679a5fdde33a768f2bd2f3732edd8151d89cfe2a93352f1f19da97c4d881de75f882f5b6d0da1b2829dae372df98277cb135fd14f901242e8333fa6ecc273ac6886badb13f78095f7a058bcec9235a4bd3f17ca9c7b3b43b0730665275af8f53678cabdf677218ed1d898f6bde2b13f39203dffae43370387d3f1528be28c0a73f7aa75b38d55ef62b2e886d2e23d798c7ded189917d2258ae92c4ac0777a014a0ab23f89f36378fbdc1ecbc42f1d144b9ba02fb09314fc1fca3149f75cf891a82b6d59bc7f1ac97cce345a8240ee8df616e58d0836409376964145e1804538be5d1b3dadcbe65477716837cd337bbe96b9aa1f5b13587479dec7914f3f9e6fce058f35246fe54f3dd0d5a8b68be7dc9788173ad18b25e723b4d35d0834994645cf7eb19969201e7aba9f3c82635dfcdbfb17fd5df3c1473166a32cf1c532ca60fd6aa3a999dbe0646e18ed25895e0b7f09c8b707c037d5d8cf704cd38347ede647df50ee981c282b63f3be6efcf789ae09a834f149bc5a0418c6ca9f5c9b803f9d52e868563cd6fc89f7274cc6d6e73c60d9d41bb49fe984bd46232bb8db579958ff3c035f573bdb7c2bc5e138be319af9fc9ea554e6a6d18bc3639c01a67d3f0fd1ff9087ad8cc56322ed3c947e60910973d9cfb8e8e759373905e7893ab7057cdfca88242ebc051ebe616569a55556e548e99377533c6b5b36e7c2ae9a9123a35964c4d5a3681596a0ad1733fb56c273a0ffa349a3adc745772bf16beb2c553caf2d598ecb0fd8e2f0ecb933374065ae1a41ef5eae0da37cd41f5f6836bdce93b53f3df683fb5b443a97e86115fd7209a6b13ffa2e8f03e6d52e03a6cd7f3cfd9dd5c4754fd15c57ccfb86e5bbca0abcbc6146f530db8c27e1427f63c735a71ddef887fff9758ba089d4b709fca977bdad3c0777a1a281f905186c8767dcb19d7c6b172240e7d3c860f722ad3d1079abfc40d87c4ae636ed91dd4ef7f88f76b7ce26b8f9f4bf45e628adf70d8335ed05b8a6d8534ceba78535b0b2e53eb7ce9f70795f79df452fb8dcb03c3cc461fbfa6d27b7d1e6ceed6c0fede4684e44c797c36117b0358e7646bc21971adcf13c3285c611fc2b9d5e4a43196340c2eb54fce427fe4bf72f8114e39fde2a3b30aed498c2d4da79b94e6352aa06ffd388f4d533cbbf578219b82ec3ff2afe3bf5dbfa0d1f324260ceefb60567731e1375c2a154602eca12f44bffc510af8aeff255ebcbce1355d955d3d84e944e6bf064c5db7f5a8fec8aa5efc80ffa08ff395c6da533c554ff86126b38b31e6276b26172d66bedc448eb2669ff68d3facc3bb7ddca4d24b265b7fc1c9d6c693e6b39adb6996cfb4aa5638cb7f8a9f3707328dfd7a83bd2a192b77621cb7e6109d1107bca77cf4ef819788b71515a757714dc747f8af30c89163ceaf8e64187a148f5c8e453e148a534e3e175f1c891fb4fdef20f0b83d60ba2aaeb42607007c25a5a383bee86c6b0effd524b1dc0ac87e917366029836ea3e6bf4ceb476d7ab4bf151ab632a4f15af03a74c83662daff99df10778381a73cc0557fffbda318d05407151e68aebeb536c73a7564dfad1c68e69dc36527cd932308ecfecceb253632f900ffa65acaf3a372f5c2e7f7a4e6e3b9c7d1ef98d21f1758cffecf746079b6d73796c5bcac61e285757ca75f7e998c574aef8a99d9a8538770675f19ab7cfeec31c16b3a20f7328931a3bbaae4df44b70bddd27b93547a8f54b185263bfb861709e6af990601c6f1567d87c2373532ddf91efa0336e50f18bad2b0d9409b9df584fd5f18caf794045be24e3b3f3a5f750155b9f1d5cc908bcb8face2d54c7bde7c6a3de008ccfaaaff77dbebcd3a3d2aaa7355cc9800da4f57e19c02f6e3edeec4dce100daeabc9f5f6a4a40eda6ff7fd9857c0630911d1a0ca533739a3b825a57255e9d2e4abdae9d52c457fc145bc037597285d72d1abc9c53e3977d9a52583af00f684f4d2ac01f713973adac3dc5075ac086aae981fbdd111abf37f0782cb2ff26c69412e8fc538c90fdec5b5fe6469e60d4e92e652a23109d0738ced20d138c4daac07865fd2f7d51ffca6b9d6404d5629e9753f2c35742d2ac632d1bfd7b161284a4b737bf291aaf8be744f59ec26fd761c7aeb914f09badf1fa4de55d75d1325fae1730a3f7fbe298a2d5afa6c0d1715e9cdc2beb6c564db87be7b152ba6a3561c486a734b4e7f3539c347d7d8fc86ff4ff914996dc557df5a37d8738cf3adfedec25aa039263103f2e746d5993d053c7f73e621bf59099da6e6091c2c1f771c32332d7a93c331e44b6d03ad3fac2b8ef1bfe3666eb55b8ece20397cffe9776b7cae0d63f50e78564fca531413aa453bc7f6944b73720be5638511902f5b6bbe01eee0e81c7fe9c0176478492edbd6fc54f534233bee8e58e075f0b55b39adf695c864db119b014e425af1b4a6fa76f41eca87f404bc8e625658c84e5bb4b63af34b0ee557976836b7b563015b9154e3fd055cf0b45d8825e4971a1dfb3115cf91a5456f80616df50adc42ab90d365c8e44a689ffa3036e8ffd13c2fc24fa28d0f795fd043942564efb2bdcf05a92f19a5075ab49f800f95a5cf9d2d7c0eb6669ec99212cb13e3e20d8c9b27f1852f55381b9b510f1f993c01ff65af6ce49b4dea1dc807504319f74683ef121c40a3a4a97b0f9f610e1c6d586b984e057ea7725e06b118e0406ec14c88e86b0f55617c9b5acce9d918ed2679099898a657f0a80aca4e0ea3ff5137e3f4ff9531f49b3164ffc33164610c912f45f98ec8afc171ebe9c778b03a8f8f393ffa6c14eeaf6e7c3d3813a79bf38b9a8c2f5b6b76f2282eaa754b774b4fa760535efafcfab2f6fb182373b02e7f555fbdb7a1246fdc3cc7fb89e052f4dfcbab80fe29b3b4d690e3807e47eafd74492ce0bc91f45415df2fb656d7b12a3f35c6fefe9071a167973d808ea600f3799ff394c89c8ca3ae165df73cdaec2ca61dfb215feb90bef53d5f5fdc566b414afc01fb64ab4bf3ef75eda343ac5bf5c34f0c06381d2671e660fdc1eb5253021b9dab13c06f601d8ce3e7d5e33036017a9a47efd7a924b2bec4bf5771c04e0a52475ac76e185d17e1fbc9b60cc61de4956f9aaa25b6b34e12bf3826d630f6c2e1cd1dcc31ae21a4725a075ac735e29dcd395d9a117070a077589b39c6148fb2149da1de8125e7277bf3ad75ec8873e6cbcc63e00b16f6813bc8df659c2f4aed420ebaef84d6a9ad0d410b7b3a912feec089bdc4c9dc81f7af170eaf7e62144e925f7d36eafcf79eee6f69695e42def63e2e276b7bf5fac5357cca5f83661f37ef96eaeaa4f9fb22c9b2bb98a94c1575a2c4b6b91e1a124ffe7e7bdd424f644fdc3c4a973badcddd0c5c0462731f8d3386f7b5833eac6fcb260057f90fcef2bedc79159fe0f35d001c6401fd452203b11ef8f2cd335c976cd63daf31e7d0262dee3f6319dbf44275a2f88bf8ec43cda4f54cf82cd7e867dfa44f704736e9879af5f543412ec72c15ea799596b6ba7c6078efc0bbc041b439f53e2b5a9f4bf68cdec7b520c741f5fd851d9ee9f137bcd2540f5b6373a16f2afb128641c3d1f8940379f3cdf915a13545b41b5a6ba9c27f7b6194f90325f0c6ad757f7207deebea2ff9c321e6eed566f2faf0f7ec3d8f108ad93ffa30352f7dbaa60bad0f7b3f231ce2c3cb746257baa637921340bf3f4e3767d0997dae27fbfcbcc61a7fe3cc0d1bec9c437cf616b605ad8f4af354cb2f0b0e73e043ff2cfeeed50b83aaefad9f6b62a2b7b926080669363a1f9693d99b5d64ff4e2dc3b5d90eb6969bfb2d1d4f4b267e509d432c2addb2a5718667b2689dab09f21d3046d91588a6a1a05c5ddc47dca77b57e757312ee4b3ec60f6ae10ef4b7cedabe09ecaf78b2f8947c2ab4bef53c511f2f2fe37c35adf02ece460c67b83fcdd2c3a7bbce28c9cf4e634eff26ed3c92c732afdc163a3f784fb84c7993938ffeb58d1ab7c54623759c75e2867a47ff0f551be0df8289339ba17e3e88d8f251fe737db7c09d5c9b9704cfb95f44193b15df32ae6a8bcc7efa0fd88bf7bf312fe067cae16eba371dc69c110f983ad98fdff6ff6f338fffff6f3ffda7e76657a1f1f6767b45fe5306ff6f9711d382cf8cef771c3f1ce374267594cceb60bc569c3629eebdcfde2d0f97f0abdc4b8389251c8615e71223ccaabc3dab7074a6c5bebb8f6df908f34f80cdc50cea06fff90e2b94af80bd44f274cf6688f3a35cf017e4788750c06fa20a6787fd2f9b8bfa9f9617e92cdeaa75a221093a0675a277186f5fea95ad49f616a5b7d74fdfb7edcd658fc8dfd86f1f74ff5ff2ed4f7cf33c03fbddfe94e57bcd57fa9ebd2d327c804b3e7bae50d8fd87d3c0198c2be1a5f55abd7314ef747b9cc162e023d97907fcb8d88e6bbe67507ee79cc35f1531bf8a43e81cedbab1b014f1af41751362850423ba4aed3e6230aeda4d2045241db7ecccb9b31f4bb57bc8d55ae5095e8de215cfbff0f74f6a15e54d578174253e35d68153fc6ac980915ce7b56341a5376519f61e58cabb56dcad9e0d9baa7d7498b5ba64c535a570ffbe02d8ec3578fae8f4e1e63bde1b7ad3a515adc69f36939f43e546b92e6c759243caf4a7ce095b356fcebb7315819fdbc2dec5332ffb3b979d8a7fcb427b9ab3776b2adb9ec0e9e73a43a5d0eaa87dc3dcfb4679d0ea629b87a83effb0ca8670d6d6b1eebc02dfc0c3be577b5dfaeee1130dc4f7bbfbfac3b9ead2b8e4f9f8e67d8d56fc37c14cfef6575ebde9c51f88971af45dd1abfee7b55bc96cf6accc6dd6ff4811f389c1f7b87a71a782ff7789ea8d20f051d2fbbaaf3e21a75b9107af9ff1ed4975ae753afed84b8a7c57b89f5763bbdbd044b0698d2568f33cd2fd9f0540505f0677f63ff17c7d54f6c6ac5b3ff435ce298c225e687a5356b34fe27f2bd5e5b6b4de35e38e899936e7cf777fecfb459fff138bead99d7f4fc121cd0c79f5e9be23fa779279a7726fe69f2b0dfd5fa38395ad4eae5b4399e45bee37473cb099f638673f039b343714ecf183a8ffb9d790a63d6cb898bf7ae08dcebf4b98cfbeb87a9c7a0ff47e722cf50f8d4a0e627827784b8ab8fd7a4591721d43891edad388130261fd9eed167c57dcef5bd9f5bfc4c13e79bdcd6d37178c00dfcbe6bad4386b78bfcb83467d9d7863da8928cfe7b87fedb2fd9b2854f849e4dfb7b2c6ecd515ed943ccb1dcbf8740bf47fc1dce499c7b075d02f4fe9b2f6bce3826837cb27bde3b6c6b8083bcd567dbbc57da700b47d55e42b606fd3f5acbbf1caaf7bab5d72c26fbeae5d3eeeb0bde577b24861e4de0068e4b5f3250ecd9cb1bd170f5b5faae690c62eab1f3816dfa47c7928ba91674d7788cec64ef1ad7fe92033369f7751a124f719b3cd54a3dde9d49c50fe2aa1ae3e9f5f71d865087c73d8a45c56329f7f2935439158c6fb2eb730faf2b26734ae6e4529c0d5be1ef75b57f9317a4e77a1d3dd3066f1351badcb4ddfd35956e58970cad3774de1de38d638d7fdc374e74f90947c8b8aa2794753da16cb4a92a8e8745a15ca197782463fc466127a4f79ff78a8a4fcac9dc815fca61f4e8b99887cf3562598a93e2027c25223c0b83b116d4b92aad5aba5b50172bd38b2a353dd1242f6a78c9edd52eeef9aea8cf43745eb9dc397663e8033ad4ef0efc60f5772a2e8be67ac7f9016a29c0f30b5c71aff55810ee3874562c0634970ae0d422bc5f31961ae39873dcd722d463953d3b23688e09ac11129133bce6a40b961bf6806256bbe6a01df34b73febe138202f4942606e05a1dcbdb3b02d83fccf38db9d032af4036bcaea5bc7a1843f353be844b1bbb47b41c7fd767849c79bf0e018a69691d027bf3922fb9f179b639ddc0ae6cc66f5e99078bc1ecdf6911a7e660769e199d3ce3a095676c347fc35af32e9d4aefe992637a7c4ebbe23d655afa7152944e37699f1f0b1cf77fc9e3d5f8228f6d71d6a3915d9f27dfea6db47b53868453ff44e1c65f6a2e3cb01bcfb057946e58d1706f205bdff59dbc3bbcfecffce4e6ba15467ff6a7d77ee027bf77fde46ca9052965ab8b073d50956d3ba071a1d619a326f3ab0f3dcad1fb4c032e6cde073c4494f91326fdb17f48ad07f0011bffe7daf67bf3dfe3bd1a75750d7e14dfa54e18d03e55b38726abb4650fa4974758dea283e5bd2c0fe35f6ec8e48bc307c4b8b3cdf9ba945ede5ca81d28ae5b3079576bc465199a73f17eef4e649a5f9ef00b33e9bd5efaf7794467f30776ad37161e0336d1e7c4a3c319c52c8c6a7ce95fe5da0fe32a3750825e35e67f286787599d1f981d56556dab9c1df44af3ba9c1dec8653fce05538f67276d877f3f76f2b64ff2425b0b973d9cad10bb9ec4fd637cc958cced726d7566b8e8c95ab3389da7d1362bdb65fb75adfdfe72dcd8a564e51acfb7305975b0fd7e63a45fed9e2a8d3cfb5a46aa81bc75238cc737ca3bf43d75901d7b248c6adfac35fd51c0f51bf1e51d1c7cd61f7f9c8b73b0e3f2dc035422dc7b57ff8ff71fabc86d1e21d8b71ed220f6d73fe2f70dcf4e8a140cf58159b614db17269c92739a2ea67117006045b7308356479f391627e07f142e198b2efea59950ec32679dfdbd43a6bf8da6635ffd18f79f33adcc85bfcfb6c16023f22d116b2792fce728be6e7131ed4b99375ea877286eb79e961a7e50fdf0bf9d19516058a6b7cc2d9e43c7af6277cc9dd67770ed5b3efbbcf1e2ac2ba704c1b7c78e7c083dd43ebbdb7fe2e28d1d6b2437582b100ce91a99f732bfc09af73d4c7ebccb6789dc315e82dc9d08720a7ed1cdb8dccf59e3adf3f5ab1008d6d5a1c8d96a6eca379f38abcf6c31d2d7f73071faf5b218777f6c29cb14def55466bb0d2ca3bca19e1234a08d7d1cab6d6276417884f7d50251bf047684cdc81af7bc758f1c73ceb8f4ec1ace2c3253c5b386efe7e2f3852ccc961c5db3efbdb1a6c3e17fae273b90fef50422fd21d7fe878d0c71f3a0f7b39810ac20974012d5c2de7c0fe91be26f45d1ffd0ec5e8e11e7a14dd705f2cc0f7dd43efc0173cdfaa8351909bf7aeedaa4ef36437bc2b618efc74c2095d630a4f8ec9062866adf9aba4314fc7575ecdd36cbcd8267b73515cb7e1694eb929e0e2c8351d2b08a07ea8c9b576011a537c9d2aaf575d0bb8092faa50f1792b7e8b47fdeedee8fbd12f9a43540ba3d316b811e57041f7c144a7742a896d2ed2e43d054e12217fdb62dde7c831fc626bade30d37ccbe36a760366180db5c0e63fea7fa465efb1cc767c8b17d061b183f447840db9ff56a50179883be7ded1873391c816b29aeebb7558e54c80fd45955692eddfa395cf313e19dca7c7ce6117e9bb5fe657dc6aaf88eceb7d4632acd423df3cb9ac314f63c70a1e29af1c9368747073823f58bcb0d475b4944cfa1b4f5eea36c05cf0db548ced19b794531ba2a82ce47d5c30eb8123f31c42f493c7b521e7b80a3cc3f1fe7e989add6f2722bf1ac2badc75b6b7e03ccf838be6cadd5abbc1967b5ff22625ed24538beeda873c24ddef7155ffc92da038e766b7d36c5b10bee1330f3682dc525b28d3617286e12334b0dfa06989d96ffbbb4662719c524c919f803e410fa0cb24dc996534139bbdc3a76c7d41ed3f27fe03771bf2f27875166402e5f396d4dffe44af1713b598fd075d067da063e6bc6ae9a7bf2ce7a6254be23bad70a3f5febfe0b7c7f4a033ec27afc0e3a27ad4fe64b935375cc60cd19ccb13d7239f6ec7243f16b82d6d21ce3824499f7053bc1b96df015628f9b175beb13dbb1b0cadfdfb2f5886594d061689e445f426b1bf35e40bea6182e3d748dc488506cba18d8bc7fccdfd7c2f05fc7aaf26ec3646b29a52fecf17e26bd839b113bc6d70eb8967672c4178e64148eb9aee369752cf31ba1c97755da082dadf7811239a0eb5ee5a0a36c7d606777f6d09a553e0ff60191ff58600e52c8d5033f66104c377c40d9b1239507cd64fd76f1b8f8b5c547817cc3117e3763c3842e7936f021f41b7d16d47a04aaa0007603eb2500df18e0cab6d0ef876261fe6a0fd6b12fb0a50f78770673821df377dccb053ccb5ce35bda999cc467d00f077e921bf48401ae6e62377c32e12db42d23da9aef5798f3d107bf247cbc7ec369c3a1f3606bae63b7780fa7b56f3ee6bd621f6ae6f0e65bab903e27ac923ff7fb0d41ae4ecef0ae8b5049b6661ecb61ded8abcd1d4e479c4afac597c4028d9b9a3829b24dc89f84dcd5267d709f7db8d51a3f7d5d9f819ff85cb3667bdb5262c2b513f8c0dd2186aea4ef9d842f6441cedc47f851e809d5c346bbadcb59c41f7cc960540bc55a46e0a23d29c87bd744e33cde430edb9aa13dc6231fd34036eb7ebe5f54cb1ff8059bb803e5ac5a46e14ac6c5e6f8a8ea1d793ef72ceb4ed6a92789852fa0398b122592abbc12e0571d4b61b6803d68e97db7f6f114fbd2e5d64ae3e5e1a3b2ebafaa68e3b9c77827bc0f75e7ea250cb253d6bd9d325e90bd50c77b7e55f91018db177b47e0c70cbfdbfb2dfca5e9410e0cf6297a4ee9255d722fafcfed40fe70ad105ff6cde6f2c01bcc17a0d11f2a8c0dbc6d982bafb2cd3b2dd794d079b4beffa579e8f42393aa12f3289e21d7afd6e9e3e7f325f063ea35e714edfaa106fcaa90ff7d5deafb47f58ed727759803e083019baae3b86dc4de206e9bd8bc2766b9a5e5e152675abe9e8bedc42b79fe01a9e5304b5da672985803a19dc3f41aaef916b76f1e4db57cb4b4eceaf7d82e86c08dccd5363ce10bd71419f4f70dfd77c928ed81927a138c898333db7c696c2eb7ca64c27d0e9ae922c4e7b51fec00772f7000415d7f37c903751cf17ed89c9315e7e9d4cadffd3e5fdccadfe5507e93313fb9a284f6494eaab50d7f1b2d99a8c5bbef16681c6fc14c7bee072f4225c079487c1d746d6dc3ba161a43a1d12694292ca0a6d949f7fee477dd9841a9fb9cc50f5e3e42aee8e214cd6fe4045d5f2cc8fd37e81cb713b17436363edf8c598b6ffee17a9ec84d1c2fe40757124b8fc1fa3fa01f54d90da82b28916dad03d5aaedc55035b146cd2259f3cff6175a735fdc3cb3ad79091cfd9b13f086a0fded4b46e115686fe73ba26bf4ec5a55eea1f5ac7ef9deba9ec5f217f46f1973f5a5c88eca8753ff778e4ce6a03dc33dbc27f25d2f758c2da8c2493885550cf707f6ec061ae5a6c13896b2b306b826b8d3f2912ace1225f9f639eeae87ce11d544769f0d7c41e155413e29829ce9c52d9c625f34511219fb481b1e7832ed920d55c08f28c3aefe80dd5317a1f2801955937dd61ff7c8365bd59a23f9295e0e65e0f44767f77422677288ce2faa3e0cda13814a722f2f28665c243c4feb00fef53c70eb1874f238914167fb4ecb697b466949c8e9b24067da67e1809f80d656f50cd1637fe5b88ebe79865235e75757e423c79a1fbc24bee1f3e1c97e90328a7b375deeb4287becf37573450fae29da19705627fbcce9c46d5b53cc48bcfe2a1b1f599527591cedac63f3913da97b61497fc0ab57d43d0c157713b25fff2c99e8751be6cd19354a07aa847b97bd32d55589bfacb82070133fbeeb0965f493a3e5ae8339c75275e2fdc2beff239f3458a893f3335fb7c1970a4144b410538fa963bc08ea18c0c7b5423e3d3a2f5a9f6f069f15fefd13b805a4b8443130f819e60aeb604ba774597e04e8fdeb3ad7e814d0e791a745a76d486986925a26e407adefed7b6bbe45f9b16d69af236d07b1dac3d8415127e7b88e9fcb5452a539eb1d95d83dae618fae8afce05b0af4481bd61ce2636f6230d5da7151ac1193b87b7437fe9b291ef32adf61923523aa52cd8fa5bb8c937ac73953c714e86cee5b730326c5ba04b7bfdf1bd22943be37e4469297acf25116494fee2491911fc5a9e359da5abf919e756b268be31ccff103dbb129f2b7fbdfccb2563eab4c0f0dc77ed357ed0979fc35f90cdc643d76ac4fb4c672588f9536c226dd511aabb39e1c688673649f812fed5ffd82605684560e959b6a79bd26168fd699b8baf303ec848fbe3416db4183df5179d29ef723637b97cf7c413e62389dac323fcc47e85c50a57a3f5a5e12338ece5fdc49f42a6f3ef9a9964b0fcf7bf123fbe26a3ff2754d7ccb5511f5ccdbfd1ceceabdfab73d3a765f0db0ece7e7efc5c9f5ea782d84be3c7c44f8c58617d083c538b9db9d86d77d0db1bb77894e4c1e57efe28f701ec30ddb58f30ede00705eb8af13f40e990627039ab66d8e3f8b6d6bcd482fbfd39b5ad7e7e9de3615638db3ad39fc57955ed0bfc13f5427323f1d7d64045fd1ea779b0acadcb6947f416f80d43189d63e8947e89a678c35522bbd1ba1d5abab39a60d78b20a2f3a15dabe811c4689727cf819a5b3a1f38ff38934a7e4eff9d8ad7709591827e43b3fcecf5475cff67eefc686bb277e9b1d7e1f93432ea689dd2f8095d93c3cbb0a3a2fe05bf5d9f02c3f70f3122acf44d7b1c3cf3df4580b0afaffc7cf78acebbacfee137af5fb46592b6f739ca1eb3fe48220b9cadeb8d317ea9c68281fa8ba67816bb6bed0f06759d24bf8042f4aea6954fee7f0f1abc2d9395a964fb5e13f2e175fa682bc97c3e85f7f943280bd4ad2ebd67c39c9710ef936b49fb0ef3fab7283c5146a55cadb4e7b96f3538aea8cc63e10f47d5f765ac0a9115def89ba3894e3dff66a61dcc7b3be9d79574788231839643f8976f2cb69bed9f7d5528bbede71e8ddbbc339ebbd38e799d0d73bbeefeb1d1fb67ac7093fe4ac40b103b957083a8997e9e80374fdf0ef3dc20f091cbca31f9c05e79eb360f8f82cc078797522bf610c31b6fbf05de06dafb8a8fb719f7607f789f5bf99db828bdeddf29c4e8b2cb58d73dac5846d0d0a138639f2207fdb9c3f2b826fd07973809e69eed35c77365adf22f4784698a324cae404ea95d00f51f97d5d7c25600d43d062261823f9e46843069d738eb5ba90b30b63179f5cdf48c4626b8aa15bf9c97a5573ecd3dbaaea8132689c7868ff81c6d83cf62bfc54ec045e12077692c7556d1663746b1fbf7a5e34e6b17a5ca3f18c497fc6a73f59175b536181832541fefbf8ecd7cf08f5b3746952b50492075c140ab57e647e69ad879e645c9df0f3a284ce653a3997e4beaf6e817118b686e2c9dbebd662fac7897eafb0673c8afd4d9dd46301fc34553f8963d6ef99e278046b5d36e727d6cc51c5f3db9633868b10f9c335f7ef786baee7ee00ea737fe2879435ee8cd32ff600c5c2c6a57e9763fe4e38305aebc7179ada5e8d5707de79d2bf423805e8be5c838b335754629b33523f31569853a3ff993b7d59f533127f897a16c5b42d258578d7c0f3db705bf77c076344dbe370bfde50ac1cdfff5d79df615b41cf23e945020d11eabf1b9d35927bfa3d8d42416101f7bf61e0baf7f30238e9d409f7814dd5227f77ae0816b05c9ae3eabe5c3d56d62c6cf5574df6f73596cd19b04b5ec35bd8ed2d839cda1770950eeb58bdb229e8b3dd246fedb9feef01a6ed0a71d92865a87c59755ea615cf66a5c950e5fe7eeca76b39b3b4c85970e8ee15e00ba4d621f030df3f279cb10fd61e3977417fda741234a65bcb8929fb0a36d02e99135e3372bd66bc3e9b7e8f1fa7d68cc84fdb78ec97defa7ab51e1adb5e42ecf0fc77993b62b0be68816b85542e56fccddc683da6c8c75f3ff4c7f2c04e8c0cfd7e3b599fddb173f50e27ba179057c7fac37c36ce53acc24e3eaee627e99ea175fc9f887ccdf362c9e4ac34ba75b6f8195efef13bf124ef2a53b99ece5c6a39c1d3543554a37005e0e38f3b7b396b74f5ef62b14409e5bdaa7d8480314ae6818f9ef9610d8df4311cd7d7cac721bdc5bf1ebf0b8ec1486cf4bb6be050f3180a2cbcf74ebb850d5fe30af4b116a1fc647db46bf4be160453ac15fd684d9ce6428317a8e65f9e343e09f4553dfe7db796fbf09dbbb55c1c0fcd9ed440a0ff9de4677eb08e8eeb02f605f0180e9fed03a88f35f1ebb3675e35b5e77a5d1917df64c2e9867ff8bb8abb023d4f9f4fb6485eb2069ba6bffac210f2b3fdfea05161d8aa3d58632ba7023a978d33cddffdd4463e1e936bb5ee51bc4ef299b1334a63c09d154180625172fe5076013d13f6d5a69bf4e1786c095686c2c080e60ac5b154622e2c8c9f6ce56f8fab0bd51770e7e7d4b6aaae9736e3271fd2cbaeeec98b9ada95c5f280413d3227584f9d58f67f3d7695826eec3ae88d5db5bedce3be2ff738eccb3dceee728f0daef7cecfc498f2cca99f6bc5579c5d6dac6fbb570df72ad6b163e637dc6084a3accd0941f50375fd79e443448e2587cdfa7ad09bdee2a3cb9907b8d20bc6808ae58ced6805577fa77444dd7e1c6b00fa94f5f94a7209c5beb695c83eb6f9899c80e8b0ff72c21f9d13c9b73c62dd5a7e7d6f96d95aeb0c6af88252f7cec039f8e0de5bd02124bf2fd380aa256dea780f3486890da8e339d0148e1bbd0823aac660817584fb62b98cfcbd3f76269ac4cf6261a7f7f7fa2be587dec73e129a47237190ef26c59c6334d727b5a47a4e691f94d8dba6fe3769ec048ce7ff693b81f96cfed04e00e6f72ec70558febb1c57d497e32affa057809b17286eaff26d5eaa4af0dc0c68a1e8cd7b563aaeb8b73d1fdc61a939dc5faf42cf668571c739808e8631f47b79b536e998b2b3ef1457e24b552b2078416cb31c2d879e08ccdb4e3410082e11730740fd13afd767391ed378df49e3769e2769ce31a20751e3f8c9faa69e758cf71070bde9a7da173e2a3ce4fc2644874a02dc23e12dc4b9a967392f5babec248d8fa7fa4343c040c5558f39c6ca029e2d986ab7d0e5866397632b5fe5216723f4aa36b92972ae9f03b2bf815b6c3a3957e73db3d39e68f3b5b0fc0133ad7b75f280e8bfc54babbed6ddbb54392e14b73b5a77ccc167a17a0374149393be8f28b3a95a17d1f06f6a5d340f8ce8a7ae946b8e398f217ec5f3de7f76c13a69e74c480c8e732ce47995d0a9ff0d3abc248fe14b22d33ca39dd0f90dfc59f056c5f40dd650869e94e677c07b11d0d7b91f1b3d518ee439f13aac9eb3fe3beee1054e33fa7795dee17f7296dff73842be2bae7b4eeabc045e0bd59891fa6d85dbcdec0d8b7c5bd0cf5e594a6c6bf28f707a0fe2b3d0e5d643d5c275a267b5385bebfcf6887c9dfd5ded1d6bf0a2f33d8671de9aab5777c0a4ea649dfa50d77fa9306497baa613def67218412f5c35e75e1b4b5ec7f36b893f57b661d7addfc49fac9718adfaea8203db3240be7435bfcdba6ee50c763b2dfe2badcfeafa4ff9e6ee78107a6bf4f9acb74f57ceff5fa9f14ca597d30c782abb6720737f065ad10fcec0f76e4da7aa29e0dc2baefba333a995c3778befcf933a3628face15ec73d7b5069c2f24f606ebf763cc699e12ccf4db0eb43fdbfb78ba39074b2e766d83e1bd439a2e2d39731fd8bbadc53cf19f809782d84fcce3da681a8da977c8d3a539ae9e0df2c0151e07e22be093a97c80165fd4953a8f00bfb048220aa737abf7a83d603277c052fc66ddb3c58f2b2cd363eee18ae3aa7596649827027003a46fbce1d871cc15e563bc244a42e1c2076d5c385db3f89e07b9aa1fae1ee689499f0fd40a7b62ab12f2c09652b438c5486c0b581069c6db1ad56b0331eef824c7cad52fb0de1afa7cc5f138f7776083a9a0000f29d6b4859eb213fca6a7e7cd19c1f7a7bec9de0c89875ec2ea33ffc09ceabe4fd273e56824bf8ef11f3377e0c75e340f3c4e873e8b6a5ed0f856e722d6098c48ee747641be27d1db2d690cf03d3f716f6e1bde4d335738bf6d41ac827bb61325f0b8f8807bb6ed6a7e86e07f033ea3ca93ce630faf951a53fd1b796b8cd7fb513ef1715ead8321617793bceedbc57b50060ea5db3f1ffba91430fee42393c7f8fda6dae3fca723e46fa4271c3859ec81516cadf570dde57e9d183ef6a5e544899ebc0bc57900bc19125f20dfc2119ee444a5db37ef1f9c684c8c173eec45047ffcd1bbbac2b77391d9a612bb547ed768e6fe15f4950f8f7398ed39ba85b220677608ff9f2e1e8dd9e4e3bb773ff4e400291c32d89ddc37e302f4e8a5aa37c240b13eee1f78e0ebd07ecee39c6e9055f9dc1fd45848ff81b2b2ad79e9737c819e0fce76e6e1981f70df6bf55b793f0d4fffa0fffd07e386f6fe15fbc5a0b9f22a27c3d82f903f499e0fcd75d3ef517a03ffea25abb0e245831e93c17ce00e94e887e388391936ecb13a9bbbbd0b5ffd5c7adfe6eb9d307f23fa8daf0ea9eff8135cb7a4f086a19d1881971805b16b7f5d7bd98e9a9cfe8feb2856fedeec53623b51ec9d4df7b2109cfcc9faa60a9f82638a8563c9a91c3e9cc7489d9c6fc05311674f39a27d83c5bcc49a9d3c7ece3d47ad538a23d288d0fefe63db21ed697c7af1b0468663f2ff72af91bc20ecb3f3ffa57dd6b54f3fde27fee8f13ee9e21dfe937df2a4e6f2c3f33a767f50bba370a12c3a97e571a01be2c71eb82825e3e24bf1a1d2dcbed3509c54bed347a80af291d67df5c35ba8808668a57331e4a7f859dbb8dfbfe652c5bd8b4fb8fa0677bca987de58b3e8e34dede765d1fb7468f2fb9a4c1553dee1c18777787012537e917b39e85e0712538ae45925e4177b544c89de65df135bae7af2ab4c7f6cd9e46b32ef706e63c737349fdcf8119f5cd9e1930b201edf7cbcd9651e2c38e08604bd998e36f481e67cc2bad5b09f1a2e390173763a1bd685676219caa7ce4be0ac813c1ee68944ebf741ade2716e13f85a290c5f097a5341858354133646f196336a71c624ee40393886717320fe44f3fa2df60d3d738a6d0913d27bc52d6ee122945b3c5a76855198407c91f4e2f0ee6b2a3f7e4f7837f29e585bfd8fdfb3bffea361eed586ef544f55f4ff131c4b7b83cf00f9c8bd7d8bd238930fa776dfe26486714f7d6382b901ef6a573df9270a07d5c56de2b1c0b994deb1a8722218fb7457430bc85aedcc6dd8995b49cfdce2f97b74e7f63e57d3e234be76e6f54acdebf547ef7287e30adec0d7b4e637db9cc78b04e7a5969a4ce36b0255905f697c821ba23d993738378b211a3bf7fbf41b8cd87fbd5fe9f7159dc48909ef4ff3ee78cdd6f5d345a2673d63c074c6e0da1d035fc8836985a16d615c6fff694d9ce6616bead53847077172c3ed88f9a0ba399a11c656fa829dc8e6cb031eb877de0bdbf570a8b34df27737ccd3a5b5fad5ee6591210ef1a57d48e51d76bf998bbf7a9292b9dcfc5fd59ac735ae9d7a5ff4f78a9375a7e5ffc5f5cf5bc9082027766432abf8bd3e1c5f1243d50c62db5cc75ea8f01d9de1bb1c4af7f7eee0337425feb07d5cf3477ee89fbfa7d9ce3fa8965fa03396707f3cbc2ec45377bd4bc876cf0387d301c36648418cfc3439cc535590cfae64708e7943f345e29d4fd0d6f5923872b44f662be97b87cbaf762266f2a4b29d9f04a3342c4173fbd1f849ef2876a9394b6d2dbfc3a72e8e4d9eaeef0cc6f6a9c77e575a6ec77e1c44858f7870eebedee3921f60177aaed179e62e1e22fbc65656f77e6edb081f62ed8be331fe5b5fbccd835b7e343cb8e5b8e9b32ce58607b79c353cb8e5aae1c12df53bbedb8d29165b6e7df5b997572fa4b867c79003577cc9382f92779a4b16f42a7492a3b70684efa34c599a13d740eb918baf6e3c676c93bdb5f866851cf3a48dd292fe8dcb413f23ccf7d65c07bec417ab448c1cf0619a67fb2b6d88761efb61ed6c7b573b8b867dd811148fb46b677d788e3bbc593183beaa5ba5ef50694260fd8703ee0db28b61806375e0623bdb96f2af1c466f4e3824b66c58f8661e7be130761358c727b3a830a58a3fd5f204f69a10bcb9527cd9b2045f303a8516a76436ee89ace297d3536e448e67bd641e935a326dafd0d947f3235c96850c184de8b7696bd3e15c7bc31113507d33ccb4c3650d7d824ddf6049ea19a97a344ac7302e1e27268edecc271a4f271c56673eccfb76d4f0d578c2309c6a41a64eceacc719867b9c074e62343db107e8876eea0634974df39c2725b44fc8ef433ee5b6d13a00ceb8edb7fda56bc87b7809cf7a5c3ed4a19634bc3896221b6376b6389e77161730ae797bf5064cd6ae83eb58bb5aa8fc1ad24351afe7986ff51a03068b79db52b819528fe641bfbc9997077ab8c337df9ac786392c6dd389695b216f44e0f46e716b365cf2991af19f7a39a76cdfdaf212f1b606ce48bef8d2d0d8fd7e0d9cce31cc37bd39865baf364b79c7f5ddac8b6208da5d3466c200bd3f27c0bc04d1335efc588df8620bb55b8cf157c52cdc0c9414b8a2febe9617d079496c3f86573702fb5c6170484d9eec475c976bf8ca051ab7a140be95701377f9b27e3d5abf9e5061c36f547db6ca97a719f09fc42d4dc392d63271ccd5abafddf35dd85a2b3f087c048f9e01af0de66fcfd05baf1d7fb23e6ced3f581f3487f323dfb7d298ae31fe0fc72146eff0183fcfa238e9deafc47cf3e08b7b8375e05a1fe1eed975264adce3f382bf0c35b62393c9b0cf6775bfc75fea7fbed43a1d8731d7e57aa7f53040138b69e1c990bf2dd978ef0ca75a80deeb2f9f47ee3df3fb79edf5be73fea597d342ebcb617edce5305b39c8729f927ce66976906f389ff91798cf169e3e6ae33c27943621ce5376b46bdb3c186ef83bfacfcf3018ad33297341c79abd3a9291a9a672fd12141fec29e64aadf65380f92cf50673f280070b9ddb6e58f3c1b439b1c208f931d1ef62c95d938f1cf3766edf8b1dd89672d99ac323de232dae2e9ccb9056bfc567e186345741ccab1339731e70c103ae0e6377df761d4d6c7572263678986c4dbf5c1c57197a765fdabfceb42ef74edae971355e3c74de8cd1fbac4fbbc9ed46ea8d35ce7b2bb4e39d4736d50f7f605325ef2ff7afdecb6970efb3d77a400feccdec07f6e65e838dea3d5e7a09f0895f31175deecae033808f8e7c190a2f35ae7a3fe97124f963c23156105c5e83c105ad07257470ad71c4173d9c9715df66b6b4e444219c60cbc19d0f507def86713f980babcdc5724b94b0e1ef586e18de15ecc42e809336dc9ac3c03b4658636d90bf636c8dcecd318fe461bae1d307f5c35b0fcf6f6b1f501c0abfe4a4c67d868b500e6bdce7b1d1ee5f0e6658f780ea17bbefdd0968ec35dcd763b39b0518cd75ea7190738f16c7d5656bcdc75b6b0e390567c2a48b247a502b85750a98b9bfc079f6f4913ceb8b52da5abcfddcf5cfea78bb8ee616604b1c6bceac123efad231471589eb637fb286f9ffae2ef8f87ad57afe1d7de17bcef98d699cedfe5a441b0b4beb21d77cfc6dbefc67d75875359513a344b6cbe38c51c52d6660adc1c7ef23ce3b73f4d33a536b5c3fbb9ad077f9b0e79ad2ff3ef83d9ddbeaefd968cd0ddf79172770a51834ed578991b80325ae79db9e5d474a1f5e47e782c095f2abcf52dca84fe6c8b8d77e2b7acf808ddec76b035a9df7b568bbb716ddcf4d26f7d5a2f3da77437146ab1fd0eb6015db634471c9308fb864dc439b4bc617902fc3dc1603f9dd1f9d8b6991a56e7c2eba5c325eccf4dfb7c9b914ff951eacdbd25193d325a7f76811be107eabbcd6befe022cb8779aded9d0aa76f3c2fb23de251ae77735696b83b18c7775cbd6bb375a2b550f2de167e19da27baee75d5ea9b6ae706d57a06f39c4feca0df72e1814567882b125b886e5fdb7f7a1ed74d8d1379ed82d7d63d0fef88feedde1c0a6de6fffe81e9917e6d7c7bad12d7d99fafbaaa0045d4d91bb7b8e67ffd97b3d3c2bbaf714ffd37b3e385bf07c92dc1e3a8f3efbf747abff3f754214c3ac0b8849c2310f7d83269fc8cd5ebfd2bdbaa4d78fc611bc79073658b2e7a0f7bc216b1b9de56e915faa7df7a0271fcde7559586fece34328f33d0b5bffb3e03dfb77ac67122b7e741ca7ae7a1aee7ff6c3c8af678bcdf8d07f2e797ecf9fadd787831f36a16df7d87e51d332f1deb7c591a8d3ef91de6039deb9375ff38605ed1568cd5d565c07ba3dfaed11acedf70f4d5b56b5fa8fa88815f8bc13948b476c583b339174bf31d9d4f01b2f70d9ffef889df03735d585ac557d2d1087df8fd188f9f06f346fa38eef5defbc713f4aa2e4b734873d6703d9c35e4bd239ee6d4a8fafc1b8c462f96245d9ad1c54b8c9b8bc646c39ac57a621cd756709b0aca5b0bdb27dcc21d68802847cccb82311e5b8c19fd67a905c31febd2b7cf4bbabf07700626cb64b22652eb0863db601d76ec9345f32d62ac093345f16c02ba5666adff859e17dfb71dffb47d9af8914fe38fda3e8d83fc43e4d3702fefcee67c413e8d2f9e2f779aa98f7c9aa69e7551b18ef3ef6bc382ef588dcdd9a7f5027d21766706fbbe13cf14a7bc78ed8c6901632a89cc76320bdb7acb36e919cedd6edc26d76710c6f55b5a84f6f9b0479b99017d1b2dd7fbd60699ff0ce300f9c02be75add3bd0d11a5d557a4d2260dfc9de6e7e53c770355fda8c3759a27f68d91d9d95714ad5f64a929b3ca0315c743875dd039b62acd6b08915dbcff258a7b1cb19f8e0dc3639c35f0c74b2761fe86a423e15726887e67eb3ccd1a2f719e43a2a2d749dc2cce977dfbfbfe698b2837abb7f6c9297eaf193f5b8fda9daefdee0cfb5592b9cc0b4ea1d0c832ba98d9d404317f38c5da65255a3c6f18f4d7a2e7d0df77a4e47724972d7e81ad954cb131c43c1df4fe4ef09e13b38cd4a9d217c07e8ef511dfb6c3cd2ef89eec9109e03888da0df737e903bf942e6e41dd8b79d9607784de4a11a1babf558d4d706bf59ebb9b862d7e25ae4376b4331d7c61dbf403b4e108637db8a339713a39a8bad9b5f898dc21548bc4861d3202f57f2ae5bfc5d9ce191b9b7b5bca87af27bde4d5b1ba2b136e6bac528cbb518ef8c489c19bafebbef57f58ec2fb80dd1913ec9e80d68477823a09d1cbb40dd0322d97a6d868995a517b2f4f647a2fc7802f78e4cb4a51e61577b14fe6557ab713a85b3ef787fbafd1f273beb45a3bfd8dfcbbd638720514cf0519559b1ed69ae2752fabcd6f852e571ef4377290af0d81b3e306ff6eeafd913afaa063dd03d8afc6a69f9f703d14cd3b9f634b8bde5c6178b2ad193ae712e5d81d73d06d38f91b366bc6fb1cd37a9b2a6893c37afaa339f189bdb1316760668743431faf3f8db1b1d323636de8c6c6107961c3ac1d8b89172b263774265e6e9ee16609e6f7cbccafb6b942e7cea5c33500bd3c1ba2494b72dfa47735423e2ae87cce42c8d1a758574ae7b7465bcb987079123fb13ec7c6b6b50ee4302fd5899e11ff04eb585a73ccd52589be5af3828c31b642922f86f1395e196bd162c491318ecdb5c18be6589cebe35cd4597ebed659e10f6c0d79af87ef8df509ac80c47918c34074135ffc31a9ed97ec1163be6f9883d99a839e8d5db26547cfa6b50e5afa85133db38b3c406be13e9faa87d68f6dd37cb989d7e2265eef0c315eadfb7bd9fe782dd0f3bfddb0019eff19b253bf33ffe89ca373e177f1f4d335c02aa2ce7e2e37f15cfcdf785f32f767c75a9f5c6ed57b56984593375f4b22636b106307389f3ebfb9dcb074f4bbdc44e6854ff634636846646816eb7cea51fcb98a7211fd7b231a62d76ed1dced10134be2d095f8c011aada55132357eb9cc4c804ef027aafb09efd44ccc0ef68ced22771999cd9c60f62e7300f1eac875295a2bbb9d519438779350c5167d7bb55c48f4d8337577aae90352eeab1b2d47fdbb6d5fd0d0d465ec0be975f631ae3ab1bd575bc147c60d0118d88eef63ed41b5f7fef2471ec4aabfdd69aeddd8467e4c967e10e9cd421356b5b1b9eb7d6bcdc9ac323ed8ffff88c46b150d1cadd65b4a60fa54b9e56bdf2f43d9b675dab8e1597c0df96b0a93798a76ee237f1c5f81c7f59545daed18564813bc28c4b8f8b2f0e95e7d73863e895ad79ad34761eed75b406b36e2caab6b4a39dc2e5d8a95e80567afa8c73d583be1abde93bf8a65797b643bef0d331457b348f31aea9c1ee21bbef717ce66843c0124c058575a1fe8efd4bd08a1b201ff9b4fff97a467e9ed1b509a3cdd8f8d4e37e9f53d3b1bd581b8ab6617ffbcc2336ee9db671142ef4f99aecfa7c38272512ff6d987a0cfa7f1433c73f3d0bc8faa8f6dfe3b561b24d1d69bb614f842facf2ed027cf642cc9e422f9ef58179c5ea7852cf66025d339ffdfabfb27e9f73c4feedfa050dc99d56e7a75e31061efc873fc5e881fd9c8ec6c5ac88c8f9f142f411e0ef1cc174a2d832251c45a7b950ebf9df161b19ea755f03e60def611970c3edb178cef90ab14ff872dd02ce767fd91e67a1bc61781ad76117413cdd9c3393a9e78755231df8f72dc897d458925f344e76715cf3385fd0c2c6647f817579db6df038a2b805d751e5acea137a52075eb8c7a6a6ed85b710d6e3317af69b79f737755fcf93baec5a1a52355e39032e38ee9c3eaf2fe717aaaf18e302c3be35b12afbd6c46254e1f08617b0e3186f0f390e8ff052b9a4863b1d8d7b7319f3cd98d4708717ac8dc78056d5a35cc65cc33dc5e8da5f1ae6af82faf1847c577c27fc55fb7c36fa201a25c3cb74ac43cdaad2ccd2490e665544d90ade71c64eb5fc5ff27c9f532d5fe29c0a7aa613b9c63bd1a6dd173301b4e3e11a8610653ae471c603d083c7d7584db57c4eb096f954cb35f2f7f954cbc7758e684ceadee315e8a8bbe1fe658eb5d1f1f3855166e0e743d7cec9358ca996bf921c51aa8a1537d82955c5aab7faa344fb1b9ef53046732693df5a532d9fe2df7ee453ed5671684ea75aae92e745b18f43feae4eb57c82f347fb5415abb1f05255041eb2019a6f1d9e517f4167ad43c645d7a2cc97f48a17f452fddd873e5a25aeb8415daec2752a318a891c7c2da8ff6f4df29924c6d0f7049fc937f43bbffa6c32479f1df067fb5495f2b8c2843a5a9479f81986532d4faa67f0d03348414cd620fa2c7236eca37c428fbf4ef6ebb1e2d5d26b2e2d7fc2f2549cb8c59834e87d645cacef0ab1c7d4cadf4de0d9d201a7e94b3cd48030b62c7edf89278c776f7191625d1557baa5bb49de7bedad2496d30d7fcff1c8e53189376b0d1ef7c0260ed13168e12626328db1a3ced9614cf5d71753ed76f261afb7b9dba65a54e95d83763ff2c3d5c99aea25e5ab67a9b1add0cf670ea37e6c6b10abd24be616347f1ae939a3ee53e577813b5f7a41eb3ec5ef6790fbb5c6aae2528d5dcc4383ae97def1d0e1fbd2fc91a5037ce1bd5c9a70a650672d83ff16bd911e371443165f7a9e7a83559517e37b3e7b787e76b5483027d5985f626ee0ace75a24f609ae535a7303d6d9b7da2e50eb73488ffbb3e7fc4e3305f73230d573529f91fa0ae08c5f2abdd60bcdf7069c9b669e3d5a1b746f35b5f70684f7e4446a1f841f05eb1c13adf387fa66f4f95ad5a697c847c17ced4d5fff131fb1e633c5f10735f641f0035d1d6adf65b877dbba5ff30f6b2cb49d0a3f49ed58e7971b96e6db2c761a7a66e684ed6c104fb521f2bf39626bd1b97dae6d7782eca61fe3f3639faa93b8b2b547e0a74df4ea4cb8ac8ec0715da8221fdff7bed5cf65a2b9910fa7ebb298bb96fe1128827d9c0ad13fd3e2f6b6d49a9cf193ef648e16fd8fba117975e23fb917ff6572e3f3d7e1e3bc306e6735e6ffc7d2b248e5a28b2f1925b219538b696991ad31772cbd1768ac3e156f8f13e558d509d15ea47942b2dcdaf0ad3aeacc605ebf060cce6b24466973e20dd7117aebb5ff333b747e1f33af15ae8bea3dbaf8261b3a961c2e293c81a3d9c954d279471b322e5bf5dced81c3aec6681c9806a321e98992e8f5bb29a1532cb9f75f5a3c5f6e20e6544a07ad994d5aedafa18335d1d2a7f53e523b545b35723f861adf24dfc135353b918fa4f710ebd9174b4e7ff50b627f884ea19de8384e82df0c199749371be6e534d586a0b3b09be4aef558bb903adb299c81a957fc08371a2bd01937e4df5e7c8937d0b9d1f02bb6b894ce339c1b7cc2af44d9c6506f69bee0dc70dd8f10defdf7268d77267d560771b79fd4bfe3ef3ee17aec867fcc4961ea1774be116d2eaab6a55fbcc17ae84a3a8a0762dca7905f1d09f2e531b57ed927fb5c44f3ab4eceb1c7cd034fd2418b79b72158212ec638b3033a03de1b2e878947f836aa75d5c7714ed5b82b6db6868f38241a5ca12b89a163de309ebe687430d596defcdfde0fb47908e7251ba098f20be3f2af54ce7046f6cd80f0a6343885276789af556be3f1d943e59221d741e5f702c7cadfb71b1e6a0e6ec9e2da43d9e67a41df914339930f19cd5d53221f483eb474f8afe85e8b04e77d3b9c22b12ac8595bf725079e7415d62f9e0fe89dd0aab1c1ebd02ed97459c849977f069d030b782e6a3c8adfd0df9ae855cdffb24df814fac52c96e0d43e039b33c68e99a7ae1983de3f592324f776e3b79bf73b4e1cf24c61d7dff8fdf9a47b8fa87b0851ba33012776db5a9ff15a32b2adc9a6909f24fb84ccf56d6946bfdafc4364be36a7f0bf1bb37db813e8bdf241e554873cda0b8b50b992ba318ca14674f596dce3de77b039b8efbdb239056d733096a8b139c4065536a7fc1d9b83b521919d92abbebd7bfb63c98dfd19dfeef28e0f73b41339db6a39ab4a33de2b828b3958fbb83ff1fd179a0b58bf617e5b9a7a67aef40cdba9f65c911c32c9ad45f8ff277a9b670acd01f56c3ec5e9b7d5401797c24001ff54268732c9f5d61cac70ceded9a7e6b7ec733b13653ee4686727373e3316c6b55c9785cccb8713b2af993762e3657167232e982bfe85de43d82e1db07dda6ef0fffb1d4e2a8fe62ed472867acf54956e296dbfed02b4054239ecb5cb85123af7b6f9c7effe8ed663399586ae2f3280f3713ab6c2d16ee1a2005bf1f6787edf3bf34ae3b0de335fc0f6867eafadf6fcbd7eef9de41aa70cf349dec98b19c8f1f5bd932a9077eae02a976d1d83d679b3edcc239d27de6a79d13d37dc22679f9c1b7fbd6655e946ef55d89bd5bc74f6686becddf23d5442f9b5deb7619eb4f679779ea9fd4b72e58ff7b1346bed635fcb93eefaaef7719d87624e8e163d8de1499db8a0fc436c5b8f73e6cbcc3126441b56b612f9768ff512212ecadf1c6b7eb0adcf7891c43c8a9d08ff480a5808edceef29719ee9cef650df413681dae705f2c5bef5a7828a937051f49c816d0e3e743e57cf90b803e57cef73c277c83dd7b163d57d365ddf718f9e0f380185f16d5ad7c8f159b8b360ad8d9c0d0b9c6c5b53ccb6561aeb89512e9234562536f6123fd6cce1da378de24be78b355adb9bd4703a71a8cee91dad3c316ef0a9584781e6b69c5af4dc7d7ea2f8ac3917834f67c31eb026ec30501314d366ad1e0759d24f2d4c2bf4138cebf38dbe17b5d74b35195ffc811278c27dbf2ee09247d9dbd49a0fb6d6fab015706ed3b16cb4ee2e8e053997836dcd6379f4f18ac6df3db0879aa773f4922ba15371e104cb0d7b304bd15f724d3c2d2755ad08d68802eb4288122544715d70595aab54057d4ea8959c1c538c1c4b81da465567f106f93bbad68ad32fae69140e67286e2cb28ea50c370345426b06f0e812f59bc24e3c92cbb3b17602f5d9f35a58ad59413d0f60680bba0798ee0f40f13c757df61c433deca8c49e940736a79f5436bf4c0bfea862ed7d1ca308e2456d6aa28a7b5cc75e328fbdc9faea85f15b3507cbcdb858704ae198e2bfed3e8861fc3559f10b217f721df0a9c81cee610e51fc3c03fda539f45ac37f0badfbe5f5fd906d1a7df0eea1bac6385f24e01b32b351fdb762716c342e5a73c766a15de199053c6672ccbeefa4f67756cd776a3c8fcab1ac3b59a79e2416be78bbe27386c5ba8d4d8ee83a857cca3a76258371b4cf8b9a10debce3dc85ba1be0845667bfc23f3dfa6ed47cb7ee3d027c21de13b30d8c5535460355082e2ae69a971cb47f26f9bb93188ccde1f5e65b4a063d7e1ce424f6b38df74ae977614d6ed02bd22f6e62bcf823a69809f9886877a7b699a75f89a139d6ec64937a727dad03de8f58e31dcfa36cbe5ca83eaa27eb497e79b69e668715da8b14d62a46635dd89c71f325be984a63ea3956cd9ada74d694d6bae7a0bda6c6bc5daf4b79b048c6784d357f7b5924f5b8948bcd39f41223d896d5e7b3db22891352ab89fd0353ce0434572b384fd17963737b522f1ca75f5c73adf9885c6bc032db8972f58b4ff85dfd4ee5ead59782c21d78c8df85be0ca20f72b235ac0fe35b73d089426719685f4d0cac0343fead4acddf571c1f391bb6d22263bd224f61bf0e3eafee711e936be3f70ff3666ccbe895e08faedb821ecb15dbccdffae425fc00f9316e620ce431c67a4ca5e6590cd08d8ad2fafe65eb59d8fadf0cf0d8f3cd3bce325fa3d6017a8789fe667362e9681fcc7c93d279f5c03e2aac37599de4da16c899ad45cdf70f299ebbc4b83882fcdac2fe0dd65764af77c8b7443126e66470cd72cca8a3d9cd32088739f21d9e72b5c019ff6fbb7648f1b03ccae70a7652e56f41a39b3a4fcdf2d35f72adfcf1cd6ac786d7a994962e377cff92d86c378903d7ccdfb15e57ecd9e1fbc37cf606fc88bc53dbb09329e69633c97949e597b0d6e016785cd0bbf1ff781ce87fbcef44fbaec7430ecfe4f3e87f6642d493333e01070ce696036c1fe418e867dc267a170bf820e72e3fcbb9177739f798ceb9a37baf379e641ca0f7909a0b2fb4132fcc83a575be6ecb345613fe5f15adaf511a83ef30c9df7d21afd6ecab43addfd61e80ef93b5ceae91adcbea33a84c15c84dd4e7018acdb1ced3f3b38c014ee4dd24ffd7d10816c302ec13609b910db3d1bb1d415b30f44d27712c99cee9d47ae8536d08fcf83ddc5aa91306817a8467e61d2d0f54ac13cd0367b9b52ebe9adaf812de43423ef5f8029832e48b48e38bcb29ff2cad355fd9c64aef11d602e1a6589a065513063dfcd65a30a48edf3b817c634c735113cd393406a527e5a92fec4355f8b8cf938fe398e68af7478fd6d5c7b37575bb5b5722ac2b8a830272ed12d94be992b9617d2543a6ff5eef31ba4e70afb3d4da070bfc5bc0a6174b7308d874b7642f5d6cba3950fca5b18ea7d23bc124e66f3b2d7afd1ab0adf1d5a51e7b30c9dfe523f04c255b73183b428b9ff1625b4eea7022e30e94f79d10304b7318f8497cb42d74ee4719f031c74a6c9b73669388c0f78af36a2bc0393813e3e08fde83a920c6bbc92d7409f64d0ec7fc52c75a54530b3d432f8f25ecc1ad16bd769e91fe8eb43573d0ab94a518ce25379983efbc4ee2ccb1f2778cf75cc70ebabeb96af5dfaed0fe09edc4d13e5317ed5f737880bad858c95c0ede998e416c355258277162afef37e2beae83563dd418e766277db10af4a7840ab51f5b638f7cc3147af4daf1dd02e7395bf5de7feaeb25d9dd9e7952d35855d7c2356238c7e62886057f78730a5541ce7a72e6af72a81733f49914df1c1df9bcf1796bad4137692728bc2a2af1d23a1fbc810d791375322ffdc3295436f24d0e7306ff5dbf2d34720d6bf62a1f6fe1aecdad366ede9560e61f9db1e1b33356f195d0e99e0fa477737e75a59cf06a0f21deb3ad15e1d5173357e2076b93bdf93586b4d1e126313ec1a1f337fcccc0337e71cce1c1e580d327f34aa66fdd0326681b929cf960f55a6bd562ccddaf671a6cbec46f48bc789a5acc5d2ea8f9ae7101fd2cc3d0349de6c9047f21b34b16ea5a981f96c26658b344499a3c89c99e0faa208716e96543b6c42be2f7dd78184f27b3a68f2d3ebb769197d5f76c0a4fbcc1f607ea4b36c9f36cb5baee82ff1b6abe37de64608cd22a5f35d572d8335b0dc5119f99cbade9bf35bc36b807229a1a8df686fbac1edbb52b042f41e71af11a9c656e983bf87eb92b93e79281ab23b8b912d62893c99ad11303f759901ee3aa2fc1eef4df7ee1dc54bfdf05b9aa9edf547520ad3f67e0957cb9886768fc4a2a4fe59a1cf2b983dbd4601bce033c5fec74326baf292df62d4afbaa67fd96d30d5f5db344d75c2427fc77cd4ebe203fd2e0abbc3bbc3435078d6d0c1adb08b5a85fb0ee709db66c7c4f74cfa64ea50a726a19cc2bfeae7ed20b7cefd67b52b52ab9ae55cdd2255bbf3f5c03efc759ba2c94b36fe6ccb6c225e0efe19a5f41d54a273a75ef67cf19688e712ed019680fe69c1c33cdef605fb5cf6ab257084f4bcd11916d35e8c1e3bd7058fa137cbec98973f5122654a559eddb2ec1b76df6cab2a0f29f1668fdd59fa9d28d97cd97440903c27b77b7867f51388d57c0da937d2663fcef6fe48e731ef0ec07f6725f276c7c9add3de6ebbb6b3e5d4fbe006b09c5f4a93af938f942ec5b9bf49fea33bb446bd9066e04823fa1353260cf2ce2b3eba067d1f03a68c54e938f1a17b0310dd737f0fcf6e594fd0d3f20f5aeb0f21b9bba487b9f50f8c2fafdd0733ea85b6472dcaae51750cb8f212f9e7942c098dcd09f623db757bbc4cfe195f7cff16cbf56e384af67d4d76bc617f74293ba2bd3c2113cc0e6b887c64ee19ac94be7ddf03da10643637dd05ce2bedfd46ad7d73339041b46fb1302c4a53d78a08d803147b84ff229b6a9cbff40fbe9d7a5a5e01ed20d5b203f5d9522de4736650cfe79666ba0e99a2e061057815ed5561b9653217a93b5e082ecbd8bbeaf0d23971bc68b0a973099f11b926baeea3933ccaf063904a84303f60ce23958d77611556745a64e3ef07348b3d6bd3da1be77b6b43efaef2dd9bcdbe8e8935a847171848055253bdd59ecc12639fea975bea909c612207f1b8de117fccd3e4d2db6e295e95c63d6bd46da738d945ca3c90b413e07b4bca26e5e619ddc61f92a1c4e487ce52758568aef09f48a20f7817cd18b2a19ae1b433f13e31d499d437abf78c53e5d14e3937760af6af272024cb4c45f9c4d56cd41b0d45f70df64d5bbfa802bc017cfa9b561cbce985c7bc6e4da1d137fc2806ed594eae1d48421e4e420bee2e2e40bbdc7e41cbb585bf255de8cb3ad398cb6e63cf6ca5330b318ac2d7c6ced1d03d795feeb5c570abcba50a7c439edd619e68fde43f9903204a79643ed8ce0d470ce3e0f5a9890ff039c3815ff39c6733fc64477fcf016b646095b75f36259c8bf5ab550c04a283cf61b6bec0ff08c601f3922b5a777aa961c3de6703179d731987baca0f819634e841cc5950ce9556701abf36d9d45ffaecef2e60df2f71fd65ad8e9868f55e8d78bf815ac75d0733b4f3769fd77b4afdd22ca1cc9c81c6b1d03df20ba1ee0bb8282c2965dd4e3fce64a313315d0d8024e6581ed22d8ea6469e660ab9d119b81ad9ed8e8cc8138c4a96d3cc3e3fdf31978c7798cfb963c3cf6133487d0ab786ce6c07b166f478e097ab97bd738c7f8bccab9a5bebf405e1c7c6f3f758ed1c945fe0d8e21e34538beedb498c7eb2ee26d2de0d4b113037f08b2c747a370476c321db4c705f79fc53cbd06f13544d20b03dce7af759f8ca9a7aae8c4b5e6a4e857786f13ed0f8df4f7cc8b28d312d28f3346fed02dc2f8f119ba9e5a5d4f41be8018e3eb95ab97a9964faacf4cb8574aee354e5531a8eeb545f7d2a1df675fcc4651aa4a06433e5b837f06f5d37d3987cf86d5670c70751e57154fcfd5277d69de11cd99c8901eafc154cb531f6b5d32532d2fabef6dad55aa4ee05e686cf2a9961faacf7cf49994334beb1c38d2eaf571efe7f0cd1d7cbcca891839901f010df0b8ee1f817ec5bc70accf0cebb4398c3a5162d7e4b99e3e87f6358fe47b5a73dd9dc564b86edded2b683f13d42737a7d0b50c86e8a386aac4df16a172762ce5485fb3f3acf8731df9b11f7f770f7c8d509d402fe5aba3d5fd1da04354f3738cd2673d5815a775cdf1218739d631eef465817ed538be747b765abd2a18f3f78cbbaafdfd09952bb6568992e8bf1ce3cc589b34ae7a7755096335740972e1776306bdbb60d75f78f788f107a05396f83877aa05ccd2f0a187c900bc39e69ec779dd5a57bed2804c94e327339dac302711d62fbcb8838f867bd19833f83d700ff97473b6491f58d6e49ca2ccb62aad827855f91daa784e7c14df541a8d61ec4f2d367627f358962077d19a5b38b385e1d5a3780df5c10abf37be46bae09cab1706b81f5cfb4ca15fe558712d10bfab64ebbf995c8cb96a486c8e7355f5d9764067dbb6e28be3d0bf999e1ee5bc6c3db7a430e85a4a68077e9383e2a9f1bea2fbb63465271ffbadf9b2f70adcd35cf571777af64eb6355ffadc70e561ad41e6ab3e1b6e992744e91777e3bd0170d81d7ce03bbca1733dadebae460073ef0af9153e071dd28fcc63cf37e81137f13bba93ea7df07f7b83dabf06ec9c6daea32a17ef0e3e122594abf98175a0844e88e7968c7d3d0e76b61d617fd93954b161bd4e9afac53da7c7a5d30f8579dd26e7ab373ae1e7a9f66a285f5bfece647572c3286d6ccf8af82ac8df061e3ed85f26cba40b4e642a3c14d963e8dea7cebaac6decb331a8355647cd7a5b702fe05fbb037fee58eb00df2388bdc24e7c01b8170225745e7ca8e7d8c994f45b346b387fb7415ba6193325b44fce88b560df89786fa37def0851565d13c5e8ce868d308fabbe87fc69ff9ec4b8db90e43d1936f625117f2e19a5123a4413769c28c700d906b83fc935573e20f2f93af35fc78bdc9dcdd0f2738f4de2a6685fe37b3d9a17d7c16341f82b98d4d2da3e093a0f3cd08140f62198c37bf49d0198b3a2cad93418becd98f6f92fcbcd07c9ed5758b2f3653991dfdc30e3675a8cfc44c883406dc6385fac26471dcc369416ca84c99c240ffcc93a760fe9d117f2c44771973ebc7a091bb852fceae862e125e2f0aeffb6f1f986be101c7d213843ce1debfa5ca0ce80313858877a939e7d214f3df6b3703936f57ab415286d02c0a82aa1b3036cf5717d72cc17d0f770078a689bf3d32631067de79e3f5186d4b3e1ded909f24156e90ef2cf9887b1958bb3d038f0c5da140fdbf130f6d9cf02f726c4773e0b3eab21bf40e9ff81fd8f7ccca949c7b4542c8fceebb804def3f8139e6371f419f4b755e51788e4ef8fc77a84c7d84e2a6cd6d704e7dc1c6d087ec34e8331c6d789e670fd4de3afbcaead55b6b5e69f8eb4c6efa7b3ac2f611dd7c53180efaf39e3823564f9e2f1b3286e9d331ffbb19b1805d44ca3e6fb16ce2d57b9c1765ff8717dd549bf5e532f8e618cd6cdba78b506f0bcd5355eed23fcb7e81d95ab77789c43bdaf77e21afdae8321f160eee26e6f598c63b56a7fdd72d029ecd8749fe4d21ed7bb9beb4e25fd5f3994d316ae71f072758a5bb83b7c8453c00a617b3e15784f05bca3f23f334deef464bd87983ba595bb48f03ac71c20d53dbf38f04d9b73a2cf8f1472b0cd8b64c8b7f00552c0f47083371a19d6eae40cc81854b982d658e42fad7cebd3de1ce84bac6a831755d2295f2f06bfa78ba57026ab3ebe74cccb2c9e7db599c701c987d55891fe7e812686adc692e469693ded624ab86bd0f9e768d1afeafd71aea28dab6ff72fdfdfc31c0017e3d3fbe0deffa1eb86756ee73c3318dc830f3e9bd21a17ff488f4be51f13de3021a8c767aad1392d9aa3fbf1fddcc24eea1e8f56df557e45cf0bf5cd6a1cac9a0fe977c79ffbc1f8bf6db587cf023c598d9f1884d866d679e6cc27cf54d505689faf5b17f0c2566cc44c25c3f56226035d71d033a373f532e6d5dc9c59d0fd247d3fad1eba89dee2eef20eff3feefe644d51667b1f860fe81914a066c930131510b0a36726900a02ca2e6c80a3ffae581140809a4fedfdff7e9377505799a0100411ab5ff7cd22dd590d6a20b02ea5750c99d70d677ed89c15f6f76ac80c7a920b6aaf5e7c328e70c602061379d6b616d08fcba64f09f7fd7473897ba171bee36f6b2e9a5a8d5f1ef8450dce5332acf3983c3de3930cf94966d0354dd653ad15de9fbd9a826cf9aa9f4f34f3de5c2e7866681f2c6337a6aeddef47ef3fd3883c135a77b3feba036eaf7bd0e56428ff65373d004f2b7b0f3313dbef50b7d4ea0a728ced6cb7fe7d17c3b90c61eed3e961be22b694db8b5bf46c867efff5f0f9178dcda108cbc8135b7be31ebc18637b9cf6f7313f3e7ac6275f1abe2ff4dfdd76f4bfbebbc6a67fb203a35000ac195ce3622e27a6c8e750e34d6cba37b621d2f5b5cf9569c3a786f37fd7967366eb6c31c6d349ce55f1dac4eabe4221298c51734ecb55316708def543d14bb38dc99db7b93a4f49eceeb356f472db9cd39d6d1fc7663e699f8f9e2fa8d165f0f8d0de0924b4062c231417a73dbbab90eedffccbf9a6ef8660a2c07387d292056cfb3869f9d4e1373573e9d54bebcd712a96209abddc486b4b416f3ee4b4b05f0072a5ac36c6e7efe054a6eb91fc47a9d21bd4fcf56a15af95635c09e649cb79cffb29e49618ec13f67b88fc98f6c3c63dfb938c01db9171791bc438303e8a6d221fb4874704588ba35d1502979fccfb71796beaca70ccd5ac5642529867c2eb346719452fe721e1ecd6d0ba909a733b744e407259c6bc896970dee59ea3c58e5e8a6f8e5b709cd4fbed1dccd30fb8ffe2a242e30ea14f47c638b6a44e1effbd4add9155ed9ddd64876b8272901f672d56317778c3bf5caba315f2b5afaef3eadce0ba1955772569f7a7710ccf73d62974967928a506e63ab600373070b6bc5d2d1bfee37b8b430c754729e3d96cad7214f670bf96ee83c8c0964bd7e63adc0fd55884d0976d5d3bbb5e602a87f410b6b536552f6f0535e4db739703db9eb7452824ffa8c63c5bc64c89649105f96faf8bb1ce3db0bf0e5209bfb79ceef796b32d8218f05da6078c8353527516e58f39365ca3dec37368b0629e6a8d891d48f3b4e03ef4af62ef6c2f72acc590cf6f72b62457ebb34dae96f791dd171aec3684fcd0320d38be0833f3b227b80aa0a3fa79be7ac3cd31e7451f43815505f9d4eb858dcb5a317296ec1d279c318099e58be989e8a8fb1e38c21ec7e1f16f7b71f505b9d0d13e427268b14c3dc61a07c23176e2c87775f6c3d18b0fb5e2a76a35cdd1ded8eb72aece736663026faa6232fcdaccac8cf48fc42ffa6b31f615967bf7204bcf7b7b12f9f3a6d67b5cd8a2d971e14abbe941baf238bff848c2197011a84d1e763fdade5cbdf4d0de7d5fab07f1a11aeb4ccbd7160cd27b5d0f89a3619d6915b543c500fcf3b639cee2e3dd1e21c747ce13c6e6dfdc97e2eec0be7c6ad7ab10d9125dbeb439be83e3d49e25c7bdf06031c56eb4e51bfcaba5b44cbd582e02b1643dee55fea2bcd13ddc0df7b86e839eb9b9109f2bf38dcda64f36f8ecb3508d7983ff8a64420eb68ba4f17bfd11416e7991767b7591fe0be65554139c92663c4d7d5ac38d0b391aeca72ca380b3e63ea735bdc32f6bbea9da4b581bfa19edc75de5d9ee872cb26c30da1eddcc3cba04c7d3cf82a332074ca02b5ab38a2e17df15febea797b1ebacd29dc89fd66713bde3c25fe0fc937f661a3ccc930ab1f932db383bb0d755f1c87b5877261bdbc37c34821c93da99d3c6b1a607f1f8cb74b697bd50b28a9163ceacc64eead767a77e1c31aa747df81cee775b67db02def3294f5511e6658b630fdad3180117e4056fc9b08f3fa85915db71503f00b977f45ebf474ca18fb6188750928ba06a71409f317cd0bac0fd41941ee8f073a8be24a40b86583a3d1f28b4c783b84ccae35e5aed0d0e02b2f3e529f004716c14082cbcbb0d6069687d3c1a11639086fdb850e48be5c64b1f7747dcfe7184e92f950ba0775e953ed19aa478019629c657dc023ef1706d8633860f043773b9f1c5078e782a463c2339831383e603f9327f9ef6d93b0caa3e665db6b1e70d0e15ad0f325590efb43e08859285ebe84911b0d70cc9b13dc1c7c27fff786f0a0b1bf23427c85170e38b5b3578d9680ff79eb1f395a01e27aa6dae0cc978f38db3f2fd05dbc44adafa13b74af2831e25aaa8157bbdac20166b4f6fa1b34ab75c5ab923ab709da5416c676467d7eddc9c581bc757345a67020e5f78e2617fadb3b2d7fbecc72587b17d2238bf31d8d3a68a1e1b7b813166e99a76a871231ccd80c1e0668af820bd8d39d27b337f64159ef075f347db231a9bcf959ca77f559eeda5416621d9fa210b7dac887fd9d7684d7d843ace1d9838770b58bc8a91171b7bc2fae22382b1d9c0895a784292ab297f2031c85fbe303938a3067ff2d1f69f3ee3ffe17e4d59b4d0dfc5f7e8ebbeb7d17a973f3ce191049995ad33b370b345ed99bbbb5be72cf0218925913d13a29fcbe2a99706db015d3f0087df03ae47886ee8374e83336a74ef11707da52dcdd586f66df15d6dc978581e637d44a765ec9d64f4aedb7538f1bdaa2c42a1dbb7688d7d73ddbcba232677482d1ee8949fb9ba7ccf6286b9ff868781d9bfc7871cf6db542db794857371f03fee2fcd55714ae7fefabe68f5068f4e023eec968707f70645f6537c4c34f3cd89791ca4f2cfdfd733d2b182291933c6ac3b38cc056ac9c505e3e9e519f830ab091b70d66cef2c4fa15d4641ba6282b37542cfee395a977713c35ebf1f851bdbf0cef2ea226736249fbd1b6d8b6f6e77779955847c9875bc6354711183ddececd2bded4dd6e98251c555e1d98b6acb2d4e7bf13d5e265d67e8197c5b5bb59476e83d7f04a4a61762cfc28ef9171ccfc1ef59cc370e76c544f76cafc9a928a1508e826cf1207be2c3b3c7059229d8c658de5409d79dadcfbb9b2a5ae350028e5531c8f82b7c279bdc54d14b919d003db33fe4695aacf839cfa819fe8d8271ae5afc88f5f9fae572ab3490b61fd668c7ab62d7ef8a6bc7925b2846a91f3fe374f47b8aac7128105e4b9c531c72a1527be0f3656f2fe6686f9e79fbe173e3628f737a44162d4d9f6972a68b9b2a59b7a68e5f1f7e8fbba6fe29af910da42e226663e54c2fdeb358b4f11ed8fb66c4a8e75d1ae0fdd3f68c115b97519c463e426c43098508c7a84f4c6c49cbdcb3b7c7509cd2723f92a565ea8ba4af7161e986f038865ccaec459e0d85af8beb78607fbafa17d82a20df85f111d7e85c8ecb6a88fd151c41fe5ad8be93856050cfbe45df897b98b98b2f06e6ba1d57c4a8803943e5687bf16eeb85ecbb428f248d0d30fc9bd458fe6ae2e1c169801748f7ebeb93d8e7761315d7101772fc39e83b3029bc0813f70aeb93abe7ac6ad70e53642f43dcd3b6ea805b9c3daa5ef9ff4d1f8f733487c37af0507c976f6c6b444f72dcff8d9f0d7b7299047a0db0beba2d633722727b8bf6f6de59a5e8fe74cf747062015f18f0353afd81ebafe6793a78af95a297bf1d966feae2aa839ebe96b1dd6fb17ce8af870adb8a6f7bbebbb9c6f5ee0d670a1d2faafad8a9edb37776e18c47ba99ae59805e9a70962b9ede8f898442f28164b0cd5921dac78d2cc398016fc7daeb5526729d0f8592c11837f87a83713ff32c812d487a1cc571d7fb3d9b533850dbb6ae1bbdd3865712f2bbf87d377dc0048b6c284b8ef196e3595fdc126ea1f6d98f41134b3f5d8e435c3559dcddbd868f48b4c67b67c520db0b1d77496c578e93be2de730bddaf1fede5ff4eabe7fe21ef6f4b4c128013f1b706948afbe222c17dfd217e67314901c6c7cf5c7d1e3d058e7bd67d15b4c604a6ec5d326bef2703a5ce23ab4d178e48b06ef10d7637906ef3b1dc6704aedcba11f54fb837d1a3cc56b5ec715369cf96149db9bab4f58bfc5948cd241cd41897dc6e9b0e6e01f4dc0350780b1d4cb0959c31c9f0931c1f7f7f8abba86c1ba3ef5eba0e680710ebdf3649efd33fa8c63607efcecaf36314e978ba2205940cd68b31720d649e2457d4c10a6a47b49c08fb2dc675f1f70b78e5170eec61350e30962741ec9d839bfb1795c872e96b78dd360a42f0a7fce67725c3e7cc93aefedf1abbad986e33ef7e263e457b86eee203ddacf6a8cfd0a2abf7ef59ef2e48f07792eb8cef7797bd9237b81aa2fa3ec879ae442a0a7a1c1ea69c74bc7a3ecf1d1c5fd24313d674135a17c3f16d987a40edfe465635eb8357b6f6b0f713fc1cf3d1d9c867c83d3c65e21794838d91adca9e8d4d4e97d8f9802632ee2b1ae9b5e30d16df985bdb8a9d194fb3e9a74c59cb9ff9a73c67cdc681e837892071d7f0fe476219642f58063bcff2bbbd1e78f8e8be6c5fc2656e191dc189687cff3ddd45705fd9cc45dcd3a9f76836cf3e619c5697eb0dd861fa152490e76275a6900588b66cb5335c443a4f5892ac9af7377b37135c0ac1b620efc1ae212accf575e15a7d0cf8bec75df5e3c543169e2a702b2292d6759ec32be32323e21766311d42cad8fde61eedefaf312a60d7ff3b7b4bd347d9638fed5e61d484dc316f0fe9bbda0e893368e7a30f29cc47819f43c9e83f9ea86fdc7a1c1fb246e1bab829ce0b8367a66e0aaf5695b02afb3316f9eb744b6bcf3c58f789f626c981e3f34c9452079922f634fc3b5d39843c14773d7ede9b4e156c07e7f796be270741f00b95e53ff5a6d2c8fe95fafac15bc668a261ee057943c0779053e36c4540e809df33e26af4ad79fdef96b3f589c52351f38b6d5d64b36fe4dcdd2f8f8f7e6bdfa7152d8a35df8f63deb65bb26d7e725af18d78c3c675b1be3b5eb456b38739bef5c02e0a96beb192e7bbd3c219922dbda6d29c0bac807f2e7ea8fbc54c1fc92459f17fe51ecf5474c7e877c0d7acf670787e50f7af9f04f6cc3dbf2709d65e4db16f225eb7fd72b5856357544e01b75f1efb6fe8be4b47c47074c8ae8a71c0bdac754ad74416a2c967e1c55981f5f2bdcfe733cfebd16acadafbdc3bbeb78d1d07ea49f79e5daabcaafb05cebd76f907ed45e8e1ff8d7281cdb81ce121798674d7c8abfdee97aad41acef86fd54a6f0b2719bdf0aa4e53d10ad2a1453cc39fab7792e4aaf415cadabf98eb08e3073a86be178dfb5189a0f0ec9fabb275a85d9dc5b4a9bf9b9dbdc221cd42537b6430f9fcfa36d5b31b951791ade8f4bdaff42efba270708a710b2d906b2ec1987d5cfa8bc29c49789accaf87b386313e4171da4f2f7a15747cf933ddc712c059cc5bce557eaf1d0129e19ce624c7151219f036215c667e33375b592b6e57bfaa0f611f8d55697bd5d22dbebb6e6783f48995f6136bef8ecb5721a7cc90c8ef39ed8f458937e0dc9bb29f4330ae8fb1017cf87bc403f7002211be4e2196cdaf081bcf6f3e8fbb43ded548fcfb6003bd9e98de7be313e7ffb7549c904c065e53deb7a77302f5645cf81027d05c96fbf829e03743de81da66475b63ccb4dcd0de1e91df0352d485fc45bde263a36d1e77ea0ded154339adc8949cd89fc8be8b7cae778669d90583891673d1944e459278bc74f3d727edcc4df4d2a3e6cb63eb5a74f4e7b312d3c6999d2630d52344f6e06b884d212cd11ac0f82d188f35de83b0ed3df0742ca1f2c06e39d09fd18bb273ef371a2b5f8cd516bf47c45fb91d4b6d1be9c77fba9aebbadc33658b207cb96b3cdc2ef88f74ffc539f4f5b27c536bd36e877e4b391b79f55e913736c60ec8cb4b7a6f4b75c13346e5cef374847ac39f0f9725f44ba13b0eb79d89b50d7d5f068136e93a64758646f4f7df5f41ceb51af7646056c0bcc0f1e1a987b6bcdf5f8e3d03393be435c7ff63d021df821c772e189561cdaa1e6395eeacf2ef1de9e643ea51b823a473a97e8f089bc77568c3f5a4eb0fd4c3868f177aea143b8a1cfda87cd3205da63be9dd69ebd6b7ba4d6e9355425c06b4ce11a12ee09f11cfc1baa1715bde37eded8c871cd0ab21bb8e81e32bbd43d5be7753c2f55e4a72cfad76a9e0174cfec12437e1bf876e5c217d3b8e1690fea9cc405436ade92c297b6c537877b599b9c5c4f57f6fa532da4a78b97fd6b18db01f9ea8d6d7bf69c2daf631ba5d5030eba179d0b6bb8f2a44e4fb436e68c55492f69c31777e8dba0746d77ff3a7b71519b67ebb631af29b153b1ce4bf98bebac745c3fd07203c03945c7ffabe7b0c21c82bb2d5913f5c63ea2e788364e4072d48d8d4fd65045e1eacff13d83e69ef87ae45a63aadebdb96f178372b12d97070cf50eda71b5efbef133d177234f843a8366dec1aea6f8fb1ecdba6cfd08697b733b3b1ead6b52dbd9fa6f79774febe1890b06fb0970efcbf0ba3d1b0dbfef94e8d8c21ef5744e11da61ee27c01ff78ef7b057dba29ee9df58347722b277db3d67701ec685f8d126e97ad39ef41092d598c7ee4e38c8a8b1e33df8b37d406c2af25d43b438cf7e40ad8be20c6c803738b4c0c50df9099cc352c4f13f48bfaac6fc431392c2af9972cd4da7fee97a57aa220fd2eb5d3516c35addbb6314c86668eba7157d52f85cd0e10f0b65a5609fa6994bce7396b13f5abd9d3f6203c56166556ec6d7a4c6ecd53323bbb3edc12676f6bb7ae4fba01eb9da9ce6bf829829d7a74ff07134e39a6f24f9f75e2ffe2836efef75a61ce2a6ec2de637e4625b2e76649ff1e7ae26b9ed67e1ed6ae90fe3e48efe79940539efd5b988d37c3047909735c97eff1bdb17f3a397792f1e30dfe501b7821e473f5b30fe48463a0ddb503ddcd5be7c01f9be607e2992c97b7a7943b672b30f898c829e70474f3e48de48ecbd3f83bf6d6cf3e34d2d40b5c11c1e3fec992676994e0fd2f1df7a527abd70b2085c91d0177b203daa1b47bbb9fae4ea3acb3ffdbc0c60c650dca766e15665a14a9f851797c9ff154784f7cccd5bf82d1f13dcfba24a6ee1ebe5599592c2a9ca913a378b6fa19ca90b8dd291f05cb05606f9a6ba9103ebbac8835198e35a3e8de0c0b335c1b1cfbf1b1cf5598ee40ad107fdd867503598eaee6ff7bc4c5dfb0a3d60410c31aa08e67bb4edd5602bceb5b9074f61c9d3b1e406a7bd40fe3ed157c8dead08e74b0fcb7f35cbdbeb69f5271947d1e0a673ebf3271f0a943fa7430da41f2c98623f7b8911fe68700df6b655cb7152842766e8d3a3b5942d630fe2807ba1bc6eecf73df52e7b4d9bb8bda397e78df1597c1b6d5d4b33d6523be5106756c460faddf937393d67dd33e2b9766a76627361a84a01f2d50e8e5e2e5ec5fa9c2a29be67ecf03d8e14bd9c6d6cb38957157eefbdca1d770670b72dc6bdb19ce4762c749fc5bb79d856c8a75cf95b96e191efad4ada0df07cec300a45cbdbdb56e10951a24841b103beaf471cce3e637526571d0f875c017781e44d0f8b295a63645df4c63dea8d7ba1f1102792b6489e67cb7861f49f23787e0ea41309afc4aa2aabd60688a391ba98a2f1dd54f1417139041f5e55fc51bbdf95dae915ef027c3f066ee8534eaffb3a14f98782fc3e6437e9290f31688ad3c61392c2ada1aebc20986d97a7f52b968c9aa5f5d6de257b67978799b56afd8518f93f2de703a38a0f8cebd6ec25bcfe2ec18c2d7a186ffa1b7e1387aaf3743e5bdc3e4f9f40ad91c7219b2dcd3dbb4c14717bf1e2b6c7376bf056bc3829e4f3f621c78f49f78e938fee7eee704f971ae0659177f7ea7c9d53bc235ad1f26b6424463843ebe071c379cb6dd9dd77ce515c2cd435dcc21726992224e85ad03713003f864bf193241ff8fe4be0dfee5f07f9729f800f087e716397b205a3cee6b53a9b73ea6c3ee9781a881f496cf87e8f29a9c7c4fa764df8da311fb50358fe79c050fdf8a79cec79ea581cdd1487e9c59e60cd36b671fc3a1ed3628934fe2f652bd0b908d087d257ea35d73b6b3f7139638ef87987431030de3d48dbfdc6f47a95a521f7345a07bbb63ec523bee96bdba8c3f7c3183bc4be79e13f5339af0755afdfd47d406c98f4ff377ee16338068fe25fffb197556c38ccaca666b117136cec3d5d4c918ca8bef57fe5dae65ff7f1417c7e4baf1da81ba178b5898f47fc9d28076e9173ea87a416faddd8909f0bf521e7b75cf23dfe6e6cb3d3fe58732fec133536c3bfce85b5cb837fe77de7bb7840fbfc6d8c653807cbd87bb25b2016f61cbf2463efd6ae6e4f12cf39fe300704afb017937ef54c60db76b19e2445ba72fc8a1f9bae790967d3ab46f0c69a790b9dafc47576e9dfafa31e4f03e597933a5991afd4675f1a6c99813fd0ce31b2bb87f18aee79af37c729a754fce0e5ef9bd801c4463b9f880d44344756bb77ff86579f8ce5775343eb03a73f5ff984d78ec2cdfc11ff12f337bdc61a51ecf1cd83dccab28d7b405e0763135035dd5867b7b5b0809fd0e121401e5c1cdf700c31b8c8cff190581596923fda1e5dfdebe673e36b8bcd22b5f23025755e37f5bcbaf8a370eed94bd6abdc8ce02c6d87311ac00c7daaff6bf916e931e2fe59a891b392cee66bea12ccb64f81c4897b72d282dadda8191fd1574d1c68d7e24251fd1ba46703dd77d5cbf97b7a83c3d48d13e778c81c773df0f06e8778027e3c69d6d38a8ab342ed6f8ffba5f5f327699b5f443621e913a79ffde00c7456f3fe28ec9da07a2fc35e736bb4f5f7c89efdcfd3b133de6bef6c71ea3dd239dc94c2caeab8fca4278c2ea227707c5915cde29bc398ea866d316eb72e9bbef197385e07740fc88b909a83f6dd4c7a6b90ea3d6790edd19f4bd2a3610dd7dfbfcb608c93417cc05913277db58e69fb1ae90a79aacdf85edc4911966690a5a9277c317ef5d56039a0fdf8b4de656977719ded71efac6ecbd1f6188a511a646624c7c9c777d68f55bfb24de83c55103fcafe7c3c8ddfdc8bd6db5811d52ffd64d3356b81e2587d59674f61b8376b09e787a42baf12bc0455ba36f7bfe1f73e2173643dd96e585e6c6f9dde6ade4354118e7192cb7e318effedba3752dbd13ef3d0ee30a8b5f93771b75e7f976d4d0fb3cf42ce26ac6f2fd320eed56d32cbd8edd65f46cb842e06d0d6d59c5e7d8f8e19425dfc30463d0b9d25e4bdfffd398eafedb41fecf3ee3b2b3640fbf1dcd858c8877c1a0b255757a23f5a36dffd9f6c26ea79967eb64bbf857e9d0765f7f5e4792814fd7df37afcafc7d4cb4711393b42721f30fe88cf33bc7699bbeffdaae1788bbdbd4432fbe273bb9a5e8b3877f55e57743e05d27738a7d6fa3923f4fc26f40e50ef6490cffa8b6b37cfdce2d6ed2acf3671df21a987a16b34fefdda835c76e7bbd0bdacb5e7349806d4dc76b9b4ffcdef4897ac9faceea13d696bdf603e86ef333ee68a31be201f5bebefaf64efac701eeacdf3b57eb35e366bb868f7719757847847b3ae158170363b741f7c539b07befa50df5d88fd447349df5ff639f5d6eff6e689691d34d7f841bef6791627d473e39e2a52ef9a6f9c2be4ffd6e7c1ba23b67073bcf9fbf0bc5febbdc88f76d8decd9671945379479eb229289d583ef564ec092699dfc69127337f64dd005fa7f571f1bb27b50e4fc70187468f5e1e3f488f87a217a52a8e5b9f06fbc03b3f48997f34e3f355eca01d5f531fe077fd89d8963c6b1f38570418e4cd311a5baf57b725a761ba1c79a92c014fddc5b3c10fb8b8ce329145cc69268b7cd6eb239acd1f9af08865a959df5f5568239d90409d238e8f00bf4ce3ff0d65636b63fe183f115ee2aefd8dad55ff8ccb406c5d8cb7d6714164e6cd05beac07c1263429eef97f89c1603fe406bd0de28451b33989c7bdeadde9eb4935dbe5c188d81918b7908a89f7f79e1f4f4e8d3e6ef6fbc6911b2e47f4cedfea6c45480a8c0ff5d24eb86a54af30ae57a7e37e1dcf926bb01ceebd8d52b47ec1c611d358119201f7c7bce5fef06b367ae2fee0b48b5f357e47caf7ea30b9f90df3d1b01960a788e5048ec5c7fc406ae3d0ef5f8ec161ffc6df3a298b6bafa604f90bdf23b2a64fd05f16f6ef3fbebd8f8700fffd73cce5bce37bf505f150f61dfb385da286f37fa42708faadce56e14be9fa091757277ee38b1a074fc77887a4262085fb60197bf64f2c5abb5950e76e28941817e294173e607c7675c1ebf3d74d957a18521f5e36e15529bd010fc0e97330f6e58057e30d0f8afe130fca62c88352121e14dc8b9e5965685b35b24d686e6cd085c27bee6c559cf29e3e19ed9ddd653b5aa69e68dd42318d7c49fb2567e9cde54ad613cd781d2f6bd76653d5e6ab3d8e67ff7eb91707716845bab241f6f80885b2f0b945628ebe52b7be449a50b658383aeedd3d79ce17e38fe40f3f2edf8e777d96698edcdf5b7b05bf5ba72173d0cb539059099a9fbdbd28823abfff6d1f33f49a9298025db3e60c629e9e3ec9805b1deaff01fb29752bdc2385b968603eaf98230d38c45ffae9c0f144f53db84e39750987cabb7a027fc6a6ef6b92cb07f96d8b1366d88b53904d0befc4a6eff9f8cb0bfcee2d4f7b99c079ee9a07f30ec39ac47b8a10ae6dd59eb9ca836cc5fae2a23209965be82cd3a02aaf800526ed984028cfd04bd6624950baa766cf07a9ac5411e334fa4e393539b3f04ffc44813a60b4879802adad97cf71ca3355eafa92876b6a2f31b922066d8ffaf70063e11b737c9d01739d03defa2ca82689cfad66a0ffadebd931582457cec0456f7b75af1ff5c4c67e1c5d55e9fa765d7b3fadeb2ce29b3e2288a55ad7f63e54cfcb5bcccc40809823898f8537e09e81fc15e68e5685b79cb1c532f66e6d6c88c3987e5d5e3e29486f64c38d771f7edfb5cbc2e0dc5c1522a6b55333b3570f49e1879c0f5d4d66bdcec66fea0ef31cd75746f3bdb33a05597a45fa06cb00b378b1ce3f02a1847de72f5ad93c69cef942f9133ec54778660aa8d112d91be667a26d8f0edbc09bf16f78dc3177a69acd6fbebda8f6554fde34b5af746e3ac2f5839fcf7809506775fcbdaed23ae452a2af278f20b338e87fcf80c7bdc9cd3e7a79d16c110767eb110ac7b8eba92d192a1ffbd7395582d1f557727e881349eb2eb89e907c7cdbe39b87fc3c8c4f37f24f80edc8297ab9f04f8433871be7aa14613d3a737375beba11fccfb11f2785c98d09c70f3ab768ce19e8dc1e9f63577a5218f0797253c4eb4dd1cbff907b55e89c2536e772746e89f43ee6257f1bc7c3f253c732bfe1c30a058c67b0b127bc2a129ef6675c8e97d7a0d72fe1296bfa0a188af31de9ee16b383f85374af6005712eea3b3637c6796b8be18338e55509c9a2e50bae81365ecb638c867911802c6f6abb418f51768f8c6c6ccca566205f0f5f178fe9116906c36f1c395bc6cbd84736a5bd205cb4d31bc6ffc4d8d27286aebf4ae538f98d3983e56c99ba18cfca2a62ff6c5dddccaa005f10c94f3b4c837819d275377e85317615637cd59aeb9e3e63e2ab438e88f058f97e8571471d8345f66ee18b167e378907ba2c9ce5f7777cce4ddc213833bf29ecebfb6b8ee7beedd6f90573be19c39aebc6e55a0cdfcea7758d1c0773faf48eb5b683750da4dda4e915908d2fe85bc3f84befb8db40a797e4fd363522d570edad475bb05b900d09f64bdb43bffcdde796c3cfa00a4b1ef7d6638cb6866fccb296cb2dc75f910d817b81c6b94238207c13d9fef3b779e466fdf9f4fac37ba2b7fe1471323d4872937f59f8ce17f36d35b915b40eb698d7cd601915f86d59c08f549be3d6b55233a8370e374e173b87fafbe1fb34f2ea0d97f7c9e7cac2b3f19cef707e93599f210ef0bcbe24a809f9dde7d47f8ecf05fa132fe01bec4e39df54af399c3d834f098733e90fe9f82094011eb491fd4fefa0f06b96cca1097ca50dd736e93feef88125adc3ceb327185342d29af5c9925e955ab18a8783641ee6a3c3ff0b933a10cb1ce9b0ef1e16ceb490cfc04bdbf0232f3c3ddafa715bc39306dc2a0a809ff28b6f31eb3b7ebfb1a74738c67896b19cecf8c46eaa849f659d2da6076159ef09dea72a5ae3402c81f712705a8d79d1f20863ac24a40b909fc393ff3b4cd8734163f4dd87fbc7add23e47c49cfddff631ccef96c897048d03cb112257e877d1d62110acfedeb9f67d60f96e8fe4569fa0754b7a3729cea47989b123706f1b25df0b90ef9823fab6d1e507f029c6e9cb6b7fb75875e3e22d4ffe29f7f078ff5b2ef5945f731d3f5210bf94abd9f24ce3df8fbb9e57878c939e176e1182dfddcaf34ed65032fea5acdae8f34783756e6650bb1e112cae58159651e8ec2efe68997f673816859ef1994bb32f5376e24ffb99f205089e4763c300d602653fa0676afdeb11e199d331a69c99753d2e663646ba0aeb84f3ee6e88fcc87396336463227b791333a58279936e6a87a9dbc5ddf1feef9db3ebaf10e9a38e1ff47a6be5b5f57553a0eebee5a1f86b3be85b342f387792df1ad9d5eaf6b8c49ce8e81c595307e911075c7a0d44b4beca56a6adfbebe3d6ad3bf0bd286e7482e162605edc01268bf67f62171aed9e5e12fcbfdf244effb4eff78045fd17f35f4d663ec7ffd9db26c15e4d06fcda648ef547bcd1e51efe089215686efbbc21c738b42789677bb90f3cf0681ea79d4ed0fb7c047ee566b27d21f8dcfd3926dc41b46c6ddfad7c62902d48cfd76dcbf1f73d97a61bc7fcf32feb81d221f32218ed26be68e27cc213777ea71768db8f1e27f8ca59f33d8b47be10ecd1f9f246784c6b452fc5c6ffd9a23db6b09a738ca2976573ceb2c7fdb8a2940f31db30f78308b16988cf04fdd88f00f86bd8b6af3d7bc506590a35f9487fa363c87747badbd3275128ed22978b66cdfac1584fde3d48b0dc34c5c5c417f9c81348dcaa8d41366b6a07bd5bebd196ffd9f6c3f112a2e3fae392e45e9ccc3ff1bf0f60b34d9f9e756ff4f04dee9bd1955f67d322a83136946743be4484bc2396d5802b8cf4412773ad043082e9d85c0df73ca9a2cbefa9f121dd1a54fdbf6d167a208a65ec4632de6305556b5b78337686efaf1576d5e70000be81d738fe39d9e3489eb23d39a03ff9876ca3a3364ecbe78b7593b0881b6cd0b616547a447ba99ccab6373d607ea75ca5380d30166f72ebc6d5fd96cac3314f78145d7d75f616d778767dfc2d1e29bd667ce0ee47f212b0dd880eebea65da1e7d5cbb7d47b21af3cce27e3e05fa2e965120a6aae72444d62431b19d0816d624079b46323b5f326e7dc94ad11f712327b19f3bbeedb1ad43bd9fd5d36f5c22879e7fb3bafbdc35f79cc16f8c2bcd4f7909a5dd83f8d5047b8aff76b345bdb7b584e2c546ba0cb82628fc9a9cd8e42cb2af9ada7639960b17d9f4c84618ad46fe6899008f7b5c3e36cee206dcd7af64bfa415f2e942e337a2bd043c4d3db9eb409f72d5da722726dee2f1f6b0e00221e55576127bf6a2f21cf9ddb30ce6f7ddf5ad28c8acaa979b051ea91ed7e7dd45bf9dc9e4fdf7784c1964d3ec39ebd6c45c3676e4fb69117f0b2c0318a3a4d7d5017db038b99c55072c8fcfc5cb5015197e2f4cf0df29e6475973c001d03c630cba429f303e53de43ceaab610973be607e971f10dea39e2a4a0f7b99a2cd8508cee41d6c6e1897e7607fa9919626c66aae4e60707e3d4422fb1c35cba98faf62314ca9efc45f21362a9c41605fb1c7238797e68ea19458d875835cd6dd0c433c8de76abce0ec1739a14de8965d16c60deda768c05f2e590fd887d9ae5f480fc46ccdf9b2d3337efd979d5b2d54faa057c32b163b02c6defcb4eeb4f5d087ffb6fc0e290b6ffc645cfef41b775b955198f01ad4386dee772d2da5157d093fa32dc386693f3cf09a619c82ae036111f5d9f3a70018caf9867f4f8e4f77f0bec281c0557c281cf065007b042f604e1bab280072ab44b66ef7c45c179dbe3cbc7df31610cafea5e83b89511892ab9bc22b67548b7707165496c2a57013b954ff6f6e44cf41189b330c01780f1b8b62dcf7d670f3ef163e7dfa3362603b1b9d6fe4a41b693e74b6f5e9d73c0cd467a05287bb2bd7770223252dae23c9ec1560d1f6e1ba37564bad6aacfeb32c46cc5d8149d3d846da3be5d856d8a464fe69e03b6056d6bf5ed26bd3c41eecbd931aebdbab46b6d017918d11f2d898ff8157ddb808d0c6b4591febf633b35787566674b20594bdf37dbb0d7709db9c84eead9210709fa74795f703359c7760c92196d3f89c8f03d5bccec733911feef6ebfd72cada789ef6e76f113bd1f3f21b65cd5d972d1f4202c38643f795239c518603d3b0978c27bf622d57f4a63c8769f01c725f979df108c568cf9c834982fff8253def89a05da4b24564461396d6fa1c8fff1ec31e6406eea75a592416b05f62870c334b17ccc65249f8f57fc3bdcf724a72c92433896315a1dc8356315f4839bf9e9b576f4f20131a16c4cee3939fc9b6db6ef38c67999d8b64d6e616f8f7f75c72e71e7bbcabf43eb9a215d60735ed8d8c6e8b3cd4dbb1cc9b96713c4aeb3ca5ddc8b9cc35824b95d338a63d2bef1539c66e374dfc5fac722e306bbbf823cb9b304db8ed8581cfa4d202eea6014de836c47f862649c23375ca66f831d07fa7d3bb4c1d01ec915e403503692fbb736588c71fc56a76d4ef389cb190fcfaac5785e96b1776aeb2febeb63e37c3ed93581f06cd76c469f1f72b24c5d07eab5fb364df6cea6090676e7e7d0a63923bbf3bfb269cedac0a6491a9be68e798197774f423e13d1514e39752b8865b18af3ef364348dbec8d4f857bbd58e4cf759cf90fde20720373e05957a447341c4ffe371ba7b0ebaf907e4f58064de96bb59cb1de895d83cc6cfa176d360daa47d98f93bcb1636ccfd7166c1bc719d41664cbec4870c0925b9fa7eeaff865622f4b5b6e2bf50cfa10bdc70e776cf4ef732e672ceb4bbb1cdd3f14f8cc1f2dafaa0d79a7789d0dc7e566c08b2ac9c89fefd576bde51aeef374c3f577e282719b7167e90daf1d0aebed2fec4b19e7cd73b4b6d17dd4d1f11a8ec2916a836d730d9d65d1e4d83c41ce69bb366cd7d1b608e3f2fa3cffe439c5edfbe77ca963dae704dba9e11bdddb93fe7b397d165ecdbe5b0fdc0feb81fb793db439c386cf34f7cf5043ddd5cacd8a0bda975e95fcb52d4ef5d6330d475e1f5bf1077e6096e5d57974235c779bce769aacfdd14ef447d6cd233d8af2132f77c31d4d6acd47cbdce3d29b6b97841f84bda98b88c63d6bb11a913cd3010773c9eeed32319b18db2c57fd733f07b07cce0140bc80d8864ddd5a45d5addd098f6c2b0b757b5bb806ce198462047a9dd8bf57dc3bb1253661ef9d13dbb76f0fbb35bbf06382b95491d845fc88bdccc2bd64c212ec41746c3006740ef2db06c497e542ced01a8aee9e201772ffde701d5abecb298379bea472ea9fa18eecb7abbbd91ef34aa1f572df982d5ec7c48f2727458f22554c3a2ce719abf8f1240eedb4f016ad2eb9347d7d445f54aa08b8264d6d6b023633bde6ebbc56a5debc7c847a0973b1ce4a9ec44c284c63ecaf2c63f7b2855e9fe8413836f283546eb0fdfd49b831c0c6bc34bfd9585aeffb8a8ee4d8671fab707e7dead7f3291b7f0fb2acff4c241e4cd5aef5e3bbaa8431fa71bcd244effda77ac3e25fea0d338c37dff4c158952fe01ac4d059a541826bee902f80fb57961ce4a5c9fa0bce5e1aa45e146469e466651a54b8e690d41f4e863996a02a0fc363dbb395fb225ed73b836d3195beedf1cd8d910e4d7e3ba372aa2ca6fccee0ab7592de9a75f33d637f23990db90971557936cc53eeda65bdce826c990537e08299f7cf6daa65ee67ab22b47729b2e9020ead7b967064221bbab5e73e00a39dc411833aff7d7098df2ef0c81fdfd6016f6c0ded09b4f6c7347fcba04691f785a4f0047c2d7abe37f6b6a9939e0df64ea4e8d11ded1dc299331bf05cc87e7c8c0d6a7ff7b95792428e31578b97f1ac9f6de3b64f76a1155b839df5d6635cfed938143f9b39fff53d623eb67ab9d998dacd27b888ea62cb6f090eb78173b7c87e1be3fa828257161adff68a5465b376d1deec7aa4d07bcc5cc847879955adcfdd672b5b547b7b11fba255af33a6c035bb1013fcb084b291951fc68829da1e7429bda9999c2b0b8dc8dfe4d70fbe3d893d8cf9a6ff1acb422cbfdbe76c7239641fe0fddbf6795b41f66863152ff606db9b4b4783b90caaf2b43157378c8353fa2d97695c223baec2be4b82fc37cd1f856990005ecb45d1217f01f31354cb5071cae9960319c6a88b22863992b418c91cb919cf598b1dcca94edd8f3e9714fe8c41be524678ef705eb3723317fe753e751be3c3588e3d9cf71fb8f553581312f4bc402c92e274bba8e214629148cefa33f6ae8a2eefb2afbfe790de28d97e64cb0cd9411a952bb9161b7be56b0b06eaacc85e4a0857f0499dcdf335e7f2dea27838989bf0392e0a3559c093dc3c2bf7ccc5d9c7e8db58d75095645e1d15179b9df08e5ee4079d3faf475b5caf235a27c0eaa8d2b6a6375c14a5d3abfb9cf08af8c849cc81eb6c64f705cf04f279dc5b48ed8f65ec65ea995a77ec3575e8b51e4f38d759e6aebd2c3c07f8290aff84fc7688fb31145e79816c25cf098e66669d774ef418d6a979fa233ee872ae0acbb31c27bffd195bd0d8e3410c18d23ff612919e21c0f37ddbab21fcd4abf135ecd57838c605ade1eaff7fbd1f70bdfbc6223c5fe2a20a005b3d413280f04b7f45c179952a920cb91fdb1e23ff0f630a73abbb2fa4d3c322bd41dc0a634a9f7cee9193d8040bf11591af911db5d727177fb462209643e42a95437ae2ef51449347fe4768f011cef1f579c182ea11afe3e9135fa9c269f93ad3f221cff8867b8f31bdce2c1e63fda748aee7ff824dd0da3ac4ee21b9a5327f6177d43df96827bfe458fed8eb253b9cf7a0021cb1ff907aaabac9dd2a065fb5f77060ff7f109cea6263f3d383b8c2ef40329fde01b659e422009cf0e81e8c76d303c430f13b010ce4133ad77101c3bbebf3edf21b83b9849093f61e6fb8c40b55903fd46a3ae095fbfce3c5c98717a77e0fefcf627ef9b6f98487a7098faba6271fa1c45ccc2ac9556141e399b45c89dfc0cdc9ffc131eae3ef6f5c33f767636d8b6fa1f533fa719ff93457cfbbbbe57c3da83aa3e2db602774fd8b6eb077e2bbd436bb0bc9b91ac9ef6fa1176f3a816d3463ebc67633674fbe20856d73e589fcfb091f33ffe6263ef8ab100b8d6e681defed49887eafe865fb37ac6f128324fd960df7db33c749c347298e737abeff32367c03beb3f7f161a8436d3184d36beab45c9fd8ff0cce0c8e3fa271bce67f71fc38fa33ec39e9dd7311de94f9533c003d37d400989d9edbfec4838c7499c35e21de8239f58eb14b71a9a3e398a310ef39e4f775bec97cd0db02311afe5b4f0a3a67013917fc3b88d52e636f42bdaf5c715e9d7fb9af603caa20df063cfd29a93bca9d5eacf09987b6d351c7a7fdf603fe1b43ae0f7382b159a3e69e8529d0319cd696c8d71cc428efbe68de426e51f931e682d91b4c6c52ef4d1682c13392baab3838ee1dede8da6cbcb743d61f59b52c2e53975bb0908b13a35416715ec6b3b7476c037f5d5c473bfa365f79fa17b317173719f011bfe8ba63cc9f29a0f3e611d762024f66afe6ac791faa209f657171f3c8f721bece59896aa73759a26b21bf489d8876f4c43491c5c93d14be487d1ae6e65a72e96d5991efe963e02307fb1364f89cdf38845b4da26b03cd8e4784b21380df08c705798ce7e845a15d324ad7d30178ba2dc7a663e5416625cbd88dbcd7bd00792846953f0a08ff65cbc3a77bce82dd3bcbd413faf338e0e66ce60bde1be620fcaafc9197436e39263edddccc9699790bb8d5c5b3d96819bb718b85456283cd391cbf35b365fcba463d1452e8830e67ac6232fcbab351b603be999e0f49f866867c89f8b7b2d8f8a3833583e7e818901a78595cd432e6fc8f1587ad96b15729d0af37fff816e81e5ff983aa0b677a319e53fe479588df3862300e1591dd86c13e7138e0de69a6f8e6fad738e809c9ef1ef99dc17ff871b452a563be4ebd9b32678a6f21c9bb9a20e44b802c1f53c7f2273c80855cec66ac06f2f484eb2e685d4bc963fd354750930f3cdedaf8027b65687de4e9c5c533a6f132963fe458ce157677c39cbe6dcd7683f3cc237f10d9e03dbd9b90f11bec9c8ac78efbcfdaf0d2f58e17966d5ebe91ce9770edb46d8f9f72e3544fef2f6fc09368014fa21c2b460eb8dc07e34ad7e54a2ff0e4f77e3c8902e9abf86eb97568fbbddf5361673d3c8f8b9d8d7917f012fe16131b70c523554c8a502f4faaf82802a1cc54f1587842c9a962df2ff8bfc2cca6f866789f8eb9c77d1fc5b78aca31f8eb8093aee1615ff8e71d925f669059d00bdde41777227f22fd22ef7a658b107a4bdec6a9ba9ab54696276ce48e9677557ca0ebbeeb03c5b6f4cffdcad9c6b9827fb313d3da1d2d73df4e6f04f7f546f3f3bbfafb1ef6bdfe530ffbebfe55b7fadffb570309ea4e7bb14a0f64109655a1c4e4aab8e5f7421357321b4c654e5df0b7466651b87599a243cebc8975274d9fd4108f4e363e8b37fde1a40f27a1b0c33b0c46ac37ac5b283c22bf72b33db17171cd349d477371bcac6e6a67dd267f7103ee79d0c5a0ff23f7bc6403697b91dbfbc84518b7f79fbcc38a068e590a2bda235cf78afef3fec7723722f5dac904e7533b7eb537f1bd82aa3142fa38dbdb6153830d3825cdb1768f9faf997fca7f93dcc907b221707f3cf83b956736717119fc73e4abeff07791cf5b1da4f23dee8b03f196dbbf7de7adacedb873e9bef2147ae90d120f473eba5ece701e6979467bc2c475b59b007ae518c019f10cdcffa44af28560e2a3df0df3301f3a372e3c274add91c578c625219811775ff2d275cadfd4964bd932427bc92019f48a2b8ee26b1af235dfa83ea95c1192dffe89fdeddb3cf263b70d9efdb789e5ce3a9bdede9d53a5673985beff0aabe15dfc1ebeff16e3e33dee01e6967c2d870e0e4bf19768efb83cd8019747bd3969bf828aa9319787c66bf5f5b491b4df6e55fc511ccb772ba61e7279b82cc563360f6f5dbf78633797843f9ef571be7412d2b9f810f34bd41ec40901eb4547b2679f99853ffa5a7ab37ce2c793147d27c4982f0d4ef6c737f26b322ff746dac7f708387bbe48af6fbd4ea31bf0403ead6f92b3ad96e0bb601b12d9bbd79b7a466b3329fc789220fd2d77fb3d7ee21ded74f489c2f3aa405e182e873994d1e76d8db921c717adfe44c773f279a440bd157c1e2b7ac96e1ce0fcd47c6e15f973f26cf55bbcc1562710aec7dab3d2c8b74b2263825c1182abaab3810f3d9897a39c454c287dd5eb788a7c650630a491fd3f0a238f0bd3209ee47ec5735accd721b7387b9c55a9595efbdc3876c449e273ec616f6f3f64413e75bf61d9bdbe0cfcb387f44302fa347dbe1fb2d9f750b70171b3916b8767cf916f7bbb7f4e4ecbdbb24af9810d77a271d8be47184bd5ecf8c01a5df6db25fdbb419d47aab44a71df2ef081b184bb0bcbdff3b5f2ec1deb7224974bc5a2a96bdc07d7c8ffbb35550ceb05aa56f654784dac8c4f4631aef78dbe64fdacf5a17b38d5016715de89af3dbbccd6f1fbef855c7af3447eb41985b99fedee619dd3bd74c0791e9c5a3ecb76fdb83acef5611d37e7f74e170322750b376566a2757c53666ea5e9b8a703d9124f1c2c14bea91f1f19cdd8e6506b181fcbf5cccd91bde8c7c7d1ca30812fa8c175086af6a6ccb6d55a487e7b3af459dd83f3ae1ee4417ab23d34585cc731923f5cca97f163370baa663cb88ea48df70ac8068f52559c5e42e15113cccd97cf21237b52ff027fd71d6d637a8faf661adbecf1d54c1b357b7c55079c625c53dc1bc657a1a4bdb515f6065b29e220fe3fe015a571b6837339853804c400a9588f3dbdece95e24eaf31ed939a3f4e656b8a6600f7823e915f35d98bf64630eb1890d37b817e06a1c1f5a957c84b371497e7ba330b9601ed6b34f06c7af928fa7f33aee210e673c5c6ba52717c5b8f48eade1588e3e971ae6e740ebe2e63aab890fb936748f7989e46687816736c72b388e315deed4f1313ece46dff3c519f7711ec79a81afeddb8b31b24595d9b1d2e204cd51e5d91ec63b14adaa39b71292c285b58279065eee79cec4fda2a32583d7305acf29af3ec5fc60ddf6d6051ad3aafefcab7db432927cddbfd7cbdf50b93dd6171ffcc6367f79465e756360df8cad8843e4274a2d26d0ef50981c1cceaa0d9b4f42bb84fe669570d1f999750a672ca3a66d5ca9ea722a6dcc3b52c4f1656d1c278a9e147eddfc9d94ca00a7c9d58798851087eddf9f333fbeb9564e7f780ecb8702f068717bc068612b5a8e87102399dc3c7bc56cec6917bb93fef65dce1fab59f0eafd0cbf3bd0d1ffc51cb7bd6d4496d46eae264bd6cbbc3438f57460d4f6844acb096507249e0d3d239699a4b3aeef70dbc361efad0d49be85f684f4c35a42687b99e7c8b857429f303edbd8fdd01f83fcea5b838bb03d5b99077bff39a64d713003979a0bb60ed8987745ecf27e60f7189f4568300fb0336757760318680d8fc89555aaa2895b151bc7a4396c7f61fed845b5e5f8c433178c2299f93a9944c6e9dae22a05158da3d4c6478a2e1ea28dd6d998d784b242630980ab0f73f5747c59da07c475c507afd572bea6d6dedeba9e94ea1a6eec921f72ea00e712d27342596c4e0cb316dccc9f3df89511e4fe892d54633ba6eb3dfdd9985f9d90ec7a4c3746f050ec31ef0b0cb7d28b529b5d09f6236032c077d74640be3b7f6871927f73a98f6c74c760ea5555e636a7fd515886873ca7d17160e17b2723a59e3f0e8ec63f732ec91f80a350a3f7f2f867636c919c2c3633865d5569b5b11fd7d5ec4863e6a0e7e3563a79befa330fe01e2e8beed1d4ca43ed840edf9dac2afc5dcdf8ac143dfdddcea3a18d54b1790e36a23e171d87928ce665b2aa8a5293d8f63935c3fd8f1f5f91dfd3d578ea93da17d393a71fd11abb6ac01145af7b937769ae67648bd05c8e33995dc5c82e611eeb9136d54e26b7ae8a3f4195e6f668156e743995e3e2a248da5433dc5ff2e913fad615fd5af7f05966734e01ac42de0aa4afaea6c6b8566ad6e0090cf39345dcc6b6e3390f7d14369fc9107f8f52a56620fe4aed3706f25362bb9e7f07278a9f7a56fc5146143632e4c3a32848406e7c854254618ca563a4ccb41a7a8a46e57435833cd3fd203d9815e403f8e96196b0cd79cd90b9e6b35f8f79ad4eb265369d6e8c6d7590ca7bbbf66bb4f6c3e9419cfeb3315c76197bf7cd8c996812fe1d5ecfe87773a48f738ce5c1de36a74fb0dd149ccf2ff6843f3d006eae29baff18ed95202e4a55dafed9d8a9efb37d4ca7cd4c7eac6647b4ef2aa59e17a150f07bab28d7c612ddfb9f55cafc417f6ba768ba3a69d9f3ef4d563b251c791e76556bcc4a000cda3f1a9297359bdbb55cade0fcb8d4a8ebc1f56397d3d837f768f06b9ab9178a3fbdf72624fd3cd0c2d275b3cd055966921c91bd0675d536e4757ebb06536a33b95e662fde31608af6c6cd68d2e3e2d70cb732cc7a85d6f36cfed0d018ab64ba99cd1f07719e2bc6f81fcd8842854b7d34e7f01e4ff36a79726b47bfe6763dafd6f8f9b9feb107a755dedd71d8ae2687c460902ef77b6b946714cebc055c99bbb8dee52394988653f27d3ee04d8c0a5d9fe21018c4afbc3c60bcdccf520630778d692cc7d7743dc038a3f6dd2fcf98c6a1b4643d5dfe68b1704e97581ed46abb55936bd855df3d0c70c0f63d359c203d8ca878c2fa8d2c40f6a6307f203b2d006c8a65ee6761ee9d310e13ee9f1cce4789eb7d2bc8bf3107e9112f6399c4fe00c3a3c52c43d720f2afadb793a9f859ffb9a7b7773860c81f700df6def48e7a165a9babbbef7cdd7de0a94f8a36976a43de90c200a1b0adf49edd907735a8933f9e93d63866a8f1b47fe3d66cad1af3a67ef001f26e56d6209f85aea76c6f5d1f8e5e5e36b6e57b29537833365224f3e2c549ae7063787ec25d74db3bab260e7651fa63e236f6b1d78f18c64ca98a01b25bce1bc9fdad54d7b3623ffe6ceced1f578f58458c7c8f058e8cf34664900c2b949a457e3e07b53aa2d61d6b7bd7e9df1fd16f87dfebfc5ba9fd8cd65fd1c67f0c6cffc2fb305ef907e55d71aeccc6817eb44c8ecbdbc69ea0cfbcdcc505081ec5f18d0e027e0e5293d1e6293bbd6bbcd15dd296c872acbb9ad8a41f77ef35047cb7363e596c8c45aad5d73be4a51bfcc0c1fa44be9cce5913ccd3f3e0fd6a72759d4885b5d3d6fc33a55a7ffef667e307d4d5cfd8a239077556947dbbe6a668adbec354bdb7f3fbb4ded1fd5d74ff77f678bea66a38f73336837a40bd4c702da78b74f715d9a21eb2bf24c06528dc13acf1c3c63e1661cd5ed4b989be37466bfe7b36d4f16dadecec858e1f131cc5990cf50a031b5a6472c28b0d630847e554996923a4dfb735bfd818f38f9d81e76f5b8ff9d5ec982d136dba31ccd1412a678d1db845babefe9a1ee6da3f1b23192d636fb699814eca37b5c66ff4e2cf0e30fd02e0355d27e87992c2abcb9adc7f46703a06e30bc8f88e7f142e40ebaf561c77aacce7fcb7c09e957a0ef18d6fbd80ba696cfb459c3a9fa3bdb480673ab163a59effc6b580e92db42d1ee67ac14f0fc2b15ed50cbf31b55f3b8329d78909b5a00a3c07d8c133b08347e5149e1fd9ebf0fcc1833c3fd8b6e8f9c1b635a6c88efaa33060b31d90efac18391a477e30b66063618ed7601ad4d3cbb7c072c4de99f4ec1dc9c5350352f207d99cdae9335617533c777134561d178f5394ffe0bc1bd69f615c8e91cfedc6052fc766a5097211d64c04f12f3c0fbd5e50a5ba5e212ed3c4a7708dfe58b5993f1a5e37e78da4fd0a4fe5d7db7936726e339fa3678887cfb0d5935c5d408fce64636b976fc8432645087320f36e15c5aae8e68afeb802e6a8bdbded811f30da78684e746477a7e1c6960b6f714dda75bf60f86f526ba52c3424f3278e9e0e38e6b04dbf6157bed9d6e646e85a1ff07d83f5cdaa8c49ddd963633057d5f9cc1bbfcea9d911da7f3b03ef4bb227b98d7344b6d4756307bc26b17c40e44b48db355239f5eaf103e358bab41f8be602e67438978a915f3792f96a1e7334670ed4b72568ce2678ceca11e8e3137b5244b940fa4d151888b379c22407ae9f398f7e936faae8fd3ceac9c7fff31cf6e297ef63ab546cabd466e6a48ba57eb26d2c7526b34dbe646d68ff65fccbe4f7842f80f417f01b7bfc4b9be59522cea19e5a137ab67611ced83b60758ab41d5ade148adf52417b44faefe33bf839032a2ff4395a55b81f786f87175f4ccf7b69cbef912d9745b9c745053a1ece176c284e9fec3d0ad3a25609e73ae875c03bf8e47d615287f6b2f6e0987cf3c5b40ee765e46721ebda611a54c75c45fa4a00fce96cef1c8bfd8c7d50fa37d9e84cb9e69ab9036c946c63cf493f50570726f7ed39662f2def10f311968b6fe92b7547bbd413beda7a2d57f8427e7753c755c862780f85afe3d2591d09f762bd41f6b15da661b6b8b99cf9a10965e1a235672fce1ea9f369398cd26b88f912fecbdf10ff1fd98ddeacbcacabf4b471be7c6f013615e4e2dadf43df899b2942c46eece4e25625d8f98a3ea1eec19e006b22b30acff1223f5ba59bb3d6fb1bec8f9a65a197ffbc4c7dd1e2608f19935bef6f9017c83e42cf65e6684ed4ac7b7fd0b7120306c5ddcf7682e7ac988da3d1dcacb7035a4be765ea71690db9687171f34656e471cffe03ae157ef95d729e29426152ec9d15d39db3faf919a11f637cb5e68663dada65ee3ac31c496f7ddf3780c90d737f877a6b8c2d83ec69787f7efc95fbf1d75d716434d7673446cf597ef9621a059c552b22effb29537c73dd5870ef587e3b405c486b6af4611dabd922f116c091f9639d47cb3b38da452e57e03817c65248dbfaf813b2b7977e10f7eaec0b451c131b2c2d3c6999fae99551b3d5656f97499059549d0c533a808fb584deb5065f0c636bf0b79683b266d3f5798b6cbedc177795678f6f8164d57b21fa8dbf7b899f78c51c0672ef905719edee1803641279e20ed9cf8019f62ace4b38a5ee8168dd8c8c4f00035f2f09f7513b77341fe5c917f9da3327c877bda0b51434fd2a23a82bbdb9f62e314756ecffbc46fb3cbba09f567fa03626bd0ee60cf74007197f0fe7705f7a6e0ad76099cde88af1bb62d877908393e39271ed107385c7cb3a101737e46336b51f1867e27af2c5451d30b82fd01eed90fce9dee529bf1f8cfc0e781fdd3d0137b9fd0e55afebbe5c83fcc3b3276bc0c41cf6820d38fec8faeb78d23282ab7bd66e2e5746c168b52532fe0ff4193abb61df47e1d76cbb4e900c85fa0eb456c4c519ef954b1c8cbe223f968b5ead7d9dff26f7c073965e6f8ec314d473438ffd602e9ab57957401e901e85ead53cac0a7fb44a619d19c33c4beff96f01a9f37a778dad5d16701d47e3c3e7754f788fd20fcf60d9a76b9c77777db15b19b3e118da7ab4b8e955710d26de8be57f828a89fb7c41098519d060f7990d9e76b6b7433600ae3306ea6f302efa9557f456476319d3c5bc686eccb4ebcf9d5ee4c41a0750b76025b2f8d5c4918eb2887cd02f521ffe75061e64c1aa5d412e3cbde5d123fc52b40ea06291d531b6ecc91f3fe3477efc45e9bf0bb9d6571e54b8f79792c7a947dfe3f53330ffc53390dafdc7d1e37846163fd380fb8c914ec61cc68ddd02319413b25b5409f71d79597a0e9d65aa48d783c359d7bdb383daf0a02af1be66bf2acff6f2ef597e3ae8d07757f56c3201db9bc8077bbe26d435347c7dba0b5c6fdb76eef60d2757ba8c806f75d6c40127bf693b01b04da8bf55b1d35de81c25275b798eaeeddb290318c3e7e5dd1fed407ed07ae5d0c72cae9b9a7c8c5ff145ea5ed8546d78303bf9c97f73dd7588cdd593c31beb4afeeeeeedf4efc7221be1bfa8c96af2c8908b5da3f94e76a90bfde45013f7089dedef209ecc3d7b7947f7f1cc14c91666e3c845af8ec459becbc953f7d83e907fec43ee579b687182f404baf7181ddf1be43bd58f352a748d56051c9f527927ff47e4ff1cd7a3fe7bde7fdd8d876bebc84e723dac319181a363717fcfbbf73992bb9a1fc885efed49daf14d011655ec892927c7492167f35895ae67cfd9bee55f5d8d58249ba2c3dfd502d5ab183d0b73974765d093bdd6e3a6423dd40b5b83e01f07ec156a7de89e05ffc4f0eea89cfaf19c0fc1367f1bb7633623a8edfb90f505d8b27b838dd4acab6b7ecec175f7697379a299d33dc77ef588d558ce9f71d24107f1ae3e019c4664b32239efea93f5d6da2dadc4e4e504e3a7b9fa646b30a5b74b52cd9831b129c883b5b578b76e6fcacc64562df73899e361fd9423df1a9c0235bba6dfceea2ff68159b5fef829696ab62aedb4cdd50cf3fc199c4bf6c39cd5feb566ab7d8f4550b3771cd38738e669635d431217bdc9627a93252d971df9b2d7cb1bf2b78238aa555c3b7e6aed8426f739bb76f1e2d9845d5769a548982fd61e997f14968198e0219b5f9a9a72b7e59a1ff7f059dcb7351b689eb713453fc67b67075817fe488e957732ac5723366f6adfd8d50ccfa39cf20797e32b4f67ff13b07cbd17179567ef0e4e05180f95cd2d422c2fe605b20306318fbfd96795767aaa15aa96b11b99a3f4ea667ca19e5717d706ccdafadb66639f7bf47232edf7b294c1bd4d7cf537711cfc8cb8d64f3b99f0bceffb787a3d8eddb5c4790138f656631f441093c1f5b132c46d20ffd3d58a743936e3f1384825bb39b1a70d67424f77d3d7b28ea368033cccbd9838abe8c9746598d5daf0a60771fecfca706bcd48a707c9fc83e390abe94188f297bfade7b9623cd8d549ab34a99cee8d31e487b59a4f37a3e6fba43e259b7f78065f77b13cb308f5a2528c3c570d93d36af9a15451a41a38dfbc993d4a4d48feac4e26abd51e7f18c8fb6f8e8c6396478a00f571385eee6c3f5cfd18697fa95f34bdd32f50ef866c9d344c5dfbba729dcffebed6dfcad76819bb773f5b307bc74b6511729477f5bc036c25bf8a22e57d4d1c2577348ee85fb1bb0f558f54173d9ebc5e8d6c3cc97de8ff5f3126c7b341136b7971fc077d7def7883a13fa137e7afaef5bfd48e6ab5cb29fa64198a846b36a5fd90363e386ef5bdf1d9c5416701e443713c310139fa233ffa88f9eb7a5ab76619a5928f3a25e7d63d3c156a9c067b5724b9f8e6d0b561cd9548fe81bd0c35935a211b736223439f00f2b9d2ffdaf68bcbbb8a6442a36bda5ae1e00132016aa8e51c63911eeb35e0caa0f3090b39545bbbc8941c43b68d776222cdb8fa8e8e73cc689dc8193c470cdc3d06db9e03ce932aba6fece4b2d7d13a4e72d960f856a7f67c48cc59e657c907dca3c981cf183e88f139ecdb9548be5c82b87c28c0351055aaf459bce71d47b6f80a7af6fbbafdfa7a0d1979a5ce97d68e093d875d7ded9285ae5bfcd29a5bfad6da6dcc54fbf0ce6ff55d6f3fbeb0339ff8d1fb7c8850ff48f75ff5e33c806189fbf200970a6366747629673126e5771b9c7bc1fc8d26cc7bff7a16ff7772252887cf11c4c8d6e54fb82f0670e9129f5be1be96b95578e4f85b3dffa3af22336d9cbf6e6bde4bbc4e135ccf2bb4ebb86ad7719d34ebb85c1980eb85f5798deca54f727c8be3f664adef61adcb605b7b3316d9c079c0901efec5ea116456e4898bd817cd58d14b6e63240f6d16946b23a956c676b49a7d4ed6c6bcf00d2636ecc5786fb3acaf7fe19e740ef9ddd8de93456bec72568afbc7cbf3c63efeb331ccf2203d22bf7ae2bec7b975a38f79e159d7c431984803b9dae00c1c819f06de2df05296938df37991dbf368cee4273b02e331e13e84769f18f30e7b08ee45c942aabf359c4d2319f424b2f399df411cfd0e911dc659cc3a5e923a101ce70ac529f441227bd3e5ac641d2fcee899bf1da6c0fd47ab289cbde186c4b8164def2f1f54b8d710cba5c765af3f900ccb36c627a937d9f2aa017c8d548f558735b51e6da7c1e9ca28550135722eb26974a6a9a7cfd719dd4b70651c3d69709bfe28e2940ff528a26bcb3667b78d4b600e18525b26324dadc20d8dcd3f95f73537fea3546586ee4de2ed11e0054b9f85179791cd4d42a5e529877bfeb3717ebabe760904b85ee1d2984dd227d5d7e01681c4f2ffaf7b10dbe1b8ef44d31b3f1ef4438dcf1f418f36b673a34b56a779b307617f05b3d637cab05e86cf177c8d2df4e182ad8f73eccddebe767e5480f770ade5aa9434b94f58dff8f331571753624ba3310564ff1f73756ee26b1b48161cc9f12457e78d2db0cdd5057ce6b42a29b6585fe2e7edf4e5068f7b8e3eff87c412909d61e2e3019a93257936f49d2d398ee6728de519ba2743e62ac8d5058953e849b183f9398e14bdd4b03cd372750ee7c76b2101cce59dbd38ed8552dc58db8b9c45b927ee521ff9d00b9397d3d5c4b797775f908bc060d78ab0647cf60bb8b24331e53c5dce55e9c21bc2a4f69c6d619d584dcdc234947629f49ac691a5e8a543d590d1baa7d067ec5d6def512a1b7b7e91138c1ba1b6f94ca8b58b15fd916c4cede6c5a5bab1e07f6f639ae87f6963ced1fffb8d7db9c867723d4943f2d5856319ff509ddef11df92ef16958c6afd8c6f7ba3631d200ee5ba69ec1fe47115adfec1a8ad36b933b551d923b939613e00f114d7e1f1fe390bbd6c0c39799bc5f4d76ad7d222dd38dbeb8019e973de9db70af8ee13878b28558fdb6f0398cf7e50b4f32be8b035573de8d2315f803846524c7e56f90a5d91b7b665e90beb247ecea72d172049e421c4f023d80e34a1bee27ddce24ca22284221f98dec2b4fb40acfd9a5f222f4c30553e85d0f5801e7f539bfb1826c991417ab2a195592f38391abaab818fa04bdd8939d42be3156e6c75e4e808e1f7c035725c927a526e44dd6995978a20558038184fbe6a15f5f029ff2a666bb14b8e09d2f82338f64c88457c534ddd8da13862455f3daec935e5debe199e7b81d5f8b55299af9de9ed4a1b8b8b91cfc4e86fedb97f582e96f0ff9c068ceceab54591cf1fceb6502d882ad4f135c42e181ec5dcabfdf82af1e08d11ecdf3a642cf6bdd009f3c037be497227d22592e2aba9b79d65574ac6be5201b5ab4fc5dcafa41caf0b28164f018ad2f34bfa97fb6aec89677b3325d9f938b86ee8b7bfa3fdaeb39e514defddc2dbe915f023994a468ef6110db1ce7b62b156241b98ade3bc61164808ff745fe917eeedbc666a05f3838b107451ce7147652e6e9d1adc7b13d972fc1003f1a70a0800b6f955218520cf80424efae8a13b49673c020172d5e155ff9af0da76870f1f4077eb6132b0d7a38196abd4684cf9bdf18acb38cbd87b2b8a07d942de3c503bf67dc2f28ebd10dd93b81407012a46d4efedee3cfe5a3e106dfc549b63c83af02ef0fc62de1f9f45fd42c53f9dc2bc106e0bd2a62a0fe19d79cdd90bd668dcaa9ec7c5eecb8ac606e84c85581f7a9e9e36712d217d0cdb7cd4f0fc2029e2b88d3e941fa44730b6bcd4fc93a70caa9826b9c91ad55014e65b336462caf4a5fefe7da4a2e3ee6e74073ddb373b7f14bae0e188ba7e3b1e8c0c35e4e3b6e7f93bc63b4ffbd1fde31f46438684fd87ac46cd8e347338e21c6dc367e85cf5fe07787f310cc3276d1df0ef9bbc58b0399d7e1c4fd56240bc9ac8d2244f2b0e60330eb618d7d0d6ac68eafed3f616910ddd6e15389f3e3c0378cdb1a5de3b53dbc8c3dbabfb9874ba02d985f5ddc7e80d9a9276d5c5095b6bc29347562c339efed915bb39f6ca144df1facfb4f3c07ec5574a08f0ef9fbbdbd4064199f36bf0b8572a2cce605f452d3d880959b0599992d333ec5faadfc4de518b1ec8be70f555aa5e12cbf1df4a4706df3120a98dbbfafcf1f7128f24653abf5038e814dc695abe75de48dc017db28f363219f43f41eefa1b3333c9c2b8d7fc0f93fa2b1903985f1287af9a5662eef72666156936ce3ac5275aeddbc135b787a3942e7763a3afe95aad2111dcf3cbd5ca1e3efe3c78b54998f31b608ae9fc896c80619e868e4d77bceea1464e983c42d8b0e37a2d9f3974813ca1f735d56dcf86e93fef5ce2cafe82560b8a377259f3b8c1fdd592d687d25c7e5c9d3cbdfa13da95ddb6b38a6d1fc548a743dfb221fbbf603fc4dc07c9ac1b8327fb43c79f6f64376cc22e0a2c8372e5188fc4f96d801b35c466b601b470745daa58afeccb168c23b629a7b31aeb384e7b508ae06ac27d1bb07d92af566e4fac8073cbdf16d676cb3a62e4d4e3f10a21dd4c475f85f3b7bb40b5b7d691e2f216d232c16b02ffcb84c3deb7a730c96c1f2ef9a7e9b2fef0d7d527bbb5f8fd0f72dcd3f72dcd51fb8fa579be3203ae5a188568ae41d354e74ffd4417adf59a52667410efdd97ec51cfdaa64d59eb5ca7de7abf08c677c8e8d3e2f910dab4af2e57bb44372290d6797b8b1c1e4f8cd9ceb65bd1717d775bca80f7af9db1d2d53d7d9bdc0b7a1638334cef7f6971b03473cebe9518c75ea363fe865c3cddb61d81879edbd388eeb9bd0fc846938e7477edaade75d67cba2775378ffcb33c2ba7abe36d41839da07f2d3a0f66414debadc744af44559af332f456b7d10b369e287b12aad18d7d9f66336d9e32966f92d4c326536cf49eefaf7bfdcf35dbe60ac66eee5ffc7da97b529ca3b6f7fa0e76000755a0e6d5144161790ed4ca09555f90d2acba77faf5458026a4f3fcffb3f986b6cc410924aa5aa5275df5e80f18c50bf54d80bfa63a2c6ca560b84cc1ded7def694debd313ffdcbf1aab9a55e76722a773ed40bc74490582468b22f0a5c6d3d37cfd7152057f7bb85ebf9805ceeb5be5c1d7a8be6fd1e2fad7b84b485fde487ff7f7eb7af8ae5ec5054c6ae00bf3b7dae2e325a61037f13765fc686c881ed635b380f3d89a3791f5e6f915d7c11553323687b9409729d4e5a95d5d117088217bed292713ec48a85722cf86b6bdb3218ccde9060dee10de7f71bd7b9409460c389524ef2d9a4b07f0b8694a5a5cefc0ddb88a6a7c50e0ca6745ed26f4f3186e05b2298fa5dfbfae168534dc97eabc4d8db15269b1bbaaf34217d5626d50b6073cf27f3fbba395ca85f3d6a6868d6cffbb5cf91e477962a7ce6a1fbb2111a7d5ea5a5ffe701ef88a756cd44a3c0ef3b4d9499c215db91d09bf5fe7c5777ef4d788ba13b648ff5cea80eb0ba424aef0fbc4d3d37bfe22a7c529adeb124c5580bcd80643fc3dce05e44d4c94f9dff3269e6a03df62808caf8a163104d6f35de4644a54278d5ec298e46f31619adc812e6f486a307ef44e4776ef407db8c1e459a7ab13d83f2037bcc49fa1eee827b90a5a34867869330fbdb3be1fe1d974352cda7f93a5bae6e2971ba6d47bbc95f1550967c5d3583f9defb4637fb74ca53a1adefdbfe1fc9c9b9c068801d7f960909785e3c8029cc3d47821106ff5b436f61bd6f153f43923e292be3b52529b19672ef76d4ed6e0fc7d99416ec8d086c73a3559870be40765e2ea166cc2252bf139b2c93e4e6a1d67637af117bc47be8ad335befe7c1d0841d172b8ca65d18fbf048be254ef7b5f8cf05bc65c5e41a74717793d9631ce81da019fac13d28dff77059953517b0a92e7cb918fff77648a9b93b0b96bae2b6f4e7010f0bae3c414ab94c543ba28b9c3c794381702519da0fd746919ca557cf64b2883d1bdad01dc7399522e5807c6a4884564739ac5d452fdace13e15d5c9ff1c26bee37617ac83fc208d7d81ffd2ed8d4e48d3606bf1d377587bd9565ba0b94ea5c4caec90aea4c4fa70aa49b62963028302f824c3bebf7acbc4f2e6c1d99d39fb65d53ca21dbf36fa3bfa8daf17b7ad6911b5ca50a37cdb26ee87689c592fbe5d505bd20a72059336d7615e5c616fe527ce7149b1f6f2761df284604eab7f5df334eaf2177714e433e837afc98191f808f30bbfa9e5aa714328c80be3a3543409bc8e95c01a34953915956f98e9d4e36e0fb1cc5237be3d4c8d0a2c3d0b4466fa4788a960c3c4e067ec097d22447286d6448727fa09fc23bbf21c8823e17e4cd8d409ce81341752b1145221207945a03da4934017f7f7b16e8ca404ed73fb17fb5893bf2fd471138821f9cd7cf46408ceaea2618e47abfb8898e3cbdff76290d8ee19eae1743b92afdebc2809792d452da55a2c47888bc62c910bf21057bb7e2c1ce2b67d1b646b0eef29dee3687d9ffb0b1871b51ce51d9ee23987bc18d5477bc0187299e07c0df807906ea66bccba5c09fa78531d3e5c5bcf02351e64ee73cb19c2d154970fad276e45a7cddf9ef919211fcdc538ab7e8f936d7578e20884da09e05d6bea651a4ea71debcd9b7cea756c5f64a805c47febb9cd2f29db1458e7524cad7e4e758873aa87350f71754874df02beeab6061dafb741ed8dcbe8d401f9262f63b4598709ff8445d3cb07f307181b506f2768c0a3508a7361acc0f9dd60dc02d4af256d9b3af8dd753f9a983592196a1dd8c371b8db06f038d3f601c97c115886f2a78bab015f55d356f0aadea8f60d75977ff5dead4cd0f87bbd94121d38a43d0338bd435baffba2b667faf1bfeda7ade6c1a01fd057abdf5776d0f7ccebe7d460dc225e1e5e7fcab5f1d4e241f0d1603919d4b9e0bac4de7960ead29fb49be8aa6d2c436f41601e70948f6b6889bc448afc3eada425fc9694c1dfdebfc0a04376975c76b6fa1713579ac1d268cdd8cf7917edf9868cf4cc8bb17f154b41b6402383fbfe7cfc1eca0579ef21d173875f86b68ef148ffd63621df4ffeb668de9e723cddcb8f75653f474b7b9733fe7eaf7e8b01b36cce1aada4cb0b46b6cff0ef336089811ddbd58fa5a755cec8dc2297abfffc6ec43e60154f7edaf7b51799a02dfecd9e33c4676464edf036e7fac96fe8f9dc5470a074ee10e90793da6f4d6ab2d597ec6ea72b9a49ef0555574e1abd3e19075637696fad2d8ad32ed24ffb2856f7875df0e36752ad4ff1c21ff42969beee612892f63cc6702fbec53527eae991be9fed56ebd85ee963898a37aabe6b787cf17e0f5c9731753496592de7e7ce16d9b57c2dc26aff1080437349a1b5e38cd6981b73b58ebd247e78a67c76ebdfbb891eda46ccd8c6ee6c5d22cc3583fb10daa680c6a93767f53800ffcadf711ba9c05ced5d272e1893b75d37e0e6d70d7f3c6fc419fcfb1267e7bb383bff23cefc8d38f3bfc4997f1767fe3fe22cd888b3e04b9c057771f6e71ff1f3f2cf66765e16b41cceca4df3bf5ed076a22776f093da23ab021be53bd9c67edefbd8f77c7d001e9d9a4352e0f70fdb54eeebd1ee6c190a6087c3d88df40cced54c3f07be56066a4503329fc17e1f3f21fd6ea88b700cc0980c7e887bcb4ae5f8b1017cac2c409f05386bf429021f0b3d07f86408dbb5c907c884607a97cab563ebd4d59b771897a09f3b9c245ffed13b58940c7549741d8fe8eda17fd135ed996c8755f21fe368ddefd97273d9bfcaddff0673b4febef4c1e6da6a34755a15d4362131375b7ea2965773d3f361a91ceaa8490c44a8a51c23dfea5efb567753a363839978842f50bed5afbd9cf7a8ea7262a34997dbee8efe263770be4c7228aa56e2947e8b5f8dd60311bbc535773fc6ebb52825789b437c17b988a97d084a297f1e33b42feb87f31feb1c95b2f175206e54fb3a11811d1fb5d8f190338c7317eb9ce1267fd8fa162fa597a34af2d1704d7d96f5de26c0f6eb2fb091abb496e5e2f6860333b32bfab60d17bf86dc979b4bcb1130e9f0b917ecd670338c65b3837c489983733be0ceb62bba14793773b47139e0ce2c4dadc53bcf64c0886c6a80d7d3d3ca629bd8e63ab053911752d1a8735c31462d036704a51f9139b29bd1ee1fb3ba9d20e796a3275bc6bddacbdbc9548b93a8a59141b39eb4029c9893046b0a632a413e2f6fb1e26ac65a41cbc99f8a352f8fc48ff15a5b591f808d6a584dec3a17d5e86ef3ecddd6c8e72eaeeebcb848cb5bd69c1d484bd6c3b93269778dec0b8105d29dd1d027899ffca43688fe8bad9561d9993e611d3a154ba17dca0962475e52991303aef96f0ff47a0f03b1ae97c7bce20d5e468d1fd3cbed001f925f74f17d35cabc15fd93f7c03521359e33fa6c6934da2bd3b67622c079f9ffe11ce5657e39d481f0d3461760aebe55911accd2c3f6d28f6ab350bf9f6a579c0a6a5730d75a8de928cf8b746bde40aedee55c7e31fb87931c7e0bead217cb1b7a7ed3f761cec303ce9f4ceae308b972eff00e3ec1d73da945b36f266ec2de443e7aaa63696c15880f77f38fc68ffd5bdd28c623d8e1dae62eae5cb439052afa0cf2d7c8d2c749bbf9c668edbdc3a6696a965ee77a4c3ef0da4bef781c40c662915f0c78ec083cc6f7b5344ffe84c29d7f54c3a9006ff4b7b2877422ec75641ec3bfd8f71865fe93da994357cba21d7eca6dc03aa51fd798c26f6bf6bc798b157540d7f68099205cc97a6bb124380c79bc16702e0d19d714aedebce56e4d5f9ffdc5ef751921a3186717e2582d37a16a4c18cb28527bfee97bab7dec801d8d7c987dec121c63023f7938018df58ab1ce6c95c8875327ae13c57781674b9bd74bfc7bf49bee9da4f9e7dd61c6370beb8d73137773cbcf9b672a94c0fbbe971cce96fae9bcaad135d5732af074ecf1fec39e0317e23776cd39ef9fa1594ca72723cc67f1ea2c50055db3d028fae030b7d8898ad41de17c0bc05639347f7fb2ffe20cfae146ba6f31e71e7e1bd2fba75581c608305e9c4401b9a9f56ab2beece09eeef7fef4c447f723bfacfab91cd115e4518dbe3f5bec71f808630293aee3f7e8784b8a0db7805a4c3764cbfe79696787781a5d6d473279eeddd524bf1d1fe00fc4fedefc2ddf66b7f760fbc81fe4303cc4d52eb3d5e88f1008a0478f80d344fc4e63e98ea33bfa8dee6bceeabd79d6e39b96e770be9eacc3c503f92cd221bedb497c3f9afbc9b6146ef25cf8fd5e0f664f79cfcd7384a4895ff4f11ad6810dffa4a8fe1ef949edf929f29b06baf5f28eb3e6958efb4617bce032d8aa5401be515dcb696bd37c43f856440ec6d50da20fb1bcddb72be1433400778cf5e63ef84c123f06fc9b4ec6d9ffe2e7f5f60ac041ae7adc09d496c3b8e95b95a6b6c9f497cca50f71b44ba539f0d9fde354ec63938cd3fabebb58d10f907573f78f13a2771bdf3c6efccf369c65f87f2a277d454b6b7c65ff216a802d3f75aa2cb5b0bd101b23e18fb7a4c85ccdd7efd9ece1fa3ab6297deccecf814117aea709b9ccef5d73a5471b6e964b7ae17ac63eb113db3557875caeea6bdaac52e09a9ed89a50df67c732beaf94f95d7d9f90dbed7d9fb1b92c683b39e4764cfd3566d1bdc3f8eef17ae5bdcd2df99b4c412d6087c18f648a5fbc95a97abccb7560fb90cf11d2b151667f1c9a4a37e8ffaaf037657cdf9a3be09d3618d693f8e940be5edaf9ddb8936795fd983f5173ff77dfbcc1f986fdbfcf4d7227ebe9fb719abecf60ab59205cfab661c7232b043fd1d94a25b431868d36fbc67e6af8593127ab5b927126d853eea7557e6de6c65bd55c941c05e76f8231bdd6b5120f911fa7dbd1cedf221b3519a33de2b71b807f07fc27127fc8dcf21bfea07effc99a45aae39412fe1223c1f8ef4715b0409b36c3adb6489ca0c8b606a1ab563396c07ec3f3375fb0eedc4a04d50f019f3cc9d317b676b2350f509f0d3530b8c633595fea6bfdbd27417b55fdbb2b96f51d0b79cd2155ae93f12fecfb12f81c58de69e9a2c435be560a589ab86d906bb1bc5db77cfed1d67d402ccaf724de65bde5ed8af17bfd5434e1b993ad21ff3aaafe45e2a9ec38476374c83ce0a9f26f12efa26ba04fbd3a7f99f4e1be6ad9fe52e3d06126d4d198d0b6768bc0df68f8488c38115756bd4f2f1f2fb8fb3b1fc6585cbda0ae0be0a9c627ac449eca6c15f9d11170211263c8347994de1c73967e31680c172d9f0b89dfeca81037413289db2cbb369f7ed73d83965a4e661f9ffd757f23f98b5ec9edd0af79f13d91d3326e6a9a9bd864bcad66bf893824b15fa2f1dc5d21171cc684f46d167917cf80fcea1faca75d2ac57aea5c76e37a7ffef80f986045178f13282207ec5f9f45592ace1bfdfb3305aacb7738d03f58fbcd7b233d74edef0153f4f72f0b38c01699d3e62aff5b4eabfa5de29bf7b3b197bb786fb87b653f97b8c659ae6de9b6069b926bfed1d7181b93ab652a5b8f9910b9ec7f95c7264fcbc7795a392b205b3681b1c95c8ef29dc04a04234fd649846b4a42e25ab0ccd7815de7789d610f7056c5d45d15533b28a2ad71fee5a231ecf2671a5b3fddc418dbdf26742e615bde706ed321ad631c61b75f1637d12ca6c0933c5f37bf453ec0edb42a728c59c22636e84b649bd3d3d37c9d5be61a702bd07de8f77600bf0f6a8eaffaf779605d62ca3e34fd6d7f1f7c99fb5863ec04e95d21a45807ead5e4aba3168c883ef3bb06bbf3d63b2f7a8b89ddc3e1a831e040c66979deac2581aeebf27d64ef48495cc1b996b16f62cbd5d6887e39a59f8a5a5a0ef6f5ea3f9d95746b93fceedee7a0f329c009337f1467a437ea8ff541bc85bc18cb7783ff6a4fbec1d2eae71137393877b021a18e19ea4490dd4fc657a9c6cf16ba5a813bda734e3fd2572e459c59507fe7f07ce229f4812306d6635d97fd231d7378cafb7d178f8271068cf05d2c93b8201ce6a2dc8e7637274ca94df8f9d3b96e62ca90776669d4c38c8b4a1c15ae5b6691c4b8d911ae653791a6f2af65964b5aec4b86ed89e5ee0118672afb25f36b47e696cd351a5f631d794e8d4c15b503786798dfe510df877eef4b5c9437bc47649c10db6fd33e7eca0238f488b86213a3a1ded656d8ea04e3b01ed864cb1cee38b740dfdac139dd24870f5ba34b641b6e47bb3f80c7b6a2bfe19639a4039e28e0711219682726b1172d35ef7864f831eb9613ca36717d7b0f037d55d00d0e19ec83a5dff12970422af1e35f72781d030e1b719f962c379be0f63e9eda97c316d75fa90e1351053eb57e7c62f4a39853d1c55a05e28cf43c6ecefe7eca03dae0e338c12b7c1c99e4e5e9d6a2ba18c88e8c742ee0305a2af834040fc2b59bc390028c086f0eb8300d6ee3dd18ed3de9bbb3d8bff0257b73822f19afb589fc94232174b881b097c823748f154c54db58461087adf3b3b666f4017687b64ba548676c6342ed0d3af570fd0bd667dfef15688f4fddd13e7612bd744b6423b75c186c6bbf54b3e61c965182e8de706622bbc39b4ff4a331a136f5197b9f9b1fd9590de75983f7e4a69bd1ec7e342657db5ca7ed394283fb89b1a0464a28806dd2f9536716edfd36d489ac699b291e76c526c05f74d12f0ecf5eead8626c1954203ed531d6fde0770d960de0ca381803b792918d09dc227eec2631e5967e807ccfdae7bb6cf52cc018c84220cdd718ff5d1580531dcdb7338ad0f5dc32757c1daded917eb3d5b5d7c3cc5e45adcfb13574c0c36eeb33ccdd20afc2f7b7c6727ae201e38616d118d558f5385760af009ebabaf06db57f0de7c4fb0d7e3ade031734e01ebf6ae3b4ca7d01f0e51b7c2d7d4b7edfc4d6716c0eb0a34dc8778d68df4d3224aba0cf2c630fb17f958f2fc7a507b9a69ab12c8f655135f8eecd398066b091ad4d0b25bc164a288f15aec65b7e6e1ff333e2dc925f4e9596c0df6c36d7a274cb44bfddb278fb7bcd5852c7f924717816f9e5efee6bf379ad9617169fa537d75b2c27e4fbd779d647f333762bbae6e3a8f3a2f938b74d0573307354de5cb793e201bce683fb6d03c935f8b54dbbb193ec9735fe35f8e944ceb66ff3a80dc01e6b30ab274e22e39804fefddd36f4e8d0e1a5f5dbaedb7df37dd9ea9a43a31f86cfabe55b57c223af432e9ecd11dfb7eb227eba8e73f3f64bccfd076311bfbc3e2aa6c245a7ecf01cb4f3627afed1dc2fdc6499e21c9fc19850f403d735b7efd2f09795356f0e31beedf3f15cf087861f10f93a68fd44a7557eb5b95a4794d1bd39cbdbf33af008ba41f4ea39486622b1df5e4acc75730dce8bdb7e9431dbe35eecce45077a206ff04e86795801791e82f3a821bfaed11b27627d6b1ebfa46c8d863a912fd56fea04d2fe9836b231cbecef31a9ebf5bfebf44ecc821c6d1bbd328fb2f7dc8c87bbcdeb487f3fbe5aac09f96e32ad7e456315219bc84d58e0dff6d45efd6bdaab55584edb38a28b790271ac1fec8ec3dd1c75baaaceedfc6862a25b73f70b6a3ffaebec854f06f19d66edb676c9a6b9deca484c9c4375722225fadd9e9fd30d837cf7318103625dbdf9a4f1711bfff48e735b1b1f37436df5f7816af19be01f4c4fe68ed02bb36c570266021a9714f08578767a9afbdfe1947fb8214d49bc7c3f9a4acbab8df16784a1ec65c80f276d2822bf6a7aead5f5efa727fed0df07a05eabce217a7f5e0de7c92d761853f38a079fe171a5df8fa5907667c044fece85ba1eebda684b63911d7b3b9abbab90e03c5321287cb0977bfb24da9b77c9fad271656dc3d9afb7e797ab627a54877beaf738a0de1c7269c22186d9734d38e95fca38170f633da236526925fc02ae0472bf403635b205e7e7ce6ee1412fb5e38ac6d1369637e9a2df5dc64fedcbee2aaa9fbe8dfc86e0337692ddd9366d8c1baa46bf3de46bf051566363fdae9f19dbdccb3105bdd2e44060ac38dd77d41a1f681e9d2dc3a66c5338ef0f2c2f0451ba09fcb4b6214037221d7e54bbf5b20e2cdf09a7570fea0e6bde4a53b87ba3750a3536f3287b9e833caff9215bbef5de7ba8d1ef1de0fb46a9a8a52324ffc0590618d451bab9ac012f7bd0af1ed6fadbb9320ecdfa039e6b2999c4b6b1efec78b320f9f3d067e04ed39925659b6bc532d77f50ffeb9cf46e5dab7e2af66ba646fd33b95d6767945652636990fac5f7e693eacb98845b3416eddc213db808902f039c71a0b3cf39c6222338e32a9a1ad894bf642dbd93f576dbd1aeb5a148f9021ee4b7ba6d303eaa95ec709e430673b4daa5a7c3b7f501c1102ba8dd53804ffa2f387e2b2267b3b6555fec133526d8cbefeee4f300876e80c143d4623defc5e4bef797b6b706f8a1a9c40b833ab96ebf7488fdf2e9be98a59dfebde4df9915f46baf7afbf0733cbab6096b3e03383f45eb0b74d4535b30e7dc2bbf149fe34a2b817d6faff478a6fbfb1f3346fbdcef771cda685f45ba15e9ea1a6f00ea2af6848d867445c74b8dd78fc81f58ab6cf201d13a8b320fb89aa3cca971b1cd1a0b17cee440af609cb8e1bb7bc6a43af271e271ef732fc9b6f058227d8b71019fe73bae0efc9276193d7acb5da72dd03ed3b3c9c8388294d89933f25227f19edbbf28b1b7c09cd868cffd2606fc6f6ce517b2ffd27e6e6dd197eba1674763ffa2e1acda6bd458aece63259c8dfbfef7b9e507ecea1a72565ed5be644f4fda14d868683fad66bf5fd95bb6ba606d8da5ba3174fb3603a907131fd9c7779b5f5256a7cf7f137bd36f913ffcd3706892fb406d133e5dff36261fd2cb2d7360f7daf56aabd44de2f5e9d638fcb30dc705f1b9243e53c4e73179bf1214b1586680d908b154b588b71cc16fcdb1c0d757ef77bf7aef84f68e448fed6537875b75914bdc6cb88f71c33a945776ba377fe3dbce5ff9b580f37715e76bf88ef84d20adc87d327af37becfbb4fb253345ef32f696fbd462b2eba12c62514bb53a4f937c170dd7389d914d84f6d7f300bbbcdb7789b809d2293acec921dbfa6cedf239f6cdd1bad20cb6acedc517feef2c734a9c9baff371782cfd3f5837457d3f89cf5e9e719339158249b45f5a09fa9bb42f84cecfe8cbfe6a773f3ec581903e456342fb5fc63a86715e409ff1f8cc6739701aa8f83d456e964afc18ce74883a860fd1e8f7f1695c34ca97fb63b86de7831c6f7e127fadf6d4d150fe08103b44fbbfd0b77ffaedfcefd55c20dd779c43cd68e51974fcb62d15e4acb44dc0e6d72cc68fed959eb5b19ff9c4f79865ea2df6a565c477e04faf79d0c4f9bafe1dc8cfa1c6437b9a0b72aec871ecfbc7bb21d6cdabbd166402bd173ca31450ff1287674790cfacddfa7a2fa9cfbeda58e0ee2a6a59ba19f5c66ffd746686cf46485d02f1984de03fd9990ef24793c6efabf752e443074be46f219d47b433bde2fb5b5fe117697b3698184210fd96f13922a1abdbbe90cfbba2b194b09ddcb3632d86bd5bcc92ead9c960d3b6bf0d1d5ef7dde08cfc8c2136e7e00cf216e3b5836406736e91ef043e797f2fa9b9b6cfb954cb04f95bf45ebdb69af322a4b3b4b4ac3158876d76fed29c18e764fceb3b1ed3ba8dcc0da902e30ce1676e98c36d6b4c07f980e70f07303fa07ee183a89fb9d7630c71e56db2e8740ad37dde24079c070c7589e43dd33f5b63f1db2933f6696c40d628b41fb247c8258aea9ceb6e7cc5f256c2d910d2f330fff04ee85d704dcaa51e4fb4ff5df6fed1c86bde0fec27d5dfdd511b3096a8fd76cc01cb036acb8f23ea8f385a135c019dec481a5d4a3ccbd6f6e6abfafa66cc432959660ecf867a8dc3d9600f237b01e4959fb2b2762beb3145b29a7f019e7311c373eaebc3b97143f4ddd3dc94ff666e2c75123aa3cf89c88f33223675b3d53c473ef70fe7e321ad84a7f970ffdd7c94a88dbfce07c3be9b8f87c44f9af9207cc6757dadd5051919e3835acbe6ece4d2d383bb9fd83a90c7d7ed73ffc85d8d492fbeb22ed7b19390bef33915824f888fdac6eeec30e3b393b077c9d06fee6a3fc19809baefa86eba19e1fdbb393bb457d8a6206387035b6223e11cc6fe9eb2e8e5d3dded45cd456aeca7279c97d1e514a167601bbe7b2ec6dfa0c873247ceeb1eb6259c6241282e173a997368c3c2f4a325774c38ca76e886b7fd1b8628c56d0fb299117ddceada42dd927df3501591afa6e57d89b8d65047cefc836363f7df7029c9e14920f599b356789d437b185cc09699ccb508f576df7bf3bafa9d70f60d2bc8c9f90fb11de1b87675eb7e9898861133915ed3b6d82cf97b6739783dbfd5e1aeee5732b81fee338e1ae89d56f22b9c38a82b83bd45641ac0bf9db5f75ceaca812bf276a445ef86a6ddb759d6c93df923910af1a8c0d114740f60df827f3cfce375685cc29a34c1cbecfaa98925cd3b656bc18d32c5d07f695c8733b3bbc5eb9e52775e497776185ed6107ec6101d740ce6bff23c1eb8fb42db79dcd8aecacb33312cef5780748b72339d824d3641d809f1339e5672d8bb5add9b4837c2ee42b8ce2bb05cfc4b145e27de0ece679aceafe91befbdc7ff9debdf6d5762da74ee2213f2cde9a67cc09a012f5cc1a856c9a781bce7ea9759c6f836dc9745bbeeb4f116fd19abaf47474fc4afe3a5db6477d78fb7e4eb060216feb42f833f1ac91d3a6bf685d962d36d23076ba125269b57e8ea3b467612f31d9ff1aabc7ba02e2f32d16f4d1a0f386e71dc982f82a3e74f94cddefb90aea58d3e2bb985be53131d43a586a7dde4d290f0fe936f3165aa6120bdcec77fb5d857418ce29df308aef3287b3aca53eee8b5e6df55bfb59e275afbbb7c56de9da2a093e0163d13f579f67acac1648e6e15e81c77ddaaa7a24f06ceead64766d5c03891ffe0eb823702e98465d0513c9c5a2a8cf096227d9a1f51bd7b1c0cae3f70f0fea210e30f7d245a1d0deee866cb649841e0e9b85e47525d47e3ff263f07bc05a845c8571b2be08c93a5800cf15f2292c53d11d3c1e51cdf1d8bb06eb167c6625b38de5dd3367387e7059c78ec132dd19bd5e8a446e8a5d367e34fdf0125d06de72631203571cd4ba2957212826dfb415c1397b2064eefc9bb65a99a51a5ff7e68cec58e3e3ca436bd314aec245c773a00a9985747ef0a62dd8df8b0cd94d6ffa84e6279078c8757bfdac762d5ac02d87ec17c158f473072e70f672c26747fd18bc00b698571ecd7ebc11f688da2f079e90a7584a7ead6d01c00bb36bdf1fbd93388f912f3238a3ebc7923c35faed049387932871fb9ec0bf7eb803c6637f0cdbbcaa1f71d2ceffeaebb7eb4863268b66de87f108ecd32e47961153fbd5da3f823ceffa631b50b74e0f0fef95aff85c06f998425adb376d4c01647d8931504e2685b991d5c903f9e9366e239056ad2d95e07a79f85cd7b290b15e0b6a33617f67b01f0ab125c847c97d196a4c0ec4f9613c3df148179caf72ed53f6f58695743a0e7daf4f4f43ddc28d8b7560dda0ed03d5e94bc0fe831aab04729720a6b2847a97faf967c02ee2d9bbcb1c3261f5e903b65950dc5fc7ec7be30a6be1558cbc3f2fd99fba6e09af1d3837385cd1be41ea3007b08b5a396ece7329512d02f1a77a00cf7f0598656d1b11d2a1cf7bdd6a375847ee157c88d7eb3f391a93d465ce81b4427bb2701dc4e7266237e7edbd3fd59756701ef44568d6348df531c4deee52bb162156dbe51a04b5ac62f9ce3c246f2ff10be2bfe4d27c96b6f989f40531c6f1808754cf916e21751fc491b41bb237622f017e19187393c1f9a1c0a3a8b1a9c80faea9d12fa417f079ffbe825cd7c1b9edf0fbad7ebb4bc37674ea375eaf905f9b9e903d375fc7d88e11320773be363a6eb85735d70773dcc94ca3ff80375bedf4461b7f85ef3fc938e9bdcd5553cf706e71528bc139f1a499dbb7f9f6efcfad8afbd6bcf5f66bc091d63a7fc69b0f6da63ee608f6f7f0195d6317ed1896762ea45f7a68ec8ff61e386f83bc9943f70c7c8e31c849dcbdc84724e2c6d856473e247126d1ed356dfdb95afb0015e62de9c647209e0f75d783e7ddda3eb739788331d9e23316721f28fa35da54be611653a7baf93576976f7671f1766dd6e785483e9ef886715c206235d5a73afb93ccafc7dca3c7e64c05de41bebba3cf265694c96af4d47749a30ae9f5fc617faa79f76e5c1c7949f5e4bab313eb3c497e8c64b5c1a419caebc309df9f9f6fcd01266ac2de075802d8c7c23a08ef8b21dacf0ea9a001e6fa0fce8add360fa239f310e7d1876d1495ad7ee29a08225e50e30475f2f2cdf9fe53ec68259079c98d3e6c7cca928c1735ba1064c8145e9f3bae043ceeabfdf0bb426a9f85d6055b927ee4aee1bbd5d2078e8bee0f4743f9232ea659e32312b5a8f717f3e6db3ca1cf43fa795e83a7df34baec2566b6fdcd5cf5b8cebb33fee63c94d491e4bce25ccf17391e2f737e57edf923c8c08151aeb6b1a79dd66fe9dbb8c700cb1ee4aeb598c8b55e19bdc815c136ca5b4e78a4f33186d6679d7bff49e810fd7fed7afa5e9653a9f1ffdee727b4ed36f65bddb7a059a77f79c653feb5d8d50b7cb7d6476eb2ccdf62359ab5be0bbf59b32b01eaa5893acd475da789fd0aecab3ce15cc1d90ad24da3b5efae3e637b0e3981784fedced4904d7b6ff22408b924efa97d2064cbc39964176fbab4f597c88ea2fa394471c311dfb3a9fa35e9d3f4ab0479867142fbafc063ffefb99ffe636b8c89bc5c34b63165abfe03780f07f9440de6f756a31f984f60fc94b3ea9456e274d8808d3f53c72ca629daa3ddb0c695be609b1ef98d3577592c9abdbc58e0d773686a8845deb30d0d86f5e039989fefd1c734f3fbb92d6fd68dad239b6f82e63583dc6f92a3a18cd9131e135266fcad36fbb0b4e24260b3c05e5cdb7b1783597a5d8e3bdad726c111cd7b830f4ea33d3b22ebd90679e2c4bc427ef5f92a5cbcd2323f73dbd89deb185880b114603e4bd0d938e6d0ec41e9a95b4bdf71915c07ba2613bead5f79c537b278cd37d2e72778e9973de5458c80772f906216f2cc601fe3e8f5498d1a8cc0c62eb8625cccf175a32dd2b75c384ff86802adcca3fb1edbef4d0ca2fc2f1c32b21695a276237dae0759e35bebb6d6e6f7e6711f17cfbcb57989af30c6db1c14bc3ff8ff17b998121fb5bafd55cce7fd775d0ea56dec480ca0e9898f7e89abdd2fc873d4ae3ed207fff11978aca2becd43ee9b4e53dbd4e5c4a59b419d05a9f35bfdf02ed7ae7b271c0f6865f529ee45d67380beecef6f833a1fe29ca0abe7f0e3d3aac0bec80bfe566f6e25b636bd36e7b9f519e3a3c697427af9e5788a10f3788ed3e1b8c29aac9d821c66c0d99ab7bc91d896036ee4c96b799cff1fe5ea12b55bafee7d59cff5d296a87311ffd2ded399aadacdc9cb717c3ff7dfbcc78b7b9f6bd85ecaba93ec87f6d0abfbea1880dfaf1f7b298338bed47fe7987d5fa7fbc4a9d4d4fe931802e00f9f567900f28173cda35e7df74a891dc00c42ffdbd3d30ad979fb87877ce0f7585478cfedeb4fbfd57df5781c8d5dc7a912b3387728b2ef5b738f7cedca3691ef41c7ce48a7dee6fde233245fe4a7cd1ed2fb9db412b23eb74e819f13ef53c7d01f9e095c9b14ce018eef68bff09265f62f9fb7762efbd8bdd8be332fcabe9d11651653c496b926ee895969b5bbd7d7bb7734db6bddbdcfe7f0750c43c99c11b2b36216ce7e7ae7613a70de406cb7777d1ddbe1102386caac270e92e2f1c21f799aa7c6df763bff23b5eb77b38d49e93045f6aaee6af8de384e17470eafb7d75463974a2fae23d940ed7bc624762eeb87c3e74ff1acffaff655aa00798859da41e3152dd15831368ef3379f87733294a9abad22f9de67b6de5cdbafed96bf109f4ff4bfdf7d78dc9895e7908bffaabfaccbe868dfb8d9064b7bf3f375303fb114b30fa7eb431d1365efc46fd213c476c07e84fa7005c77ab00c1b746cf33170eb0817bdb527ed798f27a8b28d22590736fc5faf9b9b63e8d1d15852f6133728f84283f6f5e909ebd82ebec2a077a46fb6b14fb13f47ac85ffd22f7c8e58926d9e56c593ee7b731fc87377fefde29e3736eb5b5bf57b8e144654274ded61e65474292571d5d56c782ff8c894d11170f7ce575ba30221b8019f17e00052c5c363f472c72c2b880737e7d7891f7fcd85df165c5fd31e6f8d8530c5df5d74ca0ea8eeef6459594c9c767faf532759965f6afbfb005d57c25db049e0fc3bf00ca59283ae7d6b24dfc8bf3dde2a94a48807cf1c5c5bfb5e29fceeea3a661f68be2d53cf3c2eedf144f4cec1f80519cbfe70475e0ab8cfafea91df7161bec26531087c93ba4e9b8cd97a5cf6219acd5c605dd0be1bbab7191b739f48da39d8b4dc75cdf8b7f7876e25f4c652d284deef65cdce6cb5379eb7e65abf8f0bc6e10f419d971038fc923a1ae3e2d55cb6bf4b0adfe3e3bbac0a1fefe6d73295f06844eddf475e47f242d498dcda7aa34d02f5c144bdf081057e46e6904a97fd43e3d9916dae390bc70a32e0a55ad16c8b5348d4a0f6f1a7912d27dc8fa642d4d6d79c1df3e503d76dbcce1f1462fd7e64260f8f199f0979f82dcc853f769f736f7aaa6b405ed4b3a75fccf39cd4360d856cfbad7920eaef77ac5516d456dbd5587ed9c760fdd53ac64e1dbe902d53a1b6a68cc6831ae4970456b2ac6ccda2dadfd41c744ec341876c678ecea5d58e95ab3adfb322e6e43288495cc0be8db78695619ded93ed5c45b38eb72585ef8ef61b1bd9c71df64286faaaf32c6519392bb77d807bb923bf2cb7a670b78c22731845772e8a6f2770fedc3b873daafdba30a853d28411e00d6ae37f148d6295705a6e92c33fdb70c76eb505b5ad64f84eae2856ae66bf142e8db7e198d96a54b92da9621350659fd34f7e75ce45f6ff465ed3204fae7897bf9edac1b990c3b3bf55cfc54613126f99e52689c9c41fee0ebfacbcc52446be823ccf838f8f7f5801e334c5bdf10c1783faeb053e37e516e566be60317e8e4d19d5d2eb716bab445f39aa90e6d2e3f101bc99603f10cfff470e20bfb0cbaf0dac44d684b1a05110e7585ff68e1c533d4cfafe9c0b9970ffe7d7435db327b5addb23635ce4be7adf32e3df4fe3c9e5647def2f1173dde55f4d7b84dc48ab5d369027e8471b8326efbdec1f2df6fcf35a1db67370467bdf99431d36dafb1fee2aba927ddd31be8fec5989839a9436e629e1bad9ebb39cf4eb9607e7f43489278ae7a5cee33377e95a13d8ad36ebceb48c0389397e2575797b96d5c79fba5ba8bf11e4617f7a739fa84fa60a8ce5ef97db90a2154d98288195b861ce2a9a55c91a21af2dee0b21b3c18b71e3284aeaddab5c2d73edc84b8ab5f51b81a54895e68bb94232bc35748718af9bac53991310f50ba8df668fa7a1c37d7b9229aae8f567b97f78fc3243f2fa34a77196631e24620eb4a5877c806fc63cebf575904362957d4c7c6c4f763535a48e857d2d10f0fa7c1e6fe25cf3f97d24f3e97e12fbf8cfb3fc1258d0e599dca7d07ab893e3ebad7af29a0de393cf322b0f6b9aee8021478e61b246fb15a3cc05a8eb78f1beac5cd2f7d7732767382f69fceba773d8c6087bb2f6f92c6b31f54a2e8a576de25c1a42b7cc3b7b682817ce30577f351bd49df5ce839af76ace656251bb92b8fd2fe49ca5c4d170dd096fc75c9ee7d50b994937977d4f7eed414d760f43bcec6c81a62e7aa0dbaec35adc9fc8ffc9dc3dd74c87b4ff1cc3686c93177c7a753d40a76fda7d3168fc2ab457bf5d6b709d389352fdb65ec14ee2cc5920391a7294a1b53b665fd8092f6ca44fb6ce11b86fb51989473fedc90131afc0593cf763e42b6e2e2faf4d4f73e04ef407b136b031dff3fbff1fc85e59db1697fd8b5813b641bfc9bdfe169793ac33909bfd8a1f939892b52e9ab247d5a78cd1daabf7b5c736a472923b631bce6a0c12622e8ce90d38a6713ecf4d3285a97329a612ecbd34c14f34cbb1dfe13fb64674f596b712d9743f7e46f07ffd8c73b9d528d6a9d8c756c3d8dbdd9cd00f09cec7a6842efe643b8e62c8fd86fca567798ddfac77bc4f6cb0cefe7865e33b5dcc82dcebaf4ef0ec27f4b0639afab827db01f6a3f285aec5be5150e3ca3ecb7c72348a4c43ed3cc747916c3caf49eea5bef8b66f3ff313f25c7aa1639eeda4bebe7ec2672b07edd4fb21c6247d6fa73edbb6cf73f16ccb3ef5f746d690fd57eedd638f9b68517478e80b5a29fb5cee963acce76ace5cf6a5654c2a3b614ba7c9f161c6776fb5f69d8b9238a3f5adcd9d23ec607cb6a2875688e59ecc231de4a374799ac09bd9f2b0d63a11d7135ac9323c96446da1a9671e1fe70e7f387b7c7cb34d3910d5e8c369f22b0ce5ea19933f4dee1f713d68afd59c1b704657e32a420e053eebc71876b5aefb2677ec31c48f1271fe512fcfebb42a1edd5e8c3ebfacdfea9dc3a1769eb10c5efaeb30c66ff0f9d2677cbe08e3db073d2c3b38f76ccfc688f96d78edbf986582faa113df6d92c5dd42fa6ade72b8034e46ef9e00cef03a3932e2bb5d5d7d592dda39a96bafb2466e005bad4aeb5c526c7b90312298bb15f51db6cb0bbc8ed977f763ac0d9cdb81f4fd7778cd949b2cef2e633fdc8422cfaac9ebece0be54fa2ef73ab133247be419ba9d14b4cb9c59c803837ca5a8d315509bf159e233c2b83ace85cc1dc8865b9e9bf51cd7ebf9e32f7ca47793c1fdd88efa7f8bfd33f41a77f9d0eaa213e0961d5ade288c6d89ebe9fab6f8a19f8fbeeae51bbfccd3c77e7683713e86731402c32b7e7d3edbee2daf638f11f0d9436d2329eb020f1c8f678ff16327f81c111cac6741a3005ba389e9bcd28dd26520e7e5ffd7f32b8f8f3367fe49c8110d31d8c17e5ee77e35e33d7d85759c39650f6b3885ba413e1ad6ee61997bb61f87fafb958ea8f51e31061a9ca397037b01fafb2a3ff8a416e9e0dede73dec400dfc4977bebf1fb3a4693ca8e8373d73adf60e8f30cb1fb5fac7dbad91bc07e6e7c278b1158272888bf7dda4932d656bb6be4b98837cf21763098fb8effea7d8ed287b8129ee7027207877a519f9ef80e2363fb72cf8906394fbbab533ee342610e86e88735a8c3baf45776465bfb4a0dc60c62b4ad8d11600c9a279ba4f4a9a7f558e17aff17fafaeacdfbb6039c6be367107621d4a23ded8338d767f2b4f701ffe90b996e735cb4ef72eab1ce76dfe3e20dce3c0f43eea4f40bfbcdc8fe69ecada6fe0574f6bfb02dfbb6e47bbef7bb0d7931cbf0382ffc8e6f7012a23dd7e30fd9f19b77aecff2ee0da78bb7ecf8d24f3fe4a9b054cce14eea48a76cb84dc95c90fcfa54c7081c175672547bdce859cd1f057cc96ff81903a89d038c8b38f4e6c2b75ca9ff79dccbbff3497778ff44cebaa96cacc31878194464cfcea37fb6daec97135809f269256df1dba9ae05b2d59a3c81f7bc2a3f79dff155a9ceb9a89ed32dd5ca80ef8e94d466c6bf9de03cda708bb73cbeef7241257e8a39e15672e669ed9864d6f79c03d4a9e67b6ef99000fb3bbedb3a5a979fb17bd94f445ece84d66e10b22f467938899ddaa39a8b56bb22ddd1d91a1ad8b0b173d16f0dff2cb675318ff8265cb243ae661c4b2530dd4bbfdc9ab710d70d7a7497e73bcbbafcb43aef17f92d06d11793426bf0bb7ce3ecc71c32ab1deb61be3222668871a96ded7a75839aa304e962e03cc983e61d84a02845356645ed7ac5fc113b4a9e47995bd18e09fc1baf75bfc48f1b5efaca60748f88b9c0dfb52ea0b6facddb30879ba465699be73e5ffb42905dc5f27617fb71934a097af9ded82620d69a90d87721c8835735cbc2fc1c88a35d8bd325cd6781a86681a87e7e08ab8eefc809da3c76ac7be79fbe9b78687eeede4a4e37e527bb292156f2435e2d1c27d99a185398880f408d579f77668c741c2542bc10cbf551f581ebed3dbf36f5afd71acebb964be053f91603b7a7e72fb6b9ef738b1df6b1cb28e5d1fca49c9180f47f0fa3bacf331c6f2c838eddb2a8be6d5357268eb17e382bf9af3c49f5d909d217ad4e477225d69c8576ff3ad4061d559f1691df355a2f2de3c9ff2991cd89c6dd29d1380a1970bbac842137fb7d6be82cda67bff1fdaa756057e2ea90121cced7de3e0ef8cac0f50939ef6e50f8e26a97b970ce41cc3733666d93c6fb1491f3e5049d0f42d667fdb73d281a77fc3a518539aedfe69dc29efb17ae1dc2deb921fb9125f3438d6aed6d480ec0d52eadf5cf60ef2e606f70cbf8c3898143d7ef78996b0ed1a078482b19ec1ee91dafebf77cdb6dbe9360e01841539bd3e715d0a7a76f7c7d645f7cc749e0f17efc0d1f3e99a746777321572d3f6068a552d4600016e956cf0a595b30727528156e3696b8c578a34594c2b994c22d32b99a511b4d2ee56a3792d5bcda68422173b389a2b995c4458cac4563a55a307299178a361b6f3437df6851257102a568326a77a470e74c0ecf23997319b9124ad48e120a945c9d0b993be71227173277986cb85d2eab3923736e29878752a9ce99aced4a253c8fe139655e6c3481963917b074254e289450c895ea5cca9c95c9a15528dc79bce116b95ce6951ceec67228948a06cf18cbd5a1da68334ae61699c2cd4af88e7347ca3c2f957057299c8bdaca9470466db8d9480985b1c4b923991368458bc6e81de5703791b5432e6b4229710b5ad10ef9865b301b4dc8642d9a28e18c51b868ac0479a968074a0e857cc39d4b8913c672b818cb157a4e94c96144cb21baff9c6fe6a8af8b5cae169512ba85c4c9955c59b452a1b9407370182bdca1dc706e21ab79216bf2440eadc9469333b992c772b82b365c444b9cc528a19c2b95902b6a3e522a199e2143df8489c2b9b452c92339c80bb94273772ee5302a24e8ffa1d870f248e666198c756831b236a365352f650dc600cd658ee7d59a289a95cb959bc9a15bc9dc6eac68119ad772c309b95ccd4a855ba0f728152d1ac9d56c0ced5632a5682e83c61c6400c91d67d11b6e3192389991b959a568c258e676687e260a7718c95a946fd4bc542a349672a5c077722e87027a3f4ae20eb91246d486b30a25c819458b72259cd18a66651bee5c6db468b4e1dc91c445e839d5463b8c600c2b01f5b5447382e651aedc5ce6845c09e54cd65c4aa9ce23b972471b15c9dc01b507f222a1f70b77057a67593b642043158c012d0779295756b1e1d05a122834567278a6e4caa2946a87c68a5642b752b80592e54a0e912cca85c2b91398f330aa90dc6f34df03de4e8879631e2b91b3a8418d134dd483a44e82fc3722465bd195d4e5bd633b84b3d0783183b3e190d01f9d4d104fe275e05366327ec294e9b8d588f3e4cb7eea04d6d53691ddd26b3fef9f3dfbf1361cff235f8a78cbe5953c8fbf441e633acb23b8566cd4f65a59df57c8835cb4c179f8d5d6c6ff6c437b6a6bf9540eadd46c9ea32deb6b8bee5aa8c33565182f9fbf6ad3ab7f7f20daf4f1356d979a90eb36ae4ea670f5d4e2011cbffd7d0ee6e66d8d421b5b5db0689d6db45905b258b6718860ab2119d91572b543b2d6ceb15551850c323da3e47057b6b530cc8e9543772457bb31e8dc2ee73fde6a8b0ae9b28d2617b246d4468554a984b31cad898d26505d5b2e8bd6245a6b4a28d3ddf5332b23fda6ede88d26944a57e3387cff93677e46d6cbfc002237775e10e74a6ee686547eeac626732af26f21b334f26f39737bdfef32aff7fd21b339f26f2bf37aedbb99d3bbff9cd915956f18772a6bd68758de2ea231716c1ae2f610b3528d092557ebf95e3d5362e2a60d46a95de58cc2657f44c64d9df8763151bbf333e0fca3bf256ded8920578bd169b59b6eb9052deae3abc7c1b5497dad12f50985656d968accc4b14b6a64aab7abc8c3e742d1a9e67aa1c41459173bd96ab38f2fadeec7286a6ca8606b507fec00d9aeb7505c1d327b5e30a27a4b8d51eca1b6be747a2acf8bd3d69c5ddd20fae3ccfddaa78ea73277bb6d4d346e7424f1c81f2ce8ad29ffb12e798e749505f6c514e7c3af04d60a6ea713f7d99e8d591a5d8aedb9c1724ac4d982ad31fdd3de77e9ce564d06b5dbd5b29cb8ee8cc6e6e8aa6b6f4fb6176fcd43db9e6d92ed59ac3d6fdb4b7aed5534d3b5e791ed5dd1b8b57550ab3c7f25e3477e39e09020ce578cc5536ead5c09690f0fa18e617672d59e1bf912608e37b850fadab9ec2a395a2f45623d28d82fc4314ae03195cb5d7468cf8bac321fe3b3fbb7cf89246e51fee59e18d90a7fb927417be45feeb9a0bdf12ff75c91cd54e3e3f4fc64ef279ca1e121c578cfe742aee454e2172ff82223d6a81685ac59c8eea06464a75656be41364ab5a337f31cd9551385db8d90fe95382b97c3f344d6dc525173b4e74fe44a407623b275264ab8a336dc0ed91c995c45a5accd72b0374ab0a1d0fe4e2bda6e3cb09bd173911d3b5638176c4a993b4f946a56db77335aaece95c2098c82ec20ee50213dac54a81d612257a8af0b5aa9a21736b64529e10c6c35b0afc25d856ce30db2c5c00e398fe54a9e28c8fed466f4463b836d8cfc0105bd7778a0e460688fcb60e3a0e728f3bc40fdda70e762a39d910d47c3fec5ed261b6d87ecc852d166a30d278f3773f49ed6186cceea5c0d6df78d16a17962646d81be63646d3746edca9c9c29a15c6d38b42f829d582a1cb25b051adea3da8d369a8b7c0c06d9d11b4ea6e52aca156e56a076b01d8beccef3d0e6877995b505b28591ef40818fc3b9685c918d562ad8c61cf803420efe07379bc8e83bb4578707347695c42da88d76986cb4d9048fa3406d34349f8b12d9dc1beec028c8d741fbe8d077a8162345130a64a3c2bd5a846c636aa39d1934561bed3c41fe15b6b90fb4826c57347f01f2c9a289522d507f26433f43a92c46a9605e513b134513261bcd1a83ac870746090f13853b233b77e8839432f8212e921f64bb574a88ecf1f304ec674ea6c03ee70406e61dd9bf48fe90bf12ee186c9347f9b3bfe2d21b3487a13c061fad3a235f61bc41b6b466a13531da683233f0650a59433ea08bfa4e814f56213b392ad05829da8e41f637f60716e546db8d907faa54c8ef39947278ced1ba83767a7e8f80e6638c7d2864f723bf068d9d9bcb7364cbef905e18217992b8c564037d5ae40a7a476d56805e4036d67ce8232d904c8f142d42eb038d07ada0b51fce2a64f72bdc2e572a9791c327ffa990c328df7056a57068cda2b944eb49a0605cab058cb3c20923ecdf1e264a25a3f58cd6378d7c68451318457387be56217316ea638e75dca1003f553b17d09f70867c2f2433d4d00f93b55d25876ea9a03516a0351ca1760b24e348de95d0cda15f5aeddf704285db39d3488f6c34b794d1daafd0da039b14bd07ea478964410e725ae62c24838c8ce40c6206686d2f268adaf7e7e07ece1a2bda612297f978c3c9938de68e914d2c57ee5841fe2a1a33b4b635a4f723e443a3b140be6dae20fbb91cfa7ef25846731ccac81743f25229d52c97d19820bd8df40e27531b0df9d78b91c2a1e7c923d0b715da0f6695129e27cf7e22d2c9a00b72f0bf43f0897305e97a90678829205b1be9947a6c669402f7ba8512221d26e7ca934fb9a3d0bd482741dc8243fb868ce619f97613b9b2261bb436e7e03333684dc858378fd038c81aea07eabb807464256b3bb4f6d15a9a805c405c87f44591bc9c0b904f0ec6af92aba8801840b840f23291c333d2bb13ece3a3360446a9042477b4125a25d29d587e23a487c64a65a1f7aa14ee40c1dc6b68ddeed01a67207650417c06f9e3a0db205ea159e83db01f0deb6a516db8030d7b50b5039f450e17783d69485e84115a971b2e82bd03cb8f90cb157acf197a3eda1bab8d8674513d1ea100b22c818ca1bdc1ade432a7379c4b81ceacac0ccd83aca1e7211d89f6526b84e6b0d5091592076182f62205f4b45ce098ca02fc2b993b80be50908e0ea39112ba0ce82cee9cc39aad604fcb37da9956b405d8200a6a17f667b4e7ef905ea2650e62344867e5c88e50d09ca8f964c321d9712925447b35b22b76b91cca851240ec0ae9be09d24ba65a5435af557d4e8bee9da57dbcd243574b0ef8bcbb2b812d35da9a72d69e9dd6796232c8f3a29083e7fa8be64c81a8cfffb255ebea2d27f741cc207b1593b0559b3af1e344e4f5e9b036cd9d0fcff51a5fdf9f7a5c3e55e6f197b8da414ce1c41fa65b4ece3bbfabf3f1fbb10e6b98df52c7041654eda78d511bf5b5717d8deada8deb76075cb0fc13e757ddc612fa2a575dac62b32aa82d9797a8ff753ca21f0779f7de26fcae92bb584add3f81eafaece1e70ddf7bf5f6bd09ffb4794761528f67130b61faef4afdb7b6eaf7502ef5fb0fe4c92e9fb9e3e1bdb902fbcddcb4d8849fac1bf8b4c44f536935c42004797e8be3d6fa4dc6f96d5ce6c851487f52c8be443ab9f33395eb565be460f7209dc9090406cdf96d6ce6c851858cf60c2eaa646d31e9dab3af5b4dc07b74284ce470d7b5c79cdfc4677cd4075a417b34d2dde1a18b1b1939ab70b3f146132a05f6e7ee9d1c8e42fbd768c3b99582f6bcee9db2adb643bab950aa03da2f8977ca595943b6870bb6eea6d311316a6fa321dbd6a2654d26c6c8ceb6c88fd20e057a57e2371787a3902e477ecf04e961e29db22dd2d7159a0b21dffcffc69cb8363f6b04e7cdabb60f3e70866a9f2d7e92959c073128e58a7c4ae237d1715e54e46f6ce33c8843d957691591bfb91ce74540fee6c89f33b3f79c6526ad5cf23781332f96bdbe3179f6d58b6fed33692193bf899d79a1f5fa96e4d9aed7372f93f88cfccdd59917dbad36fbd02a646bdeb6624595a2b977b47771b008adb3bda395b84eabce7deee215dcee7f5a99411cdb1909d70d359da2fd6b434dff6c35a1f1dfffb745cf28a94a5e5299ced194414d6f7235fb23eb54a66af455e4af993e8fb2034747e272971d8328d3429a11f92beb2d6f5b49db7bd272577fdea1dfa5d282621dd53f48fc35959642fddd8232d562513faf50e619da17e5f6f93195edc2e6f9023c7f1fd23b91827893be3d447f0ec1ed222eacec30871899be557d7dab1ffe68f83abb0f6eca899b659a1a4fe579f4479bb7d7e7e8fa2e8821d66450acb7d50f19ea97582dbdedc16689985e01b5495a8ef6e80f57cd5839883f748da68cd1d29316167a9f02fdae3e9fffbd35f22be41322ddb7b45867ee9fa4959bedd528d32b3a17f971669651a672742e2ea7805fac867422aee46c5746d99aa3137121672ebaa7a25378ce32628f3a7e8eb47059abf42b6975c8bed42833423a44f71fcae253540b6b6b647fd6ab3c97960bd60a6ea2c8b857635efc11cd3cdfd00b565ce27f07f5b682ef38da12e9148dc511dd23aa37a9bb0e6364d7d7f5f63a65a3eb3cb459c7da6c8d16441aae53b6469be2e8fa07ed15b65a08701f23b05f6af1677b58645f1a4d4b8b057b282196991d2a9ac3b1ccdb1e3d6357d16391f6515b63f45b882195c5787b38e038e7e2c07a65516e8d71e655f409e990837aa36cf576119753d698df62883f2ecf692f166ae4e4e73fe6888c51aeb3360eceac3371d48b45864ea7b342677e5bf662987cd7aecde77fbe5664bb3ad1ae9e899442b69b10ed26cefca6f5da65887699fccfae1753f58976fd4c646e64bbfeb16bd73fce6f7734aec4bb676619f762c1c4fdc1717e2b7bf72779e6f5ef0f89fbc3e3fcf6e8ddcfe4d95eeddd1f11f747c7f9cd27efb7f93cfb9af7ee8f89fbe3e3fc56f5ee37f26cd7ef4f42dc9f1ce737ba777f926787fefd17e2fecb717e9bf4ee67f26cd7efff95b8ff7a9cdf02f2fe239f6747d4fe8acabc61be32e3fbc3dc6d021bd57fe26c7b3e6fa444b0df8b1263e13fc76d71cef88b38353fcedc20a37ab5cc739fdc6bdbcfce1cadf182ea62dbeb2bb93624ee9c4aab1d31c7e78c9c6f59b37adfdbfc995c1f991ceefadf1bc4f7468efcc0fef709f17d9223bfb4ff3df17c345fcaa07f47e2f9687e14d43f5e67016bbbcb25a1dfe55f0df32637dc8efe39c6e699960173ec65ae482fa6ee04e7b1a2096ff3c09efb71a8def7637c9535770c5c735cc4e0ffcf79fd3fbd819ce33385c702b5659562af1e4da6c4413eaf1b407ed7ed682af1bb3e3675aaa86d591de4c29a02e49139465cd9ff29b7c92d9a7c1a256ccf132af42e755e237adf6a6b2caec245c96d4349a1eeec8779c938b7acb86f8de9dd0e6f50ef05bcf8cb5b65aa560275352bf95ddee965c8ebfee4cb8c68f67dbe2ef99e07aa7dcfea4cbee7bf782f22773128d2ad09f572c0498ac6d63314ca1909cf3cf7c047144f4f0d0f97eadfd16f8f6aec583a956e47bbdf4ee9dffffa1e41f190301f249a9702cfcbf82a5748371cf0991087644fae3fbba9c4e7f09e4a88d6ef0c7d2e6598678bc5b2ba4b25fecc1ed549e6308a8f65af88b646f4020fcd42f7d5d87b04de9a5adce0fed5fa61317ae596c505fdad197ae532cb8b7d50ae9631b9233df4a5d1a914ed5377f409397c122fb0f86cf6c6227f4048588cd3b98a2ba82731e0b7175b15b2fd33e65d6a07fe494a7cdfa5d891139379cd8794c0c538e1dcda7decf03a65ab9ff037d26730e6ab61edcf7b6e9fbd5ae7872f9e651e7d577376227da33dfb68d1dde5d9ca5bd0b13b527c9b395c6d350b84a0b8367e9ec5b099580a0fa914fe1ce793ab335228d1a43eecb9957897622af2cf75f6843d0d79c3e0f369373237b7cbbd4ec61fa2d9628113f7288e13647f4c12836ac93a62790bfab8d7e7f4abfca64e5063e34dd47f6fb1c3bf6e307aa0b6405a09572b8832eb42655ef834b7916d14b1c71fce267d8b4d93ca0434468c12bb23193d931679b47684a7f170d41ebeed18cb02f5fb4bb5922f75727746ee2ff7f9791329993c3ce27ee07936ac5f22bf60457e8af3967837952e48f7ee900f72073dc12dee0e33b9d9a6525986176f0f72e622bf01388b7af39d596a5e886af45b30a2bb65eca31a27bae32ab814d35e9e640f07f5f3e18ef64af39cd3aa48a524be411f964ae82671eead94e969255f913d76027e9722de048001d09331346e5ef999421ed37c5d59a375eaae7681a8b1c371c9248cf77eb717caf5681491b89a219d899f3717d0fc3e1cec134f5ca8c5d2c323bfbcdbcff89d59c70dd4b45573492ed05a88d993960e9fdfc352155767a84d41fbff26f0cbad2e6747ccf7b0041e9e458f73a89d1321283869be28301f62cf9ef870015b7c5763a40abfbd1fe5a10ad5535d8a3abd1ecdcfabc34ce2131fe70eb39f1ecd4fdf9e477711c6b0883d460f8e4c4c494c74f778bdf2e67ef9d6de20cffd414f4fb1ce9e479985eb4090cdf1d75cf0a361d539dec5435c01e71e2525cac3b928947bd1438f67cb9a37a4db5bb9163bc39712eb4a62d389dc0cf3ca99cac359d9b1886b28701e3443a72ea3bfca33fe7bde7dd8bee368d37fc77acf5b4c14156a2ca0066603f5dcfe87c72f4bc0870fd6ad2d250405ec1f9b006ad13e2ca3c80e8c4e797c11dbdc938cf5e366fc98b5d44952d7c4b3e4bbe27d7652da06e4ce675645a7fd3cf93381a535bdd61cf4f538153ed6cf11daf3e8adb6f8704b3f7ec6ea6e6a99e8542cb3ccad281fe9f386b3a1c97317d58246df3b6d4d3b7005e35ceae0fc5ce7352aa6e24a869a704b073e830f58af2bbdda000f42019816c077dad4f3243a2bcda99b67165337f07da87979ca43ff6bdbf578ed637b2e64687f7719f6feba6d5c7326a9347d5a15a5087b69afb6256c70a8d7814d8bbc7cf79265e61907ccb5d6dac2c82efc4ff56695120cd7149c2795e2ea963a899279c63edec4376483d19b79ec9dd477bec873bd1861cb17c86e1bd40940dd0e92e9a331099d951ed95aea209b4d0917a9a916a963024752ea71707dac546eed6b347ec97954fb21e30d374b4df37d0d0cd9978de6127945b3c63e2e36c8efe323f419d661bdf6aa273fe4454d9eb4aab192e6cb14efa9643d0fc139555137592d32c0408235035c3504eff18c75e654816c565bbb419da3a0d1c93ab0fe888c3c75b8ac5973d7ad295fbde52d34d528b3391ae32ff1b2bf355b8c3b666bd8ce71497d34eb087321ef584f6369716565c77991885adad82ac0356273742aaeac743bb27e5baa4f198c0cf1d72d7df336971bf2414a9187df46a25a24f81974c771cebfd789a47f87e6f92fb523588fc6eca93ef73999a5c06ecd5db2be08bfdcfa9e37fed4b06e2fefd6f978507bf7c98a5a1a03ff9cf1b26ee44986648c07f484d9ed5e9a7aa403f2079bbaa34c78518f28907c62fce1fa35a2322110b2af1105f1058b59023f2ed2392793ba0efd3567f4de77df70d1e4c91f57274d7ffeba8f767e9d70b746ebd8c2986260cbfe38bea0cd8a9fc739a25c791be7f84b2d2ae6cae32c0378a2b8231f67f662f2b079bdda84cbffb63f574836d13e7df89b8c92e7970db70fb50eec529c0b950c7cadb52f6c1c7e795cdad454a72e55d705f087745b7f9692b8da99ebd232a3ab378f00b713fb2f04af0ed4481d30a666b34f42ee68f4bbfeedfd682af5737c4ad458c7d629f0dd914ca1bd7e13df6269b5f7fe2bf6d0cbdfbc78071b734076757630f6d16f1b73b0d735dbe30cece1ff304f4aa3cb31dffbdb3e92b55d4e6925181b67a2bb8cbed0280af338a96bc013de312cb257efde7c8d7c86c86114ec37ce27dde7859ed950c3b6fb250026db9e739809f26b2821bc064703f965eb036a4f08a2cc19fdbcce9ad033b0f7341845a07742bc5f893c964d69e0b3f7ced7817335f35fc475309e107f18620951432c671df9638716b389b38c09e06bd4fc68bec02b99652a95c02f2b815f90dc50419f8fad8bf7b7784f2319cf1b7936c2604ce78e67b23d432ded8aa64e2466ee1097efb2a46d537f81e7d1716040bff9b56f31b7aa3bf300ac96c032943fc8b633682a7b757fb3d6481c250bcbca18729a9fae29d3d3f2e611e7ef0f07cb4ad5addb18e2c8fdbc86c9c3e3e3e4ebb0cc9c77f9e8affa5e161471bd7b56cb7b343959e6fa52e3db24eb0bae876cebbc87bcfd17e12a8402c8efcbf16b78375f8c45bd1ee18cb8915f99bb3db604bee98699fe11cb18b8c7da5acee5ed61aa35df6c57a70edca26d5c47fb64219f7c508b7a44bef8e8f37134263fa8d521c6ad625fc966d7cff0f3798e800b03fffe1dff7e7f6e3aae26629c486ca997cfde1a8757e34b7e9fbe180be487c5de93ecbc7af7e13aebe406cf6ff1423e313e491d037ecd5b7259c72ea353982f4567c57934dc471f52b28cece5e7c3618ad449bc8353fafebff0637abafe8b291e36bd7fb88b22f6123d3b605ea3d2adaec05df01f742f25077d0c3d67803f2c5d30c79b03f88c606f406d3b894db00e2cb417e49eb903be522778e68b4036b79020db45f96325ec187853cdfdf4345f97803b570a3546003de4f7e9e54e619c2c885f950d5e13f617f5838be48ad1cb9309fa23dd9ab793cde894be82b51cbb915d3a0cbd71987d3ce04f239fe18b2b016afad56edfe0815b2e6123c03745fe2160c1297f9edac1fe913f88579752e2c51eb6d7a0adaeed03c6b6096988e56ccb355ee38c1ea13db6f68503e4b375b81fa8ad7e7c7ccfeb75cc6f0f7813c378507fed1477386b5085401ced1d27a63ebcf904d9977d7c02d5bf8be637f14b3e82713aadf25efc98e45638629e96e969ee7fcb2988fdcb5bdf9f49a27b0f2f442d5e628c7ccb2558f7b18fd385e60fe98ee7d8248c0973c870bf77436ca2f46452e9f33a03bfe0d4f07dba7183a3867db156fe429a025eefd5ed629b7b036391a403fdd5e1879cd4a27a7d1fd9571dbd0be58c3e6bf98fef763568b35c3ef13dfd641d35ba11382bf8f6ac85021c23934af1598b9edbfc92b275fcaeaa61733856ac476fd646dcc50d5abc4d6a6b2c202609fc282689a717012696c564b04e046dd66261b8900f83f13774bc4eaea25a845bf57c75c2bfae39d04948478bfc38dd96682c01fb3e46736573e9bd993fb456481c26ab5cb05bf35073542bb1b7acefe3e5549a2f72a4dfddd1fee12eb18e381a93cbb3bee9bf37e6d843fd63f35a5e00d355044e9ade9ef2ef3150009ba778b821c40c20df106205c0f7aa5347a4cfd1df98d33a062c529586f343672ee03566d0fed1c8e1b363a03dfa8c3f5ff49b95e8258e3d7cfaee481939a37584ff5efb4ee2d5710925b6cc7578e4a00f945db7057b7d7daded07920d7c6d641bfa1f88f9fef07cbac6a6be231daf25cbdbf3dfcf7b53b797ad53e7f2497b73bc176dcb85ef221f12f640dddb04d877b2cc756ca9f89eff803ff2618d90afa1dff1190f9b398b22b62fbbdff2bc083d735d22ffeac028c075a6f36cbe0967999be8899be8d5b1f94d2d736ef5a4174a295168f7b28e9dcb5eb34660c3c9b661535be370ff9a17afbe3f38a3196bab93c9c9a4067187f57fb12b68a56c707a855c569bd8bf90cbf3e835765a8da349f256d8495c62ecfd38b331c6d27d1dd8777cb6d16216a70ebf4bd6a10cbc01b58d7240fb0f119f84d81ff010a33dbcd6555b73979e801f431f7b0b6c133a971debada88f67dff91c0cee0b8ec6f86cf36c88715ed0bed67cde2f1b5cc6d32abfbe7cdf4af631de7cd7df2d8374013ed311b5b4f9ce6830ab4ecf675d3fd705df63c2404c0f62188c42bbe57988c1f4efe316e6cd7792f86699685d4cd61eaf97f567ce19e9f77acd074857d8c0c7b6bcd80796f6605f7ef19dae644743a9f5d6fae122fb3c8a6f96e1c53a13478d3e42b6e53e29e2afb60d9f77787dbc1fad1f9e396befd146ebe8684c7c67e195ce48cf71bbcac359e93727521e9e31a17ad72e32d6835ddb49db6ed5fd7de0d9ea68ee532f3974f72f95ab9bc4f723719f96e8176b78df822d913d8f9feb954763af3a23177f3f5aa7f672fdf028fd6ee3e75fdc248e0e093b3a8c3e7d271c5edbfbee65d7fd7651bf0771df8e6133cfa0ef7b631211cfe41ca6a01d63a2b9fcf2feeabac72f4baf19036642e98c9eda8c5f8f17f27374cee1973717df93215b4fe5c97bd8dc3294d45b45780f8179169acf39b21f5c3c569465acb5a399d6fb8297da3c3baabffbad02ff2c9ef7af847d3838268e71dc479fbec5c4d497d68c39fbb017fde7c21efd7cad74985bbce797d591c7b1be7affa2dc84fd631ff6becbf80f3bb1917dd8fb8d66c4946daeb3a341a7f5f8003ee691d1b72ebf0c8fe6bedf96eea5f66a7fadf7b7e68cd011622fb6925beacd854c48e84a08f24033d8dff07fb9f6361d16e11fdb8c2b7125bcc7dd02bb6b4ae059f6cf11210e1edfbe8bf7c6e2685773022d29919b01d79a6e7ee604d7da1fb05d8c965fed2aab318bcf2f636f6bae1d5ba79bb3c0da7e5bb05f4c5ce9c624f5f8227647cac633e800c9811b14d511edf3bcef3bc99ec06043fbfff2ee32f103adc72f06eca48b9bb0b493ec067fef3fbdd5deb7181ff470ad37c8ef39c2268238818dd6b231f97fbcbd479fbacef236fc82cee20ba833b29c41c9a0e4b0135041403983017cf5cfa7ab8986f985f37feed58c0a4dd3a1bac25557a58643c63e6535b202e9c220232ec88e0fa90cc6d5593cdfd7eefd809af92f9e67f8ee77e6c19af9a61f7ed382895ac0f81f8acfffe5993ba3959b021a0f2c27b37e9d75b2335389ad533dc853f51a70743d6e476482894e0414d1b7978ad788d7af81fda2ddeeb757ed37bf592f9f033acaea781e7d7e90ed201f4dcece23f655fb488f1acc2b4f74f7587976dcf0da604c449047afdac7d7ea66c4676d9caded93b171a213e800cffd473ad4a07da4ffbf1a77f4fd8bbea3efc7ed826c5d1dcff0d79ae8b3cedecde90bb239c23c8b8356c6c3775106fd1bc8668bca3e9a777821877da4cb709e431601c83fb42e693202196e7d6ca9f67fdbdd383ad1e8eed7c8d5a1ad619f82894d045c76f18773fb6cbbc4ff92bf7102584f23be480badc671f1906c70bb84027a51132f000e0d88ef1bbe13b15bfeeb2464b34048ceb59cb296cd8aa296d9966ed32bcd225997542dcd162d975005cd167e848c7c7f6d770df15f1170525581718e0abd9d10233f5a643c70edb9ca65c3b1f7314f648a6c97f98e618b77984764a37ac68cf05d9580185a8d7946d706b2d79637e02bb5cf996b12b1c2dc623416e3bc46e589fb1cfbad093ae2abb96f80df870928baf41df6d2d8d1b998b0c48eaf32dc2fec83d9382ad6450d2f6fb97823269bef380bdeadd77d6c24cb33641774ed1db5b9e276cf5b47b95d071c1dfb9c9d6ae8ece6ec38c8b05e2e265e0c1cb3ae4ee3b3e2466f29b5f61d96f02d320ef333192ed179972d7ff1e3d5729a2d5de2791ea55aa0850478288bc6c782ce8a7ae38864c4d95c301145fdc137d4f22a86944d68ae8e6c9e2472f54ce2858b61e93bcdd62d2bcd18dbd65997987d9b168e23cbdc8b7e67e23598bcc74187c9cc3009da7addf7901612e1f8a6df4640d1c4b3dfe575bfad945edb2cfd6db3ba6158a26d2fed9d99b2aa6edc122179d7f77e7d3e3c6754e3ade1fb86737be3d8f777eb7b3d11c0ef0efb81cbb290446b19d7cce86a1362ccc729482a625007a4abcbe581ddc712203b8e36e15bb33870ac618d2c589f8feb6cc75797a65f14d2db028a4d7d477fb117968029891674dc8eff2a5ffe08072291a839c4b78658828dab2e225725028a1ccc0ff89cfe747b6f314f844391756b91d70a5c3fa47a3deea94a227d35b006ef69be58a3fdfa27b1fcf05b7c0db1a6ac419fd30f2111b11fb4f125e8395d0f64d3c72f18c6ebda7d98b7faa5ff9890ccd6f70c735ef8ae1a442cf1d1c4cea0e656eb27f74cf22ae72419416d61fa623a36b1e1e814af836501f57db869b1a2ec32a46cf0157a757c45df3ddafa6d0ccce7ecd277f50ccf25ec9161ffb2be36c7fc12b8f63d62edfb884fdbb183a0eed7f216d6961dad9de927d4636bfabe81be3fadc1b289013d7c6fdf913de09be7fbfac5de3433e514d65521436de369b1cae7efd6eff59facdfe04067b8b6faa03f468c9f6316ef7fa3a6053acb9bfa73b81e449eddb5897d8f38fa3c962bdaf35c703778c7c11c3cec8bb6fecac0df6da135ffeb5ac77825c0aa7a6d6d15a8f188737ec96b94dba3e7a035dfd48d7ff81ec9bbf305e23aad9fdbeef7c4f0fd5ec9bcf7cf7bddde6f7b6c50e3ee61dfbcd61f2226fdf3286b9d891e35b588608f74b82ec057ccce91abe3bc9094cc222ebefaed3e74e6a80f1d4e0eef336b8fdb40f7a984edaac3b84d2b0fe2b533ede541c37fbda25ecbdd3565079e4dd082b9fcf0ed73ec9a44221cc92ce0d54ce0ac4b98dbe760e267a375c54d2fde708f802f376bd7e4afeb116a487638f5d1fa265ef8d7cb7f85d101ee3bc0afd4ea7dd9e22d092569b1cefb1ac7dc900eabdc250374b5079d71dff841bb3a25d760a243bcd2b0b441fd92a8f6b0fdddd67dbaf9ce0cea69da0d9f4017a37e11e701ec3fd2d5c9267663021eb9cdb1ec62f5ad2f5a77aaacc106c13a030c86331fc55d7c23fd1cd622f3da5a9f4bf11a5055e639687dcfce9153111bf7bb6ceb51bcd255875879999ba3f18bff2296730926dfd04678c71cf4928b7119e181fcdc21dbc1fcfa0cee555fcb7871be4a75598459097bdfa1e80874e806cf1100afe67cbee939ec3f83bafce97206ee64fd5aa7c98280243a0cf38ac29f43ca2e7d47257c478bd72679477afdc63e5f5d248f9c0a63a917e45d6ae56cd77f02fa2777d892f4115b82deb7007c4913af42b27e54ab0ed7616fae51913c3a449c9d221b4232cf455f670ac9d12c50d8517f69c1fc42f21fcba505f909b1718ebe472cbcf7fd954c1ce84380f98c98ea33a0664d6cd0fa78192fcde98b46c51033ea70acc726e78e07dcf3197cc76cbbfe85dfe4e715d64c1b9b8373de7ade3b26f9f9bc1fa02606f0e16e1cb66cd6f847bbbe83037d591d711cdb73edb27d86ccf5b92a615bf78debdf6975fc6aebcc6592514d3c5755bbfd6016ddb92df1da65501b10bd772b93695c47a83bffc7df03fe962503be3943dd6a3ec0f1a3768ebeab9bcd7a6bced9160ba37dbccf997b316e0d5f703f3e362de37c263bc47145b7953bef639fd6c5a5ba5854173369cebdfbcbf97a7aae45b7b8efd52076f4e2be87f17e1303a7d8bbd98f3ddd9d5d80a920d1d81621576503dcf18b75d6d47c72853fd2ebb17b92d7b8661fc8bfb7eb006a3398c5453089f7fdea75a11862e30f6b744dfdd5339eef91cc02b8b7df3fb31a7d060c7d222412e47f9d5f706c3fd4cdfa650dc8dc940eea59b645320b9dfbbd0cc17905e633175298d3d7e6ac107524d3f8bf7f6e824c34aa42ced9bbe77e9da206d32919d565e7fcef7a8202ba01cefb52ba9ca8946ce2a2909fad747919da14e90f91499c82643f53cd25e486604c6cebeb7a8dcb1be630633fc743add4fab16655d6ebd02699edf81bf6c13856111cc842ce1b9bd4880f92796e74b52c9718f1dae07a1eea4bf63aa78f39972f801bc23584dfe2853cc3cb85635b074788073527e24eb62f884438943799bb3de31231ee732463a03e0be88b7b6ceb0deb3526df0bc05bd5dfc486b3f66183a913b8463766bed1b3f7427226a45adccb89d8dbfa894823bbd1a5e809e4271a552d3142a5dcbf921e0fbffce399c5e0fdaa527289246cea128feb66b463445fd6680e9b9c04c39911be2b5e3ca75a0414790ba859161cb55350a71fc2132eb3c332bcaddd21267e7b6ee018f4081bf67b5d8f3146928438a946d1e790a32f68df8a89f75bcdd111d74798db07dfc9283883dcef6b90db9788274e413d837b24340e38578b94b879b14ae2f6f3b5c125a23128b06e18a3b30774e51d7f43f60a3aeb8460a21280db031f11e890c8f6a17c0bc907abd83960e3bc990fa8817269e2528f79d18f73d461058309c6c4437d7ac0172fef8a219483711cd57692331aeb35cb0cadbde9da847ccc5de0d06470d471fcdb24db7aa47450c70f3c62552cf3e75d8b738fb80c9dbf86efb0078855b463bb280e3be3b19e96fa6f31fb6d1de65a4d901c031955ab465a6e89786d918067599804a999a42ada4beb43312ad6b4bf2dc73cd53287ce4c98c35ff48e97f2e88f67cc9a768a2bb2fb901eb071fab303fbc97fa9538bd70e6a67d43fcf980926a95aadce1926fb443978498bfbfb5f631948ee6fa9ec02b1dba57d0e797d36dc3b7ace025673fb8cf5ab710da62a5ebbe7b606e1fb7183bacf70f6c6c01f889e07b145f2fa801ff977f198e60cebf33370cd56b079b15faff5897dfe850cfb65eee9f98e87bd53a1bde31b8d4c302ac8d9c03865a2fc6dfffd121b80363c03b7b17155abc989e9e6e2977bd1b987ced638c8552cd3511bce0cb0b9e8fad5f15c047026ea3c7000e4d961d8b646557138519ede3db893d90eec0eb8f7a94fefeef3d0fef8bfc0093ecced6a91e25c54d3aa2563a0abd44857e9f73bf6795885649eb16f63acf3dd9f6c42a84dfd4e6ff0f2d6cef28dd98fefa67f36c62c0b29350ec15708df15c8fe1ad6be57eedebb1acda557b7bac8ad0c1743198e7591c8e9eac1a542b2a4d7ee17ea5fd2eac8f8bbeff98e89b3261fa4cf77c3b269747ee06b87e70641877c3517f216b701d8c11bf8a5122d6dcf05f0d1d6833ae7497c9039ab1492168f285c84e40ce3a930e947c4a465e7b739103799dbd3a36b0f0521d5c28780ebf2bdccc9939c3e6fd75f10b715a5cd0775fb3e7da6fc911cef67ed5aa76041660ea54732b7ff09ebb89439adc0e39b8e7ce1d18104fc3bd6b5bc56173bcb5c48476d6e7bff7b83834367bf58f8ae523cd608118cf8bc76c24b90dbd388d91792314b91fc58d5592edd4952e26e746034b51d8dea244d9453c05433a92ec7fd33be319f63bd3c0526799473740e6a27c9482f3eda636639ac41d2fa703ebd04d954dd1824ce9d853118ae4b2f2b6fae91fe088753829f0ffc601799530a69e43b1fd75b1be431efd676abf7424d449c5b6908a5909ddbbdb26f73005c8c3fddadeb6e1fed232a2336cc37608204be4ca4479c10b2eff2e2ba71a62721b9ed8524fd118e44b2cae6688d15bb01ef997f24ff3a17f23927345bdfbf3e2223ce6406ea9e2379f38fb183a3faa8467568388f2ad5b45acea3e9ca483f07f2e7aed463fbc61ff34070fdf3c73ae8408694c1a1afe938d6739ffd7c322fd0566e1f7537be498cb845f6419b63102429d26d6f01c71e7c637f75c82a7413ed2225e51f89c90297253f776e15c954580a59158a8c974890cff45d7a8e9a490cfd1c4b73471c0d859c9cfe488b39edb2552831d95ce0d03efeba48f7f9697d274397ad22c9a08f3223a48a31fdefba160aa9165221493f235e9cf571bc2ec761644b87498b39983f60417becfece259f6cb9a12c6ff374fda3780d7eb32b96641c325eee27b1eab95fc39825fa3c9a8bdfec0bd3616f0f3962b0eec5c4cf2578c678ee37943d0beb14c9fa77baa2e9bb5a2ee6dec9a26c8833b56713fafcb7ed2656cda297cf867746cf78586fe76ceb2a5dfed066817924e0fd380df316a13617482f7cc10fc340ee4ae30f85fabaef6a40ee37509754037d11e96f8fbac5066aa5026f53734dfa968b7a3cdff1a9798f13ce977ac6ecfbcc2cf6b9e6d9bcf5eaf78767bfcd777e7c763a7c36b6f1ecc67ef1e8ed84280313e202c7e7bcc6767dc3598bf4b1d9fb6bbe6f9e2bdea18e111367f25125bda34a84c9be920c5c0b6ef5c46735f2511fe11c9cf84190a1f5f272ae5a19d65cdbc7569d891eed7ea94dbc764288cbb4317081f78388257f9dc33ec70c8f5f94a497c0616f129f427cf6af9e15d86702e2283c5146cffc6ee377e9f9dbcecdbb1cdee6b42e1fcf32a29073b4a7e3193a5fb17e27d00e39c661b9e37cc66baf770c6bb602beb508385dd479e513ec0274760f30b56efd10abe2c317e7a01806c9d75e60be8b20f94aa43a06ddd076663f414e4f8204c9e018e9667b89630981117e2266069c5e4d6ecaf00cd8ca491120f92e93c415e2f04699ac12b807f07766937b23d542211c8a0b6eb7f1d339dade3ba67b886bc3ef27c0f40cc7461f63d43a5c986fce1381c2f629baef9ffb46e68930819842b24a3a4cf0a32f88c0390f56e3f32a5abbfce273d93de4aab8c15a00beac91e717cf211fc6541cbdd39619cc37535dd69602fe3f7dd426ceb90c0fe402fb843a9e039c8b796fbfc77e3dc3d2467c59023787dcaf776d834f8a0f81d75a4cfc5acee87b30b16b8fc2983058ab4b85de52f4059d23388745af7d67fa6b3c0bafddd97cc7dd905d4ca8c0bb311dae5d3a1ae6a3f302ada033629057be9a083f52670f2de9883dd7ae51156b677ef28cf473e356f380d9278aa9dd80d3a159131bc83dcf4a7f992dd1b935b265faf3b290f36e2c73316fe2104e7af1bb18b29737ed57a8fd0dd823d88fe83b7af36e61f5f06c2467b3e0a8637f3e975e428e85d8b46169b40fb5ae87d72ce9b563e5628ec7494904ac4f1ebf63c8bb5a66cbc6a75306d48cf1910d94db2af6c18dfc652ff556ccc973ce5a7fd3eaa89583fe7c04494560ff03e60e18cccf874382bf013f8bb3535c6bbf893b5a4ddec9e11bb8ae067d6b636abff84e5ead95692ee6d3cbf0796202588eaeef90036554d7207df6e5be8fdbcd71ce22dfad15cc9fc00ce712e2c6a582ebef0fe72b178f4a739ed39736eef28f9e8b732587cfcac5a37689fab6c8e0a8fd481318433b78e1a7fe3bcf90786d347610a3eb62b0fd5ac2bc65e0ff487afe0ca4d37c93611e65b6333bb76d0cfb103ee6e9e2fcd8859cd1b730b729c803e4eddaa7904d38e205cd905dec9b5532c03364c8dedd92f393979d33d7c8682fe9ebef2b3c3af7b3bb897dcabf71e65dc77ac6327e1e6f9d06ffedb2cf238c38f6b021d8d4477286b7cf6fc7d71092d5384673595b9d3ccee48cbe46d42c0b0f6742ba9313cc9b33db85144d86b99ac9bc908b476114d3915a6cc29dbcf5b98d5ae999e4554cfcab9cd1a9ef88a44f64cb81fe84dac7729e5509cf517f34474f7d6796460ec96cad6c89b9ea70ccfcf1fdb463f684116e31276d2eaa90089fbe59161153d25b1cf3cfda33c3eaf7c3f86ce1bbb1053e4dc3d21ff1154f6bb5bf57fb133103397d2f02d725ca1767d4930fb1edb35643dc64e44b1f8ed99ac0383a90cd7cd3762bdbfff69afa26d613ad3f1316182bd18cf51ae6ff25b6bb79eff6dcedce94b1eddaacd75d30892ebe2bfc19fc7f71293df38ef611e4f4e01d06f3f1766c82fae1390b7a24077afc2eaca96be48a871779fba33101de1ad44e7f6eb6d8d8b15ed6e04e06bac4a8ff36e451bf7dd62b3da75f377dbc757896a339fa10d03b396216260fbfd542224dc663688fe5ef3f1cc7e733108f2360e0e0ecf46a581f86ef4480b30973bbd91f6909fc61cbd935c8d05e9ea59e2ba636c5d6017a2f12efef573825e01b781bef040e8d6b806395b13769e440dde3dcd1791e1ec67227b893adde37903b7abd6de403f8b893d92d72d593c49f41a75de5f33fcdde5b6e5cf51670ec0ccbb7f82a992d96c82f82967fe5087bbdb71dba6b205fa7cba5c36b6bfc5d3367c58a9a7f0eb0d74f6b24003f7f2b23fb752e419d2aa59515dd7ec5df5b7478a79bb68017bcf45c8c079578a5e874a23b198b891f0fd6f3e7d3981cadd2cfb3b2c1527f7877fa20e7833168dac27947cd3a3d148735a55c1ebe6be40be8f6c5ce250f9eab1f9a3aea34602528ba6c6a051ddaf340e2a6a023861c7d3373fa6241cc478fc35c773d57bc209b087de751e5432e47f9d647f5ee59ba334bc5c43f04d4ec1e50555393482570fb6736c8b5575c108b7f13e3592d708c674b3578b5c31b3d7780ff7ac96d7d40e7cf1bae66680330ae25b28f017bfbc87542f558dfa7b69318623782b9c4b1d7dc02fcafe7a8277cad06d8aa87ef4e424e5fc017cb4d0b993f37b86ceb31d706f89d602f2fb19e2531e23500dbba02defe9e2f14c921350e7924ab1ecfcd273f78067c4f4d9b2697dd23a42f3438b09763d8bde7d7effdedf0cb4f6d63ee1ce01d817e7fb663ba3a8af4cea8ea4e5ea62d3ef029f7887ee4d778cbbbf92bd76e4aa91d2e20a5d4ba8d196a1375507f42ad9b1c60e0b48ae3906c31a9d93548d538e4d864e35405e4953cf35b74dc54103f1b70523d7e968ffad5e4e8c9204f79a82b01a7c390b70ae90d98e7107f6e7d143bfe86b91f404758e26bf96a2e1cf53a72acf6da43cb8da83b7acbbbfa88b9042e842047361d1937f9be6f6ab1a7a7fe8c9c21ddff10b96ae6837c263e7ca3ba0fda34a0a68259e03cabdfc613ce5efadee8bdfd75686c9b3304645e0e58fadab707d71cdecc05535da0bf465563de8e515fcb0830468376b28617869ac66b139d95de0938b2b8f9e9aff834645e2b00e3c8e37c08abc129a3b35ba3d89be78845c065900721f1422126fe1d73f48cdeb59679a47b2d4f6192be98a3473f4ca7bb607d61f42e2ae1b92221e419929345b4c03cd921d27f7a6c379a23cc9bc0207bede93736c8757a986f311c8770f08ecf6b7eccbdf6575c37031fc190f373d097698769b2728cb394ccf3a5d7737bfd40c2781cec0b73cff78617e21c2433903f0d0705f0be79ae88f427a44796b2d3724df53c89c83642e3223bd34b23e72e3eb34f8077007031762d2437f44e4d9cb7b36d8b5d9f0742acddc636a4fc3ca46c227cd435f96abe9de0395b1dbe501b29d2359bdca35fd6c0c8bf42c847dc063a47236686fa0e6b63c8411dd45e0e752692b4fc6dcdbc5c270bf2029c8483b9473ac2da4272637f099cec2271f3f2d578fcbf5c471ec4ee1b9fb30d9c8a581601d67279f128ba0c38f61652d609ce386e89e7d7c6632031e261c3b135d2757c5748e0dc6eaf79b906aaabece06bdaf79198411e10e4b0d1b98ffef26deef393de74ff3fe2cd29fc241e60f089938ff12027e168773c773e33c2b1f6fb6e410ffeeff9c90739ae8d4f1ef3f38cf53195d8b87ed6d9c038973b09287dd6c56b1f783ce45cbcfa7c46ff0bceaa8bb450baba528aa9cca0f6419f9b5fe0ff05aaab6174f8aa25a32271bed37e8673f5358c23c2fa01609b8345f37f9d96e102eb0a0a93963ee6ee077d62b300acd1a489f5cf560b74065469f3fca96454147e66889e7fc63aae50c85c887103f7b490f914f3b1a3ff3961805d83bede50bf5ccc57355199b48ceef0cc3bea9767cc44fd659e745aea2619cb99b836c9d739e0db05f9f980815f3ce2c9d6f7947ee682b25e9e7f480f1ef3623567f63036c576795465985483fc5a58af37397fc323dad9b529daffbb8ea7ac97f938c78f579a9883d662bae3b52162bc29f37d6ef89df642529edef8168a35957e6c8c593ab275dd6abe69623c12e67a6c6c21bd081cebe4194dec8457689f697caa437f3d03f9c165c3b77cc0367e5a06f5ed2699e7786c5fa1366db0ab3c8c89ddb5d86f1fb88e3a3ffbc59df46365b7394b07329397d38b4b619f28e68cb1c500e99c9827f42e03ff4d55436eeb707e96cbc1fc0c72338d191e4356cc308f7956fab65e7b50eb10dfdbd8e29053e733fb3848bc3c60666448d90b8c0bb57bdf9d79becac7ef2c047d93385975d5f80800e37bc5cf4fcbbff55c647f70768ce478508fe3889b41cd74f0512fbe4a9f9991affcee684ed079b832715c00f3b141dcafd1235eeb7d927926e4bc8afb755f16508b05e7dde2ef98787ccd43ed75731c0b5ebc8e055bbf71bf12035d229618f6b2e36f7190cc761b9c0f8775a4a7bcc6d318db6aec63b4d61503e254e33138a44fbc7062e2552fae1daf29561bf320bef5ef36f5fba0bec4df7ed73d5a678283d63be0ec351c6bd3fe049d6fe5854f2fa3a1de19e69a670b88a53ab33ca867bb88a36f26876cd96a902786fda7383e9ad28a51698f788026c7a70e281a627f8651feecccb3f680fb294212fb4f866b0fb85ad8af478eeb2cc8f56c5c3f6cc4c3da703d37f94839f6cbef8c4a93f3ec6e61bfa0154cbe151fd9f67d6e22dd71952ea7f4967c25430a4d66e9223882cff2e0bb2ab3b51bbf0fe43065cbd5715f860d17a4e9d0978dab5fc3677f4db19d6827c9254a77d2f2b182dff4d778e1e07ce8f11fc9ecde7042aa01352b900d28f142293d70f04749cf45dfe920cbec8274b42067cb2e8fc0a8ae62e253726e5f42d7ce22c75e741ce0c4f87a2457d039ecc37b34f392ceb288fc7bef12d4d9e706727fab3960f7ef6182f41178f6c446b6ec883bb31b4f389ff6c5aacd65879a0e383f3b306609f80a393b6dfddb611d7fcbdc12d7c4e1e6ed7dc5da595e5caac786037ffa4417f5812f7fcb9e0b17e90c1c4bcb7cf38e994a7a47bdf61d7c7e0cf7cbb3cf1a3ff3117b2998e0ffc8c1fe0739d78ec11e8dc14acee8da07be3cd18c1c9108731b30f90101f99ff106fba21a398ed6c4600efe55ff3cb0f1360e8e5b77735ec75799697485a5be36c10f8afa252438efee453e07af15503b8a11ee2b4328dfc62b6a618f65991d37795b37cf55ef805de196fb0ec7c255c586b2f622a51751129602f0d62a7bbc97b5cefeede34bfba3cf659458a7fb6022ecd71cbaefebba4ea6c9ea3d76f02ffbe3613cff3ee0b21fdff8e6026afe37fa12a3eb0a81a36b6151a1fff7f27d7a111a392ce0ba2cc3fcae2e9712f5c706f9f97df6dc74efe5d6dea358a43ba40227ce04debe6c1cecc342f389e66c6b7c03af08f499d72741fd5dc09a809c69d49fef4330f92e7c57d90794d7f51be38d3aaebf32bc0f7208adde876031d567a34b7e44109318c586c9b5e3c11985cfea251d213dadad4b4a6059acb5350398981cd6d790dc96536249fbf74607be9396041c32c029d43ea75c3b7f9187dac87db88f9d9f0206b8889a73f58bf6eaf7fa23c417793b09b8ec30e42d908ceab476e6b9f8c05d1ed46dfdb7af62678e64f3aec538e0f361a4fb1e645e293dc09cef0b99ffa6cde4b50ea6b9384f0ec737e0fd539923906e80e4f56ced10b9982c4f8211a76b8768f2eb06bc196e35171cfc5e63ae8d10d965c9da9a9f908ea79be44c4cbcd883ba9b02b285867268e5bb11f0558df4435e41f28795b96531b836f347ef0a71272d72c472e3a862777e8eb89cbf71ecbfc1646f99b4dcf2e0d784397a25b71ecec16e3ead899d44bc9801ce93a3a1068ee764e07b6f6c8d56ffa565debe34797b8335a07fe37ce4e7b8fb26e965b5baf84adabcf26881d669a39f322c21b9e735c48b17cb275b11fb72e2382446dc26ec50575586d8fe0e0f1a071133dbf5f571ac4bd8e81dae519de55c043f82ef7439fd77892bd15865b8f6e60d709e6f6da0979c3d552c736993a77bc2fc7190e785f1605eb7a714b41e910e8a6cd613cc63266691ab66a6c3d69b897d43f316d669f1589f19d794b70f502b0be7799e820438dc5b19707f5ad3467c925355d02d55b6485b6db8d75a3bff13e99caf387e36cc6c612ced8541aab669631f4163fbb77a41b976954b3041fb4614ec25a9ac26ca331f1bb7bf6844cc6ac4d9b42d12fb1232ccf926734adbd66ded58a57f78c59fdde7f1040752f55cfd24e76401bf77fc1e15d1ff9f96e181b8ad26c23c389c6ba92e0bf01702ce8fad35573b85498acf0fecbffd86daa603df5478e8f7cbc0ffd87051b4b8a4f959318bcbce886f32e44d69b4907c9d3caa2a60bf1b5f8934f942fa5987339538efac1cbe4a3f296b85497f84acba084c7cf75d91f25da11018e12778e09bf513a256982a97eec24d32cb198ee7601fa6dde0f3f11e131299d38a9d93e5d2226dfa3ada4b48cf20945a28642ebda0f5a63d9dc1ad9dfb6f6cd214c977a4f367e151b7901ea6e5761e4cc40cf3e5621bbd3fbb84a67e620539bfbea3c61e15678d8d7601be86a13f88c99e6279e6f1dff8fbb4a9c2fc5a1372b4e6a24579827a3123993de062077b5fb86804ad5a4bda346c9d5dd55986b93a1a3d331fe3e3467821e0b4c1f9b96bea977b8e1a9ad35a4e6dd562757f8db9383e5abffc3ff07d22fb75e7bbaa1a503a1970566fcff1429bfb5c811fd488ebb5332f1accc7f09e3fe1a1f8ecf8341645bd033f461787a53d03720fe3c8a908f988f6d97726f16758dbde442cbc1cf292fb6be0dc522e1b57357c972537689c990afc6860a72c8a78d0fe05deb5c6f670e8da4856a60d3e09387756f9b2e7fb606620571abbb68a9c0ce932ffa4eeeaab3143ed76fd7f5a43b548066ddd48471b7341745889df38097a8c8eef8a75301172317ffaaec1ab8ab3ed443f85393d1130472c1b1ec52bd4527ec084bc5d27e3fac644eb135f9929d5fbc4d3ce27bec2ff37b522d329f8c4e19a2f5c1701afa39b02feea5b53e7ffeb2e19d5adbd4eedfce15aa52669b9c17e72a89dec2f701d658549cbe8d0b66515489f6bda42fd3a366d5580c78038bc4582ae86df03f56bd75d53a76504fdb2669251b1edf790db8f9f57a13e69772271a81607fefd3da83d1f094965ae0d31e8721d97fdfcb986506ae6e8de26ef4e47f7fdacdd33bda2ce814612f4862cc7cf388af1d62612d7247f9c7ad83ece69d58e76eee776ed1a62b476cec1307752e758c2b3fdc277a348c89edaee3871deddebbf7cae8fec2342b98bbff40d5fa31ef45faec92ed122fe8bdf9714ce73ca5ef55f0c8eda5d49f138bc7a07d3616f2fbf6ff248dadf34fba9ed864bf9fbd5734ddfd55f7e8fcfe697636d6e1d3209a8ead56f36b24157cbf7ef613b3056b8c60067a7bf8c09b4a598fefb7165ede269dc8ce54de61ee61fe488d83ce36c3eb713659e73563d178f91602ecb7767a700dc90d5455ececb4d5259f2b2e351d4e4e594560cff222f095a49fc8bcc0ab4caf8989f67097927dadad6fe98754cc8dca9b4994a94cc620dbc9b3d4f18d2dbb4010fa7d6d81193077e4ea2d12b976b5c8b1562d87a838bb416240535d3197635b8e780f414ab8db936fe747341a670ed52a0cd05415b936a3e1a3fca46b2388e38bad63bb93a8b902c3731ff64f2d037123dc74c709f509b9a5bcde1efa49a6b89970b76533786fda24db79a6b07fa736716c7177d56d7932f34e6778945e7515aacf21bfa5cb49fdb1c41c07738e7c06489deae60b53fd1a2f8dc99676ded10e83e455e0227aab8e36f27c36ceb7c37fe8ea5471b06ceabecc674c0c7a71fce22c4a9916ec87e15f21230d580e7ec6ac88e6bc8d7927bd6005b86ce27a47f24d55ae605648b894d5d850fb7c65ca8bfb503be39f20bec0f8c1f40df4d4bb3aeaec83e338cb4a9cf0eebc25edbc21fd3a44fabdcfb304d1a72ef0c67fab165aa6a6d697f3aeeb50cde619823750add6a1e31e3daf28dbfb982da5b079270a8391d660460712c884959e81ad81b415d11686f482e81d6b6f677ce6475b19c0dcee4419c5a983dd6967ecf3d0235b970ed6de0582f3057f8dfd309c82e4e7e08fbe71f34aad509d4c5720a3a81d5e534b638da3edfdb566781235e035ef9f39417dbe781106bfb1cad28eb53c238405c77d0a8b2e7dc009d5ee50ffabcfb8efb676407547d2d276da6769c65da0c72ee7fb30f065ceca86dcf4073ffae4ee5a866ff4d39f43c69b896fdb2f97fff6badeaa10fc733e22bb4dfac5199473a96f583b90efec65c9a5f357adfe0ded9d3f1f697facb2ff0a0b8fefd0013142de8813d4e54aba35602de618cc71cd4945dd29e2b1e9b78e85de6525a36c19f7a95b8655f53dfc5ed4426d9d6c4be4b66f92351e93cbc974564e3b88333d17e3636f1b93189b3620e9fa3d07d4deeb26aef8d1665e191cdbd54160d6cb203ae253f3d45465ae2d80170cf955efd0bc6e4717c7b1ea99b72080b89179e6aa8fe638c73c7a3f1c437d6703254d7b531cf94c3d7d5afdbfdb9af9a7a0e869e2a957a57a6ab44ecfe17920afd7f5f997baaf91efe178e0ff5d29ce505fbf8a38bc49f3bbb6795a7172bf517ca3d9daa4985e4f3d97375c277c5fbea3878e66ff50c1a5f26eabfcc083fc0d1cf8a9c765766ab85f79e4b891df08ab850cbabf80736dd605f0a9dbda32e3a8ee35a5968055a9741b2bf23fb04731786b7ded601997c68f03aa88d12b7a1757c1e48c6601bc7bb4bc62c97b93de6f960d241ed228cf95117fb42e63df4fb04d92a814952f83cad8e6b17c70b22ceaef59caeffa2ae7dd97163f35eb9457ba289b36fc08711affd649f20bd197c9387d7bfdb941d6f6aa190d939bd35e7093a5b85c329f11c3d15926ab276a0367da99be4444cfcc90377db14db3b592e71da6f5c1413a80572ace6faa0d6bc9878f1c618d77492dcf2041c117c580c78754e9231bb405c84017d01307c6b571bd78b6ac6243062d0f3a2047c4f9f5d8e36b2b7b91e23899f13d152e3b7124cf282f321a765c49e772e5a57fc48a758b45c011b260e04d0698452c855647bd542724b3aff34fabf9b7b744d94e19a58711cd610076c3e035741223322c642e2ff91bcac378e7d1732a27caa89d5e5238ab1cf010715e67182b92368df2c9bdaf1d3bd6e64f31d27a0b939000606cd8b63cf77bc728ac67c32a56f8cf59d20a9ea0e377a27170d176901f579fb716ceb9ee6628e9ec396d2a8a681887449e8e320b6d7e57007e439738d7dc3f13fbfad72c0f58cf302b9b808ef45bc6bf43b9913e73bce7beabf70548b6d6e25327ffee7b576974a535f376d709f2dde7a76dfb845b67389966f711f1d5a3ec6719de2c6073a93d939603cadd4d66d2b33740bf28907eff475426b53669615e868463585ba38ae87cea24f9faaae5ece966d9da3305733a89bc713e516e930c76a8efa05b99dbc780df210b7c7a785ccfb6f398b861c8848d6e1b3abc743ae4c0bcbc27a9f6c5c3d0b7396082642f2a87b0aae707ac254c07c5a0dbf8b6d98cc3ef10e74bc3697b977206a315768a586f54f44fcd7875cd331e45d2f30be1eeaab0206893d877575815cdb21fef3f81d475c0cf8bab5211e4453b8a1bdf78bbd90219d698b6b36c39e94183181dcfca4a443e04781da4b68cd42be8591a96bf358cd0557bb84147ad76a3eecaf4c299972f84ed7d412d9b987b5a92402c61b9fc2dcced11e546aa1893ba0fdbe4fbc5a28d0f79e4954c0c5d6f36481dd65dba26251761ce6eac9022c31799718e10fbe3e45f7c6117b2e5ca865bd84e70dc778c3eb44c82bd03f8d1312c9003c5d1d3498442117c6f7b08f63fd5b3fc478eda036711d6af45948b2f98e11a741429c7d938db78e7880f7c2dca6b695de4efd98fdd1f76786243c5edf274221e780bf9aef18e1205ada4db484eafdbd742cd00c1a03c895d8c05c2c2bef8ec73c40f374dcbf1e8fc5e92a4ff689dcc4d41406b541df239ef827ba03d2eb266a6b17e37dd3ead44847a8da7da39a5f558f2386fd8c71c4a6d5f94c570b64072878ef0176f7d6e900183bbcbcf7be52abc6f175d033272d5e186c09ac3b90d00f6ccb10031fe914c7c0e1ffce47aa2e00cfdcf8482d64cb4d305f628aec77d8ef7e6e131e05789b29d2fb8534ce3c47cfc2a382be5bacddf024e4502312fc20681f59772279b56e84a4fa5e1ba26da59589ce458f8a35cf15e3c055db5aaad73011cacd9d2c1bdd67bd766e23dd47629542e64e7480ed4bf45c0ee9fb9a9196f682b8ba4c89f45f716d357c80481f63bfdedbc5cb2cf00da242fb486aff37c9bece5ab23fadefa7cc21abd0e796673f233f9523516c6be1c737ca6467a4e85c3e6e0c01d69079785d87b6b7c3f5cca3e8d4b76dc3b0c638df81bf7e54dbcc47f6e592f8a53ef4806387d54a21f94a000f696a4d7ca09397a9efa8579fb36d2bcd46bccb1193d11ec5a2b9eeedf1c5f9b2aa33c0aff67646ac49dcf42c1b29f8b186b6f8cea88cb5410782119e247716ed18ab5618fa282f357a5b0b31d21f4513eded5b22d6c2879058b58a647fb24f56899029877d223398d747348519ba6e97c07513dd40d7a1f6d06734ee95f28b6dbe44e7e6cea8985faec982fcf558f8c690eb2e36e4e5add81915f79297ccf1d0d80d6c4e8c3f84319b7c971b573b098997804c30bf3e3db3baf671e4b290b829d27562a93e47521f6fcec524aea1fe4cdbc681406d642d17c7963a675bb350255eb884545cf847e07c2c9b1ca40fd388eb8e1711eecda056a9cc3e739235f8d34eb7ecfb47dce4a5777afa1de70056efc6c3372b42729b9814f021db4d4c6a9f98394d089c7d0926f671c3a0b3a68daf2809da3fdb0379783eafb5624b954d3f3abdfd5be67ab9b3ca851360a18dbe9f9251fd209b667584785f2133e248cebcd3553649dcf2e303d7fa86ca2e3ee4035a9781fed37177ca700634394b237c31e6f46cb8bb9bdf8904f3e4359ca6130178f35649afe7373e95baad89b1cace3570971955f79d6ba46570041fa2f3c42fc634756a58afb4dabcd416c7c80b6550035ea50ceb8a4467cfc817d3cdfdf4b6a6d8da9f60cc58489637b7cb1ffe2a8345535387db033f199af74d1d97327f8658e72a534ab82f877cd753c70764db86b978cc0f25ca0e03f67066ac329b7e88011c2407d995c4c9abd3e237ae0389b368b78e0fc82e0479c64d6909cbcb86af55295afb71552f4f21e8efd81f11316921e7fa35c8ad4f9c13b53f6d4ce2049ce077329178ef14b6738aecced60eedda9e779cae68fec33b19775c9a75dbb63ddf31ecf07bccd96a64c48617af51fd0d3803bd89f70a29d2b5719d1b8157b3d0b5910ccb043e2a226ebf6ffd66c20274f3d383ac28dab523d542d2d7a251dabcc51fe0feef301a808320052ebb089c52f8497c9079a8bdf7d82ed9b595ab416413b89db69ec2d23b6d98db1bbe35e58f7098c37af7ea1ea3a330e91faf9edd032e3bf8c6be92cce2b0ca15ece3342a776d7b23bcfb6aa29cecbafa048c3adaefaf6af718f150d6f43ec68550743556ac796beb7d029f542befc6effb307e1a7e5fa3ba747c1f36e89ca8af2dd7e3b31feb6d7f96c56a844121d79d7dcd4d715e66db2f5ea0910e2224af6a41954590412da61fdf054c50bda69af304e909dcbc548cf423a8cb9fd5a4e799427a9b0435dea2ec05f74a257103995077e7550975bf863efc7e2c2f9d1ca84186a279ec705a11d3f3328749f9037b9bd7833023402e82fd3facfb04dc6e2f64ed80b34573aaf2d9e7b83cbd9473ccad92cc31c79159b7f27f78e64ddbb1aed7f639ea6a570d79e870ed2a026a5221790db9c453e076022e1726268635ad46dcb447a244f6ccffaffd36bf3ec3c3002fb7c0f83834a648ff18f4b98f130efd13268b6b6bbeaa23fb77fb89f4a3c3704dcfe970b8d7b825c4993726d9ec33858e18e83f89fa1f8df4a73329d59d0e45ba46daad990dd40c5afe09ead93de4aac2a3ac53641067d85f491ce378f8b4957d7458a7c58a62e73b6edeced5279ccb79af538513029df5cf7b8557afe1f1897f02f38fb739297ff1ce412fefdafd7f1de961dc14adb7cb7a101f595153e03dc4679b457bf6f9e2229d058dd3a2baac265a5b4bedea4cf4667e67988bd7004c763f36cced26033657ac7d87fdd9b98039bb00de78c0ff162633b2c1cd825d0e7673ebcffc9d3b0cb8a87b5f61e7c34563738258da6b3da47ad043aaa11e02bef2a6ae5dd073c341ec109df5480636ba75cba54e34ba14de2b2e51823ef6c85bf7505761dbe8843223622e72c045e37dfc0feeed743c18b75e3ffabbf7f7fe5fcc41fee93bb88eb5e788b8ae3b4f143297a2f37021b3e140f6a6e5c6885d99118980ec724d9e74e0211f9ffc8b4cc11c51cf325c722cba9327dcb4dd4b8cd4f0434b4699ac0de1474372a39583231ed2e96593d34590ec1311cefbb4dc52f605d7de6e7db6dfe8bc2525acdffeea1bf5904d41bef06fdd0b07b5ed812f6ca03f26cb018737f0c10e6317c39cf729e4eff0e763c0d189e7dcb02ff9713e18888b1d7c47c3b5e8f973ee634ce35bde1119633103df2606e3f2f2dcfd8f02728e38450b72a04fa881621350671d781d20473e2d7d26be0066d5567231d9035641ce3b7fce1f1cf7d89f226676f21d36f55df12e99055e830cf6b7498cd871c2c830165682b1fe989f5bc871edbde0a89d712c482805c885447206d7409627fb7334892632f08012e7c815d1fb1c024acffcc519f4c090b289b56d5b7a424c1b7ff051e2b5724bc1bb7c6c8dfd4dee63801764fb6e383b869cef7b3193165f6598e09890dccb74025da71bb338e4bfcbadd1ec2b6e0e7c4c0f75643e5ff9b0569987b9f5706dbd0f73f22af69f8de3a78688ce8b78956767cf893279a2527e7d9e06ceedd3cbd9bb6f7a84cc7e0be641dc6c2de1eed991a170ec52e1327593b2138f888f1b2b5b6839bdb1a9eae259b1beb2b2ff1a6ea41a4b81309cecdba76c5e71d524488999e1902785d305cdf495ad99defd857a881cfdc374ed44218a8bc9176244904bcdf50f0a595c0c2763949c75ed83aa07664a58ac2a4644b6d49c48b597ecc4b0743622c885e14407635994de5d74b68e7eb653f1a01062e998aa619199671dbf93ede1bbf02dab0ad9820b96b3d826d9c2b0a25548669e792c348b28ee4e1aab11a79e57ae9ae854453ac74cf429e56e1dec44272dd47f69c3a675c4cd0e8199565e4eea11c7ba8a136f94cca20c2b24a35c3cdb6624ea4471724c910872f5bc32d924b059c223c2d93667a13fca41a30c2b2a23073efbf6243a7a7688ce303ee0e244e7d5a3e390dc265fd63e9f250ae9934eaa545bbbf0b4bcf21d76f957f71716574c3739eb197991e8a47d744cf588e6c77623716389fff56dedb6b16696e664a24e16372f8d262b2b3babae9f04b65da0f709d2cad50fdfa9b1cc08efae1a5b47a823aed22ce234f14d7185ded7397e6fb6a6fd5fef204ea35cbd286686da279d635a6d385db08e99e22ca7378f22666156988aa9c63629dc3c4bbb6d1ceb1e7145a21cecb3674787c8d1ea803ba73ab59ff9992afa9478f626baefb0c2cda3d26a6b7f9bc621ca9474467939b909d962a6ba996f93e2cd67e3d5caf14dc38992c05109c78e0d85530bc52d526359509e29da115bf0fab18875c29f7914c9a9afda73cebeb39c5d1d3b96b676e6058b2cb788ec387effecbf66a6db8a35b36c9345effbe12f6329ca97b5edeaa992573ffe3282f1d6f178cfd0fadda633d4bf83428a33ef2012c1b272ad3c3e28797cf2a899b4e16c0bed2f9b4d6f2657fc6c53f2c371e395be24a7a65be84a3a5bea262beaac55a3df1562f6e1df55d566d90ff3581cb7166999a62e6e0edad481f520a2f9dbd89938439fb759715eb9596211e2c95fc6c6d6615de3c0a63ae9af1d3bac02168dc7f721b07cd2bb8b9b2857cf0a9789062b901e11d92b2bbb18473fd509efe6a0f921d35a3faabeb260292785dfcf5bfe3b096cffe45168ffe867fda8a636e97fb4fb17ad3f9db527e6a45095945c6826ab6ac4b2322d34dfcbda3ed88e4e558493c52a1a3fcd8c5434fe4e1a3b30ff6e7cd85a19da1f4e90b3aebac8c44d2a7e2079d1ef0f71e91d5427727424af62fb6eff3859b40939f11c2cbe371691fe584b65b6419f79b4bec4d24e6369c389173327913c222cae9844595a077ce62bc7b884cfb97277f299e653735af8fbb91e434e927a1813c776d0acc1e8defa73f52d067ffa274866570f725afcd8cbab6c3dd1e8c7ef56494cac9de949c8e924a4ec3ac23a4a82b9f647dfd111937e440b22d196dfa33684a42276cef4027935104bbb9dded532088fff2456559e5ec60cb829fd86eb1cf2ee20f72e6d7e5f10748fe9f3721f723d967470248ace5786fdb2176961dd71bdf9bf577bafafcbd0e44ad8839ad3bc560ae3bc8b44e6cf8ddddfe8b9bc76f128fa0cf5876d31f379fb807496b5dbc4f79a9a6de08f77a627f520d4ff2eb745bd068e5804b96df88e4e7a14d231c8414e8afefff49d438abd6c5cbdd8e6b61de6b7c75ac1f5daa0b71263d50a5f85619dfe57e28a38ca59c8bd09797dee732ce1b915e51dd5439867b78849af1b874076d4d52167e17621dc64bb9aaa84bbd83313f69a11579fcacec84e95c9e9c921a71fae5116ab843e064655aced329113a1149279e2a2f13aaa31d433768bcc76c5f2653d5386cd065890d8cb69325a1449c0b1974d2dbc8e6d71b8a6930c7608716af228dfd78181baca7ab65dd2b9c4d981c212c53a21aa9d81f4c0814f6931e040030e43f52471cb364ff5f2025b7e5f3b33d4deb03ee125e2ec7bc4c477c99c279e235e2357fbf0f22a0ef232591df5bf83bfa0d4fbbec58852ab8557bc88858c794c798d8e98672e3399b37e246efa274c6242320b02f0c67f9b0f73f44c628c630d29a58f75538a915eac895efb0e7b5e51c37c8065df1e3585b87cbb1f831aea60d112f0cce1da872d4e13ae43b606d880f175c7df1221498183b7ad6d37ac3536a83f0a364d64929943a5f463cd17dfc802852523c0921bb31df0741bc33c5bebe202f71a71018c8449a26776df6d1ccce1bc76a6657f3f5e5fc111cd4145ca190d3508e43cc33c02bc42438c65f07d84ec93a37d8b16243968bf91cb4a192cc8c035aa1bc6400fc7d303f9fdfc5e432ce1183387ec908069f8875fd82803eeb51ff14e24627dae215fa10e13710239019933d1a33676184ea20273b075e70529b9e78387645c7f9e7c6c1cefd4d6b958bb56e101ef6ff989c6cd7375224ca046141a9738e275e0549333fa0072c9f0f2b0ed33b34fd60c1b6884fe6d2fd94048ce83ebc6f5c85c960c5d737af5eb5be2da64e49ad3b9609f17fa92b534bbfc0fd485cbc8688de4076f0dc60cd9cf0af81cfbe7026f0739ac95f384b5abdfd47a34e7894bb144c443fd98aef61a8ef9c599649737d784d8d4a5b9ae581dbf5afb34eece8efbb290ccd309f529987c9d006b6a2c6f32df5d5b635c3ce697f126d57cdcfff4b31df7c179766b7d7961129330a7cd1ad852988f7a635405b2dfc3a34886bcf681c6c51be47487f7a204bc24b6f13f4206d9f5981b3d48aa663fe8f7d55129014f0af9abfa0377543a900de37adbc35cc988c906b9d8fb58312a6250a39e18efa779b53a823e80bebb0c7d5243beaca0de3739befbcf88e9f96d873ef1711db9aebdfb86cbf28869eb6db718a2258d74099cfbbf84d85e3ba62b0ade13f20370ff6fa7f030add6683d346313de8153e4076ad683dc99276b669e4893e6b351266bc040e03a4b9d6c6180bbea0fe491635e9242e6a036ca4972871894ef78cc99b88c2366369c63e0281b8d2503fe912cc8d1f95b3dfe06df431ecb68fc09343f9904b8c55bac30198d73eff1bc0d64e2c3bb42ed27cc8d0ef5f5cb137a7ecf4730c423cc93a6bed4c3ef6dfdc7af4432dbf1841a091817580bff81313a14849cc33aff2324f3ff34e306fd69e703e984ebc3723cae0c5b0f7400f48e953cb8675d8b61d0ccd18a5a62fe076e8ee6e1b7bc0ad00fbbb36ce87744f398c497b57b6ecf970fa46f77b52479a58c4cf2220367901d07268deb07df5bbe7c85161201c95f34f6b7b5331df4758931b5497776fd11a0bed757b2cafbebd05cc89c07f8d4112f1ece25ced7b03eed69c4ea854795e81cfa407ac7789fb7f5fa469ca2808304dc775d229b08e7423b37f4cee4dab5e73baea987cedd68ccaf0a758f7a3e3b47f97c3ceb24f74ccab97d06ac4caec711b704de558ce544e3213ed43af3babe499c567a06d2adbeca10c991c317d2b31fde853835ef4176b11d933cac1ecf062643e75c1638192131d8ef27240dd741d73ffbe233f81c42f3e7635e6d388306f71e028ebefb06f8c047754c5fbc7bbe3696157ed729da678780636bcf85df3b2cd1c3f76578273fa3dcae432abb068753a218d31bea2bc6456517ff5ed4726e2319085c4950a3ccd639d9dc273bc0a23475299cea1ae4c075787ff88e0e13ccc3e2736c195033340e94c497c97a129f0346f8d8925807581d557a8773c70ff251cc42ae8a3dca3ac13e4d6ec9fa3e4d8047cdf0727f902b009ca26ff59f610ed6199da90dcf4c1b9bf47209e9dd465a464806f278ac5747581b67c068425d7a748eead8070067b055ac72951ef98beb41fd2967f43ddb7fff1a6fd4d6791c73f8a910a76f6dec616c0c7049ee19eba06601f971509789da3f73f100061f626e97161fd161b3467c01fb24006c167b0fa9ec0875a379fd0a1c634d1d19c1e8b012c41ab759229b097ce88fbaefe25c34b1beeeb932b6092e4d4ed5936e2dd5f1657d5f7e280c92b9f1434c4cebfb0f7501b01fc4a3aa6b48bdaafd836d628cc3f6f206c3d6e8c268bc701f7c5ca302bf03eccb7db17389075c63dad6936de205d3d3ca5cfee287796d3f0587f3a5f34d20bdc1851cdca6cdbfe464cee45435ad1ad6ffc222958befaa07e0d6189c4df89aae86f35bee4cb42e9405f11afbc574f8238c0147e79265d7614ed71223ee355235e5dcbe7b147bf39daf7dd8f26ab8cade73a6fbbe4ded2224635c88cc4d69abe3c4b15aec5c872309eec459011f0d3a7f52f41bc6055174ea5b2c212dbe8a555dfe04f7aa5ed5299adf13f08a633e9f4540e999e6429d97624d2d7fd6aef69fb5b9ccc5a3365f9b4ab5e36f957208e9b5abcf778b2f1ab8ca8ee81a6d8ad6c17a4190eaa49a2b0dd779b498d2ea62dfdc6f4dc4c4235493a03748cf676fa0a78d6ab69b5e21d5c25e389c6e6ba8d5e5554d3d00b80f72078c98581f884a39c4f3dd4223d179b8e36fb3f6f7c767eef80a5d4fa9681d2f6ef4cafc9eef78d4e774d2f4b9520e4281f41097117eba31c3e3f0f1f8d9334a5ab8fce7cfd51086f1457a945781d6d1a49a233b05cdf7da3dd3803f1daf2f64f7123b23be00bef27ff4073ee66c0d7984d583452a77aff44c82500e29b132bd897248c99ea7727a520f5e21a722e9e77e1626d51df4f789380b79fd8ac650cec9bbd67c5e4d945c3c3675cb72743ed1671b701ef67dfd7b7e5da3eb5bfff18cf13ec1b5057aac2bde17f61de3f5f46b507f9f3d67361378310e72fd1a18dfc916b83707183427058ec28052ede0a8c67e6ee1bc32c0d54e6f18fb68fd27a8079863dea295c5995ca3fd6e947450674d2d8ce639768353a8e34b7bae48bc5546c6f98aecc48667feed3d52e3777957ff6768a78509c641da5c76d8d44f7a0a21714d7d231c9b1dacbf190d3ce02fc71dc9ffd7679645d987c815b3c198b6f55bf77ec7cf00765011d6df9760a2edc3897d039d9c6b3922e12cd87b47f11a4dd42c4c666190411eee02cd6fe058a5b0f4915d9707933df0651ace8cf05df1e2bbda5e477de6e81a3d53319709d4ac6971a04dfe7090ec49c0aa24fb9902f96aaf7d810d3ef5177e2a8b7e55bba05b3fae0eb801ccf9302d222eae8349b887d8feb291e1902ffe663c9878e21bdfb147a959c86bfb90b7cb80f9ae7d97257d5725c23a4d461ccaa85d6e86def7bec1b9b353e0a0073f751c2b908bb2af555c4b135d532b07adb92eecaf3b5854933f0bfa0df04699ca545de0fb574c773fa99802e6bd5f686fc771e0532514b02170de3d3c13f7b35a2dbc36c777aadc15f049420e8df12b07c028b73f32c93b9a97f544f8d8403ef04b9cc65cb90f78a491adc1213bf146409c88538027f86fbc0bb9ea72cbf743de0218df8d39c8e967aafbb0aec6dfcf19b64aafae4a640bf9497592398d56988a823aa15cc30173276265f12c1384512de45f750876cb7f67de44cf7ce63b16b821fe261dd99b5b63a83f9124d217bce1589ae4a1d7a9aa74ed6a65b8403a3e604e66985764cc99ee3dc4097c743de7d121d41ccccebe439311134f90ac9779efcf1678c08bdb989b7c3e8aa7f906791ad631efeb6790a71d5f5dd60774c65797f5e27bbee3885cccadb3bf98d2013ff2d54c46399375e36b82670d7cd54b7c26f807f2eebbbab541bad6c426243e2cdfc5fb228638a13e8ef6ae49df256e5a06f8b75432d28fe048c0b3c6dcfed6039788d7c59c642eccc5a3d58cd1e9f4301fb7075fd4f4f1fd903ee8e27a36605b8ff74f7568ed8c0dcc51e32f6c7d6f0b825e3b5e3f2e9c70da34dc34c120bee35155e6b9623f4e1cdaf7efe63b3d6d98de2f2a8c9f856cdc7cedaa59c442ad856be46aa7a8ae005714f2e420a644c698e3f9769379e1142429ba17eda318ebbb987f58e66eb484f615dab36c146f5c2dd938d37d90a47f36461c4bdcf41238ecd4a6d802fc4a0be0f6f90898eab8364422ccd902ea02d6621120f95f43fbfdf7f7e22819d51474b35ccd82c5e3b93af4637ab9d8e4ac0fc625873c43f3ab8c4cf2b47614da3f907d1d397e7ff1f30ad99e6febef0fb942fc037d5ba5d609cd3de4fbf0efb8539ef5c3b14c061becfed6061bf1e740ae64c3f190d63d7fce17f0c0e01a6ecbbbc2b43c0f4ba2e11d69383cbeda1c4da477b6399a04e445034ff2fef44b5da5cf1d5edbe09b5b9be4d05ebb34e7f601c9d7d544a3a1761ef3643f0ed75581f3c9b1cf5fe2147ae0ebfe8f62a425e4b31ad51df8e7718dde8b645487060f78457b5ead2b521a63f66f50bba2aba9fe7596cdb2f0808f530f429618f2105fc04f323e536eefceafc77953ccaf7ac5bcb30b463c3dc4884b0562a3cb860350aba5710d9a02f33c54f7c1782511f833fd02fc19431f2b2b667e5e65de44cbc57cfe67dcc7940eeec5c877bb317f3933b9398dfd875ac3c13d6fd75fb17685535057a3ba131bcca3f5a7f9dbfa162ed2204767e712e5c6c07514c349358f98ec412f7c357e0f63ed4605d289a37ac60513f10c5c81eff6cb782e61bcd585f2b7f4ab95f9c46ff336260f9c3a8b5f78a75ef6e3a5be3cf0073f71b80efcbc1ad81dd8bfe36711a79e409769fc3ffa925675373ef8ee375cbf76aca7ef7683f8ff88e7c4446712d823c4ced8bf5f6bbc9a059cf7076a7b1db0bf4732cbf8f1ac169c91fddbbfdfcb9c6905ce09dfa8eab521b6b8a6e63b2f1fe564e7d945601bee2da6baae0d91db385566e5182fdbd46ccbc54464028e4ebacf0f9c180fb9c4386e9f57572fb9c50a3fe21a1d7274d312e8a944a2e7741d58d837dff4bd581b0dc7a4d5daed708e65781fa545cb9bfd1bafa4cc3c711f4e3bfec4e4f68287512d3d87bcf98efeba8d475eca176d0cf9179fef55ea5fef1df06a8eef7de6dd7cf5fb8873d3a8c836d7bde509c5f526b22c9a54f3f77c7016f83f7ace9fb88b558ffdd0fab5f5d7f55c4d29c6d18ce5efa1c7f6741cd60f368107399943ff9f64dcae0e398b65f77493cd2c940d25150def2825e5c5cde8fd8e9f453295b6d89a4cfaddae1003243fb92c15b8617dc66fb4a61a4cbbb0f7f32c0b386d8fe3ab4231e61379acaf3ab61d82f1faeef31a47f13b888564034e8f0cd78019e9c2b711678f7bc679a88f7baec741f5f1e7b6bfc733e497ae8e031dd5d5ba7ca58827e961ad8530f120b7ce9a64672fa74b7920235cf37dada01de814a3be37f52cb00c0d1cf6067588805ba8abbb74f593effcb7f84ca32735b219ea25610c24e497a765933ff8d1c64736aedaf2c065924967bfe233260f310f8cff2a7dbbac5cc04c34f93f66918989dfad7da8b339892e162f5e43ceae231ed7f90e716ef93b4e9937ef6107114b0cdee5a1c61833f0ede33a867648d9e990e334cce9f3c685ba3b199621f1ab75ff1df010a39a09f05703fc475b3bd176d5cc5f1048460fe7307de043c03e4cf0776577df78194bcbe49cbe041c1dfb4f768476c2583d950c78f0cbc0b50d57f5a36d80e6a8fd0d722f1eec446ab437300fcce8cc023c2f33aee78579ead9546bd74977a6601df8319edbc641d0dec2b97743bc49978f771bd4afc063ef0cce1f03e66e1671b6d2d52a9d0cf505e0447d791ff03530b32472fcdc77c5d1daf0eb17f5ba066b64a8c3b85476d9b83a83e6fa99ef028fe16ad25e0b6d88419e115077c19cbfc9cdb6fe3431b39d97d3e916eaa06ab46f165731f1414f78ae4f36f86c01c6a9588f9f0bf7ad1debc333bc7ca00f8ccf9c3cbb5b83cf26e50177e9a83f16d49b5e7aae1ea3f682c4cb5fe5ebfc8b3e5a480e233d7018d741bab998f8576443611f6d9a8b29ea3beb6c1c7bf297cfe1b54232db9ce8f61dc6e7f6da416bb25d0f42d1cfef70ce602fc0384aecb98dbdc23e6f740ea6594f9164a41f9007fbc023fe77c664c757249ccf26fdcb33043ac0beb1d13536674fa305990db860479c9583716d6d9f376d10899054cddaeff2d45acea997796843dd638ccba39fda09dfb4233322d45a9227dfa507be53d025eebeabd12dfee1b1bf580feee2cccdfc8a6540094d3dd17ff07cfe79cfc8475c1f71954f73317bc5d7351ee38dab6afd671be97799d4c7c1bbfc3e2c9ff6498f73c36386f45674762219d8e045ae5b869c4493f08ccef3c020c9306fb12276fa728c20f607fcdeadfc42e3f17816b4589a539b1bdcd6cb1ae8aa9867e7796c077cd6df7540914508f57eec7b405594dfe6f78de6287dd1d6787fbc3b7f438a2ea3dcc23c944b78fec919cb8ef1b99301e61a9defa37e0ce4deebf80c5a1313bbf499263e9343adb5de8637bea11d8163ef0207fd18c564fa331ccee36bc0fb99c4bd971bb0d7588ca768c6251ebdc75fd5917c2d1bfe6c1abc04da972ffbc4ff327649fad1f425813e33c80688b3208929883537f74658d63cfa34dbfce53248aa7aedec3b5e0f34f76132aaf7f3343f789d0c7401937cf17bf5bb5e02312cd0c9be4312ce4e748695c1abe78dc7edafd6f46f39f62de7ddc0064e9be792239cfdc06708180c6571ae475c1613e147aab38b3311a301f7708ef68346c57198aa50830af371bccedf16928cfe8b396eb0b4a36b06eb7c6ceb753c38b97a8d9c2a15b8d93562be41e71396bd3e20709023bcf75c658f6be88d6cbc977bfa85ae8374d8189df7cd6f79d7af5f6c255c5715cfb764cc880d675f24763eb00166ff0d29faf2c4d9d4e38dfa75cdec0bf9a89f7c677a020eca647603198be42a5ca7d2fe98ebb4b3775e7173f92679c0981b8d0eb0eedce5bd60f94cc6217bce5cf3fcf099bcaca9e98f90dcf64272063cb7cc790f3a9b9e059c4df8e693efafe5c0d937ef7ff6dcefc0032c3cf9a29d281befe787585df70e789c20277da0c3215bd4a1eca8adbbfbdc7e1cffe69fecfbf8056d8f6dc1f404fd8673cd7bc4eb3df51bfb2887fd823c9468eddc806fefb96f9d3dfbc4c13ee64f9f0287efa0afc55ff51be24fb9d5e1d8daf1c3fd9a453237ed6cd4e77e41aec9bb733b70cda7f17b6b27b73ede2687e1d2d441005fc8cea8f207ddb4e5cbf83f7936d8af4dfe4384f9a2cb106c70a27cdc473d37c7ebb305f2739eecb337fe883e0e82f187ecf922f37af4f0ee359235e37ed86f7d350fe3d473de357b7a6b928190eaacb9b42de04e4c23d666d0df98d52c0de9b86b8bd54593989948d7b396b409bf67dfb6cd880fb947c238a69554b5cccd814b2de2abf97642140dc744634f7ff7f59fc196145accd405cb57fbee3bda58f779e009d49c0ae4fad668e47b92b63c856498df68df80bfad4c3d84b99de21aaf6c19dec90cd765855c94c273aa3be0f55b7e884935973af9d17246e0f311fb623a1dbd68fd44724e6611175f012bd0fecf74bfa1b310f5e91c507a5b33e08271b46c896cc9f67f99a3e73b8c8102cef5a16d073c8177a837077a81e1cc0aa84b39b6fb6f1d475b7b56b86239f2350e75ce8771683071196074b92c0e7875be6b71ba8fdf33e2dd73c84c76e87ae344459008a5e00ec6b17eb627d03b3c7ed7e849b9349c833a2d7a1964131b8e4ed7467c811864f379c73f8c3d5fcddb750c5c7d47fd6a435df2d6579b96db61ce272f809f7a3d113e82a43b7f618ef073e8d477abf9f0fb1d8f39df9fe610b89ff1ff5dbf8e6ae153b33868d7c151cc90fd10822d8f716e1223f2baad614ec7e639beab9f024a47e32be816bb140e04dde01cba7747b65a50ffeaeb66b00d003a501c7080074b316fdf377a26c6a92ded6f7d84df42bad0b3df48e2e6c55b7c4bab570e74ac079f39cec735309f14b22745e075fec53f3bae890c71b707ae53cc7fda719b0ef280193a946afa2833c25e68f8cac75ca76faffd1ce4369d201f82021e2f715caf5728e4f73cbd5774fe43ae05af8f7c7651dd9df9f31d13130d66b6d509d1b9420b7d1dc3cece0f277a1cf1f6206f1dfcf8fdf777e1a62c0a02722bd05957b7fb82fe69d74d77ed81a895c5572e1e1fbe5f2837a55ba74d3bd82ea185f16788cd450b9a78b8ee434869f9853f06af0dce1bf30675ef6dd7c18224e02fdabf89d0eec3dd06c9b7259c1bc02de63deab214ce2179872bc1cf153a5e58385b1efc32204379029daf5dfceae13985cc757ea8073f5e5a46f5bfe8131f3ef817d03ed3caeda419cf7b319e87baba471c4b44ae0abec7d5c3dc817dce54ddd8aef2569e3e9c61755aa2b3a0bd1ffdbf035b217ce7876ff528902f511d37b2efdcf447f9509887be2542b21bd97b56e3df2292e61989ccd974836b61d776795716cb52b97fd5325a83f5edae2c42f479ea9ae709c84c2eab7d477daca3d9f109cb26e4edb04d6ec9d4a43ce0671deb0f621ce4d1802b356b6af56bfb761c050e6cd667fc2a1fb635af3fdb6b57476dc827f5197074eb07fbf05d12ea8746cc6c691224bbe5d42ce4e137a4033c7e87e3e614c609c8a9be362d7bea51f60d74cae3286efefcfbabbac89d4d61df438a3d020ea13d4b71ee3ad1739a7698df4eeea377f4a8920e706ed6613379f92e231b60e0cb45ba561c71d6a919ebd175e0f7787c87a77d4da33ed491a312684d3e3f7b3692ab5b26ce1e6a50fd1aab0a932a6ed7f6a659db5e82db687005dd592e267ed19fe3b3d8cb310e7ae0038c1bdfd98bf7427aaa780d8f7a06f55e5236092622d18c0bc4e05afc025ea3b16a2e6322e2bf8df63c1ee9d9bc85f6e45dce713b1293d1613dbb067975f51cedf5dec5b8197a205b7e912bbfc89424ced62ef6ad6b4e555ab97d47e76148d94227d3996cbe6384446ef501ce2bfd87b3363cd061909dc388f98e06e76e77b6cb6455afc9ea22d7ef790bc6b8da5ea75841ee3ee40b75b1f0072e90615d9a814e70423a01d28fcf1233d60170ed3e92c6b1b88c5e5153ac4f1b62edbbea2da06677cce70bb894fb7aa2802fae191bdb4a6f1f4132f0a737f53d1c86ece65886fbbb1c8feba86de355bbd607d466ef9e0fe7ef6798c4ad9cbeca504b8728ff3fdadeac3d55e5791bfe40fb60016a22871165c6899933814410507650193efd7b757583e09095fdfb3fefc1ba9661687aacaeaaaeba6f3c3ff01abff729b9fad3b3e295e76c47fe48fe9644e04f4e83d166ef41bca89500b7885e21dd02d9013806f4debfca2c4ecf6c3603ed090c5befea9bbe29095eb4b32bb43e7af5c5f3fb557d9fc8a253bbb63c1b6cd719ac53e22fefd5b9f4ecf169a7b73af6a6d8113b11f288d11866cb22b4b729e8dc767267f3687f827a32da39dbd366789d958c8f3709fc865897dfe9773667ed668aa85d4226a5768b3b9b4b5f548a5ec6bd7903b8de1067256a999c4d49eeac9c06a3d9d53f2e31bfbb41c52ef89a316ffb6d9fff89db06ed0ff86cc96cf38f1644578bbbd80a28ef26035dd467c0efe6dae5c5b5b7c9d6f150fdb59db3a43c7b92a2f17541d621bdd5cc5551bbf80c3e6fff7430efb6cb44b007df8feb12f4590de73a8ba9816492a7bb59ff9b41669dfd9197feedbb5f7a82e65003311d83d8ec64784e4a38d277fa400723b9d4fb4b20b0c5a7ede53ece3147720ce3728a38e78df09eb09fc8febe719eb05e5ca56adaad1bd66dff26e3b676704e8b7ef32b64e8ef6e2ce6744cfe6ed73a1b029602894d74225611cf48bf38219bb5e30d13c66d9dfa752f00e3362675e7921bef39e444e232319f3e6ecfed59b44ff774f878d2c9f9bbfa5e7aed457a82dec92583dc236dbfcb61a57e8ed9fc5dbc28d6cf24b00f867ba5d4e7ae201859743a8cf1983ec68313ec6ec0afc5792c37df723ffe428fca6e8f3dd09735b338055cf21670d509c73a6d300ffc817ef73336f18c3c5385c9d513acafd5f1a308049edacd73dfd10163e4e03a68af498a36977a95b1be7fcb0f3a6b16d5dd0b9afcaa0a80355f77f97a1c5501768c5ee5012d5ffdd1e60ddb89d20d3b5ea8d230b38ad5b17f6d9907d992f605bec63ef1b2e35a7886931fc613523ed8b08c7a9c4501d8bd930bb295ed910b58368e41432ebf9a4d88efab024c07883302ff787b1ef080737b3b0fc0e71990270c7d689d19f0355b54816305511f2fc037ead9f435cc9ee479eb8f75540cf6e19a7a5c96389e27c2dfd0cb4a31f2ffa52e80ffdcf6a50b3981f27d5fe69fccfed2de5bdb16ab0a7c160a56fdf439dba33c47623db43f8acfcb42d7a11c71760d469bc73c7fc0094236147a06e9d51ff778e40dc688a86264cbecee31a719d43e9ec5b90afb28a87bf868435cc5b342ecb2171882ed9cc864dc47d1daa0db6bf927993fe03b8cf1d8380d9ac72eee77a79a2a2279a6a173f41bae83bfc5bdec9ca5e6d97cb6363ee01d5c560feba7875fbd363edebd215e7caad418f31ef30bf6bfff01757399b4764756e13a12e62034ce68df8e76239a2579b28c9aa58d81e4fb818a34ae62daf3118c797586b6868b2a756d97959c5b9d55dc16caccd86b38a7a2de5a63fd5b0ee7717dcb0960d45bfbdf1f7292206727c8e4a3db61d2cbb1c7743c147a7454f4eaa466728afa05f65c6e127b80bb6c3efb46e1cda7fd718d1ec7d5baf9afbb71b5a65f62bfef64243b3adcf8304e0a1f30e9805b12d6cf7d8e0b70788fa41e4e7375528fb3b6cee5d3fa5a67cae96142b948260dee25ef7eec663ed7e6e2b6edac80537cf0ac4147ed1c5585058c99eba0f5347d36cf00a300cd836d96d6480f40b2d8afa1ce687d667206fb7413debe5db8c0294cf0bcf0d9cf159ee7f6391e272c23806385fcee72eae34ed6a27590af8e1e0be7a0b8ff87f98d7a1b57fa0356de6d6ddeb0c7e704df463073c5d900af0f99f350562f8e7d81e69aa3038751d33e8f7dc4808b7df220b705e726420c709b6b87e67966e62b067366c279d1ab18f51ed7be9959c7ad1395fd6f7ee9381e9c9c2f749c6dde2da7fd277cc87e7bb00d9352a0db43acaf83f320c339fd7ef3b3e470f6138c9691c758ec7f6dc32663afbe6045fef3ef907c0af24c0ce738848b27cd1ee39b3beccc5e7ec084f66d397dd10e28df385a6737b3b03fe8bf8e018913fd610cba78c9bb31e8e2ab91bd45e4d420e6fa2ede13d5f7e11d6531e0967f12df36f8660ab8ad3d1e56d4272d7e229aaf9f2332bf6fb97a0fef0016eeddb5818fd8a9a69e3ef97246f89a43b3d32ff1cc0237cf70ff655777be32c09224e3121c6fb9a36e1de5b0b68732f2a23867ca6626e1dab67c3f253e8b5ecea9e7d0f7b19d47cf79c47e19f0f490f303923350f807aa5c3163d4a66e4ff5e3e2bb979797a23a106c54ea4b2ca39b7cdd14419ce49fa3cd0d93b6c72702b1423d1cab50a4401e0ee21605fe09e6c1800f89f8ce719edc8d17c57ce0456973d43ceb7c71885e03f82bc8c6ede220a41e2731cec1bcab27f0ebded713f8099ec5d8dcfaf672dfb72d5f46af6fcf9a71ae914ed2610eda961fa4d47bd7a7c2b8f0eb14eda7179b614372a67459db13dfa769b6879fe17bd6b9762c8a60b254f773e1ec3a3ff0600a5d6c72cb9392aa1867e9a1ed37be97bfc6d1b476d9b53dab68fbc2d3cb48bbc54491388f27fd9c5949682fd3677dddfa0835e02c7ace4b1520db6d34f8f65b38ff4f3123e4bc2b6d406fe3dccc3f221d55baf1c8118c8f20467a05892b393e690bb209c5ff1f625908b695eb6c5bbd227d32fea0ebfe3f8a67e9c7f09067b16e827d4bc80691ee62889680fff60a030dd9e3e17cd80783bc2becdbedc54011feadc1ba9fb67c4729ac15b4070eb9c3aece4f18c2a2d4d78b3a5f72d0d09122dee789b538aa90c381e37a440d74dc9d1ed5ca1d673aac351ac7d229a2ec7b1645fa0acd0bb65430be498bf5daf4724eebaf368eb9e5cb715abce07b9ce3e5f4eb15273cc613eee4a88f73e252c5d9dc62b1faf34fa406381c5897b8ddefbe3b9c633d6ea1567e99f9970375e8f214d15a2231af4feafb4cafc1ef11bde33fe429a6ac2a3ce06e52b79cab6e7ef763cd7be7121023d98fbb7bb5d7508a80f664aaf0e30ac607f670f1fe6cec714ef829cc89177871b4ef7479486d7ff6e55c59615c03d0bd00bbb93747af3663851d0e8a30051c14c8dbc773a2e89de99d5c67b90e9909d2a94acf91a94fe73e77b41ae2107078febccce37ee466a0c027737c2ecbc19f70ec78a9fa76677a875738e4c4cc6efd015811f1ec1cc2b9839c027661979f99dcedcd675615a66dfc1af0cd111f11a5080bc01bf7eb49cb973cfd12a5c2059e316dbaebe9466e7dd38dfc399ddbcc3254c50fd6e77a71489cc44a24ef40d2a3723dffc87bbec5423d2e6917b53dde97aaf8713bd302aeeff2128c2cc8d152b8e23be0aae286d39700871af80eea20961b8addf145e980bf6acfeeb81b87a6ca5195029cb11897db4fcf197e6ee27b29d80a27554476dc40a760313e9355ef6cbed839f993b11b62367c89d5fb975e456b47bab49c4e5f6275c5fae24b2eade8e73166c9796bcbd96cee778eb6dfd9a037e41e27b558fda8efd2007211efe3038667553d8c4292070c785879973f1cdfce6e5d1de40092198d1cbbd14e9f509eb3a490bcfffddcf4229f7bf50d13381ad7baf41d3437ac10c9a06bc0725af0c7db99a8c60631d2e5a299c798678cc314e50135898c383a280ed26fc12f015cc5c071fbbbbe6dcb7cecdb91f9bdd6a5776941479f1c8d9e61a5f84cb0a6bcc267d81a7de70bb83b25c0d273edf4427c10bdfeeaddfb398ffb4acefdf6edf392903692d0c574c48a71a695868a57f56ce13374b4b3c7a84e35f0eada7cee1f69380f46322714f62de744373f8298e84bbfac07e86ecfc64f2f58e950ec4df0f753b1826c3cd0f3c8f7014304b031dbdcf8576ba0ffec251458cb5a2c5b7bfac7b9ec8f66e4bca37bff8731ec9e21fdf5f29b2705d99319c42bacfdac9a402e0469af2e6ea960c15e7c11e3c1a9c765ea8e2cf0d72922f916df5e23eb13b8caf9b3672df310f6fae568076751fbe739a8c3e7ff04f104e2514d26a59e62e01defca679651c0989136cfdbb96274ef1b34b4d31d6de2d6465de1e7635fe0c7d2e1e93b9aebec1f9ebfed71fff13b197bf174e9ad9b43b7bab306bef70cc3ff77f3f556d6c35ce8634987ad2e89ec9917f190689f6c65f9e3bd05ab36c55e89a7c5cea0ae4e7a0e42e3a3d4e629fefff0717644b3d4e6618affdf97aa55d1da7c967929f52d73d3073d93c438d59f037d03e99f5dacd44017f11cfa6fd879c079be62c8b9df7d3edba3aed2da64aff3500063254cc305c486d2a16025e6683bf10513c74f32299275233976e380a1affe687bc271be1d26cfd173b6739fa1cbd0d9a61ebfa43eed2a453ab05dcb8d3b92afbe509eddcc3ab98e97fb2329761c82eb78b4e09c77674f526f78f632dad993c41f85d32f6e7192b2edd56df71f883568bf7dc392fb1c514f3182090f65e79758110e9795914c5451c6d8b9065d03b7f9819af47cf0f77d76c5e75fc9bddd7bf0052b0ad21b8e9a5f2785abefb1cfe1873361c346b218ed81fb93c65514c62ddd5e8305ce5d561de009a707ba0a9e030dd1fd73646fe1b80176fa254c33399b4e35b19a7a7ad4f265e6c8360a05d683786011f0624fad4f96f40bbd76b0ffd2c6e71bec5ddd6a45a7698cf1067b2ff8cd959e6f5ce19277bfa1af5f62d56237e67e1c91df7c1c007f3de077f5cfe052122f33c4ff7bc0cc6e63006f3890ca7c5128048f600b6744c9c037afda65ae325388b3ba6bcb70bf17cd6fb73e9dfc4379591ad35ac9c6fffa87fca2c47b4a35a47ffd38396b7a922bc007b5bdda60135797f51cb098e19bba60e51e13510a977c635e6ae8f74bc02c6b9fa98af6fe9a314fc08532c4ebcbd5793241b6b21c7b8dc225101bb2026c55c0f02edc5738977ad4903c38b089d0f8dc7333a8370caf086215188bda642ced67dbdccfc2b92fa4a97fdceae04b066e545c5734cf897fdaf44733e2973e47e81be4bae4d9e97107f98155399c3f2e1b70e76235025e9f69205653573fd7ebacfce3d610bf58f875f2b6836bee9f508fd0787d0731aeef2a83790c9cccc17d2e9a302e70acdb995616ed7ce0c70ae009ded797c66b6a11a53b3b3c419c5d237d2b68dd0bffa12f1a2957485fde706826ef681c43e7e3ed07fbf284d7a685bed7f2d882fd8c631eb6d32f7103d783034d297a75db1f17e87dcc33bbcac685676f8f9ec9661ee4e7e5f517e4384fdfdcbaa27c3a790b31dfcd15f09230b74d0adc2887bc6ccfd1777a75f6471ed289eecfd43b1fb164b398339f4fde487f7af86f2c975664ce5b025b1a8c87f6abcbdabec967b527abb77695028f2f573dc4f4ddce80bb7d84ec1595f72556171538ddd8c247df15a9c26f684a11cf100bbfea7da37b4e482f1e65151ec6809f7e09fd3a61de6024031f79e91fbe6ffaf5bec4f16515b47f75948afe3abfc7367ad296dccf26699090792756533f9e1cc8fc22eb66cb0efaf5a15e3d1f1dcc61f91ada13c0dadc30558eda6582cf036247af0177ae152e39fbf1e4ea655e43d601fb4530b7fdba8d77b60cd2cebb7c782457d0de32e0643bb53cc5685ea37976cfcbe5e9bd7e1b7db0a148415fd9c64b2ef0f47e6c7fd5b78b9eecc7f90bd007ed7bea7feafb4d3bb658561c1e627bfaf83977fd093983f9975ec6cfe30b210e96e82f4126c77cfbfbe267ecceb3278d6fb3d750d8a37ba9f2384f3b9f8a6b50f14e489b5060eb4ffdbe5c197cb584bf1974b5dbb355beb617e899766c7464b7faa316431cca3aedf0b5c98a014cd7eeefdbf8c86930da5e5b39b4d6e52874b657e0b1267aa19af189b7b018547f03be6f5d3c07d9e310eb1d3ff05fe06ffdbcdf33510edf3ddef65033b3a06d2477017066fda315f99ccc2a7a89f6cfae9f5fc57d06025b06a4bfeece24537c0e81e33f91aefb9959ddb76ddcf7bdfbde95e802dd35f598a77ed76f780f978c45deaf572ff702ce07779c9b0d7581079cf9567fbf425eb66895685f1aee05d8077c8b7da0139f5962fe742cbf3bde96cd31953d2e7a5e1f514ebdf816a32ed5526e377cd8e660f67cb93d6c6e2427a7bdfd00f259ce9e9e20dbe48af5d9e4a4e8f465d57c4cd78e94c94769bad2ddac9b3f3d5980f670f0ed3a14d289ba3eec71550ee223a438fafce2ab20a8d38b4f43ff9f7d86a5765c1438e2722a7360d3ff755e2059e232c5b33931c0a440b6baebc847cfd9bc036f59b288258302de4ad70e015f6d55a714e4bc91184803622ab1ff889c335798cb6532da0929c4e97698788b73fa89cfe1cf9eb38d74c69a7c8955aa664b2ac82ad5837306f3e2da1585ee2904f76bd7cb33b8c900c889a1b07df734beadbfde610eaffbeb8ef0c223bbca8f276f486eb5fbf3da9e76bade0adbb7bdb25ace238bc44747179593e29ecd8bfa9525672975ab376e7adc7c0a279f82cccaa418e76980cf85d869fddc2929d66205b50fe34c3421876c9e65e13acbc6005f689277f68df181f4e8bfad8dbaf36183ff7e5f2964ff44df92f0391ce124d06efc7823f0b1f775cf0370a61d67b587e7dbc2b3bd28b42b0af23660acca7b3bf2d9ba64e1fc75fee3fa2fc19f65dcad4bd13c071cb243dd4c79fc566fbc6674c044ed58bda37d4d8aabfa16d705728e565bbe0b8eac4f6e51293dff8b3f023f7f0f2f9e3aa1fdeb15d7467060eb1bb6fd06ec8100c63b1ae015bb2f7957ee3860014bd99dfc06475b333e46abbf7223e0716ecf196e987a93f72fa3c30fb8aac2820de21e66f230b66778166511ec5a51bbe12a9bbf7a1ec72141fe5b7b5e9cdc9f175fd676eafb34e4c0f5f882c7f9fa40955f62f5e2bcf1c6dbac3b4bde3f5a67cf918123ec76fe88ec76348f78df4f291c87d2e3dc9404fe99df6a885f2c0cf34befb0b47be7bf84b7ebf888f93a88f73116efe1bc8a822cc4eb59d47a983f9b5bdc8c301e7043d9a3ede0fc9860aa5e9417186f4f30483a9c6b5594c07683781583068ca1fe9af01caaf063c8d12a3edbb3efc1b9e73d16f6e4ef58d82f7011d7ceb9d839db34c8f86215cb5470b45249f0221c77076b37065bcd3aa76ab2fc3216e96a6bb17383a2975b73623a14bdde2eccc2d32773879235835aaa0eb55c1b26cd1be9f6cb30d9c5d6029fa3efe993ad65b2e6d6620d8b97652309f17dccabf465a4d67293583a2ed3823c854fc6ba78f353ac7252e1d99324a0c33c1400031a78212177c5890ebe68259e09cf461a5701a69c6ba797a0c96bc82570c26b906d1b8cddb3603f1939f598f4b28ae577ccf9b779938e544cb85da39d3d6956e9f9dd65aa28182df11e1dcbc0d527c555ecd961ee1f4e57299e42bd56f13456ebc177517bb98db9544daa9a9954f4b5b596f38d35e31d64730b55ea31d0e781238c638c179a5e768255efc01758bdbb9975dcd9e337b5395dbff4348438bc6c19855c7451eecbe0355446be76ce6ddd6287affcae6d691538ba54609c3b3ef78fda9bcd98979d3d39798e9c435ebf45153bbb2a3c3b8cfc39bc6f48c721c777cbd3ab0a846bf1871cc620bef1cd61bc8033e139951593625752fcd3386d9ed4e5a99f3bff64707c22f0faa7e7996ae591ea9c1287a67d8da3261b9ddeb93afd26f36ca8c4809de14b19df4831e085c72a275fbd582aa42ccdd0350f72eaca3864a2dcc77888d9ce9e44be504de03a920f7119c359147abeb757a99c9cf8b55448c7d66e45bf215e1dddc3f1ac711993730d748de837f07dd09f80a78271d13dc8c5836fe2f32ff23c2ea3f3f9a0778fdbfa5347ffb7674aa83c98cbb98fd6342aa33d57c2efe2bc2ad40ec1a2d0ff9f36e042c3377c66d284b80cd08bc83b71688747cf91d03351304a2f2e6a6bc68f5c3b8532b0fe971e70dfd290df84fb48befaa87eeddecbe1df60f7895aece8d5756d157128cab407cf111984ea07b9e9a86d03bf7f212593c840fd9ba4170f9ff74ea4942a5c831ee41dd9b58cec461973fe7a112e6bc06182db2c585190604edf30e30b18a73bee146863cbf7d76f8fa8c1f8b6efed9ca500f80e78fe90f369f45d1c03b245762efe2ec63433d30bee931eee867ef7f7008703be7d193edbfbfbf159cc57a8937e24dc89a8bfec5aeeef8780ff89f61c3c9e5649c61be684cf54782e113b0ccf0bf6406209d07385cf2c239fc77e038f81f69f7d664b93b574f4053676ed128db90f38054289ae03ae0af8216b185b1ccb0de30b3e9cf619f8bed9c5b594711b1b8f7e1b1d9f70196f87eb92f319b6f06cfe02f75aac06eec61d807e7b784c96aef381fe773c9bff36193cee1663453b8a8e028c1355fba36842be9ff902d8498594e48641c1f73a9c3df81e1e6f664962b9d035bd8fa3afe3797cc3ce4f5019720fc710fd3dc4de47efa48075d868c9ad5cf2adc1b5fb3256bd7a105ce6b92ff0e740b092deb3f7dc04a1ca17f1d6f122bfcb3dc6edf01c19d997e44c1ed56b804781cad23ddb4b0398a356efb9e504edb79fbdf2fa67baf0b725cb6d398e3ee4c7dae977fc1af53e56e65316ed7b2a27e5d21df75550ef2f6a3cb9f7d59d5de703ed53ecfa78f3c187733a555ee1438b98bb543d2eafa1231f3c03734fb7fcb0b0df75bcdc52fef573be6787afad8a262b1dca7fd0deb8d6a5a9da8c6355287bfaca746a538bb39d2dce9f878ff3caaa02359dbea916f5add678af57e9f2faea99f5b10ad4667cfd82b3972209049e42f2ce3fe497dbfebb790be2c9bf3e935e94166348c0f86bfe3cbf0ef8c6f52a0eedb4087936f70f7934b8876caa037daf43b5fc84b18a74f22c8d802f1fe95a44df41ba8a1bef4b9b9139c72a4acda2be157bfc473a52454f6f0b1c413a69fcf96ae07d7ee4e845ee1fa6480feacac27ae9c4324c99375356dfea450ccf209d34437ba007fbedea30635561cf7e323d3f80718a71ecd9265685de77b96de08845ac0a583775f80acdb76fcf4947fe484e82262feff4c8f04baf92be6eb613b7675ff8e8ca9062c0aa40fbc85babf3ba9c54b4bad71674cc4575576eaa26f26c439d0d63c11b3acff226b59c990bb3d8f15481ea6e08fcc51b59480ebf49c7e8ec7332d2a1987e5ddcd1b271897e0dbce7e292721d344ff3777c4dde23db9ed8b13ce893c6e24197dc24fc5ca797dac65a4a0e65191b8adf6cf5eae4e85513dab2e6da936368f347d4afe89b489f5305ea499fb7b2bdbad5b1ab1fd4e5577ab62a44e197713ee1fc15dc67d88ee13706bdfc32e9adae9b13b167c3bcb24f1255740b5faf3255302f6662895b2bdab4764a97b768ef2fbd3e81df2ec3530a7f9bdb2a5d9e7aeb34bfb719905ee20b6edcd75f76dce4f64c5df93fda5aad2df5d44eb3425893ff97f7f56ab286d805be413a8d6fa379d562704bc50fed4c3f058c3db169d7f9df6db763ffdcd427f343cf78c6b59687204b4bb4e7ba7695239d18fa2fcbb15e7f5c8e4177b4f1df2e933748d7d931d62464d8da13b5b7807b984786beb0b88d391115f11c239d3f38266f128eed8f55514e7dc16200d7d138d15f7a52dccf5ddfb6285797ee64cba2bcc90ff6d311b57fed3a881dc76a3cfde3d4c6dd7c097ce3eba92fd772a88e609c66e682351c7a699a49badad2ecd2a0b63ccc41cb5a5b0beb710e7315a30aed1857b291585f1b8a5d1aa6b5b2f8dbfbdd356e1fab741528691528b01fa3ffa7b12a9e6bc80dcff88bcb986f77e3e2dfb71b7440811facd90ddfda6279a8d477b6e7e87e0e11ecf7be9c7d94b1c33a89d443ff23db6c67f3b1df2febb8f996e2fd9fb55505417d3aa97a0a3e7e285b5c0e7c090f7b82d8c9c92bd22b6c7a12f829953ba276bd9b0fe59745b38e43414ec386663963c1ce75fa89af24beed4f41bdbfdaa3a270844988e6855a57b9226a27b5de9f14bebc3adcf4a2c4e914ff3e9dd46315f871f2afc3e5815a27a81eff2afae9aa8a9b6f3476417d7a93e22457f4ea3f8d9feb6c29a48fb5f50ab973ae70680cb47f31eed0635b7b7d132b9cf4ede9131d64e782d7ad85a59b34de6fbf78b49f4760b77e892d774f45e2f852b48fe70e5f3568fef5d7e7cd869eb5317fc4f67d58b73fcff59fc602d5d90c799b9fb5f2ef5e5fe9c7ab76fd23c551e07091efc451a8bcfa8dd6929efc71f832570c3670b8742ac5e7544dadd516f50fb55c9b89f5a59b5b90bf66627e4b710a7dbe36c6206fa0fd49bb26901ce9d643a31ca87feefbe2612f253c20525c31ae23e72ec6d7f03b3d2a332f9639596c2dd9d8502c1a3f79bb80fed3b7cefdfac23a6e4f96050aaa470af2bdd9316989ead8d7bffe0ffbc06b7d2a0b59c7a1c3c177eaf2713d3e8ca514f7eb1ed4adef0efd466b68f9bd733ede2403d6fdf3fe3a9af89d6cd99bff790118034c7ac1e383fe46b2850e557149bb49856c21dab543349fc6be5d3efa19493b7cc02708739ff8ed7c6e82fe2f02e69c078ffbe34d5f40fdf14ca715efe46cd6e71a26b23ae9f9ddeee67bdb3f9fa8af7edeabd13accfd2c4a832ca514c1bc588bd43416d66d5db5b245a472554c4355480b5fb08eae5dbea974e57f71e6f56eee2476bdbf383acba2756c9896a92fd8854385d6c692178f6d6b7d554fdb859fadbb36f99f4dc13afad376f57cabac8ff6229bae42f4ecdd1ef6ec3be9a7b84dfd6cdb207bc5d32796916c79335dce0d5ae61d7a2b5b8b8a6ff5a95b7b27ea6dbe9fe23b8cc0761fbc3a627155056bec3215ed0916d1c56743592c846928568de76cb05cadf77fd6baf41d7245ecf0e549d1bb3e7857ebfe3a3bc51e635192b84c41af7aed2b4ed5b4df0ef366971db7ac72b7fe1d2e41e33a41737430e6b5765ad78b48d159f6591ed5fd59dd538c3c71f3c47ec098e17d5d444ecf580f69ce53395e825fd8d18bf72fce3d7cf2e748b5dd5235d250690a7cde31f4a3377f93b358efa3bbbeec7f5b6a58dfd5e93787a6e17f4da7264e4d834e74e7e3be4847906bf5da1ef4f7a53fbe680cfb7e7d4597599c077737462fec9c1775ef7883905eeb1af4e03ce207dbe87ebf841804d569cfc2a16ef9da39c39ab09894c29c3dd6257c586bd3a95affdff4969eff1ff8141d6ef2b58a715fffa4dbad2da47f4cef9ef9f88bcedae5eb91b3a941bb9eef1ff89c08ef87b574bddb0728c7e9fb38a6c7dbb3c15f9e657d2745f33460d7f3c9ded18b2bd647e9f0a90dc56f970657eeed05ad497115f9421a058cd5acd202fb26c0471e9d4281067f7670c46700aeb3c57efc63f4af0bfeeca8f1f0b30d7e6756ec1cec7f0d47cb0cfb90bd23f8e519bef12c36f7d19e755ce6a190329ef1b88fbcb2a9ba313e9491cd2cce9f29d5d907ebf899cd35e8af8b2a2c0abfaeeae15afacb19d9fd980316fba2a7474853c9c2b2a52be730bedfdf2faa2815ae5e5df13e4db3f7369823ee1bb75e9c55d4b73175467f7bba547c8e063a4da5c1de79abff9aaf02c9aa029b5a2e36d676f6d01eab0a1ca24bde955384dcf3b5db3fdf5cf3e59f4f812e7a3adc9ff5c33a593cd1b564cab583413f05383fe4b46e6888b35ac7c960fcfabaff27735b639f7695a2bd74b81fa5e1a39f4a9aaa23fc3c990f7ddf59f9a08ba505f643c5658cda28a570bef8f77630cb7ae7cc28640fa2bde16b3ece8763df3fc7ecce3c1b7724e781b841fbcb60beef90de36da46c1119e27e554813a223e8e79df16e874943b9f1af83ea230e3bbefa89c7c72ed49e20b56ec3af27f6ea7da4cbbf1519be95f6d0dc227dbf3019d3f1d6efacf9aaf1a248f9ee8e739ac07e71907fe2fe317f4bb9805314d837a76f1eb19ce218dabcb5a977d87af4652535cd74dfe211fa86f992b2f5f711e385c7052ac73e0f0648f78f45777fbe27dfd5ff9afb1acc6fa9a5cb3837d66102f301ac8efc0ac91ccbe9fe72ffdaa0fe3e7d974e9433c164df61eb940e3417c229750ece9ac8753fc39baf957be1c6ae03797626b1017417c1b05f073f4f48220aede5f947f953bfb6a7a1cb675b8070e75fef3a7236ac5e788f6f198b0c4a7b278d0f37c82e5d4d7b51cbe8aede6e3bcb2e8f7a5489d54ab00bd0e5fa3f2cfe6a3d08ed4c9a6b794c45741c8e31801873cb7aef76fe47da223a6efda91cad735b2eb27e4da09fdede3f7a95c89a3dd175f9c15fa6f65257fc00f20486dac06eedfb86c7d51ceced90277276064627bff4ed7bfd349e8a14f33e41e7d644143dfc6f5d81bf3877890a14d86f60fff615f457a93c90ece61f8819f2ebc9713bbc7b892cb335f9edbd02ff5bb577318ad6b9bae82b0fe7873f8f2aa225def70427b0c1a1fca71ca04e9c7bd357844ed0ae973e088c17e9556815a8fcf8e7e8a57e0232cf68eb80dbfb84d2e0fe6ac747cfaad387803bf603d437309fc8ac437f617bd41fe5475ea1cd4a7e4a12f8c27767b4fd7ece9ba812396ff387a84e797c1fa0ab22b0cd69778ea5fd4cf0af7f12f966fdaded1cf81238c4f0e5fd6a81d663d0b15ba0afcc33457e2411fc56bcef265833a3bc66d0fb06b13fd8df7d687b32599768fb09fb7f3952365a1bdaaf3f9dcf6e2bff96a64c2c3d9b3a32cd4f74524c5e7cbaf9e37ca5861c6df684ffed5f3baf4ed1f9ff89401dba5effb5bbcaac3bdfe14cb31f845873e002a5d800f929679a59612e9c9371f745eec9fff9fca728f5681637cfa72b23c93790b73fdd97af4f48984f79c8733a2273e8b9cbad37b6e7185c72dd237a2c735718bf1f8e9bc16c974d4aea0ae68559443552859bb1e5fd46cd9c76c2a5a2c495528db38b52bb23d07e77f765974ba659ace0c137c71c8f6f942f73d7bd2ec9c6d1e662696b5fdb3a5638aed22f29e33d4e30eff473d46b2f8ed46a58bd66e45fa48177bd7d539894c8bff8855812f7636df788ef666d7f22914b76550cb0ff2db7c3c77b9cd8158fa0e39b2c7c79bbfc53edeceedfb673402fab77dd74634ded7eece051c6c8f874afd7152e3d31f45ff8895d1e61bbef7837f5bbef73ffd607bdfd665ef3c9d937a7ebd41f93ff8ce72eac99a7eead381f88a94fa26fe9aa771a23b5ba6c3e199d627e8a19dad70daa3df0fb2f17e0f3e56d85ed2a5473b81f4e340963af77112138831eddb4bf7f21be911cfe36b672c1ad3ffc53f877d989b7d38a7dfef7c6a5787db629f32f12f7fbdf2ad1e4ed7554c3df17d805fe38691e92c014b5f11373f9f09bed2d9e932b1e96ae4089bc386a77d470c030fe24559561526e1979e74ed796a23d832c44bf6cb73b87d6707385c72df8617b11be013be3e9eb13fce77ec3fc2e523bbe29776038564e89771aefb72b1c573f3eb5b3b5d837e1fb6270a14ee36668af518bfd0b7673cae3880fe6b2fce5e0af1492fe4bf8cfdfb83f86fb308791ae326bc389777b97df24917b197a50d8e7795a3808138c137f23fb9be24ff9ff1ffc7ed81dc4f5c6709f1b501839e91c32e7ee958c68a43e5eebd3e6dcc5845af9a87f17976ae82e6b918dee6520a67652747d4fe75b83408ea1cd6402be3fbe761ff93ef3d6641af0de92a7168ea5f7544e5cefd39b0483dd95348bf0df714d25739ee97c1dede8f1b3b5d1d413aaf69f081056aca229d32ee9f2bac6239f70053d1ba4802c6dcf5ec0a5dcb76fa2cf347d29ec45a03afab274cf79ec05e3c9d9cf70a56e3dada7e10672d5439fa3ec8c8e3b60e6d73ef653c2a1bc95b7a67579483e51fc62faf67078f9bc15cddd913dad367385657b0c61e2adb89f2909b917d7ab3f7188bf247332aa867279823e26ce411ae659f9914c0cbd9c61c628ebe3dce259b513b9b4e837a4605195f4aa275769de5b7245a80992a913e960439f7b3cdde3d5ab92f6e733f9e01be9de7487b9761cfbecd5f3c6e967836926532ea83c30ef58b3d811c1b4988525ffcd8835e27545797416da9ae1ec3d221373bbbce2cdbd9552a89b37a674f282f263ca2227072637e737dd6f823ab7619738f75dc19e8c4504fd12a76368dfa84f633526738179a353b812d436e0639bdbec0461e378bbd7a86d665826c5149902778ec3ef62e13253b6813f0c641db82412e0b1a13bac4b931e4f7685b4802c42f279e033eb0189587ee79595a788e46ca096b7f64956d1981635d43817c43dc46de486b7fd79fe47d8c816a3592b0cd83a3b6f784b4c17e9259b27396d79019ef3d7b79f247db03ee7396dae9b3d477ac02628f05ef2009de5112bcc267784aeae97b413d3b7ace16da0df347e8e756cf72ffb84d3dc6aa2521bfba476dbf6352d4e6b69f0b9f09f67ec6427cb484e6a1b0d907a29cfb47f4bfd5ec84f6ffea82c611e702cf1a9789528f9b35edb703327725d8ef37fb60643501da27b819158ae92114ca7d684ffa782ab49f454806a0ebb7713f2ed3108f3583e6a0c7cd709cbf189e3ca46be8b3d14eb06afc7f7ad871b3373c2e29eacf372f636bdfe62949ccb350fcd87fa2792be6679fd9a2be4b2431c7b1ef365b86a2b6ff3cce6a9f71d1ffd4a73e7b0b32ebe83911e1fc9ebd050c7bd8c1dccc9b50c4df08856529c5d5d72a96ce687ea9b655491c5d84dcc7d91b6df6aaedee551bfd6fee5547dbab76b957edc5a30f56af52355d4a5b539e19490018a4aab0f8c906ba3ed833717fffaf0229667f65c73ffa0bb7ff8b4ff4018b10e3a95757378e7ccfa28a4f9c9bf6e61faba98473287397c139fa2ac31e42c1a2f0b99d15f9bacc921cee3637335a1b740f9380677676087ccc6a463726c3339e29173e23e5b71cff491466e9d175b6d7209e9c037a198599c5a1f9ad88521172c9107fbcb9956f59b286b97b79ca6b73ec784b3738c0d18986d821ed732d8ec7e624658b5831ce914ace0fd46c9b07a359e13a092b6513248b62e03910e5d43bd057f43b78cc274efc5178c1320eea5bb4b8de6b83625d7dd2bbef66ae3e416b70d6d3fd4fd2711b05c08986ec4636f605feb2ab815ff51ebfa1e3aedfc05eb839b97a52b83a60501c76f5fee93b2d6f54ff9daeff53d45f93da73bceb8eb188aebcb5cca43cf975fa54a76ff9c97bb1ea1765be285773c0be788a27241d2db43e9b0ee76d98333b5ee9c051fb0a2be3bae6cbab429f3fd729f5bd8ea76d4e36f0923fc1d3eabd87df71b8e93f6a4d30160533ff32067c2df9032e4a8b73ca4d4fe8dbebeedbc9d5035ebeb440bac53db7589f3b418a17c05fdde28fe2787f3a0a9ee5c175586318bf78959905e60ccd31878043e58ad36fe7acb9abf31538fe6b79ee0b6cb3b327474be08fd24ff8232feaa03695ef1cc691a317c33e031e033793ece9c9d3934c8ef9a8bb6e4c6363344b7d24b7e86de4d5d29b4bae9b8c5578c9b2f047cbdccf42d3b5837815cbc0b7281de95fc56ff4f36c6f5c35e34a8ebdbeece9e5282d7dcda2fe0cf2731b3e5c1dcfac2a8cd9368fd93f22b9836ca90d9a53e370015c218dc14c009fd010d28b876489f151040d606f5fd6f664fac5497b89fbd8b73878a141633e82a7e38bd64c0f2f00cd0982f1ee36744a788fdfa5bb3e02f9512399419d3b3c62473af97115012e965d7e8704abfbaeefd9b5411fe4d88b94ba00dc1d9cafecb23beb4ca9061faac29efc96c3d5c39ca1d8b5ad65723b46f0b78b396cd1f8272c9241837aeeb809e885803735a762293e170ab36fdbf9edc52d66fe995645adc345570d2433a94ae9e77c8bc87eea73f9683fe79076cf59680fc31c4322600cd06ae621dd390de21fded3f974908b9356170970a07fc44b64fd783fd1ea1f73fdfbeb13f844d4e3f66a08ece8c6c7fefa3b7779ec484e4eb4fa256641b7a72b7393d2e2bb7a39f2abf7f0f375d26f57b3e492f7209e400e2ee01792df6be74cce3ac3dc3b266f7aba5c1bf1a4772d45b6ef0f6bbac54cb8f58b8af3e12e6d4ec7cef626374c6ec221d65bc7ca53bde7be0f240ac73b8d4fcb66016783d0ae382976067d55b836bfb88cfbdf95e2a4081aea6ad315bd9def4b8da383d0dc0adbc40b552628c216bfd3dc8cb5f9c7d911adc526f10447df5c554163557ae2c3b5e603303cb70b4fd8a654a2d655f1375d4ccd9627d79167803562a03a4f593f9e1c76025f6f9ccd29e48a6a803fafdf64b31cbb91dbc9ea69fe2556871ece3392d5f40dd737f903e75b3a9c15e0f21936f14c9e52e680addde1c42bf305a318790ab960f662c871d0c3d0926b3970442bf10e1f8cc357b4374773483a4ac003ba8fbb7ba295ace61a85f15782189e152ca43b0d9f4576680c3c11ef3bddcd82387a0f914dc858542f371c7068b03fd4bb06d932f5e6399c13f5c7f491c36fd0eff98f73edd6dfaff077ff04718fdf57d40a9f4bde8223e6bffe2b5e48638e1463e8230d8ebf78efb021f3633fd26288c5433a18b582753be8abd6ff497cbb040f21636b97b1925586eae0e68f38598b93063c1d29b24f089fdf4bd91629c02399809ef25b79b63436a3dff4d1d2d88c7fdd470cf4e904f040e70983ffdf972df62a910df5f25e6e3bd205eda3e43c0ae2697f55b7f9e2360edcdf715f30cff9f414c415e0127cd9cb2814962705cb44d8bffa7c45a1f84ad61571e82c53c0f3cfd243c8497df95d6b8dd4d66bf2a4ad7f3e47d42514d816c7fa1566638fffeb23569896ff26f996522a7e691b0cfa6793af981ff35a3197628c754b9cc70f7a7387e77d87df3c77edf131045fc6662fc5e73e9fd6b714cfa2a09e4592d8e7dc18f292fce69ce2935a1a262dd3be60019ed7eaf0516ce8a581f18bad05f1b961ccbbc3a95417e879acbb0356dd1cae153ba48bf232b2a9ba72b60b7609f88a8b2a0f469b378dab16064593768483e72c81fdf6ec09b9b628b6024fb9d6b676ed49e36556ad3bdbd437bb72849d5df5be1f998659cd7ca19afb4c5578369e43a86c88ed5c2c01ab91f4037a5fb216b4b6cdd8dabfd9c9dd75d0e3ede50d7b13be41a79e9046b76fd2b96f63ee6692238ede8733100febd64bd7f9806b3eb36deb5aa9fc2cda61dc49c2c7dcb569e38bd80772fb3dc139e7c6a954f9a5bda5883d707bc7b0927085cf22e5ae3f4dda1301839e5fa61e357876e333e9251cbeff301ee87d4b9423ffb8ccfc917ceedacc93fcee36073eb995033e286b79f26c8bba3dbf4d3fc5ad1964fc61472d69ef367ea06fa36fb8ccb9fbae25b0b4cb44e4efd96ff4527a69a07587646750611968c23e01f71a2d5705b847b5f7967a52fc5e5fd418b0d7e37db56cf65096d60425298b5eb6df3102f21d73dcde23ef354b2321f7dcf63d46d3c97b07a9bdd7b4f7965c7bcf6cef31ddbdbabdb76fef4dba36738f7aedbddc37492ec02ffa95217e0ab487342b2eb9787115014f4a9f5b4748d817b878378ccd638b29ea66377caa300d17ecc84f6fb859703ee9687f7ef1cca9f5e928468eecd4be3cbb7887d758e148bfea73185aa41ce012b2172d2655aa18ec7d1954701cf2a3797acaba0c4fb9ccfe8e3b2db9048085689e90fe0edc8a19da07811bf1e59cf6e33db5d2939394f1cda73d39e87fd99f15e0ac79356f371345dfc73b816f741b300c2f2e63bedee7d1fa9927b902d82c0457895f96c0d12ee0b3e25fbc7b26d83d2ff5a25b1b69d005361093fad2ceebda116456e90bfc01ed6f7f2dfbb84c5d47fe5d3d8ecbd2b397b9e768bf691fc1f5fc4db9dbab8964aa9d523bc74b7fd3c69b8e827d0dbfa80fed1f97077f348333b0a0feb15ee3659d9c30867b19e3ffa542323e5ebed393059406dcb9b88cd63e566f7665a4717f6f9feb2c277eb65cec9c65e98f96bfea134f489b40609b5f8d7bc6c601035845bf9dafa5eb6c01ab05f587cbec7ff34e67fffc65eef674706da4dde324feeca318ad86b29c5a3ebc2f9da40ecfe6e6a3fd9f7cd237fb6a0c729e9445fc0815da5f919c477b02da9b80ff0e30c02aca73a458016e05d4ffadff09e9a0d2e973447cfdf3d30d6f87e8aa433bf61405a36a2a3916b2bfda721f38cd1fb929ab748803d8f170fda319ecbd7ff4ad3dab0099fc2b5b0c6ca9ff6caf2e8d3de6616bf9edfa9c78c6ef72f8bc1bde45afdd26bb36801b2295840136da9ef46f261f37f04c878d37676b126ff86aed34cb43c70147ec18f3de8e41b6488bb19477658bff81eb2d9327a16069647c5efbbe6bb4475697b5b3f5351e701229f0657736cd47a3c4d1451949b9da6cce683c426e42f914944f74e587fdbf8f3f5cf807fa80f91e24d64f8bd2019cef099a23686ec339a1ab474ffbab1b8bb9f6af226ebefd38b92e39faf2a5ef4b55948a1de0fa99acc655c5da4efed1e66cad1a9bb720aecab5f1f11eccab6235faf85e1b9b3c9cd3579b312f2e13454102bc72b3908b4ac5a2a6ebf962fc25b0fe83cf4afcf8d6f4345ccfcb4a3b56cfdf6fa4dc31cae9f2e57d2d77f4aab147e6b742536c381fffa3196ea61d4c5a15977ea817df8e4153ebc3782c1f247ad97b163d231f37ef1af8c901839c5adb4feb0975785dc745ee18e37f96dc43d9f9aa59a0390c98a07fe9a3f22f7d44bdbc1fa7e1fa30ae7fd9debe4ddd7ca1799e79b5cfd0dca7b36d6dbf1f79955561ccf6787e41af960d8d60f355f9da58305ab36f54514373875edbe3b3df9c9bb568be0775c1eef434ea62d238341fb522a8cff9fa68fe098dbc519824578ca25a1b14eb3753c0eab299f119cd69576ff948651fc63aa5be83f44ca1fe910f6ee3e845bc36a858d193373cae533cae7a84cb48515fef7385b17c3fa62a47afbaba40398771a5f1a4ccc3989479aeedd166ba9e4bd9f2b00c951a380ffbfd180df0c0fabc9aa204bc4c7e037d13ad7599f6b36dea65e9c5b337b1d4c33f26586d64ddb3032cb715d91fc14649786e436df96d124aba99abc6825e19f46c6ba64bd3b23cc7e6d39d6bcb074fb0328f89f25d762e7c7b720d44be0e465b3a3c86e34fe7546a86d42c911dd6ec274a3d8d6fe3d5c3111e69d3d028be95919607e9b9710c3ab747cb5015587ff73017b5dc31e86635c0f8d5eef7828e5f7267bba79033a9f5e163c801b7e87c4672c74727b6b115e3bd41ea2609340db18c99b977f5d939b42b6ae7cc0a4f9f5dbdf883ea3808f17c7de0acecce4d0d58a317c2c5826c6bdf8fab0b9a7fe17c5aae0e9bb31f9b94333cc72d7a7a4e9fbbb770d11ab0ce21eacf707e6ed6c218e6bd56a7579887a325c8bc65ec56cb435069863bd6b8e45b112c3fa88b0ac99a15e7324b43c2d7e7681d7ba93dd2beb59442fa4b7b0e57db7514aded698ee62d7a47a361ee46308fe3c1df4c37971bb79133c0f1efd9921d265cac38f4d5aea5b3143f9e313806c5687175b56bf9ebe5fdd153fb8e520117f59eb31df6d996bf07735ce8558efa6ec5e557d591ce1ad2c9f47db59e578da253952a686c688cffd1f4aa58ebd40838490fec5535166f1a57656b7bfc077e03c7a8e587dcb974c89a0cb88205dbdfde67ca7c315d737481cbdcffb33e50679fab0aa54173b8fc479b9fa3b521d1cb388f90bc8072f4aa541a3a5385f2bc36f639c18d066e8d61798b7e7935292f27e5e5afcbeb70ed23c55eb09a4e1f568c55048c05ebc5352876ed983d4edfe48f91f1abd56171d5b8d369379f9e35e35429c639571a82ff7e9c5dc37a5faba294abc2e2bcb697dd99ad22ec495f25ffeef47cf8bcb03807c82610379770240377dfabb1538545875f8ee479a85787b5b1ffd7d569342e853fa74e9a514edd3a41e359aeedf29ff561517807aad61a90d37f082757e98f8293169767d0e509bf5720b023652e15aa118c14e354aac29e0d0ed372952d5079c9da91fe68c609fd66d6ce06f8ce309fd226930f8b6b382fcb75b378d3e664adcee93e0f195af32dcf28a538d53444ef1a8bab369f9e8286bedd33a6d5eaf051ec0cba508cd369d761ec13eeb0969346608f8ab8c9550aff6d2cc6b582d6411cd1ebfb36d968bf2b2b247f763a755645f3dfb521e52a17514a43e7cae8e39fb5b1f8e3c52cbdcadc7feffaa9529d8f5cd1737a7da06a5c46f1ad8ae615ca1092ef603e667d68075582edc301cf56b93e50d5ba8e9ab51e51cad13ca339302cbb821c1ba5a14be0286b684a4986750f2006e07ede4cc1c6d2b8245f31d37fd6c6feddb3ce1785894298ffbad7a8c2fe7b6d6f8aa09e22bd845185e9dd7a4aa66b819d067575501afaba6234b47ed01efebde3892e9325c50ead67aecad586aa97865bb835c5227b137f6f7ff6787aba3616f58acb995f9d7b187bfa7fb49398ff0776d2d9753efe471b898e82bfdb47f46a1efc47fb888e82dfdb464fcff157f33d89af4172777cd20c13d61b7c1fad71e074d8c7becd97c02364d0c4fff601fcab8a786e3956de6e7e820a63f237908398f923f9e0d99b37c9594ebf389efed2ab7754de0f679f5745dc9e768e5678fa73ce80f561f1240e09f0bef71ac47ffc2aa663fcc02bf1da5fd27f6fa271e0b3266331e020f85dde996d5e82cc4a427b99f6cfd140af1e55530fe2969714e416d96cd672d1cbb147c133f5a4f6ec2ded32e69fe09053af630ad1fc4faae159ede6711dc5fbce77a2e86dd9d6ff744ebae45a7fbe39d162d057b3b09b5f8bead9fc6afba237c7daf6c5aa5854abc38cfdbfccb7aeafff0f73eeff571f109cf93cc41ec0ef1dfc0e8073f28758a8be5cc17b7f5dd18a73ae1561dcca95c3da9e9e42343e733a52042d47fad94e8f0e3d6ef7c23bd0e97af4817415d8cb3d03eb2d984b599b6a710afbf4aa2930b7b4e042fe88cfa5efa1411736e385aae07eafed3de1113eb3483ff2e282dd7155ba66dca936cfcbf59cce3a8ef03b6e69b39d0f029b4982750ec4ed4412c8788b611e0afbbd9f4df718eb3d8d7c6e4662e1a4fccb46fbd4fedd33d86c7da0cad5f1e31fef70ce94863e29765b57e08b66fd38a255a1f2bd942abcb83a0c63e42cf6eb6e9d7c3255ea1d376f41bd8f343d29820cf8e9f0df3fc49d0dcecb1aed41aeffb02fa0f5f4c2c7d9c69e402e651e50c41ecd408e0327d0efeaf3104ff0b23ecfd739c492dcadcdeeac0e72270936d36d6ddad32260a2c8374e910ff9fec4eeb66e6770a81dcb8396ab99f7cbb89fe0f7fa01968b93ff28171b5f480fdeabbafc72cf5dce37f9cde72db53eef5a3b98200f910c58e920072fca1cce5d0f646f6e146457415b1358bb37bfb9dbf9cd7773ba543819d715e909c286f5e27d4cce0a63553ccf36d49237e9e5da4c35885dd2e6a7529d2fdeb42395aba2cbfac08d3e4b5d2685f31e55a0589ba6daf3c6c26b7afc55f3ff2897ed08c9e504e4322eef19276bcbd954ab425904739a26f219f3d5d651d99759bb39c40a175e9c141efa2d125d00db197fbc434ea9828b6d3861710ab82493e3fd8043a4e7ef39f907bac4799a4b2a385a8750606b647bf8f1826df548880fd4a3cb409fd4933f7e1d5dbab81bf47d3dbaaced891fa654cb29dbc657e7ab6cccb67b852a8c91be88750a64e7f4721efc38e9d995547b7e8ce473e171846b0aadcbcc1a0dda6e8fffb431237e9c9cbc3a4a547b5f20fd5f154a569b9f4f6b61f3bee38a6f5528bf953a3d217d56123f3239d34e415c15aa38f3773cd5f7a9d5b77871ba5045f997fa96365afe3e86f6e9dad11a6463fe3759f3c05505390490231405a365ee31e3377ff42b59c968f3dfcbeee17bf8ecabc78d31e0f5fa4b3c57cb5390aa19e42ffeca0ee97dab678bc0fb7fd7190f1ff46f64639feb43d127908bf85ff6b2015748efcc0e6313a5176f9ec3bc5971e9eb3de051eebeb4e980cbf07f38bb5c1e3ec6dd1c34a411ce8542f6d3a23bb3d4e609c8ef209e5021c3ce3a9d909f5d7da64a83b8a221263263e920b9e992a6c05e7d3807d558952eaf4acd1e877eda72702e097e40c6cc6fdc8de6c9adcb58e6dceb03ef0647b89a46203b2f70afa15315cb52829b6f8dc3394df5aed1fe71c36ae2c0a79a3d599ba90afab446f0a920af3dfd1437ef413c81bc5a4598a277e05e684f28a52e907ed66bdbbee7ab4adff179eba4f69c25ed83dd5d611eb6ec9c7e5ab3dab3bdfcb35757d29ecb93f6d47f694ff2b43da84f4716ba9e03ae27634d4c5146bac9188dada7e3fc4d5534dbb353ca7390beadb1414dda2c9a0f6d5e11dd4ccdd286c8e3935b277fc2383a008f735c45ea717b729dad4e3023d173c4bedde4ab0ce2a8239c43125d513916e407df3831913e8ff617b78173d9c26726e9c69e24661bd3629ed34fa4eb0bc9b7c2f107e853b4cf706e1672936fcf4920c705ae1bd3583ae4852268d0078a5ec46a2de50a33068cf3f65cc6ad93e1788aee73bfb141c5d2e18cb1e1883fdf35e802d9264a2d5dbbf300516377985b718379833627643b62aeebe47da747a92a6c8aa04e8a1d37811c7bc8f910b5bb79453dcb8b80ef7f391f434ec56c9bf6307fefe505997f30cf711e0cd7cec96ebe3f5c47e3be06bd5c021e5bbcc62197e8aa881f6dfd07dc859e6021d943bba3ed75c8f5bdefd66f90594d6857d4dac671f564bd7c7b4eba09322bdb39fbbbbafc3facb7b02f42bd3db709d84fc6bb068915b9ccfe417fc3fb08d2b5a09e107bdcdbb3babd31781ceb0bf8c74197ab6a45af4ab42681238c314fe0f316e82898e74f65f8730ed0f1debbed65bed3cff76879d4493fa07a237d06beb1482fa1c002369cde930337dea5f22d8cab833fb22ee1637dfaf30edae3eb15cc3fb48f85024bce121f7209dbbdfe493d376d3d7f9415aab87db05bbd27e73e7fb75916f4126233a913ecdd7a52bcf28fc23c6c30f7b4dae3d383f9c375be92d65ebbac9dcd65d7c50b5a30fe2d8e544fcfa45a4e533fae205ee3cbb9ad65cf09f6245f15eca9bfd4ed413f0ac56a8a7418ed60c638bf6a20074e0a9cbfbf6ccb34e42625aab7c9a46f9e0e32f4e6b3b3d09edfe161414eed0ee95fe043e0130feb041083e737cfe60ee927dbece97ae3873e83b34c610c9ccc448f48d6ce76fa2524851ff7eae7545345185f02f40cbfcc3f3393d58c0fe092049c419b6f3c838e5461c2aa027bf1cc47fd64954d8b500cafb7b946d6ed430c55d5e71f07d982edaec7fadf6cb8bebefca41f05b654b864d017c406aa55d8c7932238f6f88d336b24096d5dd07a8b6acfb61e75b2c37339d2d6a537afeb5fcceb2bd2ef7e31afeb6e5ed715f96652f8a3bbfa8b52b74e91ceea8facfa377ddfe952f8ccbbdf86eb2fda10adede96fda706ddbe0ea6d1b405e47f76bd4afa3db7d8766ef6c9de67fcb6f3769d0c7f5e8a2ccf724365d1b6b71d2fa56183cbf135611c627ad8d713f2c8023dc8ff70de4990e38ea1ee4762ac76eecb7dc86fd1c35c1cce44e27c37ae29a493a7e4745c0d71423a786b97f1a7397734eb77aa82a743cd3852a7ef4bf8539cc873c9cd1daa04b543f3783f519f931bef6259627cfa0f15e43f69cb541b14806f4703058f2ec0dcff540b16b6736fde2e4366e1df29003cecd3c7d9cc82289b9c7b13bbdfd7c7c726be0fd8b495c46acc6d237f4e7fc235fa13d69bee8f2a535ae3aadf5c1b36f2157c4ab58827612fdf8b27396e47c05e2d97b711c1b569b9f93b560f638b581433a531a9a06fe74eb9c387a755246dac9e7aa04f503eadff6bc1eaf6f97c5f9f4186fa393597a755c3b6e2f461fdf97501fea13b4f6ea9d6d358a7de3a5fe34a872552f4ebe411fd56c8274ab93a22717c053328adc8b0b36d4a3626d535d9efa8e3b378a50169f7af13dac9fb9077fcebc88148162bd7a82d60ba57049ae66dbab9f99ef9d5e7da0cfea91e01b3012b20dba3e70d3a2823e18cc4bd9d7780ae9dc6f528cbf0f6759e0fb4ed92f1b7f1fe65b3fdfc2a0cbf69b4e43f7f3c3de610f6d16b1cac97eb7565a5e759e8271769ae96d1d11ff3d5a1f413d7b97e21b9e1cbe86c6bb8b7929244eca955a66a543fea5e218981e97b9c7fe029be526575bddd09896aba379f2307f3e96b1ffd9affb9a2fbfcd7f9163afe539bdf4f2207f7b4688c6b396632fb54772f82556a95dcb1f1bc209190a6c2da514f6697203fe987e7e0ca5dce4f16b9fcf6b3df0bd9d3b8f67672d977911af75e94d3a50c005bb8ae1773de0b08e37b152ef63293ea770bed8e6f672acbf3672c803578497675b94cd58e1979ea07d90f65b4eddd7baf33bd4e57042f52aa02e8753bc8a65f6b67fa1ba1427291ec3fcf4aca274743743f5247f578ec1a6ea7149bb9dccdcd78a91df5f43fbc9c017a3d67b56134b56035c93f2076c85adef5934e403dfebeb2fcf2d7ed6d7eb659d5cdc919cbace36dd66fc01636001ae61b43a4a189f47af2237936bfc371fbb4788ad8f3c615b7bceb221d7134f94d360a4c1bd20b3c8fb7cedd9b88ce0b8cd5da64adbeba1901e201f02dd63d2c433f25ae164fc1bce2178da13d22b791e7e4b7152b807782e86df19d243f1df98730c5ddbe6f81d39d9413972e237f8194f980217eace0ede901c72b3f488dfa9ae2e73ae429ba5daf27c813dec463ced8fb6a45c36f96cef315bc029708f122e07f7491c3a5bca67c6e49a4585027b81e7181ec971d257cbc83f7a113e2759468188733fe11d862fc99a44f7f25030c9f594c27db2bc7add353669aff973a8d7c1674a548f83cf54c72063e9a0bb4efee600d3280a850594e1093ce5eaed351e3841701d6f7fa3fa7bc2863cbf41e5279e5d92bfad02dfb728d74e8b00f773e239db6867570dbee75d4899196ed73677edeaea916777365ff84c00e5ee1c97949b32f8ddf63bd0ae24c4ed4942688775c6e55a6778d6a663cf26f5c4bfd13bd9ceb60a4f5ca6e4dddbdf5086977bcc700cbc2c3d0ec7c1cbbd9155937991edec900e3298b799cfb0901382df63afa160d550978cad7df2bc3f92a17ebb39eef3dd1cd6c349c3f3f8a4c137f6646eec1bfcec863c0b6d382d7159a7258cd59e21cf421fed042bf270db4e18b3815c4336183c17a5ae8df35f5421eacf8b933792afa103fcc0a780d4873c47f9648c09cf0cd28df1df5087340b30d71c7a27f78e72e4dbd027b94fd6d6cea6616dedec49193aa43df8377eeea8b5d7709b1939c1f53dc71e7cef9c7eda61eae37a7d7b4e7af4ec317ab7706d3925731eff86e7abd4034e5e7cdd43ef66f0ad6287eb59e0ba233bba806ffb424a70bee808781e63885dcaf1b883dfa8eee297f4eaec3af237ae231d055901d73c7b42936ba97f34bb6b68ff2673e0f6377c1f30e6c9b72cb2fed0b576bcf06fe073ce7832d69328843a4dae2daf09b9defd0dcf139d09dfebf4b15c15d8825c83f5ea8f6614197b5c8fdbdfa8fed7fe7a40f7305e2a7acfa202d16acba743714643f9222e07e48b887966e119c2390b982e427a407b29993325da8f424706d91a88724a9eaf41a689b3da67c2dbfe72bcfd0dcfe3322af87d24df3e42dd6bb2ce6b5c2fc0bb27f7ad18e2e0443cef40fe8acbc8277d1030fc19d7bfe57381723a9e1645af9a2e7f1feab44c6f6759e85e8574525216ced387fa3134b27bc975f80dcf134c4f729da5830cef5fc168169139df04027fc1d7b6b5cf4c8ee4bb5490b1c826437505dcbcf63a70f0c0f3564caed12ef0822e69dfa6018f17be37b2cebecdd7b83f96ad3c68c8f85380b589fb9822fc24b92a6e61dfc3e56ebb3d30247b4388f70638df701d3975c9fbdddfb80c9099a40cf88dcbd89332f650464fa6e1df302edbdcb74df25c7a2675ca43a16d3ffe0de58958268722eccb14e4f9e3fd06ff86be23654139165e1f47bc9f217b0fff8d745674dfcb3dc1ba926bf01b9e63885e740ce380ecd941b66cfbeeb073e456c739f8425a02f641bb27b77fe33d39f5883c44363bd60dac023d139039e2d955b173660ddef3b18c853920a467e0498235897f132ef88bd7ca3d7b72bb66f3f57624479e9002b6442b07efae1379b7bcc93b06e45de93adb53bbb6c97875f9aadd7511d92eb02e4a9fa9261ed3ae99d9d517d323593370af57cfdbdf30265097c85f84b56b6f73e05a81321eafc39c47b28eacfd6eed8db6d76e6e0b6c89af79ed3a62f01a82b30d32afac31961b5b587b645e917598defba2aeff9b2f4a1a29fa240f689c0fd36179706dccc2beb93f3bf7eba8fe0fe7d9fd188a712feeaa6ccfa1b5664fdfe22a170cc40a9a377b8af8ea2e70a6ce459dbd3d3c078ba2801ae22028434c47ba8f4f25c1d94ef517fb3bedf27c0658dd7d5f1abf9cf8b67cf539376bed6635bbd9b85deca22e4dd7027ff199c9c4b7593a68c6ff48715520db869ca524606fb4f1d1827cf599f2cde3f67d1f598ee34d34b8ee0de217aa966b01eedd788e7afb70b619eec36dee5303dfee38ab50ff13bb1fcaba716326856b4f26ab6c7f0af5a470c1d795aebd1f3025eff1f9c05708e7a1554eb07e5ec531edfb6760d827ee9ea4def84ac247ac30c9b7947decd1f3184798bdc01a44f74612dcdb097c230929f8ae76f6666f8af23580984d73ef672ce53ad8878a74bf9dbd4ddb584d83712ffdb3dd903f5f1c8caf183df1f335cab3fa26b7ef4af1f9aad4d2dee5a4ef9d5ec42e37031f0770ca405ba8136029651ffb606401d6ae676ff6a13085778218bd53eed19a47e389eeb9f678ef92baa0baf6f229e9b5f1f11e1a550f1ff34c2b75d1fa3e0e6bdb3c617e14321eb5ec4b317a460ea5b88a88eff0f0109be3c8b53f927a3ed4257bbfae00274cb86106fd300fa2d6f7b13368ca66267d7e965411927ccd80affaed6f7deabee8d39dfe1ffb549f01f6a52f987b33b32277748b53506309e3b6766ddb02b6115a13ca93583015f2f65a3992b09e75a6fa67a341fc44f6e2b989eafd07fbfc72388b406b45b7013733f730fed6b714cf501f444a2def21de58c4f31ab5cdd7a35cc17dd284ceacf48534f5b819e5d7f0ce05bda362fc7aa43ba27b912402de68e1e933ddb3f943b8e8c690e0bd8f81e300db4ce49ccb64b31f62d34f7798b8c3dc2ef0ff2d4eb0b6ece13cf3f40e2315e259802bd0a9a66e73fef53a7b3a27eafd4969d7b39e5cee789333f9a8dd5fc3df36d8e63eae52cd3046b7fb7adde6440e016f4020a0f7aca4bfa6709c7827cb606f2732e761bfc2eb6a027e9747ecd341eccae0fcdd1e6d43c560e13c65954dd2b09e65833c58b216703da62fd78bff7cbd90b902f5ba109cc66edf3118f7079c8abb7543cedad0bad9e9382662c893b1e89f2df56450d7a64d90b1a5e7c8d4a70ef33cefd606e607b8fa19d26fe05e8def455150cff2ae2f78d8634c3c5f26d750e0495c4e7ac1fec0193963daaebd781cb7b18621915faaa0b1be1ed10ac1e2edce0e2076537b56e7c138f8753b0eb7bd8d702da03a1fa0cec84e1267c5ceb61249dc5e7bfbdddd3ce32f92d0eef950d7de595409f904a19e2239df28a259f85cb7e64ab43f847a55dcf607e922c5e702ad5b9c4ff1b1ef9db5a2354672206efb60d0c32eec70781d0ae2bb9ecd0b186ff331de0cc9829befd9fcd5fc7187f802f9dad9fa7e4a15414395ab9136ede78c0775f1add8d0a6d34eaf20977ab09f831ceec61963fbb47e7426cd3ef52855b9073c8c9e1c945b9d0afbe8eb88528c0e6ff114720970dcf773a7ff836c23f923b301fee17fddf7d098c03ae1a4ef502fe276affbd22bb466d65e8ab900fed731eb633d806e32afd29e6e42f574930be457f3d45fd6ffb8577e72f2910decd0bfd53d7b580a1aab413ebdd9c727f8566a5817ed19f449e3da79d1dfc392c2edb713c78cbdffd735fe7a8cc87eeb509073f2acff7f2b4b077a2ce01181bef97e775e1aad0d9a56eee2207ed03df267ba47f85aefa89fe81dfb5646ba0f324ac3fc3e9d0e05e7e307ac87474517ff3aa70b45d40ab76edb0bf3f7dbad3b3db6ecb5a9fc729ecb25cf892277b4f91ffa38298216575d34db3e3ea03e0ef5a77d7cf87b1f276d1f37cffad8adff4f7d8ce305e6f45511cfac2a62d9e8e9031ba2847c0aa16cd725e01e04edbab4f77fddcbd038e0bd49c3b61870fda0bf3ffe32ef27819fc891c7b57bede60d95f7882f9e9c485fc33a5501871fcedc033f25f5001e2aede5fbb71c0b780ec92d12ab58c6121a872e6e74c3eeb88856c50fb4f67355d4be25b4ff8f3e900c803ef1b85edce6d3bd8f6607f1f1e2471b73d68bf7c4793f1ae0de5ad3aff9e28aae693a4bad323382b3f5e3265a3bdb41bcbc473018713c2c9d06a365e431e62d0e1df4f5e5f75a97e2c738f674104fe4c751272b09ee4241ecf5d3cea0319e389ae74e35f5ebaa9080db04f2c67bfa03cc892e2f72c3f0d8e757cf4047031c5f47dbe3bd6d0bfe92a09e253b07f0718b4f7d96032ff76843e6095b639d469e48e2f684f6bb00d9f21c4d38a83ef681c01f760c7ff4f4f1de021eb0c1b72e2e13a52e73ee5f3b29f6079e7b984f8ada09d6598d41a74d2481be0699b9779dcd7e276ea9607ebaaa8c17a3fe554756e3e9f4612758875d4d97a84c15c72e34e03720d8330137f9ff78fb92f55495efed0bfa0d02a8890c230a026247cf4c200a02ca0936c0d57f4fada2296c12f73ee7ff0df6b32b485bcdaad5be2ff0b92f55bc363097e06a6724f1c5ad75cb30bf92b96778cfa10b9361fd25d37f6beab12cc97569eaadf587a07ea8d617961534961571290a74e02527b0ebbc625438164f6f302753ea12b27bc68d421f7d9fb52ec529cec7c1d7e3f7c0f2a2b5410d2188c15ea8f7b09e8ed7b6a5ec5c932f360ce89da5389562cf32908c88b01c69f6bb4c1424dae746a93fc5e3ef9b3a5c6f4f893c3101d942d17b6503c772673ed63612e45c42ed4e8dd72e6a939b7cc5b8c438c271e198ab07e77f42de74672d712ffbb10282cba3ac744c62bf803d16c9fb78c9fca60b4c1ee9fb0779aaa47fa6f3a37be9952d59f5dff48e2f8691413f9df73680471a347e379f8b3f6c862f1db5e56f5d24f3c0637402f33ec53c7bddbcbef7e6bbb5cffa1e21ce8fe7cfe23eadfb33f0c7277c7dbb27be3fc99fa3483ddce706b19f18c5971a30d5bedee408fad37ce874cf0f9471e37f7e5a9706758da19d38c6e96c59f9d031b270351961ae40e0a192fcda967b9633e51372df9f52489fc77ba445f8c9b43a8f7098d91adde4d1d6e77ac83eb456e0bff4923846fa449b4b37646df5412e1db259389e9185619d9b97b67ac524af73e27ebd4feb83bbb4397971220bc015c1c842ec2a06d5bd77dbbe2ea0069aa7dde98a98033c7b5fd742e4b61339a2cd35938776c49b985475b9fbf42e175e4f8cc3da0aaecba2cdfdbce7782074b843edb387dcc0783bbd06a2b5829adada878ff349d7ae188d3e6f3167d11c79251e80e45b0707a3f92d6691de08dfd5becbbbdfadf13a801fed591d4a287ed77521fe983e017e32cea5ebe4bfa2ef06bde40e9303edb7c4fd20c7460ff198ebb776bdea983eff35fd6ccf3f48b1c3187d8f93089e9eae3e02b9afed3a83ef5910f246b66a19d08ced9d4c68df8f3f835ddac80d0972e06db3dfc82647e0294715df2bb95338a61f7f4d3fc3c5a1b1c183ea1e91633a816fe654fbdb88226d0227ecd437b195cfbb1b7312ae8ff40976a3e619e4d4310665307c013c4cd43c40e72e4de05f2b1d6b6dd9967446b274c5f0fb8da0672e37e8dcc7e5f2ec0f721e9bb8582d8f21ce2118853f8d8e3e770d2d9a8d3d8abe3853237354316bb8c5a066b5c5d2fdb3589753f165896fdd63808b12c0fb343145315decedaba27d963361c27a7bb6c92f75302e5f017e44c0899228dbbc86b2766494f1e43a0ff3f4c7671ca4c061681c2baeaf29f2f2a76beabeb318fae2087a73dd82835ad7e7d74da50be61415eb6bf23997ef7fbbc64fe288b8e6ba50f3eca76b9a7ad0a6df26d7d9f4f3a77e0bbc5e7cb669f6e4329027f83edf7fe68a36c99c3d5d2ce97afc06605f8b806f82ec1ec0aaa5bd8314bb87f5d635712e5ff5cc1c63a23d7d66e2f6a49e6d4991d59362276cae2b66c2eaa7eb4adf9a5f1d735012cf2a6753fba76b4e8e495fdaefd23357fbe9bbf2e0eb10b563b43f3d96af1d9949c61fbbfc2324fe91c4adebf33ebc9e9f02670bd2a71890453bb74c4b9f8931eebdd670ba35bf7be34ad6097625af466925c776be56fd3655eadf22424ec59dbdb67eb680ecbc9b5a87b0d6e346597def4df35ce59dac694432c3b68ccc1fa71dae99eafa53f36eb58c1626efa4dcdf7675cbc14d0c08fa1afc9e079ac27d612c9d3d7d984d57e715c63c9fa339bbb43e339f1b8c5d66b0f72d34ee034a43f351a31338b75e131388c3d0ae69144bf35a5f03f93d7abbd658bbc8a959d4c4b05817fe762edec10fbc64ad3aa6cd6e383856d8a60f31bea519a1fb29b6950e96266027cfd1bc5b5a366aaf2ad9c4da4816c7a3c2659cd4158c6269213d63a0e13c8b75f53d0a3e56cf758d8ed0776cacb9097e9e49378ef81c23a98dcf77e6e84fba88600cb7186301d9eb31eeff7c88fd0bcd6f65f3db14ddeb214f452c854e55ff4cc13c9385ce1a40f739a1fbccc255543f1ff40ff4bcbbfa9b397af6edf5d9a3eb371cc689047b00c9360a64f55dbd24e90776d478b815a0be03d709e15ac812cd1dbb67145e629cfd09becf17f1dbfdbc7a1ad36ce6b33b85f981f920a02e798df6706663aee3073647ab5f14412c6bd017f5f73531e61fe6c02b722a9192bbbebdd47db04ed8c267f8c2e181c3f685f70beaf713bc843f609e9f57ae6bc6ad5a472ff4a555f7251dbbe6f0f918b763cbd4dfa5836f88bfe5d47bf81cbb7e0e4dacdd17aef39beb2aecb8c92f73b17dcfb279cf8a57db635eba2efa03fd8f94bf45937f003e8af8636b89cff4ce1bcc800cad97bfade7e85c27ee27f46c6f9f95f0194ece8f587ce5bc8cd25944c66c490c9387396b753ed995c8271bdce6af6dd4a08e0ffecd7b514a93c33601ac2b8c7727e21c36553a6dac20750f4af8132e4eb75657012c6f5fa33f5c33ee23db6b114a93b5ee485a646c359d5f986a850f24c47baf3c86eb8921a8fa80b7287aa4c53567048e593ffc5d68e4d34fe71c37661e35b210e3da3d7c178731a875ad33e078f9fd79063b5f1bd274adafc299e0c7fe243e6f2ca8b7d07c64ab69b7ef106f35dd50d7943111c3fce058ebf146883367d2603ebc8bd19a5f47f1626db0f3953e702c8ae6f5c8e7d79c9821b90e7506e47b5083f15a15333237cc60e2cc9dd08017f1e8dbc873d7421c692660b0dc3d5b0cf3bdcbd0579781ba4a6b63e6999e187bc78c990a0beef13832c1c5c7fddcbe93358a6c6b1dbff4eebc71751ef65f35cef57a99ac53e7d573793f7585dc7093e7fd62e8036da53bbcc5dc5d37c738120f9ec11b0b9de285b5c1fe555ffdf04cc3833a21fdd1b8d0f83763dc3e13b0b6ccb521a9aabee62d4a1ae9940e9cfe4beb84e6dac4b1a4d44f8c48877566085ec29ec0869e2a3fcc3b24dbaeec175373c5c7c06df7c8ffe4a88308787d041e73746934b555f35a5e3cc221004c0ab256d7dd53d705d31ffa6dedfb871b66dfb289b16b4c66e003073a70bbaf1b9db8f2293c7a463c4b1eaffba5251ebf7a5486b921c87558c99002e313d8b7f2e2f1b7ef6fde85f5c2e003ef358feffb50c63cbe371ebfcaa7538dd9db93e3acc30531e64dabed28d0d9aef05c2d7dfc5b09637525fc338ffbf240ca61ba80d8aaa083fdef55fd033c9f2ae6aadd98f387df243ec845c6fee455e383ab30ad2bac4188e950041e14cea5843c9dd57923f0a5d6f3cfa44fc80da3cabf38398a6a70ae63bd33ceaff2b9e6996dcdcb453872dc9ebeb32d2916059ef231a629b245206e56fb9b4461b2c33a86c438e60ac7e6f0b33251f88c3de63313a7eba36dad76b50c74e3ebc1e746a1a38e90de426d047d271ee690936bf7941062b76a7fb76e9e1153105b82bc2622876e4ae605c3f1d836571f70fe14c98b2bd253e07fe07530e77bc79a971ba827699f7d9bf72715f95956f3aa6ff4162bc3549ef5e99b4d9fce9696e25c3b9213977bbe3f625ce46b58e59b8e5d812fbdf2b8334d961605be70545cc7e05a230ae22f10ffa97047d5d14eb2e63b5160cfe234bef89678930b8d6398be10046e8864e83c9e85237d0331bef9c54d9c0cf437810ebe54188bc837751c135547583e85fd10e30b013ee31162251a1dc9828173aac228dd9ad066bd03cd6e559cffb455f3c0b7d6970a0fef0617ea692cbcc65fa11fe6f54f57e9b207f941556cf0143e3b0f38ef3969694486aa47f1646db0dcca98f398c3be9f8931f615ad983cf07a7309c9212f71029bd1df453ebef8ea28c0f1df35e598f4d5c7f16bca2d46173f41b624e40356fdef142e43edbe4c96f6c2d11ec6b018217d7fbf319dd46670ac77168e786463d663e273a381db330a11eaee828bc38d205eec15a3c8ade2df6ecf89bd240f3c6ed4db58eba3c8e3f76eae992a6731cc2959cde3ea9b6ff752e022d94eafcf75ae7fdf2791633aa98b7ee38cd2e6605d55dfd6c9bd3cb93d29065960f6772e33d843bc1ef0c046689f485c01e9dda3936d45b05e9da911e3393fd9611db98fbfd7bac7f96bb0b4c2f8c3569fd717b8e1e3f526f51ecb391ffbbd6ed6169691a2c016a240c6ba908c22de75d2c8a44c1452e097a9efe725c6c13773902bb50f1f6a2dd45de073c15956ff8bf7fcd7efd3d8404e17331ed942c52c66b7d86fbd1ea1f5be42eb9d1f051b4b2ac97d0af26cc3d1f9e17a1522b45eb35942a75f488617413c13fae7da26029c1cb3c2627a207bbd224aa483122c353a6d30464afa8c79856cd60b0747db9a2f7d6640e4080765931f26d8806de7724fce53e30cf2ff043db38be8c331f3d2a9e3a6e367b24af90de3622f8576b0e1ec4434ed440a27b90898b983566e72f1a5e1922af2bdace60570fd980a7e077584de3f69e4a646d3e8f7053339a2fbfebaef58f9f04e87065940a5334ebad5050c3721720da6f3ab632a3b4f60d11e321039a3140534dea36fc78a7692a5ec7c2688ddb0da47120ff2f93a7313ee312f67a198b96a5ea2f9feb38ca2de2acea8489e4aae4753683ceeed007c2ee090407f59f611ae53315e4cd577555fced9ad45c7ee741e2f7a1d99726cf4cc362faed20726478c9d6627cffda64f3098a6ab4c4ce8d84bfc583507944bfba92f040b975ad39e90c35e019897967294b5e36ec5f067376141dea36b4461707143bace43477d97a2fdd67f3c7701d319e979242e33ece1ea35744da3701803c9f98bc1c4d46632b8aca7c615c9606493aa806bb34b17e148f79226cff0e458d2c1514794cf0c9bdc42afa8f6279c9f55a27d0c7438ed58ed097f2ce73f30a6f3086376f48cccb644d023ab7ca381282039380f90fc72b851f855bd13b21fd41a639f079d3296b968e7f6c4dd23db027e330d6a23b011ce97027c4298b377df87e5fe1174319c5f88f623a42bc648efaef280ba3cf39d5c88d57dde5f17bbb3d681e259c25f3d211fd41c0f24770892054b6b75b6add1d59d4635e727c90151e186d7390464ceb4d8c19c24f3f6ddaa6ed32de98f2dc9e7c50517d00385ddd12d0033edb2bdcd2bbacdb7207d6cd85e0bbce928fb52039c97d8e1a680d8cb0fbfc70f724abafde873757e979e6e2d58af87a57522fd0f938db99edf635fb658a516cda61e857d218eb962450d78d60737f7013f86610e4e7f762f1edd2b5cc23b632c21ec737888255fe56e567e1c4b443233f74d83768c1ab7c7c0feb4a6bfa0ffd9991097d877b58eef75ef267727a87058b716439c3fa5d9193fbcc39f26f3ea647e78930fa1dffc5dd7ab3ec287eadab75e0839f9f8fd7fd0255acc453bf9894b7269eaa8df71dc78c2d3bec072684ee8029f7a07257be2476115123f11e7155f602d87596e6927c0b25a9a30e72ec08f52e3fa5778cd5eed6350eff16abdb0cec39562e7a0402cf2666cd90de0f413f9bad63aaef072dbfc7d3c5e07c75a4b6e12531b93cfaaf9f3f6c36f47b9b64999c9f1c97e55225de4716deb35942ce5fc44a6bed79c89ed9a27eb8e46481fc0f1c330a76649d757866c9246bf456bab374f6f7c77150e03d127d69cede89595ffa3cb8f85796aad22ef1ec7be2812af989a4d6feac97f9883150723e426ac4d7ebfe182a4c2a63fd658bcb21a6580272b78e94cb08f3e0718b0893c5d655f2ac8b847be29e0149d25f7bea7c7feaa5d2aab7920dfbefb418add641d7be135acf1b4b02da71c6761ff8cf509f87b57f164241b731e54f2fbe45bc8ae8c4f9e50c7554681288c0ac71c448e25ed5a3b15eace69d9ea3e1fe3bd5d8f7e0723da70bd98aa309b499e9a35fb17b86e04be6f831df651e1fcfe824f4762803ec221d7d3ed342f644ecce763c00f8b1fbd1ff69b3ee75ec3f511fad9678c1072d269c09a483680a1dce4c435395bf538e11cb9d5b9f2dfa23e1f6e393427b08fd64b8c339a7fb29aff9aefe50a6ce0201d3dcc3f1c24434ca3c0582ac03101fc1337f29ddc43b3ad45a5b31a0b911b54b6bd41ea95d48c93528713b32fc638239dc4c3bcf2c0cb826445c7b749ea04101ba6d957bea389a1158f9e336201ebf8e0c7f66114d8cc6905181f498c741a2247f58ff003ffab5cba7a7e02ae2b709c808d2a9e3bd76b6cb138747212d9869761afc07c68f3739ee6313fe39a4ba4865b6ec22e4d4297a20127f08effcb5607cdbbcc22e0d73b2ff5661e7c3b565ce279fa88bf6b47f01a3de11ce3eca4b643a06ea4c38537f2974ce71daf969652328eb9debe2b319fc4b30fb60b4dd7f5ba5e719bb31f7fb821e4abf1b639bfad4b27b814aa5a3f66806bfd90ec053f4c7e91b50cfd96ceaafc7db466b5c4e8fbf55e08b1e57ee6623db674acd5116307437d19d4ff203d89880b93f2fee578745bb374cf3d85f6183166b78e053955b42b006f12ae11456b7f4aa5c0bddad4dd180bc89bc27a025bed4d1d3b5f35078ccb547b448c71b41c6b1d7b515b67545d8775511deae21b7ea01673263abae1ae5c8ced147392c0df8cb25fa5180fa6fe5b4f6ff05bd21bf91d4ba103fb34f19d6f8e9692b96cf1d6aaf6ce6a7caab85bd1f6f92afbdbef750b629dfcd09fe47a7a19a387fa55ee6e2dc640fa7ae403ce56fe51e5ff6399d872060480210d981543d606cc69a53f0fa3b4cbd332b9c941c1794437722aeec8a9c460b7d673d9d4c9711026ec6d9d5d5323614e1a79d5d617489a2fb085a38e2297314aa8c3e74647db72c04759d743d7dc885ed8df6926ff0d7d6861dfb2037eea4a5e70a3ab6dcdcba6ce90614fe05b33a4d8991a7bc7924a5cf3d4d15b7b1b8145e382d78ea5e018d8b4bd66168a0db6873cfeccc83921a3beaef062bc9094a9181fc84ef218e9202ac6d645fb59b766baaeed62a26fa9805a38a4a3d35dff1be6df10279d9aff467e625f0af889cf77981393f8e45a4685a93690a0de05c7c3481f4ee23279e6f67cf08334313d218ebdf2b81343efdb6ef08ebd70c67d865281de573c4b653507815fe7147f19f3d85377e9ecb0bed4b51db23a403a11b27d6ef15388b5ce538ffdc53ad4a713fb108175d3bf2e0ba9ebabe4c46f790c9cecc479c3908853868b50bad6eb6c63421ddfb754a06f3a953517bf5400aef34156b383188e1264fbe39abacf031eabfe6e4dd4d5438c14fcb8a38b9be8b8be4b086251389ddd9e7f6ee79348c64c7718ef44a96a318cc019ffdcdf226f9cc97afece5815a31ed23df15c880f6e826ce3d5592ab14d789bf355c99dffbf320b72e41ab9fc88131cc7ab3b1c71fa138e7f5fad78600b18abde0af551639fc2b898cd7b46e2d43f3a667fb711f8b303989c1ef4b51b0ec0a6910b2f1405beea83fece1086bb8de99fdd5ebdb6eadfae10ffabed61d8e78578bfb1a09eb5d5afd1f84fd1df4eeaf68c529ce2fd69167ae9df8c4587af6deffd1dcfdb1ef3b8d678ff7fc9358d7494d3e285bc65c84336d9e1f6bedea8c6b068b9df00b79e7a81fb4d7c8917b3fe46318ccef0ac7fcb8bb957ae72f3ed628727ae7dd6634e49e8fb7292623cc8f8240237fe09dfeb99fd240c2b5fefab7cd193a2e2c309cd42fcc63a9897d6585f4bb40f5246dfe376a1158adf6e013823ff8898c3b7aeff3ad6c725c08fbb9f070f7dbe24278c51638f07053a4ee29d28aa13571c93e70e3f1ce0dc47e96c2c2638f7bccfba2181c32e4499188a29e6d8a16e381a4f685e15fe382db11d0698bca53c065c4534a7debd625762bdfc570e48a6e572dcf56ee7d5f39cf49bbd8d1c4795bf988ce1cb5c3cdc72b370275eb8e04bd8ed433158aae4df92eb18d411783ce9536ca9b8a61cf2f11bbbe2b7f7b7316fc81f7358da6585db58afcbbfe37f04df9d447910ebda91f5982daf07113babeb121e728af3f53576e2c33e3004dd067d13c4b07ee7ac6794527f85b35e6b711107782e4de7c0abf5a7789b154736700f571cd9d739179d9db0ca552ea39a43b7046e7be078dee598ffa53e8eb94fdd703740ebd91b53a11876df6b26d8ac66f2d4861b9c36663fdb8ce93dc61c6dcf11c3e8c32d820f740cfc3461fb9d2497e54c702e5e328f9df13110d520db4ef3e3767a3d825dd18c41371f40ec8e7328abd7c03be4432f1cf4bc24aef4cd2885b8f794cabe7a9df3efb057eabda5e1a199ea95ec43ba1fe07534389d1b3548e4bfe03a47f65b6383a07edddff084346bf9f3cde36aaec455e685f919f3e4ccb30dc8a27ee686a782e0f745fb57b17d8dcf9a6af15127d779c3a5ae0c6415b0c0299bd985bfc99daabf3af2c751a3440a839abb37586ad411ad4993e17d591b06a2b57a17e37a0f10d17a025be4e95edbe11755fa2f735777af1b803cadb1a3fe4edf4836e62022e3ac4f65c6a4e63e76289c6f87af5df6a0f6fa991c44f28f52b8a83b4eb77e664b3cb6dcd1d119f4fde9bfd329400624483f5dd53506208731a7be4d014eae2ac13788614e2f55b45ea1bea194b513609e9a349548d57bc1fe87ef77b71ff91a152818d7f18ff8b07d2b1f8a50c374c2e3f01c07f252c7af1d357fe6ab7cebfa02797fd1f82e919e136536fab697f8d4a3eb1ff1a9ef57e51ff2a9a76eb28ebf266cf257b8cb7bcca98cb9d357e90ccd17c1e86b8c5def0db9a2de8cb571f2c9f3d09889969248fbc905f515f1db5151af27858b860a97ef97e6e428b6bf8598873dea1c7bc8abae1dc197ed859d7da28a098a19d60186d8d79fb085cd18d1e2600cb71cbfdf4eaf818b643bd33ce339a6d6547ff38a1f63fec3edf8f3dd2ddaf836394f089b3fbff11de79696367ce52fcae0620e7ae210efb7dae45627b8d56f805f0fcd7502cfeb82730f5ee2fdbfc3d77e45762a6544fdd575edbc2b171ad27fbab64a3dbf67608faeba631bf2b0172db8e8de57d37004430e2c1a5f8c553a3d255ec29e1609fb9c039b41b20ef81c8f0bcdeeea64fbd55dfdd62bdfb9d0bcf63bd556df5ae03575913989c077117f1be3db78dd8d4e40c457acb5bb31e8e196bbe1ba4ae2b3385d0fb7c2e471ee6208b8354ff5d56e4c13f58b9ebf2607bd7b39f6a0ff7e8a67425e065aeb05c6a983fa07bdf6b31058464d2e2af67979bd518131b420572d25fc8bedbeac0e3c378acfa2c0168e6014adbf92f09172a3b3cbf44f15ce35998b55c5aa83c04ff49dad8edc4718ec96ba4b3b31ebd76c257acefd95ad44c4a56d7a5ec0dcab6466574fde68ffd29e4ae2b3cde4b42318e5adfe635bbfeb3f36ec61f3cc37d7b157b2c5e2575f4dfc8aaf2625df6bc90c7fd3ade879f867bad5c61cecdda91139d6fc6fea378b56c716519bb89f42ea597fb6ef816c44fb347008458e152c9d50ccbe287ebca20c4da7585507dde99a2ff6239085686f6cc6efff5c6f82f7aabf33fc4916cff77aff4f7d68ffdd9828fd456b1f433ec7cd38fc6aa7d6763292f1cdfc2e44b4f77f107df05c1f51f9ff35b6a630696c4d52bf7281e7f16fc7e3157f9dcd287f277f1805cb9f4732e755eec6b3c7b02747bbc1a47cecabad9e43f861e0dadffd2ff3bdf88aff65d470621ce617d734fee5fcdaf5657550ba0c1d575cbbb9a24dd23adf029de795742073129c03bc3a1a9d127fffa95c28912eec5be0e7b8b8e64ff8bdb54f378f677fe1c3807cc457ecf5f167defa31a341c3c3a279bff8349b9a54c28f400752e85ce4264f08ad8b88f0f79e7cd4b7a84fbc920a1435a797561dbf3951dea193b7b99f0957d643fb9c960532f01f2baccbdde1d5a518b36f70f5adf951169406fb6ec6f1d4769a9f5bff0b60eaa50b06de215df4e8bd8df1c7d05e5a82cd3cd559c7a291fd1ab8423ef8eaad8b2feb94a2fb54389c80e705f2f8900f5d6e50af8ba34c5e07b129a58947f91daed7c1f33cb79ff4dff167f177be159bf9cbeb7aff814fa644ebf72f7d3270ed0b3e1966f1873e198f41effd2fe33ce5aee6e8ee29616d9f2b98b308d6d004ad2d1acf7b85f5abbe40f37aa376f39164eb442399e61d56c7760d830fe68aecf33b1f4d75af2a97bfe221b159af00ce36e0987b6ecf3dda2bd30cc9266f9a0f45d341b61a1eb7e7ba48bdee598c67aad43cd3419d072d6be9bee556c7f63ae44d817dfca27cda7b7fe8bbf1f23ff4dd343960ffd277c3cccb3fee73d7229e2f626c9e8f2697789c5e9eeb073fee71486f2272926bac14988f41654be37dae007ed0ea3c1cc7833a49e2d8cd3e9c4aa1532ee9930f18759111d8ccbd9f9ef437ffdb7decc9baeff29041ffaf9efa74509f607ef0dde0c6c6c8e748cebe1823afeed38995cf4bbb9e03835f6cbc8ff5849d1b02fbed980305386dd17c00ae14a3f9fb9643f907d9da70b8ffa5cdd75cbf9de6e9e3bc1aecfbff4506933a676ffe7a5c117073fed4e66b30717baff87e94c6b7ba182bbff976da9aa702fbf16687f54513d89e634963db9ac748ef78c997a7897dbc773679309db9606bf4e5517fe33539a05cba8ea761dc4a2f248ed1ebc0291b5fe68b7afca496cff16c8afaa4cf3ac6a9b4b44aef8236dddcb3c1ffd446accdf018bb508d3faa1aaacbd28c9afbc91d0e2b3b91a7abb7ea7ee745b28e5dc1a01c7554f165e4972739f4758ddb634ebfc3fa52db612f8f6158c5e65ef4bfcef7bba2d9dbc79f835656eeca1a430acda7579f7f9b6fec8fe9549eae6a9deebc3487479f8bded0de28b7be6964739c97ccc05578eadde706fb8dc0172b6b7544f2cbd7e8f3b2271eddf09acb4dee971876e28ee30ee67989730aa26fa483be127754c6bb1fbfb19bcb39643bdc398d8edb67c9fa5277cf5e16493f036ce5a4ffbfa5397c036ecd4616bc245b3a9c91ad2fd7eeff49ad0760b8311324d7dec1be78f8ec5b3febd3fbc5b3c3fcea0a3105e3f0e45e0d77647cf2aca9112dc69fd799917bbeb94e9cc4f1c5302f96aae45a7c4e2b63e5aa70b4674df5ab523a093ae6247a818f1989a349704cd98fa2eabc42119cc45245c8e981f3c7bbd2a6f1b39cc4096f9e15c0b362746cd557c69f27b846701227a642b0d1c2dddba2fe9d99bbf8f7753c0f697c4f785efca11ca810e90c0fbe2b44cf326968efef9e31d5f13342ccf1b1adb0ef6555fc16f7c310e9cbd53d13471bc5551f5c9d987a03ae4c53f9f6d5ecd8bca7265e1561755c96c750a64f0170b0d0d47993b0a91beed0fd53b91053e0cceae9df6218413e9337a642793c7c17c3936baba7422e4474ff8ac3253f5bcd1a93866218a1eb42a467d738e3b230fc46efb054abf7b7aec067e27257e0c07d5956a88353658b26b2950f4dfac5b5aa7d36fae762ecd5f608b380e351fb9e9ce44aff933f13830a679c74007ec8d7e67787af8f7c672f0c02a41ff81ce0585f5d81df3b6a90ced03a50a3cc815cadf8b9addb95bdfd26d60d7bf6849dd127ef4b50d07cea3b63c7fb12567d68ef51dbc6edc4f17ced3387f985d68be62796ca1e6ebffddfae2b31f17ecdb5a8659f2ce82cf6094690374ff44d309b8a2999cfb6a9fbe8859c4cf0634eb3f0daff0c17a13412c36b78ed4f88b648b415a2bd22da7adb7e87fb04b83d21da22d15688f68a68eb6dbbefa1f6181f87f61eda03b8ff04da1fd08ef0f93bd4e6713b22da47a29db5ed77383fc6ed88681f8976d6b6fb57d496709b22da7da23d6cdbef707e8adb14d1ee13ed61db1e405f2df07741fb8c8f43bf2d715b21da2ba2ad136d9b68efdaf607dce782db0ad15e116d9d68db447bd7b607d057066e1f897646b4af6dfb03cea771fb48b433a27d6ddb03e82b071f87f600b7876dbb0fef3672d01aca1689b83f86b6a987336e363e84e2bb18af8ff81ae86b6ac3c1795b749ed753d079931d27be8bd104b7c3b61d90c755f15d4caa76d1b603e27800d7e27b861cd1268eef89e301dca73a4725dac4f13d717c0ff759413be2daf61eceaf8eab441bce87be98c41cd1268e27c4f184381ec13dabf355a24d1c4f88e30971fc00f7f4703b6cdb47e2f891387e80fb54eda26d1f89e347e2780af7d9e17648b4e1fcaa5db4ed7fe0fc08b7c3b6fd4d1cff268e67e4f970cfaa5db4ed6fe2f837713c238e9fe03e47dc86e3551b9e95e1365c8bdb678e68a3f3a32b6e176dfb421cbfb4c7f91d793eba7f529dc311edf638bfe38836791ceed98736ccedba4d1cc7f3b93a0ef7a9da61db0e89e3783ee3369eff43dc0edb76441e87beaada45db8e88e3309f6311b7c3b69d90c7d1f987aa5db4ed84380e733e86f5c5c3bcaddbc4f123711ce6f9a13a4725dac4f123711ce6790ceb9187795bb789e330b70fd571956813c7610ec73a6e876dfb9b38fe4d1ccf88e319711ce6f3a16a176dfb9b38fe4d1ccf88e319711ce676ece1369c53b5e159116ec3f9b80d73bb3a0e733b3ee276d1b62fe471749f43759c23daedf1097c5714cb48bee733d8c7d24d88e4bba922f9ae31f85db12c6361efce6db4078907179ff706fb4021b1ff366fe5e77a843baeb578d9abe35229f0256f5fb34f074a9bef31509a9cdda86c31a8a3bb1cafc7ba31e1cf33c156cd487b5a9eae904d5dfb0cde7d2e7a039d5363a1367671803cdf77c2aea07eb02bda189dca22bb10db84d35de1a03633416d4ae1f3fedc14519b813603ed9e1353df33c67bdd5e4ee800f354f4d3ed3477ad5f6ce619b2e7acd437a9c9c98ce961f5ff8772a05d5ba5df2d2b77158e1a58069c379a19a9bfe5dbb6597e9e16063d34e94175ec789d69d1ce5287afbef3797658c71ee47a3dd4d589fe93c06e9897951dac893d3bb1c31970e94c4e5f71ee7d09eb04fdf625d88cc5237b667782ffd179c2901523f47d796dfb20bb079f37aece13f410d947229cc3efd1317bcf7bd63488e634dcb7878e5536775f491ccf9aee4a5b45360d8ca3f73536c027f035b6af563d96e83e70ae5e28e3e6fdaff3c4de597c4ec1bd04c9b304744e10a0fbf8a613231bcc12069e3595aa6bc53eb6a33e8b05dc63c22cc623f45bbe18635b5ed97f5ee17a64b78ff9fa9945f31b5dffb6ae7fa3ebdfe6b5bd3ff6ebdfeae75d1746ed0ba8ef59db749fb403d7295765fc897d1c718679f6e2da87917b0e9761df04f81e6ec7117c27fba52ab915afaa0fbe8867be9450fcb6d5532933fd6f0fb89ae1fceb52158fcb32adfc25f37de523891ccdaeae5d274e4ca55fa5c48a619ed47e2167bcabec5723b21327b10cec73b1cb3b5fd2b17ac7fa99117ee6319419e55b3c5c4399b9625fc6d46efc301baef2c370e087c95c0dfb46cc621beea4d8476d679a67ee343f6da752bc9dce87fe3467203e50889953de9fbf9ee68a36cde75b5ee2b7fc7c684c73735d9dff55df1fc6fab3acfb4e192b0c8c95e9c4cabeeacf442f9c6adc9dfabcfd2871627af89bbf4bd686e14c107ff2276d97a6f8fdf5d49f9485263d78e6b7bbce04c7afeb81a16f55ecc7b2c3d3402ec454063c3eafe967b3a7671e97278f7c4b323dccd6448d9dc9ecc01f06e316a2f94a35fe269389b20d770d254e7af4fccc47e717e2b75364a89f59313cb91b353fcacc2a13c355f8d8b7553f6f553f2f43f302dfe71a5a7c1ec9e83bf6bc664caf8516ad870a2d4db6dcee4d34b25cd9cf7dd9c83d875f8bb2ba7b5b1ab9671f722ca7690aec67e21ea53fbd166eb21e2a3d29babbc7747d24efb152e90dbe475ecea6fecd37ffb5bf8dff037f1bb3d0f4dadf962fc64aed6f2be63fc6965afc378f89df1d8dbad6186116cd46b6b50e2c7ac87e3141e031bb77a85d9e8a996bf2d7453288fd2208b6d3fc22ab799d93599d23bde85b8b983667e1b38d01979f45a397949f659db7302f3fa91bbc0dba134b52a97c26f4d91a2bd0d186d74542f0a5632cae1af32c734cbe90b9e8432e4ed452e87f103a13e8568ba66f0c4a9e4aaec253991767b985f65aeb0647aebadfd21233bf1b5f3d3b829139809136bcff8d31a8a539b93bbe11f812389e6e8ea37759429e2519877c966fd6a9aded2b3ff956915ed360ecad035fe0b756491710d3c17858ef5f3d2aabce2937561a2f31dee0ef73936b75cf366f521f34633c86f87fb954d92f8b3fd578bebb5998bdad3a58e79267a9ab0bda07d7eddcbac1f3535a0c8f0e9e5a9e2d2dfddcf2647a9937a6f78f639d36e9a3fd12c35356e78b781d9ff2ee82f6082b5c9de5307b93b9d8b578fa636be5fe8cf132b46f4b9c1dca2a5107ccb1f7d8a7d695ccb94967e1f10dc9458bcf3d998b8718abf6f32c97c3e3b2a43d8bcf7d59650f334e8c14b5ffcfb2801842f4baef7c721441778f87db2a8e2e85f611e7b4b1c9e2a0a4b55eb95183f8a79cff2e86943dc0b12feae8eda98b49f7cf969a45b362107f09c65e168689940ccf1bc06ab513b7c0384db328e62d7aa46af47ab99de23aea6521d5fc7a47af27ed656398cf42f1dbdb1fc35b0e9f1f7264032974028c836bbc32577b732e76c598ddda0c5b382afd8f47b3e546e00bc75c6fad42f25fc8c748bf7e8e51be68d7fdb91dd970d6e2357ab4314f7c22b5b1ee06bbd21178ca36d8adc9183e1193adf10bd3af443f01bfbb76447bc22b7d972fc622ec418fd7df03ccdf17f349eee55255cfd4c6e6a9ee77485b8bc92f8ec0971b1ed6dbd1ea111cd03cbbad70e4df1aeca76440e4410eeb1c026a26e8e9b2b7761d22f7e7b53c8b2a66ff38cfe2517dcd6bf912d6ddfe4ce634bd9198653e7f8a2d2dbdb41ccef99398f21fee153776f083f12131449afd422ee96aef0d020f7c02c3eb623fc9dc18bd275d48a143e6ee51cbe295714c29acb3cc1fdbbf2fe83ea4ae031c577fbec7e58b31ceb7ab7149bb39221087dfbf9a9b7ad79f457e5e5a221ebf36a7259085fe50e1a066fa8cfaabcd27a6f2656f75f604f62a73d1bb5bb4b5e0383fe37a9a5984dea75e039cf3ffda77be58fb73276b906ee685784d1132e7bc1c7fb6ebf0b076dd987615e325bdf795f721e3c20fde494f972195bfb8a6efea197fc8177af0ac21fafef3cdf75fd0f7cb5cf64dcebb9980f41aa3dc70818bee6ba951ba4806ae4ba3bea1589fc358b32fbef75daee9b3b9d7f491a0a7b366dfe8e65275de13add372f2ae70f943cc9b97f7ac473ceb5dcc8de1966bb9fed17c47ba824770a1fbc00dda726e3732a487f7218b1e86804552610c03befc8bf2f00ff2788ab6162a02fdfee53adb17c6e951feaaacd67bfdab6bf8ae86e5b9dfd0229f03b65a652b76f2d9004312c6bbc540463ac4777b3ec5ba2596f770bfde8bfd1eb6f8b9448d6c7e57f7f8629ec84ce8671bb5e534ac7515c87f030e0cfe02983fb51cd3e84216fa9952441ffe980ed06f90a3f8bc4efce801f64d0ef98c5b8bae393e622c7ff30e9e905df64f8ac696664f7ff3f9d3ded2d27d5b0f3e7acd8e2e27bdd68e5e958d1d3d167ff1e9b7eb0ffbe8099c23e0e56ff2e712e9b076159e76959882bc40b31cf9e8df6c5a1d37a8b49b93df89159cf15acb8795fc03ecf797d6c47ed5d6358c277775260faecfecfabba05eaaf986cc2b69c0ab11cd498753c0511b4e81c02b4fc0cfed68dd3aea8d4a9d16457d5f8575e3536a614e165a0a9dbd594afe92811cf100e9f3266af3b4bf0827479bceae9689b9b9dafafb49be05cebcdd875c9cd2e55469fc0fee983a02270c13fbb2915d2da8b5305c97a732674fefa1560fea78f4444ae6684cee31e7accf440a27471730ff46c8866bbe51a93844aa7e3e2ecd41ec17a30273304c52fc8d2bd65683eb4cb03397cb418e6c6a2c4c3520f5b468c90c8f4e985f676325b3d5fc286b6974f3bc56b77e599f7acd6f45ea6eb57fea05fded471bed371d0663dde5b18fb130499c70c2974653950cccdcc3bfcae3bc7f078cf5fb6ff3431fdcb7d2cb5fb5118aa64699528a866396fa97b6035a531d1c5097b1775ed859d337e7ef02b7970f376dbeef50d1a201817591d6dc4426a3673e4fb55c08786ffa96996a9faaf6af05f3e8dd3056bfad06a96cd1afec7fe85db19ef4dc467980edd1d4ee508aa6b4b55c807d18e17639a971b872c8a9c4385c50d76f5763027eb731e424170a87734a4da6c18d1d11b52d7e1dcf697880aa9a0c4b15b34df7ba4a2eae71fce6bfb16f2b1e683b73d5fc50cfb32f8d06ffee4c10595f0d50df6e9756f4e6ec53c0f69e4d3dd6de83bfeae87351b6d6a8a355d2dba5465f97cceedd2a227669eeb2af3175f44bba571ff7abe32b7c6e0fe4de4449a404fc25589672fc1eeb01adbc5ef4708de81a708868344fc7526807eb56d6ed9c5e3e9405af9645e96c1a0fb7c215dd17e2e078bc73662650995344ef36e620cc908dd77c7f85c72b8f2709f05f6239ad2d7524ef576dbd0487745bbfb0add115fba7c4743699b05f9c9d3804fe9718b35bbf2705de74846de610cb71bd970f57cd5e99b17ac9c680193e35802fc351f3e5529fbcf9dc00630babbb74712030bb047fb8e58243bd7fc86a7e92852cd3aa6f710ab4c7b71c2eabc24ee4fb6bd2bbf17f4d8f2de695bf09af0d9d5827f60d6e74d4d17566da2473f774eb7b2b3fdfc95a015cebfb747f21e205f81cdb5c03c724922b5bf3c6f64ff8c819d3e98d2f0c6a8297e630db3cf4fb4fbafe7df351adddbf90f38739ec1f18ebf617ff4a18fda0afff5fed353fdef786b709f7195aab7f54ff84f549baad2b1773221e41c49cc401d4ca425bb9cac0c50c754fe4b8b5187dc295b54b765faf238db19bdf7eaf5dc98b99a0400c56b64ea5cfc450df041c910c5f3a1df90c7b92b9318d9ea58aef1be0561e845fd63ad6aa7897083e2169e00b8682e77630dc0afad93ec494a3b38903f36082f4197c1de32410eb22651ea3b3e8bebee9248e256648279a2512ed244eeced4f7bdb9ac762dcc66cb0ff2be6f0f9922fee53c25f553fbbad7b6f9e5dbd33d4fa7201ecb3157e45dda664354a17cc3cf0189ddc8f38976133c7e4cfa81f1ef79381dee3ee5db58371b213a340d7b5f3697294193d937bab47cfe2bd8374f1622a5c1cc8bc21cc23b0b45667c0c356edc4510727c79a97b6e9c7d837d760f2df8f255f611af254b848ee9e59c5ab7cb22f01ebc2e7b2507c30069ac95fd13761b9be63bdf2fe1c9d31a8f69c15aba84ea5ff07483e1f971692a77aa513c138811e83f63b872374fbaaa6d9dfd349a39762bb8821f42f06f5c1a2270d979a9839a4bea4357c90a92cec209f0c72c254622d90181f6147f7ce5cedc1b7553ea17a5db81cc119c7b5b5778099d0f8c663c246e1ff85cd409d14353fd7d80472d387514766b575ccdd7a7b47cd0bd93a9dcd22fbf6798a357b62e618342ba36ffd2b3ba21b1baf31ed1db5f2c96b9ddc8367bc2331f94e0eaeff3fbfe49b184f98ff300e82f50461926dd4bc6c7d34542e257da4f7e2da582483db3a6e6ceb731316e397113e8d90a7bbb28ee0ea1ad3d9a2f7799a6959fd3dc9d29cbb1e4fd53630bd646ce009f5c79d184b2293fc081acf36eb1038cf2a7f826903ef697dcce7886b841d92251ff5da14b5cf0f64cf12364659ede1d8974ebcb7bfa7e945917d7be33c6bfd15c0a359bd3fedcf048ff5f95352f92f0219d7ce0e9696fe66abc10174d3108da59e7958473dcd040f1d837dca2b1efa01064b8642ff1fb653a4d321fd168f15bac717e8d5e85b261ff6418a6df3c4fa877c284f6d5604feb939e51d8c3de0d0ed29d6096316f634ce4e44cbaec7205c9afaf986ff3cb3809fa67b8f0523b24b831d6eb9c9f1eefe09f6c5a0bd46e6a42ecf5a28551cf5f95024fc591d5e54414ca444bcc5180aa5d0eef03893f86456612756718b0f8dde2f8896ea2427ed49afe8ca38f26f64e7380febdd7fd799486e589007488f7e922b83f46a85cb83a571f2d17c72f779d1cea708f3b26a274a1622a4b7c498bb9577dd22fbb680dbb8fd1efb2f75bc47efdbca2fc8db392f05fd43b624e07407fe23b2e6fba1bcbcf363e44ae363bec763fd090709e315776de616d79342e35f3cf3fdff8265d8f19dfdd9378854eb278faea0d35a2776c1c42eb947ae93fc625bab52896a3b5ff297e6c37398f9e4f939aa39a016bffcae680ec69d30a810cd0db320fb2c3efb63a5a8f4465f8c29766364a4fe636c7e798661a27b046357e04f9e6044bfddebc7f7e18dd43ddcf40b6016779fb922b0d31ebdd30fef809fad573a74fca84fea18d6e0d1f513648f1a491cfbf4a36b2b7df7feba4677bdbfa69d5f8fbe05eb930f8e37faf383dfaa7b3ffaadcead7af81be8a50f8e57180b0fc79f31820d4507487fb634c0ef7a710d4faafc18b4961bbd0030df453376211feae53874d4fa222afca5ff2a0f06f65a4becf22e61f9d3f8344c9abae7feeee09dc541ada3386a0e5cdb77fb623861ddd04e908e8631cbfa649cfa39a74947df437674d06065e05caf863ff16f385f724553525980d8563ae3a476fedfe7d5fecdfdd0389c36c886b8f55bbf846538c99502f8e07a732ecac418e965ffc97b598ec97fa3b5f777efb52ada3de1857829a9438ee90bd6a3fb6c977b988c814d6aeee174691aae6d501ff0b746bbb69aa7b3a978dca8b1ff12b765d75e20b04eecdaa74729352e54b82be69a58fbbe29652fd6be6f4ad92b350745ae943f6362dfe4e1416d92143ae0475af6f4a38d7d0f94aca50ff917019f59e8670f3196016312c99508e731319323e8485a5ac8d355b651afc0e5f2523ee2186338cde8d3d72c3e7996417d6ff9dc95c7c37799a3de2c61f58dda1637f01c2e4b97453c94f92c94682a95b9dddb22dcbd89c6b5908dd397c5e7fe96cfbd5918fdb32c624f0963cfb2aec7654941ddc7ec907b269dfbb2ba7b5bc4d7337a8ec5d343898bd219e365b6465d2cfe7ab4f86bba2c30968117dedaaf714726357d335e311003562bdc18868d1c9da7e4f127ea77aa8ecf88a188fd0e2d36c16576638bce847ee685f945b64ecd75de9ebddcf2f148e349286be9793bcde30ab38e022eb61bdcb0577ccd7f90f704d831cf79e23e6905db4be72a46944849ff6ca3fdde128fc0e50b9879b0f6f6c81627732d1e635dfd89bf1470f982a5a927d26105f66b9303f1729e0af8412f557cbed7e41b400d4254ed87bb7a8d1673b437d63c31bfaf4b8c254ee06d62dfc5156a0bebfc31c28ecfbc3115285af62d33cad01d13f6baa51f21a7426decd56bc5538ebf3f81ef037b1ddba4d98703b17b87945bd7edf48aee1d2ccdeb9b5771cc54f76197a6fea68cd398e05249a48372743958ff4727cc336c1b75f3ad5fcbebd0af6d5e87ded447287bbda98f5034257fdd66017de7cd0b039077b2963ee500f80f6b562922b719f2745fab599d0c94d773ae7ec28281f9f2da333dba8d69e3dc236c47ad80976ca3d173db5a1f67091d7c8d5fa99585b12c9fce9571c5bb5934fec953e34fd59af8d479597ebedb6ad7b6f5b5eb550aed23e0fe4e956f5fbd5e811308e4e3f0e873d712f39eff8dbcc8cfb3a9d8d1095ce0c7ace738ccc36f792abe29daf184c6c9dbb3c14ca5dee5e2142c85e1876cc6893c5d1d1de314586a1eccbadc1341ab57be967b391f8bd88fa84d2eca8f7ddf890dbdc9828eb17a55d88b2f355fd70cee33cce765d49befa352d1146a31b60ba59cd073462f169af88f2ce843653c3c29da3197b534c678a2fabb323e42ad3370cdee5fca67a11ef01d3ecdb95b90b984f77b49bdf79179c02cc4f3a662e61611c65ce526c1637ff1fd9c9f172feb89b7b1b744827a6e345ec357655a5f56ef70dcfeb88ee2399edda3b90b3ef9a0f541437c21c539d511ce0b6bd7643953a90f22ff2f3519fdcd2b8fdf32c3e2bc2b6e9203765c180466cff067533db39b3de4c412f940afe5b869e21d7fc80379fcf07b5d3c172067a69617c43a3b57398d05b2e588e39803ac88c87d16ad69c2ff17b1fe980d162195cfc83c4964131601b564a2d34c437d120d6df0834d7211b09183d264621fe394451fa4cc42f3f1c71a752b0ba5507c17432770adcf0f31bc1ec4d0437fe7bec9528b42ccc4d00b17a198d8d6e8e2955938e3c4a1b83f865292e3dff77df8dde9ad3ec403f572ed3ff074b7fae39bd3a9d91a1ecdc20e97e3fec152a38b535c6f63369df171e31365217d534be3e778da9db97de962f7ea94ac0e783f31cefec4386dac35e558e207719f9d5becd2af9ed8d4a90086b185f93c64a4334f2137e2ac2746e008c0db5cd94e50277a367a52eab7c77b73ccab7a5e4f91de6df4f15ab581fb6c16af0bdb1c9468aeb8b01f7a3dc0ac2d062bdb9a970660891b87cdb8fa4d85df347f8ad6039a13f9e536ff61638de25ff3c2ca4ead27e4e5a27ef3db77877957d915c0dbe7409e909db8e1e06a5b46e974dabb746b76f9c465eb043c9eb6b9061e17297430af67cf3855d7168e35a75d533fa2fe9d25ec59e624c8091143a87d8deb635ec2a76e2822599039ea60bbb1e69a2fac53b7970f7dce4e440d789da959629c9d693e9485fe19cd0911fdcd8968bd646e38b8b8e12eb499fce2317a389b02c77c6573223db7d327a5ccc51f1b0bdd0be72601f66eb23aca6a4cca909dafeed22f261e6eb920057f262711f7e9725ace9275ecf5d685dbc338718e6094fe54ba7ca9bb54b648393cda63df419cc8c2f528ab57d817bd70906dac39e59883d88be617df1c50754ebc98604e1e318c1a0c7aa77bcf0c7d13f4bb495ffc04e30fc3bdc25d08f9232aec7319acd147e74ca56063f6c3993049a18e22314e6ecf8935212e7d24df2cf1b6cf1fde871c831fee537d4fbe87b9709062d7641947cf53afb78eddc428644e8ac1f78ae6c60fcf7330475e26abf9f9c97df62e70bd8b99cb3dfffee6bd856b4ad831f5dcedbc8ba3e2f9e65852e1f6c4702600066f675ebadc8379295cc14ec7e7cd33b7378fab7747fbd86963ad8ee261947a8009d24f678feb2fd3af6758c93f62dddb8cac0eb83a2705eb2e1ef3a3ee82745e623d2059f055f00f740ed8df8f7718d5900bb83e7a09db1305c85dd3bfac51bcc6fd7614a379e026c0ff0ff905a230d9d94c1e783d65675bcace56491b454cb72a516753e59a6d803f1debfdf5315fe053f7e658c3e1a28d5832a7a05b73067e91a7f9fe5f90d33a797720bf26a01609b25172b6ae796f79623edfaa3c58ca36e36c96a0fe5db1fe38ad6bf962db5c35f548b3c33ad89857d6e7aedff2cdbd8033bcbb0fd0ee617edc980ef5bcdef104b27691e8999b18fdee73d7eca2c4b582f8586d9fd889dcedbf362fb779df97deafdc0871e28f6f72cfd11cc1bc2237cfadf72fbda9c1754c3e9a25d0d7842f6c72ffce63b6fb7e449f57f6e33b79cfba0e14e64cc53d32e3a853754ee31bc1f54d4fb00a1ed7ff77eeffdbfcbbbf37605f3c8c61e0ba84ee3d5a9d540c175d1f34d91f99bba742313c51755fe23c34988b1fb2d9ff5e9afab7cf0df05c217c100fc674ef3283bd6ddd72f7bff28ea36296f0992bb07b79fc89eb851e8d25916ff4681e103a37d4abb8451e2c2df18ce486cbcc0df7300f9c443f3a5aff7fcb3dc6cbeddc67aab0caf8942e8a985a9ad119ef89f979694e902c2c67d3d5d966d8eb971a9c915d369b2adfed79eddcd8000f1aeec3568ef02c92d532e87750a38fe4e015e9fe52e85c66497cf67a2388edd83da3f405f62485907bd8c8dd4e7f1ba787d758da6d3d07f447bc3487e78d39283d01ecb48f06bbe370bb56efeb2e6ef242aa5cbc2c1439f1db79ccabf9c3fe13dc9f7bbb5f3cdea7c0a783648763ad25d7a463478803bf9569c54c18663846a264be46e5334161d17bb863885d5e9726d2b9d83d8e2faf3287c09e771883d289f5a6317622454d6ed5c1b1d6ab36bfca583a80e9704a96a69d48890df82186109f1c93a5fd319b20b94ac652d15ab619a3c4f90b147a2f1233a3cd3d4763cccc63afa7a4cb9e78bfcf5432c910e2fda6b8e39489c0efa846e9563b0637bf215b16ddffe2f5d6f33a8712f20ed541ea5a30c734bb27a5de745d12797781c2a13580749236f772d1c17763cfae69941ec31f9cbbf9b762458dc7f24c604b7fd2e46b1ec510d99dc7b0d6f5897b9c3136c22e5d32fa59ab8febf3a36d0ece8e797d93b920a872dd9b6f593101d21562978bce60ef8f279d77be8fcdadd0fa02d9265b54e6edef7c2101f4d76155dcf65bd5cfef1eb23f1216e9b0813345fa2b4f3926bce7c15121e7e93a4be68563f294a31b9983e7de513cccf75e125f7d4e4c974570595a9fc4dc5cf3ae80f35d66d30773a0ae29e6067bf45c5f309af3654e2af118ae42594372fdc9bbdd8e13f44594f9dce0e262bb6de0f520e761bf11f8b3c3e838a789cb2fad0e8d748c3c82dacde90aff3ea5908d0a35116eb21e6f843873008b904a1787fb6fe9ac1b2e886663646bc5ec2244f69474bbd623313c615ff1410adc647d7191ed04182d79572f0519b43a7b0c4b7bc93cc6b6ac9ddcd43ed7b659bdff25d2feb3b225e1ef73cbe718a4c8fe75b85db31fb6bcef11c11f1fc35cb7cd75b4b61c3496ad0db16771ddc2c460d05875ed9d665d84487e89da245d24fad9b6d6946dce8ff85eaba348ae1315db5937f316c718eee66bf4ed73d750061d39aa72853b7d7b37369d3cbd7042d692275218c4d5fa13887984748958563bfe2faa3aafe2c8091ef226ce8087af8ff6dff392e0e35f30fd6fb988299319f84b93cc033b9de592f72bffce65699dc03eb0137ebf29d38a7b4879f7a744ac5498bbbe017e934246b6e754ff96d13e150ef6ae60045e149f5cd3883668ad6af4b1ebd3c07c2835e614ba9763d01d5f80c3359cd0996ccd639f5fa7ae695c7c6b7574b8eb15e7941a99c718cd1ab6e9535ce58ba271cb96eae4ba000eba2cf88107a8fdd602cb66db920e5e49d636b479375f38df1ee24432177dd431399c2fff992f0eaba31b67574bbdfbad687fcbcf66c9fbb2760a913cd9d4b9ef63e5dde78233d42c0b035731a8cc8db382bc972318896d1919b23166097ff5847cd0d4d4565c205067623aa98bf4c069fc011c7d6a8efa23df5a34bbb5a8a378206a68b8cefa2d1d334fda7818053121eceb4ae3c5611ebb828de67dc7af3713fac739d401f68f0b6d923ee527ebea2c689c48bf4a655761de40a4a3f8dc00e99b81cb03b6165ad39dbc65925fe73e9f19e78674af375cc7a01ec49afb89144a94773062c0dd316ad9169c657540b9547ef119a358c158eed2adf94b9c04fc4dfda3980c2e6bc1b87a89b1b72d9c732b93b5780ddf1af8cd1efacfe5aa2fbc10ebff483660bf943f71ac51e198f3a0b6d96fec7f9c4f87fa593b9d654ea2bc84df3bfa3af6a6528cfa0ecba3e80df45286cd1c7580cfc1bc3a9077ec32c83ef1032fe9e358047ad7294de6e4ffc4398fe65bdae49e639c86b33cd64bf90ff8d9ba3e9349376e5536b5a8f95cf36eeaea266d7e5af57eb775bb7627670dfa2d001ce01bdf35c468b1ee7f742c296db8d3b02f39759320f69298f28a8aab429874edce98457d7bf6900d99508fe3b14cbfc2b2fb1107e996bfad986bf6d31c915bce73459bd0cf798b3bf3fa2c8f457aae4667632a05ee619eb83de9f4f273f63a2dab37fef7bfe28df47a55ccbb8a6df3a187ec519d0e7c61777692fce2f66ee7c8d3384aea5183400b6b6ca7cf60a9514747a317156e4b8535e7a41e8564685c61cbb090272d27938ab3387a7f8ecbf2dbfced1fe7a547c94827a7f037784c7c70f7297cebfcafd7c58dafa4f2f368264f6db841b9317d226efbdcb78e6c6505788af5a3a27da652689feabf679a78fda9f6f58eeff1d5f868b7ffb38d355fd87a1fe7a3343c99fabba3f5afcb72f23e7b5cfff42be7e442dbb518a46ddd7aae686ddd3a7093d6b97be54f31f1512c13b14188b1d6b86f488fe7823311cfbde5694c6524377bf1d92e70fca7cef17c2cc377a1d61bc1d87ac5e7c1b6e60337510e22b227b8cf039233ae19978eeaed6c863fbb094b01ffffd4281d73b5f30516d9dd47c7124332def9a0b6a9c59583da5b1ad927e9576244163d0c2127d7ec9f312fb3fee68f8f475fa34b8813d5fa27a173ce84feb97ad7444a26751b7220376a40a13e7343243f83e02e870ef6d181ebf3542225fa1162966abe47f202e79fe9678b6651bf251b338fbd98dd428c3466b7a83f9c24ce1c4bda5a45b097d17507e3ea08603b9efd108db782f4ff93cbc4ef8ef9436dee8fb2296a6a75154d2920ff496fd7e18d5f0f38edd13c7b8a0d8af7c9cc2be9dbfc64fa597d9ad78c5d2c7994714676af9740ecf10ff2243ab83899dde4d05e336f4c77e76e0c182fdd63641ea5d02762f1c3a31b46906b0b71a531cc957426d889945c319730b77b5a93e4ecd936273ccccf04d75f7a131f0c6e6598a3d119f0f7a9794ae49567f7f34c24f707ba3e17e7c3b2cdb576915f915eee1854e6a83887637158b3200fff6aee78bd45c379b02a09eca8c19cab3991bdfe428dd03ca536021b79455df30d753350f3bd180316f1fe877957e96779f6c3396007cda69f6d4d40ed6b51f384987b9103b685d1d4066c4ca39c093b760371ba3c023fae49a7feebf967698dab309b46991de6dbd9d4cbd66ade9f4d944c2ff2d10c6336fcb3b43e6bac5fc2b76ab3a23609701edfeabddd3b5abb0ded19c4df991b0ece4897b1cd1cc9b602cd97af314d831c4bd8c235f96c63a5b187649346f771dd707e585a3bf04fcea611fbd562ec64f61e9d53e135ab98ef5c84fc5929467ab59f188557d8893c19b25e11dc1c47b22c635d8dbddcd4b4b6587d617e417b954dd4f4604c9061228541b0d487471b646265cf68d4d1ddd327599880afe50739ffcfac9b773346ba4f131f85ef163337cc832ab692ce84d475635c63ea96545ef1e1d67dfb46d42f57384779806c5a92d3bac6b0c1f1ef2af710f282da3c2151a35859e8b3ae1a04b2dac6e281839a890bbb67649073600e1864e355722013a3b9a44773439bf0aa45c50b2362c72b632d69541fed7de7a5e91d6d35661d33477a027ade7dbd8b5a7fc311ed4fffd5b3db7d37863a84cb8c47fb62b55eb85d88e69618e6e7aa4f2087c0ed51687da48bca9fb6641ee879d315aed7fd699c9b9c10c2de99749fefc0f3af4d0e0339dfdaf13fe2384de56be9f892dab8de9b5ddccf03c25f952e922bc1ab5bdffb01d675356736ed7bb576ee14e2daa997cc695740fb557cf613b6b1b5679c34560d696ce8f9488f59498b9de58ae2755567176248d6bbd7df44538fc7a4ed93ca3e8378edb65b7bf167eb95f84dc6fb401dc338da80a916653fafdbe1efebb6b859b774b56ef7ffc5bafd69acf28bacc6d406e936c5a8903969bcb1a4bd6fe620efdd837369fd0fd77045c5ea8a369495216d557d606ad47c644ce2a5168a647dd73f26c3fa4bb39fe9859d6cd441ec9a31f8e91d6b15ce84613d3667a8fdc775a5172f890f1b7310b8e3349e09ad3ebb48b2acd11375c0c778aff470d0273588cde507c75a3de768c7e319a3f17440fe526f2ed88b6933960e8c25b2e982c02bd3a736d0cf63ad23fbbede6feedea79101bfdc03f639d54ebe545c3bb43453accf34be58fcf74aedf46ffddc10e32246e85db09f779f3e89911e3fecd04e6cd0b38facc761998e75b17a8ee2fd520ca1f6257399fefb0f398b5836edb13f72555281323ee2b5591dd3ab63cdb7e0e3687c464b7582f4a5e38d1f0a6c8cad9ac3772e9255e65b232423e3b539603a58915cfce1402c9a2d36a60fbe55a4f359257d5a32c3e37d2d4d133befca006a88b190f54a2f26f66b7f8cf6eb3edeaf55b29e3e66653567640de774fb63f6a6cf090cb9060fb7c9434b6f645467ce698077a5b35ad18925a4b0ee61ac087c5d8bcafc92bed151da31bffbd6b69ea87eef7faa58d07b2507897ed091fe03dfbf885bdf6bf51eff801e8feba3f8a579d3dfadaf23733b768942e4b3d47b6784b198dabdf0c1bbb463e268687c2974fcbdaeef9505e017afc7a9c6b0af6c52fbb829f20f8b664f8e495f900ee9f0ec76914c8e22f00a57fda9a581cc0fd39980d700fa7da356b19330ca2cc68ffd711ac8532f9d01ee95f26eab018ffa6026fc81ffa5539fa0b4b852e58ec09502fc9374a9e33c41b446bc299a1f86e60bfc7e43af0bdb9cc78b1ec44b7ec371395731aadaf71c639c2a32de94e516d82e9d63854562ceaa012d5bf9d02d82126a93a63a8b6d1f189b74264c8ebe1a416ebf1be6f02df25401f9e68683bdcbace325ec79b8c6c90d61bf7e8e07736fa7fd847d007b3cba96b08b02af374f1da6dfceb967d81cd3159a6f145a775f8c7371cb63e825fcbb78a0b22f460abcfd3174a67e007ff7d6c5d7217a170ff07fb8c579bb89cb0cbf1d7510da96f80d3efb433a406b4c3c48c157b2eed9163effb90ff9de9748d6742e5adcba5c29455c2b8efd8827dbdabd8a9d091838b3a9cedacf629563b1c68689095f19d47ce17943c6a1c53a36149b3dc95f5a6bd78be94e0cc83d40ce325be14ca74b6df2b1d172c09bd9a871214f571d1905f8b524a610d24b499c5a6ec22ecd7ea3ffbb7bc267f9affcbfbb12fb7f9bf9033c238b047ea39ec7cffe689e52de81d455bacf9239e9ea25f16963ad533fd14359bd06ca94de57dc4ef12dc6c7dfc89c4ab690d84af83b5ff40bbb45007ef7b69f40b7fa2136f2e3bcce150dd72a7f1136d4229c5c674275fff13150a62fd76414554df6c5ecb5be27cbca874ff0b95ef19183cf675e4447596b739a6e7c841717725807f57ce9ffc17ca9e38d2073909cf1a7d2fb97fa732ce1779926426e1be4621e94440a7701ce53ec1c3f8a4836a922e057404ce1ee77e7e216c8befbf3f1adf7e71bbf56ea26ebf86bc226af7330d4b8a435467e7ee7bbff918fe1599f639bb09689995de4195e2311da9bae6d7cc2fec13f8c63fe3361f7ab0fd919b73e64bb27c548af9d4d6dc2bfb78e1da4671924af14f5d3efa983fa83f04d779ffbc01e9c46ec1733bfb889933a3da3b04d2973b463a07079ec1e8c93634950d3b20827f96cea171b6b5dff7ddd6aa7cb4f7b8b4b70b878b85eee52e5c5660fc6f07c3ba7edc6c733cc30de489e1018690f63d950f710b35bc734966e3227ea2ca42d607c5518cab3a9c27e31ecf93e4f8be4dfb87bff43d73eb98616cdc68e0118a76f1dbe0ed3d85ae5f1e8eee9418de3b93457b56f34f36b8e0c88e118b1450fc3d9344a67d3e8ec277ce69b750e5a5471db0cc3066ba7832306feee3738a7c284051e82048eb32683fde13e4fbd571c396d1f08ecd966f477b7c82f4e62bfdbdaf37a525c179a0778effd843c03d1f4baf177e25bc81c8aaa0e0be31177f0bae1dc14db0e5d9c575c7328d539a564cce1e8ede9338e1bc480b36f6bd475c10c592f3e0516d4f04f52b798b04b6b055c6130463afa56a2c62566b7c06f34cd87f25844b64741e4d1c3fd9796e4da1083e6fdc5413c7bbd51950337c914c0803032902361f5ac83f8ebb35a3b7ed0cd7369c6046ceff78df6041b02d7a6b66321fc3406c8761cdef4378b9e9b426df5e3feddb945859d70632f766bb73b796e67c8699bae5845ab708d8b13259bbceb73546e69dd5894cf573843487f2d0625f01aa93b7cfdf8542c4d16cec1f7b0ebef2b2a3f5946f8869b1cb0c7ef19b7795fc9aebecfa5f6b72d18a9704cfe7b51e78cedd3c6ffe0160fe40bd845777963e5837b77fcb266c9fb37f779963306f3f9c6462662b5138c1f3da97141fb27458d327f4ce58bde6ae8eeb36fb9b74a6de344cd34fe368790b2b45372ff7d138c6b30d5b13c4cae4788a93083bda3a548f6a633814d9c3d6a4fd27a7eba5c00396476499fe4e989c5f56d9dfdfb413dce03ce3a6675b48be8dd6df19e706eae1ab310a7aee36a255dfea97e5b63692d20df7242e8979047003c925e495773f89623334f6d46ff7890277d5b9771b2adcfaebfa37aaf766dafde905e6c32031fe9c6e87ff045203d3199073e179477fedb160b04fc5faf6015207bb5ca7df9011b16edab418c7d23418d6953cc12a4c73ee500ffdd8ed8ebd8775161d6ce92b8ac70165fd5d5c1a65c32fa3bf824feda767bec7742d7b6efe6142e43fdae330b7df003a0ef7334da05db3d1433ac234bbeace60d6eb43c45f27f05bc2d80e139f503f06f5a6b9c4bf2b776beb64a67494c213dcc1758624e47f59cee2be3cf063347d1bc3a3706e6b78fe3d525f0f5d7f80c61cde9b0bb22f9e18d9b35907a54d5473feab8587fdd8ce90f641b38497cf05b3df13a133a390eefa2f69911f5d6f86face3bcd779f4a42e5ce7bdfe29afe14ce8677e9803ceec979a87337e98f945cecfa63bf64e1e4f949b6312c665107482cf49af6206caf1abc2e4f9e22a2cfbc24ef0ff13b69e5752e804953e9bcad6aaae3fc73c391843a15fc54fb1ffa4d1793e731c4bf5d84e4cbc1e8b3a8fb88a393a6af42e73c1a9bb07ef72598d5d85a7581ccfc84f1586f6153f0b7312b91ae61f6930503b982c51e6ee912ed51f3a25d2a3faa90b18ad34c82c22ce73da5af469699cfc2de8113c7e8679e3975183ded2345c2fa69ae7db7bba049f6923efa2cce7909e4255dc08ab74c60f593bc4b53f72fd4e05bf9d25eb8b9be81fb2aeb35f63b6d9cbbeb87c3ce387b5de9cb961f46e1535df444e2d8be0d8e8e0ba9e395c70020e2f2e4a17090db8af6b1578d2cf501fcaedd219977dbbfbd361690ec8387446f665b7ef720a7c9b55fffad57b237b0ef2fc050fb066d1bb03ee2db267cac9d029ec449e46ecfa01a699acf5d9b9a6170bcd4ea443345c6a3aa39493017ace5acdd0387fcb684f51737e69edde9cc6a6da652b98f776ba88f4cc1f0f8f9b9a7f43a3f999b03aba6acecc845d2a6be9c9ec393eea17b938310bc663fd03f09290b8cc071978a682c3d28c3a791b33ec2bade722250b1ee07a2fb5cf0f779f1f00f7378c1fbd1fcc29648f2f12038dc1b3f73c37efc90cd07b92fb2a7a763bb66615936fdf8f758a2873ff951f30a2c10f48cf07ae295ddc31e4800ee6e1eb39a0b53cff62081f1697971537f1bba88dd89f79aa70fca6b2899ee554d55cc744fefde4c3d1e8860359c47cccbb86ef308c3efca934f8a29b780eda779ff9179bb668496eb347f255bf7083d4178cc2b6d6172fa6c0bff4e43ccaa547c5c6a4535f8819c740e74e022f3e35f6478dbd3f3bac2fb5cfc810f883f517ba09512759e594ae6a1cb9de02ed9524d7779b4f95fd9a4fd5c9c37ae4a7b19f71881f97a6d2e44841defb33fda3e9b318e9a1f538de8e59217311ecff681e91bef69a37d0e17266a90611f1dcec5627bcad27f6601f58bb8e9a1dbd433e144331b5b42c958b5341ec0391c9e8df4b4b1a6e3911e3e672f955166c649384abc96728337ae615838357e0f8f26d6e9f6c9dcedbe9f5e8eeab6b2bfbc9e7f2b28a319c31b639d253a3cc9f52e9e2ffb1f7265d8a2adbfbf0073a8302d44c19a6a888343620dd4c201504949ba8349ffe5db12368d5acac3af77707effa0fce3a658a1044b3fbfd3cccec69df35d6c73dcc057ed6e406907e99c379a96b76abbd2640df01602ff802dfc7b40d7b98ddb8efad8dbdb3eef44f414eb88a837d33b6dd7f796c80cb47891ac49d4e62afbf01ea09cc36bfdfe69710084dde147829a1aef2dda4d9d03649df265aab883dacce32f4b122dd66d2eccd32e8c8a4c76f6e710c84206730d715057e21f685414fa2ef1f7c9066cc3ec4aff69867fa027117637c6972b9bb84f8285fb619f1afee57d557e07d8c31293d5c437101bb84f71d6f0edc02513bd68473c2beef524dcf49f59e6e60c56e0058cbcb7add20e7790cf6fcbc546becfe5d20e29af829c605d86ad0bf43f0807af74b5c8af87d7325736b6c251d701d05e43731ec0d9de3dd6082e451083159554073d0c8d853528a9c10480b01e24e7b738bec6dca192cabfbd43e83003973daf778e5d21bcb1564fd02bf936380ec8077a9b153b5ee73eabf9379683056617ca56dcc0b8b39567ba2580676219d95c83297f5735c46f7dd58b9c0b816800b90d8a6dcff0df9bb82dfa7fe2ce3f10d26e9dedc3cfcc6e123eab0c8ef22b72c5d3e4f3c0ec6d5d539bd77f27876d3e4d9c83a20ddb358268e11517bd38ef058bbfaa837979453c9647aebdb03fcae4ddfbbb7b30c17c6ee19a3d262d80cd6f5e1bdf59bcb287717ef8992bc0bed9c95933398c07e7221ff42c159b5ba718b1462f96d0e8bb37c710ae4b3d4b92af2bcacdf4fdf8f6b1c4c66e43b867e300754fd3ca7e83d6fd0cc097a56bfeea33ee751a5cb3e2e4270a52b3f09f379e9a48f1b8d6574308b3410d525f0d5609b5e5f035fdf435d4b53135eddef80eb3c5217c99faedebd4bbd35951678fd5ed4aa005f2060a235750f3daee8ba47f897ad2551db5e11a12608ed998f8739738ade5e29f252e4962721c81a991fe0dff6d7f7f56f7bf868faf5fe683f7d77cfd6f9507f73cfd61c9a30df7f51eb5286c3df61ceb631eb5feb493f120be1b837e523eea99975ecdb46cf3cc58efa373d51be00b56bc7177b421f1fb8994fb0625adc3016b2e12b5b2ea8f0acbbd78c40b72e03abd90f502ba73b4faeedee07faef624d2f78069a7b17f91de78221cefdea1cb6e3fc2cb24bff38a70b9c5a14ebbce4f6feafbd03f47428c18fc7f8ba074605f9ff3f1e3f92e13f8dad2e4b22fbbbe336f331e044c495aff3d867f8806136276319e4e387772e22b4e7ff3cef5ef569fd8c67fc0771dbddafcf811279504f0c757ad141bb5cbc29fd6e333ab502bc59e0cc42b2ab8a7340ec1638b1a6e38bc7015716e0fe629e2ca8ebaa6a3e212e5cd75e628e9e5b95db13710d18a915b46211b094009b1ddfafee4309912dfd86be77199d5a9b189b47023bfabf10ffeec546dd13fd881b1dd479dae023102afb996dec6fdd714e14e025482a5dac8a88124b2af85085af2afef4237e8f3fa88beae32f77b1797b9c4e0d0e00456a518bb5f6913a251dad0aeaea9469e204292b1c678138d83ac87f353b78b2d4db0b3b28109e63cdfe241732ead55411ec9a6ffafd5a7687cce5d45abf7a123f641de2373736c808efe1f8796d67cdb9656ed2bdf6b0de50e7bb6fe5e62dfd9a98c896070e2fcce5b636e6ce5ea708fef1f1dd29f344d266ef04e700f71aabfead254b7d8c89a13b0ed23fadfb93fbc23d651d62ada9585cef0da624ee7310f921dbc893b923cfa914d91bc8be583318bbced2d3dcd4afb77abc2d8c832a8fe03ecccdb89a1b5fe2433437259a1b4fa3efcfe6c653a3d218e8de5a4dbf6cad8add43ec13fe7e58641797bed2a6463b064da5064d7b50076902de0ad432c25ca9d57bcd9af75a28f05e0e7d4d4ce861b72e96469730778483827c7795d51ce7292ace71faea49f3ab876d3899855c34e0a2675f2213be4b800b4ba1fb15555cdca5210f70c7359421ee6b31610c3777a1977bce27df51b9489e673073fcee6d6e725c377297789d6dd5473fad4f001c3aed03ed3d0a626e509792d36bb39dc79681d7a3c1cadb254d5d4404f3d88ab9276b03fe56ef47ab9ae3ee7e6ceb76a88f97168a63e99dfdf86e15152f5108bd5b7b8d4ef07bb39ec4a55f167072ffd93d712dc38edde3fd7937d51c5f8bfd51cc3f329d25121f39b24eb5ea48c6a9ac86ef8201799b7a7e96817d6af6669a38257d028c23c84ba0f9906f2ecf66c8befaf97322b65b7b82f44b55dbde934353da31a11e6b4ce28511fb9afbe0f731f4d5f463806b6947b4632c231c0319f91ae0291cb315f75fc653209c62521c955a3c5ffd145341307697cf01952c033b1267235f0bd0999947e254a6fe4f3015d419fb2735ca1dde72ed3bbbb5d5e7a37da4f57aead746579faf4ffba6f01c8e5b326b93e27c62e34b615943df2bb9ec44d7bb693e91bdddbeed866707e32fa54e40ce22977ed9c866329b3ea717faad63bf03c6544111cc786c67f5ce167a06c4812c6677718a2cc79836bfd9f7fa15f845fe67babf8d558b6c9753a35b20c7ff131b00b0185a7c058d1cbead98d9d856a97c55609fbad2154ed9e88a3dce195348fe8b5dbc1db4c6ef4fe4648b6fe495acdc6259a9b130fe551c611b80a6c7071e63054b0bb0d3dbf37caff2ab842734754b2a839ccde95aaef9dd55d6d2a47a877d4bdf793ad17703a5d277c9dad4bbfa0ebea37269a1631989ffded2e5503341e3778de05ddda68eb57ad7a4f5ae34b67d58c7a571cf91c8872c1e4ba56bf077b8464e8739d8eb142b16574ae2e71097768a9c7ad53fd8b379efb51d630cd158d19e3d21fbca9b83fd11fd4637627b8357c0c66beb31afae1f954137ba255db6d77c5fe94675f6bb7bd67e04b153904e2c9fea2a5caffda813899dd2d289744f27d22d9d58aecdddf73af1c5731a9d88e60fcefcf3be4966c8363658eeffad6eeccaf01aeb8652a6758d1aa534f53c945c860d07d6e9037297a476a387d58df119916df5fbdaf4ec31e7a95da13668c5851506ccebbae820cf24de4af7533a25352989c46f58a7e9216580c7bec16e491dc0996c7a335783cef7ec5e7dcd01d7ed7117586f7ea59aba0b2a6ff9732f6334e087838f915368afd4183ad38f149d4b34e606afef83d4cce6f11a620461ea55b9726676f1b851d33bc8e54c2f67ce02ae6850f7eabf78af760def90e0d1412e2cf97d7ca39d33a31df8bf9adfaafc59ed4b0461eac56c6273feadeacb5b0dd0decbef6bf323b5343a463ea63ba5e3aa76a29f5b6bb80aafdf60306c525b0d7f21b967e3b1509d3e777e5e7e1aa39310e491c4cf40b6d4d8030b21dde3982605f8e37c88f11d8b305905e063a6ee14f91e166bb5d708f2fab8a7f34078f9dafbeb551d20f4dbf3edb8f0b0e277eaf4d7a273d9c5fa6f781b71cffe8eb5d551624fdb7818344deabb2a397e846bb8fcbe367ce4c3b4fab8f167a768f9e210476af73300462df4af7a589fddd6b83e0ec799163b344721f8abe6b59e4382739d629cccc43fb4d7e3acb4d783fe86c3e3be2e676f4e831701f9f7d77b72fc6bafd1a767f5c5ab78fc6d3d6afb776dfc023877700ec3746fd2e08b0b0bf9621518a7e9156e05d4256bf4adbfb7ed5a1f8f41be36f81754759f08b86a6225001cf413da7761b28ae54a5e5c9fd57743df3539f3ee8b33ef9cc6177c5ec72f6514fe9ec53970fd8acf323fbc59ccd25bc570e62b7be586c628d6f972748dd0da5bf8b313a0fd4943df37a9fb78f3b8362f7c84736c95bcaa7eff4a66f1c3eff00b2e8081b0c8433426a8853bd1217e87aa477d823f2f360d9e097926d13918bfa0962b43220b90dd4efab7179b9a2f0463133ce43171cd8b46872ba6a393a83eae41f3ccf1c5561fdfb9a933db3538283160ed823f2d36f2e72fe2dd1b4aaeb1a58eb95c54d852c7bcc1963a42ad2eee39dc507250d5f30a8ccc413def63ff189fb138efec47807773de5e6c63f866c71170037caa50bf7c77e25d2071cbd06146c8d72258b421e0ef5476408d59f74d5f50bba6c829e9536d0f2c3e58abf15b20d64cb06a139bf01256fd33c827b1351a303d256e8e31c1bee34909dc406480bfff4b08dc26f7b7b07d878f426131291c864ed0bd1d830d6d5548c0de40fb0662f9bd9cef42801ab16aef582560bd125e45bf1bcfa4af85a9d18944ea5c3dae8d71b225788142ea06598ee612faa0b559eacef1ef88af98bef0fffcb531725c82dd6415353e0bd494363c3135464a24f0181360154c66708e06dbc8e626b413b385cdeb05c616f423e79cc35a0b9c756cf6c2a4b04de5ee2c748c37c64d067b3e3aedb94982fc75ac1f697fcfe825cce96012b9c12424cfc11c62c8b61ae827c0fb2fd8d832a2d4339791c0475797674b97890287df1dc58587f621d4e52c19d87fad3de992758a5c2784fa85048d5d586cefc26219398bf0889eb51cc05e3e0b3c5b089c07efb32c26578781b8e1cd1d6c23cbd8dc84207cb7c00fabe50eac03f86811c5daaff56181f40ef4ea9efa98f132706339d1b5309fdebbfe9cc1e7455b4f43bd06b297710d27ef8f0f9c7f59ab4b6acfeb68bcd539857c70c301b3e9f78bd3226f25072d7da5432ec0c781eff504f364777138a23bebbe4b5c2f61736122357200e32bd5ebe38762a57f79a841c57b0972d284cbe6755d6a42eab6bb39fc19deb722b7546a5b5a9d605ea9d3e5b88b75e433455eac77ceb3cdb3915b4c6ece6073dc1b74567101b4f643e2041f679b676f76bdaf8464c58437fc373f95d01c1a8dec21f2b02d23d9b54657b8ce9db916dafa5a1dc1335fe281d6fecdee48b8b1de84f932f216cbc4366d744e6b4c5181dfdeedba86019d9d3c027b866bdee5fbb32324bfa90f6eafeffff55ac480e7c4e7a3ce7a6849fbeff8dc06e17b3d8fe04776f65d0c78e96d1be5a97d85ce6d93e7c1676c84fb1c8b2bf4725658f4964667f099e01a3ef8098d3c3fb7e579f58c83762d457e96ac8b9776b34ff6fb2fab7e2f6443ce6e58273ff85734fa1e38c5e3f0f2f0bedfd864a037abef1713e8f3c5f996a8f63f70eee6da9cdd6f30c11cb07f5b9cb318afbfb917ddf7ed88cc335afe1dd273102bff235bedbe62c68dbd00b987c6ae70a76dbba2b11d714e7dd9d2b97ef4a4beb88a9942cee35fd86c4ffb041bbfe65fc47ceb58521b33b3c9adb67c9b279cf05be8f316b409de374fb9dd7f80bb51d678324359dbfdb86ea7c2fff8cbfeb602e3c17ffbac2e464acd17dcae8b097f753f1fdb1855fd9e868e4da523ff7557cb3fc042473653e3df6d7a78cde4be4c14dbc606f07bfe0ae77a3a1b409e40651d931fb96e94d3f2e9a358cdc9ff75ea6e973faa87c1dcd46d5e6faef6d9ff91b50fccf13da5a99ac365fa91aeb430110b29388a5680ebc2374d6dafeadf5f9fa3e1518d94b5168c484d9197d867b0c5ab9ed98bac6657ec1ffd752fe9e0b7b5408be5a8c7bd0b3538ad3a57e0536a7dbe7430ffd4e83937c5295f39ccf06a316ce4c64a62c57984edd06a3f4d487fd230f8cbb82ff46512aeec51e3f781cf85fcbe16c74c57d658e6247316c8b61d857b53c99c81f284ffb6c5cd5d619df3987bf411e75b191ff861e3e7a9564c6a4309ce792b7747f869b12ed01b99db3daf84a3206cfce50a2735c01879506bd5d30bb51ffeb8e7eecfb8cb0117bb209cfc449ed7fe5d8d87f76a6cbb0b194bf54ea44e4b7894adccb3b800c4c14bc88b923dfe2ff6790b9b3c2c6bbcb7939501de1b60c26d0a8cb385648650634acbda6cf83da6749e56fc0b8e311f42bf12c107db1bc30e1f5c153b580d7670ede6913facb3aff65c1e021eb49622bf9df4e9209fe8c856b15051cd43884b557beebc7bb9e7bcd69e5b17b53e7fc3bd26edb8da35eced1134a60bf405f638881e6aba5b712fb2fe91a866dfc5e26e26708b2e233bb0e2eee76322f114f43da2672f032b80bed1f936b19834807c34f4785a31b151767ba44b063a25f250039548f8ff6c9713ec91e3aeb6bda0ee09e30c7f13b385f1400f41acc7cbc0ee7c16b97e0cad3e2b5f36f7685f3e8e1de7275abe2e895142bfdfb339885ecd41ef3ed7167e24ec637b67471eaf5c40779d28123b827d136d639db2187f7ce0717d87c8b7ff7e4cd6c5b0944bf9cde1fc4c9c5535277ee7bea29ae5a29a65244f7c5d9b57565a58ac389d5dbd20fc8fddc887b36d6e0291d93cc821a7c84bd1bcc2d8a1870dbdaf4675e641e2672fb03067ef02f0666e777b43f9c2be34cc0b1a4f7bdd89cdddc2f9447314639b1be2ac255d88fc3811ebf836e6cde8e6a96a0ea012f83c7b67700f18de56df7ffc8d5f23a75611be59ea08e218e433e9d7aafa1ffa3e40ff0c1f41ceee7fb4ff7604c3f388b92e31becdc57912bbedcc6d30c338b3640c2d0ebe0aff02d6bf1af75fe2e80d2a59be9a0af94f7a1b48de2912d5f01fa717ebebd8a5fcee4b0826d127af44b6b12d059ef63ff9e8ea19d4b11d63f3eaf7ea6032477f5b932b9f6694526e86726951ca5f716ccf72a5a863dc45cfd64176ccd532fbfcd27dde0139f5b09e296a3db39009ce09e8c83fb66b7ea36320c7fe686bb389cd7d6418a761c7bac5e8827c60c24544f570785bfb1e70bebff62a60a0f6eca85d203261ea16b56e7a765ed01c54f5e37feb67615c107efcacd7d97fc55bf224d7f3d35a7356e600db13d960f7c677df35b54cc876d13eda7e1d390bf9fb9e8f9ed49155f55f8027913a53ea4b646438472e7d4d4d8d2ea4057cc73a5ce63ba4d6492caeb7f5b4d5f3d9c6743bd1802f2a2d368079e462dc835af6ba34aee524bd0d5093b42ae635df895b40ed6db22a22c8bdee8d11dda9613b3ff243573e9ba7375c88d06751c771001fabc9e52d800f2f9554fa26f12160248b556f94316cd569c968cec1be16f990952b5eca69ead7387a0b39158b6b226a6982311da39b67e8dfd6bcfc6c1d277f5b0383fbf12b1c5ba887993ddba3c9effaf157cc186c9c0dc3d2ce791bf5719b2a198e9f8d64cab55c1bb3068f4fa35b3ad5be57ff3e2cb03d42629e8027d7e4c5c641e5bbac0221a8cf2ece317d792f7c078c2db71d1fa6f327b1cd2bfde807a55fe240a9e2574f6283cf7e736defe3c86c6a24da3ecfc318d1f8902ec47a36ecd7bad4f552bb588f5767e115ce378b79a4375d0e854edf858ece30e0c2e37f27785e8ad9553295ca0eead93d992f7361851984dee76c9b5bd536eca933d06fde34295e619f57bd35bdfa8a3ecf24e6312b3fde60ce3416c6b43a4db09ff79aefafa5f32cbac53755fb74cac94aa47049dbb11db9419eacf53457b4d950d13e32f9b4194953f4ef70a094bb72a5c9a9a4cd862b6d93c953975e4d8fa9a41d472b6d3352ca5daecc29c809b7717c56c025dfaacd58ec005f1863894537a4abc4aab62262076b534e9da28bc1a99c3629f01476b00ce47e3fce783d95b303bffb677d1a16dd6bb34a7fa76e1bfface2871b6c62e79cffe37176b13a09edbf51cbf372ec0476b13a6f3f9d68541c4ce1e2a9f91df9bb8f78b111f512ff96f0b89bcc8c9535b7443eb6027196fadd83359ad7935cc8a54cc99a9b56fdce5649158a661572792c65eda3c21bbc99cc86954f6eae9472b99abac3e6ef3b562e85a1a2c968dd0a9960921e1ec77ca8780b1e79b99b9a5dc02833c9bd072e60701c9af7499db2fd59482dadfd59863ad9e6f326f53adfef52774a65abc1c758d6ac77b1b866a23172dc39f49f02ce806a8c28b95c725bf54889e70f82fb7d7c77a7d9509e2219f49138d1353335fa660c3eae324d7fa2cf92e67b663c725c8eca9579f5b719636aed3a5ec0418ad7d363b62ad22fbb92c5fc913d9c87173b18173217a6f694ca0edcf1e24de942d4b2b162e6d4fa34fc473eb989c864973d87317add22fcf2d4ebcd606c4f6422673fa7de3d8d2ea585cc5a70e670df3bd4382f04d65ed4d8acfeda14beea3537b3ac594f81758a6bbd4f0ed38fd6dea07d71505da78cabb59622365c9b727d3f7bd1bedf8ef5d4fa7ed1613a61a5c5aecf397ab14ce5f2aa97c152215f76b768fde632f3d8568f689edae7f186b1d5f4a573de9472b89c8bd3c9b81e37f8b8c00f5beccd6dd45ae3ce5e52707fe3c08d23cade45376f2a179b70779117f57b9ea4e911301ebf7b9ecd65b91cfcf65e913405dcf1a88f6de8bdf255dabde3a75d0bfbbee688649420bc6dce7a6cc77a816c25a39cd1b276a4e5e947a14cc314fd7ba5b90345934772915d65ed3852a61f9952ee862b2ebbaea6e148998603459b5126c4dc3af86a4334efed9a404f45fa05cfe1de1825801bb6a8cf2feb16504bd6c60b66142ea39520ead4165a459f6b13f67d84f7bdd7b9d6e11eaf95cbc9d8d686ffac4fcbceb52e57d93d79d1fe4dcd19cdd9b7c362442dcfc29b7c6aff6d13bbe7fc86feeecd4737f3bc44b6390d7183fefec5baa55fa7f08025616914929f85a21d29590bcbf69953a61f855c0aa55c6e72a591d3a7b526d0ca492857533997a7427d16ed295528e56c2097f250298fcddf35aa944f475a2ed11a0b5983f5fc70e66897df3ee581efe120d5d8b95e91176bad7daef27be77390fb9dcf455eb63fdb5c4e773eab798cfc1ffb94e5ca29fd12190bc9d6d8841e64c08e699dafcd7feca0b2e73b3214e4df5af5a9b53172ec802a4d7d743318ebbac2723896d05e267f9335db433255ae646a396bbfef058d675fc97aa6b69dc2b539fa47e48f7719eacf2dd62afc4254af99c86f087f959c8883dd97135d2fa67a4d0c66eb1da61f3d799c75e4b177fe7ff2f8ff87f29852a62dce5e90cde1a36c5ec85d1ce3a945895a87679e8639c7ef00f69e58e36e8e0e5e4997123febe25e4f2d4a9aee18d1a40b71b1831a73af97ab07193dedf7c97571c7613f6a32d8804a39cbe4b2913bd6891ac9da2657b40f4639c96dbb71286bc2409e0aa39516b6e514256b1b6aa5cd0ae5140edafb50990a23798ae4d4916ec9bc78adcd06e8fef254cee4d3aeb95749e5ca29a4e4a9cbaca6f2a8b9d711d9a09932fd1828daa6587d6383eef979b97f78ff8a0f2c849a1b875174e7acf876bcbbc8a763278ef8b867fd7ace24e85979b2177fb0a71b99990d9f9f8dfa39a1349d15bfb9a6decbdf5c134b3897f6dd3567692a50ff9d33b1f98b333163fec2def07bf6462e9f8ea9accd8affc6b9d84fa95299ce86f2d4cde4d2a29b3db8bcacb51983f69f527e148ad692d3687f9e36e56aba2b569a3c68cb69b89fb6a3908e574ecd6f6ce3887d376d9329e8bc357e6bbc9f52855c8694ac1d910f973763f02e6b4d66947297c9d323dd3e3b7b1edd4fc8e4f283914fc7bce50bface14d90cf2502edd5c9eca2d9f6f99aeb53057a6335a9e5a4ceb372767fae2bcf319ab4c6794320d73f9648d5ae73a72902c38859952227f7ed7920576faf2cc33192b6bd608cef6e958ae9a79b8e0717f2079402b5361f88dadf3ad3edb3fea336ad5df779c5ffbf44fcf2f97bf3a933769217c295cc4b6305b9bf36e34b69b656429f2ff3cae3e7fc1bed92b81c3816ca01a79a25c9a39545272e65bdf6f5bdf6f5372965bdfebadeff5549a023778eb7bfbd25e2369bac9fe5616aca672d6cf07b9e71ffd2eef60aab7e5f9cfb072800fce8bf5e2536bfb0cc8d667c7077e77dcd7188690e323be8e157be0238c6fb66947ee39fce59e92d7d82e0c8cb510b54e7f03fdf0cec13120f1aa40acc6f557bd1302d5e4da8e8914eb8c6d2e470dc6ffac91b118e3df17b9257e9e2a40fc7aaf1e03f26ec0fb2b2eae946542aef74d08f17c0b418ee5640978bdb133589e6c63f32698caf8c0cde9839abf937bbce61fe5c70d9725ff9487f71f5963fbfc456f55be09ea419fcc9168fe96bb3b7583fcdeabd57ba88fc4f8b8d1bb73a28b75e1176b7596435ffd7903fceae47b883b3be797f1cfce58a086b0dcbdc4856bc5ff877269f5ebff8a57bfc3d7bb4927ef5a6e1229ac7203684fbcae25c47d2b0d37d80bfe2432bfd4bb1bbcc0fe3d2b17cb80f8f49dfc9b15b48f9fbc6fa1d4b55f9be1e3beab71b85277b0f5094e74b3ef8c71ea32beef6817df1950e927f374fc6fe83972394b0eea2b5c8d67ebf51ac7afbd5e0ac4997fbe5eca74f6b05efddf37eb373adbe6b6db63badb462ea3147b73423983e54b0e9097734ce2ef2b5c47856baa4e754f752e4f6b3ce85cd1e46435102e9f832d3a8f9137bd04552e4a0872242729e03758c09abf0906cb4a8beb6fc7fc8065d18bf9227f788feb3aee6b53bed9417e5a1b33ccc332a5df0f6a9e21dfdc6ac90c779a26dd9c34604515d262c35af435138b2bc64038ef2e0e87656acb964f0f26f593f51e343d6a42b9e2aafcbd50aed4aa476d473d93f3bb588f1d1eef652166074e788d3e4d3910cd7cfc4a5739c52816f990702e0c91af1db7c60cbdaf16c1c615f9215cb73a6f5fd66b3ce2d06c5ef3367678583f1edfe947fa7ac3fcf877a0333783aece9429511d5575798061f69d8cefe127fe661f0a6db9f6bb6b6f2067707d0dfe37607bbf94274f753392ed556cb6d92fb34ce142b4c731be3ed2df904f7ea87d4bc4e98cd476fee04cf2f6dd8d95c89e5e7c77908f3d352ff7fcfcba0ae625e86946a7bab50cd1acc1b7668bde19c535a60daef6c5227cdcaff431a92dedf1441ea9d56b19dc5ef701e4ebdbfbd55cfee07747fa0f7e879fc385edf35d2a5cfff7c2adc9bf7b9137ebf68a5478a4eeab7aa08eac7face3fec93992cbf0afec6505cbfb3bf9f76f6ac8e1fcd4bdfb1d5cf0f3955dd5787a33b46f910c2ed70670c813bcaf192b4faffebac5cfb562665f6211ddd6266084a580c5ae36384a4e10feb3d626e303e72750b36a00ef455b2ebfee4be9c899dd1fca99dda39c7990d9a319f40fc7a3bbf76a6d99e1453e6d92aecd0271f4405a2894853e6b13a4136fcec07d85ab78c1710ef85d027b0cea7677976fcf56779d473f7eff1f707de29aebda0e18296ac595b441fe578af18a67d0d30cf11ce009b788aff101f588d87e38621c1464f71461ea113f0874a8867bb845353f137ee1445a10ce2664c3f2a44e6b6a01ff0d9c4d18934b9e1326d20cc6570207e9e248c62224d24c26ff96138c559a6b789f401df904cfd98e16d5fc8bfc1dbdd71ad728005ed57f480d3aba6687c72727d22cc4e3d0d0983ef0b3d530d5b09c2f95204c358dde60ac75fd846c632108d3dd890a7675ed9d906ea7f40ed699cbe5b58eb14ea599c0ead8dea36c73c923fdb40bc2747ba23369be63ad62d4eef94e5dc088d8de2de23f498b0bba06f96727db544a696eb10e770c6c5c031c886a6eae7763a46784b5eea6ea890adcc5f28efb9405766d0897cf204c9753ca17543f5f06765ed71bed74063d03e3f06d13773001ecfcad6947ce799348b39415cefa6dcfcf6f369f47f6621981fd8a6b665343a397e2fc11571c6ab654ff20ceac04d96c35c6eacc4aaa9a2ee564b16b8d5e35bd17b30cf775ce45e0157bd18b5acfb7de1a4b88dfa37d2fe06b5aece26530e77bf1e1ba37f3e1d9b3e13f6b6d972f03ebeec4738c87cf2b779bdfdd25cc2973d906618777a68a2f6d8311e931b723718a39221f726eea83ee67c5c7ba24a8c16964a54f78961bac7ba8e1d5af0a709c7233e81183bae4879a20e0bfacf91ed0fc7918af3ddd96b47d5864fef6091ed13618559c55b7aa77a8bfc6553f8a34bffc1ebf583dfa0ed48be6e30eae4a30ab7155441cc3c1ef01f6fc9695e62f6a66f13ea14086f351bc37f45034af9dcf6b7596d5fe18eef9f2f17d46e58a7ec4ef6fe38ea1eb2b8e2d4ba3f2b5063d6514c69d0881bbb3c1e81a25aba2556fa7e62789cf5837ba26c837017c088d4da598fd5ac5d9cd8ee789c3e5f1dac8d0984a87c919cc95039fb13d021853a3d061687f6f0c490fd8c72f919f8f0fdcb100fc566e54d84652e113c4cb7814611b08eae6dadfb1482e0b1ad42665eb81cc3ae5e56273566c73a3086a088323c65ae5fcbba8e621d46972a3e893c7f928c089e0b02fb9d6e8b45527f86bcff9bac82d3755cdb164209f31ba09bc32b2981cf82456814faff5cbc52dc2643da831464ac0d6e2c2373bf04b510ddff6e8f9dd1e463416df2af058abf1e0ef68320773bcdfcf80b58adefde60cb6891d47913da57c59cd6fe81e8ff3a593f9aafb9ab6dff69805f97d556c7e899c5faccd59dd4b4464e545203208f80c9af9613d2e2f20cf8d64c389463e30ce43cc88cce277a9a0cdd0fa24122fdf6c3e2a5d1e9d397feec5facde3fc02cd8d7ba2df9b7acc849216d53d93db41cd2e4e499f8c6289e4f297ad53c99a1923bffa0d62a0bb345ec6e945885ab2bcdd93df93eb0e707ee94f7aa3a2f74d8d2524bfe09300fc6daae22ac33ccadb485c6c128295f39f0739455d7e7d06753f3aedc4beefc4dbd436b66a6bcd0269210027e04ef52589dfa56e50e3fa74f6bb7acec71e701385bfe4d32597f8e18de012240d86c1909c711dd65f5a3ca9591b74790b71fd586b0f05f3483a4f7c17add3824a9db85f6701b6f7b4ca5559c583ac17d7834bdde75d9d7ff47cb55ea7ea9dbbdfef3bdfe7f57c57bc44ee93b13cd42bf23dfc6806721c37891fc3dc1ed4fcfe0413a7aab3a1709f8c8eec7cf2ef1d6087102c78d60d606d2a9ebb9b04b8a5b81e450e720bef29a8754d0e6aee7ff32cc0a8f1b80a87e2faea7904bb0ef35bae912d5aadf77c7711a206d3c162e6b7e56073b4e2ddb196c3c6e6b837b7a56de43170c6118c5823f06fa276bdaf9fe88d86f30ee35508da9c5d0db6c5a779ad6ba2d03bd8aaefdb6a1ea13d8c64b41bef2e0eb3c3780b1807bf927b48e6dc6dd5876b9d80f8e22ac6cfaf39d383bcd6496b6d961aa4064ad0662fee75c51848c12c3fa8395a0be0435ed1d017c63feefdb08ae7f3d25c4824de050ecb1e9f7d15f3a4d6bb2adf55adc1ee82ded1326aec32e413a079b8d7d867ddf78ec858abef52ccd19b5d9e7013cb552def27ceedbeed82bc7e3f896fec00cce74fcee8f482f4415b67bc219dd13e57f87a3cafab53c3df5ac5200f9023e8e495d93de7f76cccfc1d30304ec96b3ca99d50cd179297a6b838d6f32daa5d7c048749d9577613f0af802c1c0126d15a7dd9d74641ffce42b8d93c7b453a7abd03b95bd919f53b42cf1c3f2f907e4276147c6ed94f35be7110a63237639d00726b94ad5ab151e535f921ec45f4bc5a6f99544aecc9d77924928bc41822353727d90b10a37d51d701358c1017de72801380c7d1d2c5f5be3b2f239761532fdeb1d51e0559ddfa1ef357d2d57e85b53ba8f95a8a2d56ff0eeb1af4ad8dd604c91f7fcdc0b8800777151e31a7de02c9cc97f835d961915df61a9df5f951906d2cf1d6c5edf62fd5984a0f39aff67ec3f5d6ed3e00342e5e7cf69ba6affd26d5365258ad09998b30fd1c905cba76f1e505f55dbfaeb10cec525c5ccf0ecf0696910137b26d8c68c7d00be007d37a39201c5f896d241ba60f18fcf57c6f549f97e656851970b11e301269d29f295f3e192f7598a5efe07cd3c08de75937a69ad807357fdf3576168f31a3d03384c64e5b58e0c35b1a9d8a4836a27bd771db446d62441f29f22b2c460f57115af72bb11f5ee0912f36ac5e3c70711d1bfb6653ad4beb5c808ead6db903f4e4fd603c677d7c98933111bff5118bbc8ed74dc097c6789b785f53d65b8d2509739c97ed78d9ee69cc3a59a0f9b50023fb05460cdea7a903327183e407922ff51871ad513d1f680d1eedc91ab3cfbdc0dc557eb99afb986f84e04a23fffd49aeb8b2f93d8d4ec4224d094e9e5fc9bd3a678ddeb94853a78d215f9f93277cf4837c2cf2185fcdd2815b239238eaea02c790efe35ee2fc8efb73b3ab642ae3c342b890bc74ebecce2a7b365ec6e38ba5561cd0186bbede0b6a5e5886f20a63fef55c1b755ee6d5dcde1fe656bb0e9e6058249fccb8c120e67735665b674d17420bdfa2e1c99762dc178c314f6adeeb6e4ff70f62a92d6edcca3f4fdd691df78c714cf08312d5515cc538213e89639ced782343628c14eea5feb869a68e6c05a417d7d65989dcb31db9e77cec7223d33696d2dedc2a9e896cdee8ee846ce0327ae141ddbecb12398ee37a8b107d6efc685e6005d05d4ae40ee40070da781762a676e06712b7cc3d43a7ed1d9d5883e5dde3e7e5be10208e6a16565cf3826bd70170b9f471fe88de942a2e515e407660b436dcda3e10552b869c09f6bbdf9d324d3e07387f09d8cac618f3884f317691c71d9383a1400c916036115f6bfc6baf1e93553c631b1b43670f46fbf32e5ec6bb1bb2396c53b800b6ed897dc02db30bcc97aef3d1695ff88568526f8e6ac58269fd1217f86c791a1d3a8c8275408d51a5efd0efb4980d6d1538c55288cff314b2636e0eb32c6d73c9d8aa4f4b8b2b70945b8642d9e67266995b1fc9b103ceedf5e67177b391bfaed1e55a9d9707357cfb54adf8536df6f7baf04f6b336cc57b6af99d487cc65a45a5dbc37e7f41daf88ec80fa29255fc704d58f7e972f89a1e67efe0b0c89fcbb729fd6ec7c3375bcd6f184f9970e62e28822b3923eb4b43ae13b01f4a9a92f8f082fc6e4ba35fd74a75f218b36fb1afba768a00b96f649fd9daf5b60cec5b2307ac0be0fc1b4feb8b7e39c128aab912b5a4fe1d898bfd257e6dab064bdb35d8f55a8d5d5f36d8b56e5ee1d628d35d013dc34d4e2225f809d9433d4ce39706d202db7cb8fe6219d5b652a5b783996f018ec5432cd97f15e7aef6c7e78060e4f6e2cd871731681c17b9d6f779ad47aada66e0d3ac6518e6e31db2dff0d7bdb2fb6f6ba6fdac61db1639613d7b4cc49771efa69602f48a9644123fecf0ab399d38887cf1b83c027ef16798a2b8461fe3489e21bef256fb2383d7316d819f8f0f3d6eea069b321a1f9ef0da0a2d8c62e06d6ded0df10193afc28ffc6deebddf67fda2577d836c811a2fa9336e6c1b3cc1c6cfefdff89c15ffe7af2a9fbe3a5f59ccf5d2e2d13fe763219c7c34dcce420067ab1861fc0aaae1783e2cb260339b3cfc5d803a8bf1adcb43ec213feb63d3e333164ebd1e8c66be6a9bfb3bce7b72fd7b151b70823c72cefa158d0578b0c1e655ee4e6c27f6a0e3df404d71fd19f94cbc0e7c1c38c60fbc4ca910083d3dfa3496d7dee79131d87a6b63c43ef6343771bf2a9ee57156dcc3c0e8d7c75ed783cd9bd3c5cca8b01efb3cbf580e42ae7b0c1cfa06ddc9f5fb52c4260ed22dccabf7a8f2341faf629350bb091818048bf705aeebc23646d51e02bc6ccb80784ff8a94e0acf18ddd01e002cd6fa5e9b0ad797e0d240bff6bd8913cf9a31cd3717d1a4a1d7d7094657dbdc5e1c06d943805354d825edafc046aa305787181bd9f00023133d735ffb7a32bb2bfc04ead520462ee371e01c0b231acadd396f13e7ac47adb92c0f989b06632f7130d69b14d391c7fb779b8b6ec84e75cec86e1d1d5c46bf79539a8ceddac6356ebf6bfbf7cdbc981ff51cbb273a940846fd8a197672149fbc12613e6bb0e97d37762bcce1a0c11ac498568ea1537b9e0db14e9f07ee59cf48dc1b5f1790792cc277f7445f486c915e1b75bf7d85fd7b7306cbab65605e614f1d61de7f5ce752e079676fb6c686abd84a3d15c6f57a5ecf57622b27347e3e8925c6e43e26cd0a67b21f606e7637ac63ad585c08accde5cd1c4ea980cc5b50cd19f0b098cb33c6d0f4912e4af7c87e32db727992b6e450070bb48a710af1e8eec6b4ef7002f032ace216bf0b3f4c0edd586acda185ebe82fad71a1fd9044079366719fc33c5b1b32d9971fac7056687730891c24fbe60ab2532821c8e3b5ba2c3d53c96c6314dac6d6de1b7a6a7342ba9f52816dfa9135d0297cbef270ad2e4f0e0358c9946d6c026961b19f03aad36fe1409f4f670ece905b6ecbb04508f608965d02dcc38aaebef9608777fb780ea40ec86c7107d88c4eed5a3a4d63acd42be9c332b00fe27c7cd907be63aa61827cd965600f00db2d68711e2fdcd4c2386ac1daacebb3e7eb1e47d1daa0ba9f9fc8502be8f69e7ce23573309ed726909a339a0ae79ad7cf9362fbee86baff9093071b7a87cfc93798a675af9031621ce61af5f11ddb63da14553cb0ad538617c22d93ba75de7bc73a9c1f017f16bf4373846b40aa3313cc5a67a6d243324bce25e01ed7f9c2661d33c01bac6a20db76e3e2235e9e6bdc60e40b1f4c663eb08c881282f057272eb1f8b89934eb7bcc3cf1b8d7b119a791a9a98d630510e37c8c670c5bef9547641e203fd37bee6b7c7a46aef338e85922ffe2592d3bb625b3dbe34b0ec09943e4ae896333abba5f38ba7931fbf59857137a6b3aebf4b2834e5d6cfafb2b750a344f3ec9619138559b3fb5a4ef6b665cd9f03ee6c49941bd5b7b5fed0a90812d1f71776b6cbfa5d3e8d6ad8775a380f1a0481d23c1ca39639c118cbbda91cf2d5d437e134971632b4af57902aeacfadab5baacf9b51ad9bd49abf14a2ff566ab266861bdb76d83d65ea96c846778ccbb3db2c11afbb783390fb2248e425b9df802e79131b8c76adc42d0ee3bb3d9cace7338bf90f8f6dc02570eec95d5139b473a637baec519d59e9b7aff917b60fb3c76d167c060b2993955719e480babc27facae6bc72f6b6cc575e1df0c6607b111cfc8292d9e5f6d9d629b98269a3790894857419c42e3d993c4356b85e5743de7c01fd5d6c7d5b9aec6ed71e1ab31a3fdfa26feeebdd1f998838f537320b4d7ae7a17818f4a811fdd3d6ee23bc1e44ef45080712d1ff7b0d7c3cbd8a8dd580df211d0bbaf62dd91e734bb2a67c09580ed900da9d5f2658791595b4f73530d5339008e13e07df5b8262680eeb33674478ea066c6b7cfdbc80df3bb55d291512a5e930bdb169f3bfd86b91ce48a978912bbb6cb5717e71dd9252c703be03c6b3e467adbe3b09db6561bfbad858d4a11db0bd7bb9993d436713d87b7e83c6b5dc516215eb0588eb6c608781bdc92763e0768bce83d2e811bb3778f5bb226f432367a7343de4dece403754ae46659efbdfe83e535d413b4f20aba63e998bbc6095a9c3935aff7ee194745878797ece9d659db11acbb0aeb7557d75b8b2dbe5a499bf5629093a67e0df02cc6635bad6362ef22d4410a2d9cea71d2c2bbbe557a176ab4690ace059c4be88f1bb6f9e36a9d053522adfa0be74cb57b08aa9821b2476b1b14ff2dd91dbaf3bb6b635aa1f9051be0bc49b1fd8e7c64ba916dbcdbb3ab76385638d8169ea1a0b3c77eaa10efead64b1a6e6a17044b9c9f8f40c668342d2e90eece822da3df2addd0e2940ca0d7378eca17dfbfec45fd26de0531eede985b7592730a63d8231d06b18b963fbbe43b7b49a3d079eebe93998f3d6e74b30c3ac2fcbf80735decbfc957d7718eb31279f356fc70c7c66baab65b4bdbdc6e1a9f5f5f834e5d406d5f2445ec81accbc12ce991b4003bb4945e8f3fc17dd4ed3edf479c6e71b64b30173bf29fbcc2323f1ee6bcde3b347bb04ccfdf9b9b37e09a5e1c2f9b7e9c622677f68fc144def7f86a0a3c7b83b1569775bcea444ff1981ef943499f1be0c520d94de2fc9033253cf8757cb4ea55d86b04e3aef04f22a979c2d8c5b32e2ec5ebbd787182f0d75e4b1222572ecf63a37d5e6e72d6995d75b6dff644c78a5c15ff3d5eb66a987aaa3f9716722a845ee4c4641e02219166200bbfc7451a50e9b6cd5bf150c351fb374e6defcf5acf89a800f7a3436fddcb7367d054bb8ef726f01192ab89c75578d19dde400aecc0582f5c6677113bbd756d99dae2609da6ad58d5a6e2e1c53113a2679fca5653e8c9d511db96ab58d651becce537c85154b68f29b3fb205ff7cec97b4f7ebc69458efc8e3ebf74150fa9eb606cd3626b5c0a6253d59f49dca8f20f49ec88aab001ea31563af399fd827fdbd8be952f4bee51d9d3e43aca3d4773e7bc2da0d7b8a59ff745980ac62e79584b5273269c3710f741fa76cfcf8b8db9b9c85cd8f609ab1aa4641958fede5456d66e781199618bbb23847a54180b7dbd99e05f50a93bd8dedd690f1f76d09b8369cde7f3c446c27cce1dfbe784f9b5aaf8cb1ad7929298551567c431a2551f8fe4bc447b8195f8767f867fb2cd09ae577be8b9857adb66bc6a8db71dad7ab5409d584ce1136ea926d648fc81b60f53121f06f943959e47bffb91cd2da8f3fbc1687a82ada7f3d7f49949daecddd286ac3c4daf92316be2aae613db8fbefa18cb2e7c3af7d816043f27c1cfcbef568b93d6298e816d8cc22a36bc57617f225b7a5c3dcf5d2c232f68621e755c880f5321c6f17a64570b01f455359cf36a16d4b91a782ee1305b207b40eeac193ce3942752eb7e2d997217f9b06de7433dd2eae9efeb3c13ba2e69e334ecd5ae1fd0e1bc5becfef57870fc5727f6acfc2a564fb9e7f088eb81099fdac243d7de3d13b888288b391ec1176ef8eafe1befca22196b19cbc23327d4b37ed8b6dc79bad79a9cf355d6aeb7f589ca56057575da39962732ce6046389ec18f6f952fb79ed26df9dc966177895b76c62e0461558355bdfbbdffee0dbfe6f8dd027cbd2b7b3066c05b813fa758fe402f4e130bc771935db20c6cbf3e1f65867345d30c7ad4db6321b64cc57b5ad931fe9a99f5ce5ff27e68d5b2ed89dc5b1bbb74af56b221f7d7a4eeed990c21730976c9da98ddba672967442d21bfadfdc60873cde54d0c5a7b528bfb180389aa1848b5676db517bb8897856dcc098f0589693e9f4bfc9dc676f42db9df5b13d3ed3cf757bdb791ed50ed8d4ae662fff8619e5af993ceb38458bfd99c90ac826ebea4d23dcbc0a66a1d58cdafb949a485cd4a3cda5751f9a4f6b2c1ba5d6c9eeef33667fd6ab0f967ad7dbc4b2addf0ea9f9eeb4d6f5ef9d4bd38058c39eac7b09bb5558127ba1d3300bd53c7348a30dd17fe4d5473e6f04d0d721b13f307e79eaacebdd7f4be3c3ff70312c7443e7475eef13bb57ad49bf701bdfeb8378b6a6f361c0102c9c9a5c0f5d3c83d963dbce0eadc1b39e4231d6e42724513df5b6c23c79c5002f4fd34769d614491c3f76b55c1bf79c44d6bdb83e6b5c9ed9f1288a1488b65e40ef4d49b8d7c07e7cceb58deeabc64256e099f717e0dcf7d932facf7686d4b7880d1a3b362bbd6a9ea3d182c23bbe527edcefa0d384334bae8e4d5a9b6efb72c84204367e9dcf25955cf18517b838e84297544fe8eb8105ed7113de22230ca8f701136d44a0d318eccc94a241e7a9707a29ac33d80470dbe0bfbb55d2f3169bee7e3aab908a806eb6406fddb7b827b2217554dd32c5b71151fb75556354db2f6d1ae691a896a9ee17eeaba677c80eeb19fd231a99d0cd786053938b437b6d80698d88c57e0fc78154b15007bf5491f554776e0f331bb38c8ef3a2b94658c4e38376475e25bc8aff688bc5f3190bbbbad8df0d2b14516805b887ce8a4851fe0986d1c7fe8af1148fc1370e0ee6be6787182fc1dd7e22ecbd55948ab5cebc6f0ce682fe11e41a8d50d0e6af856d7a89d65d60df22a3ee0af359a5a067626f2c35488e9c81d28becdec02695ef33b52189b8a7af7ba7c79ac5bf864eebab5449f4c370eb68ae58ba2e68ca8e657db544acbf022fcb78cd443ceafb6969cc4e92e15c2f9d98673047de2304f02e613bb2f039b9662ebd21b472a907a3bb710d24fc6ebf9a39d1c6dc5cb9c54357aee00c96516e9f6b3d7aaa33940cf91ff6e33f9dd8ae729fe5bfefe647edfbcf36bac1f5cb367bdfcfe87e72557b4b0c6b85c69bb07cc96361e408d6db5a052884b6b0fbab48aeddf613e493f9073c21cf1ad1ef0ba96713dd8d47dc2abf3a655531a22bd59d781f77b02fee57b0f1a3901358e490b53a16c612ad02d79705aabcb95534cee4ebc3b361c45933a476a73c23b5a5b8f9f17482eac8276ed60d33f807b0646dfd41fd675ec09cc23073d55b7569f4fea4cf167829f96adcd17bd7c185f8a6afd16ea9ba04faca43269f1c1ca6a1eafd559be827cfb232757e503b845fa252d76aca0cddef7156719e1d397d118b9f40bf28c4feae31f73c1faf8c0dbe303e7c7d093b5102e15a7f937d7d2b87f2b721c1ad91bd9553227507788e49fc8cf2ecfcf7998209fb6e638abfb11feecb7bd7afeac55cf9f8a8b8fbfaee7c7d839eecfb1abbeadef3d0ee4a0e6ee1a01ce501bb35eedc54cbb71ce0e9719914317216cc5ff39e1cb56d300e702b711f2db90fd09dcbbc6281478c57762c81106b63aa15d460fa500d9181d4cac9b8e637f3771bac378beadef768c72b10dda275c2c4cfffb6d385f6a7365b20df5c38e5284ed8e9e10fecdbc7f2d70de46acb6a1fcb9b6ab6a9d8f5dbba3184d357a39376965aace746583315f68a500dce31a63490ab7f36d38d7b5f9f6b0a3e6fc56efdc37574eb3fe7d67db9d3dd177f9cea46c5d9be5ddf16ae1c3bb393cebdb53ba90e2fc6e199beef3e16fdb89c367ac1b8c528799871b234f7bcf2c2dc38eb4ea3e8009adcbe8da97d7cde6489e74ae7d72dfd033e80cb04517fad5e5bae386beb9dd9676cc0fd621f7de3eb9ced8cd156da60f2d46cfb03f0d36192373fdb9a6975a18299b5dfedb35fee3b5e8acf36ca404bd679f9593650c594b3d062ea3f80eb2e1baf7ca2c7359da1ae093e27fab0fd760ff07b87e671701fb73775cf7dc1dbf656cc34d2fef879efde4efc14b59f23d9f5fa9d4788078aeb1ee2336ad46feaed63632cc89a7bda89d8e9f70d1f3322bd157f773fa91497a3e94a7befb399d70e6e2986de87c28cf76577371ccb7513e54280bfd7ba8ccf3e16a0aff1e6da39cde8636bfd5c9ff237a6cd039bd9d1e3399a35d6fb7e5b6a1ed89d3b10f7f9fc9d5df79f8bb995dd665e298d1e36f0ef361f2ec375291a7c0e38dc6a23ff27823dd28d1696aceafaea9e7efe68246bf89d72afb294ec76f8299f9e83f83995d3fa3ec6aaaa92faa9bfb5ecd2fcd35b96306b96bd0b9672eaeee41a712f4f7a59e669216f992617b9fe5923dccc967337125557e3739d65d97c9c7f244bb229d85d29c75a560fe8fc95dce26e7bba29e3be69cf644f5124a4c57c6dbdcab9c68b7ffb6e15d6ff2fcdd5a45abdbcb3c9d6555ac4dd6a0ae37ead66753bdeb437ccd222b314f89dea907b17bfc292be885d1c787a95c34cff9a8ee91cbe5e33d3e7bfa4c996eaaeb47727dbfb06cee27b4ff4de37f7772f841db166bf4fd07b59a66acad5ab1ad65aca2b9bf6c95a256d3cb482933565c6c58b95c8e6dc0fad98cd7da2c934f2c2569e1402c67d92aa0f2ce5ccdc7bdb9da0c612cda3830a71fc1ea140eaacf9342785b6947ccbb552c5d2b10de646dc654ef81e76df74b88724a385df26aced0b50ebeb6b9f7c20a562734b6fa3731fecda6fe8d0bbff9c8abdff085f0269784f7ab108ec2e9522a848b665908e7d569538f5582b10af5bd4c4e7853ca6aec12e7abe8fb5dfdf902df5bf5f59e2664f2e918ac4ec7ac19f3ae90a7c248385d02e1dc59ab41afae305a4f2946d176a5a2d5fcf137fbbcbc3b3be56299cba9c36c23f045a27aefc7c846df30beef86808d7551b45db1d2ac2f91df5d95d38e964beb9ff56996896a462b27b990b9f462abe4398195cb53a1845ad326de36ef71101580c5b638f6b802041ac9d94d49652b4a1ecba71db3a2e42fb188e606a5786b7d7cd914e12f59bb64d2c2773634c59a853fed716e68559cbfe6dd384f686f4a4775ae338e52db8038158b6ba6f2c821f5159847b1ce999ef6bc7eb5303e14feb7998fdd3a46cbde74665e3838e74d753e0f7af78aa116edf489ee55fddbccc78236abe2dfff7119f6b63637b7fd59819aaad677e9de5428885b9de0f7893bd842fefcb0c8496d5bc5a740670e1f9df6e61670e7dc92eebe8b8af5307a677b165d5d3e4f2c26aaf3c0b83684f6dde937bfc3b5718a65d65c0755dc946dd52655df219d9f60db86aa396c1c3ebad95aefb38e6bd1d70def42ba3746910af5e8a3f6df9bfecf85cc1a34fd5057d7c3c806fb1dfc3e1c2ff545dc5f55ed8314f8f8d03ee1a06ee5ee3211e6a2873aade866abbdbf1bbbce98fbb5d5fbaab6baea919dcd489ceba1d60de7a4d4d1dd893cdf8d47e88c421d91c38c4ccb5c424f4b8d3583f7d4a4e97984f3f59fb579b5373b5a7ecc777531ae247ef68eef31c3390ca88f4063b1621833b70c3d7392ee218e0a63bcdbc14704762a3709f7e612f091bc18d96d594e6a33ab35071c2a5bcd8227d71f2d4381bcb65b4ca24f7e7ef2f87c24400e7bd2603a70c86eac382ca98b7ba2ee66e03b32478d4c354d4c6e7831ca8feb4aa7be906d81ec46db902f4e946626e630fe02ccad384a1d8e8e9dc1f20abe58cddfb939024e1eef47c23c9a68bbec68f35101f830a61d09d857c436ec2e027c2ea39c7bd214c9bbdc5f9b13df3d2bc00d212e96505f09d899d399bfd6e87bfd7cb417c8fb423f983a81f5111676e49e159c93afc6c137789002b6bd19db5c96680dd7c6c891e7503382cee1694fe58913eb9c1bebfe7e20b3969615e4d9fe32b00ab41e966ac51a5e4bda392bb48bedf8c8e67e3a868895e6dbc9b67cc8a9b571b553a74c8b57ebafcfe60b81df262ec61d63d01a5b0cf4129502af0f2d64bf2fc2a3b7f0ee42874f40c03805b09ef91dde5fa7523b1851b6a950109f5fe44fd7d8e3e7678127d862eac7c58ea3c21d74d63e1178361616db8bad4e769b9dfbb0f69e5adb7e37743fcd9867d242a8f7d572b0bdd8e632c2fefeec0879da38ba7ba6927eaa93d03694d4329768ae4bcfb0e3bd793c223d2870c2591c085fcb42e88dd34d24fe78f378bdf4001f2f1f937398387c7645bf750c3d14165bdf2e26991beb704f71a144104fe5da67276cededed645bf4cf2b92615bdfa668df9d5f0b53a3ef07b3dbb3a377b9f6704cbeea072971bdd1bac2685cc86c23374725d23bb68a7b95d09c61dc81312b73e8dcb4f185c7634bbbdec592ca452d8473bed7e8528a1b9b64636e2e4e1126d856ced8bd6ac57b2d63656d962bd3592e37f384fc54f48e68ce19cbc8139b9b883b8a5d093cdccf47dfb98190ac18e85b3b5a45b597e4465e9c614f941ef4645347cc2b3d4f9cb37c7462f6269993626f8caab3dcc60f288500b0a70bdb546867b1f95a9b4ab74f7316d67d9a4ed55343307b255e267949e1b63795cabfbc3841343ef0f82c59ccfce6c42c25f074e4c65e24f0b4ef2e2689137be5aa98507b7ed7f410189ba3cbb0b41b2b91c057f59d93c42d26b413cf4f38ce300f1c1ef6438974aa555217abe5dbee197de4423e356cd66c208fadf25ac29a19216be9d7d25473bae669e2f204ed5d71b175f63ac53ad13541e7176a30d587baeb4da59baa5aca4ebf112fa7ce14f61ab11747894b111b911f2722ae313aa1b13b53eae29474755da77f9ad482d5f5169df761e4b133bd9ee07d2a5e9a382a2b1e6287be9e4ce4bb1079e6c47ae9f17a886415bad62dd0b9db1d615d161d199b386725b1f9dd11cfa39048dcb2ee0d58b7b06e9dc28a85e85a7d57fba5a60afe4228f2ac63d114c65544e3d1a8c060ea3525ebb5f5aa9a2621ae7937dab5e8f765603dff1dee8f45e70c3840d66abb3e935c3fa702c885e9759eea2eaa39c11aa7a07e04f97a9f03c087a22cc37dfb34e657871bddddd84de5d347269f92ab6d2ecf367eaf026ad6678f736ea9219119c0019fae8dd98bf5aaced31ccd4feaa0f367e4a5ad4e96645ff9b897149f775bc5b6f561d1ec57073865f2b160b67b2cc748de5c900d8becceb581cee073fb6f6d2af09dcbb3e59ed4243cda4f68bf5467d585fd0098098b2dc4eb2d35afb9cd9de87a6fe7237b3d11ab8e0f5ee2b803c1d4ade42fae9564d8d0decd29b13bb644d4d8cef8c5227d23310b6a8dc6ddfd2ead7c66298e6eee42a7fab2d9565b767d1082bdda7ade9758846f643e7c814736cbee48ea93a06fdb36fd0ced33dbd890f81f5cf3b5d6666935ffbbc1d677cff08ecdb3bafeaed2b2715b752b02da3fc0a1b3374699676e6e56edcfea138febbdaf9602f708e0df10ae6847f5efa2962698bbe2f91c88c5b5771fac1f9781552a1083182736cfbeffd13d4c7ab0e7a3d4568fb90c36fa385e9e66258cafb062f237d27f3267b03cc4354b98e7da87bd22f1e31fef0d69217c8945b506fad289b7502b2c4f5312a71abf8b95bfb38b6e368f6c8df4ebdb6770e957778f34f52b9206f6ea6d195830ef6e0038445d5f8f1fc6cb700cb2d7e6f5786f2809d8a63c793e3f27781c61ea76f784da3e2b123fecee9f537dc67c71baa185df9ea36122aa56ac4c2dc8e11f163945b0625f5dff25abd1f8b0d8f8df9d1f27480bd097fcf06badc980b388f96f5fee598c9b1dcccfe26293f4fdcd2d47fccd7286cf74abe74e2ca940e084376f3acc01fbb963ab08e8bacc36d09a417c2cf5382aefdf5fe3ba383ea0b74b1adb9345ee434f9881e6822d5af9545f26dce96d9fb3ba8e8cc57762e5e20c968a654e9cd6676f6d84e00bfc741faf4aa8b340f7a5e0fc9942bc8cddcb0f7fff25ab61b22a2274864b9c57edcbb45cc178ce1fa9a4cd90edd83f33e3b5b949ea5c30f663ffec1d88ce823ab9135dc9c554c7318d542e325f560153376d9ed35a6bb53bc63f79b684d6183f0ffa5f0f8b0799f08fc785f1f284e75934887d1acfc3877389fc2ce41f317aee19facd427a18f97798a7aea947e67b72659a53b53cabe33733df2dacb8f2c9d6c6386df68980f46824c5d7c48937ac705622d7d42327861a03e0a086bab4299d488ffd7f5c4f56a42446c20ad08707fb37b183632917703e7fae53d42e8f00ac673beec2cfcf4dac624be3385c77eec04f5c34392524eb94d307f84b7fa453d4f09708eff491fee1efdee4126c84fbbaf0138215cb0ac1cc1782eff4ebf14b64faf647725bab02fa1dc8b8b6dd64a9d1fbbfd09359a51b9593003118a81b68db6aad5e4be0066c8dbbea17e9c7fd3026d81fbd5f1df769d93647e83968620eb57fe9a1e740ffd2ece8c57a61c568ed29bce641c4823d4b6c1a22d7901def83fdada549b52e4886ee35b6f2617dbb68e20e8ddf08b5cb3ef4129bfec9e1e7578c69383c42ffe0400e44ed42e40d99ffb3826cd8485c6cae72cff615cb5922f15615b3b8b56216d09b687313e4071c2b0cf3560dc4c961900f1ddd90cf6431688cbeefc6f393c7eb05f84a7c8831fea6f4c333ff744d5603e1457ca26fff7c54ef52205d4fde05dec11de8b11d47c3a7efc0dba933708f7b6314627b9f2d3a3187b31cb4f113909d2318c797cf821c843a3959c6087001ea184480d654b9f4eefd2670c2970b38b52cd6c3255daccebba617b88af520fbb8b9a61d03ba99eab55805824f70157ed92a7a37179df1401c086f70d6fbdfc17d929165d0a914b3855d64853cfd40f7f9724f098993e9489ea3bd563c89cd05cbe27a130b375816612a6893ae2dd3ae9de3725c2b3d9587153fe08f7d9ea6a6fc3776c87772787e130037cbbfbb01702a105c342191be1bcb83fd1b3eec6972ae6fe45c031ea7608617e4cf8ac61fddbbc3dbdf9a0396d49d92f7835c07c4082d6378acde5fe047771bf9a026da97edfd3da7043e8f2c53a1489cbe15f71288df46e6e6b9ec48fb73d05febcaae71b0dead7bc0a4859c5a459e4a8b8fd40ef28bc46f52b3a4726926836ede95956ec6bc67c4266ff264954f517f3e06488f22fbd65621c60e7b99e453daef81f369fceeb667a29b3d6d3e573656d50fb9d7e8726dc82ccefd8ec687a98c7143f871bc0c29641bf932975d658c2934ad6ccaaebd33a2d6f49895b5e4c1ff023b1e7d377df86e0c719739e00524a29a416eda2c22ac2f28e162231f646601cf9bb8eb8ce597382318c5259dfc9f8c474b4e503f093d11327af7d37aa78c0ffcacca931c908d0e7afb8c7ca0238b6b13d01c62ec95f560f3e671692ef13dff3fa86c625df3f879e171e4dd4bdcb3047e0abf49fa98a80fb98b3ae698d3953d26f110cfaeecca86b3d4bcb250f38ef7caa55aff7a6f2c2cd8939fdabff57732e0e0f9437fa75c1515aedb4fe335698ef964ebd856d2b7c994930cf75e0616bd42ef81b9a2cfe242482abe0e9d609dc941ed932424c603e3a9e3689093aafa6ffee0fd18eae216e1bb687ef39b27b210f8c7707d48291aeec5fd239bb715775727c8c6a46c53c92c03f92bed7c02c4d4dbb907dc8f14e078fc9ed1479289fbc3858512b9486e424ffd64b037b717648b59ea247078f6b42f2657cb9c6404bb30f50274963e2eb6da967fc497e42d763fa543b207817b0feca513f46edf71ffb9c512f996ee41e7543e10f6bb08bf568b1f6d52d90634e01e90fdba36a0dff39dd82827a43370bc1badf1067448536fb041b664e6a2fd544c32cb888a5531f1c1f6e4912e8d4a81a71377a0443687eb5fffab637936973cf49e8df03868da596c13bcdf275fb619a2f18e087e4f60ab80e1933838769b781c5c1300b615c4963f18a8b732e55fe2c242320d72180e976798e70ac7c431def891ad6483a8e6235ccf6d11ff0bb8b6debcd3f8d25ab3acf61fe2a8d55fb98338e9f7f37b8d3ed5c90dede7ce1c4f53d25bcba60ecf0e20077e0ed13cdd1c6678f5f879e019398951eb5777b11d91382dc913b66d6f2a07fe30dc6bdd3dd7663e7e88dd9d311754a5db15e000caef22e01859bfba7b320941f634f10be6b0c82e3b90e359ea72792cf1c7d486987ef8b8ff671ddd967e77d67b72e2a9eeab63924544d663e9434e07f4dcb65513017baa8eedff696ce3d0ec776619d8aff6d288e80cb055bcaebd756a6c142a68f606b26feaf81eeb7061fa69a239ca43893f268fbcd5adde2b8c4bf288a5cfe5b82701d7f7805cb1a77433962067908ec4767a98e3dcc4c79fd8e9f7b51696d202db76a437ab910fd35901f117f3a31353714a2a974f3b1c67e472e04d24f8036d9bb0d2e7807f5f8f3904ffa7f91c51c067e54eff24de8ff306ee34c5f9f07a2fa27d9c5dbebb577f2f02de450bafa0a7afbfa43af675ecc4be6cae897db9e5b8bd0fdebe8985151237cb568c5deb3ac7884a9741b240b93b06ed0b3cda9f5e641bc3a31de777af407e419e563c4a44b626b62907b84f10db44964627a083a616d495ba9c15db85ff077609d8cafedac07aed611e3a730cbd548f3152b589915a4d8c9a6ecb99ee7df2ece771bdccdfab4dbea2b26115ed88ec25e0f6b130d6cb37f77c8c55f4c6a313eeb45ce26639c42d618e3b72b25cd3602314d2c242be122df159b28a67bfdc80c485b10d51d9a8f535a2961435d7891aa61a9a370ee9a84d224d37d41f9f5f6d7cb14f7ffecea296409fd581c4913d63d4b6a722276ed56a0196b9ee3b6ac77e8a916ec336465ef3088a58de5d448dd5802734f0cb6560bfe424e8c83c8dca251ecb2107f34b666b7393da270ae45f15cb953501cf131ffe999c03bfa8c1cf2031cb564f2bfa7ecc829f8cb90d6a190fbd17fcbce89e652a104e580eedb534817b821f0a35357f66f74e3750ffbd57b10cf734965e6b1b38c77b6d5cae4e4295d32d6c731259265e1f0be202c86601dbe44a6c11b005f6869d40aca02dcfb9d945e467ac323d8ed7aa5fae0da8db2bd7538a564ab694b4cd701550b9a80dd9b64f21839f3dfb45c61020bbaf6d1fed89fd51c5363d260a3dfe588db1b20f4b8b99a79629bc0b7c44f5fab352db544a61b1bd807dc98c222108df9c69155f5d462eaffb1e87f53fd88b5dbb60b037b6d49e9b243817021c7505ba073a4f1e77f5a56a5f71110b3901d507ce649b67dfff68bdeaf8b77f1579e86b863c05ce3b87c9dfdfefe87b810f394f9c6b0e13ac538fefe4f37b956bd7023f6a72f7adbc3187fdc91fe6de2f82913775168dad94c118709d7db22aa2fe73bec4e2bbe73c8907635f237d92b7fbc7853a960fb66fcb227b14e6d7b0bec4b2b5879f8dd74c4b726e9af3c9a5ac0b5c48705e2e4294df84203fadcbd9977d4a6251bbe0b3a65ab145725cedbcadc90fd1d90970bd27c1a62f5958f375e15fea3c65fd1b1af06ff13e3dc2ef255efe25abd778155b48e65ec8eff2dfffcec23951c839d1f19a91b10dd57a3721f808442df9ddfbc63fb8a69913e82d46ef95611b00646f3f8f9ff6f7e9bb687c238b9fc409a0d6911ff66c0c643b44eca1cd350e718ee3b398522f1f8ecfe04a855ce1ed6f73853f96fb41fe50b7e39ee87b2f96f34e6a0bfe643c1857742a8f300e1b8e2fe1da50e171beb83095cbd087bce43731a827f9c5d67b7fbc43fcaa577bdfcbbff7de6d447cf30923f243741e76227065e6776233cdd06762dfe4c047aae6c5da18f7628ae15b776f617c9f767dff32b0a1ae64cdfcc05669d75263ccabc441fee242499cd84b6d75927b064be15acd6a6dc3b77e3dc2e3fb2219f6d7b652b937466787df1d5d53bf83dfbf504e9691fb6e20243fdee3adb829c9cb50b886e6e771bd6779195b1d7d21fdbd5697957e0e3a3177957ceececf6d6d0a7db990fdf17834e2bf4d65b0e9dc961ff65246e0fedcae6f023e15f8c005b94f736e5edcc30b90fdf30736b31a2915a7b8c7d5758fb86605faa7ac780bb5b95147de7ecea15eb72f2f5abf3f5ef61af2a7717d81a7d1a5a88d8bd569962b10f7dafd52a69721aeabd9fd5a4d2f99a80db3ca167020973063e5e9f5be3e7dbc3b057515553f591bc21fc65fc3647da2b2353363457e365e4f3789c8d4b584ed3d7fb14ddfb779fdb43768c03beae4a6a006a0797faff0fd87b85671ade4479dbbdf33a3bbc70c8fb6a99c2c738263b7b50f1dbe3b27ba78298316722d832096f25a063deedbff950ce2b7770fd7b0ff5406157d19f42ffcb5d019e8c1ef64d09a86fcd49bf0c059ddaad3c1b1484a0e40b715ff4ad77e5723f5f33c6e41f2b84595c77503642bffd1bdff328f9b2796097d0aa1ad4eae1ee46b9b9a0ff0d378dd77071becd3f4fa227a79ecd77512ad783cf4c53ce97b477ab8eacf590ef4dbde00ff28b1e30872240e1ff96ed1cdffb7e395fdfc9813514d7c02ea12335f5e20ff3efcf5179ca055ac2cb54f9dbc08929f6791cf7eae33cc7cfca9fa29fabf5c42bd5c7a5864e50a7cd41cf9d2a0039c05fa5eaebecfe5d3a6fa37836b6bd1b5c4ce826bebef4b90bbf0bd4555dfaf34e80d4ebbf102e4d71c717e023f1bfc78878358daf9dbfdfda406f2b0c86fcbc01e41aeefaf75f598b5b4be3d1742fc04dbebd93bc923d278ce3282c3effe611e331a1ff861bc3cc3794b2a4ccc965e233e7173ff1fcec515cd451daf6f619efe544ed7f3c867ad1aed281617d6c5e1c2760f15f89cd262c7f66adf71fcb2ebab36ba04cec3638de6da048e6f9c6ffa790cfa1dd71b4537cfd07b3615edd7b9128d2eeb7f57fdbae62e7dc80119720b9f14f621d68bc87ee46679a517eb7737e5e49b3d93483c7571b8687ce07cbfa78fd09efdf63d9fc43a7af61d9215c8ef030ce3462e2cf271e387d159b706c402fe7ba2b3525cbf0078d4971dce47d43d322467427ce7ad6f9754b02e8444d42eafaf8dab1ed8569ee55cd7d911394af27e0b242ff5d4e6309fcc9e9f43bfa5730ea12fcce5f5c2e3a3c82d0097ffaf72232d198dc69de17a132b16e7326b15565cd55d600cbb7e9dab1508aae0131c54df861aeb239a03b6f537e2f7666c1347eef5b2377de6efce34cf564cf6b5d66610f31471cebbc9dfe21ef5d260724f6c71f5766ba5a3f78eee018cce51e92d96b435d8b4ebe49326ff62915a11581fbfb33e018edfb475a4c1349f810fbcb649c3d6f9c035df9dded3aa0f1fd601e9acedf8c02d63f4bd15cf4ffb62e95563c2f1f70a6356afea4a40461f165960c7f3d4e197bec5a481a95ff17cd354679daa395906764c74247937f877dd07e719a3aa8f1730fcaada313823dc04e987a3a06501f25b606c85fbcfff47de9f3529ca6cefc3f007ba0f1a50abe4b04a0501c1819933812a490165172ac3a77f235726935ad57df7deff5fbc11cf414753c890e4b0728dd705b5ab757ed83b58d78c6ea15dc69228275013cbb9647dcdf293840a12d387f366ef7c00f9a63d7ee57e3ffe5286eb72c0bf71971bff3f98fb4d9cbef51bb7734b12178d0e063aaf345b4c2544fbbbcad10641be48935f80d73952f4d6b661fdf472f547e195d4fabe451bc0160379f0251dc10fd8e155f6c6ce17933a14adab07f50e83bfcf52aae5fe88c4ffeebe9f01fed467f3f8544ecd216f5ff95d9efc700f293312df80186cb23ab575e6bd3c3bedecd9da9701be53b22712fb906262f46b9449fed5706cf0391a7755fe458d13e41edce50afc946ffe90b7a8470ffbac0afa5a4072cef5ce2fbe27f1bf7f95abbc5a6e9ffa31a046d40ece7e15bf2af6bfa9b78a5bdbc666995cf9431d5fe9f03ba66a979f3cc071a079cad4cef8217672972fe5a3f7e6d9e87f5b737768ebed3eb8dded83fb777569211765be689edb7a3b44ebea3abf3bb60f9ed5daddd732bcf69e71c2d7afabe4dfe6ac371c5c7f924f9b7d1a4d6d8047eafe966dfef77fb03db4e1326c43b5b8ce6b5253770aedc9979ff2231fbdf7b8f487781d120abe7c44e4efe730873427b1b8fb9a4037d5e6e6bfab1b3d125be55fd827fffe1e44f788deb98da1ded995f1cbfee97cb76a09cbd2d9fbc575e42f9263658d03d13a82ff02c524efe03e1e3463cad57c0b7e3ac9787bc853fa06cf2395d3a2a90f781c7f71f130fe32f236d42770f311fb6e329aacebef243741a4f295d6aaefed09e3397211a416c1a774545a63d0e0ae98574fe48f042b6357373902f77ad09d5fe22e1fd74d4de0e79f321ab58dfecc2f43635fbf19a3a18c04dba7c5a2effc23305e378fe662625dc0b3858b04b9ee8b43f78d581fb10ab7e1187f18db610de447eb0fdff2d836f818314ddd66d2ab8f4ffa3803d81e50c91a4d9eac850e6f1ee635a9f3257363389f7b9c2919c909cb7912378b73ed68565a1df3cfdea1121f400272aac78dd3e060fb47c24d65560d8636c99f6ae61ec420e76f685d130c3a1f7d5bf73a94635572bd8fd76e8c45eea381fdce373e853537b87fdac394b9a8469e057a741de83fa88f01a50d6b0abec9f7de3867908374cf40bd7b90d4c36508679dffdfa5ed0b200639e5dd1ef75e702c6feb91043648388b227b248777f5854e8b4546b1873f5aacf22455082ef8b59bc309cd2da11ca70d3f600fefdcaedfc3f56880fd7f53867ef17e9ca92fdb33ff6e3dac66ef2874b6072fe559f0ddda7ce5e98fd8b47e87896adf617a02e6eac60aeef14207b8a91bfb2926d51f8f01194f09f8033c7b122bcb4bed7251e2db8b97bd03f80fd99a75890ff037d77deacf705a015bf619267dd786eae736102caebfc622bde76a6a3178086713c54823bc862d8e9d7bb2522fb5aa1ee756df67731d62adb1557b1fc7e7a1cd5e3736cfdf71fd130e6d6e9205cbf7249cdff30a3fcd9922d823ceb04dfd398b6d8ec62620f893db3c9cb3cce7b218697a796dfc858fdf00b1a454460ce448484951384b39f07345a01888e3160b11cba574977c2cf8963fa8690b958978cfb991fa149227e5570cdff29d0db0dda6ff84b36985affde0c6bc84deae2b343e48a8bc2935c3aeb9c62708df1491f6c7cfda9f6d1edad2ac75375d190b7e6360f9fa1e0449792dce16c57b8ce8ff31c272d813adb1c1b51c1928b4bdd47324ba9f62d91bb7dfa48831c8a355c369d5c9d4de372dfadf94ad8cde3775e3566feec6b4d343a6c06f3fc8e1406f68259a99c28dbf82ea1229046bf3ebc9355f0ffd84d89bc2f5e49d9e2307c9fc4a9c0e71764fbb9b096b6872da7c1f1be22524ddf13cd2b5033ac6f86ba387998f2006d1f0e944be6d0236975cc539de97a4146adf00b74442f9b98f4708b5a89594438c65695df0b39496dfa839073536c9e7b238872dcf4f98848276dd3bef85876d1992eb7ac57bec1af6f20bf828ee6414ef8ffe46ae98c53d7e3ae1fd96cedfd66f9e34264052fec181cfe7453ab5b1b9bcef5379c4e91fae75d0610c3e592309fd2d378106bc6743be15aca704c0b3279cd6a724f2ede2ea8fe4d36a2e15ea5c7a0938ab9450f94afcb567d4c31e402bb1c795f1c879f4ccaff2cb3332dff909affe7fddff291b05b35effa76d7dc1dfb6fff5f3ffb4fde04b42abe5057c8f6bd48b0f2d5bbe85075ea6161b81d894839ca08687aacf79dcc35fa67151177d529eadcf65c1b4b8543399ccc723c53d9ec9ebfbbf2db3541b6e34c227d6fa7f5fbee33c85b62e993c58ca89272647d7d925bf5b13049b98c983d4c2f657edd913667dba1c5d7b72f3d3e4e8dac577ef439f200bcb5bc85995cb09f590eb6cc0af4abef7c4e421c818f9e83adab06d7d0edc7862198b02e1ef76b13d246a51c099dfb6c380b925f39f805be545a15d32e66837f145f3454a7bedd3e5ffc33927df7cee7f39e716bf9973db66cee13655a16d767c7bc9c3dfba65d2bf21bfdaecee4dbd08ea84bab928ba10b36ce731dac5826a32edfdfc1fca0084e76fff39d6fddf826ced9abff512cf478a5ff0d84fed77f770eab6297ff3452bf21306daf6aff0d4f512eb03c067eb9fb62f1fdc77f3fa8e97c39836dff5d2f6dd4ff3fc1e07bb924d33b104e9786efbf5a7793ff876d1fcd58ced1a35e3f4ff721df4f909604df46dca68f86df738ec433cf8fd031efc61bab181a77cba31ccd1a7fdb8c7fad5f77bec1ef061fb7b6c9b9bdac6419e72d68a5d3c7390bb30c8e9617bfe9cf2b631de1a0c29a8370ed0201701ecc715c41519ac632536c787907b837284751088dfe2756ce55f0afc56209570c432943bf9a610bcac9ebd4273f8663282b509985c96af54979ba3c7d4571ddd942a7ff5ebb25a73d32f85c6339deabe2d44ce48c737d29e999b4ac7053d1e7c0be04df5756fbca791e7b1cca70ded1913eebceddfb5413fc03ca171803bdfcd14e223fe11cf9f70fa3977d9cd9cbdcac8bb6ee6cc4885bc9360bab1c7a99c8e09963f1ae651c1382d7b5827806d39a5e3c0521fcf741a1c2fb8dd60ab34bf93316afa1772f4019ffbce5f78bbcfddfacd3b9bfea0e3ddcf97a1f1863f1ebf33223a4542e20124cf3bda434ce811b37638bf55a8e569dbad1fa26084f786297d660cdcad6b44c77a59dc1c7478b1ebb78b6631bf28d675a654dbdbeab44b0212976ee237d0273fe92d3dfe74f0276c6c33f76ba65c890be053bfc3e4abfaf6266e23a9d9959a7cfddcc5f6df8cff5c71412e01cf7fd15f83955dbf3faec19974a17397e28c42de0a03797b8e34f04b92fbdb755a6deab717bc7ea0afe653e4123d0f30b937dcf43f8128540167c9fe697b0e50d32f874ad18b4a31cee863f6d3f545a9a1f8c5afb201def76a7ec8d68829093661cfaf30935e2414ff5296d23518bde77b6cd31ecf48d127a93f9205d7d6ce4ff8f8a3d5c9ba065c9479f89dbdf77b7a51aa33c2a3b5229895d78db1c8dd9f9f5729359b28e938f7d199d78eef3ce45c5459a518d94d39f5f1c925c026ff9b3dde38591737b52a8a45fb9cf7a6678f37b8aac0f7919a896a30bc8ae59d03b8c66bc20199709e9525410a5c1f3ce867a0a359d7709ebdba6972751df9090f5c6f1f3f32c5a6920a1791d878a7631c60bc57c63ba231f7b66dca5cca5adfc57c81fbe3e68e7691ff831de5012ff914cfc3fbf78cc97bde688e43cbab715ecfe2de5c265cab2e975cee75fb3bdd62f00c3a5ec3dce63f69e7f2f0d01ed57033dc0f16d191e658475266f18b8498e2e3f1bbf05ac0f75bc1f23d0962d089ce4a2b6b0ea5e2b0f04d5e2ab0fe726784cb24f78c33ea72b0811371e28bd63be4277156bd3e5dd0de9e44c1297eb16b29975239f3911cae44fe188a42be4ef231e0238fb6c8017d4acb7c1bce97ea0cb03f8f52c2e47bc08ceffad3ae17dc6a269f3de780fede46bfd3b30013057ceaba6787c2c7f2ed2c2563e0515ae99770531d7ead8fef53bb5e5cd6164b380958e63f8a7ef8b54eca60950067d1a7a39f33b836b9243b8b25f7b2f05ba854f1af4fa17f6d0ecff74c2bb42be6cb31f896eb60332a07f792bd800f1584db91e1ebd8eefaf8cb118a6b7bcda9b9b70c56f87a3cc6a752f6536faa9b135171cac099c1b75d5d7b32355261fdb998bc1b28cee49994ad1b2e7e9dff18b6eb92acea27369a38fdc146f3729f13febddef8ccaf84f716fd10b93ac570873ccba2d9e7139bebc7ca84507198dff8ae86392d3d3ec3eb46a7fb16c565c5b6bb2f0a782ddc9c8a3fad661296fd8ccf109d7f0b3aff2153acbc708ce94535cee54a9c42fe8584f2cb9d8fda5705066a1d80ff78ce327d1905fb2a1e33b2df311ba2a75e37cc84f56d3909d0646bb09a6c2d127b67f1b2117bb21127a66d64ebd06691e7485723b6965b6b275bb1f589c75c3727b225e0f53fb9baf698eea9fcda35c72fe1ec619ffb6763bcfd5296db7fb3d7dd9eec75a22ff211c47b81432381fd2a9c3305ec793a70dcdf82d88a5ceef0841773fbb5b1cdff04a8ac9423c3a94b06721895d3365ba7e3ffdcbd838177387fea9be9e39dd37efd0b9b96c4634dac2f149fcb12eb50b541b86bb330b5f69e23dff075cabdffe781aba58d1382de89f74dd71c030f68300a33e0b5065e7b90cd08705da8ed2b1db3d6fe077f36925ea90dca823c4fc93deb8e97fe6ac4c25a3a5ec8fd78ffb6ad9cdc23bd749cf313dc06d4e428e27635bac12a79df984c62ea9627384cb2dec5c95ab7761ef557d4219730784cf177d1b6e4fe287cda96bd3d49dbb69cac22101b1b7ad016d9885db4a6dfef72c2c5b3cbc7ef8ff1ba917b39e0d1efd604b54bb5d11e38d3236c1fd27ee9dbf3fdb6307fd866e68adff3fb7e66ae3a7ede89edf06396dfe94e3d3b0831c5eaf8860672cb7ed4295662dce1751a3ce1ce15cb08eb2a526aa2d54cba7aba94add3c9d33d7e30d77ee061fe9d4f1ff886f17e21c889c758e36076402dbf8fd5dfe7d8665fbb2842ff3c93adf4e1f58a0e18f24ff7eec1b3ac9f9fb3a91edef58beced173314d8a95dbd07ce7287f7f0e1738d69b6befb06c5389fefbe03efb5418fbfe83f80cb3b9fbeb4cf45d1fe7316c1bead3cb6edbca9cf2ff77da11853fc2fa61c246d0c9ef645a57ccfc900bcf701d6839db77fed3fedf4d72e7f14782adaf8c3f4ea3951e202a761c38586cf2fbaf3bff769b618a0aba544f8529666830b89eda594e2ce0cfdb9b05ff7de4fe26cccf0dd344f7d4e7c2aa11855fe28380c78e367f202ef1f52d70f078f72bd53acffeb46bf30c00fb5947865b4f3d584b9a87a9991f35ab89a098c5defc27bcefa9d28309e1ec1f35789656eab887e634c7243962a3c4f13983c3498af50c85907eae2f173bd70b5dcf91acb34bea062e3c0df9dfd312b6ac5b814ad3f6d5ed4eb2a29949ac136cd6b3067be829eef2414f28903f15197d7529351d081536767fcde5215982f69969fe1d862a79ff3b7c6ee07ddc4ae9310f6c02373f10057aba0bc7e3b6c6f9ec9b74e2c6ba19e494e03a91f5e896a1ecc00d30bf2de02ce622c31b9787a949358e92ef36d6c83b0a9a297f9a75e6678aeb8f6e4e8997cba8ee1f93feda903db11db42baa56d5abb7096f09f30079fe5a7e428c4b20eea18936338939a5c22de4707569dfdebf5d670a03c8dafb6b9eddffbc0d1665eb4b1852e7661fdcd37bc864b79f231826f1961bb6f4b63fc9fe023004cf9ec63c4921cb1be7da4cbefdb585bec4c6fa92f1245674acd88f9ad69c9862558b6c5469e9d0ac8e5f01e129ef776f6e58becd51fbd97c1496342c71b7d2c931775bea8d47acb6ac760bcd6f3dbc62aafce5242cf62be3ff9a31b9fc1ff3b9f34c9fbeaf31aee0d366af2e436c6dbab7f2c6f6ba895053f62a4ccb0ac89af8047e3441b0fb57ec286c721db1c5da6f12f86f3a218be5ffada185ee7335c4ac97acef0eaf2cf6d19c2cdd0edf12bf60239261b8bb979558124043cc7b79ebfbdded80b2c6b8a95a8826f90e48f6f79757e613662fc1acef22fc5d926da9cf87620c62aaa4dbe32bb398e4b0db9956698d96a787e2c1f2516dbda6e45b1a9e6f86f8f055bc060d9cdbce03e976abfcf6ebd3e6314bd571b3ba718f84736938ded7f34c8effdafdbf1a212ccd0eba68a8e2d3e9631fe4735de52f568b28a5e0ecfd37728c6b924b59ce3544e07ef639af70547be5aa55ee573ccaf00118e554554b1be45e4061c6bfc6af95e79f60e30a87f8a8705c84d0334c9024666bdd44b02f8fd47fbe2ae7e1af04320c642708206f3e0dbb157ebded82fa5af8da3f97e8dfbe8906a470def83bd73d2c3390db99cca327980723e60734eadbc9b033e18e6ecd7c5743d8bbf3cebc2f4b99054b2a75f37769ca815f85fff57ef7da1e376f7ccb7c7fb67fdfb2fb7cdbca8e4a35b3b7a5929355bdbb5cbc0f30c3a0f5044ce73d37f36c7fbf614d3e1f3720eeff3bde36cb594ff9bbd09afff7fc155bef8bdbdfbcce7f3635c9ebfb8777aa5e708ac87f76efdc7fdaec5f4a6766417279b3fd507c1bfe2d66cd2d664186fb97f648f9dee83e7f018cf615ed55bace4a33dda850de6e4373c6cc0abd9f8b603f40ca7273eec6dbc1e8137e6d65d5b668d7cefe18974b13e88e909f5631d37893b847acf1f23dec794cc46c664bd5ad6e8f7fbc337795ac925fc6ff2b4f0fef83f9f3fa7f7680fdc8adfe473fd77f94434b79670306e6cb319cb211ff552ede52496cdbcaa7f33af6a9857b3e75c7aa4a68bfa8e004bfb6efc011ffd291f63d5af2bb8bbcf0f0586b73901b86283e412d9f57be8586ca74318efbfb3b5be597713df3186eb8e6200f11ecd8d770da2a7353c7efb4e5782ba36886bd97d2ec9edd43f5e18e0f273247e8fe5bd5ede3666c35138f9f29ca4c6fdb31205fa6d7cf36d37f26d4ccf0615fecf64e55fe4240efcde7d9cdeff5606b6f376b90519e4dfc9201f950cc4f55bdb7b82fb721843fff3f9f1ff27398659bd22dc22e9de9e24deecdfd853fd5cb945f19b7cbf3fd6c5c294cfbcd95bf134c7efbbdc3bf45fedefffd6f6fc4f50f1956787c9c7f2dffb7a7eca95837a95b616f0896ca23a27e41d1c999b339b9e6d2ecc7cf07f75fcdd1ee8c80c928e34afa76a7c0bef61b31e6404f2f56ad742a8e865974b3f1f3fd947a59b8416fcc6d9f9e1acab250afa7545567f2d08ff465692353867939538e6576c715384cb696fb3a182e278554d920fd13a927a4c69988f8e68de879017c4df427445ca730df2b2abcf3d94abe5b68b6739d2a00e4cd14b52bb955aa79d1315ca729b0728f9d379dbe784a53ed377c209dbc9e1416d48cfa7dc720cfda9cdb1d1f1785c92d549bb858e7cf4f41c8ff1200eee71e5cd4d851ce261b39c97d28072ccf4b1fb816ff66ba3cb17ca959e791c9eeb16c4b7bb7b637c2ff3377acd7ab4ab3e9c0be837eb795c280e7b74495c2081b50918275ee6a7568ce718e83a369f4acb10eb6cb7b02239332196f9223f5aa5561de07eb3170d5fffeda71cf71ff3ef4eeaad5f33f53fcd7b059f503b5e673c5e4a25651202bcb22b89b50157da6b900a578f335ff05ae9d5e5217329dfbc911cf9c43778259814662a1f49fc7295ca376f39a88f4478eee2f91370c9cd4f34c6757609a959937af72478ff27b8183ae476bf0727f91632dd7c1b3c073ddeeb0d7e9fc01e0f79b66d1f4df01aa83c4703ee7dca7b7575533efeb0f07a0599dbfe4ebf2d1bfacc3a39f4f9e7b1675e4290bff125a1186aa102342139497a745d2d2f956b4f4e9e71c63a7ed6e46e911cbaf7cae7c2cab55bddb2f9ae92fe8d7c6e376965e5b29c4ab13586bc9b9186bfd9084581f1483d2ceadf83652fc514997efebebfa10efd77fd0de3fd5d7f231237f85d7f7fe3ab175d3bc909d7d8f4d06185bcf7d6be94f5e2643fb5156a827d47bd62fd6a670bc7fdec70be5f4b6e8f7f93d41735b1ed1ffb818cc7498efc344c56337906b8d4ecc3bcff8367407ffc22fdd09f5b5067db623cc01e5a2ff250c84b472775d4cfee91da78ec1b52b871c78d087b55c9907df7aff617b1bde67f9033fea7b954ca13bdb4ab3d8d389f4b62e24b64db3d3da0f5d03b12e7394b718bf382f5cd5812d99bb7b4724f7f3b798e5604697271f50029c685d963dba17aaf56a976f34493976276b3132c7567f16b83dd7dee62de32e22d96cf788fefe96fd6dfe881a55a139e677cac1ddf402ee0e3b5e1028f2239bf004ea9dff777c97eb7efef45a13646e1d56cb0a496c0abf0aacecfc8118a4242c5688de4c0111768353fbc484919b848cad706febd64245494e4daf20ac7e43c07c747384ee1b886e34a4245a591e3444245adcdcf274728905c15137a7de0cca45c35d41adebb18a3d57cc1d1777c4aa818ab47b522bf15b84d955aabd02e7326f32bb1e0ed4a9e48a840b62ee5d209b0b1722969ff174cfc7f8a6552810cbccfcee48d81f039385ee3f37e3a85631f5f1b4f36708ef352720ffd9ff144296106f5bdc1ec2eb6292e681c80bdcb5b5c70905fc492dc8226bf68259ad38d21b19a9e5c37ba3c9650196d0ca98f059b6ce60ca719664daf61c935db57ca2b4ae214f09c6db536b613ed18546bc3cc14e7a1b6fc4830c6de6ffb473c633a77de2fae1313ec26514e2431ac3c5b603cfc7d6214f9e8adf85878e22e26ff088e2a832c5dca5d83197779ef321ed72f1f5d0658e4ea4cca5d9d653a1f75fc75c78f9f92fd94d6bc72dad9b3598213478f3f9765d4d43f373c011b938d42f170f56d61accc015ba3c1f39f7ecea5acad9f4e79bcf7451f2dd63b9bacd2c98df83b12b9bd07f05d9b365cb260915cc354c8f736d412d57b2e29747bc2b9769979781f36164ddd36f05818a2c57976c113bffee406fd4cf8abfbbf679b8a29d7a979055e16a64cc2d4cadbf792fc4bcd75de9ed5b33fe5f971eba1bfa1ab4d98bc7e367c7647c0628278816b30d80ebbf74f317dffd49a9b4e5de372031f8f1df34172b9397a59f77032189b4b20d75bd21788f04eb4764fb19a4b19e1b665bed5852574e9e5f5422efa99e0256a37df79cf7cd18aad06476d36e9b0d3d84be6e8712a775ca9c7d549633eec32d90296aa9604555993dc779577ab490d7930261e4ba1f61ccd0f58ac874dfcbdc5f041ddf78d304dad70830f80e715b9dfd11abcadac9b277c152e2ec907e1b8abb11da0e3fe1c0de607d41d5b84cfa2c588247f47d3cff9a1e8cd55ddb33dc0946e8e3f9745d4d6b9e3790bfc620263d87c0c7802f7e79cc1bb8f3e07eba5f64ce0bb85fa91e1b97030f71f70fb6a5aff7cd28e7bd1bab8703f5beced32f116c98570ae264c737fc7e9f127f75be3fbfb094e1fe123a2dfd062fc49486acec521c10a8c42d1aa37d6256cef77b4c45b745cb09ea312fcb2a1cc3937397bc407d7e222f00f35ef809bb320bc183ae1528376f4e36ef34bb4599aaf8a4eb00e5a5e9936279370f3bb3af03e5cfb782eae1ee7aec1b22d87730f2f68af375c8f31c1c9ecfc1fa98ce0990d07ed39a872deafe21cfe3ff6628d432cb8b8f9eeae6e006ad707325b9a493d79bafd4f381b62e984773e34caf381ed9609f1a30dde79b9ab79abd56357f3a61a1287ed1dedb8e8d7b6b1ea316665e4822ed0e40eafe712e172071c0a73a4d65b663367131979ed9ea902973860ea44b44d642f1dbc73516af345a90edb79ba8bb35c687e28a719d208782170fb8e5ba66d0fa9bbc176d184b40b6ce5aa7facb5f799e3e63eb53649db7a3808d2321ee8c32b7612f8e87c5855bd5ce9fef5a2d4f86921f7b9d91f7a5c48586e1c095748c1b73542cb377c9c7b47f642f16b87f564901f34e8c35a466e14a20864aa36379b731ce17553db6f0b70dfcfb7cdef13556f7e8febe677d590fac76c7b5cb7cfad096729be6f5b75bfb79ca6a57adc766d40cdb5eaa4bbb6fdbdd6da3612ce5afcfbda70fbdff53b6c279ad3b5cd489c0970f2a33e2ffd9a5b7c29942f40b21beea6e133f1daeffc9c6fec9a73790f01bf5aa6b47c9a1493c4787b758d72205f94aae13958143d1973570bb8c8143d6129ff0ae1eeb581bbf712cc987273925219490762ab5b7e30c33665596cec454678ad488e307c433f4f756ebe7a473695917752c438fbb455de1d95537fe6a6aece162b63f10ff0a323522be9599742a985b05713c97e2ecbe3861bffb3d6ddf443078c31769daabfb4f9b95ea76e2a2301f2ac37f5e2453d0dd6e5676353ad9652f6c199576f695d8201becd81f60dd8833d5db38dbd20b90a10e5107adc3375c073c173221f60b6ccfab9ba015246db2ffc3ff53546141f8d700dc5437dd4871c1de642720a1acce530f396bb33e880fdeb17cd71726db989e8b5abf9b6e8e1443b84a38a8d8043ce91817ba9af4b6e1060a95d37508f0bfbbbea395ee2cf2f6d4eb78b2206cb889e8ccff77a711edada7ddbfcdb5cf73c38363a26a9097886e3db9bc7d7cd527a05ec301de25dc92aed7408d0f71ccdf713a68f17cb28c3185a774cb8e218c561205e4ff2b2dfca2e37fd9da1f9e607b597632e57d25738ebd7444e4fa426323849282663dcdc5777f77dcea4afb022b89bedb8eb1741110fe77056468a1e376d607af9f1ff48e832a2f88f4d7f670a639ef77735188f9c44cc4d11ca2be42ce3fd2061fea3e8fc09eb232d47ca50c7007f019dcbf566a4bef473dffc6a92bb8ec600ceb773e083aa1c036e5f9b778af566c2cd887577472475269e95170ed62bd15bf7378d2b0735c5801b49bcdf8b9dacaba676d5e48304e4cc71e3c8be9a30603f4ac44f76043fa5b8f8da38e697222658c79e7ece24788f5b4f91743c131e2dfd325644350f6790fb76edc996e813b05063aca7658a4173f5e7669b9f2f57d249e1ee730841d60e63e335e4557d2b7f15822bf128738d31af1966b536dc543e6db1fec2a9f502f85f09a7d2fd5e005c99ff90eba482d66ab35aad326a3d3dfb55ce07b343a9ce2546c16b95e8439ca25fae2b7a8f52bbac66a81cd60f71dbd6e9f46ba32fdadc18881de3b563f089cd09e1fa244f3f976f58a6f5d635cfe37d0db81cea4b8b87b03e3df811f09abe05232d23b8d1c46fbb46ef997ff2225f4c7a5c20efc45e022c3ae67c87a9377ac0d483bda0f3fb8550e328413cb19b7f970156a433c012cccf80dd4de6ff933a3239841ab3e6597afc4b42395a9fa45f12c276288300b34a1ca3817eb530efea6b4b1a53b0fc817e6031bfbcbeed3b634ac5c8ee74bb4363c3437cb4c30d910ecd33d57e6c5f3487760995059270f99004e6e6553047f11a2df07a576725bbd125b4e6c6776b303e07357b6df6344567a3cd694b6396f13faec167eb939a872d1ee565607f04086c934aa917e093ecdbcadd3d7d1c4ffafc149ecd2af5bd3d137f3dbe076c9b17fcbc5e6d3cdedfd841ddef606cd4279c21900f44b9425a2c67c887c53a9b7fe469ae427faf01f9f8b05ff570945ff746795c737187553f8bf28d2df87b8bc9006773b48bfc544b0ce0e32daefdda35f041cc84fce1ba99dce4aba1cd0037d14d01ebb1c993b7f954120bbcd7d4a1285c5dceda78083007221ffcbc4d5db8f5f86ee02a4a1ace0be0a0f68f7c4e380cce685349b94ff6c0c6374f392d804791fa4c004f9ddcc3b2f00e4fb452d7b1f250203e9761ae543746b4f6bc6ef359eedea538127f770eefa1c5906b5460bfb91f6a0f06b124717a961060b6e714b3fdb44180d3dec593b07d646b47cf7967807f61b4059ce40070ea1bb91564b0970ddeb7f3038121ed037ccd1deb3b6f7c70eae7eff58e8732cfe8e9afe0b7539c4bc3934ff87dc556a7bdaec8dcbe02cf86534eb715e11f938cb7a6ae97dd000e2489e1d3b6e036d3757da70fcedf1f75c4d3b679165d2f4c3fde437d833b924fe040fcb037c624bf8e8e2fe1915bbee177e71b9de43f2a22e826031f4d5faff6510cfebe675c139baac735816d8c6539051bafa76bcbc86336c737f031025fb31ee7d816f1f4091b7056bc5b5ae083c2eb20602f47e053a36326a1acf26cef534297639fcb3798b9297e8684dbf2e043d27c9765280788557bf66ed1ff369bd3426c73297af1433f9a19dea70073f83e57ae19ff59e783dd5487e8494e561e34b8b834ffb15f5385f74dca25117955797e7c4fc3a34a6cc881cfb24aceab93760b4edbf380077f26f763b0fcc6011979f3a026075fbf5bc1b3ed03f187023674effc1da77ecf67fab87e7bf74922cb06a3edc14d4dc2ffcbf1b9670bd71607ba9747a1b4b98c58dec7fcbecb19c27a5c86ed732cbf7dc2bb59c9c885ef779d72aa88c5d7c6de92fd99d4335ced91caef854be4584c4eb195bf54dcd780654dfe11d98eedeb1e0703f4bb9b4a478263d3f13434e30b73340e6db657db35267a1ec5d06eae538d378a090df3f61e7bbe500c3e570817cd8b3fcb79e9383d4808af839c6fdf2102e76baed42cf5fbc5d94a207b27c4940967f9f16fdfbd46cdbbcf0709958552b339ecf95426111e3f9073694fc615581ffb1831e89372be77edc57a4641393d9af5eab5eb55e1da7592add1d3f5f19c43cc80713f36726625165d4c3585b978ee732e10fe87a297f32a4dfdfa52919c57f5890f3df8856d8c3592d06adef2c9814f5642c581d6eb5c6d6ec1fbc2a5eacd2bca5d04fc45fdefeee4c07151a847d0d96a32de6f08dbfebd7efe22784b3cc4b7683dfd68033afd19813d7b3c230578fcb51bb13fb56487f7036a5f4933a99d172b31a6b8f704ab1ceb65f83b9a31c2366ea34fb855d98dd32947cac8fc924e8fe3aae8654eeaecc9df1b5d4a83d44a9d4afa72ab1cbfff6bf0fc8effab2f4f491ccf22390861838d44b883ae3e43f6257db847fc0a674cb93e6d5f5bd96b3773a89511bf9499f024c7acacda981bcd9906bba4a6ebbc6eb833b1cc59f03ddffcab5f97d19a9b82cce9c98fabcdf1e1407e2ca55426fcccb7cf6571de631d7846fc00c4e7037d9bcac7565e53d9f18013ff0bdf8b6d99751a7f01f6c54ccaf77a6fdcbab558f7d622e06fd82c1d33d1fd7fb716c91acc9a3548eb3d2ac8cbaf7b38eaf34bb511a7af01f111b5ba933d9243c29bb628a1ef7aebcc856f2f7e3bc7c156eec9a735d7f042c5793737655f4280811c4a27f02f75b26b46f48c5656ce19249fe4c44ba648e1d42fe0d3eef54b9f77ae5fa3d2e408d01a1596e6b4e07df36befbccb8d4d3dccc57db0c9593f158e2e6715a128002f27e5716af8eddbf785e2f440daf486d768f6a963dbb7af77799f94cf8d8cfd729beff584ffad7e560dfb62c81d25fd3358d7835a97817efcfee05344e50d627a34578ef8dd733c1637322fc75846571b7bd1f3c18fa7c1f17225327a8bdbd4e9804dbda0c8fbae75b93a1693ad47dbe7b1c2410d89741773c9bf99db5d0cbec5b9491bb935d499809b7bd6e8c9537e80dd229a99a2c7978643a05f4f09fe1cd47cc774e0af0f676d2e5bb6a26d5fa549ddd474787a4c631753dc6f513fdf7b18ebcfcf04cb8f7c63f38ec1bd7a543dd15ffbdc4303f9b7afa2c41ec9becfb221cddd1dc4128d6ae8f7a4f9f0a9b26c793afa797fd7553ab999a99506a372ba05993586bdcb4745b1026ee537b09536dc98ae43e2db013c6b7bc07f40d6bb397dc67fb080df1eb80f7afea0c514cf856a955a63e0eb9a45af4dbeca3a4d7890e180b9f567b961c39a80c7f7d21c236675d2f0bc6608ce0fe41702bfd546bf24777c9fcf305ccee1725748c78c628184750f7be5b026323569305af6cb1d132c55b4a6982fe1481b5cafcdb784f3a4f1b9a61e13cc7ab82873a91cfe1ede02314a02d4bf2628ee9e91f9621f5f665176bede3772edbfe8d726e7ee9b1cbab3eb689b909b6c83942f3c47663e8678ad379a9b0439e52d6e9b68415e9565c9328923f157880588773853b39cd46be3bd6790877e8f47cd42dd00f1818699778a9fe5ff301b6707bef1759fc7c1607da7c9f3a9de331fc9f439c11d2707e4de633b01f2f2410e2da5ce8f204e33ea9f049f356068f6b03f7c846de3a43652614d78828b33f8f111e162f3216fd2b2cc3899fb1c5bf8dc047c3a7e15e7f879dffe8e7a581e36dfe4d840feb762030f72e69fac64cd2d9abac99b5249bc842e032ed01eb7cbaf707689566976dbdbe3b3845ca418670478c3339a976db0f779afd07f6d7de191b929c2e563634c53c07233a6679b1da78e7ece565c900747f6f5d3b8305846b7982446dec8b068634fcf245f97d4e9035e58c2646baefdb6e873d9f186ee9d72eaeac0f152e17e0d924be4186cbf3ef4109cbe9bf3fd9aac80b9afc9fa0e073d4013825f924e6e6175f89effe4aec641991f261afaaef6a9df1675a4dde3da38f277f70debc8d061bc360edfd67ef4f26819ed28ddd76154dfdde7a343a5cde2f3c7681705699884f3336ae48284ca3a1405668d16c56aa99d5d9b7991ecf1599b433b5edd919c103cb2f15935dec6ca0fb529c3f6a9d99aebeb10d3268fb9932703d93fe5835339fd89cfc6d3279fce88c83187c53a44997ceae54d69f6d7c1f3f83f18abb850ff7cacc8f555dcffce5abbaf6b73a46b2773b524147a72d7e4d3ff768cf098049cc598bd9a4f83735ff0fd6aad66dfd7e70dbf5bd3ffdd77e339fdbbefc6fa892f827ed4ab51dcfd417b2446d14b525f043117c8091fad69cc53999b0cc4fd615e6eb3d5d224b9e4f343b61255d29efa40307cf0318af360ce625b41f76c2f277d58a07e5d0bd4611dd97c880778c83e0673d6849aca0e07392a1eae1f31d94ac03abb99f5e21544e785f87c79dee8c2e37b466f43dcc059f2faa9535c5d71cb7ba7728a6d426579615c473e79cef6454ae4c44b4b889fac961ae3e273c65b8ef55497b3e275bacd032e8a7c238b61ed7e5fc703ba95ab4789a29799b26cfde2d78d2d54dec8bae07dbdc75d3c556b3e59a70b6c7f9f1aae3dbb96438a297596911b791dd639e48b93b91d93580cf0b025af3d4cc05eed6513bb7e7be96174617d3869f3118c4eff227ed3a6c6a3cd3da87af90f500fd1d491acf03e846d9fc7dc86bb67951417abd9b7c8f5dafc8faecf4321af1d3de19b7562c3be57863d3dbea2582c57d7792ffc657c0e10e1f8f59ce0ec56932858bee71fe04702dda9c5321aea6f65be71cc73504537c5e06febf8690d04cca3ae6e69dcbcb3a7fb14f9202ebe54cfde2cfee5cdb3fca71ac4a19c1d9fd7645f78be8ff67017d6c6dbe47e9f0e4edfedbff8fa45d170fed1bdf5619f0fd0a4cde9f61ee4a2f7af648f5abbadec5151237b16acaac739d101544eabe2d70045afa12854f87d6b2437efff664d4e1fd6f91e70894136d47b51b8ac9150e3f5fad87ef787baa1f84cd6ef4f7860fdefdc720f32dbbe6b97ed9ea5d3a04ebd6fc3b7b2f473593ce13588aad509f487875a6ba9277ba423d3d59ec2de184d063c06773607c561fb5d4d6fa510dcb69cf0063fca55452f2275f9d416895487e5ff40a7a928ee029e130f18003fe82d11b6e77b7e11f0df61992b23f77b2ec1390f36d8fab4fbb66d3f629ccca5a6ce6aa21adb665e336bd833635a8b7580bc29ac77e2f91ec27c8fc778ff746b7a8ced9839cc9ff15a877d15ceaf6731d6596aac0ff9d524f3c91a3837ebd53bb2af5e9a5cbdc56e6398c0b7fee25665e5816f477a71f549739c87f6e4e28fac6bb8801a889b9fe2638131523ef68c0cb0e87d9b67fdd3ae6743eddec3053c370f53ab821ac363c6ae9616e41cb86999389c0c35ae9ebdb302710731cbf549bdbaa9c0b85c947882557822f8bf701b6ae24fb43e8314d640658e2c142ee50430f6457eee7313c6b5932b6e7fb0645eefd64ad45b2b9f0e2b0b5b53331d662758c96e6330a5e130a16a30f2bb21f0d89c5f39ec3495d1b771c63f7dc6756f4f404f9491f7afef5196977e9f9a416a25ebd3e5e439bbb92ff2b547f2e61abd460c52fe42c7a502bcc305e16a0f463bb9c339f42a9f63d73eb74b5622be068f13b9b77bd68fdc35576724277eba4b82d48afbbe0688a7186c4e7c6f65b2194920f7a14de4bd5d3b20c72a037b13db7906cca1ed8bab97ba876dec54cb7cd1aad669c22b77fc75de77fbd28fd82071d961b3c7a546f288f031c88e7d735c35fb498c75fe66dd5580f1d69c47cdba8b6b1535eb6e5b297a9992bdd41c816e498ec78a5ec6f478a2e825478edd42d1cb0b3d2e15bd3cd1e35ad1cb093dc6fb1f22c701befe931ee3eb47f418bf57203cf9039bf3b59947f798213ba79c2a0b9387bdb09a0821ac69ebb277768ce748edfc33532b72473bfa7b9905a35de2a756a5884cb61283ebcef1f0bcdcfa4bebb4b727526877f7defdb609f07c41119e17a7556c7178be9862c97a5c72b59c5de613ac3eb8b73fa72cbcc6b16eff07f7c1b5d6ae721d2f094e5ae4cfa2f3b3fbf4a50558e820f317c3df02469e18507b1dbd9a1ce40127c36f19bf845529f8a75d12c46582df75ff7b5095f3bd28e0b94ffa4e78cf433bccfc6316ad042d013beceebdeb649a6fb18d3692131df8ad77f7f7de3ef5188f97e48f867dd47d4b08e3b3b7b5bedc98fba25007559493be886ec1a82fabb75dff89d67828e7b5dc75b45a11b764bc17bcd6abd9edc67a703ec1b238dddbc13940d0de85c1b09d2f536ff6a3ddf0bc89d7bc977955c49276ee3686d5c3946bbf71787ecbf1572f4d4e8a289136da6c41daf0f87d8fbfed44d7d6187f244f9ef1a20ced0af7dcd4e37bd5a4ddb3da760972826d3a974b729883f6a4c6cf8635b78ca16d96f31ed3d84fd30733d079c4e4ea41ddb4c078763851962e5cff7c8cad6b982695cf4d2ec4bfab824fff8ff5903b19d18e9b9824419dbd4aa950ededc5c51d5915de6bc399f4a2ce0ae43a72e6ea6cec39bb686f97b5743c17ab991c056912adec5d1670b03fc7c3f351e689bbc447836774f9b9836b2fc987a39d71bbdc91c504d5e09edcb5e5c41fb6a5f2b932f144ab764772162c899eb63ebee5ed373816e373309f73cfd925c3f761dd43fbf2ecede01edc372ec4eb87e7f7780d897c113a6f83f33ea9a11d9eb3f9d8bd3fe75879282684477fd00e8245137016e8efae2de79e3ef8ce5b902678ae46540fe9ff46fcfa7674f3c51dc430fabf117c87bb3171e4c4b577373f2d27f7e703c7c2f6c1ddf5545edd8fad037959836f0c53210f6debe23a87a7e7f7f6f8d9f9ab3f0a9e9d673c2762867d25303ec766ee706ea0d0d186df629759989a836706a9957b8e17f9776df6c8fc4f3da2fff79f7b0a5201b9f7fd610b47c0ceb77749c069580f7a78a6cbf1b9cb813ef3709ec44f0f0fe783d17b7437b647acd306299fdfad85d873b4639026c8b377e863385792e024df82944d82911679dcb00f20df72b4bbddf555e4a6568ed7ae7b8a877376145eefde0d1ccbfe494bc2fbb5380a8f60273c9e27b1e4c7f375200ad7fbb9162eb5ec03c6ee9d5f817d223020bb4e16e39993c8b7810388fcd6db0760cf76d4978fd1bf90853d9b4c35dcaaf5731a4163934d54388ee9716b934d5423065fa75dc7b96aa8b97a0c72b59643f07902d6c8c40a386b61300cb623c89ed3f053537d444a936b87f154e60df6fc93fb3bdefd058bed2ab4b7c7074fe48fc4dfb725b9aef6eee652ffe02aed8e493d59e3237ecbbd234b30fd12abf6ccddc6d0dd544a76c9c792ea1c3339f3d1fb08cf557f14a432020cad48799e237e0ee66c73ed15c6235d3cd8cffd9cf26036e13c47060c1e19797daeb4627502dd8dc486089fd974632c2aa24f4faf2e275c2d474bb0ce01bca7504b58a4725afcb39eb9a93f875adac6671a77f800042379dbe60d9a67b596b2d5d2e53f3839f152bec26d089616b33e5d0a2cef3d7ba77b7688f5deca05cef3c9dab559d827dd9385b01d0b188cdc64e6d9de2d482dd93fbdb3e14cca5d4e28c2a55579f6f6454af9eb9d6e37779d776c4f01e7a8275a854772c48e7b3cbf931c85225fd0fd9ff2ad4f043fdda2d54c66fcd1fbca73922dc8f74acaa5d3ee1608307eedfbc9b9f708ebec52c212fc39a7e3a4dfd993f82fbef37e1e5fbd67dffad0ee3ffcdeb4640344dbbe786caf840ab84ee7acc94ee4477e7bed25f9b008ae53ff1acb796bfa4bf34730d76f2137460ec1d1eab7d10845a10ae7d96b204611de33cdd43aed1da293e1f7b7f28593593795f36fbe953ce7f77d42ae5b6851b0c43a2670c7c61e5e1f29b6b1b40cbfcbaea0ed337f6955cd777df7beb61fe8377e3b4fa0afaca2791eb6bbb19cc1b2fed93c6974d6ff7aae24d49fa3ffb66f1addfabf9e334ddbff77f306f70fc30356732f5fc86bf3855abe9fa48d9bf4fbbccb53b9903a74b39f4f45f27e4d904d4d7ce3beddfd3c960aeaff1d829702b57fc6fd3be9b7b5b935f83c7b0bb1fca4cfa33938dd3cebda18a9f37efd5d3ff765902b3719e032dae6d5132dc6b593bc8bad7c5f5b24a578ac17b09f85731eef5bf8ef179a8342f0038ea4266510b316a66dfd81dfd675aa7948fcddc7cde8deefdb8b6f41ad65d7bfdfaca9aeaf97eef5b9bce8f7f71379d5cb4b0a11c11819c8ce1fee6fe7ee4fcf68d694c3f2e08f4ea55f1ea9cd813ce9a066398a5d3368977287b146e66e3b568ddc20328170d9a7f251aad606339c6fa4d6f9dae0da3cb64f635c476614bd887a98e524bf687e39439eeca99c068087f05d1ff335e4563febbf999bba08bfdbe45d343979ce6ee13abb4899c5b82f785787735b52a741b874a95e906fec98c4a444e01e8f153c77003b6b4ab115cccc9f4df018441bc76c70ae883f71ce4e48dd4a5b67019c7bddf56f59af16b85aa5c211eb62a15d62b966861cbf05596aee32acf7831fdc51cffe2cbec78419b5755ae2b459634dbdcc796fb0e9867b920ff867f31cf4895e5c7602b1e63bb96302aea3dabbeead26f816db6bc84599cb1d7e91f13c9f7d8389d459192b7d3934d44b5e9a1adb90f6d58067cc60783ca6bec193f59e8e5fdbdabe7e9c97e6a7e1eff551fcf224be8365006a6a5bbffbf69657df56531970b14ae05069da7837a77a3ef0c515ec491bcbce08111f2dc107f2bbfabba69d6dcea3d7e201c01adbba8ec60c38db489e59ff9afefedd93476ddf63ddfc3bbfd5d9d327c77029e7781c3f9765b2c27635d43995534f9f5c3c6717e1df805f99704f33415aae3c073877afae5d421d96e230e77016ffeab879c1973f6f6bcef588599dc2f3ded6ce8d4f7ffde7f3eebc21ebe8a59d135cc317b7bdeb9b92ffa4f9b5bdbcd2469e90ba79a8ef0c935078bf817f681671ab74a8dfd35a8a5b0f67f610ea74edda711ea049e4627bcbb1722c83ad657833895eb8d83b5a417c76568d65c46a69919c8285c97f70c4ae6bea784354e2b95fb99d3fbc7eccf5a01822cd3a482e036c91d532e8d7d9859f0e338c139b7f85f5c8f4e2a510ff20b1902db79ec5af4ff8fe095e56c2573ec703f636c5bcfa0c46bb2838ed4ccf89988d43f1b68077cb1a87b3438b4be6705ee48b25726ded0b7e9bb334f6239df7c31872fec1ed922637c61f49f738ea776d19e0720ddb73f79b970ab92fca91cb5d7abf973cc4c1404e3d60b6b7381bc42745eceef65d297fc33a4bbf3dab9317f94b2b599fe8778fe49b3fdaf9ae7ec8b0dd81fb66270a8c7b8f230f7bce377dd561c61cbefb16baaf115fc7916dda54c31e4abe2d0f8ebd9a9659797b3a5ee282f7bbdc225ae760f2eafc926c96522aa713dfb318a80fb2392b5c73e697d2e4dd89311fa03e6fcae2359c17fc5e77533fb9542b67176299ebb397081faf47dbee5eac3fccc7e5a65e5cc279d660a9f6f25fbe9d47b7ae6edfcc832afe76bc3f1d265b89d3ab6bef62b2ef27578fdddd14c0e918f8c5ff8abb646d480f79957d1db5c7bfd5e4469071eaedf19f8e74751deb447c3d4dfc658ad7444f2f66eedb7bfbff427b55121bbdf5fc7551e7af8b895c434dfcf6807f679befa4b9880cc961845cc44a3b62f9fd468fdd6c25baf41a7cfd81ffe0b433c1c9fe1bbf400478cc122a8f8d1ddbd8c53436f837f62d698fdefe8de7fd5763bbee52fe183a6a63bb0e7d41cf7d0356d0fa8a1a3f3fd6ad9bf7c864bfe9dbbab3c7fc9bf04ecfdecf008fe6ea7166dec4e687797620e77929edbec7affe74cf9580cb8abcdba5f560e5a5f19d1239143cd8e81ffa806721564406b78de42a18977a953ee6a328a294dfe30cba54c75aa5d63570ac24b4698c7749392710ec65476c77d33d7f17da16ebe98748d587cf72aa43f631725319611d659784a270dcd3b8b032936f7eaf7f3ef4380f8f0d360343bffb0e03f1a16e49bd86d48eb4484c45f69ab185fa72e0c88854c2597a0db8a4b151621979f22ae1b1acbd85ac9635e3e2814f5133019bda0ecf6bc27b38fd5c4a3dac186bd0ae9d4edb05760bcc3dba064c74c74773b8c3e11d0ff499de1c87fb8ce919f7e1a3fe93bcfa06cbac6611b7b1cd6c950acccf7d9bf0244f3dced6a8ef0ba1b66f323d2b0ee5edeaf9cc1531e083d901b9ed5a2738283dbffcb53bde693eb74b3e9765e7cb9f4deefdfaffac67ad8d3a27391d7d9f878a75120e6aa0d10462b12e17519ffd01cb96a28da7dbddf76dff60ee6c75ca4541f51c5adbdb3d0f622f662a9f82b3af97802343d6d460bcbe7e375ee6df8ed7a98bf574fd5dbe13dba4bc2a7afc42e49c9c878e44dbefa6f87d439c9e692f8fb59d8f86679709e51018ce4d6c1f0e7c780d4ed2533f49b70696d04fd7bbfef94f2fffb3679b9699cbe58f6b0170ddc6c3f60bdb67ed6f647d83794a9f4bfbe949db481b9ecce9850a737a0f718a2da278413fcc596bfa29fe107732c613a5893d2de2071b693f2b3f5dbbccfd5168ec6d96f5813b62876de3da022c0eebb49f9f2375567eee1d8d7c67933b33b20ac80913ad781dab39d6f1825468736b82fac1cff55843bf54f31070e0b6bff6641f83dcb8dd49bef966879104be91138dd5d564ec9a983df4af1eb11b3daa37b69aad52c8a903bfb88cbcbafff7eab4bb1984fb1cf86594590cf5ee4d7f131c01376d6a0e37800f4ab82e365cf0cbaf59619d2ef88f79962aa29a6d18159f33d728ba6d4ca8bdfbbaf7ef0df8857a6de9edc98c8cdc611b6613c66708577d83130ff1b694e44db8293fa6f38a70a8c03a91234f4c6e83f358b68a2adcebd7ec7fb0fed6f6ff9cbdb5eb81f86df31eaf75ac88051d2f36929117e16bddaa6414bde8eb463cc1bbf51e7d9a1d276f84e77fb72f9a57671456aef38e651be12b71ca69389b7c8623390a96ef49407963c8fe364ee5740c7816e152bef9629978e0bb9eb0be2d27b40d4cc327d2e6d5eb125246db2b95a9afe10ce6d77bb8dc557b5b6643d13c4bd45e94504cb1033c529bb4e8c5bdf5432b97574b29037eb4e53677ab84ffbccb75d6ff8a372dae545233f9fa695c6eadfc15e4c43b3dcd9f1ed496133ffed3daf20e23fe88fb474ebce385dec75e9f8c19b101becb4917cd5fe06b22fe1dd64dcbcc657a6b14ef9d2709ecbb7eeed4d6d174cff64c9fe064423d9a228e896e9af0b7909b24014af84fbdc4b6e4d91f59799b7f6c7ddb07cd77917d7529f1d40ff54735f72d0e23ee1354024696c3f123c8afa479da7e8bc5b5689efdc899e76c53f987f80aade7af3cdbc5b2a1f7bd71ee03de028ff7b2b63eb77fbf5fb9a90b312699c7763389eb6867a875afd99fd79bc1824c6931bafae3d8d751b1de995a69eb4b07cee3e7feaceff2093c834fe87b61fc83d4baf8232f79320720cf99e09ee26732671f95b8ed5ddf438cef7f60abd68b6ccd8dcfead17c6263f76c6bfd1081ececcff93e0798685e5d67d7f63bde2bbeab4bf0f45627d43ddb6db8c1a28d73893c71989f1fb072e225bbdb337fa4e25c6ea49ebaac949954aa06709f5d077201c15a225c3a367b0b53ebf1f931f0533ff8e789ee323dfb28c176c3593a2e2a7526651d86f198d60b59c81793632f2ffdac1817d80b60dd9c34e0f224b850dfca0490ddfdb98bf7f2073faa2dfc1d2e82952333b56a9867a255dde502635bdb20fc0577b9c0d8a64f76517097078c6df99d3d613c47563d5be03cf3f1f746af7bf62eaac73ebe2b1efac0efef75fe6adf587074df68f2df23e29b89278a5e661be77221f173eb1a8a56b53e5daa67b9036b24dffc98c6a5e1db25b412774920420dc7d5e52037d5efc7af8d91c5dce5306cc2d4aa480e03bd46b4a230355f3e4672e271095ea7248732065b06fc34f45ed2d7baf4ad1fa67d87b3bdcb0de039dc5ec80d58aa8ffaadfea73100b5afcf0f9eddd8328a3886b813b1c3692df2b29cfa94ff7d679794efab87114e634aa47eecbeff280f007a7ca774678b0c622c04d39472514f9adc2fc0d6541c930f6a8a9749d673b171d42bb6913c475eb4b6c3fcc26e9cb75fc16cd2e61858699284a3721a104c04dc570e7df64bc37d4878ae07ed6ded1ec5b9603dbec5e0f211def7883fc3a235819fcbf28a75f0b6afe6977c63bbbffc6af2fbba1a3d4adb9a159be0d0b8ed1e5df0e19ce61e180cefcf9ef7dd9ec63d36067bdc8ccc17fadee73687a8429d688345e1cf79769d4e7faaa9c9497dc96218db1663a8d1eae6391ebf711e54f16b4879f436ba4cd6aa4d6a1a245472ab5353efce9e574bf771eecdd998caeccb0fef24b51208f7117967373729ffa2c1207a6d42ae95725f9f34b5d5bc372b2f58de53dbd06cceef67e57d6c7d589721267520927ab2a08ab895c8002ea5a2977e88ca0b5eb377f9f0f5dff9a5d511f8a57bb533c02f18b396c9ee3e2d4b131cf65d37d877c14c761ed6e702d4d60040fdafbe100c87913706530a5b73f269c5826a9966be37d8aacdfd87364da4ada57d1a89a5ed2c59deb2bcbd354b6b07d8fbf7ef8fde4d96df1aac265b8bc4de59fcda3259c18c93b9c37aef866009aba5f94d5b787b67c9aac1088b9db9fbdcc6fcc65858ef46d2beefb8712e59c0686c30daddfc7e9eae9151fed7b721ff351e9bd1f6eaa6c9d59b4543aed999fca180df5598921ce1f86257d2578026ef96b0d37553b6ac85f569c482b6b3f8b9be1074a59243056d91a2c7f97d1d4383a9bb3ebee5cd31e47e62db6a7e2e5622e094d50173493e0cf237f4ef118e735fe4473bbcee04ed18a45602b53bf4bcb59423ffa41119956a13f28e92bccb515fd4591905a3e4ead6700f4bea134107603cf22e7c6eeb8bc2649d2eba7c38035faf25be586eb10db3b72727782607ed285c5bc33a3a7e3ee0bd9b9c45de89f50111e27a09fd3b71b94be2cdb3dba7889f9fd0f792f88c6e6ee1195017c490bd10fee6ca7a7d527397e37373f41e91be00bc1be04924d74c18bcbfedec5d4631debaf34ec41858a61aed7d153c13be91dace4b4ddd3b1a6d377f0bd25d0dc723f9168cb44d90265043a5ce4a920b707ccb891db6cb683bbb9cb47481f7eb94d4ac96f1de91e0f7bda345240f11f7e70edb3bb9cf09f1fa64e6de528e3c2e84dfe1d9f6e4087b35b4d9bb0529839f91fa23f9b2a5eb08ae4bf9ca37adabcb828ddf5e63d816b317f9b8bb6672b380a30d6a9e71bbe0ba66ff81eb4e72e4dbd6cc1fc9506fabcecab3670bb1e7c8d0177bd1ca3c2e62c87112631d087feb5e4c4e7b98bb11b6e7e03e6c3b19a270f56a38cff87629fa23f2cc70b92b768ec0ee1db836c36300cfb4612c33e24b03bf33fd7b977823390b9731fc1dc033218f300a52e1d2fdddf601e10a3ebee5be2820cf2ef0b9dca5f3d617939aacb5f2e68fde705fe4782f5767e5c5b52799975af47716ef27991f47c9de0ecf837309e11c81e7d9c2b8f9df68b0e2e06f2bdedb0b782ef0889a61e58fac82fed68e8f6f27d7e6ffc1fda436a7c073d91f95d14a6459f029a6fcd4d5cb2be8a8f8ba9487da5875565e7d96d43011fc9d45ee8fdea98ce08b504c2ea10df3a870a1a65286f7066219b99c75f6b9b219f702cb80804908bf0a5effd8ae18ed9200af3de0452d6f2e19af2248f9746f93791ba442bcb7f96590f26c80fb6b09753d1b3f2d41a6e079e13972e539f2d6e7cacc1dc19856748c2a0fe6854cd6c8524e489d36fe667c2f9fc37ac0b27ba4be045559f9a3d00844e1ba4ee33ce084ab27cab70f78af76c4df0e6de2342c83c933380daffdbc9161016745be5d26c148c5f3a0a6764a2ba3022c9bc99caaf74e9660391470c98b47e429d48ac039dccf6239df8bd6715fc3fb2bb7f99fd9ddbae332a2b2b20e52cdf01ce8c39ae67967aba5c678ce1b39b74ce8f762dd948d8213f415e3da32703192ef6cb17ff071168a641cc246762cb12eca46642c680e08fe9d70ece1e78d7cf087e3dfc3ca25ef8edc9467c97c87bd0ff649b2462779232701433f4dc6f4b8a9bfa4e348f9cfe1b9d4bf0473c7bbb99c80c89e64313ea345819830ae5d661f29f473143abbdb96e3ab00eb16f3765f32b0ee44e5734e6549168ad605f658b82e613c9b355c8e2fc89e057f9b6ddb9d5de29bc9a23db6e484b4494e829195874b32a69eadb1419a301fa4ffae831a38e35c7ceae5c260d89ebfd4ea72cd1ff774d49c5bd980455b7bd856a37b1ec4e98d337239bc37aba82f2ba5d4bb619d13b005175619da09b7460497706593bfa51393dfd5b9b66da1edd44287d6e8c56c128ad1cd5baa2fd80682b9f004e3a7cf9ddecff1f1007f017c2adff98a5f95997c0d6d1675b65acbd31d35fc4e7b51a8b7ce8e09d20485ce2e516632e7da250b3c28cb3259d13accbdb39b0046904eb944c584f9d027c8b59bbc4dc008277ec3b81feba1b570261e3788770256a3a2c3f5f5f7beee0249e8c240ddea9dffda1dfd8d1f42e2d6249fed15af0fa2d769e7bd5dc6416a7575b775466af6f5f8ea911c0cbc4fd4fe32d93631fb2d1765beb8ab3cbb57e38be72d91dd60a7595cc2ec17787fbab0c13cab56e90efc31208bb9726236788b80ad61397b6777366ca1da8face2fe7bfdbffa5eb5ecf260d4c9933c98897aece18700863c73863c173d86dc9c3f6def77f3d6d5fb356a2cf5e3999c84e23c5c96d3001d90660448d10ba40b3bcda036fa5d6cac526612bb9e49d9ea1b1f749f9767af03475866d7ef21b6db02ac53d913620beb1d771619c32df8761b1e3b499c76389826991b308e021e6b93faf459fe1e3b26fc2bbf98396ac6676d48edf8ac0db500bf984dfcc22b8291d4aff5fbd5cf1d68f0fd3abfce01796282fbf885e6bdb01b9dff7096ea7f36b32808ab3c5bd5bfc5be69e216f57aa44d3fc5f82c75f572d51dceeba0aec3b70582ddaaf771a9b6a97c020caf6b28f2aa3f0a932086dcdfb302f501809b5141fc6e2991dc7551cd3e38c012be7a8e2c590b56ddd81a7ec697a75f8e762d87eb1e17963f279c5c6baeb8ac8c3cf3491e63148c76f3bd98e4deb219e3fb679a4dcd23ef935c6ec117297e1a234f2c513811ac8703c2facade7967b06cede1b0a7328a98cf65992980f15dde94e55bb6c2fb456c4504c736cefa6df58e2cc184d7894f4e11c75797c814901d4115bffa88709ed179faaad8e35ecca299bb836bfaf953e9b7b8983fcb48f6675ca46fb9f57ab5218b08fc90df70053dc43186b13ba8096d70e5a0f6553453192dce12c43b13f01187a990d3dfc8f527ebe2a656751f13f1f19a2776081ea3a6cfb38062ee0337e9b24090b7285a097926e46d802ed3bce393707d3dbd7fc3753c743fc7d45b9c78c0aaa518d7d7bda3d1e7e2ebef70a686b1c01f623a712a9f2458a3abc19e3f8cf305e8009c3324976b37fd5c6e2f2ac16f4d481c07cfdfe2fb181ac8f332f720c787beef39577f162ee5498f93b6e9bb010e18edb716cfee0e6b98ef73896dcc06db7c0bb858eafc72db2cb7af7e957f29f6c4f759e05bbb0d38d600073f7eb1392bfcbbf5d0c96890c5c427f7dfc8e26ce35c200660d78b5cae1b1b677be8d997bc74da55905f85825c3a16b746e7dd203924f5e48b5c3a9654071ea3d54c9aae2866165c23e2e7abfd6ba6a128dfbc65fccf66b9ab364882e7864be99fcd8c67dc948f3f8cf1dd338ab68d611a1c3e4436f74f2a2fa511132edf5e56153f0a47c135ac55c28f5e4b853a7fbb0523ef241dc727d2268df3ea3102ae5627470a925e48dba753dc2f4d3bc8317e27deab17f49af2e23a6fff603d7033e3c9710235b9f93ac92bfc7cea5bc2df847c6e37d9e06f6abe53d46ebe486cfce63df85e6f24df42e78d7c37ed3f47c7733a4cfc74dbbc3bdddb56ee2db1cd40fb97f3320feb8a9c45c781f83bd6495ee2df9b1876f3aeee6f7cedaefab6cdcd5834ed1eb6eb162c772762bf6735f51bdcfc233e86ba603c975f421dfc72cd75ec8a3e7b7d32f350f46efe688baf61f6a21579e4f7789daa39b639dd11f36a57f271efc8475f34d16a86ff4f0a531498fd4ccaa574977827c817c6367516e03d1415c8abf06fc9c5b543f81b7c133a3e077caf511087956bef32c030c0bfdb42bd87fae2f728140ff879addf03ff1e887cfe6187375277fb7ef397140705ff067e0c21df8d207708af357c7fd5e0c206a3dd8de628271f4b127b23581972d8df8795873deb1dea14f0bac43262a32f0a82df3af0f77f8bf9e33ae5d4af884c0d664f30d9a94c57f09a466784f5ba551a4501c38ffca4cb55a4fb10d697333fc5f653641a6601f7d09c48b41171bfe687550d9c0053095d12a5c2eb778a14cefc928e63b41213f81ec95e5cbd34a95add6716e77beb9238065f403d46dad449fd451ce3e88e5b0c0cc0285cf00fb6c2cff6d5b7dcb11bfbc7b855a218970a7054392d09465a2f077b0c39d80f76e25fc9fcce6ed2e66f1dc647ad767653bd6deca652ade306cfb8d28e71534350aa75d0d410301a3e263504a576549b1a824a3b921a02c0a684bedc52ec6d1330279a5a059fe0cb31da2ccebd9a1ea338ff20f55880b3ec1ee9f92ace9d1aecb81160d9a1c3449b1fb20e0bce6409165c7455e607fcad58ef2b543cef97075e119bbd0ec69aa3bf8fd40a9e05b5118a5ecec9fdd24823e76bfc3b9e6766cd16ab7497401cc3ecf0e0568b051fa2efe3982b3107feb3bda3319e3d31fdaadc6c6c88273ed65298eccd5b5ab9e7a8f9fec8be06b4e61030d0459a6f773c47ea92c9ad3983e5c304641be496767392ac8322bfb3f30dcfd9c9bd75d8ecdd75e8bc13bc24a68977ec040ffc6572ee596114a41388bdd07a96416d81396be63ae0b03836675e9dd12ef2083f5f93efc6acd2ae7d0dd63e397fb7c6388bd17b768ca2837e8754431d01b76982f79120f7f4c9678bd3b5687d306d2ed3a6920e5b8805e587508c126949711bd1fbc57376679fdb1eb0ee07dca7097f0c1db922b19d46c7997c92b87d83e308b652a654d215f88b1a9e84d982d4f3da780ee03d58cb3f2ca2d3e37610fbdfed72c39c6d6313559e3d26fae6d12df0f3becb23fc5d1f611dda61f97328b2c47e586eef7d3c77635f529f855b4a08afedae6d744e0df2ea86fa36e522a5e3a21d25b4badf7fc0ce1ddacf0ea7b1c109f21a5a3bb4cdc73b515e0b924330cc9b042c4f88d39d699eecb5cb93950e16d4bbbd639df5007691fe3e721df5d060a57af6f6e09ee2833b93be7c94237736469f1d8f03229c52717697abbe1e72dc939af300dd71c12e834c71f282ee2337f29d0dc66083c92acb7eeadd686de12769a39baac602ea0857097f053c52e21b3249aef3f4ea70049b16ee79cc1ff9821c58527383658feed9c2315cb0b7d09e0076a5b78ccf8a3e49fc93c07a8e95280b26ffe0b05cdabe7890b7f62417e9b425712b6ca73ad28b7f62b23bbc0b4d697d52260fb586f5a558412cad8f9169128edc5949723c1ff38ff0fa6d6422e49f0e640ad48432d740e4ebe69bac263719913abcbbf15ae076b96852f8238d2178aa3b27488502db6db4b6f4ae16a2382bcee5b43a41cc4903fc2ea1c98b96cea48e9262a62f24fe03eb620b0161dd698de4c84d79c09e21b506c2d514cbe8037cecc235c0c7fadd6f16f085b11e777891522df24fefb9eb244c534b24a192f147ef8bd069faa9a9bf3b236f6935e3d4d496a1d512b7c7ba605d99d4ddb5c7cd6fd86e9b04cb1dd4de79f6e4189c9202b0ecc8bb042c0fe96f71ef3eca252e133c3544bec310f9c813ad98d4ef9e914ffff6f0dffaf01ac3b618d7263590525ade5c7b9778229b84a200716dfa7ed5e784d8849ae56d735ddd60fae0e799a280f59917d0ad1dac9fc37d247700c9103fec9f237b25398f8f9bdf82943fc1fe569f51b0946fde88e03ac0f70a32e0edd07e7d914ef0f7b09f052df1ec0bf455c059c99e6bfbd0f06ceb8bbeb76e8e9bdf42c899b062fc5b73dcfee668906b07bfd163fa9bb9b7d9a4c51e423283ff0e5b3c1fb8c6f6b912cb825ebbbd9bbfc472b5ab7dc27d68714216621ba63ea3b039ae647e9097bb70f15a18af4e90abf7f574bd08c03941fc7c06a9b15ec35e0f35dea0fbe8e6aed9576aa9e5e5d8f25ba2e376fc578d8ffcb805ee23baa7b7781d7bdbabb03c6ab17bba7df105effbf7750aabb4933d41cdfafbd904eb55c5b6c164ea6aa9da79476c3b3ef26650e718ae39bcff0b5f2d76439ac49e3d6db9b65cc78af7f077cf378b888f6995f0a346d6e0f91c8ae6b593a3720ddc790b29dba2a7b6d495c68c7efeae9633ef70c5b234583435b70d6e5d745d2d64df4f989cf86587df13703c1ba41aeed33f69ef19e682f33e0b6d19b04d49fee696e651121901f6b22357fe48425807748c0b0a522bdad70d775872f1aaffc998098d2c92d2e6ddc04ff19b7642fe00b69b7332e625a358ccab7b9213d7ce1bac11c851f99ff48b202701477273b1bc81182cf8f5be1b335203678e2ce4db09b5f99be3a76dcd1a2c19fa77e367eb38e1446b1c127f135aa74f6a7dfafbee49e56deee7b6e9368d8b82cf24817a9ebd4dbecb71d8c1be1de887ec6314937dbbad21f9664f5d9ef90f8ef8c524e32d7753a1f60ca8754360e3405e5541382b6c16fdffa87b93f56675a85df082ce60038e13334cdc60306ec174339a2460c0e60f6e80abaf474b12088c937cdfde7f9daa5162100284b4b4daf7853d4e7fcdddb98cff9a3cb18b086e21fc7f4edecd20f1f0f5b96b0ebff071b4f7e0fbf8d2ac042e29f43f591398630acb3efc7f10d576d6817fc173006468887351f6703d33d6cfb2fe26aa335ff4caf005743433e11cb8cf9ba8ce4f993afd14557ee8d91affbcd578d732cea16a656faa717ab6f8dbc51af3be33e3fe47198f72edc0bf7c68b7187caa3d7e95b6eccefbf8a81a0ecbb17c96a3f8ff6cf437cae5067abe6badf07798c5e2b2cdb137efeaee38cf230fbb3113658cfde68be92977b464f4310e6592e77882df782fe091ddb6d08a05f545114c9d1aaba2c78e131df0eb018e07701bf7d5e435f82a181bd5976607c730344da77549350e0983d95fdb5eb47e9ede07d9c0826b8abccfafb877b348eef05520572841369e0e36d07e75f5e771b79f13e8a0c045d0790e6c1b6c717ef7b67b1d60a8601f5132ddc0fc22581e9278d6f65b71d9b9c756102f8134cbc0ce3487695d3355bf7767eddf8d0bc8c824488dbcd6af0fdd677672db0caa8dfe26eeca61ec5a2bd0af704e0917119cfca9cef12cee78a44efd8b6e264faef924be0b5887676b921e6301b5b063885eb1154d2dff6a9e6977f5d018994f174b48e22de00d23db9e6dd31eebe0176347ed38558a73bb2c6e1423a6d776c535d9d5bac13d64e76badcb347a03fe0d79925a2dbf339c0fb9afcf23b9d6e83de01badcf35f56414d390e43f35fd09aeb94bbc527ea673a7bbef6eac332bffa94f07d963bfb3236714ff287eb837791ae14db9b3a78a1bec87f357d1c3f7033c7f88afcd97751bcc791124802b6fd6f61c7ab6f81dadfb1a7f627fda45f8bbfec93506912d8b3b7d85c42122f9d9297f7e07a7fce61dba7d1f09c6c8587e7effc5f8bcff47e3f3f05d21a6b00bd131f990456ada6f67abf357a44fe6fe848fb02f06af2ba4bffa65dd06c7160483f266107b1af232878b718cd67c81b1404289acd13fb9c6506b9b244917b357762c6a5fe2a60caf686fbbdb0fa01e6b8bfd9265fcec45c30fc29f7d020eb344843c577ff016da8261ec63cc8942d7b23a0e69ddcaf5635e5c719dfab00a521f7872bc8192b8667061eb3d37664cebbe79350d39cfbc417c77a3d7bf5325fa8c705c11e2d65426874e255e37d6fe82cead23e56c5bbbd35d9b92d4b76a43388ffa5f347b66f77d44af2c12f56854ce7e85ec028ec95ba37b7d8a7df6bdfea6cc8942fadee067c4bcd90ae11f2075f354e648b3636d2b4ef8939adeddf324a7bb2c88e44c9d8dc46ff400a27b9c633565fca9132eda8ce52fabcca3cde17695a3f307f09b4745ba31b777f924ce7898ba96520553ec836ef2a26cd11f0f33bf127b9ff1c7e7d28a9b9aa2b595fde5f531c6d6d4ded28df9791f679f0ef58534fa4e4faafb09007bc738d8e6ea8473d9f6748da4ccbc483d6976f40737715b822d3a81f62689a7613ea4aa7f0fdd8d3ea4db05d9376c5ee52e15cb7d2a5e8371c8de872731ac16cf896b1a15f183e7feb84868ad7750f1d542b2b3f5a0de6fc9582617d7da65b659905c2725c1b1b5d7dc8f8ac102ea700291c527dde935fedb01c9b6403236be645c20df89e4f56dcd61bc9f1b9cced876809f368ef3f7c9ddf5135af741afc76d8b72a19f0f1b6df6a444ceb33960d626cffdb3d3f208629a318e612e069f5f329eab75ff3d3107f0b3c35c3e36d8999d75456d6bb07bc06efde55eb06ff6ca9b9a42beb384d6b85f82ffe177fbbf34bd38806bb3eaea7c8ff402a88d4173c8d6c017f04b7f75dd5fee8f8790af4df074009ff397fb46a8a6ced51e18d56e2aae5a9c32643fb9f793505c13aa83297c30df814ef0ffe6737883379247f6fbefab131db7c5c33de0f2663d8937c71cee6d3358d996f215586f6f5ebadb06d66ec9ea848ff326b1dcfd85bc66f8bbe54fc08d1c2719c6f9eec913004e517c0f5be73973a004eb167ec934734dfba497bdfeb372a125a112396be2b744b221540147dcc87dc178f1d1de69407c3204dce54646dcd97c5b41bcbd0347f85954e7753c2cc379ac712da3a92c00f9076d906c9bd2394b734aab9ad782c60a99b5ac448eba98b37b7ac12d7451793446c0455ef179b3d7903ceca973f5e39e5a442d2c55699a2df4acda98b7fe676f72db4e68dc165a5181de12e5a21cbd468bc13263e265243f7f183b96b2f778b029329ba3f9e0e2651d852d3b6b4ff294819f9ef6293c7816d84720a67f59545c248fe52f6f3ca47298ce59c91b28caaeb1b7624fe095dd38ce3eb4e283f68bed3bc069a2b9eadff268ca919c7bd5cff1e8f6bc1c65351f7f39fcb004aad785e5c61c5d684c76a1b76ac2c38d99790c1e08130f1e069b412b3edce4d799f55a2098d3592ba6de5d2ffe819f2da4295903fbcfbade623c155d2d79f1294e6a4a6df3fa9e2717d917d253d670f6cbad39602467c6d60d02883f4b4f18af29821855b9b5b6a7e538fe474e8a8b1c9dcbf55111d559bda72a5e9a70ae39cb99fbf66165e43efd4618cbe5fb38fb84c5e6e1af8b7acc9a6f019854648fc1b179b446feef7e2b3902eed5907d368c498bd7ef836fc8c8d83d952b94afb4bed7428a31de0bd295f4d717bb2a782667f7b02873741ddea7486dc0622ee781713e58c0e15b948eb94a5cab8d29f3003b85e61b3dd67126dfe83f133ea1ba278d77b1f75cccb748b6c3dcfcd00aaa63b23ac86fe6d00ddbae45f85ff877286ed83a1d7de7d3b8e2fd83037d4103ff38ee9fee59b676a7375d6b5eb774f49daf81f4edff49df4cdc60f49daf01f76dc57fd2774bdff3aa6ffc06d208f2d008d67cdffdc385d5e8c1fb1a8377daf87e0724ceb06f716265c02950623da0b7ed9e5d23a3dc46320ff055d9fd38e9f36dd17977975fa0ce3fbfc51cfd8d7e6c478ffbff4657fdb58ee86bb58e88e4f1433beddbf51d017620c6c726fa9da321fdee330cfaf3454b12e37c788eca35c7389716f41596683f3168be4923e31ef9e1095ef714eb9b5ac2f7e7a4023fd769315f8afea018bd0fb8cc146601e0d5e9e79ff4c216fec9437d541713a4c32a91a3373a69fcac952d19923b5afc8ff6684cac62e4013e4c9104926142ede21ee9792dfdeead997b72b68ec2837a64d7c0caf3137ef4212d2faeb59a04d68af304be5597e84771a6444e5ee7361ab84eb1ab1b6eb590da8ec8ee85bdc7c7f1efda3ef027587757255b243af73f3f7cb3e7fabb93315b1f9dab6b6e3f972417ec912eac44ce0d6a3f2336b78e89719976063eaa39d4deedf1ffaffff893dfeafeaf598363ff563a96937903a322bafec41bbc0d697cc88992d6dc73a23874fa63fd21faaefed84e1fe455c3f9c538ac36d66af4313f8b0be31c5a3a17c9517b7efbe3e4f6787e3b299ad3687cfcd939b4a06ea9db277f436d6a5f185a0f9333f18b25e9623aeaab7f81f9e24f44d6d6ba01c6756aa74a52cbed92ea51b8afbce5c350e7db6cb18f1ff49fd47e26224391bedf9ab3ec5c84efc4e84776d9e0f6223986e6d4c7bc38a869526d07461548e2b95517ccd89eee847f6b642d9d53afff7863a8e76dd6606bbc3f610c167af6e31a72c780e729faa59dba5ab74f3c07fd925dd3cb9cc6cc3bb2baf1871d7ec079adf8ff31074dbd15ab875abad8fa4df3866dbd750dd7b986ebbbc685fad69ff2549d1fdba889f8e1ce77676f5c541beba73cd65baa1c7f6c53ebf690cf4eedb58af2ecec591d3ea79856b2ce870c37cba1f13fd65c9521e047d6f20673a1d36b991ce7aa994bfb54c1e3256ecc25958db51ecbf83809aed613ec1bded84e65eb35558e6dddb8e6acc6183560a7a912637b945371634e7f73dd97ad35b2d8afc40c644769a79d672436f82b5ce397cd35f67d5bf67d0e440fc77c23581784d86e979fbdaec39c4eeb7c11756e009e16f0793fd4f519eea77e1d2e0ccc5de69575ac94e6fd507f6aea438e77139bf54cbf89bd4ac9c56daead73a3e97926bf8ac4d79ccc918cab7cc868ad24dd77becd31c2fc5bdbac5523a8bfbe78878263ecb60bb2db82d9f962d57809901fddcdbfa23ee2be98df937a5c41bea19fce0eae905c1ca29fdcf7037e8d26462d19a1d3e420414d967cc8cac5581656902fcafaabc97b1f9b6fc8faf2175a21a073b6303bb812c61868e4dfebc5910ce0afde9a45def2d7d76dfaf305985c09ec1f9a70b79ff2223eb402b81c0253c95d73d5d4e874f96a98facf3a57d2e272af0ce758ffda5d497c68aec67cf62e25177536a2f910dd3aacf9dfd42be11aa511a9c3d9937aa57e1f73778d79655892bcfaab23618c3f166794fa30ff0d4e28cbb7b4aa6cfaacfcaa8c735b6fd7f12c2b5c97b3062c391c7b5d4ce26a3da67c26317036111c07a8c9f1cbcfd3e31aee98f2d543dd92ac4f736fc245f66055edd2e26a237b1d7c306d4e5d468f6531dfa9cfaaf60d2cc64aec5a76b4d0482d847ee6fc63f2e28f87a9270c39644b7c98abb0e1a143cff02606a99839e3d71bd4bef5f32430fe07ac0fa8e9aaf23927f78419077ed9baeec7903c490c83b14cb16ed38d75eef395627ddbfadeaf2f1fee7df6d8a60b939f7cf65ec5dd88efaf9577a66a32d496814da7e7b7666f8aa1366851f13cf453cacf7254a0dfe1622ee72ef86d46e8f88b1c252283e749f6db4254e7ab2498317a16f1c17f67b77a159fd07165710b5c8dd83160236c7bf552578b699cbcdae8afc8a6c8d43441f2e94917ec931c7167a4a32f1b2eb67021c579303b679686314e3177a19292ef16a23e94c86ecd4bb4efba505b198b1e9aff6572054cf419ab73c679d0c48ed137e217a6e8b90627067a077fd45ca6ca51bef84288d6f0c986d8678de3337b9fbf851e704e0f2b534870dc65fecaee3fa92c251779fe9a79fc39055be440757b7c4f3952c48f7b3cc9f4ef78999602d4296ae2bb6af295aa8d3a32e8113ec31bd49dd438275a7855c7cad92fb96881fd987ff62cdae8bc183f65aae0fff6fe50eb82b172905d7d3bf5acb786df623ce43cde003d80e6337e682073ffa2b6733b58011631231fa361e6f3c6c5b576b963ad2a9d60497c8f83d1f84b5bf84cf36224a70a700ada661b3b01ce110e00a62e2b6af0ac934a4f676be09060bed5c7bc083fe637901b80e3dbef4b013c258f3f27963e02dca435e4cce0bac80eae3ae0950037e75cc93c0de248dca2546eef2023ff8a1ba05a6b30ae572bfde3b998b1f3c12b6f119ecf7ff32cdc75313bbfa946162c34f1d85d678feab8595c202457e5888b974826dff170fcc1faf8fede54d77df960f02ad877457db25c9e7db216b0d1c721670ac36063ee3bfc6b4ff05dd1b90fc0abff637da45c4ea6d92fc7f02847fe970f7a6a7e94a3e0ef6acb75bb62780d5ea066472a12036aa60cc1316fbd710baf4c5ee4bb3926377905041fdd2f418f666bc809063ac9a5184f8b85c59dfc687887c7cd72ec2eee65f85fe1ffaf74bf975b8fa9eb6ccd0f2f39f770c32401ace52eae92565ccc52b11c53f972ad6db4809c726550ff1e6c732fc923dd149fe508c90dc05746ff73aa34f4e494afe871dd5836ed4bf90b3006d211e62de9b92fcb29e0a5c999d4e401be86577e465b739879e68cf018dc5abf31877f9cdbcc31d7da25b4fe7b9d8e4e723cbbb8261f921cd4bcf53b4e3887d606829dcf9c3b62aee91ffb209cd418a70c707c319f746a5c9c49765d8c15640b5e285f367a07836d07bcd372f6a135782fef03eea5831d83e470b53159acbc6ff2ffa89e3b56de98312535280ad2cb08c67a806402f187ef3f6d6dd8fd0617766c5589f8e2b4b7504d993148d97164fb78caa9ad294bd3565f9857b5ddff42bb1b1b588bb8fe9a70250d8a11dbe7dd98e39aa77abc715eef638c2ab42703de05834d8ff12f007b29b43be71cbd96c721e62bbdab5dfb56e7f522e08fc0fee6b27b4f1e6470b3a7cbd1dfedb1bdb814185b02e35294c05b897129003722d009c7a57ec6d85e80e5b0443296ad633940ad32cb578bed5d6587fdef0fe36cadba47e9d6b62dff94038af079cbe01fc5d73ae6b6897b60dc49deb1786a7bbe7463ad7d38840d2e20c44eb11f590b39b40f507ef72dc5c21e871ccbf7ec95e10b7eb69a6b3607dcdd867b16e305d358ccb838dbd6e733b55f3fd0779d9f6b2cea6d83b95d5f5f7397cf282770dd177e5fc22520ebfc65233c3da811acf33fc9fb1507c0be05ac5eea5395fff11fd4eeb9e610adb5d09bd6e39e331c770feed9f0977e6809e6d360f3e2effded2d3e9fbbf7167a6af074fea5e7d99e193c89fa3d498e091d5f4e4d293ff86e42dba852679c9ab1ad3999370d17d7b31715f73520e382a939cf523555322fc53c992deeaf4996130e99bcf6273f189b164e5c7fbe2bcdc5b8105c0cf29e2d9eac10dbbffd3115ff5b0e897da68e957a2ce5a8b800462ce5e49bcbe28fd74ba3fb35a677f38c927431019fc015d9f338575fa6e39df91159e33a172dc73263b77f36187f07cc434a78e3ea98b72fcd4a5fa0be9eb0a4df539d4c6f0bab182d27f9c92ba762601523afc2fc79f5fdb4a9e895e06ba9af8338b730ca680c9b6d4bcef5b6a731b606b3975ed7c4ee83169f09bc3bf81eba6b42d639518ee4afdef6e8decd1c37e9b881fed63dae110c16fc3cf577562287c597b95b2f4a64235db8477e71a1ccaee1666d229da7175ba2239b7fc63c217945aaf4f4e3dc63738f6a7e3d9afb41eb846bdf3ea93d3e641ddffdeaea4962d9c439403636f568c0ff07fc027dc7ce9e241e6cc6f7ef99e225903e997ae3848d990c1cd3f8920fd9859d3faaf444d782e84577dfbcce87a9c77dc25c6fd26b0db1b1e1861897bec4f8cf7e84f9813c529308d83c0fbe6fef7164fff4cc938d36eb3dae8efbeecb97d87e627507fbd4ace5edb7752e3ece7bcabd039f211dd031577c20199b868f1a738ead07fb8b6dad427f1c1eeadc718a3f636dc9b3108e4ec0971bd59c96efd65bc2ac8debc2627cbed2f4fbf958d76cdd445b3fe7eaf12dc4ef00b5262f0bf3267a0d77118eed31faa63fe1739cdba80cf7246fc91b286f9e743bd1389509755b7b518ece8b3d27ae916de0a7c9c51192f45dfb4432e08aec70cb3853de1ec0e2f34a2550ca38770edc6d2dd82306c3f6c589f22f26be7f330587e4967fd29ccb1360e9a5c0a51692ffe93a8e37d612e7bef573229d16fa39265c71c3e558ced439f37da42df05532fe6bb1e53fb2defe8e774d53f4dd7ea5ed8cddc76e2a7ee8b1b8b7f8b7b73dbffa30a6a1b2e7c5cd3e111d9d373e0c2e59ea3371bc3344493394d96eacfc550c6739a65c67d37285ec58bde63dcbb0eeee3f2db4a2c2f869cb6aa1e17db6c5d1dde221073f32a3930e99b8e030f506cacc36217e92dfe11bd67c897b5243d7e30fc478b735666c8733915b547cb23eae904d59414d3a8e17e5c11cebe176c5bf78dfcbfa6ece2bce2768e5f63ed17984ec9b175c5f8ab13bb18d306ad5f279e5f0c3c57a3f5e5be30663cc2bed94a921a5d8519c6dfa24df1cebfc746d91dc9909e5a65960ff0e7e37f49dcc861bad8efb4710ef09ebfc06abd619ff69f6fb3c920f19bf68e5423f817d26ebd3bc07ffb75c68243f0ac713681e72d9cd43069eb648fef293f3c1021cff69f63e40fdbe923de22cd67a4b053a01e408dafab94fff17df0794d7df88d7c795f85fefe14d5e473d4ea9924ebfc77afc961ba0a8f5f505b2a5ffc00ef4a3f085e683225b82da6aaac4e4ea501b6c0e18312f8c0d7a6f071d9bb1c3f5204386b784efb5b798fb337bd2fed4ce9f6139d040d7bcb0f9441b7394a9d2f03fe246e8f52d607f02f62d803f01c7987ff427f0dff913ecf21b7f8245e6bd75eee639f7c564ef786e7f832fe8479fd15a9f4618a71d6a97f29a7fa3b1bdbbba57ff3c8990cedf8b1d93d1ba0d72fdffae3d4d78f5c8bd003304701a1a192b323236ebb3bf915c6acdbf868319d739d5f514740c653486f798e873cce3ed97b56e31dae83382711257329e479559bd05b02702fff592e6638924e68d8fc39c4c7ad7ddc63a77c7f819c944affcd166cf1b9b1de23977f3f1dfd82adff2c3438ebd2cdadfdbc94c4e2296dd6b618474b05ad7277286d8cafc95d6f66fda769c49ed4ea47b77bf37921f1fccfed53d4feed15d077db6eb5fd87cf10fb21ffb398276fedd8b47fc85bf586f10e3646c239ca3c3e858186ffedccd39fbdef782d6991526f6c0e09c7db35e315734cb77b1a4ba2ddf603874745a73f537fa65b5d4a87e290f96519d2354ac0866ef8ae6084d628ce1ab2f9f985c216eada1f507d700e70be003ebdbac96e95d594ef6cf16974714261bd3187dcccec14223786b80df65b470aeec92727e8f2edf72ee907644fee71bebbc72ad30f30ed98b3550125b102fb690e480118ae709fad69cb367f36b7b75cec6178fe6c8836b9bf65cdeb99f7197a3f9208f5885da98da1fc58cd75ef4cb9053615f8d997aada68ed0d10a1ee7131457325feadc40d073f11a085d24d3e2e4e2a4e85eb7db422bf80fadb8ab65fb65cd59e998abab97ae324f026c1fb0db0229e9e6a492778c993d9d62c632398a07beac7519e31c20bd61396173a596383e8275e7b23f576a59e74a053a5f9a8355b0ae5e89eeb6447293beebd5b3de203614c01aa335f03f601795c5057d87f500c971bcbf6a50a3fb29ba5afea54a689e1a953b0e0f6c6db837607cb86d9974975b4b7c18b9d71a67a8034e1cf61bb131a612624cd983dccf8b8a79652e0bf3a93ffe5412fe8fc3b4588fe56c2dd4f505de620e1861248e718a8ca9611b3371a273c3fd6e3fdccb51c3d7b93e6e7387ec598e643cd5f8d8708ce0ec122c2e8f6bb7b14d87732c85e42ae3dcb385c1b1f5873427faff7763b6e78cbdc5f16ffbf86cecc732f6f34bc62598649c2a91fd0b380033928f0ec798b1b8e5812476daccd240324a8c7f46f8a2b5245830f1821f6a7e190c305aaff748a6dd9fffbd8cb8ff0eaa3412df071cda533c0b38851bfcb86f65275af7d23e773524e7b04c017ef041316a6a4f6f757d802ad9e2725c9c36fa6bee405eb24d78aeb15cf1c630072a1c9b5df67fe7719d8f78de5872aa1c15cf9b71b9837450a108d602f8b38e9b32bc211bcca7f9d02970eb11fe84f0acceeddc898a13eca5137e655bbb939af2e13b3a9788442ee135a14a9f992a717732c689e2e7850471ffd366cf8781f479f1ccd9d3e2be6dee8e63c0b70ab4b0c9c7165a35e86ff47e0bc9cf5de31c5b5a21a8928dbfa516e7ce38ff5a6845ba28f33c38f021535f8af3c7253ffb30614de590bb288db207f965f902e991dde71974d6de382cd198aa9288c6385b209d086c3e06ffea07ac417fc0b7ea181eedbb3dbadb0399115f02b3a7de1beb6cf90f7b1acd776771921ed64ea3b98c6c15f2ec64bd176593eff7d69b2344758577cc8bf42cc7fcc6888d8f9d112a7b7ea7e8b11fb11ccb4406a7241f1dcd97e7bbfb92f344bef47c7ba8f7bdd2ebbda8081de045c7723e98f3222b431abc888763c0e6f5fdf23d93f59e33346326aeb686a21ac66beb3d1dadfd8eec7bb372f3e7f778ca0163bdb34ed17b7530b0bef5333c3e376cf68ad858e9bc33b3b8e16637ddffdbefc6b5de0d5fdf7a3f8c4b48bf15d4bfb5e6fad6a2f3f07bbdb5f135ddeb467e446522cd4f22f807d21ef5c1913da6bd66efefc7c4ffb10cb8c31f4363aab7f2323b6b89ee0b43f1bee6a2f8b53dd5f29337cf4579fa197e1b1ff33252ae136c2f95ab6a9b35fefccf0adb4e777eb0aa8dd74973e268dd2eb2650dcf4bb806f306c94ab0d7e1b8e821bb618c7deed4ff24438cca4e83f130f18e761dffc69c05bbd03beeb25fe80e77b9cb0e930f45f6d83a0f93cd417435f42d97b957c639ab17ff743f572b2a75becfed12add757cc1531df8d3e1abf40aa4a9fa476d7fe190b49b2b3063b8f3bb913e00a4d4cc109d05ee58e7be387681fe49ad8168d3f7ca64a3a3d39e342586849a91e911e636468ff67eae84eeeb810e0ddc750af905a3a7fa2d8492e7097249e93407d47edbface35f9077da5b9f7772c71003a2bee0f3c61c9d82e8162ec7f10bb9cf999c3b6e2cb9b70faf33be6be189da32c785c58becb83a5a1c3ec0184817563122f3ebe1f985f4293ac639b5b4224363b921dc2fe083c771ce933b86dc7ade4bef316d17d2672eeb53c8a3fdcd5e8f7d08f778f2a0f7f5f30f9ebc2866624a789d3d7e9e11e68feaca14cb101784f390d671431d9606184a7f9edf0cfef4511d27c4b1411c27c4fe19ecd3217e76247b78c2b9c5012e0dce91e6175a916399e4131ffcf66949f445cc3df54939a68a551503c7549bd7c9af403f9ce07baed07c3e34351110c3d4b942957c717968c9b421f6e3b5384522ea235acef961bbae8f6260c9ad1c4d861fe1007ac998d6a97f8b21c96d4c5a7357fbe4e8be047bec7bed07a8630c25bb9fd8642ea9f39d48becbc7469fe641c5bf20bbc51feccac05c75317b1a3babc7f7bb31f7796fac83ada314b0bfc217128ef0917631ad1bbe9c3fc3c2fe25be35b5ff14a8b5a3352e77b8dd12d281938bc335f8e25dec6ff43d5d7378c4b12c6307f9f57778d96f48b7cfbc34d0685d058d35cafab4e77eced54f573597c7469b167d7682def0b9de618233ba7fe31b9a74c7b29e27ddeb89ce2496c8066031c583baf6a0a8fdda8fc76d157a5211d9e6eacbef7e0301ceb59f6f16649e54185426a1f766fc79cc7bf4ea6ed785d56044d1f8f5c66c7050895cddf868fc0efc07d881ac5f91c6cf273cd7996f77bc4c1bf389d8e7209f7ee32fe71bbf405d6fd18ab3abd2ed674c5badb86d4c8c1f49e7c79e60f42cb4e2f4b8b6687a92cd3df89d0349ac79ef9d0e07ad6bad08c626eb534cc48574033ebefaf918f9d0ddcbd0bbe23d3764700eb614c3202458bb605f6ecad9a31a9a70319e252df96915a3ee3ba86952ede746e91818c3a8f52c1677f2c6f13fcc33a373956bed1203ec135ea8b15afa64927e3ab93a1fab927c6a624a9ce8cc8b918c79b8e28f7911a2673080dfa291830b699b91fc9e62394176cf0dad890a389ef680330d7825907785de2b66c79b701fa6c640c63e9bfc9b77382eb422a631b78db5cc9df1b099ffd61efd2e1dd3a936a68dfeaff7828dd5ac6bb7a9e3169d717180dcd971187772c506ea149d87b69cc3ec256c8df20e7476c0c00419b723f270a1dd4e0ff89c671ff39ed8e9749f353c7eaf825cdb5d0cb71b1abba4f5ed616cd87900752b5dd9843128e9da792cd7695da841e2ac2d595ccb75c91b2807c720fb8ace854be097dc5e023cae9127191fb47e6b87b96fe8bc44ba24604a68756e3789750b09e712ce1c0d5f9b79a97f72890de168c575a1670427e12df121078daf311271fc71db6e8fe64acaccb5e92e73c8fd30cecaeff0c0f01ca3faf66eea9a04c7765cc40bad1800a6e60319f198c3a1f697b0721ce98ebc3d60f5fb9de55abb933730381d732db2761ce045fef2ba9f71ff7ec6ac65ea66c48b63f99f60a7520c96faff4454e78fbe117e2e3c2f14d9368731f007df73c3521f456d3fab524cb0338d833b78bbba803310bf00dfb850e3c63e9c63ccf8e75e9988b63003cc3cbf4c907d507a4291dbe9ece096218b13dfe867da90c7ff2bb9638827fcec06e15d0a2be69a7e5d09fca8540633fca7479ad770b7676edbfdd43a302bc3eabcd8be73245ef114201ba17ffc7afda08c7dc9fa5019b9fd896cd4bc67dc6acc48a42f01974783514ed64dfbfb7e343ed2f0432b1e7ebf076b096a40697e6ecf18bcd85a6bfd5aae5950790178c72d1981f532f29c0c7f4e23ff70de8181eb46012b59a37b048b9b261e1c6b55ed3b3278214debef859f8be844c0c1cbfa87f638d66e7574e1c4093d29015dc8697f8f8cd6cfba3a9f63d9067bfb09b0efefbf31f882c9beda60315b9df9497c4a04bfbbe57770b4023090bcf170a61b6f7bb39507d1e7eb6fe422dabbfd716f4cb742df147fdb7b1d1263f0d7bafcc9039bf50f3093e6af77fe8a1fe63fc431fb7c0777b622f66b7dfbde3db10bc6fea3787e8fed0425b2c3608c7423cc95c8f66d0849eecda84f650bb9a2bf6c2b028798d6e44a9231817c26dbe493c538fe92a3fb756450d930fecce4c3995781ff4cfc72f6016f5b4a8cc6d2366bf970512127f6e1735cec34b9402d9e9688a406e8dbf100f9fffdf743ebe8f6c8fff6c3b58fe244ecdaf986478b99ef1dbb91d541b13ef67f456fbbeb6b0b7345096de15cfd858f80b1453bd73ef28f7cc7af253571025a4f67097ce80be7da967c9867f62d6e31b6ffeabd11e4a48171c5c6338e8dd9adebb8c5596cd56ad4b5c143cf4f3882dfc3e6a572799fed7bffbc777ae0d9b6565fdb7adf0e131c637928037f9353f19047437db067024e24ce55ecde0f638890bc53e2fb6f6c7bf045b67db6183ba89f2bdb8b48de69ddff0ef89dfdb2b68506ffca161a27198e6f3fd15cfcfa5961fd02de27e482dcd6e31a978d917bc9e863acb4fc046037ef5b366cee6aad9cedd3fb80cb719c90e10580f98bebe5b6ddb9d79b9391dffe736cf1717165d606fda62fbf5ee3c73a9f84ddb339b467239b8be08ed73a1cf5db68a6b346efe10f56a17f8cefe66c97fba1e739fef1c1b6bf1f8b45276faee7da9ce14a6c74aeba0698bbbf6f4bf61aa38f1fe5a9f8ddf8248c2ff05e1efdee5cd7cffdc1e8f60d971d8dc9a5c8b609d7a4b647a41c767d98f1bd7a359bd328c5bd3282c60fddda6fb1fc377e0b22b7967980f626bdc7bf09752c62051c23f4dd27a713e393acf56e467e86104bd1a637aa1fdb15cfe46ddf442f227ecbeacc813e1b213b6d8f74a24c9def53258d7b74963a4e48f0da01aff64e3fdaa7c6c13113c1310826bc74cbfd92beeb2b8bd78d7364f98e9da185b93a5f424c47d65f7bd669db7ffe31bf9d5c6d58b992c86359573f0fc9c9daffe31cf84c3dae4edec0c8db3e693277e19eafe8399f1ffbe2908d02f94ce9469b9d16d232f74056a2ff63ea0fcbfd719cf5705e8d6d6b7770a743de331566bfb7ff59fca9de42e44c4bb72563b1909e90dcbaa9f3255affe1428b9f17dfacb58df974bfb6267ca8a2f7c1369be88d8bacb1d75f735763fd8f4be05779f82df59ff3225a7e81b9fc835cdae72c4fcf237d70ddb24bfe303ed3ab83de423f627206a2da470ab5714a641704eb90d681648dfda578cb19c7d6ba651b13ef97b62e9666f516acd3273a7fa066ced647c5faf0fae2b7ebe1aa4599d3f1e33796e2f93cf7e29561a68e15669c6591f1bdf29b418d95755131ef07da0778769f76b1be45fd577d6be8812f0ded7fd3bad606b0a9817fade7db4a37719b8a574f3242c0feedfa29ebb518bf78905f108b7613fbac36e6b25e6301c452ebfd21437a738f8d45fa833aac7b3b8eae198a8dcdec97df7190b071355b2b0e8d6f7e9bdb65ed17b99067a26baabc8b4f1a0fec65d887e21c8d8157fe967fadfdfe3b2989e9fbd1fa1fbb2cc8f78973bb8d1daef5c7137fb1761fd87e2aaec7efcd49f1aabb1c4613b8c4d198b46dd113a91502ee19af8cb387fa10e0a215c96ffc2798071fe7b1d435eee3bb1c96cb423f3fb4a1bd88c10b014c4eb81ef4f885346a380b1fc4735db22f33fb78bb5ea32fde258d72579b8a1bf376d9edf9ad318b7befd3f1393598218f7c4fd2be3f4efa53dcbd2c7a74908e6d84d626d42034cf89b10f31a6338e81102eae7118aaf37dee4550a7f6516376422ebe013e74ca0bf6c01660b0157bfba7792b68eeff30f7bab10465e3c7fdf6670bbfb3cf574d7c288bf16fee7bd737c91dc17eb2463fe46fde6095059201730e382fcae4c52f87b5ec226b94c40a189e14f23c24a689d67fd74fc6215d2a988a03f4adf581c2d8ba89e8a4c9c5368bfcdd3a576a4a750a6233cd79eac3fabd1f77166481145e036bb7098461e2c762d9e8b29f2c3e6813a3b5ea186df23846bb6762b471446503aec59b9d015b757e8b5a7e5e3ca62dcef28556241f5a1106f35d680ba1e698f63798c97c630bccde783b2d329b636a22697df504ebdcd88698de6a5b007351f5e38d6b9fd9ba0c2f688e3bc7257af774233ca1f995fa90b798d1731970ea9ba2a84abb2490660777a624ce7d4e798d9bc7f8007aef8bfb5d798ec113bf33d8390fe6ea2f7c300cee09b3566a4e8296de00fbfc8af38fc62190c472cd62eba6bbcc1fbce5b69580efe2635e704ae4703dc713352571f9f916f821686cbee63a170c6e3f37224f4a0e0ceef94fefc8fab2efe440bf0de153fe3734afeaf727b568f7f919a486a65bfb1efc71ed3b573cc637fd6ce3d496e7bfc0467ea883eaef261f79c22d5592d5d03395ab371ea6de40eefe3ec947bcefa969ad2f44c8965e1d5e8be564d9c957fc73cc1299d9375ab82033fa1c76ba1f24673b1573b5c68414cb5fe2db261843ca4ec1376a1523c7c8a3edf40dc994d2b676573f528205c1e161be5d1b3b79dcd819c1fcf758b67779de02e43ef2d4074030a19f9665fc42721fdb35c2658b270630de95c88e58fef2064765cfe49bee5f96e38262fc010689290c03166f0beaabf9f3c5023c68fe517e77fe0d8e32e45c3ecae1a698965d0c591fcd5b69947b519c7b47fe3fcd6fc5d811239c837aa871248ab5fe0971e7055b9facef8505d422f39ea5d7359f2f3566ef1d974417336a89fddc58ae948e59c797b3f7d420f8acb3fa7abad7d57bbd24823dee9a2b5a9728d6fec17efe77d636a676429dffe858fea74bf996087e8c47302a09fe6988e7d5b0ce23f4ab877c1915e1d8e8b3731eeb5a040ba59327f7936ed67e17d48764d05c926b1b77023d239713fcc19b27241d9b089ff75391c48ff2eebd453417916dd6ca6993a610fbf2ca61e848bbad2788b96b0e8f86343ad9659cff0775f3e5aab2b3355aff15830366b6e3c3ecda075c062b0f7bf41ac0905d48fbcf669fc6fc4f0b2de15cf45ee51bcc07d8dff6389f69315626b639bc7883ed27f63dbc85b2b4ca6d6b55c9d2ac92a5295b5f142d2c8ed6a326b51d7edc95b639acd07e809e7963ed44b66ea79b2748726d1267f210b73b5ca2efddc9896c70b39b7cd67bd903f645ef73a17b6be6f06e0d2a9153363955061b136eec90bbf7a8db777c8077eff46f9ea5ddb786e36d0fc7c5a86d2a8a53dae317205c52adb5ff7471ad95e225ed675c8c638cfff8a87f8de0236845d2c9afaffd1d7ba4ab111f5ecf9cfd3763a33bd6eeee393e90eefd5f60a0b37b06d42a4c6bbc21f7d137eef747f5e5cd83cd7b17776fe73ef75dd793ffdceec391c433f027cdb9173f0ab30e9fd1cbcf3c5cdddcbb18fc432eb27d07c6056a17cafca57b3f572b7a79c337d6f627cc08d1a37a6fc545f29ce895a671f6e7bbe11a38cce918ecaede3e992e4af9533e60bde7c19ed8f85ecda78b2560fb78c770f6303ce3676cef8455ab2603d69871b0cdd509fb35682e4ec1638ca63d9b1b06dc21d876de5df17c4f0ed407b229e5681d29fefb64759035ee2c47e76a51ca67d5289e96c23efa551c759cbc90bdb7f17d3de6b50a7fe687fa1d2fdbc23a878ff8bd3e2caecb85f5d7f547b0071ef60f7807f2885d3780d12e192436be04ec2699cc3bec1304dc798ef814aa6529672d8c860377436bdbd1cfd7b5d087db975cd01c67e200e1467f45eb9e5b0bf18babf359779e2fcce9d7a2c2f5ff6be1e96ceb4fb7759924189ba9552b937b1177c6cff3f9626bfc6573787d59585b3118dff9f542556bc523aa8df9f4e297dc795d92ba6e1d70873366bf7d7174c0776b3d1fd8f1ddfee77cbbb672ceb7ecd67721a9b6c85eb6569c37b8cfd1fde1bbf03f7d979546bfcbe74b30c9498eda167c454d9ecbf4b61e7cfbec5857100c0ef34f605fac678a17f6d9bd1273c3117cd307dc702d1de4bb7713d0bb395af79938e0650852a3f405631f08e2d69566554f6c0dd604f35d4b341f4d9e7b71f43cf34a825d04f8d57bf1ee3e0467c23ff05726e654aa1af749e612b2e14a4bbb45b630bba17174cc6d043caf781d941bfdf5c53f14adeb8193701c5e810378ac4481a9449e8471b701ffa379b79907b5de45625b4ef228f7d56ee3466690377adcfe43ecd78c6290105b0bea64813f4b074efb5f8d01f199e736ee037c4ab40fbb6430a0fae63fed43e76eebc17ec460c3bd045afeb5309f4e3e7fe6611c8f4664a745e28ce5dca75cbef3bd68b7aee1cef204d6fd6521adbcc0e072395d85fe1ccd2718c710d9d4ff5d8da62cacc7b446735a610cad1ad795d468be1650a3896bc5495da63c5821fba59b9bf538c75e647254e0f9bc34d8435c19f0c53b71099cbbda5b1358eb058ff496bbda378c89c0d6bed94271f505a86bbb7a0f73fd78f02d83dcb19634c7245b0b23ca314cf5e7fc5df8317fb65b2f7fc57a45126f056ccbf851fe857444397a2bc1361ef338a70ee92fc2e84b8e5e23e0328c5eaf3ef8b1b767ec377f8d5a3170a2e3b0f572773571d2fe826cca2dd1611a9f6d8d55033a9b87e321d3860bb1b86dcc5b9fee132eb4227d70ee80ebd9e293d77029367d4e9dd23603c2ab18b331804c253600c55170c745b698bfb23917adb9a4444eff3552f35c18e7aa931b4df0830d524bb0d08a07fdd8e85c857462c75c85b610262486788f0323ac726fb042cf36a1736963dab94bf0859d09cf37790b04e79ac731eef5e0977aa1b07d9613a4032ed13e1f2d84e9971c71676bfe59399afce58cf308fd6f97d3b3aac95f3d73e7cf7448c637077c01dfe4a1fe60d32475ee295effd8df17317d76c6a4c1846a1d6f747f361ec3e2c18ce3179be141db4946ee9a7c1648468cbf77087919ea5cf196068763922cf62e9e2b3fc63f3af2828c51cb6f09fe956f6410cbb9c86deaf8552f9624ad2b47ba33b7179208d719e52fc49f5be366229b1778794bb92b2b3375f229626c4dd0f3f7181fde8ee4b1d8924132c69ba6ed08fe2623ef7be46930211cc2039ec3b8f4c653305b65765aa035c1fa774473706fdb7eb78e2cedb19c76700cefe79a86f1f7cfffabfd605c547f60db1cfea51fe16959e3ae4f87cdbefd5900ee3a831beb5a59b24ee31cbfd7dddcbd01173ecea144e34af1cc2aa8d3467a9ace7bef02eb77de3fbb5a71f02411e9a257357572a417913e923a9fc75ad21a872b6010f16d6c52bbfcacd7b19f1aade76dfb92d173f2bdfed477016a7f5afe9e3ab7feb8fcc687cc8b3507df04fbb5edb2b8a171f3398c1f007b00c5eeac4ee1522b22c8e543b2a23efe0b9c4c2916fdf1f041bf4ccce2611b2e5c8e8b6c836cedba0eac08177a9637f5a11cb2a1888fa7f50c77d8d9fefcaf38456f0d5ed0270fb56f84db8f6067e358481f2f17c5f438104c0fe075b5cb0e8ed00dd71561fbed5e3fcfb33e3b743df8957c4c165a878b828941e03d02e44ae20f185b6edfe01b424d86d9e5f268f91c9bda0e5c2b53cb2c2f9d71681fc51c8bc86ea079c3e053af02492cc166b15a7823a73696f0f2e468c38b6dedb22035081f5e9c7b07fed7cf0fb9598773ec0dd07c60ee5ddb3532b4f1233bf5c761b9b0f801e45069217cab861b64242e27e7eb46da5fecda26562ac6f6bb22dbcf3bf0edfbf0e72b60f725753de9de1bbc2d1d342ee330b91b43adb82099d919bf1cf076d321d27d04ca790935546c5c03e31e270be9760a902c97c4016ae34761daf5617e1f0722feed061f03f6c58ebdd1fe2e1d5f6bff187137bc27c417dbdcc57b49bcc29ecdefae0bc9ce5d6dc80582f8e6a701d68b676fc0b7ebd7b9e3b6f8ce8b8997420d7abc8ea63775d633ae14877316287abcdb18bc286ff7c3a93edd3fdb5a8ba7f11f3a4eb51d0d3acf4fdca4c94b100d3f7a384c4507c97cc1e076e630045b77728f6da826cd3b6cb46988ae71add5ac7eaf87b58df6c5128c0bd4279b3b519def4adb7a1b531f03992b3fe1f75d36c2e8e249491548c685e0e709248704e430e987ee6324777b9f2d6a2cd382f3d3d96d5bfb4576640ef4fb681a3de7e91faf1c1e6ceb0dfd4efef2de674f1866686ded8515d426538cf8077552a2331e46ae398c092618e0797be59060c93fd56b451d2b953d50ae9e748b482c2476add50de7b2e335f7c81640f3c1a1df9ce1a470305e18c43d1db3c6c103aefc401bdeefad6578821a1bd3c9bc74967bf3e4c5898625f04e582b3466c0a773971f73fcf5fef62dbf261b7334c8b8804f496a7294803f461b5a9893d4ffe77d00588737db0c12732aa6ce719504f362e468c3b8b19b99ff59ce27f20d75c9488371315ca7fb8b2fcd8e8e916c9cd4a91c0b70e4d073d47187e67fb6e66f7580d8f46c77f5e7dc337926f23d8ba5633a9c3a8fd963485e887fc7d739ad5665cd05242ccbc69784febfc7fbda021e3bd60de41be8b0f47814e7dea4d619902ed68a2300b639d4d5617ed6dd545c315868cf7ed4396ff2b7609eb4faf0cb4e1bcc7bbcf5e6c6d135877260cacfdef76d8c404a72bfca42e0a34c0db2c60bbceea7c6d9b5769c63c9cf41e779351aaf6af2bb0e9d3e6add7b9dde2eae3984fc1bb4befe7b1dce1e521d6ea9cb378af3b83cbc96603f603d4fc0f5442c061bd81a992a2deb7c0355ba89e6a0636f1c972dfe21f40e903b3c506a7e5d6a8f405e0bde1f13b6fd875634bc9852f27c1f9f02dd28d998c02f54ef19c8c66fd66e7c69ed41e3cf10cd3fb4cff4d943c0ab8b39799afea43dd4e3766da08e6d41f4c03e8c1578bf24187f22394aeda65e3d03fb6308e60ae0b5ec86c8ce0ea4247ddfcf720ff561f1412bae357ffdcf7384981ca0b227374724f509b52cefd475f3be604c886f8fa939229c7d922dfeaddd56e76bf68cd3635de1f1d89218a8d1ce737a180745367b0b53e46fee49797f7d49cca0d6c17a9c4bd4feae77dfe1c25c073c2faab44b28364f37c6b6b0ce57f01f4a0670987fd32f3b47ee9e1febbe05ce719abfb66df2f93e77904cd7ee739cfc7127c7e90ff8ee981c27bed96f6281e19e13d6e3765e23c670adf31a19df1b276ecca75439426cb0247c1cd5c6922fb630bb18d62a417b8b12d991cfc8231cb36b78cc95c80e176305cd1f9d7061414e1360bad63647c1139e27ba8757ebe3f29f87fa19b3b7b3f7ae31890d0573b160db8f53715dc2c5938c8b33d89da08e6e3c8c03eb2d77cd15e0e82cf4734970def75e5d27bcdb637c3ae0eaa13212d9213027e5d8b83833ec63f68f5bd0011b0e2f99e4e837b1aa06f3bae69e47e7e2753afaf28ebcf818bb8070a36379c28e63aa1c1f9e23f5419f21d2ad0043c6da5e909c730403e7958c1fe0fca231039b34bc126ce9dc6f1d233a1bd48e6f2f4e2a1e026b857d9012706fa54877f3b9ba5d05ed4026c1fddf82f1e78deab53eae0b2b5b792ad1f052636a6845a52239fce8bcc51f6cccf99adc718191d841a0f319f0ef99c3832b89986b01e903f7efc4a9a983e66fd5b421bf0527457360a18f6e68ef0ed09e00b114ffb4d0eaef8c74b54a4d5739d2a7f0fbc2fc3ad4fc7038476442b936fc12788e30eedcd440764c856b4a95565d913a5f125e7dba4eeaf9966fccf864f78e23f40b7dd1e757a5e505cdbb56dfe458eb1dd3c7efe84ff87c31d8e7ce816775761aabd230ffea67b6166c5837648d9c482d61cabc2bd44892f7386d4cfb620b485ecf6ebe60c4b50fea78c6ef36c94e9bc1ebb3372e122fdd3ebb13315f1fdfc40fada8be971f4c1d0af6fbfd891cb93873e3e649c9016a22c7f10b8bf907f9d9e9f61fa43fc21ac3effa1c8cc9f7980c3998bf93d109af2df4de45c9b4cdd651c85e4bd61b6a07b9b08079624862ad2718140b442bae446ee970aff167640b61e8a74897314ac823406de878cf28ce9732f3d2dddee3f1dc9023c0c7a37dcdbc747b92d3d5c9b614b4b7257e24e77ec4d77d614ecdcfeca3af861962ab0fe5125327f98dec024e7ec3b3b5cfcc62e69dabd77c1b9907bc5ef8f955f0cb2dc5beefe2ea59fb1a32fe543e7a11da6f77a86daaa4f1fff14b864bbc3a571b136c34bee6243421472ac37e5af8bf22b598072572f21a7763f2c3da18bcb6d6865d629986d6a247d7a15640dd92678a828374db199e937e0979f4ffc7af46272f023d82f41bdee09ad4780a24585f398e41ed736f3cbc52b9b1d04f277f4c75f8edc91bd37bdfdaf74e67b143ee0971648befc5c6fe35272fa37bf8d8bf45f2b7f6a992ee2f4e9a94fe80f206107f76ea64fe7145b065b68cddd2e618f3ca567f34ae97a8297c5fdd85daade171c1e61076cead05c87b69f9c13f2cfe1b1f08c815c6ef0bbca209d88d90bfc6ddd6c2137996cf6a037812ecde86fd41aece870be1a9cb73d7e82cd274b4b1f0fc6473cfde05c2fd1015f4db3e07633efcd0cfe1c64c44efc0970b690418e81fd6efeb65185d72b83adce5f7b23e785223cee8f51ad63964f309f81f03c0af1b8e3ec6b37231df624ec828bc2c74915cdb1eef857e8a6cba371d9758579c881ca96947fb5ab5909eb275340d0382c589ae6f724d775b5cab889ecf4e656d7a5aea5047f343dbf0b2d0628c45ff57e3147f334e6ddd04cf113b5d561c9a6fac2ef377fcd677d8c74477d4c26423ec2f777929f362e4e819239f6296f73173ac60f4416578d5c625fe98df904effa89e8d53b1cef88fa3bd35f57fa698caf3ed05e7d09e1ed54da54af4807f9a1d230d789d714e43d9ba7742e2ed18ab09737afe699dde2998ef6eeb68740d06c1403dfa959a8aa5538e8ab51e0fd54188e4c417da2f1fb7156d7d7fbb2ef578b81e8bc0bbef0fde425bd847483f7e1766075b302ec1344c5c3338059353649bab03f8254d726c2ce7e85860f2bc077505a79b2acd62474a20ceb33ebce650232d0c411fd8a6b3ca318bcc4bf7cf32d4fa0617fc5df9c8b6d07e9d5c1c0df559e4de20d01c13e39baf2325f4a4e21af04ae20d94188dbb2acd725f0a433b3538d75c3e2fc745e8215bc9daf148d6a0df7e3a8b5c73257903e58cfac0bf9767c0f744f7b1f0fbc0735a3bf4ada2c0da25505b8cd677f7185cd31c330887cedd316867701eaf24382f12de970f2451732c27f18fab448e8af03d4dce81b53bc1fdd1d8ec9dd2b166bc630e0fefa8dfee31d42f3a66bc959ee0649e84fa55425f003c9fd4350bd46f3396c6eae49a0eb78e14667cf9ca959214be5daa5cdf27e89b2989232417fc1c49e857706c08bf85596e733cc86f395d859eb45a41de6b541c6ceb4d76cce4e8ceb770ce1ff327f23b52a555ee5aafe83b1c3c29b9eda519e7a2392414993f46f26d77022e3f74ee68e4308ef85c19e0f768ae9b191717e9cb9172770cf30116573f4ea006c197c49cf825d1335d3d492c55f3ee1ce63992c45233879c6329374f2842587fb19379f31df8aebeb9feeca4490ec74ae0d7cbbd81527f03784ef44c117f63be0b3e96509c87e4e254b087e4de403e531f1ef0dd331c877b6155bad61b57cf35cae5375b1dfc34b911bc5486b769a707f324273815f81dee8fa3f6bc7f5c5dfd03fad6ab27f8d683187daf18fdef48c601e9ba7e4ad7f52ef18515f8de511bd77452c835c418d2213a2ea7bbcc491df01902beb334039c39474a4a6ab7e0be09ce3aee370bd2a4f20632f4eb097ce6a5b34b3085798de4181acfe67847563873a3843ee79f703deed3881dc18079ba8e94c491824437919d2ce7502f9fce9a6721fee46d3a3bb80270f85f9cc929a2c7551370258f7e2af25e8ae6359c47f778aaf38f503f5688e6d1c5360bcdb156d7c0520e8eb5d2d0da752d25813e7f6a83c62a4d720ffa47ebbbd8f8d2ece05abbe13a52d03cca5553bcd9e62a0be67144da68019e73f8bca5f01e7c5f328f0fa42ff47fa2247e758ae8dcdda7065a3fe83af45c8697261c7bde308759305fa2be724f10912d8ee6eab39ce2dfaa89d707eac393c4ab33ad9f8d69d37a5ef05140ac17be9383e6a6649b7ce6e16baede717b76d2d9d9358b21f42ba035903ca3b9efa422fafe956b6549ebdc7e16bb47a3427b14db4635c971185711ad190ee97fb6f059dfcb1fec90de70709936ef643c51ffaa857fd3fb19e9ac74cdd985b997605b4a66031e1c6923189923845cd34750ef97b0f798333c678ecad5c3e3f0847fc3fa3b2ee1988fe7b5500c7d29045d611d29476f9edcdc310ffbb51c15f8f7542c5db48f4a785e6b9258ba56067aa8879e13faf83c7b032543f395ca30976d879e0ddf6be3a7099217581e2668bfda65681f60ee7f6db58978c1b114ce35576c3f80b321a741fe6ebd9df6a991a2e7f5d3590ccf4a6206301ee8db0e94d091a04f12e7805ca8489582d23677f0dc643ea23ebbc72255026eebcc4b7d348627f4aeeff12c0e12f4ad43f4bccf683e0411ff2447f43c1ab720f35a6dc831dc2e7390ce3650425f0a331bf6c5e46c9b41b267e4f53a5232cf9c1d1d8da7d830e8392255c27baa6b3e95f82fec3507c77a83efef427f7981ff07f9f7b5c4c7f079c128bdd4c8757386f48ba775a47c21f9e198c5cab676a56b7d46aa744efc749878783f5c121fc4b39cf61ea7ede9387d3956b285ba6818d773f26e60df0bdad75cc118ee076f2083915c68fd26e70d29393b16bd76977926c814e20b09df1c29e3fd01da1b48beccb459939e6470208740efc4fb213da65a2b901b781c0b584f18eb97caa0e6182387480e30c9f94c8d372f0d40b7f0a4e4ec5a3b926f3a4cb6e6f088e5647185b97d78cd3d7356a231df99c3781d2967db42e32d23dd3596a382fc5656ae89de073089123fe2cf2ed4d090df09f19b33d7fbd4f74edbc48d4e4defa949586630f7a9e5316dd3cc757aaf2073e6bb53732fc572cd1d87649967ce2a3cbf18ece1d61aea3d1e91f6ecbd2b97af75ad33d2db1c93877c75dbbca13974867d168ddfd138eb027a7f07e64beb7729e7d467036df137e7f07e0d988818a703ce818e8ffa267266cbfc4f640eec6b64ade2ff05c05594c401eec3497cc849361adbf9708a9ae37b8aeb42f441b81ee6b681d6ba70be38d60ae99c57a4c313dd9973a5e4e00ac3c41f2c2375fe86ec7c4e27cf2b1ff16f95d82d7254dc6c7378f5857db18e14faff79a9c9b98f64f594e6909da2d6ef313e8fd68117d7fa5bfd4d1e9e2b99eb92b67ced3daeb1ed6b1d1be9e6a0a7d473628e65826329383702cd9f233d269f1d9c5781e6c78dca92e598febf7a0b669f757b9f9b7126bc9f98a16bb6d6ce41f76cdac6f5fda0ed013d7bddd645f7f053a3722c057c8dc80644d7778f75da55be641c82990273a7d3be750e5f876545901acd98cf918cc7766d332e3047612f0a2c78e7d2311d7b1d29f0578ee0b7437e3bf837dd1f0285f2acca47c62628f98c1c8fd4b992f8921106d315e69240fd586f896d919a6b348ea97173cc19b79b839d4ccf4f036423a3eb2d23f35323de21ddd31c56483f80f7498d223013c87303bff27195219d1d9e91eaa35307f5c5a3b1c27ddf1fc7ed89cc3bbca2e7a902b320ff8b18cb13fd7f04fdbc84f53e5f1d6ca463a1e38291803e3d5f9d6cebadbbaf56ae34bbddedabf315921ff8fa66ef407ddc1c73c57bd2ac6cd925c7dee311db7e6785756e11db9e394eda1b31b96fe998b358370dce9544b45f543ed4a8ef568eb53b7902b46fc5b4501b1cfba2713c39f707bb782719826b129b04daeca68ee564b5ad3a5f718ec99ff07d778967d9682cab404a385b08f7c8be846f3ad86581b43a1952923bd612aef3066f13b03b0f70feea8f79629bc2bdaf3eabb31f51fbd7732d9b356853bae63909a410d946477786b1c4eb679d2b992b181847c40c4eaad59c97a3e2ee7c47b6f65cbf3bb9e6eacb4b8d0ae419a9e122ef5e7ac23961ffdf49333447808f8af4777585fdd9618e93e7b8ba8231b5add5c963bf47ab7debbb40ff3a92fbe62af427307e704c051f9671b0ad5718631fb823e0d8ff2039c6f60bfb86995d5df389690b754a25d64960bee1e31a8fe40ede9fcc84639e9bb5039bbe3bdf093d9b212431e87f4d9f03aa13f803a37452c0d8c5eb0ff5652929e0e902dfdf1e3de310e6d8be40fa348f745dd4ee1df24af9a58df43ad075e59cf066e1ba21a4031e776033e3dc55900d68fe1f1d6b876462fd3f73dc618e23f90875495b12ff46e7d06fd524f1ef08ddd3780aa6bbc416c4b2f6f3e0dc89b32319076fa0109b84b49db5fd2d38dfa12b4f00c3bfd19d8faddfe8fc15cd39828d02b96ff05b9fa275c82f91fe31c7720bfbdd5a6b84c7f7efd1395ad730f31e3d277e3ed047ba6b223087992d808f1aeeeb9aabab231963d7dc65f87ec901e264a69239521c316d70fc4d87fe711f1a5fe2981cee3798afb6689ff7489b60be3cfb481f378db31c15c2d62c6eae348b1c6b87eca12888f8d09bbf9d6c5349904e88da40ae39d1e783883fa1fe895f4bd0cc5de20941695b6f27d74473c63ebbed63913a77565d3d13b54376b32b199077887476d41f9d7bcb712138902ba5cc9cd4496c64731cd1dfddd58ff8841c437d273eec754ff81a4be1b6e64e30d1fba646198cf9d099db67b4a6e0f794b1118fe8da2db6a385e4a222fb0bfadb219b19bd239acfd027634722f923b8a631d8a622b2e1eaffe971439a950e9647addf70de5a65769ae4b0f6d19c83f51d56f87fb17466b59df42c1f83ab9f6ecff59e88e6ca4021f610f1e11e8312db41fed9233e31f001cfc3c6977bfc3cbb8d3df204fe88f927e8e6efd315fa9ec806a5b170d85b7a8f4772fe0e9c78e7377bb0e3411788942734dfdd2a0be931740f38c6cd4a9cc78c9e13c730d6697d2c52e7f89836571207dd13face9f5df4bbb997e609057b9f12fdaeefc1af4edec06ffa074c79bfeedb9012ae75ff23da53d9eb895fb5398ffda9f3f0ec81cf12ce9dbd49067e4ab8ce2c2ee053476da4616592e78676d2b05a1feb780d6a0b32169edfbc3d7b682d95e8ddf81cdbc975ff15da13e0fbc1f789c18ff0ae834e3adc0a61e881fd4ff220b03ced3d2e47c5335c9b8a576f3fbb38b3b710d94aaddf9122aa522cbef335a77986d6ddfb8083fced6d375682edf7c4afb297bb39706ce6859f42ae3c7b4cf65323657e6b9df3ba8b6cbce6f7deb576b9a36765fd0dc1570ebfeb6fe295ccd8a6a3d6787a0fdf01bd1f2fae39ca8939fc72aca45a48d34c4d9dab1f1ba12d7c9e165297532b6eb8bda524f1f97362e9dc4d95669e6300ff40a6c6bb8dbe9f7110db3b1a9c8339472b8cfb0aedb20f2dfe6f707474bbacf3c5a1ceaf85590539fbab3aaf3fae31225693cf01adf95b4dfc92d6fc613eeee2b631477779964c1dc3aac14761732d9d07f513209f461b7d5aa8922dbe0fc8fc9c642fc89ef30523dea7c6d1b5905e8375e5fa1b090a6fa74aee805f46bcd0dc7312a382ba1c67728a3c614865d3841e978f801f083c040ed23b4ca35a27791448e26d9b163c926132d4b3d55c3f2bc71cf2727483363bc82b5c46ea5841bab6ea58c9d41b04177a5e138ca181f4447c7ee50d8ccad9efae01daffd9638671a3d7b0b9f378bd06899c003ec889d6ab39756d9a4d6b96cfc0a125f9a2ac4f5b392cef1a93f324f194f357dc98e1e843fa0c373acf2fc631831504e79b7a9f6e5ebd699f649a5f053e62929f05df1a738fb8d2ac6abfc7ec669b4ae649482f322ab44eea1c97266f2e517bfac53197ceb9d8b838730ed729d15a27c06c66da444d3eeee3360c3ef5f11c7a29da0f145c5b7abccbc5a4e7374d1ecbb07b2c67734d511feddcd3769e26739ee6058a1f26fa4ecd9a69bd77c4d461fd3e3790c9eb2575b84dbdd23393dbd2e03c400d80f1144cb28b5a73f888b775fa74b1211606bed4bd3778cd3dc948a15d8a6c38cce701b54f733467c326c7f7588c64f3760a20df2f79090efca5c945267526503f69c40bc9aedf4995b684f382c99b2d310ef546532abca6b7912a8d2e01d19d36e667ee47c3d046f2c53272c0089907d73d9625d3ba064e42737194a99228b6e77f416a1c64f15dc0757238f765f9ec44059203a56dae385253d4cb8505b830989f8dcde78275dbbcf7f61fc25906f3637754aede9ec11b9f6fb3f5b1ce71a9022101fe57b40e6d6156391ac8100972994bf979212d4f5e09fc5f9c7f3412f9c089584e93b8f1d4885d0bdb690be081fe14bdb288018f8f70da2c7482f1509d0fa0c380fc53f2c092a375fa49e54d5cd7ce92ebd68282e6ddd75a58a13d1764996e8a3c1a6f9089870cc9a85b5fbb1a2f7e8ae6e43e5aa7777d18fe587e6ebe1107b52def5a08e3ccf6d52b3f0f59e644e16d61dedf1bc9e89d240ebc487e66c614c9f2f63de731ce0db6baf868680f49e2fddce0745283fa80bb387b2f1524d7486e2ac6df5022fbe40036c07d8dbffdfb1a48a63e6c59f4d5f8133d20c3c7655ae33f5c55cb4c9defc9ff5b5a13366ceaf8e2c14a8b739ffe1fc5b9732078155a9cbbe4f87a1cc3be04ff6b31cc8bc5247e5a8ee3dcc3f816c20ab5a9c8712dcedf1bac8b88e8164f0badf86070a95e3e505f808f7ff6e47416215d08ed95b639cc3ce237db418ca67d4c035fca8cf8a2dae7ea7a88b1127973a384f3c2ecb2978a10d97e90eb9200fefc9efaa6709b22b3851c5d577328e9487fc1d75cfd790ce7020bfa8ebd8111799231f1a4e4e096a80d921b3e9cf3d3d9913eb733574287c3389accef2797f483daea921106e9bef93d7020e719f71990dc6afcdb1b80ce110716f187c4609f819d2fa780a19901f6db5849bc7455be5b6f5cf37b07b908728ab180e1791a3d27f38e6f3cbe4f7209208f0baefb62751f8815ce151c27c1e7d05acae5b4b8dab87dee09b3d8317753dbda85e81a4f12434732c0a76a03afc5b46ec77caf73478722bff92b191bf25b24cfc85f036b953463857f139dec665b2b0ec6e4f81642ee62748b7c3a078ef0fdb18f68acdcfc543cfac407231fd1b81a13a89717e0bea436109d2375bbf8ffc431cf783cf1ffb43fa4f3e41847ef16f9689e80cf0ffeaf80cb0aae81982ae570223aa37170a72b5cb78cdb5c037375a273299044de16c295377012e677333f08ae2ef6430d6790d73256044f28902ecebed3c036130efb6e6e5120848963de224b83facf996dae4e8b71f8104b1ff0978ebbab61bddd1c4b9940adf738fe72b46185d683a3c1babf6c34e5ea45f257302eca0dc8ded76831009ea13fd2fdbd96be9f5d16a5f2839e7f2e2d8b7bb1c03ee3afea3c005e546fc0d5bcd43b1de40e9b4bfcd4e640952f72744ed4442c3d4124b825c9b48531325db6ebd053850fe63b9c930afc27b7c835873724336a6e94636b8f8036b03f025eca94b4c37543fb8a7f213138cc435a651f2a6a3b87ba883a66d787e7dbf090832c1e20fb9370ca0eef7596d5c06d6a9818dd80c8e443c61ca3f2336eede55b2a638dddc94f45de113e5be7777383f87587f53c6c9d37f91bb2a99d716baf9eb132acdd1e7defce31e0f1975bc73432fe9d6302e4afb6efb544f2a8fdae48a6ed12678a65564b77e9916977e767c47e62fb9c1179d43e76379e309626f8fad867dc32b28a3dae610cbf5a2762fa5612648fb48fd5b28bed43774ce30b6442bb2d679b45de1deb3d956bedb6bc0f9c7eedb6904b52639ab7ee69766553eb3a61867d9ca5fceceafca14fbfd498fd689d26e902f35c440be929bb9be77fa01bba3adfafcf62dfc1739f8eeeea7cafaebc25ba057e3e58f7c8a622b2e2ae0e92997f48fe2bb9b35fe5aeb9fa6acf4dbcdff5bcc38add371fe9dbf7ed615fed3b2e3896dc59eb5d9d3e169d439f6d8175a2b61cc0fa5067ee4d89cec475efb563f4a5fbe3188fb63d2ea0336d82d4287b8ed3bdb2736ff186ec888df9f962033e40ceda60fbcebefc7c7feeee7dc8f1fb6f60b4f76c3467e2de39d3d5815bef32bbb8388672f562ca8503b131f619debc3421580e43f67e55dffd089e5b56fb60705ba1af2dc5b2c163c6f58d99e54a068c95abf3c70776e1edbd2d0b265d39bd976615d28dd0fc0a2c9e72863dad22197071607f9b8d44576b631dbcd77b208b3331bdb46a1a8cddc0e3df4e36aca1a4f2258c8de797e107b253004fc7dc6d036bb7c4d83bc3c43ff4630681df2c4536295ee71bc29d23ef0113ec239066c7455d432e8bef6352a365c6df63a2e9e7993950828ff9edb4034e77c07fce208e1b8521d82ac4fe78d762c0c0088424f7a63ba46370ce9eb44d8df21116d0af9f5b7ac2cf8d9e491806755da0f699a912b99ff606e73e2c5eecd422e97fe3df5eeb722f3e3cd56f1afb5da63caa18e3a3e18dce3e2cf9625bc611fba231cfc9421ae5ef02bb8630671af17f24b4fe17f62d82e5a4cedf2ac732e2a63e7ffb4c31863bbefcbfe29f40efaa4a23f15d58e5aef51679c2ac247ac71dde44a36fdeb5857a35471713f5fedc73e32bed9e9b891d5d3864b8b75bfc632ad48adc6a4e1882df705d587ca9a633de11204630f1a459e59761a8820fae353ee15fc63ab80e1ee1f53f7ac6ab3a3f978e5984186396c46c53ec2b5c6845cb6fe3fd31b75be31fc1981832f8536c9d7f41b6f43a45dfde1f2cb422f78415c98124734e427651a13a564ce726aef1999e93773a2fa559defecd27813463af21b9635bfa1beee349f57c47b273e509bbcc491392e7ba4bd0732d0f36c4895c9c5f157f879d8fdec5277a18d8301af1e30a68cdc6cfcb390779c5bfe9c7c13a0dd8472ac4618dd107f635f0fe983dbeffc7d1207637c1b9aa6fa23a0f4eaeb93adde359d0f901fddc880eddea0b6a78f5d3bf7e86ce5acafea3799aa9d2f4bf891b625fdc75639d67beb07c9663a3b28519d4b7e1d8a911d996fc0c18e6d322718edb67399e957e2a0e30f6999c1bd66b7d0c7c2e3385d646bcf947e51af00acd3300df517d9c23fe1db4474d4ed14e327207e70a58aef9f42cc7a22e4705c4e2d651c36f4a7d715bebede657a7a8ab83aa33e29b999ca27d8dd326c2dea89be2f37eae641ec96342baff3a823cecd8015e5f077c661f684fb6f2a775a48c6d73f555d74d4ee26739d9857624e74b5d7e96e355ee98b3528e6ec5b23a45546f552753611d293aadc35bea3e6a7bf58ebbd2136ee83ceafbcd9b6fd1ffe819b6b685be939c2f0f683c57a13f5f2d3d61f52547b77285fab65607db7a4be4e8562d0fa74846fd56cb6739790b1daccbe7cb6a4b7f533f5db5d2e1b962f8ff708a3449843ac765e5df7dcb65f5d9fe9693e5f0fe3bdeb8e5e4146dc1c60ee87d38741fcd1c560ee038dc3874afe69bde0a3c5e7681ff4773cdc6e3a6a3396557f8ff3dfa9fc3ffdbe87f1eff8f9ed516f0ffe819ed01fe3f46ff3fc1ff306ef610ff3f857b2d61ece5721d29d2529fa2b12ee13b1da670efd504dd7bc87bfbe20a3edfc914dea33b6f960719cde79563ed42f9c87d5ff30c31d8fd05c90ec6577635057c0c3827414ec458ef4a8c0be4471db1dc75c672b8010ec65a3e70102f1c3f94570c96858c646ca3174ca6b8d6ff30aae7e63aa135cbc3d44fc5f35608433f5e01aebe17254d8c2c3d27ef265ea3ac1c075f96600c03ebb523df671e2bffd07bf6bcdbb31c297fc783a1c7c3ffc57d3fb6ad5d486c9fd4b1e4ff54a7039d05cb59ecdb05dc408a4b8bf50c620f267e55eff9d89f6feef6dd6b6cb3e0407691df9e6970f69eddfb7fa32f0409cec94852d7344ac2d5f60c5881073ffbffba1ef8bf6a130cea1ca821ae15a76366e4b6f556a16fe29a7c52e3efce574960eeae0d4f02c57ded72458a7f83e950acf5f87fd1fed925de7c179af798bfb52ee648069aa736c9ff407a4eec9805671b9fcff2313839a691ef3a6d54737fc1f184624adb2e218e0aed9c6ff432d277ccd830e419f553d4ee93b6199d1d6d38005fc3f4415bcc41956c4a2437d9679eb2cfe5d26f4a7ee31ae37f6f0350ee9deff60eb0c5eb3c0e5ee46a6ce819e4cede20e60c7cd40d27dffa30cd7b78ee9e83c96848f0871acc0a5d847c943b1c8e1a7b5abc909c96dc1aec42a7cab8cd607bf1c02f01b6f12590c4a53708123f06ffcc89621ca36b1b8c09c3d8c7f133c64bc1796f90cb68189a463191ff1663c43af7625602aef6dca89cbd93d9a951ae23cc89f0e7365afcb4d2908dc65dadf1e89f4d34ca6d9dbb5a87c2978ddbd91a7357c893e456f26ebf52f7bcb1b2b8d9de98291f7a3c5bedf453e44833ce869a16e0e22038942b1e3029cc5dbcc57cb55560f27b8f835a3fdeefc1dc26ba4389d6c79ae5f83bee127fb0457bfd3f8e9e01d70ce6e7dc9fbcf28674c32f571b4eb4a931d1f895a11be29b31db6916377cd3f7fb2fa5e222a53c738bd2471aee710118abb3cb3e35d0d8526cd16f39f431963d93dfa885991a3f18135627919e30afbe342b7dc1503cc063bb15cb719c031e0d603e0eeff224dc3ffe969cb0d2f7e552ff1e3bbac5dda24f73ca11b81c17e1c6dc33d847b1a8eadbd4d6cfd78d14bfb4f096e64b5137679c3b1e9e5df3e9e49539b79cc4822a21b93d1af9d5f9baa8386e613e7d6db4905b547ca2625c33d095b6d6f6e49571b6281f9dcb8b85167f2de6db2ff44c76adb3196fc138bc2e2a395b68f92918e7481f6becf4fd8c5b48a3af651967ebc136d95872ee457bd13ff2049f6a3442ef031c00512e3eb89e997b21a7e87cb9b06e27e8278a479bc954f88375d6fa16f261caff3fdcfd579faa4ed4360c7ea0ffc106d46e39ec46450414257326d00a02cadda0844f3fbf5a45280cbd7bdff3cc3333ef9181545458a9d6ba2ee9645fe5f0df79e2811f1dafd38b1b1ec71bf41de7bc763cdfeb93de725e509b59d4714d4a7cc3bbfc334e12c9c7133fee21c589389b633b9ce0e12171bd3ace0b730ef15d58c798ebb0cbc514975b768fe6841afd69b07a5fe78961ddf4fe92239fd73bac6065245c84d39612c2e8cd0b8fe17aa687d2fc3ecf59ffdfe24c519bd9031e57d5735ead69fbbcab1c13adefdd8dc478fcbdadb7bd5a341b7b147d739646e668c0ad42215bc04916b4bbdc76387b035b1bc7d752118db1364f9bf8fa05daac7da4a296c3b1f52c426bea018776803fabda89a34e0e1663d49ac946be59c60aa3bf219ba969c39b035cf958063cc816e2de3e87f3d8beaac573ac426e7e798255958a16eca38f047e12fbd527ccb1667ffb2244ebc04d26379ffb04ce7c819f1f6da60cbc917cb42df968ab9f243e567ae8f8ceb6cf39c7c9fd00534f714da077741363242c56b1931895037c251d8738dc4f801c8ef1d9e73e43c734ae02dfe35a7b8c11091c75f44606b25f2ea20a7b2dd7d5687bb413237643dc76c7dc8644fe27c66e4bdaf92a0424b617e4a113dce40281d1e5cfd87873deb10d9f13b2bfe1feed6f8cfd49eaa3e915ea24139d75c309f09f386a7923387e5f8cd7007becae7d0ec80801ecaf1f39d835dffa8cbdf013d9379563ad6b6cdfd3b437da1e1d33a6f6bc5109fc2a6e72b68fee48b81bd7e2e8262c85747e2707d0f83243de7245efd67e8301a95f7c0ef0e8ee3811d7373407bd73535372ce710d16b23378e38aec4b0ff0d6f537c01e87faa3f6f7476633ecd549e2b36fad20c686ec32e04f596e9355182836e0ec6f31e624d13e8db1ff680d1e1be0842e08ee179d4df0dc042e848335c2c72c7a8afa971597dbcc51a3ecee5d40e662bcc65d173fbce7d827f190ddd10acd1d8ca70d73c2600f48970d39ce9bda42817d857dee85138c1db95cc56e38b9b94939693903d198784bf96ae376558e394ed1330e6a504911c139c045ef3e87fc2c27f0cd92522c39f3307f65d1e429b35d9b93798f9bc74d528feeebc225e0a82a23a41736c9943c2fee782892b8d6fb7a7156eadbd7f5dbbf3cf37f6777cbc8ee7e1f62691ed3af113d8c4370f1fbc19c5f717dffceb2add515e3862c4e7b5e67ddaa7c69ef219b6d8019d9fbc799ad9669a3f353b46e3b1e74e4e721f937efd6ec0cc913c88f81398a65b2577de25c227e01fc4102bf437d71f2f97222808c04395dfbd627e84bc7dc1eed7374f4f92016f84f185709cb90dae63e0bdb5c7fdba61f4be1a781fa0cea8d16f8788b4b4ffe2772e85ed323f6ff3fa18e520a3f81d740e06924df8eb6b53dee973bca9b5d6e12e3845242c7d208e9ddc647a9e8413b84307a6f750070279974aca8ab957b76022f8903f7bc3d1a497c73f945570f7e1872635103ac7dde40f6e560ae28a6deef2b334d9d77a26776c2dedc19923968bdca6f98330d3019d1f75b2347d0f7864bd483ef5f261dba4cf106b51ce7083ebdf32af8d2d904f9b54e1fa341f2acc3584763889ebbeff8d20dc539a594c4373c92dd3377cdffecd569eee9329358631c7c8ff336f3907dceeb6f3e57c65ffce2e4cfd0f98f63b649e6d98b79fce68e28d267ba92d729e63873cfff60b77177368c3aef6da65e2f04de689d3acc647a78a877eb39d4fd19556e46dba96dadce4d1d18c92746215fa28b479b8bca696a5c3c3aa72c929b6c291cf7e6f8e88671af13487e8224083c8a1db9711f8b6b638d5887db89c81b389f33ce2b4b2562d7bcc122fbb1934f33faa9cdd972e63e7f9771bd0a1dc665e248987d048a86fcf486e36bb976659afa435e67d66b7f73ce5969e9b1db046a5c021763f02e14d3981ef86df635a3dbfbbd7fcda8810da30c6d186a73defe11671f48e6773a40447e829632cdd8cd00cf96a732bda633e9fc497b899e6db5ee19c837d10ecb5293f88c75b9c9686fed00a74b9a4f3bdb1938b32b3bd957e5ff28fa3c5945327ad75c5a6c59abcabe89b8c38bf804057b702ecca1632832dec551a36f218cc28e2b7660638ed17c226299c8ee05de87a2b5d1ec36a7879fb24ed8c632c70fb14d2f04fffa8a3138e39b7ba27589b0e71cb5b1e7ac72ea75b65d7191b9f244f811a9d85f93ada8f5cd37cba891d7c9de9c4402e472a36bf19cedecb2e50ed9ec5d9d80c0b395b084f95a0b3c9b089c701647dbef55255c85b981ec6964eb8dbc645134d7424eb1c0937aff33457a4e98955b2f6199bdb98bbdd338837b03266199da4c4cb9cbe8e8414cfd236cda1e0afca2463e00d818dc27e5561f5d9c470abdd6e64f15b37b5f5c938563ff97bbfa2b24072947a3df1b5b48c3bf5364afdca404ef7d36f2ea220e6de68bc8cf3317f38b0c6c328f09a07f497ed79647ec956d26e88be9a1b19ff6fc8271f44e2ed46daeabb32ca70d4f0af22f34182f03e730f4e7500fedb1513b9606d59eab63fbec19be36c9038ce645e0cee900f262819f9a45e35578559fc7d99c8be647b2377dda4b0cfefebac6aeed6bfe700e1bee6bf548c6fd1a2eca964fdac0cfa37631d412ccd9ab36f2af4dfbfffcbd9dc81fdda6adbdeb24f1d506dcb94ffc6c63776bee05fb82123fbf93cfeb9b9b38a933322a47c7bc6f9ab9289ab9f4acffdad8e142e4efe61d3aae426dc02b3ce7eb633fdc3fd3d05d5cbb5e2b96f0c73da58b961bc7697893005777f459ef9a3a018d99283e33c1fd515325f86b7fed37827fe2c4366d81f54bfbbc31784eebb3b8e71fe69ddef308fef3dc9bf7d7fef3fc23ae7d32077b0ec1597e7fbfc8a5eedbbc9e3b4877253bc58dfab5a98c1ee6565f97b920e75789f4dac3b812f998ddd80297a05a06773ed95fdff1599c83cc6724f91ca58683f5759c6dfcc01ff5977764bd137bdd9c8fd93ff7a136877c80dff44d67bb7065d5f6fd0ff3ace1754caf4ffa936e78b606f359359d8d631a91636eeffdaa21affaabf5b0247d6bbded8b02cfdb3e2623728b86a38d94c9ebe9819b23dd9d0e7577779f7af02c354a56aded70be93ed6a01b5980f32eddcd4263cf4d57ae54493d83177b133b025096e3bebeffdddb713624c4ddb9af6f6baf72258addceac618afed513915d46321f1044e3e175dba7b250fcf4cc14e5ebeb85f4dc712372f60ffe74e3ef98d4ed64ca3721823fa6d3fb43c5e80f96f75e3ddebabaaa49457ef5795d7ee1adcfe6c5bb5f67a44e8c279db97b963adce8eb96baeb7937d6827c86edeab03bbb9ea389e07ef33ec9fbb63ac17be9827495ceb2323f49875b537574ffaa2dbcb7ec94f80c7deb87ac47d9eac43ca3bc79a6f02c76b6a27fafdba1bad42bbd50bb47b5ed336d426c6a143bc978f7c5ae21ec379383876e96c28cc4fdcd6e3b4dcb6d06e51edf803efcfbb88eab375b5abbe8ce1bbdedb7afff80e60333cebc3a666fd858e68f94577f3bdd970e53d8c5df3bce56a428eb1f8741e1076fbc207ac6ec75cc77bcb796147c6ef5bf5e9fcec38c89b799f1e96453f169613f7b6ddbae96be0617eba766dd2b666e2cc5d185717782e1fe476cb89fe303e62cf1179021ec2681dd84cf0aa1f485fe0f9331e65538b33f054460f8e2574ec21fb7dd1e8c421a7f78ffd23f57e43ad937e8cdee6576d5941fb18dc6b685faf62c74436a271b2cdf2e437f9e180c5b27c22dfe8cfca318147816ee362cd7ecdddfbb6b87546d4e70d0df9c8ff66530cfbe8077bb8e1817c1c37e417edb2ae2fb4bbb5007b954fd7df83de7bea4faabdacc77da45f87be24b66bb75639f5b939ab984dfee47c9eacc2c5bff83b44cc49b874dca63fdb30cd98377998e6b8db93dd306356d1e809f0063db12df4e52a06de8c91d1f0454c16de7975f34ef4443a3b81bb34e24e3e2541e027c3366c132346f61d394ff03cfc64ffeac3cef03e68b36662bff52397794d9ebf490c1678b21ee520f22f2d2f59141e6f446a17ef7c58b79d3df2102f994f3321dedd041e38646aaf42fa4c3ffa0d2facc311fb986a71fc32595ae091ddb08518b537fa8c6d264ebed4cf7761e9a77e8b25bfdc55bea91f0fea67d0ded34958da3bef2e02dfc71221b6d2c75eae8eb9a6442e6a62dfe3b0d70dabd839cbd7ae5df37e3ffd49bfbcdad769f370c8f1ecfd46aa9323c0f3d99ee3d10d4f329ebb9d4c026eca7f9435121fb1ff340fc3b2eed65d930fe0983df6cf8658d72fe329689e1173f8d5fb907210ee3588a3ac39c734ae77ed1cde7b68e3dfbd3bd420c2be4b2bf3f76ab79fdac6b36890f3bc8ce438e85764078a4b9d75cf48aed849e773d183673df5b7d07d06d7fcd24f6bf1045cfc6e05ea970d33ff03bf67298d6489dbcea1d6cf18f6556f5b73c75454cb137094dd5ff3936f82aed3489eac7920f2e5f4b0fc9c1e80f3ccb9bbd750af12b2f102fed359fee3d517827f18304b63a7c79662b57a8ae4c3adc3a4d2bb63e09b7961f07e509feb715c6f65036625e4379a3ba2ee71c58a6af4866c25b7ea780b7bfc2ac266bab7e9ef79b3c9b90ff692455ddc6a42f2cd9371b66b63ab64b615032f8762013f5c2733c9d8a562eae8d8e957fba44b0a78e6feba87bba432f4defed046bc4a98dfbc8b8dbbe1b1c0f92d459fdf02f83ff07bb2d1841473c4b7bf91bf033cf119910393b91c60f1146bc89d6acfdda6e8985dd370ee468be8fb7c1997fbdfe5cb0cf817b9ffcb3930246e076f0fe26b8e3accd5d0132341f31de98bee79385e7a44f6a41bfa94c023993d3e12fcf735d273920a7bbdb1171ed3c7fc18a4f7cbd8e10462de2da8c3b2e839e9c2394be47324abf075be09ea637f39d877bd0c6b7b8977bebf2fce296b6a4e7ee8e7784d7b908b628c717ddf1acf01cba87dee33de5bbb8b6309473bd1317e01f779f3c2cf4020f61225eef3ea8eb64721ccfbbd2e0e72a249ff85edf2405a99a20614925d437d5dbedb18ebbde350473620b2bd36899e39485f9846d5701121993cf29298ea7e732511336cf3573e59c0a2e2ec44ec73e56ac782f842d33e43714eec4f792c6d5c2d9662f6d0d8db07ab46fd8bf15c9cd92b4ec6c93bd46e9f5e1fef6326c737ccd3483dc48b21d782a8d11097392bf1638cb167518335ec54f76b18c77e5d7e816b1f70bd12ecfda3f949ca3ee18cdfe74ba3914ccafcb6767a397c86dde64d8d76d5d7f059c82ecbbed400f5cd53feec2f75d2e41fd1b1b48cd986fff6a068ffc049ff64ff5b5afeb83fdcd671b1c35aac6edffc4aec9b77b994d25220e66e1e7f59f205cd6fb406ddb0db37406badea63b55dbc3e90c9fd717edadf6b68a722dfa0b33f1d6b457d619ed7775b2bafc45e7c2056598a7d9b69b7772af113d736a8f4b02c639341df691ff63d16f9d56416bea50edad37f5ffebf976ff0537f0fe61f3197c97a08d80b0f27e1de9c44db16fb6fb48a6d6b77f3ce72535b0bf87a64bd35b586bdab7fcf2ddeccb66d1d3ee44f7575a66dee46886cce0e3316e77e3cf9cfab41d6747abcb1512057aee3c9c3b515f83fc6a0761d072ab693f07dfdd89f03ce3de398cdfe20c68a687c4f780ef2ede68eb54afdc4881a5b9df71236279feb9af1786f4ef07d97440e136e2bd5be0bae83cdaf989b0cb5a1e3b341e79132bbc9fd03bcb3aae907ace3b0ac257227701b6cd4c665043217ea29aa6dd4eaa5ae1fadcfc04b9a7e79da27433bed17ef532b56ce0e6aa996fa104b61295cf7d67aed98f40dad698589de3c3a8fa5b06f9f6595537744d7e648b8ee12b6f29945e52c56b113538fefb16ce23ca77f9b071e9927d4b41d3d4f338ddca52976dfcc73bba63b5d84fa686f4ee20e9b7a09f88efd71c6a0ba98091cc7fde6556541c833348786f2c5584f5c7375739772e69c7ebcdfdcb11ade4a9ead24fe48c843ff21a753e2b7cf65dceb9a8d23b205902ef3c20ea7b8e5e0256da26b93cb1775fbce357d01be66669aac922992c1d12a7430f77305989f70de5e037b37dd8c3e00c75b3123c056b59905252e3f80c35ad486b51f3ee4ef978c62e9e878e602df3635ddf79cf1ef6295e7dd3e594da7264337386cf38b6de4670b7254ecc48bf1773fb413bff98efc598fcecf961ab571ae89023aa53c8b5a4e79e7f8ddae50bf78d9971ab3a8ad2d86ec01b8d2895ae2ff65adc6336c392f2c6f123fcff66a59133674cb5b8fb19b075cf831ad98605b36718a63a899f1b5a9bb3f3a5600dc79d836674ff608f9fe46b4a93ea16d385772727381936dd2d4147f468e651f1d73c2ecadd5cd4dc0f73c3a09dbe6e724908bcd3758973c8d6cd7c061f4a36d4e22a1e53336d9ab6d16c73d6f641ed217dce7a8cdc9f3aa71286a79ec2ed771d3ff27c5c8afd25240732790f828f3682a736754b1a982bb770c28b23e4baa8c5a62bc6c80293fc8915cbb2e977d5b1685fcaf14d7cfe9ac10011627e6a6e43ecdbdd973dd1e5abb7da95f9df30aeaed0c9eddbaa30f56564bfa79ad5dfcd75a44a236eaaaa85489ec1b8c4d46b18e362d36495f1fb5a9b26ff75456abd00e6475ce2ad6f6e218f9d5524bf05b37030c26e3650d3859f7ba9e7d800e46df656dfb63bd0eb62ffbda9b55e854786dc3da8c5fd7b90ced05b9c367d94ee47fa8d7045cf4b370f1b9f2262e91ed00befaf3b546d4abacb5a87bc7cdacaf5d7234196a977e6d03fea5ce0d6425c6072070e0e7970e3f6bb96501f7442daf8a91fb1b22e7d3ab20272d16d56378e773858246d7876511209f69dfd65af07ae65551ba0a9d2be42532c78b3718ffc9b3f14fbf7eaec76ae3b0aea5f5b5598246c7a2d9b7d50da1adad8e82f7f5b949e15b6b2cff47bf9185cf314ff11cf19a5afe2dec5190b55fe0a3a2f1abec84a85d1970c3239d83d6c83d97bc03719b79b24ae6441f00b6f71f2f9c70bee9002e412b4fa5a5ccee353695126473b127c39cd4b6e9c49bb373db9bdba33cfb597e37fa91c49988a533e00b029e3c910b44e43bd1b53292918e7b839c78bcd748ce07748c5c13e878f1a50695a89615d4810cf102d09a1bafab08c6e95fe7045ef343f944b4b7915fbbe9810b2845c7b9e5e25248452dfb1699f1d43b6529f27b2c8d46be90ffabb931c075d8162d0eb77cda32e28f6b10fa9ca811096209eaf823ecb7fc9b3ca436ff260f2bb4269bf54d3d97857d3ed4ff2999d3ca95bb3904b1b52667abf6972b1a73090503fc7fc09feb6dbbc11a32eb4f1f644b33971c15f07523c73a86389f43b836bfa1de00d9df5f5c5949497cf59606a598fab5c1e34da5e56b3c12a2efab0da98b661fa31e73fda3d8702dcfcabc90910cc7b8eba53c9b177f9b13c49ca2716def603dbd7b231f38ff44580b1813d1645ad9f2f9896b1b56b49338b11753e1e63c18f30e379fb886c3f8888babd5e32eba5ddc1170e00c5f38a57d2e305aeb4bfd22324fef07f8de4612c73e3d783ee0b32079f0f80c2773990525d72bdc7e83eaf01e89fbf22ecf06fecca6b6d6aab2add8efb02fe3bcadff38aae684daccf1da7efe3ef1d59fcd99bfdde32f6d31f67f7bcec248ddf376bc65cac0b53e63e7efe796ebe8afe7d432714eefa342eede55d4f28777d1cc45313817c772e927e3b6c1f534aba77da237bc8ccfeef5625ea98ee92fbe969f83b96363fccac7fb3306f5cb766ab8a6a71cdc17d7ead2bf5ebb7f97952d86d2f60fc8e6a4595321d41c868dfe7dbf6b2fce0122ea254588b34ec22f6b17b71c3012d283e79872f42ee6f7dcfee97419ebf9d52592eadfc9d757ba1870d847466533b047157ff1c6096abe07727692d9d69a527b7949fecefc9771bf81dd5c6db0dd5c2923619063d2d92380a730fde3564d3c176aa77e63ab9036f6bcab1115f9791bd38c4535021eafff7f990badcff44b9fa4901b4c50c066aa7b1f01631afc6833f7183e2feaa51ff4f0b99ce235cbbe1fb4b412b18df24fbecce3fe0d1afba1bf3b8ce9409de7cb1870ebbbf80487d5d7087343b944be3bf87a48df0e624934d5d721e17122ecbcfb73dbda29a8af13b97bff6ff1cbf1daf6e3a57db4e355adb539f874b66a27b63a493d8a0e3caeac1533fae356412a6a6975379ef56fecc28dd6d92613f9a1cdaf7096403fa7abd02665eddab690fca658c062f9f5fcb47ff7bef43af6ff7feb7d35c7dafdebfbd67d8c00bdfbb15b8ff26c3e69f977644d2effc51f009c9fa68ebd8db188bcceda0db79b689553a7c553e40d77af061067108da772efb7be74876fa2d41f6fa4efd4db1adb3f8e915392b6f03b79fd3b9d30c1f82c104b4136f2ef6329cb6d27239599f0c7013904fe0b25cd3e32499bff805b42b601721a7e3b3fc05e5646ad4e4ae3dff9801f95fceb6704affa3b55405f17a5a8a5aef5bb77a3d62a310f4f3fe1d97ce23877d8c42aab2e46cb4ada3cb36b9a22f60d21b66d5be5548458469479a3722a2e65d6a4a9745365dfbe569e36555f3feb2f72dad2f2ab72fa4856c9fce272d11ff7342e1546bfb85c798567a825f28bd2cd59b8785599895a0a39ce1e9df7752b0b8a7539a28e77b9fe955f2c9f8ebdfc9975fc9734ea9fbd866d92bdb59eb9cce4645b3bade171c7f814ff6e83a0dfd303e8c5787a801cab2859257ab24a0c776f504f75a568fdc60fecf857aec4fe70e33f7d14846f15777114aef5af3ecae7c7cb2bf2973b1b7c46dadcfa605f585e50991b67a5a576f7ac7fba275c63c03577f5d7fad5b63e0b77195df0bcfda51e39757a845a9fe6841ec1b150b7667f8a7180bf299c215fb86af8a8df9fe1913cc53169f217200e719f2bb2a4d283960677ebeb9fe355aff6b907ff3ff7697a9b54c779d46ec28efe62fbb5f5d985b4145879f6f2d9edfed855043c72aa5c87d4c5ade80af33a0695624e335b1b17cd1ecfb738dafea768c742ee73178ec35af84fff601a19ecd9cca862606f410e5d391197bd5f40ec0da7af7101efe7ca83edfb125b0aeb66b91007b9013275af9fbd70d2ef6d9a13ca4be2d87b85f138c0d1de12b121b91455a831a980836a245cbe463bf48eb13fbb845a97df55422e6fb3b7fbde3daf7e89c37984f89d45b3e26f6cf15927134bfc1dd612b351bb58d54856a3ab13963fe944b22dd400f38e1f675e4d07b0d7b1d459b70a6ae012b648ccbc8295b9b2c0fb09f27fee2c4bdd134d9b4cf12dd254e6857622c0fe2ac8a01abdc3615916ed9e81a3b1ae1b96b5c94c7c4b4be193f45dbde503bf04d98fb5c8cd0b51ed39e4bdea18c8eaaf62adf593f8eab3f9f580e7255a5970efbfb471552136546db18e6d6b75da2f3e032f59e45e857149a1de346ef6d939fc1fb255f70dc7a13b1200eb541fc5b99db0191a5b217252973700e3c5b1f07147b513215a652ed3ffbeafc7f1cef1bdefcab93c1b4adcbc3898ebb62698980780a5798198a7bae2ddd12adf01c665d3763e6285264eb53d1b8993185583030b3eda5e8df1baab69f787d85d461e33ccf8eacf822e262771bf8ab5650f713dcdf9e91e640ceef15a2226f8e45a323637b876979437dbfaeb7166ddb57be5a335d4c428dbbd1e64b3987bd3181d96e56b3d02f9ee4d8c7bce92798bc37a4e9ed51a9c1c326ef29fa42d86f930bc4c72403fcbad8881cf54a3dbfb417c40e258d74ae6f9d7e923df18452e54db78157aff2356932f8bf99c1e62eab657279463ad298c3bf8534e6fc73b7904accb647102de4c1ecda900d96eb1177e267bd3c81cee13f29384bb7da7079cda212e51768739dc6208ddc5466cc8016ced0968b75ac6831ce2e5c72016f7c5203f60fbf6a2862496ceebcbde74a8016733b3bbb989fe36cc95285bdc350a7874083f05ea92167913172daebd8c58f92f3134963b56544bea31ffb9abbdcc6deb83fd42faee3e079bb7ff383f704236b99db8fe19f2f82711f66563b6adc511b514af25887b347b71905fa55f9d84ad76e6e2b4e78e978718276e1bd4efb8c9f6e2185961a9656cd60b5f045c39786eba41f677f4430e53c3bf0f799aafb8fd5fbd87915316f92ed643ae7587fb6f276cf46518b563f6189f8013c6d0a9c7003e6713bf7c36ef1799971881b38c8ef0c90929b651563767191b5e53d3381cc3ed9d7f02f745ef9def818f733056d84e60f4abcb4c8077f5a10e970b309ef0c8807d4988573293b8a96fbbab0f4463d41c0b915e8d86f9f54bfb314e3d1fe8accc3dd111609b127baf12f088ed3edb79d2ea14183b7e32c80773d50eabb5dfbf7eb6a73dfb487b3c56e8a3c19e8ef810a38f06f1080ff05b9f5e876402d5c588cf83b971be5b83786ef5730438ae9b397e801a82391aebe855acbf5d0f07b8871e5ff7d69675d43256aa5e869158528ed66094c46ce832bb89019cef74bc49a6c90adb098fb5ed0ff9ecd19fe173e13ad6d1d260153a843d30d4397b6b3dcc9b077ce7617b76095bb9e0d3ccd1fdaeabd031f4a8d41c7351d94cb0b5ad55e03675d1ffd4460338ed819fc2a55b3d764c3709f2d5a7c92a3c5e503f88aa9d40db0d27752cefafcff1b92855aa60f00e777a9b457392d833c89e8d195e0bd08f17b391391603ebfc7e4f3715b5344532ffde3ef87b9fc4d303e4b746a9f2d3334e740e7b7ae7c1393ac6cbd45fe50310fddae5fd3cbf872a847d8da01138bc51798075bcbd0809ce9776cfdb1cdf5780b8d0abbdfff63d88fbd42fee93099087bdbd797c19eccdf13bd812e775eccf68c398dbf98613eedb0b76705727d78e2fb2d7c286e7e41f9eff64cd5cf1b1e8cd0dedc43056b2ce188197ac2f3abfa86c93aeeffa38f5e8071cd4be8e2f696ca1b38ce553cb596e4e288ce1081ccf5063b1371b4eb1901d4b963ff22b1ae9f35cb28c0af96b36c3468eb97dda47c8df74ab1e8bc146fd71af0bda7a70f37821ebaa9dbe9ee088ebbd83277ddb9f83e6b06bc635d4e35aeb9bbb74e2f6b9e41889cfee355c1faff46fed3225e3a801e4a1e0e707ee70ac867ac752a394ac996dda41c8bd61dd58a7cf9301965c05589c73e7e62534e644e741d6e33a356807590fd6eb70d0c70c9bf9897ef9416ec05ab3701e55333f86eff1836df8836c602fcd7b23dffc699b7eeabb1ed709b7595427d49e37aee2d24e0f3d8ec8536c5eec373718ad4b81ddb7f8234d5c8ad0f3d593f1c1f384b005da9a68f2b8f417bb4442ba1fd962f3450dba1373765e9f3c6fd86f7f9bd33f626ce21ca9810fac36b999d87669ffebe3f65c947927aad88c84a9cf11fb3861f62d9a13c0c96cfd182981ba915987f3af0694395a0d622b6e38f91f9789af222784a245fd3cc62a5eebc373fa797ee7eb75b9df36c3d22ebfc5f8d5109347be71670f1ce13e0d1600e02b923edef335fd68eb60bc921e0b2ae9dbf5b7f500f53edc3195cebb8b638e2f56d5fb005292d62e337e89014dce6b918bae3e1fc46e18883ac56ea4f327c8582457e1bc119ddcc9fdd6df79b667182ba68cf306677426f658ee1d76926b2e0ae0791f0d7f2be6f88f1b66a1c401fffe9bbfa43227bcc3cc6ef6181f79cd3a6ed7b6963bf01639e49358d693fb3006f5435cb17f870e0b41266db8dcb63e5dc7a0da7ac287fbeff9c54f71cbbe8ddcb37ab900e7c13c69b7f7d86e9c1b49b4cbae82583428d6e502ead93d3a7ff6695de143ae32d1d6f86fedbe8ab8c6bac1b46f314c70bbdc98cadcb0f5519ff419634c86fb0484de3672ff09c6e22b3f19e2a58edae75523df4fc2b11056e2ed3bfc275c97fb7fe8d9e0bf7a4ba3dee3fe47fe5781c6f3a096f7eba88bc3bfd02dac49534fb0fc9ec7239a7d88b88d4f9bcc38f317d4f0dd97029235c37618af623577fd941857e4c33996dcaee9896264e16e6ec83b63b710c222dc51868e3ed5b9f1b9e3844c88d8ad318f152d9691adb7d5e8351cd717862ec4afea70b1bc80fa959a427e10755896ef0735c2be29d6afb1c0f77829c897b49b9a2b479d60f96aad63e7677e834f17efb54e1af98eecb61683a272211e66543d86d1ba721abe40db2c6bc8871dad628737ae505bbf94339f9b5cb08e5ed5244656fb5fa31f31076367a34729811541ed7936026e9fe67b7f8c8da0ce38a16f0e812bb837fdab6d168027dc7ccfdc5139ed6a6154d2b7837cf31bba7f6317acdc24c6398003bfff23edf6c85abca2a418c41a491be3ae1fd886c7a1e12d5dc01e7d8bd775ffbf705e07aea9e7ee68953a4c7c15c22220fbf1d19f5843cefc9d8fd1e419221fb8bf96c082cb1d6b7771992d2bf263d4bee6f7aec3ee6dfbfbb06ce7715929e6f8eaf3ac81f45d17ab55cb89847c3fde18233fd60ba3ff246dfec73ba5d75effc218c1735c66171f96e4ffc6f4c00f30c2ba31f4b9f67bd9b5cb63e2b39b2c3202372471ac5505be3c6019141721f21706e6fbedb04c7c3eb839cb722a44c162ab6f316ffab02f90af76fb39d68d7d00b08178a8e518412d5cc256c21c3d137014849dbe98a335e45946ec8d762d36ff7ddce8e256f1203e6655c37c1ff04f7a1b6b18335fae525745f6ceba70f99812392111c2e8c7f86ce3e391f522b5c797a9cf1d434515a026de0d27987f126c29a2168e2ebe25c6cb84f0236cea28aefb844dddb0b9f6d5b95a4ee17d64e3ea7041e498c08565e8514c62baa0799339bc71823a1b63b522b10b447e0a3944307f87d819a34ee72fcba9b8dcb25fa32ece8cfd778d0a7bfc4d61803fea5b323b8ce377ffff914f1fc5e6bcc558684ba3eee40e93b177f7f84fd18442ee7188daffa772fd510c70e79606f64b665438f88df71081bf6f78de25d4a8ec311e5337751921f229ba35dfbfb7b5ca146b0b9f68fd0a8d9d21c56c8ae4db166c75d89f0e1f7017519fdf63cb11783be8b9766b9f2f73d02d77711990a107b02dbafdabbbe7445917875a0ee378a25a8efe376df2efe27c2a5a675cf9def627c115d38c27e039d11e0d71a7b7e1d8adc13f97f8ae6fdf3a797aa7c344b544bae0add70b25ecf9fbd58b387c177b01f932121bd9f7356ada535f8afbb609e18a25fdbd8ec7575d35f17c21735aaca1b9ce9ab55cc86a51cb332193eb8f5a9ac9c5ba42bf037f33f290cc8cf6d62ab6474f7d96d4098fb9ac51aca2eb4d6d4ea040fdd903e60ee08a753ea26a4e30af0af7d9ae8123c4aad441aca41daf063f316fcf7df3b9b2ebd7cd3927b9f5e3834541ac448a768aa61b639b310a7c8c8e1fffc3fbe6b816667bddcdd9f58ea8571eee9b3f1effc9a770ac756d9b7eac989dcd716d70a73ab9daea0ba8d7ece7d5695fd357c05033d7df4fdf25fc2bb64ed3d783f320ee71ff0e4f30b7fbbcf113fdf8ece15ec818d703fd7aafaa92f8793bb7d3666e876d4d11ce2be8f47ab24aa25e8f278bb0e1d819d4babe1a3b64a7da095bf9bc1121db796bae6ede79d7f40becc1b5f90b30cfcc392dabcb1de52d5a7dbc1d72bd413ebb7cb5e13edb8b68d1b594b0579767831f71934f34215b5ecb959f648ac8eb2c8eadef3e018fd65a237d583b7a77ce45b4caa9100a596b0f3861190f756d5929747935e992121614a1a33bdd7eb396c21f8b1fdfc41ff68509ccff98b029de8430823a40622fbcb33db0cd2bb4fd32b0093621b209907d4c5dee6c800a731c832f0818476e88ed6901f6323f6fee798d6c0019f25296f21fc0b36bfbc630546d965ec978ba83e3e9b66474639cc3f561cf4d42defbe97db5b496c8e783fecdab661f7124f253c0b53ea825cc0fa7c189bd8b2905cff78a27b1bff46f5e921d3de0ee021caec43663cca507be28b22d901f40c7eec87888afda4d0cfcce67db38d66ee48e56dfbdbd89ecd145eac2fae8dbdbccef57ed7d228b8eedda8a1df05df13a6ddea96ff3e83376c320ed6c6cae4cb19f5804321765a8af6da6a41d5e079b7bafdef93c355b4b67c0159d0dffa7027976095d864e7d6ccba7f73e27602e56982b677be77309da3c95b815316ff01ecbde1c1fbdca4ef01e09f80f35b2333d06d7852bea2a74793644f37eaff67afe658ca3cd8787bda59dea580bdab1d694dad86a7d6e05dcaf9781a8cfcec0e114b8dc2470f8ddc24f8cab3f2f536fb48bddc440e31b80ac4376ab1a655e35b9b978bf7dd2e0189f1a2cefbb71cd28d4d7180772117d35d895abd0219f5939267df313e32fcf85382ae0d7bac9768011b21ff8d2db3fd8c74ed3a10d86ae8fd92f6e52b84c3971923873312e6e2c254e8cf4f061595c1c759238c061418f91ffadf6b66e827eebedba99d161f3bb19379df52be01314fab8828d7e7763a19842f3bb5debf40830ae1283b29923fbb5a42ec86f38a8c7d03701c7317513b47e48fcbd75ecf2f61f8f3132e794f671bb7fe6ce13c644adc564a34699add1bfe7d5e223f68b5955c88670ac5dfd9a9bfd3316ab956ba92b16f0994c3ad884ab93cbd0b9ad0a19b2ebf6e6fa2187f51e9b03dd4308734aac56be70a6322f310a648bfcf4dc8345655e4d3fe410f57973d15dcc11627499fdb4beafcf4f77d4b21697db54196ddfccd1ce87bdce19ec0fc40ffbdd54ac69dd9e77592826c9a758268a95a335b7f34da3fa323e2b34e65f33c01e0c5cbebcf914ba970cf9e6fd3eeb25f4ad5d2269c750e281f719ad790dcbac49ece2eb23c72c53d78c29c742fad30ea576cf16e36bc56e023e70b5390bc8bf059fb73bc768e2af147b7501736b9e219fde457d7efee8be039f7c32bd92bf3d3a2f2cb54cdd6497da0c605195d2721d03ff1f1fbf39381ffded75bd44d1e71ba23164f2d49b031e797b2f8cbf86ff13309f407c75ea4b205b54368ca177752c2dee102df145e671e545e2b7991f96b9c47b1d4692c40bac3f03dfe325d79a3b63438c8f5a86a29686f731cf1de094a373b6173b8cde609fdfa403e104d81cc9ea2ca3ff91ec0d154bb8bae6626227c6dab63e2e76583cc44b8878cb91e01abc3921d4d1c70a0398256f0ed832dd1e5c2600362bf875486f854dce5340ec6fd2abd00e5c8da5a1ee349c747342e2bd4c48f2f80bf94cc9f8dd3e51a170a6a15fbcb65682e0b71197116b87f1f4c0ad5acec5419f7d21fb3159dd5ca68c6d73fc78ecdce6310f723726876511da497cde9b136ac0a7b38ca7078cbbd6eedda33eed6df7a5fec71cd9175763af9bb38ec62a9192666e5b42e65445b8678c09ea23b1125821cc1971a95fec27e735751ec8d6f03771ce88fcb8bf66d1aeed001fc7f3e8202d3dd827b8c7b322f316fc1ac6a316f922158d29ebce0678518b47bc4821ddd053d69bb10be9bc063fc1e3a2b79d4513d86247569ee56365311de02c7db5fb177399b5e87c6ca9a5a6982b77dbb45130e336fe19281aadb576f856a3e1b94af59297e4a63053d4bf33514baf9b64fc2df2c73f42380e454a7e13e20c7d7e0b31158a5a7e12975ee6a88126cde71d0e96af22fffb23db7365242dedcc55cb33d2d50406d9e89edbff255718c487f5ccd79e71b303d6581fbf389198401093efe6ff1d8f634ccc899f7075c9f3eeb8b0e19c2e46b16be4ad177e5e6c4bc63cac897e873d0c18627d1e70d2c9fae981b7afbd3e80f7b86b6f7b2ee000d33e0f7939cf8ea51e33cd37b323bd51a912d91a1853a4b9f7cf7b35fa9ed78ffdb99f376fb923317e4347ed717e1b9d95097c5cbb1535deccf489a4cd314fe1d2e8b00831c6715b7f4de8cba7ef097bf341cf41ded5f8dfba634bf0cfb2261f39b7adbfe043c7c675cf4c6e3e333eb67a4de0d9c61f01de5de0587438189f2beaaff6bc066bb682760f75e2d5823a5ffb8a6c4fd09b9dadf25ad7a036efcd9272acd5f400181eed6f01f310f1114bfe272d9fda13a1ddf18b0e73e3a46411390b649fae26fa72153b493c5618fd6a9bbb48477edc39de7a8991ecade39b134e1eefcd0ded1452d639ea843cf6075d3fb069d445dc60518d763c4b795589fc88ca630c6a73def6f6ce620dbe969b18d9265c852d16cd905f8d98b3c4f9f02ecfee93d84fff97f85decf2710e7baea794e4458da5843cc626c3dfe9f078d8da57fadb2bbdd7cb1bfd0ff1fdadd7c380498de5c4e9f2d31ce9e416e4c677d7a4435dd6fc6f803e336a8d99645fda4f73e3a92d48b4d530719dd45a71937282faf4e933d4b29d9f6f7bb56cd6e00e7e7b61593bd60a78ffbf1203ec99cd6b0eac18f97f7776246acfe33d121bf9d215f2e1f7561a834da696f59e890b0df243e49fc6853cefcfdd6f343ee4efcc63d80ad9e43f8c4fed8e56141a1b7c6edac49c5fdab1afc7e4fcea1af6876369f2f2d88866211fe8b57ea78127680973be52d463212df54e8689ea3114c2b212b5b41607ff23d934667d423635321de9face362230ef483d5a1d966553f70ebcea1d268970ca33c0d13b6faf36cedde41b990e3cbb7b8da5da1cc65de7af603dd7fa2338eeb6fde37393ee3fa5228e9f2e61eb5fa2ef9d8f5a3578cffc96dd1b796669f9f5b02c2e2e816f0bf9325550c11e6133ee18d310db6bed7f433c581bd96c8cc28f07369bdff14d035f356369392d9dd7df7beb7383fa06e2474d3e8162ad5cd7a0a7075ebe20df465ca2df14b2a522345e6d0c00e6ec1c7338415e1f3a46f85730b6cd1a56460359d2ccd97e8cf1b56ce573257d27c7e927eb14f507b9f6d1efa77204ddb7b729a2b4d1a967c5fa68e2ba013d94b551f6a551810cfdf05477fd114ed370130a21b1ff4313f654ef3b737622727736d1a9b96f676fb113b1a6c007dfcca8583ed9b17c924b79f651c8955e6f433bdc9ca36f4505bb6baca8c6420ef5c9b6d227726587a25a9e09cef0421945df68cd0bffc2cf3ec0279a0f31747e83fddee4634a495c37b1906cafd1efb65966eec89fbba31df6b59bfc02b24e0030b23b8e7c1c63d89c84a28f456cdf84b34139213516c25ea7eb0cc445af8e5934f10c3677cd398e2d347beede29add0d8e2fdba67318c5dec2d7797cd49cff6a67f057ea13b3b05dd0ff98b8eb52a903fa89d8d1cf40305cfa7a0c61ae208b89ed64173286adf6311cb5559c07b347dd46082172ebf48ddb65eac89c9bc5a57e8fe801dfe433ee310e3d73e898b3212abe8fd01ebf71eeba4f339278997b0f916cdcb08ec858b87fb7ae52259c315a58cd60fceefa6ff8a451bbea80752edc4e7264dcc0e7209fbda511c67805c1b328f4342367c62b012ff0a07fa3e0f64cebae19dbd08b9cf9f990df8a2ac2785816b8513d752b314f697e22c920de457a6504f2c558167d2f9974997bea5a6bea8b2678cab388960df6e362e56a17d1317a56bd213d75ad0be1853a954b53867681dc9ac57b30151039675b5b25cf466ab65866bd3e344e4e58683667195cea89df1b55d8338b6dfe4163cafafcdec2a4a56e1e2dacacec11aeb31aadedd0e8b564e0f046ead37a38a0d3346fe51e1f3c7ff64aed107dc9c55d4a056cce8ea58416c574180b9993ea67d5f640d57dfc7b7827c30737cc5352f2d9ec1ae5e85ceadc5ef782e5bcadaac177edf57738cb3a3da09ba5f234bc87aaeba8b3d9df2acc3f9a5b3728005b29493555234f99ac7d0ac846f1be94d3e3e396a50b7795ea29a85962aa4cf64a6b4148679b38033b77df331163c601b10583ab9ace58172a28a4d45e5763727a3ccabe9d864160deefacab554d803aa1b9c62d0074d0d492d9a11b26b7aec777e9a6e1823f318e37dafd18f73a4ee39616ccc4b11377918e9e69cb39b16375c5db95807c95807450b4a9c7d002e55db9e46977dfa5c40703a53a5a8b1f5fdf86cce72e6cee846c6c5579f0b4e12c61d7d78279cb733671553fe239871ad258b8dc817e92a746a41a358bbb2933effb04895e63f773666613e8693a12c856305ac75527f285590a27525825d45df3649ecda34c5ba759a2a56566c12963d9853766ff5986fee88bab85c274fd85fc7881eb9721e62437bed2136d4e68c3d890d35faeaafb1a1eebc9f6343ad2efc7b6ce8ffa9711f4ab15a8c256ad8ae199b12eff1e6a8933e66d0ead673feeb98c45efd6b4c021f276beaac1f7dc767e7ff79f1ffdbfef9ff59e3dbc87b934e916fe99e8ddc4e8cea21e631388f8d5bdf4703db780bf727d71969a3f9dc0bdbecf5bb3d3bffcf8bffd1b39ffddfdb7d3f3c076c0d8dc5f898261d6c12e0d440d711b6e28f3e77b75e2126d2db9729b10ed1bd32e83be0a07965ff4c083b74d5ee3b34d8b51f97e171216d9ed7df378906bf3b1b367cbe5702f7433a7a594e056ddec59ed0354a9577df9bfb22ddff832ddcc6aee2b39bb095630c637d121f5f213eb95cc5101b300d64cf2edcf32ef5f918d9fa3fc487fe762dfb8b73d078fce51c6c8f07ae69a0feffeb9af0705d6c8ceed9ac0334479fdc234d41dfddf900e017103a10d9f28d0eb8d3654f7c82d773fafedc3f4ffe436be6febf1f7c8cd7b1d057d7400cead5fd92e8e5b1834575bc6442083647dcc76868123fe1dfed1cd24ec339c90ffb8b02affff961cfe7a458392bf190ab9f3acce4e625c65d0c9cbdcb579b784a35cd8410f9297ae6cd68ead95c403a4356a70581f1f8f43c89b759976bfd9f80ba8b0517a25a5e806f80df421d46a7b3c006df3e8d45371c155745fb78774f65d2c70c808b20c5bad171dd9822f2638f6d5c02e3da73cf6210307e89c94c7c85d9b29daf7ebafc10d3e8af012c9f1915eeadf54dd28ee3b516e532d8e147d60dcbab62da3d5e7113e7724fe0ab4c9d70c06f74154de4478d917dd263dee03d79d68961cf64a298dee0fd2c0dbd5b19a2fe44e3f3a5b167b2f64338814f3811ebf9bb84e567a85401a358db5e0f84c159e223e2771949dceadbb12274ef1c9dfb7a0dc1dc7d83b9133eb92fe13bda387fabd34512bfedf6d5259e62bd7092db561c3a3a1d785c408bbc77f598324573d40eb3127213d51f7202968367c74fde096302a902c401d0bb01e7c85f65ae9d08c9c05e83bc3987b31311b5bb0a7211e7cf13b180950b63a38d7359c5e7d96a908b1aebba06f5e6aa51d6f9c4bc9cf961f4c7a673c6026e43a4e791eed52ff09f5ae6a2969ecc91e32b264de044aed9269ff7cd51cb4279e2b72a54e76f371cc0fa05fbc5d11b60153dc66b33589fdac7fb7e76bfceba7cdb08adb5fd02b8364f22bfcddc451e015711f7ca6e88debd197a37cc612c2e3f323f046c4b82d3036c9dc236d794b8fcf81566b6ac7dd4ebaacbddaad6ff84932be07b3ec3f819ddf330e09cb9dfe12bcf7b1c4eadc71b97ebbf62a7e3bad09e372ac5bc2c50afd67180f81afd7e000e9668ead559da716a593b776f40fe15e0fdda55f4ee864126f132aea35aea99ad06270970808a94c829a05ff6f5b0bd183bb27eca35f3882b3bdb3ef07778e757cf81b1a4e48e4f09e3083e8ca7255cf5c4485cbec3a9fa15d66fcb33b3065eca06dfb6e31dd12bccf38cdb001ccff05d2f452dafc4654ed9d6ea0cb1dc18d98a255a2f21ce2bdf620ec6650ec79f70ed75f355e221d640e2751238cdf21f7f9612c7d6ae1c5303dc5c9f8b90fcce94d10ee9b9377129b05e3549704e57942a4c74f14222474763abb676b8c7e9a558d487505fdeebf10af805b9561e15e926995eec9aa601235b636324a3dc1070871b1ffb93c5f544bfc09056ffbe2661cecfb2e0f771fb9e2bcbe722828799ba381accff54d432b2c6e5b778d4d4e39c5bfd0a53753dd361dd3fcba7fc1dd66c97e77f72c8da220dd936ecf4f098f3d6e473da890ff6cff4ea8d00ab265646c2db0fdc134d7bed36c6d0609eea0f989d22d76038423d61d3b6ff5d8e2dd5733d0974cfffb3ed30df819b0173ff8ce43042720e5d57af318f3a6a332d57c0c909dfd1faf5e0bb8dee9d2826e01ee136363698c71dc3b64f84b07cdfeaebd9ce586b1abdd200cb78f6f1267345b939ad58512d2345a7039f3f5e5d7331969636ab990b6acf4df2bd39ce5c8d9ac8b38f91ac4513f9a453eb7a5b6cb4a844f69910d1c1171fe7be491d9b586fec709fadccc6dc8ca61139e636bcc7b46de64b88b95777378cb1ecdcbc641d3bb34be09ccba9600648c6804d6d33f7f9a2c39caf26a73391f863f6a5d1758b3f23f102bb578309897962d5c0d30ab6995f3f974d6097e3bc8f91c28c59c04939cdf1ef0a6cf2cc3bd1a1644c910d78552c2f97c3b2522cfbe27001c6b805fe2721b72aa40f856f37a42b25a1bad8df20a6c67b69e307658aa55fbed412c9e702d924deacac36a38f6fb18a2ece893e88a38f746f8e8f680dd85500b9735f469e580da68adbeb4dd643f6781f0b2f14638aee174a96f0ee71d9b768a2f9925f913da0581fdf5e18a76ef839514631b27558b8af96468e59c63eaf1fbf8cfc623536bd37a3c3cde8e33f3ba42b9119bf7b1c958b6687f93131471fb96cd0ac6396b5a37e423c55390b29d6f51f2cba0e5d6fd57921a954ba9fd185c820dbb140ef5988232197d57f690f556c461f53f794176295a55f465e8834eb2be6a27246460e38bf745e88f58ac48ee8e7c68c46fdf28d647e53e7f7377d4fad4fc2af31a585b381fa016c45a44b3b39f4642fd6adef6dd43220f2411f704d869cbaaf758fc0eb2d26056061219bde0d09fe6e9c6307390babd00e3bfcda41ee2dc48f5b6cda616e7448ec9d54250dfb69181f3d532cccf587e628ec1134397be2d0d64b058dbefec475bed7e87a537f048a19e592d6f295eb177f91a7c81e3799d8175f7392a3f73b091a9d111ced653316850279248f39d6e0df877718a7c07b86f18a3d6ece3ae1e099e839c52a74122236d2701aef52d7d42f22f43dd873fadea4090ec523eb7377cf5aac628732c61e57468a39be6f631b8bc4358ea82ddc435b2eabd089066d2170ef456467615c850ea3b7cb3d3dd1c01b82f7c0825ab108ff5e9d231d8cc695e02822fa15cb9d54b1e477999bb37b95ca37550cfb2d7667cf8c333f466347e46f6b736c1ff111ebd5592168742aa9d43bc40bb8452c2e77aeafd10c1a6b18f391f1d39813dc5573d6877da939ebbeccb7b8b371b4071fe647dcf8757d4c251eec2a1a6a6cc2e358e6fe6ee31b8c11ec293af096ff686b84ad9ddff11f946be09889203f4446f63fb6316819e9a4a5def82a3ac65fef7c8402db215574754cc8d539353ef645aeed1aec0d757193a2057a6fc6318256462179f089daeb2786dde1d5039ef734db137ce27b6bbdf85aee62f7bc4eeda48c25febef69bcc4978c577dce2c795cffd0a8694f7596175f63bf6affd133df4cfaa63d8f53d27640e57d2e260fde69562617caaed3d5f1a570cae15806728baea91b133f458dde980dbd2e571f9c39ae9cca9e91cc70a91ce2c278a49813c47768bab02de25b2577209e77907224f651dae96f680fb0fb2ade12c0af6803b4760e9f6587824975be225ec9b634e00bf0570de4669ec369c9b8087d16124804d95618cd0edd539af6e5f8971eddb0f580ebd0dff781d2bf141f084afe0ff23edeefca597ed0e02af1ab6f9c935acc4239bf5ff5b6d8efed8e1c37f6ffdbdc6b8ee18b8a33bd91ede71e6367554c67dbd5cd6e6cd033e19e46d1c01fbb5e30e318b0e9bd30d07edbffeb6fdd6c33c2829514bfbeb438c878a6d7a1a6a6084c5b4e399013c0decf3dee16eadc11fff0d37c303a793baa886b5e7032c8f97f26a98cb633048c6ecac8072cc498dfad4ab82779c6ff53a5ef4d20ec4f19771ef337e5022c8809de5988b6f8c1b8a7dc835f0c545d806e5204f0578c6d077ec43cecb4de7431ec7607fc175422a2d3f5a399f213b1b640b575e14eb03e692cf1bd52e612b249bed6a92eccd4984fcc2f67bcbf3e86a540171fad7f56add5a6b6b6b9b398b71a196d04793079c358c55d1e3b019b97f50cbf0e7fcb5ed85c46e931e71057ab964209d40b18ab583f8e666348c5b28d6435c6b8049dee1ce74785b0466c472e7229fe7859ceb6c12c1147eb5365b2c8fe133c77f807349a3a9164fa6e330a99a5cb1451e4b4b5c9bdae2333ed6cab6b9161d9eccabfe1bf2ce2d9afe330d5654fb3579386f93d5637b5aff1df21145b508046b82b9b207f60feaf3dd6c880ff250139cb96179eaecb3197d8fff1143ded708b86e0b0938f56df4fd1d6330a594c4c7d126a1bec5aa6ce762971f726879f4b839eb8576e2ab4125f1866bd3a8adc82e04ac8808f08ad13a3b3d8f65b772c7c1b8af29b28f6d15f9408045d0cf59bc379f2a8c77f1c208e331e3b8e6dbdec82b2989230bf942bc31e07210971fc3bae565defac32fe7ac33c0c13d06c0853bb497dbdc28e03cec9f3787bc19f7c49e21a641ea7a8cbd8eed776e923a1093ecfcffab89e4a7b9436bf7625bf2ff85b635fafca15dc03390796150dce52f5e95d1cf6b7dd8b620c518a0bf6d8f1f03f6af965e1566e2425b16543fdf7e58f7bd3cb13b3981e6f3c1a2debe9845e43cda23fdfaec6505d8a3c0a1bffc645fc682ab676b0863a96c865c458168e514de3f9cdc1c1e635548bc9eac12e0178b1a7c8b3606c012f51d64ee48b50a9d6ac3445787296f76b2801cbbbd6a277b7532423ac61d79015a1b0d5644ecf276332672e66b54256bdbd17a76acd7a7ed48e26556aeedcc9d5137eb1c5c2595ba211d27d1f997b53c5632477b5f337f61a9d3cc395137932ec7726478be2617f26ce5f9bac3cb73033ed7a7852f311ef259dedd91137b8993b923ef4d8858c6b15689cbb3a30dc4013e699ffbbc3aa61179d5e7688ff96552f7bc8b1dc6a8bcea93722ba8153c39d6ba16c22274139692cc55e031f149385d42d52c33c7f403976beff7f19fa27e145fb3632170c1d51d6d8fb6fa19dad63ab5ab4fd8d315969fb7bd39a14455004c9386f3266fb8e9c34db85ab9672770f93882baf4a54109672a7366f4dab6761709bd0fc356489fbfc476d672b27e3ec7baa2a9975cac0237f1bb5ac9fd228f2d75881fe8544f706bc1e76a633a658573a8c710bff1e2fc8a7499c81bae1b53e4fe4535e40689eef338098ca0d507c608a242e134c0a46ee34affc998e79f75e3acb0d42cdc225f4fa3afc00ba39695c8781791d7d941de396f6750cbac46789fc1da5ef0ef92226aedaf4238ec031baf49a2c6077417bcb7c44f59cc6dad13f1e6e9d4d6b254c4fc13a76e2c74c823fe16ab28554e14bdd684c91ae9a659c1ae35bb9635e0a698dada945e9fe44a9e51ac38b3a9b536af566170ed7227a13ec0f8f4b9e02656592aaad11f2f6c6c05ee8839492b8712b5622a6b1fa9581d4b7926d4ab649c8ab54daf359911b5cba5bb0674eb3497d4e88dfcefe5d82da677b6a177719ee435b472570849ae6cfdbff549a7e55a074c6eb1a619910b6249a398b5a623dbfe3fe5342e65ce86361f663a2d9f224654cb58d17446ae85e280f94e13c08fe632d687f119e02584771c3da3273512dff249f85ed7faff88bc3e05ee49f5789121a6144d95993ee4b299eb8ffb6dda4713d7d2919e88445ebfadeb8f42d4d218bd83c4ebdf8a896c5916b80695d3965e6b7925d6f4493475b029a45aa607387c5c5089b5cc88898ef4d1b75c1fd3bb771993f61ece97eef0306a72efc43fd1aea59667726e4acb08cdd750d1e6d5862b478ae65538ae77bc34eb3af046bb155113920b61942ab38f6485f397d2964f52e1c7ef629557e2e3bcac446dccca9a305e854e2e722b24ff723b59d47b5346eb8de938feeed7c712f0d6709e514d5f95d3c71f37cccacde9e3ddadcbf3a66af65af939fb85ec316d8efca5d38699fea7985eb24aa8cb33592aaac545e40b56e48f2fd7a4a46dc7ca6c5e28cc31974fc2db9e4373b2a8d627f6226936bd498ef946f3d05cf9b3e7a8c9ba4e4fe83ded513975679348e4025ab2a2546222a89b70d56348e81df4de13b1a633318932410d32850b0ac592a78ae5fd91b5b4564ef448ac0546a90566739673bf8ad2cd48fe564c39dd6b93485ca239817c37ba801a1078d75e97617ca90beb9cf291a2eb972f950ea4e596f57bb9f92dab45a16874806c5f7119dd7c2efacf57e9b019a79b9f1895939437bf12609f0bcddf2f347fd572b2d2684a5adadd1eadb88cbec5aa28245e20e31507e07618ac1d99940719dee39bb69cc099cb9585c4dbd99e2bcfd232caacaa1c4b73e01b6ec6dac35cd82170d61173790b734ce2c758066b5e85fc687996a70aefa1b9998a6a70514ccccbabccd09cb7936deb572dedcb9e8bdabdba4a31a7ecb6eaf354dc8a3817af8377ef44ccc1a5ccfa30073fdef71afa3ffbdeabd1653fa363d8b7d0c6109fdecf1a5cb19aee72e8bc8aa694647b11977aee86d14d5c46ac073962cfc7d50d33565ccab9cf45fff3a5969462c9d95ea38a0d134d9d1a726960ef04e6b701f1f7297ab658e557e5ac3f9f2b338aed7217205e5c168a29bf37733351ac8fa962ced1dc2c94131df473f323b75534373f606e7ecde84c32edccaae913fa24fbd7af82441c1d63ab2ad09c85b8b4c30563899ea61b4a6e71dc1971e95d5cae3d67ceeed4e08ae68277a28083da3d5185c465dfde99fa16997126563945ccb99994a4b7bd39be08219a8b32fb85d6dd798d74d19b709a5fe56a5c096149db23b9da9cf326874f7fb389da7e6b4475f9e89bf3b1abb1df4472e6f3eca74ead57ea639c96883706f14fb10a8febf90f956a3576432a17c27c067e4762b018ff6e7733cc498ab19dfef7cf72c9678d40ce3635574764eb502e55de7cc6a8b6c0f37c4c91ce8238974565648d85c84f5f725c78238ae08f46fe59897cbde901e9352226ef56312b0266db307608b966332fc5bc6ee3cb5a93d37fc03f1b3ce38b89ebd6067e8d23f622b7cfa2b2bdb56ee384afb1ac9efb3ff12a74fada227c2fa8e9fe01cfacab8727cfd7462b03e95d2789af8ef9433b5a1c28d3f8c10f7ce82faaab95d09afce8f33a6e7286e835c6bb6bd702c6ad86bef253e71cb57b4ce37f181fd266a91eecaf173ca54ff6bf3bfc30f099cdbfe51f96e0d72a80c32f2402e4304fd077b6dd63db43fe613ec4bf2271f978637ae870421ef6ae8ffb0e0f96ba595c7673ea3c463656eb53f8ddfea0cecaa65e6f9879b27a511f62ab93dcb602c9b162d011be46075242075ff33cfeea79204e03ff62a4437da85d4f68740de4b99118047c817460a6f032d2815917636bec42872b19a413dd0575f512a370f905aec5e484583e7d3439d33689d37c15b53c574e54a154c866413680017d27ce3e325785d833239dd7b47d5e535e18e4623d4fc1c798d18cc4dbc807807ca69778eccb8f14f60f5fe2b5dbc8eebcecd5f2226aec4de42187245518f86cf548246a696a3281af18397c4afccedf2438dfc421f68ef72db63591efb6b7d63857cc2aa72fd71ec1e3dbd494f850cff9229fe329efee4b8ef3d7d8000fed19f929e04d2f7b39245a0dc77fcf9d4772fd379cfe649d494ae4e84d437fb9a21d5578131227807d9b5373bf6442bbe62af642f27e71bd4b80ef226e785cdf909fd7e33ba53dcec7f981a7fbd9baad07712fe02429c255085c5c57f45d5185acc3c830c17f8cbbda42c0857d2e9f15667ec171c8a18fbaef6c5299edb06e1ee6259a73510a3951ddbb4f2f8d8df5c75603b0f57ed4fb55de62633ce12880f8288becda060f8302fc15a6c5eb3154555fdf5cebf3e626c6157c2b1edbb3039f17f9eb67f9cf4fefe155f01edf3f9de320bb2e14c2431ba77d82b9f9031f756832ed187c76dcd948cffd0b87e46118b30ac8bd4d07e4e5474aee4bb9e6a2c0392d831815f27dc147f74e652fc76779255659eaf6710e34969505397a2487f4846de39e3d663a92c9ebe9e19ebbaddd7b8138d803bf532cfe3ed7abd775fc18781e5b3fd90d07fba5cff649ef73dd9fee6710fdd6ae21b2e6f8da707bc7ca8cbea235ed8651670f0ac0678139b11de4dbccd87873de624eecdfe52633044e6db5f9b9d681b497aaa73cc6edbda1160b30273adf6dafd181729aff71e33c90b485dfe58f7365ad98f3ffe4137b35eb55ffffaccb4723e6ca18e9e49775a97b6d7ab1552a97f82825ef0fb50afcc4951754067b7b6a59b7f86eb656d444de3af83a32e6726bed4fb01fc42aaf147efedee5566bf4d51cadfccd08e2f317c0e9590ad97e80b5b0fb6d8d47856cedb6c663a3796dae11b5d18e7fabf120c72510912c4463bd44fa5dffc6fed72fe742f5eb3c759cbb75dab6b958cc1a7ce2232dcf84410eb85c6f1ff2bba4d850b5dfe7615dc559c47498ff61bb7fbfedfba8afbb28d0d8e1fdfa6dd9d55d9ce4b2cdc592b579d1eed7cb9a4c894d0e16ecdd431ee2b15ed75e536f77ac379a0e7610fc7f12522969636ac8666bde1dad2178fe7124427c0fddefa31261ff7d7c59d73857daab26861e15c82f3f431f2cd6b16dad4efb05ae79f4aa72a4981ee409e8238cebb4d3e84993433056ac68904320722b743f641fceda3c7327296fee48c8f4bad993387fdefcaafc545462ef62b93eed7923775421dbd714c9e97171476b4a084b65783e9a0fdb50e22fac44e79f9291069295fa5255ea8acaba16bffd96d409f9ff4a5159cfe1a6993ea36e56782cbe96456172d14d9a8f59899eb832478d2c358ba4aa5c2b2afb85eeb142e79fa89b15e79e339fe7bb649e3b3105ffef66b0b74443cde4027f6e0cfcb96d3e77dcc769a54edf14ead3b516a56fa9d34cfbe575527df9b35de49eb5a051fb39d4a6ee3a8ef67ceda39075fb68a9f9f4f9ff5924315eb63bf5cf7b78ce82ba3955693ce51ec1b908103b6ef150202fb8a967dd5adb8bcc450d26ceca07ff883846e4f8e63299ebc967b8ae580dae8a7541e7b5718752e2a85244b6541fb7f9466b75cfb3b53fa3af2d1f1aba7e57e11c2cc0dc9dd10cec51ccb7579f376a9f03de98de96af7b7c0f1cb318b31eecd10fdbe5a813986f8a39c179ec38ef4b96cebbd8c37277783ec4c5c6c877c9bc13ddee9320dfeaa62c0572bfe75bace2ab58d31260b5d1546660d9d63defa096e5a37e7b11c35fea031e2d29149adc94de07447a09c6cbc8691223c652edc45727853bfab8207bd79fd1c4f1e8bf3537e0636eea7907b612b51909e87dfafa7035b82996e1021739c1a78b7193e6acac7d646e35dc9b134e1f4857de7a2c9b638175e09cd5bbd8d43455ea39b3391d914d70eb6b6d8f2c8e3b5e007bafa951bf8926c47631ae32cccb39928770aea65dc60ad2f9d4f84d0fa3769edcc43bfe69c5c2710f15738065b61ab39d2dc8472d26d37d5f40be808279742126e9a3b98ce74faa9c684d9c09f43a2c6809f06887711e725eefb571b5d6f4f42e96d3c593515bf0d875e371bdb75dbd2a63dd18d9ac69fbdc5ab2067c48f5412ddffe65be99f54726734521cd88cf0595d93555402e31e4d2400d0bf2f55fe5dac5047651215a0d2ee4e982e6422276f2447843f2a4db8741b28658ab1057d604e4e77d8bcc9ac5b57539bafebdc1f741637d22f0a72096b309854031ed0b921bb83fb76c5babbee6ec440fdb7987ce41f7dab2b266ff8fcfe5247e127a4e266b762a2d3fbec5aabc8a5523d3c2f1f03d6668ee8dfb76630cae5c31c7995d8f19a27d38e60f6db12fa2d6e07521fb0bf76ba59c3ed2764e13cf49566761bae6867d238e00bb3d50d5c1fb10ed80fdbcf7bbe3ef2d66fc700da063802d47f8d6d3d4ade9a0c3bb32ed8b3ca35897c431aba952e6d29bc82c58a853aa87f3ba69276d326b5fd1d01c4de1bbc84c33399cb3c8be5d853625687475589627b1cae13e6bc8d7ea9f630337093ef6308f607c8ac0098ffd9a3b3739a73cea5f980bddbd7c2347cff1156b47caff2e76ebf6b211eaa9d0bc17abfc74b0e8fbf35a5fe12499055a23235cc32227ab24fa4f9e65a957e3779796866b57546e69e877f1bd57918c2ee1bba4d2a9a5d135ee672c1f36dc9cb5897eee6d7b839516f6431ce86e4fadc161ede23583384897c3300379df605114d486192319474967e3ea3141ea9cb71747d5ab355a03bcce6eab20966a3486d100aba0e56542fae900b51ccfeb881c623d36baf43e7e40e656b46be20a7bbb271a6395b67916dac7bbad15e30d33ff16ab087c52c7c8034b9b5edc7a02feab3fa32b891fc3bed1f0fae84dec39142ad8933bd181a816df223325e5e74d49c6909fa0602ef89ba896d4a1e560c7fd366efaedb60a6d8c4765e457cb2aa7223f45d7de14755e62394eb1ee697af1b90c7d2239f5269c2e6f02f22dd479216a173806d70f6222c712fc9c533182f7e23216ad0111f6deba3d0d824b85c8d7b7a8cca8e9f7835a0a48267e8d904d52be0be147b839cdb355259cd1a7702a42fc39c69f093abe6045b514dbeb540e5d2737e74df1e7396b3ea9e6fc22eace0fd1f9cd79a74bf3d99c7fa2f06784db21c4cdff71e909a74b29215b137f7e359f53f47950a34c7dea8bb6b9ed68ce16c580c3fe34aee5d04edc5351ca272f59851027823c76474b5fc6e4a04e6011b15f8c4379b34b2563cceb78836bb4b3fd7287fe1fcb5c79f197bbc2ab2fd47a2667fe487edbcc3e327fb4ae37a72d258fa86cf7582b4dec07068e049ce3eb8b63d2903b6c3eae8d3e8e8a7526ed3146e502660df0b841ee91c72f6a6fe4dfbc64c74a8be3eb3c6eb3b1b797e514f3884faeee68c739fa82b32dcc91765816a193c499a30a80d7d6b6efa096bb1f7c89fe19337c5d6fab3affd3dad8039dcf45299ad758ae534dfe49672f96782f7141215bf7c009a06b0f6a193b8f7c104dfdf980cf72608fea6a1093582e72889f2d9f28023b32981e38e106f17c35a0fa7cab0525ce841478f3609e42be393af70ff1fd84bf6f8153f2751be9583a7f06905f70a229029f2470cfe554489cd4055e33c8876bfc663b91a1be10de8332eb4f5fe2e6056a8fcf35f6a245656ea2bf1e77b0292816cf19bd7230d6642c9d77378d67478eb59ad9c0c118b3d27215630c26b6f95c349f31fe5cae9b4fa3f9bff9cd97cdff9fcd6fa7f90c9acf5d73bcfd9f6e3efde6ffe6fe7cf3fc45f3fc65737cde3c6fd9dc6fbe8e1fe7637995f8692b178093a4a95d85bafbc3b2ac1cb54cc08e9d51a110960c92d3124fb1805d5c535d6d2a1a0f91589f8a2a004f986fad632f9904aea9833ec35862ebda67d8aab9672c25c1cd1b75ba0c8d3970e511bfd11c604dc8479f94806fa5b5ba0a6a2d0287a1913ceaaf49d6819b4c6efe7c156ff555e031487615d0eeff17756fd2a52a93858dfea01a1c40cd94618ad2ab287dcc04524140a9c406fcf577c50e9a40cd536fd577bf75d71d9c755285208866c76e9f2702ccab1e136b93dc13e00c9201a3aacf815cf82589c52d78e0cfb72eb93167636a1d16dfa3d568e76d8f3b01db3c628032a60c84ac891fcd6a641524b71baf25f7dcda5a456baf5335c8878d75290d57ccd6dcea0658582727dbbb9b1fc3c5361abf0c4611cdfb5d1a2e9fad39b546aef8b3e6e0fb43c0d91f84efd3cf3571d33f0fd67289f74a8165960ef20acb0c0530d476665a20a1e4776ff21d68dd16cb1fc5628b463fbe52f6db6ccd119d2598b371b36e3e7d8e07fcc3c87588ee9bf8b9b608cfc84c63c3fb3abb669542dffabd9c6259e3821c6878e30582d109f90b02702dc119a31079f4f0b9380bc03f2fb66ba918da3b712f1f2c36d5a53155b702fee5c687e2e7ae73e9af7518eab9e0cb277fcfc9dac3760259c3efcf0083bbf3816b7fb46d07041bb9edefcbb5bbf65a8b2f0d7c862644beface25d71e6264d4716978ab4c977caccf7d68c0fd215e839c6736b933dbe462c3cfd9f0fb917dd3e109436ed49c1de1339bd80a65bb4ee3769d02577ffdfeac033f4a8dcf50caf7b3589075fcf77b787ccf3747bdaf3bedfed6097621b39bb3b7aecf0d169866e2f720d88d700fe03ca625a9a9124f5003dbc991dff6fc177eef31b22e49983bf16ec49686d9af216a4efee0f98a5c9b5ab76d2c7856346394e830061939ff9245373f9a77290dcf79dabf771eea5d93f2e779af86cd5ec5fa9f41f65469b8a8dbd3f85e8f7bdb1796f465b0ae6ffd1958155867d7dca1fc0d6a4a1f32c9fa0847ab5130525318db4e2fc27a5feb8f9b121d8896cbf504e205ffc3bc7df69818308e8d0c52430f7496345753900d4530678fc8baf4f669a33feccc2cd34fce03792ae17d76a7f43b3e9d2fa45fed3bea52e73fbd357202ae078e12787fe074e8ce1bfc9ec44fdfe842424a9d3fb0e64ac3c6f34dc9c764d9cac7ffaffb796f630ca170805cc2e15a7286fa31ac9fbebfcddcb6eba17946d35f813ab36bb24ef45e36de9a75d2f5a1595bccaef76f17703d5913b80d32a6267092d6be1b410d3bd121eefcb7e43ccbab632baf405ec2d9368571076c70f14e9d51ed7e25f2e7ffee7e781de360cee6a8aded9540167c3ebd4bd9ece5d2f06699dec8945dff4e29e527cc2157c8ede5cb9af37fb44723d71e4d0e8a3ccbd639ec19d296e9e7a08bc3dfd927f4c9ba1c09dff184451e3bbc5f42cdfdea57b3e73e237c6e4bf87cb799a5a0fc20a8038473e661b8873312521acb6e82cffe6fab7a50fed80960d3105d3331bc55f0ed30b44e91ece5ead4eafede83d535492955dc2e70fcf473a33dd8fd3a1fcce58fe1f02ddecec93017f7bd8bfbaad2183c201341f7e9e44e235360ac979d6e84d74f53832537756f8037dec611288c113a3e1747def61c8cd42292d364cdf997665c7a7c90c7a2d5a34bc38db3d6d70d7a97f53487529cad73724e20899c1358777a6ff3c09c4e9ee694f2f366d3bdc4347ed494373cb5b3dde0dd8fd3eedd95bfc864b89fe86eb99a406e5e3a8c4f01a669f7dbdff5b8f4c9176cf30eb63ba5414c80256d767a6542ea513bdd8e7a5f2671899ef127b00877357004b8c0377a69fc4b78ed1464dc9d3e6633e0be27feebc8621d6c232161c0ad49f26ada39f450a64b63de70b719e5537dda8bed5e12d5d6aedfb563f93fcf059ecf711b1f0019d1d9cc8f01bf41daf01be0f53b328e50cfc452e36bacb94e6ecb04d3018db0edfba407b7dcd2235d22fbeac976f984b919aebfceaeb1462c8cfb8bade292754de9f07cbbbe757a4c1a3fc2cecc4ac38d86e7adcbf7f640b2a075b9e29b7b95c724ae04dc5abf9c61ffbb3e63347aee2f67c5ff2b3a0532e39ea345f20b3a975ff3880dfe4e77f8f51c96494e22d8930effa4bbfe976dfd9767fade1dae07f4a40fd3b298e8d619a51b4f8173e28d0e0f76e05fc7096ce3c5b99d8bce4764f14f3653dcac8338588a4c81cf9ca7f178a357753afaa439d7df9c3bed7e7e7f06b5bc1c8d0f2bd5f0ba87b9e9631faddc2272a4ed17ac1f5a3e9686ab66b4bcfb9b5c53f2eae6736249d62cb165c9dffed333d292defbfd99869ff5e2bb78d67792665ce8b315de4f7fafafd032858a574dc8d8916bc017d1c8cc46d703f91a1bc04df2dc7e5a0cf460b2877f59a7f667f77bbbff9bdfb6ee8b2eb7ffcf734ec97041bc129feeb3cc4f7bddb5f1456ad212fe617de2d51704eb285be6f695706dafc0afa35a6a467dc6bfe37fd09eff989e23c9c66779f96ebfb5bacf5e7eeb4728d6f924d3a44d61d4efe4b49fb77a396587406e26c10e3fbcf597a8891f77d7777918ed1ea0d6e09bf588e6b49e7cb86b6689759fa293e91d97d4866059e039fcd58fd4cf9fd1eb8ac7ce4f4662ecddb874f85bc745a3fbb49c0944b6acebac1fc32666a859657b5efcd128b9d9e8392232d38f561e409ee9abbfa3343cc88f6ff6c4e6c7b0cbf3ceac34ed599794a36c9d3472c69a9edf9d379a756ed71ef487f6a9367d1ae33eed4c8211a2b5e32a424d396fd671a18b61f1f2ec8593adf309193fbcf72cbe509a78a2928483b5061c0d641c7e0c53c996c730c13297faeed8bc43a25aca433916ba26a5a553a7c53a897fdbbf2f7ac737d6a7a9f7a0deb51d434533331e25e5cfde634a9b7b8d150c6adb3baca8ca42e63d711c750932f2178c55e3b8f8e37bea2972f133b7c02546e5c41686d371ab6780556ddbe73069b15ccea4fd13d3e439b5f7011e61417c71cf188aab4cf336fcb710df34daa7228df90d679fa339c43e3bfcc3a04e7b9ee8014713d4b6103c537b9569f2b2dc9955c38fb9f9db3d6d5eee433f3de5553e088696575747c30bcf91997efad82e97b67124391672c5dae7e20d709878cb73d8e91569495d077ebea7dabb4727affbf1643b5b44664a1feb4bb272ddc96a868eec0fea6aee944297952bb6e510975d0d9bcf5a5cb13049cbb0c5b2c3bad29cfdf7f37db48fc1213eda3210e25a33ab7ae063b0b3e77689dee8ccde7edff869d6cfcf6bf4f7d5ebf722b393483fecfcb91fcd3cccd9c5cb7d9c1387f9ea6c133e998761572ffdf1bdd5d9b055fafb626f563364b116967d34d6dfee69ffb4b60ab2d87187574cf01f5a195c128c0bca1f252bfcc0672654b75e3fa9e2deaeac8a26c6cbecc037d1c98f3222bce99d8cd0a5251f09704e3cd70bc686c5de8c3a3e6a0f26d1eb69a28be7c6eec5dfb157ad8e6ba3563e94e452af1325d108ae46a14bcb1fc3c17bb0c75432dc45731f839ff503f5c094ee4aceb325966f37bd6eda707ff3edf3059c2979ef57803338b9503aee3401799e545d1e4e5877cff8a324978766f6bf4566f7db51492eac6656c7bd5919c3b86cc7079119dea1c5c62b1b1cf3d6ef7cede6614ef4171feb94905bb32922599dd0759dc0afe6a84b4dde506749daedbbbdbb8aa16e6b58974afadde76fb4ba440cfcc8c457f187cceb148f8bdbeb0de98fd6cfefb599bf2bcc9f05bc4a6520a8bc2e15d933365baf2b77efdee722e0764e4ce9482febbcaf416ef1940639094c69baffe89e7eddcb4c69bf3ee7b7fdd4d8b563bef51fafdfd4d546f369a2343cc70d8e930b3542997fc663067934dc84d71793977121f90c364ff5159ef9ee39c882e7b8a0579ad5ea1facaf762df5792a7d4ddb1f25513e7a0e4668d3fce76b16f4b10166df2ffb0d7208d6a7cdf37e635ef6db8929b7ff646e9a7389e62b306ad89719d49399d5f2f53dba6ba9769eced211536ef27ff07c4a063ef5e148f5417acecb18d4b39c1afc30b3ea38f5026e92efdc880d73310924fb43b1be4ae4128e1ddf554b649de3a5ccf24d2e74ae9eecf3c6b5cb6f2eae91eb7f6c73fbbce3ec670e600aafaf9fc3e0c876fa0ab661c2233b6f3938885ea4bcc79b9795623d0a21d7fe49b728f493734792c820e7b9f62366da396bb0f06e619e9d76ee18fa6c7176d1e2f9fb1c5fae53946952f10e73a0cd6be9e662cd603d6a53d2eb18e44952d588d43a96943e01cf73a47f3c46674da475c986c7cc011cbfe27bb479cecfa07df8bfe65447021d3701dd1feaad740170daf0f850b1ad424266acfe0df3a8971df8fc389c0763d160e3b9a48ee133129ef2478e743e6487b543d57f2b4dbee6207ea06b12c94f5709465ea14be0cf81f1b5ffd9f87e120e9577396115598b83b1afceed7cc25924f5f369e5ff579e97b6cf233214e661f58fe6c1baf858feefe57b5bd3900d6d127cbeb6f148c2090676845065ba8cda1add92d23fc9b8fe1fbfe7fd4ce67f7b063cb105d93bc82cb1ae93a0067f56975bdd16de79f1cfdeb984d88e26d9fc70fdf14ceff725efdac6a29ff2f3488d35f83388cf78097dd90c6cfb6e9c164e067b1b64cbb3bc49af91374b7d6f9bd94fbab8d6b7377cd7ce9e82775e225867e2a31903e11f8f41b2783306d373e38bc85e6b5448fd4d5bb704ef24bcf82a1ad96c97dfd05ec10c6c7518d78a27eba63a6a0b31d305950998c2b29871a2ff8e574cd96c449eeecdb4fce69c2bb6adfb7368366cb7cb195686eb71807976c98658d2d0b7cfd7f38c2974a9c38d7490c5267abeaa912b32a8ad65161dd312aa0a7e3ba95994f33f83dfe61707114e13f01fb45c916d2d35f127fc850b4f74323d17efa1544d34492969df42735e5574fb61ee700177f9e7edcbe2dfdbf7d88b26aef0d8b6358f374dbe9c02894f7cf74ef4809caf7dce49d78988d7ecd977990fc515795dbee07b3e6ccee1ff0bbc9486a7e0190f734ab02fe75f174fb6efcb06fbd2b7989b5b4ffe8e7b69318945e35eb61892d22443eef6a1c8518124a756086fec0979ea4391b737059ffbdc2a0b47cb4497972d87501e48fc2d4c2ab6979b80017dd974d86f76e9ff25df199965bd4ccad1ca3c9f9175af5749063c9f7fad151e62ec3dde62ec79cb37187bcc63956419f96dfa58d1b5fdf2f21c26e5639514998e65ff633926d84b5f7ff389dd08de239125cfd7513a0643ae034cb27a880b399e86c72e5fe0f606cff18a7511a24b4eff655804fb504dd0cd9833eceab8acd6a69f07c7aa6ef52ebf975ff380db66586e0749f9a359e52b8664be288cd1a6f5799fb5064731a8d3a9315fdc35b36cb12363cd2c5b3cc60f90cf4dec08eb33bac9146d9c3fea7cd0531a03aea995a0b1dabe1aac361f8fcbb9c71d8c193cc7d17c80d1c000ae25b6f19c0be399e9b4c112bcb53ef7c88caf5acbb52741bcb3e7173cb269d3764adfa3244ca259178eaeab0f2cf6bfe9c7bf0cef2b57f3f13468383183a4ed43c847495991b9632ee17cf2d084b8d65dbfd0b990f2233e61ae9a4d8e89e4ff18667cd1bdaf42cbc3329cb317c0b79b5f1843a2b17f365d6d263d3e21c17acb8d536f23d8b978455ce7b32c3a3fa7c5de873537298f922a31ac25b77e5c9266ef90f712a7bc7fbcf3bbf9b45ae7cabf0cf7f0b33cfa7f9647ffc34f58c2ad25a753afce5a1f791bb39fe8ceb4dc5ab82d76bfe6a6ed1a62356979f6eacb48b5ed029fad84e32bbc6dcd0c62c90497c33efb753c217870073e10e25c97c232825c95b4440d1e5c746279fcde800d47e1fb04358d05cafc079c09aa2e92d4c282bfed35264563c92e1a2cd9e73addc15a2a9ed75270640b77b48dc027d9c563490e4590a47f1482799c68a32ffcf96388fba10c6baede9c2d1ac9bbff0b86c2e13fe3250077f1b6085ce716fdd7fc941d6f4dbd045c83947759a6d51fcb37dc81fdf940bdcbd3337e89392865f0606b83eb7053e8ebca659276f8dcb44f4093953f437f42795628acb6277eac3fd8ce18e0e79be9d5f766f7404edb18c94df3980fd26796077e3c2e2a034e8d83f9395e0a55b27327e9132fdecd7256ead6fcba7ac2b85b033e9c439747cb23158c1c667d5a9e837a32f84e031fc5560df07d271407f3e2a14953c09d37dd09833c95f3dd7bf1cf382e17f7d52bb7eb5f799196f3b0c26781365f8cd60260714c1a4c8e7fc48f64b9e2fd7fe1d458595ff78e53c3fa1a2d9fb9403ce5aca484bfe7d52eebd6c0aff5cb2d3621ad0ff67b981ff29b52f8ef78de4147fc9fb825fd87664ef2068fa55ace0fefb89ff098b7dc4f15deb71df71370f42e9b3df7d5723fe133bfe50701cc12d4f2990ae915e5e2235a5cb26fb33af798211b7e27007f0b3e43cf80792f6fb33045b7f0056f31caa2c5ea169c564c78728e91c4d7afd8f7d5559796ad7c2d0dd73e3fcd491926d96758c7992eddcb08f71170fe2e8473f4b4290906dde123a8e3a63ea1ca779efa88e61d0f541948e2e073c8651fc83a03074428b7353cf83be6dec708d85a4d10abc94a899ccbd1332bc05cda37e74d4478ee2eefea8bbabd436ae8f95dc70d1112194cd520ee2cbe68396c0d77fca1498b2be92f5b18de85f06dcf8b9be1fae748004e8972c73913fcee0d0fee479054c04fb37379367c14b5e1366d0815deaf0c1567ad91cbdea21cdb248b6a6f56b19ea3223cad98bd7c3ffbe6a4193b16db4fa4fe3599401b868bedeeaf3fbe3979ecbc22d3eaf203f57f974aea2750fb0c3197458b0d18042cc91fd025877fe58f19f27a1a848f08cbecbce7a053256c9f1beeb4189c737dfb1d0e4798b4fdbf5cd7dc980f9abe37bcf3c0ad68582c43e32feca9b9f0cdb87ce28cf8f4b92af33de5e3c9bf4c6129da5027d5f8f2a02670d772e640bd2219df3537fed4dcf135cc9d4b30421922f52a57fc3ce4a122183980ef1824136a2ed9c1ef7a8ee5d886ef648a5975dc989178b9b6bcf850bbed8eaf41ee8ca3f9a5eb03b135606df57b61ce67fa69557ce736bf9c17844ba2fd2cff133e9906abb5c53f91151ed5e0f7e87cd29d3de329a44f4215e3bf818f3ecf6e91b7fc6c9fa3e0796ae6364c1abe799129c364d2ad5dc3c4e724c417e3764c20f6086b6f4ab7cbfbc0c9d7ae0ba6c97f185f519ed5240f127e2f7d6fc5b435dfdd6717e4e39f2021eb5c37f119defe4df1d49b229c85c148157d77757e192b0af30def49e09469fcd5e1912d809ff6ed7932ae9ef8ed2a8adfae5cd6e9673467196cb391b9069e2db2de6a82418075cd56bee832e117d55b3ffc6893aba70db526cb82d409f66bee373e17eadd4f347f1a96a96ff6d17fe65ea929cea3febc25fc234dfff74ddce58d0ce9f57ab369a7c167351e5f1f0dd718bf3e5d6224fd0d3797e9f8570c6b707fd69cdf773541b526dd879c3c820a6b4249aa4ff4ccf132f0afd171d4ec0391364bf25e5b2b92d55b90872fef37f077789b1f2599a991e4d4beb7bd8509e8b804ff485ae073a9d6accb919c45cffe2d18abb49daf6f92abf0112655c7ff8eccea11492283ace2467097f11904b12ed813dd592233e0777cf625527e8ecc7017c3f8630e6d953d8fc0e63348fc3ca0f6f6bace4076d1b2818e57469258e3316ef2c39a7d3ae683237f6d64019c4bf00eed7926a47f14c066047f2e638c2e9cef562c025e3ad071d2809b6470265ae7865fde79809e3fe73ffb737642ee1b5c5f74bfbb1c396374697c6dda8874697b0b72fb43b1441ef2b54e2d2f762f83f1dc0e38ec85aefdfb9ef887af46ad767c5dca91ea63728f8384e8058110c33aff8b5efeac7b639db1b3cd5a9cbf77fcee58c7fc66b686e56c6f3bceb95a52f68888edb20eb86dd67d96ff992d0de724e74cc2c7330fbcf80f78e017e4de5135ddbde5ce8f6f4d1ca35e9fde62613ee31de27160356ba8c386a75f74750edb16618f01087af3e6f5fee4d0719f6be6e40779d9e33d2e27cdd94c64528f298a6ae43a1f8483ab8da532bf624ed2bcfa7d1b5817e747418665f22c0b4fdb8905b9184bac6f5df19eddbae271271c06f202ebde4a8f4dfa669c3b4c56aca74ff73d764ae68ed4682fdf7b4ee9217e7610660ce4b2f763a1c434160db9bf827dae404ca22278354d8e2ad8f39243727da19e44a56d7bc847853ef538e245c8b41c9431b40f7971dddf0cc129755758a63c145985fcf601ff2b9c573df63d3227a9ef6de34616c1df8677c1fb959c41f9368ea44577dddecd4e41ced708b01157678affb040dce416e636af58337ec08d213d73e9d81426f7e1a626fc491794dc77d9fbba560abac65f7fdc6fa8be276a5e31afbf8d9bdfa2d7df6a85fc7612d960b4f9549274f8cc9a3c53191dead5a37ce6d2013c5e3d195f694ec3ef51aba7139b509137879d3b3e2033bbbaa36d64b84e1089cc003fe8b775d9f9d3ffda160bf1d8e034e85bf164e7670db7d91af2edde605db4f8cf6ff6e3a7c7f224e78fe5f72df60bf25647df9b65a6b85d59f3e2a64bd9752739f5cedb7cf86675c5b2d21e6d6be48a975f756ae74273d6d3fdcf34c0661b9cb3587637faec76be93b212cd2fb73537e5839ad83f36972581945d519d3e20d7a99e403f2047c4e26bedc1de9a7170c9f9d6f9ca3f962093a734df1be01eb53ef36f8ef0a2ae1315cbeb3a129432e0500e5c7727a584fbace2b627f92a99264dcb107868e29b0658cd5b3cbf37ffa44e77b23addb9ec69dfc4a1f49a70f8367ed04fe4a12c386d3e9413de8f5f892ef13902aee4a2d6a50970740423a6a0edebf0c410dc1fc067aa2e08eb39109f72e2e045af7d892d953ec9177f34d8cd143f997d1ec6aeba31039dbae7a77682a5c85cdb3181dc43c8f99bdc508eb03efb07384afbcfd397dfad821e5f2c0309c64bc3496b70f647342fa8b8049fe1736fc05106b50997587b308921283f04effc1278042fbbc795ce4506fc6a278741def22f3e32e5a02497c1fed1ea905792f027a8b19e43741acd2c4f4a1251f8e5504bf1a31cc7c950cedd615ffb66c92bc73be476367941ff52867bf80efda8819b210e4f9bb6f6208b72e71acdf9e33abfe37bc99a3533beab5d68c747065c9c76beba580f3ab2ac26907c21dc8fa08eaf1d6701c903a975090de65323eb3a27f3d1ac47a1ca499fb2cfb09e605b2a0b4f50f746c9b4b8d4ac4b1a8c2e774da23893b05d6766507ba54b3e1f998762ef45e79d5b659ae4c3d9aa2628a76b455036582f70466ad6e541e2ee4eddc4263afb5493966d7c6e3886a49d761c1f1d0717f91e648666158faebe5efe3aa3a4e77c5d0af74a83b54c614e4b8b9fc13862fb84d889cdf9ba3944d8ceb2c631604f71d915cd2fc740121f613d3b7e73431f62872945cecd2472518e3c05f24c9aefc8bdecac462e2abeb13d9b9333dd96d50ce5d918307a38b1dc3536a7e6b13192b636f88a1afec39db7bcfa272747b903f211722d5dfe8edc09e8bbc4ae871a5796d474f5f567c8db1c287be713ec11572d7dbcde5cf18420077fc3fbc2f6f36d9f6526fd1e6d795f48db777a84920818fe583f0946abcc82b50d7b9a6d78c9cf4f63f26398ca541fadeebe3bfe9792c05986ed9481dc1adea3f2e168163771974687515994a32c4c4ade9f57d00f4522e369984afacd39bc729c1cf61edbce59f93267fd7cd501c733d0778bfdf4b9b808247c168e3f5c96e51bbf04d6b9629f2b79b7998730e76fd102e44cb477a32c12660cc1b47a790f2c238f3bf6d2fab118df5dfd0cf06f3d16dbb907685318f8f69b7bd45b30dac21cef5d31055edf762c4edb5b0818c759896435eb7161dfad8d4e37e1bf39624323b3eaef3d1681e731edb8c448da109e61fa3dea9e6b7138ef8706df72305e74ad4d31e44eefaf0925fe8ef51a9fab6e21e7cc0289d86f617d68fc54076a4df20f64c3b90a98a4eb11dbe6270dc6decc5686950cf880ce2ff3ddd6cccc37589ec581543ee5db347b6ea8735fbd517b6df5323f9ac7829dbf739707fa3a1a13afe3ef798ad92173d2ef79e0c6d85ca9f508796d7a4ecd29f83607d70cf4d368cefcab79e77d235bc0b6c3e7033287631909c41f1e02a67a765444fe187055e97bb307d9d3e52fbc43847bf7b59f2b7c3ea461ee5c4127f0d48926c458a6be7f7f621b0fee339ccb533b7dedb067154fbfa15b983ab1cf1d8043d5385d4a3d7b7e076c4f657c6f4f7d1d10e1ce4fdfca0890bb2b36949c5aebf7c12d94b1fe327918aec3fbee36353967426a611adbb95620ee8080ef95ac216ce3066937d665bfc77a19af77eb0df6019963212d60cf8bdbec5b069cc74fc04f24676e230f5b990067863590eb666bcf377b9fd420c01e58836f089f6d2cd631811f2990c42b1a3931e26cc06ba2654180e5b5c42bce825d0e7d88932caa67c7d687f73c4e9ad9faa80ec5de4545908b25c468e8365e6c4cffd9c6fc4371043d71e5d8e05f0b464eed73f607a92b638fc0e52eccce86a906bec97e6c4c76e7395518d5e704f013b24bac7bc54c778a7df7bdecf34a56857e56854828cf9e78bf7a62956a75fa4749aa8b612a67dd9a169a5885fe71167c8b71e4728b0b4a1797edf1ebb276989fbd10879ea4869eb4f9c1d7e9d0d6b9304655e80913f2bd1907c87622b7667e3c8b27df59d34249aa9361e27b95f3525283e55c8cb43a4d7439e5bf3935435c765d276ae88955e8b25518b25568b34ca263f92d391cd41a421cb14a0cafd1591892fb4b8d5fe9e70ee4cd2b4998e85846cfcf895a2be5aee5849e9f134facae4a02f5048cef66d7f05104df0ecbebe294ffe6c81e029f8d75a664439520372a82e3f9a42421d667d37512266a5d1581546588134be8bf344e74b095b7f1ce9d3cd6d965e2794c193dd8cfb66f3a5b259a244e7d77328da438db4b628dbc4a553976baf3565775b49d22896fffcf426e7c8ae46a1490ff93c8db4e7727e711c9d56327f16c206da7e0c395b793bdbc2a026f567e7bf81ce659c4c553c4f1d72017f1fff8cc9846a36dbe9757b7bdbc627d2e9e465c560672350946cef4dbe5d9f084e5bf33d94b55b1e39c69e0f23532b3d04f785e5f3ce7db811dc77f8f188a5364717e1e479fe32fe02f12fa394226ee6357dbd1cd051eafe75c1b524f2f16c1a9e3a91c419d61de8f756f270f9f8d24fe1849223d8789369f7e380b7e618d2ac974e2d5d6abd616bb15f70bd5d98e2ac316b7aa6567bbad57291b7ba5efc5d8778594d44db85516e5e215ef49c8cf95555e970ffcd63c905a3e414995242d370f56d404e5e689f77f2b09d4beff1beaefc4255cabd44aa9249b4433abd9cb9aee71a3bbf18a5e9f5deef0bae2aa381cadc02e5c53dc76bad4ecab9c29c3dc299187e2205f65ebe38cd717af6b3d3839173f77ea7e9c8ad39bfdf7ef7fd6d732d104678a5c768abc788ad759983b97bd8c467b199df732baecf0facfd9f85bae8e81575d02af2a8253758fe4eaee8faafbb75ca5c88da668a4c648ae6adfdd4e496d50f5d84bec63bf883ff6d245f93e556928655324cf703b6928cfc69a357d273b6cc3bbb46be0a6cda7bc27f08197f0619031fff68469a1d74f72e1591ee4ce0979f19d5a4b374f98de1a5973c3ed212ebb445e1669c994963b374f1adf9e65832ef7fdf1c4b26f47646ecffd7f952b6cb4c7726b91becc6524650ce0dc746be0f0ba06c4af7f70dfe6cdda190f653696fdf2f2dff8bcf84e171737e3234fac465aa2bcdcdbe40fad288ebe3ccc9dec3bb7cfdf2cbf6fe2207bef41ea05f545b6d8da13db635511bf83634f165b47b5360c6f6e1d5edd2e9cb523f2e6d62a527d31712c5b15ed0c3e73fa62b5b73267b5491d93dccf949b345b6f1c1579cce0da932eaaa2c7aeec8da3dab87db83e51e2bdb0e0f13fc3bb677bc1e6f7029aaa099aaa47768af7f35eac428dfcfd037f3fd8a92edf2f7b81e1f7c294df0bfc747dba7feee7f729fe6778e4df7ecee036e1df7e3efe977164a7c6718cff269f4f77f887db84f355bc4c3db1fa8467c8f8f3047ffe36bc2af4e40aff3d6dfe86cffb44296d261637a9b8de3ece676c03eecd14eb8fadfec01826ffadd462a088b0f66feb81af16db1762fddde06234fb7a20fbf5647c7df69703ff1be8c3939ce0fed0bea88cd7e44da9d7e37f7b9272d3a1ddecea7bea4417f8d04fc6ffd66be01c7e91e181eb30be49c917819c1d7abd79dd27827a0b8e05d95789f241fc18f8dd4b82516f36b90e829f47421b0f70568d7f94e4729a19af2fd4d986b958d642b44c91176d6635b317f6c7b759cdec056fe1f562a7d97acbf22b8bd98aeb5c296dc7319c85b3b7d9ad69da13d9635863bbb03fbcbada98a23ab31971e9b19161a75babfd2daaabb9c5b02bbcced7a95d6e587e69da13d163568665b3a2956df796cd2fb65631c66b7a9356c686b9ec370cbfb26c58ffe4f9e9b234495fbbf6da67d875b5766c56d83a6adbd66cb03f9aeb76752598f6646667d9cb6f565dcd6df6cd3d49656eed4874c559dbb6ad8b5bd55954627b8d69568e956e453b5bcd2d16efb5e1efb650adb6ce56b198ed7ecb3a333bdd7c5849255ae9766f33e26aebf0339be585ad1da9d6f1772ee63e76203e422e3b91b85f9904dcf8a3593bc9ba89051ad6e4331248bc48cf78b25e52122f325c275862d94ad6125e6bffe83ec2815012ee9ff76b0bfee9a2c22b39b60fc52b126679305220ae12e43ca3487cad48598eed74e48e13fdb4ba0752c66882725092f493f6356f89cf84f6d9621bfb895f10ec1813b991f80d7ec498d1cc7b1298ca4f83f1fb400e5f04a755169c564524651cb2a6c9ce543e00cfaa8eaf46ad9e004731498bcece94262f71bbde9745c6c324f9455948f80f5abf428638678c3ce0956fed2a129f58888c612ddaefeec108fa730b8ecc9dd88b2a1b00ae10f81e18f08f7219d8564d7ed43594f8c7ce83f1f9d1eaea7d7fd8613f37de3632bc4dfbdc1ab951f62d399d4ee98e36257298ce960d5c91f1b978065c11bf73430fc77dc8275168b53a5592f48afbe3d7e0abef6b342c9107f9f910791f7841b3127c510fc895791e479a8baaf507e1fe1f0df380d72bc9d7b43ad99f756345f4998c8cff17f131e478ed436c673046c8534d64b1cc73de68346792bda00c72af822383f599b381f5f9ac026e357c76e949fa6f4f64a79e1087c683c7e7e6d97d2c2e6b870d960233f1cc7341ae9b96e191b9ebd214fccd3ef0eb2fa654ece7d337cb9f369eb0b3d85a7b30952e2f7994c499cb8951cbc3ec5be33be49ad5251f096989ff579243b21ed1f9eb5f037e473d77c6c85d9ec39ac4285a5c80c8cc3ef1fde1a3c37abe690fc09da1621787bb2e77b98990270c7e46b7e33c3f47dd197461493ca3e3052b7b5e0327588a6cb014995c3dc19cfc81be0376d9a5ab4fb71abd5d939b79e300af08f78bb42d28e7be3ddc16d42cf3641cd284aa15ba915a2192e3d2ac23c8fb21fbe6c02f6516d615edbb6ff64216666a936bb455492e6db34e07df51fa87f7ee7e32eea8ad25f7362ffc5c6d2c837036203c8ea46d017c64cd59bf015e6e9a2f15413dabc20fe50dc9e344de2a08b2614c9c8e1305495abe395b806b93f2c7d77ff3c7476e85e560e075390b2c1bc8dbc26ef7e0e0b7d52d72278cd1fbaa86f3200c6529353f27e46dc979233975173b69e596e794919499ad7c733927a27274dff78bbd649e45cd9b0b72edba7ef5e7b301c8cc1617d12e06fe4b210e90595d3dd0433757dfdda6f6c929c197278d8ba6b6f71870ec1d6270fd1abc446ec5ec9c56dead02e4307c24540cc1035c41ede406cb386abce11d9bf935ac193f781e604d3432107fe7757e05dc47c633d352c9898dd370895c497ea59f773efb91738d84f267efb66b36ebe36cddda8fb268d1ca4fe5fcae6f58cefe17fbe68afb42ce0cc853eaf33193de2fdbc8f5665f940d975d73962665a5bfbb0e6c922e36c006a70de41fbc5d67e0579fbcc99f8173b9ef2bc9d1be47de36e8f56ee0ddaadfff76c906f250643e95644cf2dd133f6fff0e4f10577ed5af5c825749f98b1a3f7eef3fdab99363203b29f2966705eb3c929f6866c6ecb0ed5913dca0b62650491dd33e9e0fd4fd075fc6f7a08322655807ba45c2ec117933a8d541eee6e07b9b4324c599226f6fa1c096904b21cc6e2899c58a54c5411eb1be1b657af275b0392753a4edcd6ff28e7da2b75c15daff250d73d67626f0b3b763cc1a2e91953bb3df3b1486f421b22ec05d1b78b32290da9ceef4eab158774578fc04e28368394f52c8f92378404b7e47f2e900dba2c9036c74de4bf6ed01cfd163cd555924cc8e0d864183f7f99603be20dcdde43e7c2efb0f76f09d9e6cefbeb76590a75e75698b6d3b0699b35fafd1cceaa5cd419fffc655e55df875dd9dcb4ff97dc0b3dbb5a32455a65945cb0d4df22201af828af73f716363db043024a03614702ba8791d0f74f910faa614df23d877b5e1296fea1e011fadab73540465286369ddac7fcf1acb0c38cfbccd5939dd13cdba5cdd918af58b08e2510be51c42ee4155bb0f31d21cb6e1af8e87e3fe9bbd007527a0bf8e91cb6661ede77efdf73d4572049c5a9166fd5cd5e3349444e0390ef2af43244d0fbec4de10a9bb256d735fa5b2500d677138f89e9a357b300e24e09549f5e4eb1cc2be82fb0e61eee4c853b3205f659af995d03233a2d689dd3e375333c3dbe0355462391bb8ce632f57c7bd7cbf7972f8a3d7443f22986769e31b99e8fd3bd0df8f49dc2539241af7eedae7b96c6281788ecc32d1ccc31fc3a942ff54859ebc2c94a42af48cdffbb983d75cb6699e11d469d9ed4be04aea9fafb395b017ab44afd3326aafe9dfb1f193c0fd59906f2ddf65b38db722322121ef82dc496ab85d9b30d7f8bbbd8cf79e7345f2cadb795bc011c1726c2fdfcfa4bdcde0f9cd77787db3709fd8f5037f5f6866c542fd65ce16412e32c148dd9367fbdd3580639bbc7fae9aa0c7bbfbc12e020e4ef5b2732731d6cd3cceb922a1e4bbf7ab81df0e72a6c2faddb5648d773e5dc1071ee0ee73ff2e5d4c08741a2a8f75674e681f3e60c1e2b3b5f75f31159167bdafb7194bca2f8df54418cba7efe0f3d1f736e09b1bfcded977ffa40e137c0a905716e6591c9c40a6c6040b657546ee761fe562bd73c56b242fdbb8788c757824f29cefa985ef4e98f0c10edac07664f8945f1a0de2ad0bac3f7c526d7fb4589a9100b2b3c163001984f5dbd41bf5edd37cc8effb4338a60739444d0eedf768c5f89eca848f22835c16f89b8fa15e11f2b6b60fcd223ee97d639bf4f640f6d89ed4db77ee5cdfb44dd7d8647bf390849c5322925f9d195cfad1e028c1daa2f594bfe5e49273cc6e6a24d3ae8f6a82ae1af559979705b6453b1beb95d3f059afaf877e602abef6928bf0a4c337fab22e5fc0d659e776d962cab6be37dc5f8275ff6e8f220662fe9d8fe7dd1eec716af13dca89010c667a4f4602e41f9811e4f1d1bff5f7f6dfa97cc327ca62d903f6ef30c77a39dc278b18353e71c8af60a3229200e32d0b4edbe97e713f37353175242f8ba7b68436a78eb233fff4f6fba678cd53eee6c2d4f3ecea73158b24e7a149ef301132f019198faf8fa5d7e50948863b2d1d8b8d75f932cc893e2dcac0756ac4395624ab99efb28ff5a9e00d6f593a47d6fa76d924e0ee67259fdcc8fa39246d5d84f38a1dd062cf611bf646c5778e61eec49164131f8a9096bec5763a548b45d4e066b6180565f8809a4dd630a7672f394c5d76fc2fcf2cffb5172b662fa43f7bb1ba6a267f0accea6898ea3c1839251266d760b439a03cbb2201dba4f681cafb38a8a30bafd6f70392b25491b35b64cef0190a396a58cf08243e46025f04f9aa8cdc6da6488bc1fd81cba7784d19b5d2fb20e6ec2792b207e035d9221b497c8abc2d7e37c0250a9af8852d55f1ce1d1f22c919430cbcdfe7908fd7c4c572c3bb5c03262e1017973b373a47a29aad13fe5b932637dde2cff8bb40ca4e3b7953a8025fe8943db1c57ab2bb62ecdc861c03e87b7df8b33e41ff0ba366ce2e5b8d7487f9d19c2ad1b9b46c62c71bac23edbcc38792c7e5eeb4bc2849c5f8ae6ab6181b6dce7de4adb24da67c28d6a2ecc7c679b4bf7b2c9f056e067ad4fa34e30779dcd2e1c93fea5f839c57fa77da9aa8e3c9b68ba16db969730d20279fd43a400c1b72d1a166aecd0db28a6c6f5dc69aa036f68dfdb1c3ed4b151e574649aa5bbb8e7de0a552b370e494d19ca7fe2e384d9a5ea9f92f036cf373db8cf481d6e317586ea78870ec03f6d2b770487c1731c8539e9f1d6b66150fde4df6bb77f3db3a4d29e5a3f9c0afcf3e71bcf25b7c1e7babcce3b26bc83957f0837b2833465bc89b7e910f5641b0467b99d2edc341fd591ec72133ac616ab1ca106d57d5780ffaf9e03bf672f586320f7c322d56b14dfca0cb7eaef821fe43c739c3f056dde3bf12ff2bc1fc7d9b67272e21cfcbeae7abcd19beb9ecf36f039f17a90d944a38cb1cd89fb101f8559e7f7ee9af5919bab0b8eb0b3178f9cd618a5fbee7c1f73f9a755c1086cb9cadbab2c06f9c523e81beaee0e5b7668f156b16fc365d5cdd387e611decdf1ae85b942e897544928bf79a3b973b971dd8cfc0994afd866dbe43f15c574b703d97b45fe099e3f2b0a3f3fe16d3a2f1096486f5f569d7efedaca18f8bb937f73006fd2c711603f6453e31a1de51728eb87d5d1af798a2f30bb3aeb15e54f2d693af1df656def9dada73b1363cfb6cd7801181f5c2bad385c44ba64b7c6478cae7e09da471fbcc7297947c50573fa0af2c5afb787326f52415c59b30fe313cd88f9fc8622dca96deb4fe0b3b6fb0021a7fa02e6ff8dfc78bf81aad3ae387efaa9ca9f9eefa8be7525f4c095719ed6b109ef1e026744e4faee6e520b7f3e977c861eaf5df068f10fcaa973bd185361f5dad6db6e2f7663678fe4ea06a652587c1b2fc57bc8a23e48476ef1e09031f4aae1e2126d66132ecc9fa06dbb2c3eb95a60d678b1328397f5de3df05351afa2a89fe0b3a3bf7741df415f00bdafac19e571eb8d0e25b8b5501d83da01bcee23077ae910032b21d974fcdb579fa73ff2e0edffa2f5f754b3a0e82cfd1eefe0607652073d3a1ee486c4fbb8d79484efde4cffda32da63f10f316997269a61f9af80579b24b61386fa81ef26783afb6c9bd059dbfcbc79df241ee8c145939e371f32d360892c9dee3d40c415d66632b4893669c1b5f7bc6460d6e57372f8ac4e78ab4283a7e5fa8dbad6e9a59ddf4bca9f33429be2192df3f5c23f918c6d4e6c40bb2c547e337c17378edfc10ee305e3be06a16f84037f9d013c7a996947ff4e450ecc54be87917de33f9930efc3b9b5c49d252c999442358188f1d97dd0d66fa63789b0fc0c2f062e27b6ede5f4dfcb3d5c625814713704ba0dfa48f93e9fecd7d7bf97eb61e2ca98912e22b60019e9af94ec935d80ee86bafe2c13c7e9befe77167d2f2a4f5c943ddd559139725f0e33598c921c52ded34184ac183b5005f8ebb14e19c37b407cbac93f8d6f7cdb922193880b36f89e8d95bf023dd9fc6614abd33de837eae2da6f8f762cd6d6fdf2ce49377798f6a827ef47c58b7a1639d00f743aea62f673270999d7ff039439fa59a5959f05debc76aebc1c4656c582ce1d7803d3dcc4feded6fc0f179ef47a3aeeb7d5f0a5997b90d355e6142d98e787dd3e3369fde699cf8bdd7725d5e867ab61c9e23a1c7a50c1e80af5483ee071c8bb01ecb36a61dd4fd3cc2d8cfbf1aff3d15ff72952efea5804c24f5e1faa9a953cd5b9ca003f9be91c52da7a5e136f217e44cda611877b83342d5dda33d16852e888f37be89063ff1902c85d968e76e999d306bea5a6724a62628c57ad4e03bca1b4a7f277593868b75e849e2bbc43f80df0be27f66c5f471f0af8ac861850f937be7bb2075ee13d09129fdf10498ef043fa9f3fb9198213566ee98aa55b0896c5c3498f142a476f74915d66f2ec8fc4ad4fa72d3ea3051242c0f67176c7b288272d2ead86aebec08b64035558e151b00ceba931a90b313266a9d7eb6f893c89cc0fd86b32c5bee4ef09f0cfad9eadb0bfedb046c137caec5581777a8bdee37f7f73e94a7b5d07054d1eb6a49da528da398ad4c3f37adf1433b756b0662b13067d2709e438967f03edcb9786cb22bb6ed77805d54dd82d157a9c851fc6dce2ec148cd1429c3fa540c67e0697988a4380e92597be63d9484aa958475382d7bacd298d49f2f6cde237155c2ffdbc705612d065c85750b326fd292aed54fbe474ca213aec341bc43659deb8e9bdc226e4cfb133e602e39fb47ad95536b8f7ecfd985b6b00b7db1043dd37eb0f15eaec6fa62c17f8f20df1bda467096763afc1925e9a7e2fe051fc6b944a0573e2e5017bdb52e0cc4841a39a7799b67799ae927a7e31383b83ca5ff818e43fb272de65fbb7a720b25e7dad54b025e7a87716910ceac33bf142adbb0be4ad362ee3ae8198b4fe06e21e7bed5e71b91bcff90cb52e4a9336c7f6a56f9a9791755abcbd29ef31bac7fad9feea17569c3d99403bd277fce17c0e749bf2f87d7127d73d7e6a2b876d1f3f17571fe11f1b73a9d5daa89c063d99d9dc84c3f1da8516de4db68dbaf43393cd367ae033186f2faae66107f8fd7bfef56c5770e9ca173c32daf7ded525a629daf8f2514ffd6e546074f9725bdf69049d7ad2c2a5dead6d2c7aeae9860f4f5618f58dee7c0ef077e7ae077142617e4ad1ed81e25fe5a360b472bdce630ae9e6665203927dfbd279ad9ca81c927950f1f2f85be0f9b53faf1cdb10ff428e8361b3f19e06d155d5e89b8b92cadafbb2e6e7e96048312641b9c8d2e9f228f29438ecf7d4ff9d8d44f351342d5e211499a04b581fd7b8f085f7458ffd25ff3bf68ab1efaa374797b0be785a54b4476d8b958849c93ae4f5bbe3fafb64ff9144c97e76878dbe95ef2e9f3ecb197abe75874e7d70afee6e7c776dff03d7a9f5d0ef237d7337e8f5cb600bb3b8973cda4dfd52e74a99b5ff00546127f5fe7154fe704513e06dab79235fe76fc7f6db8e3271c92acc4fdd0c46901b95de4f9e27f88b1b77a0e47f81aeef1d24c3fb16cefe78065b04e39f09b9c94c167d0dd8eecadd5bbfa7d34b90efd2aa0cbf141525db15e43781214da5748ec8ad32ac3eb17897c82bc1563780ae4ccbcb1a77a3b3c990cfcae7bb9ca81a7cc564de02fecce9b98d59bba534f22ba09b2f8feda5a99fa27e55fcab1c8d6b97f8d2431b1db7b818796c2a0612b46e7c2f2f9d99a556019fe8186b6e584e494357e1af72527efb7b84036d059cc325104e513f2673b5b96d41ac37b36e712394b26c37aa344193c4fcfdffac0db1ca9d6bf43e3ecee356902b992d47aad019713ce1b1ecbef91efa9d7f7673cb95733ab5e27384571988fcf4a8ae240aa8a200f0f7e2e1e77f58c09ead935a859da770fb1046492bc6f9213364b02893feeea71ab43d40607cff950f2c94d77a99880a0f22f798ade06cfe343ab9b7d936f9a5cde03e18215a7c0b1ae794c975bb903bbb1e7d9059f759357b0cea9e72dd432e0563f4a527d02df1a57e2f383966fd7bd99e2f5c3869c23d8c7e9399ab369c0ad084654170372c44022794e9aa0a63bcf4fb4c63717e44e4d707cc839d97d1edae0614030989201feb7309dfa273550043ed28e046b09ef09bc76f1baebce7759e12361c2202f6636e45cb946c0f337fe8384f8aacb4aa9585fc53a6780877067b155878d2a513cfb1e9547edf6b95b3d2f875322c097dc9c957c5b4480450ee7e315792a9cd5863b6d70eb20aed0c856f64393d2326c64a3e6b1b71eaf363c77d799e9aff1850d999f44972f643d3df0d9d3c534001b88e826932c4c63dbb2ef7cdf6e35dca3affc5c032cb768cec7ee681badf371193cd800991326ccb38b2664d13086dc6270f1a10ff1a555e827d3622f573d1f00893b25101ba6e39cb232b80ecf0b85277f5092f40a7e5ef35010bf1f2d63aaab3e8ce110bededc79446e85cf417a0ddf683982c76c9d0fcf0b526724b6bad5f08cf0981270c1ddd52dc8b77b1f3fa3e1110e3907af97d4e3f03c6cf86f8ef6e94f9f7f1fc49cc2dcfe786d7790430235767e5b63f7a63dfa1df666c6b7b2d33f3267cd62fed5c44912bdc17e4342f6e927046f0eb91b5eb1beba380cd4d292b5ddf0046516ee8b3fdadec2542c03e1908432b6c5200e9690dcd62e6fa0c73e92d362ef3183fc37eff92cb49833d8b68952bce285a565c05e32cfaba6017b895dce899ee24e23c8eba0c69aace982d99bd9e76f35f7802f67b101c472a4571be79b1349eeb1cc3cc7f6c521ae18c85b5ab7c9d54464f47c5b849c980492338bbced0d35e7d5301e7878f17fafb9dfb10301a3cdb95c3dd3cfc9ff582782fef571766ff5d8b9d1958c0925dbe745aa4bb4ac17d9489a7e0480ed1daf7c4ffd89bcaf0f5457d4f9b5151ad932819ad41c1568e4d4c87aa9cbca0dc73ea3a4ca348f2977eea48816d4b3b03dff2812c06df3b6741cb808f2c808d2eae6bb9b673ce8d1ce9da4c128049d720b3865dbe5ce5b31c89d64617248b60b7ed5c9f7056e639b214129fd04eb85198ff731e2b207d6332dda26fa9df300f27ed6a36dfded5d00fb1ec13e22b6111e7fc0b1ea7587acf55f50ed1f90e4e4300664bdc0d94f721266473a7fc1cf2167f104efe4a91912c609adaf29a70baf2415f87e156fd9718ca026b635f451d850f310c86cad13ffd0742fc4cddf36f1b7b217c6b3d81a78307271b4a5fb7964afa41674d3e46f5419a9bb17cb9d2b3e90b7ccd553780e93491c48591c72ce439729b96a139d2d020cdbaac4ef640df2067ec1efedb12401cb13386dccea84bc2d153b2ef6f45c6edcaac0b2217c142338f33ca7087387befe37dd74af7518da549c45de74feb3a1bf4eb577529b4f32a362a733acc7d5c813d91dccdbfde09f80e3e91609b332e0c414b99bab92d0ba8bfab937959270cb55319609ad0e8bc7649dda78df9c91a716d1bc7074494c91382b23529ffffc3e458723d6e0432373922257651103b9b02f1cd68609d8f4997e5ac5287756a07f3f73d33e9818f0c9cd09873cf581bf6ff9db0c53a996c2b8d28f4af214b7c91429bb2a0ba6f8250f7c856536e4ab2d88bc7d979740cb2d0bbf8fc79cbf47cc333f86f7bff0572cad2fc297f16063ad9d5bebf28caf39c0ad02f93d9a95be97b5fee42b92b207de9bdf76b3bf000f0ff40f66e897df9c9f72bfa0bec2c0f671c361d2ec311a5fb5f3272293600e0f317fc187897581d27017e72d3ee7db7721762c701ce1df861c44a047d5c84559983b588fe07d3336fbcf83eb1edf509b70c0d758e4ef98fe1d7ce2f819032e5478be53ef2c36d644c734e9ef5b5dd962e35fe7ee1d17b0bc19e80ced39d3f32711ce7c5d025eb6ea89f3e61d370dd4e741ae19c50fa64bc4ff1acc9978695677bc4f74c9ff954b79e75c62adbe447be0f0f8d50f7b354c2559d77c8884293e9f1e911067ee68156956590449c923e7f2c0ed00bfb273797883fa9eaef6f15fcb398f6de607b2b32b7095b5b9a9d6e561c8f6a7565f1ec0c5d0b66356a5e6ad463b8895c425bc8fa0107e9df9f41c92f7640cd709f0bd9e997e28c72fa88750133fd11385c7bf857559795673bd40ae0feb925f664cb13e919871f060cf50bb85f5484e7c20534d946371d41e2cdde71c5fb3b4be40b7ebf820e7d85652f1daf8597390b794f8b5f2e1d725ff5e678baf86eb9f356ce34ae3672cebb646f24f702cdabfafe8a4de02bbe769d3e4591c9e569989ed52690c7dd2ac4bcba10539564abe49d6f9f2c7f0e86bf173efd552483f7bbf30bc6fae1c8b9ae2346dde1be133a0b92fbd46122fedbc3843427cdbcb770e9fe7f83dc3395faf896faac301f68e5f37b07b5ffa7526fdb2012beedafaa0772e9a34cf79eedb8dcc05932c05e52794c43ae41c15dbaa2839143a70cf0dea94c72fcf3c2dc933f1b8bffc7620bf99cafdfb9fb55fad92973efa5d1fe543a28dde8e391ebfae067669f9b08e1c6f76a76c84ae5dac7bf91ed8c0781d322d26a76a128c5783bbe3b50beb8ce603f747cc99f8ae7aacf12021ba78e08a8ce18ecb489870e16886c79d41c7bf705a27b36bcf7349f225f1190831897c1547848398d705950df26d0679acee2651a89aa45ec7f4f35f79b20856f32d809a19fe04b50fc2e48ec73b7a956194ce58dd501dbff471c0c76966bce631e777dc4a5033408dd39bdfc10f47f8dad93e867abab4f9afe083090856404ce510373aa0dd72bab5dcd1f1337774706463e08a96372db78901be3f6bcc2f817f880f828ce1899d44e788f0efb0eb8befa19ef1f69ca2ce73828d6df19dfed2e8fc992dabb75072ea484e493e9a4cf12248cf7cb25f10f74079768a3c35f6f30af8097439aa77deb6fbbc37d30fa82bb358dcc6afd8fb2f3a10d38d6b8a00b7cea1f1fc195d50f71ee73cac26df5949aa8e77a1e1ba65f474750be5cc0e9855b9f36649c08935ea79163a1fd14bcdf4a99afe95afd35a7c46f3ea2dc75ccbb7d8e6bfd2eb12fc5014fe4098cc0abcdfb47e0d11fc70c2c371dd49e2c31a45576a5e5add00af41c07845cea5c6634b30eb7b3e43f0f53c9ef8f30779ce1d3e05c55d34e697f3cbd59037340769ff3eb2c247e2e58acf7b3d1fac071ef2494ece05356b612fdf211645e406b1bd095f303e93ef0d5f859de0b518367927d1482d2289b4a7e03377f1d73590615b90f0d7407dfbafbc80a45eb1976f6a8232c2514af3598cb10d9aabb94df25220d782396b788f7bcb73901ceec05b6eb10f4d02bd7cbc4cd262a83b2f9f7113a1aed763f92cc4b68dec94c8e2b3f5e982df278edc8a59e7ce309e26db941c3a60ddfe595f609eeb8007faaca0ce096ff8e640d6ca2c6ef17915497c28d2821e9f67acfe639bbfddc69207b6a5486a21913b3952cf83da6b458a63c000146609729dab42fc2585ef5610435404e6108e9c3bf294b366cece3e60086e0e7eee64f8b98d1f8fae7b8c23b99a527619cd0701fa1efd1ef4f9133578e7788e371c7fff76b6b70d5715a1a4de7c4f4d5f38489eec9f0effdb84b5f319b51c42e067a7f0431eef7926b1aedef07c9c814f0a7286efd3e07129b1fc0fd94be959ec801b30a0b90ea4311f1ed90ed353936c3e12267b6f4438943c96a7792c4ec8db6e7ab9e118a8e59c84f99fc4a13c2b61bf88042b85aec10b6ba875aaf59cbf6ec0fe78c58a69399942e022e3ef615d417d3fa913a96ef8ef809bcc83d16c82df3d1a6022572cfc3e9ac1f886757534dcc5b5d37584c99cc24fbe057935d1b0bd23dd796dfe55eec03740f68a6662b987cfd769aee6d3739000bfdf514dd091f04bcd1ecfeb82ae95f6ebb6ff935b90429cfe87be971a03f04de8d2f21c2690b7fa56b650fbf4f7b528f8795b5760789ba7fd04f3d5e511d9647f1cf0591ee60e3e8bf09ebc44de8a512407df9b85c92c41e68c70120206d3603f97c48ff39568a37eaf000f0dcdbff5aeb6496eb8bf6899283731245965c1777eecb98d00179392f7909ff174f6d37ed79e2b1e38ae80c7a53b77813f96ea9fcde7467ffe3fdeac6fd07bd644b6769c1b787cf78463bfd0a52996e3c13777c9be0926e215b8cb932e47e089d3b3c9416a3187f0992b2fcb68ce34357ed06ebfcef1dffd9a1ee021033fd30b0fe41bee13a24f009fba22d9452434f9380b1e78f28c2373a7f327fe79fd0b3ebffc5c93264148f4c87aa8474e78dc27b756e1bd94e49eb4ef057f77efa5940af55e4ac6e071e57d6a4fea298d03cd5f81e35618d61d517bfd1848fc958e3d0675556bf285d7a571f9cd75fbefa3c5316ef7e9de4cf1191f357919b10eb687c806f2e66acb4e8d6cc08eb80524efb5e87f87b5730f1fec67fb8e14af568793dcf398b1bff0df9649846d47196c427c1e3df1451d1ec09b85af03b9c863bb18b0fd940cf0a3135d20e3ad733113b8f7649da84e98df135deadea5bb766ffd473ba5e5c98c75292dc3ba627569497c41d6056adba339e029960483689bf927e7047a997561c21339e301934a48cbf0f136166efaeee40479caf230ae863887b1393c8fad0f292d356939b8a6952d5bb7ca48bb8784f0092885663ec5b8b1fd2a012efd04db84581f304c950d803f4329fd1acba1ac44e6006f2d417936c67a037d6f24f177e06ae9ef39065276374cb5c6fdc5e78ad2ff2b94a43aeaa715f3ed428ec479e76d337b348b7dcee695d3ac46e6e0f923e4aa3f3b6feb849c53b7636098ed5ea2da4ad9db77e63c90a736f1c70daf9c9ab540f537f056ffb9add3efedfc1663f2b1ee633ef11a635d98f070e2e7df4290bbb3187162378f9100794c17dfdb403d43d870902277c26cbbbd8cd744b367e6243fd7a774acad24323ed480fbf94bbe0af80e40cf879a56d857502fff7cbf52e85017d1fb0a224eac83e49044b23a81faba45262af2ea8edc5581f2ec88f767e422a87188b8ec8a247ea4e794fdb7000eae2be1715517beb78db596034f5af001dbc48273368e4476ba97a6bdfc9a5371bd97bec23945da931680cdd9d4d1d5ffe0f965989035eae77c1ce6a41d3817c9f5676a4e205733124036de4239051c9686a313af8145a72f91b96caf3bbf7b8646eafacbc1becdf9f4db04bd310bf286434a888f9a593d74c022728e0dffc63ce02690fb1cd6f03bdbd4c6833f1ff43841a4e50ad4c56d00675bbc22a15ba385e6bdcfad26bfcf8e01c75e7c77922a721487f50ccb05d6e75659385ae5910b5831a5612eee7b7745f238609d0fd70e6ab15db02cc5fa8809794f4738f764e701eb09f05b56f3f679ebe42bc1f6e3ffc13a2479c3a3089fedb7a8fea7f3bc9dee854e0e6424078927f60cc1edece6f52feb1cf468c59a7571e03079d9935d1c387227a0bb29f2f6a648d036de9b244fec79bd5be78392809d8cede9d798aea0e65886933155639f2b61af631d26f0668c42eaad7e897532679d6363bf9eddc27a36d6b9b48d435c7d0f1558560523e58ae546988a27c8d5b2a6c9f85cfbcaf19c6c46db3a109442ab959f4dadfcca95a78c2e6158173fc8cbf0ffbcce8504c34350bbfc6125cf00ff80ce295e272ad195c83851bea5f341195d707bbc2ecc44e0da4f944297bbb9c7baea25943767bfe1906d72a5cb6fefc2126ec35ffca5b2ddf1f2921899fd27323b9ed4e69c8e1f9a55b090f3e3f21cb2c53268f662581f8ac656a2f7631270db497f3dd1e53409db5fe999b67b82b77a51f63bb7a790bdcdc779a337b4be866b48627f73825997bdb5b9345247d4f3270f73f8627c5d94f7397cba3426580d47e6be1e2953644e6a182b9b6017ae47803379ed63d2604f93f1b44506cb11cdba3c222e6b72cc278cef461d3fe0932fbff86ee241a63dd938ce2659e7e4b3b3707c67219a5b7b9100b74c5eb16172a0e248bd0e18cd492ec79ec68af9654ef527be5d255dc578bd937a26bbabed41fd5a99055245decf5b9e09ce09696f03787a5b52cbf74b1e4f33e7805dd2ac39a6e1ca24dccc39baf923e7a10919bf7fe37f1ff0e991f8f67865a6c375e4a9bfe8e034bfeae2be9efb608fbce3a75dffc5273eccf7a56abb177c4ee704427dd0a89a22735604c01d3539c25e5c8875988b13fcbe0d7f22857b191be8f8779ed9c65e18fd977cb1c367fcc6454b8fed7103e3d33c6fac59176c6b75dcce4a4ade43492a62433fa0de019f3f47e46e3e827ac1434dced318edcdea93ae5fb1381f7816ff97fc86d531edfab89a03ae3afe7bb426be563ccfd5d204fbe4aacd7d06eb1806f0a51eae819b5d7509f099af4ffd013b487197b97a5cdcdc87f8f20eda7c51ead6576100e73d5b68823a1c5f2cb7259f0feb43d2c76894f29b11e71bc6b16c86376d18af7bb53e42bce16cb8d5742f88776c63a1e3702e7773fe250f06257149d5e81dbb9856e3f71bc4b4bc6aba9c77ebb66eae815a7fdf8c191a9b178f9b6e2d1a4e548a2fbea662f3e01f48f9c88cc1573288533cc4a8c17a9a2e05725d905cb01c049fc49a4b2fba99e1fe17e0bb00dfd136d8390c3f889925b3622fdfeffd9e62aabd551cffdb75d2e02bff8d47baf759f7f1f7017ff0937e696319d161fdc13c39c7487252455a1c7a3e1d723601e7e900e3d726df1f5fbeff417d6d4b8f9321140cc9db22dc517bb96a6350849bd15378645637c8bbe020e67b803a726abe0c774c3d67dad57235b8bf2dbec4d5c8a714ce36628ce3e253b31639c9f39dfe18ae5de8f2e65fc691a974c9c69f29fd68ca77d774fc8c873b962bbfcaf25a65717fc998ad18e578f96b5c3112eec9201e622a3ddf398917629b65815c159fcf476413ee57c36b6dcd4e66bee45fede5ea25b793cab9e197d68531deef87cf48e871ba83e3d0371f89effc75e3a2f75f52becbb7fce32d2f3660f200169d3b5223c305ff5c419ff37be05e7fcacda16b713a4eb1018ef97dcd8d071ca641d2bf4f786419979b44eb11d471e3f76afcb1ec531ccf99ee8545a5375c46746c17f05805b5c9c1578b2099d54d1df928cc33a68fedd118d44d7e80d3fb280937f8e40779d8e6c53ac25b6cbf0e4369888f609f9f62a48077112658bf2138d7babc056c187c8e84757cd5e65f5837299a185eb59ca795660ef909c2e79c6ea22f0de2cb06677f7c533a1af258882f6d2527c1faaa0ff92333369abfe81a43de03e0aa15dfc4f0b35c1316e7175d43de3cdbc643d995aee22087dc4d5863587e911ad9e5c1f79607dfa4c75501ff7817cb6af1657f93a5ffbf8fff35f13379338813d03e75b04728bdd1e27cc2c7d8f8d2891f1adbdf03ac0e8803ec24b0c35ee265c89cdc2107d55b319d6f49def001c14d6050cbc9675dae24f6b162480ca6cbb7c0b6059641592434d77accd08f27f4f8626fdabdf5392763c0d56ee25e979d3b593632e24f904caec1680bfc9cc84c291c8ec3bfa8b3077049829c67205f4b56cedf23a6040c4c2c4b09af77f3dda4d52d2999ae247bf031917f3a193b1d79d9221845cf6bafaf4d70c76d0c6670fdba565bbb1a740dc02a32fd3c4826446fb527b748caf26f529f043609e0b49915c42736d8eefabdfeef3a8805c2b517c26f990366071903c85787785913271c77beeee69a02e133fd695de03d85acfb5d73fbf17cc9631ef008543cad0f809fd5b50b6adef0dca601d3bcb375013ca76e0ccd036068f7f197f4155b951b5f77deaa3b6f49bef4a2c2ef84247eddaf0f3c7f55a6e1359bb7cf7b19c72be08c763231bb22829148cd012a236ff5927f3aacafadc016d780630f9f9d5816de9f73c2de3f0bfc642ba8230a80cb86e59fdee5b91d12ebb79ee69e8bc126c676649bf7dc62e4ea031d82cc3fd60f7cce79fb8c76ee83645284cc36f3731ebf7b11e4218cbfcf416e47a926e84af77d4def05e086b5fb7abc07dd5fb608d22ec78c19ecfd077fd5f3ed8d5ebbeb7c38b761127f427e3d651b76df7572a8cfaf227512501b5576b2c762a9d8702bb3aaa992a8303eefd7d8847f871f3f3883687f18cd7d8bf71fc19ac33a35f3d73332233cb28ae48c43a8335c91bc6ccf811a809db73d234f819a1612ab9fdd42c0c1ef9fad37752f4a72a162fbe0b7a0f591777863c42f32d011ab674ea21e872cb7cba18e0635fd948e0536fa31e026f9ce8dd83e1f6fc613ddd9cfb5c55f62e7c73eef2f7c73f6416c119f3f19cd7387c7973947a4aee6a6c99bd2053f67faa1e454dc558c8a40aa56c47fa794dd7a18eeb7963ba4a94325b264e73a75c70bd1c87dd4eb56f60edba623076a0b74f9d7679bc85d653b0f119b435e261db6c40b666dbbb7a83d05365bb73f3347ca2ec8e5d968def6f949de8caaa9d6c6c0487e07b6833b7e6d6abfc624471db53ce4efce7c0662b5c9827fca41783b0e3dfff09b7194c6c57f182727c859f07ffe9e0f41fad0c8e2eebd7ad94cb57f52b3208733f9b7396f656cf3fe8ddc9237502742fb6ab526c7a2d1adca4e9640cd2d25e784eafd5cc1f7c3f37a73ca1a9d01ea685e7eb7b88910c84ead4b29eecf0d3823eced2de2c625e083b7ba4042ea2f1a3e1013b97ee9ff27de86d77ccf4cf30679bf759bf7fbdfdb93766b4f5e893de9803d49f930af506f2c9609ea62f04aa950e79b92f4b998baa0d2fa21fe9c7676b8b32d02d7b9451ee4310c752d5b9d6cdd09037cae2fbfb563479e6b72ce642bf1a3a0f9dcff46ec7c3b7772926772e7dbf376cdddf9e0c87f0ef4c0663dd2dfedada23046177afe3e761ef3f13d621a1dfcab6f73f485cf46dc26cc3dd51e7cde5bc583b4a59691a77c8423aa1dc9e7238bc73a4bbe3e39fc1a72c37b3c753a37e5350702ec54d097fdbafaa4d63a9df37226bef56e6fb6720364465b6fbf37ab5297bf4a94fc9fe7c674eb637e4ec8fade24ba0c67da479f6b40cddfb1687d58653f865d5e4ddbeffe1a37bb5a6d4ef1f1ab7c27d3d6c7c5bdf33fbfae2dc8391fea5999d1ce0ffe8dda971fed3cffeeb7fa059fe5c8dcbcac7a68a32a0ceb32d5b9b00ce1bbf2a2b1ccfd5b2cefba95c5ba8b22addedc76e0b7e3bf7bbe70f82e26dff1c15260469e89db01bf2c555b543d0c53bd3567f1204f31027c7888f1b66735b675dabfb1dd51461693048dbc18c609812b28574f83ffafad6c312ca6d351d4043d905be5bab4e4c351358dbc6abaa5c64a390db9b394243d6b66551abfe4ab53b52e65386757beb73deb391b7f0b553ef4d91f7ead51f3ebc902d638b631ea43b11fd63aa683b39bf2efae9fb1ef85e1d8eee5fb4b5ee853ee33d7f190093d3ff5806bc7a4629204afe5378ecf241c65173fe7cb61cd8b33ddffca6d41fafd4b1d6a46b088fc5cc92eed7b1dece6199ea9f0867bef700b1afc94de5fbc98c4d611fa9b12ee872ecefe6bae6c77eeda7c6e70ad1ee318283914ebdcfe44169b6af2a630469b1f25513e22991de25ed3baba64f77d213e6ff0a7691cb433c0f909927b02391320af977c50f758eb948c7dece52a067e8611b6c1d33f3b7cceb5d85b73a5d0e5e59fe5f13cd6aca2a6afb3f2ff87bd37eb4e55f9d6873fd0ff6203c6245c46541ab103a5bb13480401e5b7b0013ffd3b6a56010522c95a7b9df19e73c6b9d863af48571455b39fcf335d2ec373fc657edf3343eafb32b768d4d8f17321c7bd8922c3cb9b49067ee7b8bf0ed8e9afd99f7e4aa3d81e68b12334fd8e3697eaa74ecb2ab6807cd9bdde3fde81bd56b172213facac35923b71dd2f3541efd6c077b25bfcb436b279a4398ffc83daae0a06c8b651c5db3f105bd9a44dec7bc0eea96b5c1d9d65a9ef45e73bd82f29bfac0e684fe697d578f4fe253289926ccff6fd85b7dbf818541dc10ef9c4687f129ca07a7d6f318ec59d45fe4eed2b485ed659cb2ebef0be80f608cb36b8e9367c32037c7b387698e9d1ab7bc47ba9f1aef03c3a6631e7ebd88097284799ccd1e9d4fa1e6d3c8e97f6fb211bb8c6760c8a9549c71af22bf10d321f7d53a4c720af44d7e15198e7a27cf2098e924bc9aeae79f28528fbd40396aef9a03981802feac99a98e9399dc36056967df285f8fd6bfc913980df642733f1c6cbfaf4a226796c9b1ae8087bc39c5ca4c7cce98bc14d535f50703fd486bfcd2488979c6d2bb06c336620ff29806f1aa8a2c7cb47adb0cd18d71725908ff907ee4ffdbe4cbc5495f6557ce5b13ea5e6dd042e305c9347cdcb3c25fbbd58595bdebdb3f7ea5b4a4cf6290c135732eebb71abcfaa7bdddf575cf4aae9c16926008ec20b702c37e3cc97d9787bc771d2defa8737397cb9221f404dd2bb7c38dde7f77d06bf5906b313f800aff9e19d1c7f5984b7500df9c0473a992318eee5b5e30ffadac23135d6e68cc22b86fff10af9757eff803e6c959bb2beb8bf7aa47ec71d28f7fa1e327d8fbb271a07d5f20bdbfa38dba4d687badf1ddfafec0f985f1fced9ac1fced98946e689d4b83636f7700ec66abdec8ef3707998337301debb8c97dcd581123b9271702c7aec64ee48cecb2bf87b8517749c97f7ba2d8af6bd1637c79c77bd1f1997163bd6c7d915e3cb0ecd79c19f1c33bf51cfce17773cf78e68c49ec0a275fb0badddc76f143d392f0f3e612f96cf9edc9e3c1b72b084bbf1ec8bd323fe3ea39b63c997dd71f102cfd9c84f9e03be27c6ad0dd98107fac428d0f83e05782e5923c8ef1a028e886a19855b8deb83c5c78dc20b1fd62737d7616e63ef285f499de6d99794c03d2ea01e12e68c0bae2e9791ef312916c20fae19207930bce35e68b476f88b3b589f5dce3e13ff1a8fefb01f50e32335912ce325d38bc7413d70ec1de7d7c7fb8f020ff08db5d80b59e4635d9db0bae70b754f82b55a1da3e7e371cf1df61c75bc633dca2f4b3c67c9cecc917fd45efbf9bc681e7707a3bb46b02bab75b559c3f776c5e910c93c959b1e08367139cfb739961d996dc5c8ff6f3d471e923d561df71223f2cd454c8d7548be6f7dcea30c299664edb9228ff6606bbe2232977ce0dd1fe5c5e240aee5a6f77941e49c69bcf82270cea0f7b9fa0325f004b66b6fe74bfc0e57db9adf419e94feb234bf825d0d35ace77bbddee5bc311ee03fe72f584ff3275fd26eaa09f2b2de5b078f1e23f0a0badc106a6e1ef6fbe1a3e7dcc65e843d4a8debde33ae860cf038a3f013b2e6067b340f45df3c788991fba671f70516d78d9a46b4b3b4ab17d6d7133df3b3ebeb31173d63be3b9602983eaa59f1bcc58d67ea3dcfec78c745e31d83d8954664ade2efd49c83d677d9d8f477e9d095f301fd2e9dbaf2deb807d695adb5da79dd26faf6babe354ef4177eaf01d1cdcdb926fb26661c93a9d7ed7d423f17643f7c0b6a9e5bb2a758eadf3eeb3f1ec75f546b71d889c6d9d6d9920b877aeef6dbe7bae6b4d881ce79a1aefbf8c1757ce49837ea9af5f7d77043b4d762d57202578c231bd63e1bdaa676acf4c87dded87fe47b34f7efc089bde302efc18116b8d607358e528ebd90f9ca635fdc3ec876b2e6efb6c9de80cf9c732e954d416c318f9bc2f51db214af516cbf3ccad2319653de6014db8fd7dee96bbb643dd95f787d0e48bf88c8577b6449740eb93f99ebb6de9187e53bfadcf4e87046a19ae99db2f5ce646edbb644b124fbc41bf881c3f9482fffe7610eeef3217e0f83d999b7f6fcdec83b703bd318b46440b12432c04fe2d82ff8c2e5784635e30bc46da44a8ee48b43d0e2967b6ff453db7a9b1b3d68c7a4823a26857ca7f79307bd20f53d5a986f55ef3fe1173cbb9cc6bae276af14f22f47cf42a568724f604e3826dc6cf989b1cda716335c19535edcb0c65213e4cc976a7fd08bcfb165b157cc0f357f1ac3ab73a070dec90b913f0338a57797cb3967c306805b59c75faee8f8ce5cf3f3cdc770feacb6f9b1d6f0a21e65e8372d7b313f07cc9b1b0e8b19eed9b9384250a882322e3966718e2278e6af49ee116ad92f6ab23e79e12d5c737c2687b7d3b37735c5214f7874a299246772ac5cfd427ea8d5a97cf2e9f482f950abb109bea5312ef7d237aed86b8d0b70ca27d3c231277dd731edebf432b6fffc9a4bfb9ab25fa36f1ebca3d29c87284fdd24eb7bceb5fd1c34d7ae38bd79dcb6efba14aedb5478ea6f5f1bbc0e006b013d5f7ccfe428bdbbdc706323fd6e4e4564aff78d5f1b50e37fbcfeab8e6bf6ac8563ff3d6c52cbdff36e363d276e710bf5e3e2eac644476e71bdbe6e69b16b943dc54fefa5fdf85e5b2775c5de398fdd41cfbd0c3e74393e73cce9a56f7e7c91ef9d9f2a9fd1730f37817bd4fd9ae1fe3e0f49cd7bf272b2ab5e810970e5aecc978b1b06f7999e1f704fc407e416dd7078813e27e903f7471451e61cf03d3c21ca7663740f2443d6e4dc7daa4a363af7652144994b9ee78751e6e0de8454952272ae97aa22f48517686cd69d8c2d8c321f8f8d99e9f9948c6d30d3f317185b11656b72eea710655b385746631f917337333dff85df63029c79f87959aa8a273c17429419637c8f5d18653af45078a93afdc0e74ea2549dbca073d1fc2cc87d97333dd7e1be429469e4fa6d18659b311eef228cb235eebb49d5894dee25a7ea740bf79ac3fb4f481fc72455a5133e479aa4ead4c67301e3f0f0ef533b55277bf43b37d7a34c877bcb83997e8ba02f448832fdb16f87c637c26b60fa50cf45ebcf98c264cc9a75dd355e0b70531ea93a0e3ae6ca66376bc337eac1e7539c0bde0afbb4ac3175d0bad6ebbf3157b7162f8f675e9508162af0e8329937002cd8f3f278ae6249709ee85cf0ff1b76277a56e625fcd59f543606fe0d6a4c8cb52b01071bdce34bcf21afea4c17436fa0c5ee267dfbd27306ed4f3be15fc83997999e93fa113ff6ab73d9ed4c884efe98d469c4fcd1b1b4cd27f49453b14a015f5bdde3087e4abc328d7836c9aafaefd944263886e96656d61d931c76e7f3f5282339f0d037e3ac7a077d1fcceb638563fa29fadd0bcb7b56f34bc7a117e85d1cbdc600815a5fe41325dbeebaa0461d6255c7836c5c34676f3bce182e43857a7e77bd0b6de3c97af064cd4dfad65c6e015664fbb7fcb2da62aed0c7b9db239d68573554648d615cabba2ec93e1aa92b56dff444f5a0ed9ab1e8e19d9c93f53cafa8eb90147667e6d1963c17faffea396b7dcfefea8498e069df92602774dcbed9b734f26756fedefe4d95d63c792758cfc817014c0b8c930bfde2aaf8f2e41cbfaad55a929a285c7354cd21bf29d0be47fb9cd448a175d6dcafa7e67a277157531bb98926c07e9d54fe0fb267336a2c1689b5466b7318adc9b329fffee486bd7b89bccf94710cede49bc35fd017418f67e260dc87fafc71299766c0f5b4adebda12837ccb328e2e376bc19a32e3c7fbac39a72cbd76a01f17f958ba3904b9e215dfac1fec2f5038ddefa7991ebce1fd5fca5eea5b557b057f6be01689d7e89a0a0f88921d2985b353ca413267b58f4fae67e8ebd78df84785e5c7a8552f1fb5d68e0fcf3dcd74ea5b56cf24fa033fef523ecfe2d077ad7ce56acce55a99e9b9e26e52514d26d93631027bb07ed58461f055cb74b28e864563ee07f9fbe78081dadf52aeb69ef51bb295cc7b8511b8687ff7eafd9ed72956f89c942eedb93f356e0f7f1392f3e991e54d7958f5467977366edcef716f3c9d0b92f3cd083e61f50c2c776aecf56d195f09f727efc0b6bf0daebd362afd9751d85e2745180e673af2319fd6a9ec715f388961121b7f65bc93b5bb853d5063c9054ceb5ea4e7b8f6374d6ee83ff67474f578eda91adc3f93f52bae6da7a5505bb10e870bdbfae8b1f726ffb4fb5dabda355cc711d0b53e7edd73189bdc0beea937080f1bc5f3bfd58362a6e339a16b3031962cc3bb779e59263cc58ba4f15f7a10a339c3b57b5186f6962ac1bc5f667a3517ff5436d5748bd6dfd986beba3a9709e76f5275a6c7ed3d04b5f0ddfba7835ff711d3e0d71ae97a91967bb79c8e5b556313d697cf306adb0f97b69dda5a43049f13d6c275650edd726e696ece75a563e55fbe905f09770855e30cb2938a353ed511943f5ae93b98a399a0d071f3f0e1feb58efe6e5ff31df7aee2947218757048ec23f518a179ce1e7a741e3907d0de7e457bb3bdb7ab5ec2c67de514d77d55f71923db18f91050d30f73d9359fbd76caf7b5f5a456c52de516cc21d41347eb2ae6dc8c8136d6921e9ddc562c00b89da9bed6e7b270e1e275fb42e9bedb4d1598c1cc602e103baedf85e649fea73d06477f3e06f7ce16b8b7b68e6bad8a608ae6d72de2f72f21b8ae8cf3d5d2a3cc426b587cafc753f4bedbd3f81cae0719d2761660b57fd7a784f97fa7f41a42f2aaf8064f16e2f3f5f71a5d1cd3883ccc1957d78c35fa4c47cc4e9c32b254ea66e843c5fc1054ddd94c8c63640b38faa8ac278864917c9330a27b41f7205b2d265545e3fd6b42f5e5346ae5a37499183ce603fce17afe81cc68f11c91fe5999dee31df7221895dd7bb74b2f330d39689c47680d7961a57b0b75fc91a99b28b5f43cc03d61c4be213ef556cc59878b2f1e8bd6db10e6744be511e91af51a5f93c81d69ddc2895b67b56e8b781b70a6292e89cdfb4983fd15a55fd2edb4dbb0eece6052750ab6433aab7a14a29efb4e1e62373516f524db6d9ee3ebe2bc078e6102afa9b4e5e7e333bb12a3375fcf7ecdac85eb1b2d9b6160d0fbb498419de74ff611d8d6c1ca38237d0836b96ebea0fdedd7ef39c9bc224abf0827332d43bc303ad97ad48bfd0af2885a3fb2388c1d53bb03c694547fb7466da8a49d6c6bbd2f659757a0e3981bb55e571fa79db945ba2e96a572fdaff765ce6fa6cbf41a0da0874c6ad48137707580af5062d219ee576af801c45741bafe89bd4edb1bf55a02b9887cf43a7ef67c6d17546fb6703b75f061d5fa1db0cad918f48e807dded2c67a32eeed4e322ebb673e0ca5dba839fb22313316feff8dedf3af6ce9467f70e90fae4f6e18f3aaa4f1333d7ffb7ab4ff44f7795f56c521ec242fafedb13bc9906fcf53d387fd3efe55d635563d6db44f56c5381760f3d1f5bcd89ee5616edd90c2bd6fdb3bcd397ba21b01e3f095f6259c0ddff6a51a397a9333fc4e3fb21e737b9e7f579f3cb579e8b80d1de799b5ec1037cc0bca0ec1f68e2457fbc3c3f6ce7066302dacbd666ea725d3f81e9df530ff0d5ff2a92c7fc9bc27be18603fd1b21cf2b61192e5e94a92df7648969b3c600b35643917fba43ffabe3226278792db849f2a82b573605d5bdfa7964ead21f13da56c8ba73d1065cdf3560f907fc5cc04c04abf7f3db3971f6cdbe7fbc3c1384074dc0ee24ef02d80ab0bf01a5bfb08d6c4a8f423805fb261278ee25983cb45a1b13f1af8193fd0ffcd3522ada1e7fb99bf03733ec6b8c2c0635d615955b5ef0d3eab1aa713f84bf84fdc43f4aa0bc3a566f85fc624d037acbfb41843df8639aec73c40eff3cdb662a82f5d1e4f10a768e12852392296ffeaf12d1ef54717b75f30c7dc82d5bc8f313632dadf4836050ce02274ae0716e974d05f86c8e35ebbef6297a44776f9346652efcdd2872398850d79d796db1b737ad3aa75156c5d16f7e0fe202ed0339ea0a16f71fe0bf9e81857c540368d348a9dc9f4e23cfa7d178c695ac79f810f10f731c65ffabec9ad31f17ae5a60f7e5a942861c3bfb941fc6ac35bf55c45af0ddbac80ebfed1901f2aad53b0d9237a6f7c80efbc62df497c352231b1ba07b7c75f970896010f786a750cd656a5333fdba46f5f651dc3b1b18f776dcc78a2478ba7b1b2b02f56a6b463658585f382d79525639e19910f1cd188dafd443f9ee35eaea7ed05f3402b73b46f95d03ed98015956bb3d6b16a5e491e15fa551bb18c39f91ea7ca8e02192a6e71de44c8dfe8f759265334cf5d6b6288f38351cdf7dba3dbccb0c6f022dc4827db5acc095fe6ab6d31443e4e1bbd55a640710bfcbd3827e4749fde4fefbbdfb47dbfdcc2ebf0c16f21dfbbea27fa1ce0b89cbca5bfc716e90e3ab6142f076b125f69e4b113250cdaf604a31ec12769e44efae38338fe59dba080d5d5b4dd068a0f1c2111d891d7d9e6fdd475ceca5ce3e3d55e7ecf482c3602ee6a71bbf705ec4737ec5e16f8145edd027367dbed631bd6758bfc62fde83e187f1bfb3e9df39656782e52feee8846e6585a2c3f39b7c6f4da3ef81ecb87b8e016e26333b38393aab62b2f783ebbae7d4f95d0a1bf298be6937cd3da4ed16b7fdf2d86cd78d29db61323e026b32bff619ed97736005b0f9e0fdff330b3f2f79938e74d6ee1abe214db8605c63ef185879c08e63569cd057a278ccbf2103b29cad849adabbaeebb70bdb81d475c400ce437cee51da82199f3b671a66dd43bd2a15d636ecf2d9a1b647750750f6752f7d0ae25d59ab8277f5176e8980fc815f923c6dc51707c8cea1f748ff9bb7be8b6b91b7db21bfe31a62e29431aef10f9f94fc60fb84890032af99700679cb92db9097a7e00fc7bec3968f32fd9b4ff296e1fb9934492cf354a0e25ca8f47fe84c51e6ccc5bdad01b5e27d63a6093118c67b6a12f1c734b61f976da5cedfe64dea46df928833d6d21ddbe3d5d6c7df865b1ca549b1ab6c5685323d6561b26df588c611b1363b965e2d526e6c71b865d6fd8c514734bdd4a997677baec67749ce05a943971d2a3788563e087c58b9da945ae680c6c4b893bfc8162067cd2d5fbf0f87db418d7b7417ddac581fa35793817a2cc4ba0d6ac586ee6a92af2e4bc889be979509eb728a26c6796e7ed53555ae0f3eef3e14c47762e3a6f7e43f7b3b92dae991baf5355ccc9791fe8b937721e83ce7392f2bc2855c5809c37b9839ec0e7e50b24c3f179f93c8c3217c630bccc242786fa008c657c9be9f9d021b5830eb74d555181fb2d8528b338728da8a06b06f81a64ff1871592be8e851f6296e79cc4137495511e60afebf3800d6e5d879c465fb72702e047347109f5233cb384ba366ee827165aabc2655bbfc71aaeab8c417c06df685a6bd86b987729c5f3289fed56fa12ff24787cbe32d175cfdce5ae7d2467aa7b897303e37f437d6b91a8cd374d40207ec61e0618abd04f397e8e63ab321e617dfc9b3b2dd86bd621f5b89d13ef41323da0e8cd09794d8013f63fafe45e3389931f07e54fd4a4fae03198d9e5104ae9c503d59c77908f8a53193c9e604ec427532477331c4dfe13d5505e5ea4604eb6d82398e3aea5eaf2dac28e45f2bfe04cd07e1b030d7af329ab3126f4a5286baa5ad7c4b9b628e1523fa223606cea1c631ce4d4580bf63480af4fd11dea5c7efc2bd639c307cffd3e7402b3eb731b319188c46f8229cf129708b0a83b2638c1a4f30e21fd685cb0da79fa271f0914df3fdfbc7e5b9ba09784847e049bb9f8239c1a4eb9867a81f72acc5d5959cd8992e58fba8158ed955effc640d1e81d7838ec59135380a90cef100378c8d7d31b83a421e60db6b14db2c1ca7b9b0fe41b681271a876dd90b616a1bdf54182f31e29938b9f8223fdba2efb44919f2dcaeb19fcc42b9d99676f20a19b8c4ad67dff8a8c49e65c4dee0afcc416577a880f1308431205defe8c3b36369279723fb0f9fbf46c71b79a7c1fa9b7d1504ea51bbea31fa8e80495a38d69475ac05d33967d32cf4c429b393aa3d87d78158ed09fed99a9debf9f3f56431993ba87b5f36447ed6b8773f8fedb4f8ba0acc87081ce44c25df1a71e33c00ec4e1247a96b94007f27c5fc89fc41b3829b6d0eef9007453624f0b219b74dd5f39db3f8dc92fb9f9251511ca922be66672d6eae381d6ecbef3241ef8ce5a92aded039771fe9f481c290b93fef2c6d81bfb776871afa6278df89fc603b30ceae392d3e0183d9e63d9c5f53dcb0252343399363fecb1d2829b2bb6d335fd5bda943c51114a8e5ecbd3e69be8f8cbe7d8ded7bfa14b7174707de23c893b4aec7f21bad1d2167eafd1bbf7f4932ccfb4c505247905355dcf366a150bdb3c3bb1ce60cd14189a5e7dcca42fe2d70dedc1d1d70deefaac8f02e967559ed63de32cc25037b05f0f481fb9ab2957d6118b8627ef5d97addc2be0199d2e8a77b384f039cf2aef782bdf4703eb24d56965cc5ff9bef89f4b47277cc05eb2531f3a9e36f52c930ba47f5b888ed8151ec2c6d38a3f8ff3eb9e6375a267686b140a975cad4bacc0ff3e63adaa43755843addccb6e2e61a19a72c754c2fe5842655e37fb58bfce19d970993791cdaf74aea4bd1ab53e4a9c74c59344f5e12bfc2388421f4c236de3189ef6bcb6076225fecac347684e088f6a3c72e4e804997bc5f76d662b3037cbbe0a40a4a023c9dc0c5826452cabad668eb32e7f8739392fc0453caaf8b1cd6bcacbe4064ab205fe4b0113ba4bf6906f24a44fec5f6b5fbbb28b13718217f33ee591b592593c795dea1f55d2db327e08731a5eea3d7f2d733ccc989963a93eff0263bf937a9f9cc1bb5b49dba00f0586bff15ef253ba9fa06faf448b35e9d8e15593b33cfb6897170cc982358f63f899bc7f4dc137d59ad9556fd48a78e9f6dce0cf2c1c979258677e12079cd0deff0ae24675bd705076f8e15a0bdc838db18b8c39d011ac7fc55de4c79c2d7d5e09fa871497b6d85bf89f979f5c087df5e008704db0f78bd8bef5db644255b0846677bbf96389d4dfd266dd1b92dbd941f00c3b35e5719fc7d34cede54bbeac027fe81ae7b901b489fe1dadc72fef313d87a15ae411ea1bf9fea5b09aeff46df32e4fdb4d8b146f3127fa5b25b84fcd8b22fb3cf4db78d6a1f3aecb629cc6fab5e7d9df977522751d77167da86f2bf9af6c90bf85d0433a48e93e56388cf221949f96b5bb8377cafc6f8d6707f3ef0eeb45d99c1fab0adf9bd21c72630eec40df3ffac8cf7475d3e5d7fbf9fac1a637536912f1b737a9b213b6512f14f7a96dedcc1c7ab21e48c6d7aaf6e98c31a5d1ee5ccabf513c961c517648bd2bea81cdec2ea3ca23be550ce1cd1b879897140b6a3334eb7b83e651f367e176464cbf4debb793eb9ff6692b926e8a86899bc37f49cad3feab99d9e5f5b3af5ae22fd66faa99b4cb34dd3b77e35847f61cfe90fba9d55c5ca4f47bafa3fbec9de0c9157918c71850edd7dfca075d5a9c73688beb30dfc307fbecfc6e959c55c90ac2f1a0af02c733edafb547f01f6b99fc8dbaccb176f5fdbedafd3f5c1eb8bad577cbc15afdd4c3c650ddbea902aaa54eb1b646735e7a931cf8ccbf9475734b00c3c94f8b2dad5e1fccc31888e121fe20335466dac15382e836317e8dc35c159ebe0706ec439d0b95a396725b66d42fda6e7d88e4176ca383daa5253862d13b4ff5ab6f03d1daa6253962ca34906781ecdf37ea9e2434ce9f553c8093651a3e6e655d373b003eb7c453a56c50759f6ba2dda3d40eb57ab68f5e81cbdcc495e5e37507f0679eecb971ee86a3c62bdc4a0af4d970cc431c68e0efb1cf3374c2bdbe30de24eec82754d36f08e11e0dfd2b620a98179dc3fc0cbfe6ccf804fdcab9f96e124ff2a6388d345fcd0ebc1f238f610025744690b4d49fcb199d3179bf5f8743fad1b020f54197f2731c7663d73bd47188863aad3335d8f352758533fadd527f6550e98f0ed5a3762bf75ad910bb24d3cc056dea760d7419ddae446d72f7bc7fcfd29f680300c6a1cf79a1b5d4ef6b91ce23c812a78fb4df2be2f75ae2c126e2573bd7712be9005f9a88a2f9952c87ba568d67ffc2ef73dd48b90e7d0bedc7359b4cdf07a8bf92f83495571c8cff0b9cd35cd2ee22eece9b206626d3e72e9581c8e51ab80ff4a72575b83acb126362afd2eaa24bfb5d613cde1757d963fb237adfc5111653bc81f45efeefd9cce8a2c855c5d2b7fb4a3f347b006b0bf5fe73dd619e4fac42d6f421fe9c2a76b48ec76ec52925355500eaec8df9d3687b710bf7935a74f533e91388c86b9d7d2b2a754de9038b4a4f4ed9bc2011c9c1ff4ad8d5b763d60aa76f8cc782e5a63ccaf2b6bddb1c726e8dcd83b2a0d3b71b761bb7c5264f3336ae25cd468ba31849cad39e20007f59fcf01f3ea1580fb80e3f4dc70e2984eea263119c71e634114fb106c5669dee83978be2fb5d40fe5ec935b64b6b5b86f92e9d9d99c42478c0357e48faa65bcc84726fbddebed647ad8715ae10e3ecebeb50fbff4e8b7efe19a7c649b37727d3e519349270fbf23c61cd223982b6c017cb6cb5039bb9c16b8021bedcc69e672debfbd0ffb29b0a99b0c632f5478f599fc10946867d9a12a9d0fae38bd7bcc3070cdedab9cb057479c66683e5533886d53fbee3ea779211359740bd79613eccc1c735a8bb5dd5bc7f0fae657617d4903bbb6ac4da47f6bbd2fd9a72c796f3973b9e1d815e3c3ee5eda378bcc1d2ce2beb9f406ce11cda5cfc5912fee5fe5837c93c3fce498f17127adf1df7deb0af833d19a080ac7b45fe57051c98f4f314fdde42c036741281f6c2ebf7adc16adb174f6efd6d9d9e6f88b2fa277507855c2f5712b735e62866f1c6b729af5d459a9cd5ad327f3136465ecc117f2d1965dbffa505f43ede77b1a430f355d13334eafaa68145edcb001832e1bce0d1f6cbd82d89e8df376a4d66b06fff5eb3c553cff77b5917e2aeb3beda39db518a1b942fede676244c43ec2fe9dc8df7ceb83e4c5905f00fe40e6de99d31cf8595adf48884e72f2b03fd7ee60c47a829cc99b0fba47e5776511c634acb16e7be5997d34185f44fe75eb3ec7f53f72a2306e380aeaf7deee5d913fec3823920fa7d03e6a175ace38fa887593fc6a7367e4cfd332a1e89703a300c9985a8ed531e75e99755c704e81e4959f3a92765a86723117e46c271aa9c3050cfebb577eb280bd259d4f98db64fd8f1c2e32975bfc72cc7588e4866f0eabbf552900ec515d5262e79032ab423ed0f3210f8c4bf537605145991bdac9b3f1bb05b675bfdd5313fe7fe59e6ac7cd301fd563dccc3b3cc949d331bc6a6fe5c1ca922f751c28eeb081308f60e37756bbd2eb6e2600aed6752628d4fa37045f7c69d84cf6867f26bfefaa74beba118e013cc7862035150cf66f764457439f6147fc0a63ca377e3bcd901cb2d25895208e81e5c8f814c8bd76e0a3def802fc7f23732596b7d0da3d322758bb51437665bbe4fffc9696df527de7764d07e147bdfb227fc3bcd0d32389c79da87d5b34b918417fbce1facefddff463dab995f6fafadef71594b0c26f6cd9afcee61dfb15780fe1385dcc7f613d51e985d70eddf76571a06b1afa434ea6c5ce9c9c5d711a3ae62d5c26db7f1eaf7dd9573aacf719d4791225a7c3bcdea3352716d65b833edbf32feb1ef46e3fd73df1f7bae71b9d32d5feb54e81dab7aa6efab97ec1751f4d7e61e0aeeeac1183ef567284851d3d0a75be318175f7e636f3814dac87a775420bd64ed8d49f006679d77362b4271dcb89dda386e467e09b39033d68c5d35804ad2bac9da59db6c816e7e2bb3fe16fe4ded70a13ee598d98c81f9fd7a8f58eadc6c9ad752dd42ab7752d6049244d9da38a13fef3b1a7b28dd9d0e84982de687dc8b80ce96714a2f6f7809e56bbf687826ffca1d81c68fe4a97435534488f2fc68f2de7c5e06266371d01a6b437d0569e84c7663fadfbc3bee813d97cf31283437b52ab7883f7b89e8ae4e45b73d7adaf85494ebe67f57d57d6995745feefc69f6adcb6f2fb162bf305388fa9f817e6cbedb28dcc17fc3ecdfc660af7b094a219cb9a43ac08eca20960a487186314f291b0d6e721f65754919c5bf91351e68ed9e0d156c96f2bd33e611c8eb296566ef794658dde447d9a919e7686ccf1e907f7a0fb42314fcb580ea1179af491cb47887384e49ed19fde73f5ec9eff22b6867965d8038de3fca5df02d9dc5f3c0ef95acffd0a19f83e9910eccf98c8b971c5a948c9bda08c5f9c6a1b67fff02ddc30fede2e90e624fe9e5e5489e0e46ed25815b16de0868ff922b7c8dbf2fed51786eddf329bae411aa759477c232535bf175fe447de5109a01eefb7e36fa00bcec85e69f9cf27f5b840fe2fbfdab037f2ef7f9ecdbf5d3cf8e4a12fbeeccb1852ed37ef439c476ce40f3397f3af3e9a2b6283c8517e75389ef505395d46cf7212f33a6e577e63e1216ef76c1c7b7a8ee5237a26edd7cbcfe7123db7bd76e1be249669d631045944ff6623f4fdbbec2e1ca33378c02fc7713cf0a11dc14e1c01fb382be69b6f0a3cf2b7df8eef79dce2ea89db3392a3fd31c78fea1972bc38408d42310abc64bbf7ad45ec08801374f492e9c51746017a77e45befa0ff1b733aee4c27712c05dd6fef8a48f7e47759e413599c1e6cceb813aca1c8b6b44006bb568977e23473c211f4b2efc4ed1ee90d5932ee8e255fe48911d8dc7ebf36468a2cb2c1a73e8a1c13bd9f12a3eb1d1df8bdcfee408965a91cf30b92e5cf633202158f41f795a0562af512e34e308c1297cb3377e0a76ee2edf1fc1977351c111f7dbdf7b92045e342dfdb2b464377b0ddfb1ccc0b3d47e8df9b92f3409e1a8a1aa2ef9ee37ed50d9b3ce0023def5b0d5dccd955e01ac46d59d7ca604cb8665f7207ce15f3b33c65b98640de31cf635b01ab4a67da268c96c92df3b8c5c931d960996c3317d61fc19641633b6ad7d2a79d95fef83779467512ff4f8f0f3dcbafdd3156fa84d8ab20a7893fd115f75923df0de2b425dfb32a46553eae8add4af3cebc9bbfc1f11e4f8c55c78ae13ec88eb1711c28b4ad456a33586e032f2cb2991aeb2b7af3067e0a380fe22dfde41601f2f16c6b94ea9c319491dfb67da63fb7e57a2a28fd7929f5a78731211a7179afc85b6b2bcada39c665f29ed19ccbb6c5a44b0e7d97e9af6539be647adf9973e45ff37d3a0dbee951a6d6ef4bb97e8b0e9d7c57c587daab273600e17fdea4c1971ebdd94725b6cdecadaa0319f7cc5badcb2157e221dd151b971d37bcfadccb9eaa07db376ce47084bf19927302bd867ff61c39940117d5e6a60cf03f842cd472c9c0fdb1a5eb5d4036d0df64a6e7eb7fddb3d6e0d868f5a949eb1ad30bfbdb4d2c921666b81bd698e1bf5b3b5171f6633e3ad2c386ebfbb06ebb8580b15acbe2b3632deeb6e9436c1fe74cf0f91ec7b35eb2889b7891bf6bc3611c3fafe88dbd84559d097cbb8f10b85e9f9f7ff7c4e9a5ba467c01ec93be18e9e65fc7488398c60158b27fde8b48edffbe78cab519832ce527e4b918db52907f43729c5bf4dd2a3c96ba172e7f2b6ba3dd239233cd5e3a0f7409c6352c7592bda19e2b46bcad0f2fc85625fd3d95fcf7ab9e46ac471a753a74ef1387d7c14ecfcb6b919c2cd732fba5e7d7bef50f382ef81dfe28a701f290acf7a6df42f31ed9894bf5f9f8c22d24f3165a4d3cb39feb4f81c21c237d6cde81bda8c7926f2cbf96faaa5d83e2869d35289752df923c88e21e47e083a8d2167cfd6dc20f28fd3876b91bd18bef657e93e0fdc99877a4d8879b9abf2c849a31f0e5df4f72447a45708d77792ca26bb4c87739cdf49c23be7abc3227808354f6e1037efb53fbae812757ca23d0a1bab90e671b6433828df873f9f3adbfb1672ab9f1fc5e0797d3e25abe347ab2603f404f8ca00a27e1e354da13335d7efadc9d90bf79b89ed495a97e82569d54a88ab18fe36beb4479e65b0aca69f1243f0bfd624f6302659ddc53fbf8a64ae7bb3b300a9b43364ed9b7a6c51eb72876d688d47ee3b8deb377f5f56fe7f756d7152ac417fe087ffc3d3abec55f1c8fe21e4e7b39ecc9d1737ce4e8e5fce745a92f7726f2e100a3edb9fff1edfacc033b31326a3c269695a710f6df737fbb394782bc9f85a7ffa0ffe46fe214dfac89bb2a9dc1365b860ae35801436205a58d58d54f973a0ad7a6607fd11fb39c7ac4b272cb19392d0fdaf8673ff5f75c217f23f6cdaba3e7b82687f45f7f6b07fceb1acfff967600d12d789e890ec17a5b8c78aa379ee8dd736a72537f65c9592b3750d90b3b8b4176eba9be366ef25ed57a16fa814b1f84d809c466407a09f42a5ec3fa3e558fc6ddb1f0bea531aba9183d3e769c537e4d54f578f91bfecdb716b18775e1ab6f31af9f03f6bbb83e35863fea170b3a6a8ddaefc0009e4fd52f73bea88282e79bf4dea071feff604bd4eba0c3aef89bb6844e7ad8a06f4228f310fb6776c6135b62c87a9c5110bb8db22ba2bf6c574cffebec0a4111203651d0b55a65df54afeec5fd5d71163eaf979133db60f9320edb331e8e1a4fa356aeaf86eb5b5d29eeb3cfc1e2ea5bca01e20c75efd8dd1e2829c9fd95399cbfa9078d6a5dfc812e94c33cc2ff8f5e7b622afdef2ed1317dc27f58c76123d8d3d694dd590aaeb72363a5e415c92f60194ed737603d60e078e81fdb6fc8c7c7b519754c7c147883c5c01d28d132043ec1a7791239595c1d715b5f1b7efc87d810ff7ede200ecce35893683050c39b1803d5aac787be17c98bdc6c6b71f739be70800336be414e409cdebd817ff592f5cfe611e7d29895653fab056e6360ff4e2d30c1844d63552ce3ce389edd1b6b6ac68d74476fd750182f9853794b305ea0868ce82e8c37f428e7e99e5adceb8564bf1776cadd7465c927390952870bb29de99ffc09feee747ed41f3faba37b5ae71a7f8a98ef593e320403bbcb77889eaf3ff08b08eec3631c89cc8bf1650deaf3fea037a01aa7c5f27787d48a34eafb05655abdcbe461fc3fca453ddd2b7afe56c6d596c775a99b22c75a1cbc24be95fdc460cb6ed232be0518823b717a9f5536859cf6c8bfeabd7efafe7fd22fe25841e05aa3cc31f82fd0573076f6e498d388e4c743ad3c471f95f6574fee32ca3e9b5c5eaf6e1d2ba2711e6780dd49744f19ab2971d6b18cac6a27616f6922e1093d78a93ac94b3cb389a347d9faffea27dbf5935f2e372cf3867dbec99f714bb6f94c0de033059e1ec04d1bc4175f0c625f8c0fb5bff3ced3b89010b33b64cfb1d3ebfeb4ab5be641043be9fe1dc9fd73eab18ba17bd44e8ea5a53653f9b7d72efc322f8c3239e6af6ea45d5da3bc4f477d0a70de3470d0790a07bd51675ad6fa34313c343457b12f0c4b6ea8d8296bd78ec0058bf581a5315e1287bea5c5b48c580ee48bc551f796d6d927d73dc7b8b736e61f70ccf09a00fde25be0b730f5be7eec0d2ce3b1f55c939ed6f21aabac2d5fb0de5189dda356c95bc0bfc03e34e19688d0dec05ceec622f68013d349bde3026affa0370fd722050d2efb41febeb3f2f70df054046fe537f48e7d985a7f053386e45cea3927fe622577bd3b601d3f5dbb15eeb624239f2dd959ca9dd4c0a1bf7f3956bc72c2a0986dce254f2ebd96afcfd732c1a97b869333f55357cc75c75cc43bcb89b7f87dbee7d932b7750ff2a4d2d3aa6345e43b57bf610c60f12558b5fd6cea1c25b403371c9e6c0bb848cbe7e0baba242ebc01d4ad81cf8b7ce90d67a3fd587218d2b2ebe416f9dbce5a6c3ecd21b3130d66672eaadcabbc19f1805dfbfb3e7977cff64fd737c69b493d163f6363f2d1ce7452c75c931e8af85eff46e216db29679b710638553ac1f883ba47ec2779f77fd1375a8ffbec955cfb47267bde4b51f708fde45e4d3b8bf87550d344ad8bf023acec9d9ebc5fa593702f473306f9208fab7d7b5542a75815ca97c5b02b6d128bfad698582c6faeb7b9a119fc977c482f5fd22d44e372efcfdfdb1d8c2abbaa8c23c931ffb5d9f2137deb28da56fbb25867b4991a538b7d071bc864d8ab23c6c9ce342299ac2b0bc9e604db8ab8c677fdafe3a27252d634d7b530d53a3e6abc5ac742eebec99e6d4b19ca61fcfe45b835da71da8758ea739c08e1194e04b51e5eb57018a8111b780292c75146edd3762c8ec2e426f1af2776937778c45b76efc86e7a7f770fe72bb29bbcf87c6ddb4d2e5bdb4dc836aa319223a86baeec27718bed2769cd9b8532d1b68aa1dd4ffb4aff590baabe6a7a97c5e1d5174647243fdd10eacd28d93c02bb0bfaac0ba5b6c380930cfa8b0e0ffa758b6b3871de037cc1b96d2ab12bcdb1fc22795b0d63ffb24b21ca8c12fb7702d8bf79476d43cd6b190ee73b6b0176d7468cefc8169a6df8b8c141119d80f3e04bcf5fff02b66f25cf1f62e794fd4af3da77d85d350ff1d6b97a512567c1c741b2c97e88a9d3fa5aae6bc92bbd85fc4ce3ee89d30385397df2c2124bfd1c5b4ff09b70bd7d355f8f38b0c4a6ae73ef86e80e94ca9602d9692d6eb6d95d135fce2965bb1ebaaea5b9e5d498bf37e7887a3fe088ddfe749c3d735ac64b08e6bf1e14651cdfe40c9fc6c2249cb8298edbb231b26935d1883d21601a38256177ef0870533eb7c3538fa9d600c409757378f32d6d83c6beb61695fead6a097e676d4c21678163e4a4dea135d7ddb6b151d546f0ab0d1b3f9bef3afe0df35dc71eba7b3d080f2473f225c027256b22a2ed0fca279cc63321b8747e0be90c35da15f626b7cd64a203e498704c35f356c54cbf957cdb0fb64df7dcd2fe227372ace698ebfd87e45c631d3c9d17f0691bf7e9f3cf6a1ba3b4c7fbf618cd3750f15e8c5f720ab310d9ae6dffb583cff9cc939ac96e5b9c70df943e03d4dd347c06c8dbb19e08fbb08cffdd57e67befba5425f0bbbe9c1fc81ae43fd9779655933cf00678df68a696faa211916f99b963b65cdfc40e45b2a48a519e90cc074e961e1b08f763d45cca3b3dc81d3d38803f160e7f241767c8a7a1ec28a38ce7963ef118fb36cb7e7f3b68d816d247e63ce585dbb7383eedff373ff089ba915fe74294f907a6580eec77e770e6908db19b9e3975a3f8cd58c799b336e7a0837b00b057bd31eb3afa73ffc43db2948df091ed8428fdb2e48b35a831c9b5842fd65d3a4c0fde5c717af727dad5e786775f5262db64492d419aa962878f51dacdc05bf49228e124f00a3bf18a09bf3273c0ee4436f233bf75a7db09f9b6d9ac912f7eafd6e4fad14fac72c30d995ae683b773e2bfe7b43f45eba4ec51279377c7fb63ea883153bde326a5622e9d3aa3dc6bc8af6134911fb8c705837c11d7287dc2f76c672d162ea7a54e12c7ceb4b29b61ef3ae6fab54b571bd622f6a2f8e24955be13c992eb0ffa89ff0e1e6cfffb5eda3e6c899f51cba4f7d2effdb97c01b9f65cbeeceae31377e05fbc8186fc9a7379dcbbb3a56fd72383ea39c6f1a32de4b10db3e2b1afb8b37ab8d2e28778f28641b2e3fd6bf2600b977e54156723e7e235bfe18b9958c7267c3dea8bb9ddbe00677ec2b76b78fbe4bc123a80cd6beb7602d79a51a2903c585b3e34be89b8edb679f5bc6fcf7cb776be91cd298cd56bf1defe616d73f6e76bb9ba06c7a69ee2559079e4fc1fc8598c5f6103365fb7bc203531701ccb0023da595a2537d05ab50173b7670e85fc80eb32bbec999f60e4cdb34f8e8ab7242fd99398ddab17e6b5cf3aa6632b8fcfeed42374ac6a730a646b9e28c7399275293a9fbc5b2d3fc7296d5b314ae8b0e5faa6e54d9feef87aecaf5ffb9612b772afd8964db699dcc6012ce4e6fc54fe6f20e09805f821a92a76ea2088016913435c1bc6dc98f25f9b68bad08cc57abd5d800da48ab51c6dc714a9fc10e6227a66934872cb26c1f566f3f1f9ba125fdedc22fb35b314d765db5cb53cc53b1ec42b7371758f8bab8be464925f9da28b672a0b1f631ca59da0c4be384dddc42896e1e8e216a37d1dcbd1f64d8e703ff08a11d285dcce2438c18f718fa69ddb960314f716e1a6eab6d385bc5899c03f4e7a4e81e3f3bada7cbcb9f7fcb2e4de7fcd8ab840f3d1b2d3ae14b7fcc9d9409fefdde5f278a60f3397f3aafe0d47c7b69b3f66ddaebd48d6b6ee585ab03387b17738eddde47d6f4bc6cd813802def3b640736a8d06b635df03cf7912478eb90e1bfc5e920cb1b832d663103ea845116546c9d93485588f4c789e8a7911657a52c6818278a6df0857949ccff528d3cbeb04adea4733ff1bd54696f8707f0907a21f93f211f782c6d8fa0dae28a88b6b73d4c4de51a97fc3b1ff875a8db2c6b0d1ef2f46bc17ee53a23f1ad700ae43383cb8a2117861f0863111e268497a04ca9a19dcb72e6755cd01c123938f4896f5e473e03aaa6fa2895511ab89517811851505bab4c66ec71c58b86fbc7ecfa8c1c9676ff8b7af4d1a90fe3fbab784518f655f6c7e803e425c0f9801760697a760eb99ebcc1bb3f7aa062dc9af7e2103ef8bc93275ef9ff451f5fed13544cb6365fb61fd23be347a44b6f5b9275f88de6c6e7a7774a5d53f2cbfd6b116ecdfb961a35e74d43c1fe25d07db5ac47242fa8b195c7fb34c6ce41bdc77c23eacb1948d2ffc2d5952d356f7e391f1a44846efcc45ea0bf2ab13223b68719a094acd1360f0e0a3ad2cedbae38c4bc73d0eae18a3fd34f612234273bb33a79957fcab776b630a8d61fc8734518f23d6e3f62799e2a7b0705d1d4f6aebd32f5d413e6bea265ec3c774053ba1deb11cf7d7ce5cf372788e5da861338c6d14d3798a932b44a5fc3aa17d5bf6256f13648b29486f195e728358065d67b043fa999e53534b3d64174cd17e8a7a9fb9ab9f19ad8c33cd21cace367cb4b2b6242792a7de607dd9590b88c5cfa46daa84f6c919b36cabff3873049ab7b78c5bd9fc0e7ab3f81bf2e13d715ad89676f58ef9bb1c7e844b8e5a57b8afbe77dc8e30fc8fcbc5979964036e11f6e1199ee6e6b5f5e8846d11e8f3c27117917a0ee9ffeafd26e0f7d27522d105ec66914994e65e40bff5cfb53e447e6306f76cc86f5c77bbc6eb0af02294d0c175e8c6e897cd615ca0751b272b82e748b827beccfb7a8d39d885c08715ae683ee2649ece442fa5e71cd6b4c11f76e234035b8e837909677a5eef05fc5e5f36f20b45b067628b23fc386376333f6c3919f77e831c3012a3009bdb927967806b9cac3b9baac93442be1b7a67dbcc35df348a4f03f923f1c5614781974ccf0dce5bc903ce5bab28d7d2fe8d5eff167b1e583ab5e7704de5cbca380fd429effa2c1da3daa3b589c767284ab3c796ac2941e66564f359b02fc6ea74ce63ce8c75170627da93689e462be34cd77f49333dd8c0fc25e97567be9ce4d00e670673d9257cea86fbf31c6abc59b053b645654b6d5441fe470ea37fe4c37bb80ce504c9c2f59d097760c7c5879db58678a537e62f60676ca99ee96d7cf6c43cb5b9985926d1c5b716f11a7ab5311629969b4416c648f704239b5bc4de6001b24f1b28817b5cffd396a1f43980a53451028f8b0f784d1a175f8c0f2567c4f7d73a572f61d7b6a504ae35cf74245f8e8b816dfa47c7520cdd5062478c0bb486374406ae2c8c89b03cae33b26f5f5d3da7649d51b8c0e1b0406b33b4cdc5af6534cf1c4b29d69cfcea85c38b63f930079aa5145f7a3e539309f062ba61309a596cec4a8b5896e40b921918bfc8289a76cb9cb65138dbcc53642f935c7b06f6def81492be9f501591efb508a08ea3c43e8aeb77332c2593c5d21ea93837f63b6bbe77139e9125a83b8e1de1655fcec32346f3cbdee6a617385f5462591ac51e60f9b0e8ba106a8a089ec432a97a5eb396bdf4ea0b79c30604dfbbe4d4bba729e9cba7781a167d7c951b90f3db328fd0858984ed38e0233cd03564188b13d95918970f6a812f689e91cef685ba3fc809834009edc63ec2bd48381e52db67340f719496f1460fb8ffc097849c45c93752e292d432639e0187f4e6816b13eb336bfeea5b4cfa651a99c76df7906b30278992e031b987de315dd09856219397e3b2efcf9fe384c8fe9fd3fd52e5b1aa36c32e7a7b4d20c681b1433aeae82a4c3d1c032e63807df928bac70bd747a2799cde9dda26063ec7b20fdcdeb055ced40df3e2615ec5a73e4f595fb821efdc93c73bd37589808be37106a326d3cc1df34fe757c7bee40ce73e694cbccaf6af7a7580378433a22d592f50a74261c055fd66155641791edd5f08182eafed1eb7f2dc657cf69f73d356184f1d359d5b348ed8c77582248eb4a6f143af5dbc0414ff007c33909ff56f41e5e76cce859a2c32c79c16a57cd1cdf5abade7651f26f6e1c2bcead525585980d9ef861566d533cc43d73670bf24b14f03da97dd6dd0bc56bde601d567067c9e8d3e7a884b4eba30ecb295b54d942389958b11f489d945db8f8ddfbfa4330ff936c14edcb26f80ea13846f2fc8a12ad9cd739245b633d13788235cc7f441f9861abe4664baaf992e627ba0c43ee6b9baa9eddf25c2957567332574b26a9d553ea1b6251846ef5f25164d2167f6a1753ebd7ea58f4afe7d49b94bc59c90bd5ceccce1513e303cf87b269fc8a29c286110ae4cf9e20d46d9ce5a9f3ce1b99d0ff8d6a5ecdab06fb635bae1babcf40639c809c1ebc1bfa514aecd5d2d71a8ee69a88af5bc2e8f7656cee996330e48d62d1326a37b3077425ef7eb8c4fa11c527f4f71bf9433f886cff6a77c7e24fe4770548a766ec0bdb305b55e83925bb4d92f13f15ed8c5153247bf77e11015e57eb0f1fd1fb1afc76cd0eca3fce06dbdeea3dce1e3651f25b732272739aaf81c52b44ed1f976691b257c81ae73ee70dd8cf092019fb11cde02e08f3fc0b1856d29bf1ce012243d97d377b8978e635d812bc6af8ea95163f3d03e4c3d861f6deff34cdb34ed5f55daf3f2b1d197355e59de69d685271c91d845a804b42d2a87f9a6ba86ac9ff500d96760cf06ae34876b5ab1946c5de28a34e23919e923061f2173457ee098b59e9a59f97b75bcb201e4549dbcf3b23e4d3bf0b9e15c5f8fb2dd01e399391bf60efa6b52e2d5405d57d527f193bc6169cbca21d4fbb0a067a76b5ec63dacffa9ef77eac3b16cdabe4ddcb452de93fe4a82333e89a8f979e857faafe97195b6991c7e9c36187fab50858f5015dfcb7126e81ba1f52b87510f964270fc69cfab4f7a5e4bbe51629fa1f50379989e5ea8d342a7b13246b0ce4b7f4a16e4a7f72cfb4549cfa5a284ceb3f70869dc8ce7df02d91af9eaf97df6e16e5c7f8706e6a3b90e67faedb446f6f8d678ff9a4cd01a1bcffa7047696cc4e8d1b7310c65fe5bb81bf5f77d88af80bf05381c648c56508df14bca47c8a7de16511fa6098dc1b175b973ec8623631bdd5e7f8ec5710b013fac920538de598fad1f5ff1a1961de40ff4038a683dffe15c957b013d7f246f18fe73ccc3394f3139a48fef715a7ede3ffdb693b4b33b71aedee144f018832fba27f94bbfd13dcaaf68df6e7a6ae0bbe6bcb587a81e7e38de833fb2cf3e071a7024f9e3533e17f2c8b116bf7c91bf2d0f935b5f7fe70e72fed00b9022bba3ebdd54a9d5af2d28e0afa8263ebe0c156aac72039bafe68f6cfa6b5ffd182ffffadbd0390af46da8bfffe0db9c480f37f4573c1bf34995ce0ce4ebadf5eb7cf39139a271df21db067d13a9af3714cf0dbc8bb9ae6231d6a0613f947e4ba3af5b065f76722673ffdab2393a3166489dc70ffbe5bfdb4754bfbc743ef9229b69095f34c639c5b913dcaf42ec62617468e6494699cb111be600d804abdfc42628b1a0491ca39e0703f902ff857ba8eaf729bf1ff56c9293e9da336dfbfe593f3eb63927e43b5a7deb88ea5d19903abbb0f4ab40068f1eb034c4b267bba7a758407e41d553ce95584a3567361bba9c3684ef1b97fce3ebbd9df0d127c63bae759ab12875dab4d469eb41fe8ef5dd1e7236f2967fff9abc57b55865dc8bca59a63d76c41fcb8ef2fe161747f02e953fcb836cfcdd35f933eca83f5d77c15729b31be3aee544893355e3698c5398ef4f212776e134334a4ca0a6ee2973828a23dc42886dea2c8e2350f3a49b4f3124da6b16b0c566f8bb6fbabffb7fe1f71c94710ad80355bed32b7d7158fbef7f1dd36327e46fbe087cd00cfa96aa886cd933e30e3e5ee79bd1732ccfe97bf6c9c511e6246c8e550e7ffced368eb9281c6bdd8dfdf1288fdad7fdd6b795b7ef899264e83f8ce5dfd3f7f80453a28c71f6e251ecc6f22356f9fdd4675306e8590f5c8e4712679b96be6eb5ce0357bc85b8a6f456cb76719ab97db8803f7dce80c9e463d5cb76c1b8f115cecaafdabfcd3af923484f73e61679a08ad18f7a563da1c439d6fe80bf737172ccc52f3be17bf9505d217f2b6d91b2f677795c67481fe2de3f99c7180aef7c1367789dc92113527832577532c9e4903dec44e3b0e394eba7d0385ea8e24ba513b0dd13658e18dfc1f632d7af9b2227d71ad132f6211e6d6f00ebeb598e2300acdcd2cea5dfb969435d702d37c41f29fbe9376da304723a6995dbd1e510d7fd2c021ff074e4331d83f78a7c847e2339a7d01dec1bc7777a5ebf1bb6d9d39f7013b67db59da5c5aeaef4becf93bd8b75cd771c030f6babf49d72e6b7fdca1656d6979ec72597679b33a3ea892eb18cccd3dfc6323af76019fd3e8730e649097df1e5ec0f20be873175a6eb440983e7368864ff066f45830ba383eb96e46ea41f7275fcd56753c7ad47de8e1ebf917b5c63f0dc92cb18b842f0fc8e607e1de092e8e3fabd856b5247f92d2e959e4b7f0303bdecd9f60ee735e48c719c1ecead7bbadf9fd5ef06adfadd2be0556d3ede769bfcbae4a25fb3220e4c2e6ed7efa616dd3b78a8f8cd6adc75d273e56c5817c6c432147e601e74f60fd6dc7f3fe917c535a03837d0ae01851827c1e93a3bc88fe1d66f50cb231a8117d7757068aedd82d4f994c7b04f7272c3fc4aea028a7f8719ff3d97ed531e5ac259039c3c26ce51ca227fb3812730c35ccc927275a78467f01b3e3fe453c33d42aa7e7f2ab7d7e6ae636d527d4dc40f3cceff66ac9ba5e2917a554ba98f08be95d2cfdf7d1c15980bbbcd5b1d1fbc84c7b86bc057bd4e67169399e263ed35550310f99642e20b3fc7f9f82ef6b11b537e01e5fb3a52552fd3cf4923297117f7face5c142ef25f38ac577de116ca220bb9f92f3dd7fedb722d70c1d537f3885e7b8605bc3f714f7f5d8d99d7e4f2aceb6ff509e470a89adef72fa9d9eb05d8e002390ffd5bcadf5bf72be546b082da6a521bf8785eb443cf15a7c36d19e398a0f1919809e646eb3de74f7ab45469ddc6c4019ec3fa9db78433e6a1dfea0ab51038478b6ba2482d04b28b3d310f3e8d726d6a936a1f84790af71f8c629b6dd41ddce177984f523b6e42ce3252c51bef16fb94602a2e7c0b7a4ea26a0ec67caa262c0bbea8a9e98e35651d6bc168d09f33cfec227a853ad3c7df336f4cf8fdcada57096a5132e7c056b5003ece43643beadc9d6804687e215f79d4ae7a3c2778fa1597cdc51d6813975be0352c62fc567753dfa3ac899be9f991e6c0c13114c813d7e736f7f6d7cada12beb97cb0320317f0a08e1a922367f0bd75c5ff92f293592863971b32903f3770cccfd2f329c6925cb0a44ef305fea6eabad7248ea64ee698cb72fa5ee95dabaf96ea7bee8fb6dc29e572b63381cf0cea0ac0060b3f4255dc6632c6753f999ce1e3b82bb671b777066a5dd735aecc6feb11b7078b57d3f3b72ade087c792d8c43e82bb3fb72637f82415cad5f796ae89b7effbfdb7f3e563ae10c6bb7d747faa1be13ed5eacfed63b6c1c4be11c4bde5372a45727e198d5b6fb5dc89af40a16e73af451b6b39c58b5ba8ef5f2d530b06f85ef75ac2fc9df8d85c2cbec7baf75577c03d959e5f5f41c213b2cb306e057b31e8e9f93ba8c3e9b458b3af6d5c1e5f2af524e01ef1c19bb6ac2f35bd8a5f0ac09ee7fcbefdfe55d7d51b93a52f4fdda3e6a45c7d8281ddbffbd9c0e3fbc77bea48fcc3ffc761c901a0fcbba8976b5898fe298ebfed8209db39b229dcb1f887f143b02d47695b8a6bffbfde831c1b7ec883f9cfbb0649b5c4b6b8cc7de8cfb54fa85e4f25255905f65416ed4d0b8159f4855bb0d7e698983e63ccd6b062fb0f689fe59261ed44ffba271f1497d995fe44807bd3a615ed9e7cb649f35ec8a7b7aede0d92f2a9e7d21df3c9d87691aabd2b9be77b4e06b7cde49a224f2d318bc296eb34faeb6af9689525d5bc67d7af904458359992fa7f961c2cdf49c81de53986f3993714d17faffd51be0d8b863e6b18ff37624f735bccbe12d2c65967c1c05beb838c93193b9c7358e6d4a1a53d7646b8c3acd425f5200f3c902dcccf55fc0c8ad6cef666c40cf991a2305f785d2f18199f517ea06bb791dee9e681c9a3d972f547f66f50d4a2c8cc0bbb7eafea0ef310f3e4d9ef59bf5af80d1886c6ce00eafeb7c530ac3bbb477eff05bf2427a1fb5c0e17cc079754a7bf70876e101ad0339a27e8fc05ec3bdc615f7f38d77c37db8198ce272cd19e2f408fc6e63369d09d1c535a72f5a695f9b46848e7b459e34f085264eea4a686e1bd82c8912da01eed7b213255418ef68c47258fd9dd8667e777419f929e8dc930fb575fccd63cafb052cb603f21bbad7ce5a2cededcbc913a244397efcbfd5e62351c2805d6d27b857ae5a97db6c2ee4b79fc425c97ec61c34758c947d8c91ce4b1f86a5eaecae9e58dac968effc045fe156f94c2e35efaa2efff28a9cb14d7f6527a7574747fff65ebd22bfdad6fc4eafbde551cecaf5d2f83d79cf1ed6d13d0dda7664279f6398c31a372c255b1ed71764c7cd84b8e4996ecced933e924bddb30c765e40f836af4d0e41f04dd1efc16a6ba339c2bd8cd32cc4feec3c542539735926251ca065fde969b6e1911c66fc9a93add177b2abbf5faa8aefe98a037dd1c74780734638577169e9aaa29da380b89a8ee7698b39ba0255e46fcb649b11ceae4215cb5ebcf4aa4a5ae0dcd37b17c735a9cba4f9f7339fd469aec6939e3cedfe4ee7df37c9fb9e5e475e318a704da411c9627c91a5c5cd31e701e4e7b1fefc2ebe7bf5c7800dc02df528b3ad35eeff17f93627410a1890545cc3d18767dbd20e3b617fb5c2fd3fcbf81ca856eacfeea774c5deae96f07edde931ad1ff6de60fd805bea6c787cefcdfbc93db0f18cbe6f5cde27faa7ccb935736d7e8aec291ff8b8cb7a618835302eb7b8ba141f8c17e617a45f9709c492035f18063807195d7692123b879459566b5b698cdbb7d62d9cbd6718e7721fc679f180711e638c73c2db53e16c6d39a3f013a3a0f1cda1fff0f01eca87b4c07db504475c8c19f4ef591dc38aabfe0db4d7c477f48e543f52f3fd6d9dbcff91253dbd0be67f294f71296f71cc09e9d302c7996c2e485d512b1cf385e08a3fea748c29dea9d321b6d4a1d3d98e18d681fa8dea3db801d641299355e983f70143c8e63d6118b9dc62fa298d02f7b840eb31db8dd99b9a68b1638de63b73f86b670e8faab8e677829dc8099a9b05d1bdfbcc3fb007dc639067b63502be76e82be8e65f3aaeccf9498eea7b935811ba47f5b77527b123e0b4ca907f7dd44483b1cd38f30aa8e16bd638834d89fd14ffdb6b8d175f84dacb4c13f9c393fba5ea04b04a2a7e4e197d4f46c3183448af084afc89ec8a6418b813e473c16f1093b2f4e88deed9f68ae864eb51a2d0f8b6c7793a132717afc26fd3cab803eec3dfb0ac2f045315e9f8c1e3de5d269dd79e685ed54fb0d91bf6dcd9079b2c2f2c3d1fafcce8b2b3169b1df471042f2a6018e619aeff77debf042543fa14ff6dd3f6d8eff9a8d1fc1f348e325f83c6a05a159fca7e67cdcfb86f577eed39ef9b3a970a9f1be77d5a7bb7c69498630cf302bdef743cb398ac31d6f8fd61acf201ecabd015f9c30e6235dede4ddecfe0d31632d46c603ced7da50f3e1ff0b4e93823ddbbef119c63a44bcabe72269ce9557d0d7a5e88ecb4b25e849eaff5e0797ccc29f237c71c42ad9c334e23558cef5bf4eedccbebbac8710f04bd269335c68795a06ef9d53b32a93aeda9f33a2ecec88efb96db546468feae2fe8017c1e77bcbb26d40e65dfc61e9a76f7a02f9ed0bc673e50c5ed3f109b3d94fef4f6e97bda5027073abc8d0710231ba773cdb5fb758ec8ae1e01ee976dfa4199cbf842b639eeb57d95633e74c5e9655728c01f5eda58e5fffbb8ac7d4b639e711879e2f4e2082ce55fa0f3b4d41773bc37913f27e68187e4ba48c90bb41fa3f2fa51f37ab1ca53b77ddf3a274e309066d23e93b773c0e1eb594b9c5374d57628853bf04255f25347d24ecb502ee6829ced4403727df8efde381c0b984ed2f9e4254602ef1b2ec0d7777436f08ecad52fd8c81df817b4cf650e7277b16a225b9a1fc861fee28af165c7048563daafebfbfbc339aa8975dc3294d1dc170eb73d97e3c675fb3ddc772160b1ae3c64e3996bd8cf6ef12d9f17f45bdb837537a6dc00e92a3edc1d52115deb1c95abbb4d37187b19fb8272a854d85eaef434ce5274c559bc569cc57b1e67297e3bce22c97f37ce827372453317bac531943ad780b1a38edad5e1fccc31205777413ea3a30faf6eac1560974df03e57a539fe3d5a046eb288ddeaf72df9dd7871cc050bb80c10ab712ec806eb8cf18c293c488263e51cba6a3af64f6247355728651b72158656d3963c437c889bdee74c8da3e5dcbbe34c9f0f7c29b46cc8c395057ee86c5bec71ff6788ece751e1406fa51141cf670858d4783e275bf437ae4b91f6e8dfa50f9fadef6c88eeaf4ee7e877b446b3f506ff56c79de2481533741cf7eab35af1b98d99cdc060d4097e7e5f8e59154f706fef182bfe047d4fe3426a2033638c9e557e374371e351e1727ee1588bbb3a89f875316ce51cf2f56a3bbf3856c0e09ef17ce272e8dc17742ec11630eeea84e1b7631ed9726bf56814ae909ff0fff7a92a9d6b7ea5e922f68e4eec1dd26397af3613627eb6813e671dcd7b859f5e28570ff00df3f9caa838aaebf8bb350f677a2e34f1825ed2d954cecc42b901668b6930505b0276afcdef84211d8bdae077d99e343d7f99e9b9b132b2b0192790b36d918f2c3dcf9bcf61d07352553af16e135f0cf2d4c681cd66426b0ce8f73bfc1e7fa239b070fe481fc36f047b4e4ed509bee79ae333579cde488e4e5d99b7931c21fff98c653ae95b3637707df55d2027859fb3a2df15dbd1781ce6e1e1f8f4538278938d9f43adcd78c1ba26d227113aaee1e379ea2619fa3b7636ec6d2644843f077c908bc7c1fe03fcaf0df0840157188edb1c3e2a4c1567c3041b8225b0253dfbb39a8f1cead87df8ce11f21daa736bddb0069e45a81b7b9adfcf816f19fbb8c378659ca7aa14f87f6cf337ede83d653f3764847c48072bb486452573b9c52fbaae4b0e8707971b1e6c6b8dece95046b2c8e46f8ef912ce36b44d3eaaae57753a7e837cdc386adab85e3a9b6e4bcca650d565a8857a9a4711f2377aad137eaad74f3d675cce3fbaa281fda703151badf33c19c1d9a17078d6d9835cbea79c0ab1b505f4da2f8f5a4f4d713003ae2d06cdc310d9f5833fe0a3ace7cbc4b9d02f3dd795d0d1d5e322fd4c8cf72f9c1be5571b56ff2ef62927f119db6e410c39f7f1299cdf95dba720673e1747beb87f950ff3c293f6a12a2d0afb9e5e66e3ed6d5e44d9f371e557dbd45237f1ceb6394c5d735a7246225dd357b7705a74e45d69ff6d67699963f01777a09c6df306fd8ef2d40fbc64889ef70afc9b9212a335847ba0fbfab07f32c7cdf8826af9856d8d6edfe5df7ff7be7db5127a4171804631e961647a62c3ddb5d6d43cd6f10f818d40f7fdf0bd88afdef253689f3b665cd1f87213be407e1bee8374523759ef5d932f1c7d1451b9fedfae17ef7b87fe7a93c5cd36bb7cac7aecb53d703b3b227ff058be2bf7fd6c6fab744fff5668d91cc75e7e6b0dfa691f7c49b9678fd5b130e4c3d883c597c5619da58ad8dfa1e3585a119d367accab13e8612af3d794dc78ee431b61fe06d831261ba3677af75468cabc758dbd489f07581c949e3da43add67a543ce6518a3df0c49c13152e297eeb06fdeb0d197c779e64bca50b7b4956f695337817eb368999c32dbcc3377e06f2bfb709cfe5245e7b24ce6593ba6ba4c6e19d401d676f4ab43f25ecd3cda1ee77326552ec745769455e5cd4afcb58fac6597bfba7a47be2ef1a91a80d3d3f9d68afcad73cc38b734a5724b2f8df98d891d7a9cbf6ec30adfa4fc0dc942b0df4bbbd4bba72715f273c11dd937955dca6c33fa3a4b8f600eb78f31cb57a7183edac1610ef8591df6f199607d3de63324fc3b9c173b8197c410fb2afbfe5c1d6372111bcfb42d2505fbbfc4cc17fdceeb978987ec267886914c8b9d096ba6c4fd47df71ea240ec429fdc4a8ef8f6b57c19e877b4646e224c059cc95cfa4ea40fea384ce2f257496e8bfeff6d30f645b6debf6c83413b8a101d72cf6eee9529520d7faaae979e99bbd7e0a785d5379e084c2a42ffd83570dc9a7eff9143bebfe7621b67f77f7f710d7f9fb853b306ef201f81d637b60308ece0e3c882518057aa71d9cffb47ec752a5331db37add861def213de02abdee84ae7de775ed4f1243dd6665bdeff2b8cfc04f20becbf268d0fb35518e72a224d9d3efaa0bf95b875ce9784e40d5f3e4db9ed8e7933e45cabe82ba268cadff279cdcaec8078e185f9c42a1b8b0f3f9f3beab53f639a0ea11efe95c95aa58ccab5be4b58f3eadcf5b1ee54e39dcaab7baf57d53eadb9f55f121e6f1ea145d6b6454b89cc6da9c81e439d4cf3b927170acc5aaac7582baec29f699908cf4123ef2cd455cf2ada2eb6a6e95fa7eadebe87a00a60bb31af461f71eed8d7d2ca3f7cc495e5eed0153d7be99db44394ebee93f0e76aa74063b09e70787f7e571d2f11df2467d19895f165f7aa0f77078429f46178727ed7395e3a5e277e51aabeae2ab73a0361fcf4f83a3097826013bb9e2215d86c84e2d7b3f4650efb6dccc53557418c2d57ef38528db3d8f8ffe4fae436bfaaf21e1af69e78e711d4e3bbe787d125fc4f5678ffe72b6db5431cd358eff01bf00e332e906ea5536ec5d3d563194ccbeb3773589efeb26ee63b6b2e6756f85f4c17bc5f0ea0979827e87d80a5bdf633766ef8ff1c335be26898f3b7318b893d671c9e6e97e16ba9e4d37d799bb616ff4389d3b8d075a6289410c68087573746fe6967e96c2600c3ef9a16e6e3b30ceae392d3eb7c446136488af3e3dcfa8eaa306b8562f655d6bb475f13ec0b9f7cd9f7335d33645c5e14bc569bc721c3a43d73c658ddc585f2fbd889e59d9a3d9574fbec4eab46b5fb2ae188ddd94a729baaff3fbf5d5b5bf6455dffddce1d3253ef4ebb3ef5fd296eaa1b613250ca22f293fcdfe80dbba6bee210656c5e1d9d4811e07edfd4bdcd7b2bdb013a7181edc01dc3f7dae8b314f58639f8dd3434f7eaf942957a81149e2cbceaa7520d63d71e194f24bf4d2e5402671cfe6f990f7b66a7df434475680ef587e433a37d6a75b4e3fd12de55a21fa845e2f347729ae2bd4f7a92a556ba0914373feb7e988b2d76ffc03b9f183b8482d23d8aa6e13f8158fdad580989132b62de0effbe9f78d7efbfb4a4cf91d387ffc7f7de78f7de7fced73bb083c09ddfb090f52b2c876d62874b969e1000f07d421311ad4aaec435f345e7c8147ba3345f28ce2a4a4734a2457ddaeef8d324747e71b1c701a97dfb6e4b7eee7abfcb7f57b5df5f74cc37e88c9f975cfe41563d91b68cc0724d31d82775fd75561bc7bd21b7a47ff86ba26cc994bcf8902b8d6f8da89631ab78d185f765c7c71983a4fe98ed9cb4c50eae385fca3baac6efd925ee9dc0baddf60bc53885d52ef263fdbd3378c110cfafeea49f1d8b646e83bc58dfefbc168b8e6a6373456a7ae6fc2d71ed21e0c9620433e481dab9b67d5fc1ed2a0f487e858a583d63fe8e36daba6779ec9e13b8d8f13ab485feb39f4ae2e13e08341ebf7e0e87ba80f768a5bf8721254b5907fa47f5491c5bd331b2f5545bff425cec897f8b41ef5049135998b39aee8dc60e61d98d35cc83b3823a3564f86f1e24f15c02efee39c5dd3d6f951dddd6fdce75cf5f3f5c6181abd9853daef84faf9dfee27c55871d03758f5acf4f7ede15ecc1ff4590216e0faa77d84dfc5c53afb05a147902b3107312eecce3432a7bfb7f6a7f7322b2ed9befe96a386f10a2b1ce61217e805ec6fef187f8b0b54616700bf9bcf807ed26f05eee918baf32993d91bf6023ce6dfe30715aa84ed1b5cb7bf6eee71f1bd8d91c5a8e22455a500b846dd227f319269b64ca684f304f7c3a9a2f2589b4ef1d37d4ecef127e179fd9c3a810b75452fffb821f66357dc4b550fb34c5eb0cdf123fbe9e7eb83acc95efc27e8db256b724738ffe1fda63cc8a5c5467e41bea20f98002f276bb04ed509e9f7dbacd9999ebf94c7340b1d5b94d70d677abe298fad07eb666dfe64ca34e78caebda738c4743ba1f99eda3cf62baed1d7905b9bf4ed0be6fdc9fd0e8f7d0fe5fd978d1a4c2586b89dbe6fd5e6367b463ea575cdff2d0e5d7f0abc15992f34fb4d76d06fd2e062a9ea0a64414ebf4c7a6e78a6bd9edc848f4ade606fa00d5dd1b8ef4423f6cb7a35f80d6ad54aae5a7eb5618bd5e0cc2f8f32a95933eece36beb8627c718c05f369e671d9ef87ec22c2730836986329ccce34eec8f6f08521e05eaae2bcec5dc0f8e3b85780e2e4296d3ae03163a93e900cf78954bd6cb7d6dea9f1f7c4177e4eed037aeebd909ebf975fabcd04d98c67dbfa38357ac300c3af5143cdcca4f3c5e534880b37e66f9cc6aad4312ff794c15863278259ccde1dd387f5d4a81b115f88fca8eb4fdc22c6b2c2627974dc8658021b28a103d857959cd5edc4437e77ad832e4e1267be6814b3ff8fbdf7ea7215d7da857fd0b968c076ade2b2ca81601cc1a43b0355060336bd70007efd37342540601caa57bfdf79f71ee7628fbdda4510d2d4d48ccf73ab13cb39f19de814991867e9083d8db155f7fd705625cf8ab0e22d8def43ac413cf18a386bdb744739b07f7b43ff3835a1ee1abe7d1182ed73a6cf69a5aa431fa0df129beb03870f60638a516aabd0a37646dfbd38f84cc9f1e3e6adf33e3edd3c1bdd03b134a47be3f9716b64a11bebe757e250569e69e4fb40c76f4d26b58761ea05114f38dcfef646ccc514fa17bb68f8651bd24746f3cf5f6c41d708af23b1b1cadfe01b61afd13990cdfd7d173b02ef7ba323b243636f28a5ae00dc77679b95cb7ae46c267ef6a503f3e606241e7ad04f16f5dcadd678ae0ffb391ea72ed4a4ce190bf6e9e080ec7b7b33601d438edc97309808eeaa78c2eba755318c33928fade19d416600ef0b9d77f7cf3ad837e60ccfd7bd31050d3d45f558acce8e31b9b6e51d6303629edea5b9fafd12ae541d5bc0f18c384b9c78d3a80d4376f50dfe8031d97b43b6f832068c65ee4e5b213a6c058c0f659bd209be4f65cf9ec106d86724fb2490a9314bfcd25c0f5c41bfd8c167beec4947270fdfdc0393ded81b5176c65853e87ffe2f327f6fde7090dbe6670a3cf843de7582d545194a48b714ae9025e8bc3605c0c529d72c4163e99681a480e737ce15e8cf035d5bceff57afc4e5ace63180fed1ca262ee714fcd9c83dac1334d6aa97b83937a7a66edc248ad0d03718bfa77ccf1063e194322f0557e0d2b47aab93db8bd01eeb2b868fd601e3b3087aae18784dab7b2286e8f3cd9b273229d53ff766f44e6dbce612232afad659be3137934f32374887118eb820bb28c298ffe2d689dbfb4c2d9029724ea82c89b54aa96344679dd4ae4d45897702eceb7b025fea92e354ad6c905b798875dcef2b7efab6b04e9cd853abda3803fd0dfb9b2b03c964ff4d3a60fd210519700354bced818c316f0f4cbad598803a3b1b1cb5b6c6475371952c627a1fd63adb52337476d1ba72d1a12b2b3d4d3009602d35b22e2417d4f88dd2958049e0c65ee4f6d6b3c67d986b1a7a415483dc4fcbf581e487606feb243694154b93f4ba8e187e69847f7df598b72df0816d9ae718b261a83e564fe31d534b5864cb48540ca8c17325cefe7273ff3cd59202db31d7c63397c62c75022bb62afffc83df882be8f35584f764d15b9d3d037d53147b435f063c12f123a963b1835f258eb45dd9e652ea099343850543623280c726e8b92744c8464915a15e87c561dd94e9318bed488a9fde1bddeb171e3fea17ce6efa8575e6cd6099f4dfec3f46cf73f7cc75d193de6d95c2ba0ad2df55bf73c146464fc65cc5258618f41cbe9f311e58742e73e1da6175fce2a8f9894e1753cd1a3ebf27420f24e6ff14d0dabed33db8e519e4e3dedc6acf9e1bebd0b4e19205d7e71deaccd1c0261cecb74294daa21c3941e603a64a6d1f9f9bba48ae749142e351571cb8d02b32477b5239e0f8e554cdd2a57ef214f18357b4716aa3796cf442ef1a7de3eebfbb6e94ad3d40b676fdad80d90b7b7541ce88376f9875e9853737cf70af9539675a67193ae78e4ecf931dbcef1b3a03e3e650faa048cead7327ff6ef5ffdb43626320391257b11cbf5778124bfd13627fde3003d9500efad9e5fcc43eac8e2ad810d919ad5fed8be8cd1e7d64bf0895ece4777dd1e0916f2bb77ddbdcd4129a936fe789d9bb1b50cf1bf1478c6394e5532d09f1bf23de061c4018cba9e177d5716ede624fb1a966985bbf927f88b594dc9d987b7c586222f87f7bc3b09e338c75081c80c4bef9e50483d8e9c913cb981f5bf61d83f422b937599a522cc7d74a06a71cd8b7954e243e659593bac13887f7453ce8046c275faab34a63b9a9303bbb909fdc1cdd619a29829550b96774b6fd6ada0d73af253f1189ff97f64f43ff43be41089305772575a93e5b710a639d82c674aef339c0f79ad881bf3738ebf74c6762399e3b769066a64aeb092b46eb322d261e7dde1ac5a7577edf76c4768cff9edd730c9ab670c4b7f521cea950fe3fedaf22df8e9be1754636aa60fd9ea9d7ab22ec08ffad4ee469c57b81efb82c936e216f777feea6da292df5b53d8cf8e673987ff41ca7e4b6153f78fbc0c6d3fcc42f38ebdda2f013a706739c621e61bcf7eabf9d666acda76ee583c211a2bdadfad769314ea9eb08a7bc1bcbb15bcb2e59972f903b37756a3efcdf961afe7286154f79f24de562bd119f2e029f453a9c8a25d4793a354b5b36d9f8c6263bc817af57fb6110c7e0fcc836093e5457fc87e238c07bbb154b69f90b8d584abc69c752ce77622979472ca5b473e8bd9c60cc9aa6aed6c49bd859eb8cda9c699f6d65ea8c4338e7578755ba3eac521df06476c55c9312459c9479161df22c87153f1dcbccd29c304a3c46d7f3c80e7e80779c5a684d8dc9a18cc9d1b81d2e35ffb7b829bce0015e0fd8b97bcf9c330ec796f185a469c78ec18eb5548cbf8579fad7becd96b5599be6b30bbe196b39acfe92e2cc77628fb50c2f6af63bad92453587953f7931720fb8760c12279aee19e80db07bba6f739b93143107d364de003fc4d800c77c69a76f882c405c901a97d5cbdead3cbb82ff0fb51db43d20178a60f1f439e80eadd81d66c7fa7a224f9bf67dabc67ddba1156f87b89fd5edad7da4279cd86bf9174cd3fedfbf678b8345fa5a1bcf073c59cb40beb95caecfa08a7794b64954aeb3d478ee97c6fffad6928132014c75a845d6489cc42b6efc974963dd4d17d6ddcbb33ee945068c63db94d215ba37facc410ef24c6bdcb799fd45704edf5679f689ee5d95329367bf9bd78eff2a63408b709c6a4519ebdaa4db7d23e6b45c12ac285c6327e7960935297f39517a35b504ea4575f009278537f62227d631ef6f90c94bb3ccdf640e2d8bc8d7a7f64ca00c6512479452c0ebedad2f0ed11ff8daa6eca3dfba640f62081d3256ffde2d4bf0f73b3283fed658731ad32eaac7d8251730ce9eecbb63785f515da7d7df41ad2f9a87951beb1bcb708312131563e35d2bee3ce9669e656faa9d364b7dfdfe3d964beca8d5d2b0eef7d888abf48bbbfd0e825d1996ba7b71a8f20d8407bbf97d8b18e2e99df3b68899ea596e1c9ded22f99bea6158209f6d2b647fbbbdecdd61d3832bca4ff44ef6fec5c9bec59d0e6eccb34ebc1e395c067c541267c736e46a191e9d17fa30fc4b8afd747b001edfab1b4785632405f4441bd7bfcafc3f9259978b0e4e00391cf9693c74dc4fb7e88cbafbf7b01d63971b3694f6deb0c134c29d47d9a3cdebd5f04dabe37d7762b4104b04fb5cd257c9532cc0c92cdd04d9ea7e8d659a7a6af6f7540d7f9905e34f8793feb798953ac15f6aecf7d4ccde4da49f8047755dcadc6ca99feedaeddb03eb2963e9118f80eff6d6a28de4319e304e4f223178ea0cc3712538a3085f45681bb6ef191983751da9e741b6d9388373aeb491ac16ae7f937f86c908f63ce0186995ece9d0abb4857a217f69073e333519ec0352fce854deebbcec953c7ee0975663a7b87cde2c8d6794988a6d424c484a1687d5ad2d93fbf9d46419f7d0c87f01b625b6ef910dd4ffabe2256c3d03f261c83f3ad4e3fa36d93df1e3a8dcd2e057b9564e8fe5bf55ff9765ce9935a79f71ed089f2fa2554aed4be4cbefb12d784cabfaba31e44cca9ea619924d9cdf46e78e74a6ee8fe5c01f96318ce5e65ad6dc094b5d66a6632935f36ca208566a0fb39332964a5f94f21599d47a05ff12cbfcbd1a81dfc0176dac6239fa48bf86fe2f37e67b6e910865ac9fd8d16f4e0e31d7320e81ed0273f6e6880ce647d24e388e6f7889db5b476e58af3fb12fd1797e4032669bf2acb223496da88e6c4f64aff6c05e6567c53851c67e69af9ade303c5b6a36c558899b62360c5359245889e38499aa035f199f480e7e964fd5cc2e73f06a6f95807d5b3d7b932893a47cb6489e6d55cfcec37453e2304e7cfc6c413f9367335335639c3d7eb66df4e1d94edce7bf38d0bb6fcdb839e9d90fb28b17eb397017b3bb375cf3fe1ed4b16ff74dda7f9ce738ee1d58c6fcb7dd932f9e31081781b49f1533a4c3f7a5def7383ff104cc110c67495e722926bfec983f7b13afea33b7623eb5314fe1d111924231d1b9c49fed5c7afbe26c74169ab6111db6e20a8df7e2082bfab99883b27a6e95034a3c61926e8d59a008f38b83f64820ed17a35d1ff35cc25c9c6c83bd6e8549b13567c1e2708a916d59c6bda438622c232b7944c9d890cd86c6553f73be97f70bc12ae8e77a558fe1063d775f9f8793d0d6f4b8f5ccc831d17aac23c5ac7b16d137591c9f3a3de94d0ae6be2d6c583b9ed1df5e547d4f5043de1c9765aca3b961efe971b9553f9c74c23ec9ec85f1113ba1f5dd9626c71637cee9e75b489f083ad31a7b382bac62be6f8c1df3e336af8bed78dcb806fafcd5e67bedd8f65bdf54e6fa1e5e67996bf41d01e0913c7e6fe6193cf3ecbdd6414f1c71fdbd35faad39b4634ba5e6cf90d9ad91315ba35f71163f7a6e95437b3e87c597c1060e776dbd7f85aee366f41a1aa7e8cbc43c98adb1eead42eab7d6bbea07ea92773b9eef677bbf21578e1021bde93bc3e7d75a1c7f223186c6b5377b53d0539b609535c65ccc8a592ea5563cd96f39e8313ddb63fa9db381b58f82868cc4fac136fd6b6b4ef7f35862ecfd073da72960583ebfee649b6bbf2d475611050b43a2af03fd59cbe73d3b799cdbf1dc9f05525a3f0f69d559f06d32bff4c3aafb7c5277c1f63007fe63595c25cac466a0468a8b0a4fd0f3da5eda1ca518ec6cc91b86e9a3e77d096c2a0599fdf43a63727286123a8b9ebcd7673cf12350c4f579aa66c6bd73783a04dee6a314645b6f58d6efcbe7a579f26d6ec2d85a7276820cf934fee27002595d1c4e559fd72290ebdc6fcf8edcd84e9d9e672d02d9f7ccf5450ab2ab65acc3ad31382c02e9aaecf5c8515b723442f225e5cd7598fb96d1d00f8567c8455b7e2d63f2aa5e8aa52083b346e74a0c3c3970b82c7c659fcc472ba6f11e53bf78ed73a6583173fa4c052c86f1e36beee8793b463a62d638dfdc5e7442e7f6ad1e9def4166ebb90a3c234b6df346efc41687f631fd7e243f7adfbdd121b7efefd691b3eb4c98efe77bebc1feab9f3b1b7deeadc2e25ed2e9c52cb78c4964ff40afcf0ad9b70c3d7a454f765d8bf3a62f5c27e82757c87c4fd8dcb73b3ac73f613c514eac837e73d6dd19fb799b3fbf6ecbe903c2d5dfb2932c662edcec91ca1ec138ad8df5e4e6fb15d3da7b951df9e4ba87b6d1b3b174da4685c5cd476bbf71b69b1883b3b50f026b3fce5a72c8555815adb9b662299b694d39bc7bf6717230d3c6dc3cb8673fde9ed7ddcfe7f7e57cffcbf6381acbd132e7895b5f8ffd31ccb7eb3b42b4970e2caf08ecc589f9df9611befd8ffa267b375f8ca49cf64f246e1d36bfb1c3ced987f97cefe6afc87675ed0b7afdb1cccfe3852671f3420a14e1e95ca75b731db9f1e4460fffe01905f06ec66e4bceacc16c6ff566b49c95bce94faf23f1ebd6deb147516437af83789a341cdcdf4b07ef88bef1453b3eb0f7eec016a4176c64399e17516805cfcf1f2bb67a0b631d3cd3855dd7b904ebafedcbcde34d3e8b372f9c9363ced6a4bca1b7cd396b1de66d1fabeb999dfe93a5d9d16c0f1c9cafc86aa70df39367b47cec27df863902bbaf93d2a7ba8a9cc926179d5f9bf328f584e8dc2ddb9d735ffb46707e4a3fbbc7fc2c6c530f9d1b5f9acc272de7c856ed3c03bade713f6ed02517684d1c61c2d81536f9d375792946d1f1aebdc3b110eb6b9dd9bdb9e6667363f3d4ef9e179bde4c6bda18f77d43979d1763b669e774d9be5dd7ad2f56af3c079eebcd5bfbe2ce3d26933a319fdba3e417dc5b24bf2a8e520dc930f462068ac073b629c78ec0f78c11e6447772aa3ebd3806b3619fb50d265004da8f5ca1f9ccd7da8c998f3e1af1aef5c81faf379b415327e981db6be91966d55f8ff5c9e2aedcde9e8f8bd1e473b69965f7ceb6add17a47e10bab703e5c052fece3c63e23e744537efaeb501ead42e9de9af89eb86efb07cfeeb9ba9ccedac27b6bdcbbfeaaf81ccf1a7a06d684d4a426bfba6311726e73b23f1d8db9597eddcdb4f0aa0c3fb2f9e82395461fe7b91ad2e320fc6b8fe3046eec0596bacb16da389546610f3d6f36b2ba9e8775db844fdaba7b31b6872b461e3ef335baaeebb68bcb75a5e787aed96daec1623cbbae478d580a95fff9f83f0fed81eefb7fdb66d4737a72d8be76b61967ab62fc82cdd4796db7ed50ecb2953619cd1abaa3eca768cee16abfeaaf3793f10bb1a8099ac3c5586adb66c98d6dc68c8b55b8e9aff2677e48a7bc63ace6f659dcb5ff0d9975842cba8dd3ddee7b92037f2a3f3f8eb71bf6c58d59d6b9d1df1d32f7333f05e27c8bd807df02cd1be40ac7ebc8e2f80a6f4e3ae01a00dc5b40bf6bc23abdb6fd396356c5869b87e357cebfae6b43879bdf9ec79dfbabeb4cd327686d1a7281afbbef936f36fdd966326ad8b686ce58ea0f64afcb0eea1cf3fd7843d739456231891374fafc5dfbf5d5eb0adb78593775ac47c7febf6f138d17e3f564ad85f7ecafbb7181ae3969c47a6ee325ec5adb65ab0d8ebf59867cb6838f73190743e7e1d690d9db5861e37cf3ad7810d73a783e700cf9d28e57ad37f268b5f7c9de9e5c2d637eb4d59fbfcb1526fbadb0d9294ffc8da6ce99e4b6a8274efc5edd773f6ed77a5fef139df57f57dfd7b58f98d57531727b37f78cfad5fb30bef1c36f0b9cd8aac777d7676dea688bcb2edb839e5373d929d3b49c76dcd37d6e31fa70c5487db227f74e6ffcd3f9dbbbe24775cf433dd1dcff7bb737fbf9bba87beee9aff5e8a33f2fdc2b968b756253738ec7f7e84cd2ffd11ad95c5638c36aaeefdb59237f341bafc8d8bcdce178eeab5e23c81f2de2c1c51beedeec38cadddeea846bef56495b87cc46bbdebc28f5d2a46fb79ef3f0fa78c2593fb8de11d6c96b7aa3b1c6e9d69c5feb7dd5e14f37d737f58c1fcbdfc9e1f87389975ebfeb9ecfdfdc274eec25ce61f7d27a3fbaef9e8e6a9ca587cff8a7e37345f962717ae172d1d9ce7f285f87f94bfba5a147712d34ebd6ef7ac98e767b5e621f560ff759635f1eecc4517ff03d24a674c72e1c58069bbeaabfbfd5ec621de6892d44beb3ff9ff5bf17233998c59b86ff6d6b9fd12cde30afc49017da7c3f2face2cf63c8b3c18c9bf5e6fbd91fc4907ff48c87b996eabb9ed738c4763c0f67fb66fefcbefeb1b88520074dbffc36f6dc518b847b6b6ab9ef8893cabdad1031ed385ed9b7dbf5fc17e629b70d2ffa123f6eea35169acbcc1bbe17c6f07f7e5d971fb061e7c5b83f0b1ee73716c23cb0e24943aebaf298d575afe4ac3beb7f667d8b9303cb583dcda1778de96efcb8f0f7562cfbad3cce6dfcb8baee4fe2c7dddff02cdef4e49e3bf1a68eef6ac79b1ebfe3ae4fd135bf4f7c8aaee7bfe4bf74bdeb4e3e24b20a979b35fdae3b791b1de9926b7bcf97d8056d3f6d216c06cd5c69a7dfde9f697eb4d0ac07f138fa9c1af76d2de47e943b66c6d7c5481eae87ff38de4ce9a81fe5f4eeec59168d837138f642f813cfb8de597afbca9fcd6bc82db4dd2bf33a98efc37e6b5eefe7c1b91937df37f3d42fd5367050f3d1ce89dfe6c13b9edfa5efbaae7b18d7ee7cffb3f8f51c6a4f5a350277ce878ee71b6bf4fc0e7dd0f9dc0a23a5f9dc75b4d0666c33277b377f16da5a58cc0deb07f9b3aee7678927e8b965b4f775c7b59db9c0aeeb3e7d379e9cdc76fe5ed80c66851edfc6b65eb8ae23bfdb75dda39ad29930e3e6c5cdbebcf5953989b5e215b768e63f3ae32ed65e0fec91d57fa1e636981b7238dfef5eaa85ea7aee9d1847666972f08a5dd479eddd3a54295f68ebc0bab787baf6f35e1acc0519f2edffc4aebfadfb9b8433c3ca676aa3f66f3f37667dabb0baeb4dfea896fc8578b5c9f28ac09f9726e672758230b58cfe4daf4ed56731f1303635d7aff0821d0ef090ff72e38163ebccdb14f92707348f9bb3c74d7227d80515dfc4f093f4fb7d1ce87e285bbd0672fe99b8f9e7d9e9ad769669fb5b23c3b89cc3cfb24f05cdcdaeea37197e26ce61ced806b21dc3441106e7a9c9a42ee070ec987910a69ed1c77d0ce2fc3c55b3bdb3c73d0ee86f8e40fe26c0dfaef86f5236cfc3d48e6fe7e0e758dd704da488d2af0d6095615c6eb8b6c666b8dcc18900ac4bdb747755ef651ea65b8db92eb8f0dd294ec9344f134b3f25a6c636b039b63a85cb214abc371cec2d234b6b7cf0555ae2de1a3d34a639f49ea36ba6c226b580f70df0b30736c1865486327065028fcb04b8bf5bd8cfbbe48bcbce182bbac273e608ff515e6386db8923e8183f41bc527c9f9bb327fa8c1400efdc2df6f401c9801d3987b5bde1e6b9c30196c86115eb03871b846b0a3f67fa00b3cc03ee659d21d84567cb043ea6890778b903649331961e625ce7c37cefc67cea8c0967e130bb2ccdd5d9e1ecd8e5744625fcd28a3046735c583db4a7b28dd3fbf8e5ee071739b08ea49f3b96e3fefb4cccde9dfce42ff76c2e07f679b9ff48e4c0067c03f26de3b2a70db85cd530750fff63dc1ee5da9c6fb09270af5dbdde02d84404bfa9c9430cf892480f00a633924ff6b2e4de8f532df9556279a9544fdae270f2310716f026be49da47ea09981b4a8a27070b6ab1581eb0740ed9bb1448a44e7bc67b461fc924924582d9e64b685d1c0174dad932e6ccd6b431676810deef813dacdabd9ae7692eed1c2382f526766aea7003732be891334aaaf97b4d06abbe4ddf097c16ed8da98064783e700e6bff6b4cf7ff0d98ada09f6cc231ea0dc3fb1c9ab8c73bfde2f8b3cef9916d5cdf309e7c8d876ee8446685e86c3372f465f0677b5c3da3898117f77f4bc1e7696bc0b7606cb1038ce1795fdd5dce28fadb48efd48149dd9f736ad4f207cf1930583fc2ba8c1c21da6f0bb22ef1fae27183d4e126a12ee87d4f645229ac7f9382aaf7d8ff390716c8f5c913de91df95b8827cb14c397c844fed0a7d8c93afaf2f2bea1e453c61fcf0473c27344f3fc6e7a579148ba9c9f2a61aa6ce81396e82410b53dc3fdf6013b33c399fb2a8e4a1f046ec84f01834b179054a67a859be603f00c319e6185f5be1893945378e14d2854eacf7a431c60e980aef892284fc6c744a96c2fbafad9afe9e1a13744635718fb888c674ce31eed624758603df153fd32f15e959c0dc8d96fa09c664d2f8ecc23899aa1970de7f613e867caa5e03242b5b6172b639c05c207c5b350769070675cd9b509f634dbe2fc0f46a3f93e0714d4ef55987390b687e03c26bb1f6900df1dd7dce5e9ca8e6f25a01e6a87ef626803149bea59377a18167ea1cd6684f172b63beb7cd4f745601ae3a39f74add0f78852ee15fb280af05f8ce284ef99077f2928f7d86fe5d7273fcf286566c61be44b5e212dfc0bbd19a6ebecccf682a56bdc7e712837f4b7192b93de67f86b701d93d956e04ac0dfcad14bf38925597e67aa778e4d077bb4107df43c1e6ed33d0d3d89cf05635b8f12db816f3fa131968c80a70533de5a3b7d03535e7cc303b525c1121fa77cd7505d7def0122a0253fd4ef1731d9a3cec5682f7aac46fd55d6035e40e78d3bf97467894e20cd94bf57aab52a2882edc43d972e8fac9d2c4bc0e44be284ebc592c1feefeade49a6bda2c079a5faf7f6e73bad07f57c41defa983c465f8cf4d313b4e35bee2e9918783df53d5bf94dc4b7fc08340f3e79f00eb43fc7cc61b70e78ca1f832aadc1f7b447ecd4b3cc904c75d8ada1c809bf3d69c2f57faac980ec3bf702f7e72f7598e30096ce3fa025701c186ed78af2494fb7fb523357ff739080429adb00be26b5aebea4d69d75c9c707eb48cc1017053c8faead55c67955da0a37799b3b7750bd74c8af5be6dcc594fd89c2a991e92de60e04afe393774438718d1b9e4c4b41e707711197a8cdf3f796f705e2ee22e0ec5b0cd65597471597a25ef687b9f61bd51e9dfa68eac747b5ac539f49273733df66a7ee5eb23feb5163f874aed9380b2651e7013e018ec2d4f072ddf2ce1e078ccd3017c22c317783a44e9d9fb5eda8fc0abd061433a13bebc7f47e9c913f06df4e68c856c0e1cbb01ec9f879ce58775d8a18ff60e977d57fc2922759619f0fe264f388e838d9bbfddea8c9f8fe1ba6b72887cd67a5265618c10fbece11a328dfc9be205fd29c748b434deef718c44f7ec2467cf1e3017df269d05e0ef03bea222bcf34e9466a69a5db1df3e06becbe9502e3c61c278488601cfed9dd603df156feb507a433eeb53ff4974538ca59de4955d44ed4bbbc933179718876e10a698fb09c70916b10bb8f32507791307ee03e330c13b68bdf24e3850295ece226115e1beddb88801cbb28f39ff3a6dd2376f3878c5764d5bb6c59b336cf39ccf52e2cb476bd3f71df333b5cd39f0b278c180c40ff4c9973039b94216b90c1be1da68ffa808abb4c5859ba239ebe0656edb766f5b93d8a287f5a58cb995bc2fdf3a9328c2809fe2f5ece41274826eae398a4bbed68515f72365d784a53de60f95d8ce1d8e9d6ef2f068e470dea55b634ef81cf9bf5d8e3f4b111a53d9cf18a925cfed5aacf9ac256d52f30f42bc73c7cdf330f5e232f6093df32767ff875c77c2267583d20e7fa7e2c54d1f127011493cb28c87225fb3e5bb5d90ef66727765ed91ff736971b601df18ed93ac38df77628c2985c6826c0837e6539799ec2d4ebf7a63a2bbf6a70be19147fa19f932f93d3f6711eb3cf060d4fe4ef4703f1d64c22b74fbdd48dfe8244ed992ffdb982b8931231d58fa71041394f265fa043b8bb2954a4e8bee7d867dc103fe6efa59adf578ff16fae9566319ec1345e7e924ad7d87a1945a3a933638968dc915f3e68449c9896b57ef9e55310f253e455ffa3c72d55da2c476e21ee6cc948e4b89f2fbb78063a44e3e00dd6c6bec2f4a278f1adfab1d218fe3f4fe8578aa9a318ad04f5dc0fb6fd85764deb0dfbf057fbae4e7cd0ab446b88f216361bd6a3b00f98a9726fe5b96c235355775ea22d9067fd2427ef88d6fba85bf377d531bf6c3ad6feaede17d0d19467ea2933fd80f417640636ae9d2d4dab357258ece76ace71b6e7eb40dd607fccb21e583a9596f696ecab394d8427201768ec6b2a52c94b6c154cdfa4bc33a4a3179f7017e1b91dfea18e318d7634dd54cc37f632fb6a0a7953c83ff31e6ed601768c624df72eb8bc7f531dfb19afdc6f7d01c79b82e6aaa664bfcb7e61ca1f16ef76c3c1dcaf5f9539ea3c0c1bc827735df1f96b1082ca7eae0ae1ef916334e997c20ff15adafec04be538f611528e3c8ab3979fca112b2be8bf91b902e592cf58f728ea36a7c7969ff62ac40b3c4931f33fc6658f26bcef75b413f59aa0438f69ac607d331537195d55cc512fa5b07ef6d6b9c22d917bdb5ef099bf3dd7da95e0397c80c3acf1671c6db4656d8eae7999297c2e2fcc831c6685d72f4fb5698148ddf353eadb9f0a96f89afcd6f9e485ddf7c5747613cc10ad37d56eef7073a1ac9bab0dcf4f1d8c7d7fbcfeead789a8f520dc2e33a28c786fd62e08b016cec0d3adb682cc6d58dfe54a564c950319df0984c27b7f2809e59db1abb5089df93e944aad6faf5b5cb7e6d8dc1de11f5d0d665b44f974e9c0d16c1f80ab8fb781d99721d55a38f6c99865caa3a932c7b8fffbe88fb7fd1f3e4e4e1b1e4d39b0ec3547d300e4588ce1697b1b6a09b6e1c31f6863f3b62f826699f7c1d0382b5d56fb9c98013a63a2ff01e1af3f69ffaf9623bff74a4d7b0eddf9fab9867d85a5b1243c6dcd8198f9ebbcab3e34b3cee984ff07e4c4bfd08a6b9bfff16af8104dcbfc0e35bf5e1b9bd07fc9cddbee18d1f08f225ea50b7ebe63ff6776f9ed7c1b7fecf637a9dcf1c7c9b5c1defb937de959afd72399e75e339e0e892fd17b67d6db08126efb15c5f53d9688ff297d2a1ae877914b3207ca6607f3ee653ed8a73251ce42d87ed39c1b68162b0912d447e5943a58869d08a6b9ca14670c89e6c639d582a8eb9292aeb5bdc3c72c5557d0ddaeb81f4e680ff757fcd5c8ef51de1fae2375f4f8ea1875b638c7b8f75febbac3782b803fedbf318e5f8bd8e511e5ed68b3771497c9eaf8ef41939d5f8caeea16ce686eddbf00923f41b9c2f755c542339d088bfebe77c231bf981cefad379b5886f8364c2edcd7de49fa1395e95eb2bce76d25d0cd65d856f8df5eb35287d25d03bc16719373bd779dc30d57e9e4fbe23c77adf825a63fdf11e39cc4fc867fd27cf35599ed4d642cc6d429d6f0f62e3c7f48bab9fb108fb6915631a57bfe39808b62d91bdb8c13c3a6b2a36728abe900f25f0e78a2f2c6ed7c754399003f8bb63b0ed397b53bf5f33703fc5543c9d71edc0268558f298f837a3c4b1d42c314bd937fdcaefa2e3e55250ff9de89902d90a84e767661972e488331cb7a862c555cc58ff16b3f3dd1cfe64967ef5c0d759e1d8b7d4113fb7dae7ebb12b7e8efc35625b3638c3b72ad47aa5d579ad253a6563a84856356e907e69477f2632e46cbea6666ec5f765d6df28e2a9b27b1621b11dc5976c4dda169f5be607707e024ffe2bdf2ef0a7adb92698cdcd317bc5ddf1f615f154f9708b83dbf12e9baf63bad9f783ba8b4e1eea9b183987fcb213dea31a3f006e018d9d2887f565c3e9d9741856f588b67a7dc8dd7b6f8f6ff30ce79b0fabd4c1b2c9607ea9f4cdee8817da071c2f5c8477bf2da1f2200b27ff044c00b4efabb9a1ea39605c6183bffd17d4c109ec5941f60389f96e70ac01e9eb9c8a27d27210bb317f52a3199185eceed9d0cea37f9b4c59db78a86a25f330fd2aeb2805ef3c55b3a0fcdb6218a62657fe4d467feb557f53c3745dd55fc27dfd3f8e3352b97e777f5a2139c0fa0f70d963a7271d490cb2515f52733065fed218445efef9e91e64ff0b626e59b2d43e7e6db5ecb2e0c2dfd33cf20d2ef29a1c68a784e6e082fa402c6f3557cf300b895c3a302696a16432f3bbeb1a718c0d9d2bae30c95d4e0fab18db08cbc877e77dfad516268cad7ffaee611e01264ce97bdf8f8d527598d5f5e01fdbea985f9aab04737d5971595b6b19833d70218ee5d4e1a49af70bcfa1b035b26813939826d73f3ba4e6aacd37e6065027a2e1f887dff9ad38cea8a79e087620fcb765ac3f5d16ea4d81b78af894792b2e7bb54cb9b08d7565872d0eab260fa7f9529dc9bededfebf1d658cf9d1ee164ec8e07921a85bb6b71c4e756c47fabd9bd77e8ae00f664776d0b9ccff81cf0cccf107defa63d77433fa2d633f93699b4e4692d3946280ed4cef8b122ae5267dfae13954a3e439853c88d053771647f69f4cf9e29a7501f140caa73a18ba7e85b4b0a4580eb1a391f45b852bf51f536653d4f158bbe99e3d4deb3e974281feb5ad0759543dd8e98469e4e0ad223ae4f8339c731e8c93a7190bec1bc60fed298bc7f0fa54019f25fb0b785688ff3290357e1f8bd27e80caeadd77d47e513e5b08edc1ef07fbf7f8bba2355ba76755a431e9d2f4a9c3553b562859b301ee052c0b973d9aac81e9a33d3a7f792e7d76b7db27ffafc87f7768dbfe953c3f3193b7184cd4e1765df39cc63db941e7c43fbfeae6ff807ef78787f087a4c0a4167055ba3bff3b8e86c0b7caf8ae18fd8cbb77825fc1dfcd1c398d4dcd294765b03e2b4678b034ee7a123f0c1b227bd61b981671e8d9eec2922e1db8bd7e88c3d2d4d2f71e2f5c5cb07fa26bc567653693feaba3c9b8a56a2082e6f70abd45207b84755948e5fb8b6d9afebf0c7a914bc075335cdd0b34d75f0b7c345e729e497c3f44b635923afe3058a0179c08bcb911ece887d2e8b58dee998e2a0e24cd9b374cd14d4284eb5139c47c09b1758f15470792b88786fc44e919de8c4136e6b78c0172207f6cd6f4acc161b6ec2d91b3ed77a9f9183d7e77e9c83c4259ed56e585013ede7b661bd39d8d649b7c6fc77dbb6a9f5fe11d96b67cbb4139b03be99b363ce35cbb423ad272f5d413fafe2ec62053ea7082ee8d3463db100b209b52cfff2d8eb9ae75172403ef45ae07b0e1a8bb1dad931f0642515c724b2939ed68a37edea668d3bae01a9ebac3febbc8cb08e3ca80dd0434990596ff839707a7a2e0972eef4bcc2867c321f95fd3a6e4fbfba029f7bc34faa6f203adbf967b03506be7b08775e1cf9d2c49736c1c711cf6f087ca1e44c4fec6077c158f3b44e0dd1f9977f99a7686940bdc774c3f08bf21c809ad9b20e2df8d84941c45bdc84b1b81db2177ed91a1358dce42ca331c2b9b9d9a9d17ca905fd9d34917d2f87fa14d611576fa630709d40faed1e5866b9b9e7975be91757cb02d42021bf6998c5c8162ae799ee6dda0eaf81122705da735335a3f2c38d5cdd9b95677bcb188c9cde672b86cef71de35aeb3fe13d59e67eb4d479d26f93116cb1c105e9428d1b68c84707de393c36a49790bd817be1861f01b229bd117bcfbf8b15f1d4eeff805e0d90c10d890f35f8cc77a9140cd0387ff88d61b238ac78e90036de652bae4f0ee6539ae0be89f7e45bbc5ee0fb26d78b2b64fed6e85f28f9b8ab3fec20fb6557fb670dbd64382750f7202d0229a038b88eca503a933124953d76b889c9ef15a1ea7921b984e3c58ca393657891397c6fae154b7ae6f2aa2ee902bc77b11b4c5fcd250ca59d146439feff477a273ad9f9edbeb7410fb1bdadb166b64329757bf27e7178e5bc8238f59bc20e7ccf58270e7bbd285c88eccec21bfa9747e37745c0ef6dc7cb6efa4dee7fcb84b585e8829f51c51261be1fd4fc15484f591cd40f166e3c7bb3d48c9cd33c3f45f216c8559f2ccd8f7fbf47e51fef07e64b5cd1fb217f613fbc215f696b26d172fff1973bfac35cd350be76ac41027da5917e76637def70de19bdcf1ed2b57a9f78cef2cfaa3e1d7015a8fa5ecb9cedb0fd047aed7f7aeeae2fe992fbb1983f9d07d68961ec3b4f78df55f5b16a3fe8a825679ef6193dabb18e776c670dadfa496a2043e81503fb426cc590a24fd68df5666fd0780efc5d336d972813f8f7d909fc911384e9aaa3dff767bdae758cc1ddd7319256cf6b4ac54cca984df4b867e7b6ce0bfcd4bace8caf7a6b8af4381b6665ad4bddbf1257f5e3d0c3bf3a44b28d7c662162be54a493a91af3cd29fa52b3f21ddd7da8317f2e6367e83c707bfac936e7a60bbdb5c0197abcc773d81a2b7377ac501332671d432f741c7748a6e2ea4cf532418d96addeeb955d5f6cce4b6d7ded5b41573f6c29a732c66a3574066cbe3dc32f8dcd5f5db11a0b7080f4dc65edc4e5a26a0fc37986b1aa8cad394fc8199b213d26c15a63be043787333d5af624e487331b9c433b7e71f5357a1c15dbda9e6a8cadf13793a9398c817f2fcbcbf8c0d23c81ff04bdf78db18ed3fbdff1c9ffebfd4742bfdd7f94c39ee3061bf7105d3c738d7b18f3ec427e1fe1585b56fe0e7195c698f32c41bfa1ef737adea6ea5b82dab2fe99aa339d605da5878ab8e19d66ffd01e5d6bc7fdd4017e40a253ab98737685bfd3f64e9e1d612ced9ae13ce3aadfa97a304763cfb806ce9f57fd04057a57bbb70ce24bb7fd4a1388335dd07e2275aca957408c879609d5e9b9b8cfc8b81ea5689d7f6d2246ebe9cceaa0339ec09fc14f1ec17dad98959428e319ef0c77c1aa96df420aaefe6c18a61bfcaeaa9e7615f3e1972aa592f6912842cabbb9156fa13e6c47d7caa7db3dfb5de673ddaa974bbed86218bc549371a7dfc4e97d12de290a57f6c7f9fceee7284659db27f3caf8fda92fde7ea6274c82e6339ef63e3df7cf4588dd1e6c2e8b746112b4d6bd403e9e22748d23626c83d9d1be57abeeae5ba7a8562cc524e7a94a0f6b10a0dfea41ff565d63f0a08ea1f7e93b419defde34f6b8043d49665ed50bd03a3479a17ff99fcc6fad337bb3606a3269cb4e622c433a6dcd75e4a81fb4bfd48ccdc61dbafcfff2dc36f77758e7ddb4fb7d7077ea07f01c94fd350ff71ff43fb5efbfb802e61baab0d4c1f6c476896d9635ae61babdeb53f913453c45a56e5f205ddb3e378ae4a208fc5917e58183742197251697beb9872aaf7b5bdfd77d2efe581734cf2a5c0b8179f4a1670a3debe281ac3ea86d7aa0679caa876f923cabc1920ed8dfef5887a62e79fc8c23c69679ea6331ee0bb13e4fd83def0dbb99c3ec1b638841ac0ebee1496fd8f1796f5843e6487e7d1d95b8b7e5f92285addfd0fe79d8fb86cfbad2b7e9c8c1e3deab20cb295f0972f90ed454874777cf46252f743bafef069980dead1993ab124705aea5ad622a67455c25dfaaefdff80c4255bf9b3feff7f57b8a788a9d7db2277521a49664737645bdd8a2f71cd6970dc11984f1092d1b6a94a46d5fd51d66b9657a2b903d2d8914b2068b78d7d87f3a17919a9ac9f06b138548beb6e67a301598d446ba01d9a331e020e44bb511bb8a4adb636b207ffc1a28013a4bca5e1b29b5ab1a348ca506bd1374cfed90f285e81a33ca1f591c1a7ec808d9719ec1d2980a5dbd65658d4d65fb2d0ed64d4f969d6737b6e02296da75462745888ab5e947564f676c2df9fd8dfd2074a6919cfe2e993e8e053cedc36ee5945eedefbeb6ea3d5a764b48d5d1377570971ff50fb04a285ba1a17f7794edd7aa43657b95effaa8a635473aa53e4b1b7589a407e19ecd32551bbd8c9f50b351ef5b56197da48a364eaafafdd6fd758df335d590ed1d58f1ab76ddbf626b0b9dfdf979e91f2806d67bffa0de98b209aa9ade7fd7c6a0757dc493b3a461c3fdddf459a2dc3656c114d96d07e8fd4edc580fc1e6a67c2289e8fa47e7c1ab78025fc3ec57595f6105836a5e9bbd669baacec60a320de706c0f7bfa9b5dd06b7b5b6cd9e992c717bab049f2d549f9950c7766e6a303817c72d2abfee2ece4984fb792bdf17ea9a15c13d6f8d41021823b89f7ee870eb811e4fd2adb186fded1ee48b1b40bca5a1efa03eb2e5ef58e09312ae1db5c6472aebb1bfd5c767f55379349a67bf62d69839f7e5dcd720e6fe93bd7e68ce07b26d5abef3db36c8f2862fae973118c073a1ae8d701da35a610605ca640e393207d7fe34dea5e29e91027ddf86d3190f30d8934039bc705dfeda3bd6a69c9373ac3d56bcde87d93db94e5ca6c2ae78dbe6ed1ee98fbb3dd2d6c31e696adc159e1235feba5ecdb95d9beb4d5cc3846f26f54f9bdbba6115ec9576fc7155e151b46c00d863abdbef9adb185ff6f8c5e1b3ce26f8161ac1be41764903e3625cf55d76d52337be81f4e9465fe29aaae9a6633fd0abdbb0953a6cdbc40e7c86c217b8912312cbbdb7def97223356d5ba19f2cb9fedb6dffd82e59b46bb63bf48a676c8e5fbd962ea2735150eb1d9d010f12d95026fbe459e5bebba9fd263aaad69f6ad98fb5d14faeb86ecb400ab9f9bcc48ea2e67a836ba95d0e6cf71b5d58e764ab1add88e8c7563f36bddf5a7dae250ea620a51b0eea6e4e536c43268ff0d5489fffe7bd3eff9bd86e9108b51f027160c6e9817eeef2dbef5edb15d75d04e34c11903dc6f7f4eaef184fb1952778335826a5fa88df0c96ad3001b6dc6deea7cc57d8eaa08ff62fe91fef2339f803bc24da46fb3639bd8fce76bcce32af88ab54da1f77529055359b4e1026df6ab674f6ecaf7b7b6f6a9e78e40f54f266ac97a457ab581c4efcb79afdfdff6a8e3b735891c59d02a7e73fc054803c1555335cef6f746e2887b5ef82ed38d86f057dbfe5f490601ae4df66252773823fe89435a916d527b016a250337816f70c3fccadb4f32980e7ba35e7b213cf53cf5847f698bf5639883d1bd1e325580fc556e05947588fb7e61c9d1ffbed383a6fcd55ea14686ed7911d4f58472cfb214e80d30a3528ffa0a6b68d0d80b1f968595d917146c55a880aa8253256af636f3ecd2167be15ebb73d4b071bce7be9d0f40d6c83bd7a62f48d6d71fdbb8c114b5047538defcd393ceed3db1a83ab67422c17e7ce0399c8877cf91a4a69e3594156c9ce22989ce5c0661a7638e9b9c3fb9f3c634ce212c8ae1eca9a6d0c4249c0e78c24527dd326eb4dd5ecfcadfa6a775f45d2dd5731e6cfa57ed431664a361fad12651cfd31be26609d943642713f578ee5b1992b5744a9891729bc63bcc80a23ed21ae6539b64edccee57e1ccb654e7538e69b7a28cd4cd58a1b789dc5c443e782739bdfac717e200f28fb1e4b625d14be27ae6fc539e16f318be4c0821a715b25b52f1cc8f61bb6adba71524c8e3f5736a25e6130dce6bbb9f77fdfde8cdf5fb7379bf99d12ffa8ef8df1b30996078e0d6e70bfde77476edfc99bf5076d1beb51ed01b54ee7a5b9bac9d962bc6bbc4e04cfbaf1bd351e261d3fcc8aa52995bdcb891348b45d7aaefa22c8f8489e0beb6b730e63b4d42c51c459672d037c2fd8a82dbdacb6d6983a239cd6f9d091b306bcebd69a01168e1b4f7a788c0cc1b5867c75033705b06e1a7ad34b887ded376b4bfc33daafdf62477fde304cdda2aeafd685fed952c3e356cd7e95f964e4cfd4b965343783b21f31f53436e9e81beec099d8255375f0db364b5cb441bc35e5c21bee124598f16ed1c0c5bc4c55bf500eeb8b1a015e0bab88a7a43c5bf59e9c78824ee13b90daa311f83d891cd8651d39dad3d5f8485c07c79362ec6f491ac36fab58740479057266a680b721c2b76b1e3739d89c9ecf908f645cab5e92c6fd87dda9817fc185a53cf6eb1edc4d30d512bace3da1f18a2afc1164d757cf92bda9c6bf785d52c8815dd0d7d61c05e8ef275caf2d54df56d60c94df7d55048bb7d497fc769ff8edd7ca6f0fa81cc910f9edcd9ca222bcc39c90fd87fb467526996aa77469d23a3fbc8bc36107d76a2d4d35fc6bdbc0a7a17aa8832c568632c11786b9b93befb4ec7aeae3b97f7c6dc73bdab828b55cd038286fb44c4dc5592c1f669d7829cbdeddbf3d7a46655b743c83fedb5bbd1f4a5db70aa6264befa9f45bcccad82592218cbb235c936ff17a74468d7e8de954f5014b911e9b33e22fb44d5ce3a8fa2996612b70880e815a30b31a2b43b08f62399ec57230e9c4ee427bbc514f57db23154e10c43684a8f086fe7eaaf1fb5b4c9319f8e025ae976dd69c08651c62aa669757fd0b9d8b5267224716a7a37db5c26743773f1f755e62bbbc03370be7279bb54dc08b40d93980811e34b0af92762dd7dd3c9f28a5d0472680bf88732b44c7a2fdb935e713c7fc64908db0e4dedfb6c8c72b6b2f9f9d29f1843e477e7923b658f66a99760efa8996670a77a8b17fdad791fa50169d29db72dfd2babfde9fbf6879b40a9e5d1a3362ffac8ecd7c4318cb8715fa1fc68356ad782a6e905d529d615335a3f73d2b07360bcfcdabfc50a72cd2fdfc5f383e5dd744703ab3ae623b04d3bdd9bfd9b2d59e63c5dde060631b83aec7f9abe46369d4418bab72cecf65de5f0a98a0816f5a5f03f657995ffcc73da04196034663d3d7f6018b8ed846806b47cb3bc685bfe9ddf4b45b3c3a8c7347e56f09ce9d1df709be5d577ded2cb5f7dd3876db5189b757ef47afbe1672f704d7ae0317dde5ede63e0d300f52f6bd34a4b3cbf9178fa1e2548759ea156ca01c00ab027debc9e106932f711d3987398e3921fb4598bc7f0f7d7f698489329c24d35a57d178531345dca5ab3cd394f19877f35da01ee617272298641bfbe2c668adb3df4b73762ceb84482d62a28cdf91bd40db50e976cf90bc9084f6c3b2f4a11ee11ddce0361c66ed5e171663cb5e49fd2cf366e19c1bcefb17498c7b8f717d80d6c3f9229701ae88e394be962de33bd6b98901ab63bbde9c1db7c34acfdccb03069df8379de7dabd1a868f14e9d12fe41398eb6811cfba6a16e2761e6f2b3280ef87d6ca31f8d036b2096507a4aac616d3a13cb74cf937f41d05a46674f201f7d0757e6bd3077c1b6d0ff7aca8d86815cf5a433c0672ac739081b0b6b34a39c667a2ae22ff636b0c223790126522c1fb9a1884d71a6b6eb23e2bf138413ef81717151a33d1664572f856c37369e32a630bed0d3a666b6e893f686de4816a403c3df1c4f0b81d66c9d4ccdebbfc0f65b2e1b5113fabec8598cf1d63c2509c2cd97273fd4bab30f9c81a577512c7fa7e620b421da2390b94d22e896acc127dcfe0776c00af2c586a0cafe599b95465c1e9c9a7b530612c15e9cacfa9128f5375c4faddf9ef4c596eacbf3af0f8dea4404a0d8ded35b0f6e26b321d5fab71ac0bf6bbf97706cd77f57763cff8332ab6db3817552bd686563c1d6ff86a5ee288b10d166a481491b2d9379bbfa6e28e5f57ba403f7b0683b132379b4e3b74115e6339f0fbcbcdb57da6278ab88be5c3ae3a73bf86552f12ba67bb540137933e777d39b08e78bc336abc941d4bd9a1683d5639bed6eab2795bd74e27f475943fa786683cdad21877fb7bc0adf2b85eef2b9743cb5cfb25bf63c53159637ed7e72ec1bf233af0043cf2f57509c673fb212efca1ab0e0f8fe1c7b524e1eeaf763c17d77a7c821edd9a72640fa5b7ee6b645e116ebf597dd07bd6aeb3bdfefdf1378dcff527b5a326cb97fc0ca9ab666fc82f3172da2e3aa6520432aecb81fd748c37ef4276d8908d913eb04ccc9f391dae0265b249a5200cfe11274473fca16d7ee636e075ebc01565e7c09553c9bb2b229f0438d082a9f61ed8827e75637d8fbe01add3bf348f09c6f9978e5290f9edfac029e66e89e5282c39574a5c255b417a449407cfb1951a3ed3634cfd177a2036436267e31a47a655e3982b4309eba932363ecc2e5335833ce5e220a55fc8661f2517123f2dcf986f39b045e5304fbee2cd5f501f3876ab67acf34ebc2892c7fff198cfad3133ed3143aea01af3aa1c73d41cf38ff1301b357077391fea7d7e834779b7de701ca65fbdf9c533e5bdad25951cb57137a6667d0e4bc63196e3f9fbf770b27d6687aaead35c319c698a588ee1182c85f0ffac288ed032efe316d7cb56ebef16c14730ed015e40bfae81dd3de885fb8c6eb1ff2bcc8d541a421d62fd5de5193c62f8e566f6845bc7971feafe88ffaee385525a618706d2fb561b54f18ff21b97433e59061f6fd250fabdea31c8c7f85b0eecfdb798d1f122ed95796fbdabb267e9776cd03b26562c0713f391be6df6abcbb8be697fdc7d193ceb069f811bf33d97d37349585f6c73b673629e91c439eb8a9f17f7b0daad29bb6daa660739b0fdce38d3432ccbb23ef3b16e7c151b5553b35fd4bbdf6e6d111d30cc1d6e40fcd28a53e71b7c43329fa5bd5ed54ae94d4c51aa66a3ea25eda82b2f14a1ca856c1c06e3e257763eee9bdc7b26f42b32b8f68ae9c2f82ff35b551d81a3e23a026fc4929aa41d553bbe4a8dbcdd839511bfcb8bbc099665f4bee930f2d0f95961554ef4027c9ac3275bc65316e189d6cd7f3f93d3155a83b84ff184d4187c6e5ec53414527b07f1a345b86be499256396b6f4d55be33c6ef63990784cbf198fe9b091a4e0e38474438ddbd34f1f3c3769e14d54f24d78e2931ff8b611a91f7cab7c9418cd399f63ee2f1247d09219d25bdbc08ab5bbf61ce04f76cd2d5dcbc975e1abb7fb1cbc56dda2553ea351d36fa5a59fb908af3496e6dfafe07597fa8ed60fa42716c746f5ca57bbdb67a4e17aadfb7c639b6a1c24de8abeabfa2d5cc456239edb59234a62205db6752b7693404f032daf3437df619c4cc769f25def997fa01b7db581314a7c97ae5c8ff35a1eea44f250799987da367b756ef350149ee94d2e0af875baf45d4bbe6a1be361ad9e32f9c47807fb313b55b385b367cf4adc3f6e847ea28c5982856025ca442eb110e64e10a66be1fff17eb7f848d17e081d1ca34b2a9c437a5def71d250dca29893e6367e4be559a8bef0771ef774603e595bad3947abef13fa67afae9dc7f133737634b8f7d442b224aee8bf0f6dc3beb820cf38e6379d9c2e8a30f13a6a4b008302f4829045547dfe4d3ff8bd1a849aef95d420e0be7ba83ba8b83af137dee846f2bd1db1eab0fa9de2f02c96e6e9b435e705e6a1a66ae3a13e944ddcde3c71624fad6200e353f465cea00674c185489f4596d9ea7547cf1022c09ac4f5eb12a923debd7914479973a8b06281cf06ed6b8825b2f539bc69d6bcb770d27dc71b6667b487ad82f5efd44b1f818701b0ea76be85b96bb11c6ee408ed277b539d3747a3b74a9d88a163ee851257f3403f9797b48f74ab76d420bffafd389f026341eb51d5fa1fe6fc54bdfa3332664f8d4a1fd29f8d885f3942df5bbf6783ce7721bb78d4dc4dc51396832a2ed9ae956ed53c1f36b8a78eed9cc737abc750f53993f45b44ba81d4a88eaed9b7783d6e62a8874e6bbd70edf0996667c7880a978bce36355e64ffb9f9e0ea99f363c94da10861ab6fa6ead3206b886d168ce1ba3e425d775563d54feb3d1c5d9c90d8374552802fa68def7128dfe82c389763bd803a3fe487e53fd8bf6d7c0b5c5b5a730605d985dae73ebdcf173d89aa3d1b54fa470eec465d6d9d0fdb81eeb2abfff67f39bdcfa8e4034673e2627beca208555dbcdf552f866b7d91ddb84eed5aa6918e5531e6dd5ab08c286dd78d55b94b8dc20bc6f5e02d1e6caa966a88e7a0feee55a95b6ece0d37f71d346768df6b206fbbf6fb99c6dec0b642319d9cce8ac083ce5646abebebba3b22bc84d8bfbead0f04cc9b176466972c0ed2f9e1f3c7b6bf35aec77b63abb8eb1fcbdfb333f73885bc72d758dae7d42ec1f5fb56ec8d4eb9f2501e56c757708f361557f363dc23ca16a973dfcdbd74b66e9f496afc7c87e24d27fce3d45e227266aa59f44acdf9f31cf8f3be06abc295b98957059ed0dfd57bf693eaa3abe20cdf26273310332f65a0a0fdbb2cb1b813e187c03a420a28dec98974a6f3b453359bfd1b7d0d77791ac555dd6380eb8fe9bae1e4cfe6baaa3768d719406d6ad9ff0a35c5e6eadcce512b80fbb50ba05e5bd0739223f597a6749442641363bc3982e743db8cb11cf7cb58f74ffb576a5ceb977a21efe199947c76f36fb347e1808415cfdddb137c877bb8163576ebbf8869d18ea1956ba398f2c5cb9f702f77f03a54f7a37d31fc234c8b123303f26677f02afefc99515973f0389f48ea2e4a0c90328f72fe077914deeee1be4c652481eef626e9d504debbb533d319c0eb9736161acbdc323fce5b738efe1fe9e9a49675f091c99942d76edfce915bb079679d6bc424cb9e44c7092abebd46eefdd0b8a6fa5d1137e4bda44e94e2dba373b9a61abed2f342e4113893cf3fe7e02e31aad8bdc35dd1be3d3fc63279e919f77326c298ce9950b19b1fe7756e64d2cdaf81349452ef7eace7a28827d0a92aae59a3ea5432f81d7af90e9b14ced331dea3f4bba8fa5a8ac7e50ece06e19f7bc491ac8ce53fee9da1395cdafd32deb08a4b91338c8ead44ff06b65f67ff996d201dcee76d9bd836e5bce1bf8b12b29f53cb84fed0660ca440fe44e67f193c4bb89730afaac61c67c32cbac5e80b8f80eb2e64be2bce91eefc55f3760cfef60cf6aa0bfc6c6b0ca2a909676d02e7ea413fb993f505e3425735a367259ea4ceb88c1def60dfda019adf591dcfbbc99152b6c3617d7463a877827e9eaafe9360ed7d8bd7c0c67e74407a7c882eca220ffad340aeb05e33f5f76f7173b638e8093c4eb56b76a77e6e0ff6af39d7b6506b0575e8f00d1b6413abb247385ed3a5b939bb1c9f7b637930bded8baa648a1a57e2c41bc867bec6a5d88db56e9378c0cbf682e0e54e4fefc2a9c5b1fec7d833c779c7795b8ea1cd414672070ff13b9edbbbd5b3f78ea0fb6ec0a2df03dcbf8771c75a7e5dcda599432f660f7a25f07356963140e7462a1933e8b7b48af7401522e09b94a2f911e33dded79f16a9757605fd6c1bab372bcf7c278e4e505331026eab1fd75394df88f42ee83be0a62679fce1a3ba81db7d50c75e64662bcac0438cf68373c8dea578c27ac20efff77d1c6ac1096a8e2ab2a7de6ab9c5f22f05d1fbb7b0499bfb1d9f4112c45a67cfdea377bf276be896451cf1756df727ff0a57be32b66fcf8132a64ef4a6d393488c25611df373e330b01f897e5875db3838dedddcbf7f80b949c6d1c47d12577fcc55013e01e9dbf56a1e626c27a85202fdaf1517b6ced9c635986a7ce6047ef57b99b3073ca95cda49c1a9e39e632005597d0fc4681ee247168e31499d615dd325091306ec8c6a9c10030d5eab51995f2da3839f34ae3822779ee0e7e0a71d98fa1df5dfff511d56b96e0e9279a4eb4409f97c0fd66ddcc4cc8c700d0f9dcf256b9a4f810704c9e4076080e3777c048a28d539a98ad78d49f50e5c6d0a5b81e8746c2f34f62a70f363d9a6313b490e1162215210fee5eed9db7ea0dbeb7eb4e696b9da75c98d122797add13f4a41ff31ef49cd9359d681f8de10cdd1edb81687eab714e913e8f9801e70ebe8eeef7153507ca525ef478cec43d8f38db1e3f5c178aaff1bf7bf6bf48f5d3a60aaa6c8beff4de933622785a9944e8107e2d1b97dafeed131f4c2e52607bc2faab93fd9e6bcb00c0ff4c90bf8bdadfd8ccf1cc5c03a17f9550fe4cd27382965fc6b4372a83586635b3796ba5c05fcb1293a7f24717d79b8de95bf52eaa9886ff812e2a471eeb4b128bd1173b4cdec5d0aa44439ccaf8e103153ccbb41d51d3eb08705dd994d803b5f07d909e7be0b39e413e061d974ffce88e430aafdf5114c4d567082411b9780ffe21ae721c1fe67884e49fe0dffaaec59ca176c331eb8e0a09681e01674630840df1b70644d72379e0c009f4008f9d9e8942c85f75f5b35fd3d3526ce56671a3829061779343600f255f0fcd43e5d8d558539f74c7a0e85f1dd587bbba6ead53835551b72b4d501837975714ed93336ff835c826d7e469cdb73eb9eb632264e6175fa4feea57ae64c9657c4d36fdb0c31f66ce9534ebcc41132d536e6d1d6b4a39a63f41e2721d93bdca6ddcb53c8811d758c01fa08906ed7713d05d87bed7be99a331be77a595b057bb6bd266ddcbfb31d47b90bb1b3f05fc46b697f073eaf697f88f8f65c891953f574607f1cf74ffc1ccbb3e26dc3fe0385d339947e4f85017014223be3114f7c8989d13e0bea7e6a96f4f6d6b86098f3ffc53ab4d22f1257afe9c6fbe7cba5ac232ee5d3a678a4beab3ccf807118a25f8621d5ef5861bdc0b9d8c8956827ac1be27e5af79aacab5ee02fee0eeee330faf55d8f01db332d9c31b7b8c3bb3b49832677649f709bc990bf24310c0373e54a83a99a99658d921ef71365ec438dd25cb312659c94354a921384a98c3169060b354cd5927b77b86ee7776c906d4a6f432fea9d9a23f46ebae6c81b86a9bb67ae8b9ef4ee8d4ef9344f13273ae5ed9a2337a26a8ec6a733897bc737e7fafdb88b2f193ac415b7319f38c12e68d6536e926f1cc312ffd3f35dddfac5661d212b901d671b7de2f7dad83edcb3535c8bbb498d5c8e91fcb91cdae7fa193028c0b6017c09823df83c8749d747bb4158f1e8488779cf32bc038933d718eb417a74f6ef8162c098824520bde6571f2a3cdb40997820175f3d2675dbb1a4283a4f45a9a94f8577385f1fee6935db022e9cc1075b23c33c6e22ce8d79a363a098e4df8037a517dbdefae2a2df01d7f4c438bd8f4011608dd1bda7adb042b6abf59f2e63f773aa51087e25fa37a7476e8d8908f576c02f44e6126ae7006f5f67c04f28e76f886c6d3c67482781ad3ccc1c29f6135bd804ca50fe6d1bfab5ead715a147f3e47032f0652a439981fa56731528b8ffe4b727f05724cb0ef0db432e28c13dd47de40be62fc974a317ad94e9316fb00c5d6f994842749626c9796a44f174929c95d8f75d86ef3911d84d917b580fa6429850780a5b27020c3ec05f80fbc5c61e2ee79d6dee6d5c8b093179885f9ffc1adb7a70017fa6374b161cac41e21cf4e8db18137cf95d40b0a6e11a45a07ee7f85451a5df9e7a2a901de704d05386ebad80ff781dda463f286d7dab606da7aed72d7b43ea1a50eebdb1ef6e6cea3fd8e74ededae7f19c7f1a1b9c4cfe6373442f63f65173d4daa71d7ab1891bd1d09143b9b607217ff2646e053dff2f9edbc033d74c5b06ff707eab6782dd69b638f63af104f5bc134fb06ddb077285bfea21dfe1e7b632e0cb59a61c59aa04d8698a30b85ddf176a9a2aac46a8d7cc72f74fcf3f6193ba353f5f6a69ff32c661bbee9af24515a18f6ca64be5070b63de0d1a9c16c9d294ce8ea9a79e105d1d34d68285988cd1c04dadfd7da7c4b3c8c35f5b8d6796d017886c730bfd3fe5afce1ef6162aa52f26e821c666afe3cb8fefc37ba2e4c9ed8845fc223849155f5f195ff044a40fc6b11c8f8fde10d7f501ae1d79e692db9cab58843a382199dd421f0eef4881ec814d25bc971c157c8dff3ce115817f35f6616e8d2cddc4fade3622ced62bbce40e3b06e4ad1a9fa4312d5ba68c07d4fc0f5ddf5df9e226f38fe2000aee656ec65444e0aac335da9c1e12dc0db09d9c809a3b15f3f675f523294288ae0db7e61c6c537b98154bd507bf12b00eea1a8392d7a28e7fd0fda686fefe8de3a4fc52638eb8b70270fb92560f28b3ec95f7254c2ddf21baaec9dd45e6fc157c6797d435dce2ca3ed0a7028b7cee04f71ebd573130377f1c67508475e27204f33a467a6efc2006cf5fabdecf52560309fafb1595a13045421223acb9715a7b10f0c9ff49ccc21b56b255e158837e9ecc19378ece76ee4725d6f82b310bf720dd895950f349618163cc18c283a041cebb8c355cfe58b7ff5ff36d5ea8cd55a554c758eebfbed5acb5774fb96d5cdfc0f6ee7d46e0d70a838b1bebb16dca39d81e0d7e8dc476829b986afd77f50ab9862de1a679e2a7fa1df35eda5a9112cf8f5b230bd11cfc01b6fad9c9d9133a17b6461fe41de76de1ffd1b99efc6f5f7b2de6999531481c0363623cb5055bb61b55f771573f5866959f6baf6db5068f78019d9827fdc3550eef5f8c334fce5b8305bc1082b79fb80c7fb58d4154e2d35a9c9f38c23ab78d7e033b6e8acea63d9f57d843cfbf3f9faa61d9f34aec6f79e1f4d69f55bdcc70f7927eda9af7f453546878af955c05d5f7117e602273f37fc32fa9f2568af0fea8e7d2bf17ffdcb67a2e2d354cdd82b92e7ab3774b3b15d33c4db6faa9b8897fb275fc732abcffb8e7728b6d4164c76c2cc3c3b56c7b7643b8f02e4ac437ff56c75473a5c6494e9ed863df2ea733ba30396c381fea8eeee475e0dc6bd95c65cd62dd9f09f8772ea977a2f24918176fe9dec97191faa8d6debba97bc4b87b39601bfe7bfbeb5eef69f9fe4903231af69b234c3087665ddb093d4eb7fd088097cd40fcd4582f6bdee201e605d6d8cb74288f1c2e4b2df3b368d6823dd5f5cfeaf43bebfe9c9e1db9073bb14d97e24dbd065afd7b3055719dba55c77d6eb913c55539afd5b783dd437d23f4b36bac23c53c679b32b735f49e62ae7dbb073ddf1ee0430683c465413ece80fdae7dfc640e4a39be78b19e7b71147939134c7beb17ea219fd722ba01a94544e33267e8bc6ce5e2b2c489d35d734e2707e80f083e02459cfd25054cb008a4df529031f76b33fc44114fb55e87fef6865ebc7e933571f26a4d2e0fb0fcc1eeaff14c894f8debb4d09a304a5c619ce31a606385f45a40f714021eaec6022678639d26a7421175ef9538a06756b5f909c64ddcbd3979dd2b6ba959628f92cb34974e5270f21511bf03b017016793bfaac6eacd5333580badf729db93cfdc36ece40be6c9cf6dc37a938239cd0b7e6a703d133e4b525b92139c4ebe336f78fb5b6a95dc03a3712cdfe78e3cce72aa466e3cb84802d50b7a98ed6c418fb7706e7f264ef0093d9392fa113c8dd1897f1ea3ab6bcca4f411bf047d5695bfdb508752ed175e877b24dec15836a46ff19f9d3f74dfe343bc5caded77e3bed34a26481f7d2d33c8e6d0e3adb9fb351d7da4b63aa86af9a62af49932a67af5cb67384103cbf78f6affb7157f4b8b47009fb1a4ae1fe4f6b92f29f0b9229e8ee85b907f7cbf47306d737313be4abae710eb2b7a6fb8fbf7808c0be7f01ed50dbc58cb56d5e1ddd42ec81747589d08ff63638f3ac0dddeefa88dfa27b5a48df704c8ef7bea57abd9fe7fab2ff4635ea4a69d963871c46c8d494afafd63b9f461e3e8ec8ad0831f57b1bf16263570530a91ef9498d70dbb4e8e9c781db9c18b7bb72b07a9fa4cf96e92536c606c37f28915d62acdb3467e8b5eecc920df2c0599093974f184e42efdeac991bd6fc41c99560f4882b1aad0752cf3fd3cf69f3a1d31fc9f63c65472d1e4175333a6f625b09ea66be7a6265b8d5d23326cf4fee1ba3575eed1e9cd19e28b0696398f300ed43fef87b1e24961ab2cebc657b0458dfc73889e2b4d74551b1d712da7d04fa5e0d36bf43e779e959fffb1f9ac87fd64804f4c7ac8da7e06ae332b880f13d99339b24701e71a5def99724a7c91264f8f99bd43dfaffa19daa61d3960af48812284bc87eca6aa0659cf9da19428c27bfad5abf3151b0ed9dc7abe38c83ce6fc59d5b8c1c624817bc40def04bb402371b13f8865254e6c5fa0a708f8abe70cb2b3b72f70393f3eaf7cb63a5f1b9c136e321500ff1f73d98d8e81c9c9a9650c7ea3f75a104b63763aa7072e173104a3adb88f83f8e03d43f9641951ea09ef6f8db339079ec36499d75c6680cb21ae2fd2b0813f972c027954cd4beb6fcf73c0f67fe59e4176926d0c0afb0ff70d2dbfb037baf651886c30fdec721be4f7fd7cfffc414fd2d618c40ecb7fd7df2bf3c8f77cd40fe7415d8dce201bdc8a33df89d3a0f4a5681e8c751e1ed11a29c243defcc21526e72a2621844fcfc6ed7fe7d988ceb0d4d93feacf051bfca55a3927f8d93a79c3e851dca35ca3b65eadce5d9c1bb8b59337a29e034f02b57ef67fe7fac119436c1b584be0f589fd8bdb237c3eb1ecbb9cbea230e86ef84db6d0eb0cfc20b9134fd2b5c0ef01930d7c409c23b58db5669b32679b10638914d011d99e3a4339db948b128bc119b1cc5d7c6535bb52f7917e5ea46fac961e5a476ecc161a676b381e07bd82a90778bf37e37a737be8ccd851fa0eead27cab073c0821f54ee45747ce813c6fcfb2de10b8df6ace1f534e9fbf8be1d179bebd8f939ada05eb77726988216fa9b49e96e0bff558cf81a3259a3396c15ed1334cfc0c19adb55e8e8bfa6d85ec519df434fea95e7e8c8572b47bf2c5333fbafa217d9cb37bd43326757007d4d831ee30db3fb047d0bd958ce13abc30750fd9bb53dcedffed211b06d9ff8b83945af53cbd39bd1ae3db09eedb646617b74c3c4e917c2ce201ff8f7af25afbe1fe9cf907453c154e4fcf2d6ef3e688800f15bf805d7dcf16659cdeecd1fb068a782aeb72dea4880f1c6182e433dd8ae06fd2dc6ce254f563e8258df03e95043e9644b049128bf4bd6e8756bc7dd63b227ee65db8bd969a01afc522dea59d7b30cf90cec3f88d642deda115dbcfde27d8f7de57e98545bc7af99ddbfbf82583db7d129ded9827bce1eb8b85730bb7367b9075dbdea2856cecd3b79871758fee63dbc53bfc579e7d1d98a3fdcef30d9f89b71ca8b86e0fadc7fb11e36eadc08626b92e863e3b09d72943ce56e01585f3c4f419db94cf96918d1d6e0e7932ab6073ba4eaeb49b21af3162cfc0b312db172978092fa8c191ede4c04db8c73d78bb07b83dd7f48b836f7b7388cc5a6a4674e1aca10bb76a167d89680f0f7c670c32f9e6a9b718e54e90ddfa1efb64ff4df5a73ef6dbd8ff58bfad89d5f0042348f0fef3bff3c7fdd3f6c5e9ada1bffc993efa32ff0d7df45f854d7d71423b71d01e7ca13e187c7de267d5f58e54cfef4dbe7fc0ba02606a0a5b23636c53aaea68ddc3ffeffab9133bca7de883ce2f241ec14b7176b18c75e2c42e60bf78c341ea7093706b0c0e9bdedaf7441deb608d09ec789238821e620ed8d5d91178df16a2b3cd42ad280b1851b896b5e29a58c7518afc20a2ef1da9818fcbc664fe4e65bd39cd0564a9565ce1060fe5d832a29470b05d8057b9ea9da9bfe111fe41a36ea2aa9365936ff1eacf34865f1ad1fb37bc272b6c1530ab92671c14776d52f2dd04e79370f03df005c4fbcf90448abf5f602f561ca5b676cc668ff01ceb3c47ab1677d6e8a754c4cfd432e6d156e0535bd0f345209732bdb30ee10eea19820c7a811701ee2fb8d7035cae7555a32b5698e3c0d9b6c5f1e6dc3336206b5bed3d90f649d2ace5e5315ed0139d671d247e5def1dd8ab9e80f9c19409ff2fe4cbb3bcc26c7a902fff41af42a9334a4ecbe071fd46c9195cd6fc5558e6c4feaa792b495e0fe960bac63b5fe65280fcb4adc65cbe043655b8f0ec097ae10d7d1fe2f52affb7cbf1e7d6efecd208ffaa6306780dcd9e7f423a83c2662135e812eecba3b907cd4ab7ee97ea84457b7599cbbfbe55e9cdd34e1764cb79135c5f3e154f65cd16b27b52a7895fb087ba18d63f39a304736118ebc41bcb97af5172fe5623de86bdfa992cb9f7060e80930f0a822379940e78ec8f9f15beb5de8dc649b00e77a43e470fb7e67ae8f476e0afdc608ce3752edffb687da95e943ed2b9984347cdf2a5babb421e34ee9fb7c620b64d5923d89a484ecf9ec04f37f9ae91eba4e3804e1e1edd00c9e0238efe5b2c67745ed358ceb778180d0c33e0ebaee66f48fa47cdb9e518d7bb7d2736e68069cca122bc9f4daacf9ef409758f2fe21ff5fb408de25478efc0ead0dfbf053907ec5471756fdd4a6cede52b3d45c07b5cf533947cc4254675765eaa7cdf31ae97ad3a60fe3ff6deb3c951255b17fe2ff5f5f44c03322df6b72a242110c8e179e3c60901924080c43432a01bf3dfdfc8958995a9eabd7b8ebb672676741595409266e5b2cf6363fca584c41b1ed5e9d4d75d5e5ba7e7a77375585d6cc64b6dad3e0ff7d8e1959e3dc078fbb866e7f8b4b6e8d05ce782a101b7b8cd47d43266bb38ee0d7e934b5123b2305bf7a8a352bf11805beecb3541bf8087d2e4cb72f366ce52331ed4c8edf92b35485f7ab7adfcbe5ca2da1a1e967cc9240fb5e0ddc67ee90677b65ff213d08dfcd5a4c4e51f95b949b75a6c0c733be7e80c7894cf2ab39eb20b9625fe23d8dff4941335a4172c71dd61224ddea1dd9a8f0e6b3e4b6cc647cf094b9fb4b20bac7beee6e342f1fd0533fa1a1f3e1fa66e10f6dda0e29f2fb02ba551e1e3f10b1cb4043096f9256bb5f161ca39f493a9d2e09b8fdcceaac54b82becd6ad79e553cd6f7583cb5bf111f5aa75d0b557299f7efb09db8fafdd9a9cccdc17b38b56ff4a9ca9d095907eb09c53efc0bb6a778b12761c1690b35f90ff97009bef3a77cb855bb820fb72706f6e5b5afa59d23c2861b85c6e7a4ce6e3d5eef7a8077b3ab61c20e02818f08bfcf12e7b355382d078c3f4af05c484d5ac193a056fb8c9daac9e185dffcfa7abc68f045963a408ba7aac64b77d8fe095f77631c149ad499f50087f4b9dffea91f3b709855af9a57b47696affcd9fbf6b76fd441601d5667819ff94e3c8b1ceea3f14c93664b0eb1e2f9254e2c3ab7bed0be8e1b4bf617e530dec1e175b15aef3e2b4dc2ef4258f443e80b21bebfc629f8bc8687e40a4a93d3d1e3e97415b339ae11fc1c4fafc8f9adf3b80b251ed07257e0bc3eb5fd78abaa4b8c97691bfb6a7eb0d206271dd7ce436fecd7d31d86d3814a5af98f8a147dd06eac37fc6c730a74a2addbc8af436722894f55dcfebf8e6da46478cdaa4fee9d9cd816c761f094a73f16f3aa4ec8cb1746f7381f6a8934d2738287d4718330dd406dee8e9691fed411301ed2c4cfa74aa63eadbde390ee266ea741e2988a50d39fe8e80ea38fef268be1fb775b4d249c4b58f869b2c4e3fcf3544faf35ec0c6a6a124cbed1f8bfad3ff395aee2165c4e5c23dfa6d0291ee01094f5f9ac4153a9bba77c59c9eaf524157705c1327782d21fb42f62ca15cef18c76e36c51cac420c4bc1e8093528ec9591a635ec217f721fdf65cfa9702da1282acc46d2e3866303f63f1fcdd4108dc5ade55f90d905f3155aee8ef09f15d5d08e7743106be3491534fa5872e5a4723f0971dad1a667ac57d52c7c0022c16ca3d44c447ab9d818b281f1ddd1b4d4bc0a1149e6da4bfa96969934bfc95ad6ae6b3ebc2f028587bdc15ed8d78617e38f2984ad743fa6adcc6de9c29bf3190b4dd0ef4be621e30fee27ea1b8819857b96b76700d806bb95aff7b89dfa1357275f8f1de567617935b5eecfc1a98e32b1acb54cc8503f850f774be9d5c2fe61dd6ddb2b2a7782b1103eb62c645bdf338f7c6d70b1a0747a1415f113936910eabc8ed2c8f6b2e62b7c0bb8e39c8361ded6c2b68dfd3f1da80fafd1e5c0ba0be31b103bf1c7bc2e191003ed04488c5c88b0827ae23441f0b8d06dca2a5aee37f97fa6aa870a2d7c22c2c718cb1de8de6b1a8c9b052a798fb6addc0b92820fd16eddb43a4dae608cde70f6f22f6087edb493ac8c7a99afad38985f4bf33e612595d9c58fb51fa93f3ac27f1426ade080ffbc42a6c4fe063f76ef416f8d8471a6bd269662a5977a1cff2e9c44d9a736f217d6a8c742ca483c239cb583b25e8f95268270eaf7d6fad8bc3c2807f7bedf5b1e1aec1426bac8f9e34d2ce98efb6c687926763e90036c277617f82f36ca1d4f21b47da19af8db02f0442b186faad7e040fdfafd4f79290ae8a3d6ad22c7ab6c5ec2096e228bd08f0e60c3b71e271ea4ce05a3c8535a5a72ea3ffa8e4927042734b622ec39a2c2be613e4d8326872b42cf3b0d89faa34028caa747dfb536be267b926c632bbce1faf0935cffe218d97a9a2923531961b6b421bd2225e135d56d1614dcc604d8cdf9339d5ddad0dc0a2385b8c7eb1838f29d29156e097663f0ab909719bd180c5f19b238be6a6c6713c933837981fd282e3b88fe563311fc7540d7a678cb983e6ae5a136a9ecd8b3521e6d70247bfdf90bfa32e5917784e01b3841359c0970e0bec2c1fb8adf521d594dd230aada37efd9d3a97211bf2a8066153868db3b3c4b829c604162397cf7c8bd18e4200b2c03539d03f914c413ad17ecd81aef1538a35c07fb0e30830413670cd3a4e4dba3a770e699d13faa3c0029e2ad7608bd6ae4947ce641609e519e427cd730df442d8635fe9b3445f43b81e65aec8d59fdf5e7f102759aaf44c1382115b5be3455d1fe4c44ef99aecc0719bf2dbc45c8039ade5839f9b58c714604d3a37fa8ce34f348d310f07a97098f59cc3cadf8cfcc466fc746d7847a4f3606e628c13f082efd8f0b8ec878374e98eee237d5a80bc845d0bebe118581d3d77b88fd3da98e50e83fd1810fb88bca36de8690dd724f2002b3752ad8e78710083dae36c33ba38f1aad4f3a5c98cda1859348fc7e7e9443f635fde35703bd1d9e3c75da5e62f91808f0b6c6ac05f7a853f00b630d2f10cc0ac47b664a832bd744378df5bf8b1a08f94fadd5fcc3dc66344ef1d863e59462f7cc93116efa81afefbb0d0df7ef99d0c7bdd2834e5e4f4dee1a3ab15b3be1bbfb45baf4ed01b3a9d8f9eceb3c3da3de9a6b38a369365df7dd96f91f626ab4b0d4b30f97a9c71f4792e74e77fe3f7f7f1fb573e7801fbb2311f193a9befe2f7cf7836ebf73dc2fc2e6afc6a5caf80935972999acb0697699bb7b2d5afd409b2cb577828eb357e3a13a5ce88be78468ffa454c8333e1688bdc5be1ab86581bf0ab217d578aedc43d404d780343e1eefd6331b2183df162bdc4ee788cdd508e59bbeeb0cc0128c6430c6c13cf31b693715cab89edfdd933d0b952c7f8c2cf00dceff279cfbef1af62a596634bf82791ec7341ee93f1fd921ccd7c0b381bb21febc9eae48cec8bbb3f06d5b35fe60b3fcbe1afbeddac714746a45fe66b3ea73a6e57c3cf84c7a08e935761812b352e43b2e7bec265f88bd85925ceb7c40386c073bcef4f64acfa5b64ec7fcd9ccd3bdee5fbb84ffe389e03187575cc8e723f4d095e5db52e716e8f1bec6a6bb551cfe78b81ed13bfc6d3daa3b592fdb8df37c9459a946bb56f2959f3bb6e0955e6444e3e394bff726eae0ff91b05b6499bef427a888f00bc2bf5b3e682ce1a8f670f3693454b864d1d7e7c75193d7cc0a97da9f37debe41eec23babfde886f1b6c681b19c1251d97f15829d6bb2ec435f490c469ebf916d166f2e1a335670f8fbe53610a56d7274f731b2e4e985d2c63f928b7017c26cd7e3fc2d0a9ce58e71e4ba89ec306eb556340f74e759e956c333c4ed5138fe4d8da948f1e9755efc2383e38b758819cde224650e1eb802f22bbef5f1d6328d67d7b12690e3ddbbb318b71561ebc43e271fc1572dc4a591ab180c7d92930a5cab94ad72aedd7e7459ac8241659f4ad8a35d6f6543dc65e9bb72401be01c2f3689798ddcbbedbc9060f3862906d5baec10a879b4a9dce0bd954e70119ad12fbcfe92404c7cc4f6c5e47f31bab4c6f8cbfa5c0c9a88f0be4489c1c66153923b0597e789c153bc1039e9388e440287e8ef6e66fd3679aefa9c69d23b6aee95f91ad631bcb582c6cc05a6ec586a9be671ed7dbafd8bf849fd094fda4ceabc13b82f4be8a67a489195afb8ebbb13cae8d5504b9a5217b5e91febee2077ba887c4987be40e67f18b387a8ff9a99233e11d819ac74a27819c4f569a2c5f61f294fdbcc34d29f3676afba86d2b1f3e2e6ba347117ece17f84df5be3f8d55d6e5501babe5ea30d119e2862f39ba9f72e75d6c5e4f25b3d80fc2cf12c31aafc9fa9afd2e04425f083e6ab26719101ba589fd5adb97f7790b25e660bfb5ce1ecab4ba7ea605bd4771c77fdcc71d2117e7c743d9353c069bbc7b960e5420f1b5fd168c32698275e0b21e8de969780eeef6172bf10fe512e430613d0ad774acc0c70db92480095dc61fc7abdf9d6bdad62d2f15ef55a18768a91b3ccadf83738cb1f5956f055fcc77877c8df10d30ad61bfdde56712bf9aae598600d8d1afcfb846be43eaded0b5466e12bd30c2e354a9ce2815eb310ac19b4c9cd84dad1b4dd77851a38aa71af24b633110f119c109fe42a56931b08ed68d0a2a7e6a219126722c06fe7ea1d4ef871c53bc5655fa8785744cd38e747e1ccce3d9bf16bfba310e562cb4b176ccd97883f4247385f4a8960c2d734a9e9c39b5b9df1f83064ff7ef3b73ee6ac1e0fc7e80a1e8e2eb84d79dc474cb3ee1fcb4faf722dba27a7e2f5e1bde0de94865dd03f6bfd0185fabb777267a68eb6264192bc86b957899d46fdfe7bc4afc955d2bbb44aaf0486758bf207263b48adcc9ea08796bdc2e20ebb1c60d17a6f69ea63097867774f8e8b09ea07eae603dad87f419cdad4a8d5539dffd158c13b2a6e96abdbe3c0fb01fa1f50cca325ee7ad387cf8a86ed8b7e288b20d2a98e6bbfa3e02bcf0e6b9505f6b8340e0c9ef108381fcae9778cc6d7f2ee69489ceeb8e5ce59a1539668dbd9f557cac640fd4f7ef16adab5c845c55a1c085da1f8355f92d1f4691b33e55b2fc857e93ae9ff4736dae22079daf5c297ffe43c7679afbfe2217766ba388776824cf0d9d9d63ca52689c8bb73f06d83ebc3eca9faac9749195f8ddf7c25764a13e86589f805819e1affd94ffb3e45cad72df16154e7fa11bd4cf92ef4e271b3c5bdb7690fda87288fdb3937f54eb801f339611a5c019a4847739766bb3aa252e74235cb3d4d489ea6be7937c3fe25f1bf5dde0be8ed3e3b286dc9ac7617ae783b925e7524f21f2661e5f1b3a869b67a5fcd2901d3a62cfce24ec7b4af638971fd7ec7f866b27fe0e5c3b92f793bafb967ea29e62a7231c0bbeb0badf4b8ab3c8893d24b7fd85d18bbcfce3c33d88fe06fc2359b250df7facd5ec3267c29fd33cf20d26f21af1091a38962a3cd67d596b5361e9715948fc900ef4a9c1d791f9eddc7937c0750e853fe5499d43fec247108b8797b5811833b6c6190a7c6c638cbdfa5beb04958c6adbdab836a35df387fdd5ad7caccbc2e81e6b7bfd29867af18df5da43a46fdde9080ffd3d35dcd8d6736be3f29578dab3b332703abb57b1bfcb2bee9fc698dc92bc614bc45a6af3fa15ed4d59c92a7f43ade6ad5847777bbbc57951d85f2b789e3fd8125efc464e66cb97a9e1fcc55cdebf27d2e8018fcfffe33cbe76156bf3eb982d4ddf64c36f9fb77c790d7fe3da9c2d96ba7c9b72e177236fe8fa3721b8167e6fdfcd456f1ea501c1f34d885c08cc273147b2c6ee6dd857f53ac17b70e783c5b1d1a24ea9b069ef7cb1356ceeb3c40f7ed465d1537985c7ffbcd04f5e9d8348c3dc1939c814e2afb7b4068e43228d4f11b2ed011b830b1bf2f12e3e5ae4888ec5c865d8d48bf550ebe8813711235bc1f938ce8d766af37f29f235dd00ec0312a3187325f62407f2c3b1f5b236e911e7b3ec30e390e8f6b747b15f64935571df47f8f6606ff4749e25791ed7977dc2dc59cfe2dbe0bf9a111df2de5607aec3668e2cb18f3ebcc92a5f1b228decbea2de82e450259fd4ad436ec8465f5d0abf3a9977aa31ef93e557e7fd8ce61dd73b7dca7bfdd5dce2d41bd2855c6ac76121bffb417c0b9d650ff1f79de0717dfc5a4536dbddd99eba3774bde9c3f0543ac7b663745ed7f0fbad1b7d2318247b295e5d2c0a9f0180371564d785215778b6237cceba54eb9c40f3cc8d691c37d307dbc9fb40e6a252378098d790c8ed827beaf99c205b14fc2d84cf01e9d1d7c5fe3d1603f18c6419ced7ba421d931b0097c8877643eb333b2d8c41a90f943cce819048bccb3af92ea86418d46b05f5f6adbf6df1df082f3dfd0b585a75dec8968dba1e0e884d93dd04340e067bb58d6e50ea02c0a907b84ae5f9acf2ac6f1763dff93437a9ee277e76862425cf4570f521aff8cb352219b3c88b7adef10dd968953c7a8973cdd8b9906e3a5e62a3351308b9cc09e99ad721570cfffe326f80c6b894a72ed89114c60f44e3293084b7d540673adb918c558105be27dcab27cb1473a7e306989fee25b6569dc3e058cb11a025a4d34cc4de577204b01ce8a27d877353792d95950872d2ad1b8dcf887de38ca872fa8330353a3ad2a9d28566a1f190d7902f2e03969d1b107f52acdf1c26636c63a57a8648b9b11e411bbc2fa08d02b52b3b8c61378acef8192edbcedd5d73e1f7f53081b8a46a8caf681f6e549a9342da7739b4c7d0bf3e335559661e429fe0bea9927516867b87dbb79d64bd12378f707440de8b928d17c608bd9770bef87b891b6553f53416030b3016ec924fdfee9158fcbfc9986fbe38d75a3903bddc36c7b46dcea86763427cbddd85f6ac7e894a370cdea31e601f419c69649b1fd47a985c8bd8bea52687ed246b8c93cd473797cffc8d46eecf33e0b3c698d2c95e9a543157642fdf63c70d1ed9daf983babb47e7006094b5cf7964bf3ff231ce83d155e2a3b3c564b4cdeba61b4794ad611b5d50913e9f0d9f8ed1f3dc9d2fda31cfe263a59f6747feadf1ba649da9f20b98589353620fcbe7dd71683ce937c1638ece189f04c75f0b392d99a53cbf7b5e4b77416b07c7f8b85e533f9afcf998989bd3fff00cfa2a99ab8b64e273e885adb89526a7cadf3c4c52acbf3d5bf7d55cd8a65cc5e10c5c8bff386e9554f6f97dfcbee02a29e3551ed76bebfb2999dffe32cfc2b539bb223d8fc44a3b128ffb407ea7dbfbe7912d3f8f47e99dae784b92e7b1b1f7b4164fecbbc3ee550cecf156c9ba84c3f0ecf12cf1f5ec9af8d363a1ed9f9abde4c12bea9bf92e4b783cdafeb764ca89c49f5f8d293a4fdd3dfde5da4d92f7ba33f2f700b81a8a9a62e51a0863eaabbacbe3b50836e73b5a33b4a388acc48963e7a09fe681f02ae7382f72885f9cb9675c97f92087e400ef7130a66fef1f0e139da79c9002e60f27ec4ca81fa052edbf3b96a182b90100b3bbe50bb354fa528b41dd16c680d4176534fab975f620dde202ba73acc7127f659dfc01f6e110b569da076bb856c4902cd669e4a6805e5d8fbfa7f60dfa55cb251258056af590ad9b967e06e0bfc7b211c9cac4ed7ca0b36a8e6bedafc1da9c29b661051227b6fb59bb867dd28433e38afd2362ad7f02f8ec0b9f17f8392a9f7480ec3bf346078f627c1eba1eb76268238db582de233f76ba19a2f60fcfcf7479a3b7650ced764aec60e75bca633b48bbd14877205c3f80b38c6d2e64d7dd480cfa314ef202e94f44df027dc836456a6de8a07faff7d5bd96b10a89ade73b381721720fab84e4d26ab5e7d4f5367a3bc96ed22864ad269644e2c63ad4386a433afe056eb51af72795092ac53ac447bfd0d3c031c65dc8efe2f5dce3a3c8cdd15cd2891335fb2b7122c8111c2f111a319a860e5d62e374abfec3ba16238b2175354a365b18d73bdb4ee246d7a99229f86fb4efc6a7d0e9786721b8fa3217a6ea904e4b398d64d0c8629d2ad6dae0c093c61afcadfc36a861cab286fff36bd88a9fe95cbfa21bcc5abac101385e95acff059def33aebe663b4efc01581a41f72cbd3a238af3a688bd1d28344efbe7b8c0a3a27e05e290d2d862cdbce60350d9dafaeff554c6aab891c7eed3b648e634da8e76cfdbc62c2504251ec374a17f2d7febc9fc91bd27b2122fc7625cec4921142762640742f20adbf9137dfab4e6a3b387ec6afefeb95fcb057bfc5cacbfe95b13d71ea135a77d514fff643c5ef8004656ba611abae1adcc930a8f4d9d33c81a39c282410fb6fc6eb030dd673a6dffcfd82dd641f42d463b01f772f07121b810c045b0010cf7e71c16ae4274a372cdfdf298254edc8bdc80aebdf7f937e018bcf6d4ce789da7b1227593454d58fa9cabfcb0ca1ff435b4cdd9de8d23c263fed2d743d95ca5d7b6cec0fe6b3fd32afc54568d8574d3995d3c53dcdb6af2137c42e51c747ff5bbca3378a3fcd2375ddd58df031ff1f0f8b2b6c5e39735f988b1276b78300b31b01745cd02d82abcc6da04cb43cd21f6936ff459e4821d53f9c79fe7d6612c055bb9e6533dcd6af1eba350f12554359a586f184f152b9e72e392e3c1abc5f9a1de76b24bb0ffadaa9d7bd607d087f735df19c6a9cca19e9b1fb16e04f5dcc942932157fec5594f2f34e1acf2d1cd033f16ce7f54943016c3f08c7166c689739021ffd0bad10eb67540f7e849a678f172b11efb43f2785fe1b6debfaff1f796eef4d9da8238433c68fa29e226dee9eb3dbeace182435f7e59a6b99d950f38af9cf00fc007f9d29a7eaa73c865ec1a73a886047782f840a9c021d88f521d136122a74240d5b115ce123f48856850bf4649fc088d07ae1936c7f4da14237b98d0a5efac88450f93b4e94770cbba6eb7a57fa275d08aa9d7fd7fbec417b92fbb9fb249708990ce79585d8adad34ae7782effc99c7f26fb1b72e3fa8ff7fade57179d10ebd248976fe22954e3f61cc3b3b9bff63405fb6b22b0de18f63db261820d47411ed492c4e40bbfb7135cafd210d9e045de2f9d2f3a02c6f7bcb1391a0f2542ba5352f0b77f453fa0dca0e4db3db7ebd9015bdfe8614e99d7e755750ea03e7f6d0d2705e7ebd4a4ef7c4025b74360c5ebe0133e09f21d9f61763564fbfeba9b06efff360f5ee06cfdea9eeb50a915643f70cc3aca6d03e785dffba09b795c768559eddbfc0ae707c4e3b465ab25773e6a2e2bf3ccd6411612fff9717a1b634ce4725f58bf755f105d7f27a9dd2f9fa570568ead0a1fe3491ed5d7710560cd522fecafdf3a2fce215ad801f05dbd9257d1bdbc8a5a73e1fed6b920b6d49f980bb79a8bfcbfd55ca033e6f7ccc568f77be702d9aa1cf56f7f59676ee5c83e7b96cad5396905e0a42df41fa86bf9857399d8d9afc653787416971c38afe21ecf6daac08dc77b5ba1f70ecf621e4282b9238ddfcf2e13f56d958598b0bba797cf62c2ee735c0674ce36ce5d774f9fb15e3b609da8a16f3f5de77a81cd1b93dc1745a8e3ece412279ca0cf05ae3b975da64a06b68a82ee3b0829e83d63db7786c9459a80ce3b04bbf076ac74a2491810fce67b3e97fb38c8e8bf2afff45fc54d78c4bb89f1e56bb51eb8aeba38ff520bf882884f19736e36e3ca1ce69b2dfdf9e83df7fe7caae9672f7cfa8fb9e54adf3eb7c379fed8d77b04fffd335fefc4c2f6223fa874bbc7f29760a797ebf384392730aea4b347b613c6429638b0fd4ed89fdbeee73510b9556e1bd663df2d4f61be52639caf199ccb417cb3877abeef7d2e4f231738350177495c56f6b9904813975d732ff8763faf4f2cb129feea334c9ac55c14072a5d73e1976a6e3ef1cb7dc61b87e71e62acf51ce1d16061844ffc62c7c0c8bb6729a208afb5907a85ee8b6d8f68615acf6c8fe8a9ed01f89a353f8392e50ba307f931ce0dc9c3b1f7f97840ac1b626d80cf3359b24250b72185b60d4949688d635927a1fbdc00cb443d1ea7908781e4de088f6ddbb7037999c539cd5f9f9ed30ef043b2b41bcfa2799cb15335613ec394788613e5d4f6c0f60b18c0ad5cade7bc89bf924fde389fe5f27caec99733a99d06dda088fdcd0fefe99d4e4572d12d25cdb02fe81ae038eef3da5a6994e50ba53e171f57378e4e6b13d70e4923f1bf3b166d8af6039c29cdb9b82c4ca1c02ff1c1ef153ce46acd1fd4ace612e6762e723f1bb1578997d1b342720ea5a49e15f2a857351bdb25714ca7930d84e20c31bf5c1b48fcdb78fceb67538927cdef6ae7997d7163daf7388c515f5e2fb84fd0b950b6d5cf9e01b1a2c3cbb38d175e9e97e68daef3579e30ee49d6591816c140297c9583875c1d24cfafd4592475c42e54fa44d6196be462e41cf4133af3c837a7b5effcf5b3312e38c17a178fdbbdb491ccbc77b4006304d7ebacd467bcb33be0995d193ddad1aaf37389f9641be7e7bff68c7ae193042e01e004ff13b1b6ba6ebccb162ac55ab915df9de9c135102638cfa5c845df2ad9e1cfc4c9707f4becf2d4e530efe99fcebb89d9dc31c6a02b08c10ed96b47891312e0fdcddbe7b1fb9f751e0fffa5e77198e54d5b244bc5c0de36621f93256bfe899807d4267470fd8e341480e7c689d2ab0975df3d47ae63043e8d4fca69d3c74d05f57c4137b806521daf17d9827948be11eecbc958189671ed3b391e8b25ac65b9af4eda3a88f0549f58357410912def9958b178b00a3bf62fea11bbc03a08854fe0d76d6d98cf6bb0e1e9147c9e13e2cb7eae4f3ef765ff96f55bdfcfbf3e8ff7dff6c571e324ee284f77d77fbc0712da23fbe34e0832d59b008e04f8a3efe20bd51e38bda8fbedd6f0e74e0f7c2ffeb6c55377af7bd94f31ef01a7ad58bb04c3a7f4297084dfa7be7ffff4d9917c7d2c27cbfbf1c3f8b3fa7f77dfc4634c2af6ac4f449cf78aebe3091e157b5e32806d9d16d731e79e7e861c2a63f9e7b975906c55e88b8779565e6110049eb9a21ed5c108b14839c107e51ec213eabb49b3c0a762913e377012e21e2b71e2d0327a7ba43fbcc25fb24a5ea77bbf1e7abe37117b12d4f7b25be07c69e231a0f768ee21dcadcde50ef54be084cf70197f406df658cf254e6c6396a1efbe38d12ac7355ae43d61b59f702de7ea827543e80bc6a4ffbc6de4c4846f3218651597c8ff4c5e0eeb105d913c28b924e959c732bc836d0a39c15b2b72b50897d8387519166a4c6a72877ab1561bfeed3686eb9a8f527b22464e10f69dc08addfd2ff31431b629824d25991fb96578270b72be06bf8c1dedc57a8eebf3e8ab1b8f0f8e31de9a0c1db99d996f33daee93bf9f24637cb2e2e8e0192cfd0956eb977cfe42bcbbd5f2fe74bc2eb59dc70f76a56cc36b68d7a8377e1de7bc7e2126b1c7f835e5bb6f1e333ed80cc6bb1102c8f54767c173798139ddaa7849e703edabeb5ac139e6761c450ebfba616e2864737d0436f81ff41bea83c0478035602b1f37c8691e97eb72e774849d8a9e178e978af2816443e2c411decbc1c7d2e175df6534344627a7634702cf9e6de5e362071fd49ad7ca774b5f1d274e543d74067544ca3696b575f011af0d3db527f2ce32c548e05ee5eccf2e36707e15f946e5f7f4d17d622ee4d2fe3d10f36a7c3ddebfa0eff078dff7b88f13e608780f7e61de2e2eafa3f3339907ef3769ff7e86b5c109bb296f5fd0d957f269fdc5e7cab876209120ff11b06106dbc9733dbad88344d7fa539880fff5e5019db89d19704fbfd2b31a98f0cfe7e028e7d57ed28d9e6fc559244c56176152d4437cc0380a7cbd1ef975acd8adc53475de8fb09d6e2790efdf7ccecee6d9c8cd3fce4e67b983782d13c51be5c317d0b9c347a130b123f730c36d618f2dcfafe3a3efd57e883e52db18035faf13af12c8fbaa3ffbf9fe2fe75be0edc436b2500a3efe77bffee27e6de30469133d07fccbb63e36193fd3c77c6732bb406df9adb0a3ab7d5cf8b00b7da3a95b252f6da172fef65faab33a21dbf10bfbe9eac60f72760fe51a86b80cae91827fa1264a7f501355d837b6d22b7547a24f5d21b648b87d6dd3a7be62ab3dc2f97262f6e64d22a8d1a8e3952e98275cbdc14784e4a96ddac09d5bccd7948bd832df8ad4c32f72612fe5357f12d25da14df615bc79e2ff20e3d3c252ff95dc92cf6330f601c9fb0d4fa7ce41ee0bb14f7993f7be94b31dafe39ebd9b7c763ae241ba095779f87e21edbb8e919d5dda4fd746efe73c108fde64759d07838bd7f13ad2c1bd49319bdbf9209bab614feae07642d0c67b9d31764e038eae37913f91e77aece65ff99ee864c52ce0f4797114799478d90c8f81ccbd5f85a180ff0b32a8bbf58c5eea30b39fb6f13a171d7351a0f5b3ec0b2195cd946e5718fa82acae8c99d26596b711250c85f3ecf67e1386a35cda5bcc4c79cf84e1e82a0c47bb59debdc9b7e54e56de99aa9db543f7ea7bfb281fac93b4df5d654dee0a43f93cbb699430dc9d67b7b0230ce59dacbeef6446cea4bd709573f88e9db477e919f79ea3e7c96ad8d3f7be30e3e593b4d768d44652473b696f51b38042fd206d461debf6be93f61a3557ba94bcdfed64a59bc9b7f03c5735dceef6de7170fb8eb497bb334aa6a5bdd59183f76cce75bbb3fd68370bba34fabeb9f2de91f6a39dac4647342656dea567c3702773ef99b45fe6738e3acbaadc43cf45cf9794ee4d1e7a297ae75c45df2c77678c7c9ea9022529dd6cb67751bb9ba4743b3395fcac429f187d1fc2372c6fa30e8ccd7ec908c31123ed655a0edebbc270444bfbdd6e3e39062f6b8839f1b631e8c061807b94591b7a6719b3dd7980d6c6fb4edec37f81c447e13c10ff0bac8fff9d573cafc94c5685dd7cb4ebea7b8ddcb3dbc9397ae67237e7ba9db9eaeee4fc3d93b9f79b751b9de53d1ac7f79d1cbc933d25ece400f531327ef33aa9f2af5e9c8de8dc427209c91e551d51d25ea6e6dc7b3643e33f8cf692d2a566fbf03c1b5a3d189fbdd093f64b66ae5099b4b77ab3fcfdaae2359349fb5d3637ae2739e832337584c6e12aefbff60cd2e644ae37da0ac3f793ac7499b9eaa57280c6767792f36e3653a81cc99cb942dda4fd889663b9793f79a6ac7473587f5cf1befabbd0fa1160fda07bd0fa99ed918cfb90918c9b73dd6c3e9ca5e49b4ef04db7f1befe1e58cb7ba14bdeb7c37d75d1dac4fd80b6e5df72795fac5bab376360bcd037ede09b54580fd5ef86fce9337eb77cb14cf1602bb4ef1ea076e357d6cf4dda0b349221ead03acbea7b0f6487eaa33590cff6bb93b4173ad5cfee95cc7d6f760bcff2deeac2dff26e471e8e70db7d88e6e8ea0cddf37c2823b9d49387fe5eda0bcc9cebe633d85356173d0bb51338f4ac2895d4567bfcceb3bc77916c40cf473f9f8ae7d7fa07f34afad29187681ea9f35c757beab0fabe4d20e298f073fdb4e718e2c5413218d959a6c7399d5d5f4063cdbde7f83f215d1bcbbe103fc6dff925f99e772959dd217999c968dfee858e1c50b5b1297e0e3be87bdd1c8fddec86643e92d32183f62e1eaf1d1ab7aeccc8640ed05853a86df9331a0f61f881c7597defe2f19ee171cea9da5c52c53bc858c37b4f64fe3af2302c7e466b60278fae48566632ea9f71ed48fb6536e72824fb29d9fcabeb7c89fe2bd67959f7fb3a178dd4364f4ee89e99ac86bb59c7a294a17606b99077e93987e48fd653d1b8c5d7d32c4067a6b59b05703665488ecd8663199d5b701650bb5cd6adce5f5d4333f8af5843241fed3506547bbf22b9dd5d0f578ca48a47495d31f22199c9f93be3edc5a3acfac62cdcdd3631751386de515645d44e981dac9cf41df2afa5910ffcdbf27ed49b2ad9f47f669c48cfdda88137f7cb3c4b6eb00bb48e7d580256cc0af0062c95cea79c283ab17d5916b57431ea23ae995fe3bf1b85ef439b88becdd0fe2a8e528fe092bb376853e770ba15f77bf8fe59898d86f340f70b53380a1192ef42025cd001c6762339b0e89e08c97ff750de13e37b66918b6de76103f307b739923684c7e9619b10da84631afc2871d4b735917242c0bff1d7460ff03e705e8d05fd2abef5d1f8382ac65dd73a9e6f335ee4ee8523c973ad6379a61b95f29d02f7abb3ca01bb6f0ff87f17cb58254eeca91e3fa63c1370f0b60b03d75bad0deb28946d5ca8e3b2022b9e8e07ecaffa19d7462f76be122fb88bf595ef3f59f53178c957f9241f92677d9b8fce765eecdf6b60c7e3c4e1f510f0b10d2116037ffb02cfe0491fa3b31d0fbee2ff6cfb71538719876ba377908cfa1a78394ec719f70823bdc0bcba06abe29b26ab8bc0035fd56ea97f882d5fe74bbfa5cb65651d447d9c8adc4e325e85dce8402e3a3fbe79231d9de3b0c6562add5974dc1a37eeec66195e240480bff0c3bc3dc7277a325e099215026ffb6b238b6c8cbd15af8d2ff99effd3c61ec7685691c017399685ac7a3d0775dff10ae75a403ea5995bf146f96c1f36b866e74efef1a18dc2560cede3eac62cb3365691cd7503741e9b79f4a7b970dd420e0534bd7e6d7bfdf25e37f3b0c2e1035e3e3d079f69be4ba491cc22f956f2697261aadde8ae18d85d92df952e557a2806f6b0f87d7da37c013f67ef9962e24da2513dc6e6fe351e8b329628997af24a5639f9a7185709e04ad662d6f3984a0bf93e8fddd432b29b0318e36effd3fd6c3eef4bb5e79ff665ff58f6e1fc4288477d752ff157c0e3b08033fd98c92fc6c8522a59248d6783ed683cd8bec29078b63e096fe3aff5f1f133dcfca353f1a3642787111387d7fab22ab2afeab6eda08ddb317ace15c9b5dabef866bbd576fa69bebfcf7c9a7bc7cb9fd502a4d2e454fb7621b579fdb6eeac2eeef0f59cba79f6799dddbff0fd9e523fdf6a7569b82fcd3c366e8575fc9b769b2a99e482eed43d8a132191c651be308b3cb963407282305fec9d8e4dd5ea1b4e2c604512dc4f2110eeeb1d007756bccd433658c7fadee37c8e707025530ed91ede7fd57c9d3a76fc686dac664e07e3bdff09ce25c0788438e308eb2e9691111e1b6c879067921c35f6bc647cdf89bd68de59c6e241383a016014ff791ceea23f7cb751a387f938b0be83eb2d96655f70fd5ed51752c3778fa77743edecb334d1d0dfd1b742ccdbe6b2fdc2e8c6628c71bd174cb7d0a362a7239e2c7319d4ea895827b06207ea3b96dfc9bfc7a29eaecadf7dbf8beb9573c843eeab2f2bd90fd0f5c633a4c79c3d1ee3be6e91adcb5bac3364af535efe5e709a0b6172ab7873c7db7aaeabc35d0333171a982d561ef65fdf1326f3383cb6dbb89d558e74b5064f076f0fb69c1f2f8c97ed5fc8172bd531cefb8f3bcec6c9a9b001fb6e90c5ce3eb93dc8814daa353448ebdcd196526119384156cdeb30a1b7af792f700c7ae43d8e418fa3bcd8d7c66fc1aefc7f89379f8c8729b4f9e27d31b0023b8e0abeaf3a4f06c1cf6cef2936920e2bf05d7a1cb241b2c8a5d3aba926f5ebe45ca8f3e95432017d638d6fe1a74deaab5e7038006e6a71ff230e87da98563c08d5ba446d7e1fffce2f71e4111c5b9c2750ca509c6f59ca50e0c5ab9d83e95a457f6fd639115ebcbaaca417a600bc1b202b3b42212b49fd54a90bed9fb47b2853dd00f83040a6ba2f64eac37671742edf3b046ee8f3767205cc2201e3515d08c6cd77e06aa61275ca857d83a652afc480b7808f4f2bf9e9bf8091c75bedfcf74bc943351c046b03d6646273c0c55662293bd59efeeedc408ff11d3ebb788c1eeab006f4dbfca095ebc129fe4ee92777b2eae905579931024c739227de47e7624d1f2a790970bd18b96e52c9d684bd795c98b3c176027c0d30272be074833d791503cb9f72225f5d171327f8e8ac8d5ee874dc44e297305e8ad1bb7a3097956ee370562cc47652f0b239c36739b87e284d4e507b350f44d8d7ed3c89fa58a1794663b23696c0435771af0e4adea0053380b1ae9f0f158f6f21af1a67c471ab844f6d39a5239c2d25fb01b9dc6ab247b2cb45fdeb7817375e623fdd6dd0b8360f445c2ffe9bbea5b60e4e6ba3279367f4652e0b6d43bc20bdd7d6578963e817cf5cf6e59b7695261fa965cca235cf223d3d9fc7e12f8ec90bfc08f504f2d238e0ba48c27359725d1ba6509c87d65ff6d103ff6cb14707cffdf5bfc0955f1b877bfe2666f05096d7b8ebf1394364fb3d2f2e7b56cc5554eeb7fbb311ea51d1f36c73a5e26736eb439da03a5bd0398a759e6ea1ef02172b9cd9980b27751af3f8a45fe89c3158c6d630efe683faac26176ff3efb57ad55ec995589eb9c0af9b451e8fcfbc2ff7291e87f6e8517fea3112f132e507258f2279773247f354e3a47dc66d558d9f46eae1fd7a1df10570b00b2ecdb6fe011ca534c44f908db8615ef131fcca77b764f223fde997bf4f7ffafe3a077131776e3c38566b39ac6c65344ee4e7ad925d5ec5b9fe0aef7df5eed11d5726b9e731f7706d3e713b9d9d2a596deeee9f57e99d05cf718373bab41d2a5d69fcd7788c7f0d9ba6c243e4b05d5bc711f0b85e611b21fd8cd8af72d37e1d9efc85312af0fcfc1a9e9f63167e0925db233dabc5914ae620bb2e94913fe5afb1185f0b3e82facfc7a9dabdd6f16914a37b34f23a760caef3076eb67d815b1f9da7e3b4c49f903811d75947540d2360253a81ef547bed1a9435d4d0ce7ddaaec4ae8776028bf6a879a3eab605b39d5c83d23e055e560be93b4837f3dd4388f513f5c488817d5a7434d609302f9c75a302e0e429b86af5411db7899138715bc76db2f2ec3455c2be108b1787c922cbe806824ab15e807421cc6188f9c4e1fd250e30b4396483e944032c9d57ef843a08268aa7137db01db3c81e0f160a8e8796f5b5184b8760e72fbfc425e1e52d9f7a3caa74905c4c9c03c999df83ae5a60d3f895aecbfaa0c3f034d2031217e931c1e85ad9ebd7b69e7aafefc6bb149ddd4ec71b3be607b5d1c9bdc138c79cc2c4cf446442db3e43fa0ae808233c8ecbb2bef09738695afef6e4e630dd53b91f0d328f072a7587185bcce1ca9ae7b475a6a2fd4db8f5aaf1ac61707e8acd5ff71762bef155b419a2350c31d51f357d321603df5fe8a70be093111b6fda11bd3aefc517b1f8f23696e71ab8a9e8424e628c038586bd0ff1a2db53fd3e72f2aca62f3cf3d7fa54eb5b2f4e08fbbcd4bf3c2ecba726d55e47a5dfc852eeb9929d0395cce3e735439a09f92e789d21dbb9a61fd7e5bb57cf13e135b4f644f4ed4ddf42c44afc2a711952eb79902b9f723c669fd71df9741de3c7562a7c9fffa071abcebffcc118627f1cae6b9fc8dfb18dfdf45bc64fea87038f47fb88dabd5a4b924974d4664dc2336ebc486aeab447177ccfd740e0a89d10e05afc12ebe8c6820f61fe0c9364a43dc08c5f9d051ef59fbe39cac73f5c863d4b66a167d060334b06bcfb6419ab50e0ea350fcf646811337ac42fbf0ac17630a95408c7a1cd7de03d16b47c98d107edc67a236e32a7c03f67b9987b05f340622e919b1064b61b105b6bfc5bea8eff4771fb3eb707dbfc50bfc5d798ffcb72c76afc55b652e98d3856d3f2ebf183a65f6f58c9116f82f411c08449d0b39c00fbcc164c17eb98f92e994727ef39ffc32997e251bae980ffae2f1c30f744f35c49ce5ff29505355f19d63f8a71a1249e4e9cb078c6f12af1abc88a59b456239d8f4eb6c1d2def0789ba9efa9cb67bec5e84787c942db14fa6ef0d85756c5906ab23c66d957d81b64efad3edd7bbc7ef9dfbd77b7f7f8b59145affcecb57a380a72c6912d85747c73e6c863ea476dafd56c5fd0bf4a5fce9ad1316fdd7f964fbef2bbe3bccdea3c4e9d1b4d416ee6e183064c357ec4ba876c2028bb6085ce470db80b83b5d1dd794c74b679b6f315bd1e742ff05b1e0b9ba8c557d0fd8a9e5fdba7ec19ebf90ff5f1c63c36f7cff82bfb2772f24ff6cf64f5bffbe77f6e9caa3caf204e5571e93d8b5355ebab23b06e714615bc06e48c227ee8dbc218c4623c20f1fdc1b39815bd50c6b7ede4ea5b4ab6473f8b815dfa0b97412f7663f6a44472321da7813711698213e83b9319f16b5cff441ca99dfb94e45f391bdddad9e836cfc63aa65243f75f2b8f624db3c196971fdbdf07ed49dc403f7ba59da17f657f539fee6fbef7fbf6b7fa3cd7c6063f1ac1db86ef69fa686d05fb689fed29640f56765af3cc79104f8ed03e8571e2b3487dae6bd6709b69ea81aed9c8b741df8e3198f57f1996cf7d6d01e89585cf109f63c4c6bdd327b9cc5f98cba31021dd6ff581d6fc2ff9623ec1b2b19496cfea6013ee9a32ae86f607e02d6e95b0be670806a35072f548dc7b30551bfba71e2398425caa191fbb3c3a03efe75867db7cb48f7010ea7922d82f5fe71bbce744b295f07bbd8fcb80f08e2bbb640b3c4bfef9f3bdc65eda1c87c55ad830b5fe4de4fe861a5fdd61a2da4ae67be6eae874c46413e31c548d67af9ef9de5f1a5a6a993ab5e6d91c8deff2b03acfe353248d5ed45fec9345f399faa2565bc2797cb7bf8ec97327725fe7b574897ec631a3be52bc93e4c1cfa38f48e259789ebc4f6cf46c978f24db8c3ed0b579d88b245ef45d26dac37386c9cc56b23de0fbec9389ad64e9dab4232dd66f68cdbb8cd6d70c2d55700e37d28dfab6b1c27ada30d9bb410639f2f378954b23c8cdadd7a1f4bd83902a07fde48e5717c2e37802bb2346f7e906c8747e4c391d91b38c15b243d07ef7251e705c7d900b07b9efa2f3b2f311b964cce7714649a35a9b68463b06edbb87b0bf9e2c53b5d656ebe827c718e71b8d8ed03cd8c324f4b8ac3eceaa67d027cb147ba48f8cc765c7b5e11d1d3e3aac27e8dc5e21b971962662e4763e2ece6116b9b704c9e4dc366748cedf6c3539357ed7c48b3d09fb1bbe9bbafc38477bd4e3f5dcbd251f4e905d2d53f41d43a76c53549c8edb578c6e6a9b7e647574ca569391136447db1887b629dee661769678a23fdf12ce09b27dc13dace3b87cdf09b28b17eb39e01edc921be491312c85e6c1ee08e9a3da9ef921caa5f187efc6e3d33266c38d9a6cdd20db7ba698cec3715ef057d8a6dc5f7784542bf291a9e61a762127791539a392ebb4af4f8494f08d9a45eef23c8c7269748789df5f1f8ab6d7be36817c83a28eaaaf1e84b48ef73b0fe95c1a911c55f2ac7924e612d1478be7ac2642aa211dc08828b4a68bebcb8390d6b84efbab8390ea13b1a798ab8567ae388203d8d74dd4a712d3bcafe07e7196398b54c2df3d0f935c1a17f826bd25c12c4276008cbb6b0aa95e60ad44330a8dcdfc90e48db51bea5d6f98f45a6b72bc99ac605d588765aad5d6cfcaf4a9797c3a17f3669babc80dcbb82cd65dd4e41f4ed0789e66196edfea34f746632d84b3481aad22dbfc9001d723b28b3dadbbf1b5bf9e08480ec40e85e4874e30d6b35c1acf189b1adf5c46a7dc5b62ba41362e3075e6911849e59ad06f854e380f1f5f27fa98629be5daeadb10875cdec964f740211dfa473d06ebde92cbb6d47b7a8ecb233b939c015cb6c7717a9ce328f111f88470eec632759846dbbcd176b26ab68d1b6dfde6730123fdd6bcd685bc85da3d69f3ef76e3f9eb66bfc37a5bd3a452cb18b04eb0bbc9aad5d2ffa24b3d366e30ec45e2c797ead92b8fe43edd9c1b7d9e0ee5db9c2b6c4bfdb2504657899f5d168a7890f75a6eef437a1608a9c30f58612f9fe59b7696152175d1ef717495d451470ea89bac50b9ac50d9ec2607126fa3fbb5f5444b85e17b5718b17b8f7bcf658cbf729befdfe9f95ebb09236fa67342e3ec5ff383babfe38712f47ca9c40feadd16da11e94c253e95dbc9069b0e95b6db4925b694a8af21e65fe01d25a9936787b5b9526cd34ec8b53db9365a9b22da3bb49367816744a93d869ca29b87d6f330899d3c3b59c6ec88d6e6fcf081d65aa1affeb079f664325158f8dbd1ef6acc867699bb37bbda86dc071e03245f21e749cf918c2b30a22d3382fc2521843d2693df03895f5d2c0ad71de33e1f0307742221758c71775570b1187aa8f3e3835be245110cf67dd107ecdfb0ccd5c58df4dc191e83f56445b913b92fe52c539dc7c2b9aaafea254ef36f41a963446264f3c8269d513afaa6c71c3f45cedcd9e1d97d518b86ec708f67f70e734d8560706971003dbc67cdb3378fbb061243de1fd0b96dac1217ea157a478fa7715d2d0ff37df36aba177906d43a581567c48fad82cebb19e53014cc4dc56b5397d111e1842ab90914db1cd3b639a35693b2beaee08d88dc11d26f4ec8fe846bd876d76fde283a23196e31fad5e3d9bc618bb4b0a6b64a5d97f8a5fb801b413575c8efb0c7c06b15b99d655f50dfd352ae90b35323fef6b5d13bcc03b1c4431382ac9439e41c1f3738818647341e855c21e7f5ecbecd64764436f566b28a1cb23f612cf17564279fc879d7fabb9778bc3f74633d44b27d6d8c53f796300e1385c2f03d753bfad5e5d9dce3f550ebe8013ae75503f4efd0bd258e00b6a3900ad8a788febdb81de0ea2f72b5809b1f73f5421d77b0e675dfc66d7d8f9f1d311702f02607267052e9504f3e8f4e894353a9cb67b4cd4467f43e53c9483ddf3825b93a783dc55df8b7754ea17577db183dca327da1d23597fd0d3346f63043f8767d19b01c751c8f333cf4dc606b52a9bb6ff0418c90ed53d8a00e43cf41674573c2eb94ad7ca0f3e5e268bd8bcd6bc4ce19b18e52f09f758b5cc1dbc23cdd36e60cec0b3873095f22b2550bfea8ad925d9d897e581bbddb3c1ea1bd1cc1f99f6724cf2a39615b14c92416d90a3f9c426782dc0afc734d3e915c8088ade424fe17fc3d205b4667f42ffa760b72011a639d6c8103d4f7a5b8acdb21b98551ec748423fe6679b736babb47f73fb886ecd99bdaf1ce357df168e5612c1eeccbda58eee421c52e8cd1795dd84724a7ca60669e18d8c53adb95f946fa696f561c2350cb6028fe6daa9eaed2418c6c24b3783d9f8e4fbe74f8483dc34b9c839c3ec67febfd406bcb527a31b607ca1a289893c67aabe6c52f72fd209e4afab21ed257c8571acf7a6e6715a175015c5b4fe2106b8ed4f713bd0dfc1f90ef945d2c669c1675db0b66f700b7017ca1b2c3cc7ca7e081c97709ae51eb566b72b24c2d258bb6930ced957c8ae7f72206d6d109aa35be3006893479871cb9920b28077fc5119f4168fdce3ef077f46e048720b239b45fe0acf6172a1da1e70aa6006b4c0cac92eb17d79e5fb15f09f8cde4440c6c1afbe4f0384c95ca0f39e5c93753e33db15fcf9ef981cedc089d91534e009e33c29556f5eba05fd1f96a6bf73809c261465bcc2c723bf2eb7b75e8df718d7d83b81f39f00cdedf1323bba60775e962609fa5839e43debad1853170732bfef45b78dcf6619f6acfafda8589c477cfa56ea44447a9f4abfbe79a8c4a85707c75392199337aea32da6e6d94f3be5d1bcb220e7c5b18ab8b456a85a4033a9381e390ac4ba171cf1cad4772de016f3379c7d6c0efc0b91d68be711f913eb79de0da4dc893abadbbed046cf09bc364656c6bca89ea9a8990ad1b9618b27174b66fc79d130f7616bfba383a9bd8fc3b60aec2eff0bdfa4e9878be9b7fc07a5a1b76021cdd351fee7a42a5367025156b3a1bd46432b2d16a393a6e2cc67773f7e8dab9cea1b53c44e839b118ecfc628f2f8d19a9516f7008721b1de9aed9e04bed38ff0796e16e0ab81863c85ba1c00f88bee506e75c5ee8548ad1a36c53dc231dc2e90848c63dfb1bd2ad88af4a179d031aef59e44e5617778f645de5af69de27b2d2c44aa6eae0f8c5fe1f507b894772ca3a4e4dfae880af18eb030bf3e4bb7c749bc7d165ab64f0b7e27c5c98b39afdb5fce171952db730fc0bf8462bfb0cf2dadebebd25eb9f9bc3e9ed8ffffbb608776f7fbcbd7d7b9bade30dfae99ffffcf6b60b4efed9f9bb7b8cbfff3c1ec360f3b74370d8afbfff0cff169fb33fbe3bc7e3e9fb3a4d37a7f47b7afdbe4fbf77fedee9fd9dfe9e5ed7bbdde6e7dfcec1dfd2d3fae0ada3e361f3b7e4e726dd9cfebe4fd10b83c3f688fef536a77510c1a5037ef567377f7b4b83dbe6ed8f0ec3f6d8ceb7b7f8e86ddefee83214fcf8efa7009ec2500cfd378afd1bf543a5077f74d93f68eaef831fff460dfea0a8b76f6f41faef5ef0f3ed8fed3a4a37dfded21c7a30dc5cdefea0fb3f7efc6098ceb737199edce9d083c1b7b759141cc2b73fe86f6fc2e1f8f60743759901d5a5bebd6981f7f6478fa2bfbdf1e827d48f95871e447d7b5bacbd7f7777c77fa7defef8ffa86ff0fffff3eded1df5314d362e7aa782fea1fb5deac780e9f7fbdfde6629ba32e80d18b64b33dd7f7e7b931fb4efd0144dffe85165fb1f14fedf3fbfbd714f9fdfeb15ed7b7dba33a0faf4e09fdfde3e829f27ff17dfa134e6e0233aba61faf647bf3b40bf847886ba14dbfff6368ed6bb144683df1ce05f29450b0f7e5c921fd1e8fc9f7fa245e76f7ec254a0d979fbaea59b9fe977ef78d865e743fefd7afc19a6c9dadd7cff199265585f856fdfde843839fe3c2dd627bfb19ecbbf0f8f2efe83bafeb9db9cf0cfabe391fc24af4faefff6c7e11c45dfde94d33ada946b047e5b6dd6e9f180dbf2c771106dd2a2357e73f9eb7093943fab9bf4d46a8d2eb5ee908fde19bdefffbe91eebfde7fd0dbe0f0f6c7e9e779f3edeb03063d978fde17877777fc7b7cf4e0267df3330de0ebe9bfd37d101109f4b4901f9f7698ccc69f971cfffcf6e6ad4febb73fdea4fce80b2380d74ed7c60c997591c037a13b8449094f7eb30d6dd78473a191ba7ab6f9718a545ac9fc40a670e471bd7fb8794f56b4d9588d6663e9b0ea7adcfb3fa4ebd16f8627b3686aa60d150ed2400c3616804e94cdbd89dc48435fa89802cd61ac9d63b0a16764d182a12ff6444f6d05e8702fee61755b18dab1a58e53eea19e6250d0486b47011d4de0821e055393de63f8720873b25ba4a2a9c7a0f6ac461f08744e84cd083b7162ed6c1974b86030ac92adf84efdf9a69245e8799f7cf377dbf401c6ddcd7b6a011ba36b915a1f6f8d9873bff75b134a8a2ab79ca2cf28cbe88596915d1c28974147e99285b4a5ea59c9b6484f795a8ed5ddb543d36518af43b54ad0fd7c6a82191119901a5eb94dd0ef525c8e137946c8dafa293755fac71ad2c2af042a838c2132e3cd7a69f9ca7123aa4859496acf4bd74ad6f8dd09c274adf452ec720dcfe5333b550a8a13f44e0b73993a416fbf3034f46fd8085942095c86bee92cc503b2eeb3814ad600562ba2b3ad43f833720fab1eb9e7876df468c7d073488b5041fd3ad8e6b2ef1ea864ab6467a955ee8fc6553880ea0cebd2e6047f61ae7a2eaf5fece043257090b11815508a3dcaa16714a8bff4cab7732bfeac5f1a81ef960eab8b464a56747e7ca8a8c18e814af6a670a092320c8455aac42165579802d2a7244edc9a8c7e2bef09aa94722859332934a6d4fd98460047272b369885de9046d793a972ed8ab19654f3bd8476330eda3dde7b93652c1ee0bfb349b3914b1532a582bef286c42550b974cad4f22981cd81b21764d2a135ac6465bb623eea2e8a461a26408841aa4ae462ba1b700396a9f5132a9186426c2b562c1cc87ce58db9a5a6469516b6563e1207ae75cf36e7e7121fa6cfd3ad568eadd3ac148b89132f8fc4cd9d2015b7264390d97f769a65b2543d9d4a0c6c4a8ad8ad6dce660eb3a21d5efbfe0c12bfae5e6fef52872b7aa56dbd5c3be885536472c6a340e2354829813edd9a7d929aaed6720e882b1b64b714fbbe4bb11d27aad676cdad1d9135775d28c2c52e5cf8c8f43dc8acbc977b53933a1accdd1e3f23d95b931f2d4a8034f0cc59244c60fef61e2794ae1a0295d1ece301d2eea366e84823fd3be135cf412a0ce5e01466b6dabb241545f1a326cd570890a1cdb19821d38b720fd8f5b330576c4b1e37e4b8a7f8d45465a97978042ad8465a48abad9b93b6d17ddbb5d26c6b15cf8dacbbb64efea00f682f18f2d1e3c2efde30b1d0dedfd6648430d19a2531cacef726d94030578e33a65a6de5a76ddd765b7ef4b4edfaae6debb9f83d832d7e46e31bede6d8f9536e4c6d2757df1b9f425389d0999be31272edb8466b0de912fc00ce2827e8252e1521d319527f16a646ae9da28da1870b482983364816756d63c95ae8fc88a3dbd29cdd1c66965898fe9ab5727c5ded88a16d8a913da463b4cf1446efa1fbdc203b4b61f51cd417299a45de90be9034c674a188efcb31bb55347aa6ebab8f65988d4d2ad256ba887fa6d9f72527a4ee900a96a38fad49453355d7b5a526ca2b9d95567a345e8dd9ed72f41e48fc8e15c28f7793664555a3757d34e6d491be55b4de68a5fbb576cb87ed545a1cad74b16a370959212e5cee42eaed295ae25d5656af032fc83a0bc33dc94a365b982756e229b62cbd02ea966c5b83f6f265b3a9bba85c6b9d966971942f2b19d55c1b02d683382b9e4e4a98285650df5b6b7387646773ef14728ed158dbcc06f2f054739f775915e9ef5cef6499bba3cc655499a6c9d111a1328dbcfce3c33d88fe06a78d250bf5fdc75acdce7326fc39cda3dc60226f81d6b4728acc9a1c760f7579fb3147fbae266f8bd00f8bf46402ad188ba8bff867d6e37a5b93c16bd5e3b5e38a23328989fab6d978b65a3fe78518e94262e4068d732faaa523468b7df7df648056d90542703a0b2a05e3331b0abdd930646637a13753c17558e907a39eafee4fd1c2e8b1b5f2b9813c64e1dba68cd6eed7a801c9ac7e34e646811469b4ffaa3653321edb49568c8fbf50e9333a331743eae404211aa3fad8450fda468b3d7d9e36fbf2518c51f53df88c9086ad7534928bb3a34ac9277db595a62c5a3df80661520ba798cbefce3ea116c3f7efadb5164d3bcb64de08bd68483ecf801228a61327f023a01fc7290e8b85fa9eea432a932647560eb29f0b45ac7d9fc07ea2bf261e4e9fb9b841a683dce18bb5c5e64290d90be334d88eb5c63ed5f03e25e534c86e5cb2dea431ae4a71a643792c966b688fc03c2e18ad2fabe53838a85d638fecd9bc481b5f1861dfdd5790066b250b91fd46e449de98a3f1e8f810c22266139b7bbf4afceae2c4582f6eceadd53a93c6e6dd7938125a67d11220759e8c3585c7a5a90bacf286ce07efa8950b203b38aaf4a8e69ad2f3b6be681dd7b9157be3d34fd3cc06def8a49b4a48f67aaddf0d1bb9a6d7f37a53f750dab2d78a6b32a3f56d441e36e77cda926524a440538b8e4e4db9b05fe83e60fb307a86ae599de5ddb71a2d3da80859784396f6b81d502fe3f3748529a9d58446ef5e74883e83ed32a01b9f1f9667fb205e1c4d3f7b13089bc07bdd07efd53f79effca0c1f30bbd4c8a9bcf84f7963a42d937df83fdd2182bab3956feb3b1bae1ef5a3629b8d5849ac7630adb6bf85bbd31fedeadfeded2832b3bb39d0a5cae85e824967220a282ad922da5f03436749955f36c2945f6873ad6c7da8dd6a4f1fb79a5f5342d8cd0ef7df47b531f8e70f8a5b364b5a67e7df67856753a7a6ea173f7996d8353d42bbb3adf25d09fba1eae9f6c53a59fda3d482e6d917e373a827ea704bd8bbd7fda7e3a6dc1704aa3e3fd18327af674fca0ec60f6f8becfc61e972c20bbb9fecd017a9f3049038913592178d0a778e65b8c0f69cc38ccf2e4f9a484d46470fb121e2562b76b73056992b6ae9f2d66bc5ff37a0876119e832dbe56960d3468fc9bf4e705d423d1519af757b008a4dd56c9a64dbbaaa1d3b0f77eceda9e9c2c0baa06386341df7bf93c367fe4fba8c6ff832aca46e0dce7465728a557fcb5343a26d2f87e4e6bb2e7f53a86527fdfc0cfb1ce0e633d6daf077e937a42c98cd637b565cba7efd683fbfd474a863edb7f5bb353ad5d801a31473b23175221a202a0ec6b3ddba4d94297885e8e379fb5c73bfbe4799716bc58db477145f29540f2a418723562919d6770d974aa649614b3f1d3fd31de1deb257ca82fc603b9659b5f1b7325003aecc855e98bc76553292436a47e447f536d73c91a70bdb201f53d3ed7152e93246e997a93c7b69846e92b62fb35f431db5c625ba8d877785fb21ed7da975c91c2e137fd038765c3a75cf9414ed1c68433b57c76e1ff5b98cb82967bbb66f49e7ba32369524039457d1bcaf71eea09b957d71f2332cfe0a3a5a9d6336aba4636f03852ead3b003230a9fa5859cabedfb7a1f89ac733ae2d03266475ba51db379265f3ceea90f81f2ee7c1ee89caedb0dfe60cbf902b10d238ff31d53095bf7cc485f4979bf86d3f9b11f01cb52a45f40e9290ff06f8914dbb9c3d0e3baec9d8742ad5df4a29d55b59b88cfdb3d8911794316d2b7f0fa084b3d1afcb4dc389a9aaba31bb31d81876fd6d07d2b2815138e42a8775d4887d2c3a28c564036055ff95904bef06d03cdb6b3ceaf3b2fa276700ec751e4e65748215963dfc9ae587bf3e03d003ba99e12da5813e3e6381b36fcfe2fea37f65198725fe0849f68af3cd3b189ae5bee331befbbc1967b32fe9c15e339eefd47f43fc5edb0bc2adb0c8f3b213851f5349d963d1fb7f60db62554bc76b06c0afbcba0bab626d756b56b6e6b8d35e733a31eda93e6b2d46b70ec204c36cdf2eea4f2dd201b5963e5e1895e80af4dfb39cd8b743f995deba7f382199c3c35a14d48c3dbf960a31adad1a5d3cc54b27cd1012882bea764d4b41edb50d2ac06f741d77ea69ee95953ec1f68da6048b7416722dfadc16102cc79a14b817db72ee16c07ecba4acb3bc94a462fd4f7dafa83f5b19c3e865da41646e4387bf622995adf6bc0476b3fa7b7de654183ada1003ce79ea58cdb87373f68e83d94711b7b50065b839e6afaa6d85c377a7b90b5c6f288fdfb8d757344eba67596470b664561f8cc6b2004d90f2110207e333f6039d75c17abd6ba289f437c73bdc4a58a127e0dec2812b7ccd118eb811f4d95dec932df9bd08b64fcab71c4ef71822c47fddd2a906ec8789c1f613b10dbece0db1d1f8fb6129e1d637c6dc16bb6fb18e2ef47efca086c4cd8f695f5da7bab8875accd59e17f447bc8c0b29df65dceef795c8874165c2e8af614de5bdfc1ae26dfbb3197a0c3abd0cfb0dff2df30edf7167e568b61cf6e67957b38f5905da8453c6f35d8367d5cedb6adb9f3a8ba7fd2035f973ed84e96fec25cc662acf90ba3e6af50dfb16fc35c0db620038b711c65582ebef0c5105f92ca58af7c3651ad1d8674e37caaa220d01776b04ba64826287e54d12490eb26d24f462c1a275b19b1b5d8a74f7caa38ced1f8a6315b8b8334f22484c639d08b5c53f79dc90c9d15f5fe377cb91294608c53b7930d047379b6cd316d19d90dadfdd6deeb947b0fa00697e033ad8d6971c6d3e8de962fb5f24b177e4a6ec4027c03d2d9142b2ef434f01f2b44676b3f03c9457e7c5b73565cc87cd27e6b32beef32bb229e7cb4ccd9b1f9377fb0855850889e75237df4d11e40ed2cc5871c01880929a86f16da93b5711fe1d83759a745bf89bf95fcde983fe223a77c0b7c3f905f1183ffc52ce3da853f28b14df9d8382f955ee4c57abe69410013db16c79c553a27bed4e354a9a0a7cad458c58aedcef2b8d6e12c82f8dd94ef0db6681ff1113a9752f48d483689815d7f16f84b89bf38592864bfb4f62af966f45d0d3f3a99ebe4a94f1164029c698a6dce6807e702b4afa1f1889cc92cda30218bf672717e79c313b53034a4fb5f481f71bec8e49d6df9058e6d886524a321657a3ff03dae77b44c19cd737fad0e7c1b4ae8330a52f691bc1f51c9543dc2754c1bb244f27a0671c0da59ee0c295f46362492c72db8f3625d2f548a759bf272d6d84fdc88f8283e12e70039407b18ab11ddd01b30c40c4de420f6dd16f64a11cfbab3e1c85e417db0d54126dddefb773104e50a7f2f6060519f494e9054cb0792e6548adb74e8a63d682e8bb589e5161751eb8978f1f20fd0d50a5db31df7303ba5fef27a1cc6ecfd38a06b451e00de5f278fdb814c70826bb064c6672766296443d9e6fbce523e140cc7f1116c94f7ab1084402fb39d5cafd2a4113f89c5c08f16eae802148f7bbabebecf8bdba8183fdf3ac8184a45cdc0bfeeec21b654da906e67e5bb87653527111b39f192b595f2f79bc7ebd785d14deb63bfd068dfe3774827e84e87ef2979dfde36a274caf99184ce62a67b9295f0a7ac8429de93353b989c9122578d99384c43dc66d68a656460977abc9f3b1d7707a5f35a99baff6141fecb78ef71edf35884fb9af6aa7f7f8d4ff035ade917333a2bca54291fd61faf53d2d84a24f46fd3877580fcb717fe3d326eb097c197dff069448e9697be9ec4549368ab64512b8fe3535f548d86e5bc28fda3c4169f086c0d8e0ee9ba24b67b65dd3da65f013d441d412c6bcaf71c5b6573c908fb6b9d4ad7642dd4d7f75a49b39aad9a7cd2e727feae5febefe73640d59fc541f8ae29bb641e09683e12a9faa69fd35b924cf313d1f5c19f79f6b86c3d55b273fb1b0076e9a5afb5be2f91ae5742aa903847f16dc4f61c9f2832c777ef42f7b4de7517039022b6b0ab1f96b9795cc44a7cafbd463ff345377205da7e3180fbaefbc5f22c599842052da68e52e7465de7cc60b030c21f4e9efe2ce127553a3718edfb5aa12ff398f5b00e36ca409673fed9e8e89e34d1886ca9e933fce0a75cb3c39c0e953a87569e52cd0e457afb333dc4d9d3edb1035a2e72eda76d4637890f59b7b9e62ebf6077d20b5344eb2b918c41dfa16b76273f40766752da9d9365ea29197c77b1fedadf65302b0fe7976a47f7b04cf5204cdd17df5eb7c19fe54436f216f15c623b561723b7a3a71083ac3f13c7fb0b3a8cf342738f2dbf63e0f05a82d606b6057c6eca779346cea19afa533e447bf96c9b48ee8609948a41fec72813f01a486a706a3fa73991356a5af785e55b25cb5fca97e8f78f01ec09ae82ef72f6f4643a69fa64ad18fe0e3ac532f0cff73ac0fb512be94260aceefedea648287c69b5716bc038db3c7bb6553622b22d9fe669daa4f7c0b182b589d7cedafc4f5a3b75bf5590e5959caffc294079f7cc9f4df6a073cb2a9fd7b07d56458e4353299239c4cf9ed4f4c10beec3ee87a0f8679059b1de45fd2d6c8879e92f83f12e6c14b49e138361bd85a9a5e5bb265af33d8698dbc6f867cd3776d92a59f25f609d36e3103817e6e1f82fb10f0ed3b1d5f21c904eac71bb761d018ccb624f57307f4fd62bfe0e3cc6f57cfd79470488c972bdd664bc067a4198bad1a97d3ecf3c2e33a64a366b8fed57e27f77baa73a08b458bfdac69812c6274fd81f6bbfa7e01b26e347f6541a801fbc6e7be4c2cee3a3936dca3b13688ce9dfa6179630952695aaedbd1b979041af748543193f2cbf21a3a68f9e47728a1fadc5963e00df5d5b236265dbb0f0ae790c67e4ecc1bb87d8371c9e96201bbac9e3be8811867cf92497a2f3785c6c5eefaaad78741302dfa34af9dd29ce9c65b2b8bdf72575fc680e530b97ae86b6e92fecfb5cf7ca1fd259b6eddcb436a778ec022adb3e58c3bfa4db2379b86fd8cf3f9c20fd39351a7a557bfccf0f64e3797a1bd5f59b47dfff69ce41738d64f92feae9f982ef923dc92a187e3cfd29f1dd727ea66ab29a72e44cbbef1ff121cacfe77cb2dcad0d8071385b0cf81467de907db83faa9fc3be4772a9d0396a76f0396ab66b06be920b43f23c6bf3f55d88440ccf59ca1e80d5dc19f97b302dec85ce8cb24c919ae6c2590abad575463fdb5c7a946b7441a8ad6dbe7f1702f01b349e619bef7d21101224af404e8dd9df26a788efe067dd7e9d1e9aef4632ec6edc5eca3012df4472c26c8d85c2367c12f558e9624f5d211fb61e6b57acd85629b6f055d87176297c3c0fc6e1e6f0d1de565fe6651432af3e9f858dd79f4e962cc8b7461fc274ca6bec32f7a3d6f56431a4a905037b64eb71bbab347c4f880cdd96eb13fbfaca67e2f92ffd37e0f3abf96a22275e26655b3c07206b1fcdc133795942ab72746dbcc7b987f5fc486cae3b76a1be57b6bca15d6aeb237209ad25999f73737e6aba7205e17c921ff637f3ddce4a042a99512bf7e5919d5c7d1fdec7f7f3fd676c6290e3ff3f79efd69ea8f2c48d7ea0b90878c8c865e20111549433770231a0a0ac4123f8e9f7d3d50d74039accfaaff7ddfb79f6d58c46a0e9aeaeaec3af7e85fc5dca7f04594476acab0bec7c8d2f57f924bd36f60be52b0f4a5fb9cecdda9bf34ecbbfba6c59a4af775a26b8fae8e21fd2a26177eeffd7f80b5e132ea7fd7d58c3719e0266bbb1efbd282dd627768f2ae2e8e73ecedc10764c3ea07e37451cfdf20ec2561e1f5fb15d3842be215fda846df92079a2fbe3333a18b763b66a43dfe2f3b37ac7aa951bec3b9257c07bd0495839277f237a2fe8d7983e62c32e837159a3b3e09469cec1ffe761fd7f312dffbf0cc643c5b5e3d89df0513086cf58f691df60e36b488dcd3f651da27eda080f731a53ac037716cf7b63275174c873120c7e7c09acdb99a989d06e85ac0bf4df5f1fc757b8de4a37ee2bcd3907f39bb01c1f339ffaceb5e13bca2e18fce347d9599e6f7ea98741be8a8efff8d1e52a4721aed7d09d549ddcf2d561f04b3dbca5fbc9bbc0d4bccd4acc51bde7e13acdc99713ffbeba6ff2f544e2f69365b13c4c8be5c1e056f769d2c8074f493e98da7bdbd11ed76da2b54ca933fc39067d4ee7539dca0e43e74155ef6308893c3ea6352d0d9b3729f3a92477453d7b5aebe3fa79cdfa1792eb045dcb49b8ae046479a98d6eb50e79bb55f11cfd7d14901a210fdabb6d9245145eed03c72d0f476ead3bfde5e1c8cba74dbaee6f7eb1f53259eac50321188f04f67b8ababcbf8196fa30ceba3eb59193a570f793e12698080b58133d7dc7ffe2ba9d47b5f6383fb63a6f7a4049446336a8ef3f09c688c62371742efb7303b6de377506688d6b5f93aa15025c16fdb7b3ac1dab5c05ce8755b90a0bdb97efb89de058fa03bea5b80abd64f8158cdf23577b87b1bbd6e62a35b0349acd62adb6a7ad17ccb807b168922332306e4c99cd401e8c13acf33698703765ea72aa7d11642ddf06e3ec0ffa6cf5b7816ae15a5afad91bf26cca178955fd2df30ee82c1b8c6a1ce627f1470c61799ffee36a174e495667c75e001d33ba8f17c523fa8c3020afc9beeb86c595618c507fc3e6e7b53056edb4cc8772329d0f27d7d07978648705b38b1bccb8948949605c808a9ed7790d3e57717dba11dfb7740d3ec6063cfebbf9e079f3c67b985b52fb10d39834b0b7542dfb63da9b6ca9bff597779f5bea9fc56aec9a805f99991cb2bf14f1c2c9682e4eabb8ccdb620a2eb3f54e5bd8eb58476d316e2d7d20af6baf37b8b876c8b9d6f0be83f77d27fb687b97c459e16aef57afbff9242d186277fc1efac53b8ea94712de7b5381938d6f6afe6731a7cc2fd0d6a28cab62eace92368be23cd0f2be9fc41cf5b9a4bf8ff7daf1b76be577577ba7f3fe04e351d7766bf66a463f0b6ad59ffc9dd805401d16cc17bcd3df7ef90d7cb75fe561e285cf31b5fbe95319f9a6eea3598fddb0639fc866dda205b78a69d48490baefee319b9e65832ec0f389cf16b69633010a34c06a36f09b336889127d46a635c4f8ccf9f64b9a23d97c0f2571f8e5453cb3d6d2bc9e7b4914ae359e7310c9fa85b3f898b3753ede53f142d7e6c1fed8da1b0adf1ddfb78cbce66a3069ceefb6f8a0ecc2e7fc161741192fdea428ffbdd78e99a4bf0b4e6fc639bd4f36cea0cf802f85b553f09e267824c090788970744d90975fcb717c0f7a31b9d7f08af423e4b6b5f8b7d39bdd5ded2d5f9fa8b3f2645e77f68c778d78baeead42bf677caef594e150f07a2b5c6f31ad5a4ec0735d5138907a80aa65057dbf3d99cb8fd326dbf59fd891b32076accbcab1df7e833e8ec2d78050629a3d33dc717ce897d4d458376596bd11a458d8ef2cfe12d85b586fc049cd84bd74c81e9eef25afc82272cee81ee56779167372995399bd73aa3eed293364bb4bfc0a9d65d4d9c6acc77441d603f029a1aa73b9727fcba46375fea27d04ed11490dd3a76395b881200dc4cf4fc71a7ceeac6182a9438d4fec330da206166ddec41a52757729d824316005d345e4846e44780e1268e3724532b19bf27c20ce08b5dd67776b31712000bf827e190763a0b984780450352642b1b56687ddb885cfba365a6fde5d3893738ef8564d5c9dfda48640c63504c679dbdf64ce69932ad380ebaa4da9630aa4d53da38b6e37863211dacf0cfb3b7b7b2674c8404dd9d1da9df1d19793cb55a56ab3d6bdc11f552f5bd90efe2c75680353da298fcebcd5ce5edda1ed32693d2389c08985db49219bcdbc5c6d247f633c77f8731e5bbdc19fa5c9a57be2a36eff4dbcf041ed9c6ecd6e6ced5cf06fe3787b3f11be824915ab28bc9e406ca8cf1a6734ceb10d91985dcfba7ff72caf67d0356de95ecbe7cdf8848fdb71ff64ccbc2f6ec340341710bb9872d9a3b6f292689258716bcc856bf15f41d28cf5d0d70a3155c7b5ea5cc39227c288afdfc6a02a6ad818e2e50fc73ce51f8d99bc773b3e0578b4ea796f60cbd1355f54ebbb32e79196b19a920a165aa1f7b701a9eb7ff27c73d1e4f929b900bc533e92a1bd521eab76293b75be3b482a3958c29ed5f0d89996723a27e8ba50da16d022a23defabccb51a2d60bf89b3c373ef69551beaf583ab6b2f16dbc9e8cc60d9f4b78cdd1b3ca1ddaff622f864f5fb55f1d6bd032d4316b13be1c2f27b594f41c777c93cb2cddc27f92d5face6aba24c6fd6f2b5e706d96c416ca27383b175d856dcd4bd63655ed50dd0359ad912f0b68fc6dd9203066353b594a7e57032a5d7babd2f4423c3fabeddaaac5adb273e3999cf97603c44b6e489b67941ce92a1c760c9cc877b0d5f6f6c63d77efbc9fa9ca14d135bdffa68dea6ae65de1eaccfdfccdfcdad6cf96d2c03e7d5e0dbe736752c93b7eb3e8f73fa3ceed0c1b12282adc2ea3446073ee391c0f2ba15cdd89f08ece7f1bf5ebfbbd75f34b17ab44e165d2dcc900eaa72559d67f4eacb3f6dc71fcff340ecbda0b6a77bdfb46cb9767c9a6d3f99ccee60f380eff2c9ec1dbcdee89eb3fba6d43be3cf54ed41ac3ff64e2bde4f4c35e80d633f0adb7a6f7c7c2df3e76d1d423df73b7f94d1a524f77faa7465731ce01b7c8c3bd72cf4b9f8e2fdc573915f17d88b5887e74be7ee350c429f9b41db2cd7da7c5f17de2b7fbbed1ae3cfebeeb1efcb557b14fffd9b7b76e69e581c4f0337c69c55741e023e57fc37b1dc6e095eebb128fba3cc91ed0ab517b1757f0fb02e39662eb454ed98d7f6fc3fcbbbd7e771a7bc6c5efcca362079b52a6fb9f8f2fa9b8cc2a493ba9ae3ab5c9fc95f205fc7784ad744d76bb911247d4abe276b90c4776447ab66c09138781e8c7339e8e61c5b6d4cf4dd3bf2fd77c1846fee6da65edd3c55f505654beebe9798856650d8faba964668d4c4392466073655d9aab4e3fda29dbdbd38e87c2a73be38067357ad211b2b9e53750b24c755af415d93eef404de3b6dbebf5fff67f7dbf5cca186d66a52d7ce57b5cf77fecae0eec775ade3f379bbc41f06d44f51e3c43c35cd7106840f911ea74db810a93c79e1dad0762aa6ea1a20e7e7f4329cff237bcb43325a7d6ef0f35946cb5fc1b94a13d72ec1de6af01626cd6b86bf3ddc6e8a53449cb35e1fde329b176e7e62f690ffc5d62f2ce2cebae13abe4a5a931a67ebc4d493a73567429e967e9f6a19d90ef4513def5e94a7d59e9bf085221ed17e0ba1e54b621e556d9a2b6283bb11d970b47e819ac6300f267ce16a9f37b9390f3d7a9de01dd07370acba9eefaaa64a1f871759cb79d5b89ded02ffce3ff03c604d4b1f76be61f4823279cb6a9e2cb4b7f22f656ea4ca78c69798633a17b5ee415d32c1f7855f155f576f00b952b5e0f2f561faba447250c744afe0bfb0bcb0a98a3102382e06ba8199e3cce22fb1220e03241f94ce64f55a5173e4ed303e09af992d65f87e784f54ef88afa7d7097d97ae4f12e8da1db46321be09cbfb40cb5486f10746e6178c3e473676e98f9edbbf3dbe7a774e500dee25989ccf4e14de652d8f6434df702ebe1d837118a36bacde31f3f8569ce9eeb6f8ba1af1f60327a8da16729b2d8e529d13b43ecb4de65806557b9ea7657e94d627aace1734260ead9786ebec0a6576a9f8b01431aedaee7845ceabda27d4a3790781bedf6b301efe71ed58027ff130f8e545c72428f23bf5fb627d927ea987e155d6dc7e13736ba13359bbe5ea24e7f793e9489d2fb30072d3cb17ab37abd649ee3bf89d4cee551647b8b5fb18d799c3f768afcc972f567f83e6fad5ea8d329c8762e6fce056bc7ec047cdede7b77319cffd181fe97c5f8a7940de708df7143d6b902ab3cb55992f02b9c66ad71c2993cb975c64758d84657a1ecffddee97c5af980e8f9f43e9d63dd1910dd59db560ddd9b180caf00334efd0d3036cadc68b4bc1fa4ca7c292cc77988f6a773e7e9b1de5571f9db2fb23f8a381da9132eaf6cf3031f5bfd55b0eed3b5c14eb2382d43243fc05b67df0447cb79ab37fa23f39ce046f4d8c12e2467fc310b9aba506cc92915d71ca1f1f20d7ece13b4fcd2df7ee3b10cc8b807bfd4c340586a318fc6abead3c43b08311953cd7552cb1c6ff517816a1d333c4f21e60428b21ce9495647bcc7d4594d8def28583c57619a285f8da9034267bfd51302459c0a7e04adb37819f9ccf3dbd9d1f910d7f93763d5b46d1d62ae04ed88643b554eefbcdffb84d663b58e8acb3136e5fcec76f257929c0ce52b438b28c2ab407f2f432cb4acef077ee1063fcb366ef89b8ced5dca29c6c53b091b6f78b777f6f68c9f3d6072c58c6f3c831c048ee1eb558d352797fb5767f1c8300fba10af93b86143c4f45ab238792dbc421b25d276b823e65eff7e3cadebac31d743157b57fb9b57f6efc075449d81dbd17e32051e533a56a99ca07de02ab0b7651be9732bc640d595f8073e567b6d9e0bfaacf2a37cf5ac0f01f03418dc8b7748e3921383e4425ed9b809e1f3c639f62b896b573cb9942e819a4a2fbea4b6364cbcfe62e658abb33c97407ed7a7168fc4d98bb35bd3560c1a3aaee24ec1e3cd3cd05fa4269eb45923f55594ce3d022f2bd27b7e14f2b48cf8e8bcb6818bf5beb7a09666b4277bc2ef999c325ea4de09b71e050e1df33d0cc4cfa8943d47e72b1b491197c24e1756c04dd93339599c663af2250f7ccfd5c283d225a3d0a26d899e9f901830076dc52c015d13cafaf9bcd349beecb449c9bc878ae83479379a7b8f53a19de9e760a57f0ed7fa925be9c7449e6f2eaabdf9a51ea6c952dfdc97bac3af74bfb7423aa50839f5302816874f7e3d390e97f70dbfaebfe764cd2956bad45b4d8c7c7937b2609c09c164f06b3dbee5cb838feefd87dcbbd7e4a5689cb1153702da233b9cbfab735fe625b6d19e689c77baf540166adccd9f2596816211b9b17c879a255a977056cf0cc0df99b0e70b7b461e53e0141ae3f3c5bfe7e9babffc2317f19dd4e79f3dfe728731ce0d41d1a7e93a113c9fe7846076b9cb7d33a0ce972f769d785aef501c13359f11e997902c12a3699b71cae9fdcb1f7fa6ca7cd36197546763416c116437ddd67d63e41f2e3cda8f815ee1a2be547d9a2a62ec05268c9b977b42c0d4339b2967716959ffbd0b6697a1adf3bb605ce591320bed93c4bc787d37d6ac8160419eddcc5c9c5bc9cc66cd6612c42c1681910be64ca5f929779679572a3be048e53747a340c736169c2b80b9cba16ecdbabf074cbdb679f9b2914dc5f07673ed319676593bfe49b8828e9907385c6abc73b4f7b14e72aa386615ebc81c648b898ee0d4b9d7dfce3d4f20f7dd07ce8ad0eaadf098f5cb01bd4fc51b6f2d47ee01e43a537b33cfe1796f697220dbebd3326de44de17c75909ed36e67e08cb16ee9227223591c21bfefbe9fdf72cca752e78131afc32c43e3f10b27a1fef64b3505da4724f6f214db69754b50e87541f153d43ea8f829f813215c27e7b343f7cf106f2ffe5d38c09e8ab81c5a6e8a02f016ed669783adf3e752ded749e8393c27587d29db99dceb6e3cbc05f6ea2ccf2e05f8255a7e53cb1a0c2ac6b4abf351941f9a9f659b179459f8a3fc71ad6f288e0ee0693184ed1cc9dbb15c2be4f38ed4f167c941f3e2ea29e0798331f2818ee8bc22635ca481c887fe84b53d647194ecb4e38b7f48995894d50b62fc372e974d0e9f2ff3cd9f20aac6d7f53ecf72a7b07e8a3842b638f36e5e84de6d00efe6d7ef56f96fae2e5cd709b2b38731f2df903dbbd46f23bfc80f258ede4962ceb36620f3c80692c565e2943cd6c86f488e104fa0751bc4442b9947ef8baee172585b725f8813d9cb6c37e113b5ffee79338ee201df0881659c77386f8fe686f6cf491f1a88c99e5bcfc5f29f2c22f7b888dc5b6dc70c049de1d7ce417ffbe3fca0cc97995bd679464e22599b6471007c6f7dfdd849fc9e71f667596e2739a38fcaeff0b8d09ca0eba79dd7bb631ad7b921b9e523f05205546d679de7c84faae5bcb813e1b04e561f8e9e1ef6e234f3743e517b9b97008d699c678ab8c93eb4e3ab6791cff363ba3ea233ea2df3c6f9113ed767c2b0de63a5fcf2a732c649d646f03476cf59380e7b5244e8cf24fd8c5fa28aed75e079b1df5ddbffdc83fd967fb172b3f27626c34bf0e291faa1607ce9d5f6595a748db3c40c3c186b2567ec980780298731cfa55a5fdec9982d03d9a657346657833187aa85f706b227892e055c9c5fe4896aad909d81753cf47a715afa1f9f9f37d80b6ef46c2fdcd07392077bb0da73243e4ee49cf49db06ec922e22efe248f681c3989491c94f95be6172446a8bddfe42223e3fa7c26b347d5867d9ff905924d26f777ae656ff51558434eb52bcc029e9f3b7f2c6b86480d9984ebc6de3217726f97bfd2f78c7d6537e2f845695f515c9493cb973a37b0cf6fa1f90d909c66c4eeb8d90c363bf63c7c8eb3fda4da63fc6f7538912d626386557eaa8edf51f2b424f89133b127726c4388b398e17a1607193997917c5336dcb4c38683d853a25a53ca865b8eb0fe0cd01ec91cf37220f3f5db417359c61c27fc41151dcc0d361188bd340bd0fbeef4f4dea9d345e91c68c74c068ebd59266b4ee244e197ace5f745e414d8f668f055909c0c197b15cb54c499b7348707bbe2b2787b26cb67d57e7b71f4f41f5964f00b99da5fbe38c8efb49ccb52175a360eb26dbcfedb59d6d3337a47d5c436ce3af9bcfa73f3be1b871e5a775b3b667e8de3a9e658b53e4b2e9957ecd75c1ebccf67bad76ec7bfd3c74c7dfd95c96f9d80afaee2fba9be3339c0332d9a3db67e6e6797f1b314e719908ec4b2c272d86399a9facb88d3979d5eaf0d339ee2d894edbb4af436c8879e862ad45a5039dc3a2ff72237dfdbe4845de3dc5be073afb9bfaabdb28ec2eefd34c5678552d9b680abb05a5c4925d788ce2b4ffed6c670d09c2487b6afe21f38a8e5643027faa550277cbaee4bc80f666a35bdf812abbd23d42c323a4e9f75d9a4759dbff1e46f3fe4f72aedc11f8cb9caa331e3ad5bf3135ee0d1b5c9e1427392eeed0e394e7ed6e3a0ae67c6f9145213c9b95abe91b59c23750c357e2931072ddc3eb576c1a4c216e071d43d1dca3cee6f57af720f68ff0aae86cf4aa8d5d58629d4538eb33fb81e4722f27cc4fe20c61332b1589813ea7765fb79c84546b50eaa785226dcd903ae944abe68ceacc7f746672c7f69e7aa7b83cb4e4f538813d6352ed473b0bf44c753648a57d98f88adf0ecde4426c83b7cd5ebd518ab38aae661dd6bcdbde025c6d92b900cf007af37e476d690776d3ea6390b1c6bf5a7f9598985bd3f5fc4c189e285d13ed33d3907ed9e21b8c58853a679ac5afed732ca2357e74fca7dc3e0313e4483a9953345a38c91d6f597cd9a2c11e2bf4cccacaa97b480c71e72ba25ef46037b5aa83de355861a032955e6d2af25f25f0ef949e584589ebc217ba5a7e0fa52926fd9c6b238b806a24062579f982ff967d8771c879ec158909d937911156b6e607f58bcf07b23868d39561b71cb7f1af9581af7bf764d8cfbff108dec63be499579183fed4981757cab2fc507a99bfa4f30f2d097f3dd93a25b646b123a37064dbdf288cf0fed6179be11182e0b7d202cc1c661f91eaaba7933a6ceaeace6cdeb2f52b7175f19aed5c849bc6818c23a9b176e710a02aa7e3fee1aabff2df760ca9c9dddf349e2e9fa93baf806bf47e94f56d82c314e70afa84d13638d6c38f299d8710407e8f7710f7134e6a556e30e5be34b62f49e45475cb4034fbfba014707c91903b66edeec673a3c78a219fa0f7b23bdb578644bfe8e1a43d6b675cade1d258fa09fc4a79d35a0fb02dd1c6b9506f3a340e1c333a45fbd09df6b60dbaaeb0271967aff3bdedc2078f3b60c219bb955ff5672e5d398df3c6639b25af2f19d4ebacaf665e36ae115afcd858aeb333802cc1174a07a504e2e05e4cb22524fa35d0a05f7e426baa9e3bd44e1f6b8ffcd7bb52f96e3db65d92d27bc775a9d7796dbea3355f6e0a575551bc3fe4d9e12c92fff1ecba29129f6a6ee17a577d42ccd374ccd925cc471a59fe75bcf7b360fbd30754f8f31ae468557bfe59dfa81e4971fcfe5a2d63155acb15947da9a5b9cdb36215fddc29e77dd1bf35a77e3df9f8d1b63c81fe286b51a2f8fcec01f8e9bcac933f3c270a63cac9fe87e3fc04c1d719d4dfbb977d7deeaa08b1ee3d737d5bb4cde32e0b4e9b8cf630ea30eae176a8fd73d4a4bdf30ad9f379d9e097749c9e3d6298b3fe69bd1df901d35abd7c6487fc03d58e2e48b061f263a9326ae4e73c5a03d44fa4f74c90ecd55f99d8f1801a759b6d31be32d42b009650df8fa27d0875d073c03873108354fe4ba68f44d6fafdbdeee9957bf6f16ae81cf9e67b565d4f9c59c5565bd13d89b155f9450ecac20f5a2ea0c3938f67be8f462ee436b9c53f53943f094157e36dc59b77f81c726329ac477b0cd26fc3f2eb1e3f5c4e8eecd3c8d75b3eccb3c5bc5aadd982bfdc270b8947e6a89f56df509a3f0c4aecdebae09b6ab20e96f99d133bd0f93138c9e51e571d13341f74ee3ab6a123e85697c85efe9da3f7355db5646f9dbfa33be4f15e3d95178940c3d8faac183bc31f519fe4ed55bedaadaa6f2beb4ee2bc7d9f80e3fbf7546e167b5ea8b731dd762c07791271af03bc75eadca7a6dfcdcd95da36ab8f173d9efc87399fa0bfc4cba66259fb6ce3132ff9bc4443e4c679e41a6f0b6ae3ecad5491eaf0f54dd5f52f61eabb849591be65e610e48cec1ed13dfff5715ef27bd68aaf3ba810ddd8ac6d9e2b92c286b1cc52360dfa07f02ce53c7eae18de285a6ef1b239b06fb1ae25108342709aaba5473ec5aee975f627e6c07f42cec75cd49bca2f12e7dbe8addec9a7cb1f72a666852b52865afad2f9aa3d9d1b9dbba371df9874b886c30bfa87c94d0d6abbe0294be85bed4d55c13fc60aacc578232dd36f55af96eefee691b779c0980c7c3fd2e480f9afb74a48ac6eb721c8ff6937fb1b6519eaad6e0b2d407bfd4c448827bc559fbd3fb34d7f0abb9863b93ace15c12bc02ad4de33df1bb5d82089d999073f85a446e4ae9ed90f472a2f8c65beb5bf2a7b36b486137ab77a9fda254be4f53652ea135aafe8efbb64ba932370512cf58b85afeee6af9c4d5f9df7b56a7ce6a9d5adb3ad43952943dca7c7176d8d9dba1221e05c32231883bf4c1e11c2bcee8b1caf30d55d733dc7ba2d973ad5bb644be018d79ebc26992be2db817727e95f534ac75028b21c7fcea750f348cf939be9075c2f3aea780d7a8e64f9c0a813ebcaaf7b7572fe279455c0a7ec4f3d4f80f6ae2a3393da8969f2a8d3a6ec847c273283cca7415af2b3fcb785134feb04ea67fe43b85bf299cc4e72f9c6db3bd4a1c0de384bdba971be06ad8312f05ef5e8df94b3d0c53c01b68d9d9279f59acddf0b4889cb37be04fb29677c4553f7faf0bfc2e7e51fb407e41f8b3802f03d9394c9dc35db586bc27e6c0f345f23a5d7370257390ac93259a83bb6a1b90c3753077420afaaec8cedee136da215fc7e61b3d4084ae1a855246ef5df52f468fb12bab7e33aec673ca9cb28d0ee5e75aa655cbc8209683e554f0a2fc4ed75f50be7b0ad7d2f68f35cab06d46ea33b4bcedbb6bf99dedf3be8d594e8038decf6f67cd3204bd679c97e3db4d993bcd18dd2b8d6bc6e78a01312c88ddb33dbb3e4bfe4ea40bf15c98a3bd688c9663863bed27b1c7589dbcbd1804b72e130e9125de9b9b3a3e93e5e5dff05e851c692c631d51c6506aae803199d3718efb20127de1ddf9a53c1ba52cdf2bbf25b53f943d7b7cf10ffc1f570b8bae5a20901d7194ae93a3b0eb413d0cc7d6c7c2e7d21686dcae57a07d58f2c20b5c8b47605c7106a4f04c6c2b0b7e9473540d5555cb8f31d0748d22faeef8aaf7709d59193b847bd13a163ee77190981970a447adfe767f689c29ab3f8cccbff305ae47c198a560ec24fe3de75ae721e121447b93cea9efda7274a5cec803f00782cd48ec1c9ecb5cbc1604fbcbf7ca7ddb8d013e9fe5b92198654d9d76a4ef25b851ced37d191dccbb56da2a779be879527bf405f52f6659d774ccd87741ef0ed8e796bda7e8d39740abcee732175d9fa5fd15d44b346b38cc8e5a40cc0d473888edcd95ae8125180df05fa087231987dfcb53a767a0677ab606f9137a8dddea6c867c85f14b35a12688911599e542247a8aec7da829aa6549ee3bad9c68edffe13d4974e06f2f7212ff30b8ad8b186a04caf57191ad75929280e7323fe284e040f31eb1679bc1d46732bdf600dfb49f70375963faea5da16fd5097388d2ba82a925c035360385f416adf691382a7b8d96f159c0adc83dd8136cdfacdee8d53bdc6e6a6ff4c73ba4a9dc1be07a442c5bc9e2b4045b8ead194467a3f14bb5692ceae6eaf4f2d8b1a5730b1342d93ece9d9a6b74764f2ebcdc7346cb49963a77bef2379cc2499cb6cdf86255f3971f6c2c2f053adbe53b97ab93dbd9d13221888ebf8193746efc512d27038edd28bfcb773e51c411fa8eedd33101bdfa05b84390ad65baeebffd026ca738fd131c7e38b6de2a58c79740994ba9224effa8b64361a02a3d7f54edb7913711b05ccf9797a5767cf527c38cf062a3fd81df4b4fcf3847f7992c4e6fbfa0779d9e23bbfadc61d3d3f1e6a16a2d41af3805cccf49b5a6bfddfbb0b7eef917d5764a1db652addb2f15d94927fff787ce0fab3dcff101d625b54ed24d0e70a71f5aa58332c0de456edfd6f9f3de4272b11c21bb531637828bf4c0b8e52714e85cf20bc0dcff52edb734d038c11fe77745e76fa0a7a3fc806dac5be64ef8e322728f759c6111a3f784f30e9d2d2cf721af26f1683f7f1b79e57c60193b543d4f444e08c04f9a967ed245427eec847c57c411b2a576f7cb056cc72813e409c8412a271c5a57347f488e0fb5afc1077b6b992c4ec6af1de084978253b47d5c3fca43656e5cdce8982a22fa3d1a67ebf7f53c89d3cc1ff389ac1d3322cf1724cf7ed1a8b57b5243eb173c8fcfd1caeee39be7ac0ab9b4daee73e8ba5b0bff8dd87d476263b472355d791a594f55570b7905d9f25a7e50c446dfdfd9a2bbbe6e2e55f57550bb08758a833a5f806b337e97fac58b2f775b43327304bcb953e6b89211ae7bb06a5efa400b43d9ce4764cedb3d83d9b8e319f3c0419d57e64704832e2e539a875c3dd5bd4709ff7115db96c5512a6bf9b0b453fc06bfad61194d0e89917b1fddd6a70df6e74fce489dbbcc35dba4714dcddffc62e27374ec6a845f2f0efebfc8af376ed63d9b988f38592498bb9e79df5e771d50cd61b92a5c0bf03b6223c6d6cd05003577f0ffd725e605007e09c21190edecd50f39021af6508fe503d858e6683f0edf5d9d9fbb5a08355d0af83c2ddc414efb34640f80dd88e30e7ce88f731eff3f4ffdfe069de35f84033896b53cacf7e25450494d08c4970caeacf508598c07e98fab0f04b780981cde3307ae909351d933e8ec1fb8f34ee779257153a8b18f3a7bdfd6b617c5b90bf67681ec1c5390b523f4a9d67ae6d0b5b6ba6b4fcf9d3dbb1b717febfe1eecd1b5899bedd06fb521e701dfe667daf47790bef62376cd9a6bd8e0244865fd7cf60ffc17558387e633556db07b782ae7cfd7f97e8c5390e7757e5066f149211db70d34d2a7b600dc206d33fd8667435c14ef19bfc83da40f29bc53a15a23fc3cd1c8ca75c2632cc751f63a2eafa5732f4fce86a8e4a0213286647a5ec958c9bfd0e1cf1d5fd19ec475db8c1ccbcddc04e6fc91e85eabbcdf3315d78eef688f319884aa6e96b9e78ee80aa6bf17c50ff3ec5aeb7fb8d6f91fae95c8b565fe6ee5356a1e5d8df47e43be876854580bb23699ab0d134f8c1fe7fbe75b41c139849e6b2fee6d1e29c2576e6feadf34b8911be3f9e679f47d0077013d5b95240c1bfc5e0d0ce430f592551658dbd82fc2186320a9ef9e5f4b7a41434fa2662f6ac1b30619cb2b659a5eb20a9d5e18bb0dce399a7385c4b69b7be4118714c7e2c8700f47c07c40efa65890719c276bf2669916e961d7e0e3a2f23ac0b1fd51eb7ca29fea7b90dcf34f7b727274bf3f92fbe01af5d131d50bdf5bceb8df55bf0633bbd92083b8bed9bacf02654efdd6e404ba775d3087739df1bb1b63473ad450b9d1ab392673c4ee13a5e3dc13746b00bd09eaf5915afbc38f40361ee32ce6b857ac8cebd58b8e3ad442118f54be83d470cfa54c676a16479807a7071845c21b38c8bc2247ba12dffb47bd25d1795ee35249dee5c1dc19cd3311d9023c8d4bc4bdb0a4333d26b05f807b06e260482e010b80cfc4efe592f070609ff84e7afb53fd163f70fde70f7b791e05af607b23eedabd11cb3a15a8f12d7bc8f9779e47e73e65bb6968fe80c393e065bc28e7b17c22ffe488e6167324ce178c4db6108d26bf5c4b177b11ad8b072d59f3a221c59df5441fcf375737c9531f7cba01fe7f370e2d568d1070b7747cf747bd00c7584fcbd0a7cd04ddd321dbcdda8db25f44acf606af8a3ebd10be07f46ead7dd4e00b29f7d18b77385f961a7f25d7fd5487b7f4bf17357a7b4e78349eeb138cca7fa8bfdf19be0b653c2bdfe731e7619b4385c5fda0f195f73931fa8d6bd4bb973c082d19f4a17eebd8d10f9be23b7ba8a3008fb35a444e28594689d1bae29839eec5b4eba87d6bed772c238532e568b9fc92a00607f85b5afa4fed8d5e77681e315f5ab5068f740cc4c2eb3ed924c7bb64b91ebfd1855e9197f635ad0f38451c650e5d8f325ffe918b3c85fadd83f0b53e2d2f4b0df7d352c411cedfb3e37edcab96cd2db4cfe9f919f226fefd473d6521d6b1be67d4f963b0e7b638c23d8fe97e71f76e0e1207eaa0f244b566505f48fad0566be546f9416131fe1a7a1fff201cd62798a304cd47c9e1be63cfe898c62d9467f4b6bf41be188d9f3933fcb9cfd690cca51fd1dc6af578719e73932a93b7275cbbef9c7c9f81ce27b1199657b5c9f7260eaf1d3c1cd0af1ef95fb2e8000e7c9b40fc644efa2537df8f637b3eb3eb4a6ad7689e2f5a3e81332e78ca1f1c72d08f6b7609648dc49ae6d28bd53780cf0cc917b6b9b8aaaed8bbf3fda62ed975f9d52cb67c88d7747476491d44836fb159935de91f82a16cf6998921568a7b9e65740ca0ac4b257d275ebc039fae93e108faf74c8f98534f3c76d59f7ca9c614f3390107e212783e4ace1f49e7bff6f39c97749ea7ae8539847a8a9e99cbe363d36738132ef6cc8f8e34ce8057acd16f0738329c449e2f0547bfddd4fbdbab53d67e8acbb65d2a9698528285ba0bf735150bf4fbf9a8c20f8f67c52272bf70cf2627f1efb8ce421697edfa8cc67953e6b74b1c6659a3e1eaf95ded97dc43c61faf805cf475af1d33a7f86bbfa8ac7906fd81eb2196ad7e705ef4d77dd109f73db1f3f4b7ccc1fc3207a66fee4fce7012c7dacf6fa12c4e8540cbfea8e288969d835c6419c1a4c644ef5fd709e8fd146a810b6437af4067387dae314f3ff1d93e41aefdc249fe762e701f569ac78cabeef5c0ef033e1fe0dbf8417f49c8774c80f767e4ddb374a7b1f6b75c5c4295e68f994dcfe55820975ff36a517c39f90872b9e6e62598a41a1a97a371b9827d3b55adb80fd2a6df58e2f70fac1e16baf470873df423f96df870b5fcb6f081dfcb29dc8b92d3bf90cd23cb1b2a523618f6ddee48f6e4e2c22f22b720fedc17ce2be47cd387f4fa8bffe3ef8b6491e6f341b658a7bfa7e577559bfeb04ffe67e853984d03b8dccbb844c3be996f5af64dd9d37347c52090ecefb07d7350ad98e54fa0e759841cd397ac635ed48f83c0ad6309e7dc44f0115f915e97f46986c655e2e47dd65ee77f6aafef7e1677023bb3818bc57ab4896dfd5e3ee15e3537cfb4a5177e60371faa75eae723490befaac5ca2afc86e1ad98b2367432ad6c6859cbc3bd96a73f94ddff6c2e906c124c4d89f9ed92dd2fc88bc03c2dffa23f2fcc41b2ee6dbff079836cb26525bb723b8651ece739e05ccd0996b99d96c33984f9c1462f1507e98989a55178ea5bdd3355bf7ca9568eb9b40f7c06ba549c268b280c99b5121dcc95a0c542d00b53649fb25c5b80c17d55fb9b5703cf3df203ca7c5cd3c6bfb76b66a02e32dbe9bc17cc38e06e747a33dc8fe13bded2b901b634d87ef30dce276a47e899a6f6711fdb7532e3e469896188ef1b8c05c2bdd627297a66aaccb7e89cfe77bc9cb88f2ac13ed5bc6774ee05ec1c8c73a1b0ef955d9d420c0afb6280c9decff3eb2272ef32f295e679887b99b9a1ccda205f7b9be0c330471ff2a9d9b8d94138a8d6f21a8802ee773c5bc53ed295c914cde3683f0ecbbfebae5de6ca90df0039ebc413675c209a57793cbda1f921f1aa54392d62776e1e9a7e09897fb57a435231b1b8acef6ef6cd646c9cf1e58a7c4465f2962ae2aac13b3d68719bab067f6dc4b8fe55ac147819b569cef4b513a13eeb40f115132ea36fcf6aca0ffa0c5d3b1f39f73c96a12e0172e680b3768a2c97f533e1bc9020c7adf68eaf1e700e3b29e41aefc88e3d6612d89379ca62f5000f9a2aa2202873e9673186668cb81563407f3f66fe9df76ca4db681be5515e80e09cbd3ad6c0a9d6a89123c07d51712fc561152b05ac16398749cd08e814f4eece9d3f20dd84fca945e484f2bce679504523859a792d3cd0b83c8f3a93917e748a1c9da9f792d7d8c37c79874e3bc5e6636fbe8a81d3a1201845bbc19780edcd82b537575df666cb670ec643cee3f13eecd26f246e45d9a78c6f8f3999c6d89756123773ec2de75a83b3a4bf35e2106e55d35ee22dda7e652b069d2c0ed23f254fbfa24f1bf1ca87f647c37fc775991e1ba37a1ad308c6600795ef7d962c61b41fe31c18f61f47d83ed08ed05f977ccf55df237d0178384150c4c10f636d0cce23ebca459863c0b5f13fda03d47edfd9f928d08c02ec71364791923cd9cb4e4ff9852ebd18307f06aeabd491ef33c890cfa98875aea2ca3b88c306bf39a50f7b8003895553a87c3f3af6b41c639c07d6f70f7011183b54bdabd59730e7779165dea1fc3b60ae621b6cb321e77184df9691add1d5ef0945f02d8627e4acfb2a50c4a1b7e43974de71d67d1128d6d05bc63c39974b3c5058307cd444be3dfe12dbf5d92b2c4f5c573ffd2fe0e8b5b71eee7395172a7f46bae0d5c1fad842e7eb3a46fa81c5dbf8cc1ca3739a9ae726df2e1513f2acd9adc51542e74be20bba27ee8730dfa4643e0bd7daf280536edad511c3d90e6b11cca0c7d01574a42e5cd727b065e89c66b2382dbce58c171a39f66360adbecb619cf1983750bbec1d52ae15c343e3e8e01d8678303d0ec2e3b288dcab54f19c123c99351cedc541a85a03b4fe857a7867fb1194f3cff464699df915ee0aec6ed1c45c31dfda9034c7faf0b2b30667b9e16bfca88ed9ae6a75e97c8da1405fb1a3b09c64a10c98b7961ea8f419c6c195fee811e903829fc898f7fc0b5f8863fd78a94b261b7ced785e95a97fde11ce70922b3ccb7aca95b104a8334776c98ff3b4036ace5768ff5cc13ef86e3ce372be48fcfd0e1c415f9ed5da1f8d3c249a5b82079b2f5f204610837dc5235d466154303f8838f8c958b0ef84719aa51dd08869c71dbdcb04f045d49ef1daee731e36eb107ae4b9d04f057262047f88f993985ee0d01f7c6b2f0a7456494773e08be62110cda334bb28caf8ddb2b5772eb0df33573f7f4ad1856b3cebd47cc70deea75362bfd6d0178279bfa039d770bea87da9d4a3e93a111afcea8d3d376dd793c973cc8f631da0fe305579e7d51a1f196e81c6d82f0ffad8c1fe53c87e3012f31e583957717c3ef8bb3c3e36f0560caeacc4bd959c30729317878d23901c13e12860b1c85d5c439b5fae3ecad7a7cdc8d54797a57ebeb1f5793999f332a7ef831d87f9528d325e9dff957c88d8a683fef0a2504822f191ad3cddf50ce8c58c9ee1eafc5c06fd7b4c194e25e60c58346dcdac518f5c719e49627cf5fbdbd04b56d087dc8f98bc23c48cc8bc7deeace13d106757a707bd2d0bc6c647ba662ea1f39bcc033a9b0782a4bf55b9d31ab77b893f709ce1b7816d6c1ef7392138ddda76002cae97cc2eaecec790b3edc1b5428075eed1b5dc10c98b89e32b77d5ded6dc54d6eca61a01077e3be02625467ebbea283fd87ebd69abf7922d65fe898fe5a91b2bd38093b55c74b5e197fb908309ef03b9c9c782ae6765b6e6f7ba7fdf1b12d98cc17c917a897f968e42e1e29e8e2bc77efbfc28a44c3a7111f48b4c9a5c329dbcfc2dce148c3d2e399369fb85ae631abc54730d7c64f8f75e84b937ddcee7ffdfe96d0c9ce4e459942e29c78979b3a2cfb4e22d01bc7ce7ba7cdbffdbb75afdbf9b78f48af3e109d7494ef7d2d4b5ceb1f41d7bf55ef53cfb8e330eaf21738d3c8e47fbeaef80f76df558ed1a3f1d5be9e269ab7aec36f16decbc3fc1063079ea7811b99c2ce278a98bf300578cdfe89edfeff9785a7b08f0fe4ae2165e8f9f615e59120768f89c25df5c4b967fd02314e26a146f308dc97ec0c71d37f6608b2f07fb8f351f5b3db7eddfd1febeca0531e99fc435f9d764fd7ceee0d9a1f1db6c2fceaa5e6240f51d7531ff4d7f7104599a02b67cecb6d6cbf4dc19e6a569cea9d58f03d568c97dd587c4d542d9d5f29dace5f24ff90edbfb02db10a4b702e95b9b369fd9c2c7059d7b0cdf0bb0721817da1a1789fd231fffdbfebc20775189cbc5f2d875cf6ff0df5c19f37175ee58e995f1f4d6d1eb7a1fd8ab58eb9943bf9f8fe49f8e775c8db58e9fd1be09ec55b36b5eb11cfda00fb0d663f56a8b978eaa29d8cf6f6766de1ef757be5636673336406441d6f2a26bce7fa80391ad45f6f3035b98cdefb5eb237a4f3188653fca74af9fcf1ef404433e0039c70e6f191bbf64afdd6979ac16dcc53ba457e477111c3be837ad43bf517ab06bcdc0276a8ebfa9d7badebbd2ab7a63dd1ffcd6843af9bc502de3c545cf27bce73fceef61cee80a1741e5cb703e1af949d81f85f9f10f6901b93c8dc814c654a75df364f5b601ce371a672b3132333a6656cbee89af4e2fe771bfe1c77e32eb13d5d710ddb2fb9fcee5222f587c03abc39ee44f9afcd6b13297fec80573263f1bdb738e3cfbe138ea984da32ff8f3b5361eacb551ae754cd6ba20b187728d2b1e3d570b2d57cb1d59cbade67bb5b1ba7fb586adfbfdafb615d1c33fb5ada09ecc65eda96763fa9fd7ee2ff80eaf5d582497e4ded59e41380f8d2a0eff60ed1c6223382d1b01f3f8ffcd595c9d6ffb8efbfd5f593bcc7f81e61c3eaf2b3c3cf06c32fadd3f08d8c71b7fe6b29e124c96f4427aa09c97e3e36b6d4ff395eeb79ef0463ed0fd3fd7db3f8849620c5bf6fb812c10cc37ae67a2f673854baee480f40544f7f1d0bf75ef505e9e4b295b5bb2c976ba5090f9bac97a5a58f7f740118f2f7e44e64b3bbefa31c4f463345f24c6d8d275cd1ab5d659da8c7f992d1bb7591bd192b5ee3ab830f2a23c0ac6c7cc4906ff11bf78b8f6c8b92e6b5924cdb348192f04298a05455c5cff9d9dbc8ddd64c67bf3ad8563b64bd0a3c86f32e68b2f5f348b607e841af08e6774f6ef29314d0d4eefb67c50be922b9a89639b5930c3717de024ebb0892176d4ef8a859458db3cf2a2e6fa000f4a53afd03612c5bfd4c23ec13391df4bf95b35b70af1bbd6ac7ddfecadca62177be6c59f6f87d0e77a3cdcbb167f0be647619794f6530eb5e9388fd99af347718fce390fc4b0f0fa3ededf53b3f0d17e1e0713c71a5ebdfee6d3ef999c3437afbbdef02be80d3e773d73288da593dcdffc5914d227d46c15174aee487f7c666e9c908def84a15f605cb54bf57f69cbda0a7045ddfdb306c2b3f9f72b1ff1d8b5672a5f7e3fcfaf34572d253fafd47c43ad507b9f3ee4ad7f2edfcc7b18cfdf83c49f9a3181965cce09ee978e414c30effd3a49af358775a7ccfc17f1a9aefb3eaed1fae69cf5ebbdd78a153fe02168e48a0625ce1e633c1ec4865a6bfa5dbe92b59fe8fcf0f9a1ae2a3a73d8cdf8d6b5e287c03954c6b67836defff3b12c2761f66ffb998d58f3e685da3b31708276e9d2095fc7b3309f415cc675cb5e2a1fe24068be338b2b4bbbf2e6aa93a4b1d3df5c9dfe2206bfa8ce959d5c7bbba1625aaa8bf18e4cfd723d1ea9c19b38686290d71df94d9cfbc0fdc41b79cae1d5b1f8783fbf4546621ebcfee228b1f7d36bd9d8161ff6255612f7cb3f9aa1d3fb3c6fc5c1d54167fd38a4f91dd2bdb50a037175c63e0dcb67b615ab33a09a1724a33b6b18b367385aab0b3a2f5fbfb1b14f982f311694f92a0e266953ff5daa5e4accd9798b36bdd9d54b044e42d78ddfd1fb865ef49e7a5655b7f5e993795122a98cf3d77c1ae358d83778edb4665e94e2d7d9a1f1ebe93b8c0bf7632c31ab7fbce833fd518f848a1f740472be396dce5e54e576aff4fa3cc9a5c74a323bba253f519b63e7bd2147742f9b19f457b0c32bc459edf05af39fe4032f1a1e5d2b8f0311b8b80750ff8cb9a94a6eeefa7304bfc75cdd3ac5dbad51df939e08d66953727c439f01651e5e4b0eef9213bce200a7ef0bbd09dee8bf4f5dcbbcd1d70307f8acf51cf89dd98bb9ddb879bff706cf38f90e3ff7eedadbf2eff8fff8fbaa3723cd5f0ee3286bfe2a5ef4fa33fefb8f79c907d033e7192f39bcf70f78c945e3ac59836c77daa4ca34befe9b5e459a35b8baa7c59767e07ceb37f6fd1963bda1e720c1b2c5023cfbbfca71c6b0cf7f4bd12ddae37e478ba6fdfdc3b80cd84354bcbe751fc7da1e9fdcc7286d5485b563eed83fb8854bc083b6effb831ce0a37b97f90f9cf7ef1a73b7ef51f36c89d539fac0bfe85c2fde4be22faf95dbaef9443afb828c9b3833ee0cf9fb875c524cfe1730ea84b317e3852abe5662871ede4236476cd6394dc626bf11ce969aabf187fd7d38b6473de95d231acdde355fb26842cf9a87babb117b23ba3bae74b79e56bd6e699c01e43e675cb79c5b430e723fd6aabb9f8f0875eaa4ae9ac61ddc6e747d84db591f81ed51bc5edf60f5c411f8eb72552bfb30cef593f97e7cfe01ced3b8622e8ee33738332ade2a0e30266c9e7314cfd7b53e37b19e637db115ef9cb685f3ffb3b9f57bc2a58d016ff08158c38337378faebd3c7b90373a020f72e55b96f3ad75eb287c363fe138c1ef83754ec47256b5fa19b575d5d33e4cd51c76af5dde91177d308e41b76eef09adbe6e8cfeb506678fd2c10ff4edddeb2fb8cde9f8146fd2b8578c391eba6499ed4df25dbc1b7c32f69a73e77dffb56fdbc4353c8c79339877886b03cf37c817c9d7b7e6eedb18c18371fc200600e75033b751627d5ab260f342ec9d56bc9f982a9c4587aeb84ef8a8b7d18fe23b3ff19deb7bf3e1ae679c5d2de7fe16e751aeffce5ee9aebd11362587fd747555a6e655d5166f9b99b0d70c7e659adbf7cd319fd9fc6a56f5359a0a57d568ac15db83c3e8c2e87470cf638c9755711e72f458653d8d492d1389bd6d5e49df7d525383f9ec490c14b0d3f00c6bf607b81f1bbd065ab2dc8115d47b0c56f0fa8067f44af18c5e1b718bb8593fb26beccd4d6f38da8fc38977e0d198aa782dcbc7fed86fdd26e0b7bab8ee49e0d647f7fab7bcb05ef1b7bcb08d9a786b7b942b5e8046bdc22c6e9ee1958f0df1149b57bd18fc56c00be9bd21f4b1d27b83ba8fd554b8367ae4a995cfa7e56ac3ffc3bdee8cfa1ae227a2dfb5ce52ecd3b57cb80c3d9ff6cd4a3f4caf7868e07e2c370df6931b7c35f0bb7d19ab57adcb15dea7944d1dad7b1ecb33f38a749eace5a617fd0bbc29ba1e63dd0807e7733f499e833eb9ee7ae690606490ae339bba8ef2d1be3d5fec7e9d8f92c70bd54f70ccd780dc00956382b15238b2d92a0e26bceb1d705cce100799910c04d37a12cf9bcddaf5766dde608de558acebefd47ec97973be41fd1a8ee371a4968d8ae3194dee2fb1b11e1bef948fe4d9fb55356757791674f1008f9bf6827732336fc2215d62a1fbad8f18e78ff49a89f634d5d37303d8f6465dc0b45917303d4bf676b41fcf38ab3f039e59231956383c2319e073cb7ee73e745ef4a25cc37209678760e05ce3d88bf241303e669b6470f57ace376bcef885487ec6ffa1fce881383bec0aa60772ebfe8f3081cddccf4e344377427cbe09afd7bd868fd00b22187397b21704eed7ced475577542ebc41494692b7f71732df3cff7f9903076ac4db238319f4b3c5ee77d037b756edeb7e2f1617ade3ef147eafe011cd33353bbd0eb57f70da16c1198b7717e7df0accb52bf5cd503775bf70617458b63d5be903c7d4add7b857ce80ccf6b1aef3bf2b1cffa142becfcd118d536877175bf465f1a8227b392419523d9b4f274efbcdf0bdfd1d9da951b8139d7428ef44f2feb195af3cdd4f4e815de81c6bc6714aee2ec5ab32353b74be32cb5877dd0a17711ae13e57f13bccc2bb2415c3be4d6c910b00c4a574fcbb236a7ea21953363a931bf54dfa792efaabe5f58e501b5e9adc6d9a725a6b1539ebdfedb777a00f77dd53ef3ee3532bfed134cee037b474966375fcc87e57e6fc6411fdf7fdb2907cd3d0d3da9a71023e3baefd7dd97b9751f51b8fdf558ff2fd55a60ddd9b5c7fe5636906dda29178f7bfdf6e2449e9639275a773dca930f840df45f617e0bfb775384cd7b34e28cf45e0eb9ce316a4cad594630ae4c8f0b7a1e156b90edf4c65e47ba52cfd29d5e71733dc51e34f7ab1f35f7ebf17fdbaf989fa26b5dfedb5ebe7c852f60eafbcaf750e69be67b7c9f0f66df2baff2c21db6c277583eccafd9c2ed541cc1c8af6230b4d08794ee37c5dd947afd4b9ba358440ee175ded418762d077c3639977ecbb654d52ad33ee737efd18ddd2478c2968ea178dedb38873a0eb91c53f5d5f8ccfd011f09f08850b903a9c470d2f9f2ea1d9519e65ec1f85caae7cd6c7a2e63b748dfedec15b603effcbcf40fccde20f3ad4167cf6583dfbe6fb8cbdee6dedfa42897bd03df9c3fa64767690ffca00789ccfa12c7da3e81bac5ca36491bb27a255cb4a4b78e44fa8fd0f6c9b4c9db64357c0c1bfb18c15535d3ab3c796bfa174e2b9e613562c0c8df6130edc340b54ccf8b798192b72aef8ffc42e075a6ed0f71902a2c3e420d7ac38d9f0837d75e701fe66ae8598b2f6fbe4c16c71ffdeeecb27c13c8ffe5f6467a051f06f349ca7fe3b76bc9b77ebbfc43bf1d9ecbe09df033e9f869e645c305b51737ca2c049e938ffef68b705f353112e30af340ce9cbab72aecad77dc7f2c64f35f93b736ae8bf824658dcb337c3fe699d8223b5cc0f5f439b7d772cee3e2ab2b9a03d2bbe5219e03e37ad358aef52be771a9be4e9edb354fb94f1ae7c7227222eaf9113a9b91ac7a3d07f3f870a98efcf6401464a3f84c09f706c6b672a90eb6c57cfba5c52b553fa4cff3cfcf79431a381d2791a8f7940e9c00e7a32524d29c8c8713d6d5d838612d8f8fafc0e9ab61bf568b97106b67b8c1f48763041cbd9694f551b77049de4db766b787733e0d38b99e7786838c3cbbdcdf3f9749fb2274e1091ff10a117c1547f40b70480473fcec321ef4fc1ddcf8bb77a0e34a0fef3333afc07180cfd73256ced4ddad4f942cf34d7c12b31e0b2f0aefa5ec97b861aa8eee5ce679c9184b7eb76ff693cbee27fea94c84ade78bc2c24bb6f18708738164f9d52fca1e304225e74c6fa6321f8de59fc3d761d932fadbd0e9650fc7bc4906e7f6fd191df45ad58a225915e3fb93391db8dadfcd2989233d1a5f647135c782ad2d0465c6604cba388a6a9e410af758e61364e00fc922e066c0f2d3e0120b3bb02cc1cab1df6fae2da54a927eedacc1598a6e9f5274fc23456f91dc3305455c7d79c92a7c3237c31a27b2bad6bec683bc34e145a9fb36b470766d1fbbc73fad0173fb1b9c4f2a6b6ed0b392b871ef6e5c0fcbd709fd2c90dd3964f62ab1b9215642f94b75bd2017321ca8955ff0880795f4e32d31d5d55c017f1670945218d62bf80ae3690e311271282822c1ae1cd267d85b6a5db657da0784da5bc04cbba9976c5ab2d6d1e7e2ea26f1d59d9ad760be18b631e8d20bd4a5e05a84ca06eb9ac35a772e38d6bfa2fdc27ade2057962059456b7c7cc5351920abafcd78476b7db49c637bd26d5ea448fa134cce913296aa5ca61449d9bf58c3f4a3377881ebf414f7d6168d3fa46768a8dad20ba9d722752cc83f9422bc86685f0196ed3b4c2acbbd3805ee10649b3cd50f1f56958f57681e07977013120eb1a7ebae88c7a76b45c77b6a4cd4ad507b4741d2df5efd43857bfec6d61b6501f267f5d179a7437ff642b58c747d92287c04f277f2f2b798ebe9c465254f9991c4a7ddfc6772dc3ca7590e2b86fbbb9ca72bd291defc089c918d1c42e56f3fb62de36aef411fa0ca4682b520b1a49feee345f73e9e03e7d5339928eb36e05d3fb430c618491c5bc67891c77a9892a7ac1e0bc6799033f0fe9d6dddacc504dcffc9e47471f6ecdc2dedbc6c67ad6279f29629fa14ce0f9fc339cac7cfa5f73d7d568e6e54ec07f4c43a9a95cf697387d1f7d4df09cfe2ea2bb086dc73fd36380713a165bf573cc2783fd63608b9e7e6747cbab7dd7a2d4acc47ecdb66e8cd972d7d58cf45656b67587f623d8ec6d49c3fc23f5de2bb001b02bdfead15136faa79f4701f5fa71732f983369fc1b6c07c908c0fd7acad4dfc44b86c7f52173b666a616374eeec306fccdaebb77541876e25bf97ce04af42ea88d099b8c51c2ced7dc9f49ff10e7f715e909e3225dea6e46d25bd4732afa063c49260f58e99177399a4cf2a7d87cfe04bdc31ae560df4d3f35a1c248b6408bc8fe47d978ebdea9067968fb3b22bb94bfc6155763c1bab4bc0a6a8f42f5e97e111f63919cf7ff71cb24e75ff3ee67d902ff1748f3ef0dd9a392d347e74af8a9f457453ffb47aeccfcda935188753b049933c0c8083e687ba5e5c31ba9ed86b25a7ef93bd5e9f370ead2b6a9b8fe518fac6afb7aa330b5d1bb4ea623af98c880c3471742c4769c0e17e81c0f951e56bf0fc0671308daf5d6b47e587af75fc3a4f5503f3e0ad8be9d93b507d44b4925383ea73650daa782ff4248158af93903aebaadeda2bf295aca72b59c73d8c690c5e3ddf0b34dec2eb9bb7ef74b797b474f7d9b19fe96d2247a4ee53c739a015be6eb5f00edffa4e275c371272ca944b812f1278f7577a602deecd9aa806c656781647a2f0b72fc124c5bca0e578bbb0d12dec398d8d362abe4c9f5ff1be88f69ed9d4476c8f2a6d41bdbb84cef8a12f021720baf7dde89b11ba87dadfbc620cd7f14abd3725d397f8c31092c7cfa2657aabb8f6d3f73a613e92aaef4c5983f29d9ddfe4fd3e7ad1b1236682c69b877e3b26f6f87e4d5d662fee01e655cb4a1da9f79c6f65f01b1d89de13d71cda5ce659b3c193f9bcd13624f667c271f799d6710da99753443e7d26ff3e856f567b43cc3f8674078c2fbe7eb757a9eb63b85e34e0fab2dfaadb3c2fbbf2e4bd3c757ac679896df43fbb96dff6f81add9a713bc0037f9e976382d1867bbc779dd58ffcfe665c9bc90ffabd4bea432f30e67bf04b76bdf866e29e1e3ff535796a5d3357ab7d1cb89735e476d6ed277619fd6cd6369bafbefcd3f63b59a1ced09caa112fe7701bee5abeef93b51be72bc7de9ed1befc187fde2abf479cfd718df65e7c74167fb32f39c7ba408e96fdbe1caf69efc438fbb19f08fdad1ab603be8fe99db6a9f79333fc443db7e12f5271cfeff550d3de47e78f38bbefa6ab2fb7215bddf18f30f47be1684fc52f098e8af72b7e8658d897b529d31070710c16930baf562fc7bc58d3f06af171a01a359fb65fe412e00b71ee43d0c401da3324b755ffadc4fbe9d6ece6431ff64581ee87ce32bfff1e3bfd4d79adeef5cdc2f9bebe84890fedf1b30e3b71967a071efd1ffaaca0e7e1e7acbe3cb42ed6f00ee3a7ce50c8e5cda5eca3e7664d3df360bf4a656c08db857ce863fb3c755b364937271e1d2fa3eefb939c15e9c344db03953fe479459eda1ae6c322b53da4feb3f65b899eba38f63b6088bb6cc547b54acfc68a7b2777f7df20bd6a691fb411b71d54bd3776f6db9995cbcbb5c9f9cb6084c7dbce5a0f3aff1fcca586ce1c7a48afd98d5ea97ee32c7c200b21e4919fd435357a97168d73e681dfc073cfb1616c1dbf7f92589d792af7036bd3a95caaebdc00f865d01edc59ee10cef4b8e2096af297a73eebcffcd3c4a133bd32facdb91d7c06933c56efd3d760328cd582cbd78dde03812dd55c14654d88ce094b6d74abe3f76fb78a7f02d7e9675ed977632e09c0ed7da079f05685dcecf5270e5e5c5de8d0d992b0bc4ffff1a34be847e114f7f5cca7c0b7a1c5a3e5bcb3d745a1dad21fc796cedb39f029675be0713ca6fbc9bbb04e8c97d67976e0ee4b2d2d646e0b3cf3f8774dfb03f950173c06fb76db433fdc46af8c8e3976757e0d36f364c92defd270a97fde57fa32554443d04f9bb3abdf464bdd1cb9fae0971a71f94abb71abc374b09a18c3e5c46ffc6e55fd6e59dc78745ea9c69093c761ac6a612cdf9783d56153ac75295febee68398e3f8271fc01d71ca63d652215ab8933581e24bebcb7d1477e2c7986398cd5c3e0d7525f66cbbbd45b1d3683b57ebcadb5636a27c62ff530c8578d7776ec0eb99a0d63195daf6fb8e5dde8af0ec73ff27c3352274e2a1721a71e0605cc619d0352bcf872231813f47fd7d6e17c407baad859e65d995eae24b7271b77f81be77125ae25571e9e61cf6ad3a61d7b4e3452b99080039eec5d01e3488e8023a1f2b7cff3c9d30a9f914938a65bc6e37e6a6f722d7b13fb5c385e630d8faefdf9fd39d68e233175546a6fe82d67dcaba2cf0445c4b64c97bfd4a88babfd211a3f4e708e50930b5cfe695cf96130de5075db3e0d8bc94e90cd89fcd01fdfffdfe728b4ff24479113dfe5f6f83e250eac13b78fb18e3acfd8e17bd1c896e363866b0b86a3fd04fa825d179113b67091f70ba71ad0ab8d53276f25bee2e0f5cd2bf41f3bb1f8db26369660bcc1f65f77bdf3640acf56fbd2ab1f0137cec1b137e75dd4e02288ea3e12f89e2127f78cb4cec592b8e5dfc92e5c8363e6c792c796a907811e821197c3de40feff77f9969283b08c5bceb7f1335f9bda9321bd27d1be867bb463398c9e91e79bbab734f2aff4db6d3fcf191c31eeddfd3eda3fcaeb684e124c860c7edcadf80c7e128f1ce0fe8a5add3bfc2731baf6d8494fed87f927e1c17b6d466c4e8ac37d7ff07729c481a6422213ff93f02edcbc7e635f3f8a0540cfb7aa8e0863304edbd84ff2d8b1dd966e28f34016605d5601f81ec92a0cc661c38e3ac239e956f112cac79d3957afe764c4e6899b3de9d6348f50d9632eaaea3a05572379fcd3a6ee8da9e5d43b0d7e1463b3fb1b88a1d098b152ef7e1bc3ef999c3ce6729c27bda4fe2c38efacbc39e78dbc02e5f7b3f9ba6a4f7c24f1635c19757d3daf79ea47b907ffe7e95ea867962f473b56f7875ad2765eb73c4f9aeb48fb1de8cc2b63ebd47c6f5b7105b45f760d3efd1da9e36b7e5fd6f759e2e0ec15f9efeff442b906253f8edadf401f0f2af6fc6d1c87e2d6f9692c96e5bb075ee251a396250c7d6c63d538a622ff6a72a87abd21e758f1d5bff3cdbfd1d7395e14ee9439eb1bca1a7c6f29e2b1eb7ba73926f27d148cf3827dd611e6fb03fa7d33d8f214db6d29d771afdf1ac645459e68bc7a510ef3a645f9c4ebe5996be1f55a1f734ec139ad7930ce59cce4d18d9529f4f478fd108dacc4eb6d92410658c8637c55a655af18ddb537afa635c84afeb875b2b82ab345e82541bc8e054e992d625f34c36092ae82719efaf7f4148c73c8176bf1f27537df0a7b9c0beeccd94a27f3ee6aeff760be489dfe26aa788badc179a9e31e885ef4992f2746aa244ee6ddf9ab3c91b86571cc021dfd7f7a833ee4f0fbb73ef47546ff3fa06b9770ed7a7cccdc36bf42b9df9a1867c0f0d7bca2efa9775a718e353c901c4bfad15ff577f6f6b063398de83ec107c75ec5d2e4edb551f3c0ad7babd0ef199f4b3d6df445025fefb7d39bdd5dedad589fd87c1ff86248afda9ddf834f47f3b094d898f2fc67f0316c6e9f963d2118339f33d7e67e07e361fc317ffff24fdb664d38d3d3c01be73745fcccdc713e54e64ee616791ff7ae9c1548a72853e05e3879a21039d62df3308713e7d89bcc867eb2787f28d39ba0eb42b14eb8173fbef46dfd7c867fed7cf4d1e752761fe5916a702f819ef2563f0880c7d644d7f0bf910efc98f051935702fac68edf5374bec9d64090acd159d785dbfae4ff9145ee458a06d13a920e5274fce38f730e78719255ec8e8fc9e2784b16c9f2ac8f73247747d55a78fe8ccb703feb237abfabc76fd17cc7c1348883c9e8ecdef9549ede327f7c4c17917baaea808f39ba3655c44f015dffa10bc3756256f7abf27ae2868eb99ce11d0f7c89bf4b16c9e0c52fc2b3329752e823de5f008fa677101259fc4cd7f12859440ff37267b5bf3c6f6bdd4bf8baf2b3aca767651ca2353a3b163fda8b9fc922f9bcfabd30f4ec7ce48e9dc41d0fef3b717691352771b4b0a78c17f0598a20cf9039e01ff33d6586c6101ee4b9917913be2f170b8a17d388643b1f395ac82be22d83359e9b9e37e3d15c08bb31e66672ac5bb2387d268b6836b0faef01f4d79e7f663e1a2bf289904ddb85352b163cda73d85f5e71d2e1c2298939f045a108e6a023eecbc9f4a18e62e57f705e4da643f9d1b318fdf556e92fa483b0ee9ae6ab71a9bb969cac0d93757f7375edf0e6f5179c7f7fa8a70a252e6b5ef2913c97ae463fbe388990a9f64590f54b4a382b47fb39e67151e6551df5979238982bca066c4917cea33d278763d79c401dd093f172fe893aefb519f481443691d3fb646d01fd5d78b8668fce017d8acefd6a4ec91990231fce2fe7573b660efe9e5fa3ffa3fd375ef477fd65246b79a2daf5dc29e24d70742159274eb2481ccc79220a7c305bc5c8bff24ff928d0d9b979c6c7057dab6db43ecb64918cced0575f170e567f1ba896eb0533eed5013e713e93c70bfdc3e223af77bb429f473456f4b7876b9445013a57e6105b3d042556762ea1f9e8ad494f7e29b920bd1029e345e1daab2f6feec652748b681e70f499ead5a7ba919449a77774e6a768ad5c0d7d5ec4fe7c11fb3de48f4b9994549cd97a308f33fc9b15f761e5f1c6ca5374e6f9c52240eb63158b3bd2238e2da171dc5d7bc6bbe80c45d7247ce8cfdf532ff123fbe9dc52be7594f3b8dfbe21b8f81cc89abd02d93ab036570d3ad3151d6202a99254312388b132dce473e9bce06b1e72afff4e7201d249ee19c045beb3979f9e657292185f2511cd4b7cddd92466dd733ea5c8ff138cb39314bdbb1b835f4a735c77b928304eb6f4c91ccbaf7995f0ba21ffeacfce1a1ef7f31cf739ad6b2fef5e2fef01371c5a9b9e90058939da3fc14596d7d26baf5a06f3793fcf1fe355a0ee86f8baa51d640809ba07233fa77c047c24953f47c9128c97fa6c377f4bc9d984bc5bf979def86d53068127aff15debfe0d19bd73d013a9f57dbfba8e473a551109661ce2576eb3aef1fa0dafc215edf9e79c8fa657719588466ae33807ce55cd8d541973d07bdf63e20cc47feac557b7c9a9df905bfc9bb768515c68f9aae41772a3bd38d959e65112dd2f3fc2bf950b3f9266f1bb6edc3eb18d35383d39374a1e6c6c8bff5457ce175e30ce2283f26fa498177e70defc7e7c6630bf43e76bb1024ccab7e3e656c5f11b3bb7d9031dec474e25b913eaacbd028ed7e22b3f0df9d668bfb9497c0a486dd13a9ade947950ec488d29fabcd78eafc1ec12db3a7f55c06ffaa1cf54747139227fe216b963297b889b9e09a08bbc687844b683942c23e5617ffcf725ae91185c5de4738c179114dd9a3d7aead823d42de6f538b427e310d3c6389c67e35837c6113e1b87d1e75259bf209fb1403682177d16cbc3125d7f5e1e240e7ac14ffc1cff3be590cd8a6c8bd5648a7fa3bf15e46f37e473e2eb8df2fa1efe9b5480fcd46771be9a48c46619424d0a3a13657c3faebc668d9f55acf17ec7bf1547a9325fe2dfde253286694afcda2bd4106af941d5c2ab3c21e3d03777f21ee55887683edd037f5592c1d941e39ec07e4895f91b79ce8df81d9f057a6777827fbb1b1fb30fb09dde5265ee90f1a3f9f6f1980ed2908cff5eced5f2fe49c6b184e706777c2fb73866bace9de119f7723e37e4fd0d3256ff56cefd0a64e0b3bf84d825479eb72ce7eb4efe5e2cef0e99ff25f2f71f9f5dd130548e753d9f92c4772a7e82ed61966770df88d346b807388779dc49fd30d4284ed2df7b36afbd6ce2e9e4f1b1e47ff782199b5f771afceb92bd413eda17396322c8158d3fd3762fef860dfd100bba158262189278ca3f9d3cb5f38d80ec2857e7574a32bd7aa270c0b5f183abdf33433f599dd7b84f755ce5cd4f17017f274592ced3b90fc28bbbe2fce83397b5e1dd17f334187f468b4862382efc0874e755b6069dfd7dfce8887cc542b5869e1f7357bfff9eedeccd593a70c87ee7acde36767ac2d1354d4d33565f9efdfee525c8460da137936c7202eec7e424ae681ebcde3636cdc562d3132ebe28407f2f79bef0962697eee7b7486262275b41990e5ae716c923523acb39cb5a18abb681fe051c2be1b98e95673591d6b07b3c387f2b48d125f692d5972b9aa6718c275e8fbf79bd61ec9d3667381b709dd5759708a917e1b9ddb332ac77f49aec8c53a90729599ce85ecd54dc99cf0a5b1718fead65cc3d8ad186cb39877b7a27656e5b4276d311ef01e493bee1792a6d335c2b3bdad3b215bd73eb0a0b7e44bfffbd07dece7afe1ced3395c58110c0bfa354d6ea5ab4362fc006d9faf122720b591490ef95a1fde88a66e6dadb58c2dfbd7ad81fd3cbdfb85a5ee0be28f917c4990906aaeacf33f9447efb38b0dcc4b5a5877183c7bd1d9ef117b89c72e4c340fc145403fe4d16a7adb06eda36635a57d41c076e2fff72925966c2589d84fd1c8ff6e2805e233a0ed4473e87d7f793c52940f6e657f0fcf777d7ca9345e4c2bfb0aed167e4119f8cd145a2912c1223ddcf73913ad3a3464e2092214e5ceda33297745e1e48beb2ed1bfeccd6ec1e3fa7f62afb9e5b3f8e8f715df626f2c51ff14cb4785fa056f6a98fcb21dd89f49f7de76365bef9b6077d236e9b7df4586ef8f5a9b247b9b63d3acd82fe22253d241edaa748f6f7e8fabf18fbba4bc6c7f1efbd7e69f0fbf28dde7639d7f83bc4b7a10f753b7f53f7b839f09debd38c21ad273886e447d5be65387cbca2e43da2b898f039c5c9c071c309c1ec726d60faf82edf6047d53ded48eddc227253259965e88ca5ff6f5ac3bb63b971d777462fff0aeeacecf887f3d92bc202fa9d8ac67573321337310bd5469f47e79d96f3b296f398c7956bad17cc0b9cdf0b2413916b4b0d8e9498db21d92b707ec144736e94bdda16efd579307ebf04f68a93c4e157307e8f5ced3d044e616b11fb11d34331ade788cb026d187a62fee5dc5b9c53a033f11952dd27a4f7a16c6fcf7e22f4492ec54063deda8bc2eb4b67e9589f5d92c8f37e7ff3e924c6a7a3bd57ef59d641fa073e6df4382beb9c902e88d56271277c0fccdc7807a100cc02a90f94f594fa7c7cf523a85dccb0edbc1094b971456793d75b99de6915ba89d1c909f97ff07d199964e69f37af7e6f96b8e62af3fafeff6be3f2a3a1ee8942bf9463b077bb757d6967fede433fc915cb07f57d1cb1ceb74525ff1eae1bfc69dc7f79976e3f8afb1f1ce417a658ef4c53b687d8e8cce6d29973fdeb49fd54ba889cc827716bd6d697dad8d0fa6cadcf31fd495dda337e2211f77068f49184382ab257249d131a39ec17e944721563e995f64914fcfe023bb742478ca6b25f7fb77bcbb0b8a8bdf699ae71ffb22b60ceb05c7e6f6bd07dcc8a6e7b2ae8c5575714fa8bc8397b07beb491d2bdcdda630f65888acf376363922d3dae699ff82175ee1f5dcb4dbdc4ace51d6ce35bfe5d0fb5559f176433cbed9283e51bd95d4d90ee7e9adfa9ee5dda398407fc71fe8dd91b655ce4f3beaa7262c6bd3937fea185ab6ee0c28e57b7fcbef8ccd17364bb8dabc6cfafe5c5ea990170d3ce7f12cf948a721fafa22a7f3740e7ebf3b5c9ef387e3c6dfb91245e1bccbfcfab231dec1521e174a8dee16ef5b7c1ba678ef663e47f42eeafd48d9e6d5e381be243d3d02b203ef6bee15633835fa9468ce4de495c6d487f97b907fe4bc6b8cd17e8fbaca7a122de04b87e324dd59e897ce5d7127f479d9b30167856e42492756cc9337a07a77012c996ea3a5dfdad8e3ff44a8e92f3656973bf9dbb0036d552cb7fbb163a7fcc02f3eb9dc3e5380759776c2e5d9fb6684cc212628cc43f1be78922de708de78ff28a9f03585fad7beffb3d3373232761ff1d967900a4ffcaff278bd32af644c0a714fb79fe235fa7b1cfbeba63df656f8959e127b3a192c477c209d8909f61b70e7d2c63846f93f8ffe08f6fd87cc26c11a33319f276b50d083a5712c3d0ef0d4e60fb59e6551271fecbb1f2d4ef994769cc7dfa7df3e642dfb077745e5f17600b98b117bdc3f9eb5a1bc61678b2279bb9696e39f11fe7ebe938acf634ae4f6ce15981f19bc4ae99c19939f34f0be40b54fde582f1f18f14bda77ef10efd8a1d6bf059f9bb11d3fbf7e7b1fbe7ba3675a34fc6cf947e6aabcf37ec5835ba2e88b1cf9ff84fcd7cca265ffe289fe27395defc8bf3c48fc214afc3dfe9e6a5be41fbf80bdb686f2496fed95f614cc0b33ea4bf5d6d980027d4bd9b5384e860a8b1c4bdf431aec583fc5f8e6406d91df53b14b5ef47631ef616f85c487f453b2437a77c249d5671305ee05868a7ec7d461b6b7570edd5ddeb2feec4d7ba07f63bcc6563ff44843b01df1ff0485bcf3539c1abf8828f3f3cf7a6b7b506588212db9f7a879fe6f536bf961321253641b6d6df6eabfb74b8d6a5ff87b8f7da5355f9ba401f685f34a076cb65b7018906907427b094a8ecc6003cfdf9d52c4281a17bedf3ffceb95abd140945d5ac19c61c8356a62e254fa391ac46eff2c3fbe8d92bf3fca41ed8f04c002f36795f7f06542fae47fe62275e69c6d665744ae7e2b36db0b43741364a3e805e2c27c4b6313cd4f3c59ef0bd1cfc16f9589db5d7c43f159ffa7f3bafdcc45e4e88ecb1127bf34dea18fad53349cda7cee7276fd2e8cae1df19ec783f995fd05edf7d46822728a44bdbdc6c77061d3b039d921e9fb38be5016ddfdb4d34e9d0c2f8c7f80eefc3d5f831bfc22eac3399c0fff475b33bb9beead8bd49f93d7f16aee184d4d39c5be739a76ce7d99609db598b4e485ff7d5ba7d116f850ea7fb6edc8cc91bd6c114daf31ef52eae29a4e9bd499d6a7fcc427e987ef624ce027e66674a9de56eaefe867c24e45b58aa9588d57116a1456995b44f60fc43514bb3954ae512d7e6f185c03e41df6da72ff470aa790ceda0adf7b8858fde6bb2526737b226636b74d8f2c59de3655171ba7033d62af0732c8becdb99e6e83b5f086cdf60724f3a0a3468cf303756d26659e73c0bdaaf78f7323b040eb9471a67c54aa3d8fed812fe6eff3d00cf78cd0fb3d2687abfb8f95033ba5b7bed7c7743ba7f9eecee9a9013c2f302d7ddaaf8b0d5c726f31655dd013f9ff76c8e2ff8fe1c4ff726cde23c472797183536b0e2c1f28c21810dc2fedfcae8f61eff51917dab7975d09c57beefeb0b759f6b871bfab16e8b364b31ceea61cfd73fb21a77354fb5f365f5f8d80f27c8be21771a50b9a9d17d2d970fabd2d710b15dae9e3f4aa5e9cc5f75e6513eb68ff9d82d7ce029b0273d5dc5a37e976f26c6b0c142777144783ca167471d513b7393d91a155847e1ea0d94d80d80633d40fb86cbe8057014a098d3183138b68b2ed0df81622e354fa523f4f2a17702bc953b75049c58a09b56d21f7b744cc25e5626f465f836b79177a642d90668ff8dd0f91c6614da5afdb79d54c7d67ada77c7d7da666b23cf802717bd435328abdfc58e1153d5df3737d16f36f07dd5c7f1ec1fb8efafc2463634d9ac9c4489efbe4ff2d41d6c6227d18be7bedbc831f138063b6314ed8cd1f17e0e3ed98317c2d562f4d22ddadff2105f3cf075f035428f79aadb12488580df0de347bb9ed631197fe35ed726a641f309fc2c29514e3617173fdc03ed18f372f7549ffaf3f6175864c2ef8ab0dfdce616be6d332e1fe0f36a9bed985a4783f8807c3f6f12573a448753576f40efd711b3b6de3a3c29a19b2e99f165678c4eb629a455ac952b418d6dd962bc08e048f07772c9f77f73722639ddd133e166ec4ef5cb7eff8b5552b725238f89fdeec32ab2efe6f942da3718c55b32b79eee800d387f67d2eb638a29d62dee3eebed8bb736bf5df12ba0d8d51d6c7c34ff21cf3f2138fff07ccdf0deb0bdb3e5d2427ef0d93a1182595e694d16b6318fb01e80d5e0f7dc44f7ed4ac39dd766fddf0cdc24a6fabf216a76d56f2a6ca79167cec0e32d234fb4c1570cdcb7939c02cd100de2fafb6382f6bc0f7fdf625491ef118b1321064cf1e2b3e7b37e625f18dbd4cce1d881cacd333b6291bd6935b7072dd66d3b009d7c644b23dbd88cf70b1eeba5cd37a9c564a7dda4d615edec8fa7aaa60fbf132731a1af81f1b7b68ee6d757ec1e372391ebce196922b463baf5539bf14dcbdcc46e84f6a52c9016e7d839ea67bbad7fe6f7bc7a0fb9aadbf3ea0a059aff49fffc67e8c7fbcbfb8d6c53a1dc841d21bbf3539eb7cecd11bda9fb768ee99ac7cd29e8c57d705c3bafdae3c4e6bd09b165f4de1ba797de42b8fe31f44808ec17e3b089919d7306716c033f7c9f1f1fdb32a2f6569fab5d33d5b984c07e74dcdd3585c03a3d7ffe1139a6a49eedeb7b9fd294887c3635cffada46cd583cd43826f4bdaa7848acf58a12fd624f0ea9d49bfb982ffd3fe1ff0b59fb4cc5c90ff92e62fea239e0065682fd22e887fe8bbc155133d00087975678950bf0ccfd32e7b383fefd9fea077f8ffd8018bad6c76cf364bd5aa5e23b8147f11ce48f01cfbfe3d888e700ebffddd54a7e3e3664be51d6dcbabe3100bc22e4cddc549c082da714bdf1ed82873c15592f750b9e5d19d1532c2bd94fbc570fe9839a497adf738e7d7fe8110c1f735278d371a01b4d1d23e2c314e66afd9d06f3837f7fcc01e4f7f14c38865908a37edda5536f1bd02cf0b73435a435e6d7d7d8cbf2b87ddba97e2c6aa74023f04428de83cfd5e8553f5b8ceb01796c6be3604d8c191fa6c5d339c60c4fb266950446e0224ef981827b6a009f5ae71815f07fb02f84beafb0e64cdd7baa14d1893fb69c2e3a373ff2414472a486d037d26a5d252b23762c9aca9c299d08819df47a163321b0af227703ae500bd971d5cf246e96594594b9f4393435ba94221cd3fcaef6f1396872b4e5baeea92adabe5a996efb6a2d1a9e4d3f7b955f99f5f11bad4f4ae52bd0b31ab27288d65e1eae3419f920991d5214feeec62af8bbdb4adb621c207723fc541237d7f49376b03976910fa419c53a282654f3335a379a1a6566491722b7cefea8b752547379656e4f4eeb5fa612c7b3f2241fae4c7bbc5fc8d92ea4e3d5e0807c0e59d4d20bfefb7613b5b4de6f3eb4e9285832fcb758c490637317f9d8c2d820e87b14172e6b16fe7165d08e15539915e48a88790d533bf063d148d1e7ac579e6367a1c43c17a3dfa4eec04b9bf550f70597698ba99cd67dc45ba28fd8ad7b8419a2473868fa8ac3d4afeb61bb203f8a26dd5e93b3881adc8c18efdb9ba4cddead413eb64336592629bbefd916187bdcc7f26e15879b58e91d58c52117098e20ab381468de380c1d2f13f984e653c53b8bbea3c48a07087d87ec23e6c3c6bd58f059f01c8ff1720f0adb5ecb7a3e63bc3d5fe3cb077240f860dd7dfc1e4fa236bd8560c7510cbf63f411eedb10623b847ae4de1c40dd0f307426cd9615bfe03baf7db15ddcc7ac9727efe85fa07820e9c629f2cbe3d1bdeccdda76dcfb0a52a565222de476cf3f669150e341c29496704fdabb37c9bf6d337ab74183c27a77821cc55037b74c4b695e694886e9756f521f76506310f5b9c3e17deb49af4c85f5ae7ba96e6c957fb95539c1768f9ecc58bbca2b55d8705fe4b629f2e5dcaa1fcc0ea2cc022d392b11b91bcb07fcb70dfcb6512a91354c03b40d01935ae13bdf418312bfa7acc3c5843fbf7aa610da1a0b7bde32c1bfafde23dacbae04076281aecf57fc154f70ebb431104017cf8da95a03ebf454fb38841c2dc47dbb494c4b8972da1979e426fa65650c3f6c2347731ed991d32a9c756de094ae7379c0bfb2d23e3ffe68f969398890ad8a8c41ec7531dde791580adeb2fccc3c75140287e842889d908ea03e8562d023ae9359a69e7973884fcafa5de29ef3a6d76e8de7c8997c6f8c6892f5641883764c4c1bc684e03040d7c4bc01d3cf4c9ee4a99428b47b1462e7b8064d1189b32e168a41cc4dbc49e6806dedfbda24974383b9ddea990dfbfefa6261bef7ba1ed1e3b7a9790fb05681942899c38ce2b5318ab6897e73b879686fcff163ffbef31c970ac78af1bb899ea07f9b793719ed5d86a5dd4481ef6b6dd31aebeb62dd92e6fa1b238f21573a7d8c93acf231783d99fc09f9c81577c3cd2da26c37a5715fac9a47b57d9116112bfee29e702d098f17f4781830e768dceb3a3bd9e07ff9115a6bf579212f670a05f432a87958afdfdd940af8e01ce37b89d03521be059cfbb1d25fefcd37c05a4de9a7df03dfad316efb2d16702ddf2d1ed9719fc67b34692374c7d3a95eefc3edcd9d9f6953a33363a07bcbe3173a86b5f5336d36dc6316fb505f6742159033c77c638c687e5e2ce049de14b631649d90dcf7ad7fe42e5ffeb1c676880b2b95162e2b4fcf83d5c2faf08aec5b343cc7a3a9ce758d81fb2dc7d4873be9ace1636f5dd5f3f12471eb4c9edc6ed222cadc095e533b53312c234fed59b34efe1a3f2f04763547902f6725de6448ec2fb0fe59a98b6f4c7e114351e05fe3bd9c52a6d64bfc4097a7ee9e67cd0dfc0b8e29aa77fdb4fefd32b62e97ff0547f2101fabf84e027965c803e3fdefebea065fb453e7857e8f8b216bf603a227a55303aff0e84d3ec26484cc6194ef95c957f864196af575de04dd8365e41af0a61adbe6732bc9af1673c69f9badceb2c3e99795f6d5c7805e3cf32b7aa693fc8c4f16ad7d5ba3e3fde21678e626594ef8cc9bd2458567c7ef57edc452975667183f179a3b8fee19f984dea4d97b917f57e77f32db18666e49dd960379ec9459679fb5349a160ce09168f110817f954c39dba9b40f9c12dae7871de6e192b1d0de7b3198d9b78d7b064a91b1bde540fe5e1972262eb6e8df54302276a57d26c2b1ceb3e9371b7254fe4534e93bbe6d34c662495f71ce5761fbfc5352b2496d462ffbfbc51d4f257ed6f8d1f82c7bf303b092daac58b679b2c0e1d870573438f7cc56b31cb03161737ee4dffbcebce18dab3fa75d0ef287a7eeb5b3268fddbcbf0a532f4fa2b4e927d10eff9263816b94c3f14a5b174b6d3d5242b7586adbb477ee2a67aeebaa31a2e452986c54ffd2bfde16780a294ad4b09d6ee264f540c961442d356b2087112d24c31478662779ba42e731f9542ac9eb5b1fbfb8feddf356d71f8aeadd38435ed2d675c139ae4b3912e6e2827fb81e256d9deecdbbb9d43b5fadcf3d26f4c5e7e56e72e8e0c156ccf842685e22dbf0ee0ca83e4f597b1dad5f077b5ceb6befabee1d11d09e7876b9cad7e1f488e78411bf50682b5132cb544a3e88fb7bc8efb9c4c8f86bd1e3b3c6757bc87992765d4ae2524b800bf2629774d1b976314add9abbf77e9d3535c8873d70c8b74eda7eb3bd9a93f175cb6b7fefdbb6daa918f789f6ee46df59d4586a097cbfd19b4153efc660e3f5cf8d6bbff307711ad9234a057c887d7927a46e4b6638b6b5f3452ca95c34f9ef95b9fee868ebdc8dcb28b69939b533edd848f4c27991f3adb0a68910d5fd25a3e566eb7de9b3d8d8e8aca045b6a045f1d6d02876a5cdaec041d27947fa106ad4f7be71171ba6e6d78a3326c558964a975ef5affd1a2bf4df12754827cc8b2533fc5e69b3d49b9fd395c13a4e4c435cb7d3a9ff88f52473e64dbe8269b9a10edd5e91c5f63e77a79fbde543bd9eed53ee9b0af344f4aa61ed6e64df9ff293804f337cc1a703fe078a9f7cbbc435468f9b1f85c08e6b1e1bc8f5e1bf13e1c8377590eafa97ba468db5a680ffa1d17e131f6003eb31af387c8a2e874f0c1a801d5ef302f351e17a4b334e68bd373c8ffb45ee984d4d066c516a313105391683066ee49db919efe767afd551f2abcfd7b5edc87686927a8b7c6cd0045f8e597d3e79c91353e9cee557cbd8483b6314419f0fa3f80e372ff800e77b1c8ef5ed198c6517a3cd45273ede9c6c136c69c973b38393b017c95442cbc8417f1bb85520dfbc39016f49735f5fd90eec309ba0dfb98c72b20dda97822f8138a6e690427b01701bb9033ddc4df079dda2c518bb03fd063687d32329e02b1e9b867fe8eca258c5d8b4e79ea23959718d1363cf07e89d34fe68e830f46d67e4b13d4336ad7e3f0d1f7640bc8f409a9fbdb6c606dc00a9c3e911c646d3be3bedef5558a31cd66c487fd4e3be3c9ea15ee99a7aec244a0cffe71adeaa77a84941bd5b00fecc3f039a7db4df38f1b95a031bcf18e03502fc2e89ed3b5c1e5886f24d7c4eed71ac4dadb4cfccd61ef7ed2f076b649b29b0cdddfc0e65929c448b0ecefbb2affd01625cd4668eaf5f8eb768d2a5146de69b68ae6bf3759dcb2bdb1ee7a7e3fad1e4b91fe3c4dadcb796522b53be6c663ab7d675599fe4718f93e0666ae7c04d747f57d6b971fedd9b76b165f29cea8d9de2c83af561018760f6d1e413a66907c3bb530f813e10ae30cf8ffad94af402af0df2bebfd01e79d8d66ba57efe1ebebecaa7b1a0354cd5f1fd1a38993b9f71db549accd17e0dfad60fec03d1a3d7e7225590dd7c600f949b6d28a99dc4b14daef105eed3e6174ab8e3f4b365ca0791630bbcf6e38bcde4313fafbe53bfea9e9894e75a7d9bc6bee877c75df800e3327963fb586bae5f7feee36e06685f88efdec9b6c35305dcb560878ced5cd11a3bf47942efc552bfca9d313a3adc16f743fcf81ce0cb367d1c52b73702eec12dfc8f86db18f7d337eb6299e82cf4d57670ebcadff6e2f4f895316fc57e9153bc4653684fe5d1ffff9a03a1a34973d74f254e67098afb1ff4fe9fe4c0a644356f711170fc1a8eaffa0cde6df3577c5dffb5a7a593376978d216eb54acf9f700533f237574fe4bdee446f49140dde8791eeca9eee29b37adeb855f7d8cddabbcf1635e9629ffe6147e817c79e0d528fc14fed652f84c086cf8176aea8b3cad3e4b9bcf7e314f801bf03f604c94304aa5443959a6f0e54dea719b314dff8d66dda03f5215eaf8f1a0b65afe81b490d99d3a2a6d739d59c0c3e8619ecd08e79845ed7c15e7756ee816d4efbdcff105efa5e1f73f63dda6e336ab35513afa436a8ef9f3a6a7db1efcc43bbe305cdf80fd6656f91515377e93a742cf0a9c87916d1ec83ed47f8097ab7e77838677a3d54e059dd3932f2fa877bc27f81789037efefa7cdfd8c7ab30d80b92bb63737592ed3be80dffb28757d6664d6d5f2ed71dde6c7837b8f7b1c670164a29a7123703cc8aa81e8236f6f7b696e106af39fde0fa9955d47a4b754c69b14e8862d32e97c972b03dd941eea379bd53fd44e26698bb24b1537bd0e9f5acc720deab5156f590569caa37e21e5d34a70053ff8bbe34baff2c7731b5998f9faeff0a5f81d63ed6f2fafb5c728b01f4626fc60e9cb8c500d69cb45837b7894f3b3997077547f46e9b1eb74e4ef0d89e5b35957907df7817673ec54c3de20169ae67994ab933bc0b60a892860ba4eeef3c009feee40bd70990afb1d02f64ff13b1d7d6e78478f0e95e39a9b04538df7e771f6ddfc82cafe26daaea7b68f2597c320fac82c77d0e8b8da3e814cb271be0c855549eeceb059d89ee78c74bcba063882df5ec66b69a36bedcc13c6f815badcea5c8da67d30fc1c7e3406cf405313fcc9af17d3702edc59313c4deca18625f2afccce550a614cd1a2ca751005ac12fe69096cccf76c585fb40dfafab3fa79f29e0055047ff3a4c7c11277c20769fa75e3b1f04677c60194288dea1cdf8e92e39678e31baba8b79e10ed68174043d210a9feb65dc0b7bd8cadc40ec0fef84d9c476e29d7646faed70f4c5197ce5ee11e7d1eef235b3e6ffbe3b50529b19420dd40dd0fe945e77c6f0c4831f4e62cedab981fbb4d8bbf9f3b3b6b58cf62d1afbf2322b6be7f059ff4b856527e68405f87c276ce6574723c460144f54e3866fcc09f204e31de6806d77e27362aad8c77683f8c305acd3b0c3ade74cd17cbb8d3b7d381334ef9a7ae9455a288e33a7a03e6be9e7d260720fc5a4c6007d4e7bc8aeb5fbdbfc7fd2cb8c7f931758533fa7019782d77053a3b070ddb9de37c107168d19dbebd55076c6a88e6de23f9c12bb8b9a7759a96ad0eb0f7e01f746ed906f8ffc7c834e9da48e2136b1177cc5ced14edd84bd547c4610d7799c1f03fe8cbb1d6cec7b1e1c432f5d667eb4d52fdf49d607cbd84498eb79e43b93af936de437fba867fcc2f3dd6484f6cd12e20846cf5c46aff64399359861a54739ce3c352fcdaa6e2472bd67e4a0ae8eb107eae12a98f2d52e9e739c5af439118bb3b757a35444eb1ed9008d0a5463c458a6905ac688e2e776ea30b98fdf87c0d631a305fc54c866285b87febaba532a97d03bff4ffd2b7f51abd5cf1ef058b46b123824dce0d07fce86dfa1ca39c4dd7e18a2de309db312f0f8ff8eff4199f2f9aff98a9b7ac1fa8d0ff8f7d7fb3f3926079ae8852f5b0c69e58b99fc1be403486c70d9620f7f89e5aef0ba34b51a74f81cdef8f85cc7bf0712e36baafc3bf91d607ce754b03c6e13e1b8053b456273574c84eb40c5b3e7fe816ba277af38aeb59ed44a1ee6d47f8a2b9b3a67134b123ab835cecc9b58498f3b116acdbdbee2f8856f77178774facd9f70e4f4f08684be70c34595ee517c51fba17f5307d26a4de451ea12b9a6652038cdf8cef0e726f66f2e95f61270e2ae13f6ea70baefdc6be4b47b7e7d4c9f1bb13a07cc9fe735b103c1f9c942dc632a4b340fb481a013b8875fac3ff2f7c027f6225e6ff8cb1ede731d5b3e9fab8f79e0bc0595d968ace98ae3ea452df0315f57f30cbf7bf60e474bf35bd536bcf99fc5e7f3df11eb7b9be8c78de9df1ebdff7a8ebe1887c7dc58936eef48755fb307980ff25cc49cdcf81ea77be0df1943ac598acf816bc62fe6a3c1d4fe5f555f8e29e04cc6c7e5e3bb5c69b5b7d6cf4ce8ddfc877c4ff3ac6b3789cfc817f01e70fbddcd5d8da690ad79ba9616b7a0c93b77af37de4f9ecd45e011a9b9d67ae7cb495faa99f72d67e41a3d43851912d8864bb7aac938c161a84ca28663f269eee1de2720fbf68a7a7fa872799d7ec9b65633f21d63cbf271fca56df339e1d70584fe85ef32ec85c01e9d2d53f826304ac88f292dc38b5775ade328c496a95c816f25f06927395f9c8177e117d5e74114886a76ea9cafe00f7c50d70da13fb0838710b553c00751463ccf0dcd6de81d33946f7d21f816b37dfbe1fbaed679d2e56f156b8dcc23fecd4af5499e91b4fe1cf8ab8f74d1e34e6de39a0a3b2b56f3bfdf83eb06ddfc429fe3cf0dfaba75c4def5620f26dee9371f9e0e7c486a276435fea4b08d79e930a3f17ec29f3c63f4ed24ec00cd19fcf930e5839b0fd842e2fd00464ccd583ef80cc40ab3e418f362d7d3ed1755c0f4767ba48effc5afdddef989b5dec61fa6a92bbf1b0c70158f449dcadadaf11a3e57c29af7dfba296aec756a08f1197f8ef50918ac710dbf19d6bf59aab1b7577fc3bd64b5dc4be16b7fbce607016ed00771bfadd145972795b4dded7dc09e62e8c84611df7bc01960999bab1bfd74ecbcfc638cc2d6268f604fb0cd7cdcd9c316c2f5cf22aebefbbd8e95327da863f54cdb8bf90b3b174bc9accf458073c953fa83e0d3877af10eb815d8e28f967eecd5fcea72faa5af35ba57f3d0e1d8b2abc77c801ec84d1267f79fd3151fbfd0c18f3ee2b0ecf2ac039f09b5322baeefb29bbb9227f965a567015c53e5333e123287012d27ce1908e70d37a72c55f096cc76ec046daec156dbfe7d341f0d46f796031ef312105c9adefc5c985acda7e9557d010daf109a9bc0f3ec3068cf6a38cdc8de01ea95ae648777b3e973038e64960ff85a53a0c737f5828fb3c93f1d823f019fbecaad8ad34f884157cc531f4823f6f214c7574d7e8692267c206a69271fba8caaeb2f7ee4c625ecf36f63db968749541b5deda104fababfaaa1dde5d51fdc23d81a889b491df069a3ef55f1ce6c5ff476fa178c336af6628cfb0f7cf47e896720f91baa9af4135f0eb40426153fda964d707f0f7fda0146a3e6958c48fecdb4d6c440f1eb133eaa931342ff42d303faabf30e9e70c03173cc9dc8b0172fd10b6fd2d4b40f1e373eb8682c8c18b077fc026b4bf22ffae8aab551f5b5cab7a67617ae876d7da8d55555caa8ae0f15c896d6baaaf86f0bfd3d044ebc298dec90b0d1d9f53662b71af4387ff6ed232b7187e77331cc4b6b20a4ee62fd0f68e215fc582af86ffea8846e12dfbce930d883eee6839ac080676d8e0dbdaaefc7e6d8b365c41721b0c1775a1b0ac627cedab5bc5b6cce0e67a70e685076ec0f5b716665b6768e56e63dc772cdd361abfe09e7bba1bf05db6fe0f7ac7897ccf5c5e5e6d01ba3573650aad73391a3f0a634ee51e27416b03bc1e1646b74284e84d43e0ac89742d740fed9c881be98b874b9dcffa3518193b01764a72d75e4bb0be0f399426fc8c48f911f241d95c22a69a20692fa5e32afc7fa1df9b3e202b4e7401fb973afc9e66a55f96d511dc1be254ee05989e7172287512a6ef811d7e6eb79c01a425fd34089abdf715d7e9821eb91d8cb803a2f8b38b28d3cf6b8edc1eef1bc78faf96292184c6e7d124deac3a5cf99a961ee13d216dde931dcd5f8481b7a9f335a99eb3771f1d9d564805e13a811638cc824bff5f50bf0bb1c39ce9c62217716821e4ab70751632fcb647c7282fc45cea96b6be5b6273d97fb7c0f3f730791bd3194c43dce95f6fd28e467fce2de725925ee0d732617e244807be1835f73535c01c7bcb89d2a6d969f7841fb3e5f81f6fabff20d8a86df99417eb8a7816668e9727ab833f4bfbaf75548d132f25d1ff813b57f65d0edfc151fc45d7f06546a0c74af6fe7eadffc61ecab539e72f4ee6475867bdae6d4a9c9e505a085797d990bff4117f72ecfd9d6c1e2a7fdac6a7e59a99d1a8d6a1bf3d09b205f09ed679f6165d73ff8859dba4c4cf19c4f798bcf77a96013cb50622b61afbb6274dc999b9367f0979d31bea2d8df1aacafc8bebb055b9d8b8e6c03b4920a29f129c7b8bded889ac74ae5bfbd495eacb4cf0f37cce3e5007af82f6249054282ee5f714c8d0a4446bf3cd193ea6008dd20cb4d35fa7002147bded78b883a11f473a1b1c5df8fae4e409f8931896cd33ad8c688d999c2d54960bf3aa0f1edd69e8492e7e6177bf2e5dbdc2685799ccc339ef36367f19578c6ede031f3c241bede40bed431ebaed24ea9b1530e9abb55bd67a78e2e9641c72b55109ca3edbb49eca36beb497c75b839f68f823c9512bb803a37bdb96e39f6b6d266d9ee2ff00ef7b83f029f52ca2d776f29972d76c81df6f4d8e8ae4ee0eca2cfe3f566bbd9af75415debf17e4bebebed8c55f5e9b890b5f540991e4a255c0f96e1eca694f24099ce8672a8dce1c2b1d64b9c888bed49d490bdebf4aca896313a127807182b878ba34a4f21e2b90a0bc2d53da01d2c832fc51b7b3bd367263557b7d1dc366945dfcebf56db18ed256b9c3f98eba9735c0fab7c3ee8d04a31bbaff699bd59d27e774f399dda3cfa1a7aab2a6c838ffb17d0be577378d268dfa7ba9c02b39e06ccec64a9a3ada17fcd3773f66b1b0b5f86ce6abafeb5d66861bb5fe40ff9d12cf58e1fcd6fe602e6a17d92c7acfb241fe732ed1ef6b3ed998c139ec36bb4e1075c7430aed48ed36b7c7bb23385d29b10d8ba09d96f343bb80da68ce4c66bf4bd28b2ffce2a5a6e5a3cd73b9c6421c1b7f05257a7ff6c5d3c8ddb70379358e35a3fa5e60e06cc6a35ae4241dcfbb183a921b55a705d682bd07662c76e602580ffefe4c5f13c6e72c2cc432e09fc6c689f3ac694bdade77c7e594dbfc6fbfee7d3fcf27a3df14787b1819b58c0fd0357cfc4985e2b616927d9943596d85647c11f73136b35be8e1b7e8b0b61bc9f7ef6fb6cefaf51f3e3beb886add1648efc42f08c418fc98a8173eb3b63442d672d66bbe92786b5c8bf3d5ecfa01184dfb7115fbca95ff76d613ea620fa78b5fe56055adfdb1f6c424aadcccfbbbe676f4135d83c37889e70377dc58fde37b2e7cd1ae9e8c00c1321e00183e41cf3318a9df9a34ed9e121a8d6bd6f410db25dab22e8723cef87160aa1d23b847b3b38a65e367a528bdae6d6f7fe451ceba64d3f95f635062d586e083d5522e639a6d0bc15d5264681ef974ce4a3f70a3928e01850b29da1c4e2f433dba9519717bfd1f18aee7445aabe1d9faca7800d6ee208eab6e70e68fe367d0e4b821f14f9fecd7da2316a8ef3f17a62d8db1f747dcc8b71c1b61cf7b2fd7990ef2331d478fec5752f782224687de27becdbf2eeb1c2783f11eafb051e79bbcdd5b4363d9891da7e0d6e15f9eb6e48c72d2f42e403bea180e74897c7669ec21e518f1baeff6d2bbe022b01dd9164e37bdc8ccc8fdcf0fc1c4596b9f14593aee28ef32b9c22f7dbbd409a7cd5e395f56da234a939936f07e831c0ebfbec70f1b7dde97f88d95a538af4376c02f7fe700c177ddd8d4efee7c81fa197fae1ded0d3d63a56dc1dd46afad9d7f2f09dc423d75db933d3980f1e8d4d83e3bcd886e77b5cccd8aafb8047b55907302fa5663e6fc7f2747c5b865f63e08857a38c375ef86e931ea7f4f47c5971db0fb138a37d04b4f7e46907d7dfe550eff6b2b2c49aebdc07312f3fbc295d02f74c9797ad8e152e2856a87a3f0b53a30a45db26b68efe7e7a1fa7565365fd0fd685edeef9db647eb11922af676e28dba06fdee48b728a2faccbc6402f513d170f0e7ae78c5e20df06f4468cf97067d0b4a37ec1fb5b069fb73f13fedb530f6927df389d31a29a053c278c3c0ec7afadb6d4d7b877ef11a939846d78ed33f4f2b52d7f02ceabfe85eff1b49ede5f6f495cea491c7b8595884fbf7b56e7ef1edfbbf78e2fb12474fef81eae01d9663ec01c904d8eaaf7ec984b66d8fac2d3cfee5c5267f9b2cc5a9e37b0ddd0eb1658a612ee8c285826f8ff38f61ae67c98e2beb604ddd7bcf8a3f204f7dbb0e27e13688fb386cdb1680f0ea8f6ff0d5e246d75d0a1c6476053abf35803b920ce13ba055574ce1bce1887db36f7e9999b44d2aacf1afeb9cf424c9a7b3bd9e681f8eeeb029c09dab97e2e741e469910cf35b34ede246afb1b999a636afd5e615d9f3e87ad5127cc05165d3c8e959d8117bb11dceb495473e06deff1ec8fee7357942f57fa199ddc9c998f6ded76c318dc2d0b3ae9daa8aa6dd7b6a4dd1ff9f0fe1cc84f72c2fe6f803fa9e12da99f5b54913f4dddda3d8f0f70adc187315c699fe96a4a9d6c6df8cf2aa46ec4dc6e7af7bd453e86b9dbf865d987682a831d5157c3efc18fff74de41ddf792577e52fbbe9713fe9d9877e765e777c387bf6be6773b0f6635aea48a13abfb004cea45569b6b043b63e4bbc7ce6f85c7bf7d3097b8d3e3e73094520edae7b006f299fcbfc759b992e4716f4dd59fb5d8bb3a1ec47e21d94b0a5a162fb97f62fdb26346578f6974c0a197b8e69af5a6c867cf023ef8f55c661ee461295c73c5da3fa0590bbdfe236f650a5dbfa4e8e0b2f1de5561851eccef73b5469ec5066f22e454f30b9aa7cb64f88f1cce28a55c0fe5d2a29492bdac343e57a62eb59cca8c3275df9df076268f5922bbcb0d59a973dc2195b8212b32c36c672a4b6b3b3c3941b57e8ce84d9ea6c4bd52395e439fd5fa6a7baa4406c506c37f3a9f61df85f031a97cc974ecfc59eef0670ec772cd1d6fb43910499b7d80bf6fbcca6d601b62557ac022b7c5bd0adc8cc060f1900322f613c0c0b7399df159d6d24197e331ea6bb576e23bc27f8e8510fc98ec55ccf9a2a6d98b617b7d49d0c7e6afec904d5774270eeef114359c0d6dbdbb8ab15e9ddfe1e6a5377bfe5be40f48a08fdf8ecb0b9f1af22da40f4dc401b52f0dbe7e13a3045d9fdeebaf9d4a47415a6c5919f41f897e3e6e46faa4b84f8ee06147be118ae7f05e4cb12bd52f567ad3bf5888ea8872a8fcea317ab1067b754891efd3eed714bbc2b11b61c73a9f9d65cdce6c8cfd443e51d5ab47f8c9c77cdcf19b83cebaa7571a9fb9c5989583dc974aaa90b8e175a575ed8955f4fb5b3fb19e81c6629b745c63dd8339f019e54a24cc456efbafa7c62cba9f9ddaf60ea23585395bc6ac139eafab85fce1001f1e5a87328a3daea286fc2ff964abb733e81c1816b20757c9b0d22adeaa3f47f6205919e354e2c6673bc8e0be2cc237b48394de1b7ae632db33aea7c06fae9246c3f924b8a7395bf171629e9ce0ecaf8e72656be4b355f17d2f9931daab3f9c823a77fb7f6e2caf7d66ee94ba2d079f634b3bdfc4224bb146261abbf1b73b81fc4408f661826c32facdace22e38c33839a48ed7806edf53776f50baf9bb21ab55b1a7c80dd3fde276abf2276967ae1ac30f371ca338bec6579f909d5a2560738b9511a5cb23cfee6acdd192b44f604faf82c6fb680f78b5fea037c5c8537bf285fcc56e4e361c5da592afae37becadd188d4663eb6979b12cb26faf9e330b9975b979e13230b74eb63a2a3d03d962fe2407292d4df9544231118e8f53971af95ae0979df8403b530633fcf6748a750704075b775ccf9d716df34513713e03fefe763fa2216f8373705dfb6112f6a383ed0feefae43ab82c836e7b0ac978046265635b71ec1c205ef5801f725eac1936b2b7730a727144fc6a9bd409340127f8593af1fdec46e40f891acc7c4c7ede5dffc1d367e2aafc40f55d673c874fc7f3418f49b7170f733c012f39b2bbd333bd5aac095d34cb1751dcaf518588fc782dfb1607dbd40d298ccfc17dec5387d9c46b737df2d4285d85c321e665da168a66654ea35185f6ea71cd615490e3e80ca85fbff7dd232de36a9f1702fb52e9bf34fa6f6e50f587427e9de8ed38f217fb285c9d2dc4f70d1f5893cfc4fb62ef9d76f8ee59cd9853bbc9e8bc03ec7dcb8b789713010dbb88b5b573bae2861f4d8e13f7f165a073676e9c9d4e657658e31e6eac550e0bb98cde94691aae42be90cb71b94ce47f642dca5725ff2e576b51646e6388a39b38f94672c284abe9acc0bea1c55a45d4f0b8543ce8c5329c15cb29c58ad3d9480eac9353221f38fa96752ac5b1db8c15a7722e2472ba9ade98fdd42a85649caec259a114d579d5bbf396cb648cfce7542ce730bff0df82274dc9ebd957740d59e3872b8d3ac95a540847cc7d6bc1ffb789554463f40cfbc981910bfb2a6ab7b172bca1bf69511b16f2743dc0c7df6845e347ca311f5bda90564a99928ba8dabb66e992110adb987fd75cefca34bdc2b8ab596e422f19fc5d98e07fc0dfa5a9de72393cb02bf5902f353e71d0f93ae365d3f7f72f3fbaff2179ffb2268c45348ec76d3ba647395d8516ad68322d04b6bf9ace72595be7b2c637cfb0379a5e886455f8c94a83e34b345f64357ab7c321a368db52c17a88e7ea7b465a34fc6109ce277c26b2f659c8836acc8228b3438a5642b99017b75c9ef2a5905829f93bd06b2de98ce4c97d865fefed69f16a4a6b842f5de3a8aa35d8da112999df5c2e1fb51c1639d5ea7353011f603c02acafe9b9803ca731fc6efdbdbb7ef046bfaeceed01673493a716b33db9c89e96b426aa642d7304f8b1bdb16d7a3756c62cb3d591e670eca0fdac57a32fce15df8c75f2a6d48db471963ac2f9c9e2f05df7e9a8db91b69de9537dce2a6bdddfafe378bbd16556d13e5fc6182bb3cb65ffbca6cf522feae87d2d24d008ad752e1fd5e364728c16eb8b49b338c6a0d9fdca3cefcd01aeab99f4f8552c92d9097bede3b65b5bbe068d1165ca5771b47d758a43fa2aaef226e0abf8f85a5652f56e5edc811e58cdbddf72b1570b7dd9db0ebd3e67c5327db9b2eb2ce488b9d9c5e5d86bc5cfca2ec106e4be14b3be67788ff8fc3b9c4d2f6b916a4eedd5dcafb87a1ff18490e70a5bed4cfc1dfcf6f9fb4636c4efeb2f11ef8c7df5ceac97c7de028fd4bf216b33f3bab7ca4a6a7e0ee958610f4c391192b973ffb9e2ad2a9d96d79a5fb3ecc13933144b3a0b3d5e62bed047fc4c37e0d6e366357ff34f63fdb017bfc30511609ce86a4add5603b9aad3a5a4e6d665553cce6db8215b56da9de83e2b8e013e5d1eabf3a8155f30376c3f33a9468fb3d6cb6e9f47d19da3e2db2f7bea9a7e704a34a9acb14fb47e71997962eb4ae60cdcbff97d5bf378de77e88b6d1fea783f99a3f540d44aaa6700aec379613fd20cc0d8f16edd78b146f198dfabbbc4fdfa51afb6f94570479175f3ba96db60283cac8bf1ac4e71e9720ff164ae22db69d44de2c61d5f11e60ef882631477a410932fc0ff43f3243698d813cdf3a5f609dd107f56fb2fc4fe7b592d78d09e71c3fcb22a67eff2a27e172d86e0de1e35f96c92a3f841ce34eed62492d739edeaffbecb28e9aecd4767d0c313ce9adf5b497cb14c6144d46a9a3cf4ffb6ae32bb91b59056bb0738395a5de8473cb8789e5d7fe2a3170a01f3033eac030b31cfcd2f754d0d380467d5fc3cca55adf970ebc52c2989d7abf9e5e5b68ed6c97f611d165cffb561ae55f55f228e03dde9208e45f0eb471ee19bd5396fbfd29e0c7563545a861d43bcc945e85c1d4ee3bb98b9eed7d2f0b9970fd7e7f6ff720c69f41e5dd08fc9d3ca47a5090ded16af7d84b5d1c543196bf45997979b217a7c41b778d6e385520696f9992be163cece7e5d0af324ad633998b1f2e4879a769d2f5d807fd1c5f37034ed2c36a9cbe5318cc374c6480668c606628f3b499e9ee3d562fd61ab192b073143d47f62b19c75703a3b2e2e613d747d83d263e637b9e49ff5e7756b72d8cfa7046dfd2077d5c54ef0516da3710dbe87c5387b464eedccafcc56bfae76f059ca011deccc0a6f4662a8511ca0e5d492d97eafb475ea056d6dc956b3525473e2b9b35ce2b6df72d0d124acb4001ebe5f4679c275fbecfd2e27ffebf76b51bf79bfcb49fffdbaa9b4b09a3a9e58a2d825637ae351a0f150d42823c6ed5b86e3d7bf991f4ffa988971d2bec655df7163337a391b6a55f0c13284bf1f733952757df47603eda163d4c473d5f391bf4b1fdc67ec9abaef3cd1b8e48d6efdc89b442ff3aead1ee2bafbee6a9bd4e53f85b103fbbec8c718ef40f8372aa1697f7fdfa9837d5aeaae57ab8ad1f880c71c8b51bcdcd25ff335bdd96bdbb9655282adcf74ad7f1fed5a1dde6afc1eee9127702f13bcd74bd3cfcc0980030d34f9a562f4211fa9ab5d44975dc2a64e7008f809dff05337ef2b1902ae5a2ca9809f0c2f52f0097d5d7c9837989caa7fe11f1edbe37efffc33dfaf5b677de003bed68d798afdaaefabc26076f9b3b09e0a75436ba78b73c53d8aab01b1cf869f5d2d35b3cac16bbdcf0dc849a50ff00b31c6030fff69f7597fbc5ff06379918f77f7d88997b6c619e8156f31b6bf3c87eb7fb55feb864376a75a89ad0d5987c088c8d89617ab90eed576013ff94f17b333c3fe085a8b98c7fe999f7c5da97e5ae33024159dbffa7bb165456ef8cf2a1cb2f2243ac335f0df99dbd78c596ca17fb2b22b55afad5f603e500bf951f567159ef5866c65b65ac8c85fc970fd0bf8db90af9d184c8e7cedebca80cf32affaec81af7d5d2db6e06b7b5a7e257ced7e1d17f31c9b3fc594544e6848637ed5199b101a038fce5dd5881f6b9a111a970d161f7f77f3e5497cbfcf25b9ef0e36427ded273a846d8cdbc3f24b9359fee83eb1664b3ff66c6b210ffcd7625563b282fc0ed72355fb5dab0146ae25646f9ef643142b0378e97beb26c7be83919776cde1602adcce18a1fb060c41670f68b9f36a5b513fe389a87b13d8eadba1c6e71be8efea394c35aa7897c70787632f1897a8d02eee89c37c9e8c3e5e699f19793f4e10bd89dc083e27c70deade0bbec52aa9d17b832169728431eec36d359d1a6c86fd00b355e1adaabc3fb20fd06f5affe61f19634cc01e01b60b305e7f67977ab8cd0a5ffe75f5cc4db9333631cf35fe21b261171bfb3f05c6475375fcd9e56d2c295fee62b58ae7582daab73ea29f70816dad4aedf5b33458aa796931714a1e6bf67b5ffe0eb325d7be5a6d3b1a6c58322f6dcda2c86b59c1936ba1d8b9e4db38d9504a49e33b7173856de8c4f3f567adaf7cb81bb31e76ebfa5fb15b2ed4ac310ed17d8cddba62ecd6035bc3b1e29662974ffb3cf171ef6dccc1673637a72c2d7d8893a9ea021d8e2529667df7288cf7d5fb406b6a5fd524b62545c9d388e9f001cfd6f77c892a1f2c7f5f334c57c6f663a7e51714bbefd4186a14cf6a26e2745628854d41de88d4ee3b76eac4c203dc66c087e74bab3b1f23bb4fd8dd2e37ea4ea3e325138d9d30fb16992875838c6d6a2a90b3a6a74dbd5cf57fba9faf47d8bbd647cd4ebca18ff7dc762c63bc670cbec2e4e0631b75bbed17f96575e4d3ca172bba315284fde312ddf3b8bae771ba5333761ba07b633bf7b6ebd6d4a7c4bdb5e75cf00ffc8bfa3ad40d5dc725b85c9c0262eff4e5bb5b088e4353df72b865c4a3e03805ee916df7f26efd7ba3b6fb3dc6206d911f81c6e2c79e053e6113fba8c4dea4d59cf18cf8e24d6a2ee7f5b7ad8d7ee83d13b6ee31065e7a8f1b1f2c43096d5329794e88ff18ecc59e7c052df61ecfa33ef64b2bfa7cb6ff29163bf249b3a6096dff677119817357dd9a2be59f1dec5f79df76f59ef9597f615cf21c4b7b93afabddee55750fc9451cf0ff9079bdd73991ca376fcf57c03da83d5cc97cddf1a5d01e5cc52855ddf78cf33b9d757b9f8326319a4e70ebe6a3cd8de304e7d4d4a893ad5a85a26dc7abe9e15f71c1bfedb4532e19512a0286bafb59e73e17a767f7d9d1041499edb7acf66c9ff689d62de9f777b021d2749d821d2ab11df2e6e78bc8c4deca80b86128a2d88589dee582467e4ca1687a1743f264fe39c1b9581d497ceb0f3dcdc86f9eb47d912ef839db3a8ebcfcb81e7ffdceb7c458a2b94a6267f2f10ef787213f1fb8cba4a357ec4c645b5a9cab1cca9932893227c8ba3dcdf3e8b7e71e3e3bb7a2f1d9129f7bb837ee726980a779ad9df7289778387953fa9ffd719daea69f6fc836ad4c3eadb0c91460a48feb7fb00fbc66dd20ca446ecbf6b8418ae571f48fad4663793a06ce3b3788c6d887857e84775b1b1595666a01f1f7628df71a730df5c1e73d57d1a9892b8e0a6d250db628fbb90fbda39389f6fab3373d5fda5ef496e3a4bba78d511c745d71115aa757d118a1bd03fbf5f4f92a0e361e591b7a905342316da46fe38b37cbe74fe23d6a3f45f602c72168afadf79c5efcd0b131f53b34061bc03ac9c867d33ee13e57c049e5a722e0a7ad7459803f531dbffe7668eadf5dc74fb8f7f35adceb66b279981b8a3fbcc58d9527798cef7f34decfaa75d3cb5175c614ede978fc28b1a0ceb64e653b8dca97ccb68a75a27f571a4f2b41f481751c2167ec7893ec2c19ba27265157d7f12e972cc496b101fdd2e543bdc5165fbe5fe473f41ee486d3b3e977c9ea7b341ff8c05d4cf0a3f74ae606f46a5c6ec5ddb854d7c5dc31cd73e6a6761b2f1fe43afa58e4ffc57557d3dbb073edd7cf5bcabf7f5eeafeba1567018c6bdecc4759a7c6aba93f6ee64529a0fbca9520fa96356ba0946e216bd6bfedf78af772ad4de5621ddde7433ab915b35a67d3f5dd3a93a6334629dd811cce18f1588dcd9cfa167bef48d6ecfe3d9363599aea831c109e9f685dc9ff57ebca54f374a5cdb08f5c64df4e99435e75a79e58f07bb50c6289e6de916fde5957fc3f2b15ec472e8780053ab90155fb333767e09e64b43f25c0e1513c7b17680d3e7a0f384edb80bdb34d78d64bbd16edfbb5d8c5761a5bb01752ad095cd91137a63edc10e7d9c9e7443141efb88eed73ca218b6dceac58e2b8e72a69952f74fcba7ac5a190a6877f618fe1d817ef733dfce5bac81fac0b34ce49f3feb4f159564f2739dcd292d9ce3f598dde7fb44b3334ff678c367b38ff5b9b17dc8f73d337fa748d92f524b9504a6b2824c33765ca8f9469749335979117f965998c5e8dd353dbd5ae49fe7eef1b90dae9b5adeada3182afa0944397594eeccbaad2bb96a7b381127e8d9d307dba4f579ad78fd6e5c37d4399bcda377e61df8ec431343a86a77eb8b7477bf1dfdf1bb25de186b89ff9fdfdc4fd7b7e6e7337497eb5cc87f6ecd7f7b6abced5e6e06ebe3cb9157271a31ee5bcf15cb73387993fb431bfb6f55c84cf3569f379bc36abfcf7a7f67be60cf4c0e1f45f3ff3f2f7cf4c836d7dfacc9bab670899bdfdf5fe3f7cb0ffa7f839d66d8e7132cba5e916d9ba47b55142d7fdd9be9517a2999dbc29f5ed117b17b2f16e108ff7b3712f9f99dfd9582788ceb27abbd5f8e3daced798986a2ec635bf8137851cd3d809fa7e23b611b67abe9a1a4d494c94205b4ad46763917964a370ac85fdf547e35bf57c143eb552cf54ebb3c31e5688663ed6fa359b19cef5b91c3b10a7286e4b2fa24ae5c02fd2c423c333f6dfab1eb24573ff29f1ac67c988fe5969108f5d09df1eaf5966fbbdd329d69bb05721e46985ec9b51cf8f6c1ea9d5ff60efead6a2faefb5ff3e65f506bd9af2247a89a5de2f6e28ceac720d68fd629ee4c62765740fdea36a53808f785aefd2c1c79735fba91f45ea938a8335e96bac3ab9fe299f29e19696cb9fef7f55bddfce7d36ef0bf98534b50a87ff2c27d1bb3e21e7025adb11e0407e78174ff6c7bf7c1fc1adca4fdd6ee26b9cf25b33dfd0fc99429ea9de2b62d81baae714b574db19b7c92c1701fff2280e23d6d2542e1ef9233dcc6f6f4df5d7d20dd96fd8cb95d02d96bf986bedbbdaa2fdb57a369e7c5f45fdbe64cdea3eb3b986dc96448c0db221c2719d2e8fa7ce58f3a08dbffd561ec46c9db9fa78fffecbb9bace2a7f8b514a7ef4dfde2fff70ce76c740b81f03352b1b7b3489deff04bdf9adc2fc7ee4c3e0f9fd220fd270b6759effe6bb35ff29173d883f90dd8c3eee6c2e07fbc879a7d6b5d8311a4b1ac5442ed40db066797f1d57b112604d3c2286f0a6904bc535e0c24a701f48bbc748dadc8318a9847efe66ce393470665d3d6df88f3c89ce6e01b95d628fde7e3b0f722fd59c79917b012c3ce64d22d60c6ff26993e3dadeef3b92364b97d4dd3e9c4ada2c837cb259e146f07ef464bcf073556be14352e9eb2aa46e7f3b66688dfddf8cd9ff642fcbe5d0cd241c13fee7fdaccd9da2f9857ce859fac09e0056f2e59a7912cffda5fd2c241cb30da40955c547ff3fee75d5733dcf0ffc7ff45cf7362e276ddcdd73a9bf79aeffd57ed7e11fc9ee79465ef2cbdefbcb93769dc90ff7fac6e6e74a903fdc3b452d7deff90037ec036c9efa00ffcbbdafc3d152f4f958a2acb23b280ee9d6bd504cabfef5bc2894876336631ef910cb4977cc9efb0bb39ffc05cee158ff45cda0b165bada5f778fb16cddf3feec5fde9df70946ae3aefab78b8fb8ee751df776a7aa91ecd9d0dc7d25692c7bfb01376df376d7af4baeb3474065fa3973e08da1326fe05632581bb1578482abec8bb38ded63a1c3c753dab833345bfad70adc52afc4c84238fe356c08f45991bde73b3359c6dc4b9f68b1bee5fe9e531fabfc358b197f554ca3285a36d6e348f9b8346c7334edb06fb71f7ecaf71672ec3d26ea2c4dbc1c6778feb43838fe584ab678c22b7d1b4e6c73fe1f8eb736d8c51f400030078b5d5b19be700ffe2c1fb226bf1b6961712601afda2cb2bb2fd061e72ec7b822e8054695c13d8db444886631b30bd79211ae027a52b630cdc53c82f5a1614f243a1bf1ffc6f6c6b53117a7780bfe500635cde725b53c6fbc9fc952f9f628e19e813eae007762ab2f3558d8f89be9d98faa8b85f3a5cc0fd9e13db5cb7dc44b56e1dd1c7eb04f94564c6c85e9138fbeb8375053d932fd7d5334dc0ba37e019e76fe143debfeeb7bacb0d3fc1a3b6ebeb1ee32aaab7bcdf07f687e097b19a7e76fdcb9b1c6e80d798f2b452d5bf771507509f17897806925bf235cf5a42728577b0f2cd7389afb8cc167c2204189fbf69b17ec083f3aab7426ff5eb5a2c6d793af0c1b9106b1eb1279aa4b0c74e2cd8e32afc05c6d2f7fb1338fdc167c31f701a7d7cc617c66bd7b8296e38eef487e2f3576b755cd93fcc3908f385c4db866c0ffb9062bec7494e615f1ed9e867ba96f5fa1bb3b676be02b74871bed6f946c0064c3b58037a758fb17af3a6e9462478e82b0c66abd7a8020e9f26f019b827b0c2bc39011d43acdae4fec6d8b6e8e7ab602a242601f712d5d8c9297535e8e1b73919df242dfe92f4d497ccd3d9a4a9ab5d76740cd47e1ffd6a3a6356057fe3833375c7dbaaa5f79f75f17d9b1e06e5c3c63ac6b954f638483b3c64115bf53cf738737834ee74c599f5821b674b23df0f786aa6db815cae090dc10a83140e692594f3a51a7f88dcf6bcd2e4741550b910d857e9f845bbcce12487f2489ace46282e5c4ea374c92857e7b8499da31e0387de62fb0dbc5d26e4866349a34a514331b495347c3c53be5ca2df6bb34cd60e235103bd386a678c68dba4d39531fc00bd2c2ebe7886ce56fb2ee60799fcfede60ccc2ceb92f35278958f8a9a4c19830abe92d9717f945d2b68c5cf2b766bd7318fbf9cb67003e9c15e648c99c10ea9895ad8773e4c06364d43c300d1fd145ecf314869fd4b2da07f0b302f628ad396e5a5e23b4aeedb1ac458504bc38a3b1acf1c3fef9703ed722efa57c762f28de918fb7420ed799130eff51028b9107f02c9912ca8973c4cf85f9d674bc57a9fe85e08be9f7423de20d437639e6175f57b41fd7be157ed6f58b679d0df7539e027d43749fc4bdbdbc574213c21974d622d75bdb055abb1dbea6be160a1ec3d73c1b47b4f6a9376f3242fbdf599c44efde6454d8e65766194a2c4ed83fe642fedecff3522cd657bbb80515ff38d4a25c2e078dd9ed047d1ea5adedbb155d7e59e4631d3e887d3b562633569e66a937c9583ea4823e27bed8e3375f77f3681d0c33f855b09fce4e3bf58c7cde962f0e7ac23abe7e5ae1c5e3cae702ce25b38b737ea4535cc8ea0b8dcf56efa95082e852736ef4b4518bdfe845298df696f583e62111a33dd767065d2b21b0483d6bed8f41070e9383ce29f06fff4a176c3d1055bfd68cccf85aeb4ce5fb1ab0bf794e4a81983aaafee6413713ff2d43bf1bfe7b9d4a586f8b52b46ddae92100ad9956ef4ad266a095e6219f16c5f7e5e73bd98bdfd6e9e48bc5e4b165f227e06b63b66327ccda3e0413786d3feafe39db5c9fdc38bb996a5e18e5dc436375df9309e763dde0cec7ae35e6d8ddbdff7db4cd35eb14779f9f2c5366bd07fde6e87888c38939613dd3de22f490d0f8bed2e9c57c0e44af50a7cfe07c9154ea037370f027e0fbd5613c6292db90d0b53bcbbf9b4fb452bcd43ceb70ee7b93d1de6436bec7cdf766d9d1988b458dbd184fb8636c6d4cf8e0a760c7cdcbdd44f096c9f0e218f3db53ed3272fca607bad1719b4645ad27b5fc615c3b58e1c2a7440de79a9749049aabbf582703428baf58f6b5f89edb775807986bcb4ec99e955a27f497d71f2a3fe9d2bd8a1317f9f8991eabadd19458f084ede76fa0bbac5a89acb2d44aa3ceaa8162d451ea2da2373ea06e7c98c6bfd79acb4ee471682ef1c616f44d5d2606bd76dc1f497c16107da613819127c340347f719c3a0c80e36e32fbe9b8a114f0e9aa3b673e9c441f7af34d6a31595f07a6e2a08cef3566ff46df03f460f3c03294efe71c22b30371ed63c329873918d9b67f6443e2d04b8f89a1ffdd2d6a2e9ccf5bd53b7790b594c0348cd033533a17873b580b55ffdd94e456df5e88b1b8d7369c54fb72c5ebe5207f448d5a3ec5b637309612346737db9da17c8b13bfc7bfd0e4502a2e49cca3499c8bfa7f77ae3c154d2a15b573641bb6ef1939b54cc0be5e2b0c7bcda7594a681face3246e4c70d2c45763b0fd1669aa33f6c640f7485ccc8ff7567141d47119dc9749b37b140392be8549a58d6e30cef75ec4a93c109f6ac2df6bf2dd699d6beb42540f01da7b37c63cdc4df8a73e147fd44bbbca9f588375b024f5fcc259abe7177e8e5a3d3fd0f6a3f1b5b6b9a865a75fee279953e4a5c4cd328bd84b1ecff15bb15fdcda3da4bbeede44e0decee395b9ce6a7d5d514bfd8e7e250d9c99ad6f52009f337035435fae1abd8b58a3b6f23b917f2507f09ce696d0ed16623ea8730db5c6f32df00ad0c00d57687f3572dad6d258e294ab93d8a93dd00bcb10325b4b2f12a75fd0f3b9c93c70b8edbb53e45003abbe070e93d5803fed54df47e713b534dcabd1c51e3cebd5877784c7b1c81342c7ffb1eec9747cb24afa228186cedd9885bd312b89318b574cdbbbb24cc6275b8dde6aad422764db7eee697aadf8a79b6bb5bd2227f4592c715bd6091b5db6546a38d7d66fe202bf174babdecb427ef45efc07ef05f815fe305eec4dd3585a28e8dfcb83f750f6df03f2e1ac12f2c427ab88321bf4c07eaf8549ecd7b4ac467dcdf9cb66a6736b5d97f569a5251cf81f0d0f83963a28ee58aab12771c81ee4a9c5c4d4323ea3182407ddede0c0c8e0af0f4f0a5a8b3acd8abfd0f47da6d12e2ed6879d312a3d6e7eb1984a47e03517ddd43246d08f89c7fccbe73925b3a0af725ef6f6aee0973ac714f23f3b7d6fea235f18f37ad91dfde8ecbb3ed70ef8e846de92892eb63142fb6af59ee9544ac8f7ac8ff750e38a2e7dbe45e0d09a0878edaa42ea045f29c6c58f88f549418dbed254beec187d84b595e99763deabb9c5b53fd8a9dd0197d93011c02fadb4e07ee117cbe19a6aed32b2bfbf7aff1d9e52bea761d168621bdb97b9f0ed40bfd9c88f34fd9b9be825f6b76a7f4647bf057e045bad7c618e2deee609badfaea67621725bd0b3eb8ccf02f273c8a6d1d6607375c3f4a3ea777df726a40d3df9f22447c7263bc3a3ebf5cd6b5fec1e70085652cfb15f8dafb6a589f16df7bdd0a21a1dfdf0e73c411d233b05a911f8f58893ea82e270748f758da05933259d56f1730abc804785728f7ae8716cb164862cf26d248ed46ccecb36c737649d0274e3b33f759dba732cd9cbb26dfd0fe4a73c8b517abe865cbad4239b84c7b4e36f23bf6688f95e7ea5f55d2eb5c3af723f72d0c46a3725a8f5beb78d8f2297729dcf18a0ef2d7cec10f66e78df6bf4774268ac1f6d73b3f298d1da4dd89b6d0ad49fed267619a5d8995f9433e03f6c7594ac4cfecd0ed3c71c8d8b35eb414e0dedb7a0650176c42a62e0336e7d6fab5aa37468b55a4e2cd66bc3e723f8a9afe2649e4a494727259516903bf91b3df0da1e7fec714ea57a46a88bb5b614ad81df8f091a77643f7d37a8f7ed2c5f86022b4d67e992d95eec90bef67449ebf98f75f76b9dde362fe8f306b60b1d1b6f52efeef137f997f54ff99786af00c7cb1d2e2d5263875ab6dca49786bf65fa49c4504f78a3174d9c128b2655c7393911e790f7d4c5df357117e6d1adf9e165825f851c833ef76ff7f7e83bea51ccd6b97e1df73ebaff36c6a2d95f3d771503d96a8f0bef577e02c4189596f8b6ce53e64a15b73de7ff25ce8b9f9b6ece5b20ff11b498320bd9556e46624f9295313e79e07f579c91817de191ada872df4b46fec70eb1ae0bf24f2dfd9c88c5d913d519eb164daec59717b5fdc53978ab1c254bc6fa168b18f78f2ff2b11d7c217fc317552b41e731b51eae65b119ef397bbc9f7eb6cf06dae054be37a99eaf794e9d44c93c6313bb654a8b186bd6e44096c7ed89d7660fed43ab6b5b6333957867dc3237ec62357f9b6fabb5bc3076347a93a7a793371dde5603fedd099ee6dffa7b85c3f7f63a3eb8410e511b7897ed42b8ba9c5e788b28902642ead2842fb1651374acdb1c130b2ed5f1fbd16f407709cd6bbbe1e7e7339ea8cda273605f435fd981e0fd621fa295761fa2e520fa40fedecbdc6feb13a4b8b7f976dae967ca6cb5abfd2a067bff33a0d2bd1a9df8a31dbb4725457e111fe48ea946757deea3c97f85a7402e868c14ae0389a3af36b77d77c371e02ef4c256f9773ef13287117c67c267a0476c0aa9cdf8d4329026ffaa9f853ce56ffc6c133b495cf2f32fda65fc6f0bd9c2e0f3f427c9af3b53b85a4c76718fdb943f528ff6e8c6af81bea67a2e1d05df493657473dfc367f1bd4351d71c27f3775f30e97e1fa8d0ff8776f127df341bce783ec04fcbf03bea79b2a33bf8c4f86adef27d7766788f66eaf7ab74a01b980ab3811848dceaeb711bbd50a3e95b819dbf0c27779153abe8da7b1753de762333ab5257c5e8db1de9fda36c0d3c03e55001ea288debcf9b934b5d32b0d82ae0f1d58c99db62ad878f682fc03cf50d05efe76ffbb4eede5fd5e9fb5f213a6ac8ff9edf35fe5d945ed1c4b89c5fe6a3fefe7c4d599dff2f07bb13763074edcf2f0d773c72d70eebd9fd76cc6b5d564ab6a74b793a8c6ecf31c5c355f821ccd8f6a5ef0838a1712625cc855e058027821a14639894047a79a6319d432a69fa9b4f884b158aa51b69bd2a5147bb1659c15cbc418c5460b8babf42fb843f647a32378e649ceac8cf505d9468973597b02f5aa8f3ed77dcfde1ceb3c968d79fa5389d359d0027a3af7a2da0f88801776917fa0fdc479b11778b51fc8ad33b0fb152e00bf7f97752680d3f23d0eb8696ec6c0f320265ff02ffb5441536de166681fb74d0ad9dca7f780f67169e1a6abc1c6f168eafdcf00d980f10bff01fcf101b215bd3d168debbb1be447f4ef4ecd4f9629bf3b451e3b897d751325ee688774eb42c0d7be62d0fe17bd432e6171c6b91c46a73c4e2f36095bbcf83df97cc49e5d6bf3a3cfb06eff4e055dee4a731d74589a78be97db111cb4c79a5fbec7c5685f3cb8891eda46cc80563a68976601bf1062d7d4915f1275b4a6b911fb0b3fee63af9d0b83199e9402ed5dad3dd6b9f9910f626fa50aef7cd0adadf2f1b9d65e3ffc89a960a5516c6bfb1fe6b2fbfe432fc6fe4f39bd41bb9fcb549d035034f95731053ecf96c575d233cd7331b2df6f3b75045caa9e9a5f45cc659c2e8f1bc7d329d6f96fb9c75c01def45f6201eee2f7ede079fc4ed662e51a3750b631b69b8a13c0b5179689f6881febb2c03f55d748c9f8ca60586fbfc829a3103ed75c4cd9a6e083df17d3e33d173b109fe92ff212c4782ca7ebf65ec3a8891d96d31fdf5de3b754bc733fe1713b75668cfdadf18cc0c3d4ecf35dcc7ebb0eda7a42d4d4819ce0369426544ec4c141bdcf61fdcf6d221ceff6ec44087c1a63723b9f5f9c647e46b6928f68df9d807e11bd5fdc822da3d7e77b83f1d54e048ff8a6c4dfe9e3fd84fd234e413b69acaaf1c59b1cde96a10fbc2e72c9a7e8bb3593fb8ef915db93e8add2658aa46244d9a642898b6dba62c63ded992ff6771880f5adc5006c99661d4eb7c3a60635851c1dae7d4d2de0a622705c7e27cfa052b9c40dd9ba86e14dc7b725c1ad46f6f0498992d9c6bc1027c06b15931a79841e33c682333a252e04479e53991b67b9a9a2fdaecf6b8ccfb732f9bbfe109bd333dbdcc42b23baff8ed1a99531bee75de6e6e5cadcdef31fa0e3a1bf835cebf3df628d902fc388ea2dd08cf98deffb5ca6f09bf3306d4e6e7b93db9cdc0df938b5bfd4bc336d76fb35e68aacc57731c76fde346d6b7dccf89d4feadc55179fb51a6c015f8c7c69a3fcf2a4c5c691752a5d1e79bc3f17cfb0592d2e46a287a75579baede7592e69b16772eb7f45757dfda57d29c8fb6973c3335fe4b6cddcb4b5f1489e7e0e642d1ac9e19652caf56da945f932c13a845dcc3968029795ff1af01a5d08817d918e9bd81dacc1be08814d55b8584ad0662c70241cd763fbd9b3fe0af322d4baca3ddb6825de14e362bdc9365f69d40dae3fa51e3ed3efea1e6e6dd787780fa2aee6643436e7d96955a68e199f5d53a7fedd4f7c870f3c4f540f6fcbe0f0c6ebb75cd4cf7fcc79eeede7b92b05d1bf2b1a7d967b5291d32b95fd632edc7f85c9f8475c549b2b24f23d8d0e20597325b4a526ed18f198a33f70abd8840f66ac1358099f085787c963cb1856c7d80496c8f271dc178ff7139f6edf29fafffcdaf93faea9fa2b03f688c3ce181eeabd43845cf25ffb18d94ea30287d87f5a0d3521b6931ced6f6fdb444f1c0ec57f6985c7180387ffd3f5ca357a19c827c2350aed2e97deed899bb5e7ea61f4aa1a475b2faeb8ea511cf452a36fa78eae1e33926c332e574c747106de4565f4915ba69d18bd9b778a6b2c67799fcf6e7c9a57bf5f5a061d839d5121ce0e2d737dfa5d2c8b71ba2f6285df5dd7a41a1fb5d68f9692b8d492f972bfc89fc7749319eb2da84efdd62d908f2d5f003336e96078d3bdd9b187a544e6c48ad1d5491e7370127146ec155f6b3761cf3b5389bb581bbfea9922f1a911680111f9b32bb23bd251881d8365ec6d9eba834dec243a8a81625cd7e433a7883227f01d53ad7994ebd8b5532f6b7aff9745f35bbfd6e3e8c5c2b8a6f5e8badc36dba95053865e516f82c7a1773f291a2b343730a77394ee3116ba94229d41f7b331e8d45b6c623744e32a777d8d988dbd04f2ed0d0ee3f931cad419e8176f4a3d3ae66c99bebc3315ca3646b17b6ccf57f9bafe4a9bddba1861b9d5b1f98fd8399df3637e82f5b7e0bacfb994610f45f7dab10fc1976a1b4abc33edd89e54df4fdc6ff2fa1dbe5988fbc97c4727c7783119daff336bdfa15bb225d67e9cd3ce62a3f4c6e8dd9b8cf68e311f6a5c5c7ac8b73485b27bbdae0e77d33f89717f1f9576fca55b93a240039978b7e9aaf0aff8fef09c70cb36e6b006426c999bb8c2edc17c6a8ea394ab678c305f6dab2d03eb454a46b147b5cf8a7bd846b163c414dacb6cd39389f7827b1793f6f81533bc38cd7343de3febdf3760cde9736caa51473bc253637a65b0c0fbe004b76f71707fcf643fe8737f70fbe669f415f7a8f36f0633cc3c9d7a3706dbcc89a977376469e9a85f5cc64fede3fae404d1bba736fd24a934f1d315f0984729ee43de125a42512204735a3a7abe9b8c627b127f78ea686099c2c536d62caf7d56ef73c6f6743ad6ce402977505bfd9ac358ccf4f3cedc50c04b6ee86767208c780ef901d9c1e6740aed07b6b1be403ea6c5c27cf3c16720d24dde3216d52ce039627e165fbecd6d627b323ce8685fe79aeb407ca0f5e6a6388980377d678c4237d1a1cee870f17967ae03513bfb5232f21d63cba218b2b30e287d68317a6c737aa433f3c2a96a29968ae78bc7e9c5ca042d3b58832b03e29510db1ba2776f8262811968a2ba0c0b988df66f3cb64260434e1af94978ec8727b78859a266d6e95f7127758fd5bc8ae76cc86389bdbe3fe9b8f15dc8a58e0adba0af5ea213f3dbaf8f01bdd9aa3f61e026f3db2619363a53761217d5bbcf306e99dc375addf7ba27b73d7f67bfbc7868bf41b1a496d6fd97cd58371ad4bd63bb988e9e2efde43e47f287c1e3b00c66b9b4f00acbfce29cb0d184cdeaf32e8feb0cd72fd25822e616e6ad8c5877320a76c62812171d6db1b4630b0c64df9af162776adeb3bb0f34293af6ec4efbaaed738acf5ec30d670ad03ff2d07e1bd19b4153ef2f7cd13727649d9d4abc97633ede217bc1c4de3219bef5e3d18ede5f175b4c913df48f706c509f3274a7ea83ba98bdebc267242f9d499d766af4ee053ef030b63cf09d7eb55127cf51f5713f19471fe31b9ab82536069b4a235320ced9899b2fedbaf9c49a5b0b42ef9bac5d73c39687a1fdcdadcbc35fe35ec8beb261652febfeba6d2a2d7856aef5d48b73211a23c7c5e3569063e41cdb7dcfe6f464678c62a24e7c728b5bd0e8c2cc7a36ace0b33f4c171b8ad631ac81677ae0dc9cadb0a60f729c87b62fbae3f36cc6fbc51a348a3036e8259703f6811658331af8202642836befdb6f3e00ed8c3ee7ff859fc57d5db98bc30ccf4ea21f2d73937ac9f650df6bd767fa3c8a83f5371f005ecf5f991bc0d2614db0f881f65fdbdf5fd9b8bd6dda904744fe77a55753efff68febdaa815658a0a89dbf837c5cdbbddff93abd63097fa7fdaeefd3d1f57df67c5e65bcafe7fa82426370976febbf8f27fd3a641ea0d3afe34d813b847ea017d8e323f1b63b6e7ba87090f0aef96418f4343f2a3e80e141357bba23dce8ea04f4c5363cdfe36206e334e19e2e289eb7183df5123d025f799205d203ddc8873141c5e903f1c95dbfdd9d7fdcd76eedd4ebd079505cd41f671bc53bd3bb9a42477fd4a02964737364739ff4ce5cc4224bedc6d723b1efc81647cd3ec92778cc711e7c9ded34ba3f8f3ffadc163b352e405ff1d8d97fd09c28003788b946a06ee7069d1c12681bb6bac518077aa78da9d1b1517e79a29a434dc91d6c7c143ba27950f142347195a7351852b02f1dcd2b6e7eb1b91cc54655cc390cc4c2a757057f10b1af79b64da5b40c2f160b3ee5c313f41b2f07d5dc5cc817dc87af0fc18f5b286cedf3620ccbddbeedb7fbc72cff61aff145637cb26a8e736e9b629fbfaa1d73326b115ae676483322f442541ce8b5d63427577bedf864c7e8ddb6e76bf7a5d9edc19c45be733b5f5fd7d2b33baecf0773d761866cff33cbd844adcde0efedca42885df4ddffc3da97aca7aa7c6f5fd0196c404d6498d800d2d88074338128adf20b1a81abff9e5a455320ba73cef71fec6747c4a2a866d56adf7741ea53af7c25f707bccd8177fb85cf45861cb94a8e57efdce1596b706807dabfbb897eb78d49a4319390f47bfc8b67b66db4e383f4850b39d6627dff68402627c896b263e2f743390558ff69f876721ae3a6547d21ec52b1e60d20ceb54e7d25601df5d73c05fc5f48b77a72ef0df860cc7cea04840e18625e7f243b24b52f736a5f0ddb97456dee515323ee57353e974b1d5f12f895e32d29a4930fd83a5652bd636deb0fdc2364501f49e8f8471ee682946d4f6b0d901d52633341ed7849df5a7d19c9ede93f1bede3dd29a82be644c55c321bc041c96f06c37a1dfb02f374be7b1afdf01dc40aca6b80ecd9c388c6181cf38f073c9cda4670824979e0e2c49b9dd29e7f15e3eea37ecf81c7aac3376fabd9b788ebd7915e0ab8b8ebd1f6e672ec5d9cc5acc88dc1df27e31ccf2eee560cf97eb74aa693fa7931e43b6c74a904d9f3db8b30700fe453f0c051973e60dc0cc8033bb11e64d3c0fe79bac7b6469ebdd47d2a9b047c5de1e01ee9afe5b46fa377ec0dccaf3ad4c7b4c7e33dccdd5df8bfdf3bf59931e02b6d63d9305f37b4cfd19cfedfeddbb4c6313839689dd4f20e64c709e4d2a08e338b493cb646473e30fac42dfc5bcd87e222db74244c9da2639b16a23ab8ef7d3457078dfe31462b4f541b5951dffbe97039a9e3219bb5c7692f3f5d334f64cda31effdf74feea9ca01f6413110bbad8d51c825d063e9f01df3de6d122645dcfa6c6d876c5c668fd8592b6787743d0490a49a5d2deb8757c4d12a723fb7688e7bebf6fb367fa74379fadc35d701fd24ddc64397abd7f9bbe743918d49895605f35bfadd6f82b7de9a9ce4791b27bcbb0b473defe4172b679cf08cfa788f4c173d4a98179393ed5ef3666f46853e0b31cc7c51ef2c61eec9ede5e86bcf6cb835ea0a58ef93cce8ad659bfd6a990e7722aaa13cde357b1655050a72bc5c0a1816b158d7d66ab13b3ad79833cd2520e22747de1999f996d9e70dd14600a4ff66eb2bcb98cfde32654f58c532a71fbdb9e5b962e0d7a3c6d33275cbf5afe8b1af1a213838beb9a911a43dc094e1365d6adf1047f87d96250804caf7267007ba0aa476efca968ff9e1b5cb3c67feb24717998f7e6a958becc0983d8c579577ce11c939bc7af261516577da617eba2c54faf7db256b20c0fe53596ce9fb193ec5227f1422ba0ae12175d3016295d5438002cc64b5d7ddbc64eb5cd256d9b0ae55276611bfb3f2fbeabdf9d5a277b644f1507468ff6899e7b865e7abcc2b9891e6fcc1d2b727b9c43db8da78ed66d2d382b18fb9b755efd7823057439a3002c8d5c9e099970b6ee5218dd84986af9dad1dc35f504e39a63f822cfeeb4a846ff48dae28f1ba63f24d6c17ae4de74c0b285da5acde39694add1e7aa1f504fa7846eba66201e7cb1cd555aadf15c6970422df68bd9c5c8beb118f4fb14eaf5409e70f76aad6eebbce85c29a2dbf6ac2736e87427f6a04e3a589ddd7835dab7549d2f9d7de15ca3bba2f6d623ce0b25fda7e7c62629e912e99ae25c1e033eb9b99b1ef92bdb6223ecfb75d4ed5aaece72cd60235ba37cc1dc76afa9398ea755b6153ecb768ac3ec1a9f6de77e339f0aea92aa707e4116689df61aec55b4ce2f07c3bbe8684ccd956299ab6f8993d1f5b65676efa736e39be8dc7423a41f65c87eaef657952fb5809a913fb266bdc99a55aee7db1a97e9a1fd8d11d7b8bfe98689de80f79253ea6ba1a8b1e13ab1b2a7bfaff0f7ed24ff715a59fa705fa387810c58665b24fb393ddaa88b96272cd1637bb12b2c23be91d7911d793026e7fe351caf59d47d03cc1b97f1637b4ef92dd7e12e7647bbc219c5f87a9deb037fe3d8b0cde9805957e774bae5b5f9adc5b0515363349259c1b8d7cf6b7cb90416299aab81ebdef438ab38e0fb7c6410b3afe241b02fe39b5d92fd577edce48afa7e6f716be39b85ee69e46ac5451c7f160ea3c4ee4881be1063f3e35438d30fbac1a3ec6d6b7fccedcd1cb5eb768f73fd91dcbc496765e22432e408d618d61623604cd27e1d75b57edb39dcd678daa115d6e706818789ced7aa4d748db83fb38d312bf314c86f5b8dfc819cb3aac631bb4ac6fe06fe1734a68c1248dcf88fc84d3b58390735075caa0e1e0c7faafc133925c56cbbf7748542fb4eaafc8a75fe06acab19e4c0639baef63b06a8ede84de4a28b1b001ef3d1ebcb5e7582fd775115dfad629044bcbec929416d7ccdea9a62aac139b2d53c15b51e1eebfe7e015c67ec9ba8cfafe9911bdfac4a16eff9d58fc50006c0cd1ee553c168bf23cfba239f1f916cc56726eb8b1c857d083ce4c1bc3950e73cce3c15d796d6675d775d9373ddb98ee7b4bf9613e21cede9160eb72cbdc5dfef23e7beb121b06fea89ac189857f545bf163dfba478aa27e0b85853a3df8df17a45935b5f6e4c05cdd1452e4fa9345b5cec261fcbad9e11d738c30f675807570e9ee75ebc5954cbfec7b5a761bfb25d3498d869776e209656ad47eb95bfb7d9afc4d9583d6fdf9c5f90c3fe3cffb75e0fcc631b3a836451fdb7a8de5fd5cb4530ee093b21dbb139a48fad7ebe4077afcf8428955ebd53755675da49e29b65dcd13ba135e43bb32895b87b63cbe0d847472f51484eeb039235fc3efd62f69df5ef06794cc851d6539bcf952cff403641f9654c42a8b1e2c67f5a79a2332207364323e701abb8925db6ea439d5be77b681f64382b68cbce7a74d40e6ee8ad9f4f086744896bec5b9f8595005699a1473b7ee51f30d63ce06cd9c66ee126cbd409f17e6ae5243eeb85204a8f155602b26f3a325ba5323738a5127faa7116c8b13d36be3d751260ece9d5d64dd8d03695b23a6fee0da726e8d78ff2adaa15a9cfbad80bacc4817f187b8dc88d8f5fc901f05792f16f1ee373beb01fde9da2b66de85b87f7baa4ee6013681fef4e98a507fd5a9a1ae032d538dbd3e3ccf7d1792aaaf90dfc92e85c9be5a55852f99a896e486ed47ab75bd2beb4a02e3597091a67027f3a132067b1d6a14e0ff32016195a3f99652ad476600c1b6ce4028fd9a640735fe92e4ba841437baedc9d57b15de5a87da133a5be1fff3e7d6947e13c0d5aacd6c9d05c567e07b6aee1ffaa707409ac5264e3dc2cc6a71dac3bdf2402971edb2f1dfb11c9e56a0f033f48fca867a7219107154a9c9539903b82dac6ef49ac4f723cb01f62866cd27dabff1571edf3aeea212816733feeff7af689e693353a476b673f7cf6235db2bbafe407dce3a45a0b8595f4b93aea5cf78a6760e03db7c92a58528dfdcfe9d12ab07c522fece614092d2e56cc5672f674e96265c09ebfd7b681c5085749cd6f902bfca887ddb0bcfb2c6ca3ed03ae55dde2b8f4ec14207b16c9f783a95c0442d782bcdd4eeecba98fbd208b5dde08e0561386b87fd59efec1e753cc2931f19d05e04dc2b597676d3d26f3e9a53706df6281d6e7838d75977a7aaf15547140ed7279e8535f9f25c76d26a4505b8dfda8598df149ca0af4eed53b0db797906d459973a643098d3ba723f95b225d07ed1fbbefeb63f446f6f4f357887c2eaab6c387e48384730cdebd399143c06f5389dfa2b50bb288c489ecfad44ee9d768577c99d797b94abd7e6742bd1f0321ab70ee12d0416aff89da5ddb9d7c7dac779c6d73d7702b882685f496215ba2da7bc209e98736a7a3790d91cdd2e4912e87ec192f6e644a8071016c631949819009d16eb99f7fdce5b91ca0e71e0dc5f7383c665f239a15672f74ba658daf6d2575fd8394f8be4bb5790faf6a3b76edf54e4ebb41d7ed4e2e96a9ac1a1c039dfa23725bf63ffc2e6b63383b9001b6ded66ea0f5f8acff12df60473eabb9f00563dbd10fabfa7bf81b6466015c2b50133a606ff7f5fc33d8586af4663fe6d210751e7d8c08e0ee6025deedd5b27ea62eb7efe7f3746394841cede4a1448aef24931f6ff6793fa0b6669f803508fccdd876080083e1e19983be88076c86260772c007e101ce645e6ed465da3b8f6b8ea3cc9d4d5297aad7b50fbcc5f5fa6ec685eb60bb95807fd5fd1d25aa980be739b6c2c7cd3eaf7e1cf09153b816f8b9fcc6b5266185a709fef128734b36dea8ab7aff06eb4447fa5d0cb9474dde63aba7f46d20a1cf07c48d592f00eeedd8416b7ace3ef7f3185d2e87ca6e3b59860d79ede87ca9eb48fb3e09a80d283a18c531e623abf1eac6e93af0cb011ba2b62f6a0e6c1fb84bd545beeee171577c3674d5cf2ea75044fb5f2a5e7775bff1987ee27d69ca90178fec3ddb585e85207a7bc2bf84ec1c32df097deee97a30274ffa11dfbc64991d8cedc949d89b64d6cf601b995ce99c01e4bde035d5e81e557e59806cc3fe59ed0639c633c4ba3e31b65186712781cb24edc639b2ef479cadd63f2671d33ab7fed6e6ac3dc1429875fddc47fefedc773acaa74fb8a12a6e38fa2e2576e130d405f63b1963e674f01d81ff4ebb16908baae2b58cecdf834605f5992e0479b131f7753d5709f1da8eef7e9aafcf025117deda3b6249974ded1311e7dd404d767c3e2c3ddfe3f4423396c5a1bcfad0efae6d8bfa537134117afb0874b9cad6db12f6c62bbdfd8a6c68df1dd5e77b476f66bf18e5e21993eff559c8ecd6cffc7650732ca342c0ca6d70cad7c934c331295cc77954f370c33431ba57cf7a1bb651b6ec2bbbef2f76d8f7465bb255ac9db4a1cada174260249c2c243b71ac3b95f82a1f8f1ba7a29ad347351f3df21baebe1ff2989ff9bada79f9164754e6f5744bb4ee07db8318e4967dee43bb528d9d3bc37bbab65f25156a035b1b87cfdb7bf97c5af9901a3b80b09d3a3e0cb4df86edaaddf4b86c397d87cf5a25f6164d9ddbb2e53f1bc2f678c6bbb6c5fcbee6f6e671acec8cbcd88d00cb1038bc04d57784c48fbf204ea95376780a241cefb8aed1b564595a4c9c0ac13db092f86699ab09fe7b59da9a4501569ba1947200bf0fdd8202bc38cfdc25b26667b65ab51b50b992e431e0c325cb5137168a6cb22c1030c758bf8fff48daa29f97dd95dfb17e3b30931f8f199fc87d8671741ef360067492c1731ab0baab1cc7bfe898dd799bad5ec5fc0289bfc6ce59bfda151632d402715eaf9e6130076240ffefb77f855a81fe1ea9fd634ff4b69bd8e384aaef176711d8234ec25202175f5d2e8f21a78b034ca274606fb77edfcaafd4ef0bd2495eea8f6d4edac3fbae8be7b635c6986ff1d5091ded45fd11e89c37ccdd48d77967249748958f548d47653bbb4d5c06f65741c4fa9a38672d9744a453f242130b3df27941fa5386f52bf037543a01f621d73e0dc0ad06ff2ce10f61ba7a07d454b6b5cdb56f3000990cb86fc8e66ffd28dd98c192ad738ddc0073eafecbf5dff8f16d638bd63be0763db59307ea571ecf8026e76de87c209eb77b561bf4744d3dc62c9eb5bd653186e6e3fe22621413224631b00ff5eebd67e2f3c05e22ee1db001da78ba087947183b6580cbab54a0c6fe54c8732bc5e74a7c750c3d3a40ce637e13e742fedf792f9ee2933cddabff022fb99faf452b9a9b8a2dd611b6df701e0bbd7e8a71fd9a4340295b6e2ec0ff07cc9c2dc639da0ff2d23618af129947fac06ba574719bd5dcaff32e2c63554a9ccc6ac6923acc2689c3b13f6ef82b5c73647f251277c775fe98b393c8adde37f8bf957ed1c100ae621537c0c9aaf271c5b6a603381d3afc2be5d243b2d40ee9d4a526be16f889a84defebc4fa67a37dfcb10af439adb1d2095c5f3a14b9c5c50ea2748d39c7be45660f18be6ed15da336b683b24dc5536aeb54e6067e26aac47b71fbe62c97b4e5533cb2bfe6cc11f5ae12173de035fe0db3df9bbde06de0b7df553d20e66e5049fcc06e3dd711b0b59ee76b1f343a7218a5e22dc2b5e11ea7ef91bdae256c64ab27a43365c0b94ad8dda84fdeecc12f89edc47985715fc5f8703c85bd59cc1263d4d4b9088d7d59b51b5ee38d31a9383f49ffc7f378ae13901c589897a4ca29c4b63abfbdd4f9d007751259e6cedf1853562cae3f2b4d80b80ffceeac5c0e864d89c0cb51af531ff39f1b0dbe02f8564575f2639d95d83ddbb1c84519b2c12ca4678d907e8474bd05701388ea23ce0af892b9fd9f17bac21f5ba31d5bcd29534be39adfd49b456f22c4caf3544ae019ac5352df22338de50030979feee9a6667508e307f33224abe772b4cb85640e732455f55e35ae63972b8e63c30ad7235925bb1fabaac71bda03e4ef3453476767ea30934d3dde444ddde9a0fa8a67a2b1887f9c880d5c462fbc442f6a8ee867edea8c1ea84c4cfda27dd33656d2c1dc0d3fa7e5167dbe3e43b6bf066ec0f7378bd2e30b5c5f97d1299d8bafb6c1d21e9f4f9f609d95b689c69f8e9d914e3d62152931d2d51c43fff1cc6d856b75bf8b26f5067b84a770ac60909f2ac779954104f5afaa415f6d6397423efebfe72140e7e6038f09ce41112e5f4c9f1f673fa974097aad9d303f8e164d9ef1e33c620a0ab4a89e028f637597ffacedbca0fffcdf6012cb9a40f5f00653122bec39fecdae8bd5d5dd5f1dbfd74bbb3342fdd543b0851e7956eaf8e210e748d1c5a840e700e42a77f94278215d9f31ae21aed5527c8bf163ecbb9a0206a1c8451d8e0a8c4beca7f5f33dc899e96057646e074b16c9ff657800ae14ccfd7950735a34f3a953e4f491acf387d8ba72a9728f90cc9ec367f0cd432c309522dcc78d29f430107fcf3da268f26fb8474a45b35aac51adc51a05ec70cca75a2ae56bdc51d20ec1bcb0f914f0dee0fdf1ff9e7a7ac15df3c0b332519ef3ac74b0ced13eaa792e65b5d13973a5c13b3fe5354ea3ac09e52fb886086ce24efd2f7de41b5eb11f5ce78e79b1458867ddd1995ee2ebf9146cad99953ce3d5276b9d205ec16f59a7c92f5fb0f22c0ffbbeb8761d4ddedd320d256efcd41eb4bafcc57fbe98dd8f93604ea1f5f91a39cc04fb4c2a7c86f579e7586af68deb3ef60f18ee4d4d364f6576988647937ec5bbb572ceb6ef707124704bcae3f4abcb6f313e8fb98bdd04d94b18c7a1fa0cf8cd6d9c6f7f33b9c90aed4517d981c127e51450ff8fb17a017fe88ee30c06b62b04ae3a3f78b9c60bb858a60dfc9444dcb3c5fa8da98ba87e5e6d73777198ed4d08e2aafedbca1c1cafbf776231e76bd9c7d270421af49da39adffadfd57ed326878af4a171903f077320f1bbc1f176711f928d89beb7faf30c1c3c0e9f4f1b2ebb6052af0dc871ad9f25ce6216e7ece5d9175eaff7561edb8081fd2b4c62adc124cee5d0aae5042da3f30bcb89a2e21540e75ba1bce69cedec654ba301370238364a52565a895bd4fdc17cf50d5fdf2cca30bf5074b1d57b89ecee5fdb32ccf866cffc589aad7c21b83fcd3db0ce4817ce6f52b245cf08ac40c89e62f0f33ef080926386e411e4872763c87fc6b26931a9707f6f4ee0ff34b2a9c0bc4e706f01fc2e3771eee698d705ee0d6bcc7d458d32778eef756680b90fb554a29a4715ef4321aaf9a4fa5d24aa3953f14431a29a9fabebe8ef51753ffaad525d47bad175635e6bcce86732a6f5959fa9acfedb64f4ab65c4d953dc193417e6eac3367ddf313f33884b305470545bae4cccd7bcbf7a483f548567cfbfe05c43b817b832545dd93438eb907f5dc5e1683602bfe7933e557edb05e87eea8472a858d31a6cb2532a9d15da6a627aa7bb34afea10ebfe8e74fa603cf5cd053263fbebb99e28e1f6aa686eae1414a568562119426927f2554ee489122a8912dabe9d2c98ee78fa3fee6877b30cfa69ff85441f5b067d7780539cbd767f1fdfbdf045dfb4682c85fb5c0a17777936a6e460458e5beaf216f3f4b9a17097e78b3799db05ebf985b6c28859871f7779fef12643cecc8592433b59877e2c6bee9b126e0b4b5db1c09b89cec4f099affee37e04ff311dd8e6ea6827f98ff5c2f729f354763026946d787f6b33701836b38de5ed39fee8aab9a787f7d8c63770acaaa973417a8df9a813e15a4135bf6dcc2ddb62d89e6ef60c7814aa3a129c2385e584fde326b4efcdf29f8d413beeec94229b580884d6bfc00b99104f03518d085eab283591aea57731a5c8675a4174718ae80fe613bf04ba31f9761276e404581f5f071f8138da62de0593cab44e6ecd27f8351aae3f1eb8d2866bd3c3458b1d03b85a1d6ed6dcd458e2778a23ebd4dbd78842ba9a22cea2cb171127aac7ca5623e0bff32a0c3ea8092378df0e865e4a9c85aef936b74ba1cfc9326b72d2b838768b3cdb98fb1bd4d498726603765fb36fb22fc8c98d6f1693d336a7abb6b18c3466927d81ec9cde1ade531dc730aaefcea8cd665dccf2d1c6bcb21247b1f01e733a96cefed599e5c1667faf70ecf331fabbcab51c4bdc85d56613d8dfeee8d3b7987da685d0b79b6750956f52067f9f35caa77610971bb5f543d4b832709f716ffc7ceb91cc0a49a51b9d698cd5a1fae3cde8f42d8497601d0881a866172ba483237f0f9c84a52cc3837e0841941deaf37f29b35ff369f0c5d1997396df84e03a5e07abb163e437b710de1dfdaa991afdbfa301fe111f63c801467fb90aecacd291331887398dffe7f3a9c6e7533446ce6c32768c6a6cb4eafb6a3c8e7c2e57b88d9936c3187c2ed7c13f1c19ccc4dbe8574fe2161751f523516353b48eec19c1f7d2c5dc453a7e46cc3d6bab39b4d3faa2fc4ce2a6151777ea437b45f4e7a0a2fde836fe04bbb83f70c53b845cd818fbcc034ca626cff2025cdac0cd13bdc1771aedd4cf33d5fcba0aec4e5fbe68d6f7f85db14e68169dd755dec602bd33e1aff4ab77fe2372111e07b5e5ae11bb9c72e91773bf35e7af46c7d2625b73705122e4b063ac5e69b14dd7098ceb59d4a697fff2febbd9e0bb67bb59f456bf77b57608df1ac5ba753df3227a909d0d4e12ce77fdc4dc241ee0111a3485f67604fc3e6abe020c9645741be05ebb6cc15f7ef255fdfa69aa93a2d9f3663efdea7e87eb48f6eccde1e3e991b752dc6eec6c75ea86f6c666dffe5d3fdba0965eb59e610e0fc68af65a393adf1830b6f83ebcdfd35560139f69f05bec34babed6c82badacafd5b90d5bb417c967d67be8b3c7c7b65c05f692c8f542d722f4bb5560c3ffbdef36abc0de1cf97c0e7570f89dd39a0ba91a1f720f0ff64122b14faab16a75402b21e397f612b56935e34bac55e85fed97d167f9dbc6dc5e701f228c398cd6287f494513af073843975b16efc34626ec25fe92d638bcdd3d7ae9606b013e4fc876f724b38c6c2e86fd641939c4a5d6c1ead33903eec6cd2e3e43cb18035ee181d30b5b5db1a296260f7b7ba89d787ab103b447fe2e0b086c9ca2b58bd099bbfd63cf3bd82ee70de3bec1d82cc6e9869aa075f56602ee2e967d1b83fa638cae47cbdc516e985e8f6a5e985a5a48bc57d78d071bc3bd88bd5ced873a800a5f04621c84aff90b64c738fb6276b1c5e4be9b2ce1bdd7c1e22ea131e3f49b37bf0426bf0d8e958cf89ad36724d748f925f0db0bc9c70f79b2c358b5ffc8bd75d58fc76d98be6e92a27dfbd372c6fa1729d9a618c753669da2d53f9c62127f714bc8e5809a99a2a78ff01fc05dfc421f8940afa8f4912fe0fd7ea67f44c3fa87f680891a1267639da37f39cc26bea8faa13413a215d23bfa766c57ff7dc21564257670025f57cbf9730f844248370195a3f302c7489625c6bdbaa76e49f22e74626211111343fa4ca537ac58ec732662011a5d36ba748b9d83de2912553f031bd6bcb264ed98a60237e959343c47d3a96495c0ffb74e3d009f4f6dfaaa203983ff27e4bf6a2582194f8f5cf7f7554ecec649f209d4ef9cf3a9c8c377ac37f3cf06457b4817afe2333eae13fa48bda175305f201d91c4e1b957d83b782f690fef7a17d55c46f2ce51f35454f360a32ddeadf04eada1ee251e19c5eaf13933e1db8a29569b13b922a336ae63e1f83f3e734bb6d22326be738e377610fdf1f0be65896bb50cbd0de85544fe7d8bf95fe9109194b0377bcf26a2c6d2e8396e48b7d79a7c0be1515f21e2bd987b00eb4fc6687bb167792aead41be4f99cf5eb8621f4f1391b13e7e35bc71e2a905d817f23ead91d38289338b355e0432837f414d91d6fb5fca8b80b7ee75fea70be7c4c5a3e4ec85fae78d8b67fe1bd6ff3143ce097efc9aa0e36d5fee6246ce118cbec60a680c10ce780eac7c83e696c3323ba1018ec19e11fce90ed04b80a4504dc3cd8be8aaf078cb1fb4700be1d3ade8c7acfc2b12f663d8bde6c6d9c57bfbd39a3d5d532f2f40b63685f14cd9a8898dbefede17b7591c339abb1a8ad918c64be76e95c53e05a8aff566b9b707fb34ca8e14d56097a86cb886a4e43fe0843a72eb3afaf8fe07ab24bddd1e74f7bfd54e2ebb4ffb5589e911e023139c06ed9df1c63395e05367a26c4193c901136ae59e400cb0ebe5bab5106fc69fc2b7efe7e8c43a05e70c913310ea168f8c35a1f22b556fb5ca2cb02f3ec3cafa5520a82df7528078d9b5e8464977a819062df68fefe12437aeeb147a453213be937fc47840f59c1b19a4222e2e512bf670faaff23aa5682fe6ff0e4f67a66e3f8faafe3509ec60efd1ef20cbe46bff479cf1afec4b2deb7b2f631163b794bfb9afbf4afdc4b8dce52d2f81cade33cc896abf289b02d23a7908f04f50156e2063ed491ac023bac754127881a3cc7164b65e2af8bb8107939034c7466f12dd214ece76332bd58055a5bf9d42a5a9e884efef9539ec94ecc0d38d00e5acdaf4dfb5f33a433e17c2cc7886fbfe528dce09c2b328e3a95e72c3a6fbe6df57e17b5f407e98cf60bdf7e8747b2992f81c6f9675460d26ce88c56b164a4a539823c96d85eb24721c8e98db9721c9a9e1eb9e8e214c866eb73c5e9bf8db7168af61c7f8c8cb7ca441f95fef31abd7352dae66edbe63cea1bfb0c35b147738473e34c7a1a1c8cc9fb51638762e350e729680bb40ede8f1a8e1789fc967dc5d1b4e3f4d21aad5297dfa1b538ccfdd8eb83a842bc9be07e044e6fc803eee33be35cc398b5982565819f257e276c982e2f123725cffd02384d609e50db2c453cef079d0b52cc1eab7e1ecd92fe91b8097b544fe9baf145fe3a765e289af59fce7ae551be117c4c68bd5d596920e60c7212f4e2c5c5c6ba2b2daa9d9ade02fbb822569e5fd30db77f3f0066ebca39e8142b244b4708aea958ac3c21bcd2c019b32765f66a2e718b409aadbaf8280bf92204d7424ad29f8331be08c13d10d52c105581c45d85f630fe4dccf6f636d78e11e6d218e0deaa31f38a9a530b72d88a217eaa7b8e636343b1540170096aaeb1e1df470fb893fd35e8696c896bac5addc70da237326f44e28594ccd938a87edccd49855824dde548a7fbf764deaff8daadde9946f96ef07086777df1dd7dd3cf97edf29ed798438b46b69c1f644be057f98e11d27dbbedbd3adb99f105e9654242f0dd06bfcadbc81f649f2924ab6059f397df5cc6f71d64879debd87d277fa2b9afce277046cf783d5f730fb7bab95bb4673cc452e98aff9c6a793e4f7066d75ce83846bb00ae50cc8beea615fe1f8d743517e2b232d2492fb82d2bc731dad34d6dfbbd256be5bf34fa22452b7d4779b6492b9fbb68a9aa3abbd217babad5779b7d2c675e48277dde6289735921b9c65fa61c48bccb0a679cd7e11642a6695400fb2389e1b3a3bdc6093dfe254746426772905fa4e534d366f1fb4145f27a9fd94dfe8a907dcdf2ff498bf1834d037c038099704a5691dce6252fe42ad61135bc8f2a81e7a4624cfed263e2e6ecb0982592c5e77502f96f27af4c430bcdf5827a6b758a67fc2710f3bdb578b0313b7c1675c607f689d3703cd0acb494595bcd026141ee817c01386f0bc034ec60216c357a658c6cefc8e7ab61ae68342eb1735852d9b6a4fc2fd54ab6663ed502ff22aaf972a3ae3e9b188bb14f5651746be676944fb7d827b4443a9f15d23fe262dfd8ebd51e4f256edbe12f21cff755600715660be4921ff9fc47e484146c313e9f8afcfe8fa7fa81c46dd3f5f39cbf00bde32ab07d9113322fc8af2270aff881b4943341fb006c7f89bba367dc0d5af136060558188739c603d8a2f756b1ff58a8310216181b6efb1ce7f6b39beb097ed40cd9451a9f4f55fdca981ac56ef6caf4c82d2eaa9a33d2424e25fe13b0cfb7457e01df157f62911e05fba74cd7228ff635ecad37b364e7eb687cb1911e528f3bba6741219d41ae7c38ffc37afc2915f9787a5ceca6c7d9e27208e06c5f41bd7222a3e7ff4fe27de710538d2fda0dfcf786bf2ad967786ea698cf27610b8bd1a3f519da6425be53bb3ffe17f5200dc680c44dab3cb9452e37f93b0292793e965948e6815e34aa72512e3867f0ce5ac52968e5af10886a9533455f3d09cba264159c028ccbb44a9dc0ff013d067f7711558857b19eead3223745f3ff625d5a1737a453514bd133ee757dd9067882e13ba4bf67484fb654bf90b87b7ae4f352e485cc993dcff1a96a13810f8294795f54bb2f496e9ff559c8b6b1ceefe8f8b8a796dc565fad4c2adeeff4d5a7be60d57d99de7fc705fcda96adf00120c77015d869150faa73e5fe78cb6b6c6af40d733ee3f6fff5fc878d6d9b56e7deb839034babceebca6534df35066ef80167a01055b1e5aedc0b3726e613aae2f148d740df73ce48b8580f67be7ca9ea8fb2a6bd5e3e56155f086b39fd85e5e89ba5e69465aea0260ee77de7d8269f5fee12774d9d64fb867417b426fa395b756e5ec3d5a3e631aeedadf9e82077f21be9b312c65fc66dcfb2ef76bf2de3239f179b90c0809b4f2fde6c52f78be02d6d30521a8e3a9b636fb676f1659e4272f4db3663e0ab7742f6bde2467a7383bcc9d33c6a97005fd71feeb3f56b61aae4bd69f39d311232f85ea7da67427ddbbd6d0f63587c12f91c2c7c8673264fc559d53fc0d338757e873e13bac57ff391aab54ddce615b63ceb0bbac9910be55aff2a917d55e95f39ba17eb5f0b06ec2ed0bb4e05c82324af8a26478e417a993da7ef487f7229e5c74914df5b2af72e664b3ed968d15d9ebbf95a8b0a45db8e94f9c764ad2d322fa402cd588e0f064d3beaa7ef70f98fc7e89180635863816bf92485203f6f8cd33f1b6d9f1ff9fb906faeaa27a21d326fc75b5e2353abb102ab3ece4ea9517e7a7016f220af461be37e119aef85545a5083fa9660eebbb56ddaa2f62db3f859c375a4b636f50563ffe6547ccb9db32968f490e1332a58e2bafd11957d31551f1feb499b1c29021b92759b7aba3c030e53f57e87b9d43e2aee953d70afb8e1700ed29ad94fddf01a8b450679339aeaff6c54aaf627d3eba4c399159b6a84ed6ffee31b9d4716f81e1b0ec474738e1a4eaa6e9d9ad5d601024e619eae99f1b758e477f46c079ff73fabc00e45ee9eb9b3fcc760269e68d26d2c8cfff86763be6a5fbe3833682f7348ae50eedefaf5cd8fcce17f573b226bfbda47017b0cfb935db4c74b97d3c303ded7bff56512fa34e4b4c179ffa4e60f7852603d9f15ca3deb213a33a0462058b0757d68c515dfe3478ffe00d7b46a2575bef34685ba35c7a9fc9b4ed8e438a4eb64dcc85ea427d8a67b21b9909c90c56b574b6fa28a79486ca8c57ce5bf6f6a1d1b1f7c632386105f2837c6147416c0152c727f83f49fb37cf312bd7099f8c739cb4866f9482f96ced678cdc87f0e1a857497503a2b77878b297126001e28f0e98c56901f071830b305ba0f6215803f36639736e7c5e66c7a31b9edb7a84ea1eec08db3dcd4c6ac526ed34a2f227f333ff0ab1fc7d05da9f05d7b96a55215ef39687461944bafaf071dd0b3995fd9f474ebdb5ce432e45f55398bb355ed6b09a4d98ab487025c476fbdf44b6ac9f26a032ef0535e0fe035390cfb89016bd60ee95ff1e1ff97f36b3d97eb3dc5b475cf8b910c3528d405f4a652803a2f59734b518ddee15e156ac04a792ea41dfe715e26d65d85e58cfacab73c85781fed909dc6da3546f37915db6799f59acffadde696946d0aac73cea74e972fc0277da0f87e18f3b2c1ec28c09744617cd2863bb8b00dbbdc98cd67dae5768017b43126d323c776b0742de0d6a7fbdc26a94baf62cb009c9cab8bf412e03701ffe8237ecb12630c0cc921225780b43fa93eae9ed0cb65c035b40b16fded06a7603d8773bf3f6ea85fb967e8b4adb7fd687d065146602a34e3807475d7d463cfd0e70d8e6acdd9c4ed33817827f097f5df19f2809558373fa381f76ed684577def0693d8392f69dbd4e31d3e7f75dc971a6f3b02fcea7fd54f7e9b09bd7e60df5eb7af1bb3d7776ed1fd1e638585fdebfd7360632cb283eafbdd75d2e7c489324bed62411c4c65eb99ab789fe8be35dacd1d86be233dd839b738f2adbd7125bf7f738b1c7e4baec175f22f6ae219a829bbd7f968c8063d988a52c587a3e739e68bfca8e6cd9c619cd2956f31d9db80edc34a5c334f9c335a85b65eadcf47cc45f25ed5363f33cb506a7c9ebfb5add9e6aec2744a07627674dff75ffc7e9c48d926f4f89d9ed5d3ecd80adb2c1da8834ba5f3ee62993bb5aa792a3726d21f27d4815b52fbaa0d97b27da4676d4ce12268804d71f338dff796754d97b277cf7af5fdc7d0f76bf03198c2a5c6297c78060d7bf1291f6c8d7df4d8b756077dc15745f5ebde0fff11f343d096ff0d97c4bcfe7e3f74d7c7bb35427aac7e6bb0d8feb57f827a5a3f5ee391ae02bb890520dba0ff19f3b22d43c06ee4f0780b413c3dceadbbac7d94ff794d776336c19ed2e7fb48df9bd46e6352938dbe64b75b5dd14c7a27a8ba72d4e8d5d1d8b3ba497b2b6d911fb7917edc45b1badb6f83a771e38e0e3ebec8e56222aaa7211b9b88a95f59e9bcfba9eba07aef57d96c9314adbf47eea14e0e456030f5d95a71c3eb149a835b9bfff744dfea8d8dc9ef5c27ce1993b35d3798cf2e6bee705a8b1ff0ef4bfc38ddc48fd33fe287bf163ffc2ff1c3bf891ffe3fe247b0163f822ff123b8891fdfff889fe77fd61fa7654ecbe147b1aeffd773da4ef4c40e9ec57f3abe2eea2f7589951d88f10b066db2d90af8ab1d43a70e1c1b09dceec73695db6ab43d598612dae62725f0abd81ee919d8b6a67f7713c01947fa7f40e65b78fc6fe283609b5d2d73171e66c2dff25faa582bf52305d3778f5f4dbe0a01fd1d002f20b76ff18bb16e597c91dcd5503f44f9b27a0fa462fc230067a31f8b261de2e7e33386c88fce9fee69743696fb31713642eec803464130795c937f5d53033925855ffb83e3239fc79bf396c0d001ec78b21e3a25f3459d90ba4bbcf0c0ddbf66c6535bc37cdb6e0cb51a14b2df099f7bf12f6ada997f9183502aa1fbbbfafd0a73a9c6712275acdfad159a92ce4a763094988c9d239bf860e6d3071ce5456da7db31dc53e737686cb14ef4e7793a0fb2ec347a8eb3f190575acfd36b8c97647fabed48d4b7fa6fd4d7de58dc8e6d2d408dd37b91c3c560ac9bc86f576dc35b7ef11f1721beba26bf2fe4f967642e73da9e9feef28c764d5e8fecc44ed035792e57d7f677b9c4d7ec645f54f725b6b6c2f7859f51755f2173cd7d775bcf5dcfb06399b3bdbff8643a314ae9bc8bddd1f6857caece0a2247a4679f514e5dff5abece51853cffc6968ab1cc21fb429c15ddbc9faeec01eccaf333392304bf89a9ac811f12e38f29e1b6f625534ab8af6319941236b10c0aedb1ca9f4c29e1a96b8373329983db60eae1dae4e5d1ac38e921f6a0d5f6b3927e257bd65627e5c14ce3a3d1b7eb94cc3696c5c68832eb11fb0ef8ad37c6f4f13b46a790bdddbf7ee096e5c6941faebbe87e63d1c30e517e71d66c9975eb8ba75fe42757f9dd63e01c9778995c7f20179c733ead786dd98da1d758312cf808664ba8a9a87d7da2c6c68246c7abc0be09554c0b7cc2dc34f390fe0b7ccabf392bb723c20735515a0cba915cfc1d8f40e2f7995be47e834b5052f92a1903bf20c16f929198c91847c6f237c63d59058b8b555889339f24041755c3b9e7ce69bfc296a1708d807f075f20be1693fc55ee9c62edea7787397595d5bcc2998c5839b06f1b06eceaa2c96f9b630c300be7e35d2afe361ffc2768aef86dba2eb2efc33c4f1aae50de62bde5f562022680ee1c96b8ded453631c9728e97033da5fec226724ee84c68892b845ba3eef2f5e909f25ee5461142fd20ebff56cc16e4cb7d2a5dcd462d89bc7c537cfd8bf571c8424a7f9a4c2c9f221cfaa5b5350f9efa066e447e4a31ae38e01de003e9fba85cf48909b96d3a81fe4187ed5355d158789685e816f71cd804df07dacfcf00287fa69419d14e0dfa33639b76df3f1776dceac3aa939aea1a69bfc6cab51660fea78fdf3f009573b5fc96995ca413fa97cdfde7c7a5f13fa0d9a5727cc8b7511635c3a7ee7383185fa4f75d6615b030231c05fec27025fc7a2c54e6d5437afc583fa69df77a9aeefb6aa9b6a6aa3bef671b93326b463d4382eb98feceba7181c44cdd6513da522e8194fcf3ec8ab5e05364dd6285998072616004364590e7ff790dbe83fd3651e6ba7c8b87e83a744e1f368cadaaa9508c095cb46b60ee385741518b355600deb34980fa3e20d9afcd89cbeaff273285c0b6f259e4aac2124734bb690a20a633d6c63cd96465ddc922da5242e6b0c73222f767ae4fab27139847f9aaf3537c5f846833ad24b3da1f5eb6c6f1ea3072eb70c0ff4e78fc3c7c9c1c8b3238fe66312d9e66761838df2c0c9c14afcf6e6724beac0cb50e7ebcd26e1818b339b5fc570de00f6b89f3adcaeb08d31ba2725f21e23cce1a31338a23e25cd5699c32ca30a63b78f297dff1ba6b494e48065fb1adb779b09491c413d05b9f6b58b2fcff2d7b8beb3497a34a9547a326e1b6d914afcee37f9f1d47a1eb56b13fc5dd3eaef05d68fd0d9554c5297063f7a54e766b8254d6f98e8e2a9d15b1f5bd51dfd02af2eece7b8bea8db40f26d6625188ff537fe85575ceddd9c72f239b5ce8ab942268eb7a4a0be09ea97c818786d0311f5944e10813ef28b312fe4b9508ff9e4ef3a484fee6b1f99535217c89d064ed1286d734dae24bef66dc34ddf45738bcef354e474c709b26f538dbd2e27977ddb68f4cf66b46debda7e95abe412d84f518bfd84eba470dceb17efd6ca00f0affcf1e669853518fd31463b6f9d4c2fc0b3fe6fb09c1eb9dcebbe434ed35a7bc8b352aad8dd4f9ddfa494a7744d51b77d9303d2f0838eb08f5fbe8bea6409dcf98b8aa7d6acf3880731e4c8fddbf2f89f65a41334e7f6b1ceb10b3f2851cd431c9f77d34686077982744ddd886fdedcc77e12339ff6e562f53e59cb5d7e7fce5d8e39c9693ca7a7264ebe664eac3bb31217e4e48ab699fcc72ed93b70409ff5b3c3b1677106b5c1b1655081a8f565629fb37c5fac6751e6852d7fb90379547eec2631e516be027a23eefb79a3672d07cc6c153a1c5b02ef418b030eb163cbd4f1f5f32a7647fad556575e37bee036e7d1df79cffd9f8dc1367cb38d1dd7e5536281bfbc7b2d039e707e88337d888b5c9f1e670bdf9be11a63cc69d069af1e8774636e1f39588a9c46d7db1c255d78e049473ac110277bb960d6e18291cb135573bc3f72bcd0e991bf431ec44163d3f55980fa86fa9aa7467f3c2d2d6b4cfe81df57b56076e6306c5de731f01e511d33ae39812a8cd4e67aed9f6bf990819f4b2f1b1e848ac3f8607ec62ef5c03f9c381c3b02de89eefd15075487ebf8662f48cee90511df5e3ef0ad3f728e03afabdacca7d669bb6af7c9f767b4872a2e7c2e2e3d4ebf3d3c2fd14ba4f7ee19e5621b3bbacf15df60da1b0fd787383806af1f79cc31b29e09f5bbfb1eb34cbd9a83be1dd7664c34832dbaef5a71c49b428d4bdd8c6ff3fc7a2e66681e2afe95029dbbbbe971e65798751f23519d68187bc05bd806ba4f2fc4a1e7a035c3211b976c2f22e6bae178a1c87e0cf01263db129d67a37cea04a712c92ca1c28eedd70e691d1c75b0bfa18d7a5f99a3765eab982bdbf250e7754edbc31aa8f8231e72a77abcce300724cf02c883394de1b6b67fe1726ee42870d9543c0e0d2f43b5462a0e0574c62f5e713a5fbb9cceb59f0c72c92929665b3957738e3095ff47a3e34de1d3d5fb373cfd036728d8b235c7068117515d6fd603c1e3b66ff8b8202722016c74d07b489e6691e06c22ea6981dfb7923fdf837c5ac9b88d2900cf2cc9ff017e4de005f5d4285d073ec6847d51ffba1e09acade621699789bc901ef9bce8af3dfbdce11563bbbc621ddeb618f32c3df0b6ddfe0f78db6add96aca361457e9f413d3e37fd33c8915740cd7f8f432d47b62c913b3dbe6f8a27fc4ba8ff7c6f3ecc7cdac9195b12feeb3d8be6186a56babed19a53f0a9ff20acb9d9602eb97d2aaa79b11961be9d96179f1de4d8ed7043c25ce9bea34e68a7c5deef720a723a83e3d151ba8ea768ddd3901fa47da4eb337ea66d6c87c71462554d4cb2d6cb2a1caf532a70cb049dbbc242dfec0201786e3db57fb691fbc54a0463fc07e264e0c3c2f2b7e1ec010c9cc739c0784304c6044dbec7225d47b09f69518dde4c8c915071a045a9a8a505d8fdbd7e7539f19ecdd592aaf71fc8c419e6a72374f8e9916f7d641b7e40af1ae5d33e9733f057aa71c7d76d161dbec618f49c91876457b20a1f79e005635fe90bd30b3177c0cd507131d732fb22cf405610bfcf585b7dd0e1de1cb25e35645b8eeb80585fdc18f3870fcbb6def8ec93d5f984b93a17b5cca55ff2fa6a6a9fd7b73e53e2d89eb5dcbe4f7c25244e517dfe3c9c130d57d4c07712f93c9ecadc3e3605911b37701693e7deebb6e774c501942bbdb818715e5a24e750ffbea36774ef253f4b0baa1b1722cfe1a15ceb4ae7c5beec8aab03fccd31fbd0169ef3e7b8e6c01bf9748c481bbd77feb13774cead5fe04389205bd1be139e70b62ed80dcea9acf9e530af9e2137fcb1989b0b304fa14e1ce76535bc88542557a016fdf1ddf59bcbf8a97d7ec155db690beba5b81e71911e1fe73175e94fdf3395b8cb357ceae4f26d08ce2db7ef43505b9b64a0fdd2365f7212b6b9197c3e15b96de553725329aece69aad58324fee9bcb6723ec4714b7b0635532ff6c320875f85c97867d77379bc9e5bf7f5bc539b1e3cfa7ab6d38df6393dce1fe5a4dd70f342eefd007fe9d6df98db3fe4187675868e1cbc006737e68e6963230911ab436b2d19e0382db04e3860d7bef0538e596dce529bfdfd4de4b75749cda9e39ca636e1f81f99fc3b68ff5666eddf6be26f59b3326f967da3f93882ff2bcabcf99d25f4d13fde3c6df54da6f34ef1a02d3abbdfc5de39f635ebe57d0ceae9fb9b93e8c0b149d827b9049c8395fe437c87ceefc3ec14c077c47521c8c973327df67bcccd5f9f976cdae1e2e12e99378bde0e01f60992ef72c0f371413a113a5f059e7c769411e76efb8eaa904a8b05c84db22d8da813c0fb17ed2bfac7ad38a85b5bc5539cd1aaea73d4e10adc63d994f6ec246dd0af4bc68f8b25d13e9287cbae7e019f6b3d875cfbf9006f6586e4e905e78bc581ad43bbd0673c3edb933c13209600ef393b417d0cf8b909eeb2751177fbf8302e98df901cc3ddac990f62bc3f81fbc0035eec4fb82ecc3f82aefed39d0b551d988b11927da74bebf37bd65604ebeca9ef04d97da6e71fccddc24d9629cefb6a39a8ebdfa1f5b3857d983fce05395767621cbbf3fe49f29021fd72e8acc5b56ca78b00cf7003d82349fee331e0cf78efc9bdcadf4fb1b52f409c45efa276ed8cdfb6e8c74070cd13294b701cf97279d0339931db72200bf5597a11b58b0f98e7f371a71dc005246c0524971addb3c19411d275b8a8647f23ab9b36c8e71d38349698c3aca3c736358ea49e0c3a6df35b8bc963cb142ec8ce70c2273cde95edeae1bd83d6cccde6969445be138f6cf2ee59e232796a31fb8b3ccbab3541fc16deabd35685f70372fccd0d69aa1affc1f3098d593bcee9adc77145d6dab56df0022be39aedaa0f574a02fcd0263604b9206b66dcf08f34391f10bbc1632cf17bd69b4f7e88f394f83ba5704ec71ecd1d794f2a96f4cf3a89bea1dead3336d85f8ccec38d8964e19586b874418cef2cfb7683fc56614cfca9df09b827306f773d9ee87d29cb88b39a9f0e9f75f83b07daa878e28a66cc919df96ec11ebdb262712d8e1d3eb77aed50ac1b601e79b4577a364467ccad620235be168d74cb6582e7352f907cc4eb354f37dae2ddadc734517e5c3e029bcb83e7d4d77b733312d0770f73e3fe9bb9e1a64847bb7f01fe4aeb9b92cc6d2683cdfdbbf938a879f1301fa6f0afe6c30d501b7f9d8ff4d97c1cd4fcd6cc07995f8bafb5b280d46583286b399326ddf348fd8dae83f9eb5bee828f26e7bbeb5f7103db9890b6f345548553953b12091c7b13b8c98f13d0b1637e525f383e195b06756e78829b58c30eeb14a4efb0a74b68450ef95abd336543e60e39c96e89f41b0fb88feff7ea5c20791da9c718c7079299452f261113beac9b3d13facfdd3f8b4dbb645edcfc7adbf0c2bb1364df184305729040ee1398c4b7766ea9fcb8efdb6f2bbccefa39a6f86cf6ed99003577de9cbe5be6aab4f7f1cd43ef89f3ca9bb97e6ad370631673779eaaf1c27aff13bd34aff78f876d9547ff09e9b7c167e3a51f973bf279ebc32672d39a779a5f4ec3ba73936f48fcfede3fcb21e7b9f613eeaab885a8a5e3166b0df62ae4f5c9b86e9ada1842951f1891bf6f631b03b65ad37685bbb26eeba1d981b121ec6da4df20fb647b223116242e4aa5d9a9f73efef448ec47c9dc4e87c614f04167a7a0be4fe0f2d81dc9278ff37d27f81c813e9c543cf15c54f910eaf7dcc1331addb2641b9d15fcce1c5b081c1e6f21c85358075a8a6ba4919dc34d4fd55aac75cdaa1d880dc6d219f06861afc178137a346a6360ac70ff3ab6fbf632fcde64fb8b662f57b1bc8b37a7038c9719a52d3e0e92ff02ebcdc7f70d85eb8a919e011ceddaf4597f326f4edd452dedc8686f36b0fe88180deac3d3f7e3c6e0f7c3364c63cf2ceb75daf2c5a333b3a955edfb4e0b74f60ef851ea58d8305ff9df7cf595acf8054f7fffb910877e818f50f985f29f973eb79197e29a9ce9cde5e2bb6d2a1863b8c138fbb8af93fa3b19c9309c3f5b5e31ded97cf1e6d431f192769abf8b9c32b5e6de86978368abe5fd30e99f3ad6be6558da396fbf37da22033985ee553f43e8d39c8aedd9e78fcbefca8daaff4f08f2feef00ffbfe6311467cbf8c8df7d59c57102e059076e44ec0b7447bbc819e9685d5078ee27a5c7ed62f72cfcb1c354e9e7e4db2af8e0d19efd71ce3a7e0f15f6229259b75560030eb2ac51d0fe815b96ba81c7c346f29eef5dc33c7ba8bdd0e174df39ebf7ca7f50d806fde325badce4ef04a7c062f21f9741f2cbadede8ab33b29b38be6d0ac89e4b9d242e0fe8bc2a9eb765f32bff608c0309732f3f69ab59b34c6deb3a06cbd8fb3c7547bbd849f4429cad6807e600f50bf0359fb585cef7cc06bde9499f8c09927b0af0de0d3fabde8b930aefeb2ecd963f52b21c59464cede09d26107b3147103beaf9e0974817033e95aebf117c58d82e3fe7536776eaeb218958e90250bf9d6c830aabe266cf4ee9d198f663743d5fd22285f82d33096db5794f1fb70118a99d316c73aa9ec60a8770779fdafacd3edab3b75d33ef3d7f048ed3747230b0bc24c7767c955a3da07f6f89734d410f0faabab7d6a780cfa84f9cc34bb3102f1a6d6f48cf1212dc8610a073a1ae57a09ada852a6f9f9c8f09e61242e73b5bd9be681fe25c1a415b5458a26dfcf0c8e7704688f305b629bb72235911320efdf6c83fc816e0f49070dbfb565e021603d493b8a0d3814f056abf051e3f5fe057b13bfafc71ce4a2ccd3e9b3c322718f4d977c615f6c2a08fbc332fdf62816b34f0dec171037116a54783cc4fb380bfa45ec7753cd756a34c534fbf940378fe811bb38d09a7901bfe78d6c5bd7d74060cb4673229896f0753b908413e12d55c117bfe39af38b573dedcfb4b79b9a02e0f3938d59ef62a792c60d954ef45f0d5923ccbd55a85f52df151faa486e1253f3aae5dd0ef480610639c9239ea2e5a2fe8fa82907d9887148dddd1366da84980318fd918724379c5b175ea8f876cd6eeb57433dade4c06c7fb31e6542f6e7bee7dafd18e13e4bd76680fea3e806b0bbd2705350c4dde246fc1faa9655cffac6a645f778edb35d3c8bf712a71d3566e34fe57f8fe44fa4931efac423b06b289a3cce3a9ac1727bed573fb284b6b99f9543702fcf2ee797df165936aed1963dfd799bad80b25ac85bc92979dbc41c22e6df48fe61ef4ce3cd8ea54fb0c19ebfc958caaf2dde29e8c62c10e68fdc638b77086749e469f6dcf9aa6be22aa6d800ab38dac2b699e991d30ce34f9bcf7a6cf6585f5ccf5c6644edda5fe39a0613f54ed7792e7d79f0d17bd3b05c6157768aaf18bb77b33af6b651f70b62bac0e7aa383edd2e89f44bdfb15eb64754c05bf43857b05be2269be481ffa3ea35859bd0fce5f654fd5efdeb409d8599d75dde889558e607e83b55a6173f4d7abc3f4718b3b35c03d8c9ac90fe6746f6b65b08d55c9207c2ec27926aa8b5cf865acb8c98368621ea7062316d607913f288490c3d2ae9757b646d0f71de5c5b37c547456bb0199b35ccb42885517c371c7bc7891ff5a10f1933f441c00e7a260aca2b7838afda23ac48dfc8554db8844dd9d737e9c37cbd891f29c1d98d787dfd4b26c18737efb7caeb44e8e7f1be3afe2a1a48c24bfc7febe81ba0fb596a3ba66317e6cf37ad6f80aeb35a02be181d323cfc86bbba5abe32e22bcf6d4982530aa2ab9a20ce58a808ed27ff7aeef066ae54e2eb7048c164286c487a0c91b7eb99645b5b2ff9eaf4b22ee55e96f55df60fc7ef18c4e0e741dcfc37d0e5eed756fb4f2dd47bf41d797d8d8f1437dc80b5c1bdae2491c3087436d5780add2ad6b3d5579c7e83dbdc2323fefb6b1c53981f84c6d626a48a775822a4fa2cb2bdfe6e85536d07a04358384bfc98e5b4ed318e4279943041c9ffcb6ab5375eb6f53d1cc603dc338f1c886feacecbf877e5e308771938f52f1a5ed2f07c80d1d77f33b082cc7831a437eea43ce2a1725ab24eae378d43e0bc03b1479a1c6f9aa74fa535a738c7ab398cc8b85b93498d8eb63c37574c3e53505ee49bc67805fa3cf71fa0bec2aa4f3ddd0bc3a7c84ce0f12a7343d9a148c490783a4a4ee6b663ab5dbd84c751657fa1e7dfd313bf505db9b85e470835fe1011666075fa69b27dec7d4b888b355c3a92b2cb17d03f6829a5798da15062d71068926d5eea557358f7d5943e605ec1ff216866a2ff3bfd55e3ecf5deab77fc5359aeae4087966708e6dd9ed884abb78f1f94d9c0b39b2dfc4b93c42ebe897782db95c7ea45284f5f7da07e19eff0b1e77847426d2464a3b719f5e1eb0adc66c0fafabc9257c15d7fc855f32599d5fe69335f52710abacd61adef3a47c6c7cb903dfb53991b6b125f6153b3df2fb3f22b7ff03f1d63affe0bf3d038f5544c4df78a1136f3bd4fb8adfd63a78ba7e912bfa5083f1fc9d7abefd217f58f39c019f1899938acefbf62c6c734f7deac863df791f3b4134331fc6663ebdd4b1e64aa742f21862694e303c9e22371eeaef0ddb9aab467fc4fe8ee80dfd06e6cac458fab86684cac8bcd73e8fdcf3316c6bebfeb6f6c8737fe8de4e7ce62ff98e36f7f7f6ba3e46d4663b2783e3f87cee5fbcc7c0bd384647d6a90dae7527696b6a5edc971c8c49ea223d73de1997813588fd48dd778ed9e7587efd35d8c8b64efe37b26fa0fecc68eaf223215810f8074aec7056b23aa3ffede99147b6f4eec72bf2f4056e11e670eacacf9f5e1ef5f1606c5b1cdd9805bfbf1bd9b78da1b3554eeefe60d0b133d2a9e7ba31d4d2fc885c8323d5f99dc40b19895d21aa397e4ebc4b1d43fff1cc6d7ac4f1bcd85bc4c027e925cbec5f3e6fe59cd13963fb0eb2bbba5c5819ce895a11f7a0f36c5fe54aad88776caeb5f70ec4d2b07f51c99c91128bd0d6f431ff3ad1931a079b8cebdb613f7f9aca9c1e6e51e5afeae33e3ccc537d66bb413387a95dbd9b6d4c0a87c9fb7e7b98fffe7b8bfcf6663271e4707a734d35b6a013f7afa3b521615f56ec201d82bb3fe429fc7fb5af5280092bc52ceda0f18a9668ac18e0154b9abffb73d25f53176f86d6f72eb3f5fada6e65cfa216c7eae1fbedbbad8d5919626383fd655d4647e7c6d53658da9b3d70185052ccfe386d1fc0063119f646fc0678386ccca17b13e77be041acf6daca31e8d8e662a89714ce7a537b6277319d4bdbc8935560c3ffd5beb93a861e1d8c2505380d046e43e56febb5af4f8f58c636ba0d7a37d5a0afb6b14b718e08b117fe4bbf2a8c2fb2cd1e9f7eb38f06ee83f5dcf87e86eef917b8757fd7351723519dccaa1ccaeca0d18594003e4f559fe10d60ae2ba30360b49d2ede9c0a84e04ae178ee847228e0c228b610b346b642159f4efcf86b26bce158f68af6386b2c841557d759a7ec806a3f27cbd262e2b4fdbc4a9d64597ca9cdef03745d09b741c5fb15788652ca41dbbe3592afe4678fb37205fc649d67f6aead7caf105ade30ede3bde5914e3bb849dd98f494c4896b63f98d2fa2a97579c6effc84b383c8c741fd0d4f01692fda5af62e9af55c6059d0bc1bbab71e1b739748da29589f1b7ef76afc9bfb43b7143a63296942e7f7b26667b6da19cf6b7daddbc705e370fb60cde0df3adc923a18e37c682e9bdf25b9ef71f14d5685f767f36b994a7830a2e6f381d3d17a216a31c8dc06c8e96bc66e3ddab2e24c08c4d13695cebb1f8d6347b6b99a5b383687fd923ccd421d37e08cb5f54d24663cd6e584dbc154887a1d8add1831c6b3e3b7a9a8c6d4019d7bc5672fbf44bf1d98c98fc78c4fc47a781366c27797ff16e413f4457a5c3fe917f33827954e5361f42f881af82d6b1579bcd1b655fe65f6dedb7f958cb15387cb65cb54a88d29a3f1a06a9cb37a1ead6459da9a4535bfa9790702024b614e6712b767e57220dfe4dcb3d9ab98f0c6fcc8b0ccf6c9762ea2596368e4be3bdaad6da41fb7580419eaabceb19465dc5b9c087ceffcc02d8b8d29dc2c23cf1c46d19db3e2dbc9fe62f7ea473cb55fcf7367654d186dca8f376f3efe47d1285609a7c5fabcfd67136ed98db6a036a50cdfc925c5cae5c71f659e529b70cc6c34aad81454be0ea8a21beb1dc49024fb7f25af69891edbb3fc36844d58c53473393cf91bf594af3521b1f5ec6e92980450efba2cbd05e4dbb1f2ec1ebcbfffc30ab8669eea8c67b880dcbf36f775817d92f345b19e2d5871be98c8811d634e90b88367d3f4754ee5d24cfaf979a7029c2bde79fe3f72007993b53f0b3ecb9a301634ea226b51b14a74478ea9948cc375e75cc884db3f7f7ed4157b541b5e0232f6449eabb70d337e7b18cff99dc4fdfd8331c22067fa61dd48dc3eebad27e8478b4141dc4b606c0fc8fa7e3b7b67b4f31d5ceb4bd539e2645fb78cefbb411e4bf30f92973f9530a6e2e5719d501d3ce35e5cddaf755e749688441db464ecd39526b01bed83c00cdfde3c8eadb037dc0b29cb211f1b7cd51d4ca89b85fa1b81eff7d303df6d93279857d896c526a4684513264a60256e786715cd2a658d5caf157e0eb9668381719b5394d4b91778bc1d7949b1def24a60735285393057680d6fcc9d438cd755d6a9cc09ea3cf5d35d42fdeec497e8be1fb5bbeec9fe2c773f1eb7ccd07a7d98d338bb036ef48898036de9019edbf331cf3a7dedc92eabe8c628b03ed9d40974642c9c6b8150edcf87f126d6c0e3fb48e6c3fdc459b5ff7e5cbf046e707122cf29b41f6ee4f8dafddcae9e7ff271cdcaefbdfce4db66d41bc36485ce2b4699413ecddbc0fbb27241df86e74ece203e6d8cfffc760e1b1f6167ad7d3eaeb5981a5a17f9509b38c78f902db3561feaaf0b27e8e516619c65c2d603bdbcad21c57d001f4fe5570d84f0215e40ac73361647fd7d273c1d7379762f07d64cba4ef4cefa7567bdb37746ae1bff013fa827db2e7d8e8cdfacffa3b1bfd563ba6b6ba17f1e7d18956e32c40b50c5915a79d39c8b416d57a1b3fae95e233172712e7e93fb622771e62cd03ada02268348605faf99313ba0270ce8489fac6de4a5ad427d06b157c753721dd85a3baf1ea78fa18602729006ae410dac101c55c8c5237d6da0633eb369fe4fd65e51e916893ee06baa74d0e7791a2fb11909bde42ad7e71537266b20aa77017edad818adbcea5c4b37217527749674137e801fbf33174674c5bc96a0b75d2553983ae77c2ac1d94b13f3fb71c776879f6eccfd05737946bf7f46f07ffd8c5351e3c06db48fb7aebe47a792065c67842cfe6407f25efcc7f51a3fd9efa706830cf2c607747ca7f5599067fdc5091eed04b19b97113aa3cf89f8a03bc079540cc85a6c1b213d8c072ed3fe9a07cc550db5f3e81f4dedee7980e7683e282f5ef6ed7776c2fd2e0dc898473da92baf1f30d28a5e3bd57988b1df9feaa903baede35c3ceab20ffdbd92d83bff821fa8137ff53a1c23f2b8e633c658987d5f4d4746d4fe63ca4d963797b17fdc84aef37b6ed2795758c6a4b413b6708c266fae79567d56588c50f96c8407ddb6ce45697234b11f7f89e3b79057917adcbeaa25040e30a2ae90a61d7e97ba5c1e0b3cf8574bc08a62c6556e851e1e78fd7668f2fedaeb56585f835c0f1fb8e26b9f27ce9f80383fc6afabb1279fe78d1dfad851333f7dc8ff32f3e9a195abe8efc1daad4edc0fda79c807e8e54cef5bbfd8136c3eef119b8fc6ef2674fda5846fc51c11f35bc5bb36e6d5b7cfbbd88d89efb4f44702dfd5b6e1d3c31819e43d1788a311eb08fb78b445d6ce09aebb92f87add00aeda5b95478acf46a3d57bd6099abb9c7d158f1cc0eab8bf8c87d638966a0ef993021193ede18fdf3c7ee53b67257146ab2b19f326af83ed487c16d5fbabbcebc481b547c445193bf34ce502f883494ebbcc296ded6dc89fbabb895ec52b4f81c4cb69dfc742f028c3efd6c5731cc46abfe37ed4ba62fdb917dba8fc2e044f26958a5aea3798e878de702ddda0fd5dfb6dfcb8ebe318c8d1c7ba458de97c039d96c0eff2668371dc46b60ed72daf80d711ea1a7962adaa9fc0152ef0dec536c6276fd472270bb3050bb81a5ae5331a928deaa4bfceffbf9eefa2f1e6ee27721dc16f82e8bd9b930f72ab1eef544ae2db81d3d15ec29c421a60ef93d8c7174f85739eeed7edc19a7b8951fd5c4654726fdf8e0105f17637e8e596427f0772834d2af37a79889de7684f74d7e131eeecc7d7358c312bf1fb3ef618963bcf9e59e9cb437bbf391b0cebe206956e6f28c1c61867c4e78b674cbe37e696b84662c3ee3301e928bdb9aff7f4e1453df7baf08bc7b9a0a7475c4fdfc329ca097c8c7cf0cce963cf89682d3d60450136797f3d3dab3fedd7a40fea1975ddabad76c70ce76f363a46853fd3d749a086b7bf1f714ee4c09c8938e7b5d51d8abc7906e9bfb4d5c9e339a846802ff878f651becc0fac69a6c19c7d65a761993d129e62e2f572f4a8c73ca72bd8f948ffa9f5adbaf60564f653ae9301ee4b825bade242aaf9e9ba9c4c9013b30c0fb30e274a88d68187f9509ee3be569cf1488711f86d6aeb2db7dcf139e752c7be762abe3bd2de39d49c1d9d3c90fbe5010b0ff0b4acc453fd86d3007319e3bc59fbdf8cd733cc7fe0f8fa2f31e9ed0347e00b7e02321690bad4c4d7808f6b7a3968742c6a63569eb3e82c4d374c7495b5345d878bb7ba367115d8a0fffe57bbc3094eb432dfa7e22cfad3e6c22e4b9789cf4e98dec4f99e52826739a44fd75e76407667c5450576ccfc2395b8d73c03b64961ee35ea25df4928915cecfc35741864d37ab49b40adfe1bc88d46cfd883fefac059a2e68c65e4b4ad5df2a3dae375d3a0b6336c65edf4e286f4bbc540bde0d923b955f836cf0de7fbea37cfa0e3b62f4b56e222f6559e31e077fd8e0b24de180be064226c528c473ddabe89bc0038c89eb1676d354f711d6d6db70b990bf5ffd19b8839230a59db028f9c4153591fe3b991fb6a0e7e38381fe92b6592fc5ee8735583656bb463a235af52efa251eb0da7c052856f71967d3b41d4b1e1e5d2eae479637d80dc7babc4093047c263adf2c74508ae718bcf753f0941f42d04d1e9abf86cd753326ef3d741eede3b5c4ca2969d8e5a16802ef317de8fcaa70fe3606bb48fb184096c5e38fb62329e7fdb18e85c8b905caa3805f717e0b3ea71917670a8ff9bbcc1fe82fdab7dd391f167dbdc6d3c66d27ebfdfc52ea31407f39372460292fd2d8e2ea353dac8bbb538baf1da426bbcc8cb976deacac431563f0e2fff9557a51adfcc6a9f7b7191cda14698cf6ddeb98ef12555df17d509d2099696a15cc4ee995a88e69572cff1fb41f52197d12930b74a6ffc6f1b73c7421dc973ecf912ead2b9450abcf691ee2359d1e5d0126a2e5ad8776e90ff88c0b111b57cb5e0831fb31e4fe3da0e22d7cb09dabc0bb22ef1bf9d3f725efb8fd6da1eb86e766d1b7d3e47a497fc767ed8af1185d606510ba238724c757871907c8231eff3e0e173a144636e8c56dec698d67e8d189d151ee47f46995be033dc39ff6bde3912d3d6c778beab0a1f70dbb5e3f97cfac26f90beacaf994da803a7df7ec53ba4115c6a6acde5d8cd59f334da91b545ae84322d87dbfb7a76cfd7f368a2ccb72365becda5b97c57e651298732a5948b4c2ea342d63eee6b6d3f928bfb44091793f5dc45bfcf646d7f5fcfa3913c8f2672712f94f9be44ed2ae5762ccd85b1527e8c94502ee410b56315ca5c1ecbdac7589edd4b59fba0d7da8992e78b4c093f467228d072e88ea5f98292436bbc9ec37332598b0a45fb18017eeeec5ec89a55c873772c871f8c34171859db8ed7f3532ecfe54c2e056a3d170a39dcc333d6739996cbe8aecc3f7269bebdcb21fa6e3b52ca6d2687162597db116a4b9a5b77657eba2ba555ac67f791527e148ab69fac519b9a40adb5052dcf17851cdc7345dbd3f2fc942b615448a88f9a7557c2ed643db73239dcd30a7afefc3496837bb19e0bf97a2ea3e74ca4b930513401dd3f96e727d457d4e75c2ead91acde4bb994194573d15ca039a0d7f32d2d87a791ac2d32595b946b4d60d65a544a73b95ccf054ad64e1345bd334a6895f2dc2de4f93e534ab7c4cf58a0be156b6d3b5234b7544a21933519cddd580e8589acde51ff69593b954af97187f7985b8c122eee0a7a5eb8c06380d6c80ce695596b7b469ecb23692e8ce4f2835acff71398d7f054006f6fb8cde13dc2fd4429e5fb7a8eda954b65be1f2930e6680dec7325fc6014ed942bc5bd54c28fbb5cee8bf5fc8342f3b3d6b6b4522e26f23ccae4d0456359cae5167d57ca73a180f79bdd69796e4d94f98991352b53c2fd4446f3a7ed19098d7b194d94f23452d05ad54eb95c46343c5b43ebf054c8a190a335af68f2489e7f14f2dc2aa5f962a4ccddb152ca23a58cd09aa3517bb05e827b21c378a3775ed012ac2f17c640d1844c0e6546d64e682f150a8c953056e632a3cc5d0a8d95a25923b9dce6b0964b01adc552d6b6a335ccb930914bb4eea3b1a9e665c53751d94f27469945ef9d3c06f5d4e0b51f8c09b2db08dfaccbba45deabcfba3368bc904eddcf87a8fd15843ef0e5cdac8bad4f6e0f3832ad6f8e88c7d8f1911b2722bf9bf673c59c6ebcfae2cdc7ff6cc2d5d49bdfa772f9919a815fe1382bf89a16b5d7eafbb48f9edff2a3834b2ef2db7f36e19839f2dbe9662e30a25e3f679157d7f2f69a40e36b6e2ffe7f1a6a7354fd9e26da1ce36b0b4ad427b89f23ba10b945765081c3b4cb338ce6e629fe79e353f5371ada67d15d2ed15a941bff831552688d50b2265368ad3573ccc8acac7de458a60994dce6f3471b4d1829a54cade748e6b675c6b646e57289645954cada62d2b665b17268dde539da1351a1b4f51de78d86f6a45b2a73ab54da5a97cb465bd0ca7c41295a84646c53d7d87f7f73a4df6dcc07d7d7f3090c05c0aa68ea6800a3956f9ee5a3738cf81c20bd82f81c225b82f81c49dc82fc1c4bdc96fc9c000f70fbf92cf116f9f922712e2bcfafe7cd7cc1ac8becdb2ee29bc1785ec323b6886fde5c2eb6d1fea2ccd2b3a8d598b1ee5409b7ef62713d8bc6c4b1698a95f9fb0563fb4f1cbba00a538dd0baca95511e6fe6f75c51e32f91dbc3b5b589afc945fc656bb0d6eea27abd198c7b5568eafb30f3e16f59d3bdfabaacd91e99dbec95d47d3d6afa31aaed294da31971f471b1d4e8db2a7c5fe2b6d9971a7d7bfa7564a2b6469e779c7f648e466748a71419ebe20639d2e1d2e3fce3dd0be9091a377b96471b6381f4e552a4e8a93c43b26a8af40bd037dc202f367beadb31eff7631d136316ac1b34b5283e7a4ebbbee9b4cea73099d554266a8b36c6f4bbb96fd4c65a4d66cbba45d35e44b6073652d39e4eb6976c8c6dd39e7d26db73d92fb569ef4cb67798ff3fe6fead4b51656903857fd0ba98a062b797a5028a9589264972b843b00b052caab44ae4d77f232241c1ea5eb3567ffb1d7b5fcc31bbe498997178e2898804e6ad3d2ffd4916bf91f1419a3e7e37a29357f97c2e8cd3d69c1c84a7d58117e6ab39b93ee4da2577e9dee5ea366ee77291b976c9333a9ea690da9ab57b4aa23ecc655f4cc34d5adbe3a6269965dcf344e484df13fc2fcf0967978aecffe51cc00aff760ef8c87f7b16e0c37f39279a5de43710178f31b2f18d6f2feb835b1e7b7efbe66645afd947fbada8e7853bf16abd223c009ca4481c165c6c1e0f68bd51bf62e1e0420e2f1ae1f19582bf9e6fc05fd7741e0346d3e861a3d8f34d6df3ec11275f098f6b72001c0158381b109e8d68ad0fc8f5a248fc083821069c067852a3f5936673c0b04f2aa95f6a3a5f0ea8f305536ba48677d555c429800fe7f180d4cb2b602f7a08147a78d2280f007b0dc86153db731db018e0a99a223e221a7dc0df84eb030ae33eb80ad95f0688270fee95d62f1237d54105cfa1809be6cb01e06d9bbf0c11a7f2279c179b6f1eb1ba42e6c188f0972b8ce779be84315f680d783138d93cab00f302b67dc4f1f40018f7a926b50ecfb852f4514b15c7516f86368f8780ffec2f187f097878007e93f29713057c77585ee93c1ed2d905d715621f8273d7c5ffb0a6fa951ed087423cd2fa513876c17863fea4113856c717c0f9368731e98a0d71027fd2e43cf663057bee0e2860fc0351619d29c64bfac006dc58eb43ca213ed06b3c976703320f149bbf405c03f3ab518895eaf831ae0079d31027d704e28a11015c5f6f6a3acf4eb40e06b4c6751d7c89390eee00f0329dbf48fc79d02fa4d66b7a4079061c5f933a06f939c1bfe8c11d429c01f102991305b03c992f075fe293c366400f9962cfb30b9ecb89460e4123cfb16ac31a1ec8885c01f3be5ce95c1fd9dc3d111e804e0c6d4e06cf187f900b058c8cf77819111ec3bb2bcf73c0dbee15650663b0cd80cc215620cad738c7059c7f01bdc3fbd4a07b8871a47c400c5a9311c1f835d02887b98b2f10e7e01c72886fb2af31117faad02ed49b119ecb639c0b52bb702ec8f490f20cf403e64385f88a1e9e6a8c73e69b0bade30139c4a88764be19218682f73b64171b70d61c7416d612f409e20d8897749c670a31d7f54b6ca592b90beb0b7123ac9742c18ec15ce17a05f08e1769e3bec45d033207d982d88ac0bf61dc2332071dded4e4105f29e8d81e743853302ee54f1ac83b3dc4177c2fd0f75e8cf6a2821db1797c25a0fbf55313276d601c1267d6b14af6fdf88d7002f64b85781fe3599e5de8e149953218c3b92388c5c9f532b2e744b339c46930de7844f9934a60ce660fb15e4d20eebed07a73a5579081e555f202fae8193988e5901c88829c0177310626302760b7c1eecc8962f34cfd1217d6e00f9e6a7a78d16c0774d685f7441b83fa5da32db8108c0b9f40ce2f146c3dcaf3528535b739da948718328678fc42e19dc197d601d80e882521f6c518006cd2d7f8d2d5481d6836e8261cabdd01e80491b67908f34038bc47f6187b822e6928173c464e811c3290afabcd415e5e2a94cf39ce5f4deaaca2a02b071de445238717b0bb1a417b0cf7580e68bd04b953e92180785eda853a033b34a27500e3aae9dc5570ed39e8ed06747c0072026b46e74f17325fa26d031d273c807128c8d5a05ee9b53d7755f441f506e65191fc438cbe0cf516f0c33c43df21e5677921358cf3099e0fbeb1b639d8a2663e0e4b94e5679431f00d714dae17d59ec70adacc3a38c13a100ecf031b09be3418c21ade6c420df2b0d4c01751b4d3a4c279e1e04f604cc8455d25f7920de9211ea0cd9abf5c50676bf469179bbfa894ebaae4269ee03fd0b1d1f37c03764925f36c440fa02fc10570048535712e0d17172bf400be1a70c5e6420ea4a2308787cd0079229e55bfe117c0263cd4fbe9f7fe71dcf370f3daf9e6d570ed93d32d67dad467109467bd22ff2f700cfd7c55cb1fa43f437ef94967b718eb2a63777281785ec65889e4180eee6f38865e9eb08dff955fa60bf1ffa8c709c8df94fb7df3e6bee4373cc3efee6be0bb925abff11ff602e3c12bbcbf3c27e98d3bfcd3b8651c5913882d258fd1bcdf52b9bf73229ff765dcd99fc6ad3563acef635c6acd7c96feb1e1601ef66bfdab7b35e3a0c766fc0ff2147ef94ecf548e7b5ee5f2ff3f2bfb309dc47b8873e5f778fbb90794e7c778edcbde4f81f73201df8eb81670c1f5ce4144f33ff132f475cdf50be21eb099f30eff62be4c1a3f3842ac7ee76cf268fe276e267c5df3a5f4d187a5460e9bfbfd062f13f0d560e7212eb85f93fe9e9fc1315d2674fe34b2f9b2a6e89fef63dace15f05f43e47bc0e7ddc7745af30dd8e68ad62ef8cbce982e13c2017bc48875edbb8dc8e17e36076c1ba88493ce1c85a735c451dcad60ac9d6b8edbb902b61ce21e0dec70674ca735d8eb1ad6627969aff9e5548f7b4afe4a7cdc67ed377d28dd1ef00edf648e7a7c5334abae6b3ebded9914142fa7882b975f9d357ee0a0b26856d5dd6b42efe514f4ae095f9f17718f778a6615ed5e13992fa76def1ae3f46cf49eb3dfce2ad27bb7c1e5141cbad7b0d3f3e2a5c77f6d67d55befdd8acb89f7ae494ecf468f437bddce2a7dcd9f7e30b02387b3beaa95ebca135b66dcbfa175e7225e9455b6299f4db16533d99bd5ec5579e722e69b37363b2937ae4cd9fc04ff652b9bf735bf7d87da5ac333664a4d0ce5b4e16aee299b33a99fde89504e9b5a7d5de9d969e36427c6d56ca5eb27c7c94ebc56b5959e4d4271d69f394b9e75bdf9f706ae2b9f8dcd24d9a7d3673d2b9f17afcd315df19deabd795e45e1bd9d4adc9e9f2b27eff6fc253edf9dabc66a70fe496695b376c9fb6e7f3eae8ca71373f29f647e76d64eeaacc5f29d5ff1f7893b3bbbbfe64f2731cb7f9259f62e9cdbef21fceec175b32af71496acc5f204efb5aa8d642da693cef76218ac83cb2fe0a37fb8ce6942f6f90ff7a0e69e6a24cfc6138c87c1754d2dbab9f682d7ed1e739ae5b3be9c84fbf4fc6cfc3cf1597662b57a5a99a3d3d6c94e02ffad9cb6fbec1473f5b25a90d36e969d9c03fcfbe5145fb393775055f99c609234cf79365e26c135ad9f4d1df7e877e6ea01ce8ff695bd72aae7b520efcef172799e6d26dc3957ab41fcea5c2bbef22f17fbba99ac66f23f6b760ef058ad3eaf9414e66209e7ac9c7374fb5d0de177aff9ddb9ff3e85df37784f396e2599abfe4a410e314fe6ea62a504efe02b9259e5e3798a3249ae155fbba35352abe9b33e9a44fb2a452c735047cf0b32d95e4f193c633757f72b05d77a0fd782be474eb55fbb17b9d7877e99f8d7eabaf64627bf56cf6043acd9394f66e7e3ca5426cef5ac248bcbe5593f95bfe6d349d7fe76fe8d3ce9ddc659a75b1fc1c03aadd4498f0fddced5fbbf6767d2e33dcdfb7d43f3f21ef4f84dd1b9af38ad86698f17eddcb7d8cece6fbdfb0e3af71d5cde79efbe69e7bee969a5d2ee7dd3e87edf349a9d3f605e3b633f6da5fc777caa7afff7ec7ced9d5f5c4efeb577fea173fe219a9dcbdef983cb89cf7ae7679df3b36876feec9e1f9a9753b0ef9d9f77cecfa3d9b9ee9def5d4ebbfefd8bcef945343ba7bdf38bcb29eadfffd839ff18cdcec3def9f0fefdf35f3be7bf46b333ed9e1f9997930bf3f3ff083f1d3ceea398afeedff0fe1d178df52dbfe5a0cdd129de9f945efff29dbb065f7bfbf716bfbb5ae577deda7aedeac6f3fc457ebbf9b6c62fa7ee7acb9a870ecf6cbe74f5e3440e9bfe71af73dcbb401cd83f5e748e179793ac25ec1cef3c1fd68b3ebc5fd4793eac0f85f75bb0c943dd5dfacba97e5b3fbe3c8a3a94df432b83e1666f77ea3b28d7f1fb139dfbe0be29f13efd1179da61bb1059c8cb2dd6db1d9e4adf57caffe3e754a48e4bdfa9caad3f3d451e2d9339fe0ed8b57c3647aff4f0d4ec0f1a5c08ee810bc7c89fdeaddcf59eabc8fdc079596e3de3183a933a29e2f79da99eec41db475d6d1c7d74f58ef98c9a96bf5b88c3ee302d0337758849f5ed302464b0a9c345a61245d5a81f1eb61e1d70af9c268a3ab7fd32db7ab474dcf43531ad05f5cbf5b648eb40c46a9c4fb9534c32c7b0867c908d92625387734ab6051d7353d176a2d4ec45ba16e649e573fa1a0f0c9ffa9615b9cb6b20128fa8c6d9e66ce32af9d071d93454347dc3a9c57431e2456ead14c6b683c4628bf4ddcb9368974f8f443f5b1bc5383a2e1bed0ab6dc2e6824e6ccde0cf269a8e4f38d97589b5abc05594a135de59b43a2bbdee4e8b8f4769c295a1d88749a9874c10ed39499936368a4ab5839cf7951eed9a01a7223b43de3a572338d88613af00ecb51622eaf74c122a6845ae0e7efb4793ff93e7466bb8c6d156d1eb9c6ed79d42bf78eae2adccb670fe7c3f185779ceed9301e382eb5b7a23c7bfce17d0f39fcfda7f169bf1d9f5a5e822c19d22c9f73ce6ca186afdc53d9fff4be19fdb7f7a53b5d1b736ed9cc244366189fb7f753965ae7efcda6cec7a19e9e62b574a97e7f9e6d64d7dd627a6099f51aeac9311c18becb736beb36eb63b85568861ee35325c8626d5b581af1c37dc48d774fa4ab38cbdfbaf70b955cdf2df24828a38be3a6596c944bb7986c5c25bb70971d22375f4466958a01fb0cf5cd2572559771cb8af8cbfbc3fbbe0559724a5421e5a3952f753ab7bd7324d472ec9af1c581f3791aed5cebe2659b4b24fef57dcb0dc897128e83e1eb251230fe92085d94b7fb7928ef1f8e9b9c2275ca9d9c7984e7aba0c82ad7a367db3b67383e2f9f11939ed9511c485e0e828172b1ddfcc33de6a1a8c538c8129318250f878c6e6a36e62e3362fd77f395849e617dde9f67e0dfdea2b4a8ab8e3d2fb7988aeb6324a67566471689f9b4146e6212d3986ffc7c2d74e50aef1315d6821d4bb42f1eb746bbac721dbc5ed71cef74d9659a1b0d051586a8f9b19c26aef616d4d374534f557e30429269259d8bb5d0cb4f6e302371d537ef6011b7de5c039751f89b7191457c73751546893be17491daa298947cf10a325b4af993f62151f3c02d26161b54efae4157aec0bf835d96a9dc2f511edc22cd982294a050cdc4285d62e68229c12570e974e74e5ccea915b916c883b92be8989879488ee9981bccc2eb796e45f574cc8bb2793f4a984987dc2c43a268f36458da512654aeb203712bdde3944459f8c90da2248afac68f298932bde266794c5c55173ea56ebdb970953924534bba48d64cd7f07c92a9632f4fec28cfe1fddf77a63187f96226abb920ca4e9ff0645892283786fc60e1fd18a77ba60b957ba545dccae5beb099aed7814b14ea4e028f4f4994650ae7d3e32ed3de842fa8c8b32b5788425ccdf58a92e2fa78a5b1cbaab78d9fd8119faa3c63eff2feb83e0af7cb953c9ec3df557bdce10cd78f7ba5b9552a4e17098d32ad6ed737ac2dc27455e5393bec8ca474fc7013d6d3e78e3ddb38fa837d907fbf8699fa160dcbf546c98f1eca7bce892f42511ba7ce7a5b4cc7f53ec27af1230d3d5d1bc3f1a8b096dc6774e7c2f5a0bfcc157e42a24cd5b84287d4d5343ab7eca8a8663c63079057d7cf0933f41ad75757cb649810a68b9a8bf67c61ef3251f39c4de5f869fffc7a6aeff8e6ca3366c58a3abf5d2fcf1fc37c31f324cfcf26de769093dda1efdfd8221d7a2275b64abed89ae78dab940cff56d3b1c305dd15e7d271132732d982f96cbf7543c5cb617cd29e6d1443e32aa3d4fd933d52e17a66bbf93b991bd27e78e53156b4399dd3763e04ac9f80f735507e2de24ee6ddf9206ef5b6c1f10bd087e9ced53418bf5b338de70ceea783bc45b9ab709d4de57ca4edf97407f7aba7242ac895abf125512ad7f585bdcb33d5134c240aca9bbdf3e38abb529f8221a59b613292f7d3dc8d2f28d3b39aebf7f389ee76cfb7856ea8dc6516512a7de3e3f5c3f67ceee76bf85b0c722be9e10f0afe60b901fb31488e81c0f93ac9bfd3827be53bd1d5b9e32511d8134f902a11b94fbceabe5e4aae3b1cf4d180f9b663350ff8b184e38d7fd7e4f5606f0d46777af5160e29dd65aaca152688916b6401f6d4bd701df4491b333f97f644a143d04797338afaea3201e3c3f9cec4d8138ceddceacde396ed0ee30bf73285a0fedfc66f243a1c1714e7d72c0de26a65520b12e562cc75d06fcde5bdf3b5395de0fac1fb5954e46317e6df242ad79905fa23f89430c3007d67b102f69e4a7dc98842759527c3946eea0dd897307155977383303d07fb03f2a607356dafb7405f36287fb9ca8fa580f1304ee9ce4f46dc2c0fbb4ce574ce6c66e4358c0ff08aeb530afe83fb65182b605f73ba03fb7c44fbad3badfd55e830512addf105dd65283f33a16863817f6b6fdc90f21f0dc5daad9f54d4575783f500fb3802f9228a3a767d06f23ee4c7f214e9ea7883f29bd7dc47ff37f6beccb7616feaa7caf3b34b82f884023e80f73b52a94f70ff31374b4194c91cd69f19aed2bccf18fc8b0bfaaab010d7630ec77305fc43a2a825995b24caddab3c1fe4a52442cedffbce64f27816ceb88afec4653e5dbb351b7195193d7b05f1813be1a0cf11df28dc5329ccbfe0d4de81bc09f0cf950efe262ac805fc1775d537d7a7f606f4df2f0dc0af743eb5a34c7b057d495c554b86f91adfff660f12b2c1f568e5aba45171ae41be1257e5490df2cd465dfbb1017f63b063e2423c6185686f617df17962cd74987f900775ece1fa6c403fc258d1349487dc5078218f833dc1f1e78cc1fa6cb861effc4493f649d3e47ca82a2f4a01e3dd1c2c1be5a7289d28ab389d1bb63013b83fa57ae532b4470ac88bb1d3354e16a9d4279c6fd51519a3bb2c97fe3aabc03e90a8385db80afa8c78c016f8fe25f84f3daca7f07c90f763aca863ee8b3533dc8b18281702fa0ffe1af441eab71b9913d2c86316e17c18128ff999425cd56df41fe713c6cbf9d48efcb896f65bf5c321d80f75e409c0639aeef9a91c7fc6c29ddeb39f54eabb01fe04f57767846fd2bfea6a73bdebf865ebffad5dd6b9deb8df5f34f8801ac9992c5258ef212f4af09f0b90df28536aeee768efb8d4ff612b0f6401784887f80b8f3bdca0ee50da07ea563a037d047972a5be6f7cc06746677de1feaa9497eccbf8dca066edf8191ce7e8cff2b13caebe79383ee3767fc45f86316ec6e7a2ff84ebfd724a7579fd2ed395aefc37e307fb2df19b918f617d773ac843690bd04737417c26b8a0919fa07da06e8b4fe0f9e402c7c1beb8433ccea8aebee3fce54293f255bd093f5fbbc3fbfc25b505f6b2027f288f9794148d3c8b7ccc1a7f0cf395282dfe742bae920bf82bb0b78dfeb1bbbe97af52dec0fee0f18a1fcb8e7d31143c9ec9f10ac355e578313eb019e893571e29fa3ff077f9987b682f39ae77a65cb8422e893bd15d6ec9f983f771abb7a8b6e8d6151ad843a26b3ae837e2f38cb18eff1fb5785bf80cecd588fb6584fa0cf1866128a84fae360e878c803fe539b910e97f6c17f0b25c4f3718c2fc8831de4faf5c0ff0b5ee02fe65f07e80f7841c0ff82f97f9100f6415cfc88528703f617b4656a13c1a38df94e9aedaac0ff837cacc04e50bfdf9fdb821fd01d8736384ebebc27a085b80fd91fed8e55c48ffea3201fe85f9a5dde807a5ba06e3a5bb5ca0ff24ca4487f82d2a28fa6bf00f52deb3f67ee368087826d7103fb9da1be38c487b4d14f09b5bdd5a6fea4dcd0513b132013c29edcf5dff6cc437c77c485c752eed5df9d6e8cb3c19e6325e51c985e8ad7d437c22201e24f329c85f2df17bf5e6f8a58df18b90e317189f487b1e2b30bec416e65901fc4a217eaa2989f25c69edb37c9e3a6ce4e96eaf60bef4aa19bf1835faee36f1d015fd05c64742fa6fefeebf777caaa13dd5317ea5c208ae3c97f2288a92a2ff2b4a21f52187f719813f4a140dfdd10efc6d81f8658efa56c4e0af40fedf38d86303fd07c5f8bb95379d1d1258cf39837871d6c667412d00bf83fe4e09ea6f72b35744d138e8ff8e6f2e5ee32f85cf28fa4bafbc8d17f54b6121f81bee276bc02f605f09c8e7225f33985f2f8378b3c557303f42faf39c0a5d4579c2f816f56d73017c0aefc77983f75c46fbf81cf1e29bd43f57e59e0678a7a48b3444fc91c37aa9ba90f1a7c23346c19f313f05fd04f9b692063f095da9fe12dff3efe17bf1077caf961d7c6f1017f128c83fc48310bfbb8e9f874217f8be180f0d538af113c663373ca6a03e6613dd45bcb6b970af74763ac64b745724ad3f1a87c39c34f77b8f1555a38b12f09082faa96b8dbf11209f62e76a73695f435ff21ba32bf34bf007a0ef88f7a2e1cd1f4e11cf83bd00fb20607dc01e508967d03fa3bfeaf9430fec9149405e42aa4f02c60d197f7b391e07bcc1205e3310efe94e91da88df3d907ff00716f8dbaefd90f85e659694778b36f8c5da813f04fdcef2dbfd519ec03ea84c10a9cf6b771883fe1fc1fe253593fa95d3eef9e03f0ddace4f91d4e03fc0de718c6ff40b8c679769f3aeff05fd0887806772789eb1332997785b51f83143ffe4706647fc49e243572bc9dc20516e8cf8c132763ad87bf087105f837d9fb802e323399fb0de0efa63a35dcfb1935914e35bc142a203de01fce55e79761f0fda7b4ff24fd21f6475a082bc4c5c88b750bf05c69ff27ac00b86b477dc4f4301f85397c73777fc68c87800f106c893c75dd57501cfe67a05f3b9cb549f417c2de315c0736fb0debb22d1faf807e515f02797f2a828e8df148c5fd7f83c88b7320de3e3561ed11ecc2d8af11fcaa3ea7a3e95785f69ec3fc40386d1911f8c27c6e03f247f31a5ee10e5e770939f82f6e56798c0fd0e44e2bb567e2cc9f7807dca2e0fe7c37cbc83bf42fb5e108517a01f180f13a62b57785e070fd5188f64122f41bc15a8ec9020becb653c57e4e8efa261137fe7ccdc64aabbf19bf10936453cd489376305f03efa53c4cfc49d40fc4ea3ac4c1d2f1bad1ef87fbbc9976c9496ef6ef8f143aa7195b11df249e7d033ac576ec46a645abeb8f375c75051dfa27a4a23373f7adc1a4526a979cbf70f41fef17ab08f3617ec48a43eac3730ff2e41fccd3885f945fe66a78f6ae63318bf0a7809f9917abaded4e85f51dfc91ce65f51b9488e60ff01ff7b602f055176187f5019af1dcbf704f174bac6f84a417fecf24ca5c2c860fd8f44e203e4c382469f377e4ac53051307ecbb437e633881f01ff19c4337481785d6ff4491d33c4fb685fdf7719c4af86e46b8ef910f1c0dc5a0b5d7be50af2812ef373c2cc6428f14807cf0bd4f7b7a8c6f969e2c9263ecb43c46fa48d2f41be72793ef3217e7a92f6499f2c5dc49bea58e2514d8f86e5bec10fef600f19ea6ba6726ee17a787e698b617cc5e765101fa56bf4e72ab3235d43fcb9937850e2016e75e389064f2935e0518987a66b3668f0af91bb1ce339f7daf80b0df036c65f8d7e3288cf7290d7ec22f92d6a7b3aca3ba3d2fed15dae03de0931be047cad67929fccb47388f3ad283c1743c96fc0fab857c4474af5c60be3311f646d147d14284dbee33895fe5ae63f4c7b91af85618c31ff81f98694885abc067922ee78213936784173bc2424c7f435a829b5ddfccc8ff40078505e3fe54ea651c4ff2dfe6ce5ad91ef8d5fd29d5c3ff04fbec43f59e50966201ec6783d19219ed2217eeef173126f9a6789df1b7b29c05e1432fe44ff9be7c396ff42ff503f5d519e14903f9017f7c2396def27e33545c6579e5f668dfebd27ba06f1de9ae9da08e34f5d9dd3f99430ddbda2fc817f5b48be2f403e19f06129f1b9c25e8502f199b0b799184af904ffc45a3e0cf914e18bb530b28bc89825e3438b34fcca61a72b57e6e72ddf47c1bf807f4479effa17f30cf79b22df82c7dbfc04bc1fe0eb538dfed7d5e0fd25bef14ad417c4a777ff8bfa2e0c8cef00af80bfa1516e48fe15f99ca9d4f722eff85fd4a729d85fb21036e0b5406df94f4bde1ff921f97ebb2cbb84186f81ff1704e3e163498908df8221f8772d0d729c6f4ee7d4467ce84b7e97b77800f4c56dfdb98bfc52cf3f79108f6b6fe0cf84496a4f40bc00f1b44118cc97c218f25d77f9c2f82f007c635288a705f289188f8775c34f22df2acc6ac40d1c5ff3f719f10a7555c48b4d7c1145325e69f8e41efed230be90f34d77997e95f1a63a96fcb200fb0b78aefb7ec88f6fda78c203fcab6932bf266a7e84f86a02f6a58b6731df81f1afe40bc6ce5fd907fdf23dfb807cffbfdb873c43fb1d2b108fc1fac47568cafc6358d3fda6d55757f2eb422f5f255e94f288fa2358d8e77333f487c2a792cfcdf138e64f84a1dff016e3d3f5a663cf1b7eed027892223f3ab589d2c89baee992ff413ccb307f302c4301781ef979c0c7108f6d6aee97ac17cf40bca8cbf82cca4307f4ade1936cd4d70cf954d027c9d7eb2c44febf407e506bf26b184f21dfeb76ed19c6ffeff27822f9e0c6df7b3e5d23df9c77e7c740fe8f225f2feca8a0e3c045f9d5837a7a10126f1d1a7e10aeaf205e92f72f6d66a6af0d1e77c3211cc7e71f1fe79f229f6e413ca181bf06ff18d453baf3d1bf1fc07fdcfdbfe43f0447fba134f1d392c9f8b9e2c7528e1ff3c367850b893f38e20f8c3fde253ec6f8acbed9e74569ef0a19af1391bb187f9931f8d3a3e49b7bf60ef9b908fcad8178540f6a8b30d07f9531b077c110ec33eae73dbf07f126f21daa1b80ffd10d995fbec527f908f04dc73e564d3cd5d8135137d743fc6937f1eefba3fcece07d86c85740fc7f90faccd698ef32918fe9f17d14f92c26e35b01f203f6c768f35fa2c3ff8ea43f057c92af917f437c0d7803e227cc5f8a9ddbe15384e45719b76824f91f882734cca701fe6ed6dbe1d4eee225e4b3c05f1512ef04c35cfa77ccdf6b582f80f3a7f6ecf1a8f15f6f416dc8fc8ecb8c9d47dd8dcc775c1b7debc5ff249be8d17cbac6fcbd22f9e20d37e8d61523b08f4497f6b9b1efb4377fbae43305f2c9b9c68beac233f58d63bd433ec6f802f98144f2bfc8f76825e677f3ecdaf5c7289f7e09784e77315f89f93743f2b74d7ecf93fac8fd07fea1956769af978c5bd2bff9d2df4643d0df33e27f8af50da98c07d576bd85c4ff1d7bb1e36c84f97fc43b256526937806f593d93b3e1db5eb29f1427ce507caa47e01fe114dfe6db2088710df338d73cb007be9f889ddc68b89a2f11e5f807c25e80be2b3f7b8993fa6ab75c307eaddf1270d3f80fc11e653359717c61ef9068519888f01cf67bac20bd5007c1ed5ccde48fcf14ef52e5f21f9d20df2c128ff8ce893b98c678506f349319ec87bf9168c67603d319ec178cc268a8bf50c89d2d40780fc14377e9cee8a586de2754dae9faaa0bc290d7f9ea9634fc8fa0b591f81d75b54efe58b84e45f0c395f2a3bec3cdac43fa71ae36bbd911fb95eef92df3460bd2a9e879f915b8dffb7fa284d17dfa98f32f4ea5bf551ee44d64741fcaf63fe14d787a8f958f2d3a36b22e5670cfe09f08cb8f38306c96efce08817e517ff02feddfdbd7faf3afebd6f7ffe37ffceffd2bf8f1a3e69dcf0c3b5ccb7a27dbac52be02fc4ddbfd3bb7f577fe7df8fbff3efd1f0e6dfdfff57ffdee0c9ff8ff8f77c28ed215b239f8df94999af46ffa54a7e22189634f2513f707d39a7703ef271913e99e3fc80ff52d03ee91dfeacc9cf5b36331345e263ac57b0771ceb330e889f311f47bbf1398d38f2ff6ca7233f4031dfefc2f952dea20ce3f36ebd0fe8336df27dadbf67bb4c2da53d31c65dfeac79ff86bf07fd8e2f982f427bd3f1ef7ad7ffca7c6084fc77c3bfba4dbc06f20378c2edceff0ddf50e47f1bfd68f2a3926fc4fa8f1e9fd6f015b9c44f8afac665fd8426f39b132ef97dd1992fcc2f8eb95f8672bea9e4b3255fe7bad29e0dd15ee95a6f3c3bac1701fc83787fbad3d50fc04fa29dcf369f5c201e38827d0c6b9661fc96b3633b3e66080df90345f207e8cf8f77fdbe8f0ff1932d64bd8345f2e49dc8f140fc7980f904fc17413ce6a9c84778dc586fe47a84f7fab0bb7fe1184fe0714be6db5329bfe8ef54d791f1bddac307b25ea5e1a385cd0c0bf363c46ddf17f529a4c817a3fdafd0dfa1bedcea99de6977bddd169f4ded467e69a28c6a9c4f1d9f77047f84f9ee2c6ff8ef89ee719a35f116a37af3bc4c575a7ed0f1cbb0c9ef22bf22eb271ef2fbd2be18ed78b0beaef1ef0eda6b36ecd70b1a35f7ca03ac3fc48998df90e7bf39ff57fe5ed09bbfefd707fc377fdfd4c7fcffe5efc5dddfbbff83bfcfe9ff89bfff563db4a17fb31e1ae27161ef0aa2b4fc6334ccd70ef847988f4c95f618ecbb07eb8bf18cbd91f8dd2132bf67b7c7a9aebd45c8a73d81bfa0a8af60dfb1fe4be66bc2610a78a1a91f5351df9afa0bdaf3578dfd09ea29118601f2742486817c74549c313f82f52773b42f3dfbbf93fc65b8433c52223f2cf96ff01f79cbbfb0265f62ef72ac1700f97f730e16e06d8d2b2c73b0be0fd68b54fc4091bf10dc92faef32d6da3766b4f5882abc6f867c98907c1bc7fc37d62b5960df3cbfa458bf25e7f7217e90f91221ebe92cc9d7d30cf93bb0a746ee3a10cf603d4409f2d9b3c798aff0d35bfd61a2686553cfa6817ec70ad60bb6f50237ff87faaf322aeb6b524afca9d2c46ffa06eb075499ffd5351feb29725d41fe1cf95ed6abd769eafb6ef50e9eac0792f55f7acbffe4e0bfc11e74f5c992f57c54e6e73cf5b8d3a57f77f4967f9d34f9fe1ce6f77dd7d4b760be02f557457cb9e358dfc17af53c85c49fe190493e56302770f3d29e9dfbfd2b3c3d34f5f7b3d828f57b3d7e30daa13fc47afc774fa44ea4573ef5d2bd505dcdf1aa5964b245384828d6cb1d732b54b3ebce4c0f445134c753ed784035b2c8f17ad7a02b8ef53d89ac4ff14b593f89f9cc7c28eb5f2add413e4279a84f3654cc1f65da581c2941bc2af952f08f14e35b69bfb01e97e9aecc1fea5febb182da90f59219cb3699ec6740bc8a7c2fdaffae7c8e5d8caf8d1aeb195c4d0fcd54aea75f62fdb2acff5535b0c70f7ca9cc37823dcf0d8d7b554814e47bd2a65e63253a7c62e022dffeb65d603d4c9b7f74bd6272cf37c87a16295f39417ce87cc10b96946f81f9a086df512a198f49be491879d77ec8785cb07719cf322a8cbfcb4752fd5bf948d93ff06ff9480feb3bdf42582fc0eb85b41f91ac9757dbfa12ce05756b999f216ec5e9a25c0b3d7c6beb1764bd9fac6fdbe96a832794aacda7338cf751bf8eadbc617e57417eaaad9f417e1bf1e69cda88df25de74a361534f87f66902f108f80b895f417ffd467e158a7839a8a9ddc4eff4c617e9b25e43e65f2d7b27f150d8e437689467b527eb7bdf3ccee0fa31e2e76ca207c3877cd37cba662655643f837a4e64fd98e4e7f4c952e6fbd421cea7ae35eb8f7807e25bddf5d310eb475c76dcb9373e66c8fdf200f31d0d4bdad4334e779926eb010bdaf099d59b0b78a59e627d38c5fa3ab1164d3e047006937c5f85f54c32dea14dfdd73bf86bec8731cfe376fd38d64b0b69ff32f4bfeb861f9f36f1eafa1e6f83bd477f5df323d6ab703a37d6cc90f53a04e2a902eb6554599f8af5c78ff924bacb309e16541f557fd10f6233f35bfd20eccffd20f9bd1f6491437c03fe2a047b13d553cc07ba0ab34886786e8ff57147c9dfc9fa5c31e4c579b87365fd7c04fa83f583da2294fd1d15f7b450e6efe89a79e09f417ed593c7851df1cd05fc11d66ff1a98df9f6ec569f4e9bfa33831446538f135fb887cf7b037bc6647dcabbac87ce65bf99608c780cee47a23cfc94ebab8d19177ee4e6836e3f1ed81b574f5bff920ac46fd2df44664831be70a915aa25cc67e8d686ea89b8da1a77fce8b80cf0a3bb01fca768b527527b87fdb3b7fe50b81efc9d2b745593784f7383215d23fe12cc7190bf87f91e5d1b7ffe268a89c467c7d2a24688f97dec9fc0f9524b99ffd37caeca7cb8c70db0f717599ff777f224643ddbbfc993d8e9df91a7d2463c27647d5f2b4f80d3305fe137fa90637d7c937fce305f89f5b62d9ef4cb5bfd7924ed03da63cf2fa57dbad9078c0f149ec9784fc64f88d718417b65c87a039c5f198f09f3ac35f9cda6def27c8b17c11f0bbdb14f92afb677b23e4ac87c8b90ef772cc5ce33e6b7fe8ba20aa98bfd32363b22de93f5f2f2fdc73c672b92219e48657f814a65bc6fd9917fcbb7cec902e55bbbff9d13ccc7c8fa2ef42f51e6d632bf01f3d9d437817f40f968ed7d69113539934513af8934244dfc440a9cbf2cc27e1a6bcdccf3bdde980b595f9bcb7c00e6cf017f497d72ddd6df21df0efe8dd1265f63c8e74f010f377c09d87bb4c770dcfb1b7c28fcfc3bf8b092faf60d7c8878db1821ffd9ae97978c79519e647f6669ef0af629f35f13dde353192fc07a9b868ef530c5e9228ad248d05f5b699b9fa5aeb6c4fecbe2acf14c60ffe5768ef5f697a6bf15eb0d8461fd0dfe11bbec3bf8c790fd8fff867ffcf240112f4c25feb9d9efa63e314b104f306e49fea8c07af14583f701af3adc55c768ef3305ebe176baaa7b68bf247f440696e4f3b27c8cfa8dfe3d07f96bf934776b1afba63e5af269f3a92d8cf253fa53558f16b77e29daf009549804f9188c2ffdfceffa8573c6bed32f2cf8f47bfdc2b27e0ffbdd988cff1819b037c41326c5fa32cc2f0dd3b5c8b3ce7c63bd682ded63c3af48beefb893f52b14f3570d1ee3124f2b0d5f3ebfd55f61bdf8a489a7b11ec4007c24eb47f5cbad9ec2cff74cf25f216df95233ae5c853129cf539b1c9bf5d1d5b7a67e1bceb703cf6af2c362c40dec17d4053738d6e71c336567b2375c9fc1cdbec8fea6864fde21de9ed2a65e1bf0348c6fcd0c63d4f6cf84b5e8d8978a231f9137fd238dbdc17c87dae413e606157af857fa44be55df68d8eef7e28977d98f9ad2dfea13b7fe4d9f6ceee2f36ef55aff17fa14fedfe953f83d7db2bea74f2ed627487e491743907f0af1f1dcbac9e35669e43b735551607d23e0bf14f1875f8654e463e4a3fca6ffd7d5dec261d9c6634d7ed85ab3265f40f55bfe5593f5715a09fe58186e25f3e19a2bfb3f507fb03f0cf17c2eb4209378d3e3acadd73d12afc5af2785abc9b0e71f3322f3ddc8efca7ec3446fd70bf1abc40f0788d7d848ee9730baf24e3f70d3cfdaea8f21f3f5b29e98676dbec75833b3d2b17e15e585ae91bfc6fa05d595f56054bbe1e9b6df4cc8f848d6ab9e241feeaaa7bfc29726fd16be24ca77f0654a7719f277d3867f68fbef6dec7f5c246dbfdc74f7a57e4285f859c6877e7990fd42296df34510bff7fb9fb11e04fcf9a8ad97e1982f043cdacb5f8d9b7a4a4e16c216467609cd0cf589734649e62ab23f51d564ff0151bbd76f647f5688fd227343d6b763fd06f22f6be48765fdcfbcc34f02bed2e8225de3f9b2ff0ef126f205b77ea336bf80fdd26e3064b27e22937c7a50b31bbf49f57efe04e4d9c17ecf269f21fb2b213eae5bfec1edd44b26b81f440eebddd447b4fd568aec1771259fd2efe71492cf86f805f1782afb7f65ffa0ec7732e9e8a17f00e243bac37e5c2aebe11bfd75eefed17acc4fcb7ab006afca7cae76eb57f231be7f587fccb7deeacf65fd15a5d8ef2ded6dafdf1bfbf71689bdcbda7a250df723c0fc7486fd0980ffec6e7f425bff2ffba7a57fdcf9981fa6445725bf07f8aa573f85f24d69932fc4f859c63bda2d9e3a5846c38faf9b7e8770974d7af5284dffa4dcffa3c07a3c694f4ccc5f58604f643feced7d25bf05f28bf931b85f2afbd93c992ff2fc9446fdf5b591df94fcaa2bf3d96c08f1fd3d9f2f1efa75f3715bdfb1e1d375d36f62617dfdb0e90f15f4a15f03f58163fd5511dffa05c39a76eb1b25ff5650e43789d2a99fc0faf24e3ef3c6b75b76a31f4cea47630f9afecb68983ed4c3633e712ce74fd505a77fc73f28dfe31fc2c177f807316eebc79bfabc91ac3fd03e3cccc79c542e1243f693a6b4996fb6c3fd1b7af6c0656d7eae288f4d7d35c5f811f98d7ebfa1948744d69fc9fa14d9df55c8f349a63ef49b61bf86dcdfe258be83bdc1fd057aeb87f51c4dbfee04f0409bcf12c43430be770cec5fb67699f61e0e53ba2bce106f0fb15f04f51ff72b3835fbd7d8bb3c7c6dfa6151ff118fa98cf6ec8768fb63b11e65c83326409f13ecd7bfd74fcafee986bf68f64b103ae6bbe9bd9eb0dfdf25f44ceea7a037fde4bade9e8ff9a2cef9c89fdfea395dedcd39586d3d20db89bfd86fa736d6ee77f6dbc9d9fb9ff6db893afbed603db1ac0fc17a24d9ffdcee0f3071a361d36fab22dffaa5bed16df7bb90f5fd9aec4750d59efd6bfa3dc15f4a3c6c689c5b924f2c9afc8907feb4cd9f64d76ebf9f3b6cf08fdef4bfcb7aacd76d63df18d83357be4f585b2993f5d514f037f613198d3d83f7c5fc897ec57e02b91f41cb4f59e4b69fc4bdbf078e47327f2deb4b603d33b95f03d5d5317bf42773cb66a0cf6649657f4e29e389667f0457e627fbfd384572b39ff83c1feb0342b45f106fe699f2805fb09e942858df4b9981fdc5287f8ec41397dfd4eb1c77777f73e559784974f4ffb2ffdd2f8f44e428dfcc4c5a3e4b0f8779cf9fa0fd3074898f74a94f51a6a3bf237adbaff7e84ff4b63f5d8fea6986fc9760ab08f747b128e67365ff7177ff9b698cfd85377f72a06d3f78ae5fdbfa2b57dafb8ebdc965bd8527d72792fe6b04feb2b157d2bff5ead5360a3f029e47ffdad62f856dfeac337ef8dbdeb5f19bec079478e1b63fd394469d7cfc06fbe3b2fad69f23f7bf68fd6379f38ffd7e58ac9790fb93603decf8affaa3b3efed7f14657fdaffe8b13f7a82fb87e17e1d42d60b6cb80845c73ec8f8e43ceee5d7a5ff6104ed37e84583df9afa817ebd63b3ff829735fd564dbc6c9666a44b7c19e559d5d6233bb87f52cf9fb7fb8b889de4694854a4cd7e769a0978e7e60f0bf43f54e84a1d34f90c57fa0b8d17a5b355607c964d32d1b10fa57cbf63deefdf95c71bfbd6b70fbb062ff6eb3b305ed039c847a68e519eeff661dcf873ed11df84c3d26ef8724bee0775b70f04f717613dfb82fb13b5fb0f487cd3ee9762497b36ede23fdef4538fda7a22985fc98f83fdac5cd91f1c579ee8da07ac6738eedcc77a06557771ff09827cffdd3ea07e4d490faf908bf427a2bddf3b315989f5a77a5baf8ef641d6df780ff112eeefd6e9e7cd69d73e203e2299a67da9b7e2acc5f3ef3dfb20e3af37b79fffc7fdac76b9c0fc24c970ff25999fc7f7ebef8f00f6e1566f716ceb131afb20eb691ffaa5313e68e317882f79d73eece47e1a0f783d95f856dcf6c7f81bfc7ae5e25bf8f58d7d2b7fe6caf836037d05fcaa833fb3b19f6c91acdbf83d69f05b277ee7b7fd0b247fd8c4636cc85d89dfc0fe30a357bfd9f6075019cfe5763bbfd87f2ff7bb1af5e3f136deab643e586ff5b5cd2fc5972ff60be43b6bf239b2bf5660fc81f56cddfa2b26fbf33db99f80c07a6eace79b52f0bfb2df58f98dfd3076eea4a9f716a376ffb8a8166dfcf84e5df56b3f8b5fdef6d320adfdd5f5060f4cdccd437f24d66b61bf0ce8f3a4ed7feeee1748fbf6b4e93715b7fdecd64dbeec20fb41c13f5aaf9dfd2fec663f01f6a09f07d97fd0d40748ffac4bffbc51b8fb500f2ed7afd94f10ed05259926f52d537af810e3c923cc5fc32ffab29e55f237b8bf669fbf91f508b7f331ff2df149832fc4e37e04a366ff34b7e1eb2e92af457ed08eb22fe70f41de9afdd9a47d6fec1ff7cb5e7c84fda6d23e85f4afe201abc1f3ff120f14a5f5bd788051ac6f97f6d5ddf8a994c78365c87e98fb7e3fb2beae8f97d19f4a7e03f7e790f2a349fbad4c744fdaef9a2bbdfebe767f3c17f527135a07dfb5fee0cbf9b01ed8dfa6dff6ff69fafb713f2fa3df9f22e3b5063fd4a159b266ff8eb4c15b0ec92aecff00f90a5cd6d43b4ef7683f1a7c1e0cd314ed5151be227e5d2436c61719f267aefb855fca29e245e4533afea9191ff62ff90ffa26eb5fd8dfcac3ee7bf240bf290ff68e637e82a23ce07e78e731d633eb3779b87c9187868f94fb31b121cf5bfb5daeb15fa1b117c1b08ff705c6a3581f621093a13c3193c978bfc96ff7f122f20b58af25eb75e8e371c9ff1ecb551bbf4b7bdde271469a7a6d6b57b066bf175de5597294fea8a451a6f95cb029f6b71ea9dc1fca93f50d8237f54bcd7e6b514de9d6c3fd48a6d4636fc8871ac62870e5fe9bd1dc927c84c2b2361f12152fcdfe53ea5814a98c4764fd3de28de8717fbc969f73273acb2cf93e47dcaf84cb7c38edc537c2443e91924cd61b63ff81ca28c9ff4abeec6fedf75b94ec7bf225643f8d8ffd525dfe01eb1f6ff51b5ed9ef7794f57ab8df56b3bf17d633bb586f945dda7e48877fe17b603e2ef7fd0dcb7bbfbadbe687307fd4e997152af67b648d7c4a7f8cfcbf8cef215ee9f9f3a6de536bf27fea48eeb783fed3dedcf6ffd3bef09732bf2ff140b35fb1cc1737f5829cf7f8d1c63f1ba3d63f6ffc94123597f5e26dbd0bf84b4f35e4fe8356bb5f66f8e09f8fbbdb7e36fab5e54b25bf8de33992877c83c4a398cf1acbf802e29954d6af64bdfd889a7a9909ee3fd4ec47ed904ce235d4efa3dc5f07f01eda9b6377ff1dc9e7c9fd358c961f3fa23ce37e40f1f5811f41be54eedf20fc2d9f4a7e5e9970dc8f26b75e25fe437f24fbd97ee38f88a28d5db9df43d5fa17dec64f7ed9df0fcd90e7472d5feeb268dbd6231729eeb7d8d6e7ee1a7cd07b9e29eb239dfb7ec9d6ad9f5bd6371d1eeac51bbecb90f5cf2e8bfea65ec7e3c677ea75006f7da75e07e265d9ef23643e5cf6fb26584fd18c276cf6233d36fd0714f9ff1edece5594bf667fc15b3cecdef8b45e7df59ddf9af05ebe1df183411bbcc248773f4ed1eee792dcf6f395fb4b1932dfe6c9fa5bc1fbf1f15ddfbed803d6c4d33dbc8dfaa1bb97db7efa688fd45bbd1cf687e5f9e8a13f1ff517f75b92fbf95401eeb7a4eadb056dfde97bd2d4a3357c2025c8375b36332b5fd6b74cf40d17920fcdd27087f9d1940adccf5ee21bce99d40fc4e372bf46dc9f13f7736ce24fb087823eee9f356df63f96f9a526de705bfd507bfb79b6f1705b5f5671c12282fb799621e6030a59efef62bd9cd2ebcf6af62ba4321fcfee7c43b31f0b3393877ca3ac07c4fb4bfebd8de71b7ed0bdfc263f7994f196d1c60fa86f6ebb5f749fcfabdafc68932fac9afd2ce7b8df706f3f33dc2fe9d2da538fdffc43838f73b97f62461ff3cbef09f6d30bcafeaefe3e24dfaa3fb3ec6fed07e69556a220fe95f59a926f77399f866dfd7dbbdf34d395ea37f2dcf44700fe467f11ca7acb52f613150ffb3bc8ef33407c68a3bdcc196df92aac4ff2b3dbfe151dfea0c47e855b7c2bf737e8e76f99dcff3263987fe0b21f09eb0f685b5f9ae9bdf5e8e42ff897fc05f69f30ac8790f82b5d3313f9465328138c4f98aeab329e68f9c770d4e6db36dc5a37fa1bca7a6de47b4701ee8fafbd45664a77b25ed46af68ba051967fcd47cbfa2a2ef135c3fd87e4fe7418bfd7b77c21da1fd49f7e7f90ac777e93f809fbc1c2db7e25b23e87f6e2295dc66b81dcffa36ad647c6c30d7f46bef2676dfe18eb019a7a558afd5ed2df35fb3177d70be74393f177936f2812adc543e1305f7fc93766aad6d4bf6acdfe1617c05fb21fb6d75f2ff313f7f3df643d1be6a3d8ce6de345e3713f44dcaf52d6bbb13533feaa9e2d94f533ffae9fdfaa0f95df17790b6aa3d98ff1211f96274d7f69def6df5a241be1fe5c1bb9df17e0efb78dc4c7cac37eee8adcef13f3c16dfc9bc9783f91f22bf19ec467525f1851d4c0f59bfd8215d98feb1613d0bf4ae8ccda65b81f99dc4f5d347c3eee0782fd7a54d6fbe4b23fbca7bf880f8fedf703f07aecef97fb1760ffb2ffc0f749be00f15cf3fd0421f747176dfda6a05feb8fd05fe37e0619b305c627984f7895f56032de701feb1532638c78566feb41713f09abb79f987bffbe01ee7fd7e039c6d91efd89b8e9f36feb8f5d9d68db5b3e481ff1b975c0e3754a8832ba7a47ac073caeb9b2ffd337d6929996ef16d3cff8c8eab5377a25355156be72ea7e932f9955f9b3397af8ee99fab19a1385ccf2c9b3d9fb9e6dfb8d6ce5b910a3d89c5c9305996cf72f359dbb7ffcd6dbd7f778f92fef71ff0e1ca95fd4955395cdbf072ba7fac47ff365bd722ab5f95d5bf1fefb3cdeb7fb9de5789f2a2bbffa1939f27b6fbf16d5a71c57fef3d7c27d5df9eab7c76cf3a76f8f99ce9fea3f8ef96aa9f1c07d8987ec1a7954591eceeba028f300d6c41445e469b9bbb03e63535c9345f61a3a97bdaf4ef258513fc3853885cef204f3b65d88dcdeeb975f4e760a1dad0e3cad4ccc7c1c0a71ddced5c1769067cbf9d38fa430aecbc572f2ac8e5e2dbebcfc32aa7ae5bcbe468531087c7a888bfc922caa2cf059fa6b11eee301bd46fe54593993720bebe14cb67e5e8dc8e1e9ec2f5e862cb69f9e63ef3fbe3339469e72dad6caa7bf4fb7fea14c56d76cfc3c48cecf0b77e25d971fcbfd65ff7cb5127be07ec403e323f259b92b84888bcbc3bae53f222f785dfa9bf2f6fdf6c2d86f8742b10beb1478dafbf270be7d57f9f968e5b159a5c1c07d8d9ccb7eb9cf3e9285556e9d97d21ee4c5ca7cf82ef3fd3bdeea7391c33c8ff820784d8cd3c577b2ff3c7363b232dd72e5dfcecb9b6f147eac3df763eb194a307879dd5e33f99edee8fe9ea6dbcc31996cf3d3c5e75df9d394d0a7ca6a41caf5d54a8362a226f372bf358d8fe8ba1c877f963f1c6b7c00dddc5cc92c3b451cff5d13277b5dfdfe9afbf72fb99a3f1fd9273727c3d0b7e6814ff3d52c3b25b3d3ebf630b9c258ed0274387bfcf6e29f65bc91a3edfe45a107bd5c99f8edc67ae5647df9f7ad3f8ce9f4da5df3d0e9dd532507b77c36b3e6df41f99c53252e44baed7f27f4b333de8fb5a7fdfcd5cab8999d12a7aad74e5aae3df7b42dc470a91bd7b830b49589e795cf45f91979a3d7c8af7e2ef7cb72e554e9dadfc8352d26fba8108764b69cac7da6c5a6f80cf753c5da07af2b539f24c6595dbbed39da7be8e735c896574f13dfc90aabd0f1dbb7a1a774e528c5ef639be2fc5c68e9d673278953757ecb0fdba1f848e6eac7b379bbfe23f2b42cf43405c61138daafd0abf2ada395db82e55b9c63d2fffdc8f2f868a9f16233093af76f64f8f06c06134f554edbb9baf5fbf37941fd50be8eebb9083fe34ca420f73d7933dd7237083ee285a8a359fa9b6f6adebf99bfbac693e53e7e8ff769be724ec7e53e013d3b25c639f79d0ce5ef974f8791cf0ed12cc56fe76f07c14be0e43f828151878ef5d9d8c6bd5d805e6bead6bc4cd65c4d579e750d3de3dd1ec0bc194ab25816d6f1e915e625f09912ef339ca360c0d2c4d40babb834effcf2ba3c5c524fa1fa46b0a9775dbe77ce2bbbb6e559ad12df50fef33c884fcb5c4d7ca1fc673d33b61b854d856e6cd72043572bf1f9680fb2d499b3c2daa787b5a357cfe6edb960a7e09d8aedd032028fbeae1ee66fe59ff6db81f516a25f5026f8bd796f522c179b7f96f9244d16ec0abff3e69ce7e29cef7c02f6734b0ce59f78962acfcd792b5e9e9e8f533546bbd5eaf1a95a39d97805ef644e2e6013825a49c9acba9d8b3eb3599b6793fefcd57fffd21eb4f3cef2b030d4ed6233deceb44be2d3d7d562f91ae09a3632703c7f049e9adb47f71479600bad6be24f157b0ff3026b6695c15128a14fc6e1be3a6c079a02726f179753e4d1cf04ff3d3ab5fa10d765fd6ca2fdfe48e665fecb57bbb2ac766c4319ee5fee73b9d7ef7369ba77dbbdd8bc2eb97e0ac18635b628ecebd33f8497f973413fe1b7ed71f3b135c5473864aff6e0ae134b337b5df9cd77e707ee4730987c24f08e33ed147ada31315f7eb4363d02dbdcb95f3c48cbf0b8795d7178e7b4f5dbe99aaba51c47fab932b3bb4d399c719c91934f7ef9f2fd578be57f089fe48d6ffb4816648cf6ed9ae68dddf96779b87c2ef7e7f6eff7e561b4b7f7cbfdca39bd8637dbb229acbdf1b1be5af176bf1c3736f2c3da871fab59def5d92fdb6bdac55ae9d2733fba6b0c76f3612e3f027f7a093d2d5bfbb04efd63f8bb973dfe3e81f125b397147ce01230989717abdbbadd6de2c358f7ab81fbb12d8c73c85f416edf57a6fb8176a1c8f789cff2f87a5b9b7f96fb273cffe1f8db76907fac66cb97e53e6be7f3babeddf7e77e2de7681c3a1acaf9fabafc5cb7f386efd3acc72c28e2c3a8eacfeb258df7f9cd67e3189dea7ecdfce7de379b35e2e7cf95c4af25ac431f6ff67d2d7e6ff9eecbd28e2ffb8035d91ed41fad3ed9853659f1066becabfad9d427dbbd56270b2b0f3ce51ff4a16636de1ec5693bab0e6b67b9075f0273bf059f757fd794cc95c9da1bdd7dd775f9b29c3dbd2c0f65e73c588beab276f44b5f7f5e1003c6739061181b73238fbe831fb24137fa7a9e35181efd76524cca70f674597265123a41b132c9fbda73cbe705ca7201630eb89afe5a54f85de9c8a90a78fecaa9146b1f16ad5e6e0feac17ef475b3fc47e068f9d6cb95d5cc428cbcdc837d51402f703e1e6c90d6be5be2a4d9b3f91370ffe9d9bcfc43f8abfcf678fffcc1aac1bec10d0f6d26417d7ef00d2fe56ea07f849e5a26b317f99d6a67794a66e84fdaf7cbb7c546faa123ac1f4b83a2caa50fba5f1b0caacf78e0ee710cbe3ab9e3d8af638fe74a4ae4583f9e0b9607832a8d0b038fc3bc023e7dfcfd794126bb6198c7470a7662bc3ce81f64b6045d3b6c07acdc16f138de6bf9b6a09f21d8f261f573990b97ed95d1f2a89c62903fd3f8084de3b41d68393ee7daff6ded2f3fe2214bb7054bb7e6e42374b2d3ce497f2c0f93d1d6bbecede35962804359fff295f2d92493e0aa5d437f7a0a3cc0c2a8a7a7e5e1e77fc0a7a1ac1c371f6131b932cf3844f389f25ff04f170fff009fbae6caa463ebc1f75fd77e503e63fc565d71ae7989b2910006e03f01a7801fcd02cf3a851c7d70bae2e5e197537563cf0fc4781e62c4deefecfe7b5f4e24e653d6aec4becfc7e9753b649fe8ff1cadde9af92174b443e055a795695cc3a138a36fbd66a790ab3f1a0c3a06ccb0722af4eb76f1104f418c3533e477f50be312834f9ce54ab4b03e93eb14f58cf9d615fce1b2d03e93d9348d87b40c075a1ecea6caf63a4d978b691a17601bf57d6b8320b6c37b9aa3c9fdbbf95decbb01bd7a78ae8ce9b7fbdb77fefbd81a639e9f957d78029bdb8b41563ef8c3f63ee063f2c9cac927cf263d6d8734ff32ee61f819799b1732d3276b1f6486bd463e69b130cc57f36e70bfa068c6007a895c837dc7c639ca6541d3ad7969bee75f7dace664289fffdbf8699ff8345f2e202ecac1b6df30cbb2f39e3ddc68506deb599fdb59502c8fedbf7bf10ddf79ea7e3bb8406c9e830e6f87cb7f1e63f33b5ebac745bf78f9805dcf1d5f1614df79a764063601fd8d1a0cd9677c50266bd13dae77fed62e713151b6437807f79fce78c6779ccc268fb8acf7fef7f841595fad8fc4ab4ecb43d962aef67715642d049fe56df6f6fe1e83809eaf168d0c80bff337ff2c8fe2c6db84b3e5b8c1cfff6c7ceb1af8d947e4d3697cb4d29d932a2bfe731fc8df7bf7b58fdfb867df6f7cf6798dfe3b46f8ac09c671f6de4ae5f39713c4948b4db91ebaafc92c1b278b2ff8b917bf3d176a1acfd2cf8767d78d2e809dc9d7fe19e6fc33dea7d28feea725c67efee623328d9a0f938f2e9fb5dd67601f736fa0256befe76b629c3f7ce4213abae175d750c73504dbbc5a34cff4ba76eb6677ff439ca0e8e281c0b78e89a7223ef46a23590f3ad7a9a7cae7e5d677aa8f3fde6fffdfee673ddeefeaf3f2c72fa7baaefdb39c73d7ca23d31844de448d1107499bbc29c46be087e57628aebf16977d5c88cbd6340ea1634d9ecd9f10839c03ffe991e7e9adcdaf45f5e3578b437cf6f3d7e23c016c46e6e7626dfeecc429c1fbea9a636c227992cb64ab9e0bdfa92e5ff80cf3523e9b2f708fd7f5e2a9738f17b847c3b36c26b1717ef59d4a5b7bd5363494537200b982783106d93b780396c878e6a517cf824f44aea52fdf10eb1c5b1c96d44aff1a2ffe2750cf19ce2d3fe3bdd79efeba1b2a276f189fe26baaad04e0867c127a551d3a53798e4f5e774ef6a3f90ddfa5d53df4d7fbfccb6f613b465d99244eaaaddae739d639f4ad632875e8fabb755c0f28cc05c67ec1c05056ba52da99faf04e6ef79d9adff20e06a3ff0ddb97bb8e9e855c4de3225111032cc86dadc07736b6e735e4a36a3d70cf0df6bcaeb9fe233e54b93d5cc27a7e78c3e5998807b91e5a494717d326a6983c2f3a3ce155fbd82aaa9a988612f207fcd179c764fea777746fef0818767b502ef660f433999f3f56d753198af387df1b1fdd6e73a563c7e5fa87ce97f71a463e7be5c329ce595cabbfe532bbf76979f95f7fe4eb7b1c4d7e8f17ce1f6bbf83073cf79f9097d2ff2f7a9ceaa39f84985e79ce2877afe803e7ae4a3e429f1e027f9a77b8c3e61c2d8f07348d5b9ed9747fcb9d83efe8aee37351e5db2251a2075c26c057bae21a833d9d592f1b95f2e742d4c1c0b884ded34b5c882af1202e252f81377ab9df73f3b1dc673d3b0cb2e6621e433b2267885ceecd7e9e22ae9c89537d62dcb870e1d821328deb6630c942d75056f3a7d2be9ede235e5ded6b0636f635e41053d0d7c0b7e6db01cb37fee63572b2723df80971dd7fd65c2facc2fdb9e6a4fab5b854e4104fd69ef8f90bfcb797c1b1ffacf96664edc37c3d57543aac7e12f4894111f2d184ce5f9aebdda1b50f140ab680ffdcfb86e40c1273c2319750c4af8407e50ae2d8c3eb057ca7b50f2ad0fff6bad0af7e2e9d345f1f948a1cd29fbfe61b75cdd5fcd7e2a2b5c71f9ff96b51c1f9038aef7399d87cfaf39709ef9c0d9b77aec86159aeaf56eccf96efb73993f330fef2f7f534597efce79f4f67d991eb49176b4a391a563f578bcd07ac37f86cc0aa0ff235099d2affe5a418df7ec5a6cbea7fc1a6dbbd9641acb42cf4fdf3632c7b7fb742e6203a7940fe746df2801fdb7d7abde501eb65d9c8d0c7cafc593ecbbcdc05397c796e8dbed0d33f0247e3a1bff9d80ec0d7205edc3fcfac623bb4ce81bf817f978929cef175795a16371e137e3f077e5a6e7d715eee2ffbd04f0f5bc0f67e9873cf18459eaa6e1db8462db7457e4e3c05aec977263d253e2d9342d0c8d36ed76f3d63c41b9b27ffce3fba7fc7a6a12426cc03de33dde9b9127a6add9eebf82cdffa049ea16e8bbc4a3c61dddf5b7c34cf3f275ea544fef414ba930275b4c3d385d2e6fc579fb13ee88575ecdab2479c34e9d962229431d8dfed41cd9f8bbce68ac1498dfe3e0d1c2d7dce00376a65ac207e54564ecb73693fe2017d0d3d35b50b5c278a38c7a92e816fa55b4f2821eabde481b927b2c833dc9d3fcded02b07b35b165ecf971b793d67e3b609ac4179b8f702094d5cc2ab7fb65b91e9eeb6090e65b4f1f2733ed18fa9bd7e5911e22539c036779babfeb4bf93fbdc3b1735fe7a594f992465f66fd18f331271dc1f926b99d1f5ce1b8f2bf3d7f801c683bd61b6fbedc67f79cbaffbbe355fa5ce81fdc332eab05d880ec231a08cd1d886a057eb8066c1396f1912aab5976b327bb613367bc549e8b244ff4fc63659cf6779e7b79da5e2ffb766d97b9f217733b9974f206ff27ebf6671fff98937fcc5556d73b7faf0c28776bbaaf3ed77c73b5f946a387f86af3360f0c36eaa5a2d7ec6373144558882bd8aad0d10ef131bf24e604ecfdc7d6a773f9f7cf1ff13528e22b8c933981a765db81ea055ea5863ef9e7bf71bd370e74ae7dae7cf61a1793e1d2d4f2e43a85fb1c3b7efe1afa861afa5409bdcd4b624e3e97a69a6e8fd94b5c181fa139392f4d4b4b4c5183fd90386334491c2ddd9ad567a08a8f78601421c69512bfac0f4f65f3ec72e5dd315fc001cbe980e5d255ad962b9fa01cbacd7344619c124fd42b73f4110faa3218b8af8153a5ab4156aef839df2ec08ffcf11a99df9f591d7fd2e333baf8e9dae392bff0a9ee6bc36b4b3eb793b7df1e95f11fe77d96ff48ccf4ba1dc62f32c77c9b631e7a548d0bb733a79abaf5ac3cde4f8fa1a7e52d47ba34f37a69222f5627fe147122ac4b70cc5ea4bf9dee612de381b83ee7d58700dfaa5358df73e85c5e58915f432ffcdccda69ff17e6a61bea4d0f2643635768be9693b84673e55c45996bfe799c097ff2bdff48ab5167facb5c97f2027f9b5cee0263fa1382bbe8c03d3edfef7fc60323bedff341fab45922f4de3100cc425994d2fc8d72cac3cf6451e0f59bd72965dde00efbb3d2ae5f391be06582fe16a6426eb632253afb036876730f65c9eb3bcd27973defe76de95f20074f84a785c3e9bee473c485352bf28cdf5f5fd7ab72258a3b1acec3fd64ffd99b7dbee5f549b6f1e6b30aedfae333ae8eab76aab0e9beab16e2a3efee1ba019e7fbde585707cfa65e5686d9dd229faaf72d13ebfab870d9f26a6d7ed709ac747a6dde747f911efb52cf4c2725b884d5c4c2ea16f293b5c0be36ced83d7a8f937e66dbe335ea7ad9759c238aeabc559813826f437e36576cb8d9de2214b93f96b4a661560c343e86dc64b2f3bc17a6ff96b1af9ca6937f8faee760178146b2426df791fba87f7513e97c32aeef1f1e2f2f17c057cfbd5aeb73a14ab98ef2dbb7545db83320986d5cfed5e9f044ef05fede17ab87c0d9d6cbc740cc019a784ab9fcf85f619176aba35f3713f7eeff3b8bdd8eea1e6ea79bf2cbfea3ec4e364b2bd6a982b833803738a57cdde086689cc9d2cb3d1fed9c473365ca94296e584cf95bd0b7ad193efc9776bf3aeffb51ef1ae6b573a0fbead6bf2fcf83136299f5bf999ff2f7588da212e449a986e73ec8f755fa06be537e415f5c1de1b52c6514ee935f40c25e4e5c76a1e0fc1a77d674ec8bed515a2dc63ada726d67a19dab3c7faaee53ff7fa932fba51622dc7d7b940bebacf1357d7b5ef826c9e62c49d2d5f51a56bfef423aeb5d4bee6e57311c03d3ed6beb50d9cd3bbef54c81d77fd75b2f84e1d9dab7eb181fb977d684e0e0dbf01b154b61d5019e7e8e21436bf7fcbe6f04d5bbf76a58f73f63bfd5e58da6e90bdc6fb4ad6a67a344d4cfaba92b6739b18ca24f4d57b4ddfb76a0575955cfbf15fe4a48ff6b837071157afbf165fe4a47f7e3ef91583ef3627bffe7fd47d479faacaf3f70bba8b03a833b21c51010906323b81194140f90d06e0d53f9fae6e92618ee7dcfb5f3cab71884d87ea0adffa965dd1892c6c589987d8e659b2fb7bc1f6a5fdc8a8fe6c3f32a8bbfde86e2c9bfde9ec23dd11b71730653ae3febbf52650f9e7404d827947761b6c0afb806e502faeb542bdc54adef977c1b62dd1ef45e4e2f814c4961bdd09ec9926b61aaba117059428a849c07d44120d3ac6d985d82dd2abe695c8cf767ea72f907edf89e7b12fc94dddff33b9a9efeee4e6edfd72b248dcb480f1427624b2bd024ba55ee9c71a27aeea4626f363d0a3542e467b1b926357492b30f61ccecf408ea9659c3b155e23683f76611e3999cc5fd9adb68b8cd44c3d1e8fbb08f82c95f20ff07f260b1fac1bed6e63c7dd981885ec82c67e8d66478fbbbb9e95b4c2b3b58292ac84e01754c03b0610778ef3ed940a1fbc27bfb35d0654467c06f1ca9e8cbff8ddbb1f85ef013f2f91ddb48c169a6bb939c6be1555c0cfa96534bbcabc7bf1533571a7592c0bead1b1a8375780bda3fdde69762f0b9831f8e9032d4cea75e8ed9ff892a6caaf609a5d7ad8023a2f6d0d63a7b79c938af647073f7d6dd63af16bb02b0bc98b06179a747cd90417fa715d1efa7a7f303ded910e224e676f9d782fb2852989373d654e654b460d919dafecb3569742369cb03eba667e85bda59aa3bd853c4b79f6acdc35f3025fbfe85cbf7ee97a191da3a9eccb266bc43cc15abfc18e03f602e3138a91248839da2b517b255e012c9d27c4a8ef4a64c3110c34eb45bd38399ae7a12428c7ad16ffdaea592b233b3201e691d1caa2fa9dad4fab48d13ce8d85a95c4afb315b37e730ff44b3ab0b277ae4d7e870ef2bf1fcfbedd73ba3a5e4567ab81f8f61c97b03edb348bbf9b66bfbe840264e8975660dc9cdd933d97977357f64ef1e2b7957fb69f39d59fec67eeebfb59f799b53ed2e6d2ec955aaf2b145da97de80596efe2f173b0416b3a09a6c7486fb0b30fe547762f938ca3a2613956db4ffe00c996e0c1bef93c3f4302cc5c0c7e8b97f654ddb8dd5b6efc3ce02fea613a563add60cd1bb92f1463d1165bb9a4cf405ef911b63d5bbfd2acf88d0f0ad9b0c3cfc6e73d0c95e989f20f9df93adb205ba0b706912d55db5bf5baf3a370e6d89b449e9f82fb180a92ff712eea13d661707e4a6f4de8f3e7fecededcfd68f4d63b5dff81deda3cdf32c75f5c8b3b417a0ac6f9df607ffad8eb5f189b9225cfdb769b9b26326af93437ad33df45e6de5679968b027a1fbde4e21c748712fe522a17f7e696f2c03783ec11314d28d75e8401cf9662f44adb66d765e393589398d6d335d08b3777c6eb220b06b2959af824d2edd11c7074ba447603b2ab3bf8956e9c7bac08c5d8d187ac53b1d4aa143b98a3e3d1abe8ea36e6ea6871b69a1ab4b28f992fa1b8acf606a354b3d1975084523563573abdff12aec7407f742fe4198c55dda994fd64fc2518ffa8ba5fa9a01bb0f5f593800b4349cf2ecbc3fa975fd6d8c43094f9d9b712c56f8146d1ea5e29152e3f7a2545abba3852f7d731d227a5caa1555d61be6cea66cc4f7bd28e37afdc850aea1f260cfd784e2dd3f11130e47f6acf5533d033fd6864bbd6fc5bb7e6d7febca0a2cef37af2c52b9d54664661c0278cab4da06d7249f2c2f8f8e895f18b724e84f66cdaf77463d5ef4fd79c209eb7d6a8f2918c9bab97c05eec0127fde8f80fbea06d8d19857d35ce6f7c02f7cf7a3dffb1bb4e18458b21ee89b1888b755797c1ebc71fd4fb99aa37fb19ac6592cbcae098f00d96b9b5798e5b5b659fef1937fdcf2bac8b6ca95967cdefbb58c79ebec56eb5b09485137a36cc3705fb38513b511fec656e56c81ce0cf2b8b51839535cb9ffb2f7ef41d17d83f0d73944276ffad9fe6734075e7c8db8d5d517f436431b5cdfb11494c4ce204f1b79850d1a3b572eb83fba454dda017b4c79bcad656a9e5fe235fd3aa6e0c36238f3767aea5e60ef45d72f1f6c7ab3c43d7e31c569d4faa600ac7f22db225e68b04ea2490e76c66ac6aa0b6cd8acc1facdf14ae98e9542d0383de7526cf7ebbd6881c9be51b7e4e39e6a674ac51e5a66609f174a3790ebfb58acefb4343378a89c717538f29c0764263819eadcd37aa3e532f1e8fec55e80774bf68ce686593b2a56734bea2e6b801386a956a71dae81d74e2f249d8be93ce3ccb049b9ee0a1d0fd4bc7a2137736bab8bca93af6071c437283dc57c8f349b8b5469401581db3eaf4cdda13ccc3d61a767e8f30fe543f5ee5b96a6d28624bb5f7e8661c2c038b8e5c7bd1f4a741bb82c1cfa9ed5c4d5caa77edda639273d0bfff6e3cd0fda6b008bd830ab88be69b6bf9602c683775133f6e9f130849ee9aead1b54caabd7e03313c3f9defb7944abbedf819688da17738cca979afc9b3b4c384e4ffc96bfe8dcac996a097c70c8e8b8923a213944b7d97c93c9c1b9198d955e16ee5df8f7a06a3623da354abfa593e79963844fb13bc672a9273bbaa3e47ee2bd4a60d90238fcf45f57d7e7d6e589f5bd6cfd43feab617f57729f57d4876e27354f3cdda8dfe73effb3d1b83e4e4a46cfe42bfd277fe2e1bf201c2204d0e8ebdb9f891988b07b372edc5c4650047907d09d7487c603b49104bf87319d9da9cebd657a4d5be2283697c457bb1f61515d86f54db467126f34e6d47e5f8593bf009c1be037e1bec57023bbaf19f63dd4129e33c80bd4d41e37a807dab723259f071ae7319e77abbaf9df0f95d26cfc7f8fd7b3f936757ac9f4fd178127d608fdab0c3ed9da2f61e31370317e73ad139d11c31b00e8dc67886dbee20fd73817fcf50ff4cd06f78f64cc13e7f2dce37d0a65981e68b0ecff03379be6ef4625980f7a1e77ee3bd18b5b9b62d9d4c9ee37d49d5e236af862bd62b637614d33073f94de2456226cf45564c1a2c7f6ee8f44ae21694474fcaad4567586f123379e6b0a636aa5c7b9daff7b40938146193f831c41434492b840e9eb9e703312b3a939b7714c5ca1a1fc538d3756a18c9dca222b22b730f71246985b4b27767372ab62beb88fe5a2be38afe3a2b6388fe8a2b233e36f9078282ee91e158ca5e65bb7bfc1a936b895f96a6bc92ae48cec5c94fcd0392533e7e2f154ce985c42d9af3013f3ef9b54d682f129749505b476214e7aebd66356d1705cca942ff7b8735bbd5469b2636232ca895363f835d6b8da85edcd17e704c1ba55b6b14af9930f3f875beb5d7ac5f3ae9037f64a3fba8e58cd5b5702b092756e616a11815efe07f4c9fe85ef323d12dae91d3e5b1d807aca48d428c671f855f80f7fcd1a692a4990f79bb7ee4a42e6fe6aebd49c459e0b926955b8d3c8a73741ef2480c3f5d24c7e3a62c125910b32f3ddbca3c4bfd147bd5e627cad669559afb7d7f59c74fb789c2b32c9ce0f83211f3809f1f968775eef266e50c16992f607dc1051d501d7f7121e4ccd53c1be8bd90afc88f585930a995a53ccfbf799cc3f3632e4e3d1f90de8e74f4809f9f1d06eeb3bfb4a2eae78f75e4f894c27d7650296996e3fed78a18e2788d9de41f5ded1a2a1dac98c8af8fa8df3d2e14513faf4af4bde639b068a4d3471e6ffc92b04f712d694e1acc4f6bdb3c9536d8241bcf98d39e9f50aca8239b6b88e617eadfc43b9827a47f3b69912c0ffe51e1ae21f137bd35cfb38b318cfdfc230fca5d21638c5bdebc03f2ec6234b7c16f8aec1149cfb668dc7d9cd7993bf6fa512cb7fbdde795ede0b8e59e3e81dd9daa172f55c3800baf01179e25add31ff3f8e847d73bee0bb4b64488a1625f8f17a1f714637fb026b6d208cd659c870ff136f576aeb63938967f0c381887dcdbd3ce0ddea73b5f4309ec1f05d9efc222727369b643eb285d44f31c8f739c2d22e7286ae1f94bb8861e47f2ed20ff18fe1709974e4e9e951b5c4c72e154183f68b780fbd33d3ceccf3a86c0d4b871b70c13b08b30beec2cea14bb192039753d6a5c51a2bef1b8504673aa934b2f49fc30f7bb312d2b197f7173f82e3f4ac65fb86f61ae79099907763196f8f8ec5a23dab3ccb2cdc1447303d962c5f3be369d638073bc505f7b5d9fbda5a16fb8e57438415b020eb7655d16c049e4453567c29a702da0f53f79fe5e7b0d6386d6841985c98acadfea76f8f7ed38dfb723c76387de2714c92272d0ff02f9bfacf91f40e6d57edc03f52ef17324b3661217dab73635e0ff305e2df30e2ae558a33dcef1f3b31a2377936f50e71beeb6b6b2f3529612f9d9ae1bfff30662930ffa2c7f6411b95d9e843e36794efd6a702bfd18d4d5d6e2b73a9f4be60d76a341cee6f9becf7b6be45caf270d8d9d7633ef53b2cee8d3dad60af07fe2f3cd5a20b22ca1eafb5cad1848d3590e7eee6ecca77452ffb04e176942e1fdad78477de3a6c921a8655f34bbca829a04d3ecfc85e6e0607d74b50262d0fdfdfc1a756cff9f30f81c6957261f36a10b7ee56226cdfd5c3c04681c2f81bdd15d7b43b9b6183d98df6d2c6db03e923ea5487c7229a70e0b98b16894ae6ca497ecceee9e4e03aef842e7746e94aeac829279111dbf065c61a0e34ff7409ea5a419894762bc51ba88c2eded1e2d738bd8adf9adb08f1ec73953377307f59a072c0dc4fd9fe938eb08cb3f491bf59f77a059492be82fa198a1b1120f2d3e4cb3d57977bf12a3621f70c57b608d2ac7726bde2ed43fa5249c0e1ecf468e757d13f58f3c182c42ff0e93366b622a8e4de59f34d103a6998de680a585278937a9dbfc66d46f9f304654fdae06e7603c8ceb90e733eec5dfdfe914750e41e37f0e381cd3f5b85d2cf7f8b33e628b318366bf34919ed091d1dc06d685171514e47fea7402f28f3f259fc6c377038634807d3b7e2c5b84f5b7184d902c3a7b83f5ced126b51e1d913d05ad5b0ac9bb6e8e5580e49d4de5c886341813f231eef4d7c39a15f509d2cf2ad75433cf9ee46e4fe782f544adb45901785be14f6269c7d0d11a3c57f585d6fc609138f6e636ffbc1f7fe9e6215bc62f1dc755900ea2c29eca0326ee1e57a96755c0dd1fdf5a66b54ce794cc07493063075ed2cee74dabcbe2b111fee21b6d120bbc79b69ece4faeadbc79e8fb1893eae70b2764bf28aae56142a1b97e8373a863a4912ca89463af610d217bd361cc78993af77c1ed12895a633cc3da5617be5e93b9fc7292339758e90d3ad252cb40be950877e9f6889bad2a36738d3f9f88bbf6f5fcd016296bb4ebc7de101567d4e45a24e1712dea3c75fdce2fd4b13c3953d3b7e32b337342e5fc235fa1c90eb66b53d8cdb09586fe1d4b577efb07a3846dde2f4fca8c856267a5f7159e9b3f7873986d3d105b07a4487e8e59332e36f89a608b643645ded7adc7221e8badddcea80031d940e7af942c39d4fae95eef21e418f841cde67b11764fba1fbfca88e5de0fd17eed5e25cb44dea96f70f8de5d6cc0b9049c2acc159905c01e04c91f493ddc7f19e3648a734cab07f5c2b36f2edbe74207e6fc6c9643e3f9a65a1495a31b5e849b0d2d0bef05bbf5aa594752c71c6a8657c76a3e20258db6e0c5930d8279c760364e77b0364db0599976e2e41e9a42da6f3e91afdf5c235c78049ce2ecf0e243d433a699fcb64ff3cbe14684e2a26a73a9ebc33c9736c4d6457d6f8ec307364535292cede3ea31f5bc79c0f8f63e282d1e49cc038229b2e8d09e759f2d4578cfd5cbbc8b1d59197aa0bb44710ffe5a3d85d06b9c94fb01f2a171fc5340c7daac580fd10433e4bd37526718bcca7888d3957af7e6a862e0fb6f4736c6af32e1a70a52fbce3e4d89bfd7686faf9e177f5faa2e52c78e15ac60cfdf4a536400c11ed45af5d5b64c10b6d0d7876eda7c9696b6fb2207da1cf3aebc8e4e78717da427b0775ef0d26a0eff9e58f6da2975c7cd4ad39b5e5ae11fe2b626eb357e2c05cdc3cc38f469241b14b995bc05f31ba863ff0f8d66d0dfd417276a84de60f263517d46fe6d09f5ccba2f12e83f4c5f9799884e0c74d472accbf3f997bc6cf7315620bda04f63be059e9e664b4b89742ddc7756ca052a64d4cb952a6bb1a2345a9c0db84f1a54badc6922a85aad55852a58098cc14ff8678f414b0111897dfc608f36defb81b02f7cd21ce5d7c1c38ae9ab821578c56b698077bfa1dfb6637a56b0ddf3e193af4a7d90573b4140da7e4321d77fded845f145d87f914656173a9638d5e39a23c8af044f1ecd913e2374fa0f235c39e7c9e3d638eb8f8dcfd5f9e4f683f35a71e435f513bbdc3fa6dab8dd681bd487ad7f177dffde6a3f6a0f39d632e57643eed861e9fc46dac34abe434a9cc749e6fadcddce3b10d2f038e0c63a0fd2a0bdb77a8b963abd53275f25a77dea4f37dc0b3e5a79e1ddbebe8ec934fce3fe875d49756cc748a7a0bb48271ed450531e054c96d9aad7ce0c55bbf7dde614e9ee1f11ec4a67ec82b7c3d3fb58b9950ae6acb0fdce1cdf68b9637fb838638972d9e032140e35feb676b8f6173d716014324a7ee25b01793c69f329f5c3ca648fca8d8af34d697cbfce2563ddc66daefbf5d2446274ad23a5c6bbc928bd13a95914cecf1fa5c1b2c01e6cc42e71436e06a0e2dcc91f929ac59576b8fa139bcd2273d2e4ae03dbd919501378276a2354e78a628c0640cc45a974036520ee7304fd8f70dcfd1b11e4759106b9fd0d94fcd2ab00a6a65af73c2eff5eddac9da4fcd746bef3a6dc5dfd3f09275bec78f7efe1ef7f1f794aeadd2c84e0a20ffee947c9a9312d9719f1c1adbf5199e5102a771cd413a0cb862bfb295fa9bc3bb6fd64f849f6a94f954cd97ac64ab417c744af091e7484e6cf93965103d0a5d57fbd5243d23790af49ee4eaddaf672edc4b989b91dd6a232203e667775ee79499b26bc3fb68a9dc850eeed3f1176fa48bd4801cf5954eb1f878fc0b3837a3700f7da0c5df62348e24ed74069f65ed57e5954c7ac8cd08e3996f9b38cf981523f11debf733d6039b61ccba517896b43c42f396ec1bd5cada612c2ecf5e3cde047e0b0ffa28ce96c0a955c4b2a06432bf43f32477ad79e56a6175c7f9f880b31bde2fd0f94d4c2e766d82cbe7d9f2411e329a7ff0ec9505dc66f59c6ce6fbdd71d80f28646794723a8f5dbcc6913d6878659837edefda2ce926e9f867d91b5f199ecb8745e20fcc3c98d2301f646c6b617e016191b86932bc69cb7fd9eea3cccfea713aac808bb7de0f1fea42106340ed44f662d71fd4ea08d7fbb18e62e01f94858fdc8718d7a874ad2281dc4701f49093637f3cb1a93bfcd55d9e7b61ddac718bee701c116cbf8cefa9e36f257e07e47c5f4c26a1b6b38e1c982567e01349e7f9f210e70ec3d2b0c7fe909b88bfc7c9f1fc4fd8ae7e7097ef4df8871eb433a9dbf9a3acd08ae40eaf69057f83eb18621b983a7ad18e51900ef6a4ad307f809b04f3f1d636178c6bcbd959c75980efbf132785fd513e4c2e3eb7eb71d475e276104368737f703e0a702500f7e8f83e6fbedf364ae4fbf940ae5d8cfd6817297b03700137ebef28119ee027df3276b5d115b5db609237577352cca94ce233265a37d796b312e704839efbc9dcacabea412e5013035d776ceee15d9fadcc5320f3c3de1a029e2601ada34efbc0b7333cfbe89ab99a7da606ab60dc522b4375fa82fdc3b06f34f3893cb75ca671fe44af7934f7ebd823c82d5c2fe2befddd9ca376de3de847cca3deeb0bb2d79632cce538f70f743fdf88afdb4221f956ba9679af73edeffabeaf0fb4f3ba7c615e673546f737f3baace7f5562b1a0cc5d6be69bf20b6bc691ab23dccf295be9721565bcfffb8fb0dd90bdf705959f12bdfd0f05d7865fd0d0560ee6fd728a90b83cf033f6b0f135cfd8d5db944f6231fb3120f3a38c1d6cd06aad6b5311db031a186c67e867178d5c740d2c0b62f94fd47d6e33115947bb90d1cabcf6a56d4b9a3444fd459bae17843df8cf5a637571b515e9333baabd4a8cff1eeb4fdb36fe23f519177dfb57c905f23ea140b9cb3e902e6b2630df1310138c858bcd7c478cf01ced3cdf8abc161f9c0c588ae15d39a3f057817f32fe17ac30d7905dee605b7a97dbe98e3b433cec8fe08b86b84af377e89d1309206a83faf5749cf1249bb1664fcae2bfd23df4ea9deb5cbd4f816f7c708be93d41341b66987bf30eb70e2c52bfde3dd9d22995dfbc64fb154e699cfe5aca385e9cade0067e6963b5512efe42e603c8b7dcd7d43e6fa08b851497cedb3e1067772b7a23b7979f5f919e6beb246682c13bfcbf729f8ac32cd43497058b71c012e5de2e24c4e37172f35de25fbe37b65cd8eee9e666adfb4ccefbefd324c65c1ff96ca7efb44debdf8d1ee5dd4426665f9672f4536c62e93b451ec31a364d9e5d08c460cf018e9271578bceb3e30684f31a10fbaf352b5aa498074ee6524e2f703de71983b659c7dd934793fccb71edfadd7eca9548f8f7039108fe25e29c4e8dac1b84f48cc6813e071a67eb5eb6802fc91220f7535769fa5f87d5f6b233e6f533643b6aecc7d44a8bd5f9af8e6411da284edc898eb4ddee16fb8281bddf09732cd8077538c44a20bfd797ec02bfccb359657eee433fd9417d18901437d07c0d6cd319e2698e7d17a36c95adff8a2e1807d169f713b719ee7fc06cfbff1932173e71eff56b7f35ddc53683eb10a27e6b08ed1ef68d1e147146331ca8f62247ea3b16dfddabb8b55516fb6c61e7ec23c00c71170e9537960355c8a4f75e7cf12daf286da2573a82de8f731eae040a02d12279e31a7ddc653e654ba40edacff37a95f0137aa02ab919947c897ba3d0618832eeffdf8b8d227e3952e6632e3e73ff00b27d66013e0fa3cb7beaea7f59d7ed2d729358acf77be39adc856f6295c1ec4a398cea07681932e4afcff3c720e221c73f94de9da6a458ec7ae806c4dc0dd867e6a92fbe7a56be167f8874de63045521f0ff8640fbe68748e496257cf4af083a3df9a98c9fc9c76f9e442ae87df50ab670fd7e1ba3d29d243f1ff90eb0dc73619be67116fe1398bd8abf0352e3f46ef8bb696ff867479274d0ef89ee2e230a722b058aa7e9ec7b3fbed604e7b830d792e1b7fd6e7980de07d9d83889f83fb240aec0de5314372cca4029e3dc375ccfc1ca473d2576ae81ddcd02f51dbd4b0c6a2c23dccbcc6c5a07359c01be47842e13e512f6e738c8deb63de14dab5075c8556ec3da638f8294bfbcd71f23f87ae879a4a6f9867056a569063f31cf233a08dedff806be6d7e47aa86511bbd695fc6fe6f8bc49395692fbb89f63d7de845baba8f039f74c9e99e2efda648e555c5c72edd69ae71ee3c373b7b6439e9b30f8defa3df05d7180bf2706fe07de3ce1e79a27b8d6a223d722edc4bfd13de9d632731763b3d0bdedfff00c377399fe18b86972e88f03c6269179916ead80f65398b7a9c7b014d2a9f17dec05c959684bca961eb9de1b2ca07ddb29eef3ed14d6c351c1f3f8a8c03b76646eec2a7ced9a5c0bdf7054f1b38e2a8cd58e21d7421f6d793374f1b71d5d6b1e37c7900d06d78589636d90be96c97cd89d174777b0b804f607bcc327ed21d7511e19e3adb03979d05731fe1fda90a43ed4db817b32f7b0083d0bfa24f3c8dada5a34acadad35ba0636f91efc1b5f7750ea63f89b99458cdb7b8a5c78df29f9b482c4c3edfa76ede4e05a50d32b77ac4542e63cfe0dd71789cb9867d217b98beec5b557f22d6e678edb8eece81cdeedf1c9790beb900eb7161e7fcf9a6778dc219653e2182cf4d1c9b117dfb88d74e8a7391c73ad114d8e25dec1688e6ded4d42e640fb3fbc9f4eeaf5e75926597fe8583d5ef837e40fa47332d6a33080368d2e35469d1c6ffe87eb895e84cf35764826f36c4e8ec17af506138a8c3d6e47fb3f6affa5bb1e3cc2db8def33295f30ebe7d38130a109170b5c0bf2056a88ccf1da3ce0dfe85e9f4ff6681f2373e6bab554a463816cf5854542ae2f41a60993d26382767f39b4ffc3f5f81905fc3e90771fa0ed2559e7256ed782760e31396f469ff06c3cef40fe0a6ae8913ef099f909b79fe009f17308c60ae651d5e41f429bd43aef909c03de1cf22c93f0bcc4b9cfd0c82e20c7e1375c8fec738731c87196f653bc7ff9834948e67ce5f3f3333eb6293d667420efa5fc943dbbb8fdd4a745f6d403fe8daf3723728c7622b88ef62c3af4ebbe189827cf9a97b83fd45a1e5464fc298cc38463f8375cb7817d0f3f77d3ec8101d91b02bc37809fd8b1178943ee6ffec7cf0099499e01bff13376e419bb08d76b69641afe0de3b2c93ccb20d72527d2a62ce0ebefc7bfe1790296c98100fb3205798a78bfc1bfa1efc8b3e039265e1f07bc9f211d09ff8fec3e74decd5cdebc9063f01bae63885e7408229fecd97eaad67db7dfda8b5ac7d97b7c7285dccd7a4faeffc77b72e21279e8f2668a75033347d7f8648eb856916fed4985f77c2c63610ef0c9c9b102a257e1dfb056f9e4ecd672cf1ab5c7ac79b9192c42974f70fc97c8c19be344dea9adbc6340de5d1d7b73acd736192f740cd92ae7e6386007605d5c3da618b94cbd6626174f480e64cdc0b94e3bdbff614ca02da1370b4ac7da6410f78667dc1f87390ffc7f78ed376b6fb0b934739b67aff8985baf2306af2188ff917985ec6638066b8fcc2bb20e935b5fd4df611ca64ef6308e8e710fd5035eae8cc431fef85d4a35bbe3187dced723e27c951f3057bf7957d97080018e83e44a564e8bdd801c45a5c79780fdb223a407c42d36b2972bf8a8664ddf17c7cf8e0fe276bfe382243ee7e73c11b52dbe88dc4735991a2e02717f1d3bd6e8e21d92933730abd57e0835f93e19ec9b5aa66bb079d06f624b209d3dc6b6049bbb1696f3d08e0a8e77796c32b9e62cdec3b933ce0b07d956fb5cde5cae5b5b13ef195b6b74807737b98e20ef6b9c7adcc96b043bcc3bc46f5b2e0cb1bdb6083f7fe605baad954a7cc9051aef9ae3a7fb1dddba87ddf81ef87d7d6e1775c677e770e277a0e591c34dd0f5fb0eb605cef9119c3b3ab6b2db5ae0d3ca5c0e787eae8041d726676fb009497c37f30e6ae6f2c60ed79649566e346c725afc8a06fe4ac2637f1f7b1794ec517bb5e6bdc0d1f02d46939d189d68a95cec441e6a5fa1f98bbf056a21409b319f329fd475d7d03d25ba47e626c8a6477a053a177ad184d48982b676ea05cd58657a0a579dfc9b2533ebd40352d8800b2b999fd5e3f12d2679243133e08f90f931a9c90d7dd7cd3f9cfb87c5a55b03d319d037eb0afb55da1a78d9f379c08feb3801bdb2cc7ebd18617d0cb4f817f63767bfebd3cb933ea5ffb44f4541cdbc34c85d6da2b9d67cdfe11405192f6971fb6d7378d7dbf68637b08e9b6cb5e2d2d448d2690ae75774e336f7721ecfcd90967416e201cb1438e9ae12b75878078cd11039f17b0b5c91a80fc6df62fab1034e423cafd1b731926064d027487f1326f9d6326351d85cf03d43744f2ef248fe99fb803763e09c6492b3cb1489385f244e9707839b604c01606763a45334711f9d719e73bcddd6a724711b998f73af24f5e3355c57ec669e5152e33f37d880c3b55abf84627fcb1dfea77342e276c77a3d4bda4d2dbb0838fd6f8e913ab103e57c93f3466aca66fbe7732c2672e8ba43fb3592bdaeb5eeac2903c6ad9565c348b26922736ef72bbcaebc948d5dfd6e4d353131998fbb3278240990b793ad18f055bfe158e0c7518c937300736f4dd68208edd83e5f2fe787eb85cc151db50bc9219cb744f69dcdcabdcf0b6af9896ed64d8bf329e84779026267ef0db8e426bef971143bd87698e703a3591b4e07e788cf89706e0b7cab6d5fc01e83d735e43a3a36e1e4b546d5d6da24224f7490199ba2f540749c90c8afdca96846e26775cd831ed79a533e68737f1cb27a1c3a7b1be6808575ab409bfd8179f5f922c37521c69dfdae3fcf1c6bb8abf77c686bb71619aef9174a509b59393a5a91366b8ebfa2fd219479a7dd1fd07ec838b957d6f96337f9a3754d85761fccbbb15b24cb48fecec54bcd47f302f2c51ed660ecc41c1cfda5f973a96b7bd73204ea9369458579aa7bb1be4a2af30c7f5348cbc2c6f369aab79f831caec7d9000e8a73ad3f6d2d17306ad29d7ffd0907804e1f24dec8562def6f02dc7afd7a8a7f20db70fc0fe647fbcc3fddf72e5e8a6591189d42a914c95e9710fc069bc2be741fb37975cc3aba89817493642574ebb21b1ddd64c806f353623f884375d7bfd7adc35d8667a49376e6db6f74cf4eae54455d970365dcadfbee97f937ac8b3abea7edaecdbce8ec61019a679defc4bacae94fd7f8f33122fbed17ce357cd4ffafcad29e1e2bf33316f4cddb7a8fd18c5d59b3ec860ff7b9eed191af1ddd237caa7760997ba3774ceabd62772ba39cb2ae4b4a62837ba443a9580fe79d5a77cc579673f4cb62df7c2fccdfd3bed563af9d6f2ad8277229f9e4e7775ccaaff471a01555dd4647affb58417d1c3eee63e5b77d1c347dac3ceae3fdbfea63dc6fe9ca8a714d462c1ba9be0d71dd6dade1ce6db03f3bb42ef3ba36ccf6d1fedb9fe7743dcffd12e6f9b76b63bbcde37e33ef93e2bc4ee771b3d74e8fe81cce9ba96d5526493f89ee58e318c5e803742e3129ce2669c79631477ef5f4fe86af17aec3f5b331169613772227664d9deb297d94f859ee7145099c9e651ec911fa96e2427295e3ce9e113f9c6336d5e3f9f7b87bde7ea869aa8f717ea5508c158d45c70a9931de026ec6069c93bada8c75fbf8e46b8703e1ec5966e533f303d40222985ea4af3b4cce8ad1a28717c278c25e7ec0596a6565ee9705d20388bd1ed22bdb1c7ff14a4eeaf36732ef842b9dbe4880596cf5879b3a4b53c72a72b45f8add7c907282f7361e78232b91df64e0a7e38bd16fea2d25223fb9fac0dd043e83cae12657c752bf1d2b48e46862fa8cb1737aef1aedb7bcb9dfd2dd63bbccc1730f724d456173742dea8c75daf5ceb3d8d2d52661c04d8e81b0b92ea3f1c54dc5b3671997c05613d9528faea57ecb367ae6c709f33429c816afb9ff73391d859e65b0646d945b6b8eec296b6bb139d12d23992fd87b4cc9c2db9ad42f6fcf12cc33c5fac929b375b6d10d4cd40f647d61fd7086755a5bd979d6bcdc3268edcf2b527f09f56d8c74dd8eecce457e4107dc240b04651740cd2e03ee77a01d059617ad0d6a6c7903ada5aa5edb0edec332bf9c40fc0bc6c856da9aa460ef0c3bfbdd75e71c4c4ae4138a8c3fed6a70ff2eb09a9a4231d842244f6179581fbbf3b1b191f6f4594e179997ae49aeef3554ba9c0582887412cdb5e7f4d65e24eef4c1f51c603dbbf33f7ed98fc58ff3a0b15315ac63766b9c804f07705ebf7ea70b78e5237ddf3f02a7e79fe8fca89f39624b92fe03d9d3cde31162cc67340832a85f22746bb1115efc16c7f786f9fb5bacdf32054efea83b5e62cbcf1f2a35af7f074bd872ffcf13c2e9dfc10566487e3ec869e9e779cba9c9b8f66224817fb7a39f41fdd6e2262f7c766dfdcf4ff979d245149e17914ba17d043dc32a171f6bbec31b9b507f52bf2ef9c2f516608fecf8c94285ec23c83659d94d3e13b9362c91bc77b551e21d905d6156b5fdb22c67c72daeff947c0aeba3a4c56717e9e43ab659443b3e6e3582d9d3e2accb254e6a56fff639ad0f2e3e1319807982342745cf0fa00e42ffd9edef8f77973753c736f360da990336dddb67821b2c5a63c777f4e5dfd6df3fac6ffd919a6b05f34fe1a383077c881f6f78737de2b327b8acf117370b5d5c8fabf6e1e3bae22660e35aac2dbd09dd72117c09d757e201c96d7e407d4eb229ccfda38f3b6dc96eeae7fb4d8de81a6fdbf17740bedeb299c34e8329ed618b753aa9eb56dfb665c3cfa90e8e0f703eae26e231bfb5ebe78bc4a5cca1df79bf9f9a072473c443afd65157860eeeb9cee256de407d122c039ab14def6442f33ec71a2259d9c80d888ff066e8b5b22976ec4d22ee332c770e8bc465509bc5b6b6473a23cf686a0777ea7e983d0c682f9f4ba789cffba64647f4409fa8685ae61dc83774ed8dedd88b33d279d6cc7cbfe50d36005c9f9a04f320f4d351e6a5c1d4413a8456a472d27b4e2af3ee1fc4d96ef9f7954279cabf7f8ff9fba136d808ea4127ec976babaac76c688f37225938118c30d4596ab905b5a732b25e5be9a2e1f41c21b9946f75ba5cd1bd6347347e0eb4a753cf4b3f32ca7476554a909fbf5a1c2c609bd19c0ca1460acf96013fcfc5287e53f71f853275f2e0c777b8a5630527122726f7f850dfece93d07d27773f6e43180ff23f7ed2027f7f97d93d263dcccc3f81d7c8fbece9d1fdf85c6023005ed3d53c85fffe19b9abcd5badf0a852bf29ffa8df0647c7916c60d2ef7ce55d167852c7cb0fe9e6de29b6e5d9bd69aef498eee3eb0d1ff23ca66e88bcb1bed3bb5e2f8d33bd1b302665eba73b6742da7bd2f2ae21fc77860563e6f9e81dba0bea7849cfba7f7789679f2cae6bb6859707efaaedcb1b3513b464ebf3e77d9f8be7ab90d2d7fff3a5d40fde26b887315db7d4f8ed6717dddb2532fa9d1bbf8f8add5cbd66cc08d307f6973fe4a64dee44a64e62ed089dce367f5b9aa3ee7b67b32da6b91be160656412d0fcdbb29d083fa3919b57cdeb9b54ce577f5b3f79d3a4ed453796a91b6d5f70b717dffa5737ff275ab279437586df4bf8ef6ea09d28f482d1d8775cb2291e379f5698df63a9ab33a9dcbbc715e33ecd91920bbd33c0733988faccfa16beb35b199427cc7a2137f8fe42cbe07b01df376adad2c2577b55113975b59506b96f7068b81632f622335d395b583637e3a3fe0582792ffc659e7e76f9f3acdc06f34ef2a7a847e1b4436adac31ba6feda76cbab50ad48e10ce13ae00f23d153ed6cc75d6e52087f071ccf0791d88a8f655f7e728e4ef3c93d714d285911e14d8c5187865edc9f84b003ecbb03ee70fc8396bd3ab2bb3eac5699cb4ced326fa766f0dc03b0ec538e086f1a2b64340374bd0fb6ef384f6e8ddb7f7bb8feeb776e0d3c3793f20dbd0fe95fc50c30574962fa1803c149ccf44a171aa797c68ffb040fa397e8eedb7e71eccaba7b907f57cb65c168defd656a775fe34d48b4a93d8b5c51fb8144197c27d41beafe5e0783e075e9153c80ebaed5ba80d09dfe95efc03d25b369a6bfdc4f5d8b4efd8b4efb0085d06f6f157eea3ebfbc83afa7d5fda4d5faaae45ff54a7a719dbcffabb68c89108bde77dd71933b67e4f77edbe70dfbcbe4fc73adbe67773b169a73fa8dba9d2fe60927807f5a5fbdc3fa84fd2e3e5b88b25d325f00430266532f3d243fa21a5860e1326b7dc068a40bd5863e1371c2b9a58a8da9091f762f4575833dd1949daa8cb77d3e15a79c475d1f0af5c5bfe95d9e0161b1768618d5df89b7c1a4669385f6603a58c730f74750773be688bd3d60e33efa0dceaf33fe4142bac455348e77cf7ac64886ce365b4986d0c77a1c7e6976ecc979646b80cf964ef57c768333379cd18cd6d8a9ee8491c0196bab13b1e9ce71bf9f6d335c7ad55c4ed3e8a7db28fdae23226b5a9fd05d83f7b7f9dc9aa1b73216c8c7584b92d93f3d686bc103d40b6aa7edb86e44b374c6d439933312a0eaebd996ef92477678d1efc26c69bf9264e961b9355d7c6c8b5297a6ec4c17cc38939d215201fa2db0e6a34dd6862dec50d984c927b331af85f1e7d5bf7da0d9fc4ba85b91c6edf2d464507afb6b1b756911ba9b977ad8421b6d7e37164c24b80fbb96d933d01dbf7a5b6cfcdabfbb0ffc838db938b077ad326735fbd761e641e5f985efabc5f4c63a4af0d776e3377f7a99823e4c13be6e6d2a0e6fcc664ffaaaf7e78a7e9433e93f1685c687caecf9525c6acb531179a666ce636b598189481e4d27e659fd05c9bb9f6220b523336609d99bc9fb227c09108ca0ff30ec94687fd6480a72d77ec046a083de28f0db851bcb5d5abc7cf3167a34e275f5a51cb8b47fe2ee0ce90ac4eedee3d755d32c3b1abb5716e2fcabf25fb03ee013c944de50ee62b6b741213c7341ebd03d9990fd7fdca1621ae88ecc3fe3a2432a4c43c0aceadbc78fcedfb9bb6b07e14be7f01c7c6e3e73e94318f9f8dc78fd84464cc7e3d39ce02c713f068d636cf06f0a498af3f7b7cae82b1ba36b8d3677d79e8f97f4aa8cf21e09aaf3ee91fc20f0c5cbd5b4b7df84de283da18e01bb48cc67fdbafe90e31f6a453a7a3c5ba3ec6561fbd2826dc3863a83980634a4e267301c14c126eb768e27a03c0d426223fa702de3c41ee50ea430cc3e5cd14720ff8d90efbcc168c6bada1f63579572ef21f89cf7c406cceb1d7bb5a067ac9f510709308d993c80e85b8d44105bc96335022c807d786bb4df38e84c2b5b5e7e7ae3f5414ba9831389e38d6fa1dae1790bcb8ee7c3456fc75e7a4c6ceb1d4bd6babd516f25eda77df6203172570ffe0be697da1d9ca529ef5e92f873e9ded3ae6d5ea7417897bbe3f828eae5d2303fc1c9ba9c7cf2bbf3aee2c8ba5457e8ee397c226f1a06ec9e8807102c4cfa74d760b5bdd893c7b1685e412d8e20d4e8ebef8a9b10bf83044ed40fd254713630bb159e065cf81db8ea7c34f0dc6220e2c03c7a7b409964fd13092f9612663eeeb23e10e8f25610378393f8ab32f1b7eb3fe8166bf307f059ae761606f2e0e6ae7f496b79b66fbf8feeb2d4f4c28035f6b9fef167057ccdc734dea8d6075d467d72d2217f5fbca8c4dcd8893d9c664b9b5a9ce31ffc0301713ec6b5b3345e80fd40592437eea860e63bc89f3e412689310f51de4be58f435e093b35b42acf912a466e9233bafe97fb7f4186af769b1b41f4df63086e584f0aaba99c3cc718de76832f70e2a5d8f49c04d46dec02c45c80f0c2f2e3701acaa5f4e628f70aa7b0337f1d322f46b9e0482d76cee1194b3181589a41514f9e6dbbd14d964e72fe1fa5ce7faf77d42e288c6cee120960fdc6ff8db3afb37373979834502b200b08da3bdab0d7726ae6781f689d4e391de3d3939760cebd515cc04cff9d90eebc843fcbdf7f809d0ab21e61225ef5ef913f6ecf17a5b0c1ecbb900fbe66ed616969122cf9622df9dcbb8fe7fd3d65923937291cf687fb06e9ee7a7e621b00ae0d9a9712c90c755ee42570bcfd213b9f067edfcd7ede9f2215e6f6a839672c27e611fed6682d6fb1aadf7f924dcda8baabb4ff9180b767eb85e0558afa99c62ae50bf44326478ae6d22e0f3b10867d403d9eb9771ba3828e14aa71bac9c53d1676ba006e0ff8e4647c7565701336a39f9b51a3f17e692f091fb659cbbcfaed392143d0bcd31a78cdf212e5bd7c3993e915582f2bbb8f37e113921a9cd9f2ea259017c3dd1a8959b5ccbefee97c55ed28a12b5636529ef24368cda7f6d7214f67488ce2f9931d4fcffddbe131c8af19d0e0dbe3ba40b2c6e7501d34b3b983441bdba96b2f37916ed212391332bcc538371620b5bd9054c987811d947521fe348ba73139ea1567224e641545468beff28a36ce7979f9c2abcff2c3c1fd9ce657c6f07e06bd34514e2feb2e323dca7a13e4ceab83ae94b95ad796e9683475ca4c97b876b88e84ae323c671fdc407e53cf6d9f1462ea674e2a741a25923caa3a1decbd2a336b4cf17b057b806e6bd91f4e36ecdcccfb8660fbe47e447172fa26b3c20ea3ba83be16a0fe7ee1973808e8f35ef3f8c3bdac3b56be45966e9326687d77074d908e615c96064936a80a9db65cb6862f86983f33bb9f6e2e06a132a60c60d3edd2fc9fe246c8eae36a9d03e063a9c7e247bc21fcbf977ac7b4d30b7c8c0cc1d5bcc712d61c0478d441ec9413544f2cbe526d1276913b21f346b94057c127a73d02913898b77de40dc3db22de09c65525b9e8dfd7242fc7f2398b377df87e5fe117431cc5984f623a42b020685e41174b1e0541f1bb0bee315bbe1f66cb8f2e4747ef5f96254d750e8d67840b26065194dad045277ac5bbba98fb1b1861dfe4bb1874de8e68379fba6ced7fb570fab1f66a007f2bbe356036eb7eceb21d76bd7277cc39dca8d425f98e49f5a5ddfac532baa84f8cc0fe713b68f8172eefb512379a6c23afbb21b5ed2aeff61b6b536c46771ab93629ca54db3994f615f886be11a345f5a31b8790ef8314c6b74fab367cdd1b3d415b419f303619fc32d775187a3f940fc38b6886466115826ed9a0d872ff6a7d5fd85fb9f95f9a4c2beab4d72af7b37f8aa90f0bc7ed94ce77af03b53b77cb36c37ef4de2a93e572db1739bff675426dff11cd55892be7deb47806fc7edff419768b9219df43606d191cfc9ca5ea37ec771e0d99c0e78964373c2e0e7997f50f2277e1456e9f03c123c75066b39ca0b5b3f51d6601160ac0ea94752d7efaaf1b9c4c7f0884bbbe19e3e2c12f7a0b0db9aafba1d5b88d335bcd5d80e4e081f6fe32b26e37570edcdc24b136a6bcd73327f7efd70eed8e03099f1f1c97e55215de4017e0bf6e485ad9c9fc8d43791a741876cd73cb2cf1b6e37a40f605ec4a848e4b4ef2b433649a3dfa2b53550b31bdf1de18be8f489adb23dbd92f83f6e303f80b1f5b422b9e176eee706eee944e68dfedcfd610e02bfaaa074b8fec36b1f8f8a6bdcf85c98c8bc9fc9c207c68a69c555e28d3cc032ee916f0ae92a09c6eff47d4f8ffd553bc8d1936edb7e58245eba49fce81ad5bc5fd896538e72343c637d02fedff98349e23049bab5d43a87fa14d8c8ae4c4e3edfe48d86223f295d6b14bbf662d7daa9c0ef104a56fffd688d7c09d7a3ab75ed04136a8b12fec9f73e66eb6fb8f7a1567756732d2c19cce7f91b0ebd761f7bcc950ef52181ff575f579863e4cfb9f16a3e84be6f2306f9d9cb1b28c10772791e97bba9757e13a7ebe12d1adefa16cf8cb19f3376658bb5dcad561660c009166e17ad9939e60b293b39f536c6906fad0d6067fd72126fed05d233f34fadadf386b1cc6c8973531623a2f361bf1f87ed6c9ff9d8f9fc7cbf65e607b0f1519fbd80e7c73a20706d429e80a70d774846b8b5ef809f53221f5281f0f126976cea44a393abb168be9c50df394c7eeab503b8e437473f6507a2a0909c5f0ae7e5d98bcc4176c8dccd3ca608eb9a85fea08f6971b55dbf5e85bdbec5a5536d9dda13cee9d7334ae617178fb9be051c8e812e0febdc3b982727354bf8ddf039ad5b3e07f88d3150e8b7638d46f0b7e635d86789ccb7b53cd09ae9e348d07b6ff2bbb5e2ec319ba4fb4e72bccee54c6ef2041359508f8e3d4996a991bb7618020785563cc04c661759783c8f9769d2d51bce3718c9b3cc8f9e62247bb5b7eed777f9da7dc06bc6d6fb5a5756bdcab909b55e3a18678c97016ccb2d9699ec994eea0266203e7bd6fcba1a886fcf79364f6769aa944a1977db3dba8d5bc37a25385b491b9d1c7bf2afeaf2ab532323356c2e983f59ac395c4a15ed5f157de9f0a2852bdbc01c419c08fcaedd7a7b75bb701c7a73b9ad41e8433de1392b0ba7073cfd3735c4b00d43f5f5fe464ffb47d1d97edd59936a6acb824ef653dda369b786f6f0a85422ddf687027c368fe609ea974f6ab3d2cdcd65cb98679d4f2a52577089d654f3bf70cbb1ff3467a1d51feee615fbc2bcead41a128a71f0d8eecfd03b259d2d97a9f9e21a735e5e63f87abfd79f4b2dbee12c158f62dc70e274dafc377bfe2c6bf893f6bb3f9c8399676ba3a63685a8d3b80665330659f6a5fd151e8452b5b85bf789702389353712aca540a733c21389df1f35ebab7beca6ef8c7471507e5934d5992bcff35afda8b5ff1ed78a1c162ba65797b9b0f5acaee79c3dd5c37aeb45b9dec9a5c34bf761b963101eef9e9efe33775553b381e0949d6efd038c65ccbe84e22e3f82cc8774911a704d532b7efaf37ac075c9d67f34af1d863d3bcc9c7a19e7c41867e79050ae518fcdd3bd678f6bca0e59d7ccaf36f87b4c24f3da3e982aff93f8e1b71fc5179583f59ac887cd650dcfc76dbc93435d0e09a8c30dfcda395a67563509601f48f202b816b0ce78b9e746e8d7d151cae3d1855a40634ab646ac34fdc076bd16e78e4e5d65de61037d88f6c2933acd4a99bfb2caf494af78e7dde37256e5926465251ec61bcccb35c3c6ae31a724fe9ad9fa75ace8e1786b62bc82632fa648eeaeedf5d1e3f24232a9f16a3a2bbff887f77f2b5112aca657e6e9f932096441f51c2dffb6753a59ed87851a39a5aa1bb94f9f42a93c052bcbf867b5dfa5cadea0db6b29744deaea79093e550dd73d7ddc4e68c3f3366a49b0da0fa9bb676bf1bb02f84803ecc39ffb68f29b3eda3c3b5f4a26f5cf6a2fbef6bdbdfc4c157091ee6171f18cc528e04dbc57dd633ebbfc1139f66dd6fe1c909b09e485807d6db08aee54cba992fb159a3b33d68be86c3950c68e7eaaa48aa6256b5cd75249c1875416953430fe7174365c1e94ef408bb3653583b5bf2ac364656f3c2fa2d09cbe34f194e484c6bab4b5536931c678355da7ea5e0da45264579a9849fab1c4b1793cae10ef8ea812f5f5928bbf83f9e92cebf340e69bb6a0e7fcb3dacfaee499ffacf6e4998385e7a2318a1c46a1a96f714f4552b71ff971c36f0f3c845dffc69ef6c01705b55dc6ac7800ac1b60225caec7b9666ead11b524f51256b4997987f5b0ae2b44fee6814e456b6331ddcc4c7e43850b2d3e29ba315a19f3b966d01bd34c02c732b3d049d5d8b5dcc3964ffeb7658a9397b257df5e54816032c1201c7dee3f0a65af50aaee0c96d3f85b2ec566bc828e6fcdaf8a7059e6df7e9990588c09719bad79a26fe7a25f26c1ca567af6ad53deeae30def0b60a416fafa1f854bea7c6df0fb6cec4509f9349d5cdddabe92a38942dab6f36cb322189450e469da133699cf1709f0b24cd70d7f1c9eaf09eaf7a1ce384718bfd6377e82356a0d2117756519998ce6063f841cbe55f5f1a672f479a16f827e1cc07958fb798be6a800f59e909e90a079efedd1bca72ac98a611efa34c83c66b19f316a352bd4fdee2a69f93198a3ebe648d60c177b8756c871b48e17878de7977969239d4423f5da848527f16376abc568dea27b2a3c77c7e8ffb2ffbfd3cc6575afa41edd8b71d0729a5db616f0e8675f56e2891115dd8eaf82e4a0ee94329f7862327e76fe510d98ec9331ce508377fa084f5b639d71cd1ac833afa8a194c6273fa20a3427a5e96cbc12944cd667b953d12192f3685f92751fea87ae18b4108e5759f860bdfd18fd2e64cc9991484c119035994b157d45eb70cb394745bf8e65cb81676ea7c37f561a9dcabcf30d73783fbc2e9931abec0d464ac7dff57364fefabdb23f7237a2d8251713dfb5c17a65ff795ed57d9e889f3730f0f30ec6d3e76d2de788ebd38f33afa20ab98e15634ce1056afa75386f029d5d3ac6f04dd1c657290a8fab922a96606f1bdf2b830e037e77f67976204d455c7fada4d80e67e0713bc57d2569192dc5fdebbd922e258cd31ff86942dde6b8c8377c7284eb89705628ec92cb2eb2159f14ad4857daae584d8bbda4a1f1bcb2ee7ef88fa215d7952e5620a7755675eccd513e4c2e41b92b658e2a552e3ee15abfa3ab37f08f4a743da9959f2df71ff9764a97686d7a257ade9af5f7e36289e68a10b3ae7ebd7e09578895ba9a932a1a9baca61fbfd0fc20f320a9fbc6b11695c41b19c45cd2f912fdfe128a04dd8bfa745586d5ca6acfadaad99bc215f4ca72b26514d2f573dcb4b8209945da9b7b8c7f74b5f842fe5774b02b8cff49fc8cbdfd26b4dfada633247f6859a372473bb24a14e7126f7caf6ce3db9b0e594567af32337bf3b9acdf4fd3d9c9e3e24c4a67ffac74119e219579ee68637846a09df2d59e4ee13bf40f64cfa4929ed11273fd67a5cf7e4982c24abcf13f47a3d01ce83f9b8f817b6c655dd1b7562bcbf85fbfed452eebb3ec76de6cc16ea2ae688fdcea4376393d511633fcdece2916cb3225df7239eb72452557482f71f2add65f4f817e1d6feda29279e57b65c5ef4e85d60fdac34fc75a9709b4e22855742c0bc665a58bb41a157b59a786c8ce81f771746cdb5756d1c5a17478ce9bdbb3a32be3ef7c559503366e534bfeefec2464a79e5ab9dcadefd4c9e912eabcaf877e2c9ddcd3da4fc06940fdf2f759f2d45664c0d61b349cab60b7c7777d21718bfaf991a4e1f6fe558e8856e76228d5928bcff04cfd544ac2894236b06bafdfc4a4e1c5cdb14f67fc26ea1f50bfc161cc7899429b4750af1cdd8febaabfe3673d8b9b4eb23af6f76553afd40fa7d03adaea546495e2378e11c499542e0231423a6f9d9fbf8bec48fcde6ac029f23f8841e874cd8f70ac8f2f80bffa079ee73e5f675b3bd06cb8e54ae0d9e8c4f615cd85da42de9e3e434c0262cbc6d12baf9118c5993c15d380437af090f5a24e6d1bc1c8d17e8f6b31ded6ac39a1395506d3acc2fe1ba8dd5049e06b84f9f4e697bbea799da5ee3c72dabae1d5dd9cfac12fd2e7fbea9c0b45644bcda9a3641763f12c7d4463693edc724b319ab1bdff9313656b3b24d3336bb009081f10e4db114ea8177c20eb3b9eeed77c276bccb9dd8c5d0f7ff7b2bfd11f6c42740d607ca62fe495fee05ba9e5d32272136c1f8df0380baabdb537c717fcddd42bfeeefa3d6214f7dbffa7fec308fbe590bcc0f95ab32bf8eda23a4fcca8ebcd174ba87d366bd62cae373f1b2a4dbd798391b4225f696284e3d10bca07fcd62ef7a734defb523af3a2e2b8b294a3d8bf06d90cd91fc9a768164abc3bfee2c3f11717962b6b7c7cb83f68d7a8d747484670f3f24b284af910945b7b133a29c4a6d345343f2219d79f134f6b79d5b2fae8108c09d8ad9017d9d846b4247c1cffc2ef9877301819e0995a194575e5933765f3bafe9eab417dec6c991a679f293290535171960662c34789734a17ec73bf6ecfb7dcc601d05cc0bedb01da133c6b4e390c8cdb2bfbef0dd73eeaebb0fed670a553471738a4d940d2c7a168196f6252cb7e915d59b8aee18bf284f94b7932f80f7cb1e9d61ac5cb1bcebbad5d8cefb867882fa2232be0de576404d2e5fe202606cffd777ac49aae9f53d73650f4dd4d5c8c8a20ef82137347a74205eabc1b47bf446b629279c92958442e89d7ec8afa797dfeb15df6c9cc000b866ba787ef487eba8c492da305b9f799be321f7f71f33d8e5fdce655dce21cfe754c00ad85a3ff3457b6bb86145ae16efde4cf72876feec3fd5f7387fdd5feb6057c4ab872f77f17a76defff6d7ca05275f18fe203cdb39fadcfd7e25e8532dd651d1f549d7b5c36f9ce7bbc8f5934d5be332ac295360bfd126c584f31bbe77685cc515749bf5e91aded9550ab8b9c43b6a6c3065aef58fe49cda76bcad40d8ad58cea182adcb558ee27ac74ab7737df5fe0f1846b8bd41b2cf6aeb57e7390ce65a9682ea7682eb7fdff7c3e3b3a5bfd8887b58bb132cd6add3c0fb81e16b6d91b56fbd9afee7d56350f9607c86dda295cf2e29ea1d0eaebf31d5faff5e45981d68b1f8d80d3f44bb81eebdfa037c39e1b64ee217ed31275a547a3ceb184c5f5c99fd73ec172bf53a720bee7bc6efa9270aff6fbf2159dbc999be8dbeaf908f272abed22dc6e31177b7cadd87691e9931f18eba132fd38d98239dbc42e0f353ff9192bd3230f1d5b4e3faeb259d09bd982df24542c97c57ea5b19f168d8e295785a3fdc0d8f09bd80d16dc18e967bfb1c348dcc45e1f5df055c09e7f769830f4e33925f1c6778f7b929f9d03deac001ba639a96829f5ff199a6b4e39a25c5ba5902c5a444ee868f5ff62b62a17be2d1891345893e7ab1797372701b7bb4afdfacf851ac56f8140e5de94bedced13cd18fa913d2f689777ae6a52f881b51e2ad53a5a943316b01949738e76a7bb4ae5c4ec4bb81e44b816727d6eaec535b73067b9912e0efd787a3d76c03b30edaf5d4fa0f2cf41674cf5dfd44c6f31dd9897b78ff9ee72acd7ba7017975aae0662a73e6c58c9bc932d0f2feb7665bbbfcf866077fcb4a730492a61dd2debe152b8977c3fc5722afe0986a290b4277b7fddefa8af99a6eef51b5a6b4b2d798e73e97168eca85aaf55f41dd27109d6e7b758c9ccede9adf46511b9595bbb09ad8738ebebbaaff9c61ee0347fea1f5a853ad8e8befe9efba0865629c7759d70b7f4983f925f95ba577ec094201b6e7d6397cd914c67d4283eded5f3a5baeda0a06f80875f38a57eca9e96e90fe3f7b32e7045fd81e7b258d5e3a9540ed5729e38689cabc6aec5b66ca1e871067b3cd4b9bf9ba38f6d3fad38cbbc937b5c7195f95dee4e69c014c942fcbcce35de7b3116bdcac87c2e9895f510cf95bb15cdfcbc1f1783955dff9eb12bcbcf759dde4bfc3a93798a55700c70b0889ca35bd1a5c4fb79b01f96377a6dd9b5399528cee43a27c6a0c75f42ccd6f6d02272696946658477e14cf00f23893758bf0ce336661d674bc6f8c7d34f27a83d31a5072bc63fbaf3d3c9d68a93a467b1c5d081cccf906d7a92f95db664cc1cf8d8c03ffdc14afc95d5b511f056a3ef91345c275ee687987b5b88df45a85dff5173cde62de76bf7bde3a3c71507797e4adb5af2742073b3aba4679d639db67431998d3d409f5ec663deea3e779c0568eec4d9e760537e766d129d4d907cf5a2c453e6548e7126f11be4badaf4de69b9f4b06fa1a229b9e69adb379cdcb7b2a994f871dd4714d477b2e957be63d0c847f0bd8fc1a6ecd47f8b605dfd85addccac6cedcc5dc69592da756841f3e304f171bfc15eb976c7fb58c8f62a776bc887dcba1a29f28ff50dbe96316624cf609e6548f67a2d3be4f6673f152e34dd4e617a93ca13eabc7eaedc66f9aadb4d9157cbce6a9b47b71bc3e361ad99c5f5a51db7320f324c1e8d757e192f7800f4b6fe0ef94039575c61ec91ff6e7b9d5f061a48b68dee58b2e1a0cb6867ec3dcabe7d1fb977eba400e8ff5ac2f8057f9f6bbeb5cc077bceeb233ee07985f94c48fb32fc89f00ae47e0da6a6b89fce4df58439d02696adcc44b1466f95776f4bacd896878a91406ef0b77f3e535bbdae8ecf75d4e7482b705be6bf344dbc8968b271fdd75037527ec62ec950fb1a938fef0dcc6e8ad2dd89fab8f57e22cc572fa671856b5fa335b1efb1bcd7f85bd56f4c6c7482f313e147c900ac65d83ad08986b8c9d6cf76dd8c39d5a6ee52d6efba3f14f6da7742e718bcae3933dae23bb667d6e17113f69240ba7c99a52e706adae8c44019d46991eaff274f686d621c4bea17e30e40625b886b2033e05f20cb467d77eeef073fa6776bf6885c8e68fc1ff8c9ff728ef91f0da1425e81f533a6c73ed3ed03e9c77f661f4cd3460c0b818e928b454cb5cf0ff18bffc6996c8c207c985457b659c2e9ed7253a7a7b3ac7b97b2ae51fcc3d5a3312e4e6cd3a7a82137a6578eefbe0e35f5b926f5de7d5ae34d021bc4f93ca487cadf1af2dd3215baf258215c232d32ec6dd5c6d2feaeada4ea30b804ed6c4bb45d019fadf3efcd5da0df1d145fa8bb5cb150ecf23657a3aaef8f5fb96cbbf65def996cae48873dbafe922558e7e54a4325f78db790fe75376f48554169ed961c97319d391fda0e7606ea4262fa9ad97d5f2de404e90a05e7d9c0774f698e189c89bc8e38d6e3dbeb3cd8f165e34b9f8900707f9ea91ab4db280374b5cebfabaf352f62c5b64aed6b98a8252e3c18e8eed021f86d5f233e3fbedcdc54fa8a3a44d4eaebd397a0cae29f992edf397b800b5725a3ba5dafd98a7f02fb1039997aa79606d926eedc23fc94bd85aa3bd2798b16b2bbffcfdf177f145fa95f862a075dbc566bff5cf567f9697d0b659fd9772fd632875db5ad69c94b3e19ffa4745e2cf95b845e6a59be473c6a66254bcaf0d75ba31555da7173ae43820b92d0006e1bdd3f7ffb739365a71c1edaabff379ed6a3c1ef1efc723e9d42f4e93b3c3808fea110ef00fe239b3a1c2d5bad0babc1b83dfc65ee775ec17e94f4d9bd07a978553674e3ef55987a23d6ae2a75ed9c44f3b3e789ca7f39fe73bf5627ebbbfc41eeccaff205658790c9dfc65ac10ee7d215638fcc3fc3978ee7f102b84e7105d8e51a25a9713890f667c140feac5b38c3687aefeff4fe5810db19210eb4dece9c73a82ff41dcefbfd6b57b718fdfe76a433d1dc85fb3bb39b72ff93c077fe3f3c4f8e22495baf6ba354e17697cac6b6b407bb4b6c6a54553798063c015b23701f74ed626b13d3b390f0ad47b40cf5896b363a05347a7a2d3bb5a3e80cf00bd1272149cb2a90b948b9639fee2874d1c0bd71b8adf711be2f7be1daab04896393a4d7d012fdb3cf784e43d1016a3cf017a4ecd0903b54e606ff8128ab4f1b544bbac7bdf16ea333618fbf0cbeedbb93fc87f4ae5c0874babfd355a2da7bbbfc349b61ccca5f2aa2d8bb115a4c64ec77719cdbabc4c59ad97420eb4416adfcd3b9814a8e9d8d4b5ebe89462d6e747313afea887fa61f6f9743e62fe18c857c7b525215ffa514e43c3c3c7110e3e9bd82c8259427dfcff0ff5e4a5fe77b9de4bfd3fc8f53ea817fff0973986f8de1730b271f50246b68e0591e76efe5dbeb7be6e725295b2dea79c1af7067b97a3439ed17e65cdce3ec3960157a468cfbaf5db3968df1b2ca85656e29afa1eb2bdef712ee45938f6476a8b5f573660e3507ffdf15ee81e8ab16815683fbc92fdb0fca9e66b8ff76ccaee6b1c59471f7b73cada0f3f26fa719c6fb57aedbe840718a9777aed8f7880911adde3016ef4e2735bd7695ef94c72f05ed1db5a5cf408c9dc1b7c515d2ff5715c2bae7d7ea3d01fa899cb0cc315c9977680333738ff7dfc4a2c9bf918d57ab93f6c6257ba336c6257fa07d3f8c0f68d0f6c80f612774f37355feb36c9fc95fda906567f7d51219a435bed0e1b0c7ac722728087d18dc277677f2c90ec91f82bf0618be92c928553e21dcc936b2f00538973cd83e48e038cb992b9748d9c48ccd1187982992cf70ad2ef914e8fe5ac7e0c15a473d954260ba768b95fa0f57476bab507a784df714abf7f6945b2b24faccc0fd9a6261d87f1e58eb5d8bbbc99ba4c986dd353ee59a38b2fcc4b1ff4d85697029e3addcf918eedf3451670bba897a37f53271938b6cc136513ccb33cf5c395e5108ef0c4f3127afcc58f8f2ee6f54ec0c669f219e37065818cf8f5c0d7d7d19186ac036b0ecd9127f1c23dcefd09b4518a7d81a374c9c4ffb8fb3ceb70801d657ecd3a65d8b39ddc28ffb6b538ffd4e97cc58c8f2ed7e66ea3f175b9385ba6703c0ff6f4a8939f7a58e91fefc17e745896c97165279e5ba2671568ae843ed7c4f0f22d978cbfb8f06c3161b0b236b7beb3f3979ea5afed65f77bc24b7906805ffeb77be022710573efea7f87a5f353330e2cf505bb6d7d55b43fb2db4ad7dad0ffd6ffae4e3f4a0970c72ef5b3ed46fa01fce833c0c2d5df2646c5bba21faf5fda9d7cfd19bf19cdab2fe11a3a36957f0eea7efe17b6dcff29c6cd68f1237ba5c14523198cfb4a217df5b496cd7dcd5da8fd7b2a257e58fb84f648377731befe22f1e83d687d87fbae8fdf9fd2d48ab9e2fc4c7ec70624e7107cfa823256a204d748ad7262c77d34b5cf1d9d4eadc12490858fef95b57b77a0c6de89059b86cbd92d5750abc1c7589966f96a4a5f259be8de377e69a31e7b1ed90ac0bb3c1279a2ab0880efdf79e918ad0fcc91c7d5b59145644ba167bc0753f6bada53d7657afdc79f9eae52451f25bb6eab934a80d7084399773d7f4ee53e57ecfb79e273f6eb668d7c3245e21ed66f7eb90b2186942687ad40fe7f0d974329c08df337f2c60079b369e5fa5f722c0187de4b7a77e75d1d7e0fb8ffb7bab73afd605ed0bdf90e5f3379f633fdfb0438a2befedab52f3b3a2c60b9a09d6f90c7a43b3ff0cef462bbd73f8809e3eb1f604d9feb96a7e4f3a9effb215eaa6c6b1ff90f7cdb0dbfe463fc60b463a47bddeb829e0ff9545af18e6bfe3f978b5e49f88d5ef481aad3d95ff940d5e9ecbff081a65baba05c5bfc4bee1a37f3844de2ff1e9b4e29baf2879c4c498eecf5ff266f02be91cc8bdd1d2e1df8f8c9fb446c6fd212b7a8effb573ed1fab937f5541ee56cfe5fe0c26ff10a94a21b3fc5449ef9c41e61f37ec22f506a3f47865274bf5ea31459a38ff22ad0fefdbe99b1aac9b3dfae3552b6b64a811d331b5d5cde6cfebfdd6b7e98e34dddf35b5fbf37f8bdafdf2bdbfbbf84827e5cd303e747fd46afeccacde2cfe4e68cf9c33842dbe6ff181bdcab39d7603e67d5ddf73cd7bd3282633e073cab788320f163a8e77a7ce28fbc7def506dd777a934f6ba38a8d7f592f88f905ceacbc5166be9e874b51a28a80d751cecadf5913fd30d269454fbe3b9c7f9eb9ddae73b17d770b8604c51e7fbd13ce7e26f312275d1b530913af7393a1bb63985f11bbaaeb6435d2d8fc436972852203f6f982ef6b30bb273642341b2f3bcb537a355299e144e7c7b8cf7fa0107f1a0b6c04aa30a19f57f5d337e3abe2e0feb4646756cbba31fc5ef52793aaf04f15db212a8bfe36a21d8f648d70e7a5cbb7f34e68d7fa5872f009e9847782ec09875c718d7de1e889d6381e158af8c7d4f2fbcd4e3137005d40059d9c07d43e218f0bb1373a96b98cfae3798bc9acf9e6e9fd7e5b01231b716799eb7cf62d72a92803776c1fc54d9a84f1eca9b3616d4e8527daee936cfa37a112fca0fdbb8c16b32ae54a336debdd4da78f7b2b1d39cea77f9ab4fb90318838575d3e6fa66b806d318d64c835f42fbde9e05feb8656ab43935753ef59e45365faef4fd426fae362258358851b779fb34ceb99798f9738ee89e9e26ded5fafce19e6c65b76baaeb9f69b0e6043fb5d5b3b3cccd9345e49e577b3a5b0dd66f6d7dd53f8debdcaf39e00dea735a25abe9079e8f1a9dacd2f817e4b431462673e179650dffd9ea6cb64c8719b9ee2c557486ed74e31f6f3fbe2ed3e1c9d587ffacf61f39fe4b5d7bf5e21a9d20cc243dff9606e278abe7994703ae97b206e2b7dbe518e4d9d76cc87ddce42a2ea771ed2fa094ea2e57e3477f87a4b31788931e9ee695fcd8c73ddf3fd7f56f3e7b562d7b171ee4584d77905b660b66eca66e6a6b62eeff3fdebe643d5566fbfb82ce20809a2dc3041511b003e96602511050dea0d25cfdf7d4aa020a9bc4779ff3fd07fbd91584a2a866f5ebb70e4c68b285e7eb1f15e4ac4d0a561da99c03f9554eac1ef03527d994704d9772a7beeff099383113a2b991eadc2d6e8edf253a891d76dfe556e85d03b84672e03cdf5c274ee2f85258b04b4d3a2dab94fc3e3fc0b8cc75e4e8361e83b846ef4bbfaa192f8545f5e8bb6cf42ee38cdbd5dd3b02fc8e5328f7a46fe998873287f86814caa5f42685c5a1e933d9e48e41e64074fc652965ce813dc8dcf85b16ea716e4a75f419c9a3e1bb149e5db72c58653af71bbc30d4bf9685b2267ddbe539904b299521ff34e7a570ffb608a56f931b7e7b6116a2febd103daf666ecc34b4642748297a0ee90a2d9e4a80ae9d961543c61f0fa5f09cc99c9d4989f76b4e3fa5ab5d080ec0c913e2e16e72f65fa3496a49e10b37f93af33a2e9bc27d31cb5db89fc5be14e6a153fe9a9ff3b06e4ca7eeca543a818e2c6e521acfc5d7089ecb7405b82dbb677cedb7dc8ea9d4d252c0e31a3e955908ed2967a1732531b08c5966df5b834917e87fbdb82ecaf8b23401c78131b9d857c4e8467e79292f8551ab554d8338acff3057932dfa76f571b6a641348f8bbe33daa37602ed036e3b313acf639c53aa7f1473cef115ceebe0ef48313a2f9b5cadcf8bfe51cd13079da1c4d12572869c58856b9b521557e43e29c7e7ea5fadedc927f956b26627be4061ee88c3cc0b233a27925504297c515ea8e65a74fa2a95d15e90dea5681c2a8232da6b543ba4da65db0ea8fb03eafe13ba9e90b646b543aa5db6ed94ba3fa5ee0fe05d2abe0ef7e37604ef5d413b8367713b84eb1bdcd6a87648b5cbb6fd0f3c4bda1ad50ea976d9b60fd07f84db1ad50ea976d9b6bfa17fd2d6a87648b5cbb61d419f7dfc5d703f6e47d0ff10b7cbb61d0b545ba3dad4fd09754f06ef25edb26d9f05aaad516deafe0b754f82ee89f19c2421d52edbf65168db1774ff91b443aa5db6edabd0b68fd03f9e932b3c4bda65db0ee01b27313a43f9bb1d2ec259e0685226658b2fe9700a0d718f9f81f7ad4f70df6088eeabbc12dda77da0fb56f08c2650ed31d5fe446d1bb747547b42b545b81ff729516d996aab547b0acfe2f68c6a2b547b4eb517a8bd16a0bda2da4bd476707b4db535b8078f6d43b54daa6d53ed2dd5d6a11fdc36a8b645b51daaed526d0ffac163fea2da7baa1d526d1f9ec5ed1dd50ea8f6816a47a8ade16f4ca8768cda5bdc3e52ed13dc83c7f60fd5cea8f6856ae7543b857e70fb9b6a9fa9f6956a17549b817e4268b3701db739b88ebfa507d771bb4fb507a8ade3f1ffa1da3cd57e6bdbe62775fd1db55ddc1e52edffb46df3836a0b541bf636603364e6846a4fa9b64cb5e18cb8b82d526d896a2b541bf6bf0edf682ea8f68a6ac39e77717b49b5d7541bf6f306f769526d9b6ac3bef570dba2da0ed5863dbfc17d7a54fb8b6aefa936ec734c374c9f6aefa87640b5619f1b786e23aa9d506dd8db3e6ec754fb48b5610f1bb0afcc7fa87646b52f543ba7da25d586fdece3f637d53e53ed2bd52ea87645b5616f1bf81b616ffbb80d7bdbc4f7c0defec2ed3e751df6b689e7ff0fd5e6a936ece12fdc1e52edffb46d0dbe4bdb9c107d1f633e16ff83e87be14888be2f313d328196b91cf09409c803a17f81fb5ccc07a423f38afdf565ddf2a9ec5dc7d65aabb7c636755cbb8ec1be68cb507b94ded06ff486835a635131ea2f1888b56c4cfb9b5c885f2d6adb2c4ff0c82ecb5e6df3486359e741e65cf636275f88c0d681ebe2b3d89e86b16d5deb177b98c29ebfac29d637bf46b3c49aee2b5b43ed556e4df72cd279bf46366af770db4f2c2dbbbe6c27a37432377cae93b5b53499abc98dcf5f31ebae34766b5905f93f2b77c63950acd4df4db25cd1631fee8bc66733668754db550566809eb31272edf0715e689fbef22f6c7b0d9ecc2ff327611b42afb1351cfcd009b11dc2d6d8776b52f41d11f4fdbe7340fa46902c40b70f1274df566742f8be09d17dd07d23b82f22f7450eb135c03de61c5d0b55a3f0bec4550ff7eb7bf51a5ad33dd835be46f300e934b08e93a23f3725e87b7ef8f4eab544fdd4369076fc1f9c13a27bd6d0a71d171ef4278e736c4730900ee6b971e179f5b38780d80ea401f4a1db7d75827e1bf755d120bf7de4a4ff5c35ea77ceeadfaafab7f9a4fead798e6b7e63ebdfeaf77d0ceadfecbacf5aa71b1909fc567de4aa2001963e60ba96590876223c9f915c023e1cb119ddac23d882545e8a336c5f81bf6d5e8acf5f8fec4f5278beca3df5db0dcf25d831e07e621bb9b327ade3796d4f129dc4d2e23fea910995e9078ff5d78e4d29447a29b11f1dea31a2e7f018f7788ccd3b578d3dc62eb3702748df4e08769bec4b674262df39c9e56c2885e784d8633862af7267ff913f128341ed682716d94e64875e620cbd5ec1eca64e2c6bd19b1416c707f78f77e342dd8dd9e12632869b5eb1d94d9c09b9bf57df4f6c7264ee909eee24b54d8ecc67e2e8b384d8e422725fa9a279b28a5b7b1a9a797a3ed26529657abda660ef32489f9f89a50f434564785d3bf7e4720f7351ef21472036ac72e65af57addcd759e799347f6acf35cee79df5218011eb05535f3ecda5a9129d3cf877634572b54ca0ee66e05b09dc1bac9a5f4eda3751b0d79d48faf1527459022e9b13d6d80ee97c2f3b1b1a5b1675611f7df8e90873361f6e8fd59fd3e47a8df579cea7e1461e659e2ea1ff41daa31dfec46b3c57a9a579b683d9447c3c0acc6a5ca32293a47c6789fa2715a9322dc4d804eef2c0de984541fd69cd98d6617679a575e72df07608bb67d7c2a06e963aa6616dbfd6645981d7fc74768fddb0d5f1ce73ff0c53b1b0cd3c64eec1bfeaeea12fb934db2ad073c4fbf920dafd67566637ee78813c636f8ddd23a9f6c6b7e5a249037522a221b78a3f4e258dec9ed15c3ad16b57506c93d8f6d800fc6dcf899564c8b31b1625a3fd38a593418062bc083ecd4f1d068df1e7356a1f6502b2ba9a394f683e0b8605cd3f6e08a46e0857bb0173a7a71599414bed8e41c5b7a3337b12f0425ae63347355834977161bdcd58045fd1dd85211c75d1f67b28e5dd1601c9d4def7ff3637fc45eefaf078157b1ecdd753496115b29d38e9c16bce487fd09a70ce7cf93bacdebc017273b0bfb5b490ddae81de2b2f13dd5d64ae325ae61fd2b1e4e9b5bb5c2312a18d38f6b63f4a31c623e35fecb9a9c490dfad55e09b3b715c703bea06fce19b737f32c6d85e6ea696c20e2818ffda645b234c71d7fb23b620f8f6242105fdb24c6716d05b92cccbe10df69f23b04da46babf22ba6d85ab8b1c666fb210bbd684fdb3b30ab0f322796b26d838c6b8b6b30afcbdafdbcae9b8b554094f6f84b678b2100f25d1b97ae1c745ae86a765c57ad6a4f0658d3f22faaa6afd7f9625d0d5e8751a333e49e610c991c31d897f9985f609cbe57cbe38aaa9725cc75e6f75f2b5a7b966f43ab7eb0bbe62e6e421d998ed5f2c2d8b9472107f89c64116a36496441788c32bed64ab0dbe1d2bae94289e58eca7a6b3ebe56e8a7d09cb72a67f996ce872f9c9ebcd0eb2312c9450faf60ea7503abc281b6b93eb2c74aeb8defffa95bd5acec3d895627e67737ce968ec3f1ecb575b71523ae67a679533ffbfd5f5f0efad6fd8378b6ca9b30ca52f3126673cd33b5e8b9bc267f4645b2ac68baee98ff67947dbcddeda5fdce02c115e705e9a9b371c1bfd52adc73ec1917b1ce7f1e09cbd1ac77b3b661c9f2db53e56d370fd09e55b8ef99d2bf211e2591617041e17ec7c731039907b6a44163b0c213eecc0d77aebbb7b64e95ace24f702627dde708e4a1d7ff412cdfbbf9b0b2a3fb4d94390670c73f2defd9617e3757ec6b3ece894f73c83f29353bc42aec8d8d1b7030efb305f1cc6991b43fe4f390b1dca86c0c6cb72b6b3b8e2ea88936a3b019a79b27a548db209bf930e698cebe4cfff2a17766ba9178b45fb641d58ec10e75eff7bfe06f1314fb0a62f5eef33db9af39763d66fd75711fbbc1706b1325d51393fe3937bc87359c3b53396e6a68de5d2c76f8e36c8dddec749d6d394c2b7bf28a371aa08cc99fe46c0f37b4956bb8f5bfc85feb47ba22c2e4b4bc235eb69fcfd439ed37622931bf8663579c90fbeb88fb1ffbd8e293dafd355ba0c99e27ff1ae4ebc8775b7afd0de8038a5aeef391aaaa3e1492e3bf277e686a486dae4cc28a2e1cb5af4eec6e7d432b2c2d2d99ff6fbedbe1cfc82a748619d4b0d7e8bac0dea38b59b7836fc5d1e17bf3b1ac33bfab0581c3eb2c731b33ffafaa9f73678bccc93da42319207eadae6d281e11dab184ac73a2f5c42746eb81366a1cbf199634e0037d4d187a1c5f2f81cb2fc4e0a0127f1bdc1cfb25e92055e983f2a37bf89038f2e0e6700aec34b7beb1e73f6957abc6943475f3abbd15d8ddde7364d96fe1690ebc8deecd81c3dfc8d99a345d90d9dafefe79766f4a68e4ec5bfd8b3857a6870a9066d7c70749767f162ac61e68605dbcc45d5f0e393a311dc069c2756af4980ce821be695ac9fe3a509f188997b78be26b6165450bf07ea85c6fcce22f96780075e5c94e986ced53c209ab3eccd5d5be763939bfb8b64dee6034c5fc21765c0664f30d255c89f2139f8a35ff752cd67c01edf8eeba34067adcd8db313a80d6c64a5a5f35759345c75c202b62ab98ef155a935e8f80530ee1cb39b1684eea1fdf5d2b7150bbdad4db0d07f8e6b2175feaef577f968afb6398cd5d2da403d0db78258ee46d66ee3b927158923626e7029594563fed4fdda157b317b868fb1fec6c92c99bb6accbcd92c9a07445bd6aecda27961de252d3898d5a7bf35fbfb0edeb73ee121267b947dcbbdcdd0abb27acf254b2d382ccd81eb1b4c0a360631e7fdc939b1b4225f9a80cf047bd5d6ecc466b3d22258a51d3c3fc14e242d48b0aeb3eae097ee4c23f33883f0e73dc101c6f1eb6e19e33d3162afb298679e50240aa621271962e0f74117ff6ff5b6d5825c11f34c2d8b2be0fe2637ef6b715c02b4a75f902dfa2fd9a8689b94496c51345fd299fc7fa03775e516738364ceccb1d671f7cc747425ded1883cf538a6ecf5d8d2bb310c8e8eb5faef6356effb25fae16b3ac182c2c769eb328ccbbb7a15ff4e578073799babe635efdef06e787bff3e009cafb6c6d350d5a30195a3c1d63847666f95390693deec916f99eb133906db3a17dca3b1b150f3d72d0356a67189c24185d7a38865f27cbd07d06fb007fe05bfebd2bb261f9a9957abc62f0bf88c24076ca1db35fe7a89744c524b6c300feb5a62e3015a2b77c4842657d3b4cf4f0ab3c08778566de6bac44e56e74d599a946dbbcf117eb946cf442d8decea385b7152e93dffb299ceae9e6894fef4051cef6994f961716c6877c50680593766781b726a8af3d2f2debc515ac1f5c990d7b16d0a78b23e624eaece9e9780bbb07f77b5885f9afbcc3e3027ab6277f575abc4d7bf46702fb11dec018b14d1679c0f343974f37cc6c5a2e701d6953e6202d562d13eedcf423bd0052a47a8570c65d1abe969aa4cfde10eea2f03666bcd9f06cad4ce9c327a774b728dfefe9ac68ec6891b3672c83fcb4d9ecc925593b7a108b39dd5f34bdbfaccb12d4a4a95719fb7433b718456c797627ee7f7668137fdc43a7288e59cedb118eaf5de9ba8fcf6c0333586bb2c44efbe508c979b3ed21d497e39a2ebb4cce70f774270ace9aeac159c3c51b3b580bfc501d9a799bfe00bea3ade3dc3deadff6b7963857a686270997935a6ce89942e382a377abae9d074a8797c605b3b5bf5f1ee0b6d1d719c27756f0ba879a45c9ee3a5d8ff2313bdce36d7913c5dbb0ef8003637769d49e48c58f6c62f00fadcd2c4f5b16fcfcdd21c66dd5cc2473814bfe953373c89d673b1ef02ef9fdfec292191e57b7fa3d3fd30861f7595df73d9e8f80c3467102ff292debea1f64c8b8fdde2728c076ad9f8967a739c3f8cdb98b6e23a3134f6405b4322599aea5b83a5b7e193e6b7d1af394399171607f0cf22dda5e7a7380ea69f7e71904f49d3e031da934612c73ecb848b04d1afd5c53ec68cb3a965dd31923fc22f6b1debc40eb49b168c92cc06be682c9dc4413c2b40b20c7e8e4f1cd8171416907e669616ead7489cc4281511649ad0379dc4b1a43f3637a99c073c6345eeb734e9bdb5bb07f5bbeb9af8d4bbc998a7c55032f3139c33ec83c8ea36d2c764fd7cb0ad792cc5ad3f6895f0575734023746f3f0709e62348efbb10e58d79cc51e7aaec122fcbccac299518473fce85d18176fe64b8794cefbb9d8261b635d09eab526b3e3eae29a46e57193a303d88983b363cd2bdbf4e3c5fd5a92b8ff4fd4efdd3b6b8ce2ce5c4e57fcd2dc40bee9fd77b1813741df84f18996967a7fcf641efbed3dd1521f27de01e4aed36e9a9fb6233680ba5f58868175c2b2919d48e68ad25fc6841e47bc27d43229e62d5f54feeb179a03fd5cee464ca94c3f683b0179dee67d2d38617cda3df0f2f62cd0f6a68f8edcad4ced47df86ed4013722e449baaaf64b7398f80bbd5f0c874d7d1555ec03e3bd8a9121ba97b5cf5499eec0bf9df2fdac020cfa5dfe4dffa02b1a3e89d7cb3c4edcd26b6393f75b1f002067266b8818bf894a5b3ae17168c85f1f02eff8d2e44f8669dd357ef8f8efea324ced58b8cc0e6f6f7f58ada31616caf17736de615cef77b92fb7aef3bfd3d3f33c3b9616a6be3d191ac551cc0ee89b1df0e548c003a1b890436db4d4adb442473dc390f548e75b634ed3faec09cdb18820fde66cf9955cb77e2f8cd133e5337fc8c174954ef4da82140e58f235913e7158fd80a6203b03d02ceeb2c74ea6b9d9cf3ed08ce1cd1e399401d9dab86ef8b809381cf21f667d1e31e2ccd319271b2a56837f60effc032668f8cdf6032a76263b3f749ec1fc3147f9fc7db601bf2901c972bd07751c97a7a9541de2d726247a81eda112cefcd3f30fcd2f4873b24b385c591ac15eaa3276bf11ff816fd1c7a89116c7bec00d1ab2f9d09ed4e4c80142e753697b18c1e2119fdabd639c70cef0b8383cb419d43d6eeadaf5e589c811775fbf8a3eb0cef5ac550d2f677fd635b4e3cdc09e3937453c3414ae28b04f1ab79a7f6038d2ba06b76a26bb758154c320b67d479e8d4a73bcf42e77cab17a3f1c9e28a97f43145c33eab26be04e3dcd17f233d2a7a2d3e789fb7f1c180b382318eef71537fb44f2be230dbbe26d3330b0afbe7779f636b33722bf6d61683e38bb9e1bb17065745ec3fad79fc33fdbbc70e4474d03bd0b6d1a29be75d66dfeea1281765cc985cf40d7809c6f962d1f4fb251bd8aadf6272acfa244ee6b1fff8d8fa8d356b3ea1712395e986c2acf4637fdcf533d7d88e5e09f6d1b7e776f43686ca64997779bae269cc6a652a91d8904eecca4dcc7a5b3f0bd121c407648b79dfdee29ff4fe67ebf44ccfcbb63a9323f9df649916dfa2b51b03bec5027259916ebac27555d8732a97677f69d132c3e7f5dfee2baaded3abb17c7d0a7f61d0dadb5a9c14558fb816d714ae07e47a5fd68ac3ffce56d3daef48ac7fb2d42617a8dd08325cce4b663f99859304eadcc1def8a0aed9812bd809c1e03c2dcdc17007b5e78be16efa913923f6b444eb48ad552d07cb7aea5a5a31589a7779bf78dd42e0a78cac4d62a8955ae3ed4e57991fc6c39db8879a3c0db6f981e1fd633144e39185d995e845885673887e7b10e73360e03ef4fcf4039eaf75a2fa79a9abdb34cf77752b44cfed74372d2ac40fbfb408b5a3da36e987b42ff8a13ff2f738221a7fe100b18f658d298631e18136318b322e019b1572a169197bf60a9de6e68dedd7fe3196f4ae2608d444eaea8c6d7d0006cd5bf9cc4ffada790279e985f36453354b252af7650336d6af1ef3c737325a4f135d910ffc915a62b93cf6a598e11fdf63333fdc336b7586a7bf17f3a8b6bfcefca565b8b44ea8990346ad08fea7c18496ceb26649eb40b45ef2f01dc6d61c308bf13cb34d3677ccf56f7dfd381ec38c2fb7f322e91fd9cd3bbbf6e6fb313d1fc39d5de17e0cb41de0fe79b0df9b5bd3e83d7a762d4e18e7e17b312effc3679abd3778f42d73dbfa7c747de19b6ce858b347bfb576f5fbdf5a1bc1fd6fba633d7ca6c6437af49be598936fdd9ce4f06ddab8b8891dfe090f116a54832dbbc54d4d66e138f08d339cdda7395bafd90a3b58ae5d8c95e0479ff19dbed9add7d127d8358807c54a02f87350ef60163a0473ca4ea4a4c194a4656f66163a0ce227be30b8b8dc3a86ba0d80978078ef309925431af79b5f9a51323b623ba1cd1915c856b7b1d5802d056364ea3ebcc4287c332e51df6e39281d6bc26ead592c0b33d617e34c0aa30be8bd964ac7e1207d29991d37171beaf6c717a7b4135f1b404d7de09bcdf3316f73389f0dd1e69dc59ceeb0e77a4c1323466280b0cc51e2b8e097e478bd89476016a426c0ff467f273539ad47b5b3a3c65681643a1aef0c7ce09dbad2318df905b5f4eef4b870ccbba19dd4f67a8c25dcecd387f8af54cccc4339fdd5983fb4df6e6b03dee21dcac2535d11ef697a9ea1aee08b3a98bea16a709378ece6efffdaced5b5df776273fa1d9f812c826cf2043be64e3e1eb435ab697ff46a40e58d0cdabc914dae0ab56d1f6481039577902c1fd85441aea56db3d3d9d535e30af10e92f7d6fec619cc03df294577a5cce9fed6b1e92bd388b7cb007c6a4b533d6db528732af6208bc354997ae83756d68a39facd2ba3ccd5d9605102f6cd5916896f0dff8ff9ea66c63a89137b804f1ea592ce46bb699152f7a7b236e61d240b9776e26ac115f07c383ef393cd49d6a260691698ce240cb6d14f37a89f1cc9b3543f15ea07f384e0fcbc4ece18dbf70f4f7ccb10b3c7df9f81d6d782e8fa9b5d06175987f87f5ccbc99af7b6b8be6f295bc4863f8d5adbb9b82236e34f8eb2fb27c42ebf77aad6b6ef8eeae73dcaf6fe513f3fa79e3f51ba60bcd3a2aeffce7c69fff6642d40fa1c276b79b8063f99933ad63d7ed46b78c25e2a8bc44e2dcc106d3d6fd1b7dce683bc56f3b73336b4b7ff17fd189c116c1936f084bfc22b2d167ad4c605dee20fdfee3b4a2faa63dd14c0df6cfdbe6e48d96ac521b6d920ddda5abb2ee22760c36109ae9874f2b5d8efacfb4b75c3a216ab4bff68b1ba701d12a2c74b83568f8f066d7d928fbca6530bc05f7e39a70474f059e8541853717cb2b1de1ecbdd9a0017cafe91dec527776cb5206fe0b87c6e08785ab29e96604fd6f2eac5d8be52fdbd5e5afb0c5aeb06fbabcdd3203889346fa6f306d225d77f7f8cab79578720c7b8a4384fc9640bdfd2ce436b929d96d5e9a4e8bce7081960cd297111c965f4265bf9c92ca5a3a5452779347c9747c3c01a4929e0ea4dd8a135c92fb2767a938dbc948dc2df09fbb7a5b67f5bc4f96537295c6bc2a490c32b0c86d6e4ec59561ec95a7475cae2bad478cf1202cf12a237821156defa7a2899c1a5ed8bf3910df1964a323fd9d66c8464d695b53aa990fbb3b97853a3dae25a2c5917f32bca6ee4e80cd7478ed22fae7e2e28975c0717ec8af3cea474910c863ba4bf837fc7e0e53b5cf06735353af8efd51d9ef84f71ea427e5743a6d9b388cf638ccdc687e9866d9ea7325de39a5260cf9d073617c4bfc97877b456ffe85167fac7b84522235235ed8ccc15c6bc2f109d4adc64dedfe17ddee59049588e8cef64df97ce8294abbfda1ba15d513694e045da04679a92cf0fd8e769f3b2b869725be49636a3331fa87af62d73ead0393471b23992231ce37cb0ead86d2dc848ae6fb0b456c92c8139cf91cc83eb71647ffc11cb98bd4f9a7667bb698efa0e96a6fde68e4e81a405c9d39c6174868eeac909d1ff9b93271409cebbe9e64ffe8daf95d2e95ea19facdac60ab22ad4a51b92d8a8a88e151ca83ffb51e87d73c5982cb51d3f7a079cd4ff4ffa7c4dcb1dbda5e59057f73fe21dafe257420ed26bef6455bd8939237909247e48c77643dd9c305b6170b6adfdcbbe2ba48f3c8b45c3baaedae8b94a1d73218e1b5e88b178875d3bae381eaa02aef3e26b412573635c8f1db0da0bc02c57cb28b3ff75cdc82686b1ecfa5b229eb6d703ad288372598ddf15f0174a6f6ec99c1761f6ed5645ba286324afc7f21464abcc853ca3d67fedb63983e7d7ecb99b62fe6a8d4ee2e347347fa68fa939db401d7ff7c0c78ad97f77f4d3c3d8f17bfa3fc6f45f1f5f7f8ef3eac4adbdc9d3150ff9d55ad4d4e8407abd02fd0c8b7915f5e687a8527595598cec52adc6ec9cdb940b5dfa479eae862aa94d24eb2983f38557efeae854d71f641687977215b9d6afb4e7401ed5f82f6baa7eef264525972b248bb0e89a5932df96fed937ab8ff3c21c9f9d98f99e093cc4212b6c3fb7e32c570d724d1cc33597cd7245f77dd4cf16c9aed667e01de7b1660e98df6bf3ee3b795e6d5d772a0669bac2b1ac3827bdd93f7a3259909c601cd3dbc4d63cb59934b1af3a67bff9421bc307b1b0a33383f315a3378cd99fc63bb35b3740a2fcfb541c1d9197576ffee8f48dfb59ddca4e21857b5e3579f65d5cdae14e1cb7b84e3a7f90a7ab8bc715a9cd6d4e90177518968bc33e5d1c37f47d0b7bd37f977baff293d7f31a3b7568a7ab3bb9d10b8b94f6cbc8a06f417c52b685fa3b51aa08e3e0713d83bbf35db698119b522d715d82ee797fa9d658d962a2fc964356dcd89feda4c6647f319e81550f522afff736b39f6b9d7565a90627b9f1cd8b983721b90ae4356b4361d2ab6745cfa85c37c3f5477c85e8f496e41849fa18d1a78b2cf2ae6d3099ad1557598beb189c96c7bec64307bfd452fec93e88e61de728d5bc2fa478c601c71479488fa568812f0417a4bfdc60d3d379612cd0fdea7456d1fcb4795f1759cf4e8eceb38ac6bccbe5995d8ac37416da81aa8df9a5199d3cf6cc5a1a8e255b943738d22ff10ee9416ee318f238484d05eea57a0338678195c5fe4dce02bcaba26dc354ce78200bb30bf64941cc54b5e422244724b3648873155b99f75d3ad6f5a911dd54911e09f5e4e0fea37472e3736c1159ea27ccb9af5202bcca5932397ba32c54042f9c55a770769cb06e6ff5470af370564aef52e8049ec8578b52caa4431e2e422971a7f8f76508bf1ffd5116fe563b88e215109bdbd05e9d6768cc72a50cdc59280d97a14fb054821f752cc0e4d0a27471fc81b676f6f94d0da6ea2355228373cc01b336d9d487da5b67ba3e4d2aa3f1d771aa382721dde11ab629d2d53dc4bbb581e6989308d778c5fa33d0386d607949ccb4d73715c4136983b16f7d668eb5c7340a63995f8ce92c708ff3c4edcdce786f42ddc554893f03af37df404d76d33f91df38fc1bda1346e0028e51741b93947ae2e6a7bc62926b45e56a40ac37cc5baf19bb6627840631cad12fb7d63a46346d163a17e5f819f8d63ca6dbb210d3efdcbbe53efde2fa68dd034784fae4482f447f57bec9926767b1d733ce8eb647f37b4163959275e08be310d10e65baaaaf95b6195fa410d1c08251623ef5d839e388f175372d20e64485faa49b8b630ea2dd343fb9e1e0ea86fb10fd2d85b8be8c92f01759981d5c91af1c4dca6cb48ff0596597dab8e8e6afa827d93ab3a82f5c83bf40fbfde208fb54b63af58c02f02b5ac5509e6ec007dfa941df95a12e0e9211a6b3eb17c67dc735dd137e2023ddd5a4d7446dfc6e4eb84f156c572b95a448bdde3a7613a35c713ceb1e574d1d6207d7900f65ada9e5cf74fbb4d137c1bcbb26cf399bb62f599841ce8d84e40788437f7c8f974c52379432b78c32371c948ec95efd04d71473cc41ecddcef9e37ee83578de0ff91e4554612f788971767b4eac8b71e5235e6a492729c1f10252581c7e785fec26ab501191eed87fd2cf3c737b50fb35f9e1fb9b713b61ccd379f8789f76c6c290fd16e31aa35266e339a3f765f2685f3ad83e08f7d95c71f5b80d1e3bda3f886609fbd013e31c303ed1bd0fe31ae33f7f55f74ff75225aafd56b57d4dfa117304e9a49dfa5e42fc477a205f105bd15d4d44478b525f0c4ab7e7edc1c775539b75c54d2e6ec2339208bee3bdad7d1e5c715279e56780fed1f28a14c63c8d9b506330215a4d6c4bf535c636e3ece65aad4bf3ea94a5e3febb583253a3da8e9efa91ff40be959e328a88f810c1bb98327f6edef11f75c493bcd575b035f38b9b187d7fc4c68b23ce71db8a46e08c6aac11f5e28b93d4457f0bd977b7af8087f3d1e103c6c5e382d439ae9ee6167c418eedf8dd170aa47b309df74e993f5887c2d76ad97516daa7eefc6d9abcde66bc2f8d6f7eda9a0e731b9f81f608e026ddbcb7f1918c1afca2d836113d4573ddea0bc0076e9e5df63ae3a3e79cd87352ba4f9ede334a026b98295afdde467e6590ac79bb376cae886d4b7a9c37dfedff97fd77df376059de636020f91bdb1fba7db4fa7a28d1ba4a5ccf0fcc87505c969a14cadca69ecb18708c602f66a91b66bc2f9c6305f3e58eac7db7a6c9fcea26f3c0bf3f1bbf8f712a5d90bce572ea4925f94c8fd692ca2f7fb40f28db18d8cbc056e88583c0158babcda2333149903ebc3cf4ffa3e21805ba9fccab987cd1dbfc91cd0def6b03e0890ac4dc16e9d25233c097ec7d0eb05e14655e99b5f7d1ba8d55cf21657bed31993f654e48869b854eaa24880e7ec6766f85f1f8cc41e58910ff71f0ad39e3724c324374bba5bb9df936b947cfb0fe5dcc13c8bf2b7eab0d52f738cf71ecf8b95e83f7dbb3dac979aa313a3bb91b38ff4e2ea5bd149e99c7b5539ff39f5b9b05baf7965f3ce45358df6220a7661c9f5dd388b6e68469f41cb071145765ba815ae44b7d9cd9150be380783b31e791cce572731c13291439159f7d74acf5aa3d6fc6d209eda413c33fa1627b367c82731f3e784fb0134f18548eb5de6c4d36767b06b3ec7dbcfb424ec759a0b37c70ac7965691292e5feece81a826dcc3415bf16bd79f7e73dc63409bd6bfeddf54d22991b6354c85acc2fc2c9cd6f386715e977fe988dbdde3c703888cd6394243ec31e9bcc0f5e12e77e9ba7152fb5718ece00c82449f35c17af9d6bf32d6ff79f83e467422bddde9cd1eb3c4d6d1f22bd12ea81ddf5d1074c2b5988de7c6130afafafb820709341ec8e86275924f9e1cdb718a3ad8864052393017b6dc6a85a67cc77bcd011d0f902da96eeb4a2bc8f61185e605e46d2edbce179d6d36c16daa1cb211976127d5973c6b6d6b10de3f4639c97945fecde2c46d7d76611e3bdb70f3d6e5e6ead4f460aa337598c7897de9b632373a056f12a7bb0076a59235392397a2fe36c9afb4fd291aca120a50b6e737936b6bb7512707c029247416f9b22f978c238e6fc649b8323d2677db3c840e72432f48a0b52575ce11affe4f71dd2519349ee219a3d467cbe88649c77f2fee05b3ae746165719d2b5648b79077deaeeacaf429961035fdc5fbc64727144fe2c431dd855a8dcc8a5507f551b546ecf286d0ee22618b45635467247371309ffd3ec04fbaeebbf07a99bace3af313aefa0ff4672cb0f1b5b30858392ca78af078eb89ef8095acb568758f656805db0b69cd83dae3bfa4e93bfac499957e681aa45efa81f7fba0e6c2ec07d09fb903e2744cfeaee5be24bbadbafda395604e91f9091b522bfa3a3faedda649d5cbaaeaddd46b4849c3f7a1f49a1dc5ba572971793fb484e8448e51fb4b2c059859800265f70fd61374628fb964d036ae0766a7873fd6fd5609a38952f0ee90745689bf3efc57195a17bbd2a8d77143fb3d97360e92cf8e490ee696bd9f70ecd4532cf1c73526a267b76cc758acec9d20c3a368d2df8f1cf4dfd589b05bf29adfb449866901c68ce600c313e3b26cffa421029a30f9cf7691695d39ee10360bfc2339bf48bb37949ffc071cae5e469ac2a8ea3c5df4a6873e0257eb5e835b178941d3126f1731ff922d99ce43a97b322b176a3f1bba30550dff5fe37a9f94d110780b9bde066889e7cd7f17b6a95c632fa6dc2646e9c1596565ccc6a46f71539a613f866c140fd58eb3377a751839ba588fd746731e8bcf24e12831cf8659d496e3a9a8f09bf033bf73ea4f163bbb69579ec8af61b8dc5e513fd6a715cbd7b9c013abbac75ec7a19f8b4c106b1afe6e5f3386bf9ae762e6d57217a155a332ca3c44a525c6d6e926d90bc94a033ddc92d3ed8788d989b1c9ada4677ff3c60dfdec7b0b8a19d48c775e99b1bc0d26d72b6c47eaa1cd7575de47b8e351bd9c446f79b0f00ecfc881625fcd8b13e4b076a2d83df8eaebfcd50f5988bc5433fc9beb68f9758fe0f2eb230c37629661d7bd3596c7313a2b3dfe8ff240704cdf382eb9fd0f7d9e63c5e8b46ee25069a3ba047b2ce835cea7245ac907be0191cbf7a75c5cdc5e726a58b7d30b876b445e7cd231e550ceabd40d3161c9bd0e487631d01623bc740df1ffa03ca198bce03e62f73e6161fdbadbab13e2d9697dd43f492a223d7868e0863a26fdfe42d8b437a3d6a8c2cc075bdc92360648b055d632b1ae5d65a93d821c07744fac3c9b166a93f554f6e5940bef14daec0ceefd8a89fd4d717891efb138e5967efa131a8e5d3b9ecfa432ff248edbf7e2fd8e23bb6f57f31a642d6062bdb9a5706ec49e3b89dbebcdeb4cfb322eb3bb7adf5494926a15716d7e506cb2e4e525cdd9ef472bd7f8f19047a58e3357f044b9d39f92396e43649043bde493d06d1c618e7a0eb3ce406c9c990f8eaa3f7e739d059e843dc35e823075fb81d1bf81f06b2b64f97b5fcc5c547f790a26f6554e1991ff8b77e1febaa24a6a7da9a3ee5f37e1e47300b6b7bc1eaa4ea1fe92cb4cff5df8a2ee53fe15bdddb435fc4f2ebce7fb6b5e60b7bd3c7f168d85e0ff121fea89fe3989cc9bf18036593ad9a78332a267055d43181737d5535318187f14ffe7592cf457c41611128a20a341ffba9f313954373eac85ad5c497113db4e6033751b12fa7cec568fd0d408730668f7492223e87ef3caafb1937a9beccc161567e066eb2dacf7a9fa5cbb1a9c76d8e60d74d06575ff80c1ded93f5382392a6ebabc3190ca2595227c6ea419d88065b3b0f2d963f3b267bdd5a698da585f4db0b60a424f378c96dde6571cc7b252d1f1534aec04549c85843e75ab72106dcda9c1c0dcd591fadc7c92d6f6360c1cf063eca59e8304826720c26b34b740e9894f8ae7668de9c24ce1c6bb6b34af003ed2c980f277545a3b4d8e1c92ea3cc2e07ac27223dc398b847fb84c6a0246cec9a7cfa9518d1f398d20767aef581566d2cc60ae7e06eda3e6e683fe4b229d3cdf33a1f78ee330ad397d495288267b9ef5e93f31ecf3cc6b8a03de625e023fceb1805bbc921b03377c40654deababc64ce6dd5e63990e4e6e1bb701be78ac1f94804953812c35fd4866897df138be443ad8338c116fc437396e9e505ce4a65ec147aa7473c7825bfae58fd804e902e85c537972c99d4f1c6a2e34bc21686aa2403e00df3c6b9748571fb8fe04e9a3b8aef72231c036f4344ee2679ec6b439e852a136758222aea5451b4606ecadf5c9e5d615c1cb64e7faa6c6cb64e7072f5544f5873d85e53224fbffb6efdc51bbef6a1b8b32fda0b037d631d2291ca3a117a963a9d976c4b24ac25f1471c5fbda2076cdf8c7d8b86e4ccd26fbd20a4e11bdcc2f8bb92232995516aa224ad99750fca38cfbd9a62cc6ca38e25d01e31dd336d52f9d21b12c9b37474f1bde4ec57dbca93a1dfb8c68d2e0ea256ce08af1bb6349c92c0cc2a5393eb9e1e082e41bdb2c104d20b96b12609f2ba2c7db182735f32b366cf1688a39ba87f82a524524b1db26f6cfbb5cc139d6ac427b723d82fddfb92e6b51b6a9586ec945a73bbd88c4a92922ec0deacc613eb386f8d821bf16822be400103d66a90597a5659fdc12e498fbfcd45a6f1b235d8dca419dee2107b7f68b3a9027555c1471487c2a51a6611c18a483a44b1cd3706d71a6f8843a6b44cee7912e9b2e12b5c54da9f5c5928c19e737105d9fcc9fce20fec9c948366f7962290bb3d1d69a1d7cb3805831f7e85c5bdd270f574cacad58435d19b39db619983a33ff34c6f1520f25a4fff04e195c658b8ddde93c9644f4bee73c5043f4ff7ff5ee96c6cc306e45946d43c87186f3220b33c0ed00bc285847881d48775a947d69d13bb1a3bdddf8c2880d036369fdb4ce752c081d57f62574de7f84f7b7b10bf47e6bd79ff867888da56343a2f6c1e17e1fd076aae8bdc1ae9bae9abe1fe0b8d47b66d68eabd56fb13f3b2eed9e9101be9839e05caed1b133299acf36d1dcd0c713cd62e28511f1a395b19ee90cd2775b1a527fd3d2dc3c5e93764e88cd7603b9418be4afcf2bfd1bacf3d2a87d17c1156c475af1e37a6eb55fcf6d7a736e53726e2fff8b73fbe35a89512a5beb9397f03d698a64d779ea2573d615914c115ffc846fec0e8a301b69c66c646c8acf4dcccff4d859ae98c946dbf08b8eac3a8eddadc1f06e58fc330b1d56498cf3d602fb7cec0be0ab226bd3075c3ec040e1f8726bfaa99b4cb2c57195b9a67176b9f8dd3157ef9bb2407254b2358b584f2667474fb1bc86e5c6856db2b122fab13f4a9fea2c6b62b75d83ad3fcafc03cf811f2b6ed69281b5b41898afce7ee9eaa43faeb50ffa605d6fef6e3c350df8a50fc867eecd42a7876d811b5e33ce8ca5158d0d96fcbde8cc6fc3e7245cf300fc93d8bedbf91e4adfd4f4f37c163a735988324d673342d35365daee51c22f430572ed8aab7b487f8855c4b489d821fb4b6d9c2fc259455dfb875cabbf055f47eb33eef392fe912ae2be6b7fc23230af88f09def8e50d0fac1fb6dcc01f8a07bb3d4e1c0a68a74cff3d2b2dfb6dafe2e77aff1991fba34009fff3eda2f971b7e1d03bf0e815fb31dac3b8b499569942e0ea48614d79df396065098fe0dbd8af91ff6dc98c8c9e3ae0f218673af4cbb3502765ab15b9a37324abbe677dfdae62f92713311892b389d6ee7c11fb1dcb207dfffdeda5c07781ce318c9dc38d67e9cf3b7f3ddc4b208c5656952df41d5ecaa79a7afe1fa000d2f7c30166a4d18b4be7e1820bda3aeaf7872e32cb7b47a9d0806b416430ea62704ba323def2caed52b2d76f8ee96fb4015a2ac9e4fc875d2a28c9c8177b70cd8da67226bc50ed16f748f554619d47aabd22bd44d4573f5777a6aa9b671daec1cce03e47d550b0de236487cd8e0605b9f68dde24d6f1dd8dc79e3259383a39fe3a5f53bee877b603b360b5f00ac8aaeae887478fd4ea7a4f1f54eb6867310bd126856b0b4d4acce31433ab62c8ed1fc431d1688792c838ad40dbbd81c1f393a5b211d0ab0dbc43ed4f3799ea3f15736b5cca1eae0d9d6fc55db5a8cce1cc4cc58e7c4e586efd271167c85335e999e43b417a464ddb335f89bf18ee96011cee07fe9c8e098c584bfcae89dc9a444fffbd3d9fb97cef04b6d56da561af9dc04dfff0356ca4ff6b1b9bea26aeaef31eecdcb39814d8c7ce66b45053a6ad99175da9a6e23297d50a706700db0fd8dee1be9e8ebf2cb3a33666fe62f4dc3f562b68303e41e8ba10cbe3bf86e76a98ffff87a112ccaecdbd7e2f25656357b862f6b1406f1544d71be155d6fb0dffa520eaf605fbe62f75df5b1ddb78b4fb348e0b7c1dffa436ef99577a478c30d168e2ccc722f89cf5b6b9dfac92694b53c50a74ffd687f6967bdc13c4ecef197a5be6ca327796f6f343ee7e2f843fdb11f6d2dea00f6341d5b7b3805aa50d47837ef92fec9ff1b4c58c01033cead0f7fc20e77c20fd8dbbff9b3802e43aed55bcd03ef6a317310e778f12af013b06af92ffc04841700bd4134c65a975fc7e807fbfc9e96bf9ed1b312e3dbac83ad39001b87a4d7b1f5ed75248ff81cd23d9b3c88dbdf112d0cff9d5f81ecb5466fba89ef34079163054be7d5baba53e94e3ebcb3d9eb3fe5f23e9df34e1c9d22aaa4a60dd8f9b2c62731fd78c186b7ffd586e73cb4e1453fd9f006cad4fed5c6e73cc3ed7d586bdae3bfb8f9d54d9cd4e91925cedf81f316d3b8be8b705c2853c887a9ffce77fa39fd89af6c69bf3d6086a3738df5d29b3ca30ccb845dfeedd6b181629461dc348857a9eb893eb055407ccf056a7f98c6d24de654aec36c67556dfd4a65aa229df3b2384a3fe40cdd8dffd8f53183df25760cf0b7bcd53946e4fd3bab3a9ddc03dbab737d97e6aaae659e7d6964ef425d1423b6d861a84cbd54997a173f9964beb9e1eb7b718dda61d8608475e2b7c0cefd06f734d8719b7491c075dee4b01ddc31987752ebb69d0391bfd8dce61ded7927b1dfdd1ff26f157236b02d2987b837c9f4bae790fa964e4e249aabaac6a1a76b5dc1bd29d8fe6fe29b71ccebaca6f9b4afe184f804f617c4106be5564cbee022de8bcf570b703b86e916db9921be18d66883be95cab389f99da4e37a9ef248aa738c6a1b0bf4bfb466ae5b0df3c561e22f8e52534b57168799aa45e9823332e0132179d751faf55db55e41d6eda6bee9bcd171fdbb9834623b007c687a2d7e5a0324674737f3cd838e269b4fe777bfd5488eafd87f6c33148a2ba9a954d767b828800db2e1559dd42b2acfb16cf2aea3318575a3433806c14b14237eab0d2a578c0f8eb6c7cf8fcee5d28ce11ee8c3faa8bfaf6c6d5a310fb16488c77031c8958fc7d9c47f158ba4b129d4791bf7f15c87f4549fefed23fa02f516a33f35b60be9bb7ad0f71d3fbae9a7a4fb714423b12d23f34729decf5dfdbc95c39bb8df3a9eb00fb1838ece140b6e33740f68ef6f52973dc78a3ef13b3a367b8e2dfd9cdf7fdf90601e8e313d4cec93174699cb0d0e8e9ea2fd932a229f3887146a2f343698306091fc6b572c274fcfe8f9f406d735fe41666c3148b8d5c92ea3773f0c1aff3bd2456db0f76c2eae69305b918fbc8aadfeadbcd1ead0f6ad0e8de4cc02741782577d23bfe13da99fefe3a26feb4c256ce009fb1b0c7a880d6a73d5751e638fc44cba38a2ff591e620a384427268c3cbdb3dbb6791f681e5ec3cb3df92396e864cfebb5c8d6f94af0d958b9c6ce42f21492237ec46bfad1665190bcdeba8ecc656bcd316df87778dd6ffe287d8ac9fd17ba556d6f8aa91a3717e738bbbaad6cf2d4a7ed8636f84dd0bc2d8d2cf492c9bb14e6a133f503296652653cbbba5c11db265a733b71a016eb2a998558865e229a8f6bd5fea52eb461171a9acb75ec2513c6ed4935260547ea33e076b3a75779130f03b133638cb12ad4751a41b74ab06e6b6399b6deff495c91f9c9bc112bb67be636cf0bedd3e2b4b4ce48c749b6a6cf9218867749ffc81c7380e8162d47b6b9d5f86f8c75a2a775cc3c5dd7b18e717d199f97ca7922750e8b9e326632572b76ca38cfecc3bd4debeb3e4e02d7b31d513140386e2cb3cb00f8a807ff639a390b1df81ff1743267806140fc37695d471fcb0706a9f32c119f69d4c5121e8dc17fea546cc70f5eefd53a6698f81919593f9de4a9dde503a3712a1b596ee92cf83094a99dd6721aae3189b1286e78f691ae2382e4e6a5fef1c73d1447c0ed0f630e7c9f16d02d1a9791df59366fb22c8fbf0bbf83ae078ce6459e0c797f72467cae7eff7c69a927ab6c634b650d72d84f3eb14582ed4f67e724f7b0199364321747e42f8e9ea5fa880d97bd46260895e93e739b9a91107772aee56d45dcbcc9e2be91a775a188e4a98df6ca09620263c0d8541591e1756d00b9a0b210657279be2c388f778fb4efd9a6e7b233778ab84966edfcc664dcd9974e62fa2bc497fb68ec50e74311fbdfaa5e1ce1db2b567d809b982e0f0c3bd7a5c13cb413bfcaf9b96e57aa0e365655ae58c6446b043428e7ed03dff0753b2cfa68df7f69d1bb2e14f1b20c4e8dfeb1c933470838651a655b214a1747c7fd32185e17f26fb917fd712a760038439d7acb5e8a65358ff7bb38ec8095d0ec45717372ca08704ed5d1f9b2143da873226f1e8c0ff3c2cc0da3777f02b8a78fc7897448324e3766789dca298477536b4bce07d7caf0ec51d60aeebfb2f11c3e888d07d7acc1763fbbf81776bf9a96ffa97537a4372b5352376e740ad429f38a0d1bd3101a5f211cb73a605d87eeb69ea2515fdf8718a3e9b3fa32d9d0e572c0f9f58ef19fc68783782ec4bccf4f5d39675cd07555bdb8b5a3d5f3a22431e358b3c017f9d242eb223cb9efb8be6ea6b3d43563666b3931ba57d226a5d96b6c543a19dfc517f9baa6c0c6367dff2fe492d696d3c66a0584f79537356a0e5e6204beb8c91c0a4bbdae4ddaf8cdc538f64ac4337fe0575a27b792e69dd976c41e6aff2ad16f9fd9eaea7948bf7a12dfec3f6c576ffc5b5eb84f21fe4c1be7ddb56379cc175788069d1ceabdca5d9d3c0aab18eb96e8fc46666ff52d4f67c39d208532d2c5b4ecdba3ec21cee4ccc8155beea67958d7e0708520473a9c147d7e48e19951a6eac5e9a98477dde3a6d67e00f22cd1473619f6d3414e54a0627f1dc677d5cfd7fb3c4544af4066de6fcd41e58b13a47ba339bc36710d182b1cea2f3431ba717d363e53affcbcb8bd15c657e8e4fb4a7735be76806fd1d2896d474f071cf916b3ecf9d898fff1d8d8650ff0e2de41672f839b5c06c851a4718ae365298554ec03e259892cf6b32f96df39a251d9bd59ea4da1e6c8ceaad24a16a410626926fcce4d2667c7e0778ba37a924229fb823a6f38f756116da45b827e8f7ebfaf93d1c651808d850b5c7fc2bc6f27609b4ae5491b8f51fb6ab79c31583fed0fe7ea12ff14c69f1531defb5600dcc793c9193e8e31a06a67e3b8e4936dcd674d7e894ebe732a812d672b4e2aad5d37f0734a60436d713ca410edcdb85a115d6ed3fb2c5b7ca49bfeacf908e9d5b6b5d6210fc8c4b6d4ddb4486561967a0cc11198cc730a3f28843968758077afdc87525894b3d02969da5bf7e38b46695b788fc85a71065fd1a83b16d79c303617906f628176c0b74c1b8caaee7b1aec2a320f2d96158ccfe38cc04be6a77a4f78a19d78e1a072cc49d9bce7388f6d6b76d80a302ec8dfdf9a4675fb4c7d9d7c4ff3371edf3c77c598b97fa648fd6931dc6afb10ec74d60ac6e58bfc8af29fdd7c53971f91f7312efb596e4d36f5c5987334186b9bafceae03a7eacee50daf22dfbabed6bcd51027473c76e3e271f3ab07eb7af7ddac7b9c1fdcde27ec09af87bfc5370795cdf139ec274b0df199406775d8b5ed4fcf5dfa70482bb0dd4cdb71d4efbb8d0be9da20a10e39e01c582ccfb7ef8b6edfd7ce09cc47f0cc1f55f3b2bd2c48df36b17bcbda606771ebb8ce054763b1d8e1b7144621b64934f89868cd6ee348dabcd6ba3f749e2d2655c0b675c377016f805ed302afdfdd98ebfa3875ee1915d376ac697237ff06f25c041acf608feb0c6ae0b7e8ce9918ddec152f43fbd12ea5aca5f9127976f8f2b3ddef35dc2d8daf80f62bcbfcd4277d3e7ee9939a4383f937f980b44d83fb1523bace9f9caed29ff8a42f64a184f4701172680269dace215dbfe67f614bead8aab409e42d3cdb13bb691e48d6eab6c62bd4f2ab6539e900395ab7f75c80b722b938a6fa467a7deffede3b19f96f7cb24f7255dabebd6c8b7dc0d8eff6ec1c52f6ee9db64f5faed347f97265c0b2fbffff0d38c6eae3f5313ec7b503faff7f3d7e29bcab61f2cc26fc18f3016a78819df2a1ff87601cdccaacf55e1beeeed62c4ad19eff0b7f7b9d97f51296f62bf990cbdeb9722c44938b23fc3f65de65c0fc82f8604453204704b02a287b950f3836ab3759dc40ad6a8cdb0dd7b05f83f8ed704cd8a08e5d054ced36061463379258c1641606711d2b48fa23b52090ccb84917e8f7e33cf6476c8ceb6ae398ddff51be6647a7bbc779975a1be45e0a6bf9998a6d674caecf435c79c99cbd43963a5ac64bfb7128f7d6ae5c766b0c3bff66ed5f8b2b623af1b377f546d9460f760c88f3ccbc03932b62c4fba3ecac98d11fd9ec7f2f35e9530acfb15966df5e277671c0dfc644b7b861b3bfcc131b57b8a6cb7d5cc7cfb13b44eed03f32a8ada21597a559db7c5b1984ece1c7f19c6191a2e75d8871d8dcad37a9a343d5b0e35ddf60873b6c17c0f807157b85583b82b5bfe0a2a1af31c5a2c4f8080ac40341ae4f4b4b5934f7056372b12fd3790ea45fe8b39af860f714b2efadc5b658fb100b195c9656434faed87ebd76b748bed079f0112c12de550dd675e37abc05df7d4fc12bd3f9eddca4cddc94058be6c64373238ef9adf6606ecc71ea01460af32df756355609cc035c079cd3b96b1b0c6fb2675f999c7d0bd777ab4c6ee22f7a9ba10d7315d5df75a5beabc23822b1eba3efc2f53b780fe6ae8ed9c0bf411d69f03393eb9333da0fae05cf15d5d29ae3b960994c2ecfeca2640aa8cf87f1de484ccd1c3049b6c699c5f1cfb0b6780ca4fe2ff90dfcc7f03ee37cc5dfbea6e7166248b65ac1ecdadc83f7c73e9828732b26477bcf011f148e3bb175968e1b382c8d33c67cc1768840366bdaf9c9c23c92980af027e82c5c6bf7e390cc71773fd2bcd1075a505426c777f6e38253eb7a422cc6d8ddf0be01df9d5a5afe2d733cffeffb2431b196016bb235980cdf8bf5519bdb9cb65a0ef9ea10037004ddf5e06841aa8cc6e9a29cb0b026cdfcd889dde202fd91cd88b7cb41eef63e4eb296a3f93828c7cfab27ecb1bfe7c5f7ecda3986b8969d56603ed4c9e3d8a75f1cd4b2ccdc039bd6f6c2ddbf8a29bdc5a3d8f4d4303ac93a5fe3055c0856c03bd8d72bf529eeccebbc8ea29f9b01eb9ab3d80b0738b7f4f0bb8f17641d61c2c8d3332f03367180c697e2faabfb6afea4b6ce7fa53f4c57c1d27a8ee3fd334eadfa630dec162f94015b2c594faa5ed7e00fce59782863a514cd8a111d06fedff0644c6bb60d5d1eb85b837d447bcb4efc434dcba6339c2722f6eb9a6088d6425dacdf72a6baf27bc1c87a7626b8f858cebad9f3f08e265e2b8278ad17f63dd4c7ffbfe3fd744e180358832d6f29ae2fca00f14d6d9c860ebb87f375395d9d553d233a75cd2b228a5718c02b1c44ffb5a883ad036bdcbba793547da067b43226b4f28de0ccb2580688fdddb4a8fdfe20a7d3f3dcc49d61bc565699aabc2a80cfe68f57158ca28fffc81af906a83151c7874e6a7e57d5fcced7d9e086df5598df1501a691f83ac5cb215ec2c6dfcac2b7f6dadca8fa5b7dea5b6dfcada9d99ba36f45fb905d9a30969ad790df18449be1bd48be5a6ad9b7a31557b04b9b51e6a0fdd6e41b3d9779b75a23c75cd058d19eb5917cc519207ff8c2cfbc11cb1bc501e753d07c6c5c8fb7c2bc51e5894c80d7bc67d4bc31f8adcfaf5a8f20720ae28944ceb9e555d5139e58ddf144ed86276a2d4ff42a36f885273e7e0fd7f044983f74e6eb1caf1b7a7a591a8d0c86e4ebbfe48d1d1aced4793bea61ccd67539d5c39869eadd1dc62db60dae7f10fc18ab06fecca778268137fdccbeb42279e0f3fce3867b466d316e9ec7438745a64c3fb2ed884d5a7fe28a77c2a0cef71a0086729bbb9bf980e946e5f6729ddf79ff794e6637f6742af18e71a6f06a98c27a2186cb0b71cea01716f1d21cb7bc6df49129fa18c9d483060f4dcc49ac6c912fcd4d9dcf4ff0ed8648ef6f317684622077f1ec78472318f790d37defefa4fdd2383ea7c651001f58faabbd09dff7467c652efcaf15174b4fc19756d334c0c607db46702138dbe9a227f1a0239a39dac3c06bdc119bd738dc0f6ceca436eb0fb9cae22af385e80dd162078f256e7391fdd81731869014168c220e0137da6ef07ea5cc2779328e1530ca747301dcca324a1721e884993b6221d7c22de9358a32b7c4f59c76d887d7d95fcf7200492c008d7d53d744ebe4f72b62748b1bd5d474823ec431d2ad536784f3f349edcb8060fd35f9d9708f80e63b803a466ddc37fe7bdba93fc796ddbcde287348feab8df9ca65c95139bee218cd518474231287c75038f635fee77547afc7714eaf47a03c8f3d4897d5f87d4be3ba6ad1f3da1e62f4067ac983b8e245125d103f5f9b93c3567870cea9e75a2c8321ce9d2558087e8dff31554f768971995a1c8aa28bcd60017dbedcee6d5fa8756cacf7b57bd0ce1aac40c0ee9d874b7308fa8f32ddd0780adca3b86ef07f9033ef3d39f3ee6178c2e775f89446e1df79ec0f37cef82c437eeccc5f2470e66bfe7c416394c9795f9ae81e89da5bf86f3744fb9365601eb0fcf84ed92c094e76d48cbd79fe19cd12fb7f7ec09038012ec0b488d098c0d6706023fc0d0d8f257f53b817e49d84e78490c3d5d0953ea10539d48fc7f57d37a4d608b6a7de8e95aa93102db80e4fa268127eb67927c462fe50cf571cb771d9093a9f6a56c7a3ecfe3aa6572ae60d0ed9a6b768e3787b6d6cfaa6af62db12be3f8c329bd45a8276f5206f4cb479f0178b410c782ac7f5c931fbef0daeac266552b2bebac90630525c6e80644da099ee340a65fd4cb0f5c00701f5db7fc8ede2edb299df7469aa4d5e937b17e334ce49ec0543cee31f92bb81e825b3348710ab21990ef0c09feaa1cc4ae91bd78acdc259d9c6c6f8c924db9aab7d8bcbf77976b935d49fffe97c7a21f0845af73de05a48e07bace4e986d68552c865b63684af7e3ea3ab25962d07ae1733bcaa151979aec6687b12bf3ce4ddf85c12cc97c38dcfb3f97ebd919b367b5223e85d1aaf635f340ebe6844d2d4b8b8bd59e458b3d8113e99ad685c7622acf97e167e265b13ea410ca4e92cf6383ef331ae4b264dfdd3d69c9f2076664a789239f9762c755f63d64962fd1e8cd3ea849f956fce01d75fe19c606b16ac0735dad8dcedcdab2dd4d2fa38f91cda8f9fa91b7e1c710c6fda8c6356e275928de2b2e2f88bc7c59183ceb038dc7b89917d699f57f41cded3dedeed49fb1907df739444f6ea881be2a3320247009ca02bf867a81c2b2f06bdb0b474440f5bfa83f6434b7b24225320b9af2b3fd815d4c0baa0757cd477fb7781ffa6e8ac17429fa7a545ea864e8ba12cee7972364359cbebf3ca2f75b6c5881addd8b7b8f1c913627e513ee3d901d4ddc07dddf3595b0b122599a56eb26ab171715c47246b8847d73402f0949af591c555ba335b7b6c4d3fc006446ad63c8d49054c12fef21c23b3c1dd882511e31e2fc24fcdb110cd3438a77b9e2397336a3f7fea5a9f35e63fb51fe28b24f840d7ea7d85cebfaf0de09a2cda199ac396f6201ed4dd8fe093376bfce6a79885ac82e7e13176b3309b373a82f6896b601d4efb4d62305e12c77e82ce698301ba77443eaee9189c1d11cb80d4b7fc7876d037feba0ecdfafeff5e8b869f74d683e233f5b94567b59ec713d4fda2f7ddf48396ed2f2dded91d1e24d4e8243414fbb0200f36fa9671de6bedc7b92ecd02fe263886b736d3e77a0b7e07bfe8a927b78cde9ecbc14392a3c05febeff2b5e8dd2d074087efeb958c4f3e9625de7d6d7ffbbd0d36d2ed37dfea192ed101211ff6c6ce4ffb527e90df52a87fdfd6ad4df1b34d5fe92bb21ba28fb2c576e4ca0637ea699c55f467abd3b1c91db922a3e50aa7c579c336dca4e5b90fea01b77e64b41f606e717ceabf8fcd78687369f2ebbab819a426c96b394bfc56bbc7c8a46c9a943e782fa3625c7c2650a778dffc9d2c0a38b8a4d6dd3e7f391e468c4e1857e3ef706b545dad7e7b17d85ca85800c0109aaee8989874d9ebfc7da2b19f908e4363cefc24576ec44905d8cbd49cdf603393badb7eea20fa1dfe358e6c5f85fae7ccd5648b8b359d79be2ee5ea2120ffc7bec279ffa6ae3c5d4fbeadfb7618e7b81eff866fed83fb5c194503243bf74f42228510131ed33569b7da0fbad038d575a67fa9e389b6a633006cbae31cfb584663b0a7fdbd5e34ae7e8d0bc4f90ff735b2a9585b19eaec527f0b144ed9d31c1769a827fc4531e757c79a1db0ecfac9b865bdeede9ee419fd473afe2dc6ce0f58e6bfd96df533e229a9d7fbbc7a77b59c3a759e2baa0e7de68683c0ebc517bbb413b724ed5e3124399da0e301d6f7b19147d2ce7ec23568311f301b7a5bddd4dcc1f8c05a8b114a72b12e180f0fe7927579c28c8c4bbaa7dbdc239d1c6cd0157a575de34bd65addaeb55f3c191bd8f0985f6d085077560b98c7b59855c01ca9e38cffdb3ce9ee3ec07abdafb7fa3ef19ff7d13d58f787bdf2838dbf48ea1a0bae39e92b62de60816dcd7ee63dc09a597063b877755bbbeca696fd562822651a65fe213bf923b6c239e6907fc77b42c3af23b0473538f963d29e0f77228d990ffe9cd6c650367be15d0aa51b7bda39ba590b34a613ce4b9dc7fe649dbaa671f5add51dd621ad87b9b8ee1383f4ad1f6c70174b1bb0ee71163ba19d74ffdea7cad4861c4ff46ea87b96187df47e9bcb42881f8cd1fd7642f6775bd76b0ab98be81c400e63b736d29dcdbdb51fa3fe089ee40fb65a180fd43c4d8c64163a9dbfa1b672c776d6e0837e3b0fec5e7763277e09ca8e876d933017fb4773c03c9b839b7e388cf902b20bec6367e3c4882e231d1b70c231ce34da37f13a3148ae4a5ce9c964218bf4f57dba2cfb955aa9ef4e1864f2b88e01093afdcae00bcc73e2a7e596d69957a6112f8fc6e72f2dfa07e828a56bc8dc9d4c996db5a24267026268a6f909be57673af3a088c3c7b89be2f08f44d52fc4f1df302f683cf4ba133f4a832bcae05ac9756d061bfcafb218a572133ba602be45d73f55fbfc884ff7e60cfa5a708533fc7c6fd57acc9b5bd63ab49ad925a5d3e0bf313d6cf2f46e69eced19de038ddfbeb2ff6a7c0a71cf7ff598cc075f5e74f21fd0edcedc860487818c81aa45c6903d07eb5f8ffbafb017471f0d46e76264ff168f9d3ae11ed14e9cd3a00f5ec86b30fa3667c4ce54dd231abd3559d6d53e29dbda2753cf53077b79fa6fe28ae83133a5aaaf7af3d1be9a1f56bdff7e4ef635e60aa36ad11fb7044cca9f64175699aa99ad67ed3c417eb9cae31a3ee017a7f8cbf0297f71cb97f90bab88e307fa198563305df15e39386dad555d6ba87b363b72851ffb82f4ed6b45f04897977b9bcc2b1bbef4e8aca03968ea13fca58cc1a8c2e33824c007ad75d5ae9c79efe37d1577e380638d54885568e29590cc92b67abd0ab84e54fd20585f657a3e6d6f6280bcb08927e56de35c5a50c336fbb6013f2ca84ccef1979694d9d8a69b28c22425e7eb5be6fac3a5b56ae35a5afdb15c5a73d73798ccd18252d68a12700e5a7e54995ceca3ef58a2719b0ed20bff48e6b089df85dade5af44736010b31758f46dc89897d86d7a5b30155e7b043eb019389c2f4b601d33b3f2b663ff321af62537f5be086adbfd886f82e90ab4fbece1475cdc94539696bb094f9b7dcdba48b3206fff0d61cb03846ff311ef8cbeb38fddbf838c8bf2758b5e3b4b3176bbb09e842cf73eb215794831aacc98ae359f7b88e6febaa76eb95207a72ae96e690fe1ebace515ab777d3e242e941801bd7d0147d18d6b6ae450879d0f8dc623cfb6ffb4e6fc6fa0af6d11ac3dd68d2f5b762da13dcdbf6b26fb93777fd09fbc43ffbe89933bd9f88adaba13d24dfe47e8c687c8807e25ccbcd6d6ccb9ffa9d9bc4481647e9199638923990bcd4c15f936feb3542eec1aa8e05c4f3528ecf0a3a9358feb99177f24015a277b81fdbb78e8eb5d61cd319b93de302793c4f6d8a1b9cdfd38da7f8739397806b94551fef30673a0f635a1c3eb16ef994ee76ec15d47e8e6a5e57cccbe8b23a1a899318253a4f663566557dcfaaa38f723e8a32d45ee85e6faeab03b5cccfaabe1fcc471ff9bcdaf417427e5e8ca2c17c14f5e6fa18c9815517b367df5785e80f1d9f626be8db495d7b7390fac2bec6a0bb583d8ff74a886ba0312bb9b990b3f330eec4b9d8e56d8db77ca8569f437fd4ffcff230ebdceb34e7ace8c4f9aa649d1dcdb9eca683787694ded503754ddc24deb1b8a0eb8e31b858c719c4df60f9747c83551a5fb6d6ead64e7f5b9f7d67eb4c31afd472aeef19558faae6db39899f8f3e4ab5922ab55a15f3b2a8b1390f4b5d62e707a95a8cd4421d4959dd973362ca7935eea995da9f57fbf6bace54ea61cfaa155a37296ff1336fc61cf3a42ec1837adb6d5c2b6091d57dfb65512ef5cf61f33d684fd17f87c5b5f3775954f4df8e50049dbfb522031ca7515ecc010f304fddf89c81ff13f006d733f7b8aad468369147ab7f5cb49fd0d846e76c39dae780fd24c417932bfca539705d81a92c637031b9fcbc98b05fa82f05ed4d724dd51d7f41c5a87a23265ff43e868bd1c71fb93ce78d0d61c4fe671706b9524939d80af4cfa12c04f1d292d2e5286777e2e63fcb43bf9c97d1b7130627a8cb521695ac9d03991bb8de84f9f68df3c9d2cf35c6fc159d39bb0c704d164bcabc031bedac7afdc7bc179eeb350f76a38f663ded039bcabdfabed95015a8bd610ebf9bfb7a79deee27240736fd45747f88c7b7fd194375ca64763707fd02b501b8fd93587df6aa2493cc15f983610e2adb74627924e5341df58501e0a8399bf8e28fd472156d4eeab41977a020d97bbabaf83dc07fa0d698de4b3903b5f88e80e31b6be68051ab99b0d6f6f9aef94e355b0851f6cbfb2265342e7fef6b9341bdd5e9fa16c330785a9794b295cdc3a65edfa08991d5bd548966ac9338b11716ecd2c88ab93eeecff58f5c3dac06ca08b5a3debcda540b5d457bb5bfd057b93af2904e9229fa7eb0d0578379b529e61306ec6c8ee5ed09deda6931fa48179d1ac763c068c7588f40934e350e9c12f33db417b737b595e7875536d7ed7467d2fda8b73920c3e5c820f455ea75efb51fdcabe6bbe90ace48f7debc96bf32243bdfd4f26096dc26718fc57f1ccd29170789be16cf8eb3a11b3ae52231bedc7850ee2ce984e88fac15c18d7e00b5556f6323ee7023b831afea5ea51e36fdf9683c505b9a1b2ed11a1cd452ad5446d5bdf62c564c39d7ed52adf695aa7f94f479530f1ea2edd562e4f5dbeb1b5eada4fe5c57d11a97f5d9dddd8f79e75b9f11ae67fe33e6d1d26af825e490b6fb779c6d75fa6f09722be8b3e275fe5e6576e7fe4d56d34355b7313d348196f1be30009c18eadc30f2f183d459d8fff146795f1d2179f003d1efdcd29993a3b317b3f7715659a0c3b9a207be950c5c4f608af9a4be36e62c2d1a2e4793a1a3a3bda516347ddea2f170fb9a3ed33127883e9f087d1e2c4df5e485d1b72b04d12d2dde625a1c59569e2f109d453cc91c666ec512bcd888f7c2a25c5a31dff269b66c69e484a6b9e1d28c5a9a7ba469aecabb2dcd3d7468ee88addafed6747ff1d21c37fd39569e3fda1b5b71526d6fe36c1a197208f1122e3737dce33c7092cd493d7c7430257ea67be34cfd9d8686ca68f53bcd2ef3feef74769541cd985ffa72b41c68aa3f65b2ae9f6df2afe45df530eed5f41864dfe9e681ecabde6054fe3fe6de6c39716d5b137e97bc5dfb544a026cb422eac208106a69d4eba60249366a41cb02d4fc51effec71c533db6339d7b9f1375919118d4cc76ccd17e9f458cb8be7d01c76551db40be084cd4ceaf579195c8ce87d8d64b8b10971a25986429b02b9c4fae3c7009a4dec3bc8e307b63dadfa912c81cb95ae552c5f574036226a9fb42565f283994fa726a2aa9dc445a72b3ad1af575464252f7c4565d9572184dfa724a5e7233698974c613d9d33f939dba9aa0e74b4b299742ad7b564514721811d2d2a5b64b69d63deb84645e2e2f5f26b2ba2fb75fc8bc2fd7b5a97db0ae4fbf58d7feaf758c9e7c943f59f7bf5ecffe6fe816ed35b188d7e357d724e21264d957d79cc525073ad118d7cdfa9473bd9fc76035fece52523b7f6797c78bf6c98cf10c3bb1917e3ad23524d5cafffd3db12ab74c5ea0fdffef9fdfebcb4e45e7f32997ab974aeead4d2b39d1926a91f212f600d9d7998fc86e5a4a5359e56652e5f6e4f7013d8f94d53d258512d597d1c725d86d85bc7c21e5e58aeceeb12f3b95abb6eabed882fdb6eaf607ec030bed9d7cbbd44ab9d3c32ee87952f852494babdc2e573d3b709d7dbad7939cdeaa2b4252b55c0eadde3d72b6534f8514bab91446b36df79ec8f974bfebd90eed4df505e92553b9a7e3d8498ef422525a5ab954bdf4db7d76969fed791fb77bb9cfe54a23a4b0b64727dfb62dc847db623f1dadbb58e8ecf98ff64b2c6e3e395f40efcc08a1c37538d93d9971ece6dc77981cedc7b89317fca5eb2f9f891033e8c90aaab3c12d2ac7b644ef779bedd9e86c9e49e17ef8bbd1fbddc833a9e286bf27a7fe1c6510bff886adf235375744b6fea170353efbee23ac9391bcfe38ffbbc72773e2822b2194dce9684a279bd57337d143a4ebda0ce699b7a8f5cd49688263f998dbe8956dec6f386fa9d7b772067127d4c6dae66b75023196c323ab5f71ee81560843f9783b446b5e5dcb8b43a4bf6984cc1d347251e7764dc6d72ab1bc53635add13fe5ad556585e862f43be8072b654497e6d92f25259e9f2bece850059da6f5774581fa2b5aeae0f6f1ab1660ffae0b9d457d71f625d52d783eb677239ba3e29ee96b1a7dd609639d43a1ab511bedb1b45b633b99bc3d2bebd023cf4417f5d6a9dd85afb1cd8732abaf6d3eb0e0b87cd87d77ef05c7ba35fdd25998ac98174cc9761bbe13cd7579e41e63b23aa9ffdc17571bc50b562fdcaca31c6f79ce2711bcf7f44f26a14cb7badf8e5fc7e771efacfdb227b7e38c6155abb3b637ee1ce7268419efc68dcd875e9521aed94a7a0fefc708d45d15797a52b5b25efe007a7a02e21e682f17caf237b25df9db34cb8673df458ba84777ff03dda3f7f108f23a5963bde9ab67ab3dae38e0f71cd75b31e2df51bfc4dac448be4d57d5dbee4a25e4ca5a5efbe2e178cb939e57bb2984a2bed6a6e4ec5212ea63261a1cf53795d4cb74bf83c3bc40579886cf6a0d7ffc7e4dc200bf2b03ce51243ba9e76600e91ed09cbb90fdfafa4e67b16be37f3cbae4a1d337ebce76d3d4d3fba472c8b64a7d00eb4452f48297c29b7ebfa7f9db88b6c4e8b649699ebab6beac5b3b921d13df94ea15f85e5fc8933731ffd33a8d5f535ceafa692f982b2bf1f95e2d25d53386650b8065978e6e6eabee9448abee7f52c17d5d8170ddb7bad78fa6d5dff6da6aea848cf2643bbbb2a7de143d215c83c12d7b42b06ebbf4ce6723619df15f4c231d7a427289748a486be787bc8c777fa24d6dac38a6c73e686bea24d34f4ff2ceb1aaa4d319754097c38c3eb47fea26584afd9e415f6bf1f86fefb91af7fabc235f3b7a55476ef79699e5148d5e333bcd133e4e5beb97e26b5cf8baaee795cff33893f0fb093e58fb1de5e88ed32077e606f99d3b2eafef41882d82e2f33b9ca6981d568a9e2e7c0999c68f39dbacaa5908e45359a08d52adf064431f49711a3b1da4f312ff13c30972fc1368c26cddf8b927bdaaa27ec332b79d70ab827495d514d3ff0b8ed7f72714170e1a568c60c5debe06bbb676fac601ba2b6b5f724f89e7d7b8f0bf7bc14cd3d6cc93d4955edb32bb913175e2ab98eb1f02577de86fbb6ad22b4956b9f6532dc935c356d17195f41bf6beddf17f8dd6aafc7f9c7a7601b9ef2aecd5a89ec5d2ebc04dc7930576f0f586d4b829255ad92d5361f1bf3ac681db7c1906f7b96b8097ddd23dd3592ef36ab5d64552bb7aaf52e6cf65739d448a9b2feda85ab5c5072520ea55262b28bc7d4ef09ac425a7295a0c4742fb6228de26525e6fee146be088e9483287b05dfdc692e851ab59d9cde8532968c89efed0ce2f2ca443f25f5928b2cefbcae09da51fcb1cefc4f5b13d9d86be705e92dc996c3c74ee2cc3666be63401e36f09703bea759cc1b3e0fd08dcfadae15b79fcd62ee363e8384bee9d4ba74006b17f014babf27a36725456c53ebf0153dabf96c16734e6deda87f5c8abeed0ced763ca3f36df05bd67296016e4391ba9343ec247ad9e0b6347dc3b54a7178340fa043ba1539ec0bd4f69339eab3bd8aaf1893236ec70664a146faeef28bfb709ebe6c99addfafa949efe3db35bfa1f33dc57ca144def128c537c0d6e9ffadcb8465f280b7d7f6db98217b27b28d59fffbc8a1e4a6be1c384ffa32507de03ec7755547642f61ddfd0e7893dd3a40ba075e2748b73b2fee2e15e35cdecd1eb74d197d6fee076d86f5de6b8356366da86d8655937f30d8afab76ad32b3bb137bbe9bccd01e4df8f3fee65033d332f91bf09836184b784d6df17d51fa66c2fee277e6d5de6ba434c28f1afa0b832215d9f973cbcf6dee6f5ea2972e85da6225d066868f3c13f099fcaea6f42536b4b5ac328be868f231ea63cd795b702a413b413be7091f4b178fc9830fae3f595097ba20dc7211bfb2ebd0638b1907b5888b0e2f8041b660930b405cdc90b89b81ef480c3133952c3599e9c5a85eae5b9d7847ba05d22d6d43ea738aaba8df5c12670e4326ce84bfdac6be8783bb3f01be18ebc7dc1ae9dcf9c966e312e90347d3063df4a892b965f215f8c918bf049c9a259277c57d672e7cf72c830d0eb859319149ea4b2a025f10d9bd1fad85babf16ce0b84f9e13676ec9e6558236d3bd8c3dd6aea5bb01e4cd9265fa139dc19c0e18ebe43fb303c1245ea243ae326ba7f9c48b453e565fdee3b1f5825cc4769250706e69274ce32e9629d1ad9a0bfd9869816d787c5a14abf8a056647352b3f9b7f7db5de70ec2145f62fc6f65ef81605b64d053994864c389be8e46dbc3b37c809e15211e9e731c67082feeb44e63233c2366542d870e9dba6f8708e3d767de658df779203d438db495cba93c1dca71c0b38bb175b59687bcd7d987babab97b8a1e7a9c63a17375c3baffce470b14d3ec6f8d6ab93bbe1632f89ef9e2967afca22b20d39b3709d77e5197672344f27740e720c771626dc3b5f72a376baa9c89e6e9807c64f05b398d7fb3075d8fc8aee750c3de23607df2e17b99be8f04c6123c71645df6ca6bf77a2deda3e2c0ee578bf221976f06d82f4dd35e4e9a56f2631d095f7ca2087a4c35701be16c8f58b770d3ece46a23bb9d9d433f9e08f4563d670494a0cda371d77de968ae64e754d858a2804356af0bbaa31dfd25101fce24a0a73da53acc453735a525785bc5c1552374ec866447d44634e594691dacc42d0087acbb1f03c1ffd06bc1c75dda555366b49eaed5758139507fc0fc4098dadc7ae53e72c9d9c04c9fb45793466cd5e0e8fecba446b18ed53a8676666a56dcaa4b3d9bfef4c991ee8b62ba98d05f7ea626b7e77a9ce41010cc696e7cc09e2f9db1aefa5ce6744c66ee2c51c4bfaee66913a89576dcb05716435a803f69238829a608a26dd448e39b6c9d9034c06d249d6a145e9b9d7f25714153a53ad8ab8383dec8a23a5cfdcd2bf094ad4cdd9449a5bd5b582393335da21af95a9147e8ff797446b576075c7d309da89af24c660d3bd9db2ca47e7deba399bc401b7733336526687b0d66a7d7196ba44c3ad19d579a07e08b8bc21e09e35d70dfcaf2e0578636d3deda03f9434b7c36b08fd79e4dabb1cf56b682a512bcf9c44af00cb81c5d7ba25da77da09e6653390b1a9739653c0408071e452f1533e572be1e26bf35b6b979a0ad80b91c0c68e4512809b07ed5189c0a0da39ade7ebe075b5e6cd6f43dc203eb03ebe0feaea619f257ce0a73b85775a2ee386ef7e4d04e02fedf0a7a13604f3841234e6fbd2e8d70981fa495886fbf46aacaf0e33bbbb899b49e14b2e85e9d536f9b38dfb5502c7edea71cc9d32aa6506e00b263b63fec97c35fb8946e3933941d460972ceb75754732a8d9ef1e8375ebb74db75e9da00059cbf5b1c758903717a4c322bd7367eaf3b74ff4bf9d29c36f2e4b57c71aafe3517f42eba5d9ab2eac07cc4ba33b47b447ca2ec7d889afe908b7bbbf5f76031bbcc27e0734ee3df90b32694fd191adad0961d8b614d75f76ed17caeca9f659c43bd4eee16f5963338b497c73373a3196cd1ed3d3eb8308f4d5defbde85327aaac7c3e758a4b368a79a5717fbc64d3f47ebcc36f6b58f10ae79df219ba71e7f6d72f0ddf39e1ebc6b68ef6a3d1db7c3dadc7068fda448bf3d1ab3dc033e87c69ed5171e33eaaf9a414dc111f038719e8717f8a9a066e9f18b3110caebe839f87ce403ab926bfc7d9ba59fbff50c939c1cd938b395532131358e6ab8024e4b242feaef6a0c9f461e367cc9201761ad00defa6fae0d71c3bd0b6533073aef2407a42bd1d232c37e2a237a161a7b478b6f368b748decfdcb7730d9fb708dc47d7c52a4afdef8c0827177032b69e6bcb5f5d869c2477b90bd98ef4d4e71fd77fd7e765d636a44993b5c134ffdbd02399dfd7674d8c3beb0dc93dcaff6113b857a177969a136c76f9b22ae79093ebbfe5d52e2f91babf95fed1f27c84a7c5e4edf77aa94c1bc2a7efcc59abde11ab9f55960b5746c6f1e1b7bb35ae13d3dd9df5c74661905215444c031dc93ad4e0bc0601de82a1cba2eb70d3467e01fcb6cc0451d3e5f573ee09d87dc55a49722fd6e7fb30c341634ceaf2689ccad085faa6b20fa3667735ddd16df49e48b33e165cb5c38bdbfbd9da9a53547c26fade36df582c61c3d9780fd6772090f9803bf75ff3b70c797c04d56219d45dc8c655a01f286533146251fd8e33d33df195aeab5f57f757dc677fad0c3067142b2918b9956db5f5299fb12cec3cfdaf76c7a73ad0cdbf89d778b80a706ef436b089d97e3fefd65a33518e27116f45a3f4dd6d1c3be447616b28f28bdf00cfd6651da09ecbb33609a75fcad9b915c5916712bcf263d7ecb12b84fc026db196023d7eb8443e7282126d7d449f634779663d7d463cc0157406eb53bd13388b7330f7aa83d921559ed23a1c1f7a6c2fa4dede0544925eccfdf3f53fa9c0bea0a63e0f4fd2eecfadcf92a0e24f6c30dc70eecc44d175342b24e0e5f1afce0df3f5394e8a7007d7ac9be79df9354818e90ee4a1ff82c913ce58295cf055f9daf801f3ed23fd2db4ee1d07d20e3fa7a9353c6cfffc639993767a31c72e083010c93beaeb6e9388177a55ff6db5ddb0897b17e8773d7bfd5bfd6efd3d36dd09a8f7a3e87d6bef4d07b3027e2c94bf4d24ad0dc1378ce831a0fabe157c0720db0ef41ff56b3b499178ca94d3736ac6f979ddfa1b31ba136ce3f1a48aff443875d5f2ddcee9363accbe3440a04f552cb9b7afc1bfc1056bb4ae3b1a9905c79697c16b79ecf02f8e96c6681ec80d3915ddf6cb6887b982d50f36619f10dd94c1685dae8fb6eb20e3d562fb1ef4783756ac3d9327ce777e7643be13ef64f8ce51e9b377d29d1595ff705fae04ef4c44ee2e9877d60edcc99b8a7a3318bb0be4f97039fc3590afaf93748cfe18cd3a7efc21c638bd03266985bb4f141604cbfcbe8d94f1cc3bdbb419439158dcfe18a2cb7490f1bb3f1f530c5adc65ff181cfbcf301dd4ce55a6e03cec7b6e0f4a7c7a0beb9688f07c2847b82bd3efe0d9e93ce2c83ccc4842eed322fa5e50b7acebb1ba6b59f4c47f21cadb5f203df5cc097d79b50ba015f4619a72e86be7366c893847949a429d6d5a6bf6ff32803dee52ff490afe4f0fac601d7967f778345de612d73a9f8555b1ef4dfe8614dd7fbfa56efeb1b5a0f9ce95e903d2b18df7a76bf26a13f06a00b76fd835807f8082d637a6afacfb133c06c744ce0a2eeadef35c1b1456c993251fbe97b7e2faeb6dbeab1f9587664e3317898ebae660d9dbbc39af3b2484436cf5ca6b888ec3e7354a2103727389b8f6173363758cfa0937771b2c6a668ff3e05e81c45faad87736a602d3731ba5e3fea78dafe76a4e29bbdecfe6e74ac16bf5825ab9d21d110fb3566f3b725c8e49bc846091f83ede24b4c7e95b07f65dae894437d6716ef288296d4f4c1fe023d1efdb67cf86d8efd2e048db1d273884d3b4a8ccf0b12f214e66feb17c0a212f4415b7e0a30862f995591e47f4b7bd4b4c36c6525d4f77067faf33776dec449ae484787d8c119636f426e028c21f8886e3b4a7bb295ac10d991fd1f343ab1ae7aecbaf498baef2a0d181cd84e01dce3af6317adcfb1f01b7d4c64c19fdde895991d92cf6f4a91614c929766ad5c9af9efd64684f5c57fd7de312cc837faa6bd5335dc12833df8a5bf262b702cabf56d91639d4c0e2578361f58e416fa21cfdf98f559d8706ded3bdebbd34c0a5a9b24ad7d3cd09ed68f0631a9a6d6f21bfd9b5817b78c9e05f38b7b3e9085e8dd32ce0fa904c3bdb8d57774de9edf5d59201d93b04d39b70c64aff4e309e053efc71e7cfb0cdf833ffe48e933d1c45cb9dc468e5d243781fb7931399a870bd2c52c6511382c1d1ecbc5d5321739f0410611e0bd0a2bede2317df9d7d8922ff47149460d7f80b871612f03360fd28f945581aea9e55b765c923d1b08db5d358feba487a3dce8063ef024d6eb756748c88e7cae7594109d19d8df8de6780f6748976fb047ba64eea2f5542e72cb88cb6db9f041f764d1591a571c4ba6ee448e6d864bdf6afcf8ff585b3e1a4b24cf36fc0cb783249dcd21c5eb7df16e9b116aefacc64b0d6c65e1031e32f6dda61e03d720fdadc6a67da170be95f453d8803cc7318c867b83291abcad7c679ce84636084a31c1723faaed2f026ae85fd5f9a53767796b3f24719d2389fdc2907ff9e5f85ee357657103ccd9fe182f33c065b6133a73587a0231f07384c6e9e650d3abc7ae03cf286a1fb57e75378759eda7ade3847ddd1b9dbb12ed86355e4e7f5f4f8af983ef2ed1c02e69ce7619ce9ea2c68d897e0ed7641a81ece9fc17b3b74d7e39801cb790bccd45f694d90cc6047f58ffebc1d9967db5d7477222fde8ec6b7d92655ccf07ef434c07ceb9432f2702d654ebdbffae6fe3ad5bef333eb03f5b4b93facc005dc51aea5b61a7a31041b736907ed3faf768c0f09d10489644227b8298c7173c32655d5388f52fa5089b39c0b6ffa9952bc063d0b4252866e88cc47a7a547359e5dfd1d3d31d600448708eba9817ad930fcb5509fe17231ffa5454a290420dfb1999a204dc0c1c1beceb84cd798ef66cd7e608ec9feeef98a0c1965a7ec7df8fe306ceb2e6f16ad762110b4a7ef9ea59e3b508d8dd3dee91d179fd2eb6beafd3c0f78573d7b1efcbade6fd75f0f4852fac149955be9d2cdab3ce31e21a6b55be3b06e9732c5a9f5e6c1bd3939d1477af4476419141ae04d846205b53cc7d5f248d4ee454240967d0d282bc5287b1121bc9ecdfd64b40b6de7726f6033c8cc3608ca3ec431fa9d2f948adaaf551fb7d39337c0ed2f17ed7af97fb908b50cbbc468795d513d2973224bb1cbc1ebf78e6a3af62d41e05c7b5f242645605f82dd1180fe564b523404728c54d846c255f64ad749bcc7fba41ed17c63a44a3a3b6d7086a5a369c449612653ae40aa1fdada5e2724f7c7bffaaf38bbbfc7e9f05354572a578abfdc89e31ebeb53b193f472b520875ff71d65a03f25e86cc33a461137f8918209f2ee22a8f43f486e6d03bfe203fb03ecd03a96d19779c8c664b11cb243389fb39d81ebc591fc6b7cb992ca110ddfddb7e41cd8457ae6523ad653b1cf92ecf41ff43bd2151675fe6c27e35d4af61d765d0ef73211702196439e9aa5f04cb04321a7e67b7aef728ff3bf152cc32d95f677ea1ee787abf36a1b724d4cb7b4cd456c99787e2cf00b209d0574936bad8b802e7034ec147c057d79ceac2e023ba7e5e569be53fc6a67227dc1ae764b82942bba12d5fd741b1085a04ee9be4d81b127e73feb360448efebeb47c75aff687c9b1e15471e7b6adad8e8879545ad33cbe49e39361ee34967b62957dce67001fd929ac55c103dd961e35fe56397d57d8fc1e73fe88b43bd6072340ec49159a43816122747432fd133d07eb295eb5d6cd6151303779f17f8a4a060fff7b7e6abf57ffb1470a2d4710a1cf7d2d23f7fdec97f55509bea58b3a9a56f35ee5afdf773136b574b9fe862f7bdb83183edc9df8cbd5f38c3eef22c3a5d298336e03c7b725bc6e3f7bc0be557eff9c01f8c6d8de483b8dd5f0ee072e7f4589745fa28e69c797917aade1afea8bd6656d5fba6db9f4c46bbc1acd92f172e2e6e5c5084bb6af5ee2ed35c502f78af295662d531ae7edcd664813f25c0f99e248cfb51a561ce77a57f69e394ed3d6429b6ebf404f78bacf45352aef9f6fc8264eea5beaff8e57d9b171c1385981399ef2809eb50bdbe71c14b20a8e9affa9bffc635dd98284588f54d0b74002c7bc771fc6cbc4e9f05f30b59fc819f00e73a4e473a06d21d62bad3cf57f91b5c77fac8a7348a87e33db85556357ffa9fc50a7f5bee07c543de8e1b92e9c897f35ce7167ca73dcf90a3b59466a0c305d8bf04e3b5e11ec78b8932a98afc9a83fe3bf1c55ebf5f9ec17f35cabd1fc5df477d9b35bc3133819da2fdb040721a62b858677a477fd7fa4d2142de4451ee8c68e4538c9e866b0b6a7906f9fd7c60435ec98efc0d5da59f4bbdf1528ff55307d98b1b3975122fb39545e119348173359bb98d9ec6f9088ffd9da6dbdf79ffc7ba527534666787d54eaea9df312f951c5a46e1bb0197fef61aeff94debb80c81f1587fdfaff7515cc66366efe8fcde297c733e07039fbb52ff3d1c9fdbcee4c67221ff767b1a1ee6a5043a9d5b7676d8a73202c71086b609b2a9b00d5cd6cfe9f6cd27cf7805fde71b3ab312d7f91dabcc56a23e675bb583fa292b51d7d7ca54e281bcb562c8d71dcb8bdefd27c02c95eafc024b252b419d97db7055c815d2bb563fe5e5658af3da563fb7cb4b2ea8d3bcd1058e2a498aec9c9696d77417be3c1f15e22a283eb9d3886ffa5fa3741712f98e9ad3023b9fef96fb5498684f1fe47a5f6cd3f76d560f8f06e93bcc28360539005dffcdd2bf3ff8b5ca6b233fdad8fd919add3d6a7ab24d39b4cc05f6ddb63674f4ec8464f9a90cda48ad0c025fcae732e871ddfe4fc920f670f7700efbefcaa0722c83fe0d7b2d72267af02b19b4a32ee8dc7fe23ee158813c1dec8b24a400ceb6f2df3b6bbfc891fafd386e59c771cb268eeb06d1b3607eebd97f18c72d52cb843a85c85616570fe2b55dce07d869aceebb933db669467511a338f6e779123d7f3cd4c57c50f78ecee1a63e879fe8b7a301f6516a2731c6c06063df2d87f1ffbebf721c1f7362a2f34f30440118b41b64df473fbfc201fad08f09fe38f09565ee302e82e4e75960addf3f33cc62ee957e82fe972ac8974bde3679b5051bd546b6349c01f619fd2e35bf1752b86f3e5338b7165d8bf52c7c6dfb7b85e52efadd229adfb72ad40627437f01b26b4e383e81df0d76bc1d802fedfce5fafe2007f26d53dcf8c09e40acef4fcf6a36a29d6aaccf69e03fc139ccd6731d4724f1985935e7b6fbcd38663c7f63a7097f86fd56fb0aae7d3ec13a17bb7bfe6f8ec5158d45ebaf373a9fcdefcae9761c59ab97a38d6cc7e8620751bf860a6cce9ac3ba9ffb8efd97435bb53b4b603f3ce668ee0ca4b3d57954bf3d96d133ce378a6f9ea18f742af2dec64a54b26a3f37f5ba4697b3dfc6800ce9b9998b3713f0d51742c3f7cdac8ae65c6cfb6e628eef4fd64c2a6eac8b1dc4f337c6bf8fce23b466bfece707be8e917e876405b2fba28c53d69d5cd814f3ce0e23873920e60bd2c19a332bc3f90b535cab13626ed2a646a68e99d4b6f3c1b72b22d8955c2aa897cfaf4d3a3cec3646716ef3ec6a395ac7fd36485eea99cdd47c95ec1aea2d9d73d4f2c47a6c1cbbe89d75edce7763233d198dda9de37c132b11d80b6d9556d2e45d804ffe21cfd50a3885c3f9f0e08b8f81e77357625c84fa3b7c16b316ddf99147b5ec5d9df9b31d16d996b2de77ea0a7c9e028e7977f15b5ca30ebc0482026dbf3b1b3b1ee64ac7fdba3dda6580f7bef2363c694df6fd3cf9b48dbf982f75ae08cc8f3f989f00fb6ffa67a431e9fe6eb09eb14e1a75fba3e6721dd49e3675f8300fe8cc3accdf183e41bf5bc93a3c96bcd7b409fbdf611cebba7cc82b0119fdb6c9031b70c678dfa2b2c0d4af78bc4962304fcd98f0819dd76764dd37f8dcd6c179c6aca9e3f5ada4889bdc31d823cc029d0f274ecd036152b7ad74ff82dad52a3b1d4da46bfa77cf2822c0bf829ad817bcbf98eccc05398ee9c3f7fbdef72ee49ba2363a5441d94adf0715fd1486fbf286e4983b39949e2113a3dcf8ffc0da6fe2f4addfb85d5b1cbb6a7430d079396635e7827abccb2cd805902fd2e417a07d1e084a5b27453ac9f5e64cbc1baef57df1770cf75ecb83772e043fe010bfbf9e3b878d2b8fd56fb6c961dc80ee6fe030c1f84a0ffd272cc39bbf7db48ecfc5fc38aca9397c96273f3c430a12c73720064b88e7b6cebc9767275f6c437e57c1778acf446c1fd69818fd1ae525e45f0de7067d57c75d856fd43841eec12857e0ab7cf387bc45c57f3867a50dd2d75c9c73ae44ad5f1cea06beac3ffb20fe876b901efc1850236ab89723f8e4be536f15b5b68d411299f09b3abea0b432762e75f9c9031c873a4fb9b633be889d8cf2a59c60d13c3bf8cfd6dc9dda7abb57ea707fa5be5797e6517eeab0daa5adb70beababaceef8eec838f6aedc6b50ccfbd679cd1f5db32fe6ece3aea777564fcdfc9a74ddfd4a636c0aeebfedafc6f1ed9433b22463614c481c50d976e714dddd93366ef4e424f9c60d161a98cf03ab8c07d77022c7fdf8639a459cd2931aa09b41279a97daf6e34ac638ebf6f9f7cff9ea03e237adfed54696457464fde87eb5daf38244b99c5d532f9779c63a54fdd86db3f8870dec1381ec41085b8c47e3a4e7d79c853fa04cf23e113aba90ff860fee70ff3cf07f6aaf609dc9d805c6884cc2bca02e726b0b57cad6bd58fc68cb04d3e77139dc09828525d6350e3ae6cf6379ba5c3862fa6c91118eb4123bfc4281fd74a5e039f10d43921d7b6d1eff965ead8d7afe6682023c1f6899dc4238e0c5174fe1198afbb5de762225dc036d6570e72dd57a7ae8f481fd17324a370edc6786e87359087c61f4e69b46d16f3d709d1d46d12bdfa78a28f3380ec0109efd18ff642230f718e785de7fbd17a6e9e87eb0e910d9ad1386e166572a8957215d11fbd4362c00740ec7ab54e60d7aa75ce5788b18f8f75df6ab9766bd61ec420972fc1b6c218744ef069ddeb508e95f16d1cafdda9abcc0906f63bddf814b6d4e0fe790f53e62aa959aa29fe6da0ff047d0c2879304ffb4ff2bd779a0572b03e33069ca35c0f97c1eee56139156e9f1b1239d8a73d1bc40d0b24afc106b115ff5e73adf7f5a64d8bef04b81653fad08e739c084b5cffd1ade1b8ce2dc11c9bcd9cf772636f46b5f0b6431cda5418fac5fb71a6be6c4f9dd17e109945e099fb939dd024f86e0dbab415c8cd1d6076b678aa4b92f9087775a7b91f619e4a2d26ebc71cb6bf3d07309f1b0ebd97b08d59246cae9545f9b163ac9e3c13f01fd22dc1611fe02fae7b1b6396f630613fc88b6cdb7028bf6e83fdc7fcdada186b3c1d62a3b43876505bb733f70d065a50e397d376835bddaf7934a6030cb59dd9e26b870e55908e31a58f26998e3030cfb679509d24ce5d56271ee7ad5dc7d91013e8e48fda948e78bd9a9836e033ca4c1163fe3597c4f5a4b8967cdc872d15fd25315622aa2b7aa72239b470ddb8b8e5177dc4cf1e05485ed9ac3e5529eb326a4b7dee2019155d7b35dea908f544187faeeff73baab358acb8aba400ff5ec031d39b18bc04221bbdef54adb5dbb1bf620eedf73e6aff449b8fdbd23b17aeb0cf15de95d64569b2cf8c3fc65c55b81be43499fece0e6aeceea4e1d8a9e52f3a47da3e9d2e9e92d192125d1fb1f77a7daa7a7dda68d77e9fbaf883448fdbde9c1f47a52005a518e48b700cd455bd3bc1b512a8f93b3e9bae1f5c737d1827d140f7b57235154afe953b13d97184e7e3b12d86e557bc9701173ef091c1de41e7263a73782abe611f438d3d08f60cd2735fcec84646671e8e99c4375b790984b2197b8c512229d13b17e44877ca3c8344cf7a6fb0d39bef708dec61fe065c5a35ee24a5131a354bddcd22f69853cdd53d7ddf29dc13e4f9505a2ab2b331ce79fa2738e75b66ccd90f6745297c8ed153791b2e103757f01b6d839e6f9fede12d2fd331cfe1473e899fde12b04969e18f64e269ccdb0b3a8a1b9c028f5d9fb7e7d8778cfce64cf8b3b8e47269c93db9945e7041f18c7db597a0873bf087ed4f1dd3fc9f6bbf63acf37efbfbf9fc7d7fd608df718071d9fa769634b13d5fe93793f89f5a3bf8dd83f16f73965affd843db211ed3f9b97b31adbc6e4f8c6dcc0683acc51e2e1aec29ee3c0d1adc5f5c87a9610e74984baec13e0ed4f1dfb12ea9f5df688e3f1de33e2631b4b5a0c5cda2b48d03d409dbea2fd6d31263348b1b3e76d13f0a78329fa1369f9aa167649fbeef3c0dde942273265eec26b2ef52dad327bc8b757f795adce8e8ec2e2d6a5d0ddbd6e7dbe1b7ba564848c65ad4fa6a1b45689972fc693b2298a300f41b564f2c53cfbcb54cbc1a45bc0df87efb8237e58fb0d8a7c288d718708137dce5d35af384bf3b54feb1bc8271a6332f198e9757ebd73deed3412e407d86f4316cfb78d4750cde426d2a3d436bd71d173ffcade85afd3713cfdfb04f04df9bd83ed40785351637c3b316c42abbb57988d69246b4f7d3bf29bf026fc393fde7e8e3bfd7bc7e68fe568adc4df41ab7e0719cda7ef7f0e9f6097d7758dd776202daf62d1c7505c901f095235bf0e9952aee1ef5d13a1df39dce9b7e3db563772632cf5ce4b6c93faedb31fe75c96b5aacafb9f0d28eeb9b5284481f70d8c73d35e2f7fbd9cced3668e689a731bfb4ed7b46416893c3cc61b5272ee9f547e1fff0dcd0f2869b643be293751e70dd4f73e0d23fefe73b552387b8f3da2396fa9224f8c02620c77e423eee3536fa62afc5378fe1b2570a62414f98ff017276b23626f338876d6d7ebd8efb79042db6438d4fd462461f01135a6aeb2cb8be2dd17c1710418bdbb5bea680d31870ef5cb0a2c1aec03a972394f05bc6852f013e2ff0fe3f2a199c1f6ed06bd312dba356c041fe9bad92845166ef479d48db1c37257bdf52d1dc0dafa950e25a0b2e9e8fdb82cf3586cb717bd079c415f5e7415fa06e6dd3c30729ada4799e6d92d09e577c46c57fd686d5a5aeb180dcdf91ff2d855aab648ad6cfe46d9353b29ad34e60254e98d372b598bf2da3c96e49def8c0beed9644212db97490773291a04ea56733247cc0bfd5f340d7fcb5e96ec33da376434e3153ffaee039aac71773a9439dd82306ec77ded98c473ddf0fb92bdf98bf278c7ba20d6ada3913edadb1ef2b1ae7c9007e582f87fcc241fd3cffd63c13ce82f052cf753117c9e9651b67b9a8eade8e04ee0b4f50b2486cb16af73dfb0b8dc9173acb43ae1c49886c444b4a71dfe957afd3a38802e3efcda08ee57545d7f3033ec3b2c18673d875682ba7bb59d26791e10201eda9de1e7431f6f6680f9e02119f3570ee1d5502fcde36607a9365ebd35eae524187fbdb7dea86f37c1b70793d563fb984c3dfc75961aa742a9cfb18dc9d5d2a05512605d113773e7d753df0556d93e81fcc51039c591737c8a7827ab94a0ad2fffb76f729d8065cba2b7dd4e6dc616302d64610ddd0fa3e18ebf0c89c2ee333c42967a473962f47c326844dfffd7bc00b17301f7cb9535f90cd5a88ecfccbe7b941467b4c7a13d9e93f3bd5ca811f9e8dfe7183e8e9a8a403bc72c02a37890ce99b361b03ffd4e767641ff375463a061fbb7f70bea3b385073fcd4bc207eb524ce24a4df4b365420ce5689bfcfd633d00d9f3ebf2f54b1d604a4bcb7920b15c9d57d0fa012e30df01915b018e95776d3b9582d2c4394f051a0f879209cbc8bf3aefffdaa92f3fd13a1cbf67cbe0f7d4f1fcbb06e7f7ec8c6cbdfe5ac6ba819c3ac648af1fe925c367e0f93a022efa21b6a8f8fa7bed5c4c1fdbb3a20498236c07ec411f39a5db80bb4a9bd3e3f8a9568aeed7b13eb544fa94c044bd5841fc89bed3b6331037d816d8431eaa1cbb55fa6c25f1cd32f9d936ce4a91e183a3310d4ca5b85b9383ef2c5367cbe4019a0f2e069b02e7702f5347525f327876c97b22ebc7afecba1bcf382be4200fd038713149ffa1add1e37daab92191feb3e6639bd0a72e730acce0f4731b675781247e0acbf993b4291c49216626e6287a33950b701699ebfc86b908684f0822b8d6a0f4b5a9e37b5b9e02959e0fae2dd1f3aff141271d51b976f2be8c7ebeadfbf79298f78024fe41cf7e3c1faeaec9ccda6b9a7bd1bbd0f5476396bcade29b7d2e7835b2d2b775e18aa86fc9cc77cec5d6d26673355a6f05258a00c31cc648a34572366c17a5dd3ff2671c95cffd197652dc2d73ff6dfb6ce43786b8191f58bec0acefe2f910bb9097157767a979700671341d7c1efd3cae8777b4be428c77d07be79446e75a0f5b19c9aacc427b9ba1df44cacdb88083fda2b2f4a4b75f52a35a78bb9228b6e10aad2dc754f2402889815fdac6e7dc5f5846faf1ced00631399181732769cebd3a0ef4533deb572bd14b315eec3422d614dd5e9b44bc3d44f156d10ff636aae57630db1e346fa1af62e3a0d3bc1ad9bc1ac59aa15e0211cd7980cfe31d31f3d5308dfb6d43ba08d4db2ee7175b99552e5ba41e83cf3e31b1ef6ea4fb1675ba08ecd88713dd3c63561dd938f118bf3e87eccca1d6e3b32e46679d0b67ddd767a7adc059578a1bae77d64dffb195e8c909d2e13b580ddef127f66c33ae35defac7dc6e3dd9da60877b754c95071ce3c5fc0d63f76f6dc3f381eb424f633799a3eb1ecebb4fb13730de7deaa2b941e79f12571e151368cc91dd52db95035fcbf6dc9c27dccd49d6372ebc823dcc9d7b3e20857b6afb1eccb67b6d1a6c297c7fdff7c38569eb471023d406be9743ed6f3d830c6c93bb692b5a55f403af47fa9ba2cd58459bf1fa3aaafd68f2e4681ec223e3a37ee1e70eece2415b5227b1dab6f4edf9615be2ed21e09afef7edf641ff15b46fce6487bdb2fad59ea8fd3f132ff558f922405c1f3fd7c17bfbb12dca6fb659992179fbeb7156663c7a5e93ff09185ec10cad81d8a6d6c04962247a09b67f675f04a2fa7293186e20b746ba4f51e30363db819da63b6adad7e5035be1322ec0f5edcef9bfd1af87395c62af5c28b6e1ad5f372f172e6e387ceaf30d9fab5e7d5ea6a2e20fbe171462783d3eaf32a73e87b4443f1f4c3f1718fe5558f79f457efd1c75fef0ae5d19016fa2be39786febec64ae0bc254b274f85ce2a7a05ec66d7a1a5dd3ea08cdf74210a53b38fb9be75e2ec639bf1825f16e2ad143dbe0cc0fc66311fd44ff7886fb768cc163e32b5a0f9641e6dff6d57f1467809af9f69c4e1b2e26389fbbefefddf7d1f7cee6bace546425c04682f3a3c6d5da0e6207e0af49fbef4136a73d7a77c72b45c682f909972fbb266ca59fd3ab976e42970dc7861312efb69e1526b2dd946b6c54bc2762ac68f47d652ab96feb1961f6734880e3ee80cea50b7efe4cd757d2a5ee638ddde057f879074f6457b440e98eac139955c17329532962a3f2bcc60fe42c49f8bbb33d5e32a98c9e1da697bf5965a9c36434b267b6544e0b54d1f94d58ddd9ea043ac7f29d6ac73273b9c8e1cb3fe8bd92baf084f2e55d60d1e7b5f7b6c9f3c6e607bf8a9ecd4cc8d77aa145f325adf17fd038ae90ad29e0bede74fdb0c43cd4fd3aac1c5d9ff3819d886739f6d687d431b48b1d40ee81763448a44f5d5d26caec33911d8d59e501feaabeb3c3149e3f8aa57c6e37229948c4aadac9c5f47f3026d6709e7cd76fdacaf9dd326f630afd58d21fc8e2676fc3cf5e275826cb4c74db9ff5c44ef4f20df425c0904f5f2724e67bead9465cb466f6c4617d883c4ed152515d915b955c1cb458d674dd368d757cb40c3e44e7874df9e931b9668e31bbbb9b75e94e0ea477f6a6afe6259754ae92971a2557a79950ce69939db96ec07d34a6e917631a1c8d99ef9ea3ff8eb80fc89c5d8b91dee46415e4ce98d7b529483fbede766cf4ec048d3f7375015b41e9f9d036fb5ecec9341594e82f39dcd77e4e3fde2d5f867ee020a3e5731f275a9bee5422ff86ac4ceb1a8ed65767904569b253da541a9f1dea47979708bcc665e163fe27c05b03b962ab44bea5b4b9a75e63a1cc525bd108d4163eb0c18f67950db7c1eaaf5db8a2f890236525ca86df9f1229d44801edf73a8714fdcd2780e1edef8cd57cb7b4e7c0cdd98c191bf5c60c64623b1e906b0c3e6c0dc9294a50e7ff7e3bd44b81eb0ea73f05566a72aefd5d382d24c62a65554bc5e1f765fd8e741baeea5c482b19be6fdfbcafdc4d38ccb3aad2a598d8a5431117ab8c9e9ab826fa6c4d7ed747b728f9c0069f5ab36f3ff2a57d75963635990d36cf601d549fce7dd59f7bb44e5df29aa231da3216259144d6ff4e0a1ebea3f8d0aad059295464655456c52748872952e05258e65341b91206a5f77cd22f35b7d194f614ad82daa6ffd47bd50b9eb770f84ce9f199c4e07e2a9aef965c2287b2276eb8f79d293b7278f01aec1e07eabef0f74775fad7437b9639316a0f31fc0c1c367f9c6b82e6f5135fedc532e59d47cdf61d6e7971df690d17d8a7f955df3debeee3fc9541fecd1fc9e5970f75c19d7ef500a779d9ad59919dd256bf36502d6e5b0ab8a4ea1a5b8eb6c86b6c2a4505b847ccc73c67983bb3f1698f625d382f9ae4d8f8c66db814c711db6b334f69eb793f8af1417cab872bd2f08ae07883b1eae7f991a35892dfe6e12b1d8712a72e7e372fe03f9ad7f4c55aebeccfea9bb91ce7857f041ec5ffc6f553f32deecc7d9d8baa0db9a7371d3f65e3ab7242b26af580e535deb153f04d494a8bb75d21d9f5d57aeaad91f4a1661fb0d03fe45e2cfb3504c3f8a7eed83a411b140dbcb06e7cbd1bd5c23375f23b6be393d8fc0ce901fdd87c93e7dbeeb7c6e66e38fbbcae5e0c6ad824a640e7748fb74f9b3be135c6bc911cede9b00fd39e0c7ab7cdb842e323b274ddb7b8e95b8afb46f47c1df49ffafdb12fe213d97764d7953af16e5a532fbdf97efea43df477f730bdffbd1c38c0e768e49d0279fc37d03d4167825aaf9bc80286626b9b3b311ae7811ce93e6f7e153bfe7f22a7f01fb7a449a41fda48a618df8b25f4e4dfd7fd65e2e7dff61d6fecfbd1d8637df431a7ef935c3b2ef81f1eb3d236bcf875f3f21fb591a02ea5adf9fb482eb5f99a9913127793995f0cca4b1d9df8a7cfd3ed3151e6e21c6dc86f113106408cf679239740d70cc99b51ad3dc8336f65f0b47ac43de1ee75ce816377b2e8ea06c39850d797f577e4249685c81e64a7b448e677617d3d1f0dd213822812cb59fccaea21d45d6e389a0b7a3ed960def84a7213e779e39c0acc670db2d2eec5a745b6939962af4e00f37b14433f27ab656e10ff6e1e6a9ffbb5f6c12e30f7ebaff5c0964b08f209121ded93ca36669fe69bec14341f57423ccb77cfe4435bc9d01c0f708d6caab85bc93a031f9d92d15ce2d65c327d8c7ee0957ddf29fcb5e6444f6d0aad751d626eddbd11ba37fe933db69d1cca57f30a7b4d0e57956092c80e0b8fd0df2cf000cbc44e9d448fd01a033dc7a0136ee321bbf5ee015e27477b486761e98998e8958bc6cd5835bcfce917fbf82b3f07dac7bdbefc4773ef08f7dcda863417404ec03b1744015ae36e30c3f135a80dbf9696313bdbea05c9d0b4b3d178644f9cdd647dadb9a1305e8562254ded9a95d0d1abd2e3850f78b4eed03908bcf6dae4e07b6c8d4f16f6ee81fd3283d81be44845483fa327875656cd06cff9e0deb8ff7b8d890179b6ed1845fa14e4f604b00982baae3170a8c30cc921d05dbbdfebbec534da6716d4c3f6ce04754dffb69f26240201301db24050a0e6a914ebdc24819d66af13de77122fde02e628c437903e067212e92536fa1de3a8a46dbf309f4e2a26fcddde743a23e4119b3eec57978aef4e2c13967988712d20d7bb07742ddc47b398ff72bc41d646bf186f0dcdf7a7e35debc5bf1a6fe2b8e1ef5eb900d97730f912e93f5c64fb47a3008e39a7ecfbe97bf9af7d1c35f6abb62e7cb486dd729638137e6d19f24560fcf15ebaf7eaa0a18ea88d677f350ef57cb8c9fa66535ac6457ce650f2fbe3bafff533603c541a8f436f6d396571eb6ac375348fef12c409d65ecdc3f4c13d79d08e0dc3bd3b4187050173819e0339997f923fd65df3fd987afc853ef5815fff6b9f3eb665c11eefeb6ced3955d632b88dfbec5bae4424efa11636f28c22e6182f76278bf268903e5f72695b7bbbe16e164547b64a04aa46af74ad589bc46ca7af695625f5ed81e132f74cc67d3bd8dbfc7b39e17258e72b05a7995c4699077e7a6b065c00bf3ecb33ebb3f9f800c74f6425fab57a79e2e2c295182e93ab4b60ae0b9f0bf2e936e05d93e5027119c1ef1ec365928aaf456795a4aef0f7f09983cf367c96e0333abba4d0c5df2b5c2655fb279e2c5c2e70b36d7dbdb9ce0371b9aa24fcde2d17e4851ce2779825976d975c2585f09b84da24855205ed5abf04682decf42c7855b88c8ba34064f8996d4ae87fbbf9ffa0c3ff70b67211921979a01253f41dfe8cbe4f6677f89cccd1f75bb544dfd1898def69fe670f01ef6da99efcc1ebb9ef7fb8e378a5f610a7978308cd91ee6e16b11b41acfd8274a1dd92001f343a335e192e732aa2ec73037bcb9c96438d942a7c8da7c035449f5b80537cf41c420a2362ab5a13298c486124578fca298075ac2c72878a6f1e33c40caed7ce982be9ec263a92636583f7226d7cf610d9f85fc0a55b6a4a73b116a0f5baed72dc0334af02357d1fe07f872fe8ba6b4f7f4f054a1fd4f4bb9813b2ae1d95c323ab5f2dc0d3aa3f9bc5dc29eb3ae8a4c1642765cb3c5cc484f45f9913e09d371c016f9bbc149abae96476c7fe8cb8c5b047b2de21b06f48e9eef1a5b6d65a7e3f9a0bde39dbbec3c698c388baa6ee2abe79c93a3b1a87f91bb36aeb8b81438528622fd133c82f36e5ad3341e33c3b0b4827eefd2ea8f32be6dfb33367e249b669c70ed3be17f23354639d7f559f5de33381cf4b64a5a16dd7ab43789d106d6ceb7542e0fa0b764e23bdb6f5f325d7f8d5942eb612a53d7f58ba63e7cf47ec0f237726ef1c7522732bb2cd2db5f52b0979dd0d87a8d9cb7763f212637e685ff2897a9d8d540a4a940998a32f742832073d60dd609ebddc3a9cb3abe3e944ca07b6df9c2f5689f4b338b3353437ebca36a5cc2d218fabda19d2cd85bc567d01b87a945e191319d99e3763a27b3b53eae725d24dadaf4bc917dbc03c65f5fdd5dba6e56e6ae60be9fca26dc6155e2374e9add078ca83f581f114bdd4de1c2e1d9e24fefb6d934f25a65bab5aa2271833abfe3c29e6c03f58d73a3b847c77cc85efadc8bb8d65cee83b7df06e8ba261bfb894ce3a2c3dc1b522c3ef066b3f89af9827352674d01bdb5af10613a1e6308b33db38f01da75a733f3a137ffbfe758799d68c29f0c3d5bc36f55c0c70c2eb3db7d1013f10e92f2ed2a5db394136ec61e5e17621395661fea262c8a9cf34782fe0fb6f38b2d221673e77e202e0ecb9efd497cc833a87a2c2f1b6d5a096d0a90a7f5b4675ddbfdf7057b4750698ab610e7c3a80a3dfe1fec0b96f29d1538de3d5e86c777103f5e8c0bb0435e7ecb48f3100cfe4da1895f4be33a25484ffa73d9b7c889f6237fdee743c74ae0f6536600774f254488027a45783168d6ad0307e8cb729e65b15fbcffaeff4463a9e5471bdfab655299f8bb9a45ac5a08e4de566b26225a00b0410df48f8f0544a15705722794dca9544c8cb1c7295ba33534af8d022a5d09d714ded307c6ff5df5948eabe90d4f5706c467578d06ee01e070c9e265f999099a63d51d1e44a6d55a9f9bd90c2fe67adf95c736da2fb2412b76d80273319eadef4abc94effe198798b1935c29f911fb044e07c68ce8515f01c5915f01c253ba5a9072a32f4197824038c4f3fc22dcba176ac378650bb66461790a9e19e6cbe7be4114563bf279adfb790430bbfcf80e30d7eaff9deeacfb2d27c96dae74ad5a9b90f6380e3dfabf6779523ba3670cdb5989b035f4b74cf729bdf29b96d6344f5fbf52b4ca63a872b1630ff1c920568bf13bdf3f22e9435cf00b3a66adea8511dd9bc5f477692d56bbe335f123e7121f6d7e784772a22df52f3f940be94d97b5d4b57d43913e407757f774189520b63142690d35191e1dba6b88b467e95d4590978add847401854fe2ee944e62cc9fb80db10f7a117d37a21b79317dac57c6fa46092e1ce90e76fac95f0c9fcea3044b13b73091f2079b982bc7d87c90ab387c58b7438aba26fbb30023c678f897eca6a1aeeaafd9354a5391f58fe51016cb1621bf2837de9282d8f7489f4443139908ef9428f6202686c725c1bd8e99a9dcfd63dd77e69fff1ccd412beae97b3fbf5726c7f0cb833175c63a1e4ce8d0de7d4dc0718132e1deaa3ec14f8ee31be4d8ba3660287d41274c0def57ef33905df66ff5a26276a3e0ac0fad131efd5d529810fb37cdb14435d7239bd4a8a9538219c25c0a1a6b23a651bf9739b0fbd222e3692113d192f6eb46c90ff3f3823165ff18674f9534c51fe0adbd7098b720bf86f18dbf7635cdf9907d832389601bae9804ba6e79fab75635a80183dd85827496df3b04fb65ae7aa2ffbf9e96e2050da20a78ac7f58f67bee4d27a8eebfba4eebe731e08e41c8d5d6fdea37795f12f025a9f6594d679e12779d9e582ef02eedd2c311e677ba62a574960c7f5110f7c9db458faae1364a9b0bebe9aeccc1382e86e97c57dd7718b0c740cf01734b2bea2abedb927cbd8e8e6b0ebca5be1da909d29651660b97679a66e1901de156073c7c5ada9c391d6e4fc0de943eddf441d7f959eeb5ae072674437dbf4630b9da36ad6ac111fd90f12e4bb92a551217b7a0adc52c08d4566b9a91477a1227da1f449a463bf6df200fbcfa49f5c003e831b1744ef56e087c063b8d168a79753e74c603d93484f1394a8ae277821bb1a0237e0cbebd8e784f15c87f54280f7f4a9fc553026e80732f7af9daa915218517c60c7a0bf8452b1c5b1a18fce02c0e2df85705d2931755db6ea56f252fa29b0d1fbcec82f92fa52cacce5622bb53e1444ef4ed0dc9351b2aa55721065d036354d858af0bb7c1824672db4777e7aebebdd5453242b32b4af3b5fff227d53fc58007c24f7b9ad1358a60f7e04d8d313b93a627e91187c6be1e5743466946514a9cdb4dc7b276c2f69c0af2c30439c45b31cca8f9d89cf82b6c611b52f407a3e37587fa33ab07e7dc4bbb0e1001706ad7fd04301e3b9c58e2c4db39877cfdaa7bb927be7c2b4dc955cb00db82b5a5bf0fb1017591af942ddbac68a30267dfd60eded26fbbeed7b9594e869a4db058d0d8f310e3adc0eaec6a9c131d2ae86743bb44b6a59b070cc60e189940b6b14ed0389292ac8f35421ee7a1bef416123615c4774a631d1d5a966711d832577c9fca7a7a648577cdf29d80e18da1f1cd8262ee6942787b6727b4fd69f1bfc7c1b9e6d41add7c09e4985f2e13d60db6c93d57b1fc7129d6fd6a0c677309ed31ed620f6a70618b3ce2a8157bdcd03929822dc29fe7d674c7fd671bac15983e4e3e37915f57089b4b9555d49c871819ce0d3c50ec9bb31d13d4199a5ce59262c6316da1a9dbc6d8a443cf7e2b650377ff241a7185c9707ad5f3d24bad823d24330966b93177fb7834502789d9383ef2472ac5216c61730ac5bdf87fff86eb4af9bbcb5865f78fad30e0073fc890be781c85ab77edcb78e2d023e7fedf300bc797c8fe7c13b2067634d3a9b830a3e1725efc7a0bbb8505d67ee363977e3772971b93346df2139ccd4bc57356e448b9b3fba1f6a0dcc31562607b8ea751fdff96a7a42fde6dabc08bde4d87568517aee6da40e8f9ecadff9b2955b6741bd3eb4cda00a0fb72f466b3af20c32df99fc20dfa0af970c7c0d41a7bf62bf1d701300ef77879d8e755a2728a698630ab80ae76f9b13c67766567983eb6aa964d5c556705b509beb7d3dd207f3fc51479cc5edb3f07ea107b593f5daace33c3e5aafbd395eb867de7fd5f1fc5ad836c2f1fe90c0398f8a1fa23534f0d10cf2c1216f3e13faf8f480a36f25685d0e31ecedf9dbb2e697483a2c6a5b9de618636f8e3944902d72dedf3c538eedd581c43ea835619bb2639144dace99c2fde3267a6296dcbbd5e7fc64f3844fac840fd6c4473e248392bd9aaf9d74293d3af4fb465e431373ff675f8da36072091f022eec3827b099ff9e0f767ee13ec0564532b93e3bef0f3554e01f7b6979dc8fcb87f734f8b87e93efd3f92ca5f48864f2842704a6cf3d37c471ddf5705cbdfa7a059e1d5fb03f14b08f7bdf0f78ec88becff471fff2bdfb1a0c7a1eb817ac069f2a58dc5de03a1bc6841bbc4ec881374ebd1cc5f9dc53af772cbf2dd0efdcc04a30df303d7f63fc44a8c8088f6f948aec8a76e26bb5337cc721494f642f582faf56995b02c677fd0f643bb2af47bc0b2eb2837f623b18cb5dbcff607e618dda1bfdea7667e65f58cf8b6aae8afaba7095d738e8b06e3fc07efe6907198df6cb36b1de770af79363d0796dbdd77befea324508fb32c8e8c6ef2728c53fb8af5921b2805f9e59e59fbefbd2bcfb8963b8cc6132da062c935a2629512be7dcbe8cdb1473ee7ca5b93351e3fab6edbd0b0af65bf4f66bd2eed7b2b5fd815fe7a3fdd1d3077a319215cc7b8f2f3e79c85165a70d3e76532794f4fc3be58e8da0964752e2ea231ffaae7403beba045c90e7d8cf56fb64152e837941364b7cbdef0cdb71e36e5da136621cf906fbbb19f3362fae90961c01b2bd84f93e714194a1cfed38636ca53b8e6fc9f12129ee5e35473afd1317803dfbc405d905c756c0fec435f61317db57c14bd0ad8b82ac79e90b2c5f915e26f5d65404b5a9589f90b26e9ef8672eb8fa42c97f30af5166d7fc39f0f79208f8331fdbf13c1028e91dde3fe93dbf170b1d60d4e1381ece6f33568d1ccc21a692d0f85cd28667c48ed2ae929ac6db492b7b9b35d4ca885d79f23f88dd676e83315ef3cd61f92a35fbbc9639507773ef637a6fa968ee54d714cb9c4e7e38f1353595befcf0d1990d7bed68167361a3bdef8c3dbe1ef308c0d8821fb996d7b5ec18da93cb977437d1d05abb72618a74d5405400ffb73f6fdd5e2cbbbde8816d74f5ea39cbff1bf7628ba58c633c23ecf5e063ecf556778aaf258c1dfc03d9dbed33768ef7d92fd738d8ca744f67aadb4292626f6d1a25f7ee9459602a3cf8977ab20beb199daca4b9c02e6dc37ee3826b2894dc09f2239b7131c91e2f7e2f97665de70890b88ec0aaed42746e1ea938575a9b7a98db37b6c91ff99aae69c3d389795aeaf76d0e778e85369d608f9ac05136d0bbc0c7dacd7d8c6cb537e357fa993b1a8b3127527f5f0feb5bfafab1fa21df36c4f430a61996cb6ac331071cab803742de7b32fab6db70cf0e96d1316a53a703b6b57ea941d18e13939ea05ee34f62854817c1b244f1cb91dda97eb2b6bb187c13e309f8466e8d74a6b8ab0d52fc746768031c7064b3d53ee35b1fc3e588f1fcda7e0cfcf5acd6f2ca084a51b77d96ba4453ffb24febd8450ab52f15497c12eb57850de0f6e13eb6efe8df0b186f0ffa6bbfa66520ff74e9e2adafa541c59ea9e09ca8412c71b51f61a5d458078c8f71e437577ac40d7173483eb6cff2fc6d35c59c0fe8ec62a79984f629f089205b89bed5eb12fb7642c0ac1ef003e0fd4eae46bc079565d8f101fff681dfbbf5d1ac301ff92c7edd1c6227d95f5e274dee4a4abe29488603bed6efe52d53d39b1bf8ad5de686e4f39b7abd8967eee20651e604b348d8701917ebfbc36aad1d747aa9123356d13c950bf2cb27f511277d03f98c3731011cbc405fd19b0351ac4d42dea991cd1f482910077991fdfa86c5538dcf73b319bf14199e7459a8ffffea9ef7d13d84437967e7eb7bf4d13dc03d0175219fdfb347f7d4f9dee9cebcd2f518b6fd3d2a7960b3f4c4498abb651c960e354b8e86fbd533955e3b5291e1cfb6d9dce731afba5e3a0c378c93f4e3e0eb350d3a2f8ec3d2af13e2d90966258ef1c333eff8995ff66bd3eb170939e6ea2915b11fef266c346ca304a7d95689904e7b1393e9c5c23c993761b9ca911dea2cf1f736d21597f5f74a846c42f81e7432f81ee9a6117e36bb4fc58d450becf422a9ee4418ad5dc1bc6602135d9ca0209a756aabe4057f37c2b41df6a942d7e03c10d8afb198ac73972d6675be4d6699fcb9e126ea73785ae529457bdb985cdf6d337ae2ce7c8cf45c17e912c93af38c87da206897b76c391b4a67b2a8c4c48bbd15c4fcee4e82f4c322de99fb0b17355ccab31e5ff229d0905d8ac62e24098141b64f1e40ae26ba273edc5d96873c7de07f02aebc53b04fd695ad15feab41931e53ff06b1e053e05075fc0ee78f0127d13e59473685f605f876da3ebf2a335f4ce4d236d684ade9998df98c2eb6523c5b54e1bb13796b1964bc0df8caa3d6679bd24bd1d453e05550e99998ac6ed6848f2df3101f8ca2ce0bf71b8c94748bf947b3cfdee3946d9ed367cfbad5cffaf4196e50d4393cd1cd5266619d53b876eafc6861a3d51c9580af4abf41ddcc8c16f0f54b872273879aa167a1fd7c46fb4052a354dcb8f55a75537145a07d50408e8c8ad7b5aa449959416e6d2aae727ced1aed3fa8132cb74c94bdd67bc00aa2ec88f74c2928c51674f8c0ff47500a15de177285a014abfa7b55500a1eb7434ac5d5ea81a7c261f05af598a8adc138e2efd2610e299c5b65b3568fbdb977d17aaff78413009661dcfafaf0fe21c02fbf9a5e04c59fa27d7554a28c4be89b6ef2d99ef2a1ce607c26f47256b1ee66821cbad57be8f9a8cc2adb3ca81e60d8f8cf9ec967db44a7eb7cf82d7acf2bf4254a1bf9ac4d16b1558ee4618d1b07dcb41be9e6a26b8835962167e9e6998b08ad25d456cc69f7f9b59dec065c40245b333540e373427d4f052547fb4a779342b58d02742df131c7bfabf33a1f7c17c90106f46bd2368b797f2c8e1b3eb6c36b2ae2f34275593d14580db711f83dd0fa9609db38e86e925f6c6ca3e56ea253684d1f9af819734ae11c7998a3c3dda330af12eaff4773745466bdb1f553f18c6b3bc4333a7bbef93ec0e09163cbe4c3e3f8dc7ac4116e74ba8ba2cc624139a5db09ef70e8bd686ea0f6695dbe6ac04f1f00df2de6aaef6ce48a94d0bb6d15ff0f7c2d01d863a165ee2f5d2d5571477a795da70175e616456722c3dd45e0316e7cfed3ecc37b12ffee4ef6bdebb48faf3b2f7c8ff5715d877a9d203ddb99b8097f6e6abc6697a32913ce849ff181ddfc7e3b02c72a5dbe2a18ff03d775681fde8739700adfa2f466ef60b9c77081b8ca619d82df00fc33b2ef810ec0fde482286df6f55129fa639f080ad4887f39a74ecd63f7d93a6ae50fe6d9c9dd72d6d765d0797c437bdc9d147383249e6dc54aec7e4dd7799ff00981de1df7c779942302baacadcc4837c135ce80073d92256eb76f2007fb7599dede902e525f671beb126321e23e7fbc77e8db2189330f706fff58c635639159667cf7ccc3a2ae83aac4b39edba8bd9a9d3a1ba45ff84d2d50bb0777e615f5f309d9e9483634f2c099f015de9f484febe60672cbcdd393b421b2e3573a4dd2d34bd65eeab085621b727c34ed58c3b2311037b6ef6cf40f6a759a7c659da8d7e9e575a297ce3225c4b39cdb865ccbc6c3dd05f9cb670292a526498b9b0fdebf3aa4f68abc7bc68ce08202cbc907ae11901b44cd7d94d9ea27ba5662a7f644ba80bd6e6883f506f67260257d6ea8b67ea7e65472717f6e0feb8729d29da17f219bae291fd8d75a2fedeae88767435d47a4618e28cc315bf3b8c31e83391736d7aa1ebfd8aef366b6c98c061c20638ad76a9be74dfbf61a8db974c1fe2ad817e95b7facff547fc56bbadec3ad6e94d5b9c4e379c6b8f0c379005d426078c6330f844341aed07d6768172e2a5227c9308e9482cf76c036081bae42dab7d9f86693302624d251903d62947ce44c3cfc3b43a2be5e6b3ed0c054b3c04ed6a9c3ead157cfe103bbe522e592a6fe0ffce5097f6efc36a7a0bd17eab49abc22ee22c018431d047021231ba8c3106c7dc419f623813cf33b79b61a9f8990a3e13035eed367ba2b83f6248e8735f36a2bed5e2140166c88acad29c4f9691d7ed5e7cfcd2c838f1de0e39033cb942b15d62660a6c01e108dc2b7123de382e2e2b1647648e812d9018dfef3f6a9ce7e0adcc9c27702aed6bbf3a0915f9837554f8ec6ace6ee049bf0b336b6ef1237d7b4c673c1cf098ae868cae08bb4972929b2f4ad91d5db73bd4786fa5abb072cbdadffa9f59db11cf5bd665cc166301b3c58aba92fe8d6e21ac9e20e17ec331b85ab7950b96064579da5db31a15327005e3bb4bf672eab3d71e743fcbad9075ff46b7964714d68d3afa6f6019f85200f329b8d2bcbe033dbd83f79f88cf9655b8f8fb6dfc3deb3ce3ae1b1f48d0b8abb13414edf7bd3be9e1f04b5931619a8d9ce9c091f235da49713f6e9fab1d9987a18ab80279cc922b04ceecbb5f7c9bd1317fc007a896cd7cfe7e9907ac1e39ef0583ab79275299a5e69015eef576df0efbfb259b924beda257a8f1f1f0defe22d2f81bc7c09c48d5c5a55ba129355661905b10d78b5b1bbb9b5ce736798c3cffb9ed0a5a33cb6bf67df5cd1d9d8ef075a63da440f1c2326b6894d8b1b17c9aeb0935dd287b2abf5453558458c1f89899ca1f3a26b5384eccfe723a5cf3a1befd776b8b892c08696aa532aae346c5baf902d3cff885f15b008baf668e879e05b5561cd423d430f93a1b3816b5d3476cf7ca79f25b3d82371be8013e9a51bf883da71c080dd00864da62f8900e2b3497c7649baf3596e2e34e83a701eca6f1e4b9f6daa88b970c0d1fa3e1ecb575c6ffba433456e99319c8fdb08f4d367e09c653574c6f79fa10f7207cf57f0ff6fcf97cc65d733d8b3cb9478333126a7a114fb41bddf002bff132c0e730f9c93fba69f658179804c9d38ae5a1b1af42c5b39a5e27911bb673975278785671e2ece844f5f136c27b5b18c90cc1c4af69d35e8b4be4d69f00ec53cc48e720ae0d92c5d1ecd14ce6888a926535c9fc5d2a5adad498ff5ef6e123f59986ff5f24a75df2179a7c4f24eed70284ab4f6403f5a730ffe940fc760e0833fe522abddec647ab3139db0a8530ad889269169ea97befbfe6ffdfedf6a5daa5d775b9c3fd7e59f6fb8db073e65b4fe6e1eebc74ee0a7221b8dfc3d480f8d9f9d60d1e5011a74c2ad30fef0db066afdb14e544d6979f992634e9ac6268177a54ee2814de59952a72b35fa5d89ce29aef5afa88fba56ab8f356b06fc9bc1acde1f3af834800301e3e6dc1d34b6f5fe72027c8679a6acd9a64fb4b1ceda2fd1d8bd828274217f27b0d39bc7ea53c08546f3bbb290eca804a5606a7f1a2b28c5e6a33ad7219e8c4e28c6f4b20f90cda4a53b4a7b3228dd13d03e073fdf4b2a6e56b4b08ea0c615fc43eb28d399b16d38e47cf698598de1ebb7b6b75ece1237a1af4a2ca510536bf62a33b0496d7173f950f6363ce0b6326be544cd8186ec50f091f7fb866c3664077226879fbf46efb8d0af14d2dbc18f913573f5297fe36a7ee14be22aea05d857dbe025386e0e84bb919ec492ce6df380f7a632eb7cc5497c172756294ee489657867dbe46e4734df01ef3ac9e1eee834d2eb4e5c200ffdcb71d1d43f83ff5a7f7c1f8e5bb36bc299703777e2f936e5c5c04135fc2d30d9e919d9a05b2463dabc73d2f9388e357bc635a3f40de9a06e953eebf5d9bf8dd6f4989bbb7f1fb621f5bdb3d1cf4763566dcf57b0ddb7e7abdfeef124cadc9e2dbf8d528c1d85eda6272437ec8d1eda265f6dcf4807c0f3e05669d9d9fb74e956e91dadf561ccefd43f07c2ee3c3da0b6a0fd7cb3d9359ccf2a5a6f139dd89e6dfacd243d388bbb7c5b882d31a7fffdbf7ffceb477a7c7f3d5f7ffcfdfffdd845a71f7ffff8f1af1ff23179459ffeeffffdd78f5370f56fceff722fc9cff7cb250a5effeb1c9cc3e3cff7e8bf925bf1f74fe772b9fe3c66d9eb35fb79bda3c704e7b70bfadf7bbd1e8338431fcff881d7fb8f7ffdc882eaf5c7dff3a7e9bf7e2417eff5c7df14397d9ecea7e494846ffecf35808b298222ff8ba4fe6b42a8c4e46f6af63749ffafd9ec693e238927f22f62fe3741fcf8d78f20fb3f5ef0fee3efebfbedf55f3fb2125eb77cbdfff89b7c7a7e7ea6a8c9bf7e48f01af269fefcfcaf1f721c9ca31f7f53ff3f7befdaa428b2ed8d7f95897e3b1dbbb96877b3df955689324275594a423e71e209126c01136597788188f3ddff41a2e6d22a17ceec99b34ffc9fd913bb4b2593bcaf5cd7dffaf6f9d368b5fef44f4de968df95aefaf9d32c893efdb3aba89f3f99f5274df9fc6912d56f523e7ffa1144ff375cacffaff2e99fff47f92cfefbafcf9f1eeaae6ef2795837fa5aff51bf7694ef4ad7a82b3b9bfa175d5394ce57c530fefbf327fb6679d538953f0ff1bf3f7feaffcef2bde4ad883facf3edbbf6b5db3dd5f9aa28df94efdfbe2bfffdf9d3ab5c8e1e5f87cb8d186f8f2f9b75ea28c6d7cf9f063c58340fccf94afc1d6fea7d233ebe1c3fd613f35fff5def9978fe2696a15e984f5f669bf9dbe64bb45e2d0edb55f965bf7e5b6ef2209c7f795b1e77d1a7cf9f4659be7e2b7e0445fce99f2d7b4e6ed0b765f3f5711d7efae7a71f41b80c16f35fc4afbf249b5f825f36455024e12f3f133edffcb28f9330fe2548b2cd2fc5fa976415f26d34ffa5d9bac722c9aa58ff922f17f3b74f9f3f4d83b7c5bc684ec464bd2eee1e8b1d1461fce99fffe7d33f3efdd7e74faf45c0e7a70d2abe4ce6c166bdfaf4cf4fab75f14bb2da1401e7f3e817b62d7e097641c203c6e7bf24ab5fd836e1d12f6110c6f34f9f3f99eb41ddc7fabdcdb0feafe8f33f16ebba9566fec453307b59f0b6644131df7c6906f55f9f3f3dce73518a6d7f26eb4f9f3fb1b2986f3e7dfe14aeb3fc6dbed97cf9c983620e7f5854492ebeaf8a2059cddfbef064531c7f981fc4a7b7322fd6e70f5f82e68dcd9730c963319fc7ef117c186d02f9651e5e7e8db46e5735defdf0255915f3b755c0bfcca37df0166dae8b719ee44512ca5fe22c00dfced5df8255b42d12fec1a3cd96157c2e1f6451577ea9eb816f61077c8103d8c4817af14deb7ebdf8de5535f0fdaac98283793a7415e3f29bec6b1684ebaba25ff26552efc4f92a5c47c96a013e7e09362b157e67c166feb573f14bb20ade4af84b3c876ffb92d6db177ccfe759fdf5ed6dfd5677e467566f0ab00d176bb6fdf933e0eb2ff1fc6d7ef9ec7a8b620fdbabc359c93778d17cb968a6a6b5cc974d1189298e834d7cfcf3257c0bf57af9ce2dd62729e00bf853986fe1d79f59b159bf15f0a7d5bc28de82700e7f5b6fc454c29ff235e7f0fb7595b7f94f3e0f0b9e14173f6f92d582cf7ff264115fb4ba293761c0f997f9611ece57bb8f1e6d5762079d7f2fe69b82af2f46b75d6d829ff3781e4462dd043949d65f7e6e9abfc9fa78b89a6a594ddb9b3f5f58b2901f8bcde9f3f160653503d0fcf9926d7991e4819834f1c3bfb6eb621ee56fc9aaa8e9e4a7cf9f56f3a2f9f74b5c1439f828fe39cdeef9c753f78fbfd5242c7f5b0bf2557fdfbed54fc46aaf376282048f24fa5efff95253dde3f7e3ac8b4f8bf9213f7ff8b229574550cfdfdb765534c3397efa122ed6e0db793283629d099af5eec971e2defd5e333b9f3f1d37d4a6780bd7622537c55bb25a8847e52a3cfe91af3faeefa7cf9f8efddaae92b06690ce9fbe6c8b9fead7cbefdfc5d77ab93f7dfeb49bafa2f5db97c59a07abc53fd66f8b2f872f27621f07611c68ca7da5f2352f555de9b694167fead3756fb9138dc30a6fdf76f3d3c581948b97d14fbcc4fb3b0329dc32e27a0346ab4dfdff6cbed9048b5bafbbd8e28bad3842ade5f2b7f5a16c29a87d89f3205c22a5926815208fdfd6db9b0bb529374792f8d1d3fa247ed9ccc3eddbfc0b4ba2e46d7b733645d1e22d586d7eaedf32acd0690fd72fbca7dcaa7edf7f7dfe349d6f8a33c7b5da72defc7466b39a9fec755477b2969deee45ced20599d98c1dfc31f9b6b7b1ddd57facb62fd8f6c1d894aeefc6d93085e53fd87fa55087482769da5bd7b59ed6b39efbf3f7f8a8222384dc49f2a447e09f264f38f22cb392e4eca6227a952fd667c3f89959d5a06fb409ed4be4d35f59ffaf77faaea3fbe1aef25c99f01dfb48892baae7eff7e16255529497e55f4aef2e74a9252d2fbf655fda668caf76f3725c9afaaa619ea59ca335445fcef4e49b2d3a96570e39b814a92b7db78054b701225bfff4f8b92702b5d8b9572539e9f3792e3c7c29e94e49a3d7e14e48efbe3529283f25953fa8a5234629724247fd3969bb4051cff3395f934d78b23c8f66c31ca06fbc0b3939f9ef2db8ffee069aa3833e2f60623335618d9ffda4f1b83f6c83cc42c0b8d51e66e47492f65e6a00a2b61d0d9307d549c8c366372c8a9162ba28c76d885895a306dc27fbc5a1b61bceb8f7eedaf8a6f91e916a1798823b3ee43cc7df222fad04f0f02a4f8c722ff36d7279c79bd8def4df8a86f555116160218b6febe528dfe62fd5d1830cdc680f7e315182ecd491c669b821163495fd5654094e4c762bd180d3f6a7bc2c3c4327ebeac17a3c743e113be05ef4c99d655eadfa8375ad0ecc0e7fd5ec64cb73326ae4649a7796fff6131d70b850ad08281425f1f12df73726acec4b8eae7a3c77d3c7e558a91a9c601e92c4273b0a2af0fc5f855f9b59f3cd4efb81ecf8a9a463af67a31d566e776ea72a357a518bff6d6940c9675bf5836d0467da5184f3bbf1dcb2c7e98933c026b45b5c9ce2fd5bd4f22eea9c6b9eec59884b1f36111acdc2a3279367f5513ea4d744ac4bae762ee86d62e7c54127f65d57397862bb7f093d1690cb2ed54f6a519ffa15ec345636cb68d51c65301f056f74b35f6be37598fcc38a7e68433b16fac9c99b3e4477a1060bd735338c47c6d1c429564a4454ba6393f4373a004fdd1af3ffa465daefe5bb773d19f7ace98b6076d5b653d7e5fb7544646706e657973f9eb0ff369716a6fac5b6f63dd3f8cf58936d684a37c7e726a1ca59defc29123edf6c2e1297089ef58badf35bf77be8fb5a7ba6f9b607a352f62be0ef98fe4fbf7b176c86ff665e8ec7dd259d4fb9f79bd92e90fc6a871f64c7e2c072faf53d8d6fbf7fce81b3bf678d1f6f7b176b94e3ffac632f0fc5ffbeff79a38070244fbdd3e1b9491c95366cec0fcd66b63178c0cca409bec22ad7339c7a7b3309ce49179e0d7efc4cf82fbd3d3065b5f8b77e14aecd777ebf7c35c1c46265ffe78b5e2d05c263f925e6ff6b4acc7b7b6a7f81c5c9e551188c0d9ea65517f7fd7ce31c8efa3358b4c41d7aef7e1a95ef9419dd3b3f58fa5bb8d865677f424d6f7fb589facf1f22a8fcc78471ff7bbc85c7cd866d3a7c5afb3fabcdc55ce28a37bca9d0d4a3d77b6dcdfee6bfdaee1e8fdbb441b37e6eaf1a008b0f60fcecca8dffb362f7b4dc284d787ed84749530e33c2c7b0d2d7fd7fe4109afd7193ca38fdd6ff3f2f89e1517ce30a3a16afce81b0a7d6caf37cbdc2aea771dea4dd64c7b59fcf4947a2e96c8ba2d7fac8a6fa37ef7957a8e32e6bd381a4e789875fe48dd5db8bab3cdf4108f8647a7fb4725f1346be393eedb28e9adc3cccd7ebc5a703cd348754bd6ef193f5f47bfcef5cd62cc2d1eea2fdb991eb961b66fda6c68dbad79aafbf4f17e1f16df46a6bba5fd0fd7acae77e407ded13245386bb59ce51f7d230e5793dcd7e4193dd3b8447c16f7fd9137b8b8bf6966ec04e076cd6ba4fb5d4d8f7e2cd6dfc79a4812f06bfd5b309c14354d9deb0567d9c4f8f9f2e71b02bf049b249adf23c4c97227294ed3bada7f588afbfa67db03a5c4a4ea5f956f86d2f9aba4b86fdf75cde874bffd5b525cb3047f4b717f4b717f5c8a9307fba6185705e42816a58738d4f892bebe63fdb7bee737acd2e3a1fe7c163b42cd3df9c87d54a7181321b25c8820c1e3d3afb3e566e10efcef636d7180cf22b27fcf0a6603cd538d4de039cae8f21a16eced35bbdef84583fe083165f4eb8bd73b613ce54ceb7c1feb822d7e57ff77f6e1c8361ef21fe9a10acd011401856854b3f8feebe98a1cedc26cb38bd2a75d34f477a30fe78dfef4b4231bd71ffd3a7a3234ea595a405cbd6679fca9ec3b2a16fc81fe04a49bb172746bfc9cad26e5fcf5a1668b2d96d1dd5fdd1fdfebe5e17dfd39b1e9f18f141767aec522f96ebaa1de22116c8e199754e04b1965501a9afd6a2851d2b41710b7ba6fdd8e9fffea393afb8cde354f271fc7bf7aae52ea59cabd7daacbfed5f3444d777f677f9ea8d713713d2c73fef2f5139898a45bd1d7bbfa6607c411b85077f5ab1691c8fe52c5f2bedcefa2a3339d5791e9163ffa8618eb7bd1d6ddbc13bf49378eb8f19399bc12aabcf7e25adda79b6dde56a718779e4563fa97ef2fd2d5eea60bc9c349f469e630ddef3e5a83b1ee6eaed41fefca89febe5b831be77539e1d1d2d887d5f9dc5fabda54d6bf3586431eea2fb7555ebf9f46ac02ef25b9b557846fe86ab918a59dc544e3f7d187bf60bf4f4d63f5bf63af1f7654b7ef9aafa94e79b8a239f5eea3f33ffa86fa5ec57755aee9f73bd5ecc7e744a833ca8038d5ff8ab9d37b25d384aa8b47de7d73381b5a3b465c25305d352cffa4f37ab93febbdcc8f7ece27b542c35fa7fbddd10c20cc1e9474973f3de5cf571184f3b7e21e3b2f2877521174b4aef29f5611687f9d8ae0abd1f9a6a97f998ae07bb7a37eed18dabfa5226896e0a42250bffead23f85b47f07b7504e064dfd211383c5c4daaa33a339e3c198fee80bf4c5e7bc2c4fb63b1fe2ed499fddec627ddd58f578bb304f2b2ce8e994639f6263baa451bfaaa9e4cba8b931958985ba74ac24cbe0a86358ff1ce8c2bcc8e27f3ed49b57f6d3a0d75ba1a7bce3eccb8425f8569f6b76b7366a45bb1c8e198f496be67bd8d89c819535093178d6cdffbb06d118fda9864bf3332c8d9a5397b1b99839c094c72c1f71ccda32a8f32777bd619bc332303fdcbf14e389acd1a73f25098702f4c4898797674a1c27e2ac6afca2230dd980ad376378e920bb3717d9f2e03cf7f27770813b36bfc94752fc624cce5233357437d92d3d5b2f033578934b75ef7bfcdb90d6f7261f2169814afb77550271eed039ee2c4f3ecee9357b8380f6166ec7fbc5a02af609476857cddcabb68c63bdee568ba00659af504fc4c9bb9f3bbef594a409ccd077ac5a23e7f22fef27adf1cf76e64728599b3f726d4967deb936e1a984629cefa7b3e52e820474f355d7bf9c8b45bbf7fff6329e49d067f5573cbc8e4d9095774648a184e4efb3d3d30793db684698612ea1311f32df03686d6dbc8bcdc1fe39a0f6f31a5df633abf69e6266a1c6685c01278a7a71c16df46c3266ff9a8df1d9c7559c333edc1df7da709bd99dfa3c9ef688e1631f2af3de3e774bfab9fbddf7b1fd2898499461ae80395e913fe7eac715eefb7a3cef223f3f0716f1e656f5398c437a306ff61e193ee72644e78a83965e0f59af3fb7e9e8fb2ca4d73bd30e50a3a89987a6f9a8fff80d9fe643e9f1c65159197738a9adb9b3e3e769fa8e7a461c6f7271713cc447fd3f48a99dd9bf17c687a05cf6fba3034637bb9b977ea67d818af4cf122ff4bab29fed22c2ecec57c76b52f5acdf9375c144e26e71bae0837ccd1e27dbec03e2b0e113194f7cfef3b1b4cdb7c783e237390b05ab6fc78fd04bff3c7d76ff1eb2c73854b4593a385e6941c966175ef1e9dc40141dc418ef376e34c897a37fb8fba85dc755697f55d1b0dad1dcbc25f67436b1765bce60debbb5c0933634bab0eea4a71b1c7451e779a0b1eebdfd863e29db79f1dcf46cd9b4c4aa6755735bda1c3de2e205dc1179cc6f3bbce493639e5216f3b9bb769c99df4e0c7f034b75d5b605a98b33f36dfcb260eff0e7af267f6794a3d4ba39e25f8b0931bd5792dd2fbe9daace64332b77ca9ff0e7a71642eda5d776e9f95dfbfdf8fedbf6a6ef7cf18c7f93dffb37be891999cb3d5e4df5e8f17ed90d7fcd97f6a3d4eedffbbebf1ee3dffce7a08fee0e8eaf4a1cbde8777cff7b1666d98e6bc859ebb8b3e78fe314f3a89fd95fd310fda60d72d443eb6a99284d9601990efef75bfe21dce4f4f13324c59cb8781c997d414aecb4286faf16ad5f77435f6dc6de00d544af87294f472faa824f578c2525559c60f117173da57f6a3a49706a69b069abbfcf16a9d3fdff01d6830e04cba0bd3dbefbb929d447f3cd53861ccfd3a1ad4f20ce521b0a7327390d02b7bc871ed3f949f80db6d31265d1eea42c6f9689e6a59efa379ffe0dd714eb558baf1dfd84fe1d0827ccc5e60a20cf93eccea3b66b408c88b31bae0d104af5c9fb7223cd2933111325d72bca32ee8eef17edd87d90dbe07b8f75defd92b39f87fc31e3bfcc1bd74b86b2f3d399b40608bfdbfb797fc232dbcda4b1777c69fbd973e2e2fdc9439cb847bee9fe9ae7aa583a4bb5a863886b29cdffda36f9ce4b8ef63ed18d6f397daa2d6ab9fc9e22e6b142c79b64729dfd5df678fd2fe747b54f7af82b03154c5503bea77ed6e7b94f6bbec515d45ffa6740c45ff5df628edda1e2596e06f97d5bfcd517fdc1c058ff64d83d409ccebeff8c353fca1b8fc9bf8c00bc3db39194a13a77734e41422712c54bab71ba6ee8943c415f3af1f2bf95103d55f118ff85ed17ce3b2fe8f1aaaeaf677d0190b8b9b040c608e385cc5173186c9a82d36f0c278010d48c211eb6387d15683d57d7189c7335eb53ba8be335cdd60a83efeadd9838d01b766783fda7f7f204ef11e2356fbde8e59e6ac99ded0878f19fec5e1caa9f7bd314b280e1e7e9d0aa7aade8e263d2df084013c3d2590f80306ad3c323f3468214c6efb5cff21c39688a1de2cc24c80759f0c0739f5ec6bc6f94f99f33f60e0c285c80f631bff4de31798ef93535b6384de37c2ea6b2fae050b6aba95af5bf91100ffc33d7aeccfc7860af01c3582b52be94e068046207bed8938ca1f7d43099077fe2163d8d9e87669e4696b0b57dce146b1a69f37946260fc98f2efdf328e7d64e4721b43689bc2f2d4b72be3daa53131b9c740871b306ec56ccaf9bd61b46a339689337fa15c7c47c70353183276c1adb3841980ef309ab51a68ce7bb2e0f3dfb17f85d3111e6b7dcfbcb719fc5083ee9d63bb3424fc5e65f5e5fe7d11bcd73d86ddd6337bfb4cde34ce36cf2ee8f37d0a9dbf95d8ed4a6cde9bcef6c2695ffcf6c1dadeb8bf81339152300162ef2e476673be457f54e3a7e43d6ef1cf97ef0e4cbe0acca36c78db68b30f33405356bd927a1365eef5ca807495d190c78cec9323aec487580163af29839d315f332e82339939d852dd8da9362bc86ce04cfba30535078affaa9e1c31e9cb4cb547695724b5392631f93ed69c1dbd61fc3f8ee7c813e0e75100a40f8f637d7d3046fd10ede39c0c0ad6efad99995723e17c3989c7e4289f73b1eec98f247c13e0e5a9d5f589baf96d0895b42a8fcca7fabeca7f2bc3f338ac3d726f99939daf37c96e9a044aa7042193fe7cc697bff5f1f5f8edb59bb3accbc3653c13fbf2b57754262fbf61f4f6c45788c08ba175c371e8364ff8a14394d89fc724378d1393315a593135f94781a4a7b3259cc8c2ccd8485975b43826c9fae09c9e94e382261511e9e6a1e7f280bc14f6ebc70119cdd9ed654c1fddaaf7eebe3d9dc7a35121f991f47e9b29c6f3ff4b868606a41f75daf84bce6193b4e31dad68e63fedac7ed38fef721bfaf52afad9559822746beb0bfe93b88a5ff39fafcb37abdaef44bbd3ce0aeb6fbd2e4d72e02621c43991cd93d57d252feb96f9cac719dfb2cc2d5f071367da7f30ce639f6e303ee03c97ff59c3cd599770111404df7d61acf9001fec7f0dbe48b8d9b4d869361b699e51bffe816c03fad7efc657b5a3bc37d5fcde6c03aa7e916de0ebd7bf30db4047f9ae766e870e5d9a5ece43bcd35403cbdf9d6da0ab1b1d55e9a8d254d3440bfd9d6de0ef6c037f671bf83bdbc0dfd906fece36f077b681bfb30dfc9d6de0ef6c037f671bf8db31e703c79ccde6afcd38106e365f02ceff9125ab7fb44a96b0e049c2ec1a7aa7f31ff600d4ff64440a29c275f46fdf75a5fbfdeb5fe401a82b86f1b56ee2dff2003caec1199242fb1f172dff7602fcff05adb92005d20f705caee37ef2f0afd113ddb1d5cbe2c58b78a819057ded9961e6f2d1e36c6b4f675bfbb597cc5f7b0f3413c00c3af59c1d23b3c5f8b5b78e86937d58ad77638d0affb848732ba6a97c9c393bf6b25efc0641d6faca022444cd04a6ffb9cd6eca340500b81999e8433fb67ccdd886d57af1a2d88b17be5c38fdce7edcef9942175fad173385dba327c39cf61f0ee3f469337a12b68cafa327d572fbb2fddf447fbeff36ce683cee77339f8c36f567dadf6f6936d888dfbce6b750177e835fc7c4a8e67d55f475ec3905d30c2530f99656f92acc06ddb009a0fb36f622ee67451e7d5c3666ab49ee9343ee7b0ea78fc532f09c3d3307dde78c6f595de6556d6ca05571aaafccc9813f67dd5d98a9317b3cfd4ee330e3315bbd7c6599513232d83ceb22f97e1166ee969a6e1990eeea391ba891f9fddbf1dd6b4a0418c857db53b6347b2a98197d13ebd957abc0cbf973fab4b5abfa3f87b369b10948978fc939d9fbd6a9dcfa778d36000431ebab3133f98aa5eb629c3e684e1a71767cf77ce85cbe3be9e80e718b9fafddcc7f552be69dc798cfb3d9d771ba00cf95c37c78f9dc96cfca77cfb2f3b3eadd33edfc4cb97ee698e767eabb67b23deddd33d99efeee996caf73fdec59b6d77df70c8cdd1ec6d7ebb2a74435c49e25549f1fd75a240cd63a5f7dcddd46a65b3eeb514e8793b558c7d43daf45440edf1a0030b58a867c435fd526e17ad6ddb16cf68d91414935be1d9303a7ab97af76d2512951be85e66029926497ea8612aa3ca7bda60f9ebbf9911df2b9dedb851a17be3ecf2b8b3373a0041ee5c735de045ed1d44b94b2799f51050d50c7579f5815d30e6a64cebe3589b04f7b29afcfbe42bdd1b748e3cbc85c88f57dd60e39cb664560bac2765c9f99a0dee7dee4382fd62ecc263c5c1509d3ad25f5465fc7e943871265116ac626202f8b91e6723a3d3f2f84eddf73abe7a473b8186fb5ded66d8efa9db2de07a37ee700f6ee3e22874d3357936f343bec7cefe52b33dd2c1a36f31d0edd0debaba53837f53a9b461c3de6c7efa20c2c27e6e8488b6efcbefff877ef4679cf7ef7fb5c53e3308b72961cfbf5b8decab301c6e559627e3fe84f53ef4427c53ee8a9ccdc176126e84a4333931befbaecd3696e0adfb35601e91462fe2efaa456a1c9b7f352d529b1de02afdeefdd9c91c677f659b4efec03d259d82b7b21681c1994a3fa6fbd37bc097fd606db80a8c7fc1ff9f99da347ab1a095f62370e935ece329ab38c2bd493eb176a2ea4e731cb78710499f92acae8bd9c250f87b0ec559100425d747e7b05ef9a16bfbf8ea73e8036dfa8c7b3301b14d4b317e7faabcddef23645a4b949a07165ec4d4abfbe2beb7b609a974c24f49ead6d73c269b9fc160dad98ad9c8ce956f1bcb27691b0792df6d47457bf79aac2f43bded52485cf9f75fcf94f4f7d0834b74b5756cc885b8dccd31a75bfd9fd8bf954c26cb00d35ba0b33e56b98198aef4df86f8fbd2525e1ed76c498b81199c61def1a8804f0bf4d0bfcb977a4abde696e94ae3ddc14ccb30b9af18da0ab89b50f3363159097af93416c3132585117f4f1b5eb04c42999eeece8ea65fb227cfd9da6dc6b7cec7fbd0795c36fafa33bfabe6cd6e766df8fcf4ffbf5f8fb78fad4f90bfb5eded7f7a74ecbde3b3c1fd7f978ce4feb5bd869b89f976a11966a1690437d077c1dad7a25d3a29c3ee64fe489173e89b80bde3b5eaab9af5bbb5033b2a8dfedfb9e93fb4a53eeb761d3a6f0459ddaf928bd63afa761cbdc8ff4d33e3cdec79bc07b2802d328032f17fc2ffbebd6a0e6798bc0b34aa68f0cfb75993c03fa7839df4eea930327fd4561bf5eaf057c76398e2813c04cf5f3db6b2df85d97fed6570eefe6093e3bee4f9a1df2b0af264c9facc55df0aa66cce4fb31897761c6bf3679bdf6b02ce0316ffcfe17eef3eb393eeed3639feb3db5d8dc5c7b383e8ff2268874b099b7acd3edb99cadc7d3a7fc67bd47354319f5dff7a53e5b4c7f59dceed3bedebfbba8ff706b8e2f9e4b7ab2dc8f1f2fda956775bab8fdac39c7e7f19ed7e8c86f5e7e778ff4d7517ce2bccdb5491eeabd8def2dbf06a47b94411a5fe367ed2c8b087ef29d5c53f3893778d2675daec5980c360189b6cf999a5373b2a1d3420fc844091ed7e518f0cda13e897d6d53d8de71bd8f7d1c4fadce5c3bf2ca8fc59ee94e7ee431627fe5ecd8d0adef7f857ab122dbaae5cf090fd3735b07fbf1e1c42b579139488352c83d5772579eb32ce661c695abb2881ca4e66c558fd7e173ad018b7c4e9c8c66b499ebe96c6f0f7b9de7cce2f5d9a05e7106467b4eac90a6238dbe5a47ba30487dcdad428d27cc9c150171ea712694d47bd4fd76f6ff7c5c279ee9574eba389d97d8d71c55d0e547acfc5296d7076ae01de772651701e9a64cb7f64cb7e2c87497b7fb4b639a9cfb8b94f3155b8e6b4987160f75bbf03363175437fb58faa08fd49c94d473aa3171e2307bf9ea676e7d8e9b796efce1be8ef821b3332b19ad9a7de493c9bf22cf516ef7eb41b141ff91f93d38d583eccb50ac71ccb0f9cd9e64f99acf34793d974a60ba059d62f546e77a81372ae8cae2a1167396d5e7f6d638dca5dd3f8f230f336bebdf1e4bc7ae5ece6d3033dad57dbbfd6e5bf3cbf3bbc5991a93d399bad9c6deae42d0065fb144156b1110da45d6a37a7ebd6eab39ef37d7fbd1d6e47a0bb9fc241761753ab04e287441c8de957b64c34cb796d979787bdf2a4e2ad79e91c1572177dfea4b1aee655fd4789e19dbb1d78be7b7f78862673678bfa53273b0f5b5d9ed364cbf0bdaa8695aea934e116a625d84df6424eee39a7ed5b2bcf043cc591622e7eca902efccdbf61095fbb3015d44ce9aad81fd994d4aa67184b63ce9be5c9f2dd5dc8dd0b9dc3e9ba5fdb804ef1740be4ba6bb82ce0abf7bac6f8ff6cdba8d2c8dd57db859b775cf4e1f0e72bebbab635f553f3bf0b1e7ee91f9d9db17f373e063227c8cb1b6f4ebb6dac7f6723db6a3be03ab33bbaea38668791f962f9133a23ad3abb2c4292939f224d83e7d0573a5bb1bdf1bdd9c27e77104ce6ef72db8dd77cd01f3130e1f6a1e671766c899ad68767eb7d7dbd73c505d6e4cf80ea13d15bca7043834c633544fb0ec06b9970e4eb5bc2c5bcf2bb25f1df27280fd177b1ca5b32f0747ce7de96b711e61f3335dc83dea5969308c309aa93a53791f85b54c5c8afe17bec64bff9e3351cd3aa0bd92e9617d772863e2e461e6083070a173bdbdb75470b7956166e8f57d12f5d534f0acf42e1a50b9714b1fb0f3533964743d07e7b65be8dede47eab6d086bd3f5ddcacdb3a66f3a9fb6ecca73543e95e2ff6dfcd77cb1a3ffad5755b6d6373d287ebb1b5d1bd3de40f8e75b075db3be9d5dcd7bc3339207bad97009a2fc61e1ef73b42a32ac8b3c176c69e8fec491b9e0b253ccbf337dbd11d0d8c5f77f2509fd467bd10f7b6e96e03d25d8d3da71b0afc111be3414ad9b6a350cfca436d83ad2fd84b4e97119547432b476490caa9e4dc63771905fc7e641e628446ab0e380fa2aceee43eb9bd2f9d2a92328d37d93184ced147d05f32c96bfe00a149ba2d797b959a7c372697b1e488acda0577a51a99c63eccdc2cf062ecce516c22f9a728e331cb5c441eb67547f28d5a40060a43f86e1b9cab481b94f4f67aa9ce54de67918eecb12a54cf739f0d12e48ed11ded3cb6c4275657c8aa2b2bf74984ac41a84bded88a7dada84273902277b1ea9027d08ef3d632d6bd635e9447cf269dce605971a6fc9b7d99edc13c9ecb4744b9359fdc7e0477583658fb64797bdfa7be06cad6724a4a5fd54a00dfde9e9fd231e1180e31cb1c3ef61a7d5f9b3ce94c9fd49b6db6f3b4aa2df9ce043bd3f6a3cb413b5bda57e38020fd7af4cb8bf2a61333ef01a18d2f701c6513cf86c8eb19d8239e5521774b2af9182b0e35b79ee34dfd99997ba4ff7605fa53059aabd4f3cbfa628d36085f5839e07c44e60219b3b3046d2891e996f3579533afa720e7b604bc79e27b937a0f77c784aad878ecf465ff415b6b9f1c328466025d82d5e43a5f2d8bd073e310d7a794cea3fdbe8fde641d662e1f7b03b5be7b29ba6e23a083136dd7fb794bbddb7beef9d1067b08d3038e2a478e8b534466b24d9a8277aec5f942e40e3f956b43497c3acb87880c4abcde0cd4c3f6572f9377a0c5855d5d3bc4a186ec3302e992fb352002b0550d57986c3953a59ec26ab9977dc52941595dc459227bf101f487bf353e48b7debd50245f6ce58c184990b929aa2baecefc4a1290eece177231b6d706dc816d68713ccfd03b4a7f96ba9124f02c253027f1fc554d7d5220f334c8c0dd9947a6a5fa5ac1313e0dc8bc49e04d52a67184c7b17540ebf26878fbaeb2ab08dc6b0761bf884c8ef47da44bfec9dad4f7b89fb965b842db48401b22b12b4233545bcabc09331bffb4b1d75b33ad8bf48b26e02c6f02d2c5ce7d17ccff8669b7f5854eb53880beefa816e1ba09c04b31816d589f3184ae5411a0fd0795d67cb23e59637d07e77e131157113e837d35c1ea80bb68c74c54c70cee6b6383c98314ae9386b53fe0e0fed831443fe290171db4bfa5983c42c05c6bc61ba29f2f291cbfb629a8c0cabaadf7f2d3f0e2dd63a2722aecdc08afa0cd003d337641a9ee42d345cee9ecf07cd5af306bb018319b09a0833ba6099f287cecb0bc3ea9a2a11523727bc7ae242f78f27dc3799d85226d2d47bfba44dde2e775a1dafd77751a7fc3dbf763c7998235d7a38d90b9db7938b82e88dcf6a2011ab29bf7dbd6efa50be776de5795c073aa88dcdcdfb51c91c0be50444fe03cfa5247b1b2e2801c50f9c19fca3b22cc0639222fa9d4b4415937a67db5127ed4889c4809acc339cd9c3844ed37a303e87f4e094d7dcfe1779d25a8f358593b9f4ceabacad89bec220d3b1fb303b8fb4aa6190556169ca532f21c84eece54404314ff365d3a4039372234c3f8cae7475bd2bb958bf03f4f1d402bd4801c9638bf3488417f55661ed64cb790bddc8b019f5d97afa887f1014f0a38bf6a98217aa0471a8331964c53777ee66ea817ef69cdff6376654dd2a208d3a9a50f701e2ba1a3c6f4286406deebe42c73abb0549580a8287f0bf68b3a7f55b7637288c30cd393c431a029eadc7338330f311d6263e9499e401b6c1abe7582da1ec1d914fa02964d62d456597d503ec16d23f66358c17e51d25dfaf5dda0c5dcc7f49769a87c548fa27695b023f91ce123b6a5e6a01c1335672b17931775c96b807a5e6f83ef9ff0f0511f239317188db6d38fe724d25c8ee867f56729bba78d6dfb09e3c9f6a08d827a563cf62c1e0dad1d72ef5fce9fd75b8599a132c407c5813e28da60eb9349ee934ec1c8607fb497c414d1c13d4bbb68ea93eeb29183301e20ec3870adb26eec671c59db994a41f970e8a8ccc4f6c28be6c3f2c879003e3ba9dff03b889dc25dca7bdfa9cfcd59b781d6492eeaa46136a810bb864ae57d2efa146a1cd385a9740af69467c5513640e87d9c5df4277395563b930978736d5052efa5d5ce441fe1bc5a3ceab7db99a8f9745da712baa6acddcfc1993edcacdbe60bf03cbddd6ebb9fc3acbc9e9b5017faad363f07d57ebd5a07dc3eb8947c80d3d8bb50fd4408c7a4dc6d534c9f3a703c515fddb3214a770f0ea037a1b6a865995520ec5b882f42b580ed20678e26e0cca56332287c2fdfb144ddfb1ea28b7fb4c05d6a0b3fa239660f4bc1bd589e7d065ada78d2601b2226c8b3aa3171361126fba793f4aa5ee56b8686ea2109d0a76b7611640e26f72b80fe3518defa8487598b2f22f10fb08dd01c74437380c87f834cea179c74ec394a98f13da6e7a4e90cceb316780ee28735c824af79f4e1cb9a78cddb7a9505b833dd6d641ac8de0d3b526610c9d6739a8924d1c8ddd58bc1fdbaf6094764129a82feaf7d7278f333035d03673a0077711c33b348584d57faaa42c9200d501dc1ece0c3be899829619b564ef145b7f52f331db61bae5e8a9a86ddb6a5f9079ac9b50c4c412b12ccffc87e846bd3b4217cb311d9d67e7cba6e631fdc96b36b7900b681f3a78fbdf4aaecd95703e1af544087d794386f82a60abc6244ee907e170d9e6f79be6390bb6512c3fe51cf41fa157170afafa9e760fc11f05b6dca8e8995875abc43f4438aadc1b5107253b337d13af6759d167dff4b753d8e3129b62dbc83e23cbeebdbdef7224c87a3c0732cda11d8cca8de4771aee7cd13fa3be48e80bc53cca39555df5df7fa311daee65c0b33637bbf0fd753e55c8c91964ceb007f24eb18237bbbfec55e7f571fe56faef65853b7cd6f0bd86ec078db7caa67d50773dceed704f8e6735be8981e74389f013920b686410cf896759819981f7d09e221d26068ed187185de0bd1a35eac4de459292653d8048cb5d97b08dd79027cc0c9dfb0bb8b4c4c4f3648c17851db93934ea4afa888d7e6e97d7a76c8031df2d0b476be67216b6097608e3681d73bdda50d0dc67ce2a5cf7aca4cbe3fdedb458bafb6e2642fa09e81b5b107f6aeba2c7a0f3ae6c57b2b4a5e6abeb9c9019171cc5e52da40ae62a6a162be37bef41f6bcaf65591fb8599464cfb2d7a226833d30ebb88bc148cb87164b6e8e92b27795fcfc0fc7e34bfb2affb5930ad3ebf561ca0be694e7add568bce5c07fefda7b6aac034f486d78fb9ef61312221d0973a1ba6bbcbb1e7a8f8d8deb717914e6b3f81cfc5a99e1a8afc422f2d7a0dbb037467a28f343b60bc09b71f81fd52cce3a4cdcfa97abeeedfd029020fb379da1de76aeea2cc2d438d67887f4c05f5514c73de9a5c1d186f06ce8786f1fe4f2590d96b3944d8675886d1c5a712e8ba76d474f714f3b322f02c18cb80b82dfcee02e8588d8c662e26bb40796d87d08cbd3d056ba545082ff9d0013cd12e205d4c8f770077c48e0ddd82ad101dab3981735108ac72ec3eafe0baab4dee01dc1e5002df5e5067b263e601d31b6acef4e37a11a2df77ccc1f2dd78fa75dd26de14e1ed3338c7acc1706ff5fb71cc51f5ae3dccfef0b8d03e285ff36c1b660e10b9d357012fbd635e2ff6f59746af81d8f16de2c339dcfba8ccf2a45cec1daf57e232ce8306cfdda97ccb7e50ec7474d1a7b0b10fdde9c71e767c380f999353cf5ad1569fae9966c3be66741311178d9173aa18eea52dcbdc3432273ccadc0dd3113fcbb4c761bdc81c20b68411888373764c2b725cc68534c3780bc8acf005c6095607dc757a0fb9477b293c03e190b7c66b51a0db67fa4411b2cbca2d2919a8085fdd85fb2c22186d9f2480bfdcfba4cbb118dbe747c9e38759cd17718d1ee907d330ba3952419fce7161475a2062a07dc40fcb31816e47b7b8ef35f10bcd1937b661a96e9173aad029deef31e9a663e222733ae1cf2dfd67995d04abdbfbd631811ff68d31607a082ae3813e1e83d743e4880907e7fac3fe87661b8f35e1e02c7dfc8ecc2d020fa3e7c007fbe339a8107d9d4201bdfd780e84bd7083eb67265027fbf138b441110adca4b0feab62b1c714f05e37fab4f63d0be1692619a09d1ff6679eb92516870175ff61e62e0586544b8cc23390a7c38c9f70ee4a86ea0e690acf014aa7a72315acf52e6c91bd9ca97f591e891171d2997259b6d16323ebb4772ece8fa123775909f7472d3ba265c17c44de04d361e854fae6a5a16e63bc4205ce6b15566df7b6dd01f612d5c774b264247510ba9ba03e0204f05fba8bc5bfa5802f5785af3ba139ead35dc5673956c8e5d94b81ecd7ea59ea0f962256b85fffb5f89c1818ddd47cc91f2f7dc23773a2eef078b9d9de998e649dfafcd6f384e9f8a5ed56e426f3b34185facacb98e1252503247ec18ae5bc4e38f572c48777b677643ce1929243ee6b7c87fa8e10197b434db7609a53fa487c8253495d702d0732d3e852d34068addd91f7fe84875ab10fb3efd89ec8c0fbab409f60fafc832df991254562269d4cea4ca8e96a0119d47c6389f15ebed4832d0373503261bb1abc61fe2e4e3a03f31923fc72d895346692fb24da32ddc1312ec09e09c8a00a4da344ee4a1df8042c0382d95d66a5bc7f6a396e56d0c711a243a6297d571e9b7b19974e4d9ed25735c3310166a594c58eefcf0c15f5bb4f5f2ec63a26a82e52b5a50db729ef3939625b57edd4bf2adfc401616370aec6100d23444e99013def24a7885fbf4da4cd9e9a7c157893fadedef99a1b63784597fb21ca2373b01139eeb47847752b0e91382f67eac3364b4a1c11ab8ac5dc027e7519784eca7454cfdd857b30d49c5de459180dad9ea57ea77e3ff771db6226fd1f6b9e13f747b2a5dcb50cbcfc2b8a7320eff425c368c36308ce8191064317f17fb041dcc364e76b051abbf12c634897684c48f652813e089d48bdf7298a4d02699ab161985de4312cafca16343bc49169714cb671a4be78c9b46e1c21b61dc71c75411bbb3039db1390fd6bc55775dae21b4ac94f4d7600330299a7251cbb86ec2fc597b19fd23681f0eab68cf95d86d9208b1eadf31946f7901c43e913aa3431078d7e0be5afa7d27f9f0ead986a585c3a5d4abdc6a4f4bd5a663236731261f60f954a3fe66598f1c4cf50ff8383236d18b2fceb1d3e08d5520763d985a6b5c3fca8001ed8325cb9980fbef60cc61d11a510f943c9618f620b4ca54f391d5a2a13185dce5b134f87ecfbec058e436df16b8a41df5446ac16fddd0bf0b79aa8cc13b8bd88be3404b15cb2fcb8e6f9b118a96aa9c831b85baab9a88d0cf8602ee76480c6bbd9d552d2053228d9902781672d31ec9e6719efc0fd0cf3e99e00bb83bba458ec48ba9074804c568d8f4314fbfa4dbac9edc7b003eae4a88d40fa5f738c4f70349ac877e6dcd751ff03d0e7634e55d340d6ffa592fcabc0ffda871aafc60491f7a6800f24874de0f5aac0b38b08f38995d81a9c9907847f72332987bb858f62f7bd00fed22dc29a9fc17cc4a45f0e672bca996960fe817b2a654159feb5edbeb1400ca8bb6d74e0bd9a8fdd53d229046e3c867525f59bb0cd3bfcb3e099e96a816721be8ca3aea429ee2122830dc6ff01cc3c1ed6f230e6573795beaed4b3043e1e76af493da4c0772ca987d1e9171047d8946719a6cb08c1bde92ae1ed739bd990267b6ec94ab56a3050119f69b9f734ea595ba663f6da05f041723bc29f328b788b0da802f8457c6e3a1b5f62c3df96a5254f725927b983f7017152d48b53660e4e78f04534b4f223a61d169f7300f5f73e1a03fda039604e42b3c1f240758b8f23e5fafd57384dc8bd32e0b0aea0cfa6bb0c7507b94f4715d8739d48ecb9c1664c0e39cb366dba3c10aff7beeed937bf750f483a34c7ecef8f148c8ff39a97617a6f8ffb7283bba5aee3893ce6889de94197f7058d7dcd6d8b7bee4a794d961f130c178bcb716483941ee3921971ab5013bc067227d85da9d300edb5e35eec9fe51d95617cdf33c03aa399d03f55f306df7a150c5f0a2ae2a3109e3c933ef7341b54c257f91e2c22c94365220eb52eb78a703ffac7d91eb4a5fa1a422fa70f7b07ac15c65bfb32d62f13760edc171cc4be53ee7b93356d8d6f9a81b829caa989615d855da9a3a9cbb6e9d316a0ef6a8ccb82800714f1372246fc5f18f68b6d823395f11523882e01f2ba191a777e00768f2c10784c28dd38006c8253f9766c4822e3d4457f8e586888cdeae04b5df5b19d96b8086277afda10eb1966030c4b45057e90a7762a84e7d4a8b4331ccb4f7691d6dd300dc3db9e013f039a0bbf682f4e29e20b6a13bbba1a0f9f0f7bbb10c5ca02b4baa9930b5c7fd4d630bb1a0fafe5734cf7ad3a997f5d671b65468efa734cc3fdbbbeade8aed1c7b6fa23a90027e6d8e63db1f6a17ed5e6d917a9cd4f06f86937ed79bd2512237af0affbe7f5443c7f681a39c37cbb89ad5cf551f8e4f8ba9587c396989669585ed515fca52ff2d0a06b71bdb74e7e94589deb7e6a019970fc0c5fcf61b4c3e3b3ec8bf1a03e8d97fb7653f3250182bfe64cc30b1a846036ee81dde89c7f05c18280fb5af011e1d042d7dc995eec4b947f00fed659d0ced7e92056f658bee611f996ea6e1e6a2816e401e0d08bba14c5141901fd16cd4331d685c0b4887407b543da8f216ca7e6555ab0f64248dbcb507f294eb9cd6ecb5e17eb02ebb4f1087b1f8e6be52842c7899d614dc613d08ca3b1cf177445e07e587120f22062778edcebcc1c20b2ef4329f55074e393f018f755f010c58b7b027eab4dbd088d5b0c150adbf11c8457efa552a6a59b80386fd81e743238d6735c02b237265237901dd47a8fa338a315c86383da2a9ec01935363876d103c0bca73b660a7eae084817f30dd21ce9639331ed20f626d37b1c8d1f92f166e73a2d3e481ac004117952907154524f26f2a016e79ca4183e4ffa72f1fe3139e7456d9565a51fcb557bad7bfda5746ef5f555dd302ddab561463ae60cdc09f59878dae2a7d80172ea4ee431d5845f5a1620b6485ffa8b644c33eec5d904fec0b54c76df5a3c4b4cfe7accbf632d1c10f75bb727f4a4185edec1bee85f9bcc3801bca9a186ab76cc48804128f2df9e6312b44181f87d9490a7adebf92b07a17d0ef0a1a1256a1f9d5a720cf53d87da45254efab16cdbd95681af7e169143da625fda039aa3b2accb595f5d32ed80e74848658c195db98a9f19989d88cb3d11c5cc1ca4f519197b160f876ec24c9ea2fdfbb0aec35936407da66d2963ad04868c89c9564f07390f511c96ea3e222ae29f322b29281f652e86450ac7cf119eb1f2a58d7d454977493d6b83fbef8f80fe22e202874273de501d402a7d20511f90d4df837277c47c8f347996a335d3b1b84c0a300fa31c8f5b053a0b8d6768ec48c5535016697fb0046bd2e42445f4b3cf8fc0ae24f21db6d31d80d9be0abcc91ac5ba78e4708c4a307493361d0a883d3abdffacb7c5749e70de23b3287d5260f4a4f225f675ddcec647313b961a1c076edf7d01315f51cdff550d56808bf9d8eacfd23f7bc5cc411596aac85110906e8e8c7b2fefdc535b6a1cae2639cb966dbc3ce0cb8e75bd681d78f53943783fed099c1f910f00f3bd536de97bb76226ea3b54423a21cabeaa088f63c5709e9986ed8f5e0ce8ad283b26834ce496c2fc93243fb962a691883c32c42d03e2e03913a4bfc5b95ea86139a766005ff7d43f570d33d45eaa03de69c5443e484407a8019e5d33363469e5b1005667b463daa4a46480fa0480dc292ba6194b813139b40b24d6b0f2a57f4e5d07b77511b8f78cdd313f5489fb443a20b74a3d8ea80ddb87db50a63eb5e335f9266fcfef20f9a80eea439c491ff1ab3ad89cede9e3ec7ace1a39e71e5c11f34579df66cd831c502c6ae073b4627a4f0db301c27ff99ae41ba3d22713f564d3f4b501861b01ecd35159d7c1f3303d752edac172bf642f928637f133b51caa042686973603325f24e24ba8c0078c6396a8bc9e6b4c0f67cb78fa5598f1c2c77d8975c07b95681cfb5462e950ddca590b86a33395b1f9c7f20925d8facd404cb8e84b2defc4ec55ad22cdc572cba820cebb1ef3b68991b7148c5e025cc4a68ee0433816efab8238efcb3a0d561276d7aa400e3cd555708cf85947dabb9af9884c370e91f865672a31ce8e73ae30adbb427082eb3add1b75040f14104c3f31eb003a77eca3b1a5ba5b9fef9c65084ecd344eaedad503d245f4563310eb1a95ef720963eb665eacf5beb1cd631873510ccf78dd96c08df26c90871ac30d01711aba7599d318ede7c5fedab7e8a22b609f5d852b3456bdf2a56e6b1511bea158dedae903e40dd4c043315e75c8d746e480d05a0760d42ceee0b17b207f411c0bbd69a26ea987e1030c96ce8d3a77c81a952f79e2b54f6abed42a7d745fba993ca7b1c8371a6628767f07e4755cfb442d50dcc24c620d05e6a008352c9e45caa341e367b3665a1b7ef3248173ccb297fa5c6d04b660a9ae6bba86d9e5fc0c8ea5bb1c9378c74c911bb560c45de27b7eb607f6eb77f5230fd3134d00d6ddbb7eebe2ae45f26c01fbe0b1dd43de9283a3047e7bc73ac73cddc22ed55de1f8db3207c9716df6be87e69f2c418ecea63dafc7f1fb7c0472a8347372b477b6e72f94d840a7b67681c09868c1c2329faef7dc9e69e24e6cc5c3f2a56decb2cd96bc85ce87636cc90f44aed6dbb3763896f4ec7a5c95aff12ad40cec9e2f9d77f3e8ec7dcf7a43f183a70feaf5190cf55e5bffba17fd437140a41df758b6084c77139a288e93027081c4584271ae10bfb17a1caf701c932a30076fb8ade2927e845a1c07daec9857b1c54fad6e2ff9a0bd57b5622686793c837929eb76d540e331969f96c2b3e859359dc278d20eb0a9aeeb3144a8ed64047449711cf5d594e951c2105fd66753627507e64011d8119ab59b0b9f03cc47354eedd78bb6f4c0cb719b5e2673bb06e604a1c9bd18d064ee9397064b5ae061b82b7c3de4f9ac657e11e7246c0b864ab5451bf60cb741feb7c06cf24cd4f3207453b7cf1187394d2fea79340f31fcf7e9039037ebb1b6e40327d21f50b4336cf20c6131f020ee51cc4968c6bb9a6f6dcb39f06cfa97f5307fc074d6bd5833cfc2ec917be7aa6c93fb02d57bea40dfd2f013662d0b637a75e9c35bd3a940e0afb4e47292f86cebfade69fc34f13a20c6721d90025d3f2773c1faf17d68de8e8b7632777951168b1396fab475e31ff274a4cd98bed749c09ae522573696178b485cd7c0e448acdb6c0ff260ac1bfbc7b208872dd885527f5ef39b9bf9ab9ad47c33960bd407f731d3b05c180f20ef75bc63da01d14dbf8038de781766dd24c0719020dddd852b8cb7a20087a4297ba471881c28f573816954a1c9154c6eb44dbff341f9169dfa0bc88f1aef42bd778c1576ba8c583b44de541c4dd217a63bfb636cb21aa2bed78b3d6c2feaab0a668f71a64b405f0d05c71f58ecc17dbe8b4ccc16380331b775d91c93512b1fdc2f4c77cbc68e80e5db9098258169d432ddd1d6e162f815e5c55990edd477f406f1572c211d80f5427d12633ea6763a3b5cf4539b15d41c14784e5d0ae2afe25de4397cecb958cc4f7d4faab09df96a8df42992b4726875a3ac8be4c8f5352ae35fd691a96e1cc416686ba02cb1aad034301f0a90e77b59f8ba5bd6fc3bc2872952b610d807022308b13377009648ee6b3cc5f384442057529b6fcb02f828f3e598583135b135b5005f57976fc1decf804c408ef843ad71395126eb4c3842cbb8fdf824cfbdb02f21f7a506ee7ba2c668bce6a37355169b6f7b2fd79f17d4c4fc135f24ed25dd84e9486ce4e32005659714d5913e006c20bea543b78a8658fe96912eef3bbea519df06de04293f03f97febf2085ecb54c6e207a49bb1f29e583189831690ee96e9ce0ed1077088b91f906e55cb3db8dde609eef36d4defa86e09bd7f8b5d89db8f40466fdada300deddb019457683d76ed662eee7a5f6657e5b7d47b117165ccacc782d9efa5af452062351ddc775c1b8179333af5fd8fe188029f6871df0704c3d994b10b81374983be8ac57a7400067c1e0ddd2d8a39a5c958bdc09ba88d7cd2dd61b1f1b626b1c6826ca0a118725247f42f4a2608efe703ffe79c5373d9ea93ec4c25366590b9db40e318464ae54b5c997fe1b1b751226971bea3a8fce5249267cd772df696ae03decb347583e5cb003cf6bf6a9e42c4257ad1bae68951ff54195bfa2f7c3e16b2dc3d76600dd09f95930564b2c46def12072ad006b18f623981f3a60d5614f5af7201be4cc11139650fec846fd4e3098e5b3301b8b9059f9336bcf827903fa52eef2c51ff21b92e6f428f67a2f32165508da7812eec8d78ec84662537ea1488fc57f93266eb2d407dec662056bbc86bfed6c7f92bf559ea53c5bb8f7645a143c163af961d30163d68f2666331611558bb5db8a22a860963cb98ab8d4fba4b46062532479a73597e15b5c581c938c08deff5141cbbf1e17cae9839d847a6b16f8bcf7388cc332feb34b200aaf33aafdf210e87935d78179ef4e260c37ad9404363ed34892fc0cc41159914e11f46fb8b77eb93ec0ede21b3d3870ab4a1520cd71ae02e1ccbb6ef5b497b37bee7ae8226c75b4b1c92f45d3cb513697c8bec2bf559dacf36bec77998a822ff22e28fad5219c3b4c1f10c1f34499f0edc27dd3d9e67eca994fd770b8cdfb11f25b64c2d33613a32904b64d3e4c099ac71cc1e19dfcacc63be5573b03de160a034008c37cadccd317f5d9baf3ec81977ace7b9fbb6987f1fd0848050911f07d7213be05c08fd66129103824bd6e3d21e78c8b17ce8b626ed09cc44f7dc1ed84e3701e9bed5e71fb32d3ecb1cd0b27ca2a275404ecaba0e1e6b9c8d3ab0ef1182696c4f2340f778e9bfb66280009eeb9087282e8f138377576dbed0f6e3a8bc2a8fe9ebf6bed47d6c9a5835d4573e953cce61e76b03810178c2d140c60b62d60eb80df2710468a891b6e7a177808ee2b0635958f89e55323d6cec7d6db9222b78cf195b7ac2c96f3041daf26e56202fcd8669dd95cc5139d8dc61afae6c7384d5c7686e658333508f37ca7855af07e66b2c31260f2ad5a2986ab326472666fb01b43222dd15c6e7db8f5765457e440b895d9bed017ee2668ee60273409ca1d0d36c23c466626b32ee9a91c10a9567cd973d2c8be3033de8926751e380ec0b7fe56e505e4ddabd0b9ff08dafc53943639925960923684e9a03f0552c6abed127875d98710c0b54b5a53daff0917ed8a9f4216664b017b6cfac40e32f410c40fdee42f0b19abb6cb331fa52ef09eb6131998a3cfb6a5cf38dbe67bdb5c7ff3a200f83a8b7c7fc54ed54c6958b39107899680c21c8b126e66b896388fbc046d1cc2f6663f4e53d56e0fe9e2380eb5bd335910745f533344ea8bce8fb4ad80b843d16abf3fcfa711d140f2e95b261bdd6b5bc1f0dad5da0cd304cb812e05415785c320532b9c81fbba326461f27193cd77313959d0f7625f739a6077e36c11d4edc25eae74900bf5b97f57a98adb7f2611fc8248fc86ddda39d5ef623f0dc628c95d76cfda23c1ab3d58373cde910b3f93ba9bc87544ebd0976cf95004fafa0248adbb04b7c692f2b288a473880f3b11e13813b87f965021f5e95074dae844d83a9ea7651ec2680b3ce885b301dd3d7cf2a383f2c9b7066ba48f92801f722679951fac8b89d0b7ae696beee6276f5d24ec17c7a13ce742c27b6f42d6584a76166240cb3cf4e1f0e60dfe4be6eedeabb11dd0f92672a02919fa1f17b41f84f8055d9b4d1f8bdb4c64b835c17efebb5639ecdaa5bf5dbf25ed953fb70358f95afa171541ab01b1ee705b5ab64b606e9412de360fa7ee947702c7b579e61404f73b672eff1973e3832aea108bc8982e59a7380de9f118e609938a90ffa32379b5c7c180e005cbb39e63b33bd1ce77ce56e51ac00198f5730cdca711cb11eb8238de40efcaeca97717b05d32618be0bc87ba7ee189e63a6a23256bfa8cfdbfc556df185e92dc1bcd4efef8e493dde36ff136769bf7e5c2fd20618aeb60aec4c177d1c7b511cb59ef759e5bfeb6f931f1bad537e5ca78ddfb52fd6a9abb6e40654414c84c8138ac693817184ab491c26ea9e7a8e82ed35873c81fbdea8420fc386f0757047ed22d3287d9de376df54dab8193154b69ae0794e337a513e446cf8cfa6735df63e1f6e193751442414fe44d83d0be6550d350c1be1612ff770370e874e8b9de445f27d99bb43656ce9d7b3a5de4467baf536f6a21cc7ffa1999431ba3cc263194a80dd2be25c4273d082072a6dfa2ce3859f1d10b9cd057a085c0fe73c4a8c0d96194bda623fa45216de32fda5a0de4045f9eda9f4fd6099a150cfbe23c6c4579e2526f43634311e5ac6a9b2958ddd4f0043bfab46432b3fe645c6eb9cd7d44882cc4da37eabaebe74a41ff9cecf042e78217435adf516b29e3ed98543b712397dccc3ee36ff3883f8a83b6a767741136fbf0d4881d8de479ae4698d25cb8c378127a075f3405bde11e73502bed446cefa6a8aeaf753e95bc4b4c3f24efc9383e42b0d2c8e5897bc84b1a7a49be23ed1a34afaaf88f239a26f393c4bbbde2e345d0cc3b40476f89dc01e4c9a1c753816c408dc7146e96b1ca133f152ea1c8c0ae183145bdab37611ee57addb92f7d845dea4dd3fead407af17536d86f21a677d8728ebd6f21ce6437f00b687bd4f5ae2f22416c4de6fe27a9370e562f871079ad9d775849c89fa9d1029cb86e660436bbe19e5937cd0c621c372a7d89af463abdfcd4c4c37fa2263aebd5e5cef4781394030f96cb03cdf07c73a22373e9ae31df4dfb3625f8bd5c89c153e8a673849296c27137e647b742d649caf88b9c2e31e67324fbac8afe2ec998e9d733786fb54f8a965833220836de039283db9aa87c5bbf2b37cedf5e2686871d486aabd74c15aa33c97fd28e34f8e65efc121eac0be4718b6a88ca7dafb1edfa37eee44c64784a61ba338b5c09718b72dd93236c5ebf1367c02bb7a50e17bc784c62c7310bd8d2bf15c9af76f03ccef9d0c9617efbf479696ba1271ef04adbefff6de867dca9cfaee2c2372c075d21257a36e673b7f55e330736294b7ab1e14309e5d683658d302931fb5172d405bc69e3578712516afe29892cf0b4d772fe812897768bc9d94b7f6d4b392b9879cb3e94307ce5b98391cf3cbb0d325dc2ba52f6c59a8ff8eea489eb3ee8fc89116a23e919318b6116ac6764cac1dd32788ce2a94ba0cafb7f689257082f05c30ce129ce935d3dc6de02d0abab262465c219fa075cbf775057f4726258e8d2c31598f7a35cc3744bd2adb720e169267f31afd62bbbecf5982fbe554a73d7f808c01df07a6b105795b5afb7839ef757b74c7862e8ee529f584757b0a2b5b719e3b00436a1f0c11bbe5a3ccd31d9a9cd3beba0f5a62d221ed0888bb1c7bbdbc399f38c69a0fe7eda21e1a47abd0e98df6bc1e12233e88019f9853f2528f6f2fb059db6491e983c4deadeb6a51774cac18c53231659ebed0e41b86c5623f2e001de5f5584bea61f87ebd25e0d11a1d49e656511fc3541c490ca1cb3af76035c1b17c9dd77fb5038a25fffcf80478ce437d9f174cf38b4833ca10b70f6820de70cfcc01960774ef486ca3a6ecabf0ffc8a30cf3e972632ae74ff0b68d1c3c28a3a18b9d7515f234c7f6ee882b5fc23a083ff1a0f8b05fdef20e7eec49013ccec6f77815998d5f0f4ae7403b11c1fccb24fe6e0b8631f403d933a15b70f2307330df87bd03ceb2a87307bda519a8a34d521f3d2b560aceee0ec51a4e17e03e3236acaf2277850fe5a41d427bcbcbfe7e2f446c6e86c498542eb8f70d2c7fb206f24a0a5925cc0658eeb90ad862f74c77b74d6c3b9eef0aec2f912f614c8c0c895bdcdbd2bf611fa239f97cc87395bec705c64b2b76450ae8e5d0e2a1e69481d76bd9f36e02e85f4d5fd330e3fb637eac84e9135cb7feb8506fb559f364225ffa6b5bacdc4203efc0734e3c5a1928bbf335771979169a5ffa59ea05f761662c23e2286312ab381f2bf1c1ea768e3ac86540da62b4660ad8ff2a13fe3e7760fb48fd95c0001e7bce0ef15fe2109f361cba55806154a50e076bacce57b9c0580c889b6232960dcee7dc9bac71f95ae6590cbddbb1163691387fa18829c364fc07e97fe30d54ea392d7bf949e69a06e5efa3b7677a7188085f52932b3ee6e7fe28713e1a5f7527f5bd1e329617158e85e9584c94953a7d5876c25bb185a6bd25e8cf2e32674528f233a17538a853e27ae485e47f13718efe450976bf4c24d69767c5d4e46d79fa745ff203a54f26f91993129515a244ea81acb8894745b0292a579e9b6cb0a526a6df7ed0e53a5871a8f71aac86faec60780d32cf6ee97b94333486d55aca7d61711f9dd31789177e2c2b7233ead8be0b255e92a833c164280560979694581cb1151d80ddbca4c4e135dd47e96209faa11925edd7f259b78bb4d1017972eb36ba38cf37489ec158695f15d8b318d601953e55252593658061ad10209767aea011b52c17104cd736ead8607da939c9ef922d80bf5cdd56600ef03350c23610dfe147193f5ebf97b5e588ccfc2e28bf0abc7acfa139cf4b901ba4a444dd45d9aca8fbcd083686850ef7295b59184ecee159eaff4aeaf536889f5705e4e2a66ccd8f20fcae3d1dc1b9dfb321661772b803cee4c9b686d2d2ca856b50d1260fddcac7f470e924837b3bd48c4d94a198641595f180426e0e336387c461e97e06d6cd9be894e0bee2906e217eadaa2f312bca805809aafb32017f808f4f073106259ec3eee100e66ee767982fc40cc88d357f59a0b8cbb6ccd75136184093143fab0e7fbe7c7fc9d098f119387f868ae6513765cede7085c5963e74a5ec675577c5234f81ae6355eff159116a7c859d518001d9aa6707fe2a4dd9444d99a62601e9e23991a44fdda9de9ae9563e173971d0f83505f0272a137a32cac3555b7ce64c01eba7b2ac8b636155bd14ccdb9e927be60d8c0993e1a70fbae47d9c98f6d514b515101983146a83e5d89b7034df0a917805a136c87ccf42fd1ae47c3a3133ddaa2e87ebc29c04bcbf25aef1bc3faa9a4e32f390a367410372a236509abcec351f3dc931ff5407c4f685b84fde1ee4f9ac7c2dde04582c9d0674179ab3661a96bb66a648da5acbe3ae4e87561ea1b9df678a7f518727d81dfd2ce3bb2a5fb770fd4f05e404ed887f83e4f1f3a5eef178b761f8300ff2aed56a1ae4acefc8a9a93d4b9f9d531b22aeee283360724cf77d7b8d0f2f767f48fbb7c37dcf4a837ea397c3fce4248d3dd631dd2dd538a67f9431a89ec329996c5af088817f81539f89369ddf12ec91ba7c85fac74bdeb8a29ea5e1182e36a02d6e19653cad790e1ff53175b8e45b9db5c0f8c5fc0365fc551598b82ed49179dd9ab22d3a289bccc0b98fcf36aabb72ee48bddea9ad3bee5399fb2fd4621e68eea689bfc2e2b57a805ec6392587b6d8b38a12380f9c33f3a588325e223ef1dc7e94fea92d368912f83a550dd6a3c094cef07df8027c259c75e0594aa8f16d4bac61694fe1580c3ef67a6540ba68ee02e02750d7d90784de96c5a70f2ab8c3d64cefed9b18182b46f8d0f259ea8e451bc739487caf2d27d6f200e679170e7b42cfdb12b7ba07b9d6447b224f3a6a9b99c1f23a9e7bd4816baf1ef5b71a2acf9091e4d971de4601f2bcd0af8f09dfb6ece192a6fe559d43ccb248c571fb2c60d714e7aa60baabb4b735bb680bf5cd7904327a3dee6ca044a8efa69bc03eb15735c5316f22a007747256cbaec45203541f369218a0759ddbb6d8fa9c031ac4ab6868e5488efb0ae498a96a5e8a112c574c0fc8394e1e991866089cc7228e70ac6d1de448ac02cdc5f5b49a0df66691e3f7699402beeb2d20e21c6f996e2db1186b07c41b855a81e7ed9c02dfb2a66c21e2a7742769c138d62fe89fcee3a8e691507ae9c3f2588cd501e09b56cc1c6018b607e0d7d1942d1bdc6eec9e9776d5365f9310eedf0d251cc1c2f675107354899c649e55a1b1b9640278d9434e4db78d9738003d4ac5084763d66d383744e41a6fc9e5e3029da5531c738de3f9604ce0ffa4a93becac38806762c468f1f37ce950d017a615cd7d94a13998145807dbbf207eab62d960ef6ba83f4b09709d64f9beba6ac3fb03b95e60bd769e2c037e885a5760c4d7f4b98d66003e7fcbf428632d38fed484fd337446b0f98d9640f6a8dfbf6726864912011f98561b22380b461a2018bf0ec8b1186ac6c617b99b075b0c9bca2116d8a7686cf3fe624e9adcbf9bd08ce3569c9329f08faddb103832bdb5ffaa0a6c8296fbbe03e25d2edb45f36a3ca960cd9bfcc6e4b00fcca722f21eda7cdb3a707d9abaea2e12f943dac6eaefdf8d55c49b1d7396b4f8f13e437faaabfa11869531f50f48bdd6f13a5773d5965f05f8a61fd744c4109601b1dbea1e9c7484d76d9f23ed6aacdb88a83ccc78dab227645ccf719c6ce516d4b372bf54d5b035d72bb0af36ed62314b7b9057bf12fe2aad71bf8304eed9c8b352ea4d4a8ae53bd380ce57ef21f66a3701f2dcde270eafe5a7c8c37d47ece95207efe73e29620c1788ca78fd2a34dd38103e37138ee12e3d3f027946ef71c16f69714b1d2097e9bd1ccf9f1f1e004f5fcb8b5b54be9aca1c99a1dedb307d9222fc8d0af022057e372abfa603600774848fd19838285e0eb0f9dce1ef684b9f87a36f686b9efa47377d57c7b3764c7f69a11b7e17f0458d0ee6b8b7b07d08f6b8d03d8d89dba9ef7f9661b2e213e47b8ef50c8d7a5686dfb54f1a986f512f34070ab29e1d47c60c569189e6825701e65d5d16c30bda3b70dc0227a8bb1c1347f873e131657ef7f9aa6e0bfefefe19c8f075bf443e21d36f594f37b5fb97ed30cd2fa839d0022c2f44ca250fa18b78ef1d4d1a0c40644ca57d31267ec4d2c362c124667fa84fb88fe1c7407d4753f68eb8cd0194fd955a26b823ef4405751f91e9eec7c48a7dadd071bdc103b051390af51e84fd3dc2f5f67b07e83123d3556a3ebb059b634f535887a70d4d565594ee6b3ea0fb93dcd78a6e2b0e760ae2b7f409e6fbb97700ff70c4776df3ff2a9fafea44da00d52bd899cca124fa338ce2c874d6e3e9e8368f307dd0801cacd4ef45e5aad7cbb26db80b8e09f78a71d279df910f2adc5f8ca51dc7a5ae03eec849e97b14e10f5e4ab81f5bf244a80ed0a746438b534fe8ac3912535702dc53a1c70a34570986d62e2211a26be8a5907e8b3ca2585c6fbabc6823346798bcab003c2f81ffc5f49eee138af954a9176770e82e03626801e9c66186e5b6f6c1bd3c5119b136d473f7a8bf2679526ed4b9c3b77e10035e57f557479f61cc4f02f03111b1743457776a83b3eee691e9c468bca609cfe2b97c1166c686e1ba4415e0b35611869537057ecebabba79eb5677ac4b11cc376066c3c4d9dcad7ad3c447d3225765c5d2734b17570327077abe1aa570628e6ba9b02d9138d817534e087a337b4cdcf8c1d86afec57608d358ee18b76a0cd2cd2b8c0ebc2fa0df4e07a40d442d865bcde8e6998fec1066bc6eb3b708bd83b3b00b7a69a936e4c3503cf079d72b0567ceba3f9e99ee0bbd3763b04282fb08e31fef5a523ef8a498ce320f6d2ebb2636fc259d6cdd1dc6b92be2abea015a85ff199678bcc41c2cc56bb4b4525ad3cbe7f82d8d65f641ebe7a0c5abc63c455eec0c7943992bd0966d3dbdbd28757f1099643f9a19477c824c6e2561d73928079a9307d9b6d4a3fcdc81c74107fe303c87520f8ca4696c6f4c7d2a733325d8eda66528b5f952d582d4723be1900ef5fa1e4c0458e1a2c6eb3faa07c7b8c5b05e287144a44ec702ce2d48e790d11995de63fa9f7be886b6e6c776372d8217c86ee807d414957c856632fe201b176180e8403db43cf7204703b263cccd49ca1317b4f25380b7c3e7c2902d3cda916a33822ce559d48e34b6c1fd88f9296e2e5e0d95f14cc1c94788eaa87ee65798ee9f6f7c0e75309448c83bb1c7b9c4726e2f796f2a56c23e622df75d260aca2fe26d50368cb2d287190357653e9073c5953a2f2c0c3650ee0175bbfbf64c4103894582e6e9087f3b24ea2d6fb58c1fc790026fa75dd2c42f1eeac14ecc935f5ac82692a8f8e31c9ccf4111ec8eec2b90f33f54cab85bea905c7ccd76e8eb7e6ef3915f13a83b2ee0b660bf5ab05780fdf06a5baa76480adbf6e57a0eda15bf8ab7bf4cfb377755a74eb0a989f9a0f6ff1997a00ba2a213bf356ec7c8d66b20dfe1699c6edf74f1f40ecfd2467a4c5c7ad7f59f6be58ab50ce118e770462462622377b1bbea84324b66f64f212d3f93844ea3323d31079905a62384b8003af302d5a317386e7ee481f00dd34721c632802fe7c935d400ef5dab6e5bed7816facc2345ef366c511d7ee1e39be04fddb31d3da213e202ac8bda930cdc07263e9c0d7a72e8be94555bf026575ebff23ef4d9b15c5b6bcf1efe2db7b6e15839e4c33e279e1889a80252ad3131d37044c0101ed0445e8a8effe8f3d009b51cfc9bcfd74c7bfea451e15f6b8f6da6bfcadcefae204ce0378f67ad8d24f722774bbb0074a89a6885437d66f91ff612d56b6ceed23dd97cf50bee8ce61a3899849caf4e7671de29e77d5a62fece3b02f5fbf6a091d3ea9afc00845ec31cc6d36ba715ca9f2fcbb62509729418349971d54247058c0d88d400c7465d059474e708b98f2ca3b4f64f765229273e88c2199fba539a8e2e5a9be45e837a63f4f0f139433d36da33b11f9a9b81f75e56536b4277ed14423deedf2c3094a6113803857dca3430e99f5c9bd3ea8635b5fe8d727b55c99c22e2041dce9ce3a6f840c62069df5ae637d5a7936a14383993f89a990ce848e9a58d01f43df8da01b6b547445729d688d092303d9cfbafb722a7da96370af76f95f198121ce39635fbbebab15d8e1d6a2ab3ee9dc23e4726893ebe0fb0fb1b0b75096423bc6e205cc167746e4b44a4c174d107a2d0b6b6176e58216714f94c5785437eee288f039c1b6a997f066dc1149db0393fbda6523480a3946763ae986c841b094156d0412dd754717f4225fbb6b076c08cc31200bae6cada3b6ef9a2b72cac17e9abe1c1a1d750b05aec80d239e87f5d63a632295225ed15206ee8183f273bb3f6937ea173423df742087735e27fe0c11eb451bbed4c1afc65ec17b40db5f9ff0cd1581fb27df0eeacad351ec6ac7b9dac4e4f83b6b04ef4644ee0d7856f7cc40b48d096d6b8ce875d741f7c87585f93a26e375e9640fa2261d6df88fceb83f61b76489f64383e9d41306c5f9956fb8e654b79e4060065bca2035b967b2a3e512cf539a3a8e3bfc8b9450e4f8d126f7b86b5dfed869510bdf52c75d75c2bdc2fe21a75a87ec4ee0803ca9db3f8a0b7d17d67a7f42939bb8d0fd8be79fc7ba4a3e41cbe83d94a77bd3d42e3d41f2b56a7f4f625a44aec8e9b05411e6573ead67ed17b525b377201d75d889897a89708d616dcdcee7f795e7e5ce1c7c912374593426dff43dcff0bbecc5fb98a411b05e3abbb2f5856c77e610ee468f4a5f57c3bfd2dd78e426e1eb447d3d59335a286242f01ad01ded8ffdea5c9ed5b81077a3b4328fdb4119fc67079e324de8b9784c03da0cba7c4ba744afd0e4135cac44482b7da8a2a7b1abae7ceb445096d5772e07450ebb72844b7c07bdf3acbe49ed3c5bdcbc0b1fb7c62f2cceebf2edc7551ab1382feaac1dee12f657b0875d7e47aec861c5cf461ad351ab068ca7c48756e9d335da8d5842b649cd2e5c2a664f9ea3d45206b7ce3a3ed35171cfa9e07b88d59a9adcb04bf74e089c071a7c6f325e977d2221e2fa194d013a49478ed37454c866beec5adc3079213790266cae8c0ece50d779287c7ee8d9843e1b2cccb5efd2a719625cb07e0dac39d6d9cfa9e8a73bbf9c88ddd53d938576250adc355d38b6eb22279f392873d7e8cc795d16756455fdaa75e375265a81d304da3eebcad717f486955ddcb3a08fae78c573a10bf89edd8d4f49c828bef74cc71810cf827177c83e45ed5afcec73bb27b727c77dd13a6beeeb36b9e6862277c8e79b985c3bf0ec2b39b1eb2257893928b467247497ae4960bfe8ddb57749dde5691eab49559e7dc51e4a97df113b695d4c095aefca992a6ca18c11b4fb4bc46991e36bf9c3abc6c8b0ae66c7bd3b20f6f26e700fefa8ac6c18e7eccfc3ae5a1f446e1063300fda50f64f63f38502cb327fc750e52e4c7e863cb3f93b8cde554b3b29ee5f8cfbbbed8e8727791ac44b533daf43be61097c5406c8b59aba3a6bfed036fd0ed9335d16673890bd43c71d2c4ee7859ccaccc303d31d872416e785d59447677c85b8dbd344db89feac16bdbb1914fa2f8ae53194f90dd575f2a00dbd03c3c41388dc048b9977dbe05233259e655ec9855f4f09bd9399bf77d0529fa8efc0ea8aec188b2ebc9322f6df62e4abe677f0dc9d6d93cf76fbcf3783823e2d0fdaea27f445530641b7ad5126ea3458de41b5bbea7a3ff4425f650fdc9c329979dc998b5fd074f1fc0b796fe2744cac93ede9cac33d70f36b97ed715df839d80347bb9d7190456c2d7b50f40e0c9939817f615d0f8c17eb8a7405ef75e2ce10ef189de797886501e7911bb2bc228606db797608ec0fd0be74b7123ad2c0de295e17ad26043e1e7b5006678335a1ae7650e8ebb1330f71f3a88db3f02b74bd9754dfebaaf742e00880f179395e6b07df24627bf03b16d0133a746fc92bf404b07efb4887759284a7f902850fc0eaca4ba73582271cd4ab6dfa52ca2b431fc62a6c69d760e65d31252c11e7c11a4c87ed7737ea177a9b7537380dc8c3ee01623d4894a63cbab1677645ccadc50c6f4ff13e76847d971926fa02e2f376acf56c50c86ad6ddf4a5d8f46588ef7550e8b81bc7b7c036b4d8b1a32b60af069db119eb427f624d4eee9bdc033cd761575b117e1d2b06cf74629fb9e73e312638f76e2cc782cf98be7ceb8cdfe78a5cdfe3844ebae291c56991a776ecf68f53440dbb7ef75d30630a5ab2619ef50bbe1b226eed0c74fa48f3bd9ba64af7ce9a77850e3ad014bb0b93fbb12e6209069a42475d77fd7a5ad4963f2af39bcec91d358a368f820f78b6e14bde714263bcfd01f2ab77c6b96d1e850ce3d9a6df553bb5f0b71d1539ecb8331f7a219b0e74a5ff02365b4ef38383d247f3ee8821d30abff2e0091f4ab442ff1f18ac4c594a372d1472bf77b75489d6fcfd0b34b421ea1d5c2f07c5eef0756929b4e90562c22bc39bb1f0be68e0394e4ed6eee80bae6595e88a487d9f8e426112c7fc74745d33369289a69787b9387d3180aec878b7b543a1cfacee99be1e1aacf97ee0bcb3cec9b7353bb6754e8272a8308d628315af38d6c2d60211e80094be8bd883225107d8ae4d8ceb1ce9fed0b55411c73ecf5d8bf3187d1bdf4c761919cc203c6e69df6044da64e6d09e829fcfe6605baa742fc69d7da66dd3b7ae867b89d70c910f18e85793f1403b5f4c6e981e30e698c94a808edd356b5df5857459fb73dae286c30da7df618eb63f777535f2c11ac31a4a8a171e771747f287376b321e5b8c9c1a0ced2da7fbd326588133922e5dfcbc2a524705cc6d70377dda36a6d9f756b6d694301d7dd1615bf4f9a08a594d05e42762c5444bafb4e9c717dee9df2d4676e0b30be10ece8986fbe3779b58980c3c83dd5c3ff1ce9f4bc6f374dfeb7fdf8ec1d98c34757359fa72a441bc5cf98cebfe514775ec2d9d7368a9abf0fba47fe359cbd37cb04e52ca33bacd2bab4453066733a1c0bc6e1633f47577795d723a9cbf353939f83be7fbf6f1ea1859a07796c6165877ddd73ed20665715a791c8b15ad437ff4fe23eda4966fba3ac2a9647555bc1bcabed4aec9eac1d2f1e059d5820fd24d408f302df89a227a4726a7c1e8a03c066b67c581f696b3bcef93b81d73a62f7bff5d3467fa7260290fdb74d01eebca90fabe8b52d317de5be9425d793a2b43fc09713a8a795fbe5bd3afee4191fd837a2aad9faed08eae48675dd9a098f5e0f91e55c7f459ba6b6cc7399f748c83fc7db282b4d87906aa730d24aad2066506b2672dbc58df2eaffc424e8cc9e9c63b4356575670afcc64e8231c668b36b879f229da73e29beecf938c8672fdd8ddc4c2e2bf85ce06bf4467cc303c289b68bdc3f432397f31d995bb0e5ad72b3598c7559f50838c2eff4ac4abaee8d7e3a4b4fe9ea1404c6f4f9fc01aa5b717f6a2d4f6a7e98b9c13e261f5369c0f8c632155f8a294588afc9c4f833de5bc33bf3b7f98aef8c9c0d7d46508fe36d9d7f89b14acbc5c8780ef8b195db0102b6ab179076bf263f37ffe4fefad773dfc3c0651efdb7ff5fe3a9f7adf7abdb79e78f08fe0afbfff7eeb9d9cc8be197f9817ffcf9f97cbd939fe337002f7f0e7cff33ffddbe3db9fc6e512fd7908c36314fe19ddff34c3107e15463f0fd77f1e1fd131b08ed61fbe13fc618621e8c5097e5cc0bfd6313a381efc2a40fd75bcf7d60b9df4d8fb36a00603eaade75fac63ef5b9f417ffe2b72e0fb0cc5d0ffa4997f325f760cfd8dfdfa8da6ff781f32ffa0be7ea3a8de5bcf09ff65393f7bdf7e1cbcf0f8d60b13d8f9f478ef7da3dfbf7cf9c230ec5b4f804db32cfdf5eb5b4ff49ce0dcfb46bff596c1a5f78da1faef14dba7de7a7bc70283a1df7a1cf80b0c44b24043d45befaf83f52ff374f917d5fbf67fa937f8ff7fbcf5466090e1f568823eb7e01ffabd4f7da506c3c1e0ad2786e09b3efb9562d8afcce0efb79ed0f8fc3bcd30433a7bfe7dc850f0bfbfdf7a93d6f6e961f63cfb3e7ca7872cc5fefdd61b3b3f23fb837d6cc93d187b17f31cf6bed1541f7c38a30dea53c3f7b7dedc3b9c42b818dc3180fff221a033f8e706ff0916e73ffe0634661f7fc29d009bd3fb731f1e7f867f5a97e0f4b805c99ff1e5e739bc1ecce39f3fcf98ea48a2ebbdf596fef5f233faeb10d925f2cd7f9f5e4cf4c3eef0f3748cd0dfd2e582ff120e9169f7be0537cf7beb6da38377cc49047e928e87f012a067b9cbdcf18e61f634ea39ff383d5ef3bf77c730aa3c0dbeaabc215cac1be8efbf7a78f8ddc70d8ed6097adfa29fb7e3dbeb0b06472e5cac1797f774f9c3bf58f025f9f83374e0ece93fe877c811ae70a419bb783a60bc1b1f64147fbff5ac4374e87debf1be489bac7437208cf1c3d3d84d68327208542ade076c938aa09ab858dd8d050c677de795796c72b26dfaf39bc6ecdf0d7f78d37721b8969d03034b52d47f57a99bbe58dd4d0e424ce5e90e6b5fbf6bac9cf2dc2c578980ea89c2fb2ef18fed20d29501cd2b8fabc96e421ea8eafeca361dfaa6a9da89f7694f676611d9b6a1c8376b3ba68dc9383c6ce39be1cf998362d9b8a454a429de6d3901ed5a36afc070630cd5457b46b03f594a7c3238ef0b4c059bd0a9b580907b378319783fb603c7f4655be7c4c45268879fc092e3e725fe9757a5abc53d3c7e32389bfe30c6904f175d999f7575f5c5e2e4be358121de379381ebfb6ea9e3585757aea68aa0fd4c248934e511f2bb7976bda407f5eaad9d3e6bfa72b454bcc8e48689c5cd6fd682ba65cf18ca3c3426542e2a998cf7aeef2eb7f562e519dbf9d550c77733906c2390c015869f81e5282281cdc521681ee65d2fd115ca86a63b764569ca80cac7a7d09ece79b4b1a51e95be1ebc3b7fe5bdea181fbcbb7ae5bdb4fe9ef8ca7b54fd3de995f7e8fa7b72c77b0fa0b27bb57deb9c5bf6ceaaf24ed7bcb277c4ca3b5d73cade912aefbc321fb9f28edef40ea5ab36054be1729b484847715d6417626141ddf039700ce671862ac1a249b51b0ff900a5876afe30d427142d4cc735714b04e256a56fd16dea5b6be8db6cea9b25fb3ea8926d709e9bd3012b0d0c6eff9e7d5ff46d837e50eacc228a3545426906ae141f2723c65cd8439d03bce51c1a0cfa97e035377d0bf8049a93b0edf77f28e25de7e42f26373feb1046e2721302708e4737119ce75df9bcae77236fcd00717898ac1d71be9e8af3f54cf8a2f973f7c058092e2be81acce36eba175772654ea4f4f19a59dd4d1fa634c2b257962abcf3ee92067ce6072cc917399a22fed4d9d5dd42b04e591f9c4869ace47a4373b1f2961c1a6f737f57c4f3d8b16dfaf2cd9a5479d1ea0ca1b2909b2032fd21bb9c0c1283357ff2c1ea6eb151a4a9abe0a0c0bb235e431e4377bdf70fde17efc624be69fe26d255db36d471a86f69f0db09b6990e0c0dba82c4e35f604e13da3a166640d48fd3674515ae75be9fd84d753776979b98c2b3d336e7446756f6f7e989e1a7da839fce127112df84ddfe9aafb90b4d9427ac4e9d4cdf72b4eda92f3a31236ce387e06e42de5d5ec1bda34f68efc8cd2358ce5b5dddad6474d3fd0734635b9c1c99092e97c85061cbbaf80627f779c5a374854e7985beea9c14eadb9635f2f550574f11845a5605b81e4786bea2fb0c9fbd00ae4d337d04ab40f36717c1ddd33c32cfde84add7b867bc82fad298616826a31bf8aeda97b01bbfb0d64b5adc423370c8bbb36cdd603abec18176a47ff35ecde8ef40d629d6129ab481cc01ef7f9ce6be9e8e627371ca3f0bbb51bc22694c5d619e35a3c173390f48e85057f4fcfbccb49d3f0f4dbe5f8befb3b27daa4c196c7d5c103e40a1ed83d20f79bfd893dc35300172a178377cc93603ef97c75b3257fb72a80179c9978764df68efa5abc9c252bbef802f6b7e74853c9b3d7dd1390fa6061c771742e684f453fa0dd02c3c1fd0651611661bf42cd12e3a17aa9568eae8dd6257b6390d8bf727346bfaf3781dc0dfbf347d57db07877a88eab89f9bf01dbc0ef8fb1ffb7184420b46174301ef6193bdbb67c560dcffae861d7b35f852591334cee9255e27e05e5cfd3ca89bfcbbe5747412c1dd90d08047c0b9aeddd149988c6861b2ff527b8ea16d303feceaa085893c6c1fef7920fc3bc6eb6a37d1d518d1359bc6cd884e9f81bf2795f193ef95e741bcd3359f27ebaf8a1e381b3a374f8e2aa9f3aceec7493ec61a6d91ebcd43de0b69f05d988ce2e5740fce52ed394399f78971c52b951e6e382897dacb891dc1bb30e327bb73622e4ed7633228ee0825774b46262383399c35753538126baef9c37e3e9669583d4f787c42cabb420afe5fed887381d75c48851bfa55f0d64cdb7be0fe3ee5e325dff9a102990cbac5228bb1afb074283bb635667fb2b84dc807194c9075812594300ce772215d8e6cf9bbb53fb8c3f3bb28dacc5c860627a76632a6f449dcfadb61113906bb8229c499de8a9f3d41e80e6503fefd62f97262c1327b31d0d37018c590b2b86144c853d97dfc0ecec872814c95cb893817287922b942eecee455e96e4ecbf7cb92daa7d27ec5096c7d2eba42ac8b82fbf3e5f372219df9c90041186d693c9795a74fca7313d4a6f188c3accd723ba577a37c9eee3c3e4ec6d88c3b72a59d38df9cb59474a5f2ae09e5c8e57485e4b57cccde0da5a741377468b0cbf725254fa5bd3c97dc3679538885d98cdeecec2134816f81fc03fea56d8d0577ca20e57dfd6a700f4f9f3ca029990f30ac9eb281f78a99e4ef04a63fa4cde9f5667140eeb0af06b7b9e8aaee198ef7546606323f5a9b7cad5d145ada2fd36c3e5fe8428e0ca781c676c5da1a9cec5bcfe9a0a00766185a0a7d03fbb5f6f5ab198814af889783f220f6af698ca777ddf71293dde0b94b052d6299a142ff799f472e6e9ea36a87e84c12aef46d3f81f2f37694407da2be6ea15e3e93793f0667c2b346ea3febeeb6ce80569bdad2d1f92db58565f713d4a91ae6693254cb3cc5a83a4f1ee9c3ad6d1d1742db9aa5f5b6a4a6b6eabc8a93edcab9ce74a3c67359ac57ce17425d15d3bf02c9311869f05720257f058dfca3e9b9cbb1908be3bceddd008d6b3aa04c67908f0bd3f23fc01e147486f5a86d7e472728ac02ad0de84357e667d01fefe73c354b4979d61605e4cd86df337b1e6e4726fbcbe747f6a7a9e245876397cafcbab00de267a01e9bbde75aaa08787f84f9dba9f6fef47a357cdb337d8f6aba330ecae0a2abababb5a0212f5b720f5bf3e5f098ebf84222ed36b1b817abfc10f1b645a133173c7b7683e751c56d029d10f049242b2406f320426cca74b4a1c49978de33858d41482577df1729b9da3f94974c7f18ae5d5246f76ee642a678751c82bbfac00d43d04f311f7122ec858734adf1f7a23d878e0cf602e41b5b63e48bc13ca05db5b843968f4d3a9fad176df38bdf7f471b4886fbf47c804e054bc3137b3958cf66d4c63dd56d412cd4b11bf6721937d2f8ae727fa4e7fe66274d6af381e98e50173b1dd4b22d4970c7f1715af489efa5669dd39dc5d0b6d572271f0bdaa60c7654953d6602254da5dd99e4cd89b018f7975352af82f211fcfe070c5fa34eb97f02afa59920383cc2ce6e039ddf70afd9f7ed724380e67264b1bd11cb74a884bdd4f19e74376bfc77f47c4fa84d2acdc4f97a57b56b11732ede45f32ee92ca46e603262d21fac17406f892a340b43d1ee46209c787f45c3f6022182b2953a06bad35d5337ef707f4b36b94dd3381e701c9877401b5a42a7ba3ab64d7f4e011e97ed49d67e1e7af7d29ac81369af73e2cbed8f4ebc8f7822c9bf08db03a2b76d1fd93211dd40db12a07d939b273074d5a9ca8483f341d5497acc7c1340372bfedef6930fb53b19849a2a52c726fd009fcd9ca60b39fff7aee9d3f63fb7a6789e84bef16b6b4adc87d87e549169f6abb974d6e897fb7f65ed9fe90ac57dfafa3b93d1cde0e68e0ef4c4dc8f4adacd90de877c4a34e633030cef2d9fa19d9715aa7bf40f9df398aa9c8df4acd1a9f87b86fc056a7dac684c8fb4e01350d7898f44c8694ed72c8471f2f4091d6acaca3316b5f17cee1c3e6ff763f36cb3433ba2affb7a7d6d1534e6dfa613e6f752ee53cfe516202be89ce742be101461c4d857fa25874c756737618a74e635f380e92ae5df90bf01fb26f05941fa9a50dcefa4ec89686e425f0d1f9616077cf467f318250fdc2407758c65938aed12fb5cdae3036a741d97fcd4d3461f4a5cf5656bac9c02f906426dab927b988c8aef0a190cd370fcbef6e7be05e42e5496c1d59487fb7d92eb9d3f97d3557c9c7843dec7f21aa6755e01f409e6094b5ac0bd37fc4d54b647e89c40e8e7c56fabf1e6ac4f45967a696c7cf39e20ba9f5e8a54822c741bec35f23b913ec147a1f75a015ac76b0aa1a4091e51b40ff5e000dc157a4247ba2a5d0c464a9b64fe02b217858cf3fe8a329c816371fd3ca4ffd8e02714c07e05d20d3d4fa3b341c843a63f3f1f543945fe6f3a6b17ca4f96bf0ff167141a9fc4b02d327c1e7d4631224766485b1c3c13efc23482766493b16d1d96c819dc0d7f5ff54783f1a3f1299edb28e7166b5a7d16fdad8e69982af18a4f735aa7130c311883f5033215b4b7aae24553a4bb95163125ed7def9bc68c685b2dad7d6a30e255531e651b078bfcc502f2f19f78f784ed7102b67fd0a5bdce636f605aa547e9bbeb05a64b0451ceefc4e98892761a5b3bb770fcd06787f8db222adba82798ff6f07a82d7807db559f5241ef85efb54e4f4e650d143d34983955ba2b7632d061d03c60f9aab90be378d855a42971652f2ef172aac7c7c908cab8cb05f65d4e725f22f4eb917de17587a57dcafd8ee3e3a2fcec92f308dfd4d541903c843c318dd01db968ecc337b8a16d4da0adecca4fd05e61d9bdfcbcf208960b31d6944143fc49b6d7597ba576a0bdedb08dc03add9a637a2aef4f07d7ef2ceeab3eb79a8c03d695f087e5f217bfd3e3e3823660e8f20ec25e7ad69c0a151686cb0f4d56760cc5a3d4edc38125dd987e78584891311967efe0ef07d611f091400467333618ef06782fa6b75053c7a9bea5af803fe6f15a8aed69e0de0b4a293f89ae3c6cc883c09e83b3cccd6393d94707c0339db1a173738a80e01d16cfc856711f8def26e3c1bb74edcf1d20935baae4ade13d75a1d693fd17a45f6e6afa36badfa93ed0b78bf076fa6a2cceefba2fdb10cada25d3a52c53df9d06626292be271c67968f213426a39bc00a2778c69579b29c8ed3352b259a32c8fdb29af20897937e6a266340db9ea62e4fc2421cc2780aee619b0bd1cbf8a9c248b6c515f0c5308e023fa31269bca4df575356408ea72d6e8fe41877d35feda204c7de24153a81e782dfd9607d2a21da575f57e610967b4da4e0ade887b7e6968f554af8b3d457e6287cc1fc3a4ffd32b8f8c4bb62ba84f78e6c9bce2836d9269a18401969c9cd1b7cdfcb3eb46bd6d7ef86f4eed7e809c810553ae67d28fbbdbc0fd88e83d6985d55eefca6fd9d27076516e9aa0dcef959573643986e2417b0bc4de35ace23dbf43d9b57e43e2cd3cac9e7bfc0bea1f1d87a00cfdc1da62fabd260ed8e1bd74753441795bf1e667723d0b3284d95bcc63e20842a58b32ca5b04e0350d6df5d1303a6cbed2fc2ee14eb9c1c7cc7be4d4c0350465a07abbbc5cd297d7b7aaca7e3b3ae98d7ecbcb4b6d3c83306b6c688407e02f487bfa3b3771bd759f7e761899f107edb9631462fce85782e2ac5a2666bfb7d42e5f3fdb11de0f8d56564f87346f3e7c97232b869aaee6848d6017226381f49575ced27f807a21327be419f02b47364f1bfa35b36162cc7dae01cc3ef1539d0b634197f0b638897cd747ad65409c29deb8c15ea3bba784626a1a7abfc6846a1335dcc73598ef9857d1e5b628796d49e9176fa5c749b6465180340c86c28166fddb2ffbc3204bcf36ab8573036145f40d2fa96bec37b46e9bf437ecb76fc46c6062883ab01f82b3c7bfad5e0e2c85086677d7705fdc21280661ad986ef451ae2ab91ee7ba131a1238391606cb71958100ea16deceb4004fa9af77d3a0b85c9b93ef6dd35d5987908ce1f4ced653b7eabf751e1e3ab828fbb51f3dd181477e39a81311de9819b9f0dd67c172623b88702db281f827342ecffe8568f492f7f97d1744d769c8c1aef40f8db3442b1a6e535a2cdc5d8337d5876acf063a45a229ef77d2128c5de9f489a2dce26f91d8c0f2cd9ea903d7e13c3f993632ca51a7ffda2b17202a1be83f1fd806deecfce48e53b18cb98eb801db1a7c259a324d72ce97c846f8a12a6d25c74ad72ffdc19e510e07e805c5e8fddcaf594f4c00dd9bf9c8673fd0a3d6f9fd1f3ac839e67d735338c3545bc5a8bf3bbb08b6a6987657acb6587c21e524d853cc3b4b93c9dad2233f9c26ec4ae92b20f20f70536e8d76b52be0d569ec1cda983aa67f22d4cb5cfe5db29190f3d3ac17898e9e82406049dbb9718c864d8261cafa1de096d5621afccc38362dd909c40d06ac6b7b7e03ed22298cebfa56d13c6f75ede354587fe20423fc974eefcfe3a70c3e4a05ee11d027800794691ee513fbb79fe8a9bcb32f85ef0e2639b1f25b7f5627ece96fd67f57329b7d90b9e9da1d45256884e5bf6e8236dac7dfb6ea1bbbde17e2be23435a0473251c33c2afc451569cd87dfffa369ceb91f0cc7c20853149358be7ff526ff6424a8e3fe47e6d674b679f0396b731121191ef3b79c9e77a37855c9696aa2939c7e76039b90e35f1f5fe6b32be8acaa03c1f4e68d6a7926338cf45d45277467b1b8adf0c89ceee442a7226c4bc8a68cec096bec172d62a0110dae5b74db96b547e731d387bad7a1f22c96e3b771e35a6bea2a315833caf6059df765d84c83f304f9e8566578b5c6b6f138d24206ed7826d7af083e734570eafb089d8bb0b0734d091bd794dc2f33f8e0ba36d2cc728a6d76eee7688e783fb3b7e47cb4122356d8c3d33d2d7ee43c6c47377321035911eef331a33778cfc81fe121273e18d35036853ca05f1f831ae5b1d7155e92c5a637f05f6c177206e5dc817cbeab8970de24928be53145f23466986039388feb6bcd9bd96bb4e4ca993d8d8cb16fe0894df2197583710faaeeb5fb2fc4e986a5325b727250e8dfdb7e3a8a37ae3c5967364bb027b04481f81bfb9831d254186c72dbab044be99b41c33e57e56b55f28c6de66b68b3e15f5ce9acb1e2eed4c776f8e8a00c7c83fd7ded0b67692aedf769d6bec5cc13c3f76efa6fec433aebe3f5d49a35f1898cef55755861b78276eadfc5fbf2fb1aea2eb9decb927a6f833f848ca7cbfca271d73c08b8282c0b58e01eabc52713e76d2250cb74e38a4d7c25bb43721e876daf4c4bfc20b9e6dc2bf75ddd8f6a556444a985dfe1fb2acbe179e56ecb9ecdfd89a4edfd837b82797c7e6f35d24a7107a3fdafd143b426fb76e804c395e6ebb871d1fe7c447638629f7775efb11c40f0409d9382ee71e318af86b8b60fee539183f58a7c93544bac21b977568ae94363c8e25ec6adfec66cdee45e75dacc60aed33846f464df4ddf7b47796ad0770de1df481b1f78afddb627977d782d72404d56cb6934cf9962cb67ae2263a0333c11d817dbc7e739fb8c758672acfda4f93ca39896063d7357e894047c5e004bcc4fb5a096970fc6b990e346dd09c52b40a8b7d67e4b3cca6a8ec90b0a9da7fb7db3ca43607cd22bbc1dd26666e369e6d96c0bbfacf1f4a763cc6daef91cab3c04f0fd76ba6859efe2fec87848d13eb243b4b54ff0907adb85dcdc62ff457d60483fc48f9bef37d50e97dcac89bfc39c0b2d90c1bd76abe528bb1ea0eba6d89a01e13fc47e60146fd4906f4e359f2be873b69b7819f43573594c69cddfcb54f240737faf1834ebe830afa265fe264375cc5f6e9b3f5d9bbfd3efe39ce510c107175091bcabb1a45d48e7e6c92121fd0c03db720a4c11f4dd03f2ae1aafe41e579ef8ce64e4e8b0a5cf9abafaf9e2b3084760d2d0bf5a1f7b653da16d938cf7cdf28464df4b0fcaea6a701e7524e54a42a6077747d1a7649b7e78e27ddb3694156d02d91b96211a40b9f0a5e7dc0bc17772fc966c2d2e9a423b96ba0a004f3e28839bae2edf0919af558792cefa90f7333d8dc6ebb722edd6f1ba9aaf4ee22614361411c6c0317262fa738a9f599ec1ae8283320b57342a2bbc9c0d3c2b196f0d86b60dc70c65542e2704ef1c14addde7ee401fb3a7a9a2b7e4e6a1318dba7f6fbcb7095f1be6af8d71ac959c3e71b667a5bdd4b046cbeabe119f71bbc1f37cbff5743f10cf4bbac93f48ec73aa2bf4f543fde436808e71673651b61207e6aee2e36444413f850bfd1491d81ccfd3e8d724c6cd1e54e902e4205e91cebc82ee0e7476b5c88025bc9fd9df0bdb68964bd7b9b7103a13c83b328c5b21f944e12bcae30369e47f698931c1f231cce7c6774e05e296883d6af591635a7d40ff36bfdbc7ab6d1c37fb96d17b06f62f837e1bfc752ded45ef283e56eeafddf360ddb84e6dfede316da03d3919dcf9a495f9202e1d06cb1a02399dd154c9fe983fb9d4fe3fb42db9ffe32befeba1a698c89f1f14f6e85ce674b318bb4e5aa63455ba6a304e7afce508f9a6e41da1ed5be83ff3bfd7696349217d2fbf1fa8924d17c58cb46031ec4bfc733945f2c2bf97bf916b9fad13f91d82e2adc5f64d20eecf4b6b538a5740e7ecc4fba85d5e79dc7566d898d36db2b2f35bfa5025efb8909aecc34d58193121b794708ec0b9b616908e603c23f2a7cda11de7659a0e2abe38185bd51e2b85e29f64db64f6274d7984d578b1daef655b1e91c7f8e9735d3e772c39fe19c242da8e6e22ce97fdfdbc232ae720ffdbfb0b4f7c804b2bfaf3485749dfaf77c3b27b3586b4b83f9d3e3eef55ec917e9637fd7a3ccf42c6fe7220f78e6d1ed9dc73ff67253703c6522f27fd3e8a319ea39c1ef597d709eb0799af777cadc7a7ea6d7cf644dce90416cff26429487e05f2f7929bc1bff1fa67f931957c2529cf5722e7f96beb49da18b2729de06e1981f76d8b9b274bce236c1899afe2f7cc338b37e327bf3207184f01e3a0614ea9ba720f8bc633fac8f375d85fa3099df3986a3e473987defa2db477d80e7c7cb737fa493fbff7304eed7c506611c4995c207c1422d7a7cfe731db9fdcebc920d5d8158ca7cb3128883ba02ddef923b1760df60294a3aae6394e09dcfbdfd56e75dd26d9e779e9ac967208339ff52b3ad319c6e57d68cd9bec15788c8dbfe5f2daff90f1e8fef00ef50d6e5ec61a64cbb917cdd8123a1c63fb39d0b00f2bc47c07fafdc26e79d8ba5a9c7db7d44d6edb6d9163aaf11ff16b39d2e16b322891a7274c475e5b2e5b162f96c9caed18679d7b98addfa97ec7a2dcf76efcb457dbc6b12dcdbcafe15eb55fe14144fbf9770ed003f4456b29152ceb42ec2be48ffc7fad873ed1cf2da0d34c723f4e238f27f4f31862ab15f23ec64729dbb3901d4b6bd4b9c83cef6a7e5e3b9d9f07c236c702c8f20a502c914ac6d3657c6178d6d5d54ddd8efe9f9c892cfe1bc548d18caeaea88322dac624b331d3778879e351a77fe7f9f9f78ce37367eddf3396ffcde792fe453afe9f79863fb6cf35bb79a7fd01fb6b095bd5e3436b48d8a63c433937f8429aec3440b61d11fa45f4a5ec43fbd83ed67d0b6df24e15139ed047b2fc0ed4fe90b4f16472a5c1c012705669fd60bcd7e6d959fa6dfdb5f9872ab935edfbcbd6f3737fa854cd4fc5d7e748ee291107f028c71a4d73ff78d71ae1f5c8f2b74be3ebc608ceedf2a3f4bb5af33fd5fc46e4be18ecea7a44255fc24a1cd9fb32ddc4e26ccf886c7d2d1ad6f37cc025dcf4676bdbe927c4f64a86f45569d5dcf4c6f773fd7932ca62ea0abcd16d93bf0dd25eaa2bf344634e750c8045548a6fa8dae69ad7a776de3ebfaf10fb19623227e26e0ff6976ed8df86bea42b2a95279fc9f355c7cbb287cdbea6e829fdb69d39423f7bbe562ff0c7ccaf0331a92afbf1ca783a6933895f184b952f97ce135eb3fa9920ee1524334c6818eb7a6cccb169f4f7fd7b79039e6f23aef7b4f9acb6fbd673f9b6e16ed71be6d7ca431af946cb5eb7f8f847795c6c99f69b6364310e799c63ac4f85eb47fa02f20d946b944df3dd4dd0fd8b31651d77f5cad639cbe35568afebca1f8a849d181fa745ecb6b8807123b518b4723b992fad1ab757ab137333191b61e8d7e3c50b7bbb53c64a5e37e39223ec66f2b71ce3d9ae60965fe1b310973ea1e15caa7c866837cb4d8f7416ac9be719c1e682e2d66257988e27e27ed9e727c2433c6fd2f57e76adf2f72c9791572c88d9a22b03eafb42ba2f172b2c0f08b1305bd21bf714e6b1d6db3311e305fba5cdf472cbf0366a7ca525df16cb1a579dc9724821ce7c7bcd9e7a69d260c78e3dc319ef808eb04ae208d017c46665bd14c6b8cc56f06cec94b9bbc7dfa1b26d71b067e4c060f627797f0ef8f9eaaef943ca48e260cbc9a1e5cb50d686711dca3ee067f3e4a0cc437e21da462044595c4716d70864542d39219d77429d449803792e63ad20bca1b894cf365dd2382eae96c7f5d1fcd2357b890ecae0acab10ef1bfac95fdd0b687bfee87e6cc7b451b2e38f087d663cfc782d261847f6f131e077ebb96621c1a3e613c13d5342f0b135c13e9113ef23cc64d3976fbce2dd7e659ccbc9c03d705ea82f569ee1d057e83b8078295714f3bbf8d418df0fdc902962a8bc20cbb93694f9d5f8501b393ee65957c4bbe9cf71fc08ccf1fcd294dff199f1a27a5ec22f8d37ab09f6da789b64d957c63b6bc8b9f85cdd30ad210eaf091be8f5f18dca1818308e60f389356d6a476a8c03153fc2571ae34233d9f7e36bd8e92f29f9f730767743de47978f82d41571fc32c251c9fb6fbd9b8a78a9c92811d571bf1ceb4d8f321fcb778ec0c09a5e6831d5e3e3c4fb82f10731664329e6fe253cc50aa66dce4b5ec3df90abf524a812c600b8ab38d13638e1f27d0aed5e277e3ba2c529bce7eecbe9f2fa436d9d232bba369c23c4f878018be358aecdc156f08fde85c918e3f811776e0af18eaf7c324abebf560ba3227b76eded89785f8b4b65e3ddd109dfff1798dfb01d45cbe99901ebf77dfbf524385e473d915922c035fcf4da3c84dde685f1cc1e2feed54344b5873ebd3ec24e7885761e42ba29efd704e16eebdcd0b5204d6e4e96ba0a79759ca0d2c6a7eb916dbf93dbf5852c5f07ea0b257c9672fd48a9121b4c94d4f7edabce499e01e40764a78b3565e095e59ff1900fc4f0a0a0d873bc3630375ef71f40aebb1c60b9ef7ebb9faefa3e92b132f900e93a64d97ff2ee58503713f0340ee3391277e59181f531f3da7438ff94c0ab25793ae6ab28ae81f0d397f6f421428c86550dcfa02d6eb01e2358c11442182d919974fcde86ad343977c520d2598c2194dd94216dd5e3109b9e712d7595421d9a1b5e0d985fdfb24ece18e3e2d565d0366cb322966385700809bf59ab1d2e6dc20382f91d0456d62ccbad8bdb717572aca7167f0cf97b0b065427a6cee526b87216f707f9afc1ca543d3670595ff7365ac46bbcf607d4614223197a727a7c570b6cc40fbc97e4efd564aea7efa6f9bb6ed7bb081f06e12df6df8d40ba64b557be4f67d752eee5f37d7a08a98cf0c53acfc82c1515c9d393f39767ed946cf588a7215927102f066b9e4c766c1b6e19eb5870bc2f06acbde451c7dd255ee779961a8e3bcb753ecc57114e1bb2a53c594b885ff41c8f8ddf15736cc0cf697cae1de74ca011265be93e2cc91ea26bded6bb4c7ef95cac551953e8dc14dff2523b7ff9a5f83c187f6670f300adf3a009abe8a538346c9b84f4da682f7b66dbcbf400688fa15bfca6b5da998cd01effde6e23c4f4d9840d43e009613ff5a882ff44e248ec0bfb8d2a5346da586ba14fe4515150569b12777a42f773d9c02d7d3f5807a26bfac31762da3f17d75caaf5fadf11d7acfeb6b866c23f9161bb37c683667ef2d38b7146ffc3e35ae7bf1aaff9249f288fe7ceb052e386fa9249854f77e5d97d201f2fcf69aff92d0fdc3cd20239d1215d7937b0966b37cb1dde37f89a5ecc29acf8b35afac9312a3ef85e9edbdc81a9c175fb795f898168f2b5d57c632fc51694fdc97ad31e7f3c6e20e9ce65fd5dedbc16a3f28a2fb3a243ffa28ff353f32bf91d3f1e23d2e43fcdee6fd31fde0d183bfd08812ca9298340cfe3a2a02cd8a10735cb98cb493f21708e2b18c79766796c5bc1c2acc8f5afb75f1a7b1983d3895feabbb4365b2a32397886cfd07eb77825364dd6db744f3c56a0c37a4a832e54fb3dbb1717abbbc15011afcab74f8d6782b0a89ec6cac96720e7c6c264df112b47b4571bdf18f2557d92c598d3ad7a7a7d2d9e8f0de8e5ddbf7bd97d9818cc30e2b7346d049f1ed3cb6b86ec624fc6069ff14a76c4b29d6b36586f5f8d196f9787f840f40c4e762d5c73c6f02d5a532cefd76493f6bc214b1591eca1d0de6b39c8bf4156650959753b22ea05fccfd2833eb5a66c29aeb92ffe37cac95807f8df2f27abff33e5e4ce7c11169e7b97b0fddc35dfc358b3f9ba6438ef953b5f2fc5fe56eb9f1bec0ac662accbd84bf53ae99c9764b522814e6bfab46dd4eb7447d8fe9c00bdb9a17e3db27143dca931aa5bcfb4bcb7a03e395fad595f6fb48dcac32553d8910c667535b87df9cc600cf836990cfa68d5b2ddfc47bb8d67b0decd721bcf67fb266ba3ad6b35d487c941916f16c4ce2c7c8cf5e7a4abe9cb2e968df25a34d5582258cf8535df21e6c4c24a347544d68d6fd8efa8e5bdf1afac750366551b3ea948d81a87ce417978e5b39ce1eeb7c9ec0873bc548f7241f8f8b8e1cd589c4f262326ba22df96dcfca64fb0af4d913ccbf75c9da8232c3a7d76cdc9d1f7ed18e6e1637a38ebaa7ed5987d7ec78b53f326ba92676ccf27c00797931371b6a0df2c7fc7e4bcbeaec4118a3ff8fa2e38d93bf00c7b80cfe37d0dc1f72623da26b7bf1e930fd54f4036e5462c293887c257bf3bc5651e36be1bfe63b05c88aee9cb9ee1e4732fcd23976fdcf34ddc59c4dc91fca373327350448ff01527bcbb677585ba66eb4ed02bb4fd17ef8caf474e0e797505d762ed0af93b19cfcb3152c1f70bd1d5d4b1f731f96ad415bb57c9a35df651cd52eaa631f3444731243ff9bcfe4fa5ee21599708d7aeffb145cf363d236cfb7d5c47bc8a95de14431737c57c95b0f527e3446756f6f7a996f0d33dcb4f67b198c437616a5ef969869bee41ec8b2c464c7497a1b83343613762f9493f161d20738bb609f127c0bf5263fc59ad7e175c9f51b64ed44195423daf3d666536525a98426c6e0ada83541162d4a3988c11ae5b58cd6b9a25e43a16b59770feab2f9fdbea64d4635bb56bd60e9e63a407726864341fd471f26b7173bb52ee937f506d4f9f76e6b511670ee80c657f68664b6eb04d7f296252465f20a6b28ff833b447b3b53587f5c71506e83b62fadda5eb98a632fda47efaa99a675059732fd2131adab1c11af1fe2ae015e8070f35b552e3727ac5b408d73ee6277d4adc56696b131d149a6803e83ba886b2a1ca94ae48f5183da71a9b0bdbc9d600ecd5d550602e472d7f9b3c3b993e535943b2c64b560ff60335b28bf60ecce0ae3934ae1dbd8c4a38000576d80eae37b78f7628966a05f8b9598b3f466b65807552f2b50b5bbe6fcb412861126e7627569ad662cc2f80971bdc3ee403e96a710f6fa3ae3c4d2d7cddb02f952ac583d5eaa139f14de7645f53e5d09a94ef6fbcced99d166a448dc0267f7af9f9a6bdc8eb1a54c650e3450d35d0c7c3ea9a2db12e83b000e55087b2a894f2b53966b982309e02e8e8e09ea5cc24d3295aeb3e1675fbbb6bbc95eb6cb9cb07ae03f6da788bda16c5ef28668d18ebe86672f340df62ccbf97e7f87a9ba40de1a00c30f6605e83e4c5fe60ecef07d77f7fd2d43256d11ae500bcde27c4578fab349be5cd425fa5ae3c3c283b2c843c6718e8c95a2035604dea6d58930cb9b719a6c293daf773692f0f337e6931f6d5e2f6390fa8e60be9beeeffd80e70fd1feb0274a036bebe9ce0e7141ae85bcf72d11c4d9102586fd59f9f75463634e6619bacf09f7f29385f43a64edab6bc8ebce2dd407f26b30f4b343da1af4600f801d4291a691bfac86bf36edc93d341adf1b8f21a70e25d6f3dabf9ba39a60f68444c2c8576725ac4365a939b278066daf86d19235b6ab519ae77e707ef9efb38beae71ee4716cd3bc318cbf0fe7e6c5bd66a32080faa4841df15a0f1121e54092bb1ba76370be17d86e577b05c54c583cf6a90a23aacf06f11d59ccae51fec47cfe59b6a8da8756bbd33792e5570fec4b43507bd248bb5ad0b1fe85793f11c03d20e8a7fcbf853535d9af618cdf300c8d5850ed27e1fd4ea08c1ba042bb0f6ae19c89156c109e25d0fea06d51a9e3b6578b316a267062bdb9a3c16ba324c74c6b3f989b53f28b46726e3b5ae9aa7bd3f8c34a51ff0738443ca83777ccf2fc505025d60826be556c7e30ec2c3360a0f3bb2c674c1d30a9c421de33454b0e89c3e93d54726cf8f99e197c33cd5cafc1b721db08d303e288fd04cb00d2790538bf3fc83229fcb583131f90ea529ab14fffd9f962a520745bf2259a988b9a9d70f592580663476451be07d78c7d5c64ad6df2dc779e23cb50ca3c162327d72130bd3364cda2c97cacedf276579c463696b398f5c839ba7667219e23a90d6b156eb7dfee1367e04300e2dec7c0fd7066e8be12ce4aa55e99e0377af886a2ba1b6e4a27f7467ec23f5598d2ca7f37e79565fab19af6a57c1e5cace40c73dd684e1af11778cb8dbd3c59d98fd4ba7a62adb285ea0aed7d79f1f64359bf139a86115dd706deb4acddffe432ccd611f1db94705c37b86300889670cceaa3d2304956714a9010b9c1e1639996254c124a9f56332b26b3083b3a6ae06ed355b8a3c9ca6f7f2fe142b3458aba10ef728ab3148e6f0e6fb40d4ca310e8b95a77b14916b94cfa5c89b97a38be9cbbe5ae8296de737d9a402234e6d624df2ba39edf55d701e2631c6d88435313f36d7ae7614c64e7445b7b25af8fca4eb1954afadab6ecf7a2af445725f59d9d5183935db72b19d2cc7744ed20baef723e4ede8cca3019319d6334576ae49573b62d77ed69ec972d95af765371f8b3b935ccfabe1ebf7f67559cd36943c1708ba85b58092fcfdc0e086ecb16ec38b975388d97a6a6d83ce69d03718913693b8edf76734fad8ec97f1261589f5b36cd31f5c0ddf7aa53e5036175653573728537d8046bbdae9a0d186679ed028a573eba9466d081ad5b9f94d67badf11d37d1fda702aef7c6c8e453d283cfe338cc35157edf499d5a5f25edd479193dc4d22eec97d7c39273ef36b6639f1397dc39ac69c57bd0b208e51bdbe8d8cea3fa13ac0d0df6afac3f07b3240d8b20990bdac7a6d7f48db30f721b2b87950ab8d9cc7fc223d8307fd2a156c418ca5cabb227a3690ee0746bef1feea6e300f0fca31f977e2dd0844a8abf2930165309167388333d073604c45f1dd0dc8a630ae317b371883bbde330369403c971e15da319898784eb27502af61bd1bd1553b36cadb6894072bb2e3c0b682863c0ea79f9039f47c00fd7a754cff9aee24cda445f33b44ec796e5f23f3c4846d5ecb16c8d737e82b9ce4766584a33a69fecde0ce25df1cb17f495e07b890efefbc82ce34afac82923cffec2c04651d1c8ff5d4513718d7b7c8b044706cc0a4bdfe72b98eda3ecf2b6eb1ef55eb2c9564c3f54e9e66eb69b2735a53575eeecbc071a87c203e2cb00fdb623d4b3902e53a02447db746d9928c21cceb16133e3894130ae31c1ffeda173d687b754b310068cdb23abaf93351f3bb380faab2eee783aa5ff517ec5ac26c9f483b1c870c731d11ae17f2f916fa344953c80f86cf8f83d6c7e4bcd058081d6b8730f881ee57abeba9b6ea0cc8b6c18efb799d0416f251b8a70887697c35b8475ad64b4bf1a5059649a5ff273c1cd645c63a409ac76abf3cdf27b12fd93da136cfa7ae474bb5da5d1fd1d7717c14b635d668abc15e2f933ca3b38f726dde465f2fdcc7924d0a63ebb5e5068b3b93c1b6b917d6a66a63286c4a1637770caec82f11b672d33e627ab9d2262b5d75dff3f449191fafa19e57fcdabe6dcab873155ef8a1fd4baa7c1163367c682e618e5944c876557ce3567bea67e6dc1ce755d419d414e96aa9c27b5e6fbbb156f5e7e799dd9b9fda27420ff895fd2a742032f6a08316e138e35c7ea8d3789b0cb249a5a938139af253ab724dc35ce01826a8a60eaf64b49afb67893586f8d0a74aac69d667f59e9909705c42235e11ca3da33af33bd6452c3e2deef603248f77af1dc610cdf6a0752d2bb19664addbe635cef056087983b009b4d15ad338f07a77ae69ab4cf3dbfa68906baad81cd9fcbacf6dd5be7a7a2167a7711e90267955023a468e390eebef00b9b4b27f3f1cf2ee2fc7b912bc0dfb422a982353449bebaa9cd471f7e1334219cc30cc6b5139746a7160ae151bf9eeea1fd4556ae579b6ade3abade77282cf2b8c2b6e94b7caf4ce0def0697e1e86a91c94a40ffae9ed977839b7f683cd86f918de556e48abe3a9e72ec60a1dfe27a57b5babbe5b9823b3c5b7be45793928332bf41ffefa47def9beb8296f3d01a7c17b401639da09dbf934f3cb18357ecc5d483d4ef5ea0f98ebea3d673da40cfc53e96691aceb95d6e8e9a30d36e22aa35d088bb47c41cdc8fd367cfc0f858c26671813a50f9f71a265f5eab1fea4a1f9a4f98e172bd1bfe90fa3ec9efe62b41f3cd7ae5c7fa79a1debbce496ec7fd9c9f3158c3a622674ab6167c4ccfaad5b576cab686d7dafdac3e536fb7903bf3fb221552b1e9ccc318f8861a8435f9429a498d3cc3486864d37068474fca7cb0db2efd120dbc6ac708eb632b3ddf59733fb3d3be16f3b021e2f8f6b4b83bd31bb63ef606bb47c31807d89756c8132fd2fd4bbce7833aee33ff32babf5a6236d60d31c1a24ae0e8bca89b34d0765d0f99f63bf616d7e126ea34e37aeca8be746becc39e1571ecc3c77deeafebc3e45ddb61476889effb603b49d7f9f8355df8a36d54f5332266b7851fd01f9a6fb36cdaade77ea6cde58494e55f95bd093a463186cdb6506e4ef0168c41db7e46516dee46be5195d3b09ea9566b1889651d64a7cf84d41b57eb7fe3faf005af9996dbc9eec1727c3fa94fb69f01f87e6e33aee850443c6da1079ea8f554a03fb7beb3df2aa314fb30c6b156f53a56596cf6b3777f839fa0792db8ba9cbdf607776b72aae8291e693bc0f6e3ba0da5ba770837b3b26f6a8b1c91e5694c47a138dd84e27489f07c7fd7ba55cf7f0927d3c67eb6065b481edfbf89f9e986e2a79b04e68f6ccfc47934293135d98d5baf39de8e0d7645b4e4c03cfe2a1e00f15ba36cd6bdc6adf68512f67bbc9c8eaa392f5723103d0bfaea45943f331139c935e9f5f4f4a5e6439e36e1b08d085a81e78de07dc867fcefda53c2a7fe219aafe896c57dd4e033ff95f135ebc459ddf7d5975c57adf83b4a7b0e737456194f29e3e321dda6cd9ff3140356384b5369bf4fdb79867c83b5766a3447b7c6ca91759aebb6e5b08ad79ae591d4723dd7eeec0bafd0f7a353fa9ce57abe0b3b32df17c69ee4cf417d15f6ffbaad835ce7f29e0eee2627df10f6e6f3ba03551bfeefeaef39adb7ed1585f1c9200677c127d28fdd2bc41d9e4833712eed3af854ebdc6a3cb9d927d84037649ed881f3ce3a27dfd658ff207fd395477850c7e94115bee018fac884d87d10ff13e77957e34a973771d75ea7ad155bc6476b02b15ed2a8ebb74266c167ae5a87f3e367f005bb729e73f9399dfba336baaa0efd095a6d99d3becea3337d3bfd55b9e8e363c963c65bf12b094c959d78ce7205bb7074046693d535b8fef258d3463fda67f6b461dd8b58be5f6d9b88bd6fce176372ff2fb475657109420d3796a8e9bf38d56ade14670ee64b7b46b0795f25e66730a3d2da39ffc8b34105cf89adc981155c2831e5275dedbf548330d527a7989fce6861b20f3bb189325a256a7fb6ec31e4edd66275d59401ce096cd3e54b71962df61c887d4599be671bbe15fe6f94353e37b79affb14d966bc8532270ba8b9c9f6cce24feb667708fabb910af661ab107cea360dc3e3777f5ddf566b00847a356f3c0e9d3f55ad1dd7ee1cffb8eea3689d6ba0598961a748a7a1e7005a3bbf67bfb9d57a1ef57ef3d120ff21769a1e9bee9ceabc5bc10c76eed46de3aafd949d4d924f4b57590e9e20db21ec127f3bc6587f62c282b08cff4b74fae5f1ea356cd0b8984dd3c3e92b6a6dc76bd2a7f0f6d48645ee7ac2f52ed72f8a7e87457f73b16e31cb78c73fc649cfaef1e239201caf5d67e810fd7e8b3c947553b0bd538e80edf449566eab6fec533fe30ae62333cbe37e8c1bf421fcfecffadf12de88c36f917b335760d66e06bca233cb6f0f60e8c80a76d5630a2daee19221775568f714fdb621a6bd85bf0ce3494e17be97316775bb193210ca8ecb928bf5bf398ed4c1f9bf459a49775f83f601e946e1b5c5cb1733ed149dad6ea77d95fdbdaeff0535471054af9ad0a5887d14928c702b1e2d464456ad92a3335def395dace55fdf105fd373593b16b29abab96d08eae5eafbababcf0ae89f06992f851e83e9f78b7fd9e81b91dba3fafc75c35c712befa6eddd77016a7c2ee5493893eb7dfb9bcf3b4fdf52fda99dace03c472c0bc69c99d739b2451e7a0c9968d7506d1d59407d259b7f1839fceaa38aca9c6cc43a44fcc42f0cca7f6b0f0e99f0ebb029bfab531fe9b74f08e7d853946759e99cb08391652fb1dd8b116e36b11fff1545f7ec03aeb4826a14b794e4a56bb02d68dfa5260be95310d50dd9b6a3d96d57493cefae22e827951505674cc60cd0c21de95b53837d6c5cfeb9e34e3d962fce3bc66ca87b09875659ec21c46f789aefdd9679fe031176db6eae2c45918a1b350ad2dc388b651e8e9a100f1a43e7c9e4b67a4830eb318c35454c0ddf1eb7bc773791bf073870f2cafd783f0b13bd7b66a1bf995779f8ff92996f7e343fdbf82dd8cf94d24ec60edb1976c3310f77a31eef3b02ed4f87ec0385cbaaa43fc8f677edaaefba031c6b2458ee77773222eb5ccab5e8bbb28c770e99cc71c94924e55d4337ca18ee00bf3edc86180e36e8d69f9a80ef09addfb49ac09894d1348b0c639af889ec1c5659ca2ec5e5581bc225d01af39b6d570ab3c57f88364df9a10f366abb5d7eafe5ba1c5174cf01d0ad6cf6e185f6bbfc9383c6c4b6b908d03cb42446dbd0985ea0217319b91e5cb89c5792eaa1d8968108cbf144758ab4b548ef52dc78169191e0531577c87b7c644d260ed611de5e20e87776e2946b39c47faf11c0169269136b097e2e9a0be30a9c694ff86f166be4488ddbbb9147957441c49ab5fb13687f63cdf976808fd5df40be7d23dfe928d24cf737f99a6f0df398da0315568f9059b6791ff48cebf1e7bd11e6755b789627a2dc76b903eb467e773d1bf8175c558b3e08ea9c992e294c85f7cb99dcd89077ccd4135256b98fcbb0e8c80b356aa5909e81a63359d04745ecb35a970fe6337bd4bffc0e3c965dbe5644069ca3232b939e0d7f9996ccafd6f9b3b5e7fe22c89399e33fead0987b3f11c0bd3fa9dd041a7188bea93fc15f10a32c6fc737dd4ec1ba5fb9b2962b04ae7f563fc353b0b2ff3f917f2ce00df99d6ce66f3be4c8a1c8282d78e7fe7783f1fab589fc387f86b9d7e333db8c2b79ff0bb12d6228c2fb33fb43e551e8bc7f5e17bb4c0f9102b7ea55aacdad378d7c29e0c69f6533c16cde309efa9611bb6c574e0fccd3a0e1e43c6b310f132d1718763e19f9df127fc9bb8cf6abeca765b0ac4afc77543bb74882a76f6b3fc80d7da5d725edd2ed2906f97e59090315519d63a71461bf34e9ebcf331cc8d0575d39407a0a1f65acafe3c04e7693919d8062727d6248b1fc3794038664ae764d7605719363f11b351b491ff8bea99e27bbcc24f8a7a1214de13dc6fde3faaaf9ae74755f9c68befa33b9ac4ae0bcab8dfe80c66e7ae8691bedb5f6bd8ee702d37d9bf985ef0b8e624969f19a96a4d07f8445fe4f8cb6bab163e45c2b66699ba3b8a45c7ac61654ae0f36cceeaaa783794fd974abe5b694d8b7ab5105fa8352ea2ad6633ca0fd8c7ab1a2e1fd53717a73ac61ebed3f1f76c6e539c8e1a62ef66e5780c845b1819cc903a40f9ee6a1b80672a8faba68a9e3ecdfc4ac3f4d8fc7c60faf301b2a995ce836b70c3b4c0eec7d8880194176b71dc255aacd2c2366ed84f408f80bf64fb8a7347c97d099ae8207b4f0c0d56f42a98c4655b373ebb39865c6eeb417d12d896e5b323e7b41e998bd515f0bc23919bfb9436495ccb6a3b32857d07cbf0f938e8f2bc0b1c41abb03311b107f4c317a6b6bd625f383f39dfc870c9969f1c57d66e865df60bf3abb501e3e86e1607e4b24ba0725abc9e9e82463a2bf3242ba7ab025ff0d7e65760075a44dccad37190f8a97a42a79622baba2aa61dfcab2f26d68768d462e689e1a3b3ff2b349ab743ff0a8de638821d346a3e3e48a31073f193eb5e6a43fdec39f64d8cb1d84a9b0fc13d07cfeef3624dd01d837187325b4e94d569c6f65b2097a71690f3e1e712fedda3c0b6688819697c7f76e27d846984e50312ab39a9f0729ceb4943dcf0e524fb9cb795c9e275bce71c1336efeb6ab21ba06ba036489c5c8ccd5abdffb33ecab828a8bd67b861e26ccf4a7b89e8bfa81193cfa38a7db1a8e6f78d877c20a7baba4ab3f1c33a8c195ed764006b609b095e1f5817cf8b74126726288d0bc52c05e3c460ac04f080c65a402cda7f73b1baebec0af2ad52aed9a229bf15ad37ac6f07f79bceb0084e46d9c79a631464be858677aa9f2393f3627d97618013358f09fa5f2ee2d38a88db17dd2523ed4ec98f6d7d9dbe338f6b3def9fba89e929d353ea6b9be180aa4d7674286b91f908996c4c190c5c3bc74cc85a80ab522cac30ddc4e51a1cfaf5c8c9671c2718b7c551b7b7bf04bade5d53458a578b769f60bac5458d8f51097ba2144bdb825d81e2844abf456682e26e357fd827e37dd1b3b5185d5c7f6cf34ee8b49faf25587a0e62f24746194bf07c50579ec662f99919869642dff29a822def57fb4175ebae088b415d79b89644a9ce5ddb33781c28c70563629abecc8033afabd4cde286b6c96e222d10aaf5d5b27d2fe2c29c51f63cd25bd928f77f0299bd4c6f424cd00ed82f17d72328eba92cac05e7ae8b58b886773639ad3d89778dc91a56c26e94827b028d59aad524688ba35932baafbb35bcf1bc6e40690d927cbc708dcd6a2c4620c23a6e1a5bbc97ad79e6f7b51411d9d049b9bed147baa20deee15993f8866580d4e4bcdb93ba33d9f8f29a2e07850e8e797c178af920f29e62947b48df756e1e22acf3528d484a98623c536578d694383a2ec42fe59aa002f44783fbd56024db98d07d631155ea7f6cbc7a2e9ee035e041a42b95cae68bf4d31ab60fb265d56b97e6382bb1c18e11e6aa0f6b1c781667c3d8e5ac7605afcc29881f856a0f23b925930f83f1dd44b6d61b382716275307685fc86a6c6c224d95284d112fbab2c13655a2aeff07dfcffc899fed3f7f1fc788f31362fe455bd9387359d1e48631c26a219ecfd6e2495b5d632edacdf69488db2a63514519562e311670ef50ba2a5d604c4356b36542dbd642b235c626ea63539f5eb35ccec8e2cdb7f147c78030363fd93fc22369ec9bd88b3cc6f7c99ee5cf35d220b11fad63ae3d93e51bd4659a073eebd82607745cf16afa62a857ea11ad4bf9f6151f4fe1b3a485895cf0ba05595310c6a315f209594787f0bd883b28b71036c24dc8fb48dfc9e4f986bad819afc0ba8c181f9441193b18d60fc8eeadf1d570460f3319039deb6af81ea56f8bdafe1aaacd97dd01f141e99f04553801fdeaa00c601d27a26e3ff21952457dc1f25dba8f6bb6437427cc73fe35c16dd0635b67e4eafb8ff2fbf48898d74f5df57cd39f47ba2a9ce0bc82c837fd61d49ecbb8ba5bdc9cd2619d7f401fad716e8901eff7fd4548b558e7e4e0bb0aeb59e3f893ba0f03d761ba1a1cb807af9783229d756530e403e4f36dc4362ab0bb9fd51e8974c5b279a55ed7c49c0c6c8d1141db607fb39a62351b20ef6ee8ae763439b24d1fe863721ffa6938f9fc972a2596225b643da1aa5ec3633d04d228e39d5fca7b9acd679bbd34aed94f9d3e8af5ccf1cd67b866ea28c16715cf0bd2f955e7f660df6da312cfdeec579f61f920b3ff93b1e3523d961cef4d957e310e526428de59e71ede72219d8f6ce10b2bf20968402b306608d2a63ff0cc12dde05a5f5b1ac73492f2f3fc7650e8cc9f0165a5e5740efdaa862fdba6439cdd5dd476beb3334d9c5d79b8e122efa8e889866a5021392c1d793ca7270643b7c6fa99fe10c883de7718abd7725626de10d54f7d7cec6c556348f3be0446e0244f4fbc576a2093b21e114bf7027de233dc400318f7961ef6de7ad7c3cf6310f5befd57efaff3a9f7add77beb8907ff08fefafbefb7dec989ec9bf18779f1fffc79b99c9de33f0327700f7ffe3cffd3bf3dbefd695c2ed19f87303c46e19fd1fd4f330ce15761f4f370fdc377823fcc30048d3bc18f0bf8d73a4607c7835f05a89bfae36fbdd0498fbd6ff43bc3b2ec5bcfbf58c7deb73e43c13fff1539f03d8662e87fd2cc3f992f3b86fec67efd46d37fbc0fd97f505fbf5154efade784ffb29c9fbd6f3f0e5e787ceb8509ec747abc8386bf7cf9c230ec5b4f804db32cfdf5eb5b4ff49ce0dcfb46bff596c1a5f78da1faef14cb7e7debed1dabf76d40d16f3d0efc05062259a021eaadf7d7c1fa9779bafc8bea7dfbbfd41bfcff3fde7a2330c8f07a34419f5bf00ffddea7be5283e160f0d61343f04d9ffd4a7f610603f6efb79ed0f8fc3bcd30433a7bfe7dc852f0bfbfdf7a93d6f6e961f63c3be8bf7f65bef6dfff7eeb8d9d9f91fdc13eb6a54d187b17f31cf6beb160f663ef8cb6a84f0ddfdf7a73ef700ae16a70c700fecb8780aee09f1bfc27589dfff81bd0947dfc09b702ec4eefcf7d78fc19fe695d82d3e316247fc6979fe7f07a308f7ffe3c632a2389acf7d65bfad7cbcfe8af436497c835ff7d7a31d10fbbc3cfd331427f4b970bfe4b3844a6ddfb16dc3cefadb78d0ede31a711f8493a1ec24b809ee52e73c73b86d9d3a8e7fce3f478cdffde1dc3a8f234f8aaf28670b16ea0bfffeae1e1771f2f385a27e87d8b7ede8e6faf2f181cb970b15e5cded3e50fff62c197e4e3cfd081b3a7ffa0df2107b8c29166ece1e980f16ebcc618fe7eeb5987e8d0fbd6e3938b3d7146ffb99cadee062ba51633a734e674b2dccd4ddcf653f49b7d371439d614cb5b3be38bb5906233bddc79a6f4ce4d6386117a5ebc9b0b2fabf89708d359c2ef96b1e08e4e3207da9aa7cbf9d836fdf0fb727239ed38cfd501475736278490b23cedf6de1e8fcb3619f9bce486b77c8c8b956d8e2effc9275fff73b9b99cbe3be389c10c2913dc24ea281ffb72621363b53c8b23de9f0c5c83a1eedfd1fb53831d0fb2c819c11d3d842d9508d365bc9c4b177d5b6e7fa3022d669898f1d377d9832a41ad6239f36e5ad2ef9c6f65bc578bb369cd41e3b416966326438718c71d4abfce30d214efc6538fd58692d77b6a7f05ebc6a7d7043c7b4ca848f31fb4bebbb8c25448b5d44cd70905ad4307c5baaf1d8111dd59acbbcb2ffc968e2d75151bdcfe7d99eabe385db9c22e8c2042b01fbe2f997d5f60f67d2d05dfad3c7d7a71b5d47c68e932016d1aec0a7af5d68ee8eb53cb13761bd0e640571e108166c9486771a7c5c2348c78c54a7445bead1d811598595f48cfe0594a57e6e1da1112811306eb9d09be738fca1c3c97e8fe8cd2d177285b7f87aab582be7576651f7717773dd5fafaeecce4df6de9b3a6ae7eae1d2115a7a22d4e47709e5915b44abb44b5b83398ef4057444f77c17c0befe23235536d774ad7606d14efa6fb5fdf97e92815188115e0da649eb1ea9cb1d7d3adac1b87248425a3f575d7f3b51d7ad6046b9e0a94c0cc28f43eac52f913659d6fa2e342786ffade64a8ac72059813acc479c01911bc429fd7aec9ac81d608680356b88c6283f180261feae965b08699e30dfd71f1bb00ce317eb712791199ccfc662674aa036dd2bd449a3a8695ce4dd64b61f4ff0c221ffddc2973778fbf83d11a93d8d933726030fb93bc3f3bfc7c7507d29491c4ce969343cb976114dc7236f02c65eff0b3797250e6213f59ad0d56ba2fe7a26d0482c32fe0bf91c9c8c941d1c2e5791e9b40aa9ee18cca991c19ccf5ba744afd9d2485be1ffcb3c34f563b5db1eefa762c6fb7e31daefae4e4fd54db0174a1a0082cdd9f4707e531e015fa6ef8c30c4562279dc1e7afd1de97034b79d8a6f3107565101ac9433418a06d7d0d37ccf06632c350538570797e5c355f4eb0047eda29c39b912cc3e559bc5b605d01aff06576e93c228319dc1182933cfceec4390a323f25aab766d5e7d42ba44732a2f6b8a02f164787591459368775505ac72649f621ee4a12398ebef0def52d6debdc9536d90dae0c5c7ace3627f405dc0b98e65bb3363514f918eadb870d25ededc33f2896aba963684de039fdaab37202be077c0ef0d8ac423acfd9d09a6d4e1e88377203db721e69e66568cabcd1fce1f9a8962abc562af7ffff819e1baaa3e61553ad1c49489836a0a26cfb34916d4dad77fb58dc99d588aa2c6ba6dde310d006d08ab1f762b874a8c7b2a8a087a27ca7590633cd1c54f1aaf90fefbb1add2d55825aeada1d953381143ba99d83cca389bc5d2514101235ada8884d5f84ede322388f8b903c2ee2e47111b78f8b58b5c283f7eb557a6e58f38b6ba80fd3762fafa6ac1cd38bce9a2ad9bc3204f2d4d5f0e721af4a578b7b78eaf6616bfe2a5158fc59cd5008244f6386190f792751e74a1988686fcee0ce33fdcc4a4766628dcf062b51bab2f9f2916735564e4c6698ac7ddb3316a3e628fe27e3e055f1e7411d452842135bc55e7a4e1e6a8a74367d589db4656df308bcd45a782142fb59459a12d7e8faa00c2ee03eb316f4d9983ceec6e4411b8b97f61c455728c370c90d439e1b86cb851cf20b197d06ff2ee4b0313260419fad45eddcb1c2743cd439a99dbe7635d495f807f68099aa7cb738b95ced6f32c2635c8640a634984150ab60edafee0627796640a786320f8d459947aca723ef07908d9c476aa9e35674857224a449afea9185f1bad1f205e57ff82cec07a2efa375e2b7fd4454e4087c6f2e50752f7edba7e1d92111047cdd16b93dbb6e8ef0fd109a402302c26ecf6aca926e69bf1441aced50265856d9f47bfe194531a95b2f8f8ccc696fda7cae11d2106d23a4623bab367acd3ea3682711f4511933e081b667fa1ed5b5263f14f1ae73fbf0c0accefc620ceeda5453000fabc80b9ec8213985deea8a451bdc3ce167b467f88f3b3f03f2cfdc3592c7d46006a901c694c4ce8ef31c5dc5fd3963200bddc13db66186b4e97b9ee9c08af60ecf91f254e57e827b3f2ea1223d3b8f2574308c7c8f22088aef7955a48ecac35b07a26bfac310568f0968207fd0a4b7ae7c8660441091b191df79d14191ce25949aac7dccaf4c560f1a3353ddaef6e421b21ecb954cc2876d2e440fa188a0bf7f28a26d2e00cd0cc8082e5c7dd54491654d56f9ccdbbf232a9d66fa55a5c201e23751219f218bfa7bd6d60f55ba54ab22d4e91b9f7922dac550a06d21ca51641470e701bed98106d3c053b3ec052d90c1786ecdd52168c752c1f3fd3cfbc060650ade093b941da473603ef279cd0c690b2128c30a0e4b0ed2d2a91cb10d659404564dc6597a3f94150de9d1795c8d604c5b93c7dd5c4899bc9aeacac3d3d84d08ef3a0e55c225e8ad16ed4eac61e96c10df57f86c71f66b635944243a5e2e5b11cfe1f149d95d5cb2b4637e648033a3efb2b51c5847b00e8108f80ed2333939f9a18a9ec1c9aeb58858835d9d791546e580361270cffc9023eaa88ebdbfb2be3d2a5458696072fb21b8db7555b2f8397e06dc0b3e7db5e65498ef2f89a2a48e635d99279a32003a5936ae61d65ef68e8a79f1da97ae2603cfd6f9fbf661580b2fd67774a2aba267cda94c063d1f5411661aea9373313656760cc5a35adacae9abde8657c84d41865eb06a18e3e53d476444f485bc414e7d9c6b878e0cf61261d919c84837a027d5c7dada663edee6b65625af18e1852ee42a788f7837732153f95c18dbd318708fdb16cf957f83917ecad0ead45b2b15944b678590ddb3885b1d9f8922daed31d47dcf333809d05125b37d54995391f959201001b9eae1e98c7cd3170d089415d4a8725410faaeb18f1abfa26a1924981fb79ee95c07f3bddb81939383ba69427b46674c2522549fc95ef9791cd086b28291fb958a5a371801033d86391fcd69cd08e448f3e504d25ac12381ce06e9c5e4e05d8dce7a50443bc03d64e98cb653788e19db3a16fc373218dd3719995a3b54026d5e44b482b9187b9abab20d5fccefdb9cd618d9367df1521913eee3549689829247353639f0eefc86d7f3a6abe5f5d07d2fd4b7346d728fbba66ca2e2de81b213c19fdbdbcddef9a10c696b01f973bbc797a5534ba1a14db394318e237c21d25b231f963c431d43d4955aa6b94a1b19a2b85acfb42cebd8dbc145d8c6b7c37419f2fe29e527838b38019ff7e033c373a707cf9d129e3ba53c77a278ee44f3dc8969d27ff8b62ca95d6396d44d70ebb23e1acfe32254b39a8a0817a4cb070d594f2a753b4c85f03015ebe72fcdb220e11ca87a0666fe3b981fdd91a179111d683fa8db5c54ea6670b2ad5774addc835cb7c9a402ccaacef72faace5b0cdade6bb4e5243fb6837cbff9ddaab20efb5bfb385e69afbaae9b5f6c4faab4277cbc3d6823aad8662a3a75d586502090542a7d5432c96b59905b6fc807229083437e81feadd0491fdc114d59823fb603309e9f3c07c65aae8e88100f5b6d6baeeeda1e4427473c813602a487e88be23ecd510680dc08a3dacbba0aefc30c89bc422219cd532001a0674c561a18dcbe40c4ad641bd4d07c6a3cade59d5cb67aa0a86dc6be1adce6da50e1f996452ba388150fe850a951391b6b88088c74937284970c239935660ea3c4b1adf86129438ad439ff3ff6bead4b515ddbff03ed1701ad5e3eaa286a0bb68a727913a8a522589e560be1d3ff476e1042826855afb5ff679cb1c71ebd4a209799999979cbfc897c4be55b9f4026d0be9835d0a53ed10da16a85ee721bbb64cab1c1f28c39652479ca3282b10805ea2794ffbfb8913589925457872d5bed250bb377f87bd5397b967f75e3bbb4b5965c3d2597b379a590e80a6cc7ed189ce79dfdd6ba9779f0018a328cd7892a4bc8cbc835a79151874a699633a8518c81d5175a37378e4e813d8d1e6485639b7e7d85d9e03567514566d8451f33cabe2eafdb91bf6ed0afb261d75899856baa92b811cd55239a6bfa8f40eea62eb9bd10a398dccc0e000dbb8ed9093d7959dc8ecdf5be65772b4f8f6574a729aec4b1e4f069a5ffd88d1de13aeae13035cc49875f55690af91df43fd1ae075abe50362cd91f0957d665bd04fb763815decbb2d248db124d673236f8fdaa8fe9437ff3485f86f44671d38cf886eff04697bb9232479942df0ab0dbf0ad80822fb205bc49c0549220df746731dc8f7bc087f0662275db6466b997c08a8e33989b90df30ba7a9a7f297f275ddd01f3ad6d5cd9efdeb5fb0f669f14723eaff63194c078ab37fbd0ef950c618216c95487c07a7a836a7435f3afdeb29060f5cdb1d45d68e886df64b0bf423f1fa9ce99396d7fbc3bbfa7a5b937a217d397a287f57dcdcd63daa0af8b9bb2eb2a55d6d4972546de1e6598956a0b6978d743580df19bfa6fb1df556ea7e8e6b085c6d4baf97157a1656971ebaa828e8caa54a7c5ad34e2db41b7b3aebcdf2a95606726c37f797556f03bac90f339b302602f46fec9a8f269c9078c751a58cde7afabab00bb6a93fa591bd0e9321b4084de53007375a6d9af88ba0d0c9e6f24deedd964ced17dfe5e013a2788b683d61dd11d56b2cc7f0376126cd71ca6f9f303f94d27efb5c833237fdf21cf14f26c3e20cf8ef89904abd690e7b9ec1800be28c6e3693e3526f42c1f97753fd16383ef1ee8673afd5d8b7ecf28b5e1d0ef29f47bf9b8e17b47ea3d66fcd6823cbbba143d3d6b418f1f3e2bc62f1d4be307ef1ee8673afd5d8b7ecf28b5e1d0ef29f47bc5f8c17b47eabdf2f8f37d3690326f558cdf975bf4f8e1b37cfc409653e387ef1ee8673afd5d8b7ecf28b5e1d0ef29f47bf9f8e17b47eabdf2f8df35c2cb529be6e7778de669f4ac18ffbec4dbf0dd03fd4ca7bf6bd1ef19a5361cfa3d857eaf18ff9ee6fd36e17ff10d5c811f8eba150f1199ab7b1bfe8ef6f7bd74ebd41f4f2337dea47ebc39e6b63a9173d674efcb11ac7c55fa06c74903f0ae49de057a960ffeaeeab85806c338c258bfea66fb7fde29194b625108e904230640f44a910f72836e93c0dbccf76c664efef3f35442228095ee205a4aa93d52eda6181fbe6904c60eed4d3f6d65bf0ee7325210fc56cf66a19ec1ffa5eb1f743f7aa6dff0938c6dbff48ca183a172e9901a2ba67da8db96cefbd458b134587369a0872c0d26151a8077181ac87c1a0ce559e8c806f83f4b03d3b919e89952699f7e066c51287ba04d56ed03c5a24a6d635f389e3baa6cc6d083dc7447e7915da5c37cd0c6aba033f4d809d78efe266f9b47e3f2dc4b3c6d1cda885ea1cfae61e959debec25bc335bb8652750dd7791bc698d3469947e931667a4ad3a634c6d2b3bc7d0e7d0d7528a2414b5f0969507a96b7ffb5bd8cdae0d0d13077221a4865fe28ebf13c3e9873686c84423e906bf840e6f1c19c47e38ce503bfc207e09d9c97cc3e670fef84726cae8ae558e919d9c3e6f0ce915f9df27ad37d1fefb4fc606c08ead9a69beb9bdcfd06ed41ced9c19509c4c6479554c6a5ea0ec49773d5cd6bf1df76eb5654c31b89beb9ebd9b5f86fa5f846e7bf9fcc65e273ed7767c4e76a8e4a676b5e95a518cfbd98432ba5e93db3487b931f4535176a1c0a771c59310e831ac7923b0e43cdc7d1a2c621f1c7b1cec76150342cede7621c72310e971a47c01f47416b851a479b3f8e5d3e0e88f68cc751da53c5383ac538226a1cc384dff6905ac761428de5aef3dbbfd36b49f3966e4e056b4fada73905638a5d88e8ddba576e6f87bbd2be24f1c49939adda90cc395cbc6b54df45e7c9a71bbb996b2faec6b8929fc79e0dc5bb55a43756ce17ef56d1d6f0edf17cce4a75ceeb7621c34aefb6abef3a7259aee4ef76aaeffa52992ec38443ef4cd0f75dafcebb240b8b9b9bbd8f72dc7ead18a77efba77dc9ed9a12efd9fdd4b5dcc83f4d2337f73df648659883631b675829bcfc0db22180dd40102d07d209e89f1885ab5ea746761c5fa77c4efe527a25b4e552be6eb966db94aabaffba624b40fb32e3ead18c5e23d6e599ca27e5f5add06421d0b31beb682c3d243e3d262c3dd22a3d265c7a1821dfbe2aeb2062bd9ee10db97a2e17b676b59f3ed6cfab3a3da103d6e7b9766261d78f78ba8b487f6b8bd77357d55b60fbd33f6bdfc03e0cdeba4aecba027b8f5957a9dccef28fd9a3451f1b4e1f8bbb881e8cbe5fd641e967a53edc2fedfba29d80d74e5b440f46ef676c06117fec397d3842fe6074ff721fa1883f224e1f3ecb1f4a953f7c863fcaba0ad91362f9b7ab917fecf946f9f87876b529b4fb3a35765f8767f721bf22775fe2385be50ce2ca903cfe2ab7ae6e1ca5bec2d76d67e6f047f1dfa342f70334b5ee7bd177baa953fa9951feae6c7315df147a34a53322ba0af4cca20f664e3a5f9f4e0bbd74ca8cc9e08fa9d0a933664c2dfe9816857e3f2e8fc9e0ebbe5231a60d332697afe787f99864664c0a7f4c7e3126a53ca639df0e6b1763da33638ab8639a17fa7b875d3b81ad77a7d6fbae33b4d285361fb5e62c3f9a4381ed37a4d67d98d2ba35ecabaab7279577aa7aab40bf46fa5b5527667584d2fb59f5fd4959cfc6675cc50661ceaaf2fb1b0e62cd906fdf607eabbc8ffc45255a184ad51e61fc3fa5f7e755fab2fe9cf2fb555a2bd0975ba6d99db36e6d91bd45788a9d5f4936db4de3d0c9d5b396ff7a8c00c5c8be394e00e35ddf192b80b1b57f2c5e00637cdf193380f4f8ceb801a4c73f103b908e7f327e0079ef0fc61060fb7f388e00fbf8865802e4b93f1c4f807dfce19802ece31be20ab09d3f1c5b8031fa3f1c5f807d7c438c01c9e93f1c674039117f38d680f330be2fde7075072fc61c6005dae7e30e702d9e893d40ba3e137f80347a2a065191438fe210704ccfc422e0989e8a475464c1a398041cd333710938a6a7621395fdf8283e81f6c493310acce34fc629d01e7f365601fbe2f8cffbec3bcd631a70ce4fc435e0fb8f631be88c6b1edf40e755f31807e2b747710e94a7d53cd68179ac71bc03beff38e641f8aa71dc83f0d483d887383714d56c22f9b503e9e296e545e2c79bd8b5a729ac8c8df2a6135281df8947d9d646b5a4e86f70c57bd98595d871b57e65fa1964e0ef87710a985328d0639ff24595f477cdbfea7cdfbcc4b689f492b2ae50b567603e235f7fff1efd8ca5494b10ab68ecd366e961f06dbcb442e3b0428f944f0f4710b3fa46dd5af3af2867bcda0fb635aaf11092bb57e4a0576d552a9f95e7cf15ea5362fdb2cdf1e582f6d33f1c1f027d645fb253a91cdd3f16db2bfa90387db4c4bae5a246b75cf0744bd087fca57d4fe522f3da11dba6eb9ad8187bb6e47db4397dc862fe706af8833d8ff23e3a9c3e14963f903d52beebc0f047d907cbb7316ae222e5fdc2b54f61be392f1e7914c6c798b808839cc1898fe1bcf52ffbbb0ae4ccd3cc72cffec9e0fbf20fad7bae231e5ab48e7f7153e902915af8ba25a5b70fb3f2772d813eda2b74445ae7057415e8a2451fa3f29c447a68113748993165fc3151311ca53c26836f43b58a312d99316df8b641a14f4bcc9864fe989cc25e393163e2db504a31a68019d39e1fcb286ca83633a60e7f4cc7c25eb199b513c5ba4c6abdcd3e33aea128de45adf990e147c62ea76d9690b2594eb41e0bfaeaf3efd194dee1f8cd05fe7e38e7aa1ecfea08e5f7abf18494f1f7a333ae8aa423d2b7d17955799f3d774aefcb1cbb2229ebfd801601274622b2c5108f55de0f45b61878bf8acc8c7d49659a71d68df50b95db1d726cc8b28f479c7b354c211a52617fb4bdf1bf6e7fc03b29df6d7fc0bb2cdf697fa0fb30ff94fd01efdb7ca7fd01efec7ca7fd81eefdfc71fb038cfb0fda1f90f7fea0fd01daffd3f607e8e33bec0fc8737fd8fe007dfc69fb03f4f11df607bccbf687ed0fd0c79fb63f401fdf617fa0bb837fd8fe40f715ffb0fd81ef3d7e9bfd01da7bcdfe6803bbee05fb03acc553f607a4eb33f607a4d153f647450e3db23fe099f48cfd01c7f494fd5191058fec0f38a667ec0f38a6a7ec8fca7e7c647fa03df1a4fd8178fc59fba35db987d4c4fe807d3db03fe03bcded0f38e727ec0ff8fe63fb039d71cded0f745e35b73f10bf3db23f202d9eb03f308f35b63fe0fb8fed0fc2578ded0fc2538fec8f55a7e5c05aec6574665efd449da95b6ba8474957615d38d4c6aadf7207094160db05dabe54c708d5796bfda01092f3bab5b0c6703d32f9d1b5d6a96bbaddd96909ebc44cc64b883c0bfe15d45ac4758a798877d312e29dab6d223d5ecbf45c207ec1eadac238060cc2f9a3efa5cc2bd3e3eacbad0a4d08623979a7406c5f52b5d0468ffac2639b46eea0dc278d000ffa7eb54d880351df76e4307de475a257850e0beb8ce0f52b90e5ef91afe8bb409b7ebae3e36ffcef45fcdea2e6d9aee659758c08a91ebf6f1b2d3f8e12341f38865d309ebc79a7e5c7cceac6331bd6b8fcf0e4e5f1a75d463424b588e7a7e9c989871ffa2081b5e966614ffa49adef16a1a096da47bf4df31ae5936cd131cc9e64648dfb500c58ff8ecca39f6e2d69ef9f281a16bffda744bfd2ef7b616d2a27db4446ecb429fec8f17e26e3e5c193979d9f0afa7736e0be7314fcfe21fa3ddfdb855c28ea7e99c651d79c8c1a0faac70e91c4f17e1b4fcf405ebe17b5daf9f43c187bd75a866eb8a178730feb364f38639bc7e8d9af53694e8ffb0f3badedf88931d846e4c8dd9bab8dd2f7152d4736a127778e602ccc1868aca5daf5849848967ba0e515f5ad782f96c6c4cab7625cccba326df364455123cdd01cc9057a9b782d4a9852f9fe11cdd51a45aee6dc6b79851a7be3f5e57f03f855502f7203d638d62979e02b9bd09137999f26d5dfb24e99bed4ef357c749c6b6bc5c9f6341f119cadba75a5de59087edf097eaf5dcf83112fd2b9b9af5dcfc03242d736324247310d8d83abb9076007b032953336cc1b93b2cc6bd07ffd3a72c66075628f5a43f837b37ee4b79ab53bcc35bdedaa34ad20165acdd9489e2f38bfed38bfd5ad95ae3859b47742b76eadce5eec7e3e5ea761db89a7a15bb74e18e7ade11a95faad5f9f6adf813c4abd38bab9d41ae5bf31eb44ff5eb356b1612d1227a4f7598e5157b3cfe8771682df7782df6bf759e46a43c59047756ba738f6f4066b463e5c3f2775b2d15eafdd6705265fc335acf45fbf8ed531b8dae8e6ca9b9492cb47c7ea9caa7d135cc0da358cdc781a3b194d33fcdd81d1ffa9f3978c81d169c838987d57b4477468309edc1ec9e7ba4ee7eab1ed2875fb85cce9a13e1339d6e8e058cb3a5e20e36dba769cf76bf40b6bb477e2d1913a732f08bbb4a023c6ab63fabdc35a83f57ce11edd7819bbd4398adbaa9193a85d66cdf098faad6d755c0ff5142776433736ea687cc158028fd74bde846ebddc2db71532674b8557eeb8b66823bd24742d2336cafb2cdda649f96f464e92df6af65768c47adb91cbfbcb8f2f35eb449e2f38bfed38bfd59e671dc33c76e656ed1a212cd387f270d271e2e9c1e5d872cc989aef27aadffaf5a9f6ed5806aca141f1f2de51e0bd36a6df5188e2bd35ebf4c89eac8e9df4f540f73ea7ae3cddff4435da93d9a09d18d9fa5ca787937935d5c139ef0be958a919affab46d0ed611da9c146ffd28e12886223e2f7070393cd832cce5d1300bbb0ed0119d0594fc1957fd6ae2baf3044397778ee07adfec5e56ae6cbd707edb041b77ccca827e75efa765b999ff5677ce650bc9d0169261b3ed73fc4ec5f76fd5f150bafb787af6b5cd91f82126e3653a8f3baded40fa740f12c458f9a9758f100fa8964f2792b14a52c35c5ff4702d417e2ded03c817cff972eaf886ec3bd017d537d97ff4bdd8f2bd2f5f9a8547723796d021756d23f1e44e06e502acc55cad81cfd4ae2eb0a952a99d63b7d15832c573526f1bea7b81d6951c99d67da791aff43fbd9301e4c2d5975bffa9fae136c7771aefa79c7b5f8e6586fe6d6eee51fe8ba00fcf5ad2359251ddfe8cf563d31874a4c60b8d0f53c2a8c3d87440f73fb73c65136e29be83f8975af7e6cb91ecaea4ababb61ff86dfb4c7e4fe9ae57475fb53bf331aaaf24e8e3e22a0db090e8bae8e41e2985d5453ff76523f5e4fb05eae0a7e56760191f943c2ef390753ffd3a3cda9792904f7573d8993f9e63db6b82f7f4a7e668ef2f4de6c8e7c1cdbfc77fe663de9bc51043ee0aeb968fa79f4de85c6053187b4fd33f7488fdd9dafd4c7b247e03fe1bd66c9f97701074846bb8cadf633009467cfc21958f3f6470e24cb518c755197bd9dabd37aa1631aca92e8a7f38f2e66868cb3d1f7b6182f11c97a96375722c56f6ac9f0cda77c3d677ae35caa0bfe2207d06f6e2e2c4ddf6cc363e1c6bf919a4bd9b6e6eb289b6d9fbf21ad63bf0944d8b9613795d8354026b2a81b1cd2ce913e388e2dfd640f6434c15d8ff690978fe07c65a3997304721ae4637f55612ac570f786c1e7ea0b8b1bd4f1cab7314e94c65acd6453d7fa91f57cfeabecd2cf7d35136991f473737d73bce08d750e9effd7873cbf129095d329cf734e8d17145667e498e21d9385692636e54ecb7bd6e2d6417d68ec9f128610c1262e469a323ac0901f34a7a3b82f38175c896912677235c5cf450bfcf06ed14ea09557ad01868189b5202fb2f74ad3dc600e6e080caddc4b18c73303e624c14ceda013adbfd8b6319d156eb5e5c887993eb9c6d23dc4773d3f9e1417cbaa8f56ec2fbb2157aa23c058417f81dedcd0f3087e11be77afe7a1b145ee46c50d9339e1f6ff6aed6bd79e32810db60b9cefde96ba3706b2f3bf370d4dd5a9d24b097044befe8d8cbc8aed2e5c27b2fd0a22b38e33dd9d87ba3eab8591c47cfeade026d1f54f86c80b14673eccee5d9b336d5f7c60ff0f6cc0bdebfbc67572eee9f2f6f2eae65b4aabc8ff1e4b30fc463b6bbf7c69be89d83675f876bc4e1318c039854e905c716440ff5defc6e0b1ab3a78d0e2e8db984717c1d797471d2dd4dcf109eef6470d9e976bffd93c67cc9b190cfa163ddc39f8376469d9377784ef272291a63cb42fc3b92d7876981f07a817e466385c1bc047c6e638ca5620c3c2c62d1bb027c3dee39cda56502b15884f47c6a6c1396f625bacdc29dc2c7ef247463f70a944967efb48cdec70dec07be8ec3c51765d754178e6bfd44ac1fe91c04abb9c0f93a63dda5cf9eab459e0ae179bbdf9ea89cf3ba448b45753f59f753555e2657402f84a5bbafeefb819479360f13a9c7c143e28e097c5f608f219e016b09e8fe7b326817fc702aefc51ccf0ce8a025acc226bc4263894ff7ae1601d97523d8953cdabccb39562cdafbeaf066588457a768bcea34791f1ccb7950e819c64e7f62af995c0cb70c625f12ec67cef9e6d99b4ba04589a76d82d958fc1e1cc346aae0d31558c0c30a1d281a409bac90d7509e273cfc3782c789db827cc493d905fe10c47fa430ff10cffcf3f8499be45dade42d5e3186099ab73dfd0c0a0c24eab78ee7c8f7bdafe8fff3cb82b23ca06537e943809382f199c85e8158cf3f482d33608bf8f1e6e2a0ba663c9956c5a224b8a7146f6fb54db825badbf84aee0a013b62ef9c8c4f6fbc69b91476273c6f30ffcdd93cc3438bc66525bcf6e15ac66fa26fd27ad9df07f61d7cc60df8df5a72f1ad6db7d9395c1c6b1a79632ebe23b71f2e9f8e39b4819899b4dd8feca8020791cb7f39d626ca852fe5ecee3d2d3a79e13974a14c9dfcc0399118cb537f73e40dc415e66163cd79f89c59799f207eb9e4639c08685ac6f7315a809f9c8c596f1a038cc8f6433bd34d22b73875554e2e98e37166b9916b2de13957c1453685f9a7507728e46215d3b5384bfdcc3177d9dc6edd827874d95a0b30e64f6fbc3cfb627e46b9a6c81f8ac7dcfbf17e006bbd8cded50f695e1d2b0f2fb3ee1c62f70c4ff6dfe6aa5f27fb1bf9efb17d7ad7cdf545379df64c5d2bb341bbf3937f76e432606beb5744b3e57f78eb351b74ce7e2ac99037c7ed2a7d07c92d904748cfd72268dfb883dedb833615a7e8771f689be3443d8bfbe0f8af38f6013597c565760af6f9b8b551cbb5163b8ead82fbe4c52b304ff1701ec53eb233bb3e5b4bdabbf2fa2db0a7979f8329a0cf7e1e4757c70aa29962c86e7a6d7b5672999a46e82bee6932de5f3dad93fd5a051fc17899cc0f7f7d064aa0cc4e7e06ef0da47fa5bada4bd0b7fe0ef362779aed4e138d9cc9add37ce0ef82388a82d6f4f35d6d9d700db4dd7ce047babc8e74d9481c7bf931d1dcb3a725dd69ba4e7532e795bf73d5d6c93427373dedc9b3d0cfcc415b9ea88b9b611ae16cd56ecdcce14d077fabce555fb55b137578d357addb5c4beeb370b843bfe93763d0ca66e13e9c85ce75163a1978cf38b46e7ae88377d259185c66e662670cdab293b66e06f806b433c07dacdaf7f783ff39358d08d008cd7b9db9ab4985d67ebc495c6bd402362af4d76a9b3dd08b4bfab55dc23243b9011ab1397485e871b370d8266b3ad18c08e8ca3eeb6bc4fa25b16f8c2cd75533ea5bdcb69ff30ab12b7ff2f4cb38caf7d23c46fe34ee7ea9eae778cf2d0a5f1927cf4b97876d3d3bfe28f9260b1f1cd27b577d1c171bde8d557237c2ddc530fd0b90c5306e5ad9ef7da8cb39f6347238be21b227ebf4497ade3cfd88630f609becc8fa1168790f64fc8eb6e7f3353077e4fb1deee3c17b11b0c5255f8179ed996bdd234759349039956f886cac5d9f2a965eee67c87954a7ce5f20e769de9c9f36a937d81dc0381ca08758a393bbea6641ecff7ed7a4cb6cb0ce1cb897fa6dcfbadffcac75da8e972d5ffdf89c298112a41d454f3b9f7eec7fea612fd107f0dbd3648ce206bf567e6b9af689bdd69d66ebd364ec9e5d3b18780a9047e8cee8445d9fc8def5b5516b3be8c75beb7ef9b5f2233dcce3e7a789b6e84e5bad74a2f6757dd04bb7eaf2cd337b3b639d2413d5f830c61fa719dcf7ebcc49e158801c3bfc5cf56f5e2aa5aedd8f1c7b91af25d86fd05e247bf7f057db1fef76bad94fde0777c98f938f490cf6d2f00dcbe84f207f7f2afbab3748807c047dec00adbc93de9dcafb5630eebdcdd2ae1228fe2dc8f49ba74c4fb36c92e86a0f7e3b4dfb589741f2979ce3bf567e7b9af6e5adb5511671b7fd6be5e37bcabdf694cc49e9ef036db773e3e8e2a9add3d49c644666ece7aade99a6fde3af556080f59ea8cecdc80c7d163a40664abaac5f67e102c8e0c418b45b06d4bf1740b6de67ab76db8372b9877e4b814cd56f734d8732d80875f09e3c0336410ade99dc0c39b91a835e6b16ba50ceeb695b02ede03eeeb370f4364dffc267888ee66d1ad1e470dcc178cca1bc1e44879d8cb1ac05f21fc9c6cfafc84d201703ad7b9d15f66fa1a7101f64cad54daadf123d807ca7d4ea0340c7bffaf27eef6a5d05df494d2683760af96d8c63fbe6509aa943793e4824234d6e7a08f35fb8fa372dfb6aeca1ba33a06c5f9deadba27cb158de443c9b2109ec4513fdb0c99c107d0752cb93bbd027f1e27c483bb16b6d8e50ee0bd6986bdb3eaf63827314d884b49f0ac738ca7a71ce5394bf0cfb441f9d0b946fa9325f5eff151b97c8896f1aefdb3c9e46807eeeeac1fea1bec5fc52e8fddcf921fe9b87e7830bfdc69b9a33b074de566854d69310bfb88dfb5dbfbc26cff7c59d63dbd5f49661f6843190b9b60c0d759d345ed35c76fde9b5cdf5cb67e6ffb2ae59331e5af7c263d2819ddefaa99ed1be9737c79ff63f458f2ff46dd79c37251a005b6dcd97cdc55a00fd2a7a706ee43c85626a55f9c8f64962650df72b1e036faf229b86966d780c48aef1fd09221ad4f164890ebcbb84446e368cfdb3be151cfb8ff2b3c48d3791ab419b94f601c25c8c4a5e13d7c7cde6ceec9229e5ff7132ffee6493f4ef55e7ec91b3d85e7e7af2bdb5b5fb25bfb0634d334fbe4b81b6fe81fc77b85fe23f543e000d8faebd7b334cfaeceb7c7a31af96c6ba7c7f19c7f2700cb13a9f57e230cfe44e9ac7ce4c9db467aade6aeae7da5a9d9cbff3ff6674899af7ea7517f59cafc9df076a7d1efbbdf8df51eb5af1eb2b02bf8195f36253ff57de1f6f7f107e9b7fcd1e47b6a779fee336976e4e4a3e30f437f66fc990af4f93b101e8f5db35918d45e6c8b3cf747302fe9fdbaf8e1ca58e7c8f269a01de91a7693f7c375b27e3e0effcb07502f658611b61ff1ae90fdee3e844dbb87bf6c216f15911bb579a853b609fc9db41bb65aacece38b425daef25ea7b3e6883b1a7bf56fe0d8c83b61fa9b96560bdb7f23aa703d7963659ff16f1a19d699baecedf92e2bc763a2782f0c79df8b97faefa45cca3dc16927b718dedb7ea57fc20457c9e938b8574a49ccf9ff5a9e5fbbfce36947545b7f4540f9bda8625d985ce11ce7eadf397cd8b73e7b15f2d970b4bb15f898a6113df49951f68dfe9f2d37fbccecdf8416ccf17f2f0811e43f2910abaf0fc6b466864a3500f27ffe75ffbffdcbff67fb2fe8bb27ed583f1c48946c54a06b95cced7595f9173bd5b23778fbb3a5f1e6dc3167983257d85d8508d7de8ff985caef18bd17a22370f4160cb087c53b41ef8c06f47e4d8b4f1f844fa2e772c8cece5eba5bd073a66693c6f4dc6f222ad1aebcc8f7c09f418bfd59f579c49b53e13fefa3ef08159cddafe92efabe1f8eb7d5eafcc09d81930e729fa933e4b4a96e4be9b5adfabfaf1e6c41bb047239edde49a1378eed6dce34cf56c91390dfc5b5539f78fd0e1b9beecafc8d7e6bcf06ff8f82a34c9ce374f597c147ee0c5f92bbc42f974f83eb9aa2cfe16bf195fd63df2f571f770d5d7575933b15fee49ff64c58e13d2835b6be3fbf4019253f7721eaa05ef2cbef97157998c61fee90f9c1708ef04ce611defbee2c7a3a4fc1da97198e7a4a03cc283740eb4cdd5cf483ee1b4325636bef6ae946be50af1784d5fc6778ef1f7d10dde9b5af509ad0bffe1a118ab1377db740edd9772204b39bcfdbd235f8a67f219f0d6d93d1dd1fed3363760cf91368bda99e4ce06c49c66e692eb1a505efbafcee951ddf37f94079e9e3b95df5dccb1c87165ee8ee27be3bcba9e9e151d5ded1e35e90bdd3f8b6ed08f518ac3926f24d6ef49f26a79b6c185c3f7e45e1a59db12f66edd18e119a3fc77f337d9a798e7aa39df631edd787afa52985b5eaa6b1c6f4e0ec1d2ce73e88d0f3f8e6edbac949b8c726c7939f5614dde7075fdaae7ebf89fa633579ed6c5e7f33917b567fbddbf579d43a075b839e2e4fe03ffae74f5fe1cdc2f9cb9d7ed47faee7c601b4017c96dead25d407b93c1584aee5743712174a78fff8cdfdeb3f79b3eeefe78b7f3e52ed01f76ec3de4520c2abf9fd75678f77e6aef61f1eefce0581673971ae96a07fefded99c6d5f177b37028f9693f726c03ea4633ab2b05833bab93d4bc57e827fcfbe54bfabc269830d90cd630d884aeb500eb48f25cd16fabe8c72c9eb6bcd315dd1d23be5c7ca713f166bbae2e2dbafb652d2347eea60e9613709d812d735ade66857f1db6457251bfefaef5b4e51d3a401ec3ba0cee2081fdd2774adea97bc1b3d091c8bcb0dd407d7b44bf0de8f6a21f8eb2497d19f068ff738bf7be83dab8817d0b6b46588b8b1b4791a72d33d75ebc51bfef1cbcc77dad7b46be51290ae2cd2d18eb655ae53578a3a6f58652371eb65c7877b61287c7cf024ca36add5acabf80efc6f3734f80deabc70b65ceb15774d36f3b9611629a16b56ec1198a73eeca733b56efeed7cff13e378fa9ab72e77837b2fdde91f58639257e7ba60e95f92049f56c7d99a11c3c76dc155e2a8d3d5fd7e51f5ea3ce6730d8d17c74c6bfd13c779ec5b8aed7aa3ad666fc7d7ca36a88655badabfc3a5469e2c7dd04c81e7886cbc1c9d3368dd78f5aa3eafa85bbd4c9fa5f9fbf7916f2dbb374a062824fd0634de7d97f8d17a97ac2546e66aa9b13490f2bf174cacf14458ebc8979fb943ce3f55195070dfa528de3dc5a72fb72e4e95197977b5e5fcc79c08c033dfbee71343c5f525dd52f7ad89367ea2499af925b71be94ea4c97643ee7395f466493bb1eaed3b948ff3918d1dc02e734b746097ee6f2c6d394bf6fd43ee7d0bed97e9b53f2c697f7e88e2bdc6f743df007f2e2312d42275e64ae36e4fb9c342374d5e5b7d0625ecb8f4fd2849241cfd1e659d93149f4344975d501fcda990dda283712f5856b5e373e5fe93b4035b97c88d6d5fadccd7408c372da4e38e5ee53c33cb6f5705ae810792d74568728ea793fa943486eb83fe8dcfa3fba343777a91e37d52186997148ee73757899ab7e596e17e3e6e810d4d89fd7215e5ca357758862ac5fd621289a7c4187a0d7a8b27e7ae8b7f5f01be65fd1215ea7835087a8a5c7b37240cc8bb0c67ce35a9fbd4c977545cf7879c7f89982e54ba9567bc3fa96073dd1c349c7d0d6bcf503cf52431d91f583f5dd593d01d5cccf63fb4de795eae1b1e59adc79a57a3869e90defef1890c6c78b6eea7249de227af074025ca79eb6431bda5baa9e39999f71ed2dfcacb4ce790caae8eba7897e9bd1bfad3aa45e2f33c62f9efd8406e3e9a7af2d3f0319de6f3fb9f23d6a3ee749aa878b3b7fcec3bb93e9d217e75ce4947c65eea233be8606855edbcccfa1af92f67c95dcf5cc29ede91c8fa029ffcbcba3613a89ae72eb03a36763a237b035fc9bee6de360640b45e7d63c36f68eb9487535b7eff2baffecfe2eb0169edce3f24431545f30c7d1de00ba92da30be174ee4993abcebab249b0f4afa3f35ee520d3976ecc55930feb36bf4aace4f8db5d9fe31cf85cc38191f9ee2ff874393d453fa474f0960bebf2b0717d76e3a7f7a8d58191d1d7579f12df367f5fc2fd081ca4d7b821e269d97f6255ec4f80b8df7679ee35a1fbfa7db7eb27ef5c1d81be650d12dae7ed671cca1ac5b23b68f1b238ff3be9fd3ed9bf43d6c6c57196922eb874436521ecd27bc73be18f7d37afd6b6bf3eade2778255f3fef0996c997747a7a6daaf721c3614b37f75f9e3bbbef5fa681f0dcafa3c5f376bd80ff103e0075a6e8e13035cc49472c579d36c476e3e9bee459aec39631429ef3394e2323deecb93e476d14e9da3ad7db309e0abbef099e49e5dc7f3c4788031af1e7b8dcbb663f329adecf0f87f24c9ddc8d344975f358d2bbf27157f73e193bf7dcff336bf4a24dffe4f7e2bd8fda7974e63f9e3bbd3eecdc1799ab4647f7f4c5b9b3f6fcab3410eefd1a5a3c7dde8bf9ef25dc0eae3e55607a10d955e0d434b6e5533d9b287acc3bb3f4bbab4eee7ab82ce4b63dfdcdeafa082fe8595b7e92e9a19f3a3cac936c7484fcd650cf9fab93cb5cdd5de6a65ea533cf7787e9f482dfae0e0f063feb9768f5fafe4663fcaabf8ed0e02bf13ec4030b41bc76b4d7ade5d7e65cd9d7afcd5de4a313d3e0d9f37c97ced45d7ba61eb3b2cfa82b051acaf1c9638ab4ec8cddbda1adf9f176fc2c3f9b481e050797b6b1efe58bfdb1fb9b3fa6e77c204cae473ded78317bde7ba6e09c2ee6df00fb20e7ddcfc05ea25ca2e763cd15dd9c4fb3af9ed57c5a7d616f3f93cbf02df461f5f76fa193f03c6f4aaf67e5c04299a943d980b1fe6159b72ce643c531e9fc9f3a8c2ffcecc4d91b5f8def3f914bc09fc391d5f3297ea0e2a14feb497a365327997100b43c36a025375e2f1a0bdf7f57d0e245f950eae3555ffdd7da13fbf1f8ed7e3d86ff4c3ec377d18af5f17f17cd443ebf2768f7b42f208331fecc0167604778069278a252adffc58db517b5c12a7be6e5d8fe17fbabd11fa8313da53fb0b579ea69c7d5f939ef09fcfbd4fc5f950fcfc699ebf487a7e3df8df487ef89e33f93c7f02df4a9d11f5ea75313fde17be3fc4c2d34ee9907e399d4199fe899111a19d72f8e9f19555abf1adf7fbd2fb19e80c7f21cadf48b11f62eb0dea660df238cfefa3d8f63cc7c7ba188cfbfb6dff1bcbe61af7f53fcbe4a9b2fecf12ff1dd37eeef6f8eef37a1d1b3fbfa31af7263feda4232c25ec2f7b9a3671cf9c0c1fc6f76be7fb5bf9af39d1ad353e77baa87c3cb5c75207e331527a1ce8c3c56fc40ff2f62ca7cff5e119f6f726fa99eeeaffaf638fcf0f5f83d9f565fc8e1f93a5f7ed50ff82d746aa0ebd7d3ebdb7999c4184fd5da8fdcbcf7a286004beb57e3fbcfc4a9abe33e7484eb54c4639fd3efe7e6f1a287bb8b9e2d44fa505dccbe3ac6907fd653747ef1accfdbffbaddff6c5b4df6feb7c4f2bfc81fcfd3466ce7bf4ea3c7fbfe5b63fdc3ce7c95a4f3419219c27d8fe28bb4fc9d6b4ec78db9f722f0b391b09d97fc80e13e9e5b2e3fbe8f9f71f61e8a8b0fc4fb1ec7d49ff589b4e683243554b0f7d7894867aa89d77368c2cfcf2de8cca30b83613c168ee13b747c9263f08d7bfebb62f8cfe42f7c9d3635bafeab346ab0e7bf33c6bf68cf000faf92d4307be273cb9efea6f6e83331e492ac7a21b6ff95be6aec781c3f7f6aafafd399ba6ecf54a725dae7e2783df38ec88ecf1699632e92af9ced4fc49debf6f85371f02676fc37c4f1bfc477dfb8b75fa34d033bfefbe2fc225e05fd5c1fd5efc863aab87ec7d1b58c4f3f1e956a3114f9669ddf9c73fc6e98c1de09d7fc364e9b1b583f48cfd2d82a7b16b78f757105e2015f5d6d137aca748feb5f481ed00310fe65695cbcdc78d0a768ffe5b8ed0aa9ab30b9bab60bf65ac6cc1bd5e919481797ac63de7ef0e73175497e10d82376efeacb2d7c4ee4f7c4aeef257c688255dde661553ec277e4d6ada7c781eac25c1f625697dfbffcc6b4c4b5932a589408a3d52a63cd3ba74d2bd0ba37bbdc168b639fbab6110523c25ba82e148b5bef2b9b8367452d9b99078bc9eec6a3a36bb33549f21a1ea4460a94378e3d7db1ee89bb77b50d5bdb056233fc4dc6407407a41b9ce93a2230870ec8516d94f8081b1fc8369847f4d366f113306ebb76dffb63e3ecc581b0ae52c10bbd1f9ee2467e8c6a826db5e8e86a9bdb5c41fe26f22d791fd6d72535616ca9e7599be3d61aee7e8efba96bb9917fd2af7ebc39069611b903e9ea2979dff0b79ff6859a0ff4378a6ac250f232c1fe0f5857ea8275245ce31b3f1b6f92329eec34f2b41194f97f0b62cc81bc3f07dafa0af46b07d116d63ce3bfbf7e9bc7a338d0803caca95156c1256ea786b9893cf30af4a3d6d632f65e5e3be9e3a6876bc9b55a3f8aba4f1f8709958341308fa14f02d526a26b08e578b8d4f34aeda2e25c2d6ab151761619674d1b4027e1eaa59167f75befe6c79b63b92da0ff1575dfa81a6094efcab336b7c07e191b17c89b84838f1b7b5a771fa867f48d0c6b1515326a0ceb31d178b9486eaa05b6f0fcd0be136c11a053b3321dc9d187b5b070fff7b3af2caebeb2ec00bea9ad4725f2756a51323f15f817a8e61bbf5615f6552533b5077d7bbab93e53eb9b3ad6f21cd8fa1b858f4df3f7d5b53a125aafe58f1c6703d574a36aa351eb6f4991775ae39a6ac537ba8adfc738ee0dea3a56c7611bd797c622b71e8ee7ef75ffea5acbb3b3ea7d7856742b70667c793eeeb7816caaf0ea4ababa03b447de95298553ff578e69c3a7a77424fb33ff0ec85af80daeff47cb4fadc4b39db9394dde07e0fca8ced5d3301ef7f89ad258f873b966cfada44b8e39907f07e400fa06d25891846ba69b934417d3a8edbd42237b7f794ca3562edf27836a1befcaf2d3cfe79fcb372ea6375d0f30af8d97ef7b89f095e40f7a7c7f7b78debba765e49f6a6a456615bcfe5cc6f3eae3813d695858b69c96405ebf4d0e947f13e11ad1f23ac75dd76560f30339121d2763415d3b0a5f7e161ac096c83cf97e76a9bcfd7c9c35ed91f50becdeeecb6701c1e414aee74732e7f3d1c375cde76296655d8e1fc11d7b31e6bafa88ec7cf2b503fad3697976e4d125af915a9cfbb0de285c93c3e440ad0bc699a7d664d02ffbfb545a47cf655ae1032b78b8e1f94fc64df559bf26859d6a4909d0470b1d88573f93d6cb1eee219e3e94cb09b88e4c1b5877206b4ef601e6094a8e658ccd11f6289cb05c6762f73d9c8768feff98ee776ad1baee33fc8a6c8a1afa516b90d7cb6fc4ef05cdbe5b9715f32a5fb7e5e9b28de4562d3de2cdd51f2f3b146fb2f2a4962f7974e5c97aeeb9bcb9b6511d6223827f8fda5db2afed55d2e87d38a651eb52d51536defb4002e754e8c2bf97efbf305d9bb60dd6ccb6593d83d03eaf634cef99e3d676cf2edc2b79edd3a2366f98fb4e92b90c7dc6a8e674bc3fbbda32f2587e0947c9fb80c8c71e9d134ef709eb4fd37b93f070c9e62fdb0029f1e1102c4147be478e3d7903f4dfaaa4a66b40e6d082b52784b549496dece8b6d536e9d65e08edcb667ee082d7ab3a6fd472ad16159bac3e13f8e3c5755485f6097ddfa2d20fed6baeac47ee23656b34f0fd7d08af52782f6f1a3be6323294f21e827596997b3995e7827cfbc77ec175e3b85c5527463e9a2a4f5e193aee23c762754a52ef9cf6f561db74d566eb57e7fa9dae0a712f39730e3e006d66b69180fd0e7ddcca74ef8f79f49520dff0f6170f9bb318236b2f078c9f95c451207d93995de851225fcebc827b90ebdfdcdae8c5190d6b883faa195ff2bf52ef96fdb078bce81e5fa749edf2377dd5bb4f34a4cbe27afdf7893a44f5faf39a57553ae0bb82783f4f2e25faa96d5c8318fbe9296c55dd7ed866b56e8368dee199cd15217ef2420fc8c7c2dcc1456d62fa55724e9879b0f968349d8b9aceb43f28af59a4753f3d6dba2feda3e76ae623d97c2ae121947ea36bd1fbda28dc66e72cd04669a05eff27b08dd6d6723b18cb05da71b80df44e5e5b0662451d1c7bb29bc518bb04cff3bd846fd0edf26844decde3547194fa0a9093fbb3a72dce5cbae7392aeed93f19ad99657c6cadfbf1a75dd173aebadd6f33fbe03fe57190b6ee7bba5fbc4682754563f5b451160ca470ab45173a4ec7d1b7cfef653b89d83f45ac22ec5575c115b68d0785cfabb8835ee2253237123f8cb7f6941e5bcd7e6f0bbe89ca363bf6875075de138e4d8ee8ce8c97a75bce204f47ad770e26ee2c5ccba4863c852f496c10c9e0fbfd08ad817e72d9da8bdcc6216779adcdbc9280dd700e54628b4c2e8ffc27640e5fd5b3a976727dbb62ab847d36a6977926e2c79ffc582ca1435e6bd75b5d5e580b9d9cb9153c8cfc192b9badfb09f3d6ef5a5ae7e7e5fd543f071edeeac70de322f278843f2efa3c2ee1c02ccf7ebc09299c02c9b3da44661eb7f6347270dc07e86f8125ddb8383227a3e5d8d3d65c467f239d52cae63196b1ca72ef9f163cb99b634e6c4f9b2cd0a2f81de3ba403f0bc1a7393d3c031f9e6715d98c318b9a7ed7504ef3cedc87321bd9d3adbb3fde3f3d1e461673e51d4f0fc1b2efe2d8d4988adc270eef46cde434c7af85f70d25f32b7bfa69ba375d77d1f7ecb95491df6ad97e25f2883e072a7a26962b82b191bdfd1fded9faceb303c62cdf13bf11fa66c2c4cb31d6e1c153f641852fcb63dbb1f178306f4f6a3d35e62ff4cfe8247d84af34bab6deed7ef40bd1f8d316c717715c0dc8a7c5873e4870ccec588b9981b1eb70df7da1be5ff8d23e0abd529b7ebeabb46d87ec105aa641bb4b3d63df00e73781ecf4e34dcb917715cc215f59a6aebd0cb76a254fa38c47a55630f82eac4efaebc0c1d06571add476155babc93b65fcad129ebb6bddf728bfaa847156d84c39c6d970a7af30c65921a32326069c70ede531bbb6bd0a5ee0cf94c5f94b9efaa68e660ced7f5731e46bfb227847bf2b1887757de538e717ce6f4dfb6b324ef69d4b135e6371f07ff371d69a7cf7ca18a1af14ca81f77133bad6f274631a3f1a07f37c2cb4db1ef1d84e849ff910d7b2196f503ec9876bc4b3e7b3ef9803ed0731eaf7388d1956d56bb87b9d590b813dfc9df6eb13e367edd846ebf0a7edd947f2f2752cd3673049c5e71ae47393bf8e1c4cd826fb01ce4ba06b73f837c7b12676f1431d9247fb2a8ff59f98376367acaa18be157cdeefe58bab63f713d7ea1c2b727620257ebc81cf9ee1958a2c19487b7fdc8fbc78b123f60e3b067f3c8d7c6d738318c640bf16f9a1695feb493c9749098fae2a1767763f756d6a4c617ed7e30dde55873a8e5159c799354ae871fe4c89edf0f03d9626282654a539452b76cce45ce2d3909a3bb7af27c690af3ba6a3b04f76dd5eec43345e3e6d4b6b27a211eff7653597c41c25ef9c3d91cf6bccc132157c43e85fc9d1c87d05fc31bd6abf90384a8167cafa7372f94cc75f33ec8fdacd42bf714c4b2fe16d9663b3380ef441ee3fe8abb6f4147ee993f15a4ecdb437a087e5b908032374ad45ab842f55c1fd9404ebb1606d6d8c3b3ffd7c87b1fe46df60fb5ca2fca328bf8a231bd19d87c7faead5d37ca11e04690b732f86e722fe7f0e1deb1efe548737c3da5c2783cb4e47b1f7df1315e63972e41bf4893eb6a3f0b81fda9ff83dd15e297c2fdc718864e37f04ebd0b49d5cf63cd93ffd1d5766bdf362c73cacda15ce837806af5641bee28aac82f7551edb6b33dbb80af5d03194457b3fdeec7fdad77c2f3bf2e8e2a4bbfb2cdc20bec1775e202f9dfaed9fdf3f1ed17b35bc20389be03804e7b25ae549249f1ab6539c41cff55ffa8e7f1ef062fb245706df35cbb6f6399a1fda6d125be0cb605e2efa942ffb9aef7b14cf61e5d5988abbe4b1a0218e7d54fbab59cfb2defe855826cf6f2092438cfd21922f4fd8ab22be7b14c77d824edc984063be7e85a75fe267c66e691683e0fbef1bafe70bf46c7ca6d49d0bac3d571fbbe6fa099e699b7b06d5c4be1ed22fd77b55817d6ae6f733bfa52d2eaf8e193bbc128fe2fa702af6f0df2b0e5ebfd0df4ddb7d43dedd4b782fa3749753106fcef3b028ec7d586ff894ebb057c75ac2dc9579bc693b96d122faf2cc1a1d616c553d47efda2884f92bb93f203f23af24bfaa6a973f9797558ddf8fb0bccecfef42b7c3febe926d1e8f0ebedcbd04f632cf05d7558a9687d6bd880f8ce05945d390e44f7850f78f5aefa660dd0612e237f58cf5f1cd91f69952ef213f91faf1e6c41ba05b70ea5b896a5bfb0f6ba83f181bf621b4b96b86fc38c9db3c9e46406f76eda6d884fe45379dd64c9d64fa2ab9e9a8aec4e371e4b5b18c0fd7327ebbd6e2dc9c669cba53e6e868c44eeb41dfbc1a1d38ff6cf31f3e5fe57eb83cafa4695d2237deecdd90576f943c8b6a79991e672d6d0689681f42bb8faa2d17d4b6c3c9837d404f2a87b6215fadbe69ac657ea8b7c54f7c39457c97a2d86de18fa1eec8f2eef59c969fbe401672f655ed3d57aa4e00f601e5b29c930b2c925d239cd323885f57ef1f09e887f89bf83126f2e8e8849b835be4de63df51edbe21feeb7f6cdeec5d137a7f02fd6366c3b37f1f0c7a923e587f1a662f9aa86b78ff9f5a432897c01945fbfb1bca25defd5aaa0d92dbb0dbd5ef7f221b978f64531e2328cba2e8ea5841343f6d526fb03bb8daa8e598e7b3678d4eeeaa9b05b1fffb5d932eb3c13a73144376d37edbb3ee373f6b9db6e365cb573f3e674aa0046947d1d3cea71ffb9f7ad84bf401fcf63419a375f8b5f2dbd3b44fecbbee34db9d2663f7ecdac1c05376dd6906cf8ef644dd9da6a6114d4d23f4b5516b3be8c75beb7ef9b5f2233d84e7df69a22dbad3564b9e856bd918b415c34aae7ada96e6ab5e360b9dbb7e68dd67e13a9b0fe0bf92a9f676c6a09d1a7192cec2a3620c7ae0df8ea9ee76faa17d9f9bc6db34fd2bd2e575a4cbfaa7afb8700c934359f6e67eb441af463e2dde907f7f19f9b174f6e251cbb59f394f59ec207c7f216b72cfe29f182bb9cf5696075b4bdabbf2fa2db0a7979f83e9d1b197fb798c786b06f9e6daf6ace402d755714f93f1feea699decd72af808c6cb647ef8eb3350026576f2b319a045fa57aaabbd047debeff07d9cee345b9c261af135b54ec6c0df05711405ade9e7bbda3aa17a8c8b9d31f0f17a1a89632f3f266303ec87dfaed93a4dcd49e6c66e3c4dfbc75fabc0d007bd74ab2e4eb3749db9ab75e6a49077c1f7879fcfedf7ea99f792bec797b5b5d8335f1b238ca38375f5ace8e6d8cbe81f192bcebbfa8aec047299969bd0c6b2fefadf2233effac1df91b38bfc4df3fbcc5cecc0ffe7835e7b4af85736ce7e6c5cdc553ffdb5f2b3695a95a10f79bd7e6dfe7d3eb70d656b2fc3ed9863bf923b7abcf705f290238b49ec2bcdf58e224f8cca89aeea4f8e75bff07d971bd636cd02396a39b2e88caff021d483b04f3bf7adfe4c7ba93fde9df3bbcce8f9552fee2ae278c931bfd748fce2c817deda19e37efba759f59b33cf8518b7ae36919c78c1f5fb631d8da9d7c35d7b523b29726c03e6e7c07a68833b7b2ed6bc57d8a39341fb9ed71c5ac1bcbecfc05e5c66761039f1f51c0c243c261893e2b7a932e3c6f5b451dca877d3cd4d36d1367b5f5e43ff8aa76c5a33ed5f9b1b5b2feaf1fc0677ee9a8a68c7daa935ef1575e952019d06857f098f1bc652f86d2e5faca3f5fa5e13d4972ace1a2538079af1f1404636978bf86ebeb0d66decc6b44f8ea619e14b4f1bb5dccdee83c4c67fe6fb0ef200b92b0cecd7c81aec881c3bbf30af7f53f693984d5d3d95520ef3bc26a64c6895c7044d7ebe81bec2f75dc0becfc8376d726fe7fbf30d6aee9c32f638b2c30f7dc98f938f49bcdc07daf00debe4d09ef9a9ecafde2001fa3038ef77403ff14e7a772aef5bc1b8f7364bbb4aa0f8b720d36f9e323dcdb249a2ab3d640ba57d4c4ba46f53fa88344dfbf2d6da288bb8dbfeb5f261fd4963d093725d44e9ef036db773e3e8e2a948f726754d73fdfbd04b808da6c7bbd67bdc4a26ea46d707bd6cab2e0576d971e7c57f5d515c61d49ae43548c8faf4496ec6e77cdc6f4fd461e28f77d4bdf8726d0047de1c0d6db9afab7d45ef3b14a31981fd16bab87ec63c95ae9ef2c17f26c3d8d91eec439c1f82ea5cb2fcacd2f57ad97ac5c3bbabbab1a15ef35aa6388ef002bedf84bf9f72bfeb07f2c5dbeede1b6f28ff73c19b7532aa244b701cd69225c91b2fcfbe768f6cdabf47fa1e5d614cd8c679859602f75177120e0ff62a2afc37b8ae4fdd3d35666c482f2fea9c54c6c6afb1adb78d701fcdcd1a3c89a2a644b5cd10e742d9fbc461f20fc5ebff01ceb0b79985f291fd12aeca99adf183f2d2aa6b1f1aea51d2d5b2af3f8f87dbc6b52ebf66c6ea94d45d455c8725adc68da89a2a35f749eb6a8d72c76add4fcd73818e749fd85f58190b55d34a304eec1f2ce529e4719e92ee8e72901bd41ba8d4fb29dd09a46a6ac6c6ded3f40f701ee035203c4de9f8827b5b4cce2df6950bfdd654ee7cfa2de3093f92395b7f943ba6bca67e25ef99e86075b19bf96bf8bc29c22f10e5fff363286cdeb680c6c27844e9fbf1231c4ab7667cf7bd17fb1faed53e0bdba7f547cab7bd384d3f03c5882627218f08d7c192a11e7175701bb6c9ebe3bc0fc6cbf4a7567eb7ec932ae781d33ce95853700e4b81b6fe416a6e55ea3032b53cbf43972b7247913c0a64121f5824a05f6e4e5bb586cf83da9cafeb1bb43c14adf31374a4f362a93c019d972750973b87f5ab6339c7abaa0b37a51f15639a0efcb8abf8f2ba26d654c51ac6351fcf5ebc8ffc386af1680af5a13c0f0dd7be86b5e173be4f11168fc86600e35f96cf0b745fa1513d26cadf0073751c7bbaf762543bc743f55e3edf0ffc673c7d92f177de5cb9a8079fd7a567f210caefe96ff30395db01f812e5377d04967410611cc11ce501e4edcb8b7217d1d92ce99960eee8f795d4da8e3757e724c82b50c13eea411d73a6be966bc0a1c3d54fffb97e417fc04ec0fd433f08b2f9e99a5d2cbd3ede281eca3c2dc2b9457bc9b3a645ad32b4f70abb12fdcddefbcf75b4c678fb61b98e68beaf60fb17203b0f5b396acdec72ed6f6efb07a1cfac7ce6d7bc47f166339fddbfe76b7cb8f7b9fb9baa37ec8fa7911b6f523f9552d75a4ae0ec007ba6c8ff02bfadcfef2997d7c47bbcea472ad59867ebb8239b457a9237276fa4569438ffc2885d6b14cf99d883170711b0a10ade322e5b0bf15f60756e50df5a41ff6db8558472fb56ae6356b1a1c2c09e66d0ef44fcf8e25c9da36bad53d7e4e45f9d843574cb7b45304768f3e1bff3f57994bff04d7b17f5fd7ffbb6b26f9f3d93bf6fcfc2f301ff9dcb783c1e8e4f7a2dc48868ca6b54bdc507796abcb3bc7a86ffafd893b6fedaf9caaf199c32f7d4f23abfe8f707b52b33ea9e98cac15fc13201f9ecfe6f2fb37bf94fefd7427f443547be7c9ea275fcaebd8979c2f8fd2ef2f31c98ba9b95bd6348fec9007b35f1e408dfd57cae166d837d49e4c5ad1abb2fef4b184b1848174f0938b91935b2a18849df2b3ec7f27ac27c8999bd49fc72cdf2bc76b861f7db623b7519b9e6343242d15ee5ad3b1d4fabd7f74567bf632d0f86353d72ed9d02834ca0174e252feec0fe737e29d6fde85aee3eb0eead066d73cfaf6f1873b9dd31a4fd0f47d9a4bedc4de7f13272e391e48d978f694bed2fb15e8af3589be6ecaeaafe41fccea57a9770c99ed9ff5a0cfeab72b02ec63baba981c189e58ae2ed37c776ff5c8d2c2abe416a490aee935fb6368c9fb4de718d0e849bd5d907185fee519d631afb0dcdcb21f8733916a0178f648c7d97d7e2aec7dd2bfa9f3d8863d5e57a139dcbd536b1636f2ec1b885c6622ff7cec9e0d5cf2f6109e532ef447fa7eff0f8709df52a5d492d02ce3798a67cec2271fd7f6e6d11cae7517f978ff2bfc2f509b4d1c14f7ba575296a72c071b61c6b9a4d06a5f5fc80d868275e1c17fb300f454dfac9809c556e57d8268d23caab45fe4de7317fdea8663bc4a92cd3424c8394d46cdebcec37e79ce5059f1d7a24d65c1a2f07f78353f772f74c2d1a411da63e59ab04e80a651eb93ea8db20faee42d7d686f3f2b5e8e28df55d81ff4bef8d075860d5bb5fb04da43f95d696ac23ca133d50eba83c53470fd5e767eb7a907e49cdd5adb539125e4175e289dc3b8373f2ecc651e4aaed123d4bb55cc939156f8e79be8d7ac5b59da67b5f8ee01dcb72fd57142b09c0bb267917d0ca077f33580c451d58c057546deeffcc4ecbbd73901287b9bb4862fa95f70bfdbd7247059f6d078789e5fc6bb5211fd6c39af06aeae635cce7325ebfd3f14ac507816c09dd957470eda5e25a9b1b179f00ebfc60cd9d78944e061d181b72ace8866a4477f6413cdd039b14b53d3a7b319011ee25b0a223da2f2eae8f0ee9bfdf5a1d845388cf554ebb570f62af0bdab68d6b4dbb6d6ffccfd48c6f5e27a7d4470264ec3cced7845ff3f884701c66d6340ac641e45a9d6e410fe900f5edfa3c3baa6e02ac1173d3b3617d8e48f1bc529be8b95a2354dcaf069782acfdcc9a82b3ee48610d90b5bd3a2760632e9aeb5c883e5fd24d5d2d4a5d20ef61dbf0aedbd50bafb5b5b2abf92a3dfe1d441e96a44dd302c8fbf299c5c9a9e2eac785dc9a5cc1f77c3c363a2fc6680179e66439de268963e6ede07bf34ff1591d8f198c3c41ba04c4b78d4a35c96d823f3b8ddc22df07fa47f03e3a38b671f633ecc72c7f8be668bb11bc738fde073a9802fe7e690f9fa83193facbf07ce0d554f17939557538d2cd706954415d2a3156a0407f266b8b6a31fb61d9ce29cf71f2ecde2378bce9cc8a803cabc524cb7db82897a974875f88c5174b67575b5e1edc857d2be5a26a781d0f790e2a4b739ac7760853ba84e7b9076701f6854946b6becdcd3dc6f4cce71ebd8ffb405e915a45d4b944d1d6dab47d6d04fb84356feacfcd3c5711d72b2a9f939a7f69d6bf7475070dc7503e5f6bfb7fd7eecde593181f553232b7869652593ec7f7cf203b031d7157d474ab7956960d7b47bebc112c023ede008d57b0ec0ae8bb63cf1be119729a7e0619f7fc483d2568d8beb3e3e0c109728d364fb449d92d5cfc8bfabc515a9ed4f049531e8dbdf1e6dc984fadfba9f13e29e993b563c888ddf3789feccb381a36d411df589ec4fafdcd53c0f37e93b501f2ffe2d8fdac649f30baecc48a80fd9406da089c0dac4eb3df5a52e229d3960378fad1d91a535856f9d99ae30172693c1970ce925315c3be8cd33c6ad338cd46daee10ac660ecdafb04e174d73de7a5bd2915d6f37be4b5bc19a7bd6825df3922d52dbbf25f16533670cbedc6ada3fb0593875ce7a1cbdb2df08f79a3b9771c90e41388d4036a57dcc9bb9cdc37df655bc2cee98b0bf23d77d4fa53196b067a0fe260be4abd2b0fd03d717c5af6f61376ff381be2eace934a37d4f0ff9a4298fd6e8101c3e15e9101c3e15e910d5318874084eff4087e0f848589e4432956b3f8ad686b22dc475a6cb7292f50f0c46670fd813a7e5de63b18b38fe2eda0797fbbc72fc372e8d773cddb9eac32a63b93b804e58779e9bc7fb2c3cb631063f87e6a806e3a3f318d5816d7c1ea3fab24dcee36affc2f3983306d1795ced1f9cc71c1d46573977d1c7626cfcb9794ceb6859c6ce722f9ee243d934d1306fe63e4fde338e2f28c7cde2fae9f0998ddee19ec5d6fd449fc5805635f85e4037e6627b8171366dffa16f81aadff6449b947f9b731e927c88aa6dc1f12bd4f049431eadd521aa7c2ad22138fb44a44354c720d421aafdb7bd31c79719333cc9e8a84dd606c689b451e2cb1bb14f8d91936cedfeb2ae5ade03f8ce78ea5ac4574270a9b18f261e655b5b7f23d8aa5c1aa73dae7fa682a72eb6e9efba79ecd4ca517b7f692247dfb5e41939daf62ae7b7c8aea9f42f94a39c3188e468b5ff6f92a3ba394974b13ecaf2eb7f833edaf6feac3e5a6dffebfa28b7cd3fa18f5679aa293fd7f9b4383c2dd047393c2dd247393c2df26955fbff467d94599bff7e7df45d4b1aeba3d5ef97ff6d7ebac7fcfa04af36e4d3663cda903fbfe46fe59ced7f524ffc6e1df11fd10f1bf8979ed00b9be9840d7d4a0d75c13fa607feffa50336d4ffe818a946f0b02b7175127fc3753a7a17882d3a68777e9678e88eeb9b54e3d5a55c34d4f605e5b4f538716f8cf79fe779a3bb8b04cf74161ecf0fc65df5e50bdb5a3fdd162f2edfecbb47f3f29f1e0b3797b2d2aedeb05d9c0364b6abb973c23563f52b3637ec89b9a0dcb146fdc11cbfac9c7bc5d466c2d8b7c96d0eeff6d6b449ed0f511bc68a53fbba42e7e1233a5762c1821a307fbc3e929ef54af549e1dfd53ab719fabfb84629a2d33a9dabbdcba4f8ffcd00bfadfc9daf2c534fbe46688d36a163f7ba539c4f394dfb59309e7e6ee5f5d5b3a2966b4f2f5b4b3ac3f198603cb89f95548cfbe0ef5cb57532cdc5ce9077a97e6cb526ea50daaa9314fca687c6871e4e847523eb6415ceed10c93aa9d1f783fefe0b720be6f74db46133798931b11c33cfe36d28a7977b3fbed4c8f90f2a67159f81da28dda63c595d9585e27719f907f3415d7a6f1e1d7bfafb819ec3cc712219ab2435ccf5450fd7d26cd06e3f986b23795e9d4345cee57920a51ae3a7e7faae95df603ed4fc483dacc7ed3f94e38fe99ce745af9ffd2edb6a5da5092deb6478035a52b6d823baedcef34aad1e21ffdc1fd0f87fb10c87b4d8213af4204d802c9f0ffedb6579758d20465c03bea8957144beda4fc8c542265773c804e304f25e244b1c7994ba622c9d57f37a4bf62be833b0a41bd77757e47b967d99ea55f194e991d84dce691a39d6e51ac8ddd4551fdd9b6072fbb42899c734a6aea806629f3dd7ee7ab83e3faa4fe4d8d3e3af78cfbb1f9954ee3aa3ba267b1fda912837156126f5cb7731f8b57cf2fb425babf3e1dad333c415026ba8b66f9e1665058e138351c56231e5390cbd077740706da9415e43f98aeac01c1fde2162eb33cf56bdbb3f867b02d1ecd04177c9306656194b6dc9c38622b18366f8cdb86e5b5eeb68d082b57b7e9a1c9c32169b4af4ad5dd01bfe3b903e5c6b04dafa5d5ecfde85bfcebddff8f7ab1b773f3186007dc706d58c436d1f3c79d9a17d46a57b26683fbde9abde7da2a17c22989f42d59bf2c73b3a67f6cef2edcc5e9e03ed1e71efa4853ef3ae2139a7cafba8c6e02aaf29c6cdc3a6fa43f87b34fe1f85cd4bd683da27ec5d327c476519397237754af7c873ba41dde7678afbc4673f8b199ce7d317dfe1b52ce71953756f2bf9fac5787ba29c6256a6247a7a7c788f90b50f7513d72a2df31c830db7e4dcb712eedf9d687fc21a57050fc69edc6d35a0095f26576c945e46ef3f542be2b10ccef9c7723f3d6519f961192f91878900eb5369827dbcea0be812e57cb7d5367b2cdfe0ddcf6a3d8bd6cdc873cc39fb6795d781cbf905fb47afb3d0c9e9c6ca229af78b31f4cf9e76cf38670cdd96b89f8277ce9ee55fe15e8aeffbf707184bba7aa5ceb2d2bd0a821157d415a470e09af321456f4b3acd06649da32b55a7f4527a079c37659febcdb502acb37ce4310f5fdea7d0fe0a7b45de3bcc332fd182d3f603dcc206e70a3a6359eccbafd040e29d878dcf5cde790979e489f31ac95ca05f82b12e79721ed68310e74bae15e384e2d398fe4717d65710c6e62a3eedb92817682c8c5fe3385875dfe8e6267957ab7b06fe5ec83f38c6095e93ca593ce82553f3cafe5dbdcfc5f4459f1b957309f62fe53c5160b67e1bdd918ef8fabd3d0e7dab714612a72df549f4a6317b9f16d892f8ae11f577ad2e5160adc2bfc9795fc1ed2fe18c923c0ac1b804b8beef0fef4173b14cab18b94ff63bc965c13e7260ddb7e4c5efa12c69794aff318eefcb63c467f3d7c6f894bc7b3c5606abd6fe3e4c5a1e0f8a307b9f5f4766dcab5ee9fc066367799295e74fd3a6e803eb7c930b5f062d4438c8bbd23946e86737b0b7c27eb7a029f609c01a1842999763928bf2a10cd397716e19d3ae41d7a324774aaf8edc953c201b325c0f90bc7f9042a0d307ea47066b43b1bfd19808d8d731b382bdaf527710092e82e879d1eec9b17bf45ddf4fffd4ff70ac4e360f87508ff194209b87a3fc7c206dfa698ff8731ae381c0fa78961182f5d95adddbbb0cfd4450becfacd1cd91f7c08621b1dcbd231b80e780cd559c4750974467f1568b8eaeb6b9f1df65b1cebbf1cc5e767c6d4dcb57bad64c233cf126ba0ddc0bd43c45fbd5939d6b308e1277157d536d8c5108ec5417ead76d81ef60caab93c1adbf43eac4207fd832f44fb05eef1fbb7fcfb5f9843630aabf87fd5059308e2e05f647f35ad639fd68fc327abe791d9de67ae3dfabcec18f812d65a481251d70bd8fdfb3789a82357094a9e459135487c3aecbd3e3bcbfba70c747e320d7ddc9adc917e4d4b729f22b2787bf0e4fcd8bc4f1420a7f08d72a71b50dd81b7b6c074a1ee06b38cecd7373c631387aeef5f798796df36ae6ece4b9b6ee18a7d6cdd746a7add541637d8af739f9b4dc7a56ebfaba35a7fede95d7795ed443df798ec55badf751dc5d676b62a2fa3c1c8ca4d4a0f882aa73db0897b8748f9daeb744cfa9f0b55135f227d45a0c25431e1d0cb3c61727c6c8c3380f75f58d2ae3217840a59afd748df72fe161e0bef01e61749a1ee4377745f27c6a6c8ba635b7c47a6585c7f0984abeaec9a093403cd94a8da5fa5a5e8d7ce694ccc5f386fb3a8ff9ae187a281f57849dbb7bd3b3721ceb897aaed5670adb7f11c7aecc9f9511e135afcf39b336b26b755a10431f9e43792d47ec436fb46faa352d593974407722cab4a1f73bc6865073acee86b55d808eb8c1fc003169c11ebb7a9abf7b8e6feb6d85596834e751a5e00fc1fcf15950b2f3768cdc7ce02bc3fdf06235a277ab63cabc0abfd26b42fc77f5984c9cfa2137a3be2f3cffb27df560df56e97c12cc9fb59d70fde4bf57b07d885f0dce587c671cf709f58272dce5018ff064c33372048fe9e058cb53b9ee97b8a60d943f10c3a6ddaae24ff9d2b48a25a870b10445b5ccc2abb2d5a296bb92503d2eb3b867c0c31974e251e6c2f5aad3095a6c1dd34775a3ffa51ad0af628782f9064057e4d66e76c81ae73909f73df926cfc9e2eb99c4ae24df479edd6fbddbd59a06b378daf20ebd9b138f8eaebc11d6892b6a1beebb640c3876c2d7b345f9eb653e2fec48b34fec00d276bab5a4bd7f8a7eb067c7239cfa9c6e2b29f1e308d8539d3c574c1be2b9aeaffe787af6ac51fa5ec9c37b74ce0e95b9360a1d45da57c77bbc911cc0ba71bccb5d29d020ff637b9c830bf300030661df90fe0da02bde5c6d94be53792f7a384c0d73d27968279ee8b9506d71788f795ea1dde33e8d83ab1a47c716f4b9ea3cea93e8ad2f60554e323d4d523d7380aedac9b15f094f289bd0913799af34e5053f73cc5d362fcf45726423f215fd8dc30b596019a16b1b193faf525c67d3308f6d3d9c867f5bc3ea78532ecd987118afe8f677dd5c03be6bcfd4b5c2d26b6b7562af31ad7a992eeb8a4eef1b6077c47ff1e874f662f7f3591ae9ea24d5c3c59da6111c238f3ea5be5fa24d36539d64a60eef46653f067b3fee9cbd386828bf8ca3abae655dedd3f24b71ece90d9edf1cf915c8a3d48ba39b9b3d29bfe4d1de5027893ea679968cd7e7c9afca385e915f7a38b9cfd49d4cdddf20ed1f113edab429ad42231b857a38a56985db98f078297fc6cdd7139f291dc71ccaba35e2f5c3a3133386d7f6dbdc3c5ef47077d1b3054b27944b3e7e46d63a6d378ce292acc539f03c9ec2b9ed553a6593bb1eaed3b9d8ff7074ac75e29a1b9a5638f79db7f7ca63788d9f16ed993a69cd615e2887a7ec69f31ac618339a961b304734e39c7f281ff4595ebabb2aa0e1b2cc4bf6f4f78cb30ea5be5f3ae7d6e94c5db767aad322327b7bda405bc78fbb37da5e43dfa1baf1dcdaf4a79a3c249edfa9623f36a99777963c681b4f3fbd139dfbb244bef1136ca75b7a8fd423685c73aac78d07fcbdeaec3d6d9306e27c5dda8e2218ed548c8943b3720ed257ea5ca2b1e198061843ced37174db6a9b746b2fbbb3787471ed698bd8c0d8be5388dd6664bd846a0bd801d7ad6d645b6b7a716d1efd96581f27ed2ecfbe2c9d7dc5383bf13d82758eb56ee63e93e744fbb4c24734ad9923cf36c8866dc35c2b73710ef3d1b03647371ef2fca3a161ad6537dc73fa38eeb6e329eb53a0f04536474776248ab6b9ae3f19e4bf31f5d4f5bbaeea8a01eb1b92fef8fabb911d15270cc21a7fdac18da7b1c3f3f9c94ec78d47b1736add1ceb1ef9d007b3093db97384e3d3f66c8e2cf5ed66ef5acb58b705df8ae726ebaa7337c2293d37ac871ad47a19a161faf73a7fb62e6f2257f5b9feecb9b6569c6ccfe943af5f2f797a74e3894cad57ae8fd7cc29d543fdae9b236a3f00ddb14bcda797ea96933962ec81d0d5166dd7d479f339cc35bdedaa7ba6fdbfeae762ee0f4e6cc4d45ca0ce5c338f44577bb2aed16bc3d153333fd36388532cbc0f30d7964747e6ce2536ac45e294f652ae5bd6cec70da7a16e0d536a3eb9de5933a796ae0e3b3ac4dbcd6515c473a2f56123f413371c0a71a526b2d372d5e951e7eea34decc46e48ef05571bdd5c79933eda438e35dd438c1ff63bf17c32c7ec75746d5492e94026d3982bbab9bbcfd54aed5f4affdfc4aee546d5fb53e0d932763537a2e88cf5b4fe078d2982f2788afde8c89bd00dddcab8ea64c15c75da06cd0b5077a2630ba3836ead53bd46af34e245db5539f77881dc8ef5b6238f98f62ff5fb268c0e4e3ca5e74feec709f78da1f6245ddd7417832227652b6f3aee69baf7ac4d3619f7534f0e522047607d92839405e3e9d9d7806eeba628efaab456d4b989f0c2266abf1b68ddbaf712f0cedfebfe6fd78e623f1e5d5d5bdff9e3e9a7ab4c81ecbba2bb4c46cb8fa3c4b58d1fee690af3844ab4b5a9da1528b760a78f01efd6bdd703ef7467a7629e4fe5975258d7e87c2ff261e6f1feec6acbc80b2b319a848d1d90bb1042bec798370f74aac48fbb273fde647e2a417c8c7fb2c63ea7de535ecb9b5f1f26f7b1435f08ce05fdd85acba36bb559fbe369fffc43ac57c63f8df3c076b3d0c53ef8cd6bfeef13b3674e428c2e66bd26575f59a65bbb1fb963566e4457c70aa239cab100fbf0046327d6e6160c762dc35a466e7a17de213556c79d1eaea319a3a34fd489345dddcb75ec073d491fac2fd86e2fda41edde74737d9ea8eb64baaaefcfc878fdf99cfe8e825aefa312c649451e58a31bd065036d73a471991dab73f62c9c37c2ae0525bf26ea289b68849e7da0639cbd38023afede83ba2e8e1708e590bed36d7d07fd20d6289d807f815e6f2f5fc5c9acf003998b6b2d4b98d8f4f870fe44f537685722fe7d3d671eefb7bc06268bbfc0d67842fdcdace9a73b8e689990e307a15cc4f25dc6ff4e2c905a595bba8b88e3a557078f85c50ce5607931f28cb6074bf7ff708e93b427f7638b5a0cf5ef113fcefb01e8cf4b98273fa7f4cbb9b94e0cd3afc9b75a8bcfa3701fcf2d77ff880e140e6ba1b3aa474957eb729048eca655bea33ac0797c258c9469e469238425f20847b0e91d34064fade17d331e1d6aeedb71efcef2eef0f263eb8ff8c514de77abb9ff4ada5c34c8eb28c62a98fb8dc221e5f32a8d2fcac3e653fa9f5ba43f5c5ddb05e77df6902fd17d78ee78724cfdb2bfe65b739078fcfa33e58d47627921bfab2c183f7b5fb892fb58dc3784383f571d61ed96f8a8c0e4eeb7abfdec3ffd387a4335cdee5fc0cb60c6a975d3ad7d8635d03cf6def9809ffbc2e3d76a0e52254fad26affa953109ee97bf9037c7cb2f67fafcf094e9f93d8675e72eec5df70a0f33f7a95f6c8fcf53ec9d97fc5ed82879a772ecf19c6af896e6a784bdd79ee705f3684fe1ff55efdb95f91acb256a8ce3267ef91a7e184899677fa1ae6ccd3a60ec93e7ce8a87f99f8ff1591ff147ddb898bbf78ff3f09ae7af3ee2198cfff294dcfb429b7c5e64fd60b40c15f3e1039983f16a9a9f17dcbd5fcafd66ee2c9665bd3856a518e1bec99e60f149be6f4f20cc89ffbe3d5133ae7f734f20dc8fefdd13e236ffd13d71add4a5f977f644676e4e9bec898babfca93d01b106fe0bf784785cffea9e80780bdfbc27846dfea37b02e253fc17ec89bb1ef6127c3fb6966e6c7df66fb31d70ddf8ff3afba1765cff9e0d816be77fab1d51d3e63f694b60ac817fcc9ea8acbf1bdf255fde8bf26e98b1bb97c0363ef874a3fd00798db59d3ee8e19c745ebf3bfedc1bf87cf2bd5e5d6744a7d77250a83c13ae4f32cf1df9a26fb3713bd53cbf8773d8bbd63274c3cd57e740edad86397ae64e324cbfcd8b699367223f2b9dbb42c57595b9191c0c98c720f2df46b163b98726ed7e71cd3217d0385ec23b045c9eb346e40ca8e4fb3ece132af279f8fc5ccabfaff555cf38beea0739f21d439e28dc1c25f24ce0137c317788ca0fe2d39ae4fc7c75cd9ab653dd670fe7103af1327660bec597fa7e7e9fc9ba6464236eee087926da0fec7d005d9ddcddd0a8e1cb49dbc9f6c7b948cea23ca847fba1a8d9fa7a1bd57b2c0fc73e6c3bf13414c55f1af57be0dcc9afcf234ef47014ebdcdc2bf2cc10f14c9e4f45cb403d9b1e75559c07e0869ba3ae4d84b235bf87c0d7b3a918575eaffb8bedb077429acc21cf2dfb52df2fc8be3c978e23fbd03321efbf92c756e4aad5b6c9d74d1baf15c9637b5eee398aae39775d7cb72372acd1c1b184f1ddfcfec537ef2bd9c8fab16e4e78fb0a3f9b8ac654b9973157876ddddcd5ac937b847978c27542b9755f3c9fc8fd8b67f7d3e3fc420be80b8e2cda4ff81ec977af1135aeca1ae167c23562ee83e877271c457a3814ced1c9dc70ae19c2d83daa21fee57dd4a08dcafa3c1e7b91e3f872bfcfcbba2297b32aebf0335823f4fe09f197e2fba7632fdeb01f81b993ced67378782f9d3ab77bc91cdf8b2edd21b2fbed89dadb611efb84b977f6b2333fb4a5bf57f83e03ef3e2bd59ee09e35f916d77f2b6a6afcc4bfcdcabfe5fa0aa2c59ad4ef2ae2fc8323fa6dd029fd46e4a9a7f4f78e1cb5de514e64d7396d5a8106d6ccb8788a1195eef7886cb993e01e4af881ee41a1b151f909cb1fbed63dc37cc2831405f1e6168cf5bc4674a075f7beb27c88e5a767ebc41fef188cfe8fcc30fbb8966781095dbc4bf1c6a1ddaecf0315638c203c204e1dfb5371571dd538ca69515f3f1ae10b95ef63157568f35c1ade77d41a3ecaa16a79f2280b8435346b6b8ca36f0708df03e97eddc4b18c73303ebee9f9ba2d10ae87c2a9af24781fd6a4e3d514382d3f917f05d7647cbd8eda1e9c235e58e4c7e2fa11d867a6bf39f206d6a399f3eb8f28e27a5f7c1926cae59cab10af80f9e67ef6d53355fb0ae6e171ea4ed7e64525258caa7f0e2b00f305ae85cfa9a9f3f7aa73f564e8b7fdf4b54da986619eb30d6c1fab7b847100a51f79871efefb4ed72fbcbeab45be72e9778c8f97f755be83176fed7de4aaf95db23c0f91ced5d3d5753267713dcd723d463aff1cfdcdcd3fa7ee59f6bbb358fa74612c677976acfba72bae4986fb22b58ff07e0c0b7c5a51dda482c69d18ec95c920a7f9716b8d2e9e1c3035503eae81bc396ce5a835b391fc76e36e0a648daee475493e037bc1d64ec1b9d5eea71fb776b3d0c8eba778caa655c9f146dfc69e3205fb282beaa274a56090341e03958b4bf74fdabf38f632027b616642397f26e380ed9964cc80ceeb0f7d905ce11931885eacb782d73376f7aeb6de71d657947f4ed608ca50de1a89e68979b1fa9b9def9b7cfff8ca12f053f84cfbbe6cec3d409b553bd10fc71ff4bacd4f06901bd14f7578d3d5c999dacfb85dffeacb46eac9f78b83ee813e53f30f9ed379ed265cbb1dd68147f209c89bc77dae7af9fc119628d029c46d07f10ec9b07873fd69f2ee4374aafb369532479942cc627c77958c89aac7dbf89bbcb628ade778f1e6846be5003985b1498d0f3f8e6e5b14eb684e87b87b7cb7a9b9a552a7c03aae8c139f8d80cfff81735686b1ce5cefc6e70b94a9a85e3f389fa2fa71aa549d4c4e2e728375cffba7f605ac0395f3904abd63499fef07f17384ed92d7fffc51bcf3719850e71b90379ed63dcd2c7ca706e8b40ff8a6069738cfb3afc576e26049176b71967c6579764f476a5ed45da2a2ae5aa20f36f56b529139afec535253ea0bfd98346f1435591999498fe1bf0163abac6b70f3b1118e505d3ef693fa25535380c5839908f0b5503d42ba2e09259b909d389e7efa2fe9618b644edfe718bb4a59efeacb5b615c514fd01d5ec23b901610771b9dd79b92bdc41d333e9f69fb06d678ccdbfc367b240bb4511aa857f437aed1eb676722f7d11d20cedecdeff799d7ff096cc0476e87923d6f3e9ce3faeac49b56206f804e4ad5c218d175a21fd819bdd0d536911eaf65366f43884fa2bc685b282ce60a43ef432ff7f9d09859e8ceeba8846d05736f10f64bf95f8d39ff6af0b560ed615eadcf82b7e09d2b51adbbd25d2c0a03acc0d018ee207e77c6ae8d44f581311bfe600d715affc8eb2ae667037bff8cdc032de39583bd338f373757e5f3237e2ff2e205ef8e1083ad57f695e4355dc326b546731b377b1d53ce606d5c56cffbcfcf539ed742fb57c87be4ec4618a9d666ef2b9bf4518d939979eccccd287957f37340d2c77dface33fe9bb2394f46e8c7dd8bd72807bf62a7947c648609f3cd8a3d140e73bf538e33cfea3036ee5f833e49f06dbbd82f782d5478270fd033c375b5ff943e5fdb3ee169d75a32387ccf8db36867f1368fa711b0315dfbcad165fbf27600e4998eecf7d5b1d0a50ec5fd59566fa4de819814c2e7315ce7fc7e37cd7f9ecdfa3fc1daeebb620ca26347c71844b91f46f30b7bc6de5f808c7c2f72c6dabada87b95a227c0fdd9c24805fe936dfb53be291bcdfe1ddc0edcc4ecb4f4fbeb7b676bf24531d6b0ace2229d0d68c9ee027bc3b8805fff688bf37762ce9ec8173dc1a25be768f66b6d1f19565e4adee0358efb825ed1d09ffb686b5022e93c8885cb91b4d469be9e4705f79f2f433d0feba4c8efbc81bbb11ac45bbeacf5d7b134d0ef7be1f477b6f901cccb8dbf2d2bee9589d6c72b867e0df996d447e1cc5b3c1b4ef8ffb1777d557510ddafec8b3baffb35d4dcafd0d37574f3e9f2787e4b09637274f5eef36ebe36ead44407e5dc0efb81fb69ddcc79de33b28d3ab6325d55a4e6a2fe1d64eaed4e6857292dc5b657597ba1af3e859eed3c635be710ca4e463c0f70c3d6dd382fe2ddb80ba9717fba0add4b34697b9127c423c1584355bf91de93cb08e613ee740de9f036d8d9fad8b6ff0bc495bf81c2ed5fc9e853be2f7adc3ba2de23f619fe2e11ef183d3f1a10ef297762f811625934167efc3dc74e1b9c0c128c0fbe6d06ea3bcd5fc6cb81963746f3fd0ba9fde7879f607bd9b634f534ff1693925eaaba81371981c3878d9e51a02947fda57961d4f5bbfa1f37ad99dc5d30c9ce3980e57485be90a74d78b036c5e6b730b46ed6ea075137b95dc9c937e2dc68c30b04a3ac218ea8509c4d248a59c7e330bea721ed03f3c6d14ba96047493f75f408718b576b37894fa31c4222f7f07f550429be04719d7f199b173e8cb9d4f2f1f4b1977a39b946bc9e56bdbc27107f4af5ac13028c5149bd305e94a1c9aa738ef80d2437bbb595ebbad194d50fc7519e47c9d0afaa1688f7382138aaf5b2c5fcfc70463a6d416f4915bcaeeea6bf7bd236fae8077edffc7de9f7537ae23e9c2f07fc9dbdedd456ac82cef3b6bb4b445aa446b22bf75562f897269a2647f5b9225f2acfaefef220892001101807266da17a7fba2765ac4140002110f024fec681bccfce7329f9c8a63a177c6e0fc64b90199b59e9e6d03ca2758fc5ff6db34ae9de1f622313a9ae348f3acad84f59be7ed62b9ef8c94fb4777bed275cfac63413ee9378caeca7320971c475647946333e8d8a0bd4562dbc5dc5399bdd17c4c7545f2bfa0cd5fc409f46445d669c710e443fefec17d43ebc6f555e2a764bfbf54736ecac27a646cc7e47cd0d60da40d47738ef8feb07b26dbcff9f991da8b991ecff45a33ddeb85b700c539cacfd4f36256bf90b805ce864cec4ce4ee96e781a431ab055b26c7ab513ee847d5ddfa75596d502e7d862fe3d0d9c6e7e26aeec4760f7907c5e4e665f2e5b4af766cafe6dc3069ee05de8edf919c79ffcfaefd7f76edafb66b155c2d3f31f665bb9770fe1a17bffb702577fddbdc6ec0fc4360ff6498ba602ff379f2c8f981b7199f439d0399c366bed7217d89ee7fc057e5ee88807c46742d5dddb8af47862726cd87764c707baae7b37e296c637a8e35de7d1207d6a3f94aa1f89f297396e5df4bede271ad604ff0edfc6b9bd912593b1433390fc4f89232e3fa2fdce643fac0ce5b05e4a2cacfaf34162bf95f21bf6421f6275fdf944ffcce716cbc23cd477bb4cef9ba246d8adf1d191b897f67577a1c24bef16814db55d9dd82bca95f20e4d12ebbb652ff229bbb509009e588ae15fc8b1413362ec5b8a7dc7e9af2f6d3ae789f40f1e4cc66bca3bfa24d95af07ea9bc1eb32b317003f24cd53c8ffafcc0ff9d8faa43e64bec759bda81ed3cc3388fd96d889fcfbe8dcffe56cb7ec7f393f98e2fedcb9e469cf4deefb086b28cb6f5d78bf7ec9739d6aed87ccef91acd774affe576edbc76d61eb35283f3e6e9e788c42d60f2d9c82f83ae0fa8338060a31b559dc6248f39d7c605cc8facbb805c56f133923ebefae71655c687afb282d3f35d683633eee4577ba4938f0f0f38bf1c99976e81de94ec30e29f821f6f811b44d729e023e9f70fa8e3b930966c360f7c9bbd5c1aeb8557d5925bea938bfe4efcc3eeda7beafc9f8bedaf54bf629f14b19bb25e4ee8d7ef3b942f1022d5b27992b4007cc997c0ab88d702dea60d4573f0a7123497e273d5d49ead2dbd364cd42764f98f142cbce9496b0b7057e8ea2fdc3f43f8bd9e3f0693e461fe136e5f8a76f3c2691e69cf325ef0e933d03f05414730607ee61baf5663ddd5870f49e1ce69141cacd2139f5be7b33f3ba7a0a58bf2c8d57e6f474124781cb54e073ad1a2447fbb23a8dbcd90d89c198d21cfc0fa65f999e623d5b88a74a621fe6cefb6a66bf326f78afeeac767e21f7f2d3dda299bf93f3bb9dcb601ef0f5ce82cbb288fbb03ca9056e5a241fffce9df7df57733b5892fc0bf54497537b09f06b77cbee74e3efdee275f0cae71def17fb47782fb03895e2dc0c2bde6959e918193e92dde73e5efbcc3990e2e38371322e268632c10e0e9d9df76c561673fbcd3d0427720796c7c8eb7cc3c7513377e685b8f28a906fb355287be4e3cbed6331f7a62acedd13f384364bf4878dcf786a84decc0bfc58371ea6fbd5cc0ebca6795e663c56c9dffe9a9f98357e4df95db0d8726efd24ef23ebc1cbd3e824ae0583bca75ac53e65b17e86bf495873d59cc706ac33590f607bcbc3b496be3b027f27b16481569cffac99c409ff55888707bf99cbfb9cb40bc9c1bcfa87692596efaab9867ea77759da7d3e2731edc5d8fa645dc6bac29bae5fe95e7a2bcc67faa6439863ee0d5661cd0fe68d70596d04fe31de53d97777bd3160c7ef1d3a7beff91192c985e0a29a7296d44364afbfc6d27718c2f73007f198bdb3ef3cc075a5f9d4a17d45f422d20749397a96727de1e2071e8b3a28fbadd76a4444af543fae4732b997dc173ae552aca7308ee4cc2fac23e2373cf5df974dba6ef8f54de211fcc3c3295ec7dedc43315fc63fa5fec6638183fd835cfc79ee8b629c6e766ff4815c1c193e6d3f4f747370706f8e8b6faeb2f8e66736bff59db935b839263646b8ac5c137d5e581fcc7c92fd8be5a396d6d962df34e36b257dcb2e5f332ec36b00b749ce4180b385c4d14bde6a0ff93c93c5181fe93a4eef48d1efc8b9ede4f1074f8a7d330b76cb4a4d3ec6adf9169763dfc92c66751adf5c882ddaf5481c68eeb326ffe67c93f82c0fcdd09bc776ce686d8f1f834194c44f92730edfeb896e277dae17fd9db7e5ac73f4c66fa67fb8bef60ece66d56d7f5fcccc8d5799bcfb55eff85775735e36af8155b1a3d5c15fbf74cdd3f2683df42b1b63f5f4f87d103e545755ffb28aaccbb2da3f0ea2ded56a3d92b2fdb07158cc6ea77f3dfb81b523f758c7de5332e67f3dfbb57ed84863381ffad1fad87bf2debcf9aab9acae1ffa11e188abf55aeb637f6c07fdb1bdf363fbbed9d8ffeb7965dbcfb5d07e7ebc2e9b86d16b8dd676f3d1e8b5da17fbd9b80d7653cb2638d7a3b16cf5e2bf85e46fb4cccbd67f4feb1c54ed8a174e22efb957b4010aeb63745e903946f2d61ca7e1b2b9de7add8ee18edf12b93e3fc432fb3b96d9a039895cd256a3b69cdd2e7e64c47adbf05bafef83eaaaba0aeb552bacbffb07ffddda3d5ead26297bec75bdb765f7fad00f27a115eba8adbfa6fe4122b36e7abf661c874d7fbd3a04c1cae8bfbfb48c6392a776bd1e36fdc0aa4ce239bcba73e7b5d71d3df48d5826bed96b354e83712cb74722372bac5589dc9af1ef93b5b5ad99e35886d1643dec5e8dc17874b69b86a129c3f84c78732b1d6359ed47383e96c757b0674a1eabc4da1293bb73a9943c2798f73bd97d80e08b59e349302cf290eeda667f7c4e383ad27bc3ec8d15efc77add60e7ce9d77ff48f2eca49c046f2f497ee8ac5fc91b22e60d40ebf5cabc67a079671ed7d6732379cb9ce916aba05b6ccad5501847b55113c741bea56722899bb8ac5aafe7e1785f27faa93a0dfdca4338ccfdfc9ff94eea9cd819ed2b7b978ddecfe6d8cfcd7a92e56c65df184d70fb8ff129efcc7584ee835ef7f6a67756f3eb83e17591d8d3f6c67f8aebaca3f61bbf7633b985c95b07bad6e3dfb87dc7e5e54d62d27684f7839b3fbe2e9d18a0be24379f7d4de28f08b64de6f9a5eabcb3b9b078dfaeffbe8afdbae77564ef1a7b6fe617dfa5874bf2567bf26a45eed5eb4e8f7fcdcd8751f71cbcccbcd09d99811f3622bf9be04bf17808f6773c1bcbea097e3b0fd559f0e9fcc38391bc97b72a56d709bc3078f8f7731d6a87d15fc18572e514e32ac2425c45f26f624f913576ca735a25f654a653f3f8908bb59b06cbe78cdb62b79af7c9fe1825f6307eef8771cf30315ae47e03cd5726ce69c2f701e7191b56d21c68647f8932db12cc12ce7336372e7eb591607b04bfa5f7b315b378d792f31115dee8e5f70a493e6cc697e77339e6ed1cc9bd62f418e0eb347ddfff585c9f513c7fdef3fafad7dc30ad26f776f236c4eaa3314fe2dfa662cec9afda4f6e3fac482c01e32bbe2d0f34ceaa7857762ccc5ff2ef8a37ef1b8b99bd59e6fa869e63a98e42e2ad0eb6e9c7751c9d241e6ec7deeba77cd9936b7fcce30858eebaa2bcef5bebb13cfc35e177091bc48770e7bdf562563f2c66f5d8377e1830fb8a8c29246f92b058ac5b9ea39cf8d7dbf89c237d9a83b2cb7f7feebc2de78d77ffe86c96c724b73779af189f514fb0dc97d5c7cd62665e97d5bee126efa6d276cf8b99b35f76a73f62df92c441c6be0b7d13b99c057baf7b0b7ab3e0ec771fc255b7735925397909c741aad75e20dd7748ef8bd1fe72ba11aca3a03fb17ed0738dbca380c691ff2ec861eb8539eff28b2a3757c88fc52d94cf38ebbaed8b7bf0633f34d6bbe14bca8db6bd6d5773c720dcb2fcef1403407f4ffd75ec0df8cd8e361bb76241e363f8910365fe575ec6e66670e81f398ee3bcafd06ff03819aee75c467d93ac8f6db18f39571bcad157e9efad8ab311d643dc5675ba732bd3c82fe6e49d319ca79576cd8af6bcac666dbe7c248c33cd934efbd73be5dc71fcef290683fdae1a9f3dded7ac5d7f078d8ff204e35c0091bdb3230b1c1b295b1c57c2b50b8f89fe068e872b878fc56af5426b37ba4163c9b863d1f1d87baf35a958ad47703c597961aeb2bce9c85ce5bfc373552c2f598bb3b661ed1eafd0f852ae5754af54acaa35b3426b0bea9594af35ef63e1eff09c519eda1dac53d23ee5dc9898ce0b36d6d8bdb982fe8edb48f3aaa339e16b84fffd191cd789c69214d6e18dbef1a53827af1f8a65b83151ce54e55c79dd4e607527263257e102df5791ddb23736b20e4959615f917ceae81cc5bfc1fb8a2d27d957b351688d7b06bcaf36b14d22c502c0729c6fef601c9185dccac2fa487d29986fa569efbdd924f4c6ae7056b1b84321d74de93ad27b99a21f85717d88f228e01a737dde10bcae247eab107f537a6cd613235b4cfe34b6d97a2ae239a20d548c9b65cb645805de4e96fb832dc7e088687bc99d9bc1ce75ca8f83f731b589e6923ca921dad7822d54e442b683e16cbaf3669275c5d817102fb93b5e47435167a6edc7bef1fb0b941fa065456ee447e8dac9cea415d46ff89c64facd9c4542db6ee4dfdca8174ad66daaef85b2699e66bc6caccfce10ef34ac53593d90e93161bc07ef20cc51a2a7ba842f97cd95c5bc5deb87decc40cbc165e8bbbac2f89233cf093cea77c863cfb25c645cdbcabc50db94b7b4b09e8ec9f9e4cd46809e93e77de2c60170ae4af2a8e1f296e848ddfa74f25169cc05917b314f9a563d902c8a7c391af3b1ecaef0b75d92726e2508ddca2d80d6a03d7e147c7066ccd7c5ec7682cb35e4f3366e80f9a584bd5cb905eebc7f58ccd7793c39f8b62bfeaef73d96dfa2c5f32bfcfb39b6a708d624c4df15db23f7a2046f9a421854713c7b128fc862b555098e2b9c0d238a699dc5f82fe0db15e5fd61be3512fe1eecdbc999e07c8cbcd8bf0363a7f5993b8fccab58cead4c4f4be13c1e25f752122ecbc27a2fded5c9e44aea7811e24af8dfe56df0df1670060d2ea7d1d98f7502b9a7297267036b626e9fb3fecda17e88f28beb2fc608c8e20780b98b96e01a947e6f081cb24727e14e957dff6c16315ae6ef3e2c8f79522fe1e1ecdea0b264cd21ed226b208b2d2ae8f302471bb05e7979937a84bbe5c2efd276f86f0beb592b3ff1e8bc8c75b8ee1a9b99fbb26b2caeff836becec354badb173a653f4d6d899d141e5d6582c8ffbd758dcee4f5f63bcbc3f6d8d31f97e631bc12fb1c66ec7d26baceb7f748d9dbcb0d41a8bbf2fb3c6f2ef4bafb1dbf1036b2c6ef7e7af314ede9fb6c6d8fcb9fbc17c732a616fd596656d2e52ffc7ecae97eeb594ed157f5fc6fecabf2f6d83c5f2b8db0e8bdbfde9b6182fef5f6d8fe5b1b34f8d7031ab1bc99a4afebbc4babafa87e0b22abdb6d2763eb6be0856742c67dfa765caac33be4ce9b596cae8eef596b6fff3d79c300fbf7cdd0d0ed3b34b721ef503bfda7827b16187a9ce5b2e81ff84728ab3f99c90bc07509b13f6ed2890dba7f8fe0cac638dfc9dbefbb85ebc99b94d709c69e4771f2e7e25a878cf8d6039eb075e13fdfd2d89d19a9cb0769795feffdf9bd9c6a059a77599a1178fa1528f16732f20b1bedde9bbfacd34fba6338bc354e48861f2613dc3ed0fc6bd9b7bdcd739feb9427c9bddea5d86ad49d51a8fa2fedc406461dcec43bf3e1c73efc0335e9e04f39e5406bb9e29a9c3708ffb48da976812e063e96c5fc66d8e73328bc9a3fcceb15cfefd5ca79ce6fdf75515e7ce17f4440bcb672fd847f43bcaaf7f54f3f36bb493e65b80db9a935897d09b7b817fb465791be2fec672af78f37ec4ebd11198cb8170c3cdfb41bc67fd8a704ef063dd6af5211d4ba97ea4b252f685f04a35b898e755b5bff15b6f847f1c9435e5a222df09ba3dcd91f240ca73e3a2e5d2df647583dfc4670fc38d9e8f6d8af61f1b7f9ae341e7db7cdebcb7d8764738e3a1fad1dff33a499cd6d97ae2b9da29ff6bc51bbfc2724aca01775c34770589e7326ebcfca9de9c7bc170d706e541ca45af42ec03ed57b488cfedc3a9d8df8b375b6da4fd65f2e328eb9ea375df14750bfd86e2f5d39c0d2f40ce06bfea6cfce3a8201b30f70a97ff41abddd9f4e23d219cfc4d7e4fc3ef0ce81ccdea7bbdf6e8bb8423d426fd6dabd32ef46dbcd600b934cdad3777aade6c7a81e49bd7afd1ee91f0f0c53e7fb07a5a059ea8cfa13c066712433fabefa1f663db6bf5d47f738f53a3a847e57de8d09802243690e65e00d756161b08ac15455e112c7e90e66a226b016c0b5853c53c4f4cbe072cd632e9539ed3479a874231aef40d8daa2d26ae14ccc782c4958ae3730f9dc89b81fe5ab1cd784d04abaefd8acd9b7f981a6ea5887f14f26e20df31edc97550d2d7f4cd51c27189cca1ae1e12be27f3cde76da5be0daa8bd03667b2fdc0ec47ba3e246305d7462edfdc6f01d71a3c4e580ff1ed66fa0359bb65749138c7a9cee0757e829369e82340ee51dc6fefd9dcd0f835ad7596acc90d3ee7caf5cde62c72426feeec16d8bc93bde926bc48bcbf90e603a7fa09b299b83a125e5401efe0db49ce6b7e3da779d339ae58644dfb95e9c9dbe9ed21f2ed56dc3f85f6047d5a1c9786de8df5d60139bf0b7284cff1c2f854ba97b6d7dfc4dfc7eb93df3369ae70aaef11bd2acc9f5aff26ed226b549847aaa391bd4aea4275309a536552b5694e95d40e5d527c9fed0b970b8ef08fe9f98298ad4b39e9cce5ac8eb793e69cdbeafb7b92f6785f762ef7e5557e93288fdc97558fb9a6d50f950f2bcdd3b7d5ea0feaa38abeed08cacb85f8d4f67930abbf933a9e803c5f07fa9bac7ef09bdcbff32b46e2bb36110c811b07220bd09fd7921b79a3cfb637dcb5b377c4501be8ef7cbde4bdd360dc28bcc14e7054926f1596d931e19993cd07f5b3e7a89f0dfb96a99f2d60e8f93cf8954db898d5ff2ef69bcb130bf73bf579513f9eafbf83d70f634279fd42ff41df2d9e83e4bc84fc54d87f91e59203ce5e69dbc2d94aed34e04c95f8e4a05d8ab609fa3672bb549a8b55cb478de735cbfb08fae7591b3a6da7766166f36ae22067c446a57d70de627b6f31eb9bab6e51f74afba1b24f33bf0b596f5ab65bc18f45d69ae09f9f011c466dbb65b915710ca6e89b9339067d1f3ddbad988f59abbdcce69ac2bebaca76cbc699db823aed667e01368f72db2dc508e0ef60ff0e5b3b9c7f05e379a25fa3b786f8fd2b622f9c6f29594b60ce4d1d5fee8cf804dc9815788c06ae078f17d1575cdb18be27f165519d85cc39d52d320c43a6b7209f96e6e1a5b8a1f6da0331a30286235ff72cbea0c28e525fe94c399265be126487f17e12e07f836d813815ef0f4af718eff3caf757ead3837b8b6f53d0bfc2f8d47a9afaf3a80d5090a91ca34a7d5e85ae66dac470ce827f8fe86161bc6a7dcdb48dac5d615e01ac47c016109d8de71cb523b74663be68bbe6fed7df2f9bfbdf7ac79c8ee953ef9999317f85bb6622935f74df9cc440ffca3be7b3f769f7cef13cfe8abbe7b8de5f73ff1ccfc72fba838ee7e157de43f3f5ffeabb68b2273eeb3e3a9effdf7d274d74d267dc4b9337089f7d371def8b4fbd9fc6d6db2fbca326bae0f7dc53c773fc3befaac99afa84fb6aa2a37efb9d35ba767ecbbd753ce6df7e774df6ebe7dc5fe3faeab7de61c7fafa0bdc63d3b5f71977d989cefe3df7d9715b9f70a70deead5f77af8dda00bff06e3b6ef393eeb7256bf7a7de716bbde54bf78c9fbcf990fba49a77bf880fd0f5cfa96fa8e17396b8dbc5dbe3fde2a9e20e5f712faaeda3c363d6ea87eabe5a8e3d68f507bd8706eeb021ff14f1934e5e685e9655d49fa7bf49eb07bfc9fdd3db91fae658bc003b0e1566a1f12d2f37ef109c964f1c7ff62de3cf86e23fd0df0bf5267ef115f78b619951bf58361ff4febc83df9fc3b2a1f7e76dc93c50bfb6d8ef593df02a1d69bfd3fb6bf47e9eafff86d70fe30579fd42ff611f2cd613c0192bb35f65be2fe4a3cbda167ca1d48612316dd9dd3a74cea26d8236acfcbe086c1bb35f615fff76cc6dcd3a246bcc7605dbceee69d27b283dbf3fde17e09d11edc37e41cee660bb9a3b45dd2bef87e2be28f37f91f5a6757f52b87746d65ad13f8cc72cd8731a7727bc7f2ff591523c219e63d096d3bb37c9c6a7ba8b64dbc3ec38ed3b93749c6a8e62b65dc486d3bd2f49fd7ca5dfa1a1ab8a3e8f04b3d1d55780cf15cb5ae1f7e16b490b2304fcde78ed82180eefebcb7d038db81c64bcb0bee2dbc662732477cba8ce82e71cc40879bf5fa6b724bebf0a2714d61e14d7518cb190ae7bd6ef57c577507f94e8ecd59ce46dc0fd34c00e2bf88660bc21d0161447c2fba2f23dc6dd392bf617f509c1bd55f07f713c8bf3f1657a3ac515301ba02853393e4ac7a9d0d56c9b483c52c1ef5562a474bc1a9cf279dbc8da15e6558a17515f1fd3d9785c793bb45a0dcee77ee95e7fb9cf4df8497ea3cf9d8ee9337d6e76cc5fc1e7261c2ebfc6e7ae2d9bbfd8e79e6f4e9fe573271c343fdfe726f5fe1a9f3b9e8f5fe3739379f8853e375fff2ff7b9899ef8249f9bccff6ff6b9139df4093e37e15cfa749f3bde179fea7363ebed17fadcf1987f8fcf4de6f837fadcc99afafd3e77a2a37ebbcf8dad9ddfe2731359ff769f3b5ebb9fe3734bf4d5eff4b989befe023e375d7b9fe173139dfd9b7ceeb8addfef73c37beb97f9dca80df00b7dee849ff2737c6ec9dafdb93e37b1611f36ab8c3bdf3b2d2b1d6378205c6f80bd4bbe4df20b3c9d937fb7de68be01d16788ebcaf8220fb777773e4a72ad16c68fc6b78ffd4a1edf4eda8e96cfa5fa4ade6b97ea2f7d73acea338e57f895e153f60e3e2e9fc45477a707a60f640c802f947d9fe67648fb40f34360e33c7bb13f5ba907b95c004e61cdb88664de6ec734674d2607924b019be7db31cdf790f5e198fc1b1d67ce859cca05e012c5df3f58e3ded52ac83ade3b65649de02ea5649d60074a591b97d5dca679676e815b1dc57aeac4e5fbe47fffee16798b5ba7f372f6f07d309f4649eed4e9c99bd9c6f0d02970818e12fda4f19db2cd27a0df34662bcfc12bb423c66c85e679597d15c7089c7b48dfc53aabea6ffefd5c37fdca344c74df74b74ae74a2277717f933ebdbf6c4dbe2e687dd2bce03a75aabf89f713c9fd15afb56afa3e8de4558cf759d54762dfd8329b37af1bdb4010dfa910a798be4f788fcfc755b7632c6636cfb74af22b07423e42e69b73cec98a72b5cadaddb84782231adefc9cff7df796ff5dc89d92f3960e66dedb4b77bae7b94c93bf49fb5c75dedccab9ce95dbe66b24fdbd604bb0fd8b62b92caa7b414f2ce69b2c37102b0fef10d4bcd9e807cdc595e7026f9dd3dc573f5e489e2887e07156cbba32f5d1dc3826582753579a43475eefa411ade60dd26f3f7c7cfdeb492e87bf9e1beffef6f1b5b036e86fc18fc1d18ed7cedf2fcfe2b899fcbca9cc8a6b8cd493f1cef2b9cf43ebc97c181ced70307bb82c9f0234b77a9e57ba51e3f2ed3ead734ed7e8f59ae5dadfbd9e936ff3fd333cd0fdb33bef96dde03a3cf6e3bdfa6a35afd741ebf16435f73f92dc549333f58fb2f74e05eedbc8df9aefcbc3ad3e9825794f09c7f3f86de356c99e38e563da9f937c8036e1b64ff3a4726b93d8f0ce9b9b711c27fe413ecef4dfcc588ede9b5f09b6cbeee407cdf79f7c535dbdc636ec609ef855f1f9e51fcccd32de2395cdc68bf508cda345b82fba9d7df246e9f1628d69fea4669a0fa9117a95fee62f229beb75d0ac5ded68f226ec3d5a2f546752cf23c98bdc7bea1fdd433b93f760d736ff12f6bffdeace9cf755689e3c928b8de0a8a4fee1ee716d25f545487d55fb59d8b3697f527b84af13cecf501d8c7be64b35b5fb7a665fe8a77fb6c78d1fb93d2be6725a8546d5ce734557ed67a89df6d57ae27997c57aa8cf99f6073e1b5f499f99fcf5407baf83f1e4ca7c635a4de81b9fad07eaf72bed779e1f7cfc781564745853fb22ff0e3ee3cc540e6777be666c40a84ef395fd76d19dd2fc8fed2b3096c4a63cfae7b8ae974a21af42ab5111ef08c9379545d3887fff41ecff19cb83dda808f8d8d103e611a8fbe881725b1d847725e7c1386ebb137a95e002dc4f9c574de33a68d6cf2fcf463cae44e7a53935053bde0c07e3c7d3e060d6d87af3dc9962fdee16ac3f3f7fc4364e601b692e4ce17be36ccde339ec1f17b31a9a036e391f9dade7eb6539dfb3df27fcdf58de3632de36ed4b471c2f5e6e4bcbd5b972596e7b3467de79d9346e445e4de3c6c82b39a3d1f68cb375646500d7bd6a1a219d8bb038d758197f4bcb34b932215dc7177cfc3d3afe3e387ea4dc8996abf1e592b9c7fa3818dbcc1aef60638fe8d823619da3736fd1bed8c05a87db71b7603bf97a47c70db495e57f85e7dc7ecae7dc7aaea1ebde6e26eb9ef99ef2deb7b1790807e311ed8f038c1d2db7a5e5ea5cb97cde6fd81c2e9b8641d79921ac7bb43de36c337b1fcca178308dc17842fb3465c642ecc8089659ef6c135db166ebcf73ddc2ed6cc176f2b1c36dcdae605b049f40fae7378deb0b9bb74238471a06d1a1c7463dd6a1c55c05c0f721fdbe56f83edde7c29dbcdfed9dade6f5e23fedcfd61393cf201f2f50e64acbac0b6510dd7e7c8c7575f61d9e5f331e6f9b8eb7238c17cd0bfad4236702e90f979341a1df8f8d2dd25eb6cfd1366319406d663a0e2917eb5f66ce917d74a53afe4a747c31cfc516d611440e5bdaa7232807642c69b93d5f4ea5e78f8d44cf93f5d667e5979e73980c226edda36bc1a273638b6b1f2e13d232b5429930f30fb1f18774fc5570fc48b92b2db72e9493e8fbe363acbff3bd80e94432fe111dbf238e1f3927e23560d3bdc9b6a3d4f9642f80ede5671ed666f70ab799ca012bd7344c6e1d80b9731b89de27fd12f3b52065425aa6562893ae03581f7793f3225e07f61c5c0748b92b2db72e94a3e307cf19e3bcdce536e5706ba0b6e4aa695e529b972d43cfbe336e2bf7cecb1db57b67b51b60f7e1656759d97aa16cae1b9f51bbf9149749ec00f36289e721deeeb379e16c60893db4dcf5d2fe8976305aae9796ab15ca313281e7c1dd9a97584f26f300dac368d965332dbb2e94a5e705d6df581e55461e63cc2e362fb12e4afa660b6b04b58d67b5289ba7aa682361ed115940ed31b2406d64a4cd746d6076f272e7b0fb05b5416359a4b6325b269385746d8cd2b561406b032d3bcbcad60b65f3fd3246eded5826462a13d6becf6422591faced3c18dbb84c321d22d8cf67c4168ed78799f50bb0a1b1f6e2f501b6c7ae0fb8cd13d666260b449f526c299305822d19c95dcb3fe95cd17b174e1e703c46bc3e923a937d5c682f9309d2ee56da6e2617a4edd955da76221ba8ac4ece6d83f0075aac1f2ae239c97d7982e9d493ff6e14d791e02b2cc91d9e41fc8525e56666dac97d31b1bdadb43d897f12cb4ad6265d4762b967335a3e3378cd0ec7779278038af114cb6de5fe4a269367a67fd0de929ccd79f9bd50de3d3c18abeec359826b9d127952db80fc7707c069d0333a1e6fc8ca096987ae991e3387fde29ac1b18bbc6c4d2c2bf76932196d19191d411921e5af4cf9b5509eae2114cf20df33ba08390ba97c2c463ec2d90dfa1ed91a0a99fe01ba0869772b6d57e1f764b241daa6b281cb266bc760d68eec1c27df327bcc10303fc9591ef7cb6674800de91dc9799e97df0be5b3f5836368748f8d98f5eb8898207eaec7e3351939211857c2336c33bac02ee2e23bf88cf6b7491bf4ace5dbdbca7da54c3e48bbb97ce0b6974d69db142f04cb5ed3b380bde715fde0517606c4fe1c3d038af93a81723da6dc1a2887de915cdd449ed704b749fe9bc56e72998865a93c92b24db12c7666f9f41ce231250c271b65e746261331872976e65de97ab9317d64db559e5bb17f2d6d5f7daf92ca09ed43aa97b1f2e939c2ac1d1c7f49cf9f63a32e940ba5f72da9ac42a69f212c2bb8bccb967f16cbabce2fbf9b9f5fd93a3e4238a54c4e362b2718034bd754c8cc6955cc8b8b615579d93550567a4793ca28626414c1fb0d2e4fd752c4cc5104ac25b8eff46ce2f02b14931b6567492a235bd445d83998ae2583e9a701ad251c9febc9db57dfeba4b242fb90ca4abe9ea6ec7a82b1b4a7fc3ccbfa2aea28a46c8f29bb06caa6eb093e57dcfc3c4cd79309af27b83c73a65db3334d94117c9e92f638ac4c86afd1d8e51ae37ff0385b724f80638ac99a4a71c544563cb698dad7781d2e57c75eac83c3c5305fe64acb31be088f37d2bb04bc1fb40ceb8fa0381c8d13bfb07e0187c76598aa426e5b566e905f62e077abb4bfdcdc81be095ac789aba329d691e3ac5299452f5c7c9c74ad455c7fabc25a93fa29cb9dc5ce6f04626b7279a1ed33f292fa2b923ea46b4ce2b370b89c0ccb4be565b0fd15eeec25f865bac658df85c731b33586d6e17275ecc53a581c0ef58152b98d58b989f7fa927ed03226b7ceb0fb7dfa2d273751a7a177fd495f276c5f217f066b7fab6a9f5967680c80a20fa9bc64674012db97c90bc322697e990c13dce7ff2eee4d383e305d67a47e468ff0ed6772c370c99e563f32d9217d5936b5fa92c80faa037fef52b5779b0ce75cce466a9c7366ee33dc91fcb71ece49eaa67bb6d08e1ce794b5a7c039656d4a70ceb3d7d4c639c9b7744ff0e534704ed2a767a67f2571cebcfc5e28af85731279a677a0f17f97c239e3f1eae19ca4ee1e33872570cebc6c4d2cabc639895cb68c8c4ae29c79f9b5505e857392ef75704e322e8b918f3ece49da0899fe95c13965ed6ae09cb2b6153867bc7674714ef22db3c74ae19c71bf6c460794c539f3f27ba1bc16ce49e43a62d66f299c331eaf16ce49fac6e88212382769839e2b7c7b1a38a7ac5d0d9c53d6b61ce7a467810ae74ccf80d85fa6678016ce99975b03e5a438673c8e14e724ff5d02e7cccb36c5b2129c33397b3471cef4dcc864520ee74ccfbcb48fa5714e69fb7a38a7b40f4a9c939e235a38677afe1c1b75a19c1ae7246724d3cfb238675efe592caf8373a6e757b68ecbe09cf44cd0c139d3b3209bd31238675e760d9455e29cb15c2246466571cebc7c532cafc03993f34813e74ccf9254462571cef41c4cfb591ae794b6af87734afba0c439c97ad2c339d37325eb6b099c332fbb06ca2a71cef44c4ad753599c332fdf14cb2b704ec25fa08d73921c1435c6ff288d732665181fe40e9c93a9632fd6a1897326e5185fa42cce9994d1c539933e6fd93e97c23999f26ba0bc06ce49fbcbcd5d599c93ada329d6a1c43993f27a3827fd96eb6f099c339191c5ce6f399c53d1be0ecea9e8830ae7246d6ae39c49fd06dbdf92386752a6c9aeb1d2382753c75eac4313e74cca8d58b995c33993327a3827fd96935b099c33e9eb84ed6b399c53d1be0ecea9e8830ae78cdbd4c639b35c52613ec72571ceac3d468f94c63975faa18173eaf4e51e9c93e1f53108df8e1ae7bc1d73dc31fe6f4d9c33ae3bddb37c3b0a9c53d29e0ae794b429c1394f5ea88d73926fe99ee0cbe9e09c719f9e99fe95c539b3f27ba1bc1ece19cb33b52de2ff2e8573c6e3d5c439e3ba7bcc1c96c139b3b235b1ac06ce19cb65cbc8a82cce99955f0be5953867fcbd16ce198fcb62e45302e78cdb0899fe95c23925edeae09c92b6153867bc7674714ef22db3c7cae19c5d3fc739e3ff2e8b7366e5f742793d9c3396eb8859bfa570ce78bc7a3867dc37461794c039491bf45ce1dbd3c13925ed6ae09cb2b6153867721628714e7a06107f393903f470ceacdc1a2827c539e371a43827f9ef1238675eb6299695e09cc9d9a38b73d273239349399c333df3d23e96c73965edebe19cd23ea871cee41cd1c339e9f94370ce423935ce49ce48a69f6571cebcfcb3585e0be7a4e757b68e4be19cc999a08573d2b3209bd332386756760d9455e29cb15c2246466571cebc7c532cafc03993f34817e7a467492aa39238677a0ea6fd2c8f73cadad7c339a57d50e39cf17ad2c439e9b992f5b50cce99955d03659538677a26a5eba92cce99976f8ae5153827c9f5a98f73de8e0cce592cab83732665181fe40e9c93a9632fd6a18b7392728c2f521ae724657471cea4cf5bb6cfa5704ea6fc1a28af837326fde5e6ae34cec9d4d114eb50e39ca4bc26ce997ccbf5b70cce496464b1f35b12e794b7af8573cafba0c239499bfa3827a9df60fb5b12e74cca34d935561ae764ead88b75e8e29ca4dc88955b499c9394d1c439936f39b995c139495f276c5f4be29cf2f6b5704e791f5438679e934f07e724390c197c31fdb73ece99b5c7e891f238a7463f34704e9dbedc8373deacdde39572c59f497e022537a2595b66fc88c97f6b712492ba298761a11d3957a2b43d3967a2ac4d0977e24bf7aacd9ff842b9abe2b92d9453f328923eb599fe95e453cccbd785f25abc8a449e29b70cf9ef32fc8a64bc5a1c8ba4ee9099c3125c8b4cd9a65056cdb948e4d2636454927b312f5f13cb2b3818c9f73a3c8c645c11231f7d3e46d286c5f4af0c2fa3b45d353fa3ac6d054f63bc7674b91a5f282756bac74a7136927e8d983e96e46ecccbd785f25a1c8e44ae06b37e4b713992f1eaf03992be4d987eeaf33abe7473bec5427b6a7e4759bb1a3c8fb2b6e57c8ff42c50713ea6670079779c9c015adc8f79b91a504eca01f992713ad233a10417e40bc3072996c53921e9d9a3c70b999e1b994ccaf143be307c8dc576b57822e5ed6bf1454afba0e48da4e78816776476fe5cb3b3ab048724e9db96e967492ec9bcfc5e2cafc329999e5fd93a2ec32d49cf041d7ec9f42cc8e6b404cf645eb6069455f24dbe64dc9154462579275f18ee49b1bc9c7f929e477a1c94e95992c9a81c17e50bc30d596c578b9352debe1637a5b40f4a8e4ab29ef4782ad37325eb6b09becabc6c0d28abe4ad7cc93828f7e999548abff285e1b014cbcb792c491e267d2e4b925389f53fca725a2665181fe40e6e4ba68e3a50871ec7252d97db49a5b92e93329a7c97499f7b6c9f4bf15e32e56b40791dfecbda9289294dea2bcd835963b930c53a947c9849793d4ecce4db90ed6f096ecc44461137bfe53832e5edeb70652afaa0e2cc4cdad4e6cd24f5b37e4b59fecca4cc885d63a57934993aea401d7a7c9ab41c2bb792bc9a49193d6ecde45b4ea795e0d84cfa6a727d2dc7b5296f5f877353d10715f766920b56937f93b4c5706166ffd6e7e1ccda0b733d529a8f53a71f1abc9c3a7d91f0733e0cb2dc9e24f7d729c911ffb6f148ae6a244fdaf89cd813ad73e6d70d2bb99f36acd033bb75fe3e980517af3bad0d77ed1f7ef7e12dc9896a06abc3f4b27ab212f944e73c07efb6b71d56fa1bb7723e26f9c84767b7f2705a567bdffdc36aeb3eaf697eacebf5afb9715975a7b555d33c2f2bf5f7244fd6f4877778b8ac9ae6c19d996fcba7fdf789e1d9f1ef83693ff0aad3933bef9dc6b3e965d9fde7693c7bb8b833fb7dd0b6df97f1f8ba9d68d0ec5b8b593ff00f1d9213abd736df97877f6e07cd7e6b599d868bd934ecb5ebc12aec9d96b387cbb29ae4b72ace0fed5b961ffda5ea042f4fa32c8f6c9e0fbe689325dfadaafd8dff74ae2eba81e13d9b91dfedecbcf1db6559ed9fddd9b5b8170d6fbe217950f172abd09d0b9871526eee84ab597de7ce9de005ce5346eb677f9b9e96dde0ea578208caf595f4239343924fb5200330d7271d7f9a2f93964ff3e0c2795569992c7f6fa11d3827bf063f6dda978a91e6fba47248f30f837961a94ced7396abb4d01f24f7675e2ecb175f6c0fce2bac932736dd2bde1d73c1e68a2d331f244ebddc9ca0795887e37d48ef5ea84cf2dcb1853e81b958b3751866b97a79d9227964997259cef5427b70fe74bd7b243ae7b1fe2f3d96f8acbc672c5cfe78bdb1e472585657817fb0377e659a9635fc43e7e257bc77ff607c8f758337efefdc39aa134dffa921ad63356f5c1575ecdc79e36dd5ed9c16f3b7205d5baba7fe6679b40fb18e1cc6f57703235e6f2f625ebd437ce60ce6ab249f1a39fb68fe66f6efadd7c86a093a132e1baff18af7be3c8eceab0acd0577b891ff0572eb17eba07afd969e5fd5342f9bdd7a14b0cfc23767f7f070f2c4be5735fabe5d566efb781d14db25750afb336b3b91fdcc4ecb45aba7e0e48ddfe8df2d44b725e7c44b253e6b1fc2e1d63e780717f9b6112e66e6c63f063f521ba017f50feed809ec824de50a65f6df935c97d609fa6dd125e718536fdbb42b9dad8d9cc57e651adb287b77deaf337d0f86b3e9ce9b15fa3f6ba76b34f266f6fbf2e020fdb103b7f270f1ba9df065fcf64af2ef1e635be8f6eeef5e77eec1d9d907fb80acff6835b377dedc8ef2fe5855abd2ae59d11eed4f5a26cdfd39e842bf6d484e5fa65ec38dbc83b543e629b6f10e0f8c2c1f23ab62552d6c8ec8f7ff14e541ff2ececde3cd1a4fc22172c6ac2a9d7079082e5e35979dd71d99f6aeb86fcc8d50267a3b2c2bb6e98737e837614e86e3763404f62395e1de9dd58f5cdf6339ccacd0da62b27036cbc32af077623fbc6ee7e255a621301f35bbd58eacb18fccc78de647cff7d8b0ebd6bd431b5b17271a9721f4213e13625d20cc49c5de7a2d7bef22fb255ed30b663eac6814b9e3113a1fe47b602ee8df8579b0c6bd9bdd6a579079d82e2b4e9d5dbfc3f1e46aa3f232cd5577bae7e4bbdb04c331b6defb277766ff9de42fa5658ec5fcaf626e5ada376a971ba6f5948ee78de6b6ed99f6f335b4c79393b59b9883660dc8499bc865d10df6249f7da56e0c778fef56b3b119667d714277568fedfe90f854d554877179667fb887ce6e515985cbeaf4e235cdb42fc9395c6d6cfcd84723799efb7b6fdefb6e31eb3cd66ba97f14fb1ccb43768e73bf21396d533986deacf3f74b75f5eec77edeb11fb8b3d377fabfe755e521f48a79e5c9dfcc240ff221293f9893f2c819d20ffcca34df0b87e0b2e84ec3c55cf8beb298db6feee116bc54937cc68bd9ed6df5b4ffbe3a04d162d63f8939d4834bf6dbfc4ccb07a7c5dca9677e5361df67b6ed537c16d58d97f0f594f9dbdbebf7e1a11f788787d09b9fd33322c9411c4139e135f207cfdadf978707e3af667dbbead6de523bc9eb4e77cb6a7f437d7b73797002ff707b5b1ea60feeacbff583b3b1983b276f6a7c1f1e3a87c4b6897d6427581e47df7bdbc7d7deb6b1593d39e15f4fcedbaa7b0bfe7a7edcfef5dc7ff09ffac14bd11f3c3642ef3999b7820ed82ebb0fbb45b5632eab4e30786a84495e64bae6e68d5aef299ebb60df6bda1bafdb33ddc3e887dfed1cbd6773eb1fa69b4568be2d8ff69bd79d7c77e7defb62e63cacba9bc09d393fbc6e10f9dddbe665fc6690bcd8cfe6ab37ebc4759fbd6aff7d356f3c2c66e671f0e424f7949549ba0ecf8b593d5acc9c6078e854969560ffefd93a1c74d7d1e0a9f16359ed5f17ddcec58f5e63dff72d967ffcdfe937c5badc9917db8059ff464ff1efd31f7e25f8ee8ddf365635d559d0bbdae2ba23f3b059cceab14e847ca4e2dabeb8736febc6365e2e0fb29efefd5cdfba33e788cbdcba5aad46ac7748cef09734f7f896e88b933b6f44def82dff6f515f9172bd27673f68d6e91c348cc5d3791beb503207b3fa7e3093db8374ee681ffb81d76c185ef37a59753bdb657712dbbf616cab7ab3d17ad5ddfc48ff3ddc75ae2fcd46b4acdcdebce6e3ceeb4e03eb3001ce8da41efedc7a7b5b1e36817f08d83ec436e0dfbd2787ccd75fd5e47ff3b165bfef81bfbd427f8bd763fcbf05d9523b26e96fdefee32559dbf46c0c892c85fe0e6575cd8d8b7bf0cffe53ff6d39eb842ff3e25c046777b60a86893ed8f85bf3e81f3afbc56c7a5935d73b7bec6cedee743b685aa177681bded85fdbbbc760d0b46e5e2bd879e3c95b11c3f30fd3ab37eb18b18e223ab93bddc4728ffb41655eaa0f566b645ae320eec3d58aec9d1d59691faed6ce0aed995baa0f899de314cfc4583e476ffc768af79a9be88c8dd70d621df84af3f39f7a9549dd9bd981b77dac584df2efc81baf0277bb2fd6177af346e0ce47df97877f66fd49f6a71bf7e1b208af97e5a153710f9d303e1fdd597dff523cbf49eef946add77a5c1730d18bd59abcc57b7ad5ada7e7319b03ffe63fadd75613c8a5ff1c3c0c0e7d63b935affe2138277e0e2fbfd877f22a93ef713fbd59dcbf55e8ce9cb7d8c6f8ab699976b76778b3de29f7d1a83ca2ce7e38b303fb595b1ef15955f0b94af4e5899e3dcdcc3fa36bc3de7bdd49e88d35d7462bb737edd6deb45a936ad6b7ea74e756a6915f72dd0e5b9b9d351ed507cdcc574bd76d6538ded7ad68a4bf6e8fce25f3bd4aacdb5ef468d8e376dddd5e7756cb8adcc88f7a2df7da7f8effdd8bacddf4f0d7b830ae4c266f976598ce9b93ae99aa3bef5f16b3fab1dc9ab10fdecead5a2dffd4ab387b7bec5ead66ba87acbadd9d5cad66b93593fa4c25fb1158e3fed68adaa7dc5f4bfbd133adf1fee6e9ef65d28f8fe913b7e6ed8283fb9cf6215ec3dec12ad9877bf4aadd720d6f3ca90e9a5664b7ec8ddd7a4cd767e8ee625dabafdb450c84c1712a9dbdbb9b6e3dc1b6e91f339f78db78b59eafe91941e6b5d75d8783667deb85a9afdd5b2f5ad6a958ce6e0ae54cb19c9b95f30fa7f5a2d52efcbb57f8b755f8f7a8f0ef49e1df69fd04d760ea4fffdd2bfcdb2afc7b54f8f7a4f06f5a7f8e6be56d707feb017fb380bf8d80bf4d80bfa5eddaa65bb103bf6a31edb27feb017fb380bf8d80bf4d80bfa5edae36fea1feb63cf84cbbecdf7ac0df2ce06f23e06f13e06f1eb36ebd8377342ede53ffddef3aefab4aedbc8cf7cef323f7b74577baf1ba05cc86600adec3b73fbebd2dfe7e399ebffdf97fbffd6bbffef6e7b76f7f7cb3178797f8bffef39f3fbeadb7e7cd65f93ffeebe11f7fbfbeeeb72fff7ddc1e778b7ffcbdffefc3e5f6e73f96afafe77f2c4ea797f3e91fe7f77ff8a7d33ffcd7e0f5efd3ff1cb6c7fff14fa7b8e6edf1dfaff1ffae5ece8b6d40fe744cda287cfbc7b7d3367af9f667a5667c378c3fbe1d5e572fdffeac5592fffcdff39614aa1815f3bfcdca7f577e8c2be69fd57ffe699afff3fda1f65fc63fff348c6f7f7cdb9efe77b5fdfbdb9fff5e04a7973fbe9d42d262ebe5fddb9fe6f71f3f7e542ad53fbe59a4ea6ad5fce73ffff86607dbe3fedb9fe61fdf7ac7d76f7f568cda77a35afdfec7b7c976f5edcfba61fef1ad1bff57dc1167155764fcf1ed5f8bd5fffaebd7ff35befdf9ff33fe20ffff7ffef8f61877f2f4f6e2c76d3ec7ff637eaf19ff34ea0ff5fa1fdfec53fc975af59ff51f46b566fee78f6f16f8fd77b3527930d3efbf3fd40cf27ffff9e35b13addf7c48bfafd64cb35efd41be6f6cff3e6f4ab6f1cc4d422378f5f7a76f7fd67e54e27fec9329aa190fdffff8d60916eb139146f7e548fe77708a5714f9cf11fdcf583affe73ff16adabcfc4da6229e9d6fff989c5efe3efd63f57a5cdf2ec7f01fd7d7bff7a7b785fff28fbff7747db1cbebdb1fdf7a87b7d7bfcfff5a9c37dc42cd7e6fbdfac90fe3c5dfeb9773f2dfceeb2bfd2f6b71f637dffe3c5e82e08f6fcfe745f092ad11f22fe765717a3d26df765f3bdbe0e5947e9db49cfdb3f5f296fdf7f8e5742e7c1dffa950c27a5d5de2f6feef37da7df9c622bddd1ebffd79fefbf2f287bec048cfadd795a678d7afff73785d9142d397bf4f5b327af37fccef64efbf919ea68a41d9613a1b1a2ae13f7f7c5b2dce8b6f7f7e1b1c854b98aeb3179ceef8b04cc04ac141d42cf7fc78712b9dd06b9a8765e5c1f0e6996226edf79af59d3befef073302d604fe1169a70068fefbb9be5976a76106a6e6e0c59953d45b1e3c8401cfd79d77f00e05602dfb6d34f61af65e049addd92df0c9451f31dad68343e7e4cdfb047c5f1ececce5c5fe361cb7eb96001ef6cd65f716ac9af5ed6a763b79f3b4ae29da4f67ef75a97c4ff4f24e3e3f2928bd9b9803065c1eecdae65f1404a0fdbfb887cedeab4cce5ee5f6be0a63e3290150d2b91a1c624375150c66abd3b2bafae11e1e6a3938f97a8d9d516bdcb8be341fd37e924b8b65b753cf2ffd38c3f17bcff0bace8eef3bdee7f55b6ad8eac8099bcf5486793d93efeecc3616732f1834f9bfa71754a99343640d5cd409ed65ced983b9eac6eb61c2f499ca95df43ba603c388e65756a10c7e659e8a36cdfe66b349e876d717da6eb995e7634b33db75d763bbb45f898ed8114b8700fb7787ed98bbbabf8f866f516afa355d33416333348fafd78597583b3374b6415af95e5dce2ff16f73d9f83ad37f3defd8362afcc828bff34356655a7ee77270f6e6513b89558576c56ac1efa2bacef5673db58568c587f5c564ffdf765d33cb9b37eb06ca56d4d62a7edba9a3bcbd55370f5c62671209726b78ffe1e1c6cd3af3aefcb679304b5f98787d36076dbb887e98901f7f5f5291d437a61fbef2daf97b90b80dde3da6a3e5e7bcddad58e48a0ed3a99db6bb23f9b8f172b79dcb886e73c030d8b7ab508c4437aff6f7756dfbab35a22c36e277630c35e93f9fbe161e31f46ebc1e1bc591efa9be5d68cf7c479567136ab6e3b0371ff45e765ae3bcf894e4cd6a5e0f06606f8150886c8cb85c85945d7ff4f38abb2fe096755d433acdd28b49b7ae715f9b6d513827bdce3f4b4ec4e8dfc6cd19149833addc9a5713ade22808204615eac710238e672a4170acfe671d97da8c63a351b2fd10f27feaca9826bf8663d356ad9e5c3815c3e9fdcf9fe9ce9185636add79dd57abc168009a1afc3660672965e2b43ce56f2f87aa2b78d5b75de5687c9a9f0777aa17da5e741225bf1421fb6a30aba5db27e1eaf564b6f3de6e3c8e63eeeeffb6aee10504aec23bc0e689bd233705509f65e656a0ce6cedb723625f5f79a7546ef27fbdf0ff9bfc5fa23ef874a6726e328e8e6dda23bdd2d2afdf7974ea29fe9dad3d3cfcfb7b7e5b161ae3a67e365de08fe352720ddfb9c5be7a74bac8f57dd8733e9cbd1099795eb79d9ed6cbdd9f5bb7b981e96d57ed1e639cbcec6640c236a77d8ffc5ea9f97782c3c984f74fa60f7584d1e222476d7a0959d01a145ff6e01012bb91d92d74f74ffee955c12f89587d362365a836778aebf890cdd5970f1e63d56af6f9744973e5e16954ebcdf2f835960783373e9753b869b5de4f51ee87e5ee9ce73018c622f6f82e596106625007d7ab9c503b2e41b7c4eacbab3b7c573f198b7c7d793f52d1a4ebc16b687157d112eeaacd663cd8ad6266853b263273a850618ce6a679bb1fb201d316c59353ec04d72c6b41e2ba3b1d7baa30f455d985d28d17fa7c19297c138b5b16dc02e8ee73bf6bdac821ec6f7933d6e9bc5402b41bf097dcf6d74e5bc44417764e0be05f83be00b08eb21d7f19c6cb2a02b6c8eb0f632df8ddd27a97c99b9c22ffdd1f59caeab55f7e10ad63f77defd263b0ec6e749091c39fd82ecb9dc164d1f5d7172cb6d8a840c0819174bdcc805022865973c0604db4c02e59131660fa0cbc9933e0800db4b7f43d667fee05b4baeb92dc5b495fbea053972be79aee70af6571ac036a9c63ebbb5e57d762fe474c0916ba37955eb143458c4ba397baf09c895698fab27df3b13af3bc2fc76455ff474ab235ca88bfa8f09ac04f5df3a1ab626fafa6fdfae8c84c766ea3e14f10fc97995f9a1c8b9259e19985d4ac637b9d9632130bea8138b7d676c55d5bc74bacebe5fd803a31ff2dfef3e330cb5cd8cb697ca921d6bfa3766ae1c34b0095dcfbc5e86ea3796d5476e1cccdc52220a4e97617b4ed4c9e0f9431f0a3ec3e3e20828387da6941d7928839c7944972363a4a44265e5993cb081cf40fa1bb23e73427d2db932382a6387c676dee1b67911e458f08be93810df38b208beda4e038e6b7f1583c358bc99b46169d875b6c4ae84e5cab4c7d793ebb78a64af2afaa2a75b35ec75e67184a6dd2ed57fa27dabd787ce6ed50d2adeb3faecb4520c02c10dc43343ea1398d678223c08bacfbe85e7c506f6008b5940bfdf7b6658910a27c7dbcbf632681fe67325f1abb1f5cce965a87e627bb3e360e63621782be83264cf013a193a1f32fb1b1c17477cc7070eab6447ed68f0cc23ba1c196346a65e4e9ef4a12ad85e5878c8c7afcf9c18504bae8c6e66dacaedee821cf93bb1741cc8bd98bd2dabaf7b1afa5ae263b61a1ddb9836f5f435f768ebea8c579d51697dad6f0b6be8caf00be8ebb094bede7d557d8dcc4b7b5275263d545f43bfdfadaf776a7d8db5a7a9af43190e8aace7f2fafaa8d2d7f09efb80be0e75f4b54a76a5f4f551a9af55f22ca9affb1afa1a966b097d5df4ed723d87c53134afa115c5fadad2d4d76d0d7ddd91e9eb963319097b1ed6d71d4e5f8f8c691bc14f157df969fafaf605f4f5ad94be1e7f557d8dcc4bdbee382d99be167fbf5b5f2be350f0f634f5f54da6af91f55c5e5fcf95fa1adc731fd0d7373d7d2d975d297d3d57eb6b853c4beaeb8e8ebe06e55a425fdf207d4dc621d3d72df764eddad7545f330fe5583ddbb427bd9a38e7b28775ecbaef99a39df05093c3caf39813ef7d59250f840b674716b3421fb562767c218e8c895f64fb0ae92f103fc5cf1ed11f62efc75a8f577bfc88c65272e36263cbaa7c1d1a712fe82336eebcdb4d9b43ee01e0483d77f93ab90d5bed93355e1b8366ed461fd015eea6b1984ae41b552c0c59331bf80e47bcab49d7187257f318f7fd3668b56b361f1ba32fbb62bc121b4f7814ee5214771d416b3829e23e92f6055d3452c433f263939cf18a3be98fdec968f513b87b0890f31c98638df8d1547fc9ce769d1820b20e7e651c10332f3a3135c99e36f9f89d99fdeacdecbfddc3436d5ed0b13f23f633d75b1f8f0912f79503c6bc90c77d15a9bf401e98a7673b6e238bfb0eb4bf640401c85906c70a048a7800562fe3f6939e7d94ea4bec8e2850dddb437508768efa2e3e1f13636fb2f3c39e6ff5511468de4b3b1bff702eda8b77c611e5757d960fc6ac69e59d34fbed578a21cafb85f9c5d039a7de8ffafe17388fe8788713ab5ef23e9ad32b3869885caf28e287a03610df0bd92f257d2f78deb0bb68a5dc9477d1707b880e52e9688dd821b03dd4ef8265aaf2bbf83684f86c52271ea3dd36ededf5668ff792b8a16c6d876abd20bbd380f522a89b8fe78fea537d3daa51d7e7ebe65e09dddcfba2bab94cbc951ea6595237875aba198e29d3d3cd47996e86c7515a372bef3190357eb76eeeebe966b9dc4ae8e6be866e96cbb29c6ed6b9c38065aaaf9bfb906e26754a7473643d5f6f5664a5ba9969235bd32c1129aa5b243abd78177e6f6c63be3e430cbfcfdbfc7c7d6a95d0a7d617d5a765faa327af92fa34d2d1a7c81ad2d3a755993e85c7515a9f2ae37890371977eb535b4b9f2ae456429fda1afa542ecb72fa5427860796a9be3eb5217d4aea94e8d36b6ceb5aadb58ead6ba8f5824034a5bc53846c5d2e3e5e761789eb53e327dabac6e7eb66756c3cfbedd7d4cd0ed21f31f69ed7cd1f8dcd07e7b1ec78b57433135b0de813781c6575331bbf8de86678bfdcad9b7562e295722ba19b1d0ddd2c976539ddece8e86650a6faba198887a775e2ba797d1bb4d6a1245667e356ec60791c9184aab00eebec487293a670ff9caf79a3df76f68ef4ada93bb349320e2e4e072b07dbc2795f91fbdd12ef96f2ba3eed9d692e57758c0efbed577ab3c4ad0da13fa3786edbf81d3af87bb91821701e113e92a6d3f6da65e3dfb9758bbc5742c7a1f95e096a03bc4fc2f74bc9f7a5e0bc21774f6ab9a96373c0f6c0b74a6a59eabc5502db83efb35099aade96a27a31d76b585cce785d276f4b43d5dbd2ac0d1423ced70e8e110fdb1dd53ba57c1fb1094290720a1df51330e2bcaecfb29b73b9aa3162f6dbaf6437f36b43e84f6d3491be4f027fbff37cd0c088378d3bde93b2eb16b39bd17168dacd501ba0dd8cee979276333c6f98ddac949bd26e86db03ed66a52c75ec66b03dc46ec664aab29b51bdd8caf51a6237dfac687db276931be5ec4be3c984b895bc0df41d69be76707e26d336bc86fcdd7fb68f585c1a2ba7d0511f7f43ca8cfbb3defce77215f9aa64df7ea5f8766e6d88fd99549d7d47f2de1ffafddef3c152f2b3d8e355773429cbcfc2ae5b2cb61d1d87666c3bd006fcd61fdd2f25dffac3f38670b328e5a6e66601db83e3da95b2d4896b07db43def9633255bdf347f522a3d79058df75c2cbd2d4b69d51cc395fff12ccd970ba4360fe20db99c39c91720a7bf72760ce795d9f6f3bab3167f6dbaf693b839873e4b4ddbac476067fbfd376d6c09cedb6b30b847d0f72f0f1f1a222ef71f3f162b5fc24997fc28d7acaf9f97ab7e4eff8f8f4b01409f70bb66f4a63298e22361796d907b01443238e5729b712588a9af74529cb52588aa18e0dc664aa8da518e21b275a27c621b06b9facdda8cedbead3fd623e3af37c8dc6daaf4c4fdecc367add872b491698f00f273a3178b8b83333d6533f91fb37db6b3a9c90746d78d4d76012ea0aef6a335b974dca2bf27be16d5547e34d6b3411f439571fc20f899515125d89ef6b21ce702b1c4556c56e8931f7eafa2632ff03ac173f337a91b56f47c07b05b59c459e48d5f7123f04ea87c40f19ef6fce1878bb57f4434439c2dc63e0ddcaaa316cdb0df4ed0ff83b74def26bfa237c91b6d1ae8d8c0e1e3f52680b786f6be23e093a1ede27e1658a7190990abf04dd4fa25f028fe95ede48a50c53df041ea7f0eed656bebb55ca35f541f8fd23e3229b2b7d144cbe8c8fc2c955973f32ad17f153daa1b5bdde6cf236d1e7ef607979221c92c05ee139df103de63562ffa998b07c70e4eae379d6546575741ac859d86f59916bdca5535bb27b59a85e19c7bc158ec616ac23157216ef6655df4bee67a17ee03ed76d38ee742ce02d5a416f027284391da13ed9fb76d5d9b723ec8e16fcfd23e74b4bc9a350198d57ddd158123787e8231d6e49743cbc7f81e89f221fb0cac740f793e863c06382f81474fc0ca50ca99f018ff30e8e49b55c535f033ec3005e600d7f03932fe36f7072057915009f83d61b61f7b78f9541ab1ddae1f566ef2c16832ac893e3738f320c446ad3e27c93f66454b5767b817380af8fe3995396d5d069b02edb5b91bd1bdda353e571ea50bdb88e0cada8dfb0a27b7c0720565df1bd049f02fb81fb1aedba359984c8b97887bd0cf6c9745a7e381ca31815f8fb07ce178db8f569db8e7a751bc75c307d0471270a5834361efe9e17d63f657928d1fd24de17206382b8837562d89532a4f7bd98ff53e47b57c6b12be59addf9c267d85d7c94987c993b041eab003984c578f6b45ee4eeb76e85d79b351e9dacf1e4aa6bb35b5b2ddb50b22f2686bd736bc29ca2363bcb4d8994d5b0b12d6ddb5ab3bedd97b0d9018e4ad5f75fd66607cf487b3caad8bb7505b5d9a1df3f60b36b70559a76cbad0c5b121da1b4d9fbb8cd8e8de72e9bbdafb0d9d1fdf4119b5d87b35229c392367ba8b4d995722d6db3876a9b1d936f299b1de0aea4f522f704c356acd31fc341ab1d311c510a9cbdad85e74a38698cd178dab0235f1767bf31383b5656c35605f93a3e80b3b7bf04ce6e95c4d9e57c969f8bb3c36f189c863d69576d1467877eff88dfd056e3ecedb6391afbd50fe0ec125e4b743cf7e0ec3705ce8eeea78fe0ec960eceae9261499c5dcd6fa9946b699cdd52e3ec987c4be1ec455dcae8410467f78d416b7f1db4dab7617affcbdacd0c1f95dd7a349cb12bce43cad9c8ca3fcf11ccca48921b1bca2d58385f24e784d5723af64e5c9b054c693d38d81bff303a7b8787f7553c574dfc9b4577ba89e713f33b564ffdcdf2685fdd793fe0f22417fa2ceaa969d3debb754b3356d29ef42ace6e0f60c802d725338e00af8fce63217fb846d974cdb8c6a0e5d706adf6d50ab9bcaf85fd80715ef2fa81cd110be7b66c5fe3fdd98b4657bb3da9d855cc8f0d447f958e15f1572b76f35a1d36af37ab657179c5d9b58cfb9db43f324ec723e07349dfccc5b640cf14ea2c73be28381881fec8ec02296ef771dba52c07a66a6fd139894ae7c0a53a64256f53cd639dea22f9b83e96fb9c9b1f359764ba6f945c986cbd3f233f6ef9fa3eaee3314e4cc0d6e53813b13cb0c07ec430d700f7c1b1b313f5c155dc98b92e9463a68106260ad525da544a7f98395764d8a6dac7cdfbc3db74ec7ce5715ff66e14da636d3f0fe413bc1fbfd3e4cafcb5f732f998b47c3cb6cf5f0bbb53706682733dd45c0be5fba0f6efe2b562ed26a5fd3b689c625e5a55dd4adc4e9f3b53d596fe7d0cbcbfd0dcbbaa76757c3b90fb168ee955ca540fb32bc5a189b4a9711783f236336b1dcbbf6b0c5a6e65d05a57e5f730008fa64cbfe0760f868f7163e3b8e73eae73f575ade4ee83e5a8fc3c9c8ee58354dfbf68f26a7ec6bd3ac809a9bcc7d25b0be5fba0be7b41715dc5dd8b0ebfa6b26ef59d3ab8d6217c4ed9963e3e07b689ddbb28dbd5b97729c1b3a99e2fbdfb74709d22d81cd6a60636c7c9b270e742d77a0b799bd11a9decf1e86447bd149b4074299b1b17d53bd05d0dc737f8d36dd150477f49df40ff2e9d0be4d195f7f9cbeadc3277357a722bdf07752e5d744d69eb5c3c8e495977099dab7a13ad6ceb0e9dab934f57d96e399dab8c6152cf57599dab7e1b8db55946e7023975e95a4774ae154d4e76ab77b2c7ae342e95e17ad4f1b325ef0d90fdcfc72ec1bc9cb23b55a9fe02dfe496bddfcefbf4896f0da4fc9cf23e7fb1bb6d056f2ad4464b732ddcd107752c2abc6ee137d345cc5ec86b76ed356b573b9a86decc582778f9357f4fbdeb247fc7cf4a45fc2b205be12e5d59b7f22e1de6b384b05b655bda3152e5384295edeac4be823ca8f03dbab23dcd7b74706f20d831d6a63a3e4aca154af717728f18dacfd7c86a5e0dabf9d5de503373393534ee8aa8fcd2fc95d5e9cead4c233fc4df50af66f6ce9bdb11fc5e19b9b78c365d6b620b6f2799f6f87ab2fef93567d769216f65157d11cebc9b35699b36e6db30632fc4bc9a52ac7fdc69d8635f1737bf3abb0d78afa5ee83e0b3986ec50efcaa55f2cd74a33b84eeb1b1f3ae6d55ed08c0508b674db1ef600c15382fd561dbbd8d0c345f00f83b84f317d603fca64e7da78bb697d9b0cc58cbbd9546d7337fee00f517df5cd80a8c1fdb7310c6cfc84d16976b6af82a4ad9a5be0ad0e61d6fa495f2ccce1ca03de0adc554fdd602912b8befe76d81f1b8a6e8a7d071a06fe87ad741ab6758cfd7d06a8d385f851917f6361ad7134ff8bb526b32ed8ca29180efe7ed71f5e4ba7ed7e93813cb406c7a695f445dd5be8dc6932a86f1e0fa7f24c399c07300c76c207da9d707c147c1f5bbfc2d74dbad09f10492336614f9559d7b512d7d09ce8b7b7326d3968d624cd0ef20c654580ff05b6cb57f82b697f90a90bed17a038dade7c2bd2c507f31e6d650e04bd89e83f0a55c6ed237723a7e825276a99f00b479c7db67a53cb33b59b13d88d3e249892d617265b1a5ac2df86d9ce823a4e3c0dec6d9e13524dca8e37d85bb93456d6c4bc3c696bc776e059d91d16fead9d8ec1dc2a8ee4cece608791327efcb4fb3b1e5ef9c7f8f8d0ddd0ba0e7959c1ff5336d6c705e8ce164da1aedd1bc2fe0eff79e191a7702687b9a36b68423155dcfa56d6ce5bb6664cf7dc0c6d6b90f50caae8c8dade64955cab3a48dadf19e19916b091b1bb80ba0e3c0b8f122eb64edaccaa0d5aed921f7e68d3987388e8a50c3ae93d82c56e84c3a4d8177f3c89c455c3d79dc9bb59f36463b78af2afaa2a75b35ec75f9fb65c86e97e93fc0bed5eb8310ff889f57f27c03d09921f1095a76e44371c2f7d8b7f0bc44fdce68d20bd13b00e8f7bbcf8c9e46ec23d25e1efb08d987d0fb7981e7135bcf853b5cc01e2cfb5e19d97310160f9c0fe09bb6a34edca3427669dc2378e61539289431334a7966f7b7407bf7bd53c6e4cae0f0795bf05bb6a318f348c781c53c5e07ad5e6437af373b5a6b6122968e5d87bf49b88df693ea68d2d6c2442ce62d9d35e9776ca3d328addfc098f57b3111e9bbe4df8489b4cb6022f278f54fc444e079e9349df1aa312ae63f93fe7ef79971536322687b9a988824561d5bcfe53111d53b646ccf7d0013e96860224ad995c144d471ea4a7996c34434de1f63722d818974c47b533a0ef4de946022ed9335f633bea06cff57d9f806af6d4501200f063fc163186ff67e140d8135c39e0dbd667de7cefbfbc1cc7b5f56e3b9b916f099c78b5be9845ed37cf5669d3d6e1bbd19fea173f1ab8d8d7f98f26fa499be026f17cdd81f196ae64bb45bd3cec8e8d5517bb03589ac714fc4d58a7d89c745ff16ebbc052bf756fb3a8a1eeb3a6f8f53394aee962b4ecbaa8f28ee95ec87917afed23b8f5def64eddab741ab6dda4dfedd31a357365e77150c66abd3b2ea9f10ddc67cb38279fcc78deb4bbc0fe9ba83f70190ef997e8fad776b7b0dad71bcde2746860172673e8ee7817ba0f0d657f0f922a94f668cf6564d77bd813a49efad71aa37f0b35e8a9dfd04df51a79f908f04f72759c7e3d26f8ca91eeac8ce78b5df95adb12c376717c889505dcc9ca3371f9d99f7c3ebc1d1795bcea6d47e090c6f664685bfed96156e5eb6decc7bf70f782c47b64766c1c57f9a1ab3aa53f7bb9307b7b209dc4a2cbfcdaa809bfc94b7c5e97efe2bacc73e7c92fbadf270593df5df974df3e4cefac1b2a5df7fe9d91216e2e551bf41e74d31b4ef603b4c12af96ac41bc0e1ed354e0968c9e93d8513afc8aac8e477c5925be08d421d83b1af9fcf33131ba1f7c437cb3dbfdd6b0b5d7c2cf146f544bdd77c06f4d7fab2f267d3b2cf9f62bdd7528de7423e79c7a3f6afb61a5de0c8f9de6285a8b3695143703deb88a3a41a55714f71ce03b5ad007c3f64b491facdc5b6195dcd49819d81ea28354b2d4b9e300dbc3fc2f44a62aff4bf64638ad13c1cb7ad741ab5d23fc37912fc1cb8037c2a81e93ad7bf85e81a98b7d9377e77d84e26df09d757dd65d34fbce57859369be09feedf71af0db4ed5d9a6779eeae174e03c62b61986a5ca30329db7c0e83834ef34c0f7aab02d87acf19277d0f0bca1769f4a6e4a7cacc41b60a52c75ee33c0f6505b1296a9eafe19d58bad5c6f60799493fc08931389f52c6263acae64f11aecde54e6cbe0b8d99dba0a8d5b02df88fedebb62e99b5fc9b75fe9de017c2baa8d7f48e555d6de56c7f5a06b4816d703bd4d15f624bad6f5ee1cc0f7afe01d31ea4f95bc232ef5c6572937754c0fd81e7cdfa094a5ce7d03d81e723f8cc954753f2c7bdb4beb4463e6635d3a0a53de4a2c9e077adb8be93149bc3cb6cf212cc260b008a97ec0752ef8a6f74e2ce2d362e5d9f7b9da5884fc2defe76111709c3c644fb358c4cfb4b7476a2c021baf1e1621794f8b8ea32c16a18a9147f7cbbd5804376f1816a1925b092c42fd8e5629cb525884467c3c26536d2ca2a81719bd86e67ba41cd4d258cb3c3f751bd30b796e7c346ec7ee5813afebec64713b594e65062746cb81fa34efebc7716266dc9fa59b73b9aa7162f6dbafa49bb9b521f4c798dc9cbdd7b5309c18fcbd9c6e86e7111eaf33ee749dbd7b2ba79bd9758be8667c1c9aba196803d4cdf87e29a99be1794374b3526e6add0cb607ea66b52c757433d81eac9b5199aa7433aa1719bd86e1c4a1fd7c0dedd87ede8d6e92b74b791b5bcca7ced60e8ec1199d8eb3f7da02f6cec4c1e7fb88e191c4caa974943606a151d7a7c5c0e77255e31aecb75f09d7e0d686d09fd164da75f62334de09fcfddef341c91b69379c78cf48eec0402c805db708ae818e4313d780da00710d7cbf94c435c07943700db5dcd4b806d81e886ba865a9836b80edc1b8062a5315ae81eac55caf8d315cc33706ad9e19eb686b2cbbc7cbda88b03ba47ced48de951afdaeb3b784f395a92bdf476c0e5da49c4247c1baa9d43d5e5ed767dde3e57295c4c001df7ea57b3c7e6d889c2da3bdd71d456d94b305fafdcef3412357eeaae9ecbd96c42e83f40bbb6eb17b3c741c9af778501bf05b526cbf94bcc783e70dbbc753ca4d798f07b707dee32965a9738f07b687bd234564aabac743f5622bd76bd83d9eb5b34ed66e620e5aedba0c77cedb4071e76ced48795a6299ee263ad8068b3b63e5143aeae3b83333ee4fc736347067f6db2f896d20fc2ca1b3f79a361a0307fd7eeff9a0c69ded5dbc677a263f5e9a9f28936b4d78df713f77243a3eadf38091a9c82582ec9bb2e7013b6fe07900caec23e78116178c4a6e25ce0347751e286559ee3c70d4e7012653b2b6838b77f8a7c84b95fad5d8efd2fc6e9dc668d76859a5ef3d599d5dbcf7a47384f807c3f13a3d7f6ad6f397e3a74ce3b9571a39c0e8fa9826e7672a7f9e83c14cedeac5ac7e5802bc89b8cd18749cf1a62bbe594edae1ebc8fa547726939a83702f607dd08843ab0e27fd8603e34f6fcb83f72ebea59d08be05debe04f719fbf5d1bed3d6cdfb64b7d6d5e158ccbb5d389fd83ec3bc6260ec363427ecb985cd59b11d76af82ef6735e6046d2b95613a46e0edec14c57b86936967d876253c0ae49c28d65d7c376b2aee49d1752ae239e9be92bd999d6a9c1d4a79513ca7d89ef05ed654e13c6a19a6584ea12d883f4c1dab7dcf9e37147bd2906213934ed36a5b420e58c66fa1eb43975f92ce0dc27d638d27b541ab1759db6b68b77a2ca694ae43985b123b13717fa5661b93c89908fa83b603734a0e5bab8e654c91777c481f5aca58b59b1d05cdd144e4db93cf5b016fc7db97bd7104f4bd8c737e54b3a37d45e52f707d06795e40ff0d9c1306cbc1e6acbcce57cf09da562ac3748c002798243e655d75c67607c837cbe9d762dd02e7aec26647d7a9a85b8bfa1de2023334e20695f2a2f8ba7056095cbbcab814a50cd3fbcd625b000798da56bf67cf673988b0dfa571c86a5b9dae0f90bf06888149e7068b81890886bff34fd6ceaab3f7ace93a44f821117b5082e1479db633990a9cc5b41d8417d2bf39ed6907e15e47faa0f39e19b03755f31a09380ddabe044307f5bd245793316cf975fbe3b62668778373c2dc6f6273565ee7abe7046d2b93a160b341fc8102de6b4d9c8e33c1b9c013fd5ab4d18a9c5eaa786d749d0abab5a8df413eafaa3ae6442dafc4a615cfaa2297971a3357c930c5418a6d013c5e1a71daf7ecf99e624f4af36cde4693de751409e363742cf5c7410e1a009fa77383e2f363eb64ed7a21e10edb32f83c8c2f840a3b5ee23f4e1b4e2be88877c302bec0723b9aa3c9a8ee8ce1b7e9581f7e0dbe20be41c4dbff7af8021ce703cd098b2f6073565ae76bcc09da9606be80c793d8934e7b3899a8e24954f8822aff28ba4eefc31774de1c2ae5a58b2f28e348d432d4c71734f28ddeb3e76f8a3d29cf4fff317c01c86d4ae706c5a41f4fd6ae5d251843a8d4b9cab1e17b6a64382dbb23da6c82ce65f9400cbb3d8a1c44e768c8f727ea5c911f116fff0bea5c10d385e684d5b9d89c95d6b91a7382b6a5a173713e44bbe5b42d6322e233e574ae8a87035da7f7e95c1d1e44a5bc7475ae9203512dc3123a578de962b2d4b43b45eec3b4ff88dd5919362917dccecade7793bdcdbee7de3b2d673211f472860948f2363b6dbbe38c453f21c57031bec344bf7c9ceb30ed9fb8ffbd96d3763aa3e2fec77cd1bddd76dad326fe9eb9678cc6808cd87e48390edd7034ee03b892c07148e486eb927e7b644c3b5695e73794ce5396eb7b72b2768f9541ab17da21c76d98ea088cd710f85dc16948d794b8b61f448e02fa2db2860d8257b5dcd87faa727c86507d2ce603ad6b84cb90c84f8ed3c53bb72df0eca2bc99805ed1e20724fb1f3e8fa5fc85108e28c3f6c1b3ba147f21bef7e81a8d4a7317527d6263e730f5e97ba7c171f516afc555d334163333486c85c70bc343785ecc9d6039b7f8bfc57da0eb59231640b33fecfb10af5bc4aa937cb5ce72f5145cbdb1b95b74a7bb45a5fffed26171d7d325b6ab9273d47e5f1e9d7059b99e97ddced69b5db39c9a832ecf7fe81f3afbc5ec61c5d8b57abc87ca31e33abdc0d704dacd3c7f1dc6f5e9b4ecb683f30f67fb1be16640cf2dd1fe51e55867e619c6ef34f03946e781f7204a7e04a03c87b369e433cfc791d811dc3c487519e8232838efb0bb0b493da5e3964aea3010d3cfd7aafc1e95fdeeabf839205f9e7c0fb1760bb6c7f4f07c70deb071c6279ed3c6e3ac8b5831c4712972942b7484c4c7013934412c1fdd0f25b07c709eb0fb53a5ace4f7a7605b08c7bb4a7e2aff066c0bc1f1efd02b5be93e9473e2dd8127a1e7522bdf2b18aff6f0f97a1b8e633bb45d43ee4db5c725c99f80e8d4a23eeffff8901e56be3dd48f5391f10762df7d95fb52156f20744fc4f20622f7486575bb066e8fce31862169f10562fdd7b82bd5e70a44f66999f894723c814a5949f1a3321c812af9a9ee494bf1037e48df01dc80b43e346fc6f67ab323f7648df726871d61bc80983d86e948592e8dd2ba078c53d1e402fce576a7c803887ef7e5ecce327dd1945109bb53cdfd87ae15b5dd29e1fd43d77219bb53154382ded5dc6377eaf0fd2965a56977aab9fe94f2d3b63b35e247b4efbc72ee28309638e703fb75762794cf2591159acf25bcde082fcad88f5476a76a5cb27c11b01d55b43b9d1f9ab6172cf79f181fcd72d0e9d99da32f6877c26f5b21ddcde578f939ba5d23c73d3a4ea5dd2979cf88f6bf8cdda98a8b46e3d7efb23b75de312a65a569772adf302ae5a76f77aa63a2e5ef00d8f59d737641fb50975fee8ed83c1927602a2b597e82c87e8e75ec23f20645775c38d6edeca75de84e85d6c3f26629cbc8e4fe13e343645c7cd8775fe5ed898283cfebc47275b0d810f0777ddd5e8a7f0f9b6334065a877b0fedbfc6bb136ddebd2ee15812738295890b29c7b9a7949534feb904df9e527eaa372765b8f65039e27a068c7dd6e487bbe7bd09b7260abc515456d81bbfdd24e38d8a6d58857e05e39e79ae31781f8d8c7ed79e68e85726e70b5646a25f7f66cc333b5f7afa75f705f52bb4c60cbbe9eca612fd0afd7e8f7e55e78f47e758ad5f435cbfa2fd2fa35f15b1ce766bb477cd9fa65f35f2c5ab65a5a95f8f2afdaa949fbe7e55c639e372c4f50c8825e66dfef4f77c325e3e2a2b54bf3e468356cfd0d4af915cbfe26ff986e34d676468e857060fc6ca48f4ab06e7da1dfa55fe8e8ffdeeebe957b02ffb9a33b171fd0afe7e8f7e55bfe143e758ad5f257947d1fe97d1af918aab62d89eb67e9a7ed5880f52cb4a53bf2a739b2ae5a7af5fd53147a81c713d3392ee431623fcc9fa15c8e74265857354a46ff674f42bc8bfc17345617ca75ec7d6d0af2c3f055646a25f75f0bed2fa15e0b3c3befb72fa15e6b15b759df14aa25fa1dfefd1af1a1c76e01cc31c76798ce0bdfc75e8b830ac5787bbaeeaec2755999e9560bdfabc75d85e2881f596e3ac53ca4a8af596e0ab53ca4f85f596e2aa43e428bbdb42f55b2b5fbf386f29e1a1b8518ce06bf1c625f1c73a9c71748e3ccab9badaf887fadbf2e0a3bc71ab4a275c1e828b57863b2edeb77ba72be8e663de1ecc1f67779dbdd776f6f09d9aa22fc2fda7b3776bf60e892965c75e86b3305e232dd7d07d5fe1ecddaa3dc678bea57d289e555577de8fcfd923c47587df17c636836f5a0217353e77f66e7453736317fb0ef3c8c1f3e2759db6277dd321fc0e9c99c27a00f93d261ad836d25ea683d87d22727c301c6922668aac679e0f15a85fe0f9982af217207b0e383f58b9c9b83e6c2dac5b213b7a8e406d8a7c1f53c519a396677a9640ed019c1fa63a870126d7fc5c61da82b98fc41c33e938b0bb3e8a4313ae6c2e96821d17cf7f34d2d013b85defecbdcec810dfa830edf1f5b0ba7e627790985e455f205db5aed840bcb942ff4be360c073008d4783f5a55e1f8ab96624fa5de663c43a389a4442ee2dfc8ca9d8adb6922f5b4f5f22f3b29fb68a6fad8615f9ef409c47713ddcc98387b797e95550df6870e1e1eb99c374a0facbf2e1617b0ef00558b97d90134f2d3baa97a136cbf3e2a9e5996239507b7771e36172657c03a62d90c343e4954ec781e5d3259cd209fe12fb0a0cfec28eeb08f2f149f4041e7b1ccfa3d31c19829e62dae3ea61757d7bb4b74bdbc520c60bdac33afadf92c4d6c0e780d46615f4a55e1f8af17812fd2e8d7906ed7ce919e31a963a3f9896bec4e6c569f75b829f22fdfd6e3b5f7d1f82b797ca12d43710171cb0dfe1f5ccdbd250fd458e1105168fee39208723e433403c231a7968d4b2a37907403fa5c835a28c8956cb33cd1306f92d00df88129b47e5cae47164b0034daebb741ce8bb1192c3b15d1fb47a578be5bac3719150434f48f7c0c8e8342d3d5c24e47111bb31da3d96b549f5ed611dfd2f8bd7f94db808108322d1efb2f77b9f8a8b20f3e2b54693de55828b88bfdf6de7ab6352d0f6347111fc3d1fbe9ecbe322aabc8ec89efb002ea213a3a2945d295c44f5be4f2dcf92b888466e474caefab88875847011320e292e62b57a276bec57f47091b6869e90c5437bcde1782ff8d6302ed2e1ecabd16e5f47f485a22f3f0d1791f21cfe265c44e4b290e977596cf6a7e222c8bcec7bf5e1b8987752fefbdd76be92db026f4f131791c56a63ebb9342ec2c61a23b808b8e73e808b68705da865570617d188dd56c9b3242ed2d1c14540b996c045a0b8ea641c525ca45d4bdeadb4535c246b87b771db35db10b17d164391dad6e37515b8ff60edf9f5e0606ffcc3e8ec1d1ede57b1ac9a7cfd390fe02670670ebed70adc60ff7eae6f96dd69c8ce1762e3b5876dcbd0d6b9fb516d1415dffa65bfb746e35164b584735fe84baf99fd2dd62b7f33726f5863cb04ead8ae66b793371fe5dc7f991c57b2f3b2316cadda74de4ec5358ccd1fe7938ddddaa0d50eed678efb8fdd0718ff1ff28d9c0390e933e06fae20bf927c2ff52b993150bf923bf7cbade3026e7314fc240596b6afda3bcdf7a2a05e1a4979e38a63939cf70a7feca3989f563f015f6d859ced441fe9717df27e5ab607b0735e072f23eb40c175b8aa047baf12ef4de76d399b9271f59a75866b308919f143fe6f6ee5819b9794b74fd99f34a6ab73365ee68de05f33fbd59bd97fc7fb6b5ed8a77f85f578ae9398a5cac365f5d47f5f36cd933beb07cbd6dbd69b79effe61722af00e86eecc795b9a45bb5e8f77f083e70369337f738afa0e1cdf1c6e2f8bfb0eb4c5d01c21f89908fbc92bb52f4ce6506e4be9d94a71bf6418e44ac36715ea106c1e2d3f948e89b13dd9f961fd81ba1db9861ee624e7b32b87a1b17c7d9fe38f316b5a79e7c17efb95f03390274f79cea9f7a3be2f06ce233adee1d8afd838ee04d9f5108fa5b86f547a458e9d815c99b01f86ec97927e183c6ff85d87426ecabb0eb83d44072964a9839bc1fc8d980f06cb54e583c9f800d33ae5f6e8e43668b5af5613bfe76078efd4e79e0c8380b12aa62e965ff03e8c4bce87776f5db25c4cbff44e9ae53b54dd6fb0df7e25ac0ce4d953de0fe9c511943c1f74ee3690f35b7ab7c1f162a23819320e4d9c0c6803bb8b46d678c9bb6878ded07b0d85dcd4f71a607b1846a690a50e4606b687de43c33255dd43a37a91d11bb23b8d9b158d4e763412f031465746bcae846d3f31de88e327fbb9ba0a8d5f6279023fdbde55c7f8b0df7e4d7bb74c7ff4e455d2ded58aef41d6909ebd2bf381917194b677ab4a7b178e49b8dbded58bed51c8ad84bdabca97a99665397bd7d6b1774199eadbbb505c4f52a7dcde6d5707ad515d72472c7211e27a0ce723c4f63913d3037212caf503aa73c177a0e56230418ec3df1bcfc3f2faa9ee86d96fbf52fc25b736a0fe88f63487e5fe3c7b5b2b5e1e19afec5e18e2de03f6373c0ecdd84b98df0fc62e91fd52328e079c371ce754c84d7d270cb687c45daa64a9137709b68762a7b04c55313ca85eccf59afc3ef86a35af2197ebb2804530dc74981fcc7197e1f7a7ae09e4ff67ea6239c394e540fb91e755fc1816a1c73df94bb108199fa2ecdbaf8445a87815bbce6eda91f02a02bf97b3ddcb712b7a5d7b32c5390140db4f8b5f111b87261651826311d92f25b188923c8b0ab9a9b188325c8b2a59ea6011e5f8166199aab008542f327a4dfeee94e45fb464b673dec616b3db50ae307e1f8ea7eda1241e9ee354549553e9286d3b57a3ae4f8b8567391e55b633fbed57b29d416e41ee2db23d19d52471f0e2eff79e0fcafc42f19e99984e6b5dca76e6b940d1774bf038346d67a80d941b00de2f256d6770de24310272b9a96d67b03deccd9242963ab633d81ece0b00ca54653bcb3814699d2de91bd370f87c0dadb12b79632af228e27626cea548ced7bd2be30400f914b1720a1d85e9a6127116203fe36fc59d594e4215eecc7efb9570677e6d4071716ec5d9c9b800c4dfef3c1ff4de95eebcaee47d39a45f20de40c8fe02c7a1893b83dc8448bc3bbc5f4ae2cef0bc49de94cae5a6c49de1f6b0582fb92c757067b03d3cd61d94a90a7746f5622bd76bf2f7a4a3caa0d533f4b00d94b385e39393d82511909b13c2360c1edb00cb2974d4c7f95a603ec1cfc136002e48d9b75f12dbc0ee029cb12de67f97fe7eeff9a0e6858ced32cb289edf302f241f0f7b2737243e3eadf300e787c4f74dd9f34087174694d947ce030d9e48b5dc4a9c072aae48b52ccb9d077a9c30904cf5cf03913332ad537e1ef4aa8356ef366c7e31cec83c4e5b8337329dafce431a53b23cac027f5b7c6b9be9d2bd3bab1fbd794fe4bd5261f53b01efcaeac23923c172696cc7c5ab4c43f19ded14397b46a13d816d57bcae89e23c13eb949d67d66e6f20f9da70b98a58bdec5be97926b62f3dcfaecece527212146407f37ee1587d57e88ff47788e3385fb31fe58ab427ae24575bde0ef0bed65460f5d0388af7a5a91c310e1b530bab07f60b74575a1ccb477822e572cb62598ae31339c7f4b07a992cf3d8c0748f48f86b6c5dac5e942977674a6559822392d4a981d58f382e0446861cdf589e73b3b01770deb3227f5347e47bc8eac2f921c1720a1d85d8b676ab678e606c03af4b11e722d629d577e1703c42f8dc71b98a799565df4ab17ab17d2976d5e85a11cc1bc4c59270b203396b903817af3dda4f649c35e2eff79e0f5abc904ed319e33c28907e81b805614e2c601cc55843419f14f96ad4712ec87e81e20c8b63f90027a45c6e59ec76717c22bf98469c8b4a96792c4bf1fc01b86ab4e25c609972f186549625f820e33ae558fd8d60f5bb118bd53332e4b8c532ac1eb733a5587dcb0238dbf2ba502e48b09c424761bac9b076d356d9ba1458bd58a754dff5ea76abac2f2062f5b26fe558bdd8bed4d66fbb11723696b45d31acde0a8bbc7a3c562ffe7ee7f9a085d58f22298f21a45f201e41407fc1e328bead29ea13819b468dd5c3fb057a57238ce57efe4785dcb25843d1f7287289e960f572593271e0c5f307e0a5d1c2ea419972ef6b520c409ffb91d4298f11df1b02f7238a6df4947eb5f44de4be5d1b89ef4c216c232c72e200e5143a4a1f8750d7a57a13f9ebb10de04da4ecdb2f896d60b147a3f1a6694bb85ec4dfef3d1fb4f81e1bc3764ff2de5b8a6d48df4422e3288b6da8df4422fbe55e6c4393eb5121377d6c43e74da44296a5b00dad3791b04cb5b10d98e791d4297d1369efd6276bbcbeea601b96daaf2e7297f1f17a6db7ee08e72b846df01c8f7039858e4270ce7bb00d4b91abe837601b22bfa3f4db2f896da01c2fce2ee848def088bfdf7b3ee8703bee36dde1647227b6d191bde181c7511adbe828b10d64bfdc8b6de8f13a2ae45602dbb869bce151c8b214b671d3c13660996a631b20a723a9732c7dc36358e1f5668fd729b641e5c7c769dbd1a406c49de676b674bdfbe610881f6530148ccf51f87dd19d6e62f96367c0eaa9bf591eedab3bef07491f3b276fde37d87e82f6dbde6ee9db935e73645845fd96e7808f7a57abd5690a6b67760b7cc67ec0b91cadfa70fc78b5c6e25a17b81cb5e5bf7960cf5a65397e8ddcecf07ab322f734d8b54de00cc7781c99bdd8d97b95c9d9abdcde57705cc8cd7a6ad4d2b7cd497fc5b50fbe538bd7a614bf63fb9fe077acafa4780b5f58f70887632a4fc57b027b62552d7dbf45716e61b978b3be60fe9602fbfaa82f5892bf51b137a1f9c5f85b8bbc0974ddc3ede9bc194874977c3cc7d55bbcfe574d93e1667cbcacbac1d99bd1bcc0732758ce2dfe6f713bcc9ce8701f1259a8b91bd33aff1e1c621f9a6055bb65a56ef88787d36076dbb887e9298b1779bef1f5cde3fd1cbcdf5597944751790e60bc8d05db8fe3f4c36525ec3508a394bdeb70abf678ad7ad721d483be7b267327c318fbba3c13857a78bf54c3b621e39261815a6f8e693ff273809d1776dea72d3beae9e05520a7dd7dbe953657e3afba97c8c7a28ce961fbfa75fc2a354fa338af43cd792fd7becedb5bd71c45ff1f7b6fdb9c3aceac0bff95a97c5debdc316fc9ca543d1f001b160c36cb8e81c0ae5dbb780bef241343009fdafffd291b03b2d5ad6e93ccac7c38fbd47d66058c64b5a44bad4bdd978687349c17d43e60aea8cb55efa9d2683412efcf3a8f80e70fae0146d449f15da0b62a8639841de9fd544a7d46b83e80d700f412b1f979488d25f4f907aa412ccc2115bf563067bbbde9e267d369daa75c4f41ec3ddb52d44ebbea2c39a5ee1f9be312cb25ce87d99a8cffeef903a82548ad61cc3e48573f4b3f0c5ea31567c33c3d46a25ce5d903a8338af969ea7a58dc16ac6baaf0e9d47552e7c2a9b41889ba18e70ee078c4fd44b03e35af15b79fa41b168e67d599b035ef7acd00ef629c566d1bd323a3cf3393e7c8310dba4ff5110f30e72e6a1afe9ef35b513b507d3ec0d75ffc57636b40ddc034fc85c256e9eaf7397c033c761467034ced4575b9eab89a98f628a165abae87776e0bd6a7381750d7499d0ba4d35d54d7c588a901c723ae639b1e4bb0f8f04b3ba9bc4d30be84382746f5692f7368aee268ed7d431f2ace882f5a6594efa6ccb585f7c4c0fa108f7d57601086971ac757ba0287c91874b19fbf220e63390172f936b70fd2d5cfd25984b9130e0e2b734f89729938acd138acae27250e333516d575f2719891774ad4950687c5f188e330cea52570e8a21781cc4fbe36e08770188c750fe790faac2cc0e23c8ec3172d390487997a8eed8a339762532f6343d46214cf5e5aed2aa21190c0cbcb7b7e2e0e8be5aa7158ece72f84c3b4a6a264639bdb07e9ea67dd830a8e13150e43ed0362e1d4e5aa71388d9ea2ba1e1e0e83f5297280d47552380ceba06231e6eaba18389c524b11ae4f8943336a7ea68f8da67138d66772ce51308794713935bf59de1d2cdd40795de1fd115e97a9dda8f70c5bc2be739b44ddc5583ea0b570e41817b69d3fceeb8ae512bcaea813f885785d523f51b6b1ceed8374f5b3f4b9c071a2e27581f641f9f2ea7295bc6e2aed44753d2c5e17ac4fa5c5a2ae93e27541cd5334575e5d1783d74da99b08d7a7c2212c37f2d24e3f6d1c34cd25c7fb4cca2f0ae7905afbc5d0a21c502cbfe8f2fe088fcbd469acd85a5b8a39bdb449d4588cf948ba03c4c572edfc093cb6582e11eb206a027e9d58075a2b51b67193d907e9ea37595a5cd03851c53a40ed83b49594e5aa631dd2e82412efcf8a7500eb53e4f6107552b10ea0be29aa61abb6231deb90522311ae4f894336353fb57f20d621d667722e513887943a29a6dff5ccb9c9e127309e98a9c968fb8e2e696303fc44422345b70c44b39563e7cfe427489e58d4fffb8afc04aa8b28d9d8e6f641bafa593a25c038e92cb7c39fedb3fecbf34cdcbb857e63bef164bd743bcefbc87fb9681feac3cc70d5de443a445ea895a817278d796d7ff91c1c972c3e44ad89a82e97c987d0bc34514f4a3e84a989a2ae93cf8770f410d575a5e14358bc34525f30a687abf602d0b83be1fea1d7b1214d3985ff6dfbe6a27b90e3f9b9fe37a8bd68989a9d23fcef7de07f5b8f5f4c7bf13446971a2b763fc4a5dc71cd8afa26aeeb75beffa1beec95a59ccb8cb2ec56bd22e58eadc372e25a89d46f986303c143dd9ad7f2e65c8ef1578c4789bbc19e53ac5160bdf81a55cb992d738fc4910bdab9423f80b9f888f6e4a25d26f60ad2f7c05e41e80330d735c3e26ce03e3e634e5807a0d162a9b973f0fde3fab947db61fa2c16190fddabd80bd61e21d106489ba5cde36ad4b68a7473e3ed927559da1cce5c69bfd31a11cd0385264b9bb73780ec88e38ca69e87cad811c3f4eb5573a1baeb28ac33857662682b624fd092f60420be9695f8aad44cb435c7907289247c8def05c0dfa8f095f637afc0579b89afca3dc06fc25744ab7e61198eaec83b01bebf025f59fb32a48f697c55fae2f0fba7c2575a9b5c770c9b936fc2c0579e2e39612b26be727c70b5fdf8f8cad22387ed88e38caf9e87ca38df8fe1eb4f085f435ba9f135d4a6357614be5eee9187db8dcfa376b5d9320a922e9a84af62cc36f21b05be3238ef2bf055d61cc49efb7af80abe4bc5992f4bcd16aa35087e7f05be327406d13e26f155110b8dbe7f1a7c2539ee56b760bb4b8ebe20035f39da82a4ad98f84ac64093f6e3e32b83dbc6ec88e3cc413d0f95b11e1fc25780d33ed90ac357bff9b8db5baeed996e4b23f175a6c457c53c6a652cdfcc49774449f82a6abe20bf51e12bada77005becab11dd8735f0f5fc13156b1dca16ff9e8bd6be0f757e02b23a603ed631a5fd738be62ef9f0a5fd704bebaad9ce90f3977ad31f09513cb41da8a89af75125f29fbf1f1b54ee32b66471c67f6ea79a88c69fe18becafa83275b61f87a08f0d50c35628d0c89af6afe55a135d2ae5aae9991cebc247caddc93bf51e1eb3fc2bf1a4c7c55c630ff267c0575292acebce55b090dfcb8ff2a7f7f05be32e2cad13ea6f115e75fd1f74f85af14ffdaea664c5fa1ed9f0a5f2b2cff95b015135fc99865d27e7c7c65e850207614622242fbc17ad815f9bc2c2a0f3b2f33fd85d7d44dafa9174f71c3875e47e425bb9aa59b3e98eb1cd856111361e9b66ffa723c58ef10b601d3f08b7d77b57e5ff46ef2996437dfd46b39f61dedf349de9c8f9277069fbfb77c63e7b84539fe38d2ee0bc68442b74fb3e7c582a9033adf49dd3e96ad7b71cd3ed56fceb1e3b6d6d0bbb9861eee27f6d6e3f2d2b7e5c2acdb71d6bdc7cc7a507dc835cae2980fc7baa0e33782e314dcd26e1c8cebb9ad99be9995d66e80638ac60db6466b567997b50ebb8c75be5befb4063a8a7e3cd6afd2c613d73d652c93dbf29bae9961c61a52eb4bd591fd1be13d9277fdd7973de5bda4d0993b3ebe6dbf7b68ea35d59dfb8866e0658d0bde13b45364736c5d8fcf5d5bc69c355cd7a96f1ae542ae1f8ccf277b23e8e44d1a6be775d06947713b4badd7c9f889cfe683ecc9beb40e9d30b7647fe37206a3b019a9bf1760de6768eff1cb21db8be236a6b927f83f1cbdbd56c6f417bea5e4ea14f73241f3598e3d8d9501c7f90b630df4553867155019c758a0c4dc80e33f2fd808fa14746cfda5fe232e83ba7a15cb350ba60fc711083e3ca1a987c5f4e0634089a5ba7970e6f52a134bb9fb1595961ef28e786c398291d83b962dbfa29bc87d1bd47e81d0d003fbb0c9ec637edd0cfd3c680d8cc72cc7fc6e96761e59e6694edbd7ebe65175d0fb94749a79647d179cf8905e1edd1f179fb0fc41ad3cacae041702e8c841734fad9107e1837a3fa4d2c73bcd0f15ff93097ccbf83dfec736c5f49c006e1dd5a02ad3ed49e0b6781710c681e198f779bcba582607470f5f0f47f9bc629369737edd8cfc55643cd038aad02126cb64e028c5a75375a4c151ce5d3b647d2c1ca5b58ee9fe60e228834bff08b6c9dcf669cc62d8b6371f779a7508ff77c4b623df2cea4ba9e7eacf24178e6a3809fea29935e79303701704862150bc0ba889f68fec7d95eb983276437c47c5fe1cb287e21de7c3bded57482d4ee13d201dce3478ccb34f8aba69de1b1d2308ef0db44bca1327cb0cf3c1137891d0feb488bd2359c7390f3c510fa0fbc989d920eb5371dea08e1c9c1b4ef747c46d27d61049efd3a7f7aea9f1018a3706b5baaec947399609e98aca774d9ee607c2adef9beec4b3f462f83f419303e0506c954fa5883346cec512b86efddcf0f004c43c9bf461d2e3a832c658eccbaf86a3e05de860d93ad3e629eaa671143d27a57054c371942c9381a3140747d6910247397c1d591f0b47c598691847e9fe60e228e3ae73e519b9802bb21e9b30ee40adadcfc55139a7ef343f501cd54dcf9c4fc2ff41382ae8a601388aea2a25ee8134f2483c86a83715bb6bc97627b0968f8079b076dfc770542c5381a3625f7e111c0575c9d436d599364f5137274f031c0f288e02ed02748b8832511c05f5d5d07b16957590380a6bb9e1391a447d2a1c0575dc30ad22aa3fd4380a8e3bc5bd8a605d18ae40f1c3a27ed8a7e268bc7f249dfb707ea8ef3e37f30ddd3834cb20bf296be081b8a3be57c79cb7a4fc96633b44bd28512fa275b05c38ff8ab2e907f94db14c05bf29ea9e7d0d7e13d61553dbb4c9b439bf6e963e1f381e307e136a1774578fba4c94df04f5d1b0fb959475d0fc265897ea6e25757d2a7e13d46143ef5522fa43c96fc2fa79f89d4a605d28ae98aab9e77ff23951ac7fe47b94c2f9a1ca73cb9bb3f07f6a1c0572dc78da6eddbde5dbd2ddf2091c8debbacd8d9c05c5926198f779f96d2a3d37a42fbf1a8e625a46b24d9b4c9bf3ebe668b8c1e381c651957e1b5526034749ed36a28e3438cad26da3ea63e12843b38dec0f268e72f4da90ba505c81f844a64edb477014d2683bce0f75bef06197a5fc51488b01d5098a9dafb676a65e94f68c091cd5c4f376cb2d06bf6163de27ea308865727054fb7a380a6a3080366d326dceaf9be6aae1f110c5679ef9e6fcf99c33b0ebb89cf1fbd5ca62901bde5d34d68a39eba9be1c3c8639fdd5c651936d572be70fe6e97364ecd198ad887b24cba4319bd47aa0ea4881d9314d3ef46c9faa8f85d91a7db64ff60713b3193a0f585d2186955e072b4fd67339c77823df2b3959f360ba938cacafcce112009db5e8fdd1bc11d7f4ccf2eeacf1d0eb38afa372e6ac8916de5ffe58f27b9dfdb29bb327835c49eb771eb6c7b881e3bc7fca16a6834e806f67ddb4305eb9db596e7b4f35514f6d36c8560ebd72711bd770cb0c7ad58ad67dcc9cecf110b4f1c97d9df53abdf7e1aa4de240c425effa9dc21baeaf86f4872286dad65a9a236369544fac0cc1c7b32a9681dcbbc91813c8bb941cddd02c17d1fcab2eb7fd83ac1d27e71da0f52bb8e58a61ba7646d2de44faa4a94f768eebd0f906e23ba7d05983fa44f4e5913e4bd6731a2b097e39559fa0759d31276ae385178de9fa611cb3eeb84e853cab4b949d5e6b0d19a7f23a70b295c43383ed51687252f68a38e5647dd11a01b70de19a291b9eb8e6645d57eaad5d31e7cbc49c54c64030d689e3f8606bae457d83faf8e66c77389edf99d9584e75340e7b8798aed8c9df15e759426309cbf19a96ed852dfbfac77a10ddb56ede5ed40d84ef47de811113d1b2f796decaa5ea57d9e747eb57e45683788fe656fb93bc69b434249f43c87512df19d63f8373c0803e11cff4903e4b8ff90cdf1fabeb3c47a336a6d45f6b1af5b203ec5de2f9d589b28f3e39a21d06e62961e3543edb4be0fb450719d67b43fd72ca5e27bf5c5aabd26bb051363ce74325ea3a7d8e8c432c5fea8a396f127352a9c3a69b73236fb5a4f3162117f6383ee0bc6ec03f8ffa063debd3279ee94e720dbdb68b732ba771388435e6607f5011dfdbd59a46af2cddefb68eda132b43cc319c566de45e2eec1de8737bc8df24fb558ea140eb57702d10dea35c8b996feaa58a6590f905a4af09df510df5493cbf16ecb3f498cfe813b4ae930d259f0dd2fb027226f3cea2b627789064d9a1ff9b18d74afd796c9c4ad82aad1dd7eab291f68a622aa4b52ac462a46d58de2961c3131f925cbb4e7115f038c4b4e7af98f307624e2a73c76cbfb66fea6de9be330163a3f171f17d15987719cbe83d7cb6d6d00dcd3cecf6963f1463d5407ee1126301fb83c9734971ff68eadd43533ebf97f885d81d7cf362d69c2f90f358e41de8588b6bf88503975f50dfbff7bbf80538e602ea13915f40fa2c3de6d37d82d6c5e0171477ef7577d6bc565068f2b2f80532f6021ba7d7f10b070ebf40d98bcb2fd0f7ee91364cc12f306230ae99f3d49cfc280fade017a0588ca86f503d18b3bc2b34cbbbbda57769cca5da8673ba15dbb7779626ad5f32e68a9c6ecbd44c7d84e891d2f6fd44cc95ef9fc6ebff82980beb21407d22ea21207d961e73e93e41eb6260ae226eb8ad5b7a31a7d0e9e5612ea9df868cd3eb309773ef34692f36e6929c2e69c31498cbd170836dc9f43b81fb9fa3f747fd4e33dbd0bb81ef7938c7a385fbef8da8cf5b305bad2ca0471a71021b85d6c762efb85d403bf5c4e116b7ddf07c2eb31a641fb4de53a8f770e21a3e41cbedf47e907663bbda94b4b514fa8aad6ec14ce63a9cb950c730f5c95ee642c5f708da13fd1dea4d0936f66b7953b7f700af941954f7cb51f9aceb76b45b0ec792a65ba958732ba1e7a6eaa78b46b479d8f9e19af8b8db9a6e2bb91e0a9a6d430fd887f335dda27121f3581b99af8a9ec575084dcff48b5ed35d9cd7f0f35a46da093fd37316bd18ffa38e7d9aeced7937c955a7c27b96ae5bd026394e327a3f553c0fb09fc5df0f3907a0df2fb92ec21a78607f32b4dd221cca213ec0292675b6db8eb2cb452fdbd61a4f17edb65ab9a0f53b9965f47ee13d6bc343fcb36ef6e1e4db30ee5963becfc7f4dd423bfe7528cc474fd631cf26fbb01dfdacbf0fca19afdba92f07fa2966a115b473377a7206a39fcb5dcfcd1cba1de7759011f1d6db0663e4c8e95bef83b5731864779b41b532eb7576fc36a36b818769bc897e12aab323c67d35f54ad99a2b78fd687e63dab5d0fc86cf5636c4f989d0cf884fc3f159045c06f8b80da9250bfc3ee67bd067179776443e9fd80f6a2c03f71da0c614c9a1a9ca49cdc9a5c430689f236a97a9f87cf1b9af72864a68be8173488c9dc4e6186f8f03f61b821b76de6cd5b28a33c8a4ff0c69a525e70489118af353beee1b361f52ec6fe07ec2787cd2564a1e1fae0bc4141a6389b3d354da6fe97105e4f0618dac4f393755e9bf9d6c856a2459b3ddc13aec0ad60c3e330534ede03551110b8eb4292a07d480c37ec3b4eb476354447d371587c4d481fb57cf4a41ed2f6a3de2ad7f347f954a930feb638c3fe268c1a1efcf382785b5cc401d2484f34d139b02f613e68791b65273477c3d38da7ed419295817a6857405771e2b3fc11b45e5cd11dec85d680dbda635f4c5fe149727f994a2261c8617f158be98ced4e7f97560fc0d53170eb2ab42e3223d2efa4c5cfc42312484361cfc2e3c1ba5c1453a07151d2b342ee2f123f8584e838b943e1c1a8f740d2efa0c5c246dc5c445327684b61f1b17191a71ecb8ae8b361318230d6a697d4adc8852272eb215a66f64f9a667ce8b5e53c7624600ed3b1023f1d868ec1c2e89f7a2569cf2ec8eb6eb4763f4441d38555c34532fee5f3db70435c2d47c81780ef1597c021d138db6138d896668c6e1efcf38b30435cf80d83c7cfd4b119b07f713120f4dda4a1d0fcdd78da3ed479d578275c171796a3f421cdf80ce9a380f99da711ff271935a9897b982fab866b6a11b5a431f1690dc93cb7b83be1b533f4e2f95a4364531d031cd26ea374cbb7ed4af566ac821cf7d15be14d628133539263bbba5d23e92bfe7fbcd2975e4e03ec6f85248134dbeaf1e797f065f0a6aae21ba1d79d3a8e0fb5e065f9a5a4b4e6d2b255f0ad785dcf74fd88fe24b613d3e54bb03b6238e33205f0a6b6e7d0a5f1a1b13b27e47682b957ec73ecced73877b125fc178e79876153a8f2cbd98c7724c629a54d46f54f8fa89b1ce627ff1f055791ff56fc2574c5bcede357545dc03f0fd15f8cab88f1aed631a5ff1fba8d1f74f85afb4be9c66ea133cf72215be72eea3266dc5c457f23e6ad27e7c7c6569ccc176c47106cc7583b5b83e195f419db9d0562a7ccd5ae50063170837c06d97426b6ededa990097139523ea3b91bf51d9fd13b90195de1cf6dc57e106603db34bbe5cc6d48bf2bb28bfbf06db199a73581fa3dc00a09f26e79060efcfe006407d36386fcf2dee543c28831b48a73b47d94acd0d807521f92394fd286e00ac0bcdd943ec88e30ca8df006aa57d0e37101b13c97cbda3ad7c345f2fd3d055bceb455b4a8dad38ef6afbadbde976653de404b6c6eee8407ea3c0d6cfe45d551a74d8735f0e5b41de553333a66b644d8c7705bfbf065b3977a6407d8ce8d09d6324279b61763aed551f72cdf9596f6e67f9ed43afa3853e9e33db1d63b4cbc5ad39af449fa3ed22fd6485ee856eb9c6de9a7f8c87a0b4e8d0b970959fccb91b84b415d34f26352f48fbf1fd645a8f0eb3a3ea4c4ba50f772a0fbffb68e899eed06bbae73b3b96bdea526b74ce9a6e61ec76eda7b51c54dbf351b9f43efce9bc0eb2c7317f9c93f5e7c1aab2e93dee04ddb730de791accc3e14cd483abbf779fea8b5ab910d7a06b6f16dd27671a7c7ff4478eede468c49dda785a17464ff5dda0da4a6a6764ce6bc3cff66158dd2f658d09850edddcaa58adae7497eaa52c442b0ef95db4466486eb92d77b9475dda0f34e4babed9d8581ad376859aa3354b04c3c96216bbb9572b3856803a0766dc9dc8ae2599c5f81ebc7f915a764ba761eb96b475c27e2b64ba155676aad8c3347ef7906bf873896f398c5353c320c0d0fdf71db55c55dedc2dc00b493145c36d68ec41a72b6e3d59a75d87c01d611b92d9096479ba3e541d9edb49648ed933594da24ef42d9f2bc9e5ce6c8c7b4eb109b8a6bcac996b0ae511bd0353a9689eb1a999e39af151a7a4db31e6331ba671b627a72f1b910d7c2c272bccc56bde2c8fb9f4bbb62ba53e4ef088c82b493cd9c3daf546dec7e14b42c5bc163c165e278d72b99ad5a01c89f55db15d83f289ec5f71060fdf81ec2328cbda54fe93baae2b683b53cc17d446b6f2fda159ca381bebf767d60e8dab995b2d352f23400be007a69125783b623ced5c87892d459226239f0f902f035525baed6b7a3ec76e26ce4f6c9baa2e45d80a42dcfbc8db4fe007a4b745c076a5391ab3ed912d6fafc29df9f1f9589de9f6f3deef64db7e89973337e1e78b1615c8fe37c3f0aea672ab4e7ac4ad3b50ce9eed8f5b9acb8f616f53b02a340bed61f95cd56af8470067859aa7865b04c05de2d8cbd3d5f621a23a85d819865c5b378dc32583feeeb6bb66b684d83d65966f8ae70ecb2d62a989a8ddf6b0d7d7fe5fac0b943c77117bea3cb773f9ce72f802f1c0d3cb41d891866194f92daa3541c333a5fe43866b92d903e08279699b4db299619d87ba4d6c2a36d798e6796d61f40839411d38cd954e0bacfb6e4ead34565ea18df5d0c63e1acc3ee60ba71ad2484db38d0fb6a05c7b930b24dc3946c0a711ba24e1df63b02a3f83c04a3acdfcf6d0071238a67bf26b7019ea1976db79bb7fd09c66d80df5fb93e306248ea256b3ed515d8a6e436147124683bd2721b542c093a5faee63638f124a4dd52701b644c0969cb74dc061d5782d994cf6dd465ce3c2a13bfe7baeb996e516be8b59d59e6701b06b9af56687394ecb99db317f21d2500b7b117b80dec77044641b1bad7721bc66fe7364c97cf6d28f5f47e23b721c6000be7b5654b1f956d94db80bebf767d60dc89deaa699656c7ef1a51731b0a5d3db41d69b98d3dc16da0f3e55a6e23d66f08b741da2d05b741ebeb91b64cc56d88f521dc06665336b701c43a9fca44b80d23673eee82ffed9bfaf94c336a4f5bc8dd5aeae67c5406743f2e388e62b259b0fd5ace06b43c041ffdaca7d75b3dbc8f021b96e1ef3fa0b7777e4f2846c7d2a786c5cda5f66b5ad3b0b3d85edc6c193bcbaf54a471dad92f87c2f8ac950bd341b57d38aee385b7cb7a64c2f7061e75f6b6dd75db1b54db1adff6a5a4e69efa77e73ca356b6a19b85866ee4ac595c77ef32e62b8b5eb6b5e965f7efa3c30ec4b06ec759f71e33eb41f52107df3d68ec82b9771e67a04f229fab345be6c1d26ad87d117bcbed7aa6bff04c7778b9a347dc23a51cb398065f640bd5fa9d77dc9a6673f72be47ad5ab2271f0e777c1f6594aceeb13f68069b5f82e7d2bd9ecd4079836a4365c55b6c35c693a5cb563f3ef342e14fb2b3a87f43cb694edc9f583b1fd646f46d5e5a6176a67b6268df545db2fbad3cf4f7c361f64c53ea92f7b41fb19f338a1a337ef57dbf37e30a72a714efa5374f9529585c7839c6c096a6cc438f48b6e17c20f30f4f9e0b906719378ae2fbade817e1491d32b6230ca2dd2dc21584e7c3f4af93402bea21c20e9a708ef71399300f5fa9a46eb6019151687afd68b4bb5a7babc8b2a67f71f3c8f50eaf6e1effa85f6536afd44b05f7566bfa7ac9fe4bafc69c59c3b25850e36c00f01ed9330802c57b99782f5e7807308ba1ed639442a1d3fba4e8ae702350a61cc21eb62eca3c0f1089f41e0f5017c06a0e787cdcf795a2ca1cf3de27d96f06da33984fab67acd33fd6ee0dbeef033e914ed43cffa50ec3ddb32a6a976d519b2a8b147cdf734dc9652e30fc1ec2f75ee10eb1ff61ac6eb8374f59379c4f81aad381386da97f437c872d5670ea0561de4a791f5f038ad349a7f749dd47930a867089e3730fa873e6f00c723e22762f5117c9642fbef349e515d949adfd0cd7d4337b2c29d11b28f2ae47ca27e1d8ea578ecce75d8e493d8fc9be26a049d42be1fabca49fd7d7e6c9a181f9ead52d6ff81758de3c7e2b9a974b94c3f9688a7a1eb49e9c732ee95a4ebe4fbb1548e2a5d571a3f968ea5b90e4b346a7e2a73553fecc7ca3a81a73984f9b1a6def5ccf9d033dd96c6f063e9f6a171ef688c1ee0c73af74c1f0eed877fc88fd5f87eacea3ef5dfe7c7c2da8150f936b70fd2d5af937e2c1acbc9f163f1dc52ba5ca61f4b690892f5a4f46335861f4bd6c9f763a91c5346ffa4f063195a82cad8de040e41ba7bb131296acfa58df748e13b039a82d11c4274032cdf0ef55a4dd756f009179d38048751ddadd81d53ee64e7286274606dc176a9a997aa3c1c4ea167970a87c572d538ccd318fcd77118d4ca53dbd8e6f641bafa39774fc2e34485c31cad41b25c350ec7b43395f93f543d3c1c06ebc3ef9f24eaa4703885e620dd3f340e83e311cbfdc1ea53e2d08c9a9f2aedc16b7118d557bdcc2154bfc50cefbc6c967707cbada1f1ecc2fb23b17a1c0dc2d6ce0ade45d6783db549d4f91272f38a9a69f430fd47869d3fce4d28b508b1b1a0ba77fd5fe72662fd03dc4508d85867f641cafae97872649c28b909a07d722e2655ae929b8035f5c07bf2a87a58dc443a6d42b24e8a9b007517913c4caa2e0637018e47ecbe3eac3e150e613ca7a867f7e9dc44bccf92f7b71ee7107a7febdcf6ac79e017b714799f29da87df1d63586e71e7cc170c9f58ccf9b433a65eaa36d3f9ae1fe1228972b93eb1f9357d6250eb0bb2b1cded8374f5d37997d838e1f9c4f89da464b94c9f98d23024eb49e91373722ec93af93eb145de5b48f64f1a9f98d63244eb53e190708f0c323fd3eb6ca4f089811ccf680ea177c11b7e432f7ae6dc2e307018e38863fa6cd8fc32e53b23000c76c4f9bf236271d3eb1a5e87bf24372cf6ef57c45f589724695f9b63fb74f5929c30302e3acbedf0675b3bc5533fcfc43d5a1bbe63be5cdc9afa30335cb537a1a6f4a2eb1de3df8b93c6bcb68f3e87c6200bdf15ba86ca3299d84ee99d28eb4889eb0cce595d1f1fd3494d43757fa4c07386be095857387757fb0ca45777c23aec7b55ceb7e92e72d6c256ea2702f9a0288e46f304d551311f77bbc651ff3bca036d2ffa4ff6e6a277b8d47a1d6d32ccb6bd5ec7d26ad587dda8ba7c1f1ce7d6f1bd970fdb6e2713ecf5cf9a88614c7ab5f23a58b50fa2566277f5301daeec496315d767ec649de9a86a6c4efdfeeb3426db1ae39e797be7ac8febcfc9e6f1fcd573eee46cf0b39d4e37d1b5aae6a267c8b128613df1322e7b73df99d7ab0eacfb82bc039dff60baadacd532e13b913b756fd401f4aee4fc51b47ec5fab3b7dc6ec6f693b937d8fa53322c7d5442eec410f80ef19d61cd40988701fa24c6c3207d96d4d115e72798374af7093e3ece5cc4b18de9f40a2ba6d63d380b5bbd3e24cb96f456da1407838d539967896ca5d4c262e48bd2f68ad682447d57e81492363cebdb26ea027456320cfee58a396f137352e9f3ef9bee30ebe80a9f3f1a1f6c4dc4a86f70ee6518f8fb8760bd300f826ec0791cc6345d34621d4c9e878a5a1965c768435cd6b13db01662d95e38156701e7a360ef40fbfd46c69ab77520ef48d96f49fe1baf1fcffd03f11ecffddb39ba9db35df23e1cf19d536811427d22fafd689fa5c57c86c63c5ad705b78e6d0474ae1c5ce76a51379c16c0dfc7f13559765a0d42749ccad89a5c3b200d158ed63869af28175f5aab92fa561aa96f45daf0c46d27d7aeabb407af99f33e3127fd0ffae7d1f800b5b4e4189053dfa0f1d3935c23f0d367bb83e51ae2d9e3691cc23a87883f88f3dd66c134ac12c89385f5c4cab8e495b925dd6e750b697c529a5385fd4daa5f25ae05af5f71e608e13d7ee6681ab66669067c2f542a5f13f4bbc13eb9e43fe37d9616f3197d828f8f336e257d3640a74e8a855eec6cad0271f5f173c544d99276554ead5d858e53195b93f87ea5ae206dafc8a795d62a4917858c83266d78e23d9275019a5516a95975d59c9f11735299cb67142cbf67a8ce19a3f1016bb0e4929cc8b96f300d16cd2aef0ea65e93f86d985fa8117ebc22be62ee94ad56374bf30b621e5f57b3e7edaa05fb5ac83bd0b11ed7f00be69ccb2f2873f87e17bf00eb2e427d22e6a0607d961af319f137e8f8a0f90545fe5ed6326a19674ef0cf24bf40c478e0e3f42a7e21966f89f00bb4bdb8fc0299bb47da3005bf40c7775c35e70d624e2ae39d3fc82fc8b11da7bec1f34e8a9ee94ef6e19d0b33925fd8137e3c7e8fba6f1f6cf8be8c24bf20e8119a9ab930d0bb50b077f867f80559c302afffebf10b609c33d82762be09da6769319fd127685d0c7ea182f20b965e2f29ef86e1f10b448c333e4eafe31738da15a4bdb8fcc29ee217681bf2f9053abe19b5251303650d89d3fb231898b566bbbd356f79e19d9167bf739fe9091a3ee6dc28588bae0fe54747cf6273f860ba8bac3397e3b54f7c42ad5c98779fea8b46a7f73ec805fdb013fcdee2b69bad1c7ae5cc4baf5359e07e4b42074cd0d93bbd9f3cffbb197bdeab72ef6fb4e6edb2b5e8e650bd3fbde55bf3b67cce20be47d09ee8efc1f1ee43e1f7e6de999b808f17e9fcadea994175bf3ceda9702ca9ed9b6eaf6ae63461fdb2d5fd74e27e7cd333ddd62e580fcd434cebef8411d35e75b46c7446de2037f4007c12be1fc1f10f6e69372e17cf634a1edbf239c1e959640cfbe661b7b7c2bb396c3fa6f1079527ee3fa0712d9eeb2d7ad5d87aabd492aa549afab422ad27d87882702551b7625f04afc74afd28684fabe099e0b59af17e89fd0838f7a231ea63e3d139743b057f58ad1c7a71fe29c2130b5b8723ffb2e635d6a3d7602c8eca19addfc92c8fbe42712b68f41def517c32e39f05ef108d6786261ff37dea4add464acfef881dde36f0ab8eeb687857e46190dd6d06d5caacd7d99d63161ad5634c5227e71486d5d6c3705559f43b0f23c1af7d6bac823112aebbf341b6a00d570f5ea3b39f76576d8fdf661cd3311d3fd16744758fc431d86ae59b464b75b75d34bf61ff075fb764ff87f071c47e86f7928cb36801f3404e8ef245a0dfc7f67cb47f21b623f42362fda0c432708f006a80d13c9aa21c25c67e028681fc92a835a7e2f4c5e7beca3e47add307cea1984e3132c778dc12d86fd8198be34ef28eabda27c4790b48cf4e9a13144628f6387c7d3e743ea4e095c07ec2b87cd2566a2e1fac0bc614d27ed4fe268d2edf15b802f2f8a056dca79c9daaf4f84eb642fdd0f26e1feaf1cd6b1887cf6e9782bfc1303581e7227f7f050ed35a6fec335351574fc52331f5f7fe55ee1ed65653739682bf8a719a69b19da18988f631c6217174f7d0f767f0f6a04e1c74568acdd33467a5703f61fc11692b257f94426f8fb41fc5d9837521e7a41fc33b993f3f9587de59fcb8db9beec433e7c62ec61d213a7ba83f8661241e3b7205f698d0d904535fef1ff73b895812f1b92fe777a67917a68d52f89d1f88eda1fd4efc8e4a7c2ca7f13b293d3df4ace61abf93134342da8ae97792f752d2f663fb9d0c1d3df699d74513aaac9c87da3fe777cafa79275ba171d2010eeb8667ba8b03e57752edc2fd0bd48f4af89da26e9ed2f782ed4e6bb35d81fdeaf868a65ede6ff23bc1bbf341ec16fccecfc27646bc3ada4ed2ef54e8e4a1ef9fc6ef14e37941bf138ba5bccaef64c445d3b662fa9da43e1e693fbedfe9d07ea73226551cdfb2769c380f99ba78d7c489a0daa0c25cc162f3fc863e3cea493fc23122c27b433e26430fcfcc9b8bda1eba2be9588ea82545ff8667d78ffaae0a1d3cf4b9afe2bb827a6a971873bd5e365b89f32df16e13e87bbeef9a42ff4e312e10df15d26e93e269b1f767f8aea0361ce8bb4e0ef6bc02dd5196c2774da37b47db4aedbb827581be2b6d3fca7705eb427c57d48e38ce80dc22a8f5f529be6b7c4c24ee30896c85c6e0f945cf7487b9784e3886af60dc734c230bd3f3b5f4698981af0731fe0efb0d8eaf9f19f32cf6170b5f0f5f105fe17867ddcedb0a7c05bfbf065f690e1b1f1724bed6157177c8fba7c2572ad6d9d69ac6a7e12be79e12d2564c7c3dd0317794fdd8f8ca887346ed88e30c98f3066aab7d32be0231ce91adb0f8be66782635f1cc792b837003ec762962ce0a96bf846c782c07d2adc37f83dbfd13f3f8441d3a1537c0d4abfb57b901588bec129fd3748785e43c1563a8a0efafc076868620dac71837c0d0a9c3df9fc10d80ba6a2037305fe49a2a0c627003703f61dc00692b2537c0d7a7a3ed477103605d183780d911c71950c781a94b770d37806a730a7305e106ec7d43370ee6e3ee60b92d24579adb2e4711a7bac89a50bce5b11c518b89fe8dc2ee9f983b22eaaaa9f2f5c4e7be4a8eb45a8b2e98a7f37a15d5a303bfbf06db6d7a2f01f671e675b02e6546677be66371fa83dc6433cc4ea7bdea43ae390ff5e876b5727e67f9ed43afa34d8ef1a9bb8b56ddbc72fc1c6f1789e50a9ef7d074bb878f6239c9f3a2f3e71a2ce7f0bca4ad98584ef2bca4fdf858cee07995986215ba9dbcac0776deb322df2be33d8bbba63b2a5992aea42a0f3ba61f98b8ff24ea1744fbc2d20dafe9c67de55ec7791d9533673db93066fcb1e4f73afb6537674f06b992d6ef3c6c8f587f5c879eb285e9a013e0dd59732e8cb3ee7696dbde534dd4a29b0dc2fc96e236ae7f9719f4aa15ad1b8cc7a34d1ec27672b4e94e6d3ce9d3e596d3483b0fd2a79b8f3b956d3a7dba52d5d27ab23effb11e4c9f6ee7cc475544cb147907863e9d5ecc9bfe34dd7894f5e9d0fa15fefeced4277ed348fad8589f1477d6bc98b5e075535813c4774ea34f07f4494c9f0ee9b3e4da138d958fe9d321755d6c786c635a7d3aa39b7316d47960a2ecf4fa74d83895d783c8561fd7a7a3ec15ad0989faaed2a7236c785e1312755da94f77c59cb78939a9f4fd77a6bec8d9ee50e1fb1fc7075f9feed837aabb01ccb91d72d76659e4ae4fe310d1a713e7194b9fae76705af5aa1caf18b507d1a73317edb23347b4aa9077a0f700c55d5337f3887f8bf69bc4b1a0f52b386c08ef151cb6a97777d65cd6634ce09bf8ce29f4e9a03e11f5e9b03e4b8df90c7d3ab4aeb30da336a6d3a79bd72bf6a28bc7e51ef13559766a7d3a6c9ccad89a5c3baed5a723ed15f9e7d25a955e9f8eb4e189b34eae5dd7e9d35d31e77d624eaaf96cbd58b03423a7e0b3a3f1c1d5a78bfa06d5a71be61b7acdb71e77074b8fdd8d751a87883e1dec0f2a628cf3a6e1549c96b45e46f520fa747ac9705a6dc4d742de81e6b5417f93ea57f9dc10ad5fc1bd4078afe05ef462d6d4bbdac77d4dd0ef06fba49925fb2c35e633fa04adeb6c43c967e3e8d34d768ed1ae50777527cb4ead4f878d53195b93f87ead3e1d69afc8a795d6aaf4fa74a40d4f3a74c9baaed3a7bb66cecf8839a9d4a763f022c7f1c1d5a73bf50d160317de4568ce6b5e7837a1788e08f20b35c28f57e88f198e611a2d99bb95f80531bfcd311cbd5441ced3907760c46a5cc12f00fa7468fd5f905f80e335a03e11e335b03e4b8df90c7d3aac2e06bfa0c873d31cc3de3964bc31c52f50311be838bd8a5f60e9d391f6e2f20b64ae1b69c314fc02236ee39a396f1073521977fc417e0188dd88fa06e11772d6617730f58967ce6b191a73a9b6297436e63ddd5a380c4e57d488a8656dbf67a4e37718f1c7d7602e9bd355dec3fdbb3017d66d80fa44cc9fc3fa2c35e632fa04ab8b83b928a76b1eac8599758c8f622e15878c8ed3eb3097a5f342d98b8bb9d4fddbb40d53602e231619b325d3ef7c92e32ba2f747fc4e33dfd08d42e87bba93d35e3f9cdb429ceece34eabaa3cb3cdf8913507199f6c23280397ce270278d95351daeec4d6ff5f03e0afaa17c29f7a25d375d763b0ebe574ce8593d3f16a6836afb70da7fc0ba2d56c5926364d1b8375b6b6514315f3b53af544c99178abd47ad7cfe3bc0aeb7988d7520a6aeb3f77a4ff645a32eb4594181eda5b2add9a7bef1c43d18d647d15ab86be846fe380e6a5e636e64926b61b7e3ac7b8f99f5a0fa900bfa28b90717bf0fec3d2e67fc7eb5b218e48677c7fbf78c5d30d6cf6302e0b0e4f3e4e8591de1aacabb7d335cbf8d435c978e6727962e5dd03e62af68b72cdd64ead251eb0eaefb16ce1798e757deb90eed6595fc127406904e972e7827cc56407f3274e9220c42d7ffcfd2a50bc72143a38df93e1fd4a50be7d667e8d285eff4515d3a721d4075e9041f89a54ba7974ab666127bd002ae1d00cd6fe45c85d0a513fb19f667187b441197212e8ecce5077e1ff33bd6a42e9dd08ea3bf07ebd2415806ee39085d3a8c3f5394933a4e292586817b1c952e1df6dc57393f2574e9a03914d3d345e6186f7f9346976e671a15ddf6f93c3e4b978ec208c5d9295f970e9d0f29f636a974e9485ba939fc14ba74a4fda873d334ba7457e00ac8df3375e9ae383355ead245b64278a4c077ce99b3ddbee99ac879e9e5bdd56ba292b701db1495236a81d1bfe1d9f5a3f129a2d69d8a3f129ffb2ae7a4a0b61ab91ef1d63f92bb1275fa187c1edcc7287714d34044ce48d1f7679c9102e563be15ccf7a6894b81fb09f5c3285b297923b02ef87c94b41f753e0ad685fa76e979f358f949bd8ea83c84332a7aa6db0af53aacf39db1499fd2ba67e0452c8e0fd567fa985f07c6de089a75a9cf23547c756a5cf499b8f875e24762da81ec77e1d928052e9ad79f73d0b8a8881d41df3f0d2efa342ec2b14857e1628e858b84ad98b848c68d90f6e3e3628e838bbc982e419f4c390f45edb4cf8919898d0989fb0c6d85c5e98579e78667bac29d1cf1b34b40930ec44885261d760697c47be79e796e47daf5a3f1794a4d3ae4b9af72664969d2417c41fc0ce253f804568c3ad24e2c1e9aa54987bd3fe3bc92af4987ad7f29e2f2d269d291b652c642a7d1a4a3ec479d55a6d2a453fa11e2f80634e98479c8d4a4fb908f0b69d245b6427ddca6dbf54cb7b843b0f592d30ef28531fd29640e4d3467219f099cb035a6f944fe46c2d6341a686c6c15fb4a85ade2735f055b415d3521d6d8327a55c5f92ef83d1f5b458d3e0a5bd13ec6b035a67f88602bfafe0c6c85ca47629e9d2a783e98025be17ec2b095b495125be1ba406c25ed47612baceb87c53b2376c47106e41561ddb44fc156547353982ba8dea7393bea79489a4910be823c704c7f0ad3d2c8f3f035768f07f21b05bed21a6857e02b708f07f2dcd7c3574437468dafe0f757e02be71e0fac8f697c55dde3f119f84adee331fd447c65dde341d98a89af8c7b3c3e0d5f39f7782076c47106e41145edb27f0c5f657ef6642b045f6b5aa4f599d44c12cea3b8ed5271b125397eee721e256a3ed1bf51d8fd13cfa3449d3b15ef2a3ef755785750574d7c17c76d2b3493a0efafc1760eef8af431cabbc6f40f51de15797f06ef0a948fc6fac8319e297957b89ff0b820c2564ade15ac0be35d09fb51bc2b58171e6b04db11c719907715b5cb3e99774535372f7305e75d0fe67cc1f25d61de15d54f8ac749cea740dc74d2778df3aef06f7876fd3cdf55cdbb8acf7d3ddf15e15d8d5a3e19f7188f4d95bfbfc27765f1ae501f1fe348cff6fc76395b2dc07784978b5b531f6686abf6a656b6025fc23bc66817278d796d7ffc1c6f1716b705d9118a656c1abcd84c5cbbd9a1e3b6e0b990226e2b364f19715b6a5ba9e3b6c0bad05850b5fda8b82db02e3c6e0bc714add7a97880ae97477c4ff8cac382b550e98be2be32c8f31efb4511cb3009fce5bd393bc532b417fd277b13d78bd326c36cdbeb752cad567dd88daacbf708eb8f7ecff261dbed6402bc3bebd875b30fdb51b5f23a58b50f35f1f3d5c374b8b2458dbad751b5bde9649de9a86a6c4e36f9759cbf235e5c76d0c628a6e2c959763bbba43652e684c5a36a7b3a284b5a16195cfba6b573e6f5aa14bbb73ed6132fe3ac8d54318deec199c33a11d83bf0ce9d16191b8eab42c75b723dc2eb57c6f6669b6e5be7c7f63a8605e5f4c4d704f19d616d2428be1aec13fb9eecb3643da7b1a2d0c3a3b591d0baced81db511d046c2ef9677dc52d55c74a9f8de64d9496da40ca18d848e53693d38cf2b9536529ba18d44daebb82648f549da48196aada06d18ad09c9ba206d24f2eefbabe6bc46cc49f53d807a31d7747b65459c6f343e406da424e65dc6b28bf8fef3905bd142fe5a37446ee5340e63da4867ff3f36cfe27a53307e586573e1541d435a07a37a62659ced61cfeb86b370247b28df81b507e816ac9699aa5fa57c0abc7e25c722e3bd9263d11cdd26ef3c8dbd3398b30ded03e03e6966c93e4b8ff9649fe0755db88f631b016d240de559b4dac1317a864df02cc9b293da48540c063a4e656c4de23ba48dc4f0cf697b45feb9b45625b591c4b6815c0b6dc313a792ac0bd046a2e330ae99f367cd36ec7be55dcdc59de52fb272fb2e181b8d0f30475df6d1cf7d839d17e68eda48a667ce8dd8bdffa77118d7e93089fd07ce6937f5926e2f4c696f15d5132fe3725ebfb3b5ba9e6e8fc48a5f95fd4daa5f655e1bad5fcdbdc878afe45e0c5b43ee2c48e36b827e37d827b1bb02e13e4b8ff9749fa0755d7cd2a4cf0669aa01ba6d56d9f689b837c9474bea7450775da3e354c2d624be833a1d0c7e9bb457e4d3ca6b5552a783bc7385b4e1e99c305917a0d3c1b8effa9a395f23e62415a341f022d1f880b591e43baf4f7d83de1b389f78e6bce83774a360cd04ed65985f38107ebc624fef18f6bc5792f6f432bf10bb3bd0316a593b9d4fcaca6d4bcf2fc8b11a78fd5f8f5f80f3dba03eb1efc93e4b8ff98c3e41eb62f00b8a3b040da76c2d2af2fa9a8e5fa072dcd0717a1dbfc089d920edc5e517e87b04491bf2f905469edb35737e4fccc9fd3fc82f24c7f4652cfbc8fd28fed033ddc921ca27a630976c9be20e93aced760b92ce948cb9e27dd8076b61649b88f62fc3be9f88b972fc315eff17c45c503303ea13fb9eecb3f498cbe813b42e06e62a341be6bd92355fe2ba6d3cccdd13988b8ed3eb309713874cda8b8bb9b46e0369c314984b72baa82d997e27a0a510bd3fe277facdf26e6fcdbb9ee9b6ce3ac8e1dcfe99d035984ff2920d3afbe5f0bc9fd825fe2e9eff0ee6693f1697569439c313bf8072b4615c5fb6a94f203da4700c5ff4eb7aef835cd0a73b81b7286ebbe1dd5499975ea7b2c0f79dafda7055d90e73a5e970d596db09dea157dc3986a337b99a647ac9700cb320efa123ddb9553d33a8ee9727ce4a198be776f3cdc87ec7716dabed28e4335a6ed1335d33db28e7f7d66372edab2c7ad9d6a697ddbf8f0e3b60cf2d7c9f03efe1db9b3f4bf9285f3edbd4a7326705e609857dacca85df3574c317f648e7758bb453f2be45512b6c1de37a88bde1a46069495e3a0db6db4a9d32b14d08af4ff049f2de551dcb0370fef4fb25d6c03d168b2bf72736d7741973b0f5feb4a636ca855cbfe3ac7b4fc1b83febcb4d1a6be775d06947be4078079d9ff86c3ec8467e8cfe3aeb757aefc3157e4f1cf77d84337939beba13d78ceb66a7cb6e36983bd39130f778ba718ffbe3bd98958d367e2a2d7f3dd5a7bdeaf2fd49c0c3bf0e85608c1ce36eb20fdbd1cffafba09cf1ba9dfa324d9b51ac2ec7f39e4df0ec29a65ba488295ee454e720d1fc56e8a724e737728e42e7ab9efb19f65ff6ac1cd40b2e03dc1b75a601fd3ee667ec39f9a2a77644fe9dd80f6a2c83f618a08617cd9729caa1f24f3f8a61e09e46d4515371f7e2735fe5bc94d60094e650520b049c63acfd0cdc6fb81648d31de1e78d925f0e689b815a206a8cc0cf4a41ed344c0b049c0f29f632703f29b44094b65273f6605db81688d27ed439295897420b2425ae807cbda855f6c967a4e8ba74992b4a2d90a167ba351f391f9575f5e03551cdd3406d8a38a398861d69079e5d3f1a8f22eaa8a9f822f1b9af722e1ad704e4ae47bcf58fe6aad2e901227d8c714590b619305fe1f7679c8982da69886f05f2bb69e250e07e526881a86da5e489e0ba302d10b5fda8f350b02edcb74bcd93a39a97fa857757e86d1eccc7ddded487a718bca44fe9c77d4a182fe2717ba816d3c7fc3a30d6e65257eaf307b59e704a5c3499b8f875e245e23a81dc77e1d928052eb2f25291b142e3221e2b82be7f2a5c24ee2e44638faec2458ba991a4b4151317c93811d27e7c5ca4ef2de4c7705db4b7d4f390ba9f3b758c486c4c001a4981ad14dc6731d3d01707cae784e3a099fa731056483e67427f0ec71710a33f33065aa53f873df7f5b015d39f93cf3fe3d8fa91f3d194fa73703b496c55ebcfc1ef9f065b19fa7330e77215b632f5e7d4b662622b477f4e6d3f3eb6b2f4e770ee2a36be65fd39711ef2f5e7aec756587f2eb4158aad963ff4acb98de49870db84dfb162bba3aab3684b3e7b548ea8ef44fe4665f34f8cff1035ed545ca9f8dc57e14a410db5cb9996917316bd0aca9582dff3711d1ee3e9c605ce95c6b40e91bc12f4fd195c29503e9ccb57b2b45ed5697d882b85fb09e14a495ba9b952b02e38a784b41fc595827521797ca81d719c01b9525023ed73b852545ff3325730aed4ede64efa48a6dfa2f0158c6b8e6b4d21f728cf9daa03dc5129e1ab705f07f61b05be7e664cb3d85f3c7c25eeebf82df80a8eb1aee62c92f76a8a6751d0f7d7e02be37e6dac8f697c55dcd781be7f1a7ca56299b3a1aea3e22ed454f8cab95b9bb215175fc9fb3a48fbf1f1958e6346ed88e30c98d326ea94fd53f80ac43047b6c272a4dde2ee8caf973b65317cf5d5f8aad09f6b399566ab9625f1558cf3437ea3c0d78ff07caafee2e12ba13ff75bf0157c978ae1b8cbb2859ef543df5f83af8cbc49ac8f697c55e8cfa1ef9f065f29fdb9bd63b40af69ca13fc7c1578efe1c652b2ebe92fa73a4fdf8f84aebcfa176c471c656ce434a7fee03f80ae8cf45b6c2fcd7507bcef41bba91c77244d8ed52c5361bf5aaedb610fd0951438afc8dcaee9f98072deaa8a9b427c4e7be4a6e08a8c915bbafda591819c55d9ef2f757603b8b0787fa388a233dd9f3797659efe1bbc08b93c6bc98b39eeacbc16331bc53ba71d4a5dbd5caf983197d8eb68bc6725ce322bc83ba57b23ee62b6b8c7b83c1b9700d968b9cb2ea8e61a5ad98584eea5bd0f66363b95897e2de62c88e2ade95d0830bcb539c692d8e77db3d7e313db8639c2d530f2e68633b5a1796cb4175ff3e3a247532cebe67a1d7d97b83dc50d6e641ebb0aac11ec09135adcf6521ba70d8ef424c1a77dadea0fa9093f3fdda901e4fd55e983b7301eb6ee265a9f407e132d1f336ad5bb0ddc901980b6abbcafcb5ea597c0f00d68fef019c792be7ccb1fb602feb44c2762974e97ac17ebd82de8b0a7e0fed032e6316d7eb6891be43a85d6fb4f0fb3e857a009da40cce67a3ed88ad21821dafd5a743e78bbc8ec86d81743b2c06af4dda2d5a4b80f6c97a4924b74ddaf2b46e5ce6c8c774ea309b0a6bcad996b0869174e7c9b94c4c933fd2e33703df7d2fc64b083644b4e3127321ae7b85e052afeacc97b23ec9fa5c565c638afa1d8551500ea2d62bdb7ef1e0a42d4bb5d702cb54e1ddb2d4d46bb05facb0abbc7f503d8bef21c0fad13d8455b5dc51d544d646010313b60373bcc17d4430af9b2d5c4b09fcfedaf581d6b0ab3a8b6e41a5d903e10ba48d06e117d88e78cc068027494d2542671a9f2f52cc06d0966bb5ec48bb453ebddc3e39df9cd49ba66d79ca0393d71f405b89d69c466d7ae1532eb604753792b878c1351de3545a99865ed39a8fbb7dd3ed8a9cb560c398f6c699b7c6fd4c9cbb0e6c6ab94b2369d34b59319d2df2770446c1d8b4a8eba65e4f5d962a5e192c538177cd969137e7305f84db558e59563d8bc7d6c1f52b7cfd8ca575f79fe3bbc2efe32cba99660bbb6700fefecaf5813ed708e74cab00acdfa77e87f085a17787b7231e6727e3495267948a6346e78bccb5006d81b44018b1ccb4dda2783b68ef9156f78eb6e5098381f507d01ba5639a319b0afccb8503606ad19dca44f23da2bb02ed4c433732d641e4bc316ea346eeab93f76a25e6e1def2a5f30388db48e6d743bf23308acf43d065a93404ff1d6e03881d513dfb25b90d3086249cd7460e3de304bfbf767da0e348823963ba43c539a792dbc06349f076a4e5368878127cbe5ccb6d70624a48bba5e036c8b812da96a9b80d3ab604b5299bdb90ef1b3c97a9e63674c3335d23cfe1364c7a5f8d6b7384b189ad8ca4ad01721b957bf2771446c13ce755dc867817f76fe236f629b80da576de6fe436f608b75171dc565ec16dc8df5fbb3e9077aa0773a65db15c591b8cc76de01a7a683b52731b159adb80e7cbb5dcc69ec76da8ed9682db20b5f4685ba6e236f62c6e03b4299bdb00e29da332d5dc86df2ceff2cd72e43b9fb032ce2d54ecb905c4b25f705c8dc9351f884f177cf4b3dedd6a907dd07a4f350ff9fe6a3d3ce13d41eed39c4f0e5cbc7216dd435347f515f24d7d5432e5788fe9a0da3e08e373d25855bcde533d5cc707ab8d1013d7ae5a6e6b07e465455a7b85d9a8b3f77a4f36dffeebb8ee1ef5bbf8fecacc34f45621aebd7719f7dd8eb3ee3d66d6e1d82c833836ed5547cb4667e40d7223f8de41b7b41b47f32e186ba05f22e5a18698503635ec7e884b2cbfe52ecedc9db84f4a376e311dbee8fd54b1b65acf70f489cfdeb3d06b167c57f2e55db0bd9692f7faf83e30ad1edfa56fc17d55d007734c1fd239743b057f58ad1c7a121f168c8b3a5e9fcf5aa78f634bd59ef5e83518dba37246eb7732cba3af52dc0afa7e9bfe93b31c3c99f1cf827a843ee9aedaab41aebea4e77126aea5d7b15e7a1deb2d98534f715efa33b4f9d295a58c09096d09e96cc4787441bb0be108181a7de05c83f8c991d29782d73cc8971a31fca5130663fce288c71f4ae5c4f7a41cbf26c2579407e4f92ac7f7b8603ca4d967551dc3ce9b3e8bc7576bc6a5da575ddee5379d49a8b4fb14effa75f6546a0d45b85f9bcc7e4f573f9d97ea2c1ca3a99b8a5850d94787da27cf15aa5ce57e0a1ccff05904510fef2c2295961f5d27c575813a8508e65076a4f752e07844cf2190fa004e03d0f4c3e6e7213596d0671fb13e937cdbe31c427d5bf3b03b986ed7b35c133d974ed33ec57a0a63ef85571375d5ae3a471675f6c8f99e82df52e9fca198fda5ce1e62fdc35dc3787d90b27ec6b930b6462bce8581f6c9e70e54b9ca730758af0ef4d3a87a58bc562add3fba4eea4c18d43444ce1ca8ba18670ee078c4fc44a43e35a7a5d2ff3b8d67fc3cd8f04c777168e876e674de00f8a8bee8a3627e1d8ea58af89dabb0c9a4b0f977c5d65cc616ce2700effa15fdd834713e3c5ba5ab9fce4f45c70ecb8fb5703f962c97e9c7523135543d69fd58469e2a5d27db8ff5493f96b4631a3f96114f731596d8d4fc54de9bfe613f16e068a33984f9b1616ca5359f78a63f64f8b174fb70ff0489d303fc58f1ee74a50f87f7c33fe4c7cada8118662bef4fff7d7e2c1c7f0e95af33fb2065fdb41f8bc67372fc58c51dea64b94c3f968a3d27eb49e9c732b404e93ad97e2c7d8f3a59571a3f961177ae8cef4de090acbf971893a2065dca988f34beb323fbced11c427d67bde5996e2dd7d0e37705c4637552b44f9d235a6d1a520ce3c596a24e612c47b09be771c029740653c5338ae5aae365446dbd2f146b4ee80d42364ee669a27d90ae7e56ac0c384e54b13250fba03c3f65b9ea3873b6ee20590f2f8e11ac4f1127a3ae938a93896b845231e6eaba1831e669f407d1fa943834a3e667fad8683a6e52a54318cd21755c4ec60afc62dd407d62406311c32a652e87aca17d6e0fa845e82cba88b62ec7be1ff785c572095f98a747f8affbc2a0ae1e6e5f9d61fb94f572727c14bad0007630b408d5652a7ddfb8aea6faac5d5107cbef05eb529cc9d3fad9a8cfcbd72154d7c3f077c131879eef233af118be60398f3c1dc22b7d5d546b553fce1375ce5080b14506b662dc2caad39588d931e4383e085f93f1962e70efb0120b3fc02f12e5b23156a549f8fb3016c971056cac33fb2065fdac7c4a689cf0f016d726a4cb6562aec5886f52d693127799b994ea3af9d84b6914d275a5c15f9f175f05d6a7c2218d9a9fe9f533d2603098bb19ce21350e9b1a0f8731de37a6bb86cf2fbdcbc2e118efbbe819d63c2d0e7f2eef2b96cbc5e1afc5fbaaf50b411bebcc3e48593f0b878171d2ef1476a3a7f35d3cdf62f1eff07df2bb5a39bfb3fcf6a1d7d18ef379b63bc6b9978b5b735eb97c0e8d4b1eee2b7866b25c26ee33344ed4f5a4c47d0ecf4cd6c9c67d9a6726eb4a83fb3c7d13b8be707e0f3af5e57026e5e2651a67edd4ccacf7548374e254b85f0d305aae938bfb00cf1ccd5935ee1b22ee2f7bd5a5d6e8c4750e6b3fade5a0da9e8fcaa5f7e14fe77590cd1fd784f0ddebcf835565d37bdc6d2ffa8bd6fb60ed4c83793f9c1585cfebefdda7fa42d4560c63f2db9b45f7c99906df1fe7d139169ba1a568559d859d35f5d243c48b6fbaabf641d2ea7a3c6bcb9ebe07f40bf13ceea6d1da4bd817f533aea3d8cd3b2eac21cf1923687be7d32a90d744959b8c1b41c7b1326e246893bc4e28deb587beabc845c7de05ccb787f525211b37997d90ae7e9e9621384e2e6bc669ec01f9a46db55696aadc637cc8b90d98168b45c63f53ef7fd1bd4dd6f5111d43759d272e3c1ad7782e6986a593a5b4e379ad48f613a0c3d266e9b080f52971c8a6e6271137d22b99baeca789dabb51b9297413c33944680b4c3c735ecb88e795973e8be97269e43a896a9e87f94bba3d97ee783cb509d74c6c5965133eabe3d819f5539b466a3f41d62ec4c782f2bc125a07f0f3ca5ed55aa0ef2afae9e2bbc0ba81b0962460639bdb07e9ea67e91682e3e4f2de329e40ed8372df95e546e79249fc48eaae10dae48cf7bf9c4926ebfa8066a1bace93df9ec47e59138bba8792aeeb745e29f513a4274b6a94e3f5a970e87c2f383a3f4de579a5b3307680ef239e4d46e5a6d0480ce690afd611b066bbbde52f442ee7dc67710d2e935a6bd49cba5bcc9b525ef1a94da83e62c5d41339fee49ac8e0d421bf94516e92cb41c782925387d601554e79378bbfab78a78ef82eb04620c6a94b36d6b97d90ae7e1697038e934b9c888c2740fb206e455d6ec4a124f123a9b1c2e0d4d5f508fc49724df9803ea1bace28665ade4f48fa571c4e5d5dd7393e24d94f80be0a8f5387eb53e1d0819c9faafb2b19dcca792fcfd7430ce7909a5ba9690dddf0cdb2a08788f013e7d81814ab94fb4ec3721d598742e627125a8876c632602d448e9d3f939f003409d1b1f035f909cc07906ddc64f641bafa597a84f03861f11375153fa12e97c94f88b117083f41bc7f3a7e82a94548d4c9e6270e0c7e82b0631a7ea2cee127e0fa94386450f393d07af8183f016b1f867348ad3de49a1ecf27a6dba7f2756ccd38c8da61804ffc14f3c774dbad21ba77683ffc433eb1c1f78995f7defc369f18d31e946dac73fb205dfd1c9f181e272c9f5871873b592ed327a67507897a52fac415964f4cd4c9f78919f7dd1075a5f189599a83707d5cffb402f9a7e17856fba7c54343b77767ce36aca31ee3ec6cdfd801390e673f5639c689dfd6ca8579f7a9be68747aef835c609f9dc81b4f1a2b6b3a5cd99b7eb53d0dc60656d7e8677d3a585bbbee537d19e16da4e7777e4730dec1f49d0a5f6bd0f62d03cb4f3633966e417ee4496b301a27c5b30e62e0bff5c57b8f17b503b42e76d76d6f506d6b17cdc1a82c25f769ee4d7df420ee31a8fe8a8d0b77e137f4a1d7981b1999cbaf2c7ad9d6a697ddbf8f0e3bc8774ca331a89b6e3107716210f7158e2725f76514ccc32e771ecfc23a976e9c22fa825159847f5336fd14fb8f855532e713d5f9a56a1f85add5ea73038097549d1b80eb781a6d41f53c0cc700567f7c6edb3236e5d0353af28f6ade07b5018ff36dfe3aeb757aefc395324ee0349ee1fddb65efacd08f247505232cf1b6c11ef8b8a709e32d0e83ec6e33a85666bdceeeac63d8a81eef7dede49cc2b0da7a18ae2a8b7ee76124e2f05f874230568eeb75f6613bfa597f1f94335eb7535f0e747ebb215d5af10c10d0148cf9d8716d29b42e797e017b58a58f04af4b808f44e7389cc720b607e5ed31cfe3063c6b61e42448ef91d82bb27c905319519fc5fa439c77739375e6496ad7c1e723c09e83ab2308ec2d95dc0f97a712eb579edd8a7a835f666f44f743cd97d703f5f729382ad1268c735bb82efcdc16d0bf83e63c3c6639fba214fa81143671f82950cf4f7166abb61771660bb60dc518b50dc93d513aed40c496aa390773e8a29edc679f11a875038f7da3e2a5c2735afc7ce0a2f10573312ccd40a45da77ac4323e84cdac5c466ebc8c4a2f10afffcb9c0b805a70ea3e49f8b6609f716365d2f5095217ca4541ba7ac0fc05795ede9900a86d87c4c9c0e3344d9c4c4a9d40ca5e040f05b60d3b0f206c489e0780e3108f91491fafa2d6083cbebf928372bb3b21fefc341e441d2b9acf46f719aafb3dd9dcf8e55de07820519b2fe5faa2f4f9d2bf9fac0d8860aafacecd7f37ae10d47da3709b69a734bef107628cf0f35348434f9e77c83e84135308ebd8c17b5564ed4dc3d9a7d30424eda53e3b853523917842c286743c21380ed1bd727a3f068eeb8675ea3e279610c541fd3296d5d86cfb899c50f1ccf4a2135656e3a2329e1bf6b3a475209e0faada0f23efc089194ecf0750b1dc4c0dc0dfc5073808fecb7d12e3033ec937e6f5095c17830f50e665226b562a3e408c3b86f900a49faee3037831dc84bdb87c00272793b0610a3ec061f001ec397fd11380e72457f7ef437c4012f384b1ace4034cd750f001b2e65f7c8ea35a578978dc564e3eb339d5239621ae3fad8ca5716205d3e8fdf1d75151c34fcd0788f57f193e80d6fa93fa2471c606f619d7c74ed727485d281f00e9d441f71d59eee8ca18c1343a7ff0384dc307c0ba7baa586da5bd083e006c1b7a6794da86241f9052e32ff59c47784a50efec936203097dbfa06fe6ca7c994333c0ddf910f37365fd426c3d519e6bd8390bf773117dbf9e61f976ba35ef53e3b3c57e53fab94c7dbf7fd7cf85f5e3d47d9288cd86fa2c3de673fa04a90bf773793a7f8e3ed4aef473414d3c342e1b1aa7a9fc5c50174f71eea5b617e1e7a6d2fb236c48fab9b066a222263bed9c877949aee6df357e2e8a79c25826e2b15b9e35b769cca5da9653c6c1690a6e01d3fcd32d300e8f67df4fc45c9f8db95f283711d68e53f7491c73c13e4b8fb9ac7b65e1ba1898abcc4bb47dfb5a6e01d4c24330171ea7d761aecfc35cb5bdd898cbc849246c98027319f7bb5c31e711ce93abf1f731cc05efdf0efb46c92d34dd2e875b40f43978fa7e76aba6883510cb10e761a59c121b3f559b43a5ed87d7fff5b8054c9743ee9344ac01d867a9b905569f407581ba7e42dce2b89cf1fbd5ca62901bde859a7e7a71d2981773d6537d39783ceaec34f4b3dedfc1bc7c5eb2d39dd741b60470101eaf9cf3ba349a7e48bfa439af83c7061e874ad84b7d5e07eb0762fa1f6a1bd2e775e9f4fc605bf2f016e4728fef4fc476895c6e7bd17fb237172dbca5d6eb689361b6edf53a9656ab3eec46d5e5fbe0e8ff1eb164f9b0ed763201169df5f2c2f8ec6ae57570cc9fb97cbe7a980e57f6a4b18a6bf775b2ce7454353627fbfd8ac6e593cb8aeb0ec743e49fcf063fdbcb466774e83d2d929a4e17edc3d53ed37bccac87ab762195c65ecbaa388b2ea0cd259617d3a9a27f1b6276dd1b755a9b5eaebe1c3fca5a77107e5b7a2b63bb5ded9af254fc16582eba2e98bee5db39343f5f69e796bc8e11cfe3f120f07ba0f1207e2d6bfa351fc89d4bac1b801df9ba7f155b6b579d39aafb077e0faca9f1318de77466e8b5adad3bad5ed594ef2ebae0756cfe00ba53f83d39687be26b4edca657eb00a273515a5f903641399e6d06974eda30e2cce176ca3a546d6a1d22ed7a5e87e2f3e763ba80887d85b527665738e7b32dc77444e562311da6dff5ccb95968e835cd7c14f701717bc6f3e1cf712bc05c6169f6e9cec2ce3b06a0f525b631a67b45ff96c63428b6c1d42cb75db2e6f0bd45eaf254f13970b938469a394b1f6ac8799edaceba14e3473d8f7343e07be0dc9039effae6dca473e4653ba6d011b4aa8e3e356c341f13fafe23eb0bad136f6b3da36938ba020f113c02f4f724be086d4f7cdf00e34f5a5d417c2e4adc10dc2650e795b1b7a06d18ed21e0764a39fc747c0a69d71376c36bd8753a83987d85f3ca985d610d5679bf712a17db6fecacc3ee60ba01bed776310dd6b83dd7b0bea1d2a7556800d676f6a2ad03f7358ae5c575b4e8df92986682586667ac9691b560bf535d9eea7c042c578191fe50b37c4c53476d6799efa79ec73928f03df0bdc6c19a9b07d39f7c96bf0cbe933d2f959d9699bc735efdfd07d617c61940d934ea15db97ef95bfe0198c47909e9f8479587be29c3f823f69750ad1f924f345709b20dd58ceb90069c3c82fc7f63f499d2cf2fe77daae27ec86d7b0eb740b31fb0a1c52ccaea0a66b124b2f38e822312aee301bea5a9477fba61b8b5151f13107debe1ff7799a6ea96419950a978f11e356d0dfd298c6e74d98e57d0d3e06c861249effba7c0cb8ff299886a1d92d541f07fcfe03eb0b9dd7e82f76b6eb949c0ff031426c4802f3f0f65cc3c750f135f85cfc081fc3c875a46d98928fa9137c0c6dd7f47c0c1d7383d9371d1f23e73f9eca45f898bda5db9ee976b5866ee4ac32978f3158fb7efcce7733d7d417bb668bcdc70871e0f86f694c83b4273ec2c7185f828f31e57b75a8e7bf2c1f03c6a6fbc37cd32d16503e06fcfe23eb0bad6b69f99382a92f3fc2c7e05a21787baee163887875c55cfc001f6332eedda16d988e8f21f54368bba6e663e81876d4bea9f81859dbe35c2ec2c71887c05f3fe27b2b7be1632eb61430356bea23a369d4a43110f7f197f87c9817738e3e2d8379f1429da8de22f8cc74d9ed38f8de79ed1cba9d823fac560ebdb8d661e29d256cce5b9ab1b3137d8263f32467bba5128e3f46ce6cb50ef299d1490352ec5f85fea2dedd35f56281a1bf98aa4f9ec5f59bf5dbd3185a04fbbe43981316ea160b5a8cf13929e82d0e3ddcbf15741be1bb32f7e6cf52be563e8dc73abab795f6b07e77676976de46f22cc2b833b79669e886dfbc9c3b25d6ca94e33baedd5b857c06e5decfb5b38e3b2a31f77e208eb0741a63efa3e0f7947ec1277090ba4a7350ed3380f68bfa24b56ee369acacd575d2fbbbf39853b66b945d2e7ad9b6d678725e079d76e88bd4ca054107f21827333cc43feb661f92fd43c6cb9ce77c27aeb9d8cd4e97dd6cd0afd391ecdf7f868e63faf248bbcabe30b42fb9e84128386b8eae23381f319f0e8d93c0d752745f4ec4428838aef4c9383e175096cc8d2ea93db280cf2adf6949ee7b63ef23ac15a0eea3dfd2ac452b67b3cf6b401dbbab393d413bf437eefb543a90ea77fe627c1ea8fba7ee6b9b3b16d2bf03a90b69662cbd57b1343c4e07d9a740ed4cce27b26c9acb03c73ab4df63b483bbdf4ba31349d7cb39a3817544418c22eb63f278e03845f67a589d8cbd5ecc9609df361aebc8f94c33dce319bbc05737674a0e0fd0a954618682ffc0b033664b48d73135dfa6d6314c7de60eea12fedbe732a21e2883bbe3e94bfe8ef37658b7905a0b796321fd3bd0f74fe1e356cddb71f426c9b2e9b37670ac833e21dd0eee790c3cbf30ff91ac97c3d9f1f527699bf2ced9c1718af9a4489d8cb398982d137cdd69ac237c5db7d0d0170186efbe5ebe8660dbb6c6d8bf45988caf07beb01ea0d809c517707435d3c63f09fa8b1c0cf6bfc4ba21eb6c12effc55d78d34fb119eddd2bf03adbb898e29f6ba81c7689165a75937889c6d463bd2af1b0c1d4ebade54eb06199f45db34edba41e7706375a65a37a4bceaf35847d68d56a6a10ff70d7d5850c7dc5e34fc14f13f0cbd4c7cfec3fc8d73cfe40d54f8a57d2e7ff33bf32854ba9dea77feaafc0d984301d66173c742fa7720753c91711bf1e4a7f5f179069d7902f787958b5b531f6686abf6e6984bdcf52e79e1b5fdf173c55c617246780e385d760ace88c8d9e0b4233567c4d012a5eb4dc7195139e1747d6939233a5f03ad330d6794d4c3b8cc2f1d89e9f5279ee5163dcbed9ee2797fe37e217ad7285ee0d8cea84f13f922d6192bc3be8efa01cca94e99231b2b2f9ee348e7d70698751c0bc7b6cb397020c76def2ca39505ee01a3cb53e9c682e55e9b2fa2b6b3bc8651cfffebfb10c08e707e35a8a302e5c9eadcbc7f61af111fd3783e227d3f15992f9ca80bc81769e31aa954def571bf11b7299a2fd226f24518f9eaa7fb51e03641f9221946be0869c3685d81db29e78b6448dd54d2aea7fd487cfe28f2453274be08665f419f3f6657305f2489a5171cc4f245e666b6a1d7fce6e3ee60e986982f92b0672c5fe4bc2f01e64a22a73a5d8e6cbcbc588e239d5f4b631ab237296a8edb95efa36494a7e6978072afe497d4769675a8a8e7fffdfd096047309e17bc6300cc936d32f3feaf585f18da5464be308647507e70eabcebe39e00c61f49bf83b8778091af7ee291903641f9220e43bf83b461c425c1ed94f345481d29d2ae672e095ec3807c11fa2e02ccbe02a714b32b9c2fe248f922a77251fd0e7de8997323c0f7435cc72f6ecf78bec8995757fab40a1d552cbf33dec6588e239d5f4b631a88659aa93b156b3ebca23c53c93b41e55ec93ba9ed2c9f1d50cfffebf9225c7f19ccc307f3646d6edeff15eb0b7d7e40e60ba37804e4074bfa1d64def5f19e2e187f92f9223ea1dfc1c8573f713d709bc07c11c619026dc388ef41f63f52be08a9014bdaf584ddc87e08c817c991fa1d987d05de276657385f44d6673d958be58be4acd96edf748b9ee92e72e259828a8fb9c411297d5a450c75afdad4db2547f2f5303ea67e4fff9681696cde84599eea5edf7f8f8f01ee48a09effb27c0cbcff5974f356ab62607c0cf8fd47d617f2de0433ebcc2719bb25c730f1f918454c11d69eabf898ba9a8fc1e7d347f818c65d0ab40d53f231745c1169d7d47ccc81e46350fba6e26392587ac1418ceb778d7d43377cf3b0db5bbec9e563f6bc7dbf229f02c9efc4f81853d053457343694c4362fdafe663f65f838f91ef1ca39effba7c0c98874fe4b7a9f3feaf585fe87bc8e87c61928f51c4fc9379d769f81893ca21a2f3d5afe063187793d1364cc9c79071ffa45dd3f331153a6614b16f3a3ea622f131a77231fd0e731ef8ebb6d6d08d8c758efd176c2960aad9aa1d9aae7d90c640948f1cb347f99c4b2dbef7e492d31ccca78de08b83f7d1c779215c0f646fcf6b054b07f3cf13f55bd3e1cadef4560fefa3a03fcaf833fd6a7b1af41936bfe3f9a162be76fc9d01ce6367e9939cc42fa0fe7c516bea4340534ecaeb16da81e7789efa3191d7cdf8ed59ab31d7d0ed7d43ef661be5fcde7a8439bc6ec75907783aa83ee4023b23feac90fb3d826365dcd26e5c2e8aef0def65658d83d3b8c03427c5761cf7abc9f53ce5988be753f7a0bd9f8ac303f37ff07595d035d17a5506bfa7f40b54fbbbcff05d38f9e7f0da0c69aa23fd7d19bfda7055d90e73a5e970d58eedfbc439a1f007e838dfa81ca25db97e30379eeccda8badcf4422c6c4d1aeb4b7ef731563fe3273e9b0fb2c9fea92f7b811dc8715a8fee287106a39fcb5dcfcdccfbd5f6bc9fadbf8f2b324ff3d7a110f87e47adc5ecc376f4b3fe3e2867bc6ea7be1ce8a73cf2969728f3d0ed38af83ccb5e5d19805e983c8fcd225174ee1ebc6f2f2aecdd914cbc5f5782a6573bed04cfc7e55895f25e2e9ce7d4aedad197b67a82cd9a722b571a236ae893d309d0329bc4f6c3d11fb8bceb947f66570fee7d5673360feefbfcddf8939da8c3d9ef8ce5fec5c86c8b787f54e986321fd3bd0fb3b34879cd8df01ed9430832c9b3c9301c73ac8db9175b1793b787e617b3bb25ecede0eccaf86318aac8f791e038e5384b3c3eaa4393b547344bf8c75645f97b7cabbbd199ec5d40eeab3984b2e250b33701e1bc3ce982d637994579f9b80f99f57737570feefbf7dbe2ee668d36730e23b7f319e8ecab787d742de5848ff0ef4f90bbae613e72f503b93be0c5936cdd181631df209c9baf8e7ea609d98ff48d6cb397b817500407e8eac8fc9cf81e314f149b13a1967ea315b26ce5da2b1eec3e72ed6dcf62c7fe2996ed13f6178bc4da9f3a1a5f39a8fe743abb04915b7c5cd87fe47cf4754f9d0c43b7fad73ef7f291f9af90e9f910f0d63d427e643abcebcff897c68ea5ce41fc98756c732fd13f9d0eaf3ee4fce87c6ce443e3d1f5ae137abf20e3e920f8df8cdec7c68157e7d4ace01371ffa5ff29b817c68f53b7f55bff99fcd8766bec3e7e6432779fb7f2c1f9af2d53f9e0fcdf2d53f311f9aedab7f663e34d357ffbc7c68aeaffe39f9d0a4affe19f9d0cb5e75a9353af15ce7da4f6b39a8b6e7a372e97df8d3791d64f347bd8d701ed79f07abca26c0af8b6653a87f3b0de6ee7056143eafbf779fea0b31bfbaffe42c07edcda2fbe44c83ef8fbc626cee8d18e74591fda6c733dde33c5d0e0f91ae41b532ef9fefdcbbf87e471deeb60fe92f04f59c7cfcd35a9978fe582e9abf61ee807bd6c3fbf47b4fe6b6bbda077d45c512c4df4b6897a4f913bd8b8cc1c9726daaced33816def5a2f713b415e77f95e585fcae60c3e4bd0e477b28395f65f9673e17a843bc832d5e0fcaf32aeb3afaa2427f48da0c89fe80b95d651d271c91fb41d0f189f507cae742f55c38db8bbd62baf3919de21caea91777087fbb6be8452f961f159f87b97e75a95dfc1cc63c7c1abd04f840ccc363b928368067d9679b8eb2d300e338f1079c79787e17393f27592e19f380cfc3c82e786e8cb23ce53c3cdb4399c3ae2c9f350fa57ad0dc46655dd43c94fa03ce7951d641cfc3647fa0b9e9503dea7978b153e2cef145af8ae52b5a6ecb33e7c19eb096b11ed1f9188f2b29a79997f13b4888f919af07db5326ee3549eee7ce65269e3b7388c4efaf6d9bbce74cc4e3206b6be21e06ce7e231a5fd6f57b8d9f840dcee3569e2f89b84084a72a29da9e026390ba20ac51da11da5b006dbb7c87f62dbcf7e0da33da6300ed8df009ad17e0add83666e0125a2f884f84ad2f7b8e8b8d85cfa4ba62d8148c55bedf102fab51fe32fb92d31ca5f724f23d4d924659c27783f6dc3b532f617709f3fd58587332f17b702f9cacff72df45c2bf45f6b5c9dfa7f331d620272dfb5808df7cba9fe86a9f008a0b4bb3d6afb5ad8475481cf63126f1ccef7d83e64150e7389aef83dcf0ee82ffc59c1594f3786c73e3b85eec6ae5fcc10c3f4f604afc5c01c688b90a1b64acbf1ed361df112d0f19e78a323f8ec1d099c187b0d579b8f97ef3da7f1baf37377ffedf9b5f8bc9cd9f3737df6facfe6a1cfceb7ffff7fbcd64b6996e07ff19beac6edf5e5e16b3f1ff59cfd6f3feeddbe2ffacb6fb3f6f072f2f9bdbbee78d37deede6fd76e879b7c3adb77959fd67e87941a9b3f5f34bf0dfd178d39f2dc38fd6c7f285e7bedf78337f7cf3673657f87eb37a198d6ffecc67b5f09fffb399854f67b56ce6ff64b2ff277bef66337fe67efc99c9fce7ee21ff4dfbf1a7a6dd7cbf9979ff339abdddfcf9dc5f7ae3ef37de21ac4a1fbfdffc99b9bbbfbfcf6673df6fccb0e85c2ef3e3c7f71b6b395b2f6efecc7cbfa9ad5f6efecc6af93b2d97cb7cbf69cd46377f16b4ccf79b6af0afe0459c515090f6fde6577ff43fc3c9cbff68377ffe97f63dfc7ffffdfda618bca4f73a1e06753e06ffc9dce5b51f5ae121f3f0fdc6f2824f725a265fd0344dfbdfef3726f8fc5d269b7dc89c9ebf7bc86b5af47c9957fe7d5ed3f2b9fffd7e539abd6da629eb78bcf44069f9325c78377ffe08feb938764d5e7bb8fb7e5359f6275e6888ea781dfeb7e1052328fca71dfd3330cc7fff6f307aa6e3b7b017828eb9b96d79e337ef76f4b29eecb7ebc3edeee56de1bdf687e3dbb745349ec4e174f3fda6b67a7d79dbfcea6fa6b18179fe5e7f191ebf70fb6f93f1e6f86fe7e525fa97d9df0ca7377faeb7cbe5f79bc74d7f393e0f8ff02f67dcf75ed6c767ab2f95d972ec9d9e3ed67cfe531fbf9effed8ebd4de2e9e0a3c42fcc97d136a8efffde44afaf9e48e1dbced6377f6edeb6e3ef7c83856f6ebe8c98e69dbcfc67f5320a7fd41ebf79b3b0f599ff64eec2b9fe1abee90908c8178e7a838080fffd7e33ea6ffa377fde3456e720fc00dceecbb3e264945d2e46d5c95d4d9f1e7a1d2dfcac5f6d1f0f3567c57cb0a168ee5e26b56a663a5c8d5e07f3978959ce9f9f1d55dbf95139331d5497ebe0bb6eb6bd1d051b86e0373f4bd35ed5791dac867735bdb835b34159af0fe5c9cbb61f3848e1a1d872f19479385e0cf7d3fbab562ebdf43a4727a2a63bc77ad6da5fe55921ba146e74e8779ce7a76c9478706cd3641cbe63ef7d103ae0cbbb9efb32a1ea6b3c66b4ded3548bea5d0db205adf164bd8e57adf07d9bd5d3efffbfffef1f01eae797f586c0e8e3232778ce45981ce044267f9fff91cfe433204ae73457cbfd992dfc9979f84ff621777797c9657e48587d1cec2aa8cedcfdb8bfbf40b576c1eaec0fedeefe73b13af87184a5d9ccc3dddd7d3e8362751c7bcf4d6462b5f83c8ed5f73fb27785c219ab0b85fbbbbbfcc3fd19abc3ee3861b5f66f6375129fb978f1b638fe7904ef5ffde1a23f19ff117efac7ccfba3ff87b7e96f66c33f9e0384fd63379d0da77ff4672bef8fcdcb1fb3f570b91d8dff388ee3e891d97af3f2c7eb62327e8357025e5ba2c5e2bf6efe73f3dfe7d5e23840e38bc5fa65f3c76ced6dfacbe578f4c760bbf9a3ffde9f2dfb83e5f88fd9fa8fc176b61cfd31ec0fa7637159f9af9b63b3fe277ce7ff4c5e825ace6bc67f89d65bf5df1683fe66ecdd1e1bf5dfa7f5e7bf6e06dbe7d9cbcdf79bc161330ea6e5f065f5fa360ea6f2b2bf198b1f4cfcd96bf8f77ad39fadc76fb7cb99b7893e18efc37fbd1d5e372fe77fdcf68f251eff18ce5ea7a13da3bf47e29723af7ff9633c8cff39ca160a9907e983dbd97a337e5bf797b7e3d1aeff36f2928f2d97b3d7cd6c78f964baea0b7f9d7ffed65f8fb69bd912f8cadb0e36cbf1e58bd5a870f923f89df0d7302ffc2136c09bf633b1bfb285bbd8df854c56f83b51e56629d8695fd01ee27f5dde75d51fbe241ebd7d5dcc8291385e0f5f46b3f544f8e76ddf5b67c4bf077d6f7c978f7d325bf7df0ee227d3b158daed3c18bec2dfafe355f0e7dbdbcb5bf022cfab605008c370f232d83e3ff7972fb7d3f1db38fe5d7288aabea47f2e5ae5d5533ffaba981c4d433e73eb6d46a189a77d6f1afde776f836cc05dd77ae319849fde544fc68f8ba15ff7c5e6dbc97b78df8d17abcd9bcf58763f1b3172f34a5f8d1ebcb7229fe9dfcc9dbf879391e6e96b34dec636fb69e2cc7cfcbd9641aabd53b78c3fe72793bde8f87e3f53bf4d5761d8ea0f3e79bb1b759bec45ab75d7bfde7f174dc1f85fd16c2c9ece5f6d93bfe77f6124daee3cf5601b61fff733b984d2eff0cbd82f0dfd1c45a050ec0f13fb7abed72337bed87460b3ff87bfbb2198f5edf66eb4d809337df6fd6e3cdf1ffbf9d6e36afc23fc3ffef64ddf387a7d78f3e0b20ecf5ed2584afe0efed5bf04dd8db2f5e68a09bc89d3dfee73640dde8efc8eae1bf26e3fdebf91fb7de61bde907f67bdbae37c7e644ffba1d4e5e84bfcec6ec6f5e56216649df4486933e0f9c9def37d180f2366fc397b027bdcddb6c3d09bf3aac87d17f2ec547fd7bf3fd267aafed7a360c1ca4f3bf6eb79be7cc5dfcef1fe19f4177df7cbf791faf472f6fb79397657f3df9cfcbdbe4767f7b02fb697f38ed6735de53af2fcb4326a71588a7c3ff04b38bfbdc09e3540f6fdfdec7a78543f1dc74317a563f21af198a878916070370b4f682ffadc69ed79f60c5c586f8641b4e21f2b9d7b797fd8178307b3b7ded0f178aa766a3755ff1f5dbcb16ed28efe04590087d1bccc45b6f3cdcbe8d6f07b3d1ec6d8b5a337c74f3d65f7bcf2f6f2bd543a7311c14c8796e1d94f7dfff6f6bced99a1f7774e75df9d124ffd0def2567f7b998d1efb6bef3fbb97e7e7ac7aaf997cf8b4ebbccfdedddffd665a3078ea33b79a976d5d3ef79079c8fef891fd8768c16ceefea1f0a3707ff7215a30ea83d3663393cfff3f6af0ff518357e38f040c179670a43d54cd49b1540cfecf795f144bb5e05fe5978d5d2c3a9b42b1681455fff74beb55db8636ac4ef383c9c66cfd2c17abdd62b9e64e66fa7371d52c3986597e19f4ec5adf79de6d9b7ab158b226b545b1b06b95cac5ca7c67fedcce16e6b4b31ff84ffd47fbced147cbdbaaa5d7ebad516661ebb785d74c3657edad9f3c23571afcd2eefc4ca1accfcbddfe8f7ef667f5ef878efdb2f4bc1fcdbf6edf6f83ffcb152ae67af1ebd658bfd67fbcbc76fe1ae9cee0fdfdfea5b16ad8f5a9bbaa0eeb4fa5cd6233cd1da6dee1be5fd59b0f2ff72fb5c2f2e1d7a6f8abebe7d7bee9cd3a0fd5be553572f54c36ffd6ad5ad9bf6ea7fddede9f17ed7ae3476b9faf3fb9cf76b5f27cc8955ef6efbf0e9576415be8a5c58f9af1d8797dbf5b6af5ca61509deeb795daddf487b5f965ae56fbdde0efd6cb60d6fbb56d6c56bdd7d9cfd745755c791a3c3dbd8da77da7387f9afdfd3a5a3e6e9ab3cd8f59a6dbcfcdcb7be7b9f3b2786e6bcb6cb19d5bb6bfedffca0fbbd351efdb7daefc763f7dcc8e9e577fb963edd7e0c1a87c7b33fefe7bf55ee976ffdee72b95874de69bfe50c94d3b9dc7f6f2cdb267adcec1f97b3cf48ceadff91fedf1ab9ef17fdde6eddb75e5db3cdfea66bf3ddee6edfaeeae60ad9aade7deaab3be7dbfcb2ffdfea66beea6adf96369bdd5e6e67d695f9ebc97c75dbbf7a3557afa6bebe4bd8167de372685bb66e3e9b5bb9c6993f9bb3e6ace7bfdfc6bb6fef29e7ffeb59be66bd5e743e5c753b335ed6ccc9579bbd2a6876db3ff542a18d5eeaa38cd798f9371fbe1eeedc7fe9bf7f7afbbdb6c63fc2d7fb7346eef6ecbfecb323bb91b6e7e9a776f8d522fbb9dbebf598fb9456d609696bb7ac9ec0cbaf376a1f0236bdfef0763ef674bb70f7aeeefed53b75bfb397bd05aada5b318b532e6bad1b0da4eeb576560dd5993a5f9f66dd09b169e9c55aff5733afcbbd65bf5169ded5faf35775a1d2c576fcd6d3f77b87b3f2c731dd7f4b6edbbdbb53be8dce57e78b7efcfcfae532cfae5a2539b6cece7597bf568f59b46b5db3a386fdea456d43adf9656aed6ac9a59a7be696eec5eb6b2ed0f27dddce1e9315f5b77fd42cf2cf532ab6dc72bbece5e874363bb68d5bbe397bf3766f1fd87f6cd2e79c6cf97879f9b6eb9b829ae1fbb9df2a4569bf6fe7a186e3b99e7a6e93c6f4687dd7b653d1adf6632c6e0eddd2c3e9506adde6253fd76579fcc267fcfbd4ec7b3ed56a9f2d87929976bb38955198e75e3d7a83e5cf59e7abbcd5fd9976f7777fbb7fddbd32833fa9179f3df6eb78df5cbb7875fb7e31fe54cb65c7a7c7a2daf0cc7983e6e5f9dceb4b337b3ce625c706bee9d61d9bb4deefd7e337a5938aba75957f7ab6d7339a99bf549a935bfed3d179cd6b7cdad55af4f76cf0f2f6bbb78df2cda75b75c5dcfeac58ddeafccf4ce63c61fee674d6bebdd8ffe5a6c7aab4d6e75f037cba7c29b372e38e6dfe317cf7daa377ee473dbbffdb765a7f170571f3e0c9ab976f3db461bd6ef6b5e26b36bfc9a98ebf1fafe7134ba2be5b56f75b7f358ad8d7ca3be7bb8fff6777da1d75fdbd65375fbe351fbf5eda56366339349bbf532cabd3ee4a72dadf2f4d76b79b51cdc56f5c643b3fbe0dfb9efeb65d7dcee3373f3b971b73073ddfdeb6da7fad83546c6467f5c0c17b3ede36c39be7dcf7c5b8d73df1e7f8eb687f6ebd37a32ad5427bf8aefefc3fcc332bb696e9fbeaddbedf68f85e1b66f0fa56a3fb3bfab66eda79e3d7dd15cebef86ff5cb5ee268f3fdcfe3c97edcdc77ffbfbc1f86e747bfb23b319bf8d1f72dfea3bbd5e2ad6dbc67cea3c3eea39e37e9b333db7a915977f7bc5c6b06f6fda76f16ef198792dfefd3c7a2cfe3de9679fc6edd7c9df7f0fbb8751b67557696e666feb9f879d3d7773b763bfd4d9397f6d96d3edddba54cbb6ebd5cd83d79e3c7bc66bb75b770675ebf9dbbbbe7efe71ff23ebce3225ad74a815fdfbe25d75f5707bd89b9d96a93db5eb55f787b9ebcedb96bba9de17efb579dbfcabd95acf7e9a23fd561bdf366fbfddaefe7f26cc5a57630507c20f94224c659899d38599e14ff2f4abb3bbd2bdb2dcdb238dad6fa239d7986bf9092ba656b0308e677b1d6057dff40df5ee19408d851a974d30b61328ea6411e29412d5b4bec9d078facff811e22d037540dbbef973f6d67562dce1b6b82f03853b878c2a58cf4933f7b76b3f97da142e10ad0e71505b33bfbe456f0b7e85e075f5306f9ac3e40cce690c89f991f005181c1000de14adbe90018b36d8a7b094ef511e542e4417caaeb0c13fca1bd7da86ec53a121652f210628a70a2e059f538d57cfd8b2512cc1d5d63e7fa388fb013f4890513d1fe9f3bce0ddfe1a6f6a48292f5646bb73d587d4adcc6e4bf0e1b64ac4dc156180ed1a1fc33bb60010be2e39e3c89c7b053e4fd9e91e2268a06a09fdb21110ad3c72cebf8ed5c6ee6b42563f10210f51261d49c00a1ce96aedb2c36cf00e33042151c481bb621c033116b46bbb20374ae528b0106cbc128386d225b0b0b87cecfaae9dbf875a832c26d841a3b0d0963250a62a48a6305bf0b24773d4adf93483501c5b7c0c61aa875e0a9d15aed09ce30ce20fd6e4650a623f5be96ef4f7abdbf8399b716b0b503e589f022256237cc5fd70a049f92e2a3c4e7408a909037fa09d1cab1e41c4346471a2236c405d0a9bb278934ec464d6f04a2b9e472e81d9a1a780b506c788cfd1329066eaf60d6ee59e63ad3adf7753ba491d6cb9438a0f2c1665155e388e19187dcb58cae7479f612abf08dc39f30ceb31c27c5a9b1f981a46c26f3892b5e4e26a8b81f7a5573555dd6c2361fd1d2ef8aa225b007bbae3a9ac0cc6305293fe531289411f105b7183e946dbc49c26727b33ad4707951231023938396a0ddfecae57712117aec347e8f6f7d5ef7d96011e31e7792e3fd627835acfbb7344228f67089d7700c0e4c9d4bec3918965ae3c952c6d0701e96b566ee6839b5f6d410ce578d67e9c3a0d8860102c2aa5be801b29b9b1106d45513aa51306455176bc3d90f64b47a9c46da94800e0333c410992ae13842449aab4b46bd49a27b206566c50a851795613f28c2bb327aa718817f07636242097cd51b0827b52b8aa563141067d9c6a4734aff3dc0befc0178c81a12ea4d4284fdb44dca7172d89d3c46a80271f24c61ba8f6de3ca63484bdfb3c3388546ec71916fe8780873ed743af60126ebc99aa0373c3346a188a754656f439c4386d350c0339b454d3430ade81413b85469802053ad6917a3ed107ca44fe78586a9c29ebd6be6759edae27a240c69e534c71d87be0ca7158e17fa5f3f8157ad1a0eb052e485be344dad3ef886f5bf1d261bd4a1d4f78746dc0f5abb26b8ab90efce8a60b006d1b5fcc9c8744a870ccc387d2e1d13ce25fab25f61e7452fb7debe7a92634c6b7fa8800a8a240a64ce96650b0896fd2e06e12509012654abda0e91c9a89c1cb89265d14dd1b7bc6576be7adc6aef8c611422714002607084994dcd8aaf26e043b82a2fad24fb0f4320445ecc19af264487f04d56f2f9b2712a30be6eef2cc0f2c5bda43341b712f4fa728b606e892177eba5de2330c64b730ef74f0d0ae78f434669111076e99ff3147a79dce793883c37e28f26e0c0a0549a61965e17727c1f40c6d58a36de4920724359143aa82fd7c754481c22a04f047de7aa506e0438236284e585077da36fe52fd8636d4b3685b86aefa7d981d65ddc27d622539c094eec6480c8b1004e72bb892857f47f0a5b7482d7edb0b2ac01a5eafb62bd131934f0096c4c63a09b86ad387e70365eb13d5d86f5f4f1f1b2062ad2071ba6dc93e23fd41dba596998129ba0811cf844f07805946308306beefd29936aeec9e80f97aaeb2f5fc88b65fd93933cb75844dd4234ba38447342889dfbc23b493a3f3d5e72857ef2c18d512d32413db63e9c7bb2742ff92a2053d1b5ea110424ac95f64fbb48cdf2f6f1bea2621ff56ada7d8ec2475fba588af09661ef93c41da1b43b47451e215e88b9eae755ead9917231263bc617e36c6cdacbb6f92110d0cb5483b6f4388f05a0660a2222dc192f17c1868fd20e12c154d5873ac66d5c1518c0b8877e269fa4243a357c63cbd4c6b9a5320aeba016ebead98914d4614d84dc6c11603dbe51165be5adbae6f2532e2e64669a08b512816604b74afb38509c7cf9e182381e6525e28c9d3509dd4c5f74617127b7e626df8946df3c8b77e6d163e22f155b92c4fb2057654c46599d89cb1497b9cf96957295bbe56c03940ce66a537799e2f557961a004350c6aeadbfa7ac8891c1d1c00ed1217e2757ea7b583c4d40422df2e506620247710894ecf284ee58f31a893f9b1c75393495d72476546dfa53d845fb1cb591a516e48994938bb51a4ea31f923ea4d4277eb57d18d5a986d9379a9d6e06fc4e8b8bb0f4af875d2684814fbb2855fb99e64082cba87db526a76b625204176ed8f19fdfa2b76b3302cf6ccb0fc553d241ee5b351deb1fe51f2c4f259a5f0ddb73cd11c1c1b9d532f6188d99f300a9d9bcc96ff598f5560b28f6fe315854238ebb52bb3da119a1b9ecd9b90c3eeec6ebb1a27bd49c343249b3b17923b2ae5d1522669466d4bb8ef084487571dcbb14c7a2cb5f0d2eff756c6e3f3a79019526f5ebfdeb87d3d49493540c12df9724aeca2df5eb5e8c789ef39d2c5c22ad6c81a98db3e76c78ff77857e0c78bde89c14da7d44f7c2d7c9b65eb2852230c24f79dfc8ad8e26115bc728aca541cbc39055bc3561bb9d5df77351c820e9e4ed7b26b5e295eda1cd361971c3beff83cc70faeb8cc06bfc8b99003e07de9e964395cb52a73c0e69ac76bb17bc67262c31b2967fe97d779dd32ad79b14a1b449abf025eef29c35bd2a64a9e71817f4933cd6ff091e464537b5630cd0234ef71d084941eca77e002cee1e799a73952d89c58a89108c987ffc61b3d2273b0927b26d00585cfd9eaa3e20bd82fd451e8f31e837359d274f6245ba445d5113578fdf43ebdeff46fffa9def9b828aaea903f38ac3c5598362fd506e8b776ae6a9d1366bed8a4cf3b8d2c47e40cca33aac3e40c09f6baaa31292be7aa43e7aac3ecb3fd05e07550fb017ea86d08b20c06c79b0b75c7155b01c11bd4dc27f52574ae328759345390306c749ade0343440a3a9900bdb34f4162240719e7283dc3ea75be3e6afcf7bda870fa69942b92995c5e4162b7f3b30d2417c71d2a65f9b7bb5a4301c91668b289de5c417bb1a28a3224c1e378ffbe710335fbc426ff35f863021b62b00b63f4d1d9ee665c3caf5819abea00d537bf867e81eeed95b70bcf779420bcd7e8bebd95f7717d5ca45f8a829c9889b27c6ccad0ce0ef9bd4a702e62749e87266778bf553e7d694c9d5f660ccffe68cd83bd094501da37904973454e99ef07ea0955ec90b534dba0de8bdd6da617a3c8147be19a66a7f771b87f9a968e450d2511a228861e6ed9465552accf1b8470eaf25e6a745d7c97629680eeed34a3972a43f720634772fb8f33a0ecdafaa8d0e49e622c8d09ebbc684e4e770ec4881ca9b1367bfd25be1e322ecb66fadc27802d314751d9df79c45ce5de5c2f1f8772901df94aa4a7376cc1a6f81297b922eeb7e88235a8c34346bee06b2fb8f4cb06b8e5a677dbc15d78b3ce7653fdd034ea597b16c786a77b45717397af98b9e418bac09da642f5deb61984e6cc30d9496f05300371bc8b22272f9b1b134a12927d3da533da5d1a7e4ff004b5f7eba75aee45f4f8611f5033205528dc6fde1847ffb909d27e142674a217ea5af8bffb9c022610475edbab761c4c6580d0c4b31790d54dea5e5924d869e134f43044b40a8ece9a055561757065beaa3cbac3845f3bb06f6492ef40f6b1f63d2f4bb54d2e44f22092934d1bb01e49aff51a7220e2d2e208911c0d6c1de2fc1eadcff83f24dbdd21a86aeba761cf6fa2efe569ea1aa63236192af755d7892c0084da70e63742a3eb53a13746ab47604debb9c8b57a42867fa7f6a4c264ffe6ad2a0088c89f9303da52dc45e236929f2aba71d665acc85d9c8ef9aabb9b7d0a666cea145e4b8dee059911f20010c3c949827453f25ba045607635d8bac74be299dc46dd58c34d7469e78cfd35f67c79dfdef547f365bb84160a705ed875c130a3e335e4018401aa37cdfeba2e2b6411043b24523be593baa511dc665179300dc7fc5866e5179ec19865ec90cf926633fcdaf1790ab0fee91a284ee664dce5afd505ddf579f1e18261cddc39b56af0683328510353ead571093e439dd9707ff4fe10dc6024ec986ab744337ffd1b23596ab1f2504ffd6e7891908781d03b04649246b633bdb3f405466be62f67fb84741e5efdec3e74f585085864e658a25e7fce21dcc9db304c6d8f2d31b48e0b6c597556e8bb6636897464cd4f25fef6bd3c46049419685d3528c4cf806b91c5141339290f1f01195f2b89d42414b2f7e59e9871a9021d18a04c0d1b1f29cded087ed4572556a26a594641613b29ced086ed490174be14bb81ccf5d29812b700ceef333eb8338d8aa21b1915341d27e29c1f246fdbf4c82bd2d2d5bce9717915a4568fc5824591056bf27e32f7ad11228bdcc219ff04e00a77bb1241351da3fcd3beea6397c623ca55876f62aa0698f6708a68ed95f82d7034c507ce0747066ca22a8d303eec912463f77e7ef7e220e1c67f766acb000008b62fa06b9bd5bd7cd38c0ea57d8539f7dbeda058e86df67a17010948029a025d2063ea960cc92423dd1e89af5b24c8e9564a1401b1b22e2ff5426e3a5195202885fd61940e9f9819ed200feb715cc76118d66136c1155d976119d771ff1df23b82fb57920b267c0ff2639506851a94b5b21461fe8c38ca03bdc584e61014924823a6b687c611a76bde5795b1a7473649da3c3d03660116bf69137cef7a74be40ece7a2a791c1f5062f451d795d5ac919998f0c0e0a03d9b88bdc6d3feacb358b9e91448dec302e8b724475de18138aa72f310cd3301cd3713e063a6cc338372312c233b8db96cd1a469719a9b324794c133b37a3c96930378e982ee74ae7bad83c3b0a239033658a0b4f5e535960ec486e6241631f5e247cd9c49c8a11d966754647b77018faa7b076e3295bc39b1a9b7751e219fec19d2a3ec83c1ca39b96d35c36a553c1257b43d72bf3f269133fac01fb7ad727ae96c01210561cc7c9258ad50149a962c96bda4a4f847d5020fcafe0eb57106bab4811df62aee54a7450cb8f8d39640da17e78033698c3f9e0440338a758feade3851c154c1381a0666e5e16f2a6bf8ae8b2bb8173955f1bac2298ee4fc09421f0374f8e9635f4ee5f3d623e27e7dfb1c34b230b31a083ab4dc10d96314e05d6b6ab2bbf9756b3fdc35e046b0a75593e8af6702d8222c384a1b527848a6567900ae80436f9043e49476a384614a8f0262355d2a2f7c33a10e22972639b0fbe5570243e8ea478eb41dc7e92c4fb23b7128af9c3b0f9f3e709ba2476697c948a4faa83b5c9dffb046b2a3b9a436b4cfaebd92e67c0fec1bb09a15ef31df3cfe8f4fc50a4ab5570284158406672da943d88023fe607e16de3382f22591c5544051a60bbcbad825677820eb76ab85f6c3eb4bad492e6aea35cc5991658b7cc59e3433d6b0f9d39da0014f30bab355037e646c9821cbe9d7c144fbce3b00b21e1d82344d1678270411bfb0029f93d6900e9a773466b435c356f5cddf6521013b2e86dd494d2ce4bb06222ba4753c76d4596048d7ba2f1bb4c952e6a5547015359a82375885e3f1ceee669a68a117e2358537facac44b38a297acade472c2c98b31d69a579253f1bc735f68ad41574d7c4916d4c1ca8130efd77474f735d33c6c98e9fa33eb14ee1e17ea5e3f40eba6fbbc70bf1745c4335441f43eab12d2591a810dbce280ee8156cdd211426dbfa01e835f45c3b132f9467d769cb8d9e32681b1672df69b46ed7684218f8b4e0da2f811516c4382600c6497eadc5b2d6498c83ca132a89de90638826cadc9dd77a42037998500ae3c4552136126dcdbb7980498d8a4bf255c501dcc4dddfa8b000c4686403022d758e96c75d1d1e0163d2998f32fde1e82ba371a36e0044fa47cc720fdd23f09efa390dfb1f80ae104c49e6096a38f0c26f5e92791baf464f94993b976c0fd200cd5410b8f31d0f98c071252a95cd200d48fff769faa3ae7c0a9e9414d2612a4b58d31220511c2b08f6eae1ddba5ec1bf21375b907be0b705585bc5372944765c03f45d0337f0a6934f5a8b0ddcdd20db4b0c12e30e8f506c766c394b171eb56647e4dfd8ae2344cfb9b4c541457d0ca2c6131c8277f9e4f10d993252c5516a5039425f75de80162d5c5f46d5ad54cca841cf23ee844b2b91673a233f8a3c581eb5ce096a516a273a4cad04d9273efde7e30a0ace4d6b0725388858a4e57743bc677d833ea06a37dcde0af4c7387021ac40878f480452777dd3170f649448f9c08f5abeda6829a60db00ef6bd57e27e22b799dfca87b09987edc319cf800429644c9ff40cfd2515ce5a865b98ead8ba487d96afb71e2e67f6331d4afb98d76893dfe56f70b716bd6e5a5b6f545664dec06c4424bf0c2f1d793d42592dcb408b397186a51491d2981042d8f81d3bef7b5fbb017cc089245002343c3dcaf909b71569937d4f540a74a5eff66cf860c2ad4a41fb2f17c82955d66c471268ada7ad4d102f32ddfb8d882f0688b01eec65e6edafa8e6bba21af218d1f9cbdf943e6f0c0632ea624458f7c5d5b0cc4b2eb7a2955927362be495c5788575b13b2513d33441fea50a88b220e7bcbe6ae0b1005b988a33384ab3a4ce7d902eaba8c10993d885a66c833a966a121551dfa0c92cb9990bc84eae200af18af88aa0d69f838499777b21c4a1b388654824cb6a9b2313ed653f90965030764a1194141684cef37a1d1b78f66428e6e7f8052bda29a9ded1a71e22dc096f8c06c4e8a3cc3791e7c1181ff3983a8b18ebc8d6cff84b7f157128bfdf21a6f8f2505b1477998a5761b754e7ac237a4b92bf2f83b9edd157a26ad805f0a4b633d1f277e19171ef662553dd26f85c260ca67f6090f28adfa775d40891692fac0e7569e9e9788e28bc95c6bfd4babead54dafb9e9dda46dcc510889034089d270a62610f9319abe90620c7bc171e84726fa80e9defdada722f7a622d62c69a49dbabf5463b22c9009bd7b749d8696b7f1637ec40567150d61762cd22a70fc6c263ab867675ec2b0473b180d7e4549f2e4d80e08a50f2aebda2f24e529d1e4b587c2188be9812c700cd58dea7de934c878ca5027ca8dea12cc5bf807e81a90c2305a1054f892b5974a7e34be2c0443ce996584810dce37aac4fd7bf114c436972a9300bc6251b15ba17bf68a1c33a46ed1f1e11f17226f12e1a31f09c7b4eaea84e6786819d849f21344021baf5be94e3ec48d0c235840271d530a1ba895f12b812f08c0a2d80d71e2842dfb4ce41ee8048c900c4b457970c27a4f057b10bd9ac92d6fa15430a2d9de3d59a45cd2671dcc7302dc5892e56774b6d668322adc96b612f62e7577e527024ff30f72d952d25b319ee3d792363ebeff514cafac13d6076a7bdf7bb47a42d2a27c0d91da23ec05a4a2df538aed1d85233ab216a514d98c42bb846fda22399175aef33e4738cd82dde41dcea2be27104096d1b67264c06c4800f4681138f1c94fa3da6d1f0c559f6be7515e85fe562ad87a16153860b08bc8d9f34fbd819af7bb47691b40d73e122ed2098d1f3c26950820e990c73a73841efca86f83afbcfe38ca82a538ed3d460f2540d15b01d5bbfa41fdd4181d8971741082d789145529d86bf78e9ab52e68a5f0ddbc4ef00b4c5f43c3d267dd21ee1f3935afd7d14e97316d26651af8b1e3defef0c2a7e3c3f9f24b1092c58efe02aa3064761855d510df4cbc23215ab974893988377b2d9bcf4078812942ba846ede47b6c177898adc357b2458748c9a01566f5d6a8ac83f6feb4697373c28796c0d402c9adca6a03c0d138e89c63e1ee342e7b6049e1a523cada038daa20a875719b6d2e866f4c056c603d66a5b4796903558cbd08592e47eb9d5b4c87ca3dd5f8204d484d37cff5b7730dfd920063bbc29b21019cbadaa26ce7149315beeea0478b2a0ea8c8cc57d37162c168a373fdc3c3b84b22de4cb19ec9beb59e8b5339bd81d477850113882032d74c7ab4817177581a782936739b6d169ffbc4120cbf53e30e7a3dded6c73002329696f1f3cc5121ec303b147f7065461d90c1d4f4281c19e47627bdbeec4e712fb938abbfae31f10f5e348c2f19dc5a95f8a2552c73e7adb14d4ed23a0dbca96d1744fcd49b14d34de64bce7ad33c4e2b14cb3225fa2df4b2ebdb7b64e098e94f9a2f17e6a290e311733502a7a5d5ddabbf5cc83ad8e47271889ad4d7c7e77a187bce7bd139471638ba8197220d0c0a009f0d26f6334553db66af4a981995cf8ed7c0daf455b4fc734e5dd15904a23d53d5dfe7938cc660b90e2a4e0a4893fd4c9a2f49ef673e10833813ec4d803962d0714242bd7c45e0a41655b3bdb2012c738d2f828ac1a9c0828ef6a85b8e911680d1c12feb20c5ef74354b028492b1429fcfcea6a10e087bf606926c2c320a6ab19fed7d4a490959df38e79f7269494e8e121f8df71b09c9650cc9613d896a9aeb65286cae00f84b9e006e5647d7e922d10cc7b83af4763e4e71ef621d1687c3382d7b3cd722c283a7cc4392268788089dfd5c61a52b8b1a2bcbdfba78f55189d5607d21c1661405283fd4ae4a39f73e17cfa96da7fce19b0c68bf0d2c37e6da42c166bef613fc22fa680fcc43ef5afe7a05c04793a28f30d63010385ed453086d84d30781300a60082a159a27ed7fd083ef6c2b7578944b5d8af6ac4a37aa11c635eb91342f798d4f3b1427304dd48c68fa29bf6f11120d4a5ad6d61b8cba45194d709c9e8d3526dd3157c9e5f47c4ef3cc2d9b36242cacca22809812ab6cc350e997aa78e82dd072cdbf71acf2b324aecd143384f0df3a4b978541fd5c45347d8741eb377c7e233f3c5b52992c3604d2e703c8b27d28141c245ad84f88b53466ae576d791de63c5c39cd5103d5460b06c8c7f3f1dcb4e0e71e139315460033f7a0a35c32831f62b52b583bef26d6b256423636a778b1d55705a74e24e473b6691c9f540aefe5dea13f89afc6365731b4c43484e925cdfa24c2176accf2348a85c1f6a8eaf9d03f41c2ce7ec2713680d9bb7595b47a10afaa5d93e3d9a851b107f40eec73b2a8c4b6b09702ed8580c3b3d49c222caed4ce71f307bdf171a55709042715e11489d4ee6ba5f38897e982c495bcfe26fddc1bb4bac49b04d6c5c0db2d50b30393b0066ffa759a28476a206941a5f5ba8867cd604f994c1a878c78d87880e3cc674f602f5080920ad5b056dbe8e3a3c5979f8dd7299cde345611e69c098bc427a3b9f1e19dad1bf48e5e02710e37f2395d24d70c904ce5d72885cb57d793a8e423352fc0f4f665e8e1fd803dee54827c2a26ede40455654d54493f89a1cdb1d50e854649249d7f1cc7ee16c97034c07235408385a0b3cccdbe2bbe4c76ce354fc56a8667e509d5f310980d4ae148079212347461c912e92f0c6b4661afdce6e7506ea78a95c9ab5e6468a561b76266cc6c756048f109d024e80c95a54412e02f3321de04077e61c90cc7447ea15891e6539c6d7a519b7d4a5c81d80d77e0fc2609e9c49e9facd07b55209394baa0036ff821044f19dda40df4ba3d281e58e0ee9a81c9a375b04b05ffb1e9a4caa9f886eaa7b4a87e6dce13667697fc148d69da8abc3b26d37388e1d178e21316b285fd472e09e1a9a834c449252268f6165e7dac7d02db5d70a87532ab658a49af9a7a74d5ea22738746a462c24b93719ed4efb80e830402bf509096e6d75fc8ea8bb28f39784bf4184ea28bce716edf0994275e6956640118244d5f583b3a6610af713bbb2dcdc358c6911772a908456f046b224d0b43a10683105085d8a2a1721adf00f2f9c31a1362b53424d5f3f002e680fb92a2c86945867943fd47738095b47aca09a565d8b4b3b1b287e7c9ad58ea9faed33a4e7fea66888d276e4a23aa8e05620999c3cedbe779ea227b37a63c927c072dfa50f41c75bffaf334e13e61dac6e90a152a86e295bfeb795bc929ba510a5d881f0a740f70a58020a051d2b8fc0cae0e0f434cde7b452cc84b20c031af282196773972c213f9414f742ca62af0c044017623c8a646b49ddf1c4cd5b59febcb45b635f8f50020e5b9a758300abc1341850ccb0ecf8422cb688f0542816473647c3966d2689522594c5177abeae4518be2a52d495dcacc4f40de668e694b738e450ddf303f3b7272cb5e2b00de6570a92f4dfd912a12635902a6c528fc3ac688981bfed9c4169147643b3f03e97e95b45f88ec2f608ec25bcd8b38b0f1a905172d8018be68439dd7951d0d47f609ee35b8c5b29c17c5532018f763f82df525cad78b90231926515359d22d2e443a0961219d53a8101e603f20c5a51693acdc0bf390962c642df74af9e845ee221bd5a60da704da9a930920f1b2476de52e48be7dc17c0ad14b7eaa6f714e829b5cacacfa05d57d9d4a451f1f0612bb1bc39d1a07193ac1d10d8bf3f3b6f8e419153780e4f028bc3a2e789891ce2a9a15741ec9f0da8c8bc7eb03908fb3e563a76f7ed0bb0cd45b4d239aa75be22d093e56f79afc46cc795885966485438341d24ca0d323fa2a79c392d59bd68d8d61af42423450f349d39262ac7645f38b49d7926e9fa624f3a458ae1b9e8130e303935e5f31d6e09090df0f4459149219c5b17b69e6e491540a96797091c35c2e94da1046b6f63c72462b9f006fb87d53f3c81dc967e5bec8f53c6eb4bbc71f940976a8c2e9b54bdc74e11b5a3821e0309f6b68e33b0228c0459fcd5d987e6cd785bf49627f4ea000349e5c9120e295c51e3fa62f88a266d7eec728752b1d9ddb196daa9c5a11a996fb1ced2ac89e270c2ceb975fad6b556672ec72abbea305c3fa3e378cdb263af90621afae3228a887cb6eb733bd42f491646cf24f29eb1897353296ee2bef0c2e208c25d85fc07f04194ebf6581c532602b3f3e4cf01ae98f513f6bb58d993e3ffbbc0a09c2dc0f48696ee48f528b7529597fc56940d24b568669a85ffe6bebafab554cb509c502246d9dd939ecb081cbe0c086560fa9ece6d93d213ca31fdceeeaa566d89bfcbaa0df74c1dc0393fd99fb8c69f1f6545fdb901814b62468f72b851cceaa1e931d7e32dbafa460ecf64162b1ddecc2520b063662893189ddcbdff4305f354998aff6ab22f24c7382e918b76458dc410e9cf1219a1937181415f77c5d3d435635d370d40dea75477866a8efdf91358ee5f51d94f075e5f6fc5789d4b5f683e7516b57dfb5e5dc5dea2373bff46f14fd7c8000c2f68a56d5ec78e1a97c8fb578f1f63c33230051673e7fca8da46d91f5cd94c971cc8abf24e78dcdf7da0b0df32cc3f43b318aa7cfbbcda64a50cb82d3340f075b7bd033aeab5eb11adcd2015509fdeb1eaa7ee66f4b48c9ecd793b08dd230e8844591459e643c2d8ba97dd19cfbce0d1bb1cd7a91878dd469b9c30f055fada0e3ec554d311448193fe53e83db4ba4729f6a716c7d32b4de6087c97c5b39841d22483c9998994e635732f31b219e8ea0e9aa81d17022062a347b75a44a3e91f70bbc06096373b5aa131970661ef13d5a35ea9e1a69263b87a339f45bd0e4a40c293b508c47af95611a4660270d0e3bb799a829799cc40c21a636514e487ae77c28dc053eecca73fcd8468fe5ee1fe43cd47317b215b4c75de0888ed7bfe31eac574714f2a2348194363273e1952abbf6b413e08e916308f4064232a2eecf78ae408e5f76f2858302228aba8c616b9750d8218f3c8ffb6a38e1e8a2062b7b62727b2a5c6b2b5ce32bec20d73e6d16c0ec4a6838e140bf552187c1f257434d6fff3819694106f7468fd464871c48185538433434956d63a22a1890a85f342a9579bc16c5857a26938404e3b54f9df3debf6eb5a142e1ee7687a8771ceb3864510c1b7758713967dc32f799fbdc6fa819643fcd2b8be4e79d2ede869b0e77bf53c1084e2d80b68a79cbc2e199e7f624116e982456fe9854797728ed8cf9aca232a847164f164fe8aae905b8831b0661df0115fd25ca04fd85849063393d234c0bca519a596af148736ba6133ed4552a2af8f5e692fb5dd29c0a23d645a41df62b848b0a7a7cdbe4daf9001d7b55a65407a09af7d8e40af15775f2dfd98b0a62e07705525219fbca64d09909a9fd368cda644dc77d0907dcef9da75b62b7adeeef44833cd3484fb987e5c0c062dbad7c4c0e9e41542fbdfd614e9ff3221b863d0246259c3645dc16c7c3363c3dd7fc5cb744439786c8241a47e4604a9879552ce90d5aa28c3805808dbec60e175acff0b45aba84df6478929d150f73b40ecf7758654b2b555acad05d032769bc5b08cbe1a7db1988de1ef241e667a8154915629a43a97be495a74435c7f050d2ab9d6433f058d1aa10a8520648780948e9aeb4550f26f138bf5cd40a589b6461d55cf78075491796fc7cd7feb765474ab16fbcf0fa84b991a1584b27a8e16f62360c65434ef1365554606e8b883d844c162b337f099deaee5348f49bf0d3066ea7b2b6dfb13379971606ed89dd2977ca52c0ff2d2f5bd2d05701b968e5b3f4e811fe6c11e4cd053675fa5e17b3417d3e4d45f259a20ac33392a0c20fee82561f6ea40bd02d4f3ae0c78d83a260a03d89dc1dc4794b31af08b59ba409877434200a01e77b708c9d7a8ccc0076a88caa5e872066929d1e220350d6395e13a2c331e815071cc34650c332751ea16a66a80a47272d4893141739378e54a3339a951c8fe5dc87695b1600cc946f2ffc4ccb4e236665b5320e205bb64a42daed6ab3c1752be608a79af200111ff46a34ab1079db37e422e7f37c5b843cf6fdcac96e8a7e99ff54d39b11806d97f97cc1e10d3b310ccad2401f349ecfdf571e24ca7854d93f0d85f3341d6e100d4a18171219b6d07ba2d7ed94b7b30ef1148c196bc27919877f6eb57bdf1126165d3376acd817293efe21d13c1c172532bb1701e599df67e8bae170516b9b7cbf3208de600f82205a83a009827a0d522b084280814e5f71466044f4b1c6b03f85db391423837a9ecae3ab7c6b0ae9169cf5dc7c0b5ce3b162f309609ac0050c7d209cf80549c35b84dbeaba890c8c9541b0cc26cdb869c18c5b866692078471d2ce1c8399cfe97e06925c367ab5bc02d48724059c10249849c32cc482d10df82fd048529b38dccfe11bc766944ee8154d6b1782ed92c86c888be91f8a5922c1353ccd137af5e58665739d3dc856e372d64d5a23283099df61e90dc60ace90b26e60cac282988db7724aeb412afb94f6d17a2bc07882cbf0cd2eff3836d9820d166567db2bb3accb42b47a75af0bf5b40f13ada0cc8b66482056e843b6c537156758008ecd53dcf14583eb02cbd3b730c0a0ca33aede79332c758a8f1001679b20a95da157d69c6c5445157b74f1841aa1b4f5e0c986cac35d6a79a308f62eff7b660a796c58e745d583684b3966650380955e44cbd94a15f5d5d4ad428d09192315b7304db46128af5cb5878583d37d193e0d55e89246943615610cf51431a27ffa128564c167c52a23a00764700d8594164951efb901bc20d9b53861b107de6d09bdd4706cec42046b37e3ed0bf7ce7d6cff98d103fd20ebbd28e08b36daf1ad350846189f6522f6d635ce36a1430b29d8df9ebf73bc4257c4807de418e917d4cd97441b0abfb538b27606d38c6eafd5517558e0492dab9717d36c486f572c005f78df302867ab8acd5a9ffc8a4dd2d2b706d4d4a193881bc045c7fae0f03a34dc4defc8db8f23e34a641efa70ec06176ff0e5b61c72d6e25f8cc508f4bb274a9ddc4f76b14206d08bb4e8d3dde869695ffd67a7e59d47c4b113c8a573d4a91f8fe14368b4b5e62da6486c480408542efb737fb9ec0e996cf5a0f0a6b1f0305b3b4422e02990b4879d28aa991d05b238dd1267dde90fced08464bff72c91a0b0624ab706753c66820c3681e27ffc0f4d72d03f1bc4e9d00ff68dfd679286ff3e7e5076e58a989b8d0d68d208d9261994fc5bc824d2b636ccaac4022eaee6a9ddf7fc044b19b42dd497c9876436bbf936bb5cc8d6a239aea168fa515ea50afbf0504ccc09d9c528b7989d057db9dbd0c3e25a90b4cd7ca5c7c9cff034cc51dfcfdf040fd2b835be564721e837d2d8bec7264720c0131882c76ab296820072660bf6bc8bc0741723112a2f40917b4f94db9dbfa7a9e678e0360ccce8607a74d63b1b9bebc420dac14e377d6f047184064001d521d56a8f0a6eac5652759a95e603b7c69da3cc5818d070dd0e5a7785ca9d7b105321812f6d16b966a9e0eb8c99eff468aeb71e7492270297b4ad478440fb9c2f1aaf17d4efd76902b9bc01bce2e0f588c75c3bf49c6cbbb56e0237f9794a5aa16f492cdbcb93bd20337ea4ef0db7757477007e132bce04e6f706cb65163881e9625121626c81289dcdc41b2409bbb6101f63ad40fec401d3bca7f27330a89c57117a413b2a19fb222dda32564c207d3f178066c08054044dbbe5d3af085084cae7208a7640090a103b0d4a3f0c42e2e7f6e56b154d87018c01c4881654903f6ad372201660f0323610b12ff75dc12f619741dcedf03d3306f85cbc2550ce8694d300efaf6fc6b78b5002cd3e74fafbc32f8a41c738927c11f93dbae67a84b7b6965b24cd50deb533a7461ebfa5fcc35e8768aebe21230f17f0aedb0e7b9433895b22ebd97259fec5c43cbf9134a6a63aee9376cc9cd2906575f4fd6afc341db67dce94427bbc07285b056cbcc9c00fde827dd584e6cec00ead158d28c6c950cdc95913dab591f4b95daf6c250d373337e31b92f9be1e9454a24fbdb3cc4f3623bfe0405be81b998b10a9e6a954dc1b497033cbd15f71867299ad84e5bb371711256a58c8e3a7b35d319ad907a36ebb80aebaabd07a1fad756a5a1c76b3f07985baeaeb04e83a5b9d01940f45cb73b02f4811d4ce3345b7fbfe6e8a031ac7213dbbed1a714f79313c95137b52bd90c01d895cd9c7b12d7bfbdbbd7cfef601f201f6a5aab8e5530c36db87145ecc479a3e22c79cbf2f6142591a0c477b78c8dec8b50e48ff77520950da85197e407b8ce753c3c48f819f2198d4e87e99888028de72aa5393326bb438399f26d2b953f1d8a512cf5fce806416e68448f2174e0c8d6987f8cde0f107b39ab01af3323cb244878cecc33a33db6664f47fd685d0dd8b961290c04e8af521d6542524404020a3291ea3d568d68791cd3f369819e1ba7b085df7936486271290f3e50f5c0c9865958851e1195a4f6cd25254e5529be950fa8300150c56f7cf1b45507fe6315cf2d53887389c7fd46287c4ab598a9e2e871e9a47479fc971995ace24fd2f367f502ce211ad7f1feca491fc2b5a8b23dcd40f24ddc7afd240b860eba02851dc54b49e5f450ceeb5f6969fabeca4614d5361f2614c66fe73789a90cec888b45578a372529b3c7ed808d1839014cbdf6432e4f82b4c35d8d7f58e6ef6117a5b17c7a578ee186e0bae80f7779bfbd09e160bb36601f1ecf670c76a6e91df6265e8ae5b71ed0b7c17b8d5413ff10f46fab5a3c5e38dd5fad4d89202c6ddf4e9f6890bca4b1cc15bca57695477e1a1d63bb800b72097499270a9295959ab6b35c9cac9b1e7180f4694b5ae664c30cec46c4b352fb6b09f838425f7f4e92fdbfc658c73ddd8b86e7d20e39425424a3a5b7931e5079f995c18fd418af8f6d6006356637b41a3d3f3e9a0f2b4983d72a34eea417d8153383fde21611e75a498ab728af38cef6989cab75757c8e78555b52abd7e9810e17c604f389aa7932093c6efc1e9505a48df7b136eefa6c5dc173d4a349887cc697b79956d340d145b8f0aa4052bf4b3151292868b21094e9faceb0098b7ae4f7bff64c90b2f32ab1a6903db255077cffc5839900ebdbb6fa60bf1db5575376c3aa4853f532fd5eb5ff822bbe596923a1be5d187da308a5b7da8a5fcc278981de27d61c8019b58a4a125d2d046ed7dd50cd4941d74babd3e62e2f66609c03939a2db8082eed56ded9ce46c363a1bbc474225ac6d2062714410d335bb539b2d2f125e9709fb28c47c6691beb2e713e366d1847b216a4d2e43bbc68222d696bde153d1d5d3a6eb106aac634fa3ec77ca158414f5f9797811bb6cbd2c6af103533f3316af0a88d0fe3d527c4aa97f970147a4dd2d3a64ee259aba4a87ef65d6acb483ca1d133d70e9ee729272d64eb45b7171c679cdb3c8612e64bbe5115ba47ccf642d7592a71d82ab6af4fb51d184ecae6f78b4389a674dd4a98cc146042ceb1ee1772705c4a517a98c8a3b979b5bc1f0b6034576c622216ca3f3421f8418f7454ad6050a47abe690c9a9bcd4b7914b511213cb20abd82bee63f5daaeb398db5bd09227be18e8d0e56f0c1c78a9b323e95c0b94cbe9820329998c76f7239dfe64257b5d310ca2afdf34fc23276d66fb1d0d3b5a0a56366111399de8c04aa839ad33025e27ad5e14feb010e451d5f85e3a1291b7fe854c03da76d2b959acb35bdca995e19aa747ec136f53216dc50fde77b2274dd8bc9421122a3fe9dd97c7420dff14999e973392fca1d98cf1386ec2e859f073f40876f48bdbc3cf5cbe0df5649b662cf049c5755bcc20ca31a9e1fd392c705731797779bbeb9b37800c756aa063127a336e5900da0d52552aaf2d920c81f8cd149d8899ae4d2dfa2365fdb8b7fdc536bdf52a0532a42955f91e2550d26c992e6742db1f87a876af5d86621bd1eeb3bdf89e4fb2c94de648c961defa8df8980fff001a4da84e210213ac889f80548ecaf3c4c2708f039d7ef67508a5c62de4b5851c5077791c8c6c5e3ad6c71548da3579592735f7b8d014709e4aac24a9e985600b9eb2283f50550d9846bdeff5adc03ed9b8ca0ff1eefe1b4e75c14e2498c25fbeebcbad2f9c714d3db7d7e49d7fcf5a16c6fa356087f394fa014a2f1b731fd0f51c9dd00b9d8a6501283d1c9e3f6e828f79a9ab3c24334ded1aa2ba8e19f631415f9fea8abca09c1ff654c0018c400d6033e639dd0621313a307897f5ca154025a60a92132d8b6cdf28cc08f2401c48c734ef631f8e402feedda562549f57f6885c27746f424aedb4fb97f902ee70b0ca49c54581ef78e7bc5e4bcc099a96e6029ce2a17df26b036bf82c26e8d2798735cd35093b670d402bd1b6fae45f7c066335d291af7097303413aca6a5aa60df25db04f79973e823817de5680caec57254b4672127b48487449fd8555c5bd974f4d609dc433396df15ae6430a1e8b7681886fbea8bfa18b7bd9215299a1dc2bdfdfa2b24b7a0d0641a380af69de59022af5971d2f99de8929157f70e485a6b3e12624ba0e46b24f30de25967db1a410ece7891b78611488f63e432592fc583782c82ee0f452fd455734617ceffc3c15d9b5b0a0040142e8800b7102eee6e19eeee54bfdfdb1ee60f263922ef41bc6591b32780f132110836357c43beafd188d9230a1e6da4caa09bdade7a35ca77f1e7ad3d8f2535202dc32160dc49d3e16edd42273b6b592fb86e7c0065fad8f24035743608bf0cf7361bd4d0cc6808eb41ac4a9f3e677abad883c701f8118a9ef66a4f9dcb0fa3358a0d8cb09a9862df8bb781fb4fe25185a784d5479d4f951bd93e19ce284758c5f456ace725748dfe8169328efcac767508fbc3df256d6439c9b326e80c74871f5b16ed6e4cb5f0c04b755eb5b3c1990139538734acf6fd24b4c096bef8e63c9c9eddb5f1df665d19a8e2695c02e531304c0f54625febcded4b60574bb29655488344771b4be98183bf36b847d5c73fd1a2487bdcce7bc193e6f3fba00777e6c57fa926713e6a09f0a7894e803f6d8974555bb69824cfa87cf4dffe1c79444ba99416eda02a3e88c2aea4cb58c2890dd9fcd48e38c861d761167bcc65f4d763f1e5b6b7a91c46682fcb895f515d34567139e5f9c439c9fe327f5e834ed13475364e8afef921e9f80a78028dab29e058b3eeeef06234d7dd7ee7e13d783a8c409c426f2d7e6dfb5420b1b32d4915d0f38c54438d2d605f17f53e0c7196b05e5c31f224551bb67db26af1245883bee15a4dd916e469e4653b5d6bd4b825eb8ff3ca74c3fdcc3e8e81d8e36199a3f519b9177fbd4317c2b58b5290aadc4ab5e65146f2205108324317e1ec7275e7e5f58470ebf09e6eb0fb1fd7f38418112f616280cb66c968596a5822355b155e5c252c4b57153b78aa8f2b0c4002d5fd331b0956674ab8d592f87239dc91d717a06c7afb80d3986e43f332b7cbc2b6bb2579ae1023f8b918888d9ea86b72e5a9bbdd5cf7bd79074cc84ac772f77a8d13f1efa024a42a12fd94fa1ba1a3b5399cd5ea59f8f96913d7ad22cae34ba87ecb2ab61b1b552be444b46c575e836246a20172cc167a28d063fedb0b785146ab412d0ffe46d55b4f9d0a111dfaf9dc9244b7923a0ab83c4912180858263cecc023c7951321562c3cf6d567160405dc191a84f95d4bbd853da059553c76fe22625e5952ee9cd62104eac7f00106da6128b1499750303fa0f37aef7c3ab2b1a5b5ac393b86dfdb2a70eca6e6e03fa876874cd0e2039c1111bc3ee4751cbc35aeda1450acc4d73236b2c213a503df265b689e056ba1033500a8b815994e31605fceec97a82128ed8f089a977a2bf3610b93e72ac609d284b381f664e771b735d9e4ad6a82d8acb9249558e76dc677f737309367841183b24397ed9c757c54f84ea6a767df0ef3fc9ab2fd8c61dc6ac45f213cdfef7650110fc06e32c92dac7a6594e9404e4aa53a82daa08466a36129ef7644fd0ec9061c32b52463d1bc06e782290b4a4b579faa8d33d45ad6ab5e6627d4dc3edf3060c2cbd7738172e7398f64abe2f635c2724e7658bf680810763fe3fb97fd3ea26be1d072ab8c75a1e32b6840e35b4e4395de4062e5f684d8fc46da7b22098d54bcd3494bd73ed94ab1c8b337a56efcbc99c9bde098c7f7d17b17a688febdad25d1d4f0193cc71d34f7febaf7a955dcbe7db7312f356d1b6fd1ca2dd32ba3f5a468cdb579e14ee82d05e70cd4cafbe0e8018238b00c69cae7937f98c526d167ce5f52cd8fcbb414e95c010938b702811b4575e5c3071b4c0d12e3c97e6d9717bc5ba02a762d9202955da0feee22757a46a46a684f90c57750b84a6c0a694959ea5f7655e9b0d641f01a8da16b011dc0a61f034588df26da3e821a12f501e59bf1c58dd46d30478f3bb3bc75d767b8bc3f9bb8ea06eb950b294936d3cce5c86e2850f3f454aa2ad1aff9224feb82d0c8d7b067442b35f58ac4f01d375ad396cf2b3a5159e354a9944f60f87273864c5f9141725cf825fc26fe6d6ea2490c94523d01573bcd9af752ec9ce448c22c93d11aef2022dc20e9f0c75dce8d35b06ea8ffe931f61519de46a33258e82870c2ef67dde9c69fc1aeb5bb953c335d65321ade73ba791aebd4e03502ed7d6946d4d9eee73b865ba81530ada55a68f138287e8c0a87f5265645c8bd77645841fe04b826bad916a6ed07b4fcd42150f353e0047408c3c4de7a90dd4b79f89881d4867ee5e782619dbdd1b612cb76cd9a7774ad59fdd8a9b9094efd95f6036542e890d4cc3e909e339740462c8c0d4952fb4c2801f995e8d8f06cda9b8d178e0d60a1effe82a89b4b11ebf0e2c9eff904edd9f4a8990165af64cdd3b7ed486f059f2d738c3b9c6dada52df295e27eb7b242e7e42f4d0f5a7c0ec2676d20e972b8321896045613064f5ed3e24c4169862952794a861e3186366735bd6ad3320b8b3ff014e6006c002a88292e7cf60483cf97d35bd34b0d33387fd34a79c5fc96a084059d083bf44f3a96e46e4d7d5187811188154017eac3f3769a6e09c25733f3f5a6203b09e85a6bcf8f93eb71115dae0fac107dd77f40674161a070ab7e0469b3995e3d86cbf95c238cf5de95a1d0ba6451dc2605bf68bbf41bb3380bcdd73c6b1237245203fad275aec375759c6037d102d9867b338884e7eb3dbab851c5ae8fafcd88b9dd0ff8ac587b73865feab08f04fd3adeb172edbb41b6d31fdaaf3348be3bc680f2a2af1798d08d4d5355d38bbc8d1d08afc5603c8c9f29b3ad0a808d801aa2e24b4babecdbcb87ded9eb4f15ca7bd34a7ec9e2b4a4a752b9883248b1363a1494b7eb9a87d6f71b5ef908c5bf05ee980ef2147c32857d22236ef88b3755bcfd6ab1d3d4e6c01707849eaf95307fd44ca5b72200e41bbb745bce19617c246525bad3dd55d198288407a31664f307d261befe3eb884b60b5610c48b03d847639ea8b4d490a950b98fa20e4b984c9b4b22d074461e4640b6ae6801d688827705384e4a03ac4f2cc8cb64ee44d3a7958b1f6a890e7fa7bd5aab0d6e0bea086f672e5a49f6ae7a59250ad5a124eda2855d83b1b0f67aa93bdaa5ac12abb843a6674f87334ffbca00cdcfef744d94f2f8a8ab4a014aab334a9ac80a15a44018408250372290d3565db302216671297369654d4939e929586870276c6219cd0fad11864d53daed9c9540049d014a9a39625b642e6ef1ddaf3dbab324a31049dc82dc7e513b3a416be1374d214c8c43cba12089d5b01521aa91612525ad73d6c5b83a58957b26dc2dc1ac8440cba2faf507c3e6b7f2567b4a3528660631e6a08e7cadf034541a1e1187ca280f2c195c8f73238020f0c7e4eabc54a20c6b0f5c92e4ae85b5cafcae8b51ef53251d35386ce6c9f2088106603ee018839de00593d777be165392105147c4f06bb8b6d4ddfa696a56df87847d4bcccbf60f3a606d8b85ecdcf87bf6012e9eab9f11696e277c4a46765ad1b30198519752874a4ddab7b5adcbd9b69016a6046c509d53e66b18598be42b968deb92dc298a44b2f1752a69e79a27e4c26c976ec488f0148701acce3d26f67dc2b9d141170bcdf05383c0c31bbfc5a34efd3cb548e48e92a910a0df3a6ddd99cc528a9dbb334a6503bee1ec4952538802423c72fd58ef0fa733b28d4400494212a0489dcdcdbd45bf35d9f83a73d0e6449d54c8f2397729ccff48d805c6b8f7b6dddae115e760de55e06c3edfda99977444ba8d21a9e5dcca408707c3bad55dc063553d6020e878d4e311ce5d2e09abd23bd4c36049bd601d44e0079eb3235ecbb58b6ae8fd9298574212d4fddfb882e647eaaad5544ed7235226c0aba9fcca1ab53fdd6ba3e7ce8fd5cd5eb2ade18dbc69fb4c80c35018d41843db057fe709c9307df87e3d5f4477ce46a11ad5e33ffc59f6f176c3e82d8b2edf4346b14fc131e70d3f4067a04cfde4be9e641f7aa0b89ee1d8868bc18d8b210bea1b248f7c259e9663072d473771aa0576c37eeb2f479bfa93aef07c7570df63a645af026f0eb8fac5485a0be979ca18c85510a3e20abb5e903f55aa4a2a618506a927b5920027633c21a58126770e51b7c5685876b126a91de89d371ab2887b8f2546fbabf107b1786d2ecb07460e2887549ee35fc37a514e53ecdd24550d492a5243bb3f8a42463ef0de281f07795eb43ba13e6a9b8d22431fc4e4bcc4f629b4c7566babf9536f913e12e8173309e950f07e987aa6d9e7396200eee2b9b62030cdb8d3230752e39c27df43e807c382240e8e83d2cbafd5b675f78074d2594aed1a02c8852550efa40987d2efc9362c8c68ed23fa1836965e1e7c5d90afc611f1470f5efc46c5d801dc2f17f0739dfc83f1f598246ec6114e7f721aae619f7c878635ad9bbc75f531462517353e7563fbe32cb999e4b7a63fc9090f0ceb8735a61a4f3fe9c50f9d4d920ee7ab9d2a9247206dafc699b6bc4ea5fb26f253acea4bf2c7c7fb291d12092513652d280f140f2ea0e0c540908c532b6aad9803e9df9086635398dd97950fc6d9ca44468267b6eb3b4d8601e16044bb65982dd635624bdb5054866c399deb300a1cd28fa68f696c426e74f9fbbbd268dc1070d3f161cb7a5cd1e1014f72fc90801161b162f4a79252aaea9264c0239c1d48a25661b7e6a8bd2df1e8e3fa65b9226e43804de68ad0aa858d3f522d8de0318e7e8f36b089d968ba15abb25e10792958fa7d73da348c693f9c4a0eb9bf4a28f4933c16e7b8a150fa31977e2bdb26d1ef37380eb0bbb3707dd4cf11f6f23123e7b0a1420a915af463400fae6f263bbc89a5b30eaccabe2ad134a7b803368f431b55cffd50967397e671718f7fd21ed2d2cb105b805f6f5ee5400ab361dedea214c3b0336be8268deb7455175982655af68602e4d07bd329ce6a87893286d69793ffa1dd4286cdd4ed7413a04635ab699f83e0abf85653beb48f59636d38111aaf0d463e26fd1b4b5acd298684266967fa7303a43a7d7647a4f2e4e7e7bd2812f77cadb0d95d8d325bd024651e9a14f9e4d55fcfe212772ea7a132930ea040ca640797873c9e84318492fab397925b5dd6e017133fb2b40303e50fbd9e99979407ce62f21d32aa5cb8aa98c31199a6097364e34d9ced8519d84fb3b12c3a1849ef9656695840dcef13af16e5ab65c3fbf37a7c755979495da306865136fe31719b1023189b7155d9fb0c32e05be6b5ce99734961394805a49f890cf4c6cccc19b68ddbda4f4446879981c968efe873d9176f638733683c6bee3999165b7206dd216023266029f38783822d5184ee14025e83d48c05a97f805b502d268d09cdb2b531cfc66b459f6c738afd0434c260523faa72a6491b6afb2c3c049b2bcaae5bf4d718f9229325bbef30fb19e6a626a3e0d33aa77ab14b1c842cbbee15a659769c34db3a2d794c36c5e8f626c68ef39273b3efd2ad09fee25ecbcef1080893ab738ccbb48b8abe4e1247e424fcfb133c332c7971c8c344326d5db8f03c17f5466018c06a5967b1a24596f71c49af14478c2ffcf9610fc7873cdb134594741a33ea253e4159930a963f4e24c2fec04d763450156e9f16f3fce40e4a05f9135bcdb4f942e5ef115879d5c1e3e4e9d1d486cbdd9f98f513796d4ae8b0f9652484f6de0c8f2802d4599921a0a78bb4f8e548212e4ade408ed9a7e759edecf33071ba03f78595cd51c230949ae494c2e0b03ce97c04ab11acdb102130b10b4d7baee229d3c5d205550ffe9e0b267884922ab41f1178241da0e1d8d8f0e075df36a291fd360213d6cb70f5c86fb23c516687c72af1443ac0256548317a368e961b50325dc5d8c1428647d5e4c9f44a544e8bab93032b1b60c1d1471e8392a4020c41372fc9fd5f87fb3e6b28ddd5ca96c14e2d49d59f6185de6a4ad9eaa22081e0269a02bf96227deca9d99f8d6fafc944dbdb7c56b24d71eb51ab1d4b274892908bf5700f4d11fa95350841a07ea2bd51219a3751b8b84caafb4b9e3df7543a73d6f1696b3a2f940fd1fe77661b8cc3aad296d868a369f0d1fd0d779352c21dd694f11a60ae4809da151f5ddfdad928c610d3cd1554101cfb072351469315d0f64badfd145032b4f6693442dbdab0c7cc0a6b7239d216a1b47a7d03ab14d6dd9b93c89181f67257732ed47a54146619b069982205b71e0484f8c2cc90b809d152f6abe9284c40d459265f4bfceab2160e124cc38b56963cefd3148e199f285aed13e3c03892503ac2df897d530b7b0921d56f6c93b974459a135b207bacea1397a86b9bc78723d2a5f2980f0a1cc4bab9b2e470d1b4bb5946f30c0d6f64e4b4cff5f9d02475b87d315e60a1321c2f3317b88579c332601258025bcef25d99eef538bb51116e94ac90fb55fd5e035683decdac147c6b02e4945a57215a73fc3e4ce61788cd1e9cc8709edd1be27198bd22e361a13e41a5e6e9640896614d496e1b39bb7018f102430eb23e81966aa1247a8f394b0a1d40d9dc2799e359980d74971ec87884a8fe25065b448d7c20f9506cabc92c24a09c875de5227d2e6da532b258ef76fd3d3953bf7a1b367716ce32df887ba3ecbea9eeb0d92d88f2a43a2eeb85967f5b8b7959d00e0fc316728a7e65c5b0a5889e3cb7ecdd6109453fb20ba3bf87e89ddc21160b9d8ae8232d688f7c1a3ffb58631a515bd965adffb486ab1595d91411061481062e8835c8f0abfd20c344d7a264ddc0b3d78e45379cf14e7aef639334ce3017826e9129532035e8f89376f0670bebbb464ac35756cdaf19d28259c1da35cb59524cbf3a95c584916fb05f619131f51398e82cb15e306f8126d7302bf96a28f9d55aa8cd8a0e5800b6ec0182b4c8807aace9f71db564a4a08f44ebd2b01809b2f90a309c19f2ecd4a79b527c3179df8c015e344903a673a9971f1642522f285ead13b4c1063437e334c7721bb8f3cb401f86d354efa53cbb55a021b71b77e3f85641ce1a9070f2be1de8e762851ea70f1f6850b3ff5a25f154d6240386d85e7c6508eaa2eed9732282e99ca018a142a5da8bc2a4b958af736722d227a4f909bdac126f5a12b3014a880c2a83f0d42fe27ecd4a409ae7ae4ff504f3dda431096849382781b30fb160dc15fe388099db7a1a21882f3d84d82299ca62d688be598c7ec168526df09a9014e54285bc4513472960926e08516ed094dac2e3a886bea290ac6f98294dee00cf5ae2f1dfe5a0dc8c55e36ea9fbafd4afe3fa7afe2797db72d30583493285361c67166db6d391e71d82846e9d8fc92f14b21dd7c56d0e956d9167d6be8d6adfb4a2043b42138399742c28cb9e31a4c021af9c3e9549b5a3edb737b3ba4ae6f495148cc0d6f59a635fb7f9e9c35fef4db2ebba2670c6a4c2208967e67a6a464382e777ab22468846048aa269f12635a2533eda294df1f5150dbda0faaa5d2cf921433b5277acb35afed5508978c45b3c3c6a3750cbcbde726652f023b2310ad59ff8d0e78b95b64392b0bae479694fb8a9e970c3c2a25855d96e258bf2d406bf6f9a1f6359fc0b4743f43720a44db37050d6c120b2864b7db5097773c8ac8fdc5e52a138a6c2b007342c1a8e723e1fc60824f3999e6a60dac897d908dc4a827dd6eb979936df5fbfd1f28945673d108f454d4ac735a8b18b045ad597113778d4a149c591896d856024aa7ad9c6c6fb9e53ed79b50be1f40e04384d39502dc938456ced7d7944da4fdf368c86c9cf7646367379d73ce37a9d3a3d80026b1a8d3aba5da93c393233738276fd2a8627a4c56968632bec226c94fa8ddff0c3cda494bbefabcca391870d6a173ed78e79b262c1ea32d8a3241cbb8c844eb52f2c10bf30de6c30cbf3c3ebfca9923b4a21d57d2dd8da017d80c28865ccf62d04f2b5443480ca4d09d97443cb01cfe0c00820d8e82a62dc484bf42c74215ea288a39fe66d238de18137cc5a7e4a315ea30a0d18085accf6dab0c4ec77af4dc3cd6e95703d45c96f939e5b3f4e04ac02368dba7a0b12c0d83584ba2c80f6285c793f5b52a4619247a892cee7a9e66e7d5bc759edb93d0e6bf043c07a29b3f4f28fca814597d7cd0352c902b201d17f3f57e9bf6e51890495a0080efa1e5252b6ecb58a741a557323e787ac315e32eadf28d02cdf619a1b99c7d90fc986b4a73f85c7b7fd52647ddedfd71649d8f2b088749b95433a6ca1976244bd63e7e03108545b8a1bc68178a70e74b5de350333a21bb193cdd32c55e5696c1433dd11d9994c39ae7ae68436d56fe5cc4fc7a40dfb2e74831787756934853ae5a577212fe494391e35c09c1a317bdc56c869b89983aea5cc26faa68b21e218bbad538d68205556b2581556d88e8ca54ece817dd8c9f4e8a96d9efb76e10d8cc608e1d9affa747f1ce4805ea05579894738caac37e398de515464892f5fcdf25b20fc09569372a0a39b1f0e0433d838b353589c33e09ef585715ad365256f29c9786d68194f79c4e2be6f1f52ea4dcf2b40f823be928186676e12b0dc27e3a804523636199c1eaeb0d87110e5367d054f92766813a9b2779174c15d8ba7d1e2d143b9444fda0be6e3f381718e3b00b29d8039629de7eb971c5bceb2e72adb717796900a3da23da7edf45b075a27196d82557535d9b6be773b8cf90359f766b7d68f1966ed54f735e67af09aecc9e8a8105a708e366c9c6527e116a95dc54935005a17b2ba72f9216f183de02a761ea3e3359f13b1149d6712315ac7ae0fa6969ac1c03004240e1e0ec1b806774a9412d9b3900eaa81ca1de5c30f9e9b47bdc0cfa617c28830f96f991a197454d3e8277a0322e00a5cc8020d92ad25c6cfd15b8c79b53979ac7cfd11d9aa5427fce1f96933d5a9dc0f0158d6c7ab82775ab277fec28ba74a2b0d1999a6af568c4f52042595e01b3e45b3916a3f08989ababa1f60bbdae2f10c4345d692a849ea7c980f66ad76f306b95c9bf8f218b707b1cd018deca8497e99f4ae281c52a312fac7ecc39af2fe7167fc00b5cc747058d3dd52e4828fdb38eb6fc7e66fa4647bea64c1782d7ba244c52dafc71f0ead76626b045d4385628064b5247d7268e5b9edb30d68e917db738e08f35422323933b4ed01e9b0f88e57a53fba623dd48614db9f947b4cfc6ba98de9d2afeaf4255d283b9d8529630443b0d9cb77c5a3414bf0b8fc794332432c42313811731fc0b4cd00c772c662977d595802411ae1a9bc300d6e00a42f285c216da25275aeac1c382cd064be4aefe141e5a0f4ab16fbbe51f17be52cd9833966c70e1a699b4996e6936fa036b58ed249aaa278df2a3ffffe020f948462a0e498ee39e46c0371e97ee9c2348b902b05a9fd0a0538fa4199e078ecf14e2f95d8cd287e46737c2de6e405d68ece2ce7503b5b8e9880d718e6f46f786e6e3cbf5f10479d9be855605fa3fe258f23ef5aa3c2ac04f52c5c604be4f2876d04ca3ba5e8e514f767f851ae9d356dffc8be93062f1fe565edb1da4e7a7b42db550cf62e2c892c1e0e7d03a933f55d824da36fbdb3b2e0e56d42e5ab6396b3fb3d87e7113d035c5a09aea08263e07dbc7745fa5c01b3d308d93e98e631928dc2238194ba5bdfe698ef4b26ddf10c1dbdce51e7e0a792e532e2806af49686368f9fc4f4dfa05c5a4393b287c335b2831706f795952569f16598ec9d5ad7416232fc9cfcd72af5ebc344e8826bd7f315bd1e23f5733778a118f00b3fe2ae31d00a8531e6935b91b5bd96127bbdf91e25c303020bdafa7e4a226e36d5e03fc24060f6961f0cc3091cee59b3d3849bef7abf82dfd72e20fd978840691a80ed224b8907a443aa559736871603b9963079e25be5b5b8d9fc0b2528eb54e649e34eb7b432cbc200cce8cd07376359efec83772e84abf6ba09dfd99b0704b79201ebee4e2ada32bef42c284dd67f2e65162a4065cf05b85485645cc8b8d6b8d1e1343bbc4933a7aec8bb54025d28bfe725c856973d3fa0fae24f47dc0d4b43742c4dae424a5333cc0332c0cb88bdfc2bdf6c56afa0ae42923d20d860bca2af4a5d4372d80d2aa8315e3676dcac8743b270c2488d20ba4f5010f6ce8f1e5f7eeb0e0217d92a09574ea528fdad44b8332aab3b55576371dfaec05a42c6d3bb84969380375f6d31f61f20d43e65621b6c8cd7d9e5b18796aab9df515022d79055917e413c7e19e1e3cc0babea6eea2e0c1c92e19270d35f86cf95ef27e67864d26194ca2ea103758df7a5619fd477a21ce44860b34a9f4b5e95acb9fe2b2d2180740f11be515ac6784eaec095a538efbaee4e95a727091e9fe61a6aa79fc34eae8f98baa12519a46ef3a3cd9610d366d0dbb3614d5a2d8be6673d28659fd61585bb6bacb0a0c0c41d8855eebb4b36273bb11691f720b1012e0cfdbd3e1ff3215362db1d89c1af88a26c35da17135e27d42ed5302d8b84b85675556541f828968ae7888ed6e7a76f1830248c6173b3b5e2a17437a191f551ab821c7350e3e98d1eb763dfb4a6931e2241903104af03faf25c334d727ce9d052633c6907a6637544445b9b11bc2bea6d8037fa201dac4ca2aa4ac3d46e64d40e83f3ac73b168fb4d4f9e83b42268750ab847527cd67145e40182f3c6f9b00fa9d4a8960fef341bc254edb4547557df374d7fda52e9422bd9874c03d6b31cda35112c95ba244c21a50772a94f56dd0bb5204ebe2715ee32f07cbf74741c8e245df9be215aa90f0b3c2412b5f27a9b9bd299bc0c212d28fb22275d178ab19556ac5895ae8b756dd35c8a46223630e83325a92b84238e85bd6e6729b619bbe4928a3fd157b8fd1f071868b01fb5ce1dbdf25e657f24cd1be73e64cfe316e0989bb4116195d90780923a9c75e6e5a863e0e101da0e70c82cc3979f625c561a30fa3cfcbe37e20d0ec194049b757f67d8ebc080528c9f3d7f5adf7d10b1574655d73362ef4e30fa21a4a0f3ccc256cd5045fcf8a11cae5d016d171d44c3053965aa9b4d44a0805c6e9ec2f855e937f90f2d10f9e8b8870eb50b9a214e1e633fde615b7bb130cdd02117bae82710b048e446ad4d67df32445b958a3e5a554e96f5d3730fb70c3350a1b40d8f68a6d199b53df8cab3807080686249c7149b57cfb9c4240878299006a9e371082d2103730b2f2fed379513230f9d6e4ca671d7ca20c8adecc489268a64351e2f3634b086a201ab3b40baf9708d4f674aa455efd73db3126a7930b5cb462926fae0e76d879e82ee39440e7a3ba04829da07adf0bfb4ab972ffbf993f0c15f715c5ac776870bae3b0b6b9b4fd526f904ea8c237b9c622ed574f1ec58642f0da3a950e914cd45035468c9eb8bfb0cbed8a12f964be63cfc4e274f53438659acc50ef65d165807371d3f0770b6b5e6f154485719fc3b08e62c13ed8bc0c58596922fe36d37f8917007bd7d71b37fbd90f4f10cdaf7397786583e8f70f19f666159478d0ed23eb79efd21d5dddfd20c87e6b40d943ab48ef2b45135aa796d1ca895a1f1025073b59f3fa3ac597a2aa6e0030d08d439c96e2f70901eb3288a14d157c62825c3ae7735568795463b251a11f2840b58ab880dea0a9815d8193cab43e8a1c747aab697e71f6a845390af0a54b3fd15e947f351a002c850dac7f2a50433e45280bf14348ea407d7935d8efd18c72fdd4b30bfa291ef4ca258517a1ef2f06097968157cf80f133b979a058f1605097decd7ed33f7ab134646250ae8ab2ce0d8e066a34b75d60d02f8b0524899be70e3adce9ab7848d15b7631bba9d2ec3634c449923b37047565aca5eaa7ffe06f464212cb82768fe18a954cf6a9c51f39d1ae74fce8e595139357283f95d00461ce36b8423f76dba7c179f0bd1a44a4ace8992cedd38aab7454bbe047ecf371e13266f650a2228e8c2ee11fe5e8faa39e81e8740ed8f3bc92927ed32e5a51625c6e482a3c932f1a70a2db02dcfa11ac2324df83f50452805f0cd41b26f71b04a19dbf9cd4cf554a2816951374b5ab16fb3128dac9c4c4eeae43256e4e4d2d39511c71ddabb684447d8de280b3a73e9b63ed075f9daec3d97302b378840322270cf97354c727c5da58b10a4679c4a9d19b8e6cab20d54f82a211a04ed788d1a7f5578f6b5d59a71254e29cdf89503ba59ffd58a69e25e33347b87035a274c90d2d097d667569f81a345a2e003cf4d3448736a367837a4937f560e01554d1ebab5bed5f45e592f06729a8a42f39ba1c499ae83a75088a902640193e103b24f8ec1060ace17a78ce8670aa27a8829546c9c1ee2300a9afe10def5684f63f80adc8b738dd08475c8a1fe6667f7d4653657b525774a7b26ec02f935661c17d4e69714fd92cf46334c1925ff453ecace0e1bbfef881858907880a88a74da08bff8bc805406cbc2aec641b485567f673a072a40d473c6d12a0178b9cc6d8c54712e4448c171a96d4aed2283d057e5b54c35db51c8524668e925729caf52118e6509d1868f5bed4c232774d3f0afa0de5568f415b3aa9189d0bb4540a06055bf803b2351019903d59b2cdedabf631a032d8e1144101e424692102726c131f793b1d28d253c01208e4c773644127934a132c8599d357b3a7f1e2f26d49ce0d1656e50bf651bda83c2e307647629a897edb120b1bd89fb527885030d8301c3b75d7019de1689cd1f3114d6402be3d856e2850badf2652f845a991095ad8aa200399b23f4513755b38609bdec5a6836c04f332c62a4c2e8075936563f9fa78c61147e21087f4710309d6279cf475092668be9c0a3a0ce4864f9ce01212ec1112646fb0338c7b6178c2fd4afc61f46032c967b19ecf0ff564b0ed1b32149cecc4dfdd7af26c8ea5d410f609e1965832ddf630e03dbceb69f5d9efe295b190d6e9c3d65bbb7692a6504fe8c8dce815c826389e4e982da12be000237114414b3080038737135650a55b604abe2b109cbdbc2729977d8cf67659cf23f4d0e418e9392cd670f54294d0c7179b40110f50e740ec72523bd7926855688f997f73e94c724a40e8b99c62170888cfa4bfbba4b9e3d6313431735e6272d6e8a274d972cc3c2bbc799d5e9dc535d84bb232f4d12c8829eabb1fa5b84cdb0519e5bfd54cd5b3638f9c7fe5a313e0bbe8adbd7ae66c81b922597b04377fbf6442c2c6ce01f3de1ec07b3b4ea1d1ae8602f97aa02eb6c6451d6a43e66f5e3a3e6f4282a28660221901e9f517ee203cd9468a7e9c088855f8a1380144535cd99e44482ba5a9494cd17ebcfb309bfdca98b24b1fa5d8897ddd46a09d9c34a91582eef94bb1df19cade78ca90267547a5e33452a8e1a702d1957f234b5e3bee71c0a09c95a3f9fd5e1fc78126115aac8ff171a1955a491d00333dd39a7644131d204a617b77a43a8176ccfca6df5393c7b0358f2d9e1102ecba85c346a56cb8f5add98f95e6cabed1c90fa8f1ea2f739e6de3b7a8f97768c56b43600f3d009fb033d0edae8e2d5ba6128c498fd51aade2179b6f2cbdc4b795e8adc40263aa0fa97b70de861a4f9f84feb592b7e56ffafdeeb723ddb63e9c40937cdb6df27613978d189f2f9bc2566c56491912b6750379d60c47eaab070f7acf47e80ae3f747048c5c68f895e3e34c6f6413184faf9a50cbe7011f6a522f07812b99ee96b710838556e9a7e8a83b94f31a2babc219a2ab17f3652e5a4d4dc1dbdbe84714dfca4c0b5dd549e79212d2664ddf2db39eff6689c8b97d87d3134f538b58291b3ed6d1775c6598e7af0927c5f8d9d9c4393255cdba0e6a88f6129dc64f32081b64893fb84302ad8046cb633fa1ff4d100a60098858cf79e87367b14fd64285ffc4f11de7095d2d90c6e39046d172acd70dd80e08a2b86bedc98bce25867347ba3ba8765a51d6f7352d64997b6d7377be3a84611853de0df60ef73d6f97d77912ca0075207997f2015ef2b1b68426244060e1383d17424dcd3f0ddcbe85e2c9596a7f5ce45b08221f823d12b87728578a63b206add004058ce23096597cd0766fa9730f8c14bbdb188bb51328ad8705cbcf1bd8dfae0c06bfd941b4710cbcfc64e4072f73db37ab701d0493f0c76bfc163d738ed3f8f31b02d71a8a48c055bf9d7e48a2a1a4a53c9554e7572c89481b15f58627c560eedd8846d99a0c65df62e92c91d1783e0fed0698e5a05cf9ad15bb61a023be31c13ad01dd47e2451f51f6d3c3f32eb8c61efb4a08c4e240f86e432bdb88923a740fa32630058cc8033d7b6f7586b3a910b97053ed04e800624726124e458388d4ac8e9a2c34af4d0339e28fc386f63bb0b87c3d13d61a0a2ba90110c39e37df2a6b082efedc2421bee8625f48010f9150656ad0574a39722810197976a747f4bb1be6cc410d3deeb17881fda5d1e9372437106b7de418132457f5a64fa38eabf038cda778c1b97eefc5064713fca2473ed98c908f4a44c643c3276ed79fd49f18cd3e639749587011c7cda1316ea7121f3e31ad4d1fc55f8fe930d69ed123eb535a995bbcb3f2940a9034b0572b46a643a291591add38e3579aab82b8cb72e40550559b79fa50fe5834d39f5d21ee2c6121cf1ee65f9783b05fc67c0afc6d5898daa52be666af5677f9e445ca90ef772db08c354b78a6ff91d6cf80efb38784ca493d9634833fa238f0abc3ecea227297d9c981ff3a5b4609c1b3bf7012876d45af72d9d4ac48d3ae8a8f63f617acc1ddadda5718262aaf115aff62ac6d7ab664ece415d533aacbb5b226c38ec82da480f965f3c33e67d53733d87c4aba1ea1043fd852c25d2473f22a849ce8dc0d5b8742b472b7f681179c7b44285114d43bd5b7f70f806c4b54f971fc2902f55b61277199cf8d67b7d2aae7bc23d6acd5b1b8cdba0aa62b8165d5441cdccd8beb69d0bd148ab8b2b60e0f4387acc1540ee6ce757379821234c63a8768145f003ed5ca191b3e729fe46a3a5bd58c234a811e71ebf6dc85b80087f7a848ae7e727aa68bbfe7dc8b756b1fe3af71b447b92a311ef902f0c34020000da765bbe9f4227c3988cfe96665c691396d0f50f88f4cc1c6064d5a8753e1084196a82b1204accbf002152f3fd143e22dea325091f2e7e967a2bd897a2972b8fcd637408c78e62360e577117223b202b8c329aa3dbe722d88e3f3a6534cc8749956fc7aeb6cdfc886f7fe093e65eeaa481c8aa315eda4c1a7f259be7c744bb3b58177fcdad5b88db73ca6ed5529e64361637317a427c6f29ba8dca535e637db673ba6c97958d3971cd32d9a80bd7a0b90046d8ddd149b71ae6a935ad0cc50703bd9424ebdb5b803808ca6191c579d8136b370a203e7f360a054ade84d2c26098e12f4b41ba1f4e6ff7dc1722966ed8147dea563e7a271693184bd1b4a3e47d4b196fb5a3d920e59cd479763615358e5982c465020351760b835cfbf469beee4ab467b6dfebadcc7e6f07970482435e8edfac82ae8552f61abdde2cf7f3d43b32b1ecdb11581829e13abb59cdb2e89c3591e480ea8fd95f13676b6ed190b81b226ef0e93e088f2cea01e553b7968aa4f838a1dfe69d6c3aefc8ed823e14690d7281829bc13925f324779c1251ac198f342aced9ae348e77326cbbf14aa1fe36746b05a0c66152712b8866820841816e1093146a740e00c18349ff90232e5134949119a257f7f358051731163c3dfa2a01c1f4907219176c5ce0e7352e5401ace307b99997d1f7a1811166ce640cfc36a532407b4e33fcf880c7675c21d88ab076c61473605cccebeee222aa19092188ac965ce8929e70bf0f2363d962c4533c416fac9b10d136516194c9a731cf58bd0404a4983c1f70378fccbdc6598cb40b89b78914f1229c94c48c00382f5050a0c677e924b8cdab4cd4cfc7b630425ece2d0f4f71031e9db2bd17a12132488f826952d17530a7ce372964c2d0d15440dabdf92c9d08a226c5aabbf7b552255169f9d60df37578c1ef2d2327911e766e12e009b131d6df39dcd8cb4371cb2841867a45c3470d8aee486562a832684694119440766cad6a03508c344482f21cbf2005e3ab58a9b6252bfe093f43d313860646d973523c57b01758e583999858321e9f48855c83b4d6c6d87ca070033e0da997af2266dd246a7a8391ec9cb7ec5e479ddba6c59f0cfde8b1ccc3a9f53691949b4f249b1f21e0a6a88b3664c51b70e3132a39e7bb97f648524d02bdd9ced2e863e1241eb3ed0d51ad1da3e96729b7bf5d5d308e06a038975393cc795df2c836cfc72f21502a97db201cdcc76b90d825387b168514f3ceab2ba68a15cdff966f1174d9140a87b86660de60b6978bca26d4b89176349f4ed0dccb56f45e7b0711f29249b519d7ecd6c11328d438e1f91c82508802f7775f0eb9ce029cb55b0a81232c54d38f30a2286fb79c641116f8b98ed68d60506c8bfd9b886bf460fe9d9da69a56278e4f60bce608897c2c2bb53bf240258e18e30571c652fd54b3d90d8479d5553582bf5007ecd157648873c6e1ca5e4dc25f05bba498aa4584eb2b8f5c966e99a07e34fcc4bb31f6e2d110b289431bcd995f6b7e73c20e169a81a91e56ab99e1a11e9543e368580e5b15c87dad6998676e985a69b68d4ba9bd7e56314d30b506c8794ee0a3e81b65689204bd58371efb1c0781d1a495e63c9842a60d1b1ba8b3794d45751d2ecb180b43177b241f79934901cd82c944d0d6780be87b539d01329782638cc4936ef6a621bba23d6f1d6f47a1deeeffa01e09ce83965b4a0808c98dc5b6b8881cf52334b681ec2c4a8ba68609068957f6c932c5343e4a25cd542865d939a457ba740f7f819e2c5beaf8aaede273a58c30fea87e7dfef6e784d44c5c8e84c417c65d2436ce1065964f68f745da60d5ae4841a292ad928dc3910c88e28cb72dbd7e204edcb62559158535424b16831f0520e44feb4ee6b39db9ac76d375a2fe50220645abe97a24264e50c0d8658eb79896e7212ac004663777d82d520a64d4a9a4544ea07c1c294e27f4dd5c0748f794a58c9c9f48fed86716206ab40d3f9df8f7f49e08318e81da3506958dc22df87072562a706b5a6ec167096dc63df9c25cc1af237b5b59b0794eede0a75dca4e3777d6bc944a7d662c7ad5b975a2340890c5ffda3cff557e56dd5081406dc55bb00b53d9deac744fd332d595303072f5074cdefa0e20f128cff98a1b45ae4f9ca83c699be02057364d3fa3c1fa0d0b4502f674ed081fb6cf30ba53371c253238e30c34068bd5c8c508391e26d6bada16318d998e46d53c47179ae3eaf441e9afee5e76a450cb93c81939e098df8ba1745f4f33a3832f9dcbf522a6b99ca43ccfa3ee7492071ac5a341dce6167bf7a1023fc2c8073a0ea62ea713f7e08b5fe16290d4d22e79530e29d3eaac3025a6a90fe111febdcb77ae21d4a5ebe4326f9a1d579331fcd60b90ea6a087a7911567a11675e415c190f4cfc2bd3a5e3b66c6c21e27127fb6895f60a72efcb791e3c9a2bcf2862797e982dbd89ea08352698326a0e0135f75041bd09d5d8ee78fa83da4672c2c0cf52627d8c1143cd6f53793448f5736e82b54bb377ed41a9c97c272afe273cd73cba621fbedcb1b16a5e966aa1578e580ca44c2d22951d7e18b60faa6a00de4a0960e681ebe712c623f37ce9adc8a5fac1956a7b14f80c26f054c67ad065ff383a6b634d0100081744805b88bb3b19fae3eed5dfbceb61672df9627a70beca92017631eb9f0a9dfacd7a4979c37ad59d584aef7732cec9b2463ac692034ab6964866fb05582c27e0aadc784b7c3c627a1d8b963f05fb97f219bfa864e3574004218db329873d4e33a2af85fac6f473e6efef1aea52a915b06057038f040d7604819d472e0979aa0ff872fab1ac78e909d328be6f0f0a7ff33cc12ce10ad0382c2c1e43ace212ed3fdb1bcb37e0b58da028f5e08c3a9db6912d136d7ae975e7bd638fa9ca64574efa8457026a8faa822509bf76fbf43926d16e7649f322b1e56d379b65d20bbbfa9c087e4a9438858b54d70b1ced01f9499d93787bf2aaaee20c4e694fea93a0a47b31aa3c0dbce9aace7289a67a9cf546ed0337c09e87cd0ade35bb420d95a4aca695e29d33dd41dc4e4083be9d30449d20899de1d270d184216279706a65bb4e040c52f424c9ebe3a672cf2f38285e04599ad51a788dc7e5dab98ca1f53c588c48e12b99e08728b30a11904e4dca99f4336e1fcbf28ea8093a3e021b400f77d3899ba70f81f80982c203edf2b3634fdbf1c67a523be842f52dfebc9f39e346bd387589c3951dfc6c2d9694251a7fa3528596c8f2d412e19c7a7944e3ff60c1cd7e63f6ec7c5b9f949891853d4281585d9af7c68ff8ab58ead75ee816d1cb8b31dfe6c44400c2fe304df2c1ac3325f3c78d35f2a5f5b909d40f4fa513998be220e59768bf6563dc59243c29aebee8d697019a9b427f4aad111eab74e9f49e694b1d4d3ddd1f3daf46a41f6f30b45deeb74c2fd68be1b89c3fa68964614469675db4df8fd459e06773f275ee8e521a11dd8328c1186ec39368e1e404b2953b5d4dedb2db0f9b6ce9292a3c7e569952ac65b85b03a2cc3183ef2ab2b80c9b4dfd45b35dd51ed6d08462e96d7cc14aa834cc39e967aaf0a2096b65c84fc8f97bd4915ffc00878a5edf085d2d0c894970c01ab69245422a89575906e14ac359cae3dcdade2f5969ca9bcc7aad5e4b49b2e88bddc54da479cbe1dadfb58fd84c9eaa07b0760063464c92ba774c3300aeeb8f8fc0d6cf79e6f15a3dbf2405f821ef1b0da023181977ad94e21307787d7fe0e935f2c8c6f872fae9b3e0642c7bf0c5eb634b4639001f0bd6a74b571cf52664990835fdbadf11ebb14dda13988b0508942e9f89a928a81b3f989b199cef713453d9ba9d4cc4ec9ca246279503228b6a339acea40406242dbb64694cb8de3ac3c5d279741ab424b5aa81315093bb3202dd4fc068d6b463ac51841594c8643c7e2546aa7b030f7ef5723c96878092536ffb192045911ee096891fa7f5e8256feb166d95b26954873ecb6d3a7af84ec41930267b3b32e1eccbe7d1f8d8ac0c4d5865fb6c4934d02b130d35c58715771ad9500efb17005f207bebd340bcc03664c2cc8bf6032a4ea30293671a556ee6aec4ce14c1d74f87e3cedbbaa56dead83f2e4e6348222af9eab198453a7ee7c53e0349d20f7e741973b37c59bfd998a93dff46b6789b70d816aed2f2879cbc2966b5267c65d07c77dfe056112cc6291949bb7a955e0f00e3c03e96f9eb6da0e8c2edeced0d8833d3deef31152188d1798a7a463c737b0e0a7e9b05c55a17ac868b098dd731801f5f605dae900d199d0020032c48589ed9eae9d8fd84a139f28345be2b0fcf0c4925b35db38a551de5eadaeda67273ea93f4e11655759434d8886b4de148b7f5b6d65f425a04142f741c1bd3743e45a9d0bc96f92b5fe61092b502b030f60d667e93cd3f3c8daeed21e7b31b1d60c4732c8ba82c8e0a86cb1a893885c780e7d22323b28465fda4d4a74a252ea37904b9beae5d2554043835fa6553886c39a4100713c0244f30b121b63cedbe19fd0c9eaf52fbd6c6e7cfb65f692036e14ec6a71cf0d5821defd785371fab890dd31e9b210f6fcebac83e6236cfcb8e642be64b87e7c5ad338b0dbb50f9676ba4c148015d1840507bb77e1dbbcf41daac80a1225bb30cf4362ad1fb72db4b3b4050182641178482cedcb34bbf3f196c55ce1ee26e1b2b1aee6ded17da25b5be404b74253f34571db65ff560a10f59cafadaf9c42abc9f4f93813c7592388ba0284d165793c5b8fbba2c0d7d229416a72a357e07939e3e1c541bfba13e298c76832128f4f1ac3538a35bd102f90df2196f32ebd9fc3088cb09ac93b617fb04804c71872a9cd50bf84a35ab639f35d965ae463f9d5ce41019097f9669b7eb17bcdd8aaa58dc06f4d2154447fd8ccd163a6498ac0ed957937d3ac0ec1a3b9c2aea510700231723edbcf5b0f127d8c99c6286b7a27f5ccd917ef77a3897abc42576718abd1ef2d91652aa61dc283d72cf16774110c07c86ef5b900bac6775e246b3d2131d87a00faf2e900f4fbde63b8b155341d454fe4beb393e199d33c9a27018c08e7cdb8c2b663e07b40495819358a50da28b98331c59a70f90a2db6d719ecd6be104d83488859140972d7852a985919b6244e4cc59d4744d325c246939925f45ae88ee0984cdefeb80ce284545dfa97c37d928e3141bee4d8ea6263befc4ad0f8dd2c442dd75d2a1645e07ecf9c057cd113c56bfaf481d932dc3ec736f97522bbad6694f9d641783b77ccb9324a3a627df8ab76adfdf2e7d1c9ec41edf3b8efca8b7b469015a8d864a8762ac54703d054d9f1e4d3813e6ef44ee134e636f474230112428f9ea5b6db96b0e91b2a7d4f17250b4789569bb3ec693b98a054dc43968971d0fca8bf8e90be269e725dba724492228d78e714fd52441e220595ca36c365ba34285b2ce4d3deea8afcf072fe58956ffcfb08c290011ac4f1e1a7cb3baa54efd28c39efa04b1b97f72b42311dcaec581a4dd329f2e14a33e204de7d0d8be98d1911ced4a214432d13834e0d64fa9d919b25f88897ac671014b860459f72dfdbe228223abd424689a62203782c4e28bad49ca0081e0718dfe704d937477649ee05e1f95a6e7057034e94794b6983eee334ef052ab257a61c3db42d68d0dcea6b63aecf73981bd97683240d67d4e252bfd46de9d0eb5ef2027a942f67c076137814d789f8eb0cb06dcd0de53a54741363a225c95de62d7d6b7df20ae952bfb822062e1a8a1adf529b8cbb859b0a5fdf518d48d884940174d44d36a901522621fbcf1948a06f5267f8e2194c2f94c2b51125d0cffddad9040e3491f8bf436656b05678cd9583129174c8c8e514fcb99198bea329fc29ee1542a2672e9f0a58b176180a70d4e4c81c2d0f659a3967d795f564b4a9989879fbfb09f36a1dac329cde3442ded53b0bd8089c08c2e9a1341a266d2d604361dc0c2114f5f1521523790198d8a23a9b6b578e64635d21d4fb236c4b587d86f27d858a2c0f0b08c9dbde5a4da6eaf7b4fb8f521f3ada20444d6bcecc52fe95d25094cc2ee001d97ac983a36427a6384a11d77cba803d50a8b11b3102cf11186e08d003de7db6ec65daaaa4286acd35df06e28c2e9e0b5d19f6d84877154b63599065f432070b3ad5097298bb9e901be757001c3009318b589d4883098d64a596046e495616c1522c31971e5f106ca23c9e2fa27ff26ac4e35982ece53b5d03bdf6c8402d0be7beb8e0393c81db8fbe95ba7c7e81b6d6dddb70abf00d9a75554a7db89ed4251a5dd3342bc34ddc70a323e54b8172302b051032c696309276803022de5b732436365dca3eebbe77bc30fb9c5f498163b098eb220a462e93a160601779d797c240aa2e2000872ec6918f65cd83cfd615a31badd025809485b566c5131e6c1b3e44eff39256474d8dda799d64ecac58f8ce0485b178adc5e224b932fa4b0397ca1243bea89c5530a499952659701e42f244f5c7010003eb7f1294436eb59559786c9b1486e923e064e90500cfc384b044ee4958167c9aa35f4fb922333cba32bbc825271a7e6a524e79a8c65927797739d7218ef47c1872d520d71d8c4a8472970eec3b4580a62a19e9b1671237a084770da3d5a6a0adc197aa726646a739208cdd5ca5e10e70d60c2b741c0017dcbd60965d17336e9d9641f99c2426266c427a00dc4a1b08084f421a4bcd2e460f6fa38afb38ac304c214ffcd90428a8b1e5afddce5065d1e304cadd741faeb3600643811f811846854c32d5c59717b8facc7944e9249a208c50bbb0142f4fa1daad524173257ffe41c5bd8955fd33654a4f6aee734dfb01080e46c7215a7742a00c538bfdd7a4f893ec8a3272b096def22c7e9cb904052f39fc0f07fc050a0f583158ba010c0cc8f64c3ef701205688c86c099fc568d74bd8c30f6d2ed28b78ce389c915405ea7c4991ff12c00c8248b3bde85def0740d6109cb43cf5cb3d7e58ab994aebfaddba513487aa9156cbd9dd8e24e0c6cd1f147c89731ffe5ed796dae1fa500a52a8d77a86e7cf0837a44dcb89f4c8a5a9f2522224bc05e1719e2c65454cb6ff1a3745a0fea07c69cc357f3f258d812f95b0427da25a28cf9075f29e63b27c157d1bea0b61697a71b4717c61f804b2e60aa2227b12fb01c920807a95e270560b4190624a6fd1f37941bd35565e5d47843d3000b241a0155201aa9cd5d4d7df9d3c345d3b5982e9e63e252255a0cec130f5ee20d77076ca93b558172a7b3e82b9ef1a4f896c9df4ad2464fd6d68809288fddf6ad71d22c0c58abfdec0b5b680f8cc862c31b1d89cbb0f4dc8bb624bc19363f219daa40cc83cc141027b26a210bdda9aafd777186271dae56b41ae9410691c10835914f5e05e1832caf0a2958027432ea67d73a1edd30e1cf1a0596b057fe8e041b3d7ed8311cb1ed5059f782e90c2248fe9b72f5dce6db14669c7b8806567476b15f7517bdeab522fb549baae644c4b81aa3aa27f8a1ccc9d23886507d4620e93a233318a796994b02591f90ca35f072a6dfe74242318b9f123162ebd427dc64da0102269ba6ad0691fd1427f36367c20933c3cdd23906537d46ca27f0aa7511cfb20a4cd576db84de19fafa83488ecada04cd164a87f122da3db1a5f5e87aa8763aa460a79a07e891c26fb717aa76ec80b1ef57d8335b177b3e180a85a1283eee5fe6304b3e6bd6e0a443ea1c96a5d9dc675eafc8ffa68c81c813e69c2b0344d67e712a09b986a28067148840a51d309fdb0f91cd14a4411a560297fc6e9d0f3e3a824876533ffd327145e35fefdc2baf73f516298c1b702f107f0c1e9cac471c7e6871fc8280d81a0ab2bff8389ad9955064334509bc40a59ea4c580aa0093a5cb1d30cd55e2d888442892b9461f2ddf92fa1d144c067195d5cc0a17c255bfa860f8ea3c7d2518cc6dd4a573af373cb2b0a28d03ed94ceee15af210bbc28fd8c84b30c3f4a807d5395f00f481b3dbf769bc5088cc43f57a33d2cb9c77f3f642850d335107c6beafa0178e352a17177a440915451bce7c0017dfc851af7ba418000c1a163601606c8d2c37edadd8a123ea8de29d3b28a652bd59193ecdec78663c9787ded893835caead16f35c62a3b4df8ac892fc24411784aedd03ce8f09720908097510cca6fd94fe3e0583aea756b4de64919367f31ac099aaf87d26dee8c27c06394f88ae1330425f2add6a871d68026c47f6e1d1a98fdd0c50ba92ab78d23d77cca097e62ce1ad28fdee36383f099a5040d9a3b7caa7b96faec6fd2f1311e18a0c1628a8c5114be0b1a657da776a59b42e4e3c51a3e0ec87226f8aec84de0d554686ee23e01a625b2dc5122720e10ab0b807dde237f58f6a39afa68c203404c447372659603774c6a95a8902090cf49684ad70dbf1e6e5f0e1afb84f153869b48c26b7246d76a1d5e393f9738258abb2aca58312166c9ebad3db1c1c0216508b4975f13a1d1858a15447f70506adf2f97d2b11093d2c3a817a0af334593a327e09604289835ef909e62dff834824814e015619e013c6bd62a7f6ae56d760e9239f1df1c03e5c541b84ce4581f714970180a6a57bc40a2eff570c4fb3d22bd7239a5a3002dab4b5ba0d763f277315f6f31c770364e47567d6085ae37487b55748411227e9243587a9eeb64b45c03742dfe2353caaae21448db3bdd292e84cce4d818abe9a67b1af1ba023c0848db7855131362a18332e770f51897a74d531e555c1a89c808528bdaf7b6ceddf8504ec50344398c0346cbaf93e7cb178624f0837f91287845d0f97001c5a39b55edbd5030653c6455ac2361c4f799a8f43a00903e1d7952c879f754b8a682f5f9d6db65a4f0ec07c9312135dc4770af7677143f34837bcf7bd379cbed05559cca09093b6fc6c293ace72dcf48e7045e9200ea915aa14577b99d5c78e6bd0e20f273f71bec2754d570709015676b3218783090c355390a4d2cff6c1e74b7e7a67eb9883bb91fbb0e934c2e29f3bf1f4d30a84fd9baa86c249303db66018a9fb974f52a50d459b8e753649eca3e7858a604a153d7afab03cf62041c4e0442a3b4d34724f9ace5e6fe0e2e666b4cf3c955d5f9c6673b84e7cfa44ab2952bd80ced9b2ecdaf6ab6f91e3259c9d20d340362dd14d3f7c2667a7841021530f726b12348c2c11fbc878a3a2ae8dfa9c7b3d5ef8472e2177adf184511ec01031a431556d05613f7abcc3ba3f69f3436ea7b5f0f05acb88a9430b6ce0d8be817813024899343675ea62f3478b24ea0bb6ef9f160348563ee207cf484a3eff7ebe6d3eabff680c0ae6999adc5bc56c650311b4021dc4e03db0e7701a54618eb703e8ce3998fb401857a7aeb37c705db690dc15bc8d0fb5d66fa36c3fc18c4fd8a969ba92e8a8ae811799d92f631acabc16c4797912405eff062d467bcd963d1eaea47a2bec6b39c0dd30b17215d93024de42604ebd322b9c367aa1174f19a34b556eb363ddb785bec365d33d13e1cc85b82c3eee7bcc254a5647c1aa771cec87ad40d443a9539c6a4b5764fc61cd7216cc33d7a5c024953ec1abea785a893bfe87a95e7d6d140af4c7fc2e4706fc274c97f7bcbbce82f997dcf6a99d8efbacc1318870427b02165975df3b7d05475853d487fa86392cb3e2769d405f667c29bee29d13319ad5cb48434b4f64a6a10fb482321866379452da08d5e5ff625b8d4790fe05e440a255ec1225f0dfc45af38685b0abb4455d051e888b5050a65fc4819eaf934fadb77f030d866ce3dd1d8350b8cc338526095eaf7737cac650e8255cdaa7f18a12ac7235fa18f575a5aad0e224523f43bfd21dd812142a6565972e5b9a82582cc7aeecf1ad2925a9c94e63e2a5905324d08b788ffad3f021d77fbb47f367ec8f6173547576483aae45ea5b5c3bc987442c0430bfafe13fa30328cdbdbc15bed9a40d304b62bd022fa1b7bff21f932934ee0fc60dac1b2a683b21a27eb836332c472b65dccea344ab49df147181b5bcd01a66c7707cab079f92d43adb83225a59a1fe9cc6f98d3debd47d7518be2fb74d3e458d18b0025437f28af586f0c91e684be162add5e1d97ee23c3c286423b0947de8e253e2e01e730c09e835389121be86616e15ef2cf0e9b5397394bc38a2b1c929807cec915adcd3a02fb46433740554e5235eebb33c177a43f00abd79326494fac9fbed7220a8a29ea438b68ef0204f054a9ce49b49924184c4b116945a77421df22f00131ed17b9d5040174a8a8a0f34294d2c42717ab753044483c2467a87e3e180110b0f3f7c2aa53d733963462d6729a383386cee35898abbb8a1fd92eeb79488be9804ccf5509d9b2735c6123790b937651d483f6fb444ca2db7dc52d1ed91e22e155f3ebcc2095568f3fa7d8866837a7705216c5806a3f37fda434b52bb2d188a52ed1e934d7c7e524a702f4476d557217873af0b65bd96b17c4bb5cd1d8e7cb3598e756cc70807a8cef9ed72219f01e3c8a9aef55c8d5863de412aeb95dea6e4909380f5079a012c6c624f7dd04d210bdd36302619949858604aee5d56342fba61c47346b584d2b617db73ff19b0d8467b915d50d12fade37bbfa30bd90d715d4c375976fac64ab3bfab4a4b25287e91de8d35f96974f5c3488f3be6dd4ad940bff120351d79db137d51af656cfc7e1fec951c332455cb12bf86902cc0cee0801a6aaf75f6b77008db4d9f8a3fd60a1d3543adb6c9e784ac17990473f0e41f40f79f94c28546dcc6b039c9cacdea23733820190439a54d3c3c8b2a5e976ed22473621aab9bd88df43412514d76f84956d6a324884a51fbadeeaf91a8e76da73d7ae3714eaca9045e7a31d04880afe2dd3d3958449742dac79ace8ad0db8b22303d3789c192e244a19acbbcc0b63cdd6f4a24a6b511183c67a9ba3cf11e3615529b9cd740ddd8976cde96c18bbc7e7d00d3e89999123f9419f3aa200ab365fc2816e96aab365850b29928ad037221dab9564ce493c01ebb8e57181b8863c616449dff15674f5496b0c06acaa45da2624f1c8a39b740718d512a7e1c1a1eb432f0e34ba33496c07f0dae9ddb4e320fd9d3d7845dae58307f77bc48c4d4dc8fda1851f8cf56423ddecf21e9d9fe2ef14971f538cf85b7329e59c0f1303a5849d9b8f1f06227d797605194111f0f97d72a0b0b82925e237a4f3d0a7263088f9994ae43692520907434cc21fa9102939ff72a499969a36402bae9eed9cfa72ab35e59390dd337f4f19bf1e1b67e82742063759bcce15cdcb43f9bdc3169b79c1a5151fd283417bacb034497423f1b3b8cbd5328da5661364f5e469badcaa3748ac756775cddb0387bc41ed49a492df634a9c54c6d786c8ab56b5433a2d304a49c6bf577cfc67bb0c6e5149d82627d0825853737c714310509e4520e1fb8cd9759a75a1a28aeb055078d3066a4ca9ee364d4fe22c69597df10fb9ce0b0fd3e379b6d2cfcf691c1f7c7caacf77ce0550de51a872a418bf8110f5bded65b0c92c19da801230990c050071f4cef141db0b4c82a38c40bfc2b9f41c9d07bae191d1115b3b29c683d43932c20295c232f3c3d28dc30c5fc26ce575e42403eb21582d54e5c6509e29ad6b893a72b59e5e969243b14671090fd71e73b517996cf3ccc21ca63de9873be0413ab139d48118f88426cc5137fabc68f4dca3223057292ba5d8db108615a8bd074dd76e520d4bd6c743fef0381ab4971bf0e5b25b9780149264d1a93078bdf10d8130b1e0fe337efed31b73ee6c865811d5caeef8eff502227d89a3a43ee5e2058878a0d79657e507e3b4e453cf357607675dda4083d60bcc3849f4a60d403ef8ccd026e3603625a376c9144317e733b1a4ac46d6f3e52f32c836dcd00c499fb98610c019eab36e28be7c2633456d63b5dd6af935b6d4685349f546809a683618c542bfdcf46d3186aae39ed8e166e8c34b3dfdd119633aa5a76ce376cfe1e1e768445b74ead8f729ec1e878bb30be557d40bb7a5419269b4021af71cf8def949e886a3fe7b51c9a6782d376aee29ebd6cde0300e7f370743620522a350c9eb68aa7261af9db2495ea29be830627069a7a9db8320597cd912b6db4e36e4b247614a3b30f4fd7c44745f11d616e7813ed861c4c99e84bd4f0cc88bc02c9b1e61d73c5a2afe1a57e9035aedbb4a19e0e6022f0b8e3a2ed94a1c101f8c81471b56844d28add884e63ab172dd32e59f3662cb110200f0fa75d9799fa942f71afa4d1796e1e30c642514ffbfec407cb0de4dd2d46da57ddc59cffccefd50621753ed64460e50f4c35fd45acfd192f66fb805d6246fe15d6a6d31580c534133db0bcd3d81bad5b22d42adf4d77c24c83358159f1698d4e502dcef6f3b7c9ccb89ce7d34c1d00b7d31d0a410e32f79724e070a2e1ceb34866dd0dbae6068ae28c00758a4d1ccc764ec1bda63fd8c7c05084be24163097eb775c9ac82c0181dca6ec32e0d32da488d9920d777a94cdd3ed6b4bcfe363f517d5ebb02ad2b239daf1f39192d27cf0eb75479a1316eebef1145c073c184ca37e53d0a295dc0da2ec578d6c6fdb139aaec76d52e2069dbfb280406a6735af2f4dd04765415260a1c4a93f778512773004f144b2121a80b17e656117e301a6e211c4145035797dd02fe53648170d0a59b144b12eb47ae354b726a2679c92d45a2a1baef88a31ca885c5887bef6b8d8fa072a3e73077897290c9e7b09229afb75ac6451489fd8701932b17884da191ad232bcbb147ee443d3b9a198fe6e25373758ca295554e64e5c5b5b40e953ee3dd7df0edfb92f189523c6ddc55b13e3347c1a5b6b60ceb9bb1d5c000fbe572c9dbaacf677720125b4600c76c7d6d67e5aa8db802f675fe458b4830042d47eb0d82e723ec649e0b4938ce2da11bbefdfa8999cabd07688ca9112d85886073933b2e87adc91e165b19e7d29785037fc20a3c9900ab29767041793c09da91a5387db307e7c483d15c4466fb1daf0d2c32878a567bc5e0c6bf4328d8448ec52a40a9228427d4209093412d3aea01003d42dc2431b8c2a9b8714f120fbc2947b55e83754ff695debf823291e2f8b954baaa71a1832aa40fb934c0cf27d071d5c7ed140dac6b90dd03875f70a5836b423a3fbb0c988c294152d7f0f25ea3239688234a7e279e2c7a467b051c745055ae24844fb9fac0d74634be83ab33f39f86221e7965953fc2680f348d309b8d0f5a02d56a8196364db580c8bafe309180e3d9c944566b112d0f806681bb6cbfc281f303a0a9a4a6ebe9e5863a84e3446ae2f787bbef0d2de3444a5d67b454b6cc37c1fdaa0b74b85f0ba8ce395e2810841f09fd806dc58aa662efa4b2bbf3610fa66718316a25761c3b87c763f71e713eb8c7807900ee3933acc104ceb9ab4af1eda660a112e7b80f7708863e6360246d1c7ac9fa26568b3112dda049cbd83e211d03f467fecc6444751c7e893209393ddeba8a2ad6f585e133e6e5232f520dcdaf3d688363785cf1dd68a2c97a875956a941702ca10858e7c458cf89286eb6d54906613980d68c104e26385256cad7d631bc971505ddbaaea7133f47279d07bd49bbd7b9eac52fc26b9856ef5b9d2942b6b27324011652add27bc3f3a51ee9f5e8b63d284b9ff6dbb498e27ed89fc7b91479f8c1b58bd1e2d1d045a5f882924af123a286f0690456d40d584a914bb53447f46ea4a5959f79f3da766e0489d8599ad0c4900606a49806a861f2a599fff42a250e9dcc874eb2bc45f8e45ac8b5ab60d06a9b1bd36e6c09d36c09abd93c894a9441228d29cac0d9fcc46f4fa41b0a4037816a5010658bc9f77bbe3556cef82e2e68b7c62271484c6fc42d59ac5b0bfd6541aa7df2396b0967f0c853e4771dcc51d32883066a81c7b9f33557dbec0195264aea417c12e9ea9655f2a81801ce4c62179d52f65981c0ad0292fe8a7d3b7bacd506fd635fbee35f928c2665f3cbdeb367fb57ce730bb47d112a04e3dc79ebf4871397c94e9029dfd275b49f46797a3c81bdabf94c1d05a33d729434f61d5b9caa72b768ab069bd6688603cf4248de3885eaedfa6ecd55341d3e191d14ecc119e30a3de55f3cf70b6053993820df7396d485ebd36debd96be4198685ad0498893c86b93c877403230329f263787370657f16d81d764b92ef0dd10b8b1b13aec57b155876e5a1eebf3a1207b3d01331563b51bd7edd6d820a58013eef42ab75681978bf79efe8ed7ab7af2cc1daaca1d17a5abe21084debcf18d8bd3ff5496305b15d3619c07c5f0ff6f14829f3c989528ff559713d65db6843ec3b316178f066d3548f2a482d8e525c2d38a0376122bbf0a672132454e0a66d0ea5f5e6b8759d364c2045c558743b8e7fa286f748b3e87ef0253de361475b7aae8f9ac72f47438d486d23d6dfec2eb8a5a0034cadbf4e86b1a53e7c7c9b8c064325bc14473cca47a6173f14d998b22b5ba7c8e31ed9d566820da0218890a44fc8f4a0c3042c0b465bb741b1e18812a582a5906db086207c952de521357c260f978f05e135ccbd9eee4eb14f1c7367007c59523f1bbffb621a50572e8fd9c824b1607c3c359799732dfb1801b8440e411ad54d628ed281c5374bf9654fcf0d6c5fe68c6d7f64f193d56b2efc246786753eafb0dfb0a4080cf973019da9a22adb9a5f61c4fddc0b7d19bd082bc1bc7348ef55947661f865ddefc0341c7c705f8b3f39d2a636e5e58c34fa14a483325216ae7a66920aaf27da140641a7a1408d3f93a90135cdb92714f5f4d5529ec5fb83d678eb8afb3886ee348bd68718707b2da127c3de1ee67e7ceb80efcfda89dacc5896807cc4f85db2d86577d207668982b950ddd22076d3c27e8b195f4502e6c00495e06f4cbcbb737eaa75f08224b3a3abd06980495d54788ebc553b034d7f7bc309bd13fead9a9612166f200048255a8b147e12af27082df6c0025c0dd9ae589aadc879c83e9a1408a35f93f374a1af7a6b95de373ba31f36ce3068e1a74480459511f4b23c8c8320ba37fafde987543ee5719694b3b9458c4080d3b70ebf15aa8636bbb0505ef478fe9e9f9452554a9023ad3c72acca9ef0eb9d496e693f4b9ec78f696d479eb037bcb8069b8d901be0c67208a6d4a6f709681bf3dc1f568274c2eb986e96209d9311a7f4138af95fc971f035330e1fb9d0cb82b90c2c1a443b1f6ac8994c62ab7be25557073619808645ae3050e83a5894e08857d35267973e7e1bf00866ac00a749bf5d3784f678847d4d6417b1432f6872b10d03bd494e5f8d0a176f95a0b192f96dc4dd7c756a054467545358313501c28f61950e148ae47efd468d0c1b53b0d9352d2ed3abe6542e5be5f2545878dd030585311ef5ad4f8d93842c6b44972b67ac961a921ef2d5241d2e9d04622f2ed6683927768d3684d65d401d7d2ada25d5cafbbfee35df37c9a42831fa046d505ad42045664d298d08de9d6ec2f9f5bfe2f836113ec142fe685616bb5b1f20dd7e4d53b0f7842a9d9538710336b56ab5059ad2a7eb1728c219fafb6cb57851f246b5ea5503cbca1715be143c3a8a44c6096141500f48c2f23126986d52b8222dfde4ce48f727121f96ef3cdfe0db827189cf4287dfca5e4a7c2f77252f4e7b4ae62708a169f258d2d7e0a6a793a2b50aa00c2e716321b7da6aa4c01c00870b511f6fc8704ddbe32237e85ae46c51006879fc845251526d87fbd9f786dae82d915a0bc770ae3044b66ed343c44e96fd2b8a09c022c7409a15d6e1c4d18d91a9dd344e826e29408a474de396a1e01b2b345114686a1de9e7a76ed58d828856c2d81ea3807b855166ec41b69bfe10b03a18e32ed6f37866b2b98a1aa7943982d7965ecbdd110af8c0e36df91ea39817a6ef2b64e5725cb951e5c4985cfd7bb6cbf4cf4a0dc1a139860ee8cc95a16643a9a02d284229c701b922e5625ed9881030753f0c4499bd221c94f7dea5fad48d9437d241c32a8bff383238c1a9dbae906ac7b9554aa8d49c364c5ee2567add60bc3796d6fae6d492683cbb095bf0a86505e13c99e88437fe5ce93be1b36249e5238f04944874612d2ee0ae3732fc473fba37cb38cef562ddd58bef2191c7ea2d6a4b01ef6bb3f4d761591137fd1cd918af6a2bac052823e8b19b6372be63439cd55f64076487702174bb0c848764b7e4c60ff4c14d3075e3497b60e14f64db0f23049ba6cc7b96b374863f9a5af7ced069853e9880228619bc8a8c2be8a2463e05d13444d304b16f5964d99627e28cc711d9c11b03e7c8370962fea4868b000fd4633166598eeb7e2eaa393d7471890320ceaf5c7f9aab436512a70b51422e815d2f2ddc8b41eb6b4ac90e47a45dbd1894a27436c8275391127e66c58b4820f6251e042501829dfd3ed9a3ef6ed5a870b3aa7833551db2884a36909f0467e9d201105065e21ebf258a441d2ad105e7ecd877a626da1f6649a8605b79fca927e6098ed36c5fb019059550faae78803a386d601509d36a72ebb0d8e2dc9608f75ca84620cf1511e4da94e8c76bdb760e91e45417795f5a30ecb53db1f4bbfb8f44a29cf73ea14c126f0bfa6c895a41e9c6d9d7ed7ef9889e585edfb480049ea4e9f0060b13e9f551cb61f3d653496b4289e37a04ccdbf9ced57918c2c5b692ab4f1b787cf9fbe515ee372e44318cbf7207e79c8432fdeadd5fce1cad959b19b68233fc6e0652680248846d42a5d0142c1cd3664aab9a8b7ec84f576ecb82532af8920dc44f2afebe40b675c9d0bcef16057719c65e94ebeffcf120f02580342512e4e8abc3fda986b201460ca4325563b0c37d0a0abfda4b137d71072f66b277f21fb52d45dfc4c2d752e8d4841b335682bc7704262aef9f8e891f130383c773c49ad0779ad1b91f1d8cf4d5d2896af2417a75270127465a9d0bb40e0455c8eaf2f262850cf406cc97dd14c6cc3fe3ac8ddb99dc8054aa4e5706e6f20666cf901c66bdb5685d18304d259ece88bb94eee727cf52218c58b1a06db1ad3ee3816cbd8e6ed4e9dcdd476347573b7e4ae66945aaa653a36df380bdc2e991731960bb68ed52c3abcf4d61b3d43c12708b9b4e76988d4b8ce1d276f1c3810018c57dba71851f2df7cb66878bb5e1e75ae434540ca64d7327ff667649c551a99c232335b67e3e921ed046f8553712ebe3ae41c74f190039afe4c641144577b256e3af0752d2d366a679eb005979a5b6fd12c423999a4ce405e6e52abeabdd80aebac57faa6d6f77e4cb1b467735796f83fef1474024a1258daafe8a7c5ace8559d53fc09ed261ba331a7b0c2aeb6b5453cd72727cb311b53b33169b1a7445df9cf707440e13ba3033459db5709f8e3580e3ad4e00d8d4ac7ae42b7870c15e6cef6d05e25066d3bb8fe5cb1509632ec7d233e299324e29acc73ec2f2c83493153f9e0416c9d822569ea8bb3a76b25b333e3dbe96c35a40673cdab571fd188a92072d1346d859ecc387db5c9414e7b9b687fc114cf76136f19446105decbd75c68920696e700110c3498c43cb8d557e2404788a935b06dca9a01cb82ed8f0c5d0faef5aae01e7d9a52da8690f3334b27b59d02f619042102235a0dc343d1bbbc9d38a88ecea8cc1e5f5ef69d441e61419ddc44d916c7b8204e179ec1dfecdd05be20068b60ca76ca0dc070259d7db203e1b2239260721a2e43e755a48a4e8c691d638ab5b44bca4ad4964f86784a5edb702145be031fc7b594a161a3a8010a821e56de424250f8ab4cf7ea9ab3ccf404048a18c81c17dbca73747d79150ad7b1a06d85aac0585f5ca2849638fec3f9827758446743bd638bf017dd5fb0b43c79707da76b65f6d496b505c4adc9e4582239427ed02ad827cb11de895ed69d58e18421d573274fdb9f2be1cc4e7fe1003ebc0525aa356f703d112c8d0f217535a800e29b4e880fca5df1670875dc83df810fbc181f6b93c62daba1c78da2be3f614e47636e4f627e43427e4a007e40825e47ae06af9afbbad5774ced1c5cad2cd0fddbb6fbfb125ba80476b38917f82be2d8499749868373c86bcacedb69e16de5c81095591331e0e63ed129d1d10c7b3e5c6b45536f83da8c29899acf88ca70d5736bba22435db9ca2751d78992620a5ab4f8800130973a9609853c0fbe9210c6321ded0ea53cbbb90afce8add8b3d0c0141d34a076106f39e8b8e1909143bca52095120617f0ddc2d0b7e4c87b26c107d0bddb7f96bfe251ed543732947c7a30789e530a101f9a7d5eb994e99d90f2edbd095f6e5f76b0a0b60cbc893a8ce26f1b5dd47aeb3fa03bc2137c79bf6a3c5d6665b4d0d5302d8699df0c67ed4f6d1527e8f75deab8d23bc40f5f5c97479806927921bd4d8ba5dfd2af62761c087348960fdb6fec48addb7d0c31db0c09425c53b4857a4e8269efd6b231ec3d5266234ea0633fcd7deee74c18309bbde8f5f4786a2f4a4f651c74e2beef2627e8afc53dbd9ddd7126cd323294fbe190f465cfaa987e8288886e942ddd806d63e313029fe3827316a861e52eddcf4bdd21dacfe03c03bf738dd9ebf6b2860066996e38fe35fb9949d92c62568f09caec1b572b8c04664b6d1e11cbe02a0a8b764d8e49c0ee194a948d0603ef524b6d53b127c5f10a2a23b5c05a86fcadd02894e9d1ef290596491bd77d6df44a736410cc43a1163a9a526fd802d4b98a7dce73a7d22ec78675be6e16a80f4301ae90af10c44b3e0ea58c00e3ddbd9015abf9d1a01ffe0e6511b3512b121a3937c685256cb96edcc696c19c6df6d1719260ac0d3f6fd95e8794d3e6d2562af0b98137f94d4e95a51fbba7dc1b34d19fe0c49e94fac77431560d581be5b353acce899095132583e0285d576766d8f3959ef1fdb1a27ba34897521d609ee698c7894fd9466b3d44006ad4fea148cae2a075936cc0c499469f45134752a3e5d378ce3cdba979bdf0374cfc020e5460955a025c1d658a93434bf7ab9489bc85a1be694026f4602f0a5fe7d1992089f870712cc921baca8b73d714839b430cf95d5ebe6496c9e6f4a413046c3aee571b047471ad408c8bd5370b2e27e609169dd84e9b6ea90db30618cdd0b3e22d0bfc65184ecfcfdc4f9cb33e5d2a8378d430105b3edb111d08088159c210e5f075de60a13e23f04294fd9ff3e56f05ef74d75d7503358a4beeb7b7e869ca2d304438a67d67a0f6f970d9b836ae2e7465fbfa73a87a55e4c235cc8bc5e981a81e9af2ed42c5fcbba23563ac87a24267eae5cf02b033185c0c592c26b13490b2448317b90133989fa7cb7bf3fe8416d8c802498b67e71c16ad00f678936c196b95a9c1c4b4a719ac26e8bfa33f37fc0cee1bc56d02cc384a2c9f59283ebfbfca095cefab0fd553f93580c6c48598ef30da45083a80c484c54d40c7e3995e98b4c8a14a8a51795e62a66de759f5ade534a81976a03a1955fd3fde9112eb93dd2c632fb2e4c83c41a648e687e92aec02f1772bc8cf7f6c802ed5db17a8c64cce9b1bace8d4bbce39b239d289720a432511eba9d6ffc02c48703e430a69d533f445adb044794809af509c53b9554c4a9d0aaf71bd2de61fe40f3cc1d188b247863be5131a2b9f722ea4dd403191a644c9ee267addb86e3af5d78c80634859f29c91d6e01873c51cbedb0bd1fdfb5a45a7a854c84677cd23b447ba83692c09f667034e92f301c7fde7248f9473604a008e59b54be9846f670587745e11d1b82c2f83cbc9422fe0eb7d191b55333f8ac5fa9f0ef1a5da024d97791e64730e7ef49363fd5829dde8c2651c77dc4d63db7f2a26bbfb70a5530d87784407d6499255cf4b9cb63474c436224fda56a6d4fd17e6734b7a1ec5172c36bda4cd26540ba084a1899a7081929c1b6d26a1815f62beca07f220c17643f2eb1c3c3d083e117abfadd954487a867391c22f8fe409998bfa824c230858c623dcca25358ea156d34403494d7d8c07b55bad48fcc3b8c6bd3e4397685779c70f10e6a076182d820cd40365f684faeead7becd32a26f74162adc3070a0500764f3c7d40e1045f047efabda446279c2e16a9062db718fa97b30b3bfeca3391a64ffce5581b925710eccfc66a8ad91b135f67d17f156e2d1f3f5a453edba755677c102b8e0b8357815210c254c092b7e549c65ddfb4d555f32af4a5068f25e62ce35ff683a6b5cdb1100862e2845186e1966e6746166ceea476fa4dfbbb264cba7b2a4da1eeb077ccb87a31e9a826b6e7478d96f0a418df10c7932626d30ac4eb4023e21e0292804fa269e299e78c92948ea2b08c508ab9179c207cf0e3197e6819eb7de4d5c8b3919629c19bcaf1b16e166050e4153e810becbab61d7f5db87168ab3f6a962ca39e9fbb52003d3d9eb742015f3b3f12c3bf8f3f697d35f8e3bd6b07c18284b7664b7e88bb36c80e8b0c074ed05edeea6243b9bf621af4ca54b451938d68d6b721b6b0d8bb8358c9eb3599ce540493718fa6b69d2d67465ec57fd6260a71e565c872643506b4b1594d4831c161cc20882b22e09c288a1823b34c321771428980554b734cfc41146b0ca82914edf7162a2f45d2ae1bb6775a1e44c7cbf2c9e8413e82dd85430d2b37c9c701f5e258f5a1e9608c77a3ea8339735771115d82daee361c9342a3f9ba886ae5c8aee999e8221c63508c4aebac74ea7dc051294fdcf34393c96f92e2f8cf683a0e523ceb814859e5bf1fc466775af02ae2fa033712ad9e220fc79b3e2801275af00701f72ca2f779ca52225b827cd72a147ba816e94b04a56bc2ee2bbd79a2836dfa701d6769afcb8705991a828d5f76ec10af16ac728425ef2db2efc05fc6d4e8cc213069c1f9b02434d3a7c5b4e2e8efc98c7c847096e7bb3a273a93b422cdccc35a7b1119dcbf41612b36913f4d37f219bc217dc3804e4bf5c88bd4e8b2f4a4c6d5e2d65029f03f520eff9e3767e9feae3573359fed4285750e5f883c0bd2a1632748f5dcf821718424ea56a9dd922b98eaacd4e4339fad07331c990d14f17e3ce8157d87ffa1d98424ea71add4abb963cd329e282d6f0e77c0bbdad638fbc407c08a43af33334e9bc3814709fecd05f5ff39a4e33641708fba5a5193f3d2b832e84c92f7676405aca35688c81336160b5fb08eb013c0ae8e2e693b1e03e6fe0b2cdfb1c3b78354d3057e522ddf7adc4a6f94e5d33dfe9b88c5badfb6b758732233ac10c1e7ffb9adaa470303f830fb903eddda0d30515474c0744913e067271974130c90faca18ff91a25a56fa8a293c41f133d4d3294831736b922c4e50cb3eb5ad78ea1b92d6278114444c23499d35d47f36fea47a849d7b47d33278c55264df496e94003d1fa6ceb473e1c7bcc9be8a51248249bcccd45b073389d3197cd1bfd153f1fa390a5be304652bc4f30c17a155a10b2074217e38213fa5f5775b2723f77d51e7cbb0e4466ba417d8c36773fda5c42f3efdeeef7f6cc188d9a965ae3944b2c2c375a0120654262424efd2a6efcf4acdb9d934e2368430fe58668a3174b83e969e50037604f720a1e5813e2753010f1a9f46bffc4cfec1ed90350de9f4474d7ea1d8a56de98e19ddbfc8c076cf770397498cd09b63d31f05cded8e813ac26771d6f9cc96a7ed3ef98981943853776afb8e3c5b77c64167bdb0a05fdeaa98fdc80341dcc8d16690048ecb010bf709e4cae39ea3e86bb5ba910010147d10ff581db8054c043118b6b50559b5a9ff5043532d8acc0ab136ec19d7354f4cc4fa1c567dd630a509e84f4fa625182a5eec248e46bf00e939e9273f4691cb77798d6ed22924144ae69b97fb88709dd47c0c0e20819f2992b4dc4b547ae3c1500286a788836b44bde7c562e9365a4f1d1ef750e1c31c6103e21c39b3b9d32fa73286be47e3477f68240bf6ee196ce6eafbe088172fa61e2d7f744a4eac7cf4f95333ec94cb3fa4b0894d10f64c441ee6392cd2108180d74e3c2a0598b94e1578c09a3ec5415824f53402a7823e91f102327822ec3a01ab6d7cce74b1843e0fb8c3e33344dba0a8ee912f012e0e38750d848844ffb720e648c665342a79404ef68301dbcafbe7e9cec4cc4c7304de5fbeb40400ff9502cd43433ba06c9d953b792b6814acdcf96846fc5d79071f1c5fadb7d075b7fb769358e78ecf40cb44aa98a4691f66ba888bc3af905403379d974472de6185d5395147a5a425738e2238ed9a3dbe601aad6739dac35bc2a4c347f8c49539a0d26c878e7213998d7d66ec348bc69b3699eba95671ac50b88888fcacacb3c3acd479081c2acd35dad787b4ca73f91d19cf879e2b7ce30c7a7358328777bc518951939904633a925ae2d6d74182bea55d2fdbb60c556dcaca04152b753100608fdd00f754778f33bc437170a76dc6aec3393d7c87976602a8a6b5093d04e357357f459b5999f8f42dc5763715b2ddcf45c828abb585078f3ca788845d22d8455d8ac3c042a03241d6e5e7e79c2cac83e87bb8eefc26b44511cbdb0d14fc136e2b1972da88b6980a84d537d886a6155419849316cf69403d2b0430d99051affff57f80acc28b21805f6b71f2391cccfe4228790dea9bba91cbb3acc7c5efd054b364048a96928b6d7621061b8c5a69a876be792563d492ce864ae9ff2fb9d3ff0dab7982cdb10919ea5d9694dad39b6cfc1848622aefb7c6dd52d416b158517e64d6ef79651aa847e690ff319565206c151ccafa1fb9a8f6e94eaa48c054d25da2960224da4b8707005ddee93aa0fe072d4b80a162c0147bb0600048a8ea22aac9ed008fbc9f917b6a47c5319fa3c1f5d9dd8417618ca13cb5e81e438c69785ae10e51d1f6672d2c369e243d1c21e7d20131cef5bd4f6b974a9e823ce0c5ce017e9da4b928d647386c1fb490b2c88b66dfc1571d2a7ae4d0559461afcd29477c70689a4dec3424a84d0d23877e480e1b8fb5eda43a3335820b0bdd26a720b22d1340b03e8f227a51adc6dc0904ced0c501b8b77f97578ac5534533e9fe588c0d6a72b24697d45742fab8852e8001c3d16713a646b75f449b3b22ae1ddc8bd64ae412b182e6dd834132ebf7628ba93735f29f0e285f6038e4e76a3a9d4fa6adb24c39c56507c511d7eafeb68398fb83923c1c93b26f7b4bd9a2593a5c3dfbbf83bdaf3eb9a24be9dd374c4fc46cc2a96e880f535d1426aade7c8c7a37c9c6673ee921cfa76fab609c247a857fb20a11e474e432060e0267e48b1a528ed7ac398a25323ec771eefa24fd339a885301d394e5c30f9a3f89367df3337306c742218eafdc4e5ca37304a8c3a3ca750f95274c4a2b72ccaf53679817401f147fa67cd56e54fc824d18532659d9f0eac9d9cb60783b7b337dd2a8840a2eee6f6ab0d8832e2e44cad008484f8e0f616b1abd46f22e053cac599602707aaeca418be1a6592e7333d85ee7f2ac1172fbf362c5b4724a9443268107cca5425b1e6dce6b8437f37c99cbf2d286bc5e8797e9f5c0f66cbe4144e29db59fc30bf2dcd7e614db0d5a0ec32bbffce2342ba4ee600fdf6ddbb57d01e589306c37d00933f38c5ac8a1b4f36e22f8c988e162c1ef38ab1789bc9c879e60e2987364584306c001c03117d3ddbc05f1c353605ba256fc68e8f8edc9bf4b988535fc0b9d8035b3ee235e58a91c0091ad6d2109e2d976f41b2bcd908aec5140d10b04c63f9d27a0c757a1ef8a47b921003e3e872bd452838c5959a395eff3545b38437bc1e4d3734d563c7fc58b931f1e0fe7eebbe90b68110d073b2591d4b94c20b57fdc631eb23a42d9f4bddb92a56a786f480fa257955374a3462bc5b5cf0ce59bbffb40d66dd28e168a35bfdcf04e6d44075d4ddf6594d59e985a7e998ac65196ae3c31777defcd4ebce9ffb414cd23ef565cc36239f24a604b0cbd22087cac46a7e5b1b7a433f20ec91472a115f5e7ed31ed0bc5f9bddb6f94c2f2fc79ba986fe46f2d2027e45d340c32ffc84727bf234249a0c0ecd99b995e278f15c6cea7b797242c9360fbcfaa0440fb2c8906e0547b12749039c5043d8bedeed22c293704ee6816be82d20cbb8f3f30c460dcdfbacb73e58667917dc0cc61e741df39e65558a9cd7d9a30a9775b4b91c0277173f69114b0ff1cdf809735a8170f29dc6037229e8f17fb9f06d67ddd47422d4b4ed65edf8c898430c06a214c83b86e7e0275e6fcf645dab96ac8da201958ccc37d01101a53223ddc5f70f1015f2c7e24ab215075d69106f2cdcce74f21e91e820188f3e47341026df06d135c94e4c88243942291b6ef32858425618e9e2d04471f70d577fc1fa073f901bae0a756e7cef6ef38de911b310128d469a903834ef76b715f1744c5ca2eeb20c094a7984bc5c9d3c1067572847a7da98b95c15b7f131730bb56562978635a7b92ddb5b56ba90653438b27acf85dd46c0be1a1e7a056698c7dc18337bb254ee567725c20c28824526348b1ec422d90f1b5e572181f1a1be4d78bdbdcaf570030a2001cea3643082e604215dbd679901ef90e2d0beb4f4a783c43233aeca6b56a105a29ac582905bac1b9030c78ebf9a537fc3d932d0509315ae29a7b468aaecd520f2b941f8223d3a2c8c1153a6566c41ffce1905e5f40ca39e0e3db8cadda7e604a3ebf07381c93f5846b8fb2ed525031167b91016cd54f218ab0da85b08912c0d7908b8b2d99996d8d9fba934c97a6314dd9b067b45f43c51fd53b57da96897dbe7d888ce91c5f9933ec2ee7c7787dfa00c913ed6f82a150e2c0dcb7f65bb5cb03ad6da77972371a7a563c86e8951c5b2563c2e3925efdf2a44a95b4a6ecd9a64b25d53c2cbf2a4d68791aba7edbcb94c56b55fb7a8e59c6c53eae2c37d0753687581d842fdfd68c29434a9e71eda9643c1ac30db7b5f77d77be5ed159999166a69ad2da31e62e53cb5b1c7f3aeb48530e9740bb73d1d6ce7aabb87ac9d3bd72e75e776c0251a1644343ebedcc276566aec88b5e5099d32c0b2d0acf42bf2241243970cb6a93b08f82519c058c839a34eadeea3d2ec583cc1d460992436414197ca8dd226d29e8139e853087b072bfb8fa7e0e4d9f2618a21dcd60add9568ba24b619576fce9427054d65aebd9101dc7a7065e284ba19980b9c73c136cc769030e2baf14ed064c2755e53ade84c6de50af7da92e053614817a5ba98e559aa0b2bb590d8b9998fcdb7702432bb3bb49a791ca472c772f5d5b76e337bc76469aea50b9b687fe2d08e75548b30a09a8090c6d0aa3e5fd5246a7a5fe3c5ff1a35f7fbda875e15895161bf4d7bc68ece5e56462900855bd79beaaad867897c88daf2a7036adb37e9c2af467ff506a77ae3695237bb268419f22afd2b884e02b26adf3f35694b1b64eb5a96afdeb6b2b77fee541953d8585f95056255bcb49c425d7899d441d4aae55b12cd7127415448b33f03bd2dd50eee1db4ae60269027848297c009ccf43eb9a8c8fd9945888e0234b982aef07196539454e7783513ec64e6f883e46d45ac9f2d5e0efb926bf40006a108125604e0a6cb0cdb6059f9b38b2a36f7e0bd1687c13a6ce97fb7375b02dc4822e6dab9e8a01f2ba633a52ee32d1b2e217abddd6a8fbd4d54196ce4bdb4f22aead2f969c0fbb16815b2691c07eb5299e1eff90dc164ae73c00ff015c9307c7a3ad1215a2ffba9e80a832c4bcba20373739f10df05984c7776bc8085b83571046f84a941b738a183e5471cc9f48a1156149ef274a98e511e937b522774cccc4736e5296ccc0a7ed6de066f01b03d40c016b694cf8b5552aa008f5b64db6f55c62f759b5fb8b33112e4ada00b4cb8609599c84add3fe2ab23b5cb226a7e930121125eb7fc5642d8d0dcc9d1f3e0b82f42574cff6e7a066b4b6fb0e96cfa8d09b47c6a056f8fd7f578da28ea38aabdcb502f428894773c68bc94ca5baed465cb6778972dc685b571a4a1e7022b42838665975c7b86f3b7f6b313fe9049a6601abbacf84d5e78f15375adf4e6c6e2459dfe5a2fe401360cb932ec8256c3a010b0b89a0cb3942ab6bd49cfa644fdf200f4698ca031e7a186b8059004dc13f024f4724f23b3dd9674771ac869b2793086f2463ad88e45d45ca317a420dc3e6233770c45bf6fcc407a2879c68f12472d508bd6596e4d2f4f2847ce27007def334698288a76c5dbdd7116e3d45bb0f9cd836f3174b0d89a6fded2391d40d43abe39ec57dbdb9e99efa41373272b814f278bda1f8130842c92505a2bbb912cce35330a0338b14a8ed9122f08f79be3f45a26139650f05be8d99028aea6bc48a09fa64f042ae2d1b46109bd4f21cc036d831b08bceb2993aa3ef1e709072777d8c0ca2dafc286684d2693d3494a4cf7ea0b6398dcb5a7ee8e24d7015b03e289082d9d28120f94ef2fdfc942e6479dc7db9959b121b0f1e54089cdfc06acba5bc0cfdeebd1c5a2d212eaec23256336e937503a4667f757739bccdc365cfb893152a73f44bf7cd1ce1d734da93f3a49ee3ac9ee2d9966331b04f5c120e3a55e06d2e923a29680cb3db74de423e198e406848286605732e8c1b53b072ada6a2cd1c3688adcabdb14cdf1df91d29e8f247d618dac03295a940fc42c3813318b9d2938e5d949381be37b5e286d40ecfb9bcccd69dc385ea8c9c0b77a94a3b8169d9871e63e794f3f11601515a2a64b36a1c164301c6330982da3c497d23529d75bdd767ccdef4d0adc10b8592d8db0b1f203b0e62f8b4318673cb05ac08a2d2d440428a6c380986dffa035dab4442080655df15da98a855b8a95fbf5b951754ae31f44853baa4ad949ae8089d0f92e1b67024567fd5744716e77c238efa664e93cd728ac46b6b274e64ddfebe4f5aa1a5ba75f9e8ff8712eebd5a6addf4ed77cdef5aa8388dae63747fd6a3f1bd244ffd96bb8ac7234cafd4f0696e84e851f4a5839a6981cb006ccb0767bdc7c6ab3e87e16403ebc14e65735754147742f12323e633c1af36a3dae0a7774214c6713d7ac770767d1237552ce6f166d45cdaccc4d90c942ba743e81fbf1f45257b124f15065ecd41648500f3ad5a83982e4ea5abd3de17965800afe06816fda9f83bf78067763ab6a2333af052f1adfa23676585cdf3061eaf7b61c7dae0fcbeb05766704c9be4e47522c07fd847e07fbd2b2e3948acc99d90dcda3f577a02e17e8137734b2b1d5904a414d0e510c209f33f585d9b4307ba06cba134e7b11cc2bd7c2544fe832949f00066e0c966cf5d56e77259bbb5d33c30b81db80740ae49be741daf4299c98ec0b19e6efe79582dfb38f700d5221c913ba19e8f3cec5683c7df5c0f16325dfebcc0e0c659376a9a17bb5bfc7884a4d156824ff1c1e1d52fde757f641c9dae283e71d96f0ca5a604c6828dbbd20605de34c276948cee0d0de330b917cea10e8f231f3b717d66c60aa58c894dd8ca531d969a0d8ae01c9f29696063706eee147bcbb44f4d1f5153b4a22eb9ae409b410bf6e5e4507d5bab3f785a669369001abbdf18c143e46f4adde5b3d4c03a32f0be2b99cea0063c33ed4c813933f6fc73b531b02e0c5bcc49fe899abd7af6e48758c90cfbeac0a462b6af6401acc89117276f402a1b5de78fc209f27007f5e96c025ff5c54b073dc89dedd76c1cdcf026ef6f073cce86acd216fb3bdde9563872d7ca543757bf6e0ca59076ab7e26ec34294d6a32e5103a88bddd42684f49d5a2ef417b7f446108e36e423d81e172c14eccf1d83e1b32140e150905def1f87e9e659fbe8ab4f5e6cefeb6b9b5d44ec2e2c14eb3a5abf2344a0f8abb2f6bddf1fa8bc8fc47e74a62cc5669a45caedfb956ed998b1d19eb9b37a524942eb8bed7cb0c26b2f156cb306619f2c86968e2426d27fa959c89c970b1bee0e19bb7a24ef84192427db0d39ec3eaab56ee04feae6979d888f992a226bfcb050bae6be1f2da91e0d9594cbedea78d846bc63703f6f1ef66d9cfc2eabe6d2101df5a79e27d4ebbfd028dd7c61d6b0a9020bf68c8bb52e26058fc243ad16efbad2c7c4c6fead8badbe9ce25e57cd3ec7d32b884c45252b51b1688af628dda63b4d43eec9aa3ad4bcc8fb5e41f3fbb5f12e95d33e219c0a8bdd92509a526153beb3358c6191681d8971114dcd8f849bda63594455b440f3bc0c5a03dad4b780f442831f102b49a33ac03828dfb2df06502adf61f275a31bcd7be51d484b682f4d38520a641ab1ca47b44b2f2279cdb7abe0de43557680c1e311a81d3411ca0ec9e7ac09a6dc65bb15b7a618f06e7ab2b1ab78f1730ee26ca69d9aa1be8e2afd721933530ad905fccc8d7f1b6ca78195176b4287e29c31b80472eff4d5e65576a8d10eb6ac2d27b71d16c571eac0b1a9d824f9bb27ed03ed16dcfa010859832c12812b05d25b733fba4525a1a180b823c5e3e98074c6b0ef493e35417fac8bc36e0daa77481bb3ed89c0eb5107fd51e0f4a165521137e98a81c5425b59a4cc3b2a60ff8802547fb615e37d12df9ac2b510c4ec40472e2898c84a3f80fd22322934d3875eab02a823bfe5878de2d3604ccafca4a87faa87c39132d980875da6a7dd8039440af09d315a2a2eece2581ffe1d8a477d86477e637f6c7e5b17ae73b8ee2707b0c27c18fde6855f49fbf20e48f9db238b225db88143b26dd373234d8746886f8d28ca42d99dca7736a6e2ba6c4e3bf55e5615f597d81aef6ac2ad0e8879d8f0526a6d672a881b07a6fc087273216fe32ea21f1bd9a1d96824418c8c4d3fb93d5177abd310a23a9ba1e8a20478a09993e8c54a662c07b83533e9b26daf258efc151a0d0f8249cbb22b0b14cc63aad192cba1f3b0b4728f1fcb525dad6d318b7d8e17bc8a6c506d276eba23590651e34cd04fc7c3758b2913c231911c0fb0372cd5198757d184c306754c8a41eedb73a183116b3a0d8e7726cc16ada8c9d9fb2d6afb16914e57cb4b8863d70183afda49bc3462b1eb79230b5c31d1d590ad9f93224e7dfa185ab5a9d7ada09517ffa584ce7a693836e0ea5cab881682c9f02365282ab6050918b8133e9525b793a447c4f9e04b5ecc61925d17055f5193ae3908dd56e6614c7d31301cf9367875ac280784ad8eba665549609f9fc0e10ad4d8d9842e30fa52d9da48c845be1bc20d33966579ecaa8b11159159576f35d8b0344cb95985718bed0207af1e165592dc2ffcc174195e2936ce700d2c9f7f20528c46521409caa5fbf804fcf63bc1e926f08dcd5b55112d29ebfda55acef7101b6407d3a540e8a699a02fa9173f94f8744bbd4e23e467bcf8c938540efe9685fbf2052938905a3554fa2f3d8960f1551454ab9f52e10239f94176ce3b5587c7c82a7b459b39c29ecc1ddd09517deef6a6dadb583d399db88ac3a839b89633966364208fcb92552ae6dce2ebe1a36159d7b227786da48ad44f59b32775f3f84700829d3a8c2ea2d6252c0c73d72d915e2c674dee6fbe2c919db2d68f7e3031e3bf79ba353e521d9e27e2aec29841e824ca7c9641fd29965ba461ad4390f0ebe13e91cf5baab36f6ba09fe8ae0cf4aa3f6bbe425e938e828cd35e04b91f508bbb8f6583c0bd5f926156fb0065fab30a6ac21052e016cb440be6f7419bff572768bbf770b16658516c49358b192eb30ead8cb32c491c921d0278781e55a13e6c4b7ac2712eff22ed4e0e192d853b8834b6ef740b602b6d295369cc8e5adfab8ac2ed5fc636cbd136f50a15b111dba12c7b38db260690cf0e643e66a028b4d1daf75d42e5e639fd6d950da3e09a32c26ab714b2beb55a14c28f64fc501afcb1df220c50eb1b7e4f8189490a4b842fec5729a06e524ac6655e4272b9bfe23a7c14014324e95e402d6c1d4bf0cb5e72e7649c6eb2928b99da9d7ef16125286089a6ebe196644cc42da9592f2d18401349d87b7cdc05e46f0e27c85c821ecdd788630049aed33f22ece53171c3a5daebd8f772722dc2535d7b175e7baf7d1981186cbaf39721fc4aacc195b25590ba21c4941d35ed3ee3562985f756e1561e253d9acb67b1b790ef9301ae2362920bfcfe0cf303adfd198d1d0f974dd40b3b186dfdc5ca107329e1ec53a8c56e77a70ba579438f93815ff5491525d554ccbdcb2e5953f2b3d170394ebbf22a4d25d005690d5ded08b825981338a16cd073204265811f1049cc780d2568474d3aa9f0aacdbf78b3f245bca4367ad446e2897ec28a85c2976cbfa249c3164d5a481fae724d552cb569c3d8e925b358c5c17486146c4ef6352a146c4a56df92323ba97ca8462cf820c6063c10cb83e217d4e964dfe18b0ee78b6fa57a2c244c81233b802497efb4921afd1d58380a50628e1ffdd2437ea1daf5b91f1fddc9e85dbfda14231d36619f47433af21da62a1c355c47a3b26eb54b3d0e708360501e4f2005cd55a24ee7b5b5a61918a2fd1d217d7f015dbeb6f2744a1711f2985067b29d12f3af79db386b222a4f3305e8882981ad60f5e0b8a8f5705ffcecfc0464a43fd3f876a88306984f00331d10d279a07c44f6f8e49f883d3ce65295431539c49e98a06b2ef90e736e06f89fc9cba2f4a31f7d50471e2a20a13506689d8bd02dcd81363b159aa577a2372f01d1880a64bf451601ace8f7a207168de3662586142f0f4a6697df7eb1272867eab6dfa6edc60a2e5fba3834f8a53aa2c70d6393ac8936049d777d77b9d2a2da329cc004574dd285b3253fee4b4653d83e829950312fadde449236bf2684f283bec1ade462c2d79f2024aa85257221a9cc2614eea33b52a59fda03cd06b06252c0ed5a5a7b28817c935b44f59897207a5c11165c65ddfd55283d2152e55dcb831260944edc048cd1d13c4f9be1115b3addd60825014c1667950099897240c0b3f34b612aab6a884d6f03c67b8438b5c6b573021bca6d774e9269f6666562d5320a571ae199b726f22af339eb90e67a114ac6d5bc682e64deba64f160863ffdd41487266d51fb7be70a931c881caff751aaca128a71b9963b5152d994966e175e830a6388d39f5197dfc087797771e36a3f108e20a29c70f6cfe1b8169d45711f7e2fc7aff2035bfaf5c58c45dc2f61be7f949dd5faebe79bb99167aac1867a85d891041f8f962221c9791e70adb003741ae803ace969d3ebba9d9f03557f7196c20cdbdbd15254377b376738547302caa6218619640df873878800ad1f56b72521aa990781ad849424a96847dd479705ca0f60730e921dcacd46f3b5ba263c10a49a260af47282d25b8cfefac432d6ca4a5cc6cc4f8aba09de4221344d7be051474c94d34ed4323e4f475fb903cb91cec28639c46d8276693751e7659d53743392788ee724e1602ffc21a4571d2e2ddf413228b004df294288df797102b05d27792009619b2a836407c96e833aac6e4476c72f2cfd4a0bc3809a1d4d6a3e87a3d26b784671b37322da78b68b476a5a32a64f48a7b72fbe598e48a0c828ed14c0dd5bda97fd44352e0e58118d319ab13d66ba9f676a7d5927734a0e4b1733a3cc024785784974eb3c0261bafac09149a38b0ad6b6051325452e260b05eca45b79d748462893ed72ea4873c21a3242f65b196fcfbf14f56a7920a9cca618a282df006887946d59905ca114fc9c641054c1baf44a6f5f609d1dbfadc9a6cf5aed0eb4b3d5f3501aadea25c6b51b0d4d113d7359fbc113ca93877409e43dc2f83ed3d5b4d38e70836e06d45278f2aeab87def2de9b6204fd2274b51a2404faa9d179a9e6b04a2b32e0d5a186e3919ac9ef9299881f6d40267bbb81f593697720554a44573be6f76b755678d2a28d6208380555d83112e1f6b4d0e65095773c6e707e2bc4bed0cec54e12987552ef69fb656279e9a5c90a97a73a99e88e376ff00ef551c3994c618dee5001ea5748b00e8387a5302e98f0f302caeb305a494549a85605ee32f3e4174323414d6966245b94c0b742fdf6e247b517b61654c51818386064718d5a731b55088e62c49c18470060a9ebdac0bb118115265046cad92350a3009ea976edccca6630d44d0fd725449dc3f75ea30a1d38dfa63e8c1d27453b5ddb0b423a2d7514fbf5f454f1cafe64e0faad8713a40620d7c3034da0119ef98491ee4283b1475df0a4e4cd95cd6e01120c48101ae5b31f99199377c82b6971de8a5c1cad648b36db5f15e4edf3222fa7ccf869fbb3efe9fefea0479fb9733e06ba83465068dc7b40058c906af23a7b58a48949e0688ee04ef607d7fb8a5431eee02c7324fbb45179327f96e71170cd562eca183aac1b2eb2af5f4bdc30bbc9df2e9766d0cadf557688e0be76b6f1abc15f00d342f5561a5fca61afa2234f0836fda2c0fda287ab63cd56a1b40ebf060f4c1763775bcdeeacb4596876d75763ffdb68fcad4883e99806056ab6a053e4125143e80811578b6ffd3d4173eb0bc2f68a8a80c557c7396d8844c361d4c45bf9d2f10c0a3b11b6a1afe4de726bf7860d17627740b0ca772a9d6efeb160a1fb23115559e4f974dcf3fe9ead79263a748ec445089e2db294723c419d9195f870fc4ba99a2570b362aa7951924a6686be33d3e96864b0bbaec2b95f8c205f419787e2ee6e63b0463337a135d1621d26ac11983525ba8521fca6d70222c22f636cb4af03e23d9d5be84d19ba56a7d05b08245a060eefdbac5c03869ece16b458a73883629954928f2d8227da43eab5f6dbd23588aff671ac2783498283fe8228c2f2a7e17a33917be62b776f50d047e8d99b8d39bf09668c3a9da671beacc881a7d2c46bc0da56deb27a9fb764880011063a1a64f52478fd52f2ef79b59fcb252c68e0eb430d7e8b75646287339ae226f103bbebfab543438d4e4848950683813a049b95b8ef514105796290314d8bb9f2908fc19bdbe34976842bb32c42dac6724ba74f2aee65be143588b17c6cc1ad05ad5a540c5de7d620cc4d9b6415d230462abe1296eeb8ebe45a180dd5fc59045a6dc8f678ab15e48794909bbbcd271b8d3225c105dd8a9ba54ea5fdb1813d54095ef420663ed4ee2f2824820a6671deb62c5b0a2cd7d0eba78a5ff0cd856ae9051f69ad9408825f7898e966701943303eb87b1386e651aa49889b92408978f68b8d3a795222d51d67b5def098a10d47fb6c8e2c624a8f1ea5092da7a6604cf4fa9d18cfe5bfc9c690e133125baf8b84b56f2682380cbe2d8164fcbc87b91792b8f5f80928b5528493b66e4ffa1524b62117be3d458d1a76cc55925efd55ca5f95a3e8ce66036d07a3d9264753032dffc10d478ef8a5107cf26d1e20c0d41118553294cfefc8e1a17ad8cbe2d5c5ab7e69f9be1f8aca5e0c3ea847340abe7b22308878e1793079593b5b077255935233050432f2bcf5cb3c271c38caa8cc61b607ffaa64222f2005dbfcaa8ca8706f20338fd505310dad4619fe67180dec3d56c8325a3b51a14465f90cbf606a7a484058dd8fe5b9c255d83cd5595644e70453e48fa2e568f6a53c481e3cc25ff1e74a5ef38a7730626b0a8199a3a2eb773b16e0388e2a4fd22d5f55c6c2076122b2919679777eb3929b919d24dd2e2df092d872ea778dc83e4e3115e23334cf867bb86bd4a33212f3205781e41f5f93efb31490cc0ae98ddb198b2721cdcf3d1f2b082f77916f246ff165ef1eb55670b9fbb93c565dd04f70237c4fd142d08a6db674f410dfdd7b2ef39b5795f4089ba29b5b259de692ee8b6fa4bdd607861a6045816e52e8cbe68dc7f1722898b7dc5b96ae9c066fd94ae4b31576ad01b5954d6c189adabec586de462b0171ccd6c96f32b50f1e6bb6b25113e316736caab8b41d2961b2368fb682147818ab0a24a32ed9ed9ea9f5e6f852952a5dfec43caca35f176d318e7a517f4552e4bb0400eb0296ada916e940138d411709af606a7812662770c67da5c422994055bf8a01e47b2b20a70727a38e0c8f45ce6e0422559f663cd9cb53b78928401f7dc8328c483999a3f4fc1ee2b43123a391a3e67ecedce00828181304ae784bd28e08490b6ad47306491c2b90a9dfe94eeb9ffaafe4c7670bbd0d948d3a3f9834c3fce3f5295b19446db5321f7733029ced19c2857c65d2dd697c473475baaa341d58fdc044aaed17d2d5f683cb8dabfa533c603025735139681880cc2097481cb62e424542ec96fa6b49ab1d00413a40e589d8f68a4879720367d2214ce7c8b006bc0dbf76d7b33e9b64b2828ac22690d79e2a5f50d5763b48c8209ba8d3b31209c6e22efd97c56276d1d5bc04a444b5ba9b78d444be1061b75a7af0f23d973e84aa4beca479274fefa0f8f716e60aff94188b9e4a7cef4dd74e9dbf0a67081c8b34c45a92e5b090d56f0fbe808f627403de964937e2d677f701f6ce6b001051ced93cb5b7679bbbd7bbd0f169bb5f3c223cf7f9bc3717eb4e6702599bbe55bc01d04f6788eb4f80c0c5afc4eba4f34fa6dc0227f21390e4b12ca89fbf1a5b8e88308ac3e788dec3e15e8e99ba47097f23904e310efc821320dc0ac589ed47ac8cbafefc7d7e40caad482753ce180931741f396a132149d517994bf2305da7e665258d868b607313a4ca8587204b2e94863dc659efa289c8769c55274b5102a9574c2de6a71ada037e43faab68481b0016a4e81f4c815d3bfd9e8b0e7f3006444c609139e516bc3cd82f36cd4d818ffbe256979aa7e07a80e2ed66b426c652d9d45324afdeed0871e606e0c8b1421f512791d04f96871b4b4a17179df827d38f106dd64404eccd66cca379b35b9af44962533202bd75891172fc64e0ddcb64c785384c48582bb3cc1c2b960707e6249d0801cb45b6ecef351e20aaea51358407aa6ca6f5004606876054abbef9c6960df396b1cb506afa016a47b0cfbbc833343344f044381d610464145f278074e8027888fc5532deb43e6c87ba620a5fd15f1eacef3afd7bfcbb69576e1bfba6c09883889c729a1cb2d87b91f2f399a14707c7991aa26f2e4c2c80519021f4eba327e0903e8a31b1f90f24ab635bdf156251788bd929ba3e6ea9259e80331c0164980ea962f9bda924494e39894f2f38647293332d02a4048bc6fea1e650f14da5ce5aca3cd650e499fc93a0cb3cc5d85740308b5d092e2cd6a18a77642d46448905e00c19b4a124cc7ebf1e09ce2b63b8168e05db64c01001dffcb5db20c780aa6ca5334560e6e2bb9f9f70caf4bd0c868deb1c7caad47021b8b7c337e0d60566e34a08d6cf345903aeb2f13c9526ba0431b0b3fcbb0c9211cd499a7f79ad662dc55aae29b1e08ca36e25aae2a8df798e6ecf9679ccc81864a095db41ee3cfd98670704e4649ea05acd842acbd24e07eb4caee8f9e6e560fc2c20d23da428435c0debb6d436d3e413c15ba1fa85be797c14357f60ac757e08497f6960f06d11d2da8e0e163066289966359b28c5dedbd2d2bff8d2873108d370ecd8aaaeac18c99a9d297847438eba6263552fb3613690e299f02cb1f0d85e678442dce91e239afd45b2bd99775e7fd21ad29171ddc2773a4242c5a9a37141b27e6c7e8d4d2d0d9aa725a06ef0994a1ed0722ce1de47b397e149edcc0f2be7f5f6c8356a965dd79724e1876d7033ae3013270bd15e11177678bfbb3576ccb9df728cddc884b91d83ba26d46d34b0bb18b3a5ef316874d5c051ce346c561d8c43c53a9386f69800c69a685a30c0ea8be339f72693ebca82633bb2861f2453dccaa7d4ce233c15998ab0187832e410c7cc05301b855e5ab9f3656e42af2c4603eb43b1d00fca789c96f526c02a639e35bdad334db608f1190513db435be8fd30aa144d6560926d7941f7da06b3cd305137de92456e4ca3fc8d8d1eed121e008dce742cc2121abbc18f1e1922881329dfdafc4543c49d9795109ce8846bd90fd984b13163dbda29736792e4448a14351b03114efc6208ae6d4d38130aebf998f11ddea003baf14ea5b303b5054562f59a1977b97dc0b0f0c70e65817081c46dd982756375c29bf7eccfde5337d5367773ec69e85fb7fab6c71d6e793fa5f2907553eb0200a781ee7aaf41e6c7c43cbafc2ccb85826d07efa5b1835680325c49e00f8b40f49c72c83e23b62920ac9bd390f4ae5f77b3f225dd2f1cfaf2915a29962913cdd4a033486c968247d4254053971325150645418fb4a5ccb07764a88b96c8aee69c0ea408aa22ac980c1fda9cd06fc77885be591a5c1d01a5a3f6a6df0b3859eb82d9d8377e2b2261d5f4cbb34f9e51541923f3d7a84141c14562a9608fbd41125c1c7a5b0182c809fda6a66e02f0399279cd7f6aae150582d47647de937538df379b6de8deb0a6f07b87cc24c8d9b9308471fd58d5168fc863695954e817a7f76210176d6e1cbf9de9e120db1536e6de8337ef0723150b3032184a75076d99f7d2b985d053591542581dc41d9a2e3687f43b20c6f081b3e9b3672b684519dcb496799303ca9e49c06ff587ec8c54c742da3d4fde2452b708d6a4685c2be2a07a00e8b4365a6a442b4a6e8b74bc3a590cd68d20e1cfa05a3a713060c724c29def8ede10444da6382cd565dded8f3174d2c64f4956551e14e46cba6510bee8b221bc4148211ecb1fbed01fad0aa6210e17f3814d36049a671b8b5e7eda4112a59813cdbaa8cc5d7cc65b04ddb64c791d159cb7ea75bc9b5e0f898c64f1716070319b6d7fb361dade322d167f2a71bed03c3b13ba70777adeb675fcac7861a89b5a44262dfafe6f9b2bf8a95fa1faf27ae65580f3e5b5ce4b13e4ac8245efa41d195452bde0cbbc2dae320f2c951d4204e15a30735920a95113aae87eebb8abd09ec4a3388fb9c224fec32e734597e4a7e0c6711de3197284a80e2b7e5c5ad3645f9de90712670f33d32f7e011ff6f309e044200f8969bf1ad167bcf79197c2bf7194b292d6199e57217c4407f2d56a18fdc8d031859123aa2ad20d98bd25077dd03f607d8d9661985ad0651bf6af50d840f48019bc3b4c234d87df9a2a9874bed5f1e38b3243ea272750a500d4569b01f2d016fdc4b5d54ecbfa2b36a24b48b0bab9df8271a68152fbdedd7b28dea8f37ab5afa39b1220ad5491a3744d96fa4385dfcefa82ca37cf605bc332295aee3851eb548da7ddbbff0c11addc3574654d19afa502f5c447e927f1e4a2de40274114107d367281062e8ce5d20d1f5cde5b32c77cfc8fea18db5cd850d0dff0c57b23750111d016b11e63a069d5643d95fb3d8806f9052a20d26aca599d690f6d111421fc6594edba44e8382ae3d0470067bdc2ebe4bb35169d840a620e0fa32ee72ad3ac23123499ba324e8ef6e63e7574ddb89560693a34f6305a3123b0f9ef1278b5f20a052b971098061e693ce68812fc724ce5826e66faaa3241c7d28b1b3914dd7cb9999bc1e9d305e9ed0952f967e2dd289e13fbde732703bc019f0ad38d756d3c87e8489afe49a011ed50aaca2d7db809db4be78afe7c3a0a14f809e679fd90c165429f0a70830e9a665e70fe03e533db8530a96f64a5b8723760e3deaa4314106b127842190949935cd3e3c3023b26db356fc8ad7d57bffa623e0a243c1aa1d6caf35598c3c2d0811234aa501f87ebb9259a29d27d3c3f2c56f719f8b57fb895d66b94b73c99dab6030b7809f0e55d42d276b2682da21b2f67d78fe6ae8756df9e44013313c34af7f3ebc26c8c6559009123ed8e956e359c2bd10d1a2d78794aa0e6b709f270e85fdf4e46d801f4112de7fa5d0468bea590ec31ec212fa742cbe3ec60c2ef46a0e3b48be3a38c93329eee641fdd366ad39c9e984b1ea246e055faa384c42ea5a8ecefd3f21f47776d6d29000040b42082874b88bb3b19eeee54bfe76f1533d98dc5d2882d56affd850956bcee931b9ab9e7e0636ed449ff82adceade368468081845831c7f1f05b7c20587487846567533ac738215aff52d07d81e1e59dc4d9abd666101228507059beaf4291cd437ae2ea12ac25bab45096c348a1092cbd134632df68c2fe6bc405f6747937ed5b38556c17b8fa473ff7125be586fb336bd849f66440770f1d4fce1c665ee30fa20fd665a870d59f741de74f47dec304ee11098ee2040ed0280ae8ac1d6fa2c6c88443a9c6211d1aeda1574824d83dd28e865c6da0eac069084072fc5abf7e079c68790b680af1f1868f0c5252d4c95efc7037c6833f0a3e939e7de4f505ef792973844b2d295f71df0bb21057fbf9f74b9453b0bee00c1f2b2d96ac1af98ccab152f47b0ab465546d160928b1ab9f33865a918354fa8477888fa8766604c181630c29fcd82f966c17d934e84cbcc2346480edc9d7e83fa8b81c36639c8943a843431ff8e66579f29ec7d6418d54381d4962303f710549606da6b5593ed2c18589344d88bba06a4fcc174bc194405937796d6db31ae89cc37e7332d62bdd81ba6ea2e05da7107f11963c923b8a6beeb0985009aa8a248d0bb076b398f860d5cdd0ab63570923e28fcaee274fc1cd987e255adb31871f27eb207d99371852999d4ab410c371adb0dd38132af0ee244d0f46d038f2efd667bb0bfdf09eaf9051f6f0d619b065515f6124a25ff4dc6510b1c9f5e2b1c42d9c642e80f66bc1b94a05b365ab1a31ad81070af3675afce99838e5340afa2473b68b0fb7b2a131b6dab9bb02243a76bb3aabe0b528a425eb3a5c3a17984965b58cae1651597a53505d18baa341699939c3e127e421ad33219c42ec7e4bc065576ac12f6e1930310e9d88d2683c3cbf1a8d768785add274badf876a28e982ad077fa8d2217253a4096f7d41835736a89d992e9eadb3063129bf6da71c9b4416a1ce88313e9ac54adfe475c21704f50c29a01459ec130730334edec13505d5ec503dd7d4e5f7d8b490caf8c00e41f0b232b704b7e86523aab2a099a8b8bf69dc23ec797f3661c820e58ba376f8458cf5b56d550baca9cae30a5c2479d761efc4a702edf02003e80ad7c0413f017862d7ca18f2169afde9a45f454e17806a2467fd8413c0d29d453f13104c9cc1e1e3da44fe88237b75d37dcb61c29adc54fbc2c49eacb32f765aa313dc9238b34d182b7f4d1e992cd5c963ecb093a8cb1cd409a664ab47d1b022aec0904f0662ec87693fc96ffc4bc911ef9bd190a4f01c3c26954221ad4540381719f6bec12a8e99b74f492cbce8ef0950d2f42a210803632e6584f5e2e9d8eb8f076f97b76c3dd98a11cc432294ab26b2d1ad3832b94693fdca7a5b173b37d709c28c597d554467629ce9b83644bbb61a8e2fce9df7ed39eefbd1217c450044bf6532f73c7602c84a642c5a5e1eb28b3ab7af1c4049c8fa57570d6fab905db4491fd59de3af9853f72d4c61ab4ac178a846e7fb8decbadc8a6d137bf21450b64d2ef46e3168dc19a6306cb474ef03625d3319db176daebfcb4689bec403ac794ee4ea509ea2d7604b69316ff70eb25cbdd6fbf306f7084d3bf086ddb647e5260f85744a2ea7d99f333833916e83cceba5e170b06ab206e71e83a65571114e3c5a2b069d0383fe6c810144eb9229acd74e9b549b32c311126576cc7626e80930841bbd64ac4f9d675e3f4103eec91c0672c0fad0c435fb2808e5880ee3baaa6aa50a92df5029ea4dc9abab95a1f1e8372b659009651eb0c4da26982fda65232fc173e70a17ed9831c82ba53d84ebb60b19ca5aa05bd2e971a471a83935a8b232df047172a224eb98fb8274dfb6f6cb41127def8c556ce8394db8203052cb5b9e7dd2b4283df156aab2ff9bf09ebaf9b2f1edfc365baf9b33e47d6743139f56c76f399b0a15b34d039d5202899e4d78291fd6e58007209e0c4569b8c65a6885c74eb7065d93cee7bcd2cd0f665bb02432d54285f483ebdc660697cbdbf6c845b123529a4101e089aad8ead4b5b556be28a81afb51d82dc4df7558d807760279d40666e69a9d71f36cce1756231962c576aebf5332337fc975a4387834f3ac9ecd11e0196f6ce8104328b64026be6a8f392c8a522c77cb067a9ed801e7dbfe80042faaf276ea46efa332942f22df4b0203e5f35992ced47189c0947cd4c9a24f4f6df3918f5edf5a8ed9e5ea1074f0eac3e1e1023161984367dd28937fa29cfbad2fa7de39ee79a58e8defcd7a1baaa04ad9fa5d8b60138c74c137fe514bc259e9e0d4c6d830ee97b857f98f0a77fc221c56f100496eab9913da26e6ccb7150ddabff58e71f7badab47eb6f8d9d354cf3c416c9e0e9bb47f65ba76a071d5f0f6a222b67ef9ef3b7f18343ce259a412db66eca6b7071fcd1485350cd27f303416d8b01c07d5996982a38601d7c66cd43bd7a3316160f8383b41f83349effb35235587a5f8d1350f437d3d97581050c47180469cf1a39c5c64a8779806e9324f35ec2c6ab7f9b03f3f579c48b6d6375a179c087bf132a8028d26b433d00e1c0d53818eefb2f3cd43055b964b45263959cf84cabc5d02cef397572dbd816b1f1cce8ab06715a7d15edf3c0abe29f410d82282e24846a53af7e1e3cc822155a588a802174325bef1510e23f1c3e14d92b169c6c18371920493c0046606ef4b33011f5b889277cf735dd4f4976e457fb933ab27b48eabc83ea4eb82d5b113143595b8751bf3ecb6c5dccd98515e96415d7f15a23d0f4cbdabc017e37829a13705e90fcb427ef7c08ec48ab5d47ad787a6209d03759b6d96cd46df45bdcee7ecdc5698df5b752d5219fe48f914d5ab96ae7e675f14ebfdb9379cd54fc4ec8011df7db63977dfaa1784a517a1fcb44f478c79536171a07feb697a660ce7395e3d835598966086dc5573a7bcc5cacea7c48264ec34f3b3f578a0483bb53f59cf7ac88b1135a54c7160bf9c0ce6c154c1b78bc6a14927c87ef2ae49244eb3bcaaaa14e025d0d2069d715533c89d45a365adcb965838a8fd697a01d177a25eeee55bcb1a3a4d0a6e21d47860ab8c542b03c3ac6123fc931b4d0911e382d8371ae09e58aede3b725aa9f481ecc91dbbdca2588ac8ce6a7604ddfb8cf0febc8b7262fb0de9b539d0e0e6e1f5602cf2488fd234226246bd4c69285accf49ccee096631bfc33f1b95aef84162561fcd198db92bfb8fdf98746890b0d7f76b497bdc92bba8c7965e1af422b27ed9a64fcd6beebca3b51c32b3fca37034bb974bb0317bd3c0030fd6ace4f9f368f446ca962d8d0f74fed75f0d6409f10025d7794c2e5766ae68c44487064507ff21c836e24d2bad7c59d357446470b548a82d670edca4f451aad2e77b19fc45311533e38e8948d7bd6802ca1af93a04df74ebc04038de55ae9e3441a909899a88c9d55995ed96be2dc1e54dee5fe4230a8c673764ec626f462c286008bfb6a659e137aaab9c1e30d3b9728fa81e3a9ffbae79cd1f2b5d0733a7fc4174f3e175dd25c242bc4edd490f8e28db7837748fcb9bc2ac46eee03b99fc529e262365731f8fdc061691473b316d7d01a7a377a7fc113409dcb98631338d78990cc8bf2e62ac6e06699695c1c942d3a7a228c993b419d9c9b7c09a2c1d73c123da93a33fa960bc7be981b8ea3ba110ea273a703cff1e34306c8fc0629d211e3473f4f60847d637a4d7e0c6ede53e0c10d64e8caae96e237e0efda8c8c6850b10d99b43e3d180182dc36c78313b400084febeee598893d4f6adcb5675609d02c4df234e4391ddc68b493c2a4f0d087a119e3839b639471f1c3201f7d4fb18d74c483079529d3af4878190e622cb7e713ce4b1e14fc935dac63e0f16e9ac1adcbee1e0c99034ad1fd1229ce924d817f785f5b4452c536b7c461878203fc9432af10abd5eef6eb4f4db0734385cdb2485a3a4d7ffb4cf36d06745fadbe37d48d4daa50fdd83c8e80d44800cef0ddd93e7e22a7cc6b5d8c515bfd8d77a422180991575925c1b57a45580e28381db22600336318068afbb29d5b201bb4548d9322b5d521bf4a1e0a04a8e21973a2aa2a3c640270874180060580ff72869c1dcff7762e93ad23d93bb8b9f13ca6bce3008ec133c4f14cd738cf57b289ebe35c5a2397d444225beccb974d401344328e8f104cd004bd1d679ee9d529ae24241cc4398a8e6084d4547a5a848f5c2fd842675627b8c323623c7e0de28a7d20784ef8d71f83d508fb5580dbcae253d7724194df1050247dd6d6ecf4c16d661d5b19553d6637b8b2e0da85ae2f3f08b25bc0703cec0c1da5262f3b10c7c3f216a105f075fc3bdb89b2a987b99128694114c7672b0ad2496eee5a8ea29367ec572695c735450cd922812427f6a889f63a4f877862c6acd9405c20f9871d89fa568755d3b4c06e45522fc5710888f06b56a81545550bb57e6d8e9b7db71d157fe816d41f3da544e99e6b2999d9f17b26b91dbf90001c71377b8733606d2c72a3589e2e700e30412dd0764df7eb804f2446f29d1b2ff051efb3d6904c85fbcb721af2ec8233f377ff897272f6ba979b50c3bd13f571b5368e39c1d863d981007e17713cdcf0bcc7980ba547db10dd0f3a7fbf28177ac26d2cbf6edf5aae9bbe50a8817d1b18678b1f2f7dd103fb9bcac0893397478330b02d28f841eb7d89235c91cb2619c513bea81f773d92ecb67798e5d9187f2a5cecf204fac5c3e16c12da753df654b98d6b229835e2c7e83e57ac380d87f45b3ebe1e75f69d91158341b33ac55f2c1f1ccf3eee91d798966b5b946d8fa587b5a7044cb08446f070750082e0d92777a3ca2e878287872e2f07bb19f4ea8aa4faeff82deefcb5f5af468503f8b0646c229958e1193f703cb5f479ebc8e23ee132d0654133874057656eb5020c1b2d4b211d746e4d2a125914826bb0e7de6151bfdf91525baa7fe45c8c7617fe5cbb7bdf1446936e9413f5deac7794f54935c86a79e75b193b0bfe612b9a04f328be31af744ed23fd12166918dfd96a6a2d68a427f38f75b18eb4d55bb347c1cc6427d33f1a4aeb42fd31883ea309799bd2f11cfb6e60610ebbf7b625983dd0f40fc11a610bf4ad8a8af0ef02f86333a324b6497d449ad456a6ccf802b6f65d9151349cc26e8cf6bbd0dbd63a42a904fbcca7a208aa6b97d845a8bdb3bad5d0c29f6a1bf5da884248a2b154cf83a1f4b3e80c8a20ac48217a6208f5bb617fb961d7113d4cec0b32d1959ee1246664308c670015eb5629c7fe92e7b5bccdfc525c6ae1fc0f351910f3b97678470ea402122585a615b216abb5f35911c3cc59e0761255f317670a927324e65078f5ddb036b778662a63724a2682897e3804a574939f4b61ecb027a9542771fad574fc6338baf09569845d526f50d5b8389006a6516bf1d18aae966d298586a31dca624fe09f36bba115863270cf2852e4d1c06d1c3171819dc4feb2c09620991f9ed4748db289432b4496d37a45fa0fe870238cdf5690cd9999432bd252ba66783346d20ba70936257739fbd7c69b04fe2a3dcf0b845fd98fabf350c6a1d5c93da776edf89d1562a661480f144af74f168ef66618ea8a74ed1532f9c85e54f062119f3a83a6eb73330c4705f88b1cb447f2d3cb017f02500d2664217090c6df65b87979ab54dde988f050cceea361ba84ad01e3007149e57c756c6feb23d46ec0095423a0485d68f654998a5c6161d584c551c636ff80d8edd65ac892459405c944d25054567479097fab898047f3b515aba03360b1326e87d52e7da1fda4d00acf62dc1585ba1f571be3a021b4e617f4363ecd8a0d30f4d0b7d346c3775b8f77360f856bd671d19dbccf6ad094cfe0809884b55c309891d855854f50e408e06295668b82b4f56a836f042bfc4bea5881daeeb3d30a38238bec9d150ce52d5dd8a3fd7416d81aba3da3e5b2330e3c30b3b223f60653129063307f24dc07dfbccbc399bcec8c52bfbe47c24c7873b0a21df9cf0c770c8866e2ae0a9f8368fdb0ae0226c5ec085bd1eb56403dbbd9eb7e2a61779b5b2eb6aed87e2c0fc21ea22771dba519ffef93504044c1804514db8e5247a2693269176b6e1b76f03ad9421d854b623378f403f726432e7eac72b38c0fad4e631ce3776b45cb3c2b24c23de9208389931704d13e2f20248f7a87b6592440f5bca0c756f88b9966ba26c336173e95747f57d3fc68bd9721030bc0387252ff20cffa9ad2278388d72cb19a228deed7292b6e68258550008d8445fcdccfa685de875e0efed30e5500458213f4042eff7a728c5eb378a6b488177a3620fc3636f6ea452826aa3a414461752f76f91199bbddecc602840766f1c87443927777ac1c49075b74e12681ef23ec2f330bd54be147bb298d870d637e02c48b61feb10923938927a04af38cc7d762b973fb1e991e0f6fbfb8a0e89c80f39ecdcad5084d041ed09f037ca74477d96661479e7904779a168be9427795adebd947c46e7805f8aaa19fb685886eeca70883f702b5c44d8d17b8790d1d68f412226cd2a70ea46d8209e5377e71b18db63fdc227ec95206e1823526d35048552dfa0918ef15aa1cf0c2b794f59b646f43ec0ca269682febd8fb451eeb3a33fe0b732c0ece21f70b79daf0dc30fa3e5718e83e15e41993d39c2e8a44d845052873668a2713e743f91216b5cba9bf4550b40cceefa6ac98188589ab4b6d2249a3ac8a73c8bf01b020b13c7e3d160902e1f594097f2755042c99e9dbb45c7ed7262023be3742152671b6f14f16a10b91e4c99a213b9d9138398065ba9cf469b0717f6aabf38c8791fb66b5ebdfdb96b2bc08f4ad4d473eb90d783a9c38c52f2c6c94c1882921652734b7724c0e0eae1fb11603fafc4094d1412f35c3f85961faf1eafe8ca60dd506102b81cdbe4569515c09a669550b652a5d165db3fcfb68b2ce2b2e310b9bcb9d495cf73352f9ba8f426c170dd8d0b036c10469dc3e333bde67a509e7d14c4e542bad7ecc682805fedf3baedf8ee84ba7a2723c8774dc1bf290eed6d24f2bec78ff4d5b9e0d228d412c160b9cc3c1ceca432123573372306d94e1cf2521ed3b7ddb8b909593a7e308efdfa6c5258c982c58eaabd868f9f2bf39bc984c52f750f542a98761c776dd88c2512d572fc3a693a12cf0dd87e5c567f5a5ee1de0a1ef7a1754b4fcc3fcd528beb498fa5b901412e899b9068e405072625f219f952293413d3e868cf845ed0ced1493adf46711c6e7f0c77e6886be228d5dbd2e7b4195079cb839fa4b16a1b1e56ec1cab685402d1ead30ee96ef08bee3452bd343044928598198bc184bad6a99918a9b5de36d7844599da006b1b6e65f9c9f85c6cf17d3beb3557145b287b8fb41feba443bdd2f14378d0833786d455da5b888d03e7b44efa875115f5ea147121ec0ff9027bcbb29016c20ec218c5f082810a64093d8e42650b21f6288803d28d2fb6f84dc063ef337b3b1780f669ed1c2d2792fb41be4dffe75e34e3862eef61e7460df126eaf4928acccc999c9837e8dab38e8ecfe2dac962a2073102bc29efb49459ae26b09a6fec78a3aa0a2e362ad32fe92e2de02c5d5151f7439b1eb37537d37239f7747d973cd8d69891d2f97984695b3adab02e8a2f1e340b0fbed27fd8cd5d58c35627dd5069493ee924b724e087f2dd63412ee4875e0cdae255d237020e22bea3a6fe3a4da1b7aa870c20e584b6b1d6d155f34f39e042beda5fa6c129562fe39a53bf70a99e32561d95a535a4b1512697039bfd345e55affb7a21f339440c80cc2fc66042e046d8d9c3cf7ebf799b5c57410a8728e8c13cef29cfd6236ab51c0956b1877753284450daafd1b208d7ccd4c40157cb5e7296f17c74ddf53ab2da068a8247c9f989e63c67adcf254dcaf387245a1a9a7b7009e5cb8664b0d8b1262908f226d1aa4841f2f3cd5f5413eb4ce91507ec68acd5dc778d2581f21ddeed0c53820bfbd078ebc7226ab4356ee8661b92ceb3f7fdd4624bedcd08c13b8ef7d12c26d107415dcd2eaa1864c2bc417967c1b0f62c7ba8aa4e65017e7673c7091cb7d50e7a1198ea50854233a5a3d47b6e093c6d7b345e9609541cf95d6347de007c55c635bd940abeadf5a36ed4924e387fb74c1f6262527a3feb35fef1ef0c2c6c22c6214bb6d3876656712f4de3eabb5b85bc659a77f558d9406188b32ef7892046aa275da17f39ae27f31347aef9f4ed6fbb3cdeefc3c7653c517d8ecfc622d99b8c121383322ec6356f190483dcfc6a7f9075e3a795d26639c7e792e844bad8eb9a9ced0a58f5327fec90dfb5a21219d9996b5f595836b2f26c7c96b6f8e9c0b70a57c8f9f64583ce3fb538fdb067887774465099c32d09a6ab07861dd183b8c913239c38e3473fdb4d5fe4a1f15b672ff73d869ffa133bb34a413107919f5551947e5993c4e2910abeafa6a515615544551181478546dbe264ff3807ada858280f327271176d7daf3492a61fc6c64b2232becb73a0b0afa767caccaec698b1c91c6b0fd620aba2508bbc022209feda0ef593884e12032bea980604817b0a7087c0b5fc4956b885a3d185e2353801df3b9ea81e919ebae1590b65da435d6dbb0b7898b4c2eda8e3ff5eae61aedcd388bb856cdae862286604be074e66b180a7939ea8e005df942bcb3eb57a7f815d86b23da2bdd191d9e15068ffca3c378e3d4a8678fe7df23a489236bf01676d80f5be69ffa7c6f37093f6a5fcfa7b9910b05a2feb43b26ec360b6c35e5c2eb9cd3b45d3272573aaf1d5579070834826a0e8805e713420e4cdc049f2bc34946d758442b5495b48a0ca1438e308fe7d4395def32d07e79cf749576a787b1cdab0399ca4425e0af248ac80d67e6b1ee6bbcf7e5e1983f4e10f0bdeb222d463ed44148d8813730520979bfb5ee18307d89672e14af27d634b65c824f7523cb3377f52f03322ea246dc32c335f912a5d0452a72cae7d3c667040cba6222f89c102f2c3ce1a757fc4232dc6a5857ab3d5fbd4c83fd5c2c9d582063ff860374509fa437cf95e29a4cdd2822ba5f1f5da7a7c2a3450f4b3b28db9f7677910515fae24ccd85ed8e9346398b6b1f9a6f6859ec0f5f83886c32793da5f15343efd610f90eb6871df3f561d9bc302214b472c9c51795a4d1ad6c9f97a2ba540aa84c5b9fd78b5b9cdd3c0ce3febfa4ee0b2d0a1c0f3c665b089e4307a7c99397a50d5c86f6d02995f356322fc596575b2816f5c177b0933ecdba044684df95624b47478ae78d9447414431507af5ee9775115ced2b90f9cf2ce5f6dd7b64e89f43907569c616d55d3637832a60698a99346c8986cd49e95d3c2c293e8df0d0e03233dbf075772cb1fe2d8b5ed60561a412184b63a4349f6bffb374dca441a2a49948b8f1f89f7280efccd0eff5e86ef30f567bb172e95bebe771dffaa79937d487ee33f91dba8801416a141e11f6377bf8af1c09fae57c626b6281001de80674c04335b40be3a25332ee1ed7186426d63d3f7bce227c3eeb3eadb4c68e43363d72da9bced654492d2f07592ee16296d4f99e979303b7cebe2688bcf756434d709cbadfb2a713bcc55fe63203292290b0871e8471f1503d95ebe981b6923359cc65d6cd33ef40e93da423c0733dfa45f0b135d5c52be5d821b06fd7a923cfeb8c0033c91a1c8c4f4222bae672a3d0d6b3d80166e56a41b362765d76b39c745663276abf88a54f5b4104594ece8b1098dfed0fcf280df4c6f0c212a00e25708c846dc0b6b256b7d244b1b86b592c6f2cb7ccf27866cdae80938da89982c95b867a56c20b47a9f92cc576c53218a21f13f36093ca2370e623877d9afd6f7b79bb820b99427149b9162aedd9929f916f589bcef2faab2abca3aa2086173c4395a44fce238120067a89d84eda0c0d664f1872014b371bc16e76e5b4eb95db92aa7c5d78ec8958cc106d44c97391ba3493d54ac022132f16a9f5ff4149058c26cb0a4dc01eb83d747e96b0de361a9f93af48117d79b327ee8acfc6ee45797a8aab22fcb58a6f110993c258e37e80d7107821abb5a2f0f73fe32f13a95b4248731180a0b7edaa81b64e94fc4eb87f5246f95622b1403f048679f9d7f03a56e0973c05cd7d9c9d2cbb15bba840a60cb8a186283e39a84b0b0e181aca0cdb374238aab9cc1fb78e70cc66b68c0946b411e596b9272e05e3aee3a2b6660463a3f4b0f86b22d5514a35673c7b2b02453a82b7991d0e1d531b2ee57e9c61906139067af489eebaeddb9d1c9fdfc6cd3c9e273601ef02885d59b873d57fbee34afd129bdf368cce8d602b216886a43c6135eeed22c9501c7d6eeda1b3d2e424f13dd5710f597c696e1f3cdedbcdaad177c7094d42c43a38a3591dbc38a3e369b680b3b42e4d04d6e65e26ad265b0b18796f43f2f524f654bea718fa02e1696a3865c04f2cfb0c8fd210355ae5ea5c8293bbec97bf4c45d90eb13ed67a6c8f80cd804a75bb905aa880c65a2f55e0e943397dc57c4c129f16ef12c6f0c7b795a510ae661ca69d07f3b0f7d9ee655540301c23deafe17d61019ec776e246315620a7e4312b8699bbeca89f82894387369d81c77a2feaca933f29fdc65023ab9efa0aad514cbdb0f89ed624b9ebd80374869eedbd8ddd50ed38a23863ba12f648066c898b0f5fc0c3f4c52879ce00b7b8ddb37e3c35ccfdc7aede9414e7ec9e4f6ebd1be5491a3e86e6fc0cd6b274e096ee883c3f462fbc21c5b343bfeae16636aeb770dea82cfee1e4835c683af2f9c5876d6b34054c40544646c907ba1e30fc06515efcfdbb6641dd734817e6b24a3f3c04cb3ea4160465928df6fe62ffe78b4d211da5af0166d7a629bb55bdd48a1149fd8c68d0ebf114b31475e4b40feba968040e3ae2d4f229874f43b56f92d68256b29a582202c4f12e812239841dc559b1b17babe0eb18f79cc621228af274615053f419d1bd0b0463df00326d530529e7df39796ce013ac72f3bc65386993267f5b6b7d64d19244bc71342ed36c162188ceb6b83c6f96f14eeba92876fd43a028d73a5f042bc42e3bf7518f8dec51871724f75f68e06c82586fbed9c65b0b66be44ce930f53d110465f96cdd51ba6d58652b5ecc7b1f7759b411e896035c01503d9e55693351f00b251fec09dcf0a65f6401be493eba961c4c8f2324a9589669a2ae18f27c47571bcd7bf2bc9c6452f0d7611afdad6d12257ed34ca78a203f629b31401411839f1f9851c0b0b01ba021a4a661bfdc14f1d138f2ce0ae962aca6ef5791ac9976b8690bd7ad975f042379d85fa205f9c2a2ce75e6577d34eb00105bbda32996d3ccd5bef8912c9262804ad7d03e8a298348ed21b30eda91ed307e68238dfbd101ff5872b0f0b5578323a6029e55ae0aec780027d9b43e649f9661babdfec2d02ea9f81a7ef8fe5ea1d1297df68990e8fa17c9adde5b7f771e95899230b1bc7a950e8a912caadd0086b27ea75a4eb101e2848e9a89639442c1c415d93b58539c7e41106f9f0dae6d7e0b8410efaa47b7f1a24bc86b2d2ac2f974a6dae7487e0f6a11f8294959dc53d69c67c3851ca55af565f1da8d484e5147a061c6a493307b74e07295689a097f793feeb17c3285df227d9a9693371b76545b19942a5cf2fd4d045275632ebaeb0080f64eebcc709158e7d268b48be989a3175308016c43b52fed4597d787854fcc381d87a8fdc159ca9ebb82c997f7ea0cebab27431f489266fcd29c4e80238c6ee29e7936a92375fdab805a47921180ce526ec05ef54b524f83c5bb31c67c3dded8a1e3a5730df89565c11afd5db6960f2a37c181c0baa305cf8cfd8f2881dd2f74ffa1a1079397d9c6947ea2df29f5edd6ef291b7281d2684907e068923785992f10fa0b3f168132344ce75eb77b567a25aa4a6d677d20e3583a3b5a810941bc7b3e1874622cac9f98ab8b4ac32de053a52b780c93c662a88070987915131758dfec9d71b308e9dffd8b7abd9d09f7ec3dfd3ca530d648b450103b925c6dfe9d853a70f16eb3d6ed2349ece53667e6e4824b17af4fbb51cd2e2b5a27c5005248b6db94d5effda385d2dec295c51744ff7c6b28bde75ee5340f103227ab71c8431a7537944153818e2ce073c2f6db03f59756945b061faa7c508fdaf6f81b49be502e6dc969d7a1345699b6e1eeb69fe86948718b51fc56eeab6cbac2046e7d662251a5421dbb73bb13fe002c2ec9f8d2fa190b414b77b00b1b93e20b811c3bde6e6056183bf982a7c785bfd65ab062b69db41fe95ba0978634a42a50bcb641ce525bf1784442984e6e2079f17816f356b86ff8793ecd73f0e9c17d9900cda2224f74d2568559021f1b5bbb9d6ec915c2e31580c11bd6e131adc2e63913f961ad8a6d02ecfb75b59c55e62e4413215b943cf351e4447d5739e7769e3f1b59a16e82dcfb4b7489d80be2e79c47983440ac9568d6c0b14b41a50d1d2f3b41d9d2fac319351a723ee10183677e5f92a3d2009742fb6449fcc2d498616cb269a1062b22751cae7a12acebef0b1580047005ea2ecae91184f9edf38fdfafe7afe550d2c3b541e6fa211ad45a22b14ec7cdb26d6965a266568b444d882229c01d1cad9631cb5fe28a14acb2b685346142d29d695f73aa30a7e0aee3043a4cfc94f0af8a38aa34a82a6271084352c536945b6ba2fee069fbeec230082c087c5e1e182033403849a66709c30f0a9a568d6b9595a5248d82818b772778d89ac8c38bf103e19d98a80e6b33e847802390c3a6b49a18bddffa00fa27b43e955a5034b2ed403a8679270992a8335616ba90cc9e92f32321bb24c3b278d15900488bcae6cb263ed0ec52b008bd07e100e2522af87d432f6cc2cb28bd631d66269792d137e26fd3221ecb8ab7377b346b0110ddc23757ca79116e5905847dd6157b74aabc6cc3c93c63e4461fc2be9be45930ccc14136f7092df9709cf029dff8859e6a6d838c717e9067bf58bc6f53290e5c319913507b67a16d9a3e61d3edecef6ee037afcf8565dba6ce7446135ed6b6c1efb17386da7ecdd52acf9bb79c6bf9d8bda20ac6957dc44062dfede6d83049a767aa672f7b3bbdaac31b6b2998784327e66b0b871cc2bfe8f54c4af745537fd9642eafd9910c56a7fd0f7928d764f79f7aef0663863ca4a541afcd01a4a61243a148f19e2add87b95fef49462f641decb38eb727f5117dc3f274a3daadb6600c464a50d073f2b9e4ca18ef90dd1bf7d73b514b2a6c3f4277760379bbd4382b13157371354020c4060f9d7ccc6a88d5d2613edd2e6e2bcad5140231b9fe26526a7089751ee7cb207599b8b5010eb30eca9c3cb78dab613d1d827686a7d6077312be7ba120f5cc723351d1cb1acce032a206148ab3c35c6ac14334f5eca872d5cdbffbba16aa428912c36a10c1396e9b1d2a364806c1b71f44475081dc0308b20be33c08ed0042459c3984ac6963472b1d478afa90da0f2697991e77e086e025534c9fa50448d2a6197c81f5b215e3752829378066df4d475c3b07b0cfba91db46216bb03405702fae993d21d9158a96923e83746f70c970327f5846d510cc66a2898d7d1c1b74ebdef1b0f9ed64a1c1abf33d8852f3016495ce53564eeeb601d892cf65441561f5ec0fdc7e654b21c06296ac9cea150553c4813664334adcb793e888dd961994f8407498484439ead5818da2e0e9faa01ec5a895df63a9cd243d4fcd8f37156977cc34914d49060d70f4c9927b49d23205ed31fd51fc0dfe97c24ce413f14145159f283ee55ba97f414539232a4829de46d7c6455a8b4a31dba0709ee43f2003a7f85ac52503d8c030eda3f3237c39ade9fb605d41eae2a3e4b95f213345d702753029786ea843fb7d56807f4da9977a6609a1bc4f0d2a84e6d7bccd333a30592721687b60acd2c482136b6adb1c6fc63f151343286302ef4c71c62a566a698754247a903fd1b678b0a1370f391739ad9941cf747f93a4af4c52a05705de1c7864cae9de3158ca0c8fadb7b01c1f9cf3a531fabfc83f1b7e0d73e3f04df62ce20ce83c5ab57e428ff883e19221ea2b138b0f391bcbdb10d03d1da6c45050fec8535b616626f7e8ee6cc3941a1a10d1a4e78fb3e14878131249f26d31233ea6b2a99fa6f2346f7c0d251d5f58dda441e89ca18a2d1a64867772f69e2208ac145e3c5528d4a5ff7c2986153e0d159f5240d50cb290c00a25268ae317dad9a56741550e959cc83863eb699086b77df05266ef88cc7ed42d952093b8cefedeef238b8b9730ae7c12fb3a4db2f8e11ebbd9c1c99d63d55622fdc13c0f2dfe7636ea2c194d6b72f105e6bbd3fa2b2394f568c42e9fe9a2d9cf032257f246f5858d7a90f062036f34db122412d17abfc607325c66b7cb758b2b6530558780a51c8de3942852ac4cdd72b24539bba1955d3cb69b599d10d137a82702a880ccd643571645dea0c2d43ce3d8566815a14543ec42ef8045825a5dc00aa66fcf6cc490aabfcc46b4055fd892afb7b8d89c0da56a0e859080f0f9688e58ce7d919262be8579a6d71be45617e8482c7d7ae1958fd97ba94a428c3ae12124aa311459cf9b71945a43bfaeddb831a829c1a4b5a9f61a3ae8c78b8d0f5a1f3bb76c89cd9e286be7f945c861f7a39d5891c7508c20891ffbfc768f0b3eb20869af2b1c37484c0068ee9c1a5743a4242c7e95635019deb4e147c8ad62bd50049b72bb2b014d9a9b4e064d159b8b76c1b3e5f822e1e05203d32908c150b49403432d46c69349fd992b39b099fb5f654c890142879256bd91ed56225bcbc97f69f6c2e556ee6589a22342d46154dc89510353fdcd0ce875d6cc712ba89d32d77e55c9b900637794f31bb2d8d13cd486179144545febc2b32bc80d0f8eae049fa9e2ecd1d96170d2b0c4c6e1b1cee4e384fd578d2a6d519e535cec597a7764c7c486191706626953d7f96f1d3a61f28571260941495447ad3209d98b44407b47aca71239ed87bd490ee047c8be365f373b5c9ab29c361a500846e91e11df3b16fef49a640c7c6dd8422cf4584db0d664a0ca295ddcd040af2cfc89e83270aea82faf1f4388ffbea39d5cf253d8954e98efdaceaf31a3b984e256487857f7dacb9557fb5d3de8914de16578bbb141e3c3f4f116ec5f89a34f3aced10bd18243ab7a49a3487faa9a91967822974e5a5daddc79330324213a3124ce6e4fd6f78cb585d4aa8df16553aa2a4cd01e47485695fbf3c20c9adf6d3e7531ea679265d0d9f65d4608c293e8a542b96f6af62a4172d9097ad870579dc149a74436f38c84bece484b8ffb0253974f7af4bbb554aba342672eb24b2faecfeff66858df960ebf5d4ab0bcf02881c77a9f178bb7742e4fab2e0efbb4f28ef38a11539e987770d31c3bfcf2323c68c505c98da0332f47e885333b449fb56b44be4d8e409f394e096d4b34fa0952242381dc11f25212d3434edbc3d891e85dc5a0c79e0f2bb80d1f94623e67f57d876b8028e917b6a48505ef2a547bd634a9dc8b0fc42c9b71f8312ef595816fcf54345932ea79e55e2d4ef1f43d72e9c9bbb7a1c66107c5ac3cdbcc220014580108c4d601b2e5fcc8bbbb4e0e2757a8e841f6441cd7410f206060f7817d170d92f715721d953748a1a06f1d1c701d0684f09fcca35d04c9a04cc3d01d593d1656b0fe5b3259014c92f2aba1d28b6424a0144fdd31fac8e2317d0405f11fb11adccd84dcc51e3f9f02a9017a443783027e0fc5e31d4f010ceec74152f0b719a66e8ee9cb9c5bbe23268c43c8bad226e850a65c3d794bcd9b15c832255a8bcf960394a3ba5a4bc0c3d74de6254c04d0d7910de2aa4e3285101553ac06f000305e08a715226dd784fc9686e12140a79a82a288119983a519a2754f684245b619c2fba5b560644ab87fd294ecd7aa56e1eb1eeaba7049b0cf8d4f7abfd8a73e662ad585df683262b19028c86ff37121c5c03c2c7f9917aa6a2a618d4d01db663b39c96b36b7ad0cbba8af9b1c44628d5834e900add700d83786fa0d9fede1e4d27a87a3f578584f28b4d34e9bbe027180e73220f3ac7b197184e64481308cb796a5da36dd13a2d0798fdc73d7468212b1987a1a1a3d016f3cd48f5072dea7544addb5e7c477f075976c8f6a73d5ddbe5618834e189aa7cf5ebee5239c376209358c0d41fbb79401688851d55e7b30275956e198fdb264cd39274270fa54b98704e18b8273883e7062d81024450aa319bd7353c88306e186f4701b332dd834ac3ab72f593e8f7498137acfeb08b519df4639f4d32d4c92551c734d4bc60ca0a0d8e3c5a6ce5fb90ad08c84c413f25ade42f16a2916b75226c459d61ed3449bfd441475f71b1220abbbf54afa31bf36e911993db5ba0cb669bf55b020494fea90aec45ae372ac6c141c3704b4047690bd1335bf0a0db7326bf4d5ad2f541b0df43cca174a3aba834ed217dbc27d2aeb2075ec21faab20dfda1eb0bdf087c8c71de1f42c97cd3134eb08e5722e87ea6aa8840ef4c9d5138f618ecf467a44eb6a876145a901310057b8f3f9175c3450a7830fac1a8da86d4923b791d336696e8af3e948096f4a6accc7fbbd735452f8779539c1edc6b213e0b0682f34f5f53994ceedb1f52022e32267a2b4f55ac217a9c2c01d861c005d35f6fb16d6418036492a6f62a5bd67dec67e633ff65ccc3931e62ace2fbc705d9a81850af2916f70755b47031d42f370b77e777503434a97880148653d5e753bf1ceb9cdbb04fca8b67c64bfe7024a547ed95323940d1d8cb802786c824976107254a974af9ab472db6a1633d820ca5dc3c38abed88d43554d1c99eedbc94a5f5de1b3bcf14c473c9de25d7dabe3c6f713d185bef9a831bd8819d2ef894a1dce47f1e9941b8f3cb63bc96fcdb57e04aab7e947ca286a93917f0ff69726455b0ce4575bc09c8af5cd852c0a0041a590f914a31aee75ba039fdb78cad560bdfc24d59e6f692ca92eb4506ba56aa266628c455e3a400356f214a332da1895cfeae44f832502ca73aa60be2d42e541b686e0095ccb2ace6efeed30bd707556dff005b7d66133bf5dfcefa26c14523755bccabf3c933a01113b1188e17c011c8f7ddcc5445f15e0b58156f4c4303d7e19e0c5023b5f2efc1a080652b7aa66e72d2ac2680014b0811571e9187a34395e4906719f2295cffcb2b1df873271c137229dce3356deb2584a60025975b79fb0c0f3021f01449808eb9357ae6fef53493b162a496f06fb788a914c59d99d2342b75d1d10188393b5b525f03fa75d55173a14c62d6c3e1a6e28ce0158ae1969afe290ffc9e1a47240a9c4062a3275cf592366f6d9825226f264140803d5329cd3ecf5c5d466fc5bb868392f2d198f3b9eca002d89e2bba9644c622007410f7adaf9801ef0916d73bdc135ee64b92cd1dac27cd73611d29b9a9e46d487f17558d420f5221d6fa928fefad59577fac59870c3a2f7b920d289d602bf306734267ac15af2ae09fb47797fed50aff46c62e0bdbca7daddcad2d207f84039e7ac81d150ce39cbf8ef7db0f7f777a3ed313ced5a58e023158b0f8b6411aaf899c49fcc4f545de8645345f54bdb9200dab4c87de55089bd889aa843f43517f67d4647ea6ab267859af2bd34d326aa0b2264931505b88a23689c8dc0992e43a96ec882c11534a2be9a1eaf9d5d4322517c821da2a4de37e908aebd812a22545716957188bc91052278d0643bcafc728eab93dab89f8ed74d6977aeafa86ffb04f95b1981f579d7899871751567a8d2f2c242dbaf510a15106be574e47de8179bb77f7bdab112e4c1b5081881abced228c88d4363180a1357269ce553752bbd34f009eddff155bb92219c74041a8560b04cb8547435b649f4aeb4ae433db309eeae1c26c05682fc5e8089c6648e5dd343fa8fe98ca4dbead37f04b4125deb1561103eebbd3903e9417bafd20b1013f0d115bcdaa2c15b3ce453dc57569d16ef7bc5ba5ee18013a4134c0a11a30c943348fc34479ad33f25cdaf955de3639c2271bb0e126b50acb91e3fbac96c2fca4c9b1f5c54e2f44b7093ab1473026deda6b8937b094296b03ce319dfbea0866aa5726257efa411727f79e18e7e02f6447a1eef3635d1bc28ca4c4aa9c2f9e96b54f925a14794eaf46313c6b14f1ca4d5f04ecb458652d50869c43ae615c2ddd3aafe9c44e27d102d151a1447a3deb920512b6b4495b347ab572a9e2a91a86af72c995c450ea9a550df86da4587b19ff849e7a2eb67408b4daed902cbc43051a741ec0818ded9a4c02c5b9dc74f87f5a7f3679eff8dcf2720efa32fe4bd7cade91eb66b93227105c074deaee3140c76dee74531289a93da4e1fed370bfe00f8398ce6b7a54cf4b10d146c2e945adea513151bab69b01695a37a41ae09a0c375fc02de720c4d2bf79c5a810a3a9420c4b7b3e058d71d2e0c2869bc64c85e37279a3b545ae3189af66bae5e9391ef933c6007e9bd7f97e4740d40c9e5794fd02d22966472ca29223047db56e9db6660ddafecc66ca171172cbcd132ceacf0fa076bbdebbdda2c2bbabd1f899db54b8a6e18fa38c751805410130bd792c12d23043cb606604f6357afe9796b321a40dba359f1ac2bfb03b134003d02b4e3d2304df38c64ae52944e6ca59b2cc77be74af809ebeda2cd9c9812c15dd8402053a7ea4440b41566a9b1c0958bda6715c23f841b70a29e7f2be6e34e2044a9857470632ccc1898b2c861bb045456a4939cfae9f76e1a93f300f0ec036872169c44cc8c81f6d0cfad1a4720625919e84312a84c0ca92bceac6d8ac296357265b8bb31f36163ff88ddd443e77b53231a830c9bb584665a83d6b8856de2d1431638dbc6f7f59a93117f3bd7b41c2fe8d234980574a51118c09789762ec9e79cb56d2fe8305eea11f7f9908c9c34331ca185097195b4dffb78403a381437e51f0e0710c9364c5f7a3e43f936d0dd03627480a5702a9fb4ff82f0f66c4e112f1c54d7431ed769b38bd82c231330fa72eaf3f558880e575abf9eb8e9430d25196133ec15f139000a263c3a46b4ab829e855aedf877964fafc84bc517175dcc5cce57af1b5b1d6d20bd59fad4d21481e7b14fdd8ddd696f8846172e4ae42a9371304f166e401a1bb21cf73703817975e940f9e810bd564c269262a7e842e9d2a6dcda58e364f080c95890784a15d5fde6a39cf5573c38fc70cf513bfb305eff78e28497be2b04163dd870b32544b9f620c294e420348e917a74e0fddf06b5bd583dc9e2e0eb3940975593f40c1c503bdc1af7628854bd0b77e39ed7da19abfc1a6284f60e9cedf1308c26eb60aa474e3fe216a88dd9a970bfd0f0e7f747237c61e2c7f3c12d6f0a06b088319f6eadfecaaeafbb2aa325bfb60b51b2bce1399e7a930ab2520e6fac55cc814da069cac795bdc00fbc7f93a1f25f6b107e5e4e384f1da9ce96ed6c8f37c7b82d60738ab784c836c7d6841e3fd4d2b347f60af901fa031737f1967bcecf9f14ddc0d0449f71436106e8bbefa9c994b1630320c5c97c873b6430609f115b97ea1d855cd2a35b07800633f30a16e0119258b99f0e4b8c94f504f04109095fc125242ac88cdaef3c2ed87458771ab8cc5330d0a9286454007de812048a863c7baf2a01a0eb679227efc3a9f60ae8ef12d65fe584215f7448fdecead1a15746642759a23d098d6248221e87e13542d58923b2d75956a2a8e71dd0f3ecc779fb544442ec26d2719cb1151de8647aaa373c95f7cea0efb265a8c5c20638179dbcd9366b7955cf09518477b983419d308fd703108dcb251962f6f3e54d7ae94d2f95e8ccf31ca9825a370d75ebba8ae01a85c1549204da9278ed6df11b889247225145843df57bb5eb88d7f31ebda5af4f1e04c5f5652ee734b0c9a14ca31f1a9ce3f2144a859d055abd21072479f0e55f39af3dbcfbf9c4657872c45b69b96031bf943622f4d25075def9485a8668a3844bbc58037512425425b922f6cd9e1ce701ca4b00d13817adff10a6e75a1a35a25627961ca7621dc1181557f9700fa02dcc6a45d822598891318b6fb43357f2134dbc1e60ec78b8a6420b0a0548af168972e4d496d86b8722a775173b1f715be26ac7adeea83eb03a3654a8fd84293ea00530d4503b96a2f8698efd7e574a905aacdb17a79567bdd28cb71415c622b19ecb8506752cffeaf66d3cd743fa71de22cb402a92b10fc9a2f574750272b2f0f9dd77a1e5a975f757b1348a0fa08fcf4825375e205fde0cf1fb01dc63029d46a653c2b5a64f23af7ad48b479ab6212616d4e28ae3745464e75d175b0065ec7f14f96e658a4242b971293c3f99e392d68acdc76f5b5f020c24267ced4b96b4d1f394042ede50099bdfe05ab817b229e646caca68b8d70fcacf607a7f3fc7cab1331b2a6caeb50915f272ac2bb62e43bcd4bc1d55998d5d099c3e0bdf5578cca1c44015a5425f779ea4d100e5475b5d4c1f8574717dcd975d96e0fc49b43c9f28726c818aebe71ac6766c6dc6a54478c6722a4a642548d36b0648d489d84b07c34aef8c3c7d9baf8684a86dce7a0314f0ef951bf38d3522dc8a94d0ac89a114e1e2458beb8eb63c313b7b99bfb10587e24ade9e47a77639fcc209f1234f9b3d58f42b8c9c01fb395386e91e986fc7e5c720be59f89996204ef388f3eaa4c34b7ed2e2d9b0add22f97ee00ef662c3f6e9852ad56bdfa64ef6d2ff56c479eb843d31a08e145483a0dfee3c153e958a5e7d01b9319a4fd94a0730981ca909fcae0c7712d4584a5d36f0bf45d490295727cea46c1d54a5077ca20f27cca22131a36da21bc3e9561470fc49f73cfffd81c3171d4e00907030672832517d071507b62a0c95c0f183d95d45e9010c044ccdc502429a58c3b91a371838d81b009fc9bd5b7c791f9c7a044dc348a708079227e08f821d9b190fb4ab66b0c9e5ec38a99179222628d8ca24e0b14847cc033ecde859af8728b0caedc29e708d88ca6cde34b86e85422bde74f0f62611b44c63515064d829f9984be2a725d84af2267e4a59f870cba9064a4c17928665f4eab37f5d9415f41631caba5bfebceeb27f6ba353bca30354d90d218507e86655e79ea7b5ba4094037d168383a54c3e1f00eb55b7e2a6e5dd6e70943fff359ddaf23925491a7d710d6947f4e7f85257b8a6bc11a33807f35803986d8f7474528be7b439ddd48bb3142cfd74d697c199c563c2c6a83f0ba419956b5334390536a6249a55611998cc7d4412262cd921655dcddf082276e1d86fa96f0c9ba1a20622cb453c0e7a8c7e00f4a50ea7a4ea408000389347f7feaf2ec956887ed5418f6dc138f26cb2c81600c5bdba4adcdeb946c47d66e96f431e0735e9a36750d046fcdb0a1934775bdb3f3786bf940c54ece93effc44911169d74592524786a11356e9d744bf8dc232953610aba0ea942c45a9abe0592cbe6daba5cfb167aa0643558df019e99efa3466467c3e17c25d40722b7342fc095432f68687d3867fba88c9fa0f7e89a4d5e425afe7c7f12c08d073cc832d9bec94665fc162a56702713c98ccc1234ce5e834a610666656269d9546ea8f710e8cf276115ded16587ed848fd1a80e56371fa81dbcfad73a2d4e635fb9d65086e6811c400010814f1a02ea1f7341cd86f496ff054b19c7b131baf520640c6719363e36039981a5b7e6099d42719998a43d7f0f3183f9b7fca9b85a211841772b7dc5ee8d67b47365da9f5396ea2e4c88f0f1d92d356297a7d154806af0c837d05815ee817bbd043038595368bd22ec6183ccdb2164b3f50ac1959756e72b5e1d64620efe613f08e1e0dbe5359de23b11accddb910c9d5f0c055f7649275f0c82841c69eea103ad3792248662308e2edc556f6d018f9f7949868ff7e0386c00a0bc7036b6538cf68ece7f32eb6d3b4307743c69f9d0f604187038158d670f1d47c78c573f18809e088f76d8eb1b7e887d3c87a400b1fc836f42772aca384b8e507c80fcde2507dd0b131c040d670c987f913532584e3f8d6f5d6a90f0e1752f4a99afd8457a270d30fca79785f560ae266261b2fe68faf93145b07fae8859d525638af7b743658c2832de4331a42b88fc9c4ebf1d19410e4653b931d514caf827dd23aaacd14ec5534ce463b09de5192e711612ea07fa832b058057de3a347648fa320de8b0ee56c6fcbeb96b0efa1cb2c34eaa3b1df5e26512ebf803bbdb994f075faf3badfa346a907b8e0225cfda039ca48fef7bf9b211b5da05ba78b94dd795759b11671c91965918b50c950deb74ac5b65f19468ab36d0fb9899a6369086fd4a39ac2ed8519ce75b1bc0a666372accb2fc0271e1bb09422514b82868df6e7f1240b78b645d89b83d24f8eed92f6f05de713b288b2eba7243d09db8ee92c68cd1cbd4516cdd59957d2ab65b4e213f13c7e8f509d944343e518222f77bb925d1f4729b04d79db77fb145960f139650d57990eacafe8b92612806b6deaf5b6be4cca1da648c1a16e0806e44bda70079cc1f79ec2b94669354ca875704397f58eb6a1aa65aed193b1f17947e8af9b5dec996e5441510d661bf1659ebd35a42d59c88052a70f7dbd2ebdfd78d2f21e1d3d7600b9c8c3a08eac1e077cf729d36ab49faf4f9fa2d9385e5fe02cf018c8dc2474ad749e456f536aede1dfb3b16e892aa84b8093311b60bc6a2bef437d928b34a91384fb4a0284b1d88e5c2928b65ae3ec2622cbd1e14274bf971905a56ed4374acefb70c19bc7fc8bd64dc2a71843866fe97bd6fcd0895a0769c2d4b0bdee11627a007842e36b37efc24741e073125ffe39a196fb491081dd0fd3ad30bd4433ad48989083434f02e544046b0d6bc412399d5d043e65f4756813b79c32b518319cdf5582880fb6123ddaf98df932e60af16bbfd744b1400327257a91d07864537e4af399c731f53786670f4f17a7cb823ab1bbd2d67d65d9ae3529de2105ed73984c55afadc9538a35171b9953b156b300d323ab0f775e59e27e04fade6f8e1ab5340ca32b08ea65fe56d70fc0c7703f224d23b0d861ec282655354672e0ad6256fc75a155836270d154acf887cbdfb572b10a344dedb24340617cd70d1fb4de2e4ac1106920a9756e0e7d287e9a7e1d99f7be838f85a780e3daddf07cb85d76c619edc7631a8e4c3cfd8cf93c96630d81a2b6858dbf9913ffc2ba85e8be14a0e892fd936763e2878e66c2c19175ec449cdd83bc62d5731a5970440305920ce4a3f2d0470c68e1895d08d5168dfe7546c5652343938fb85fa8c7099dc819050ab358d13af1a7a6927965ca4c94e616b7525180b0bb7ca375a71cfb13d323eb78eac43aed86256988ba4702a71811a8771a2841548a8c8cbbfbd41db6c60c7c1b70a4e3ae82ca57e4007114d6fc62108b252cd3cd6363ba41bb7bb5d5f6f91e2e7696204f7ca84b13988ad5161084304e7953592ef221f557bdbb8108d3458ef492e4985b3e6fdaad0fd5dbb8eea8952134eb49473456615e773b040d40406e3f8363b4a6b9da60ee5612738367b67bb2a5dda30cb1d94cb646e2870f54d673b28c279242adc2fc102178a1a74857fc0de402cb63ecb294408d99f7b6385bd048d145b101fa7ae35fe36724e9d608771dba7d5147959a3fef30f81f12386341307b509a59e44f347624d83c3e9e46c85736ab486d1d175c6d43dc08a69fbaeff0e0762abe784eba759dc18bec6d2eb6268c55f63b5fef9e3df24c37fd76b3edeebc198429b2f617d94879d6caeb3009a2110e5a6134acc18ff07b588fb9c178a45ae1b73bedefc8f5bcbf252c7a3afb8d742f147e6c7b3fb5a38cae48ce5a014cc112f0565e9145b518d4020772c34459af3fc7fb6caa4adf2cc37e2be0c3f7d69f0a8cfb25ef618ec99ab272dab5cba1502de7e1facca4e87170097300362b46d6fb9353049449b800d601f82e2190a703947934895a8268da1f8e1fe7c841082f24a0b0458997b325a2f9281119a2c56565fd10121ce9584e18d59e96f408d670e3ea500363d527c0f87b838a0e29832f66d052582cf60c0bf3bc00fdf97170f5fc74158d163722887e9f1081fa091a76cd6c066ec5b21ba9dfeaf0c6ee1e993206473985a56a2bca13583dbf7de8d0c3cce64f5affb84e75aaceaf0276f6fd95751bd30b50cf507b95d3f91ca459cdb17f1e6f8ab6030746bbee087333425bcd587989b7e53bd96f8361d01c49042704617812b69e9235689bb30f0c6c3de67606185eff45a8b49008f78a263c6e29a5fd06081ebac848c275494eadcbf5cb4741419908ed7732e3347decb4a4db63637bfcdb5d272bbffab1962513987eb16562aa9aa18ecb4d2fd8b0a236cc7e97fb91851de0a7ce94910aae670c3ecf6e571153c61e46f66a0017a56e09491543359575cffb37d02b9480c513ea540394f16dfee0dddcad980dc34cc47be24b285c0ad94923a7f3aee8fea88edba06218babfa4a846a3e5799e5fd66bbba2326c75f61775e3ac07a004d98d5bebfc7e813467c310e9ee71fb93d11102161164a62b157174641498cc04ddaf657d5fbded90edf1e271158ef53dafb7ba053c99bdf3388ec2f0934147b187aadf542d5a4e952a4176b561a52214bc494a366058fb73e16a0b08d7d53a5a8a34243f14d9d20f768ee804ecad9264f75b3b0f60d52a5417f1e3332a78cdb559035788254136c212d283805201cbf46ebf2609049a524a5d7c6d7efa3911c063317a4d9fa78490e5434ce056c6ef32a1b07f3b5d71fcd22696100b6643ba41edf6ef56630238ce00fbb5859f4f9655a6eab2aa4ac2ccc79660cf182f598969dee9c0ec2b69d5769b20a6577a0fc59cf5443fab93b4c350aecc679debcfebeda9665ecdcd4dbf918f3e8cfcd2708a33e078f7f1b3c44c6589db46dfae03baaefd85e9d9a5a653f6f11e79cf5576272a59f8380ac396d5ded89f13ee9f18ec43c5b4bce99fe1aed886f89b949af5c562f120083b1beeee31aac6b521bd7ff28e9f73dd4a9af7720b730b9fe1d7b4e7f5127daf1276484afcb991d1fb621cedcfa6fab3fda66bfb7d38c916c32ac376da8bbfe0b5e4cc726be0bba9035a5a01946d6491acb0ca4e6e2260d11d45c22b1141e5fd7bb8384b0cc29c0f891e2a34e50e6c5076d4324acb72a6c5d3766f6b36df5519617088d9bd935bdc2eed90e7a5e8e6690d76a14551ac51b32f47e244fed913f3fe35bf752f91370b6e0460ae9eee9b76e0a7e8666c6e661c696c041c67cb54446bdf410ee36cfa444cabd46533fa45d4fea6fb514665960d32d1fe6e295ed3835b40ca56c035df95a463c430f5d4ded83d909e4fdad9d929c798a8230f423f8a97d67416d6ccb2781ff21871e0fccdc7a651b49be85046d1eed437a3427777bd72893855760fa88aed2fccf4abd5e39e6ab08fb5e80e7fb4ad771fa69dbfdcb5aefaf72198d5f679d252cbc72601b7347445d388c0e9a698b5ab811a4dee2fc2de92323622c3ae5e6c6c1e163f0bddf6cb348a9ef992ad788badd8caefca290095f79b4c70f48583218cf5a918a8ff0af67693f854321ce1daea07afccd03ab172aa4e78d3f9d722d7ccb5ebc87398058f8a8c0aad1a66a09337ef8fb5a501c965b9131bd338efedd651167b17a59db4280a207d65c2e671803df9315f3fb7b270f1d53bdbee3e2c9aa0a94435d00dcdb5a85bd3029c89831a0e86cb1de7f9ad1137f9c52485934de56b5ea3aa5cf8d265d66ef7dccaad87b2b0b8b7f8d954c970286f0e32001f5433d28ce277d8f8563727eec33e35484f3fda6be5baff0c93321379c4867182f29cf6b97c3ba16e3b615adab8cd3a54f9a89cdbc4523739dab89a967d68149bb9f7b7700ae9c8f78b4b3bfd9298d45eb2d18ef4baa5e4967d16486a5216be15fc7db8b3a0068cb92794dbd76028ab4b55f0336b086f67e3878f77684268a350c62cd57690180eacb78f19d7d0ccb6c4886f8cccb017977f99d0e7d0a4f7e99ad89d9c4ed808957cb9072db71573716dd9a631d9e2d5a8426f9b26a3c70c19659c21c62c64d3c7fe3a1f252deed3d30bc4b4936031986df9ae3ee86e45f14afc68a8936566799875299af312a0ec2260f8cc77eefaf348582fc616ff319e04469b4ff8813e8fb612b3018a0c655185bd6e8e3dccf4f6fd40af735306c4e02cccd12d78d68d136fe22011e9580b72b8b1d2676e9af819eeb9ecad8965902a9282398ec4c980b4b4d2ceb68a9b8309b2b3cfabe4f26c4f5ff4708e8edffaac1779f5952f2f3b39d93cb3d49d2a754fb4008843d870f90fcd23f4ea07a3112fc46eb66aaaea56b8e521317de49755212e106f93c5724e58b3fc068cdb2e3b65c7fc426b281dd46546e7255d5e7d974a8fbdac74f0634f394410ff06ea44911fda4acc96ee420e33822848a2c891eaaaee7c6b800de10b1dbac50773d3c5a6ff4669ec0935175f5b4f59c11e8197b753e6c7447ead6ca5bfc87386380696a86ccf1fd4050d650f5acc38a3b2fb2a60098a8d3d0529cbdfb9bf9cda733a1500b6dff170fd75623cfdd6556ec95395dfc42dcd9562be5e2b3856a6ce5de02fe562469024c97fdf06a5558ebd83f6667046b12fd4f27b197f650a05d6e8e77d7babe8ed4b914407ce614f8dcddedc62a9fba98a9b45181d862f9d46717415275ecfa1de9934b63cbb309905c6c4e3ee052d25f5a04eab77dfb252e2a9c0f3e145f88199f147eb347e606b75316bd1eb945e8113291b80b2a8d081221262a01086652bf47cac9dcdd2c75394894d33a23b8a69bc927c62fde0042657ed557861eaae3e49ee81551be65b627c61bdf1828619a840f944d9704fdb3b2e66d28aa9dad34cd737b39360137414ba23ebf4d1b2d6812ea30410a3409069f9b7413531c12ed74172dc83b6b960ef9bcbec9ecc6d5c09e173e81054966e365a9ab5d101540e73706636a385ef6b3698b546dbf1d8f1b250ac165ad6fd94d2535e8bbde22b874caebd949c8f5703a6f6f246f518ae5b5e70d7bd5359f24b937d9fa17d67418aa6fdd697fa8583ec66ad8db4a613e58d19687efe1c361b14598d730ef4f21b0ee92e4fb4c883402bdd1ff6eb2d3931213653bf2502abb5e05a6bbfa859fb0d4db3e813f1c2323adf670a0dfb692c146df6ba828546af47a9cc2cd182203f047332bab0ddb1f2f6bc1d5291eee73aad9934951cad065e7bd34262d986c93d77d350e5777f2fa2cc644d4a8b89c080962597a11c51b4c1afe0ba65c447d8202384d97758dce99bce5d12da1d8299fa66abd139152696475a9c984b925dfd51b3432158f9c6c573f8d61bda46d854a858151a650b74efd80a9e27c5ee78843cd4d10b2490e58fecacea53509d559bad39ab12a99b2cd9e8fe20ef69c551224363ea42b5e3faf2f19a77b90fbe79619e681daf70575302a5f797ce685fda2bbb586b107f719cedacc0a66b1ce6b7f868b70d3cb6d6a049f90b5ed19cfca1708da7a913aeed2b122308d1bd0444e877274d9306254ba246b4c82f0cd3d274a8bd2bb69f871c0ad94fdba2a745b394f912cb927ce7629a6a7e9763fd917cb329d3b240b2e44c2f5938aac2feb4349d4b1a1f0b36fb2441542b6e433a5be19d56ed7f0e53ff7283565dcf9bd7f66537a9f4e5355c87405a14a590be31c7f1daaaad1dd9db0eee7b3d6e7f834a12bbe5ca0c8573ab83bf41d9bf6308bbf347a266d7e3566a2f3d06f207880c5662c8515d62515ca0d746c1308bc29fc29713b965bddeacb56f543bed705eb7185151bbdf0fe819d3619a2765e4de965abd39827d8d7618f023722b517003f2f0c2f6333d9bce357ae978d2533667a3fa1649967ef4bafd0052d0a700c74977831fb8f785f5806ace1e2fee0ec02d6f5b258ed4c9b0ba332a56c3daea2bf4dd03a9f55e1ebda5477eed4de0982a34d773bd2ff39ee2437ae789dcc54b922f4e895225b9d7ed9a7d60f2f95ca92b8f8eef32a42090def4d5ab69751f63903e227156d5b50f6fe95e1648e2decb2809a0f963a447da357d9a7620181e37b00649106b9636eb3a6a60a7532eeda42123e3cf087090870d2d848ac883196b29b4588e591a311c51d382f549f52f7db256d7a3f93e14e81e648ee6d959ef7ab681ec549243e6fdb7ddc239c9bae9356ee5de50f94eee056cb6765dc27e4f5f5dfca550e6225a668a19921794122d89b328957ad2d456fc241ba4d056cd3768ba7de8a16cfa8108d22e58e174982095717a243ec22d586042f00604a3ca2b5a0c84b37b91273ba7855fbc79f837311017baf248797e20f7feec5d66eb516be55571a14675f34b7ef77e5b04c1f787c409022b820ccf850f2980befc363819d13dff3b4816dab798a179a166195b745ec649e93b6cdedc76435b858bcc4477c9798b498073b4b82943dbb386f6d7764e3d4d341943d7771fd27ff7fb7c37c4d174c8d225eb400c6ff709e3f89674eb1efbec4250cb85352bacdd0ab5c3ba7d62dafe3084f2e02efe12408231e372c8c8091d4734cfcf91184b02462f02bf0ccc52d0a9f794c95d462fe3b36ee88ac1db04ea008f0d5cce96f3ff1363a28c346378717df9820dff181ddb725e6c5acc3ecff255e53d500776f1b65e1dd4560bd2c3764f686dbbc386a914df72deec467ccbe5c9c8760a804ed508447240d8a98009d5813a688d006853d5755989664dc36326ce69239839119f361d93330e87210b8d9aae59fa65ee9396157a35ee52bb1956553c554a91a3274d6ec64fb225cee8c0ca0b2d6dd54c0d110d2f3ed28215cd0e118daeda1a9940748520f2b8c27ca5ac3a81181e570a5da85903a096cebb55c1ca308033ef4950aacbcd4e30fac170214afef4cd7c7354fb7ef5aeb6d8a2b9fb698f96aa2233ec9c14a6e0718d549902bf68e1819827e0897b6211d3ca574df469247a387dfba19ac23ac928fca069980e70ee1294e699aa907bf2ef126227594575c6993a947bbf93204be57716e4d901d506564348ace79a22db560fb316753f3020be3b5362587cf20e57c62f716efe2df55942b3b88eabbe0105dbb5f60bba34ed8d055538407b01957ac2e8f2b82abf38ee1fb0046c97c9ea494288503f64e99844331a8e672ef549e2c0826d01ae6b457c5d46a552d15ecf7928d2a0509b1f0f04e66878475f8d3f3d63db74c84ea136b4ed78c1fbdb6eec8a8a84924ae2c55056eca74cdf03973bd912b70f2cf81508faf779f9306863f8ad8f2a49feed6506fe92c79af2392ed7143f9835af5cc05516c170eb4897970eb5886f30343b7dfbf1649ed1a7ad1a765340a583d23496df8a992d553cfdee28f532b0dabbdf28066e00493d148e5ee22f655f68c4cf70558a79e589fb581a2d1666cb6fd2e0709014b5962e8af2e245c9343e62886437639774ffccdfc1df664f97abb8eedef7b11cae1a501f507918921bea123ab38dd434b2c9fe4483656fe68aac0f4a078b88e4d43aa58e3eb8273c6776ee7ae5f0cec12e18501449bcb36847e49dee23b17ebb52a23f3b6b900b4e231669a81498d1c3df2ff5fc7ca202a0f90373e3075b152d2e8f82921e46756f9df847d6d94189bf37f6b1e759fb1e9fbbf73121ab74aac97277f06327e83266ae8714638376a55285c5419d580bf33180bb2ce91fb84d99d6b14cef791200b5ec4a6d6973b7d5dca87a1792ade7c0179e9f82c9017f73added5101578f6e307e8e7cd7d8581c92f8fbc96cdd9d97b4a40e03136a35876f4ad6c4f90d81f72af5a673c4e3fb1330be7492cc4c9300a43d8c64701dd5646a594a90811b69c7b218a34a9fbe125de8e645633cc9d47b01ed3cf9bd547e1964022ef9afb9ad85a958ed33c8ddd3c2a4c384acdde6cb76c674a2f67c38c58152bed8f63ced2ceeed1dc086db399e2e54e578be73baa4d0f01ab53fa1e73bcf4c67694c579a0488f3dce2b3e248566a06165bae5fadee0536394797a3199863f4bf97e9ed6eec55ced4556e435c6183b4d8a6ad7d055d36cf1bba559c64823ba6e96c4719d36252df701db5d9756d35f8e5897f9df8a8de24498f9c008d4b154b8b915989ecbfd3d6390bc66ce8d867729ebaaa8b3c408e5c5b3d32fc7369cdc0c5e6a02d428906cf963c674537e25afb7440fedc9b3bf08cd32967a2a8c2afe2ae3a8f9d663bbce6e9743e2aa8c8eeb7b8e6f6dcd9c07156fcb966d25091e7989d12e9976e67fe647eef07fe27fe1e00eff4fb6855a6c590abce9dad328f457b9e70a4cd4afd4d603059264886272fa7553f18bbec40a23a46ecfffd37ec47fefe75c0c4dcc33bda8e9da7bb7d6769b4bfaaa987694c67ee6c047bae63c9abcbe67fbd556cf7d26f18bbceeb17d328501b855f7f43e8a643c2857aaa363877cc8e4ddd4cf5d21404c1848c7a486da0927249c0a087222801294ee7e555ea5da4e74b3f14f376dcaefdd0300d7d369239218480918f37c94e26a6e1fe7176aa27f5c4035b0e58a3e74c423e7a9bfae82569afca51fe4a92b3e8d85d63397fae9fe3aafe1ec2a00c8f43996a95a37092dd71c185449a492c2d486dedae541a43ba87cb69747eb85a096601cf775385257b954d3cdb797d9893a5755a221de50d105578a8a70060f6e834d3e910027f7afde0911e12286392a155e322d055e2ed344f67e98484b78ac83f3b99cbe89e90a20ded16968c5bb57518466280a177796fc7ecd8e80c40b49fd1e3875fa26fd639b6f54d5a69ed6dcbb1330ba5df6fabb5e177c3563060af46e090b2090fb594b6f222cfefcc4938ac96caa05a23fb169a45710374413a77cad1a43fec755246b608ddea1bc04f70d993328fa8d3fcb08d8ef9ac4b58b8c812413d83381bd86d5fdc29f3be88bec3a2141dcb6b3891df22e4bd70107f7de4b78c63d0fa36ab926d9f2514ca97b417e7849d30d7bc27bca59d928d179d7c1ac2e4e50e4116311bac70c42b07a719f66353b95c7a8a81391a4b8c8b8d70272661b0e066073aca81f34d65ee217c0b82a4b5b697ecf20e15cfb93f85c6d6aef9c3e468f87563c10c9ed5c61601985030bddf6688229ef46877e5c3be26b10ab7e73dbab1f2b7bba2b4b9123ad624faf854826a05078974b3607a730daffb22ff201b295366cb58e7c78270149f17b53572ce4233da1c0032b7e3eba77216b0d07c32402c6ebf1076f3387e924275f6cacafeb7bd9095df57a907792bcb2360df4b26ff3484cff6aca0014c34f1333c76a7d115e61ece56458000839d4225fda193276a1ba6ce796acc1bc6b34772ca14b80c2e413c4e7432f2c53dd4319615dde8a1968a0acd7b4e759ccb62294c3295c792d66a75c41e3fc2a01fa95f68682e423072c749e96248ee91ab3797f9815dc937512a6cb830f0fb70a8d91181496c48797ec5e188599f2da732b51cdc512b522d9433906a5171b68f318b0e9bd419f5d9a671e6459974edb452a3e7b963ebf30c88f5af5f730693bda32fd06efbaa1e0a0b451c66f1a59465069c00a4b2d86bf41344f3512c566d0e84f4459fd0acd5dc0752b2bb0b93b42fc4d65238b91c1cae87fc6fff6bffdf9ebcf926ee574fcf9d7fff1c7eaeb3ffffaf3e7af3f463a967fa3fff88fbffed4edd19cd97fcde711dce6b96fcbff32b55397825bff5fc6f3f91798cdf301a6fb5e1e3b785c60beef60354fc70e8a65d917732ee7f3b4ffd77bae2ae46f8e76aae6bf65511e693bec7fc3e9df6cff37fa7ffdd9dbaffcf32f14c2a0bffe8c7351fef91786fc1bfeb7a3fd67190221f07f8191ff82901e02ff0bfdfd0b86ff2b416100f4fb1704fdf9eb4fbbffb7a2ddfefcab4a87bdfcebcffefec3c995d79f7fc10449920882fef547ffc7348ac2bfdf5f7f8ca19dfa3fff82fffa234ff39f7f211046402882fff5c76f8b3fffc221f8af3fe2dfe86f479ce26f43d05f7facb4f86f793dff37e8cfbffe3fd05ffffcfef7bffed07f3bb92f65fe37a7fbb780090cfa413805537ffd31f6bfdf2038f2437f1004fdc75f7ff4ff5b7d0246100afeeffa048541ff8cfff8eb0ffbbf641f4530082791fff8eb0fd36e47f3ff92c3fd9f52c00c73deef7ffef5fb1bf6ff4e0e0651c45f7f8421adf77f222196d33f52dbffaeac7fa0fd9ff0efc8fceffff1775535e5f64f1afececc1fd0dfcb6d078b79aa9f737ac17bdefa7d49f312dcfaffacb3ffb9ccfefcf5471e97793bacf468fe4f05fb3fe6b939fff784976e7579fc1b3bf3fc9f484f8fbcf9f3afe91c86bffeb8473a94ffa33efe7972ca749fa77feb8ab3d00ee5fedfb5ffcdfc3f1eb972f91fd82bf7e3ffa2fdf7abffcb0a7d2ecebff9fe8f3fffe9fefff301fbc7db76faf3af633bcbbffed703f68fe7fa5cfc2f86b79effeb3817ff2c0aca6d6fffd93dfc5f61e29f1eb0fce3e97f6f10ff7f1dfecf6cfcbf6a0dfff1d79f223dd23ffffa534094a8d734f3ef1675d534bdff8384cea669fa74689aa7ff9f8624d86250b34244afa9a83824edc5ac421b37fbcd34c3d242c3c7523dfad9e0c85fdf59aeba692031d3e8c211846f38a950446948df838b7621050014ddd44e8ad7b68c7b06eb074ea16ef0a5cde61d5e7825454a6f4dd2effb50628212f1bd99cfe2f38830bd743cbc2d48539aebf0fc7755eb16eda1478e0124849023aa2fdbf8cd696f92832ab8633569d4e57007b49cb8b53313d9d29874890eaacf003279821816488c78164e6f99d19e05f33c5ee3caab35024a1eb0ecb910119a7bd233efac3850d040d0de7599064657f9918ec80f9ba96ab72eb37b4def6a4bed9cf555e1b83c76bdc57274a226567d3856d4f67747c886d68c3e888a8b5d771fbf82cd14eb2cf22b2a07c7b104aaf093c3113a933bc88d300a5f505018c9de913c13abf3e060edd29fbbc8ebe14e57699bb6937b4569706da1fbdd88bd7dd9142cd8ddd9a6af00b776f7cef4aeefabc379bfe2ca4812a6abe3a4fe23e01294fd52012216d64d6264e734f2713bcaaafe8b745114b302c6a3962c1a5a5795f55d548e2f34de977fba925f6155264bb37b432e0dbf5a90fbc15f867c0edcc5486831d17f65cf5b29303036c3293dadd09c4df3b462333e2dfc8d755ab39999866889d6fe16266dd5b44e8bb44cb37f0b8b666876a4399aabb99ed668a6666d7aa3859abbe918c5edd7cda1a4e67a0eeed0d9d3cffdc3aca12792fa9953dad9bacef3f519cfc21cfa5635e8b612c6e0fdadf8d3973721c4e2b14cef81642dc1c1e1b537b7fc50494155df7328d9a9e85324c837e41d8ad93d0349e408d46eac3b4c8d6150912c18229bd4e9b9d98d036ba3fba5c2f37afd77bf72b9316307e1f0c9ddce210284a80386fba7c0b8499380f306c7050be42c38781f6d2d0be961d65aa003620262fe0a90709219c410f0e5b03c4a717c92741cf36af94112b015412a4e509c7ddef6c2e48ead65bef1d3471025faeb678c3d76c02aae2aff00dd2364a5b07737d8ac2aa62578961b0f26c2914bb981790ea0a6b25d615eeb821d5276f4df38c1cb4fe2d83e6b3bacbef8e1c3070191af84fbadd6921c2ec16a43dd849174770e69ee9bbce37adc66fd5929d2d8a8bc324126192fe14cc4ced0e0dde84db97b5abb881687a5be8792aa78c31ac288e15e8d4d6c9ac99bd34cee52f42688a7a08c9e02eb8828658ef08d566d242ad50a47790fd22706d1c5c78bf1f54597f84cec2accfdf51b18512a7e44d683ce4866315f4b222273c69eb0b53178eff616a5beda334f131b0884bb52911225df7d49039cda49afb52b44c7c0acb990e7d2d85c1f5b4584af8de45b063ad4018bd875a63c1964b5599ba90889c614880e473e6c58f19b2ca2f1dec588a2c52709f4253b960469de8fe01b2cfae7ae93193daefda84d2b623db16cf7a7b51c2d5482c39578b802e8e73a0c04b1d219713cc1bcdf7b731ade1a27394f7d13bf37b92f6d96eb3ec392944eee3ad7a4dc5d86aa73d311d9afa76ecd695a26288a614e28d576b336dd02449cc4ad3d596e72180ac6c8f38175d73b930280d660a831f216d43cabef4e8f72a9709254ce694608a0aaa85f559e58b5c3dbab4a581dc92d154ee1e3d6f7acc7d427cd40bcbb45db212e012b3e9878bfcd6a2be9a16dd6ce7df70c69f3f43cd8558984c8b752877dbf27b514bbc328a530fb76f031cae1cf6485bf2f8e078b7a031effaeef97be89b67fda47fccc25af59a06bd142112c4000b8a38bba0531433f30b41dcf3fdc9cbb2e467464af5abc5749e757dcbc69c670938d51c08f421245d2931c417b81d5d692ab85aef93cdf8327caec410b7c52e2d5bb58cdf890a16d538f3918b3f855deb65a509b79528441d48112e4d36f6351283ba77f585695194700005f032c188b1b7ecb278ea1741073fa0f3672434764e6e0fc3d3349ceaae381fb385c993e775d3e8950d2558ea906402c0c8c0d1be72d0740b39e15143e7fddfbf01f37d4ad3be6b72e3c0c76f8ad1609d914fba5583405f48492e44fd0a48296da9390d002f8adccf6a83fccbdf0ed0ebed1756c9675013a237255b1b01607c00863abed272398fab906b54538d6c411ba8114e88fb633850f0ea0cd76891379a6f80f8f58c5fb3919c1014cbe30f60cf07ce44184bedf8f909c7ce03b73273b2f7dbd551644d9694cf2e03309e77a819e4bbcfcd403b2ab616ecc3aade85a111f28086a353fc2060f3c9e574caff34abfdb0f114a4605da2c9873304aaec15d7bf24deb77d86a0742b8896e591890791fbe7404c44e1ff29e72efa6a3ea17945240e2c3321e95c01044946ee559ca9dfaf0f427b5990d26415a8952c7a7c2b14bd851b2cb90adbe45ca13778773264488519d07e45363ba55d91e05481af08d94267b3fc0fc74a7f7a7c566178edff40fc361800baa35bbbf8061aa8fa6a49febd957ae3f13270c6a7a097c239101e301e6042d794054468c09f3b4f6d5683d5bf5f3003094d48c02819f44d6b5f14501f6ca1800474e9f05ccc7c59b70c99a139301b2a2123a124e516f92c96f761849185ccedc0f922a3f0087628f7a206c1fdc3a6eb9f2f72d4fe27822f99f21d6bf83b65b56f5560e8fedd857159565ef6d049277ce3deac5b9fa0a7b7020f124383b868c1109008ee7b7660243ed0df2133cc5043ba5ac3ecb0d05dd455da8786bfc9354463dcad07f8ad724c7f3108057e8d16f797433eccc86c98da16917cea97484d0dd15f672dd23da286bbcd513f500a25f882492b40a559a2dd0d9722c77dc8710b42a90cbf52cbd22a30a581ecbea2cb6f66535b4b54a4e4076f15e655ddcce1b1c3940976564315e2f4800102e17c61022e2133219cb9947a89039170065118f5e70caf9ff2ffbf6adc2cf92dc0bfc812618efc2f1dedbdf64e3bdf7f3f497ff15078158a13d68956d479d74f26daa283e50e359c240775adb244308aa0d6615254bad9dbb692870d4599ff620f5c2cda8db207cf8e5bdba178eaa47bcd8a158242bfbd517918974e4425a503577fc2795d8dccd819847e63e40fc66af6da19541104a89942e60c87921776a4168c181164d1b502bc2f2590dc6cf4015ad7b90951f0a5fab0b56fd007082b91b71941f2b9953074071efa48832c2765c8d851f14bd649ad36b5a07f08f5aaddf1c3e1c842ac8356ec3e7a5b2d06a0bbb82b104c0038e77260bef47105161f250e1b943ad8b8f5a0e400118211f3d24710826e4d68be9915bf9f4961830f7504d0e6040a8b97dcdd6f953139c470db732a6e42a25369903a063f250430fe13557c96c877b8e23b502071c0011418589e5047274d8aa891c3a0f26f12fc732a0ab56f27be6ea172c93bfa0d93eb8169247f0e3a12c3bf3c44bd9e3f11b01589036333b6d128fb0ed4ea7d6f56778f4335130cf3488fd638be491cec9db0204a620cba9840bcb4f2ed185c32bea2012567c643bc37021e8145d947883e150cb2490c5c7ae928a05c57fa789175dd8b998a0de01f2d4819c3ebac2471b96cb8f5de04a9af2f86cf68d14c123c0945c067bdbb78577b42ff428c4979ba49016d4fee14f50e04780b2b1b48257448057b344421ffdf954af921e5ebd6431822bc8daea2eb831f5bb56a7ae0a04b36c0bcfab69b75f88042d184c7f69f481840978764ac5d39616dc2a9350ae0612c9e70116996abe27602aa66f441d95900c967cc084cbfe8c5a43d25a065ee3728136f9805ffe86cfca4c49535f7ba3e6ac3bb4aafb19c61a74127597c9037ffbcf144c06f2c4ba1d9a978bee3c2f309c8dd596bd7657c333e2575fa480149dfd21cf63e036c3dddc19848fea9f4ee6b32a996194779d4a916bfdbb6ba4015d20248cae31ab7bbaf302627bbc551899faf98cd328dafe590b1fecbd0b5f08c2b283aaff961763840d1139b770833410cda2057f8f744b91ad952281e2730847db31a644f4d52246f5a421a40cf44b3ee54978d781363fe29c57640ee06a2e38118427b6d5547feeba0695e8c4ac99cee2d039d6f880885cf469ba9be935987a3f739b47685db5f7125ebc10e84287f7f5ac8aa9675f0d08cf14a757e4067f0908df5c90a1c59fc764d91cb8e217a28870f7fdba767fc23c5314f08c2a37fe02156e1c4b98d93359c557dbefe45ddf2e69e19bb7cd86dbf0d1699728189421c5fae5de7cdf40d5ef881c8e48716c71b62c5bfdcde366a9d4469d271b72607a786311d25698f2aa79e42125a633638686390b46fdb224208d9bbdae72190828b88fc8e15c174e5af9098bf305400e16a9a0cc4f3316a560608623fc5f53a3de66e5961eed3c19f334ff33d8f80f5ffcc58d30829230f2f7c011ff978323f1af05471cff0bf73094c6309846897f1a1cf1bf098e348691340aff2d70c4ff0b38fef5097f912382fd1b1dff8d8eff0b74fc8725ffdfb06369320cabfcb9092feb304ca947ff133bda50228502944bb32049c00f90955fcb8e0cd37198d27898da7d8e2b30abdd05afb92282fe8e0ef31f34696b3fc6a9d9241f594c42b5fbd5cae1940ddd61ed09edd10b3e9ff71e807076fa9e41a58007e1344b716c6f658a319180f31602e51d900e3273d6ec5e3b010c0e0af5b5b2125f75f48152f5a3c1ff3c63c24988999dcf8e9fbdef5daf58cf40cb12ad4af0edf55346f48718ae31c39ca63c1a829e4aa32f8d224204a208de2f8e95a72c9ee7347e49c71ce5641c46628c1e4075f8ca461ab90e429aecaee12eadcf33a21d1ddb68a205d385006db9f20406c2a22e29a36e74e016ce55fef6490e0d6b006e2852fac4106bf087e737a292d32ba9b4e797525bed299dcbade954939b6286e93c0fd1a7f3d7f0ee3290c2757ee9144e6e8c763ae596516b0aa86f4aed5adcad62ecda760ad1f2943b81cd68ab52863df0c6631edf1b675d689181e59fad85d49310856356b04fd34a5d79b6191cf9e6d048dd8d06a853137eee510b29927bd086d81becbfad5497eed771fb97366ed53fcdd99e808a3e38c87a27a9faaad0c633810a997158c0ae4d8a43373f61a68c8489def352123a43a3fb3d5fc0ecdeaa443197f3fc99e9b571e96bb3fe754fa213edb45911af7671f741f990a86a90a05ffe0661f68d774d0835a9b801fe9e1384b5c409703536e1656239eadcdc7a3801f095b11211f803ebf95bcccaa70761eae851aed4cbc0d9c59f6f589ea1df7afdf112eb22446b1295618a385ae75da2009fc4be4d49d7d00b360f3d0cd5a2aaa7a013407048a5a81a5b1bf11440edf0a86987d74bf05d4b321f91671f78c34dd265a1037b18e985151ddfcce96f87dbf85182dcb2ad85a7ab41bfaa8beb40770c2c7db7c0c40506c70867916786a546d822be2661440e77705e93353da16f7fc4455ce430c16f838a31d9434f9af8e16b3e2efdd1083910b391114761b5b6d47d6b474922dba25b5d1b56f0f9fd60791ef9eb0f0402dff7ac407b832d3d424f184406c8d07eeaa4cc94096ddb5a7a54a3f6a5c4643672f961e839fc865915c457b8b96bc8ebd491eb41e351a98007cf345d4e35279f2e1265d73e6c98d547e4c0cd59626431a41903c18a340bca4cd7b2fb8a28d21ec8ec33bc62dd2a22db47212011f4c0adc5dc8aaac7d54a4de9b3dbad1913c64c043b5a04efc2de4cb1bff8cd93393202b1e4d7a4c9658f1d78b3bbd1111b8c020cbebbbca08740364d7430872d4114a13cac93ec4e5010b283876ffadc77be931e68169d7c25ed6f0039185753a0f30021550256c681ad5fbcaea7f4b5a2b284c77879976ad35ade8ce66d84fa910a8e623c9d0214fdade43a964f5619ebe93023137388c78a3fd95c67cf64425de9cf09e44baedae6c3cf9191d5ea7b00c9f82ac2cd6e8a2628876230170fa44073bafcae79181a77182b3d0a7e3655058fd50cdcd0222d8233b9fc1336599ca118f6ad5f0e3e6a93e7a76392ab8306bdfb56e5dba997243d6a2cdfba8398aa303c6e6df65a38c19ea2053752bf5e008205eded22c4b8a36c04e291cea174952979578b16b7d8c3173bbe814ebc9466f690baa0331c637342c73056e7cf54abba4e1f06acc03fcc178cb12d4dfc56e0e76fbdae8e584910ad60900648908ebf172501fa4b4f90ce6e9c6a9217f2af72f909b0b78fd7b50f28089b47a56891ca9d75900197419aefc11c5a38a45e2d0ccf42d64f799de80ca2147a7d20f970acc2710527f47aaf328e96556cb66e83e67e472b47d784241d2e90369287d387578971d9604c82b68e3e02d90aa080c53b1e78e3406b1c01739ec9cb8def2efdeb57ed7ade70fe61fe70f8dff72aa6ba21db47bd55471b56ca5038c823bfaa90595bb7b94e251598b1adfc5390f2d2f02211c13814507354bbdfc836be9d88fe004edf09da6d5c7d1f09c0d45d0fc65c574a11ee27e04b70a99c8584654ded325c9dfae132314df5ab7ee7140ff38952207e265756ad57bc84603364cf163d0cbbf99f27c42f69701a73883af386bfe6608f3979f5c5ac04c4d1fa2dcad9a0ac4070c7a90796a9657ace1f057f28f694992328beec9f87879ca35bb92596ebd1d846f13357e4bdf86b70364944a15ac0cbd47d51d7479e804659a41a1de9ab8e4b2a788d24c48883683c37c276274f2bdb458b271028848ce1da7dbf12c3db62e5695fb8d577a659e3f4ccda5a784062986dede4c3649c5cc8f20f95b5c39875f04a50a2cc290067156ab0e3687b4bc83e8e48f27cfd27f5ca8639a4aa64de264b2c9af3314eba7c1aa0a72dc059f24b67bab7692459e2e216800cb8aaf2c44cc69cfdc4ce6b18fc59e38ffaaeeb725cbd09ac4631c04c296e576fb75c11e4782bc0ebe91ee993da7a839898766dd49d46bebfa6c58537b8527132994e2e3bc8122c80b75dcff5ac840b6f17fe170904779d82d873a1f45b04e9e1628f4d24b31bd59c9a33ce10e159a82d7c9bb1845d7a896144c66545c64944c6cb20dc7b8fe626afce24615d1812db63d9ccc9a050bf09b43bfbca9a0f950fdb6afb51185f66dc45e4431b158c66a3d7806ed7668990f063152c601d53029554b0b6fa3688c7ba0d18349faa88dba60b4a288433783b0f7e00b76d230fe49d0395b34f718f814ee57ca3018b086041da0f7309f2c6d863bdbea2a17c5ce868086ab7c00472e02766c08364a0161fda733d69ea92cce0f1cb6408ba6c974fd0a8d8f824fccd307bef14a9299104ae54e50240f6c2040857ab469a28298302173152bfd87e6b6ab0af56bd4519acc130b751abc3de854244a84048cc0eda470f85231f3fdb10cb5e4477af3f6941dbcf81e0c91d19515878ffeab3058521e470c72d3458849ac6d8bc400088e728a544ad517cf71ed07666184b69c519df80119922000ddc3770362d75ab9f9d221f8216e880f115181dd251fff61249fac73316af75707ff4c46750eb842b1652d5778b3d80ef15d65935b82586380b0fb8089272df7d83bed66e02d5ea5b76f3cbd0e1d0cabef2479367a355f489c2fb45831bb2c2554205bac84683372eeb1eac21c191081dde2ba6ac930e0b2b386345acda9cdca3f8cd5fd7955f148f019e4c38463d3a463d68b6abccc8e3cc88eb2a6785d332eab1b3f9f0508ae17d8734bf8da1b460641261af630fe206eef5f33a74f77d799cbe0e9d81c583e3b1d1393ef269265b20de13522eba0b800fcdcf880b99aec47f98b8653a3f22cf857b844c9acc781d2677530d37b7b93ca6c1ec90b72299cdae11eee54d7cd72014d4ec1de6c5c8e5e9139c04c72bbb20d2cc21205c548c315746d0a55c9bb424d8a3f8c83172e670ab62c8e2be58875758aca341e80a897a51c2e12aaa4aea2f5ea8fc934c240127d17d57e9980adbab1599be654286555ae737b0d48220a496ab726e33a6fe718d4bca6f68cfd6030080a36ac5994a0c18fb49e1b74699803eed7f713281f37b33f94d383f618a4fddd532a8e4889e91c302c2d6b17ddf9df8d99865cf53c1448e37732f3b48feebd4cb0f1ac538adf9940dfac91acc9828bd3c6e682f24b78534f09000417fcce24fafe0fe52537a502c81275a6220f42c7960bff468134f7a10a3c787d6a1bec96e8b6224064f598a603f87208585118e7d5c4f42219a229a989faab3b762b2068ef4358f2860063214f58317b3632b3c40f57ddfe477d74eed21dadef0a5a949d10bcded8b2f1d56ab7fe64f68ab52adf6093d4995351142ca6042867bbe568dc542a03bf7e481987c30512139c5ece76e52be318c5cec476b41a1aba227c5494613a7af2f3d5bf1d7cebda70acbff5fdb80f6bcb85f8495aabad817995de4c08caf8868b7e942e316963aaf0f99d97919e87dc1817a12c8e0d403a9341faaa47be6bcf640abaad0f27dc8c12f1148183fc0c6d805ab4e45d377767ae8492403c4d0aef8ef37e16ca5fb13b14df3ad299cefbafeb48a29b9d70b7825174d4d7a0b9263d1e489ac2bbca6b04cdf0aad23a0f47e201ddc7f1750f6bb7a1155792c0eacc10ccfb24cddbfe7d38726d3e1ebc7b3d8188fe2b76590b17c3fadf5540f4090e245a2f483d47495b985dd246dbacda9dba1a9651226345f0c22b2cd258a6958e069f2012ff3383567ad44697a055a7a8c5d73ac75fa8d4e9ad111f6d309e6eb75c82580577f4b428408fc5fdf1f9ce9cb76364d5d01b1d8308d8b3fdbded47bf727e7894fa5994f180f2a1588631c28cb38b5c618672f2ab3ddb8e32c77390a7b8c080241e807ada8ae71565fcef7bc9d3b2fa6327954a7971b7824fe53ac1cd3d47d75379cc5094eeb78ece4b85132a256bb18cb13e10319f5683d7a8624e18cb130ec9178bbd218347b898ba3a2bda4474bbe765a85918660c0ba7ac92c8b0543d243e017f73190f1c25c2d5f10cf01e5c8c4caab7ee6b6f5b5cee5ea23fbb646683a50b087610f1615e7e80f4159c09b25e7b88d7a313a9544d5fbd033e10f3a7ed5539d630cb231685c800f76c5d2eea4070135496456b3250d60000c8eccdaf2d1fa0ae3857555080e1154c7d1ccd71e0888f5d23ca163c5dae2a1dd552b9cbe13a8e24bc32eb9086326921b247d7ab33fc3e74a8cc89c6ea2ab334d458feb86b01ea220f7c38d8f82ce4da20f12788c64c2972212c90cd545d2e42372d75fe4f4adc3aceeb41b68c2f3c3fdfb002f8472477e79666410e194aa83f0a3bb618ce989e135d86792b446a0605b80e9fbcb2d13976ceca27cbb5ca6c67273d63807d5f342fc027aa15fdaa7c303450266089f816c77f0c28561ebcb0d1831ce620afb033c80a16e39eef8d764158b52390380d78766b586de7bebdb11c9187ef4d32f2d43a972c3f382f30a9d42644e9c90bd137952f0a3899faf2cc2551f97d71b1303589d90b74cadbfe38de7a7ddf1da7c1baed6bf977b798dfd215208a1e232c416dd507ee365dae15f660b56ece03cfd02f73956a4c53c4a6fb03cf0baf0c1a6ef720f61569733b372c18ae4395e92b011747354526ff30500d4756256d763e76c0daadf87d081833c206c15059d8355e5f6c146222b61ebb0cfe1b315d7c241814384c417443844dfc090efa17a15f974a49706c7daca6fea68f14428a23f54af3618bc33b1570760358fa5b83c2ea9b4294de5928eb4485eea62729db578cac0968563a4d6709d6974e31fd54e9c6b8836abb3a065e08030dd713bc5ed232468f723bc38dc7914f44402bec9b7f85e5a6bc9391b4088c015026223453dd0a6de5bf7850a5c576604ead9b81c7691e9bf2049dd5bb1a8f284440f8950ebdc855c2af1e5ecb23cdd8a2309a16ae624c8dd515ef91125f4cb8fbbf1d717cd026ae4964266cce487d287620aa7471b5924abcc955c75303373e8af31226d85532f4882a82f0f5e7c6d607ad37cd8ad8b31cecc46bf173071306d38258fafa270a8becb83b927422380e20af7f72b4ace814d4bcd7d7e8b345c93d61ee23c9086977a7683d0846f9ba776624d41fd77a722121847524ae3786e3b8eef366a18a6f9fc7a0aa530f4768676dde8ea05915f7ed740563a911898860eb6174897ea6d18c2c4b3fa63fba752ff4e87aff0c7f459e579bbf0d0b0b93b7456ed28dfdc896ed1f9948ee8d9454bfea77dc401f1887775269cf3b912e198f3ebd95ec550faf0e5f6274f167b1d8f0d0b704d1a99b1f9c32596563064877347192207d14e61a398a381de8fc268a690e246793d664ebc69d4372d6028b96ed3098ca9b32acb973bf6e04f1e4626a582ebc6af27124af9220e255f1a900e9c888c57f9a146261485905cc08e5c6042b61884792ceb815996059cef08101f958e93a23f91fcd9057b81007742209b016483e4d25e127239ed78dba2f10406898d5dcad09009759fc1298bac5338e85953104f06dd47bdb1e28492bb28d7bde0401a2b888e8ea3e66c0edf2c29ca03e664200c719ee73bcef3e94d4f21aad43ad3133ad996a006af490f6218d1f7696d40dc672abbccc739c93940cd3f6d9db60c52a1ebe565c4f2556f70ecf11777c4b570e62b8dc5d8fa5ab3531f4a8e1fd5494a599a01e9ed20f9f0c7505b203e86f647f609e90f550dcaba73f46d035aeca9f810a5fbe593831346cdbb458c92e32861d1d2280bb2b2e49fed6f124378b8a774623060ef76c70cbf44acf474057d35bc3c4652626e39ed28647fc7af6f0a0b08952d025d632be9f7088d78a515fe3cf6cd5046012a4e3e080f394d214f280007bf2104328ae3a47c8913946e3fb0ba55f164176e073024e8a198e1aeeccaff41b5cc1fd23bf14fa41f04fd9388a740b07ecb9714a6d0683389182b2e3b3429631016fda601c72ba154ff0ce69d561b2a35e74427350d52bc0c4696216c449b0edad494901d4ce8931eb7484fd3ae1e787afd9f15bbac2b11326a6bf30f625efced9a8c6f9412bd240fa3ddd896eeafdf184a57d878e34212637fca97cca843ad00b5a574b1b2d415df1efa0380e6db550fc10de535e90546b79ae69cf97234dd81a4199566599cddcaa9b22aa71186a2519a80c83985d02e73d02d76cd4e4ebb2a519c844b9ee0f4f20e3688b30452d3dadbf721742bb31f447f656cc769a07b2f69e0cef6a55724ff945a080f804866db5eca400d4e6469e9b0f52b0b3fa96dff10c0610a8146f1cb850a202581cccaec02ca092bf99954e9cf75f9d5203cd79b9949061df96a1b6116740f9ca996b295691fa3aff424766698fe72a9f199e2ee3ac5657c3c1bc76fbe3c340bc7f09a1f41120d8a3fcd8bec9ce1b4649e39cfdd355912d1c2b0e24bef2d5d4211f8a92e64a5bf871f14229cca26ed551aaf555ca8ef34f80f198aeb38a4d3a2124d00b228e72600e10a0b8e4c6d7dd42ff293f3b03b3aeee323bad096f4fab6d9dfa9ba815ac77860b929c96075a664a668cd8f9d7b11345cb683eeb67db1adf33c9106a749e2d316fbc12946192cebeae7d084c15f0b9e24d8073648f4b03d6d957b4c263232e5118048f79459bac8bb8e84dafa9c1be8d3eed4e835022945b201144eb46b43a397433d6d9084d7616db11b768255c2cd5198c57a083896d23ac24f7307ed3d148e41f1d2167667195900e8c7c7e30a7019f88d98d2c852aa33e9c5a8b0b49b847a7e1cd21a8a27d6507d11924116ce0d589a0a76308a56b350143ca7992e1696c490937b49c5fc580d75e257606e251981e8b53b16157af2f5bedb22ef10807361dfb84c138be9d0a97b08534a28821436a467742c8efc71e4f42f6814709cace1539cae6ba6a8e27ef8168784a255389c4257d067f626418f640b67500dfd43fbd47c36b4e8ee98e266fd440dda2c2a9124db5d46d746a20e1aa50b50441af0cd2b2c2085513c84311b86114610df29384f9aead13c00ae86b526c0e40afca8d793c0ed410a4523cc696ec38d3aeb515716ddd04d53dd39da2321e5f885188c75c2241412667a1060aae30ea0d7ecfdaaf3338fe7bb10865b546257dc6b37e65a7611d045237023655aaa53a18674765565078ec525f5f55a736575b494348a5a90c7a5514cb2061582193d200e80775f6740928b0fc5e64a4997c5efd6e22ef4ab9a0b080260245d9d659b49a8b1c1052998e725c0106555238640b1d64a66f2c7f8d18b65da8fe6b8983b8de3686a80567d4deb1bd1312e0915d8386eb06c3016ef5b781f0e7af056a69f5569bc60139a3df743e8402f3b8976394f6bc03ef38dcff9d4f12a8df71cc1b865366292371484e0aca20b1daaff1361b5924894fd99ad810131248b29e9a24318505269a609e129825c6dbb7d736b653a9c621d14c3b84abaff02f70c7651115c8ffcad9f68428dc0ac92f34631fbddd3f7453d8e9e10f9251b95462feb4d585fed5c06642db50e6f136b36c6085cc3886c2d488bc2403d2349f587d6a65eb3f2ccda187fcdb50cd59c3728ce57ce4d483af29d713fb6560d441065669aee0cbd0d606559a11534c1e9ccc7d3c13e4a52f64dbb2f71e2742c4316587528f4827a71bac5f9c4c01e02265ab7762db95188d8fd136de9b59fb0b5e48cd1e95d634fd6b3efd3be55fe363f2a364be62a1b076c14b086aef93e0016073ca7f2e6d8c1a6009da05f087121da0467e6615c92767462eff870ec4e9cd623dc1cfb83a08f704fac62edd79203f67c4d27bfd83b3c01d272f145f4135784a5a38a0f9a6fe0c6c0ff2902ca0882d17234998b432d9ab5fccd7a76332b502f80c3810707391466162e6b23dc69df3b02bb1a9034ace68c631bfdd82a86948540121f2829453422307593f35e2ec68dd918e7a86336502f53cbf5e9e34da587def8b2aad1240496b310ab10b0818d635981098f1844726062f18af47161e0fd68706429e0929b1ba7d2907b4b4b36db27c9114d1fa15336875fe47633e1d5ae63f7b9000c0e2e0a2feeab7ab80c432fae3d238f8121679a919ab2e7a5fabb8243d01343b06c22bd69312a57f29e9c274216c3e34ff40249207088198f40501052a6ec474b98c2bfb3c3a3d3d07b45044a6dd3ca2eaa8e6a3a43fe58dc2d71f5e7a74d5317b38e560accedc61dd1541ee819b5d8e41e08ce40afe64dad24dce43a7320d80c76dfb773eb9b62cf5f375df5bc9f67796b2d8536cc6450b2ad88ce2204fd92ba43624c22eb859e6d44bab8bc75337c625fef51268e37fe2bcab774ad9885dac69cf4e1c5f3b262fba7b8ece971015b44a59d9da394c088f9c725defc1826fcc128bcf3b0b784ab11b93822135d5ca787dfef6162db661845bfe1f567ae4e1715133d4d58781ad3fc3a31e02828f84767e103cfb6d1a1c5b3090fd61f1f195593b0dc75afb6bc7d2743592f5626c41451875d775a8ce98e4936ae74d843e9ccb5869f4c3cbcb926325823138df0dc6b039b4d6ffcb1d6001e31684ce5738766d47962bf33c471ca8a089c8fb85158238d0bc5e4583e653eb8081115afedd42c59ec366fd93c5d84fae485c3e2f8507d4b64bb7934c4b8b80f07dd3afd12246647d7aae634613fcc17385b57032d8d52a387824c5d1d69c5cbb6b92bdca313f1c0178e8f5b8de44127a6eaf23b30da75f107acfb895c80fab6ec3612f5fad4905fcc7831353f7f0ac96a4e649b01b25b61eb9f6ee218993d705f27b4ac8dbf7b4c6ec97a25416f36f8beea69f8a176306f6d37c5cf8b2854f10691f5530204f69ba007590ed0c4d0228f67a832a50ffb98502a28bd9fbcac271bc43265cb0f1440f8d433894239b7781e26dae3aa569f1181cc1c0da3d3eff3c61da6af99c7edaa5665fd047aa2ce9d72f34b6810957ceef3666bdfd8f6a2d62539f7258f7c8e588e33ecccda79a71b39b2b3950dcc28488ca090cda2102504ab9c2b5863711f407192ca8487a501d0fa05ced3897578024a20828318b53d8702725e03d05dacd6949b23a6b5a8161072bae215f614c6d43d40d15e2789e05787452250c551b23820f2e6e1796253bc02616bf75697f2dddc0070b43f325684a5cfaac4b63b4fb164734a1363c470cf4cf1354ccd331ce2d6221eba692d7b06e36f0c710797e220dbe356668aa530284e139a9159d79b7290e12e79a3670ea2e120aa621b78f980175f28c9279e089b89532264a4e00f32d9b16c6004f3f0bbd3a63955a1b2a3951e6d7d634569f6340f073344f73955d0a65f5b9c3ff9452891640795598d4d08ec4e5cb1bd028294eb8ff358b9a8122175095fbfdc979001ad62dd1b1dc061ce72dc441ba782e66ecf01f98ae60b38f050dfc2772a4ce17497c86b9b904afbaad3f8d33a796d2ce3122c8e29de10134b9e8557ad5f9a646fceebabd8f742f53d2375519c78b5dc05471b770f4ce7916f6d452c44402925c55659f6a8df7c433c8cc4d77de47a39d50e00cb667ebf2dd8b991cde6919ac31612e9e9468e4db3aa389371205159b45435412a3c0f8de15ebd2c179e60af889901a99b17fad5a350d6c5300e6bcb4e281eb7fd60e8888522bc29d02f63395beeb162c2c1d98b6694a6215be40fde90483f66dbe490a6bc698aecbca3f5a3d56731bfb2274a316acaaa477b3604762aea723da7cf493c1c2f4c60dc5b6ce5f8913e7b8594810afb2ad543ad1ca81f4f941e9b199b02138f8e6dc03c92420cc1924905b50015bcd2ed70d0ad18ac0cfd2827dc99acf9c2a1f9e990cc4f457b835e28b7b5a2788947f9e8c103eaec1999757699351e328a483a38baa70ae1b6544bcea1864c8aba29e3564d60787c7f27a2671dbb7fc996de45f0b6e88c3b78b27a4cb11be783c6c9cc06550ed4273d278fa19dcd2f20d924d6133a8ad8ef33cbba92e58341b455b6eda67b8de0020438fe2d45318842251973fc0d56f3f9900289bfd7477556e4a3bbf98de6dcb4756f6f1b218844891a6c75e410672f38ae8db6db2b6052f54ac9f23a1e6cb28f4a6d705cda3caffe9b5c26ef1ed4580a0efe030992c5a25be890c8a36aeeb976c02620631601b0140fe7c75b7aef4ae6a79a6c7c54a28270e3eef28e5d0d2ce8b8e3daf49b4e96e58d2d8edc71d8c7b2d2b37b1f0621ac5feed84c46b7104db77ec3ef474a97b249e990dcd3203ecc9c8d2862cba2f146378d614c6267e1f8f3190c9fcfdc43830ad76b040c97660edae268149195ea448ee91dcc4d99e01b5938bd54b836d2973bb6077c15fefdeaaa6c389a113aeb4f7ca746703a77b33c0cbfd4f049b58be2d7ca2631fa4a3b4f397b1db3bf16d24c6229935d8f7b85d85b96ff05666d4a045bf4cf4ae2498ee2028c3770f44406773d8c445c8a52df752a0f612beabb67c5e5e6b8d93ee95604de06e16c433d692f3ee9c59e3366ddd9dba97b1152d9b46d8e3b34b869b1b46f80c8f0777010be582e0b47f2edb806cf2ab76af89e5273b043f4b99c69de2c2d2428fe09576a4ca66eb824553d1d81ba49fc5ced3af370fd5a09bcb8691ce75835a5af7fe433aa68947f81db8daa64d02fe0643b37195e9b31d89dbb7d216664c8c6f8c6c484cebe4d87aa5fa7883149cf501458a40b74b044b0aeca52536a70d5cdd69cc4132fb522008f6af889416feff3e7cfed9420419cc63046d70ac1063c62b055b1dce67ba7c7033969cfb09f4c95c447bd6639cad2823150f1a06bf5d821d2a94093ad9d00088b82b0590bec771f3d5c2b41a7d3890136dda3dda22ca50ae2ede7bd4a6dd322c16e4c5d023e307a707abcad9d4e6ae096cda57871cdacb7c7ed126bd26fcdf55b6d54331fb945a8970ad2088a11ebc5a7a0b8b76a75f62018258b0714bef47fd2a5b924d53571e304b4848bf1cc4fe8d3dc689f9e82ea0b2fde2d5e22c14976f3744d1e3c459421cb47df38851ec4f4b626b359b2581e0b1393a015bdf9d364ddf2ebed6e2522f0ebbc290d43c5f06683f05889c0a39f7f5cfdf245e921a2fed4f70d1b03e995fc250012d5aad990776c6458cb115afb54a846307f69eee75b2701363cf0fe5971b6e21845e09e90b41fb134200aba94bea821ced8d39362f0da7b1185ce8075b19907595bc245e081e85806c04d635db26a2522ebaa383f3d36995e55f8cf5266d6f6b63753af41c02b097fc5c554499501dc87b97f5827c6d0e0ddd40029b2648561dd5c5299b2127056f4109d529c48dfecec057e769a17dfc51a7c09706d01de7cce3e6c77cd81511288865d825a8f3f8723c84d6969dfc7c1a6787b6008898b570f1e1303f2de62e69830b0d38049c75bc357fb7050f2f3f4787efa74e71bf457778e8c89ed2585e6b840dc4f57904d60852efe29b61405d259be6c6c5f078e64acd2da427c9c23a5ca3a187d4fb6956c2a85b715a7b0dc56fbda7070e1e61d8b39e920f01b658c23735eb199c55948d06953f6d60ffb4d43779147f3b37f690b43ecb4dda2c6396b2f00aade4b2ba4b6ad41038fa8ba25bf8af3e1f8342fb0bc1b7755f2159da6c4e7fc080db84743d9d9d3d86a60fd6c56b5d44cc11218821a72f2c216b6ed76a6fd7e3250a1ed5dcfedcb413b4b8a0602696dd4762b93436718a0966aa07640fae22fad17d8d9c862bf12e86694e1bad1c63e2dd70b3a329c5b9318e037945385921fcb22123e229028a3dff178c19bca922a26947a5ee1ed8815dae91661e9d74ce1f4e87cd08b2109afb0f1619dcafdc068e3fbaeb2bdef103b95cab64a8995dc2aecc998cdc42cf1ca1a05e92decb73bf8026f5392794c4f4251a52bcd44d0aa7a5d644a84d1abdfbc5cac0a76de48b864b4d804bd6d8520fff0f0dced0e9c0c82de915054a0e44102aa6159e15e8009233d220fbfe3804f4d0f23d4459023f45a934884a20ef39c5fccf3baa255fac6e904bf9aa68ef362abc406abbe41046d6993904fc5e8077beaa8e5bd9ab3aefa2af5977fec4507722478bfc7e59671c5ac5b72bf013cdefd53b7195e64d3fe2c6d878dfaa722d490e33f9f8019aecfbedfd0fbfd8dc4a362632d4734eb68936963e05610374b2183bcb77849909922ff9eb2d09aade07412cc0cb7fc649dcdc52aaf4f9c2e85837839b070ebb4b79648cd4724f6ee58e429affe7cc5762479fa9b29c0a600cf680b0b00bede38edf41c8249a2b755ac92fc5d76dab248c7c60414c5abb08be2c2a64181cafc4cc676322b78a815612aaa702cb2e85acbbee32b95245f38a629cf53984cc8926af73bd41f3e597823318b205c3678b3f85ccc364a6f69f6456c5c29082f972ed1ccb15a2c163a22e1872e370282c7dee404b9edfb00a4f573f82f947d458e8a6c266ff61a288ddaab2cb4b3f2b6dbbf56715faba38f0a1cb2cde6605d8a0c038b5dac88ab7c82f839ef5d608d60cbba2dbc0392da5f72896000e4447ad600eb4f052d4ae70636998a3ba3c00f88bd1447456a1b2f56e50575fa39e2dd2790e4f59d97678d57e7f92c3ff1a7ea766a7574fb242e4ed62133858d0bb5b4e15ce2559f4f37f72dbe8c4ac2da0b11204fd8ded4d62fb466888ddc3b51f264534dda65d95eba7339844de309dedeb9f6ab0d655c5939ad65fdc31803bf55651dca5c9045014938d74f792ba42cc5508f0de94affedbad22ce4b748c3642fbd13cb1274bf27fbe23fbcf2581da41f80be26c265ef870391a771c93dccf3bc9a55bd2297eab2649ba6d79700818e3711fcbac81fa716fe5165ad9ef97a440c21cbb8659f03d4590dbb42af3eef530898fae00f168fd0212dc4fab54a0f189df579bc2ef9a2370b8a14ae5ab95104e69a71b6ab5d214f7968b87d590858b0d36cdba4a27e0bfe2983dbe81d8128085d2add5b0d1a1b3076647ea807392365526ff0d1fe6ee2a0c229cd950855898fa2062d91f011342ddb49cdd0720a8144a873e0f269dc2643513257ca5c107303b6e79e6f42f6c470959f7165cffd8d795dfe4a95e5d14cd49b8bf3a4d4813cc71b8df506d5cdf5f3eaba2866244051d4cc9981025b2ef8887174fc145eb93becac9e423d7ab6cf5c757505a4b870cd78c4d125e6a7426d82c428bc8fe84c6eb0fb1ddf044db943755dc5ceb0ab829a9c8b23b890ed4f01cfc6279316073d8df4fd6222c4f8c554c1e69397e7d28e7b47033fb277e1f233fd76ef76d9692818754669cf2677c8beb043c5be7e218e49b59682e7e215f498e5d16b338cf7cc1ab3ff60e238514cf4d809514e3790cc502096a1657f95ac0c5aca632f1f7c133c556357e2bb57379c41606e8bc406258feb071a477c3f409be49aa11a78d01fdd1707e24a239283849aa418ad36a554bee25ec53ae17b5d200d5d864b87c1a12411d662cb0e883b06b2333a4c84c215733c590d21c97b98575dbd1b3814d1eeacaf82f16b9e20eae1579b224720a878dd0d1cf9f999e542a928bc4fa529eb582370464f75d7f4ef304a63fa34f5ef16daeb270342d3d34bc071e92a304e1f6ac629258dc545f37abf4820716dde61c2d8a2b7ba5e4e93cb70948d69043aa79a1cd23ea62138da7d0d39b3d04387430f6194d7b9928c0729d3bbcb6a3dcd0ccd69c5566f15ebc50f82d36e6bcfa832085217f6d800e5089ec5ad8f73771c3928fea29f2f6dde259f745ce98fafe29a507cb525ec39811f841b63cfc9014794de8c02ab734ac7d26f8e412b2bcc55ec6c142b3e2c0c63c212caf7ef33fbdf44e54122ba29df9a7ceac0ae1cc933e2b2b0c6980e8b1a2e8cb4f3b230542c698612a4fafeb2e2b2ea54dde3e133c4eaabdd7d73585a693efdaebdce8f1821ad41357af3971d5ce388b5ddaffeba34b69862ff01c22f4071cf6983565112a6653b85ab0e3f7db171e12fa4db26219c2b8124334ec4db1ede71fbcd5ae073664f5dbb18f7ef4475a696e2578836260cdc48695b089c27585f801dac4e15445e516e180bd08a08a0486952cab200174383700c37f96ca90c24ee7e597d4f00823675dc189ea6bc902089a0bb278c631c7b065eb42b803de55ce785298139224f83eb7f26b4b8482ab111922107d41a39a9d9ef146c6d8ad41cdd8686244d26e2e4ba84b6635ce7551701cb97a773774c82b2af7eb36a08a751d2ebc2b40e885bf7a662525bae61af3ac09f289493a6d674392190180b034e37d68279ce2d21636caeb5cb63220cb8717b0470cc7e362fe77453a52f2bf32be56d87c4e5377d3feefe182284835123692bf70668739e1ec100f7f74631c6c0989769edc171476ca601c3b4eb20026e913218fb0354708f3c9ca4963d6d922cf774067ca1609cb0475c4b1b4fa15d816169228c98f38a9aae01a6cb3ffabe6784ad44656214402ebd694bf3ad0f4f3515a050c4182ba517dbdf74d8f8d1fd4f46bbc0714451d37d6cdd2591c79ce7395e00a12c823be4f0ca38ca06ac67ed0ad7e1f5a01bfdfba7c5339c0f2d4d00208c9a46f825a590535370196adcb941dd765fe6ba254856fd057e0fda365e92b2cb919595805e8bb02ba51a08933306b0d5fd2210565032f5f6a757b81abca01290bd5fa4283492a8e7be40c5bb922146f97bc52965fb93c1e4ebe9ee77a7d3de7b172500c7d44bba73d3d757348a9645845fc8c8300dca0155f45492fd3ab54a6681531400c5e6bbc60dcf1e38118da02c6a2df541ce88462d1c76ef8844bdfe623636482fe3ed507785f0f3979453fce517cf4bfdad287b4863a6263ced6560f0636d68def7c1a9196ce6dbc088ab482c1f564f9276e2aab435f55404fddb10bbc4a46d6cae8072037b9921aeada7857954c7f2306c229c564d0187c293a8b1ffc44fb590ea33f2a65aa59c4b4a80b89d1273b4ee2121e19e13c581b1a5877465ae06be0b73c2f8b4b6995bd9a83946ddf8c55329b80c901d0e7fd184a81705dcae4059a154ab48763ca69277c60b099eb19dafb79140ae2380283adf68328f2861f9c51c67ed6672d00076ea26e3a1ba7c125770f03a586fa2c5b06f591f9796540c6c92a84c843125f914eedc9f9684e76eb01d246d3d71c9f758ae382453c6ee53672b8e0a1acd8963d864cc84441ee140d56ac2e3533959fed26983adf907d29025e99dd427289e6a5651a611b7ea8b68427234a87e15cc407370c0b2d2f0e577dc43949f1d9a03bebec3ac861e67b709d0b25bde57fafd52361ba4dc2e032f23b3feb4e2c21beaef14ad7008fc4c32330fb8bccc3844e05d754edf4956614eae54a11f513d88a1ad91aed2134c1472a1742fca3d29c43f2857573598243ffeb265dd9500943c2c9c192206316e46a4c4ee740e3e58952032b1ea85163e199e722b1dd672b7b5940c1372bd2a020943cce2ba128f103b85db0105512866b58e8cea31aa755e6783531b4f8f6134d003684927bafb202c900b593511506dd5bb4efcf27bb74c1770bd310df1b6e8f6b41587156867e6ed9069624db61e1512ca6ccf34667619d6c0479ba97e39255a5ef07546784aa5292ee1c6aadfdb7fd123324e06cbeeef0e8f89f60b2cd10e019729679fdc56d61592ca66a30e102a1be8619b48990ac2b92758880e1f5189c5325a3134f9a2e3e4d51daed4902af304deee04f82e2ec0934228f5efc2ff1fc5656d6c210000b08128702b7177a7c3ddf531fdbfbf41eed224f445bf98c5c5ae840e72f18a5eb3da6e16d52d5d27ad5186ab610e03778af2352651b21e823c42bec29d6c7a3b43ba3485cff78c2a8eb596181f243367eb54ad8e4ee0cb64a8a4378bb52982774dbbe0792f04bf1c7787dc1451a9a4f4eba0a116a3e82226c35806980a11386e277ee908918eaa755567aaad4c9b10b49e455fe93f8787d942751d1ee7099a69e89977dc61130eedf91cbfecca1b11afc3115c31b17e317b5cb646990ffdacc2a553a23eb448124c02b90d05e2390214c2499e42310e6413afbaa01db8b39fc5a2e701099047be57dcd27b2cc12cfe5e61718b0cc68b115234586c61ea5d3cbac337086a89390aebc8bb4f1e97dd411c9619327ed985c326f84baea026dbf94c275dd532b623b9023989312a5f7dfd0494639386fed0127cf21fff069267376fe20430b509d8b255ddd58640353796d3d2092d2348e9783e0a98d29df3fdf8a1a79ec3574e79f7104455598e217b74cbe48e95c40172b6da5b39bd39bbeade130aa51cea674f7ae9f6056a8936ca6e652c330c5947952a3084b0f87e06ea6e827519c156f11b3f6f940aafcf2ad110ca52122194f26857db49a16550a4ec157a4b9a7572080f868a990a4815ab232926369cd891d59c8fc5b98072abf0ce3e5f7e6e5112f8ecaf0359a57200e653f765c1202659905a96d52fb7c256688b6f4d8d459a5d16dedbbf44e3d6fc73bfcf10ef1022b1a303a08263b7f49db24b6603cb0e8d89bd3b93b511faf83cc9ec1ac36724b1e8a3a322fdc8a29ca86f13962113339a973d05f693b560acc5fea4423455e21abd20e4e216b2dc29065ad763471b7cbc77e5816f6df1a94407a5a5b11c33e2ec4e668f7786c33ec19f40e85cc49581ee326eceddbf93530865bec1b880d4c46b327af57cba60f2d6e50de61c0ee9f858ad637a08e5a674a35fab8eb5f507c93123b40382f542f7db1e813c95dceafa77622696d099fb821c21253ad6c6f2b7bc457bd56f66dbb329a4b725699a41397ccaba28fe0903745a18c4b8deeb5ab536b5b59e739817f78204aa72564ee88b6abbd65967129761a9d6bcfb151ccb36d34075670b690b292924031ffc4035e9ad179cd9e68f24ebbdc71c92c314f92f2578d70230b103e514b79fc8119a385eb44f3cba8d951ccdc2f0f6fba9b0cfc8988a77ebcd7db0cf0a54feb3916f19e3316584f92eeefca7fcf2b7b7f56193bb137fcc5873a70019fbe469a998899e7c4aa414657edaa6383ef7e22ea7fd9ea5fb55cfccffe88bf338070f66ba59dd6620d45fde5975d1f58743e11458875852be896220be59ab3d11a6db51869609b53686c36e571b2b7f169f1057239b2aa03231b8d3e437ccdf5e18202524771ddb4ba95980b0bed50f2c4a73126277ea6e147db06a8a908b3852b65a7da59e5afb25064130ddd07cb9d1886ae036f96532694c2156608de7465c748df9f38802e172a29ade8a976a86ffc1a8982a7c813592e23446ff1c29567eb1bc4886105312fcbd32732c2ac8659fa2656727df5096385d211fa4d8554198ec4fc03643b27a2dbeb42549008803dbb1eee643b3a1a6581ebd30cf6b5e2611362c9f9e2e89b57c6550e4bf1d113e839f6085cc36b445a69e27af41bbdd65cb28b399b684ba1dd2e5cb2f3b11558d8e00e061ae584f79aa1731c2b0b95c8f28bdb1502ad5f2471c57bfa9c510d3dcabf6a67c8f304f549f77c57b080970b381b7224686438ad596cfcff881128a4f359953c8602abcd40ddc3959bf07f3f54677af935a0ee25e1a234b54b881e47701c5f3ae499aca0fa098d0aa25ce82f9ae38901a46d2077f13e34a0e378d045658836585fbe92be13661711bbc66152334bb1d488ca77b1f41d08ed9b156b3aefa90cfb04ed81e6ce7283fcdad8245247bc310e59dd49dc513baa56010b7ccdd48db9ef8a3549f992953713d3c26fca27f95f83d4afb0548a948fa232a43705ec3b282617cfce2c0e3a73c65c488911d517fdd9922b680a7ed386bf82e2f4cb14886aa976c1bb1dd48e81c574bd72c445c96168d78a11b9925e6bd7fa21ef806bd35d5eba7b0dc604e9103dab520a86fb13b4091d4bc8608aeaf5c44856ac73bc1a18883c26a9329c2fe22932321c01ad8354924b183f9694cf67310db9b6149656f678eaa4627e26454298a7cb1c864af924ec4064fee1b265a6ea1619f1e8e2d409aef7e2146204b96ab500fe76e7080dfa4ce2f11f02b3aea00ac56a8904bf557ff8976341738ef729022863919b539c82f154e70df3b29394dd2c9333a36cdde239602072048ec383578be02c45f656e301f4c07cdc702fe38d3a403b706cd504b9513f081b0a36db38596565c770dd46614f36143fa0c6fbd4b80b3496a5e5bde7a2dbb8c0092fe2e29e7983e4aa4180b1efc6ced1037445e6cce6177ffc07bac3de9095e9dad96a6648a144194469ee97b7701907a389026b60b0defe2f1a60ffca59355b17b5d8d5942dad8959902284dd819b63d81adb1e8e924172c526420eec5e75e83bb95062ba46254ba03bdd1a2f7ad039b3dccc809cd9cc078f8f9e7161e1007e00898f7b5f507fa00d92d7058807874b6298fbf85ed5407711062bfa6eb7fc918dd71b98f8acf2b028dea9b1b6f717c3157d87bbe0ea008ee379918e51af139de497f5271000d94cabbbdc4dfeb444d9b29d9fac993073936aea27964a98e8056354e8c27ad3696b9788f9e522e56da8e911b0f01486d8961a042faa5b748835f25d91ec7a64cee9ed20f7ba602fe30146cf956db7eabe982a79b6bfadf64898a620c1d6890e5d40e91e7a225748dd4cf74dba0be34a310730c060bc4aeb9336c707890593d1b0e69588a2e09f758a5569af7691f2d5fe98724d9bc43a7192bd0a6545c6165830fff905e0ccab2b1edfef8c13f982402d2d6b3a94299afcd284ba0dc914e1a12d5c6516def3ae12b88b0f1e1633a3c4dfc3a87a9c0c76ed6a9713ed1e30e2e8f1412ae20f8d2e908fa4aeb85419b941443dae1e0966690a22c57dac53d9cc7389ce087a8d51b703b86d659bb9ca2e2f27784344fe40e68e71b01c9f402bc611160fe04c8f7cd1bb9e1749943508a21fc1ef256a432f800dbda36c2e3ebee74cfe8c449b0ddbc5a5bd8ef2f8c37257b8e70c122da0d2781e30ea2b9232a6140116620642e7c2caa23ba2bd80b9502651967c393c882b4efa5827e7652f3cc1b60afe825d0d9e974b03b4ba7950cb422062a6a1434a9fe7ffdeac809c5514aa0c5584a3d36340bf0504abf1396d2b3b6fe8a8bcd3ff2c6a9ac60b99366708043c8f5e94036c127bbeff1b99b58eefb92aa1c50f2b0895dd4de2dd066bf673b4c59462ff2079da0c29733fc63fbcc32628fd2213acd0565891cbb7529e9496cb903fcb17131a60df125d274c0a1c0c4fe325646330f400883f5fa5123346e36c04708dbe47d2dde8c1a6f81e20fcf109a5824b0401d07ef2fa37c55b752d8702d49bd0131b3dbb6a9649ea973fac009345a1bf4b4032d22618a0ef2d886cf6c6264787b5dc0c99297ad49839d4459eeb959b50a41fb1107e89dd2def6323b22e5d78cbdf7289ea375b4753c0fd3409fe0c0d47c0c5fee265d688ac5338d9b6bcf93fd8181ea3735a2b0210ba0ad89cbf21c7ce40df3c236da8926017f5d1ebedc12f26f044351efc38673c227e664af0232cfa031a1b1dcf24c2f53ddcfe73d30744a7aea284ce873203880bcb1444b81e3e0f0009fb8919f21417dc8edb6731728fe7ec17e0b27711d97ca7bbd5bbdc50751ab0746d76670bf7082eb16ae35e23dca47d01d8855077b334e7817adc2631082a16499c1b142fc1ccf64e57092ebd4b22841203488b7e2a99f1652269a8fc2a5d2b7fb5579cc182520540b1d3a1086ac94cdc937352efbd387b2a8a4f42c7f1c98c171d6d328f85ee980ca307e499874c23b72dab5ecae9413a8ccddc31cd73a9afde413ca780244a27e08439dd83c891d66eff9c11b2869ec8ee28c744bf722077b8c22b09304f9cb1b9b08074de0d9540fd4b16fbfb9ee4b6c4e541b3cdc31dc4fe8cbefcf176e78e983bad48f825913d3ae61ede81fdf127fc4be85a00e9fb5afd99d0f1293b0801e29c5639a8da8d3b48b636f295f6f6237e7878be647bb18b9886f0373ccb532e7abb77a1fd7209fcd0d5f30329b4eece419d5a205f74b2fcd7cc9bcb9b298115b4c4251276d70705c07d90faf82c8a2f11f6900a96bc4392d4b24a95dc6aa3f2a97627949a3846366dd1a0a985b016ec611deca5069a33863470882dcf512771aa7b78e099904c5115945b14889dad341f7e34d70f8607acac9fc237fab34c80cac9a8269a0ad11741fd08e4806f8b4654c1e4bae7998836638e13a756e3ffa639208ee6e9ed81207e9d7327ed3790edda82408a909277a0e68c8cbb2d02c1877819ab5d8f534482ed288e5f7f70348c99dd6012023a3d77e8ef438991e6de6ef6b5e0e6fed39c3779e0c2a019d8afb93b3c0a51bef54c5a70aa0512e23fc57f2da4e3d1c8b96829cc36e18fd766c4d4c8ce473f2cec0c5ae045b7c7d96247f0e24bb94f3e35f0b6171d12733f5ee4cd21a27600d390e0a45ae05d79b9d78a4999a00b6f16de78759542833a9af9e50025ce301ddd86c93240acb8e49419c98491285d8ca7ddd263da7761d328b8e55b64f7e164c932858849f149800e308b2d6805add68897cb2b26f79d36de00d6e0993308aef7d1b8e45c549e50ceb100b4f3f0be85727e2948115b691117ed633c9281a84c0c27468b6339fe82c2fa82645627ba9a603a4b640c2c25d92399ab322a2375ca2ab24568eb392ddc85d2557efb5523463b1e06172a57acac536930bc829033787943daddcfed0992a22f741a67e99b6b522ff3e1b2efa8e1f1d93eb2df15be9e63495a1a19563dcba9e39e3c6e51f747d7d5efe30a6dfcc4065755ac46137befdecb7e31660995e5a15c174c2ec0a94a4f0be3a1c3192f5141b6f281a692dd93662af4dbc3cb319da2f773221b6df5116f4904e9768e8ba69cdb3d5ff32dbaf70a2d52361bfdcf10d289294d56d833d0bcf50f10aa03992bd6097e22e7b3315d6d658fba5124e0c876305d77ef4c01c3b1e1784e92d42bf61bbaafbb744462a7daa369db8d859a3a990e8c678a301fc3c4d1688227564368781370db9467d551df9c9a9dda06494c61ab8479ed3bbe81ceac64e6f7223016b0c6e44ea15135bfc9c4ab9a6f83862530b9ebcefc5984f529153f8c5e52c0d64546f5ee5271b63db7ae6f97a1127f568a109a4e5525550535a540c12b18238f7ad54ccab1a045106063e194134dfdd1efc7128fc8d5f31f32aa6f157706aef6a1ca4da735d2c76c18cd4aa8a9e0e83a2528a7a5ba8080ffd1ee753682b9b50a46ac99ba7b332a4d7841abf002a94b41734c5b0c30f14f327dcaab5c9a98b14bf69275f6e8dc604211b47ad2ce2b1ce48eacad26f74adfdddd10ae94946885e11c61e264a18a59440d3629298460003190a5eab35864d4bef3d1da081ab6155ea15bafe4f41395ca2834cc5a578e62646b51dfea0a235198a84e89fe053ecf66654624d5e1a04196efc91b6d8c6d0472093e1d29e1cee95e461590a0edae60726ee3fc656a7e01b0ac4c55e42093a9aa063fb9b421fb909fb21c8591ae5dd5373ac9f5ccaf253514e09f2ec860ccf84e5c2ea9535bacc602d89af43452e69ad8b4fb2ef756be2fdad5c972cc6c7a213e79f8e6a3886d55f226f1fbd3b38dd0d7343c782eca1335920d94f4885c99cf2b335849a2e3850b0bd935714eba253a4599e35d9033dfe0be75a1d2fcfcce50a614fe72e24a0adc467ec5f9fca8f85da66a2fde58e0672dadb2257619e00ce5b0a8d188d79b8bdc0282bf8d9daeb1191ca76c9f770cb70f04b27ae5db12cbf4d026470c07cbc6f1122f90861b5de0f8039883f2ea6587c462f53ab29c260ff7e4b994c148820dc12d3d64891bc014c32ad5a47c10b1670168fad1b76925a4727a33ab85810d5bcf8ae70a6b38dec8ce9942900e92f2b21df7aca01ee159963b67e6d1731d2c097bbf62a34a1d1837ebe2863656fc198e4ea081d185835161d0c88f7e9eec876debd7b07e51023d2dbd2a0635fc977380cbca895ff2b7d363de174b4e92aa53a1a71258b4fa5d043e496b73a3a6c31f47ccf43a5001968a4d89a97a71b834838eda43c8df6d56096a07aec990e3f2baa8ca6d57543e9ad65f16492978ecb5ec083c5b61016ae61be374c8fe48128da8f741f029dc7629bce088756c3088b0d0b39d2349826ef14b302c9c4463e23c0260fb0cf162dde62146da99f2c02a27ce13d4473501f1e08893af1d71279cbdea733ce9c60d1669992fdf0703afe47d650fb3a50e6b7f8fa1a32f1d4423d43314be4122040942be18926d0b9addf575887a38f2c99aef2b5e6bc4628edd88064f3c28d447797af4a95b0e93c74b968d1c913be5aec181799631d17c70d109b337d38c9b2f2a3e920d55fba7641cc9575203472a861cbd2819c4df2395dd473a6f48c072b9c57ad449404abb7feab07c7b58ac438d25f0b524c906dabf92553c8fd5af7f4a039d2dc8a369ec8d8e185ec0ef1c411c70428e81fbab788ca9eecf4d0a44d62739ba07b9e969d25beb65dd3c4c31fe84c8b5a32668eaf75950001000c3286e3008b1385d9f3216c6ec4d9e654a0ddbeb17d58d068183c595c65c50190b90c7a1eb2c7e858349e4647694f675bd695d8bbbc009e1d19fe88968c2cdf8b886b217a6694320e9ad9e1f87922aa2c1abd5fe6e0f6db4f2526a88489f024a6d42ed9ac7823caa39202e4616ef9518b3214a27bf998e6ba73994b05d912c798a2ac128f23e220747258d8c24ab5daffee16dbb8e95ebf6a9890f025081cbb9f69ef6577d684ed4c27470c19807bb6617f20d85c172fb95ca1d4cb44b835a50f5cff2a29f55989515bea2299aea0827316d24a9db7372bd7da0c826b7160e38c72ad616717391b94c778e45616e1210a4b52196b141c9945d2e5fb9a1d624588536749fa1a217dc3737ad0f809b363659dc166d271d6d4106905b0d3202f39db52eca0d25509a5a0db3bd9fd1de46390aab77219b5defd2bf4d0684594e99f2d10b84be92e6f3af7832ef55116748cbdba7e4a6cfc462cc914e9b4dce381cf97b068fee8250a118fef43018da4eb3aa0e4cc60e002d9b6803d0edda8a4f201c198e952d07ef62f63696aadd27afa7c114e4a38efc36854dd8cf1d1c4b8649738d1b3a21daab624a395bea93b29913f4fa369184108ca4a33bb9497247a28670e3d7f11293bbe1e9caef2831ef6dab0d59b245c668b4018c773209b954fd7888129e2a54cdd9402a8c1d5ccda31bc66341edb622c8019570c89aff20dab73f035885c740de6af2b970dff71a91d71f588e76bdcfffa5efae4091da502d92707f7176c61bff7a8668c1910d141820d75246de7332a5850b2ca40640c5bac0d7a1015d8ae0b860ff39dc51a7e6427c1f40435c347181f4fbbbd8a82b662a8e19654db1d2363bdc5ec577e47babc24621da46bbeaeb0ed402d84c343bb09bbf728c0233e23b18c7923094a5c39408d59bc7b09d3caaa14d4d7ad3ca9086ad651661d7ae0505fe524e4ed9f735e5b89223a280aa010a9beba49890795f50db9bf0b8a5c00657253926cadf5cffe5373815b8584d8cff65ef9c158f935f058be21e6f2ee2205f241637c436924a5ce65120653e974a17392d51eb89be6c31c807326c680be2cb78efc812ecf149a4006aa7dd2ea6af1e65fb36441820e0fb16e75f11bf5f22b01cda8e70d6e40f5cedf16a3aa35fc7437c03076eb385a5e086419f2aa527d80d394ea2dc2c5d2baafb6fa2de67456d56410a6c99159e44b0b4a8a0468877afcea84cb5d08874b7fb9461003a886ee9bc93ad0ec60b22517612a2abb0e28a56c480b0d600a1025096f73abbd35737edd352051188d8f45e51e2140d4303fdc76093ccb0d597edae51e8cc38fa4b81a9507c4468ab721a0fb606fa389d2a65b501dd7d21b4ef7b5addffcf373c30d8835e10319d0bddf8f2b3d368f272abf45889829bfabde54eb404b16eb51f52493bc982ebb2120bef0e836a9138d6d8a7e8f379455db6daf4ad266ba6b5cda6e9597198512a49a399130c1b7ac19fc7f989b8fbd74a0e4e8f91d4f0576584df8f18047fe47ec91fc35fb12c160092ec43451109c3de9fbcb467009a6cb226ab790f50102a7f773a71d1674d4929ba21d39e380a125f07c1440f71ca7eea4139930e3d79a501966cdea839524aa82fbae7051df16fa81ef902fd3437b6963d033fb61485f9a925e985323da37a9f91e6cf36a299770cedce7d877c7d5d433247e6b2b56e78207153b1058d9b397b250db9e1b745f3ff68fe134db68b83e8911e66577d1a71af418b3032f011f19827e381b2a3f1b9be2eed499bc3c4669c311da08ca34c931a174821705a4c8ad959498c772b9e30ee9efe94bc57ed71899c78b5251ddb928a8c6c400e897f764644efa6426d187da105efb7111474e1d7fd37b4c12f9fdf8e91e8560b10b147c60157a4dd1e3cb93c89912002be6521d78fe3c8a3e577dca7a2fc49716d5ee50bef929b2e225272d42a35d54f3e6b31d8566fe09845b2982ce44d470a879ee3b4b2e52dc7aa5715ee4c02daa2c24fc6ccdf868b5f60b884f3be7b801167b07329629863753a2fa94c4777107a9bee574fcf231595aa3018bfe3d0fa8eb70ee7d236ac4b6d94f7b875e724e2451a72868f995ef8ba972ad0a2e8e591577b2e73024b2db51e650f77451b02e04d766ba4275e4e0bf49d9a46155299117a3b347036e3c97bce1f956b8b50166021bc64c410208c3715ac342a0e87cc9942f396043f45921cdb4964e9b1256670763c9f1827eff454205f885692ba37b1b035cd77ce615adaeeeb82593c30d55b221690ff60b7f8569ced2530d028bc19c67cf2a13cb0f2dfda41e8d1deaee05d28d258a448cbea547e8e2aa00f800708d21c0e1d927f336f831c57e30cd9d781ba6609b6a010ee4f024aa8acafc119e3653dbc56f57f01eee4a03528f78d363eccaf5d9d29ef70ce9fb85458dcc15747692bfc68a4107c7279d4c576c6c54f434ebe6bc7bbde9e88e2165bc7783b0d6fb2e909198d0e2938fd9f7f5fac0ecf539e31d85f5002b9f52b0a4f3d385dc36054cce2da48f0a74d1401572d8b625b85a242404b99f8873ae412194756b34f05357ad39ea64911acfbb0a6ae781d65345fa4c5ea325221cec72ef6e76181749cefc85dd5005fb4e4d3a92b6c50553f1509bc391bc11cb7fe3038cfc08c828f1727d632f40e969b18c2fcfed5bc572d576ab4d5faea1ee0264f4355261e0260a0c9d1f03a43d55b31aba48c8abfbf0fc4b7da076ad80867ecd31fae7fd6ef9fad63866055dcfb4d2a147708b202a0bd7ea2def819f4161d811e2895da06a32da99cd98f1851d65a3b4ef04e234f8bf0959b4fd9bdd4ee22ab210ecfdbe769b0fb01821e5c2b4b3eaab2ab9b3bdab7f56a317da5a32ddcdf3532da8d0eba35950fb82894e0de24035748b0534aa1075260f90eb9f14681d71fad29b211d45efd6a9dbf45fa9595c3b5a27f82b034f68592f92e106a73f86445d022c88451f9c1b2b632af245ad18b8d11dcd1e36f35f414170d2f7a184933eac724f057aa1192afb54f1899d86d26584c74c9fe27572de22813385e895e99c209e8d8683e9fe817b0ba650dc4f6e4a4170ace19741db54d422fdf353ff1afc46b81140cd99906d7ca931b826802892330847146ce802cfa857b0cb19c952e6da7c5b351066854a801d230c7bb8dff0a61ca7060248daa6c81037a4ece94c467f79ad799a24bcc41c7755d68f0fc9b9cda5f51c4a1e0694b56865aa9a71aea4c7fb5489d3fde2c15948f153ddc7468f8d47cde480ec36acfd01bf1a38aa2f4b9a1daa71970f563458af79a0466ddbf3f22af2223a79ccf95d3a78818976ce11649396c006122692e33cabbd08e419ea028bd7dddc4062edb401a30886d9f93936a5f6301c6c9da5d3b50f98c0a86a35d6616aa93c23d5a2005fe298a8bbce572d9ac4279f63b9f65c90a97eed3fe1c155045d368f8529367073efd6d05565d2a6587e5b5082fd2ab619a8a0112753fb9e3e9607a43976691b78704a5ead8a257c06b7e7eb46a25944e5864810748127178ba7e0e2416314370baaa0cd24a617eae6513c6e0fbd79e604d6da8f8e814f009c35fb96096c120b3c3fb1dbd6a8af47032db0616b415d06e198a98a665749f1ba3ee160643559336aebb81883fb7044c889342e90e5f550d31992f6dbb6bd80e395c4e30409ee3175ee9b91d0c9a09013de3278c56d185b2f978904d9e11b8c07565b357cdce22d7547fd10ebd91c374498a3ba6b6e84ddc3186947aa0e7cc10315f73e85046a37bb8d673bf254ae44eb3db744f16e26ad2870dc369f9e49d8ebf8103c0ad547891996203711c21e33504fc76b870cd951e166fc212925637f52662ae0de76c833ebd4705f96731bf21c156026832859756d190a20dbc9e6fa5ec9c15f7b1f41818954940f81fc45b268faa8d8c57f16813f4539387fe33c8a82e45ca7c38052e251fb846010564f5a282539fac65d82bcfd10f6c4fae17a603fd193c4ea1e541ab384b9996aaa7a0745d55871e19c3b1fe0d40b4fcededb703ab62603ce853ba617215ac13c676104c0b32a45da4fdd0dd0094cda97f3dbd75b5490e334920a0217f74f4892a32f71808f2f72a186f318895576f681632dd26c96f4b5a3caa976fb287d26119ba2e2c6cf55e8d1b73f5bdc8fdef066103050dde232b8bc8176fa187aded2ead37da136f09c0e367b26f2136ba2df135d595b3867742476a4db93810d7ac8219f24b9c9896a1caaa8ceae40a6bd889207f45fb76b983b11ccfcd35ba188789b33c39f9ac1f587f3168c51d26168b9a9d5306fdc5153073a3fbe377c89e34d2615714011955cdb8c949d7c797843dbe43578cc99bc3cbc5cf605b15da82e54df68615fcc6fc727f8669ca2738f004d97e9feb3fdd8ccad1bb84272fa7ad670a417b154f7c95965620ed0be2d85219cd879ded84b1bc3e56c3fa10f693d672cc335f781ef988441f6517ea2553b2ab0fcaa5199499d319642c6cdeffcc5518ec6377a30e9f4bea6ffddad65b5c98fa1f0a64b6cceaf498c58e1660466c59d9e8f2ea87b5fcd54b7833a261004e891b65396f3571e29cd469849b98b2389c6255656286dcf295494c2275c0e330c6524a5b3b77a34535ccc5f8039efc0926377c8f0dff704ccb7b4ce01f764e4c90af64377ab19b7f516ba65f85d4030c33f33858c4466da156e19357cb3aa6deea8cb564c52157d0ce077307ea421255f8f315f930ce567c4f702097c14b450e7ebe1169a039c0dff1245881979602a97744c47201986ae677820f3b71f296075dd674126a415ef0714d357dae6c375816740ee3497312593434cd4aca261142354611426d56675b30ca463842980232575f8798f40e544cd6b2cefdc0ccd4af2f32b9417b36df322d0133ca494f8de64f787d4eb6f1c47a46bd91269b747df57c66e170e7c2540e755990841ed4827187557f2bab2d98a8bb1b399911c250612dbdab5a3efb716aad0972d8428f6c59993cbbf2f28c6a37af2d3d2ae2f4edf94502cfc6d0bf7f93388f9b1ea3b0be3d9b571bd04287ab49b8c8f71b8fd2a45a511698c7b6c1707089b5a556e27e6b65c51393882f48153e04f5dfa3dea4c88c37c1c109cdf64d86631390ff305da9bbfb10b4c567679d6eaf04dcee5d40a4aeb61fe42fbad5d0b3997eeb2f7a9859ae3e7594bc5176d27e9f144fa993aad5299b2f1439b1d228285d8aa0ee6ad4bce7d769fd85495b005f3265d6bb7acd4965dad6609c0fd144b9dc033617729943025583c2e02e69c802c59f7f605b65560a121fac028f3d03c639159f6311fac6d3a1da5646081cddc2b46f5acfdd7d587a14089aa99700b3b5dbec4f78f1e7ed7b5149778d22501683593e06477cb71127cadcbf56e0a769dd9b311ec05ec6495aaab984a3773662c8803480e74469b13a86a2e6828aa86bdc518a654283a7cf81af5a5af32490e084a485cbb798f01f1b30bce688529a630e08426547d7dbf128f2b871b2896f2b3500c26124ea37e1582fe5e5eb180de5681a84fc82c96a991bf060f4b8b6b33885ee07e47903e1b64e1bf07b7868fe693c19796bc7febd13756a79059347b8975492ed22b42b7b027ee75f9b4590995a4c37baba58873c00c72c94c9e531c6d3904b2fcca63cfdfdd7169792d5bc751eaf6e2792dde4e9b6371dacaa4f05660a2e2c20148bc95b161d9929b6960bff5d3a3948b29645e7b14ba37c2addeea2c6c2da2e8b1bfe7ac04d282030d60a5eb4b32b98f5996f7f67e52f94bfacc8d9ae044de35a74270d23da1da79280d72cb3c417ee7e460574c5ab6d5cc0ed8c6eb3b673207f621d3f8b9f35640eef15900f2de0b06e343a3b7b062e460e460460f58dc9bfc455cd2b7ad0cc9a215007c708a3abd8517cd725492b5d658e2a7b52e5394b6be1b7ea90f613c17038f859fd56be9b9f903c0883fbe519eae614b5e6db8b6ae6e2e19f0840fcb1004d5c93133a6c4b635098a728e8f65bcb17b90ac5192694c1ba48e3a00cadf41a1b3b3df8340ab4c517b7aacab09057a6d91f7c0f7984dcc2a30152c66db52924ae373ad19909b5a4b035e2662ede26f1c3eb4ee1f006ae0f1b77b9f3cb73da62c0eb0bb30903b4e0d8897e1505446ef5016bf5be945320df826e830fdae1c3f716d404f18947904f833c5d46c91e4b71fd7abc90232277126c3f4f18369f0ad55fdfd72f22389f62529c836d90bb87e680ff33055007503c23e00147bcf573ec99acae2995589c2a0005eb93a66856ce61297c2d06ccabe4f1d18813e733f6a7b87237385e5ea7e256c365fec93e4c03dee48613b4e4e499762328e65fb51e0c86df35b432436b3531468003214976d3be5f3b510ee26dcb7b0bcd6e792702e73675a643cbef825b4786736e9e5a3dbb4309ee5d01edc717d3f7891b4789e691a44cb6fee15859cfa199be39dd3eca189cab678083898aa57ac3ebcaae5bf7e7bf9fc39a04b1fc15aa203bccdb56aba103fd504e527fc71f00cc29d0776147c97f6b7a746c887104447d6d11ed226ff864098c2a642e8a502e7b4a29cba086ff87af7732b434446d0aca171fb6e9232d997cbec4dc532a41f62e8d4819bf3d414084467e0555d32cd1459837c83b886acfe9a1d9153a7f7f0b4f83ef9339a1fc1f04305dd29147fe3ad556df58d2e7f33e4c6796192c90a39333b728d93133621b443c756a7eca1498e764029987a1db07661ea6d63205c8e4e9dadb157bd26ceda1474c4017f7b39ac6d3241be4c9570f8b32d29cfa7be3e186424723872c21dee3f074f05d89c78f25ee6757ea0185d7e741900fd14db6748323baf871608cabc145e7ba41f168498d39025c02caa70c10004e890ec9182b16632ceaf4694fe106ae8273f700a00d3b23aabd1717a0fb8039e1fa19a67419cecd07526b0b87085483e650bcbbb68712f01ce177b9353a005bfc35751b6ddcf8086e61449e359852742d84b24c59ba7e6a3c82f381f1acf34915650e6e0c21c86e513709452aa148c64fae0926063f216ee3f9d40582fa8780b7d44762c5800c08a9c013de4d468793c5556e4922fea9f5da20b5502375a5904b936c455dd7a33d9eb8a2864f3a4c3a3d890258a5cbeca742261e908fc95708b242c7ae878b9ecc96561064962de8ad017ea95ee132b1b08a9ef313d854902f0f97bf18f04b58f2832a97c6c0d273192da3f8b61d519767cba46887abdddcacd36dccbda282591ea76f60738bdcf34193c03c2e956371ec8e064bfed79f30d9b0d61f07d44703ec05567123756b59a63a193354ed8eec4d9bd614f1a516d6d2f2bc069b8d043da5d7f0f906d8818d56c5b28543ac31b50b9400228f904ca563d94f87266ee1cca64e9086eec199650cd6d0d042d8aed714dc48ce2e105a12760e3e0498b0f68210109031c18e214d6f6e84f96fafbb350a9849bc138cc553fb345d66a24f71ef7a3b5911e61d1434f7a1d8bfacbfcb08e40600af5ca05aac43436a6aa963f7d7e1651060b0fdea0a80fcd160547a39b4a96eeaf850e227f80e10804aef3613d22eecf952df2216984f35757448a6f0fda144373021a693fc259e61f782201d7173f1545f8c58f7f8059d17ab46f01b5d341b056913c0024d425f16b9405d603458a45ba3e2b0afd6b3a5e2d85f9441c946b28faf317d1360c816c53d3b2f880e3963cbb8b37923e6f524a1090b865bd2642f5aada22e2138753dbad7cac2a44f709c6f10b80a5c3153c6d89bac785dc155309aead5f466aa6b3255ff1432d9cfbba16b826a5d36a73528da0391f061e01512179975bbcc38dc720b583ab2394b0a999b997e5cfd354eb77c39521fbb1441cc3686af44f235d0f128d1daea5542c5c7ce83d1b0487f6678d30e9abbf732f24e13c5cd9a82ba37488214f690a82e933284531cb2d69a0b31bc488b018c5a37a21cd25355cd19aca9ec7c417e8b8237bfcab16c93bad2905c667078728674b9075eec075d9f0ee61d5ad046a3c5229e4a141ee0ed95f2f0631a7c5693904e98e28f40f65009542c58c0006042c53e77308b4c2c4302a45b4e95b31d6356cb270f688944f018aec5a56f8a54adee585d98aeabacb353e5e470cb648b9cdf7082a2c46e1c562412f01ab67906f31a1eef605f4c0ac19ef4e4510bec1a5205b7005aed15b251627744deb769d74a50f0e22bb6f999ae8c9309ccb2e4cfb524e11a641cba36afe6b0e8c23160b36a236a8c1af5f216583b532fb8a59883bb4d60eff1e63ca77be18f4db5d34e531db9271f8f68c4dcd772990a8c0c060960565913feed50ba9d1d5489f63854d5b63b9d7b85a978c4f6407e6b7914d94391077ae16761a58c81e959323b1cda2a781c92dc435cae4991cd131864e17c03cfdabec42b6d384a6bd98a48e33fed2784de5bbc1c41aa35a1e3aafb1932f7e6ae793a4be4cac35822f945679c39c6a5b996f05df775b9e40c66968a2245b7b56d2f175cdf5cf571140570e36032a1c14990ed254bf693aa919a6351a6a177b765a3b84f8a650270d7e944a2bbea614db3a13045cc01f88d6dd319afd51cd4e03456d306d132916b5f5be6078f41e7fdf15ae4619a854c2644641c72c819492fbfe04f794dc40ba13fbfdd353e1428eb3b76592bde67bfae058515a660678b3e25cb6b77f5289023f600608770011d4652e0e20273b6236f36338dbb95b71eb50a39a63b9391578c6d291650ef332e4d232b946e3801abfd1eb5c0812b6ebea47d45365191b91b9ac3e1a64278c1ba110716858a7d5206bdd64ae1533545bb2af30feba6ffb12fc414d63eaebb0c3a54984b4a6ca224987b4913b0950a1d960f55a54d5e6ddbac8eec9f71557f73cbae71eade8420171c5557217233d5a92fb651f4bb4b8eca13cd3d5203aa5359992e4c1d8044bdf3662048c853d7c8ed561c6c27560d19f1587b32210fa45d401411ec6620bc46e4273c0cdcfe90e538bd5e12eae85c2e98268f71bcd3e7e4803dd466e93f2aee415a7c9cb4adfb50366aa39fa7a6a0f8c4d92928515b25cbf43885d45e024f8486c6e866f898f86c5ec2241361fd43fbe1669523b6b1140fa3607b0c47ea165bd1976c2105bc79b7b35c2ce93c965c7329622d92017e708e953c68a7e1cf90b6933cfb1a9fbc6c8d285cee1d9eb38e8acc9894b420213adf5f0e9c981cc46d638ba15c83c00d3c3ade13272c2c7d0d0051ab5d20d2824ac71c089a91feec2d4a5f53fd365e40c4d80bb88781edec89311c741ac86c3ad8de9546d9bcd47430d77cd3ea41f32eda2effd9c49a2a089b7037ce10f979cbe80176c84d846b9fccea13358b12e0c8f2a4635cf5e862c31725b073bf6f7e3947b2e6555182f669e179c1ad104be8595d583de0d7d7102538a83eb9aaf569ce99722f02817b123355e141594f589874630e618780d0df49dd68aa07fec3bc59fe35b1ceab5488bce72f8a2318b75b020ff6eb921414bb0c77eb01566e9e69ca5cc24ab0ffb1e346f26831733615a929561e45e89926e261434e77a661fcb616e248b5bfd621cb6ddd2fe78ac9db222c2fc8c7369c07e2a1fc555d4af2bc7f76a6a88ea5ae50062ca6aaf812975989a728479858ec46a12ad378a5f1202c62c239e9612a94c87294a622b535b747b79efb5c3a7ec3d7e24e8bdfab5bda1e139656ed0611547718a01aafa4a09f2507e3af573ed0d18c29983c195034bc787f9fd48e9f28b59bbf605cc57a6a04b4f9c87bc88bb57ab7b2b6a60f0a18365dcc2f20fdfe884e8ea0b54948db80e28a7ef236ea2de6df7b16202b6be724e5a2d1e048e1932cf0415b5f3014529d9ba0a4d3b47cf1a3c342b8c5993103eee0d9cccae3d320753cae4e01991de9ca36faeebb4e1a99a4fb5cee76cdf10e599ca495c10df4077989e03054491a4d698235e8b9901aa09f7368a398596432fb99f886d39c8b61959481d7a821289b18845fd5ef67829a26e1c280f89969f449f8aa124002f5e76ec2f7a8285807e1685b161738930df58d8652b67202321fbad9e0510923de52e549934e2cffe82e8a7f7b0f1cc24e8b2021f59b486934cf799187736bf305475b6ff810edb9e4504ffe250879776f9941a9db2c8bd6fef97158dcafed84fcf348c9b8badf86a2db281c5ca2ed7ffd13f9050166ee5b863e47ab4009313770e52a70b4c388717f42294c8ab402d9382830db7c3f746c2a7abcaafe9bdfcfe160e9fc4f49bc46000264769925061d6e8585fbf1e63cf66a37d89f8ee81e2124a1fd5a9f775c9f9046a3e607d6b2ee7b787b7eca5e0b6019966e49bec1bd316a4779c734be33e8ec3aef6bb56504d78c3b157fb42082a4c997784179d220699ec2bdaae589aefd16d7c6986284ea5e07b3d0b0c50a46f48b53fa0cf09243542415ebea87c8e353c669eb7a5c34b75668fecfac7e24eff78f934c01ce8ac08046ca5ecdc1a81920a26ec0a2ba5dda94bc57e4c27b240e3e340d1b2e691d75316f27c78885562f1bb99d193e2dbdd4e42908df76af470c5ae0b7f3291ee5678cca2ef055302cba054e92bb93dbe8f9d61908078997744906357106531271752156b88421b26b2377a14f0095dbde4996e7fdb01a1f43b19290a29b9ebc63549bee531c90ba97da73d9f94302429dc9fd6d23767824644940339a1d861d66d86c4182b68699f40af7c4c89d10e96143b7f3448cff670c73c79839f54604f090f60768c3a60bf18e69d03d523fa32d9370e6c65ff503d867e67245fbb7578bb26ab7f1497b595850000c006a2c0adc45d3e0e1deeee4c7fefba6c9084afde2dbb5c21c64d7102ded46aa03d33aec138030f85d921007bc4864feeb8c912d5b04bccb091a7be3687ddac482560173c8b8ed26639579f040e7480a98b06e97350935304475d9b8c6751265d495a094c369dad0dc33a65b14aa2a3086d7aab67ee87315e09e8ee5da23e0eab06546896d26ca85048d02a74673767d65ebb9423f92bd57ff7f3f6ec40a9d3fd98c74d74315f5ef1ba5de0fb34243d889a03e010bc385021020b8637e2f0dd9bc92281cdb69bcbc03f0f019713cc06c80c29aaacaa85a4adf45ae1f4c94a4396abb3aea24f03a0f88ec217c40b0405acedd369c0c892b21b117eccfca695c3e1a591648477a7e40177f26f8a08a572beae863ae426f5dde408b59904afea798903046003e763c7e789632657029034f1059759dfa4ca33a3c7f20feb934a78194ad331c10e7351873d32e239a124810bfb97b0e1085358ecced7da9e16a1f6f3ea87d16d98bf6ddece82eeafccddc43efa01e83b4bea39e048bfd26dd6d0a2aa3e383582246196e84e15fa858a660a8f388622ca7e6e40661c9629f8d3c95970c719e7cc1afa517fb06c9e4b41fe3620ea663d44c4c79b83c8f46a739ad796da98a27c9e214bdbd1fbe12b518eb2aca0468502a3fc64f7cddf3b3ef87c6a092dccf7f16f72002f963f05e987c269ed2d75ebd611f64209cecf2ba2040a7876eaf8e18d5213bcec6baaf43a4dc3814ecd4f9d2e351300f0679b01c767bf9f5e2491ff6ef3d67f6d75b3016528244f494ec64254cfd954807c05e4a58216837853958d22e93be0e617e800c1402a092a4349de72f08fcbe8dba5b78f8454e01176e0633dec86be4e8314292f715f12d2924d8fb921410dc3e60e5e481562dbb6f14afeec8c93f228b4dcbbab510641fe86b5d481b1caaaffe5594ac766b32ad21988ad771dc816063b966adc77e536f7e015619445aa03a40273459c2c082a902fd8103df24e39723c1c46b4bf736dc8aeec710ae8318f2adc6289c42dddf9d194c6c2992d6132aaab8a2c758ad507b2f47be79b9ba184c176c029a6efc32248bb016d42be1f2942c1efc80c1bd944189110b7ef95aa23031410626ad4da76ec12dd3940b5c25200f8858682aa0785f4589e7b70a11e5309a3e6458e0275089de1d3bb13c5e0fe43ae7d055ad3319a435bd5813cad2ce9a0d087a4afe867c87873b6fa00703ef169871aa5547c193a0f670780178aba0f2c02f00af54ecd82f8c36d0e2db30925c0122b96060548691fe1a47dc000e2a2c62116d7cac309b05d21ea32cdec56bee84f2ac4be51cfbded7e8683ec72ec9ac76c215c093621573ee3f723a44a84b0a86edd87140cbc5a765914e087d922823f7a1bc55d56ef7efa2f002fd8c4376f7c7e9e424dcece8c62ec375f37d2012ba17920f74e082cfc8621e822030b8151060849205b155129527ba1c745fbd2709b97b22977ae47178a34252029343e79d09e85e02841ece36d7c6df346c0a294ee421695894f03431ff134689309a5d9053b2a89e714f6166acc20c44c905b47e734b4537cfb7b3eee17ab9bbc10e34d199a46cb71c3d05521f4015188a9516f1d9e9e1b413083968e6c5a6be6ea9adf0ee2e3682c92b731b07482beb6b8debbc33ce432fe336d21621e39dc0591d4365b7ea511499d933d9066d65fa680ef88f08c43ee9da743059f00d40b7814022c8803dbb33676896d1030e47d8e6c41156529254c2ecba7657e281e8efa25ffe2ee63c7ec771be30cecaa0d3faf6a4510939b283ceb2a7ab73892b9cd37319d13b62f52c537293f8044accb9be1b0dd5106422785d10974178154f25cebf264253427ecbb7827c0a3b2de6a3e59bbc1d2c33033281bca1687d38e0a399fd2cdc3cc5403f290dc25d5a910d9f25c44c85f93a7f6d233739c3073a56a9d98c9ea1e3b3f850751ab129b16dd5fd5f6f3ca065739aebdca2d53e4cda49bf1a35b15d30096b9fea64349ce61ba70b0c8cd40374a673d7087d53d26a409ac935a05137e8af199895d0d6b27e8c859ef20ed97911d17fa8b28587af8bbdbde690bb1896f393c11973eb1277bcd5da0001c0da3862168eec571f50b3e2cf4dca55c52925fefcdd2aba221b2507ee5cacf0dce5409f57c6010a2344ee185b7d0c3add80a6ba2e649db9450abef21009e592c7bbe21212f1ac88aaed362e3ab6bfcb111c9d3418f787d83bea30ae4eb2802f9cfc5422482a0f874b2c7efad977c148473778f6d698b5bca8d5bc4fd7779a03c6e855eafa55e19c347059a6953668a827710471176571541fbe53d1b6004dc110c96ce7cf1d4c9635d8a703ce4b7ea714aa4497f379c45e52e7b7d3ae39617b4bf7e00edbd8284952de1028dbd2f51e8cf68ac2dcd031085a1de74bf6c3359c016328d9c00479c8763a0d22864b244d94c6232d306c62adbd5ab3c5a1b8055ac69b21120d804d0d62808a57859d67cb233a95ccf1a9dcf7203c936f8db6ad21a301f5a9313d98242268102d466a8aad82fe1cfea3bf909ae50fc880633893a66752bf2fcd2e3ba8c018ed5a569f0183a83741122c9d496d0d9080e88f19da1efde5451e77aae0cb949075870f2f7a334650686baba365c349cdc5a713c3ab68fb7f7bc3c8cf277b06ed43f47da301847bcadb6fcf6cbde54fb3ac929778718ea4918311fac31fbb0a2c8f02bdab64a517531ce2b7c36e458f300b472de55f000600f020038cf7c2fcba4e8d23f90fb8bd24268968ddc699bab49eda5d6ca89519ed97953a7bf48cec3118e9eb765f0680318ff10b58fb6b43b5a4c1dc4b13b1add82d8067988b38a4c9e4806c072a306e95aeb8614e0768a121d177b01199f58a6d4e7ec30e45788fb1ae4803612a495672a6b0331a505c4acf5234595c9fb72be11d8b0e7c410ee9ff11ee9139083bd151f954b3ee588eaf762893ee2f86df83b66f972ddf034fc46402e770317a4e89197c5fa1880af7b247a7292a77a09caa75be14353b83159aee320309b2c8337e16e36ed5f87038b23f5a23d8749e34c45c148fd28f259a8a45f8d34b316aaead2a95f1fd14575c109a5be446bbc7e41149861ff5ed8b2b0e0b622f0223bf4dc75b4eb515abeee51dbf4b65ec3d76ae4fa68fc28a55cd0734c22d74825e11537c6012eed22d39f0a6cdbbcfb45a61e9091b0fc74ddbf1040953291b86e0e73efc27e3a3cfe36672fa617af22e3065f719426482bcf8399835cbbb5398c6e0d8820dd1f5325bdc6eb802d371ae9221ea5a463b1d5fb02deb3685c6eb9995740f7b9e4dd8371724878c7c985364c6b92dfdb100a503f9c35f9f387e24ac388b5cd41bd764543fb25475de120c4637b5396abcaa2f6dfaee1c0a04d3ac8af1b427847f14c02caa3794bdeaf7a51b2ec48d26388acc670912709f2fd82d47940e39ea44b6e9c94992e502e30c113434e01145b316b83e0c9b4b24989bd81e93b1187cc9f026e26188c97428bc4daac552ae3b9276dbc7ec51c2c3121a9372e1a9e4d9957ac91edd1fb0dbc69eb912f7e9eff185bc628c870e9413fb1a70a039a2e8d117f3ccdb163694081af77fcfb3664cb300e7427b7281962020e74bb479fa8f428c71229a7d172767d7656c54db77b7ed586e09d9908329ecc29caf65900a7677a41bf0e8a9bbd87442912c5d0fac8f5d5f1767d5667d51f43d38886062b015f427f1076b1ee1e332080c27b35a7ad437f5a25c5d6061f3a2df7b0c101129d0a3595729536fbb7aa63e98d40314e224dd2c8e58b7487e271f625fb71faf088561b0bc85e4eec8d12e98b1855a15a2c48092fcf69585a8d34fe036795efe0283e624c8dfa885788bb6628438248fe2ca680bb8a04003ee9b936676439c5e0fe90dc28cbc221f709f055b1ab3e26de6524830fb8aa5e03617caf9a4fc88f96ed9ae363c77adef909dab76bc04906d44ff6281d1d5842e936060a36f63747cb300a420d918f87aac3eff032c77a8517f2d23604779531dfd9617a258e1c5f5a1764dfc49baeb610372a17a308d98bd697d1494560f022207d1287e4a748c7973cbb40403c78a6ad7685a54e06769125568cfd017827797a3790c184071cb8c23af849f8e96a772aa7003f2b051c02c9370caaccc5783ef008fecec480f53c4d884e566dd88db3f9b24d0bc0c86d3aef83d6778f1b98d92ff2ec94d5726f67eb806b25b9d632256fdf1ae8f5190814d28adfd36a9c7d41e295818a1dd7190a0ed2fb48d691979c61409e0b5128006ee209bd8e056644cbb7ad878f89b1c10429fdb4f5dd1758b773399a615ce209eb5ab03bd98fde0ccb3b3f97887ebd702b09115ec9dd2bd29354c659c1cba0879a41f4ddf6505446574b8e9ef2da573aabddf136b045217dafb7a7bdad5d7823b08ddade9c527fad5061966d9facc7e134429000fdddac6120fdd4a04fc9200ef56230765de1f8d110fce7a8fb284dad9b74217f678ffdae7d024c9c09576c42faad810cb9cc69596da4cde8345ba908fce53cd9f695a930877dc5f8596c8956e4c82e565f393320f4790361b92fc9e32322f51ab61d1de374476443dfd006a6f3181f5d196cfeced8df918a326155f1188ca984f1ec52207bc4fd4369ed38a40b345cbca849abdda628b8121637acdb5f5abfde448cebe44705ec84a9ab2494f4355838bce72b58914538bfcd914c02c78a31cbd5284f8aecd90a64d963b49b33f9402b3901902330c84095d319bcb9e8d7275b3a5ca930bd111ff3c730751b36ab90364c33da6fcc688f5ef1f325c8a3da9e4ea78e8d6ec8ef655ae5b90066da74af05869180ab9bd6ac4e06ebea79e3d3bca23a6e811cb1d51af598175224537d59b2a698510960ea846537d714fd8292d005d446e668921f3eae4458ec645f80d9100f2bd3ed77b1be9437aa475bc7a3f76434d61117576914ee4e27797f5f2c996399fcc0e3727a4beb217b07f500263678ca5eb4187c86c748da37ed650c1f31f7bd74fb795285763fa32796f38b0e316671276f2d10acf775cf50194b80fceaf5fbfb541650c75fb807e0729d36f49053ba2d32a2cf48425ad3d9f4149d349dce3ab9db833c1446eda6e182807dca5bf0017fdb45df0e05fbdb9e69cdc20b735f0dbf2612484fe43eb5197362d49c1aeee710fa4acded07948a30dd7cbebff23548f781cb8ae83fb2cddea561da73e3b58ddbf02927197eb0ac840443f1511fa18a1fd03e713d2d40e38dc929b10ba83f2cb12d5de95736556291dd0eec8a99d1e7da7a7a5b6b12ca0d055cbb6ed8bc6ea8e07b6b603da47b4668d1b99ec8dd8c300643722c178aca48f060c9ed2de62f62bb066c5095beef1f927d2175fb09590caf9b4aca67f6a0b0d582841f5de06229d7f7822e683fe0e846e3c3970efd6ce33b3343154c5480d084c4ec805560584a41791938737274a8cca196d91d8d4795effe75e2c3fc3a19bf6721fa187e7a5049b331dcfa95e1e3928b5d41865aeaa0b7973f7b23345be8b18df510638b260790f5e2cd60557efcfa7e6b4158963bb41439f938cad7f230d2f5145da0dbe2190e5d20de762b0217ec1448a3cdc1a2591270f1004738ce7d1c743b6a2e8b33953d3403ceaf8cc1aeae43748263259c8b4a3ca7b18024c624936fd5be27e94d09dfeaf5eb277e617785f7b8b83d784e8bdc471043aaca88ec80d9ac976fba66d0fb9afd6f268a49bc5b791f7c18efeb1093f6bb6a7f47c9875c6463bd667b5b7c68d1e30a2549835d54beec965f42526c2e327c01a8c631650997395c41bb7557cad3046354081f28f79a3dabd4dc40bd892872904a0d04b8d9de537273eea76aa368080ae9454b24084a457251334e8878e237580c060e79d75406aabd328dabda43c5fc92da6195ceeaec8d422fd2b1f29f5b414c23755ac12542c244f4856602a3a3525158333026ccdc8b57e4dbb4d5d155c6fbc6634a099adb2c1e47d23da69c053b775509b4cda85fe9ba18619ba1690a2fe6e99986c4331791ca405676ff056ba5176a99dfa974796401899862362ce7ef3d4305126ac1edfcb655d2290fff71ab43df94dc7410c53986ff8547cd1e5ed26a7a4edec9e040c8a3f67c2e0dc7465c75a97b05f2f6cd6249455c4249c5f7a5151d51319714084c935b81c16d300ee73c42d73b7620c289f3d21dcfd0c2b9fa3becc1d16d1a50eaeed572c0e0d1581da57ef72e778707decff8dac68c952950ff625b2c31e44d8e8e54acada91caa983cdbcbcba3e26b34222f0dcc469494e79aab2e44741a32293efc3c98bee6b0980526ab67b24bda8fc2b761876af1f3e721ce10760bfdf09bb6551593c653866c9e75f9c4cfabd34524b92abc3ddb81e92bab73e20b292c33f80e320f731ac3b64e82631cc63e5b7eacb7322dd02e36fc711bea24d93b93ab3e280845ecfaf7dc059e7ea1f84625d7aaf24fc0e299637fe7139de9e88c251a88510d7b60ac2ac4a976a7f4160d4e4893b51811597af4684c9259e267d78208e8a758aa6a3dda54e1a7874ceb8c2d4eb720e8e4460754773d95e7aaed6d04a299caaade30787afe037cca8e1ccc98c75160418bfddd4ce453110cd5d23a6cba06f757197e4fb73f25201c8196d9c36c568d8bc0ee06e9534708cd9d979154851ee740c8e916e0d71a084e05fe3bb8274d9ecdf053ee693a9577f464ee1bac3cf4d2b33c8073b167b38770b41255243009a16e9492a20b97be03c72776492b9ccfa37bae75f74e9c2324cedfb22d81adc2dd0c3c39e43619256b888a06b081273cd37f0945f0afceb7c49acb36d79b74307d396336de6cb605ba6a3d508b520a4704ca761483c120f68abd016e080024b28856e6e4f52a82fa2addacb52baeb6a35f9573dfcccde3130a41f7288ae9ba8ac39a33ba0666dd42a5c6a0b96cc4e17914025f0120215361822788407d6756516d301b9e9186caa2e72a18f216c8181d042ad143befd75f0be1c0d7556298522c5ba715f863c9e8b786f1a55003c19734a7afd736e1d19776ba225ea3c8af89742b9dbdead9e054aba37e19430b93ab216aee0d49da7cb7dbc76677c71368a45307848eaecb5485d089e78ab91f7a032b1a2e05564f355a01d72a32519eff4ec403ac1927eea41ee416b927d559664dd7b089972411711630e41ade374b58de5b11f7bdc7e9910f07b10f007c07486779f6a74a6c3b6e9dab56089b27c5ead3bea0397d9f91d168824706ddf6d7007e7cc851d64a7996041638067667dbcff99e4f1fad0be6b15d26945447eb563d5a7f6e6940c2f8b59205f2fb122ba9d07eaa24edecb95d88e804178095de9a7461c4faab4630813ac4a37b6519a1812ee9944365a757d5e041a55b542a010ed976fc684cc561ee939c2999c44446efcf6c5064d04d1262a5d8365da84e172e54501099d994102a71aa08b1209adc46e8545ddd629ed506e0ae362cf958036f06fddcb25d432806f372f055c08928da5ff68110fde738c9ae374210e2a660439c4601597d602c81229a503d594e3a050e36e0e01f8ee72d6df5d5f49d504d964824b635a043ed789490bf3abf4ab8e1796c5f8603f2033282e6657e72504479af3d3280cca47d64bd76e50e0eb2b1c63b20c974f5424ec29b6174ef1b7a5f4cf0bb7697cc882ddd61ac4baf8c33a961bc527b91e90153836e8d3f99c4478ca0810c4b3fccdef609635e4acd9ba81214225a23d9a6e3f1606201da840c377b5fba22e9a57f339d1154507c89f1e770b8e8d5d7ee29c4963ca39ef36b04160f84e0f2b3b235089d00c073424785f3e7429848ba4f58b7fa3d296b6df4895f91bd8dad21fa9d2ac15e0754b3561004341ce14dfd30140e78043aeda8ef4aca5e848b669d509d97a81b882e043e124aaaa95d371b1f8798fa4723f4578b5a216b02e3de6146d6a55574f0a391d1e00f2cb49f44044673fa1006921835a2b58465b7f88c82b2ea227dff4c30c533573c027516823bde83bc25753919b5b8422800726f1e6a298b40d2828f107ef9101a3716cc4425ab64d1b8511beb157adac1d4f32e6e4fa88dcdf4b6f88674dbcc54d94b037135718a001b6e15388c0b9c2f6a6fa539ad0bb8cc91112bbec5e902cf58bc186a57442779c7036b0b4bcbb7cfc07e23ea77922199024c2d6e57522a6b79b8c7b8ea5c9748bd4878d34e95ebad3ba2a591cd52ca461f9bf8b5d1ba7da18d3e951246626b45cbbd919666c0afc24e174685579b3a4b99f6bf10736e0e2968dfbb3d6351377f2e79e3b075ef6a807caabbadd3ab2627be68cf2155274d0556612ded4e637a944512156823e3d978d671cfa03e76cb2b64d9a66cbdcfd8ac872fdc69d8f9a8a70f3ae527528499c89cf3003eb98543a9fd80dfde41ff6221553b2c6048cad271955f50464954c17826c1940f2939a111f0186dd357cda656a324cd730f1f348a7ea4770fbc9f2a306acdce1845154d5ab7f99654ba9ea2cc872a7b694d3b72213c8c839fce07e064da69d9ad903610ebbd4e723a702502ae99d816bef288f2ce5a0cb2b63e9376d653d43c911c51bb52ff4ced120d02953d8d14966ead6083cefad413dadc2b09827491e40b63bcb11bea55f62dd91cd6fa8ee3e648f5c37226a96e69003f9bd3ae617c0a83549c1c9cd42ea509732bef3cd69fc4e6ec0c8fed1c166adf01760589a859140d51f41def3a84247a6b05a9e0d42c3c1b9239c6a07f4e9401734966de7773eedf52e15017da1114102a69e3357a2c015340179782c745853d59bd83bd925933c0947149a1107e6d86acd9b3ae1e00f3d85245b29f8f8d0bca063c8c7f12ad51f244e29bd4e2ce5ba2bcc8448ae00bf0fa300927ecee9301120f5fc48baebf907bb9a3612d9758a091d37f22fc249c18f712f4024420dd9d52f05f1634aa19a813982c1bc399a472e71230ec4de267b76ef53d666eab6f4acb62bc86b8ba240a91c330da4f257bca34160a55d0759b571187daae8a9dd4bd0a1d55d25a40eb14e18544f8efc0e33abc819769e152d905f7561cd97cf07559d5c6ce7b7ab35b8279a5d78bee75ade5bf64d9564d8d2376cda9c50fcd5150e98d77422d450454ef36ab81f48f7200558d1e5a074705f644b0119897a3094493ea9bd676ef04fd47c6812a76d280bfbaddd0a2fa962cb8de2f7d16b057a58561045dfc700392bb4299af21c056abb28fe72cfe379ee5cf8b478335deb14c2730759fe91e5b782ba71398e4c58dd1f7af2b17273f68934dca74158fa02d1d1e1365a3ffd41c4263f42402c30fb043a52a5053c4f70989b3186a6108a3930f0747caf4f038f568d587587eacfdd788fcf50132f6a7771749e5543bf7b7bec9bf51e22d73d2263f00c7518dfe8f2f20256b5888225476293dff1f3f6f059f11ea315bc6283e6d5dc181fe4b44ac791357c549ddd803e1ef42e31fee14f34b964af4d03a82a28792bf888a33869a2fb1b28108fd9cfd9f2de20cba4fba95e68ff71d2eebe069f5b664615c7f2eddcd55e98bf744fc08060656d0ae9077685eedd5701c1e6a192c30cd918fba31ac345f8b5f82078fa36f18e60e5b487e26a940e7a3297432c7cacf1eca48fe2b907cb937963858f1e45520cbd7e10d1cba2247b872fba56d70443e8bed4809a12dd48e63247f6a62457d57354c8c60f46a371367b538ea07fd32d8523b61cf909410641418cc66491220666275a679746e32dff8c875c99df2ebf53a65cb59422c368ae05fa468595b5f48368307db8f045e36ea590ec2c93a1ea828183324f0f4881103ca050c2c14dcb567567f6cd45010d5c98cf5cd0e2079a8f55125abd04c00fd70f84b9ceb59e9cf99954f152a4290f3511584a8e058cee274d3f30876dcc25ba6b8c9d8a9efaeee57046800ff191169042015db5dbbe6c266a9e9c26088fab323580552a4eccf4e6da4afa7c02efd3afdcd288362050665d14055896406ea2087bba4cf56a5bfdf8842989b29dbc4c5b5ba99a1cb24403c16c10b8319f6aad9c66ee92e8059e91931f83c55223e0c318d2874b4f77bead9e3a443255330cc61390ceed6183590bbb5d1bd2eabcd2aebcdf397ad27187c0444a5fcb61609362bec2f657d3a769550671fa426cd0af153c6e5981ef0328b6882e48fa1b0e2ffc49873a59f115a69401bea826bb7603e73d2bdd5f6628f05dc0044c7135f9ea06e2edc51cb6efda50cf0e127802cf6903c28e96c3f1803e6ed8edef39480e9f37ca8324022b2e44e51a376db9d46646efbcecfd3484afa9a7fc2b6e468a6d5802006fa1ab629a85265f5f980205a7b37e7dd590b6bae23c1e13a43d6435f0a3f354a5ab186561bafab49b99ab46b1d09ca27cee7169f4875260ca0903a9259ea59a8bc14fa13d54b1a0c1ca251126965ed11a8eae952dba2681fb777ce281747493dd718448800cec407f386a53041808bec13d1ac9e6ecbb4ba707e7a82b12d6a58afb281e04f7361d5b4f0deaf25b1673091c6857e41c76a4a98e73798707b1ea5e7857384a9b1d9f91b5cd7140bcd2d87d96e485836c7274727a267f4a6d16b17174cb31a4a1076639bb1b0679927be54dd571dd8ce0a604ea7debbef91c61feae9e17bb9aa8e12da6ca305c9a4dbc9bcbcdb73a3a7ac911045780cbe37da5725649690e6a939b61247033ec6c41c281cb761e4402079686b251df3530112ff7a68c7cccb47536818f2eaa496cf9b8c7f68209572e5d2f7b9efd2c6a33667aa40a5da4ebb2ba2ebdd25786505789c947bd36a765c9603bdd4915da36356ffa9deed42bd77fcd0e09006aaa1dfb53e71123612ce3ba23ebf1dfeb17f4aa2a7e187c1e9c4b53911a3c654634a142231d11c38eacb176e6b3b9c2fb6833074197a00ce3814890fd6edaf21e4ee8e709049f907cc50700cfa606890ce76717885985fc08cc29411c4fc9ddfad59551bbefd5c48b00f734c70c0ec9a0e66f613532276019438a167242a9362a07466a1d9c752af3e497ad3a8674878bebeb983556a403198cdc4e4ccd390e193346ccbfdfa8f8b677e92ac90fbe3402521e55a891c10a6c1657bc989b80bfd52c62f927acf997fed4c38772baa6cf13d9865f5686394493ee14c4dc77e52431b423499d2596e51c0fa33f789c565fd5d5d8733bb70537e776143df9304c22ad3b295887a338a871c18e2a9533aee5f434152516fc1535345022f3d47954fea484db9306e87bd973334f3a0e246aa0e89894ab8629a85c28c876797f0e0e02b6ba17c4b3c61dc119589c17a69e3763fb9095114a9bea458ec9756646e7b9e0bf9fb1be09eae1aad0dfa9e7922c9ef4ea7ba4f8519a81a05adc5c125e921669db6126efa4837937ce73e323b2d08300acb6e8f7b034d3af119924dde8a97f4e27ebb5f5c58c51910ccec35cb80c55f9757e0700123460e3043279a880389c19e0704e5a51a828ce4353ca3555c68146c2af53f64ddd9018a32bc4f9edba61877d2a6db5e3cd64f693450c7f9483d08adf3bef1728166323a1ee226e2d3d5877b44f92d438b1e11436b9bb3f72fc32f3c79ab6d9ef5dd90872b308fb6820cdebf37d9362b852bedddc558098d8e2b11731de8e7d649a887d11f3036b11944dfda5efe3ad5e52f6b362df8cd1df894c851413551964ef76083aa528010e65f1944a0e1a676004993bd8c91710cdefa97349678dd62a23b4e67cbaaae6e03bf18686905663bbb0216ef7bdd15ea488f5348c87ea9bbc441ec1d1b14f4fd95e5b2bf77886eee0f550ad56e4a47ae2c3be63dec7d0e4a8be0267087e3484e2885e891c8128d7e22db6db7223f8ebd4f320a848d926109821c2cf53d1a3471946bbe6176392a9d21d45376cf9722ce1323001a5b783b1c48138645214af5d8b48e041456b48bdb1c8b87d71dfe38790bf0934ab71e46ba90397ac800004a6d6141e2f2116fb5ad125e47327e52df0e048069020b30d32b15b24cbe1a778ef62b1e79523326e546c7d26b456c81bd5bab168dc306a8aab1f4c35c44eb72b9d93e38aeac0064ca3a3670e787b2d1568fca2521d289431dab477be382c1420081d3972bf90a83faa3c89b39e172475a5d72976bd3ac6ac0f94aa017c51e84fde976ba026e802794c6464f5ec367e16dcfbb5c46196f835edbe0dc59b176f0d359c075bb8c36c5094c75b92a26cd9724ae0fefebb5b13897e869d19c10788140b2f095dd18973f167ea1939c1eb5563a281b5ee964cf8b8a2cc82c9a50b529f03dbf356eb99ee8ee8e43cfbb320c3f2dadecfa553a9e5245e105391174f6478577067005b199b74d2b4244b45f7f47307a4d43e860a63a9910867c6a36edfede7a14d05a745e1ec8e4d46f7689709dbf0b4f371267235ae579611975f62c8d73c18fd6ce7ec2058f784c992f31c59440b05b12e2e6fd0e8e2bec8a6462c173147e28061ea526f62caf5e6e7be6608b63114d0d819b64c9b4c9d0b4825836cb30001e19d9a577eed3e2cdf501078619afe6d6096ed68b45d8fcf746cbc36c49e7faf9177a88f4d35447f6c6a6f0a2c7ad2e09b4d8ece9eea693387c9836f8d8f8fa278d7c44a01292e372a741d0e5d528384057439fa53573f19e3c7e02344b12130fd4e8a75588248026f3fe4ec9afcd769aa84b14bcc2d9e51bd076ff561385ae7a74e590d70668c407fa9440ed2792cdae5c02042053f478a7fa73d649bbdd271d63867b3e3fa485ee370a59e5a2bd8d0138504db1fe4440dcc34c007edce1a46d0b29c97b91b73698bb80203fa04571fd284cf843923eb2147294ae008d047cbff9b6994acbcc281dcbf0428fa340dfe6c2b01dbfc4a94e94d997a0be33a1de2925990f7656bef8354d3efbed9662c0db0501f4acef70eaf5ce60d8bb6bd15071d930040c3e339f9017108cd34bcf191e1a644742456f9a9abe9343292faa1fe14b93a974a27f5bd4d0ddfac429b927eca283b24442d3c71cc79c0925f9a07044d2af5547950950f41ecaa28aed96d6b5d4f1ad3b7fbd74f9a162613688208eb37a0390f96f1a0d1c2ffe82ad0027df38546234ca6a926929a156ba15f86a7f4ab6be5badc48569bb93ec16c6e3d45573ad41694b21ffe315e7a1664e277772218db419ff163b09ba20c46678fa9d44929436d03b18574e05aa792762a831226e7ccdf32b9009dd01eb216b5c166c6d997d768f270754c349001a921ce0b75457216f00fb62c90004947501991458031ee5d149c193b6358dba13154bedbc5f3046bff1a7738632c8dc76bc6368f756749b514bbdc6df3854935cf6f4e3c93d4e7a2976de24e0d6ebf1cae42ac218bb19e25670a9866c25bcae2374ed7c3a06935100827e848b628aec610a44065c28f7a3fd2302324c78b962449cc522851919d74d096c39be07404624df166ea06dfd929633b3a3575a74ca0c26ba91ced226a1dc34451e16cfe3c1bcf794ebfa35e6db797306ce85d1362cca03570b29e7603525a0c4eafa70d97f93c5dbc05e504f60c1c4fd010c6d399a40c995a401467ec95b591638e004ce366b422c11bdc33b85f92280ece222b3f4f5f7c316789f3cad00b8f12ec2ec148629a227e5ea28e8d8539ae521887f199e581f6f5894c0b4026bf9acc793f4679766ad262090d344f793ab850cd5d6b6a75d6b094a0783e165b832aceefd544358a46f62ae9d1a0b83c0823e21644ba1e258cbee4bda5bd8e5ae1a2200f3b0d384d0091115e13e8f87813357f8d325be767a651826c3d765b6b559dfe6f8938e59dbff031fbf2da74b1b727d6a46703c0f3efb7986e3b9e98bb82bc5129de7456e08030c987037d00e114b184873cff1679eb91a6121782f0bd052b3392a9b271146926123a5f64d205c80337f18cb2e98691f9baef14a4b7f35cc3d21ed6310e36fee50ead87fdc7be1b14da268a065c9e5a1a5978d0e3766432b61da0f7f0c199952bc1a1059f65755700fd3a615e1317b6bb185c30249aa4b7df877cdac0af50a4b0b128419bf91bb298714d99eb2721ec81980520b3569ee1f48585198ae4a70cb5945a1bb26e1f27b663840c37732e1374d65d2b4ed2fac1ce80a7b570cc076c8650ba1811af637f04ee542a745bb9dbfa359ef3ba81ccd83c3819ca81e9f464e555bb76b0bc103a7dfb07806e3d3abe426e3e69ef1670f7172c68067f9f71c5380e93cc5c0a74ab0cbfe37697edfb0b2c680173e7ad5abd2edada0ecf78bb2481be6697f401926e5446908068597343685470cc161b7c72eb10de1fb77b72b0035889d9b97ab012771e87e91ce09e1bb5245f4e3eb4106102e9a37411d3b6f90db902f4cac8756115340313bd93745d66254c5f567255fdafc200fa576241b10b2a935c752ba13356fdcead5bb734c5edd7aab8318fe21aa69fcda48d929871a357f903fe44cd23613ebcf20ba3f6672391d0ff29cb09ba1d8abac664284a5237fc0aa4d82dff804cf73fb50f7b69cd03d4e3b7953918dc7e632dfaeca5b9a6dd9323a9123aede9eb1f5d792190d66675b6a456048df05664ad4ffa90d94cca0fd8950608229c18bdac265917cbcfca8af8e75b62562213bcc58dfb7b80e618e8f00080ae05e4b4f613947a215c2517fd9c11dabb2219b5eeceeed4df6f7dcca10a0d83e214a1d1ddea04c21750fde4a3af5e2e58e5ebbe50372bac93f19f9e205e2ab322af8b87684f9fec2580b4845148475d4b6ad64bf2141483775dc068e6f6117f831daee59c8ff006aa8044ef28e2366eaadb588941b7be58c1e95ced154d55680c2a0349c91e90a81c00fcd0d27f4fbe4d9ca6a25027c8d635d0189ebadd0c4fb181cbdac9503991f0f693dee2fdd2b93a504c7f3347184874df443e3ec1af74a466a16eb4705b63ca3da8d8ae34bc7f53f0ba8c95ad1507ffd95242a744d885a562bc07477a413941e2888b3104889d0af0192de0bacf8af8bee3b9074f323a75600e90cbd777eeb64e1880b650382e8f10f50cf943a9e08b66e15b918681dea3b468b40ee972d0e80a49ddaa7ad15134a6f30b3c7fb11dc5ea7f9f59b55f23e3c31d1844d52ce2eef3ec4304b2583039b4586aed5281f8cd47b5dedd8cd1b6d1b720f86daacd17d2738c867ba2c7ada1dd8e08ed06462cfaadcd7059cd1dd94f5297fd7a1d0c2a7a3e5c2cbd268fa939dbbdf9982b0ccfd982bd33409153775390b5ffa89b140379fe48f78b084a728d4f4fcbf2e6a97251d824e49fd27a9122fb7d571fcd5af79dac1780d2d301344bebe0c90a584c11e2c8ee950153afcbc23b7019aff4059441b9f234b24a18adc452e9189585618c3f8edb301075a9e1574170202d6107c22088a56551f191e04c82be6010dc0f7c2f5a35de965c439a10691ad5d226aa4d052be1ecbaf943303c050a0ba60813e64045849bf3402754ec8277353d841c898d110b12b7113051cf2cca1ff2540ce7ac2b9d0a79ef4502a85a4edd67126da54e62029db33282d81c5c19f15116568f719e09b1823777de72ebeaefce17405b574588d304981dbd149c28a8d48ca111f99b7860ba2629312c6d77996cc33db0608c25bec477010d80acc0ac9341d90c0253e8915eb48c53f15cd84c2575ef099286154dad0b869926764d6fe624e7648e5a4da8b363535e70860bc86c1bf577048d89de244dee7f0b99967ea5f62fa94669ed98a5d77b9a33069fe2aca983d28ab5f5c6481dad83f85aa3550d2a603d2d2ac93e89e84cceaa2fb541f56eea41fb27e849ed8ebbbe99eac37affd0aada64289fc3ed58855145c60598a9d64d5542fc9188e8f7746a14400471d11b9efd9912fbeebac62a3c3980a1989a15416bd3cad60637344896d0b5e98fcdc6588f7f475860ca54b49e223df395187cca7ad858bddb2f87a20335b69bd87d8ef03fda553e380fc7d50862e6e25543e4f4736212305dace8d97ff3ef5b0468af153636920e3dc20c47c4977be152438f76b123f8e7c3f99011abc42d79fa53f04d7907df003a45584f4836c1561b56114ce005260e2790415f8e633df0ac3a8d28ca6d69d196684cdba87e5312b73c5b124a82a840defac74b8ccfd93cd546055aaadcd94a689c69df220c41b3ef2d06b7c911727125c79fe7782fe74bccc5d697c26d3dfe00ea4a9faa3fde63846f23298452dbe5ade68c3a804b3ae87ad7525f32449d3eb24904859a9a4c9770c6964d8f796baf687839cd361c1e365dbc7b7a7f93d72ec797fbf1566ed8054ac531059ee860991f6ace330be2e40ccf022ac2871d093b028d6a822bf373db06cc3a81b61fe418bab498d63224e62ef96cf6d74d1d7d8980cc47598dff9698baf2cc643eef87652a6eab5258f8ba7597e8c8ecf83c4f2a1480fa1c10e2ae7df7a1b76b220605809cefb1439454841819d450d85c3f6d4c5c092abbc529dafb73e0d5b03ac14fbdc16dc2c99f51a0258f30bd9d2910fa34514b57b7f093e06fee5e2cade1ba159de25d962264cf52fd560f77689301009adbf4522386f003018d1811d21519f49cebd916f4897162a07bd952e87b636544615b3602b916541929782a81fa251ad69592ec8e9f1de909f133024522947f005f15385aeee435ab6a5c9154c83b3e10ae3c9ad3a8ebc14f1876eb98cd15317510e9e34010798346ae054c75028a2f38f5c6c59799d44b16e032bac909ab308a7b18dd8cb3156d88943ea6584f231816bec378871460e29eae37087070162d119e1fd944942f08eb075188d323708776ef6c8c6b4457dd277e25223af61df2d1d93e8267e986b973df12a0dc586a97338873d870bab7db2f4926e3ba2ef5bbc8e6cfa5e970d87d4ee98b8dabaad584efa1bf6865f8d65f8c560a35fde6433817d9220f23ef74cab07c9e18d783801df6d97eefc7a632154b1e0a32a92d727a691e3b863ecbe2d7b63a5a188d9442c30208d7104823928c012ad007b737f9e3386bee32993fd0f0f3518ff2d2522a6e5792793c534e9a889854ac6a68aa7ebd4d451dc8efd44597d34fd865a3c943ea8db10146dbe1780035f1031c7001bb9e54a5a0a4aa9a55f116ca11d5777cd178262aa24bfcf1ae03312d50b7574d47132fe3d37ad9cf19868c6fcb13afd8ade5a3140c896febdc799d1147c9b91e055d09eae47b86de29f03da622850dd5ec9e9fe2a59ef061641af992a7e3b8661262dc55cd0b3c1c12cea621e3f0137ff581e128d63a1fa560c437adc375096ca1941ff1fcc234e277938da3202ac201c1c8c340b35222be8164dcb44fc0a37f0f41733b248ef342282600f5fa4c388d85d9e64b6774bf976311a324a73b4b885e14732915f1d03ccc1641185e988e81e6ddb744c07615f8d703f16dd651567ab1354c234e4df1cdc1106837724b4accdbfbbb88fb9e20c160de13da13d7a49e5203a481e014dcd068791d0da2eda1e6bb0d7a794f836835642fbee46dc4de86e7b5752d948d54ba1e13179f1fb48322a6b9a44fca8a292877cdcb798ee31f87766dac29000040b82002dcc21f77f70c7777aabfb9d7c4063b5f049e6dda27f766bd690edb58422838ad8e654e4660c4de68f07b70a8073b05f486793533a3750da213df0712de35b754c7f3c4795594d92ca8eb83e5d85f6431c60df740c03d559f05c7f9007c9eb8e49f3da841409f4b82397d22be8305b54ec907181df167df936d668ce98491abdaa86ed93152eb075b2d063eb59714d76fcc12bb3fd46b1312c4981da687f2d32c13cbb45367c79ac48d9189f40418766a3ae76bdbe94615b41a415582f01e3ab875cc9d7661bfcf593703d9307e40bc673595fdf9eb0447e42e5734bd596df014cd2f078fbeb1a17043de3c40a69933562156a986f19331356549013175a0c0996026cc84196b612b4abbd647c762b2d4757b9aa34a4869148b53c03e54a816e436cfd99a36703478c83679fda14634f0d33183636452582252dcdeeda6943843aba85807f42db76510dc37b14e2a184f32b62d18170f71b8bae465ccdeb8d29c4a21cf8cf514441d3a1f11c2d8bcc2ebaa2ebc12b8e0d8eb9b021bc3210f7d55b34c46cb4ccd3acb8abd7dcaeed24784aa365542d6f8368e0f227a1e98f274a13e9991a91224a06ccb8dfc3600759103cc555c5e24f777f457882211fd4dc5a9f1dad7b71bbae76797fa9b6702b819a5dd52da5029609d4d3af319d40bf051a707dd259b3ca973aa40076816f439403bab566cede53634d8a99c0a6810f29369ccd885111d01f059d4ee073729708a3f17a4f7c48236cef2652a76376880b625661c206598a09a498c2ce5e916d009be9964a188a5f2b1107b2fd9a08a446672b6da16f248fcf6280166765e5fa35e7b9bce3901aa7e95601c6e78db68cf19a1b6256db3af9ebb2c0170d0b02d83220a0aa2f03571a48fcff773b148d49370b1d37f54d2bc88b98b60830a68bb2b4357e22203637515492a0cf0e03e68dd52dfd9a31e2ec202665d93a44426ce065c29858de201973440056818fe2276d691492cd07a212258530f7e4c76b7f6f0f24803fc891e4e4b8ac970b96bfca4b4144733104e1321cd9aa566c8a404f7f0f6f947a9845ac06425beb83b2e493a9d35b3d92f0055a0b5378ff0f02b257d9111b697970500a3850de73837d4584e64921019253259d269b53555729d4ab7be210745ef6907b8eaf5bf71d9756514657d52d872947fed90af38b3616b983d0445f5e4b130570b4d56dbebb40cf0e377576f9f97d8821c7708683251ee51f44953b36016f24e8ac22e8d14ee6e572d91583b4049e420a307a809efc80378fc8ea70fde2af5981c38623691de62adb2a4a846f65aca5e543ab649db2147af0bd249acab7390cb773ae67de5f81857e471d75f9db4a5e128323cdf5e640fac83cdd908afc51d0d8362a70d758ca620f513c804d343a626cadd93d39e1cee8d5fc2b131ff9aecbe78015dcf5716db49b1384e0a4d1785e648637fb8a0f85d59859f611652f165bc93b16612c0c3638adf3b9676549c82dc2d04e9a8f0bc811204f9a393575e845903b2f19416f639f3abd8fa55dd7bdbb91ff591188470be5077b64a7c96dee22e3ddb49a9f7c3442e08837d47b030448c20dfce1ae38143e687a8e14529e2b5633eec588eab394334e692a84b3e40de4414c545d220d432a6b87f060c90a01ba12e28966e727989e3ae4882dbbc19f2fb2cbc4c0716dadccc84deac34b2b471ab263ecce0287fa7945841e8cd75e8c907dfdc655f3e0d47cadbd0a64fdf5bb11db7f6acd4531704da9cfeda3599c0d82dfb1ce81073cb283a4d5974b7d2df8e7c106f1a250ae7568292aaf0021bf07094f7a4e2463eb2c4a0c18f702921518aa6b7a95326103b5f5796ad6dc331d27350751bb71fb9ac13cce3e766cc159d3280973847bbe3dc868d8077ca60c7ca2bcfd2df71c478325326aa4e1259a59129021b1a703bb793d5eb0afbe07406381080b9e86c39ddda9271fcc6fb18f6e924d5f56c4cc7f68dd5b11a56778494879581760f67b63a67430b526f2aa1224a2bac9fab35dbd386a610a48b2038823aae3f73c83525cd6de1479de0036679f25014706e74a6c526b7583a497e7e6b314159db2b87e9580e9602bf9cdb4939d04167bd31551f7f9d34a030d80a5d6cc6907b0c683c12f855e0fa46a7ae2eecee687b61e182b50acaff0863fc756c8af8caec40de734838ebc13f71d446bf8544e0b029c72fda191072d0549fc233e04c707371c0b80e211ccf4ec269e95c60d0686ab6a6c95974faa2abf4a81d88ad18ef3e93e457cdabe7214263ad40e05bd726a2c66c954b0d939aaf25c44f5c00e6ab02fea35eb2efc1ef723bf02648bc4f6696d34ecf404e7b436231efaed6b7f7232ddf2c3e23b7e3c90202666edee25220e1b7d542f0ea448eed2fc94b1ecabfcc2b43dbaf02e9d04a3e5a3e15415e4068c4eb394b03649d26e537528dea321e2139ee3268172fbd5a7b60d64b3193d4e4d27e292d460a76df8489c509958b714f1f28f1d1dde481e9fd9479fe58139c0cedb99d380811b3b1d2337160c9521ea66aba64517014e349a719975785de6ffbe161aab41d7a4a04f74e3ef96868762c9e2980a36ff8a47c7fa5de42e711fc48a3485b5a58e5196ae71b1eabcee8acd714062a38d62b9959d347685028874262a36b4fceed0b8546929e02c38f4cdcf96b5867555afc96b7344ce2ac3ad21f96a327dff14afbb70c613c9bc6ad5a31285a7f9b3199fb5d9d030d0896eb9bf2db7c61851cec7b0c9d8c3b3bc74267567ecb8a33fd406acb51249ac11265a09580f01e014ae37a6a5a89419714bee725616c864b79c0f524a7303743be1a1eecefc21184bf91d7f8788edd300de21fc3b3888767f28b251553bc1de62932a8aee94eba053c7303b1293d426774fc65d50353a7ca6ff47815e801830427f240810685759776746cf09733e484d804074009939f499839f4a98ee986d4ae5c64987ebd868bb01330ad6dbbad7c51d294797231a7c22317b92dd018487b0fa4a07af96eb2c55dfa4bd531bc25169ba8ee9b1cc4a171f288efd118617966fbabc633285b68e0a7be2e9b90748c753147ff963a9d5c06edec1db22e89745c407120e9143c511c8ebc0a4c358746515303f78f1e8f88c7eda42c8892cf701a13b2831ccba4045112394c810b82c83bb1f2734bd0b518f28c8fa2bf4a186d97aa31b0fc4519a2530c8432aee89bf2223ab31be7d2f462b9bbad4cc1b366db0d13c28338ec1c9f0f0f98117b54661664ac235842610c65314780207499a0b4e5b7f52f664b63f95113b79fbfb42223e7c166a8e1825d73e2177783368dd9b0880c586b543e6045e46dc1169a5cc1793f023da687b572f725bf72b4482a7eddd00d935ce571a258944cbe849b56791eebec89702b4cbeb7a5415f7a26d1da85d6a57bc9076079e889ed2e9d847275be08ea151ef2c17d15b032b7e2a2169f728fa8f89e117370d149cd27eb650f58160ac999044e22c8c478d9615c557862a42ddd6cb492bf6b84c957aec9dba99068e639b366019cee4cc9245c4fcbbed53fdcc987d464cd5200b70c7bc9dd3786e0a62697e42d40613bfd41fbc02e3c657ae5605d3d94b2f0c253ac40ec2bc28eb2e54b04f614c69ba396a108068a88062b11b9e8d25475f6ecb2c593a3545d23c537f206bcf72bfbca9b878df838e05b82072efce816af64f11e1a00411eeff684c3363db8727029059df9346bdc5b3553411996efde8f2e9ce40bbdcc67679cd9c0573aacf41a5a336df049b60bc32f5003e2f2ad4022b8911e69013d88b1adf12d1f69db0a04e9ba6e437c82f7a27787ee3874375545a72e0441bc0c8fe3b11c6cde60418960698041a903232db00b13e8153a7615441482661575a7a5b0f06a6bde920806d592365a10736dd4f562764e99c3d5d318f6943d07c5df935363a9e6369d9b2398f5612cc70a2c79bbca3108584f2519857855280c1a9baa393f4249361215b856f35da7573545542cc16e82d172694b0a956890b7f5d072014e4facaf097686f36e0817a82647ea05d4d5e354ae3d27af7cbd345e5343ac1eaa0a9a0a6c15e11bed9389e20c5e94bc84c8c21784ec35829f38c4ca8bc57fbd3be6e95c4539637689877a1b3f5eed8f9e962fcc52888abff5662d073cb51bdd36ced53b4ac6c9d7499a91eb2af51b895ab4cf09c907793de29063e55622094f877f0e075315aa35fbb26b1cde0b9de7449ee3241a1a290e423095aa59c0b842094ef7c674badc315ff2a3af0d187cd7e172d22dfbb854088bf455ca75fad1bc61f7ef239920a62304f79440c20cdb4d1b95c75d864014fd34a972804775fa693bff6c940224333ec734ff32356476b51c6b3f413e5297a0e095559d12c650a79faa6ef5e02b0b46d06af3440d40667279bf5b8c48f31e55c362f816747f65c9442cad0a96813a2e03a4c4a2babc68905e965b9d6a8b215d3e24aceb54a126d10e07cabff786896f5f7c6848d8426a35adce24873ab9d7116783f3e1667582c7a3c411bfdd2e5c47dede263c68b099f6f6be098c721e077686060ae8f71d042bae7af078e4ce363084d69a5b664a56eefc5c97728b031ec985de8fb90e8bfdd6284a40b41fea94f4b07e97fcc8c849cb37757e89d205a628679299f368c92b7d40cb204500bbb440f4ea3c073f160cad7c25beac933318469db271dd7a6cfa5cea05701701a25974ad72401d3fd0c2e59e9d59c2bf6e7203cf74486a7d783673c52fa9e156903f10702776d38879323e95b239c29cb98e699a4431b8d4d5d6c58a355391e75a833d32bd5e5b1925269775086ed40ca0410e6424cacea8d794eac84bdaa0e6cc4212e80205a5a5c9121ec60336d9b2067107b3b8525089b755b3148b532f5b83830bdbf950f0b408cb427fec2bb3881f63bd8ad0078075e0cd6ae0f7141db0e94dc540c035fae0b61329fa850fc6bc0570183d09ecdaeff7a38e3610e844bf8d882b7d9f1c0e00b40e3407a20485a323e071d946ae996a43af0947752690812c86c4c7db5e9b8420a95fead056ecaa85b23b8c2eac343309c1e1771461563044453c60de6ac03cc533945fb182ee51f1945c0c3909b7a30e900e7bbe094f3a944d450a6ade1251b303c5bb0ba8b33581db2d625161876bf425394881f0d68506fe729001dbecdcd4927eab882927d9be97a6a1e93800f31ae357fd0e157494f308dcb6d7303a90835fd91a0f299a843506036bf49ea7a01d5f0827b9aa42f8c28bbafd4a1a85a26b69f74f47839f44d98e58488ea4d6b88526dd37b940b184d02ba75aad4be18d066706318077eb48d3a3dbb9a8a938f9659d866453f26eacc4b41768415895a4a4e8fd6f02baaaa8fc42e8121f3614a7d0247b4d9d75f1dd44731c27cb76e2a404145bad34800303273c0b0c72417c6a9634a93b72afb4d8499d5abfb7b29d1e6e387402aebca53f98139d489604497ffd0104e81f0cba60756fea258e64e649f101e7e83ea563982d240592b93ae2c8cf526d577022ddf584eac44e4d322bec7c5f353d34e4a9a6a49e80186c0ce503c457e7f86f7de7c92b8fa87757631eef1a91ccac065ca0eaf131d4445ab0f2ac60ee595f56f7bcfd0d1ec8f119142dd38f581c31e026369265ed952c21ccf17d8786e1b971a49fd4f1f37c39becc8f641eaeb5f0e0c1c500589a59dd3616272bccbd764aa782a22108c34130d545854388a503cacdc1cbd2fdb6050241b4bc1eb58212361796ad0f2ce958b2c643b8ab2129376a835ac0f24a1c6e002a78ca2d7e4a44d3ad267f5dd4b5605fe3a3c97e15054100f1ee9e27a922c619ce75edcab4e0bde362819c38a9e90e184d4df083ffa6276b404322559c9279f39d556da541d30ce40864c6f406428792b794a0bc0659c58dd49600a53f521ae3f30bc9f87e258b7ddf886c30d7569d465ddee7a057db1d7d02ddf24ff11b0f264dad175d80bd5ee23a7f81a85f72df698f9c474086252336ae6ac8e95be9c8563ce76573e5ecf48513fc5cd1d420c527a18bf1b632086192b848ba894761a1dccfbe62138975605e11ba2065a6d2c34158f7b3485f5150cd45dea8237d5bb3543fb62e3f3a39a385dd1147392c49743228443a450382822b694d075a6db199cec0524403655569c20a7a93c9115c012ef3737c2da2e6bf7aeae0d8a3d92ba5df90b9c86ef12b4f4f69c3941930c0c2c2c86f58a2169c07bb4c9095bb559ce925d62fd26baed9bcfcce60ef9881f83c5a6ebf93bb7a6f452da09b2d58f650b419d6148deaec5581e234942ccaea50a982e3f7faa310a05a0bd2b41166922823c2d6be39c566408e1bd2cf066c28533ff9071e56432f584928e22e4d8a85afc7528ff0eacb86803528bee429588108c12a4a897f845cbd87189cb617de5d04655db4e47f95e5d682315c835b9f7cf6c5c96be8e336c4adcafc36c11d17c2d8ee4c6a97129c620d5e67ab0204469a88735a51c435a49810bd25b2ea15047674094d8f3e912d3d1bd54592d245ce7c44a32e39ab45a515b39d4704e402ff3e606247e7c4413ac180961d00f1f30359d24ad76f9b21088e13c3117d0a7650ea6eb3934e9f868203d80d123ada044922e90793318d1ab92f108e99ae46e0246f2865bc5cc48b5719bffd153ce76216c5a136c91cd3b0d23454dcc1c275d243a3bbe1f0415b913df7e370d6b2d1fdda48179349435fb77ac763350a7a394b4350155821a6c8a4a8681ad945a12ad14ca1bb70ef71c1bc4cec40b2a5ce271673e090cbf6e5ba2162269a6e120f9cdffacc646826bb9aed3e42715954180251ec57cdc1ee8a6bb1753842c54b8e02704e99ee8ed94684c2618912a0c55ea4ba9152ab6e40379fb30ba4c8224c4a0c96972a067a455ba4a5363f24c39688633c4078135dc82f9abea34901e0085857eb52f8b0efcf781bc0d615e10a880b0f39cb62d33118d8907c2d3a3e2c3b4f0d567abae4648e1723aa00f0f3fc4a9f45835f593ad6095a5964d21d8ab33f4169530d81798325a92b92ec16131fdc341b01063a82ca29dd413cb0edc607029834cc1bed1035f24793a283093cb9b3fab6bd1663935dda8d049e1ccfde7dd2a1961656a46a01a5099dab3fd1b792230e7e2cfa00fa2c3395f2dba50b6fc7745c08d5bd29f55810f093ac02ca17176d28e814087a85d3b478193da8c5ec27a3d553d32a50a9d0768634c97e79ec1717e3564370c3a8e3f80496a94e46b23fc9e22175e49539e458eece7985d23929070fd9c900917ba66119398a5ad7f8f7dd0cb7c09bee84bfaca6c9108a6c4d8c8d4e057ef458ebf99542e4d85b0f2519694dcac66a71ca54694a136e4bd5d630b8805671894f6967f640e0eb29c3606d5fb69d279458bd899999c3ea5970a103818c63bc46f978ae1cf8aae4c1d4b206f9598f537db56e36c75b7852dd82a6ccf34e37d54c0f0904e5be498268646133a6e0a0db9912ae139ce5670ef6a67ecfc1bc339709904a2f8728657915dd1fa478d8c19e76cdfb214c4f656f796f00b07a5319b1b4689d880ff5e93c02c6fd0a7d4fb4eb60a95db3a72bc34749f7d1e58e3590420bdfdc3944627b8d204fb33ea11f09b12d453b98c9d284274283415461df4dd168bb993bbb3f4219b471be4f8b6ccbd4f321a65e068da5e96e6261a11788f7663f16f50157c99cde6a670a32c3d8e7e7820da1c31a098adac858e04268393c85f6df94093424db35487c619337ce1a71b2d027e9ed0a6411b2e8311787b4e4d1061f41470047fb5c145cabd96ff550c6face509a1c6d6d08e20ce0fdc77ab3270f21643fd8b76420413f3cadc2e14de46b569449338d70ecb7d876cd5e9b00ca77b33d8d611c8a38be6dd714455374b5929de3118978c12beca505898430a361e8e9214bd526ccc0a49355b15b982618826e4e136b0e9355af9c9255a65dd8134fa8c98dc78342571ac1f507071b33a42c6e430771a88377cdfe69eef7521291e6eefab7be18ed0458601273aba209f644e003f101fe4a525820eb375ecc001e41b0b3c0741bb8902efb95b95574d41f39719c467d8a06d2efef0b7c34c8914b73e22b3875dbc76953bb3225293f404e5092ee370be9d311441dc8733c13f4b1df414102467c9dedf4f750f0d29bcfeebe6201e217db2c1411ef315711eac3cd6599e1ede867d97075f278a3e335acead8b8871ecc8962d17eeb6fd306f38773f6b8d6729236ae0a18995dc7b4b6443edd9597cd8a800aadfbec8dce56aaca20416d73ba3431a34e0b53d283895b45351911abbb3042062971cb541277f831531612470c9c56c72a4419dd6b2a3c8d8b5bb929176560e118b5f306c50d0d36bd530cbb91fe166508914a1da1769b904f5315a4548143620a45ce753fe62b14aad7d417b4cb68c3d80e7213e46c12b8aed804050ef732dddb1c90a8e7ebd78de40c0eca2e6ecf921d204bb793f8e749fd8cb550f4b0fac675f3617129e29b0ac7906b364a242edbc61631a2e53893ce2ac7b7fbe2532462b412c9ddaa765736ecafabe0977925f85d7819f67ff8397013017d9b0c6de1023f4d8f81b9f8f3150c00af23111ce6e00dd42dc12bdac8bbeb2e7ba59ad662354898cf449fb5f22a039add357fc681b76a3c0cac72fafbfc7bf9c869b8fcc4e550df5c747a3866ab36a983c7ab9786967833de6e0df099d0a40ac39c47e0a90da979958a6a76cdec50878eedc3f85f0873ec6d5fe83008be8d8a74c03010fda7a783f860d8016b32ca514bd27e064b0c36f004ba03ccd7f13cac50f0df8b2859b28ba9ecf4879c0fe80292246e35cc04c2fc7da72e8263c26b10e802e21412334cd8cc5dec8160b66138d76a1e18b6762e9e58a6a3231d48d4175f6604076a9aa07eb31d849bd3df1c2ce847e6224848c46720aa162c075c61ca19482b1ac06b6f025a1fc192d1429fa089a508eeb7cb368f165702b7bf7d47299f12c6406c06d9346b0f4ea5999aaf900f7f56f2fad0d82800dc2602c4643db6bc82c03c2da82e3af7091918a86fed72e56166e0b3278e09bf0b6d8c07ed66d92f1141bf1b80efed41417d6fbc3aff5933658ec1b13dc31687006a8ee4a6c43e1e68487a7396471fe4bc6cc471817708e56c53b4bcdac3c8037de77d1cf160fd7802de2a8406f88d0f449cd7edb93a627c70f10d21a8e05a1e6f7bce4cd5daa779d150edb25e87370a8f6892ce2a15e05a0d01367c2de445bb61d72f081793fd9d718adb614dd392dcb8b390418df4a94596433e065cd1e39a33de72da1fadb1bd8e189769a8755bd4429c4d3c9ddc3ecb573c0506a509770cdbf9dc420f84a49e78732ce1c581aa56deae38346dc8f00ed9205f78b6377cedce6ed64e7a2ced3c4d9c77de80793d9f67529c66f0225333c36cf42d16f8b52891841c2446edb816f2891df1947696bec155825c5caff51dc3ae0ac3bb968aa1c576a5e282e91203263e2b723847c104559068a33c343596ad4f82fd814faac07bb318285c612dcd514ce7c86d303c43ee799690407174ea170e5df9344db5f002ee78623389a3797eb305122c82c589cdbb3636ef4e3112987b51f98123b017aa5accc41ad5497644bbe8ba74ba2b4473047c351c43f01b63934230012ec79837b244a827a838b71ae0f25be0e2dfebd552ca54c58952e4f8ea3c2917b6e40cb1a518063bf64d01536b2b1267b47e011d14056e1b9c9558ee0c834d11f7b115b8f9be0dcd7e102c437f77683b84572bc98831f65ccf54a72064b82ee7113c3e4356cfb3ff0adf79e8fb9cbafbed0c005084d4f728163e2fe4eef5342696180eaca0e0a3c01f2c1826054c35c8385c93def5a4151602e9b2e87e44d97b9533d5a095643d135f0b621ad03fe5b52d965e26d80d4077d4f495347d09038713d750b8288d2695c6a62e843716a1fab2cb428793f19249ba023dea17700230f32993afcb812b5419ff0a61dbe030c625665f897e20bb314cdb684ecee30172f6f4925b6e43757bd5788f6c0eb83273ecaae9b4d69585e4e873b9341607d4b0ca532cf768020af97715cbfe922e2dc25e233028f063d0896e5119a285e49199853fb8f536428573ed65b562a37c20603c7c22e7f85d96acb51a564e457d6be05783bb1ffad789d868eca35004d40e78e1b6f56ab2d2e84372458981e5dbca65ae45139c9bb39d7850d69b164f8408806fa2823b63a2ee7386089616ed5305e368df8b25828967fbcb1958e32283a754857f3819fa782af6cfb7ba95126ddb7c797486aae061de3f602d097e3f127619f56149d60762c77cfb69989d37509c919ec816e7ffbcc729dc504c3b4d6b1d507391362ddbe938296eac8dc512cf61c82af987b853f379022285068dfdba9c940b64c6d9504f994ebdcd6475ecdc3588276c72f889f51e2fd3f5d93583fae3b33ef40a290c9c5fee377acf4232fc6144902fd1f4f88edde0abc69f16c83015786082b654d2e0792c4be3418510ce3083c5c6e56a73decefd188f8b9ee07abd4871b922690458991db4368f140b3b46576e3c6a2d4c87171fae79c5eaeee0f58b59a9619b61ded5be7418e89133a41dc7f0f94dccb319f5721c1a72b98fb68a9360f379fedcd18381cc1c3fdc6521df7598974e3f14fac97eee34955c4273d86791f0a36d0f107ff2c9b23cdf43726bb7ec94160761d65bfd5af6c72356e1b88b9cdb734a711572b04e1509bc9247c73e23a4593749f6c9417d14f4da551d10623f3a511ab248b30ad1ce7c904636cc83c4c28e3c088eb02c91664eaaed8c27e05a4b227010f29bdb85178f1fb05e3a4a3b691a77394d3fafb1f18cacb2d359e9905bc4c6964c706a34e5161e64bcc09837778da447cf77220bb4016bc8dc4d517d2f6a2230b4386f38d5fa0944c54930abcb336b46d0a4e0cfa60875b9fc1e0ed5bf42f28914f7b9e82e88bee4e8ae7f76650377428de9e4471ff9fe53e19be1b2e65aa66b5a52e7173a5a0c6e05c8e9202be319e1fb6c2c33a2fa53bbc46385242a0b6dc4c5087a4cdb2f47ade8d477293ce21c9a359a94370ab54353f35e05a5532a7183735b3b7cea73c22ee0222773cffb596bd2e8a9f77357e8fbab99949028bdf4f4975d4cfee3690748bc52692921db9d5b69f41732a447bcf4140579a22719222ad09555239323ec2f7cee80335cf2fd5d130ff72bc003a79db5b860816ea18e5bc2cd76e77ca34d90ee00494a28b3b1ec53041b74de4f735f99eada1f661ab5144abb5517ac92eabef3c03fa21fb958bba0ba7de0fc5a1ccccff1c8ea9cdefb0cf8e730425779b25a4513b7af34d71cf1e68d440afd789a52f79fb57c6fd3d12a0ced964aa2bf99dad24137c1ace84a3dd7a0d2a3abe0000d2897ce3dafb9d7a283c127ef5facd21ce9c814565228ad0dcdd09216cde4f86d3f5726d50a142225d0c26b81225922801f27b3130d4b6478c3fa77e7dcaf5b91796496d8321ac9223a17d96852004dc2debeb081aa87b7f8288e995ff52012607a63eae200f790494d01da74798d01d3b3baad70929566903bd312f1b4be30499bf6b228d505e2fd22dcd97ba34b96396ee55f17986197f83f17d38dabef633e183c1b698c564617fac3067d2376fd97526b0d52ee668065c8979b0552463f817158a6755e3077d9c38083bc4f1715f94aaff0ca852f25971cdc796ca28f193f92cf581492889b3d064717ded0a6002e11387e31ec45f06c1c2828a205437b84e73d289411b5c0ead358254409cff517cc11a275d8ee349ee79252fe95d79bae03ba234f61b72aeb2573370d295aefeb584c1c487dce27c6cb3734612bc8e77e0f89e9f54e7d23b223a46ac466e2e440b1dfa448b16b9259b2fdf2da069aa20fdcc7c6ade208a1471a1ef480d98d446918e87c6ff3c912935c2b2ca8a7d163413f524bdc43e3e067703cc96ce7afb2dd042cacd424020a235dd8f19c9ef387b8b77a961465562543492bd8839f47445968df316266a586bd5b27313b35440d3b78617ac427b45ad2f931f6c475e350de6fc9255179fac8513aa4fdd18e2cf7fa62b8e410294fcf0d1a6ce5481f78d4608981bcc85107bc54dfdd79db5483e2fbf660bc4ae350fe1c3d5ab888223ee7d8b22cb66df64692134461ad541b6656dc325511822e17e034ca7b4d5c1e8cf4cbb4e21dd7864f3ab9cc3fe61a072df5f6fb0061f894caaa04e56bc996d79d772d6fee6706554c77d27650440aeb4b192f05828f0987ac480e40b9141175f3157675d4cbcaf2463160131b1d0541045fb6a827011725d30a17379fdf59a76adc33134d31385a126452c4d3c23a05a9e887033096d2de35f5e83addb4cb0727c93253cf7348bcba61d8c5a4d1e9e13d8c69de308b423137831d271a3a72b534383d281cb2b908195b9d44debe4a4728207ea3d7891094149b02c5602fb5584c67281479c816832866d4d45e2a993d49a0ecbc452b01b1a0153c85319532c0c7ce917e58091e671651043fc0ec2144b27c6865254d872347cf5ab6da25b3839c7e1a1c4cfad8496efa8093ad27be05dfeb781cd3a7bf45e75238766ec53d1278d2542cac1fbd8399c616cd3d21043c6b48414999f63dd7f52823bd97b2c96717ea87648d1b2890d9d920949d20fe037b672cf6f90d36d1d5588358a44b4e8a0515abd0d2f739f6d302766b1a407e329705784e0759305f003ba6a1169cd6eccfd66c1df32b88dbafe11f53e83ddfd582b77b434e31ee1c004887a2d88e5626e691bac4e01daaef15779601c2418a1f8004d0385fb25398478eadc0b038339fccee4d26301053332533768d6e908115c147c63d8cb091023c57016a9842fe3ce54bcf2e114ac02bf0e8a8f1f6ac69006d7efca3c2abdb1db30adbc37ca2eb8c46ad0a3e2a71b2449a954145973e73d7e57ad39d1579732d73bb992577e3fc7239c3ca580f7921eb33807e90e3340c8f17ae403a46319d129b317a3ed90f4e40bc276589c46852d4b8bedb28f8086089521b8e70685b6562c7748c3e604cf00526ab89a44081d62d94a19e29f5437f12128a8700cf0403344ff63db7c98886919968b4edb2860ba48b851e27dfe8d6a6bc35ca4bd9a818481ed9c29f6c93b93922a3ed6c5b98d3c465dd5a282bbdc869e60f76fdfac3a8b6f308973aefe40827e7caf981fc91e8af6e319a65809c2370c04985f9b512af3a2a60e8c7536e1110c02e3a22769d947f632854f6af90a6311d390d23bd9f815a9e4219c7ee3748efc2b1092b86dd4719000c0c4e35c4f269b54e31c863874868091f572eb3845a8f559e837aa347f991935c887725d4c6c3e9fd08c9f5f228264ae732305f98e0cdc7b4156390fcde468f13c33f428279d2d5913590ef56f0801b7a992ffb4977fdf2f1282368c8633bc2653deb8882c1291dcef3bc90e61ca06c6496fd18191b7f580f9ffb978186f50444aaccc0e40f09e44a0551bb10bb064a04a074fa4308c88442e0059a27bc49c47994b37d6f81147bc340d6f4433ecb6c62369efca524a461fb68c55a8e8c840de725966376fa743960676079ad9ecb6c00e4693b1269adfb430a22a67a986f04dd6c68c728f91d8b811250e58b87f1388f8c198ee85611031dc58bbe04fdc9e44b97c4051b9f3e17659c74f1390c62f19df453fdfafe012a84cd72d77c49139a9468c3cf26eda471ab6ebe0fa8e6cdfd8b602283d6916e4b2cf720db2b596222ebcf4f979853b052d91f0f9e723212b52e0af23720c38fa6c07ca06a2d8f8e51b45114d062c08af15a42e47a783df69ba72a6b209ab4e34a47332115a9b2b43b501f10f1d3002ae4e75f7d51928e97a8d5fb4b7d57e95a8082edaaa3a74592ed1fe998661bb918c036fecf36008f241eb4928c89c933848ffda2128025e8627d68bb7309d243921ebac855424194a25cfacda5362f0e02c31b931ad37dcdc841d4c7595456f20ec3ad2e8c174ef83e8fb3c1640c3801961b4e067545bc7bda81c34f21737880a825ddf5d1e9ddf76ac842f153be2780435f95705e167c637022e4cb5267f54990dc7cf23078f969ad22da5b53613c44c277ba2ac4aa68292f59b20874920854419aae55647fd52c55d6f008bd560599432fd5d5063f96d92fe36ec1097eecebf992b731f73d16796fd71fd37d6c3f4f75ca4e381a56baa5f603e19a90534610201d97503924dc9bc6b51f596d29e00f3f0bbbd3c701ad5bea6a43a8fed81693e2f7181edde607becf34581ec4036adb2479065c130db12d8e514dbdb45e8bc2de34f73ab8cd77838c647b8a4bd80d6feb0e228e5a21cb6bc17e244415f02d9cfe124d13f90ddfa07cb1473c796f4ef9f6f87c7f154513e29e77a056fd69970511b743dc343e43520469211b6b3f0097a08a8c2965491721490a723494793bd626303ee52b37c16e14a28f34b7b138967447ed42b8a9f26840ce8d6d25bdeca5ab0c62f2423ad25ec96f6c93847e036ebf70e48eb781a4ac2dc07000c647d1b1ab34edd3b2aeec9e4d209c724cd77c3fb50225e5b8578aa91664eef8c82476269fa9dfc1d0afc34c750e70c9306a63785e5ff6895dde065aa19b238658349b1b06a37422795fe5260610efd9dd0edf8fc387f5535cf892cf9f721946ef9c84cd1ce6e53d75ee575046d912c28ff4d6d1275ab83ab60d4d2ca1a45348884c4eb153ce3acdc017b9b84009c9c881402d63c482dbc27965655db28df3315ae61f34fc7c0bda0249bba2f7607e76ebd3307e20016aa0c09b0db644780cb62115918aa3d34eb9777d6c2c97bd677c092c8e8ebb80312acaac542b2cac88fe794e0183013f3d9375527524dcb5f52aff265b6a30e8489b6faca39fceb12890ba448cc2cfec8e5d9ecefb6a8cdb4e5018c91f6de1088f915144ea8e2fbba84550f0b5b0eeebea855828ae00999e61ffc3878f8588ec0bc6632af4add8f1904cbb41c50ee8db2795308986965c262e3a2238d0864b3eeae541404cc03ab86d6a27c1ddfc30ebaa1d67417edb14e955dd68d440b337490c5b99efd6c1160be8e3329a072665542299e5685fea3132afadbb8f55a44d83ace76468f7f2507975fccce153dbe32d9744771b940b1e9981da18edb374d55044a6b6b9a4680e6426a1ec57885424af3269cdbb96e8c63aa010de7acff32dbcd30a543de3b9e281a79ff0b2007467232f3a4ea766b6fbfa6ceb7440e5741db94c6065a636aeaffedaad605e6586f2173ae8c8fa54424729b2b25a49473f6c6c7bf17e3036422962daa725596541bd5776c5edcd8206ef6adf8d0e670a3abcdc472ac9e960d4d1cb12166947ca7f2646e8d93a80c3cf1ada974993212ff475552300cb74540b80af488a4d7a9945c70b04fc7c8f5e365ebfbc1dc7861b274981bf41475738043ea4b0d996ce15979bc7dc90937a7e6a03ebe5f3202e51ec9690d242b5d1cf7acf257e1b6611aea8af907f70b804e2ed760c42149c81433a4c6a98e48634783b8151d6d9b085089e6c57c1008b817cb85156091ca3c208ba558c19734463092b7db3203d619afdcb410401f8aee5b076c274808097d24f4947599d40482efdfd72e473d976789f038c1580ebbad0ea009c8f2b737816350f8dd8ee554cdba7ca48d547e236bd7914b80a1acade7ee7375815f8f299b9108a97529090f8079a3daf3100998e6ee37740b541944117ccde82d07b34f208ecb843016bbf5f150604624c59b8a4c198aefa1a7d44acc56372661e00692b687ef408672d2f4771a8a994c92faa6b4a4b1a9b121e87b95c34fc22c7cb1a311162b929932eb05dcc97c10852c1b46200e2cb4d6b7d9b7b6994be5d3ea68d4d4276b0d22eafa3b23968ca51fbd2b3a954450f89a2f1eb57450cb2a7b86e32b12b18daebc2095ecdfd456db1dab5f7f532406086f288101d44ecd0939ce3a856593f578f15592d18c934cd44a5b87e34838d8b08bb8033e9dcfbf2c5e5cd637624d169ec0f854ddff142f932258110e64f7bc8007fed31c95072d2784a30fb2a5d09de9ba3d6bcc03fa4944f070379484774e871fb8577803436ba54b792d3bb81d133ec61a55d155e72dd0d1729a1b21f934c8648b4296f7e4c057a8c9b19972d47b125eade289f8d4cc53609ff02d592c557a27403495511aba742c0955dd80adc57f1fcd1e89f02fa4dfe8b22f818e1b82ef592aef679674642d9ae7bb031ba3ebf37342211dfd4789f57bae74b4158effc0907a6f083d9e3d77544cbd37dcd26ca1d75870baf2f515a2916cd23bed264c8cccfb64ef143633b26c4adb0c0b25544761793ebcc980b9e231c101c097f080c067ce14735e55963335fa61b01217e3893121f85709a3dab4dd08c87622a34fdbd9a2b8d29a77f431f5b0ae4dda2879ffbdd71a1586df3e8ef6a5ed0273824ff791be21aa17f77ecc01599056818968e32b30bb67df244bd176ebc35b6f836b2739dd35dd048533c7994a83a4db55b945b61c27ef5b467617012682ed626bdf3709bd88b5c681021ddf597f5c3975ec26bae00dac8888675fb023a8c0116f857944a3b80b96ef2988a307c43d3e8d9080c62cfd17ab93356e78ee6d181f6239fd212522475ba91c0c9996e633c8c591b2ae91f5af5eccf3757c32232edc2e14e8f6eacce8744ddc2c27b4d3eb903b1f1530b406ae5f9e9da514f2d689fe2ea8c224aeec97317c3b99cf89216ba5727d6bb95ac02c6e38a5c12478e06a8b973f3e2a75705216628f8cdbbe60fc000065ffa8dc7e0e6d0521793be208c1b9138207bb35ff6f98a88c650845c5d9d293918734af3c686e36464421a22476fd95f944d698ef71607681c07ab6f0930b16a4905338cf66b98eef991d39b803d546cea98fdac9e7fd4f7c3dffb5dd5d28c665656af99a24ad3ab43f3c1c8910bf20633e2f857e56168a21ab50142f255d5a5269638e3722d9cd73cc96fe652c2a46c8c578855c0878e1024efb92940f6fe5c0f9eaa88d83d64e31012960dd08cbae985d1bc4c2615f321514a46e0339a1ff22d6af8de7577fff8b0a47544b5d8fadabb58bb55a47e646b437324d8d66ec3b0b5714674943e863d6eedaa707ab6c41b1c8dc503dbe68827ab94d97e26cb52c5b0d48f7ad23cbd28829291505d4baffb9293eb6afe20c8de34bdf7b51d313300748f8ac8dec0e6e316e0bdb120ed494ceb6527478000c01336581cfac8c4e0462a8faa3cf1650ce098643eb3d333a5054bcc61330dc2f5a5df95505045c1d1d2440629c99a0befe666fdc0dc4d761318cfb2a5517a27c38f7d8780363262999586300c889de71f72b631810e0ca3400fbe860173893896fd3865c0354c4f1567f781f704c81abe727801b81e20af328053f2f17b574ef323c370289f2914da972552ae64b6b85dab9cd3fd790b39e54bfd9a7a5e2f708562c086c8dbd7a147d94705dbf23c9e5d0897b8539e032369c0bb3dd3300531c089844954b903117bdd3f8ae9dac642000000e84014b895381f77eb707767facbadf0929727a2c579643694dd657a77def96d24591e84a38480b7079856c3435b3ed690c014e6c90a06692e5214c070d12ff282559ac6644742727b95247fe7c78e80046701875b7524bffab1677ab1cb2d331599451de71a90dc18998ee136bce74607c6f77474c0841ab59fd4720032cf4c86a8852feb9b5ec76bf5a9616f00d34ba0948417e2feba25a55c6ce6e02df8edd579be016fbb1c176e4b41c14a99de6d162ee028a6dc025500343eb82040b8a03a3aca2fad2829707aa7f09f039cc6283368b79771fd537639c7a362b35535a40e13f36ec0280f87f98608deb0cfc2cb98d60469e59dc9188f8a624c9f617542d5c103df4b96b8222e22f8427e4f64a01c7936d0c59ee546a57eb863195e2c4e13b29bf3d1194dfb6e7b7190bfe2fef67399a4e2c7fc48b508f191dd9b31a391f5508928d4141e71b7c3f50817f0f20bf9c00bad178a64af8cc0870b90e2d3007fa93415aabc40a5089728c9a65adb6061b9b11967e58b41b5b91c937acda5152d92df659b2f6bc10852e05fb05bbcae8bc83ab787c4afdee03a461c9913a1fcae80435380ee31d42214d03260faab97040003b4fb3214495e4b7b5c79eb639afb4eb103de4f0a7005a4eb9506c094a884cf49964daa2f182852bb58d46731e92de44ac29adca5400b208e8a2a54160af9b910b726079aefc9ab68d0105053bf6d8605078ef4a021825313ac38681c19a75ea0635639b6e6b09f8d19e3d577712cf91200a7ed9457df8da55f3ff65573123af86027b39066a7b15fd0d532330703c8c077bfdce4d06a3471fce2c02644d9a2850fc10822ddd4026f780d4bda8a46b07200c69dd2022ac2f60f2ba45639d56f45ac124b87f28a35e23498484e9e155d9d9a9742cf2bb7ec180e3e4537e3b746e38d152c071e2ed51160d3029348704ccd7f459c0765e4c5ca959d3275aa199d5629d79915714788b41a46d7517be6defe02be770ddf2991e229b27e15da8079121c34f06bdff26b4fe22848f5f703f673f20969c53a923e20ff3cb35d71c31d2614ab1c3f8bccce2c5212b9c1ab714753fe244fa662f46cc8fc82a343910b2c1a71bc45dbaf40d4df0b95d97ab633d75fdb3776f7a19144be4b48097385cf1bd3e82e5b11df4765f153df0e534baa76a57204589a4b49c958d668f1a77e979f1f0abcb1e87cec8bb114de87d6a2b450db6119de1933a7fc5cf00755a1f4b972770f6ca6014849022ce208f0c46c8b14bc24c00727e88eaa550559dd18d0dceeb0471a545a6fc72df32078e7b07167cf091e3b45ec8da28c496c7fb88f23b62c7f11535c29df9d70662fac37b49a32e723b623fa0546d892097a3e58dd895d17e23495efd95ee0bb5bf811235d77864721fa897647e9c019aa05cb791854033275f07d1d5d24b60d6c114a6715947d61f78f7296cca594a562db1de8e9ebd048aab73448ff411d51fe1aa085ad14d12a344dfde1435c4b27e9605bbea2cb51b1bb2e301a29db1aaaaf88927b087ba60958d5e06e10a59456f273e7c17fac67c070511a6c7e5920d282474a886bd9a7d81e2660e2a94f85643e6e750bd94672c1d20c2528253c626f6d59955a314396dac703a0570bf8d11220974a2fe5a7ee568e53f5a62c556618dfb09e7c49d70f448a90bf68b950400467f17481acea0014caf50ae6964ce6b63ea5f259f2523b905001d90b393cac0a3afa7e349de20f2a46e6cb003b0386b70564054a7a739822f804a7965345af68ad9c6ce33400dceecee37190556df813435c67694be7c943c34a3e81d175a0ce6e549b8b7535f9be65319bc5e80cba0ec8853a1dafe9463d00592010d8a38700f1ead41fa02164a3f218f882bddcf837e11708c1ac051d7c1f0ea9c7ada2709b3489a1f30b55e1e13035634a54c6f2f0461180fbe0741687c22268baa5b471d15e7865f14a0d199ba58151f6ede25ea7f0fa92c3f16280d48f563963f14573c7b80477ac3d53e0a00ff930b08799ec2201d3e84666e587c69e7e9313f94a5ab5fbb7ed8abc98504159cce81a003f984956a11f41893f72a9af735f8eb3b6108ca80c64a6963eb2fda0644be1ace22f6850f4e2475bae63b7ed46dbe749c5e0ba2ad75799277ff07b1fa567a3b5cd7d564becd81e1644ac1d14b2ea5331007cb2b2aaee2dc752b0059d24c0bdc95247e3eb0124f45b9caea4a3f7be9d27e24de55522e9c2517e04fa231715cbe3ad8b897e73c3a3129bfd79ed0bb478f42202dd965b0362a2355ca1a158137c0a35b13e14269eb858e43dd2723fb96a2eddc399e150d4e593bbac1b6b4bf9ed50f723d31a53f9dc086fdee89124b99de2c498554846b0c723a30f700bfb152f80aafa2118fec86b47dc4edcab4e9b154ac84796815612f27bc010bb4f32ff44e0a9eebbc91152ae000fcaea60d092bdc833dd4525db283bf109bee9f05b5d4779879ad464ceafa723f636e0053a11330c4d098a5b85288a233e123edd2f505cabb14af9d95796f1a6b339af370398e1a4985f95fca82e03b8e683a5353fb64666e2a95e77df9b45791b75c7ad8973f801cf1eb28e8ba9ca90ea86bb8fc9b0e06f8167e617544e09de6de7b85ad80ecae9f379bd534148ecbf3bacb5f907c92bb5a97373a2ba21e8647b2b081c091f006419a96daa246bc9be87b9bfe922ce0eb8d98320c8de3ff29a11d9e75f656b42d69a7f191cf716e7e74e0f0e26e4291ea310f788409d8dcf358f4c463643ee1a2858fe4d58993332648c3476dcf65c23c1c30e249fed5fc77fbdfe44c30e1f19ab445297ac3fc3949abef511f4705d1cc399c127ceddf6601be9a93b50d37425ad6a95bcbe0cbba6083df6158217d876a0bdb9d531d8ad26106c69956a102f17fa90a0c85079c6f41a133e5d8c4f5de6dcf19021deb009d2d0ef6cbada94bb38b26a514510d91819d4212acc467c313b7761f565458d4dc7c7e12da257cce9d104234adfbe3ee26618ccd87ede3c0e7d6cd95839a95cf3b2899eefdf015f24bb3a263ee26bcff22a3083b4218f08dbeee0b7d89d0874063364b89b9dfd03de7f0a935bbcc8310d5d3b98d40e2b90c29c2e82b5921392bc26b2c627c1f2d8f5f6622299c6bc99fa4f21b8bfececc2462eb9469a78807430af7721578d9ae1c8e7358f05f2cc6cc6cba98e2bc60059d49ffe2990855ad1ec5c7664151574aecb0687c76e1f7ed3ade3fe1aa18a5c5d440841d36e430592fafdd0a5101056e8dd5810589545e3692803a05fa1d054ea93869a7152291c0963a4915163c917224c8738be6c1dd3a552f9c14ec0476d354f7060b20e6f3e44d151793d68b0f9ed5eea0612f41eb2dcc0bdfb8c0b88f33088bd111ca78584b77eeb1b7dca84a8436b1048de52bab9a97d83e1c255cf583895d94931b0ab6ece903bcc4cd0ca0e2fb8fa6c97df7ebbf8541ba65ccf6ecd28399c58c8a691f51b8ea96c37f149a34fe1fe7c6b0c0eedb18b793981494f6ccc01de500156d7006feebb8bf741c6dcf6c1dd758e487788f312e18456f34fbd8c16457e417902be6a8d5da9d478586cb93f8e33be22a4859332ec9023f87c3b6a6fb2895c148bbbb882387ab2d100a312acbf1c1acfa8a8d43cce089747d68bbc32f164544186d40fb1339206346179aca28f681a6104ccbdbce3b05d0694a99c6ad25e368d393e4beb610baba2b84bc8187ce4546465ecbae84a77a5cc988d6a52a150a3dcbe30d412bdc996ed308fdf6cf4e68798aa5a410026f7e5b7930fd10f0f66008677d395f8d4bf76d1581de1241e6a62df2fecbbd6534a7dd5d4898a6f4ad7a705e403a45369726590b3ef4d627f28184c06ad286570741b3ddb2c1f86581abb84cdc900325967de3389501c355f902f2a06260319586b062e61591f3818e70c22345a046c6fbe98887278a4785ea4746c7a385b228fd49fb17da86194de2c67879f0ccad9b5388c39560f1fad991046e486a7fc8ac4b6d8d7b02bc6736d43a60fe83491ebd532460e03a4574d98a3c211cb67268fe5358ff94b37cf5e6225c0873828254ceb4892a1c1314d00387b33363f2b70457eb975dc6fab2eb9e486131189e0cbcb23a9b83d31cdf44092b910c012469fe587632c3d1d1a9d125c6bab0a64da2689c25074fe3927d35706de7b7727d721fb93b49d284eff71c398295f4b3b04456f03a73e9a6f13267cd83cefcde221de67c46173be6c1d0c88270de0e2e2db04a0aad70f4113d76edf56dbfd60b04e49b60bdeaacc3cee0dc9d81d76a319b509067da0ce96aab6a58b459687afc804563da30e33a95d0829f6296958ab8a3179084f0c9ba9191521036e732345b4fb709c472793129af862222f7e111fc7a086a827afc14c7d497b9026358b60d80a6b07be4ec7d3fba9e92ea9ceec65b4c5c68f78b815a45fe6828a4f555bb337544428d832a41f16b9982acbc7a42a69fad77cf84f8c71c38e7cbf235366d24b7af02e5c09369d28b9e6f32b106a396f8086a423e8e4980a17e13307c584c8a161a4ceaec9fa6957a92c09559c40f902a74d33a085b47793d1e54a86408e882c3fc0a2dc7fae45a988794372d7d306c2f3624b527b397bdf79cb76b162b0c169f318e12080d9e3fbc35abcb15ebca263efd6c45fa82d218825ad32052bb004e7fbad0506263e56b5bbbb38e21d4456d7ec306da71b8eb542aa77ebbb630062e22ce1691513439b4662e47991ba3ce62ce596e62303f8b505d4e9116e70524346a01b118900311c092c846a6f09549ac0cc8a1432aae7bf751e092bba37d1834fd49ea73984229b65829bfdd08365e13e074b9257eb29d433afccf35c6dd0d4a40f41867af0fab4adfd5269af7e9266c7685f66a58c9fa15d34d91a749b98a3f2111486369d2ca3f01c3ff2098669aa9294a462d6f18658eadab2334e435611dc6ad7a31ca40edde6f5a2384c4d4eb4b76f13e369d9c0c793536c42b3f955198e88026444e413267c7b0619342d99eb19c87c0a39d03439eb68900842a47a136bd5c173fb12dddae12a65ff42289d83039fb2627ca9b22434102ce7e4e72bb9cd1a0257e74a3d81ebc9113421afc32d254b755504b6b11c25206a71547c20f2a89d8a010c1b818158da9e4b9bbd6969f9d1cef21a41d1e33ae7d267d7d09ac9a7da2a720787a01fd1ae3850ae9b7c856b1e772f1790f31b0cb7b98e55141da5ad8e0aba0b310aa729f1c8a62395e7d0199b66c59ba8fb5287eb76c2c2da70893dcf91b9b42b6b14973fd9e2b0998bb5670b1fc740e94bbc8481a78b7c75d98a8a2ec48a87b53ffa7d908ab0b5607a17e74e460383c6d2926d3731e02c4685527524f5f09a7caab327a08718f1c84a6426640ca696a0ae4dda2ea3d4387c833f902cf11613ce107207bffdb2f0013ee2cb859b415762d9e32f1e853d7fd50ed51848817444ed98877d041c25d1e3fe7e8543d2809f22e10adc9f2daaa452511674a5b23b32a7f507a6e78325a7950f7146be0945780d123a6cea8c25f704567b1251914e86e09c08179126089871906c988650e873e7a0cc3aba7ac486c79124c8a03f12a164ed0b7fd5c72aef53de4dc60916ea13cce6c4ece7d0102c946697c65838141e4d56c451e05ba6b19a9edb0c312335d7bc95ae3ca9b9e309611e33efc283da966e9a8f6717a87cfc1d19b5b71b7c0e815aac9f2234f5f0b5b44116723913a142c965965f908cf4160fd1a2d5098e899a40a981bcb65e4d54d1eb3d9c598988b0d2049ad4459e4ffaa52f9927bf10d188c793c97437557d5614832d044d55f40d99167ee9a1eb0af428ab559a3b4dc8a9d73c5542ee4f57a94804497bbdf09db6ef87567617eaadc09be05c6338814932fd84cebd6c3948448243cc7020be35128b58705a92f4aca3eba62108fc14589e47060a6076a74f878e967ada8e413958daf92c8efcd5c2693fc400ca3dba91a2ef48a4e4accbe76c456a96ea93d2f38222bcb1f9d34c20f5c63b78fe29c46dd0ee4bd7a8e0018de2dee28317ebf1dda69a4116efdffd1cafd858cc8d7a4147535f27ddf2d23971e3cfd75cd1f4cfbb2fca9273a1061e3613b751ea61cdcf0415468aabc0059d2a9dd6551f3cbebe3b8dd66b84fd1ab6c6ed7d0aa772dbadc2202ff427df5ac75ce8657012baab8fd8c2c7d4a5fc4ded357b13ac1674817d9a9dac50321f2002ba60a6bd5ea885a43010f5a825c146cb956ccf49304d9ea5d15bb7ba4e668119542507e6a796dd298c0dce1e2987be592386edb26f908db94c1c234f9a76e6d5cac9378a27fc53f5e60c6d3f70059329a4662df85e6af42d2fec76833b3678b2a5445635844a8f543ef5f28ed695e48fa88ce129231cdab5330f93007d8b7ece6048b044cafcc08870698a0b60f6046135ffce67d35a0239d3a6a3be3b69d402174ae0fbf4396e132461132f1eca343c531719e65b8f291047df113952412e18560a8b2ebcf73833c54c9cb6b6b03d8b93ad0dd632c4e5d5b715bc28b9d8e78d04d1cada9a498a1a67bed1e903a67282c9ae3b720f47c7a37dc0257b4d0a9b2b7236243c4847961dd9e00b8424ab37099611c7711550eedd870b341fa5e729da295d8abe0c5be45a6e5992c3dc2dd2dfaadcdc49b94a34f9b8dc104e20ec80397eae1550ef2e8d3b27aae75771f6f2186eefd9d6efa81bc571574d4d591a98305e5e26c7a0ad84e5e79f431799684af180a645fe94fbcbdd9d5abc977efac5c3e1092dac14c7d944c1a591800a1df73c327af8e203f465da7b6da9f788b613412546a02150d8160ea477aba6184dd67ca11630cc18d956c8c0447319caabe349e0115b2d04b2e8b464cccd0fe6546aae7aba32537b5ea56502561855bac77cec61d783d59289a564b4098cb5df531dff78de87c5a1d57be74d949ac4a853c24a7bc08a0463a4b52e2df13ec91dcc253ce5ba8077cf1441a2e35ad54c0a8433fe95e37a85d257620f7ba2ba8a185dc59698ee8aed68601d9cc4ce25cc51fbe306c1b89a2a89a3b03e8292288067d8f97b7266a45833e3828892b4581840d1623a2070b52c81fda21e4028d04065968818c13aa55bf1f10e0ee7c609ac1e6acee08b4db1e4b1122749f9481f910cd479f3ddfb547e32a14f8d34a24dddd4bd69f09b3234c5abcf633cb20a933476c930c49ea6e39539029c26aa68fdb6061a39a0a49e24330529165024976b497230bb24b1e7d72ab8200cebe62d9609136b5a4c84b71d173304ea6a007a68c2802da8435025f9d220d2f838d154dfef7b11f3b7874dc37908b7bff6ce4dce63e78342929adaa0801ae810ca9f0bbe23f521c7a2e353e2b6f3a7e65d5494a08a30837e77a0b3ab276970fa2e9392820eb6b8bfa3d7a9b938e5734456d0381da560a276ddc22d6ceb193e7301337b31c16d96965c6987bc54b7b815013c8367cc1c690bb79f919d9cf1adbcfa2d5b10ade13a7f8a159f283af0f741bd81b84523c8f69e8ae12f1dfae658d02d457857dc4f5609bcde36f0c1b060f7f43ba6f35d31c2e3b0436baf85fc8521ada7c606b445aa2c1ba11cf548cb369efb8631fdc8bb3f9e8ac430de40bb7527902549fb6249e8abbbcfb5b55485bff19f4b93cdeef33a0403650136f43aba073ac06dacd14f31e3ea11d722599df1397002c39d9a56cbace8a0676f3526fbd9ee3763abb788d24c311efabe92bef43f9e96c3509678fc35c33a2ea598c18637ea8894cbad4064a21c7b5a469b46fd7d6bd0835c04b44e7f7b0777a9c3f032f63d294e66be5784627e15c419403ffd1c85a1a17c5ce49dbb9545f40135ed735b624c49d90117085e7a44c0aef4fb4d789274b1743313114bd166f3e8d43720040e1814f6c77cbff8603096632987a0020a3ea531405d17aaa7ec9eedb4a01502a541d97722a4c61aa296daed23b24237db53b0bf162999e624e54b4e55302b942715c1117bf5b22bda720faed3e3e2e04232732ac47591d753fff133c76211e3a3b48f8d01e6d7fab3d5919e16899042227e4c3ffde9b9cc7c70653202519a4988f36af8936b014b0fa2409f3b39cbe2f53c978ace03ac52b441d6c779f2d2acbe828a5bd3d67aa021a0dc9a3cfc45ad4f5a6262771c70f44b8bfb6dd6a6a30fb29d203292216da3849cc203625432122ef8ddfe04bf753df86aed26cdcfaee36c5cfee978bff4921a35ccf7931a074b6e8115840a37fa086d04b9cfb737e79650dda8311d04f6a7c20f64b7bf187064613b071d0df3af4a02a1467e69b49ae604bd309ecbbb3dbf106159664fd87ab807eeb3f75b12874566ab3d7865e68abeed96d0b431ad37fd0b992a94af1a876ac31ef8d97f3d18845de77108d87fc219d196f8da3bb7557ea347244d0309e58bd86696a327d0549728d8d1b30f964ce156fdbe9402535d8072b6edd4626d6d0aa196bd6d3393ccd6eea493274eb7e16b4fb3a42958303095c0d6016b99ab8660f2753f9ebc0be9be10797785b9cd289ce56793a1149f11e52d21d362c6e4d136e34c75f838237f57277135d72bc483a2ad65a2b0577925cd8b5ccb57480311ef1428c111069df3f3f362304508537aad0a2523025c648ed89960080219bb9139c8e8b368c6927a94f52e21d4bc84691b3a345234c4eeedc55e6e4afb2ba4d10c7108eadc331be37659beec1f63ee56b4ed1887fd60d0466b8fb9bfb6af46277af07c7137c4b2d1e8cc26adc144f5159e6a849ce9f83ac7b38273f5625945dd7089f2fa52023b0450b3b58edf6fae27ba2a13606bdf9d71851deced9b4b975e72d262f08973fccd42ebd1c8b6286abfe73f5e40274a07e41943eb958b92924723281049515babf39d447c2165f5d7e17656c330ef622717724b9f5340bd38e0daacd8fe04fea1f572c091470bcb07b2476145e34036596539e29835e9a78bcd10a3ac71f2a4866c8c1f10ab9651e3f05d4b0bae0fe4a5c1141eb59065013f9e7d4e4181d49472269057cc1973506750a17debd853af90901743734c67afa0931916cd711d3acf4014800a9f5f32a8aca3282ec3ca97d2ddc143b95b8a96a64751fc9e733d33b1523e11c94fed3106775cc32035045a02f31b252f16c6be255082591e5d05acadd1a2ba53bc1a3d5f067935cf2af4edeea6b6a30d305bb103ca1ea6c82617a820000462440828c6d88a91ff0158408f2199e00963fa4535a97aeae1030bb65cea2bfc13c6fd065992ab5f0e8c994a976af076a0d919d18e203fb3fb85c3dd5df22ead43dd9b088506e3bac4a9b3987964ef7d925b3b14bc50c7c6967009c3b303b9bcd247f283788ed4156ed11206ce90483bae42817f372cd69fa5b5b20061ac079189a5aa14f69db1f3bb2ec4494c0c2caffe02a26acfb6e1ce86963b328be637a78646a27f8343430857ba22ce57890de0c7fe5702157b3c3005ca2d3f5782e041b78ab39e6b642220111ab953c7d78bfcf16356cb55a3ec54654481f7e7de889e4fed61ab69f1c1360353c6a2f30f204b683f9359826f9a19f717058be804194eea4c5fc23bf58c4a4ed18c83ded14f169e25d1e06e2fc4b7d3ec483be2f140c45d09a206ca7bd50912cdc1c7e3e8a0cbd04fafd3e2223b58b47b6de72e457f0c6a8f4eaa6e9eb7543298dd897067d8ac950b53d82ad55d884fa31cb3e1249188fcf86340555c3a0ad9019f63a2b9a78d745409bd620940b8b6e37c5a66eca14394c2080741eaaa385948b4b4f28608f0a308522a91bdea66fcde37020fbd70ba6596818a0c602d08e65f243023a37b905bcc2c26fdecf71910b3144f72c5526bc01dc6b8aa8cf5eb79ffa8a9c39ba2e32af1c81bc6503885355b9d93a500f6341de33479823a7628844d961cd8536b9b88f91f4976cdb94376bf5d9b5c07c13d1427cd840f827031838f229ecb3a89a2402a5e71d385da1c0844b353d69a1bb03abaf6a84db9160e40102e766e0597fa8867eac4a94eb7f56f167f75f4d8d8b57049a8bf2645d4393916eac6e49c439969f188af6ba918d5f487b53e20833ea037b9bd5ae1496911a981ce87b04181851e223b038b77e3140e03c5cae7d8fa2ba8f92795b8ef7ee2c5d1e5a75133344dcfafb34c02ad32f056611e4eeb907c5a2ecce9fab2bfebea0c6b5466c8a73258402fdd528dbd68d7afe014afe45f7cd7953397e774fcdc788ab4c402468082a95c001c2d74fa0237f185200078fd4d705b66303770d3deff0030ab4a9a4477ebd7bbc4cf5f65e20e4a0353c3db27155c2381eb91615c1a6c933ca0cb727dc215764c8d165ace93fd7e286f6e0a080b52757d20335870da3fe4ec22fb2a79362b9ce70ffd9cf322e3a92ac7c114c99dc8b217b0af8c3e4ae4e93f13c74d40c074b2cdcd35a124c4cce46196f4b26b5b1e862e61a5f0b63d5b8a2afc30e9223be51635696287c7c2fa7ed9cf575e35f428caf555187952972d724fcbb719d34fe438182d4a8c68c8bddd17b53dba415e7713cc19704d5d3ac5e300ddb573dff91813124b87111a33ee5f6a5ece4ee278fc23683e42152a8b61c306b806faa9824787c98e8fd196ab75c416d80b07703b9e39103f80fa56b0e5e5bd01453c201ca0325e83b5dc0de6a75a149b63448dcf9e45d908c84d9689b3c92eb66e23897d97a0a8bf8cd43e60d10598c585ad62de991f37c4605cad2b0c2047012280cda10ec387f77d568fab50719dd96409eed7b0438e88276595e701513fd024cfaefae20cdd47eb96e11e9770528fd045b8ec215ca32b64ba3430aaabd468f6caf0ecab58ceaa1a728f55ea7b2c8241e5e267b4d53cbd50ff29ed44403e70762e16a99f34f871d9429b212a559e42752139145a0a6e642250199d43419783347ee44d7c864df2af2408a3f3351efc34937aa527971f4d67836f7946a1e2138a73e77a60e7082ba352ff093dbd6284e82a30c64c2b618ed19a61646baec18060691009c7cfb738c907b69494da3c3f0d0a30685f06e93ce512dc58ac72743267f519415d4d74ddb357c537655be40d5bb10be97c32d588c67b7e164937a083f42eda6da0823dca81468a75f377c09f8a97b39f5a6a87f664478013fd021785a600a35654ceef48b341df603ab1644a8ed6a25a5341347aadf16e2cd3461b2bd737f26963cddd0c38c1f92225acf3ec1390bc1980ec684f27cedee6626289eb441b9e8a528dde17df5e0a3ce8e696af1eb33a5667b50f066afd9ff15314f33156a42d3371ca7b464eab7c8454cf241bed27d365b82d4d0a5f6c354bd257c2144a7dc6e937c5e3f80cc84869a9b8bc7ef4d360d61ca31723d17f5e486fe18d490582ede3d305dbe3098d141996df482dc2b54e39ded12cb7bdaa182409a49fff4a190c71ec00e33ceb632536f61c68b54897adf595833c4fd868a7245d84d71c0923600149c89b86697318d373f991d18ceaf406c9afc59a5f90dbc0879ca55dc23f8bfceab457d0cb05ad1979e2b702d12dbd2530eda189b00f95623fc86d4130aab1c5e923ffdb68cf5f029e3e0bb640b9fb590df13e3ec4af013e357eddcef4569c53a6e110822cd2186ae037a0a87c811c7a777ba8a8042a02adece206e5441c1b661dabad2144d661a29dd5fe6adeb12c1e4e15c0d1ac563d7ec44305c7c3041a125029b45bb218d1666a9cd9a403d85ecb063f9e21a4f8a79be016a73938286a030c26362f09608b80b6beca134278fad8815563bfaff3407ea4e0631a2b9effaa39d982758c5f14b34ba61e6096e312a4132964208851b6a55f2c122f4eb3247dc11017ca180d3434221d238cdbf4a101431149bda5f6f79ecaa830a353006ee91c4fce92b9af03b8745b1a42a52e98cb2c4318188126467b304eacb3e49d73b05f718557cd200be5fb85718dee6215ee18a4e82e3067f83ccade08c85adf609da47875b51cd3ea9c99d4de7cb74bbdea2fbcbd52fa545285d8d3077c8d4b6a9c4d48622dc9aadb4e574fadba98a598d3f1c4994854014e0439be928e7bfc24191edebdf289633e4e9da9bc72d7d7c1bf89403f6f042a890cae91ac41c85080b14b2f2aec653a4ccc4a3dba61e0fde9f097c9ad9c9f25d1b6569ac67701fedb6ede8cf2791fcef08117f64b8ac286ae3272313c28153f868fd6013df03363f8d0fc5541cc244595b545a46b54d9b7f1af5a7db894e76e0bc08200f620cee6728c9dab32aa11ac52edd2e0a63d52631533281bf63405c842357776ae8dc9c7866e30a518faa8696ab935c6d867e9ca08c9665a60d7078d0a7e665fd979b79120374e7f6765dbd902da0d127e571b595656c442c247249040dc7aef2231de3e3e1bab200e4d269df4a579765ca5cc19f604f6380c3944dbe505cc26cc53d82a03953cb6278a442f5ba38fc91ecdae9aa613cbb912d7ad7a2444ad5406e65e34474f021ad3450e6974316a7324fcf50653dddeed9cced6f47ce2e99106e9c060439154f27049c1960f80fbb48bfe2ea4ee1c7a72dc1f466d252f9c275c3874c72e6fbc3ddcbe35e24dc5a0dedb56f35b0afe0486eb69a9028c9e020c712161e2d0a51466591bdb6386e2595c9bdb4f3ff7f37d35d88a4dc21d250ad74902da117733d9284ce578c21ce3eff14e33c7ba9fa1d2d1d2c71e86ac13add53c27906f183776c7df1cbb55bcda921962ee72aff550fb4b1a147af2404466a86f4dc7f7bb7cc39d800da22bdec3c5797cce5b857dce3562db2584ed987dcd07613a974bc096f47ddcc23d17e7f910d785b1a2ed855a4055b0d93a8913d8d56c6dd8eba4b60c04ec68cf6d1c14f0bc6c763b95e9b153d1beb7de1caf4325cac0f1e7a0aafd81f375ee1b9d78bebe4ed9da240a3bd765b4305e765ac375cbf94d841d84cf14e678af8880af25d4cf4929f58053118e8215f600d17798051d5828194024ffcef3a3b452ec3e578735869c5d93016d550a2e046363d02b6983c3a3f34cc5fc6d3eaa317a56ca76ff7ee1a71bb42da4ecfe04c58c38ce9d222d9ec680f3eeeff3c0387609039fd0f35c37b5853c93bc9087fb5217a81fbb4db02f8f196b0ecd0fd52e2611273f7ada2379a392ba64b9740ccd709d6cc5d165efaa25cad64bd3cc5d9ecd97333b31111281126608d36e508ea22680667929e4902a32ef802a429cb287c4f9c9e5208f76661de36db255f5f16286a66ad02f79999d504d0e3de1baa472f2b7ddebdf5722b769ffc801e9e81d657ba42c4e37c817f6aa7a40fe059440dabdb8e83c964543e28ad7c2da2ad24b8c3759f586a837687094c562bd75904691b8513dbdde6838576f8752724fd4726998558b4f6e25ec8e92b4ac0722e4f6dde08427f658fb7de178c532e63ddb2e89eedc9419676026b3861a1c529b5ee59b14f87cbe6f446a40c9f52cf4bdcdd180092ab08978114f5df33131b6b7e9d72f92ecf5e2e75f4d9bb47b86f917f3422d32fb97d9916529cb50baab3b3c58935d2a6498f7b0fe1cb8db5d8356a7cb2b89b76c34c918e28bde1a16207632452f44faf66a885076f1464e36d6d6150bb07829dc8972d4ac86d29d37e41b70773c71c43f9463799c862857b5835a4c6db883b3c103d8d6eb114ec30ca62d8f515aad9d56efc7a566a5135540376d7c02fed920b2c3c516b819e6f8c8f74b330e0a36c2801600f5b8be09ddd513cd1dfd8d87f6b3eb4fef0b8b8606415f62ccdfaacfd16034dd089e1aeaa7b59ed67d0c57af02ce104128a6db1f48abe3974fa617fb8ee6cea8362c6fa9dcbf16f9b6c89c07bc2563c84845adf0dcc6bf432b19f16b7c7e765689bdd90b3471adc1969258874fd544df00dea8c5dab7aba5efbf0998502788589f4f13aae0db5b16f63a168621fcf5824960fd3638fa6271c318917d9419baa799a4d48c4f0ebd865cbb18a74593db7095b584fe303302e54c6c757db3fda218a82ce565e7fad4acf65b68c54dde1b8e8e30cfaefed2dfebe648a9ed10a7397599c2112ba3844cb628964b24c32cdd730e8c655c60018612af61ae59e54310166510a6f1c2a9bd63fdf3cc6182b5522aa0b1803f083f18a2563b3c0c9b3b74fc5d305ecf6778e989770d900e6dc3fb0702c60d53e6f96206c6ce6729db5f3bd0654717f56a8201ec52d4fdc8422f7db23177e9fb5a2b03f9259eb43f5d75a10b8ed6415c189b65c1216d6514cef586d51c59817131964f1b8116237d25c4964336cc257ab3e9bc0c71fb62a9ae1a32f2cde4fb8b7664722add344b3f423dca7a96ac19bed325f829a0d647290a2021bae20d4aa6efe66bb4bf25dd5681f9978b69e177ee2f27e2d5deef182870d5124d50cba8477a4b614ee4138be8aa9c87b6fca86fa9971af15b80212cd62fc95d057345fbddabd9771519799af2f1fcc9af5f3334c5d4a9ef52e7727243e93d41489daa5e2006186f13f3cd7de0d76c7954a4f6b04c2d62061bf045e66047c040c5c6540d41e7fa12e6f4ee26889aa877e7cd18d0a0e9ecedb3e32f6b04cf1c859870b86ae3f6f9d70211e68ac50410b3a578a6a4fbbffe85c0351f6b0ff56ea1e806127acdd725208ff5da8f8da25af9e5d0f6f68a58b55e9c11e619e86eaf9d7cbc6850573f60701d149fe1a467f4d6a6a9dc92fe5c70c2cb20c0713d8168e0a61da818aee9a7f3929cd9978574678bf6948206a9fb08586698e58a4c60dd89e442f7832c48c3729680c838c48826247a0d39402efdd3fdde47c32d47a02456246751fd3974edf9fd06e68f1c00370d7de14893fa0cd5f15d6e041a743b52332991b816ca8f26ddd53a746fad53cc14d23cb2572258b5c33390e29a690c7d7fdd1f00e3c49ce38968eebf5f0477489e7f51e38d86d7ebddab8a9db1da1d390cd0583793cb8efd2b1c5f92d002d1a023ffd0bb0c7c4268b0c80afd965524b58984a310c32542556fa0645510c3e041bb237aaf449509ebca42fbba5cf4da1bac33587d338a09bf1491f09588e0b739cecdee072f4a9e9689ef32963896833419890bf449e22c761f871497fd4dc8ae8a17f6a42f60ef9c3de93f45bb8e9c0511dbff459b83d922efc2f73524c30fc09b30eb5f2a9d8990147a7ff182dfa8775b432c58560f73a9eb8cd18264c3b1e875ed5afe65f684300f6abe5c4e31835ab655ef8c5682136728bede0044f0f79b47e19c0b852ce43020cb1a4c09c977f6bac3da0596239d9df424096923843c919976e59ee696760031118c528ae4c347130de4a13e929e87dcc83c614ad41969fe2c78fb0330ad89e3c9a0faee876c77922287904701edaa88af52ccee600a27e76555083198cd35383449cfa9a2bf6b14539bd5e9e48bff8ad77b623eda538df4d24d3a9188ca4d6daafcf7ed3a12bcba26b75f8ba8b7cf074138b7cd7c33cd70a4d89cee62ddcd290a895820e710541f6f24cd88963cd60627b40b019b33965aeb3e7e838bd568e71a79f71d431907c4a06fc3be6bd4322c7a7717403032ccc8f0bd48bf3f93672ee0c3fa4650681d079cf568da4ceb2920bdd19f87c7c5605dae77b28b87763dcfc55b6cd9470458a181fde21870fceb378b29b04d61e34e228bb77229423367220f50e2f213ef7c0af8b4b40a203161d58d5d50311d41861ec4741970b03fe1d7d78a5e52bcfe1bf1bd53c0f194d636bddec5f9f085e240558cd2e5075193ede02e4bc4e8741c2fc876cd40fca637a39aab38e942883948427e1c16b244b4e56f26d1a192232f9012f1ea4ecb986033eb4c8f4b8c7e57537b7d107de64cebc6a26793375fb93a8369731ea3b5d8a96b42c8c232e7fb8edf2b7c0f58ee3d30956b0249dc0df8f958f2149ceace8632c24388b9c26b05f332344ce35616a685eaec3c03dd320a1c4d3e8d86d3f853bd590516f147d5d9fe1ef4b5864bf2abca0403820ac0f52d4f0cd86aab80e7560d0eb8b8cea97bf40304607da2cf66172bed00408baf47d34398695d0e35cdec1832d772171205901234235149940453d74e3d3c81c7f40817aef2173c9bb435d753c9c5aaf7a18df7d810ae218c3eb5e1810b767c2ad3debfd42089d22c08f010fddc646e7f473aaade7d511e8ec602cd5fe9bbbdc3e013bf9649de8217c4fe47468d9e301e91a15050f637f7dbca19c2c47210696f2e98a55dc49f786cd13d13a26ace20e0acd1113057bf610798fc52c0c8797829098369b545d72573d51fca399bd3fba4a31745426c507bb2ebc50bfa83df111884bf5646e06d19235e26627830284d8ec76dd47165e4dbaa97f62cd4fa62cbc6695109adf33ba59315e1743af7679b84564576747d85aba6b00f1135b434509fc4ecde6d88b7244ba0647ef8da8ad8ad7b98de6205aedf0a1a3a20aedb7ba3ee87aca61f9da69626e3b78190e06d8d6216e6994eae180b88a50e301bd2b4b63af4013de939a7c62f78e8cc252fff20d1ca83858f286637a704fc32c5e9e822edebe0e4ca252e3ed8c81d8be1c135fc17f425232149376d6f1f3fbfa766624111f11f459aa36b8a3f5f532036115c4129e94793d3da75b85f9fb60ce5bc2807a82fb60312ce1b98bc8c321f21f710283cc8e06a9075e9436644cbb65acc21c9bb771f22444935c0ae7d52bad7645fbe59d7d9d09f2e678cb9ef58bd2b092238f06d5f432a88157360e208228327617959c21c6c65e3e79d48cf82871c16d3d9009eb095a2a1e81dcd0a358be8714c60a6c3a6a92cdaccb3e3a47bdbf3ec476230d8a9da91641b74284127ae8378380bb9774e3b3d92e78beed8db978215462220d85297fc3be65f54a0f0eaa1c4d3dc0b34cee5efc7733ad937985178feb7845f6c5f6ec35cce2cf142a64b14b2ed99d1aec5d2e842c9d64130183242009c4cc6c85bbae80730e7f5545ad2ec593a660b81857c94752a926e78c387669bb0a1c367381e2888fe342aa08091e8be25da6f52ced93d32e7c2c3cf77c737a990500eab9735e1f769b6702a0baf29bda7ec698aa3191f990bb1cdac75c5ba7cc2de0e3d05775a0a3b7cf7a8139cac75f6146213e27e1fdb78e3febcfe710aadb2cb52cbd56c80b93d45fab203022463567bdbb8112d93d9c5d7bc00607098744f020ff5b2e4f7992c56f649a229a3deb75d053c921f6fd7d1d4d77b6cb26ee9cd96331f385fba15602fd259c33f33f6d8ae88c5ead0142069d8b0c6a1320cd16a1597d0718a9b5a782cf811e719b876a752195c839bcbd6bd1cfbddcc8b18d724fc9cf01c385ebb3783e9a66e0a37ece5849192d2e68d3aa6810de906540658ed7ad61d6b3fd78a542d69eda36c27f5a8718325953756a410504996e90ed21ec599d76f2bc4ad5f96d8422b58c341a6b18030a2ef2abccc16b0d788a17a14d98deef1d57a4325054358e76db954686ed7b7dfb44213db176bc65ed79d1b50837cd5c52b781cd76cc9af95531c352b6b84282469cd32926193088d1aab77f754b0e5d229b1f6ebe5a537a99c68fae1bb120c28f822acb6ab42add28168c6799f49faa3b0ae912c040018801e8802b71277773aece3ee9c7e67bb5499499577a5521f7be1611f508756900306a9a813e89ad614ddb56985cfed5ceb628a9fede1e1c3086622d745dc587f190230f6bc81b3cf32b4874ce900f87342a8acc934360b09ed77c29d345f85b620dcc840a52d66387829bea2fc722c32274eae60b2de63bb8676d97d2406132c1b38e630ff6df44425e2d2be9c21c019d40eb93b375fa8f2ef8ba21b57ab655b9ec5c52fdd06bda0377483827eaf618207d5f137d79594fb5691adf06f1909c53bf72ff9d19affe0a4acf5fbcddce8d0c5d9230a36ad22d55499a2d3617243d7c0787d4907331a75af82153053f042a849d5bcbd4500b4d32d341b1299fb349b4def41eab847a1b3d441a132136768975e23f3fc6a5ad69bc4644416eb0b64e84b3f352c6c80802b7ecee3d4f0b8c8b3c063f103d08b18568d72d185b0274e7c72f6a0ca509244762fca0e88e678b3f510259c955b75bcfa66a550b3396a2f3cf608d438768f5b671ce5c6dd9cf259db5d6bf699cee41d1811e233d90f13f450744fa59773bfc733c75e687fd6ed5e5496b0d104ae20f1f0a6e37774031b131089bce80da0748279e29dcbeb6e8fa214a9ef841aa784d590e423fbf4f806973d5d8e5cf3e8915c8ce6d56f491ffa5de25a30d171ebea844f2822a64df3de59cd1dc74cc6c652a05ad98e3d930bf4ac8152bbfea3ea62a8b5d58b9a0f9e31e604083019413183f021ed19f579689fb6d41946a4e45dfd3e13a403ba706880c7dde2b64b649fb31638d255153621234bf2628671875346041606de81cba7dfddddf1e27446dc40d88249eb9a3f56bf6318cace78c6cf19097ad968ee1d42a854469d97baba6de77e1cd5992c911571169a6119aad3a4e22c519772c5659566115dc1e0350a973e1713f2a24904cbbae2e950c17b8c1119169e34dbb2bb1dc74d6d89ecb22d25728db0ba322dc0dbe0a60ff4184d4339ebdbf8c93f5fa484aaada4eb67f4bac90f01356b5758d7efb81505fec18392d5a3d290938cdcb9989fb5f05b12a39db884a61550a94639e4a248bca03722f81bc313386092c797a156ce8e2bcd726e95f3c7ec05cf5c3d05fa71f3166d102d012166a27b539e723fe0010b810737dc52de446ba6386da88dac78fe465139773ccc14b61674b5c8f5d49748e402b85417b84eb7ae2be1446fef78831f3a57e16f8ff67f4c01fb76aaa6936136835079430fe76a32c0e23decd648023e50e861c4a93f692b0b0a6b6668efb061ffe5a4837c801a2f8e441018a0dd6a9abe6332f07d0b10395fb5d4b6fc4e44377d3bb6d17d8546f5b2d076c2d13760b7ac1a2d23de3d9fa54b0d634c59ff7440030c9a76224172841ffc31c2e5cab58c96369c5864aa389984a7d9d83402cefa4bae0e0e3ab89994bfceaa6fac8dad92f6358317f9d56a020954dbe307c1dc2359f109bfbec85e6c9b0f9e1f2def686a63821766cb5eee400ecd3ec0ba95d7273bbaf81d3f1ba0a910eec3cc1805e3f19e21760f6c7868ce1bc777e79baa120c59a26f7c8b466c2613cdf6034ce6bbdd1d3178301b654c12d9ea19a433dac25fc3c1830a8c2a2dd5428fbf06a66ec4688bbb8b6cbf46399dc7a65811821d24b29f334576ecbde8b5b3646b241bae0c23567b316b60092047326f6172be64ef58f2fc8f740f54066257d6a9392b32f895f8bde369d8bcb9cd182176601deaaec0b4d07c53d313e62901537b91b1a37dc5240b7313e79b73e5a12f6920cc3134a5c7fb5a8367c428d930ad88797230aee085550d6ede25d0a805556bd27418ced7a2b373afa8d2a4903d5a91c7a0bdd5c54954e327e50e57304f4623d5c37cb39a56d6f8f91c03e133038c1b8b68117383601b2fa828b5e6a907fa32010514344676a08f590b1486c3a6a20918a15ca26c7a5c950330f37acf4be4ed192d137651a94747616386e920d52dd54e1399730c384115792573dc941946df8cf859a6fabd316677117616215c3577ebf7575bf8b77962f5231e1b007ea93ce569062f8eeab8bce9254dd776b6ccebc15828b953323f670d2207b3104f4daff7dc601135ae3614cbd6d8ae282fc2149a55b46280d811dec11205b6a4dd0941463978760b7351bd10304243462bb4016ad8e3ca7d916d034ca76f5d24aa19e83010514be1f8e08d6a2408bfc9eb16a94c6c22289ea15ddb8ec2233db987706b12205fab6f07aca2822c28b99e6535e61167b70e9a4775d8767db9c93beec6b2bf45bcc329a201e227e26c0dcc5d05ce667de53a0697a3ff3220736504c9b3880cba4222b6e28efdf440a114d3819d72f8704f6ae8788fa4553eae883fb15fb606e9d4cfd50045f28dea70ff73464c2b174ec84eebddec0fa0a06b975d95fc8519447d6b6daa5a06c4336a4186c6f9f6a4c03db91e24f873eb4e5ee6df8928782d79c7cf13442b3205ada241a6117518a8bb752ae0e2d52d00770c62d3ef01cf057797c7b5cc0936841f3520629e5f946342522c144c406be1eed846bd06b4330ad30838323b1dc3f0a3bce7d623be6166ec438a77d9c565d8520e302204e8c3fb8ec2209bf27286e1804561083809383ce0ad7ba0432be6a3084bdf846f6c6fe312f04590b51eb31122ee64b6275fa9e448c2d5f573a50c49620a7d0d4eca12f77c96955445a97d4caa2a29a6c342c0421c1f217595f2d28a541e136687e6a478c9c6f088f01ac51888542a9c077b728caef449e2d126054e50d8684f57b847ef7a7ac5e1670030481dc04b27930e6e411cec3f9bb2f3a70be47d96f24018f45f2693565bd53fda60667ab340405d1ce147bc2bebc8bf9a62127756a5e669a56ab6a5819a6d5669f9f26000a2f16b152f0cec936104f50e1a77bef5ab258a1fc698610fe17a086dddf895ab01395e1173aafdf94a255d56a00ca69f19dabad8ab091667af65a27079cea3dd89e8ee67714bb43245092d3470c9d2b95458196d8f825021234d49577dc36b465d107f38166f485ca6f5372df55ced4b88ce98eee16cf633e78f9dc07de6e59b44093ed4253142e0f20d27e4d2c504e1ee38d46d201a147c3351219f235f1444944cfd241c09c5e7c7fd92f4f1753c713ff2d329485eac444c3a339dbf805308cdf0c62383422edfbf78cae1c3deab61d88002cac23ef9fb52758f029bf0b6d0e17cb718fae40166ff6925c2350d3be65766caf83853bbb3588d99cdf7da8a7db616ab35dfccd29d3f64f6bca5bfc5643161784d53e6f89ec163d637f3b8b95ba610196f556f95a8f53e212552f4a8b42570e2118bf85d43452d80222fbede61d905220bd347719031510601993edd8d91a595e52f8c65baa933a7473cfed74b038aaefd9b527e98fb9b03a42ba6ab1722e5bc5c8fa4bab045c4e4143e7abee459d060b2f262c8fecfce1a0d365fa30d4f2ad9df7d85552359a74e33b6919ab94ffaa9b17127494283edd8e88771b3f04c86f03ed4b3e2acb57e40dc7cab7e4c468b237951adb4cd67361424dc34b5a3838833feba5ffdfb155e628b2bcaf742f3ab84f6d54935b01037cda95e519cda1e87ded39412f4f25062ef37285d2dbf9d5c6a81c6909261f8f919d4c279c07124be4cadafe2c4e9bc9b264702cfcf9c1d15dd58251f6fb62cb1b26e13f017a9afb1ee47e129acd1b3295c9a0adea01c9d3d81c961326ab479a9ce1ac8520835ad7c85782480e8842b478f02c71b0ba832457c76cf9860e56022014faad19c65d4f21b7c2f93f5cc996350de51bbb88aecf9555fe7c10ec6d7761d4dfc39f0608d9e0712fa0d029bdc6c4af075460a9df44fe9a6257bc804e947234f09e28da2e35d244703c0cfe43b88f5d54676fecca057e5aefa9182644c3c6bebde5a70d1bcf6fb6403770048593d13ec3630e5caec87607a6c58c27caf6bc8b968925ca0d261974cb4239023d3f0406129f730e3ebbfe7237232d71b1d507b6b43d1605f6ab71d166fc4633d5a404349be28a2a94b6878b751a77b0f1d4951dbb5cef6cc7247d2b631cbc4d91772324ad27baa411c8e1db483924b88e7078da0de31bafeda5f19ce740ea75c7f2217e728301999a966d5fc0cbb9606db1e12f41cb7cf8df3a48ec1c9f8c30696bf1cfa4de9a9d724560e7f3f8c5b86158dfab9770cd86f95dd871c8563bd85f82689bce166a9bd00025be51ce3a6c145dc37ae83a5348a55735d11c2f6ee799723adcce337883804cfe96d3a643d12bde0149dbee8f6fb9c149244970a3c620c30e2245b114aa8d784f3262385ae1acc94b78f048d8a3471b02b961cad8b076c16b049293fd51c6b85c3a12d09c454dcfa003c1ecf14ddac94cd51fcfd737598993a73a4e9f25ce59530e9ede4af41349bca3e20e4bf87ad8cb92f157bb03d7eba3c3eb46795e3b8c1c684da013f375a07126302e767a2d0d07d22dbcb2fab6846eb1d2b8260a8243c8a04653def3fcbf2515d6448b1a2fc544531dda0dceda14d5de51e55a91f1458e8b8061d213d511d824d5918239cf5151cd5a89c9fd47aaec033edea0875139577d7aeeca1b17c353193ecd6b1bf2da9e36cb8a5778172a82c58d7040da16cd42829a439068098197ceecf6d66732bd49ce2f0a6bb2c2ee060aa2ad4196c1fa597f767ddebe22473ba2908fb845bbd29f1698406725555818396b651979ea13984015d7d4c628afd51ce38f172247db463ce74939878ca5825d3ca39eeb0192bb005e90ada8ffaadc4e4478c3c5543d2d6a4c69c7af9b57246899c7ccb39b490fb1979098f1df2917fa75e428db02770b8ad3d4eba3a3805cbf9f3f0e54bb1d6441f0fd479c2fcd6b03585c946357a53f5dd76da153b50d3bbf66a20fa641e12d6e17a216972bec35df5bb3cb70c19d8baf140b3f88b7916a04bc2d30004f47901ddc79602f50a8a9e39c8919a660c8499495227f0fd32ed6c55803e4f0fe21bf2801f726bd9873d2cd8cda96f540a0ae5ccea4e77c66774fb09308adc1506c9a87358a8268430c13149adffc47a15f0ac1c0b0787cde29638e5d7c0ea45e80217f3e97ebf1e5a5fc26254b898e7f43d7fe438e6f11193e82ad51bee741d3c7c90bb6896ee71207c4342a59ae470188315ac3c6536d1c0535d6e5b59805d1b60470e3aa44c21f9d7b347c24c48092cefd363d407bb983f4522a92553d92c63a63d145f6fe0cc25b1ac6b2a9d64e48cae6ee7512726ab6efa183aadcab60667fd77d5801ff818e6afb89c75c71ea0e74ed794c96bfd11108ec487ceabdb574841c5d937db348bc7313c052387ddaba5a4900b6cd10ca610f46349269462f9f4abca78fbda6d1ab295247e9f09dab6fcb55be71bb8153e347f4547d7ffec38624b9e00a66f36486d3c0eedf9e117271169183882fce8d87ae05e7fdddbc519b7dfdf06787b41788704504700a3f6220476581c1323567113cfaaf66e6a03a143600119607cf7ec9ca46900e37931e3f9bb9c47c6b557b984fd1bf087c284c9ad0805c80a6ee5892ab8d039346ff12813f43b6e9a896faf0368115f5d6d6910971b14308d5d7c95aab4c214246d3a3cf48469fb3966256e0a440b71cb29402b8e3d664defa641e9d81eb4e5ac94c08729f4fce205c3574313b5d4021d18ed8fecd9c6f5da55e55be5a02a252f388f2d52974e830bb148a3edb431c29a9c9f4b8da14cfd2cbf780a7cebb7ac186ccaef71962282f8e72f9270ecdc03bc4a04bcc3d19086a2cf280e6f364876362d82101f601f1c7326fcf1d11e17918fba92357d96fa1ac8d29d64a1a97619313785af2934fd92e8f9592af63dd18e9288641496884290042f6162f5b3e36d0017282b23c8b735fd3899da6214f5f6de7c9bdf1d0445efae0d044e027a128fb3348e568b4fb86dd3c1a6d746ce4e3d967023a2f35dc6769cc5e55e8b60a73a1b0c2ef697fddcbd248d52cdf6c328f3b24a41819a2e1aefe8ab1ec07cb80352c42747e2eb910f033befe9f4a743a56577bbe62026468259271ca23003b20202240ee360e5d4be2a0b11de91d900208006d7cc3d2b1fba4611674ce114670caf04faf00b4645eedba00406f1f37f171f6181596b7649f4b1d92921486c7681682fc325ec9cc043d1501186831b8808e82d1b926f23929ccadb8ed1da9319bfea57a72eb5b79b1344242ae6a0b565b8662f03e0c1dbe909480c710af1438e16766eaecebe92bf4fc6d485c37353fbf3e9b24bb9144f688ed5da07e8d054997418391ff44e584b75bb51f2693a70aeb976fda1e6676d800e9b756b87c42c039e5f71a93a32010955e47a6bfbf83b7d73de0b90e6850c800b168aa86262a863a04259d498bd012249950a8a849f22c2e54f86cd869feaee67cf4223b8d658c1ef4f162b2fc0ad5161cbc6633912cb3305b73660c3d464169ad70df2b5a122497a3005bf078881dd9bb8dcb31d5ad88e5a566e4834b24308174c6b0dc196ca939635fc7eac84cf4f9f612237b9b9fc32a57130b5da2f01e1d638c6ee38a7ec683f1f4ad0d3c73ec230b317d7009ce39d343acb2c6aa16c22715b3b5ca92f923b7cdfb029e2a8dbe80599a88606ac670c515a0870a97efb4a6f6b181d40aaba48699fbc904039ada47f292e0b980db94ba8c21a42a560d0b825c3cad874481bb9acab330ddb37aa0f63aeaca47a7712d9b32d8e0c34164cd7c38cb4c2728490738c3cca12041ce086cb596f6983dc2eb41ee7dbe64574ac925aa8344b02f17a06e869c5c629f7ab27121290a03f23241c055877a472304f3e7c32b3c0c554cd9c414f735a1b5712300593edcb8f1e486cd369b093d40b7f0f00966e0ed739cee274ce6ec0e574c2067bcb0426e9b40ebd187336cc796344c41705037292afb1cd9b0a2b90d237dc273931bb01fbd5a45e83f6dcb8e2e85b81db19222e3367ebb1b0c691dfaf39245b3156133dfbdfc59d9662b7c866f6a8a5bcd38a2f3a7deacf1152a24a53ef299fd82e76267a84a54ef54b863c57bac5abfa5600c98f729dbd5ea127fd6fa798c2cb07d141525dd8a1ddebc66e7d4c81497d4795809f74e606231ed0da27a42115e33245432fe702c36ce637f1fa27a57ad10ebde64a51c6cb045bc5478226bdc69962f57a029b6a7e5827ad7f0849c71b18fee816a716ed11e7b015d7f1b220dc2f73f8605ce037e9c706c061a7b335e424cc75233d043ea12c9d795f13d9d57e5563a57e265cd485f7b305a176afd33d6c9573da16b3ca21f484a88a899def5120e27f3c4544177eb9af3e275a0a66e1770099fefe40fbc20fb8ec8030c3178094d6d627d64b9de910c3c3647355e25eb0d217f0b799f200270423760ec63c747bf7660cba15f088705130a738d57d2dfdb862f0c923fd02631f5d75a9150dd38276a5534c916f6d6ff42450dbcd0fc823e29247c002b0989ddf6ea41cf3105adabf33d19ac2c75570e0018152d21445a46b999b215e928fdd5e6aebdda98f1e573ddb44e7774a4eb32306ab2d8307fb544ee512a270a7a7b778c45bee9bf762bdf1a207055a2347a7f200f52822328fa81aea1d9e8ac3923939f9958bab0cdb434750d676c0a59c47b40548edadc5967fe7eea49ff0a65d5492238d72bd8b48d72ef757070af5b5890d5962f9efc26304c52cc43938aabbeb762dd107dd4a46a3fb70627512e62052f45319fd5c57794de5ebd6434f6c067444cc4b4de7c8b8dcca96e3497b3a42bbefebcb009926917b8cdbdffc6553eb57eb76379db4f619f95150181210184fe6930d5ac3b96b63e3313c51e84771a219220e95203321992b080dd3e6cfa779509864f176648f3ee97d9f139a69f6b35f7e9e938747f8180a05c184f721f24f175e2d1a4878baf23dfd8d400a32de962f8282a128758a0ce8511656a88316e65ba197c7b08d07ab2abd1492527b3d74fb9bc569060bdb43216fb9fc56c6199ac633297ad28d7ee6fe74d508ec484440d081a80e6e365f9d3533f4979563e91660fd0ad2fed3cd95ae296d513f8194830179cd9f8c5b1d839bfddb9288b58389e12157e5d4bcd347cd6bb24924f44c23cdd673d579381e466428ae5725463655b56271eaa6a61ce7d79321febce7cc91f7f22e089740b1b0dc52001e40a472e28324d5e438f4fd6d58325a7593797715f3c287e6120331bb1ef4aedc0b5f7df3de6307118e7ca02cdef5ff0f088b1e60dbcdde74ba306e9fc66d44aa923d558cc32e07cb61220ce9fbbe0d49c51cfcfa45d2f19dfcc47562dd350c846a8a232a2c2b06437a63f52a0a8c21606fef4c7dd5ab7b42b0be30e4966c09cafc2dd13c35d678501eeb17e61a45359993983b1b0f2ed6a80219b54ccb46d9f92c6cb2b1524aba5fa745a8f8f0797efc9eed4c9317a73129417f38df67bc0eb38c4a7b3bba9ecf53e0233bba845c55df72ef1bbca9d0dca35458894d783688f5a886fb99d77dc115a41149d2e0ff6e223dc50c3f4d0b562c4758b3389d56cf92c4202e6dbbaed4215a9357a3c56bf3cc043b6de76479f7e40dfedbcaeccea2c834eb208575f56905e0d983969e4459cce68c58a0232c98504f055e8addd758428540dfd3331de25477b4dba41bd2b0564ef33b5d645e66e86f074289d605b9448c777d6a1366e8d846d8450f856d8a205029b64aeaedca0ddb4548705ec7182d52cf2732be67f621531b97bb405c44f3ee28dec804650ff1860ef63ec22e4a62f372d93d6b95e56288cddf9f6d20430562b7118bda47475cb21668e7868b0ac98391e0245226f027f90956b5fbebaf55d2244a4cf8ec668f97787800c10eec478ff2bddfaca473c7a1b0702d6ff71a1c3a36c8a56b8452d0c4f5fb39822927c881294aecbd0ac70882e6b15f3530a55ffef8d9d8293cab1cdc54e1d6021a2c9d3b0d01c81095fa1153a1f7d44589119aacb0bb5c36cbcb3e8c611f899d6235bdb67a20af56cd8170730c755c86dfd10ae8e2e9063bb64edc8721c1fdcf4a82fbf0db9de19285bc00a04922683481309895278c28a1457714f8fe6ba58bb71e0d35769171cc2e34d8ceacee9e975a29c500d8c8a2b4816193f73448babd856514718a3092731f8ddd612b288b756396483aba3a759da30b61792cef305746162d4922d71eeac2fc4b2ca3b9b737979f560e85a7a64034c3af447f0ae2f15709a4ae23131cc39a45915fd168d2719b0dd92b53359fe4290d830c9dd2ae478a7ee5bf61debf50af30774abb1fa52535e4ffa61499a32fe04f1c79ac871a3734e3dbc7fcc12be4f3c7721a9a899b8c01a2fb450d4ae82ff10137ac3586630f311dfaf6a2a853c4a4679b7e048255b7be7e1595b7a4131b8f56b71477bd91a1db8f1905c387c94222983f3e440f1c2ea73fb2f374dfa70c7bb06dcad701efb27d83e5787402f5620a60478ce37ad6e85eba5585e065ded9b6f1882e070b2a8a1a3d156b94c1b72031216ab32d99626d655d03edef04f5d8503e1d5072588869869c27f06e4f350abf15abfb6416962e9f0e5b73cd9c84c3d5c0d08d8d9c4465fca9772a7a49b5585569668dab3ad2d07c25516db19503a969bdb79020716fbea906952818c727bf27c55b7b1ad4ad65a363201918b69d052d5845cef4fec050c4da0d8ed265b61ff78847cfc5e15ec85cf20efc09dca523cfcf92f32e0ad9e12ad1b54e9bdff0d39a43baa16e56b0ded0cba729137f53c9e09e7eee97f2bfb5d04a4648b547607396026f2c18ae9f24a1440660d766612724ee9fa4d4cb08b8a7c816f292149478c995bc6a313568e2a206cdc333aec39c1c8400e6cd2bd10fdc745a2d97c594c84eab4f64d9c72f239cf7e756afd4f19c2850dc1a6e2d7dc8c6dcf7af54648a733f3652085843f9e98737086801b38822e0425ff4d254688a36e4d1483f51f4cbc5f9a1d912c6b7c7b93dc950684a0a5f8136bb4c513463635f695535254e84c80b4eddf02ff7fdee5f8560a88c0af1f3fc7e158f7c7bcb1f50b4e36eec469fa19672307c4100d81bff5b4b74028df65abe5f8a36f84a8d54516e459afeaea3a40aed9ce133959682056e35248732277c3c27b4e79bccf84937b830b48573e024d4b719e98239329b92c040d2ae8e05b2167e45c40ed754c5d57eba291269f083e79492fb230acf80863c95e78bf25a75f3a6e0e398e83db95e1a7f89b49304046f2a50fcecc483039e63f907cdad8f3d1fcf7be7a71681cf2d7f245900255bbc0938cc23962199bc40214ef782e3a39776d89fd55c95888fbafa6aa23466d4743b218cb8883b24e52e4b16fa63259a6224c796219cc76aedabf21aff8172b23c384e9671ebcd3fd363da881115dea923590136ab7a136e0b4de4e60c18bd9782967d58cce1efd16e569fa9ea83100d72faa9b8a4d2b9015657af8b9c88d721cc3db191fa8a3a1778bb6bf9d9814778e800669d06d0bab5653d6ce34f445385bca30dbe4947a06dbdbb9c18f1eb56a5f7551fe7400eb90d330c12966b985df031bad0b1ec8e25c92a39a79635f91a0dd5d339aa134cd3873c26e538541693e5d46ed689d89e3d166217983d5dc59842b58d4dfa5a5171ef2dabe9f2ad0e37c85fb9c6bfb91ad55c41d0f717c132648dbb224ff52ea2d307609b4ca4f4455dd9d6c6badbf89360700d2409ad16072634c1961b38064f7a0a1684f6155c4b5b3e1acdda8ca5642e81b8e58154d983150d7016ffb0fed546007d9869f311d0d74ad18763a90999389f8d6c9d9b885c2cfba38a68daf9b58eb39c3e9e8d77f231407f8d43f9bf7e0189ec802f8853a9957d4bdfc0242d8f41516ebf6a586becd1246e57d42c3164bb06fae2697a0ff9ce07916b115b260eaad98ce53fc6237faeaeafa9e9694fbc208a25a021114e849d9d63066266cb5b006c7470be5b6c9f92ab9633843654bfcb6a5337ae72dc0ccbcac56c886166225aafb5d821751e7f4a79384b3a0238cfc0c9cc6ac7f243d6232000f78635ac35d410afeb9674c3b9600908fa55ea60b51d42b70936a1990ea1501a2bf8041ca9bc025e5e435c3e61cc180b20746baad0df5e898c282aa316d5686b6580cf5b0d02543b31acf5dba255820855d4aac699500ef55cb0b8f72b213a9c2c0e5ce6beff0255b7ac624dad10073aa0a0c3a319a7d8b3c3cf2be1fb1d0845385d956137d5a6b33e1eaddb4785c185705169b41df6f64e8d29e20de0568314781f6a5d17b5375dbfbe1314369873564a1a9f9a4a80e3bc684748e0b302d659127b595d13ec222cf6b233000b31488e80ed74aa1e5312cb7488a15581b785151dc0dfbd359c57617083960241c33e506a743629516d0aa83fed5600ad9d161d6bc0aa8a577fc642722698339cb8090d7d1123b775ce01443b2c4dc415add8cd8602c648a0c666a68bcae04f0eab3080fdaa2fcdfd607697e115f6b8499bf07e9a971247263c1297c0d126080646412ac1229538c79f188344ba3496bf9d20f038f4836f8d1de8b46a56644943c26c1fee6fce8655a7b995f84dc607a2bfe2d6aff2020c51138e7e9618d95f3d1145dea307664702863709a5dc6e465e7c1c67e03dc9898ef6ebc78e92541ebf9018063b569a11ef1179be01ec83f8f9d85905b0109090c5339696b88b2f8780cecd4430d8f1c91452fb8a87368ce91479fc927df6adefd907b019bd4abc66cb9116a35c0e7b8690411366e8b5a2ba5caa9f8a9b7a8b5d585bdd4b652f067d605d98a5a58f6055619d7aefd0e5021f947586c2f68e775f0b72fda0a209d31b474db784e92ae1a48ed540279c9555acb3b8a3f302715d741d0c3a10223af6ba9661500662df284e959872c2978c4d08e125b85d6f1f6d86bb9e94c90a105f16bbc73932d7ef342da89b88b799e3d4ef790778631a559cf8065799c342af0bebca373af8cfd1afb376facf5ae6ea11a0a7da2a9922b036a28d9851bd1cee02024425495d6c206354b5dab7cf775ce9e66dbb770eb3bf1bbb2796781f3fa79183b9ff37840892aac8a50c64c073aeb8cb6e2609440152602bd24f2e219fa4af71e11b1471bc8585ee54c36ded84693f61d75a3e9f5f22497b299ce018f888dccac752c63467816f458b26e5fa0eb76e8d1d4bd8808018c209ccda39be6090b5aa5f5309b68fa11cc86d6b7960f1ceb6ff2abc8acd4587aef08a42c37f7bf8ae0ae5878af67e8c281bedd07efb577ddf0b8051daafe7313d5003da32e09f5c9928dc764c38f1b16c54f94785b62ec0f9f273a332cf4f4e1cb3abb17402e2ef9a1335890c2667d60652887abca49541f11a7d687e58b27af520c935c4ac814e1a705405e9837c041f2cd66ce18f439faa9dacbed815d644152425cb2f2239c614b566f726bcea02cf0e8869b745a050521038bd8dc766b55884638539c84f992e66e848f64b89c5a7760ef29de4366ff177a5cb107c4e398d0deaf50f723f70ea1252b05b0ef86e250d41e3bee8ed2284bd9260c270bc12e7318e574c7770afb3c18d9beaaccafd8d6729d52a67b17833c50c1009e24fb6c55270e35a9554cbe047577949aa2fa52769da26f49b8c1ce196ac58ed92bc9fd49c3cb75fe4686e94669433234ab937352516141de31608bf5a3664b5106e457aeb49e9068c9f43c7eb2f62ee3443a6c1957e244ecf97bba807c152418c9329f10bc35f5fbc196884060332b71a49aded562a53b33fe397603d3999b3fc22e7998ca37da001bdfa4849bd8a58f8441bdeb173833ec8160ea4e482599cea2523441d543223918efdf8bb38724c728775bc92adf8999a9a8a09c9e867333ead473f51f1223da713370c713ed04c7d15640f7346ae50fbd48248d17003f2830b0f05786b19b61a71b184d41ebaca9122ee987e3a090428804f3c2b6af3961694b3f307a5fe5e701af3bd95a35e0ea0836d95e906e64fbfa5bcefa11b856a615d9292993b040221a7a70ae357a86094b57e006e72f2a189dbca73bc23d4ac1ade61544f3ce9f57edb3445c0cba166df669b4ca5673ac35f6ee8f0aba10b9d98501fb4d7c45e76d6ae804c668ef5f250bfb19bedd82913074654c57c533ae2a8232acc3a507d1fcc34311bd7c0b8e1488ad70303cf5966e71805c6a56ae2ae6bc2458df9a396af0fc88ee002020ff2a073bb738640529db4ee30d6d54bbcc0560ff869d3dd33616f0deb449e3de5b1e8472a90a3beaa9804e62c3f8b9d83b66d7f4daf5a98b4c6a9ba8ebec41c640cd37e05d76120cf50e20c076d04fadfdaf61c68641bb33393497418cc10b427d62a46c7cbf99522ae715074b6bcf052ec1468ae14673f8b50b5357e99d9d02657a29c80352edff3d3c832ee84c800124ba6387ef3321b51591cb3cf4d99de9a860acd27de7584a9be8829f9348de37d472b4bdfd8802bc86e8e24ba66e94ac08a8fc92e1e86b8aa63bd750e6c9b5eed2784dbd497dde96cb92ccae8a7c509436811073651b9927782238fbad478bff394ea6d5ba8699ed0157e5fc681640e86bf0ca1e607fb807f5e17616b2f68f013ca5c54f40bda2d51e2320d599dee630de5ad7f9dc7eac2f804f31287536e8a0a789f8e5ac09a341ee75b1c8bb4b9d9ab6d46c2cc25569cb97d1e2e0a910ca99f0dc57b1b2f986797c0949d64687ca4673c99cb16d521e9a1367c3100333b30e3aacdb254547a5b06bd5fdd6344df385ef408e568e596ecd11b93a570824049db138f47d76c311b620dcc7b6ebfe1d274797d67ffef3b83fef8f9501f103030a0c707a6f35228ebbccdaf1365422050a2cb2dde2a361b948e3d21f5a2e0dce5ec7629677c5ef07dafb3650ba5be9b4060dd622adbc50767b0e6f7b0a47dfdbc64a833cca2b1afee4cb0e2b72d6172787eb74b1760f39dd1ecb695804f8467d5b7d7b75f0ca175a93b2c330882baba0ca52882b06cc2a1d126c6f8a3400862583c3105d7a460ca2b377658f0962f10f92141fde75c291a6402c0351fd4e3a5f0cacb490031d8555a039e0288c8a801c3ef0cc18d42503f1a61c436decfd1dddb7cd733ef374b123c1d800d369ff7dbe21b9df7f854051bc0b330014079f02c7c2013c180a7b3bb55a687333088bd718be664485bc726a8ca934c2de70cfb69f9eaf5a7b3cbde8c502a1083913dcb39af89305b0959b6046ffa07e09f0dd76d51939121165eff9e573bb278a5f93c145402108d5ed7b74a92197a5905c9ac069f69e729b388cbbc9fb97ec9a73dc5886434a4b63f005fc303c2083bce98d02c6a5bf279699cf3feb332731e24f398dae9778a89232f8b867ffeeebc6d68ead9bb543b9677e4045b4406a0d3575f815a3c590cceb854e38e9d39271d16540bb411751e1227c1016fde9d409c0a651586d380941c73756cd5a5a879bb0f45a52354782db11f997c073e0f034eaa30aa2562e6409baa18832730d51a8e5887f2cf47a8f241a332795afafd9595da559688a2719cdf81071482baced7a302148521d065c26b19d605a87790d152b06ec73b13d6d452e8febcd2ecaf2312a67a6ece36ec66a66c39da58f054c943c41218406d4e605133f9124a676fbbbd2904b675df60d723d8f5acb0b82ac6413ec46063fdbeea78a3049c1af765342b0168809dc59f680aeeefd6c9e6a3edec031dc4e7bf461d0fa8ae4cb632b343c723da2e1cae357e65814da8aa6fad37c41e76813333e4020e3af671152f2e289a4ad980748b706fe89a233120dd2ef3f4810d1b81c66239fc5010747403275087001c4fa5464907a95cbef5dd0f81c3215f7a2f368089da6a77794ff926d29952f1f0fbcd3c343bd4ade545f48d9ce515646834216319de2ed6090344918eb10af6b382e9bde31d9246d386c370505c639b1c81af3dfe61edadbcfd6b97dd4e4aec1becec6aaff2690b8f1f6fe81989c618bcad0ac78d049d1be5f1a35190c9ed41be1939b7f2098c4948afe0df87e4b10228ced8513583933493b68799988ec4c95135e5eff412e0d97e812bc01a6c4386a2bb42764f7be6e3f2c47577e5dc67c4b0e263f6323d3c98b8504ea4799f2adad168072daa7924114d5a3f248d9e48b1df2ff99923908dc3e4ef592300efc788e54174210b5a999f70908541caee86438363355c8580909d2d60909a8013a0c0584383a927a79a1e5b8f55c634187af457a81edf541fb626587d594f09b30def5c8d80a8f8b8af837b176de73e7e6683160583d3785fa7604f22ad82448ea498ea6f776da32b30ab37078ac8a456411a0ba3d4dedb52435b16e05de6a5ad30c1b51588766fa44f8114a5360605a394e28c7fefb0c357ef6ebee6de41eae80754ee36fec846475c8f99bc8e76e0f466061a1917edbb19ce4541585308ee036958eb91cbc80a2263ac22da96ab9d8a5f4e75143048a4a5ae4de8d335625cecf80d979d1d8327daa7b8999eb8a8bd3a3bb1574348e88fe85a64ddfd860153b42fb30536542b379200f23c454a2e54851fb6388da4c92cd0825657f40370a14d4980cd5be4e0bb277751b9bd59aa2d6ac12f5f9a1ec01a858a77a6b5e7a99480d78679069744974bc1782ee0139c4ac38ce81f42a02ea96770e53f208904ebf8ed3ad95fbfd96baeb69c74d90e6f34bc8b06e522c4c5a81f935ae34cb3aa74e8ee68339017c0b325944d10e839b8a8d468e465858705d643f3d828e4e829bd3493b7d9672594e3997b4bf084f97e0633e0baa0a10bdfe13a7fb9162bd16e22bc9638b6768454d330007c92a377d7f43b9f0c3abb043f75a18710f76753f01656de73904840d5d05d6396411ec62ea36d859cb37ebd6ba816d4896d6775607e582973081f0eec24cf555cf4f2b0145f46d9f6dcddfcf8ad7dd270602db369526c1d36a5b6dee8691a4e11ff1aea53554d089aed98124c78ecc975d4da2b245f4cd4c3d9f3a0ae4a7be845e592b333b35f421f02a2ae2155b221e04228188c7ac3bef128a08d0b09c176597330adba9d93ef8a30eec40d843930709d6ae9831a1facd8b3e9da8a325ea23ae6c5c4810d5ce2eb23974ae2c775dffd8c2737464931e7be546a1e89d6cebdfd041390d48a0b256a0b76f07c7c7f4a72e3caf1ed672286be0d06b3506b0bf9d511c4d37e393ab8f2882fc2a028c51c27f01edb14100f376f6317056728292395874b3ea859b6c30729c7936e0803a5a425e90198d7103b9604d67f241fa4454c5d58fd7b10a8e1128b6a6b83ae06c9bdb1dca4bda84571b552210b57255e3b3bf82a1da0045023b1ca9b7d44b0c80fedf5a163a17c64b7504508eb559ebab4cfdd00ccac57f39b65b4dd13c47330206c265057ebd22ee879205e2bedb7b03e7b3b144783510f97d2f23c45746047e5d4a04af76e993169bc5525b2adb78fbe211a9eabcec909fb26fb1f03e577266d07b309f86452d9238e8eb9f1ac8ce5a826146827b6f8cd262c07e4c47acd455e72ea01c809bdaba02e4976859f344843787bc1f60ecb086f8ebca7d32da435071d06f4b31425dad2bb3e66b36bd4905b7831ee0a14a5b8dd35e748eea3ed58197603b79de443c220d68e00d8cd57ff241e45580449d71d5a3476d7a7a6dbaff679bea5f7db7579afa1fb82df04c8ab4fdd04d0f6a3607597a2c9b633868384a8e8cd640c73782e5b9f28546fa9227e6286585e89f14ed1942d3e9c7c6975e56a260ff84e20230ff8743fda0f241fdbd72c672f28343752134d5dfb3c8f976476b981d0b2b1296c14abe9bc7e1c2738c3907c2ca280bc3a21622ae898c50ecf11f34af0f683b489a93df13ecff32e7ad24503ca283b4ef08c8497359f1346a8ea13464aa14da929e4ae4756f24804831203a9b09fd8fbf21dd08219e9be9c9685752ae9a2a06fb67ee976554273eb829b7c8d4891aa01fc4365e881de1599e7c36d26be78e1c05baa199cf7145e788efa4aecca2397eb7d42f6a9b21b612f8893846ba7f1181f57eb10cfb99f408dfaf625d7f101a7cad4be1d7bd9f5f79620f5dd3b0a36bfead5bd07db484e4ea80fdda238b9aef3254f1a1081b5a0b9389be5f4e4bf0078802fc8cb15dea302394f3422b10a8dbdc302e293348ab4d1378b1be2b56f9ab574692016932dacc8074d9bb4d6b5fca4a1f53a24388c5ad21e47452f27aa399cc812626ad6bbee3473d88f898950d326d87fa92c814e607c1d5907b94ff051f571873a3a4b0ab79e24f21590a713c09858063c300aa1e6028a2b3d43bdc0cf9a69c886098c442d7f15ab4d66394e035887b44496075e828e061679384174f7b67e5a07a8e19900c24ee02850c83b7bbe6df31c1a203c78b5532eddb1bcd234b1d52bfc80151ae0f0f7a5a36dd09b40becf0dab70895380b96dd9322e3e862f0b35a4272c5a6c8d12a76d66284a98648cfa721e791bf4b4040e6f5b2e8572bca25ae72407fbd9426de6a50a9375619c2090200ea32c204d458d54064710c9387c272a09cf4f26335560a8a5052caaed89cd69ac448829ab3b5217ff5803da291a0a79c32c5b3d9c68227a87230821e2b4776ebbcfef74983b014fde4924621af360d3f165f247613d63590c0000003c508a58e58f6d77b1ed9c7edf9e60da4179807b2efac0abef5bf360cce2c23ac04bbad39db4583662acdfae9e0e499a511a2a6106fbd303b3aba8e7b4ff803f55f0277dc079fe3cd8bd29ba0250f326507749e36cc24a329ed3c97e560463c80901257052533039e5e3c49681f51838a70b947bacb3b89712e1d7b33f8dcdb4a12f87387d857965576f909d39b394516ee84217bece84c49c41185791ec4aaa294d5f951a4fa03e4d2af0dd56e5f75eb55a7849fb951a48b7c797cd422902c93ca5494df9534cb1b6f7b830d21f8e631b98c304eda7930adb1ca5eecc80dba55b3f9e295ae3e3f334c0593df77cea4226119132015f343be939faad3dafcc8513cf23578032da8e67b2385a6934dc8954e753f431614a7474d9481a702408bebf85612dc165fd2501b59e09645dc3532508a309b7e6b330058aee4c5e86cdaef95213f3f17522444a6db324f549d4474816f9eb9874ffe38cfbc5b1d36f843677f2b883fb4fc880c715347ddc70943ecd7840108feeadbb5aaf621fbd0df6fbfd51432a234a23d6e4eb720100cd41d7aebb6bc15435f6aa7481385a4c1f524f1d0b156a1e98856d6f8feaa72fc6a55c39f422ea58ea14bcb618fd853c65baca1d47fe3cb711e6deecd86503fcf58b6c364090ba6fd23fdb24a7e49d866675e1314e59fca3ea16404e1e75e4d29ba307cfcff79816c74f3a9f57adda9247b99de2aab6e64b8382ad6723ec4ff657aabaa53b8144593dc276c19b435ed7fd2512dc7d574db713d7c273aeba39668428003cdb118585915d5e9c77d492d682012fb35262d1002d376f4b3cfb31f4c953bdc7084b24043ef2882720f3cec8c50c6eb0f7480165a577cb0f5c3430605301fbf49ef98e0c8126924e960b00b9edb05d83f356c15e72c73d6157d5baba4f04a6f32eea36a01732c542daa4c730a81c04c4929cbea89ccc8836aa9987a44aa06392cb4c40b4e0a295d700d844ab42f1727b16ad2a12f2cee67dd125e95836976a447371f55faf59bd029d0970d1906297e9480b9fcddf5befc89370a31dca0d7c3665869b96e8dbc07bcdde67eafd2e42d7ba78b807cc4f2f814d422f33a0756393191be9a6f7dae4d8d2248c34a675e1dfd13fce707c82696a2308b1d6068f761d6dcd2ae71016d0a5b2121f976256f81ba7c0624a2c0689a18692881d1e9806019d9275c6b53b089e9e854d9c1eefd9c63946d7908ae36b70d6154c13cc04e326625aa741a264cc0f32500bd9a4c5ba8284e43acdf220f98ec283a81e0c93c91839861b597e28e0952d3358059d6c5bda568adf907601b2a11a26257653f054ff68bdea49f1a6d507af1f91cb3b1dc1450c5a7ee7a5b09cdd38a16d9ba4ecb6c0e1941d686c019207f24a02c3a1ca20b42e4fb4b642639cb1a5ff5af2c7212dfff3d0c93d2e094284b602f5b380d5ee13bda731158ed1abf4ed9fe63cf78ed412e2775768b9192780e5af61b98fb6be3f417b9d3e24fb6ec8a7d5d637ec670ae8fc1cb5f8ba610770cdc579b063949fa5210e904924ca581ef413e327a31778e1f88cb73c3797599d69727fc7e2fb715fad05dca7e059d75db4a297c626017f371da94663c031fb7e470cf6514da0ec28374998d4fe37635e272be26017dc03bf67c3786639bf15b35d775902e4b7688b52442a8c14a927a181f9c9da3c3d251bbf3505c4da0c1906f01cd6f1da90374e32f86b4d1370a5f2090982adb7b2e325055ddb40af8048db5f9cde1c13f4977e4a10d8a5c999964a0f6cd8fa46a27049e213d77f0485bf55da9d14e78ef98deffad3411a2a2062daf56e5ae87e00494981cd6da90bcdfa5e1cffecb36eebfba40d45aa0b13402261c9adac1e6fe7181cc76ab7ccfdf8fe8d5791a2d682835dcd198f7eadb02e7652465029489395b45e2d9e25dcbf45d5826eda93cec2520e16e95c6614b8cc45f0a225274e663604d6997da9fc4d9122ff26955f97c791e2cd8ad9ead1590c1f4b5f3cdc56cc95cf7209d58e0850f18d696d4bc3666aec638c34b4204d8b254a34276857d419edfc634f0302d0474bf747c985bb0c7cae5f9eab24586bb4628aee0cf887a92761dc3f1c86aecfaeb80d824ecd051f257bc401d244890ab898555731e2e2373db302c986be59d512c0620c45373276ab07ed23f0172114ab7fcb96dc5fadee6ce61562c196cb9ae7a90e2541f6bbb44412b5ca3bcac0862bc7c7e7f8eb7f67c49b04c4080d2cb68121646996d29dce288d699b11eb4d8f6e91b5e76dd2dd699342bed997711285aab5535eb3ddef026543c452f8926b94a9eca9b88f808ce90350d26f032ae445ddfbb14a4df14754fe9c3baecf7afd95c94251700c78098283303586e32e1a8d62ccc4eccca9fc662a6589c3bdb569f9f02338743c0bf2e4548a0971d36f8765d6bcd2df1af54836fed354ab13ded38722611cdc85b3a5a77baae0b724c90bfcf24f791ca5d0ecb5058da12e2a831d4b63b21e6d93d31fe1dbedac6ff06263433d5180ada4e8c32e039b07a5717055bd1efa6a50c167585e9916832a97021d14d9a7e31b323bf2c3ddb9fe95f79a5f91e4c05c0b340c4bfa74c0dcfd2dadfc1c7dde363889778ac9f0001ea7f88d6b640aeef2a098a40f7b8bc80deb5b744cdb2f746c57643332b04a07889a2e3171813cd2a4198dac034deb16757d8a0fdb8b26ebe98e6ff65682207e3ab7335ea9dde2a985a53227e9b28dc0e3c6fe4c9f38c473cab2277cd56f9af08b44f153f7d880d1a38199d9dd4fde0bdd9ce7903d3ee0ebc32c5669e2d3d16b46315fd19c9a91f5f7e67cb7756e7262f8c52232f76e0bffce9b9e4464fc98db4200699a0cef0d4258c8f978c8c064563cb9d50a8697773b0de3454ae6f77c6261f38879f1f66f70129b4a1ffc73419fa682ba49ae621e3e53b6632c7362e587a6c5918ff0ad98998993960e472b20e94550f2f22647ec49087107a9e8d3c4da6ec7f1f0d5bab20f42b98ce15b4471f3462f42b6eb5cdd3526a49e8c17953c4e325da5e2c3d342b246fb62ffcc570c55daa014870242100429443b2a3a5c9d47b432c005995187506aa206ca0daa8539f6932b39be4f7c63e4c8d109faecb7719b3e02b8f66cf040664b767b153a21f65a3641b4a3e1aca322e7ac75dbe79f833786dcf290dee98c943aaa73fcb2f94bfd7e18d29a20428a34b00f1673e3138dd803ee8179a721e05881b7e79a75fb93545dbb3787bc6fc47a1134197562dbca903dc3be6161ca273065cb20d298a36ee587890fc3c421232fb676e79e6782b3c7c0a43529df5bcecd6a8fd31aa963c9147017942290d16b7f0dc2bda03730f648ebf408f7ae349d4e461c9d98bd60a63a4f424b50ad9c74487b235a62f8ae26193df4b3d740165dea5acc4543305a5a254900ba65c6791986d34fc7a087912017eac75b6c348117547198c171dd71233e6aa1f8f9bc86a8d4ad6ad28b4d9e596743e7056e74e5e3b25dcc3384c117b9321196d926f0f26c496ca6fb8a0c006187d44057fe2c1aaad3d885956af558367e77575cb92a4ffa97077f58a0fdec9ef777a4c85d8517e7f0862b2cb9cc34c94a622cd21136623cafe6a921ce5d53888b7fe0e98373925ba829130552a67ebe52f3b620b85d49f6cf41cee37a5f3d7026d9e4fb8cb1394480ef9c1bf807a61d6e4aab9e483e2f5bb1690a4533929c5c1a8851f95277e62734ce65887fc37752cd121a56cf9be43421e869d6dbc3ac6cbb3a4942889ab2df694fb21837c37d813f935312c287603b7b91657d99d8355cbc28d5d12aa542b4100cdf892ff41e20a96e8ca3e119eca51d3de49a3b0ab1723eb13b9b6e80efa5d808d3802c7c0463237d564b0172be5fe176dc2d115adf572254ece0a1cfe32a94276df339a21d82791652fc5972dfd1dd32f0aa31ce75a0f588428ae1a185fac65c1eabf4aac6dd8630476b6161c3eb8f2944e70dbec757aca325d8980a45eb569bc1c947988bf06d0303dc64d1a281eb8b3ed171f534c9b3f85b7281bba0b5887775e3b3f8b1e6c0f999c541550f7f8707d8469825c01f65f5861033dafea81a4f4eac4b23df86e640fe3e38c342ce36cea2f186c46bf8d20548642830cd1cc5edbb69549df544a30c73c3f69b1c071f523b1cf9a4ca01bcee3d52702b3150f13d77472e99b62f9d99f1bad2b219b88b1df520b5298159a02e9a1491ceea33ab2a78d1080f63b53f5488ba2b09442f4e6ac92240544e0f9990dfa593901b92cc880e1bd98124e013ec2092163e1e7c386435d849452e6d46f87db14f426988d5cdd576535e06580b94270b96aa30121d8379e8daebdfd6994c20a2bbb9c808a7141942decaf9abc68ae1fdaa5fd9eedd0d9ae17de9fd2f8709ccd90b00c8ed427ffba2d66ecdef9848b83e24cdb94476d72b42fd9ea281a45274750e419e959776336580945a6b0d911a5ec35fc99e29b02a43e04c53e990268501c0e770fcc2dcb840b5cb19194f7e2a7a8a2cbca2c62e9cd0199cdf3b3a659331d47b58a80e36b0a123db31070ce777a3c6eff256a90b8f7e6fc61f9ad0d10c00c0e7f13488f2e085fd4c35978a984f643ecaa259f06a801ba8724c8be85cc79ca3295ebcc835de82e4c4bad938b47883178842aa0542c8b6774ef131e09d62f66e13bb5051d3752431e8107cc5510530b28c4c142c13a50bbb2bb4a4748e2f37101c1e4d7e6de835c94fd874de15df7cccea7b5102ecb4cb352bbe62dae0f2fce2a004bea73303765d4fd3c30c2049daedbb54e9c642e768ab4a2986bd54edc7b3c23e3ccf8c7e49949d68177cb9f20e8d603610445f27052e50073eba8084bcce8274aed10266eae634d861205d5f9375024f68b475499ca8685f1c863a39e302c100def34443bf5ad2cbafbd399bfc0c260f20f0074dc584edf8775a36448e733fe9c72431162d1652431303b86a8cbd734d6ba02b655c277061cb392caefdfa1efdde8034c7026c6cfc694d5414491dcad52bbcbd29eb95beba1dd40cc84a99027739b84e8fca7be2382edd160f868fa99915b13db680fc6970c295334f9fa188364cbb790a571a2f3d149e54c10d05d662e9f7a36ec8efa66ae58d3e2a0d640525f18479e0fcba9fbad6b91645cbf4039ef784a7217591b97e7fee56744190453edb7bc22c14043224fe97c8581ec2b087abc4ea87d82790729ec30b9f8c3f643d92618dd9c70bf234c5b198d91f8f0554351c82ad587068c28fdc54ac897cca8c8cb47265357e9a1b0c39b948c0af21ed8647f2c10c89b21651edb33516258e606f9b7743685a38c89373c2c12ac378e839f26d2271ca884f72eed4f1ae0ebd9049c91fa410008997775b4d1080db53a2be995bef278a217254d2c4ed35ab3c1b7400f8670e1a0114e7b9cc4eb94abf69c70bfc66c8750b2e3ff692c7284e43ed820724c7739cc8b596b77286d55281d328d69839fed01f676b5227faec116d2d49e20f70b3c207e3c9d909745df45ebcc76007ab270cc2ac3a9792ae29b45c814614ee33c2488d2e363bdd57682c5707221945ae0172c30916b67b3f8446cfd7153fa7154bf45700352fffe02649d7f89686127a4fa430bda1f9a68a7ee55ca5156b2d4b92fcdc94275b694912f0755470baaa7ad23fde19e5017f668e7b2833f9fda8d170278d02bba9f1ced9d08dfb8c4619c374a5a1afd567b0d0943eb5cc02ce5528b4f2035a548dbbc976841362d5fbf25552e94e86694e116fa3c225e577942753bc61d2b1789bfc0e64cfaf65d5c02cdf8cd23d0f76938b57312ed6951dcb6bc65d178d7304bf914f623b4421fc8c22ca8bb2e16972f933d957611ab099697cdbdd1fc5418589c36adbbf89200770788df3889bba93ffc012090946e903fd25757509e336b8421f4f9aa3f87dbf25a7b0b57d4c19b676a8433324afd185f774d871ecf6fae2949f558669c103de76a4aba523f99eee37476a19ee3d84c410a00d458cb9306fcef99b4ee886b173499e7a32a80b61d5d6dc6d0264d81de935d857f87c8825688e7187381cbb77b49bacac8e481abf31d7c5c69ef6fbee8a143073643bc0f76c3e397c968084a251258fcc68ac0b826015c3e25f66dde5f4c42df0c2e4165c2907fe26090712500de609ef64ee57218aa98a1194244ffb166740f4cd2bdf4ce4e7b58b62c960f0673186389d994e4639d927454417f25958d008cd8f5ada53fa7096bd1d6d0bbb16501079cb9eecea5ab268f1c330107f8832af20c9c82e17e0eb58a508162d813a8e9e605c70dc737d536e032766cb97bf6b82492c0820e93b240b36cd90b860494beb8e2cfcea8cadc023dbef273e526d4c10163294ca877ce7f3d7a2ac4112f2ce61807a890e0c90c20e806a072bf1f09ce650126ea474986db312ce2dc6b244f52bab67d67006bb6b9ff03d14b9effe59c64df9d5459fd040070419825ba5bd8d2898bdba5b601115473f0032fee17ae42215b771a09e64a784fc6c06f7cd594d58d43b3f3d37e90e07654cb03b57cc4d26a8814ed609c2639a8052d10db1660c2f4e293d97a777d855c23d2c53be6e1634fc273bd0616c66d4ef1c8e7fbf00bef4010bb4fcad0e0d6d3bee9e7302e96f48f789ca156b15f3baade4a33a7112a0f42aef02e6ec91c0b9549b11ceb3a1ea4edd11ef446ecc91852d1c1948ac71a84d9169fc131ac85274609ab551daf487219eaebd423af971510f75aac06264adfc8437f432952626851a06ce10faefbd3d74bd57211513757bd1175ddaa21d7d62863f0a0cc7acc89dea8adef444ed8be9a61875303d12e231d066bb47037016f06e7c7c2e4279fff57cda2377c98678522002edcac5593f8e49846ca00a095c562c9fa1121debc84110d7f20d6702b0bc86cd9c9d50dd104233bb988c88cba654a288acf031bfdfaeed9c53d48f76e0abf2922c2676d8a4b55fa9e897a33c781edf6bb651628206ababe8857a4fa9c4d2f5f1f0844a342ea94ab5adb8df54197e1d8f92794306c7c819f03805d7a562ce2345615150e6743f073664f62d3f641dc6eff5ccc155afeaac271086c0bd59943eeeb3693cef280a27db8c47e4e81248a1f2e3d132c02709f6bb1f7ad71afb7bc02e853afb40aaeab76a26d2f84bb095d3be137b005547eb20a289986b5d36e296cf44257a076599669ef04fa677e9cb02b809c251a0a5e48ff6981cd1e8251ac0cc98cad323646a97e69f9344e1550017bcf238c4219c52aa197fac9efdea4894246d7cae1c847968bb967a6755485ccc5f1b42e6dc20e31df31ae43f2eef0f29217e805de6158f8efa417f1fc6932640b998478250e0c24c0cf3104ff5313316f66cb1e980063685072115232ec5e93072582bb5ca1cf50399c3f54130453d87d44d8c4691b256caf20ee9ebb85fa135757fb0f827085dd664541a71ae2be7212bf0a65b6011224ddfd238d120800d8d93e473d3d28fb2eaf8c73483f34cb21b61f6e78feb5eedc1af3619ac4a79ac763619762e876bf801321362ec35ef3c6f46e66a64c3ba5f2e532eb7d2fba90dd1e26a6b4ea135d099f44974477daa37733ee633fa0fbf444dd35bca299895c5e998f4ed5a53cefaf5451846b98de24cbbfec1d7d207e792150c16d46307a2e2373f25c8185c029b9e193efda006e27434f7cc28d8d153028e0862e06dd94adf753b0c725e52bc455e3366b6301e298ee2db638a4390ecd8ede8b95388a5f4b2b372fca581041f2a5aadb1f5ca1479050b7a48f40c464d92a284b8ee4a9cef94d589f6b203bc2ab401a12f9b9c8ab59f68ec673d40d681db57275d7a06b0cbcbae75a743e9ea55de24ac2ce15f62f04806e5e248630839e8c53b17abf25a6f3f45db302bab29cae9b887caf35119d646b2c3dabea33dbf612f20021fd7f55d3a59fc3476b1fb7005b04dc9356efce4df5b6a6aee49f159bfbdfd4077a7afc25aaf8f11e061a527a6af2d5d3cc89ffbbe0add772f21a4f36b4ef2e32c670e2db89066d80c995843b81077a0ce7df57768b7706e4340873c1e3a38310aa552cc91a1899c4140c0c4137a83f66dd672f91303da5ed3cf2d0b10e696a227dfb6bea53725aedcdf345e7d0807c96507a8e7c8653d10b2b7c9cb4c6f785ca40cac8bc961c27000b6d52870d3455872a102b4318789a94dcf1b612e8d1153fccc5860b8008bc3b182e18f5c2b4f2f4dbf66ac87c4f7eb0cf4d55fdfb48edeb82623ea68e5fb946cd66205cfacdffae537d424bda58f5b5f5c699b58acc5c7486cefb02d4a39bd719e7dc82a18aeefb906471c2e14be33d5143e182d437283a5f8ba237311b53742e54b9f738fc24954c8180d74478bc158accd8701a1f5930223095b66eed3402bd471892f25c5242c6b35534084a3df70bf7b488c195e043fab2e828d2e17a2f3ba47320ee09ac3e002471c75e7b06cf4a22b3a0c19256bca243a6e4ae292cf2d432db40821e21c0485249f81f2e415d8d843d6cdc9465db54ac1e281336949c983fb4224346b1f75ad5810027d864737862b9963f2d5546120ac798851e0d2375de4f613b5c7c3cbd7e1d284b18184e46026304cb74bfa0d5b39e8944ba2f8b6a10b5cd9cd4e3c02a8bd1a2ac2824ce80076a40365156a14650cd7c6745a466a6ca132f4a88dcb45f06834ce536b414eeb59f7a3b395cadc9b53f435b4f345becfedd3062a9d30e2b7aafda860949982539a32bf970425f187404861c2d53617e4c139d4eff7d0a0b6c607aa4b120eb035f38ab5431ffd897fb132ef6ec1829919a961bb21f8d61b8fc4173422fabfeea5302c00e84ba8e983fbc0eac76ff56f2e39c40a1a1ba0d6ab115e89cbcc122f11285899098b7e17111ada8fdc6f1ea6d55bc9a3ce5b22f83e01e82504c8160952554a0227fa7d21a746cdd680ae81d14f07b6a291500824490df82fbca850b6a3e39124b589871f5b7ac4259aca766ce983b664429da14457adbaf8177582375b625565bb05caa3a8645bab70dff1cbba551a970e4714296fc8f10de0ca69eede00d7ad13926fc27b6c7963487dc76877a6fd4cd83b13b29a78e64aca6b22c268bfd6056e280e0a1d6bdefa47bc09479adf07101c07fe186148aad9aaaaee47af39ddea53eef300b28224a848678f666d77ce57308d9d9d97f355921f114e8e4f91aadf3e5e17ef9d598b7d14b7e2d33e7d0bc33c8ddaad9691a2e65f162474129be49e7ecec24015aa47c313536855cd3403d01057e11293d86d908f5e4941153af1052bdb98bba27c3c5885ee2525cb8332458a678b96baa998df8dbd898fe292ec87ad0b7b89aa45d14b53a5c59ae63164b196c8462f8652f4508b1c451c9d653cf8a818dafb05c53c0ff80c08e4b59c715fe4f3d8b74223309a83c94d625670abc8abeddfc6dcc4e49df4cd692ba2702f6f5d8af282dc73f09d116b8dd541cecce3b8783cb831eb51ae57e2cd56be4843f2509d68336774baeed6f46b4d667ef3235dd42d19af47bc26ed2f73554666fb88cfd2b1e1202561f8649cae11301c8258063dc90fa0414e8c4006055901dfdb1775d0bf6d4729ac41385420c09474b8a06c8ef4288cb219776c46e8bc78e9613f0455d07a8208b8805f16f0da52b22d8a079e2b29cf0750b5aac108a85d76d4f56b6723c0578edf2a497db388585f9def707bcf1faecd0204c9465250c6638b31fa6cb0c06b82e3cab85d69f0e1f98d315c09a78f0a0eea7aa07b693367e7296c4544e0fb55beecfd0fa17a27c8b82c2a573a5350fa196f4876203e4d7a1b2b862506b11e2b995872bf6549783dc248157f18efc2a1742931d56bb3a4f631c053adecd7ac288a13e4ab356f11a96ce6a595bf4a7c8ae4ceab733373e827c49b5b7f5252364db8ad271fe1fd98f85dba8c9e78740e0cf9e1e4a65f57aa74659b56a90c9f07c7d33c1231449c80fc03542238742d0720384d89880df926d90cee94703eb8f3606d4fdb0cea97560bcd78c5c064c583cdf998d14d8fe1ff3d297ccd2c0b3bfb4baff62cc2a4fdb37991774a92e9dfdb27c59dd148bad409370bd9f63a26b9fe3dcce2b18c4877110a59f342b26ac05c1e620c9d6b3eb61964f2c177670b0583a0206e14c6e73d1ba1a3b6d511acfdbe92b9ac45c1395f0a7e54c3f57c6d3c3bac8b9070a52db15e5416d22084d9b557fb3145556569271074a80be5ecc57e443bec00f8dc4791a1b6668b15fb83b6772908076638dcd54cfd32ac8e7e4258a993cb7aca4700289107d94f6ac9fe2ab2c0774ad4f018c0eb98ad83a6a2b79309a9202c487a0acf61882db7845bba1bc25f78f521f1a77cc63077a592f34bcc0ab2aa5e0ec983a702b3a7a14d4730a6d5030dad8e4084af78fb1653de27366eb23cf89bbba03cebc133a1daa6eb6b84260e29232f5d132fd25a3f447e7599c6f1a7a8b6d0738224bac731ddf5e05d2f82bf824430a8ec90938e5d9410273ad44d0927ad087e43806a93f461058119a3ee710fea213aba6e2c9ad4377eb21ab1b314cce2245cb18e4908774ede6307dfd82cbea83d9b1820bee561ac23db3eac78ce4b3f3a53bf591b9b3f4fb949cd496aa2e377ef1be5acb73d76f8b9b5984b68f18875e46bd7ef3d93f32484e65cdf458d36db194c66a10434244b29dd4c5401e4fd0b3a0bd9fbb9de0ddbe9bdc8c3a0570b85e5d9a567ce1622993d689ce2016fc639e299d51d140f6ba61a907c2288b0b1f671f43b5cc8e91a9df93d5bbd5e4b5461a2105ceae8bc9d11d112de961f15be426d926532f7324872d1e463000638b7412ceed334b3caff300bd138a2a4db09b9ee933fb5f4771d30957bf8cfb7a7bb3462afc613c260987813145eb1f1699dc1b6e8b944ff7ed8e9fa34715edb116f4240d1815f10704d652eb0e30b552b520647c4072b892cab2887953ef230b9826189b9c76eea1147ce8aeedaaf9e165e663fa5317b064ff3931c7b6a651190fdb87af05035101e61af60121e73a3a9b12e288f1c60f0275ff980ec6f8aa155aa188401b295011ac20c25c3f2e634df5f60819829820ffda223d645e63a710d6b742b195ae81dbc725c4319ed97e76c0f2e1fc749424bc6e9402df8ad93d177e5a57a965c2d0e269667a09a4f40c181f43895943c0543e28f6d50a7fd01cdc23568dc01a1c1f42874162b9c53f4f717a6aa11c7fb164afc759b4a51e181eccab7cb2f8a78ef0be11f3cb0aed98cc12e74ca3b04a30099a7ab6a3a9de3ec929ced60a16da06074b4e0e9577f1b3382b2e9b1b2f46b153640325052df90d39bd00dff2eb3fc954948010eab8c3fcca11934eabb731a91d685f5a169e2a595ead86cc085bf4ff3b6c3ca03fd3477988fd505c3523126febd9dab752de8783045f676e44bdf3d6e864c3e254144fef2434c24be42b239abad2af432d9338241de1346e39415e7d926a30e44b803318049837cf97b4f7f2a0472cb345a12209ccd4166ea6c01e8d89bdc740f1c05ff7b307a5a034b12e8ad3a09706c5ab79afb55d2f5f3fd51e25b48547aa7c91ea3beb8a077499765d51149a51b97614b295a34150cd3f1976e9e8e03d469ad4db43f7b75b4d82445cc6b1d57e43d9033edc660b81009ecf523785439450113d426f0cb2f1b53ebfccefd790d32ca240562cc3532705d8c8be488a4e32cea4ded742735887cc3cca3bc10ad47ccddaaddd82206f2021b1f458d546d4e7b9a3e41f5d0f686cee1161db0684526f846a4e9f036a8dc83d9e347b543889194bd2247638a890cab9cd526a5afa000acc675dec94a0a1a92063caf36f06d3833b24079180d7d69a9b4b1f28af278bae29e8f204934a715dd39fb7621e98a311999e9a9fc65c2db14c9449ccb92bc22f29b012aaabf20f07028e2cb66b205a232f0dc3e105beedeed26f768b3d36815a2d804048a8d0055c307ce39e81b32d58f6e0133568fe349441ad8cd92ebe832389d97cc69900fd7759ec0bd179db5887978a951cf8a35b740adc06f21a6bdfbda40a7f33c4f1016ecf9fee5e580590f4385525af0b2a7117dfe9d9aa24fce317355932b98233f7dc28c40ab51633ddb67940694ad1ee50ce11efe6b66c582727dfcc6769c668435f39c869cd50fb03ea21b93671e028334cc0165bbee90cb355e1a8be6c05922ed3cbb2ca779c3c8c15499b82547279f23c8d322a57c4316e4a4569d30f01da7c3077d31298a08b87c03250a296f72e0ac32e6ef71f5959969a476cf0a73740d459211467bd8f6a529fab1520d101483f40b329d92e2dc4965222ad20bf2901ae90c067174200d5faaf807dc0b77490ad75dd021551fabb60a19dabb350b124a8593b5e112d2bd3643d9f66f7ba79057b9dacef09d291c56bd8460e70f0ed9407074951a8034ca3313aaf47e862ffa5e00a71098f624b1affd547d63efa4532102da816e419a7b63d2e96d2a36813a372a2105536e19a20054bbc77da5fea0710b709ee2242909a2aa73b35965b2110c5bc2b419e203c9c95c6422cbbc87c47c26e14ea96d5a0af10db561ec03fdc4b991ca64dec331c66340198ad8305c6af045b194f0c14f8578e01690139bf3d6be5723c883df55e7a035d6080a3268cc8bcfd344184eda8dd0501468ae5d750eb5ac74b7e8320807be1fb8367891a2ac79606c3a4b13526c28d8a514625020ab336c2854422de77d9b6b446c81c3f0b538e686ddd0a2a595eeeb85ae8c43ef1e12623f170f4b6ab9073c427515b18375ab1ce1c96b82556f8a5e55c73a70539f94ea8b9e15431e9c00deac2cfb7944430bd3759839478046cd9ad1e38ab4da9d13875f4aca60f3edc679c6006e93af53c38bc125796cd93faf88084c7d18ee6cb7f6027547005978d0190915ec6cc783c6613b3d9435555a02fcc72cbc478e7838db10bb66acb810934571f1ec29fa20c9e0a9d29602957dd94c97adf0ea21b501bf74652b8a2b4b60a542e687223567e7ce10f444dfd291cd9b2eb4f4f600357a4005bb9ff94441e9d38cc5ce727ffd3853f5e32b583ade2de54ccc848284ac4e018d09cbc4c1e8d95cbc7fbb74831508a61d54a27191add2d5b560d3486efe134abab9711ef5c1981f513040c188c47b6485bd93ba39906aa6ab7737b8f2004561cf9656a2f4495bff69b7a833e4303f64dc286426faa108e34bf0e52362baa5023f943f73ec9864aee246478148b81414eeca549519e8509bb0e6c7587b8536d8ed2293e697e563413601b10ae4a12dd7959a82e97e5cba64e225114be1f7882c25841014457eedad0901dd0a81d8b0205a06e33a5d8fbcc6ca79177457a9a989b7aa6d126fe9a4f72aaad1c297a9c698c78830152b34819594b2b98a1f20c3ba58411005767ca022f1599e17d33b72e4748f554a584b0e375a2f2ae07847b6c26155b6362cf3576bc268ed491c3c459aeeb4f194f0cfb616792ef700d8d948dff779bc13e045331b13396fb3f3495d02142f62c8285f824fdd8acdfc9c46698c78d547c73cec89c44a60a728150fb9784f09ee293e5917a63cee0e685857262e566200728747de155124de35aa7cfa5c67132d29cf997d3a737da6e70c0c21b29813495e24674d218b8eb47b35978e12a28433e5c7780a6a70e92b53d2f549cc67579d6765b9c8bdfc4d708612a6fcd414662590443813d58a464a57ab4f657ce274f2e7cc9c1d0ada1dbda2974486a741ae66128f3ac6d6bb2db0be7e9849f143d9efd59eb81a71bd2a872d2815e15cf993efe33ed95e928334f502dde8a982a0e5fa803c69678d13bd5ee7e63bd5b563197d9fa91430c719d3bd4de2632d1a6fbdab5d431a5d871394e4594ec8b155582f696761bce1ea4f4d5a90e81ba342fbad5c6675ab85534b2d348961969820ff887cf811edcfada1eff40a2849bd1996be1ff06318f047626753a31da87d5bd1913d4343516ebde088ccc4e943048f8220bad04f6feaa99f26918e9353a8566a5eaeb6563c5ce52e209bb991a47196b0fb01ad21d16dd98b0dbc860b1b9dc041a61da43211fd7ca377ec3b7d6c7c7bf72701d28f47062a02b5d85ade05716711305869cc1b0a8da9c89610edc34c8a8ef6bb2d55ab6455e5acc36fb426baa99fb02520830430c70bdf1c4c72ee653e8c63ee8af055b68853ee463435f9ad8b3cb7cb9ebc233a16288f0e018c2032fec8d104273d9a6dec8686a23c7bc08fae018666aa52b3d5b9a5e4329a683fe904d2ed4298063e1561f5343665456279dbe21adc82e1ef9d4d5b9b28219b279155a05ea592a2b9357948b71c96f45fa8d46a1d8e5b350c3709ebe9e5ecdcdb27747395f774fb71de531feb582b57601c23bb6ae3b6ab0e16728d72978fe681863542c187e027a30356e5d9de7bf3e603e5e985e6d55d1e274acfa85e567013e3321c45378f70b7a64e9b688ff026a847909df2b3e513f81590fd685ff55c48008d082b89c6228a5ae5dae8418305d5166737102ec2323344534a38c4ab7448a5fe9b9ee567ff40dffb9d6f44973a375d583c89c791ab6c6112c587a18a4ed3ae510de9414475e7fc3c9e3e6acf77b8b6fe1c2b32472b51e7da86da1d3d0b81d0681c7ac0c6e445d2ed4c7536a631efb3d6a558832e96350d2468d2092cd9a4458604a93f7dfc61de3a5d348bbe27b6f745889156dbe7dc158e13f199775a711efc9a2ebdf1a29005d807c9c9d9a2c649bbdcdf87496bca22d922d3f21c0a5f091caa04509f5e5bcd1094f837c3d13111250f27d8f57ba6ab92192b4e6bf095d2b0f2298154c30c50e25b09a50d33eabdea601dcc363717640d759e446f86227f3c4c49b08a507f87a43688ac1af7f3147cc1071d0ac0643a4559a584a955b7328e6193472c50a9c62d25d58cb059d55e8c782c549b5a2d920ca9870d3a5d3fe500e198141d18155abbbb1cfee0100b146093c8294c3a8a88fd7dc18b10d978f6939690716a4a5793122f72066e662660276aa659a5fdb292c8bb82bee392bd49fe5e21455451e613f68452d77da583e6369352d8fb5d956f07f29fbe8f6f397a9d4b450918e33bbbc17f47a9c7ec7c573982dda73e9756b82eeba85227263ac652d92d95dd5a5df6199455ebda099313f223ef712d544544fc9532da10d006104ab6d9c457059399cc125a0577cc342d5826032bde14c3b612f56ccfd49947a1f5fdd274f4585183088c7b19e262bff0e04f49e9dbc2d46477538bb1c06ce249d45bce73d33c110efcb40bc402e1239150bb8f515d4c94d53eed171d4e43a4fc8d4235fac8897f055aa0b89d8d789c7772c8efdb0ad77d0517c90b3eb5e71fccdc98f8b471bdadc8d2ac439d4c966ef0a06b40cbc621064f8582726e49f1a853fda5a1c5ceed84ed981797485a5d84a7a62452ef8d8cfeea9dcced49a6b3d18c9dee8aed321232b7b18a7378ec741893d6d219d7b212bb21f487192ac71bfd4672f839d5fbfba8deb8aaafa2ebb53c28c522c960c5abdafcba0c09b6b81e4ea77c61b703eb56d0648e96d35f667f30c74ec1a155c6680fd32afe46b1afd7452e9b51f4241444ac5d573d6a170f4dca4c7023a24146e522a18981aa726efbb9e7504824d30869864774a6f982532336eed29bdf4b1ad703edf28cec914cbff2e298347907de1e99c3acbaba46f760f8be848f32f79a67cbc8c266eb15a9eb7bc9fd686f6034044a40d947bd16f4a87e0ba4c984f5d20a7af9adb337da77febded73c62eb255e96ec88d61426b201a8260af2b5b3949f512d16f202043094208abc3c49e8e166f1b1bf2efdf25089b92ce172e3721fa3364bce57426562e65c268a9df728ab90851775619a1e78651f3d021fba3366398224093dd99b6e2bd8d9f86ce26749a84795c0ad4dcc05688522341cad54b283967d81080270c8df79b9f669913413489fe84b2a0995ab4e02dff6e5a2316bd50ac15b48f0944fb7eddaf53874bf7bb5d405366a1d745cfeea0b340d09025c02205a1bfbdebc435cc97cd3913db2f00ae0977b3e0f32cd94a767712c40d053106fbb4fda03a1709932ecce1057265b39bc2ee9bb73b0704b44a4be39db40d3d3cf3d1a5c14aea646eeaceeddfd04b507a711ac2da9b119f72efa59d27dc945818bd7f4f3658884e3df1fd71331868717a73dcfc9b750ec340257fc78e0cd98e35a1d630e18c9f3a229f5997112a1bdbd12d6a34c1d872bb98d08d49a31cd972017b07842ed2a1847c5c1a6e63c9a0e97317bcea421ea4b140115e86240aeffec22105e8a11f1b883db3c7dbaad73cd406bcb09d696d1c54e631daa11db048100b48e3a5002b9a5edffd829ead15321017e02e06c2fc5ac0a3c3ad2ca4a606d1d7bb430519d51e6d185522d2fc824b807cc726a62e4164c494928185a747013bc7ef774d61f11a441895d6407a9c5eb0a5a8a716430a75cecbfbe22bda8bdebf2e248496353ee76a32740a54b1ff59a6b59cc951da1ad8e5c3f7bcedfb2c3dcf5b30948ddf3236ea332194539c876df8abc3174d9b9a4b6448a6e4733056a3a36d32a44de7722a17e847f7f160ff3322c3a6dd73b960a9e6f346fcc0e2852b13945f7c44054d48e25fbe9cd25448c438efd9723f1d5862eeeb81e90ccae41081a2749422e77b319160c2ab1f24dec0f5d47d31cc972d2f005c6764f4cdb92e0202fa7e93b27574b90659c9c684a4a639e062a37adab305f3bdea218e42c85f666e4ceb45d35f7a2e20b9ec2ee165d58c2e14d808c62097915e0b837bb8f78a21dd059e89ee3e32c9de3ee18825426461e5876f87d6de3b0e142661d3717de6a525e7cb3def7d8bbfaa1eed30e77076d4e7c17304a2a593493f2da2d7cc9beab975d0467ef8ca0c0f31bc68a307c21dd1cad3843ec44d00cee2834d337911a18d2f69ed08ef9bdd15eec244c3ceee7dc6a7c94b67ffd9adead1099e58c98747a062d71bdf314bc95208f073e199de9c45ae346ee103215b389d3df58d6fed04f2105c67945ccd318e2d9cf9ca321ec05a73a9809ec502bee688fe6277ed40921bb473cb98c71027260bff0e4e6fa428ce9418d21a6c461166940fd2bd3bcec82b96ed30ed06b13be6764d1959df6a20feb3f29232581939cd3bdb8d2b004679062b44ad9665426d6b44b4a3256cfa51926c6761e6d9a9b396bace4d06a8ed219eff300ad69daa3e04a9e307de999bbeb716282f78da0ec616a040a3656ee6ee194f69a34030f748146aedf03c876caa7ea4fcd73f596a612d8c8dea1546686cdda7f42442a8f0bdc8423cb1b46787906b2891b46e82792477a9bd8489a91f72a2be091e956aab98219891d0bb7fe4cff6598b343d8170b30d50356d6740092a8d54cd9d092f7217702cca72ebb33461d559cad03bb4ca6f2e8320103bb9d30300fbe4cbc8461132ad3a0de4092767db7c45e9b58b57802900f0f876c643e939163c18514534913fec603c3fb39ca1a4abb7c5739af59181676541c34238cdc7676c6058ea8fa2ba36921000000058d005b885b8bb93e1ee4ef53f5fc4cede2703909f109a06068e549b45f38f219b77aa38e20ade0b5a4f65c476f6fe6cc766a999fb115f638a4de5a6ebad3a90df8bba370a63054c3e7213a80f88d79791df0cc70dcc86fe58101d36314e6c4986763a7e466733c6c04b7dd2778a16bf51a4b727c325eb10bc16d65dc4ad4a8e9b9fc80dbb855df88e86baa9319e9304ad1de1e1dc6b6750d4ea50b383b2f7c8d73e5f06085b4a584e3c9d6f09387fbeb9e5f6617d4ef103bfdcaee2b527244dd2fb1b8e09d8a5d74a2f139bc88f6a7b002fc7f8de03e8858019cc87c53ea81886be8364fe81cee2aedd5b830aaec3a2c820ab7beccd1628e3ee4130944e6a514b38c37d4bc4ea79c0b3df49294e71314341279e17e6bae75a09d9690493de7aa19c1e2926ab7dc44eaebba671738769406e0d2040eb73f2f83c262aaa63f68ec3e50efe207becab33a9752d2514773457e92173499025ceb0632b022884ad93cf7e84b4687047029942dade49fd115917837300b68b018098041788cf0464a74b70e120205583b7a565e50d874bd2167777046ec9143faad2352dc5d574d4a2b261b4195f84466d08b4d1ba4d0a62f5891e512b499c834462fc8684ba0d2ea595f4fde8dd144f0b3156361915f360b2822a7e42d45df67315b5fed01ada6522e28947ae4811bfb20b8e5bf246f8eeb0ed5e790e5aafcc48cd56e64f2b0d6c80e0888570f53ebcea6bf70afe4689ec253213a03697a0502db0368869ad8e368bd304ca20516e0b5d4a2e6d46b8ef9354e7fcb96a2962557fd45026743b8596914d53fd03b8ab9a633a2233c0a4ba7d92996206f52c2b3017f796417c8c0aadbc9b63c6950198dbda27bb0d1767fed15cd06f32da7928399ed816dc786886def21981073c15402fcba73e1faca323fa0b768f20b28da580cb78da043de65d99a33b2ef63735fa314f07822ab4fb427e4e750ad3a5d58522502f21b14c62865ae9de8863d9ea18ecbfc0fa05ab9b20ba698d575efdda80b83475010e27ea0e0458b0182e15d16bf0e27e2fa5c1a64773ae56a22b60d0d48ea26789b4a44bdd28870d7e14ca5d473ae8bf0b0fa02db6835fa16bd28b80e6c4e9e64dc63bd9fc7eeba09ba0bf5b145949e4531828d05ac41547ec6775cf6d03351e4c80eeda2277ac0cf59da9f22c6f975328e2539d4ea2edaf36bc7a83289a1a709419817b3ca54e09d217963b30ed86cf616ee13ce0743ad1faf1593a2e6b4030bb18c21b86464fde35d52bb5dc64fe24a52c5396e9e3194a562ad8ce222a4a68f097c412ee023a0319fb552565c0646059d841afb59445ec9b890ebe8f3d41b99452777a52e515285ed44ecfb450839fff44a38ea90e50f7d622eb16f10b5076a76289483911cb474d3038728f2586a3702baa043683c5d54979bcb67bcb3013ad1139d94293db65e1b2e134fa375093d8f240c6aa64e507c38996bca398e4ef0561b40642caa72f83b67003224fca9e154db5e049285719fcf429916a37f55b5ebe30dad367474e8378fe9615fa31becd92c8213bde143c0df3f3df6cc5c23a5245438412f05931996394cf5eeff307ff960240c472c92bf85384988cbfe3946a726be07913e8bc8ecda79d20568d4498a47e69559a1bc9e3d324a6eabdd5801c267b0e58687f1fb00dafb9b77db6b2db4d1b9b0373f1c7bb4fa99e391f09b5dce6856c0b03505ead27c60b4b1a3cbd59d27478057bd906466e8833ce5ffd90e7adf67967170175470d8c2842862007d2ba410a01c4d9045d99142696c4353f520069e2d7e8ec72cb1bfffc50fc3321c02499a99ea5335efd6bf62f8270bd887426b725082ff75012f5495f891dabcc2748c65670ba5232dd41438907cdee5b60704f27907755ec61c653ead03d4aba9f6a2d529410c52d1107861ca1249467f88f6a4485d9f4097f5794fa88ae1424796d7062705fcf8484864766e5aa9600b058b2a114cdf0f0514b9e617391781f56f7d5284afa70cbc257ad1cc801b6241806c47433874d63a8888b3e977d6ef0783918dfd2c1d0907c3c7b28e3399fd953e01bf56394a5e07d961278d26dcab8b2180f350170de7a20b37f70c62d54bc664eea32540b04cc7663943b814f405a066ff312cd43d8a04437a9ce11f58bfdc92c17b05d2ca7e872cd6fa3c0e726188b1549d8e89bfaaaeeebfa0cef9bae38688ae98be2fb05d28009dc64cbb22ff7ea555ffc87436767d6396526014e2b99dbbcae4ea899a9d7032294e9b6cd341f77d7e19c6ce1f27eb3058f5428215e9af50a3e212f7a6dccd506e816c3ac43b9f39bde41e6b97e18d61fdeedb120e8a1247e6b92cbf4024d500b1d99d58757a243566836a33d47ad81ac37f916959bdfab42557ee961922fbaaa71e934e8f9630f143bdd4f9dc904dd036b22285e8513aa850fa277c8914710a01a5e507543b6c9083067a09547dfc7685dd75019d424923ead2eba86bde1d4da57dcfe9415d6d79851ce80796dbc808153e677c49c1895e779307ff83f5daf417ddd09ef9101223e1c9bb2806fecc1f0720b576c44a449bcd15ba4b088951a4ef9ec7d45a1637da7613216ae860792aed08524f2838f656f1bfe73977ce521e92b312199bb361fd7051dee1ab233da74119b21d518923bd6e59d5950b82112b00459fbc11b2f2e746f3a0844ee73e9c66d36c39d7a0e98139d3b08f5d8f3be91d1936689962812d7d00baf5b35acf90461d6da768566b543c5a8b657f3fd7a8e71a6ab936e005aa7d2a2f450652e83c8af138237364046ad5d93294e47ff82ce6e74bfc96d1d42cfefc88b0ce7abb68ffe965c841b338dc2312ea75d0f136457b85cd852d0dc16836647f1b49c0ea23da0d326226d5c982158c569f17d64b75b2d804934fc735e0884d495ae429285907ea83b64c9ba74be21d9df6c603c321593bfafc9bc5f66c5fc482ec0570972d056fc6ddf53f318f43520bcff78f6f6e39b579673c4156c4c652102e763686efabc87da24c2a329cb089340d85bd2b0f60caa3609481ae214a7e1780613c926a10dd536de78d7f25a33657305b069f5b27bd894d268af71f04c20a3b724fd88cfaec4116d0780a07a223fadf86a53c5367e8a63357e33ef3adc805401e665a680bfa6c4171278858d1f6652826d35b77fb5bd592deeccb2202b608bb3626fd8ceae2589f7bc03616cbd2c26a4b588b3e6cbd4eed39b8e0ec2ae7a80f757b33396edfa347f19606ef06a93cdb271602b38ecb26480013ea32e08790d2ba957ad819b5e7686a82a4c886937df99135a8e46e7141981f2bbac3f47f43aeb161d58ecd74796f55e68046f67d187c4efe8bd5bdce6c808389e869d9f3542e56813723a6128f4b7be3f25eb670ff8a96f226c418febd7e55e5a2597a76ece5ba14505ea4b6b59f2cf4a5bae74234a4f2302d744a1687023e70171e8f15cda1d3ff1c328d4b2c97283d498467ad0e343fa592cd5113821e01b60d74de0d468e0ec56afe1fc0a37598bb47ebdd622a4a80bfeafa12b931cd83b54d9e122a406e861e7d973399071073cec312d8291f1ce1e7072e698a94b4fdceddc799dc5c4d90db128c9ab629730ccd2e7771dda64f611691f67821edd93b34a84b3b0315e6afbee7b70f9c6f5249d93df70543354339ae37d758dde7a8e958dbf09c80c8da935df9564f96b5eb7af7fd4e849ec44ee2094e4b6339cae909a01babf2e615b7484d5445c3960ffba7adcfa940b8f3edef656cb66ee77b6c0e8eaf1596b420b84f7207ab91b9db1c42e70b13b731fde939ed2f13b5997e0cb6776d8c0a0e1ae6302e77894f42228fafc3dd1ac2999ad0d2a64dd5cf278536a2445395f7450574edde1f7776ef6c945995d84366c3f4ea1c99f7c1e1e24a439fe689fb09b8fa9e81c5e09a456b8518adf2e42d494c23778462e2eb6ee59f22d3fdf946441833d8cfbee91bca551a94ce6b81a41241b2aa569262589bb49a89e927c9680a6dcb49733af3e7c444986ec232f3694d2c9671440a95a2eca6f622d001915ea0ad6a6800163b5ca80ada544c56d14ccb445bf1aaea87e9d3d4756aa58061fd70964db57601ed8f1c49542df96cfe17bf7482d7df34b6b182645059f395da331e60ef9126407ec86de476c6cfaed5261792fb66cbc6d6eb564966bb4656bc7cf7124d8c4b5940ee318de7e1a64834161e054ecd677344c845edb3fbece322082fbc99ff37b54c6676e3346328bbe5822cf5ce2355e6e50d042fed1c8ce9ecd0b5ef32626bfbd4442c6819fb45797665a6df2cdbd576eb5604910f74667660fd929aac6b1f00fe146b92be4ce7ccfc6c379dfa663758197cfe758072f269af81587b071f63d2c1ea28f9fb962bccf01975652145eb8d5c3f25858dfd93ca6638824b37ad62a58eba274141f01a3805affd6cb00cd537eabec77f7bfaea9262529e0eaa8b008a8f16c08de1a257841b46ce3e6cb88e6b16b278783a6cba664cb06e810f1e3e61968326e6db61ccaefb65f5a07d4ac5818997bda3c3629edbdf33e71fbc5fb1b1d81a92ce41404eab866872b1c72dce0487f76feb70355e4798ff9b0a6fe587bdcf9c361b31e98f5bdb2c928fb89e3c14dbb4c0e272e570a962b80cf2898c89d764977851efeb6cec6f257957c5e96b3adfb1c0e64920823e2a9e1f822136d4e6218376455164a003055aa58f07e98fcb2a1d502f90ea6b0d9a3cdfe8290f986eff009ae35f92afd522340484ae29021dcb928d8063edafece81e07876944922ad5a1d1d24c3e8984434f59f22fbbf5898e009dc0010653447fd61b4b706bee9ce6ff2f5c7d2195ba1428e173a164eb5ed73f18a442a996fd911824f2099c9ec30d01fdcac43a204c40607223ffd832f5bf9498b9ecc6636b743bcfcc19525ee66e9ef6fd43b7c18426d16b8dc8ae9675db6b2931abd0bab608739497816af35f669e9573fb49ff770b622f9a5a95a3fd52b684506e4944877726eafda829f8a73a2abf15c9b51e2a46bb0225976ed7b2f2cd9a2bfac39f9eff7eed4ba49945741b5bd3a2e0055e07b0a5646493a704e43c119663bbff7a060f51098a5615379b3800d5bb6160da81823d0baa16fd0827c36fcb377ab879db6c868584634cf177b65e1eabbe26459f5286f559d3084f102fc401fc323e2506a21bcdce84804bcf14910c1e385b3ad8acb274f98b3a664f04a006801f78e5c4952c8e9f39f526cc07a7af0941b4ceefd6c81e6307d948e399f7360b48d6838faaa6a534eccee843ee9d3bbdf9ed76061f68e830239f044be360611675719413a7e3f002708225eebe49729404c7a10d566e358ec9ac94733e20a005318d271c14179e8c0346c68c5e6dbe1d841e327aef1a1bd838d58c5d013f76a3e3c293c073e8e408e150f8c0c18da66e2069522541f05b305a521d69ef77a4874924a1d9e3f90755fb01aa3b577945b894059656ddc828a6577991177ce2d31734837d4ece6e2d0154b7e5f5e8bc40f769b81274e0451d5b34f91e2a0341b89ebf0360c30bd46c912c5e0f5319d9c32fbbe5b9b73cb0ce415769d3f6c25ada4e2a27227e9b3c0a4c19edac7d8ebbdda286989275b8ce198c36c247892f3ded2b2d7d3c67ed7be37137c0bde3daa9792559a9c7f4060040fbc7facfc240b4145eede6db01fff34c94a658b689678a24ba1008ee57ac7e3ae0dfd3b19454af22c14effada89ddf5868cdaaf0fd8982cb93edeb628893964e2d8fe6c71e05b0fb3c5a5a93d8d51c5daa24c34c8058d69d2709d5b835649357130ff410eb5df86144eee1cb4d5c797aa813b8e787dc44fc850645a9526bb1d66ae53d9eb27937ce969e958491aab2c42b471208b0a9ba7dc3b3fcc7cfbbca0a9ad5f7e1d1a836c784be74f96d7af0264956acd86a233ac6330a91032cd6a859a0bf4a60a283dbfcb1d02db3197e5554762d12c444eaa4e90fce81389b2563133320c24f65555c05d4b3eec040285ebf632168370cb68e2c4fcf4fb675a8c1312fa192867a76696f9fb8aa2e5d2e1435f050bc2ba56662f837abb9e2349994bdb36b680292e9cb515a53169ea8939bff45319da53e9d97abb2985fd50647cf01ca2e652a36e04a17c5a4d8bd3462f434ebed057901dc24fb773dd6635ad874d4762f80251e73b2f7b81f9351a9a461d82a0088b9152e55fb3f492657b23aa03bdec1391b93b81588cf01cb81a553369c04e15d567ea703606a03ba38def6c6dc9a69f483120c7457749f3e7e5409354d6fef35111ec3394b3afca08b0540fd4628a8a865777fc09a01cfa15662e9e19993c6599d22265ab671a8b975d1896bb016b064720222d2e8f33a8882a703436891068817bdd5c4d76a6d6946927ca7d304ce077d6fbf8235c536dc98b508935fdf2a8c6ce880aa7aef9558b3bd88207bb992ffc2e288c27dfb7bbeda50c638201bb908e1ff03c70eb295e8582b42f94112995a9ecd7d0f9dceea432f783342ad6bb408546d0799abf279199b9e964709e649ce29f806a33275cd26c2574b65f9f2d2bc2b970477f71a7f7ac4d0e1a1d1aa1c0290060501d7d32165b519bd85057345e11266c65b08eb7d9298d7b11520a85c898232842fd616835b3e8575e24205145e0282fae2bbd3ed8734f682e53666d7ffebd07512df23b825f3dd5575ed7d4e0aa7e28535eb811ebc33f83b9ad75ae3f9f6ee466722f9c31717ac40ec51530db6fb9b8de778ef061ee13478c31313f2d3f951fc6852625a587a79b68c45f35d1ed7a55b443a4c9484ab83c5c6ce12ffe4cb04dca1a6c5cea2e3c870d3b5841462b37fc6086302507fdc6ed577d6f2c13f2a795d9bc50934daab02732f48d86ad6835f6c78af62e36d58af317e30c8732ad1f11c14f9c6df0ab78ef1abafc34bc83392abd3185d5edbda784007d128e0cf608fb343e1e8f621648ad56f80df96f5e2ae3a0a9e20e4a8d31897105827187b7bad3230e8b168680922faa7c8f7c565181bdf7478e23b73d5a44206489caa7a459d47ccc586d1dc2d3a0274cc4296e617a4b48e07d1431a347c413ad54ab5393cd3a6c9333e20220b7a953db04d1d6db6e5141d27637ad500ded5f0a2cf17667f18a9e0b64dac9c46fdca7bb7e2a88869c35fdb05f0973f62442fb1d72873e49a2db6fbfb881a7564882661b9b01038ee109ce3430ac0b5d8154cc89eff48dba35bb08aa9ca96b46ba4da64e60ddc527f261810cb0a3c5aa9daa080f3ef61736a9e26bea919d377a41ee1868d2fb7416684788b35bbf04b23d613f7ef327805f2d28c42961be80aa90ac83d384b04ad8578e7f2c26dbdd208765103b1a9a58c9370b6638acf914d50aa82057dbd8676e278617acb8dd433b555213d67c5278c1a896204025f061bf3776a2af405c677796a74b4093551505debed6d3e39bceea3eeb03bcbc8ef5626b54bd79fa91ad702d7eba7a1b5245bbdb67e1bf17ca6da82b12374fb79039fc45e868445b58aa1c1aec735a2081187e6a475170309af1550e9c6ec0fd612843a9ade277ea6d31701ccfb75a884d8f701a28d6a17ed89cf6d0b2626522a17fdad6e84dc10c4b1255e56e0c79e468958b2c369d0b7998cc4e415754e2ceee844bd80d5915817eb07ec621aa9a9f965ee7ab390a23cbf3a4102dfb40c88a45d3379c99984bfc6fb2e7cd969d5b36870971d1442aacec09d7dac1f85fc84227f81a03d1956ae9f82df62e9d3378d54faa1628c9e45eaa58b70b1b60697ebdfea03b3984aa2f3c75cf6a8ba3604db5493071bc90b82232e8b901372314e18dbfb73c667551cc7e167dc749f7197f54ee667132408b88d2582a02f5ce3e12242078d9e3887c7d3e8b7e892cddb498247980470498123a33eada123fa29b07c813cc84dc41f1169b264c1df1367d82a9bd86600d1e22a1bcf0bcb87a593653332589a26587ca08caffae8e617b16d078a94e4fe8eb26b8f0c8b3ca2ee86a26b52aae7d817997d982206dfcb1d551e909273ea7ecf440ba2069f26ac9633506f1bc8e817af26eaba85364258022036e1f06677427c743e3e141a59591e63b6ab027984ebb5c3b9466bfd9d81478bdd3952876d185114f226bc89993ebee472be5ed0dbaa3ccc4314b8d5090274699e9a560f3d591d803b00daf6b3c440f25dc26c0a298c78d291f9fae7cc1fe6867b3cfe36aabca5e83d8781606f05d2267aa32b6aaf6e245a28642acc91b80b54aae0b7c6e8868d003f217167e17350d9698081d37defdf173821438139c6e0e703571cd185070e15f8f05656172bf82a2ef067ff118936cb46249fbe9fbcdd7c5d9ac14cd5b1a4893efe65d3581d77c0940657ad6e23ddab762101db81e647cebb90596f51315593098062bcbe7daa02694d89f0e17c5133f1ec811df97292909d24aa6d66ad04b81104f7033548b432340d9ab1e5c763df03bc33b15c156b43971d74b292c60381ed54f2f9290070dbfbdfc14be8ffd4a7ef99df464b492f0034dd56794a72617e55694792a31a65afb44a195098f0bd120142596d089f4b5aa25ed9723240e672332751ac5d58892e9d8935e3b01aa8c0c0629660226b543c7ec5192a1a2422a8a3fa318a7b0b8946006c5dbd05faac231165377f1ac9c013c793461bef7e55a4897c3a0a85a09d75bd4ada1c9d03b3d3a34c668aa80cae5e07a5e16866f754e209f84b3269e437844b306f15be8eaf7eb18df0a0db5f401110a8a04a47638b4a4ef7b5c93a2d60575ea29be09dd34b72be2dd6f133873e792a2cb3ebf2406fc35362c3b7e96da1106df02159cbd3f9ddba8d2e913339eb3c2bcd13ce4bf8a3e65f1a684aa017e16148689317e89c2cdee6d74fcf9a2eb6bc7fa57b739345bbebe389ceb736437c434c7ccd093aaf3045dab5aa4c8fd0b5679909331d14bc59527e136266f8941b9551a750666127e76fc5c34d53bd53454f6c47fc33405f94c72647c1245973c97cf6b2f75f15b9ec91d9e3792ad6c514dc0e6831b77cc7f52e6245d554402903b853b3adcd6836b80491e9ce227043ada06b3ec94ace25f3f07a5e88941cac4380745ea3c04689a39f7e94c56ca6b0a8bca69dab6db90d789306a696ad06a0f79980ccf4e8b27c66f418f15cfc2bb89c453d8d246d816ee672c17e60aafce8a89a52ff117beb35e3f9309a3ba80a1ee37fedcd51370e3ed6b356df719dce49e9933b5e1ad0a6c89e6c6c3d90dd384534dbc601be4c860e6730193cb716e2f9c16fb15da5d8dd9f9609e566d264b25498b362239bdb25d40ac38d4921bd1f32dbe585a7c4684328bc55a2ed1562927e6ac3f70588b62181a9f412cf24e64b379e6a512fceecfa5e90a81f156510b9a273e593db5497963b239b75a68aa7bd8f7af84bbfc0dde6d4b888f1cc202bc2b007a5dceef136b9c1e89ccebed258bf502d3152291f9c9b83a4844c52a1c76394d9cd3c7cb9b1e885969575801fc466a657e0a6824058f7ea6b71446d740e18fd2918f87e05ce47e5dac42a9dce0826aa0221e3e5f221c556ac6e3f83b215836526f7ae694133ba18802529af49991228d2e27ce3b5d230f63a8823e3747ac0097d49fa69449551ddc51f5d361b545a6b2c6fedb5c5f58629d43df09872f7d353bca5af32d34e5272b0d7a319e2d81fa02193fb976bed6cb767487c5a67cb5592f32746ffdd08a6cbc2a89a4baec7bd357219f456e12f2a2d58e42fff0d924c657452b54cb9394da69bbb184b3fd812049aef7c76d02a6498e6ffaf8908e29f98c2d8f47ef640445b81a6f229ac6ec001b576ecc982d5a20ec39403d1df16250d4bb88442ce445cf113bf7453b051f326fbcd5ff522c6afbd6dcc380ca11c96c4d2b1d8483e37a6452751cd13a5f97bcbcbc59706ed06c5b7ee10031845948b265b7924b66f367c328defdd26824bec94cccb784b971d4d7ee7b9d9e21d2a35350b86f779192b1c0a2c97589a1ae60b00b4dfdc9b71433f8a2a32a9b8744de3a6e88f25c6962293151a147c1350f986cdb34ce533c345f123c493f0dea52a3a3ec0d874b2b4eb314aab58b809b3e23efc03f7fd425f06c340702a78dfdf571edc45bca6a0f1a7998bf10ebda3691a5eecea0d713240a72c4637aeab2a8239186a3f489b0f036df7385c9a2268d76f28c32efa873297b231a6761d3d4d05d1026b1cb14459cd64f682e39c9556f2c09a3ac73965f07d203dd9df6623a55ca9c2a8ea5ee963f2acfc3f6540a13f5fc26d4cd72974572c43b93ff998632e8952340b13f9c8e540c05ddd1e312f26d2302aa6ddcc5e61634dedb60ded92213bc87c64fd3d80b6a067768566432017e62ce5a468c9a0ee63ded2d67bfc0997251e4e4e680c1ec5ca88ce48d1fea3d77d60f5777162b21b5afeee2475416a54cf0400085b94e55426702cddabe4c8aa4c456ca677566b990f2d92255ee0808fa477a2367e4b8ceb313f5f23ec52acf5e96e449a7313b9a026215544a9b04ecb3392e479b9bafae2b99b03159997c7d7e957fe6ec4ac5e4ba57338a056b8f454f1bccfad3c75199f817d33a9524897da82558484539ba9ecc5bcd5cd9f51fd74ac110e11ff722dcd0130d2793325a31d13d9836eaa3b963ade4c12eae88e3b97a34013f47a0c992927581bcfa75abb07f8ce2ace00d12be82eab2dd81348829feb0642ad6db8967bf0436f24a11b0d6a783fe98ec662c2885d975713d6e83142ccb0bd24b8684dbe2a1ad4bacba79dd6253d01482114c223a32123bdc202f4a579583d23f0adb086651f35f50c3463b3622add5b974077095ca0a72c71dbf0492fd62d2287b8dde28451bd05ec51890fac3ce95923ce246403ff304159acdd6fd51bf243b74e7e7dfb2bee4bc36214d100d8ba742bc8f7c24775804bfb58b1b9bae01438aac726ef17e9544ea2c3194d78bc71a72b4e17094ab4f8e86ee178a8819ce939e9fce91bfc56ec25fcc5139d0afe1ea767492a485bc46442931687461f5a7ae257cb1fc01ab3985bc48c950d68746e2607621dddfbfa83c529df08e2257a90f1d1b1e2c941f7fe60223b3c4b2aa5474eb50372f7b6dce5603eba8339841caf85f6a6c92e87d3fe0e5fcce2bad969f330e4209a55af5dfe01e82ed7b943cf862d05ab738b439f2f2016e6c883ce0cda4e59b51c40927be8a3154795cfcd465fc16a172aab47887d03f4d6f4cb7366508ab432e9e40da4f41b7dbb03691387b26fa9afde77cdf0e5a0390c34c4c529d526a0c668fcfd2aedb2bc0db007292f98d36bdfbced46a48f130b6038cccc3371a32584bf5d23ae6405ea5092d4f34ce0b09253bfcf29c4f99d900a696b0ea2511ccc969c08c1abadf3116ed8ff2b0b932bb3e3eeaed358f177c8742b93e4d91be7e5ba68ebec1f150bc4b18b52b2db0d88116c416aac1c43fd234f577f782db0bc456cdf0b79b6e3d53b634221cf30e2f95e0c740e141409c550fd665b6d15546a0f661645b518a9e8a3ba20562ee4c85fb37197ff99531d944818777dd80ff0284c73db8e78c202b565813fa64d5223f9f76ced273612de9ece4b5353f2c10d4cb8b25004e94ca59da573b23f0cd3cb334c56315c82604474f8fc6d884ca8de9598d1cdb183ed22c1df94e44f1508e09137314c495e447871c2c0591109700aea3c450c3cd830851e6c9672634ab80f2f6a298651c847c74cf5c9bb7bed5c64290fc9a720c55188886271bf7f4a9a6eb541ccdfd0c0f86c6c9de0731cce191d9b200ae3765570cca0bcd713819b913d96e8c4145967cbfa63c676b8d76b6c8df04da7d51c4b33fdbf59b63493c229f6236bc2601f7c7b242dc2fecfbbea1c31db1a4acfcb52df12d3bb22f29e4179d45ecfbdea09f284f125dad8b046075053b0bbeb3d3a15a6179c604424ec3421ac4d0e73855640f534c407773d2eb2526e5977478d1ec5d7af949b4c27407b79538dfd0e6ad65eb72f5579ef2f7687637b390b519bdd40b0d9ce5cb2b94ecd6a2b20ecd25d42bcc37dd5b21c29d4584059c56de4f92048c83cb375120772c688257e70eb90aea7e2c8238ad11e49b4ad4ae823b25438ced5554e5fc6075cc454d84fa49d97692870f7302e263b86dd22c1c6d5919e1abd263545cb30dc2c4bf6f8c1d9ffa90fb63b610b25a41b9c3c5652ce657163466df0963a726d61bfe47a3e6ceefd40f938bc95fa1ef88d9333eb75d584037483bee384fd3c5ef6276ef096628df37e3dfef048ae24ad6181f57596f940fe558c64c2a8d6d8443c01f9d2cc658efa39d5fb26bb215397ef1390d73d72409b96fa3c15a8cc6ad0ba5f60fa1da14b3fc3ee755073e8444d4d184e0209b0afffa23678c418dbc54f538c5e568525e17e8161d2d18503fbba856a0aac0b2f485aefa8f1f16734307b184337f378e2d43981278d89fafb5acbfebdb0c948d9857f70338999d982a7169e5e2251ccbe283c41533c7b3bf0c4254abe9da0f0b37415c150731111911b28307747db00079920cf8b06df42dc6a6112253dd69534c2c3ed36c15f4fdcc90107ba3f88b81bf9207f9953d5e97d61801eda12801c95d4faec3dca3e2273d8553adbcb40bb59beeaa3f6980628b67d097f1137435595e96440428f90d2b918e44143e9f327debe0fff043df9e2a4273e4d7395e4f551d415a85cf2911d6c2eb868f01c5ba512720808521713c8f5ab7fddeabb6c21c10d927d66b7b84df804243f1a4242050b3db80911150ebaf42c5eb2411b2b0a14b56a29b0e85e512e2aa8712e997504a20ad871abec73421068280b7ace80786203942a6875b938a80e6ffe7baa015fea8e15729c325e1620370313246044cfeb29b4647cf26e53519c6d44072747244674c333ae7f91ad0fd52c00d57d07ec1c3ddeafa7153cee40ac92bbcfd2afb717f7cd08fe733588c1f0f33cfdb74a91aad2001b0be7000d9d28976ff645ccb7bbb508d2492463cf3c2c2bd512767e67ea3d4b13914dd3323efb2e2b7e3733e621b4c4ecc9184ac067f5ab267e48919bf1dc6af59e40e647b7ff47446bf198d507479d883d885514e84b9e09933be8c08269d743a0b2c6d77da1533aaab7524db7e17fa936bc292fdfef1906e2e79f7b50079a07ab043707c57d4613b8a72a2984e55b70b43d1038104a4352ecc8e70df425466a57b7778837157cb14a45213dbc451a9c9ab5a5fee00a244472e97beeb3eb78fe44c8bca4c641d92817c1ba8b431681b5c8803c3a527ee184c71d059059438c5ed8039180ea1c06a9fdd233b1110896d1ef69db81df9b2c014554e8b5c4fbf0a39e9084efaa73aeab7d1c895c01f4c87461bfd282b521aae5f63ac94f9c795235ba5fd9614da41ee032d058e00d9f68dae384e428a4a580bf5bdd33d2097f093ada99a311ab018c350a1cc5f620652bed7aebcd0506b23fc342d04bfa44c4b251c4209f749b77f2ddda490039720741eee26bf881241b092afe97a59d8dfe383ed7296cd00614a4dfea494c66cbd3587aae487dfc6b1357469f32ba47d01b68a6e7e2087f312d6d310251d2b0fd1861caa3c2d74e62e2f491e42a28f71a45cedebaf2d14c1d7edd2f78782dc0c8b69bd38d74cc44df964511cf932491e68f56320a47bcd38ffabb4923b744c8414ee74d82288bf18c2004040855a0f680057a4fee5c866d6f72a68e4a6a7d3de76947c918d8dc79b9a6ddc2da8bf425a567137f1444fb61d668a067a086f4f01992da4966b7baa0eb311b1e95e53e58b4ce33a644587e2d4b392bf962f3b9127131515e9e1c841e9d72660b8a6cca902354c4b9f82759fb4b0f87283b074807004850b0598724f838226f0d3411c25f63a928dfea246d79ac759a1b63839d994f8f3f72af426d7ef334a0b8e4cc85283befa8879cd72f524db539b537046bb0bede241b842bca2648ad57743502e4b368de48366868e3f7e32b1d4362cb946b8f41154cd91507af4facf1e1b9e4160e2db9e90212209c6d8510b4bc663714424bbadb5d2b315f8be3843a6d5b8ceaa85ca021dcfd1fe0e57d4c36d569e9f30f09d28483326c488f1193ce9bd679f0ec20093f24255f2b2f3126a4310dbf01200a4fa81c2cdeabcfe49f33be9370508a8cfb795d66eea8dc79f111734a15dbbdc0deb42b11e1575d3bac4533fffcbe15ad7afa3d3b3785c731e3da460a583741cd2e668f8b02b20a5b0332ba0ba71d88ed203e588d77d6b8523c3f599b8a5b83d9f922729466d5eb4c431204565c4f47557197a422aad1f82a6d274f41d9be936579c2b861b52feeba72d88132c9377fde2241704b0f32814014d62a3503e35f04bb7b6ecd81db2e64869a3eaf6592ddd817602fe3d8966f492d21fa07ec438f715fbdfa52de2fea2bf87521004f8f4839760e7a8521ab94624de1c69f7963ecd609300cbd02863d6ad72ad3e73a611715a2b668ab40b8a2728da5a6514759fbc76d66b2951ec37a60c134b38f889c312dabf1eb9134964296971409507c551b062e5c6f1078b1034ad3194c081974c9668c540d78fc7520ff0b515b83c9b8274e6bf3d88ed1c3086b73ed70f5d521eac903330988c3c7d7f5305a1317a12d1695fd72da392b01e9971c0033b281000733fd2bc80907785a417996cbe583e2ff0628096aa79a98cb669311f4bd195d1e5f8964d867c9b54ab87daaf074ead89d61cd9cff4ab1f47f304087e01370035ba1227e8fc94b529b67965759048de58648c91a65532d08841571d35a1620cf1f77d9d42f9bb7e237a24b1c572006d5797e6a92954e8f7c26d76cffb7d40bf881488b1979c7bba626efca57ca3b6e8e2bf9dd343bc6212a59f3ea1be918ea537910d4926630b594bde897bfbf08cdc69a27f0b55470a472bb8bf68bd536f7597ca1c2cef544149824f19a3cf040ffaa35872cce55d2315603bc510f0fd8ab3b9189d63e3c831804d4825d048a59b152166cc927a3d5d84a014a0d193e1104dd21be7f98434e509f0a7084ef7f41c9de21f582b9f25277ebd3e306e0cd197d896548efe3e49a839518ee868c3b39dce9ec268ec5411e26f27b6c6c45bc0fb534d1ea9574d07a4797c7d51147c12961d71c9e7063c198030fe940363553b11946793a258b3bc0cb1467ca95937bc3749792e3f4b8e14a31eaf1e775c1b299966cec4f6363d74edbeb9c1aba7fdcdec6372021979bafa5a257b011755ed61c220bc2d5034b93ba6ddd89695cfb298108066f93ba2e92ac256a723922bc140d98ca52bfbfa228b94ab4fe55d887ad93c1a876a3c76cc051434c5b3bf4e68e575b78c9888ca11c97f6de10d9cb898ab1a6ee4e519183bd5553e6a241b2eb3563dc2d3ce08e9310df1211bf7805afa690b6659031730692158c825141b7f9c2f52e59e5a7949f1feecd80bab54dfb014a75304a97f56226e5f7aba487ed95a9d4740a70231069e3332c76693fb7161a69780c42d8f45efd9a5f9d01b133f0f04d756a880e455cbfac7c16050f6e8699ee4250bbf486ed11cf49d68199b16ba56b001f87ab692b3555806128fcb7d53d5af3c56d7b6c83a0291bde21ded0409c75e0ab4224d932a5dc43c5a1f9931dcc6782032094a75bc50adc5e73bf8a8f9047657bcf9e8c4121a131f45bba75002df36012885d4915635d997db735da0e98d833acb07bed1b21814cf07652bbf21092b4fd2592d51a02fc24b94752d00b99ce3c45accba741078742f228ca650cce8e71ff4ae349996b909baa6720757d3b8b6346ebaae7e41ab8d8135e062d05c63e34d48826cde8b5a2440685ad1f0174a02297578bc67bf6fb73a58895617fe417180e33e237780144bdc4e9cbca23acf9d7df33124fdb86eec5bd974338e88871dee3054c8ee127d5a4406ffe1ce3d1935359272f1b87138b04849062687f8b54b24d316147db0695ce3f7eb766f936e49498c423120aa5c44042884722cbae7daa5289d0196b54c2d81b970b6aaa82c1e3828166613fc104838fca0537342fe6b6ed99f3dd12f73b79a8e9dbe7f2a755c37d48b8949abb4b97356e1b3954ddd2cdc6ccb45ebd43185e3b011e9ca10adc4f856ac845d64f634916522045a175e5de9e7be08603766b4682a10fd280abafd9136d0942e0bd418871c25e7dd7a7710c00ded2da0c19c54aaebd82aa0f1a17a207612f6b7118ad5b33a03ec798fdf7eaaebfb20c9a3600ef6f7722d24d2fce623b47fb12dc52b0189cff98887cacec9f51985b694125fc94bf29bb4bd1a903e1235cfb4ef7bfd1c2e46ad4e51291d3a974dff161f59dee724d20c72499fef079c30bde4f9394e755ebfa454613c8f017fd81101e2d5dae78bd86103f33453e8552c78ae776cb9c415e5ec3bf274cc4526f404eff4a12b65c6a0f8a9b168dfeda46301d0f7ab2324ade783b3e4247baa6943fd1170702d7a359008aa08dd7ce6b54f1896a9c2e278b36ed6a7d6992495d6383062d6e3fe41916b5d2692b7827bae9c75ecf8c4584d71e70251f4856f87804a1d5b1355282fc626c3cd94b6385eada17f2685bdf0089b7b663e712db02baac857678949815aea52083246b922b2dcd099b4c535d6109034cb13447ebe10a0bf679b3b39af7d12cd42c5659488b61f79f3508703db0f349a67d95177aea45410c10f1f5bc2c232a4f978e2d1f870e49c5cd19cedc01d459d70981c37c1b6599724f5db07594061b1c7d632d628e7481b949e969ab92e3dcd30d2459b492d64e0e3cd327d0dfb50d6d55c158726889ef6232f95d784cb331d1a7260da7e391ffd84bdf884d91d7cf428b8c3c17099331f78446657d92ddf25a24c33d0f5f7d36f0a462cf20d27b0c0112fac7086e220e889aace3a897cee18e66b5fdd6b25d669b99ab9b60dd8f29e73a8749b05978148d43fde468014b153a7f91bb6a8a1ad09b912f35e1a462399d320fcfd13f2f35dbf42bbd22025a0520bb7928472155028f7f0b4389ec15a5c9341985c4ae007e58185a9fd411e838a2f04071ff15cdab7c0b09d9c860b2ad8547eed8b804774926fbc9f03879fba091a857f36ad6836742452b7fa8c791115defee0a0b473d27976d180c9562fe5aec63dd89bca12ac4b93e040d16407bc04a1a38f9f5a18df439f9f8522e32161d76c0541e647cc6e14338c1a5e5806cc85d42ff3041310305d672c3a3f15b067a12ca8a5d2443d8c52109392341047152b073c4ff83ad05713820b34df8bcb78dafb1df16a46c21cfc941214d0f62b8ad317aaefd0bf366d562b8da86073209cd84ffbf0fd3dcaa5859bbd71ad9b2bbd8544077e40e7abc96549696d49e283cf0ca72d22dd49063f941a33741a298ea9cf7571b19e23e342b7d2e4c826c1db6c42d738a59abb90ed92afcc8e099c4e4361fdc2db6522dc2fcf64fc78543352a10104d027254b987bdafe14a0e92ccaf110076f1e8670e64f6ecd06cdb34220306c8aea296d769da453f17dfbf0882e3c20db3bf8b7a9cf40dbcbcdd921084a263bf226fafeaa975859e88f68b346da160160f08128702b719717870e77774ebff3cd167f910ba47892141162e52dea153fa3636bb8b0a58e143320ff2206e58b51371bdd755c1662f60959ed32b642cd732b571b1651c0593a3d19afca296e8078d75a3a4b76134e2615ecb53fa5fef050100a8ea92cd31241a493c122344ab027b6948c2a41cc1989343df53505c5332dec04ae8508cb0b4751a0a1de586fb85231d4c136edcc49ac7f938005ce8572b7f968e02406b515e066528669c5c351725951d77e98ec881e5d9b3ee344ee53a1f3b8b056a3f1c1befbca1bd9cb24069dde768193751d87cfab9b3f1ea4597b97d562676fa69d1e00877679a14a4161e6cdd234ae463c2d1a5ea3ec67c50e4ac475967c59d701f1191403e7afe63dfb48b25bcce1ae8bc69aa8c324fd70a527fe8a12b4c4b1f7566758545c2c13c7e0043a2e2896e584eac40326463e5d08981bbe050f6ee3df84093c99c52e9a41fcc317d73c47da6cb32cfde9d6592ad489e73494b14904e37b9f4ce78c12e7dd9a881c7346ffd273ccef1cfe70fdd300396108e82ee714861e4a9e7f8b79d0079becb7a8284058a61747cc90f5ed03d05f7e1b29693f21bb2dae3cf60de755d15fa9aaac0ff10721790c5a67bf0f92392cb590cb0973a9b2f283ce7471e19db38b7f15d5524815530f10f0a1c94c58374aca25561731ad854a9dfc5cdcebceb524c06f89b18a4ceec53a151b0577e1365fd534c57ff7a433b4b9a9bb38cc11cadac5abfa57940399593705fc619e13c41953237bfc493773c06f35fbd93cb421749804679337e910d7107678a64b8fcc969c5f1edb3ce61e25804be0ed69c065f4b8626817af4f3815fd1a0a2877deea332350109c03cd2a70437be9c3b47048cd74e87344ca2ba6f57e413a936cee4310dd9d6196a80017347ec13a123c3b9b58123d2dab60477f3fbc6bf0915625fdc9e30b03433c887b4e4fda5aaa31cfe030081459357d05a40ca82dc574cf500adb12c613341d1e87eff121fc79f572041b0a0dc39ab5fbecc2cfde399cbff1c7b5f303ac5f7ab4a5ab250a4183b430cebdebd8f44ffe2dc7e68549288b5d57ff08ba227af36a5f44ac2249df078e35e33db27cb6f812ff255738269e99e775d225bdb7578dd1535e8effb218d4273ec631032806e5a8016a22d9cdeaefa39001f8018f4144950d4525c00451f220c80d66e6792b43789793a73ddfc375b87cb874ec6d9bae369bd024665b1fc2e7e9d413a01d3b8518f418b6b300b1893435bb60afe546998b8734787ee08994cdc4ebcb13e647edb530103fed16c3c5125b8002c0dc5c60b639fb9e35c1259c6af9e6309e622dafab61479c5762bc5bcb2d679e67a56d24e3a18bfc25d81ff6c1bd01637e9586ab3805de588a17c38ab4f8e56737861fe18d3589de1d6923c4c639c676dd44f73af2a979770ace2b4a5e2aed1d7846a24513b54f78bdab01c80f3b7cb0249e565f1290caed25f3c948f12c3386c02ffdb6bb700b6b9baa4a89bd02b5fe7e6e83188f88c6e3b970c92ce8f4ab011ba2d24ed6f1a139b73496136d0a26773b55bfaa60eaf640d35659855e80bfefe0147bb32322e02c1c6a32cb89f2e348b25c5da64b05decacca54c32f01f644c23a841fb2a577c1480f5eda7ce94a9e605375636a4eb03290b588f37bc2c55e23b24119bc401486404838ef01d7b49eb072f04a473bc74c92a9f28575b4b5bbad84479242359c78025be555c7c8dca6caf58984b8ee5cd0f0d217cd1d2327f0a1e6941a29dadabe98c98780f38b291b70a741f3f706a6abdf49483c08f57f815efab800b1d2c37c8a8004d6ccd60f8380e15de787d25d2e4bd0944407375b6e4d0bb3f1337730f69f3dc0f78770d06f4f32f8d22bda0d3f94f7db57d91f52ca0bed3337c469911ed82814bfd5c8b3e7f4a25ef1684c21a3f34306c22bb17044e9173d74666832c1070c9f0cc30de91541ca5bf07a6b6c236b3534587c7406c8235d1ad130297edb6446315328c265514d9759927bdf6666b338d5963f6261ac98a903f7e0a242664a7e639e4adbf213209e69505843577ac45bc05e932537cf34c17613d6e898c1e53fb2cc72a05b5c22a1da14e65e55eb049bd88dac1eb2b9ce813baf93357fbd9f7fd484707359fcaf5eac8a294f11545a1accd067350819f039ec4544750f3a3b7f328f573e28701c5fd003f8068829f36ea1e0c8661613af95cda1d635dc183224aaf5abe03b32779df96482b1fbffe3ef8129e41e37edbbc6c5978473c3fce6dba62517db9f0c863ee26be7d21b3d0fea66468fd5ab7f43f8baec13b1556d9a6efa127f7b3d897c8f5ae7e401994bfce3d9ccd21d2c1a2f0249c82c36ca3f51508190a2c7f9a1062d73568408aaeb96badb9e582398f4ea9ce8c14b25385c7c66c26fafb5ca04cea8866e605293e60c9749584b97b4389d321c344207e47df86e2080269620383ebc9404859541a45c3e65c70ab776769bc84d29e015767445fb94111ca35a62b99e3dd403c84b15494a9e65c99fe21be194ecc86889eda65d377a5cd7611178f71ab410499c19b88bdac6dd24f80ba494cb089909b94859ea993fae026995e82a235add175d72bd036a9a0c6768702bb7e81b32a8d11fe430b574090623ba9364ee2a7e4ea25cb336c6e1c2ad757c5d3ace47a3dacbff6f1322a836c7b61e2456e09543e1eb6d16f6f66753e7d3e6c593a72c9f9b50bf3a3d5a2dc0026aab41a74251d464b316039d76b5051ec82fee0496667da174cdfb5f6e9e0a335d23ec15f334558b26f765181ac643b6b0262cfd1e4e769911f3870684718ae56825245d84190c6f394f8c062f7bf1e475830f760a498055ae82f41e5c0ade3c09e0880b0071e8633c822b84f8948425ffe4889a7e2918490d495bb2c1545c122335012d01865ef1353b0c63997c8c95a59301c329522917d416fc8ce6810d90bb99d78262a1d89d30c94d9763b3eda572449d5af2e6b7e1aa46376faf90d7577013f19342d70b3daab868b0854866890faa9d0f8dbf988ef0c0e754f20e7cbd5734c7a4f40039f7c8bc74e4407c319c513dbc6a0755cd77b5cea91d2df003cf9a7b82341daade21de7b7126700f3779eb66ce2883c8e26ca3727a3ec0b0a16dea38f8cd7b0ef1b0be6e74a7fc1973b52da446e3c54466311808e77ada06ef2b067a32d08ecd37aa593719da87c5f8440929f441726007f85bae1d2e16798f16d74ca7a94ee8ed970a8efaf174722b0ceb3e7d526e88269fb48b3114ac4b6c516de79e22796cf480583b5745a5826a24a5e546b807a847d8120e5c65933f781f856799eb1c98a0a01d350f99b127959cf04b4deba6c3357c8c092b5f025d470d582608b1566c57d2e7868235c7df2ad54be28ce9b5d337e05d1db22469b50e6af7244756d001e8c68e19832e88b6aeeaefd269146eb29402f672b9bb63cb4af9ad9ed68664b0813e7a6e7b14c59a7f6d28d8032aebb6e68b3d8d6bc759170b739f29ba5c7db25f6900a43844a47affa77c6566e4331c389a12e5e42c82bb59cf57e7c31e747225f79466be58c8a91147fddaa6141133c59f434898686309d4bdfd7e69e28ab3aa98ffe9dcb419b8178952491284f4e377512f95813c790decbabc88fcf72bb2f1a5b14525423c5f77bb47386d7784f9cd541115c441b75b4a0492467e894079ee3eaeba9684662c4576c04d3ec09d3d2a85cab1e61987d65c187d59672b6f9c6b9dd8ee2fbba8694ac0a03a22b8f0bfa06106e0931f295850ad135e39832841922d0dfbdd1c81c95dd1fca4dd069d1a841755b902cafb4249403bc24e713923375738d1210fe4801731786ebd9fd8bedcda8919332f9c8c0e7e7ca385ca9e8ebfe93b4436b9931829beb9d9caa8edfcfd6fc40dd75e95683538ee46f946366b6e84ce37f7d0ff8cae205d6a4f381f6e28fd86efd517c0ceaa0ddfb38b9a9f42128f9a551b42883440dc32b3dc728db26d92d3fe9f47ec21612563761b194f6c40c0ac64eb84516fed2528dc4f421c041b79322ea06005320a8f03c0f10382e23d35644915848bb9583df2eab8481c8ee19162b67bbc5bf219343a7d363d97661b14fb4b26251f918b9090154d185abeca3d80f889143317849f929499a1e5327eeb3660fc45e34829451f866271510ad710a005bf441a501878197f1e8476324617676b110e0bd10a583faf02b3e3ae6a0cf7053e470b6d424545f66581a5718e0017911483c09b5f8788f7bc148cc17c861f2c5c10f2e78d224ffea0c62bef0e7e69053a8b3f53be0eb1c1360dc77beb47fb788363f2f5d340f8ea290604b80c7865be8a33a05313badf5dcf183eca104bba77368f4b428502e2e2c01e61ed6a58e65cf278ea233a0f3484bcb6438b3e19b9ab792f3f58194c1d258af2b12d27de5b529cb123763175f8acf88d9c67580add711a685505e783d0e73de3cf777e3e507b503c27e683b303bdaa0f38c047a221d97f63bc479f74dcb61f81ab5e75e00231a86f305087e79ab39cd40b85e8ff80aa2defa41cfc020eadc5359f09eff8a5364d1bd7d7f462d8d04e6b5025a3271f2553ff4db80f637af70568d768e1f71c3f99c9f9747b7901ccc16e32bace6a9779772a65015b4f56294fb675558bc8ef416998bab933ec848939cd2954795138fa4bc466501ea302f602e606cef297f6a479c5ce7d8a80b00fe24ab6d54a30772aea6f0df991a8d772ef7f4dda7dcf47147bce6be6ccfa92b42afa4f980ef3bf8ed8c5d97215feb6b9fcc9edbfc4ed0a736306df1b3a838a128981318e912b062906e9544da08766b3fd31f2b74df376b940d4e5e616dbf4a3f9075cca40b04d219d68f48f7110f16413d563b8601c2e49269f2c052e52e23bc62bd6802a0629db7bf7e9b9c97c10e964a37ece3a4389a69123703a9d549032638dfa1dd801054411c51e4e868b9cc6c431729c63748cc238501e39eee9acfc0eae95f56721d05f7f462db8767a35cd91d9392d3d5e6e18899d3252ed96747d63dd5ce2f0e3a27c5fd6ae0ca60734c4d8aed4132c633ceb14ad768e3042099f8f7ee3c0e7e253991c05289bf2ba1dafa0af4e9823255a8b9dba5d43dddfac8d022d00fc7eec96ad62ea975ff067378ee8af109f5a6764121978ebb231a47e02ed16f059fc7392b4ed8adff8a19cdf3ebc5097969a55aed450ae6b71d64777d4c5e37de6dd75acc9aae07a9e5250b308d1545c36d82cb55d321c62900c2523e01ed9e98cae60003324252f63b66ea1275d1fd16c6ae40af6bb7e9efdacb894c4b04e6485e5633e3aa3f3ba1575f984be1e3e8db09dbeaf93416b7d490815d5804b05907a5edc971a2447ce26f1df69314a2642a37f728628ceec849d24a6266729cfed879f5abcac100ca91541e23c8bb16f940a85ee4850a007a2c4c6db391682b2616c5e5239504d9489164af1668be42f251741dc12fc03df8d9329afba122c4f7d8479e4d9071bec8e54f51a3fa4e9a5cc940f26f31a20e512eda6a5afe6cce5b7c8393cc03ff67df0b07768c21bc749856d067cb2373ae9529672d402d34e063b689dbfbadee307f0377cb76a8e8d6c884b9b87ca4f0e1af0f691d358d3e961517194c3559bcdd6b0eacc5373ed3e41a316d3461117cafa977ab4c0041af316f0657ac7b467ece4bcf6b2955259bb8f2b354aaf25d106d4f44395c1a24a3410b4d1a1ea66a2c26755d80494a3e231f03f28e782fd3a1b8dbcdf7217b6b1dfa6a332b138004ecb4e40205103e6b67108d06d2f5de73f2472dfb05d2f461b48225d06b99fb2d92f2467af61cc20571b49b073d5655652afa04a1eeafe6ac8f91b6a15717a6fdf6c1b8af65dfe20d45685bc2cd70f79b852a1f9f5210509399cab67a52eb64d75d3a2a5b7226bb914318349e5e7d88ee8b7a15b1eb40cc2b6d200cb5018e442511cb17cbf7fde0e743c0fce75873228af386dd278fb954b7edd5b1a67aa0f2485699783c8aefd257898d8d0f5c7013ee53240df643330b1c21e4c5b880f42ffa0e2fbec3cc8b1e9751b154710aad6f734b264879f44919a3ca99c124dd030e286d9f1c75640cdfdc8fca6f892ed8e62bb55578c88c04c1e5ec14dc1bf40a9b641049ba2843c6f3aea9db64a223b8f58b7e373b0e2f478991ebd93150f0f477cb99f198cf1fdc8e73836ce9682208094070442927583e2f397d84f4020d56bfe87a86c0d4e5b0731566201b538a140d35481ed1e30436ba6c5b442b4c418cbb1b2f2335e0cd38e0fd4b16b151d5831188cd52e8c310f01679cf2eca3469a36db8f73d4f16c267a74773d96985f19d15933f65faada6204148e0ef4b3081d0ad73a1e36e3a9c8dd74864abcadddab22b4aa7c205cd4dab115a0a040a587ce03b7fd8fcbe38b0869f8619048a049f29693a96ea764d7542210c03a5e451e0886abed48687a61be11dbacfcad8b8c22f67667fead6b6096ad69f3d61dc42d94772452327f71fc75b34eca379b250b021b04873ec36f1bb27cef0dacd34899f30f3a798ca7b1149920b2d6433f01bf233dd73e4c715a99018509f7a4f2b64c881d0b232b7a34fc411bfbea1332734b3d8fdd86ddc9eee2c975f247cde50077584572c651b0f5451adf04fa78c2b49c3280058a956d4f83e1b5b4d2d0cd74fb0512917139afb348e4ac25528176ad930dfe7b19d47b324a89e8047f26d1ca8c6bd01975043f272a1049feca796f7610c122dfa46dd5aab2ed16d99c18fa8ba8afdd7307a17df55488c52b757877d67b1aac2b04070b96767c913bbd298bb08f70cda73e70bdd6e41d14ebddae6935765746bd004ec7271172cdda6537d4f5ef50ca07ce0ed729ee2b89b45a2ee6ada8b661d1c181469bdf6dccb263f0e57d834af867b7093d35581eec513cd006f1753b4389589ce3732715f15500dfaeda62ef69c97a00e0a98bb8148b803caa6a1a8818ce4e678dacdf3262f891d4884f75d495e639fadf8e4f1ee0ea2f9b3d74ea47d440639a5f590db45277d11de5ef8917c43b46d04cbf076fef6e47d3558faf35f5a7cb148642f0ae27abbe483127e8fc21ee3a65620318570e83fa73fa4d97254a4d8153339535e2cb55a93c935e84a079ba3989eaec4e6e1a970100c27d957e7b9a040c81e24ef44eb244d13b53fb95582836ec90654be16749fa3ca1a41378700f99153dd859b45164a21949dbe7301f9804a21ef93e82a009875d06e46ed489270ea9a65dd562f47b0a882afd1fc0ded12a5cbd2b2efb2925ef8ad3fbd6bd2239b45f8d77584d96f6c2d1a8a95fec293249313d78ee6e2b7a95ed6c247da74aac20ca74af775de79b5a005ff7982ab5ea441fafc1015a3a5cf516b7319b8a6189cebc75a8e5a55615baf1f66a408b1ee3721bce435eb0acd7e626a8529cf1d14bfdd74fc95d08c85fb252074b768c93929dc299fdb52504b013036f5841356256dd9cb1ba3cdc1150b968dafa05e378b4d9fb3851c105c8146ee641e2cf9761e1fdf2202b57ff291212bdbd26e7ef96548682a1b4148189a0e9e36c5120f53c6ece4165003a8be58c471c1d427938eb217c376a07496719d3bb577f1640905f03cd65755026163b5d2fe9cc1433331f9b839d4885f1b4511246f1a6b98464e92adba81bb0b67cb979d749269d86b89c0283426c1c89409ae2db644a2b5feff4d00b33d729eaa39b85c8e4569af2b871458a7a3fca6478e466bf1f08c6d086d92966c66a0e6b7a71dd3bd9b057a0fac2701a8b50d6ff6ae6e4262f29fa48e7c6b9ce3681be61d8e5a24d361076582eb34b33c8241ba76826ece9b4746aa6b2c6282940593a4ca96f81e4c7c78e7f3bbe5235729c83bed01d710f995e7a39113c43f43b6edc3c020e71c17e72a092f770a6350eba2a7a5c7b9cc781c47b4a4f682286e64c4e06416e3588d68778f8ca1768fa02e1636abfa9fb38baaf0bbb8491888dec184239518fe2ac707fcc284968c2dbd06779b0ef798891b48b43ed6bda0de3ef77e99412e919c17854d8671c3110950941429b120aa9da78e9722b5e4361e0efd8148c8633f875f39ff7efef0a8e12c94a23a9a30b3c4e806ecbacff23f9894f75f378f0d96bd0fdc4caab960143913e8af7de03aa333e4080e4ad9f86c9b00b6d782677bfcee758327327f28cf7e7491ae1076aa4921567dd108ac02b1c18009974efd6d854352dd1c7bf76f0e7117a879d7dff36bed22c5deee665c15a5b6469d4e13b782609515abcd0b2c7555ddc09efc556f9e0ed9823d6f1dc7f7e130108b38cc84479158598e7d46e925190d90ae627b82eee465e9781e490823a96b86f2c330993d7f1ee11e513b1c2400108edc6ff46f1026f39be5eac2a37fe5ca2212bf8724d60ef4ef1a9e12090dbdeb98f5d22fda03d6030a56076ff5740a61d7fde9da3b9645636c23ae33574ac34f91b650be2dc2a9cc226e4660ec778584f8693be0cb532f3b884172fc3482d6801d7438ef43fc06fad12eee44caa10564a0e4c7ca188f16af4a0c921a4f833aa46af4c3301ed10bbcdcc064682ec7682ab1c5ef5f2c1701ab20d39813a09edd50f1f6a47b309fcc6eceaffd91be2954bfc53cf6294cd0703f19c376d727886a75acf3707354a1b7ce1159afe7d41c851b3838a573038a5d44aa6c9652956aebba2306101f9fb0a3bf4ed4b10c822c83d20fcff01ac593b1e7564e974f518d956457021b0f75d4c3e986497a92b8a1ecdcf87a97b897b000eb9298efae4fda29e72a91a50c7519cefa0cc945f0901d0adf9ac434983afc5c7749bb6d7b160fc4cb111f2e51c6c71c7c752ea4fc6a4cbea33e45050a862ea2684cc8bd106594ea03db23c0b86b87147dac441303f9dd35e113fa9d968f73559e309d3495623a419988c682951153d06e88fe7a5743365f4553689159e938d93c11141b920fe463b56762ea75c1bf10226a5a5936291fb7d2168606c56c4dabfd6a9fc74e94eba99acee943ffa62abc752b15e7cbf03445ae93c0bdcd211dc916a7d06caadc0f37ae0dab9dcf6bf0958013fcb66b2143a5fe26d0270e8aa80e823311b663b23cde31d269dd70018cefef651195b71fae66a0c411b58ae80ad48a6458b2d439f7b1bb438ca671f803199ee7eccace82ea2cc96a90f20641c83f74b71f2067fb3215359718a095f8aade93fac1771250359ea01cbb41e1cd467b1b7a6be98fe033b6e396b4ab2a4c04beebb82a8639cbdab392f954e0a5d27b7bcca236bbbb66d6b34ca355e8d246cfba0d6d1ab34cacddb54380a5fbc964e4af2eac60c281b4b03466d9628fad38b332ca33cca25eb81ceec47b6890e1e9050d759150645b0be5b49a29ab0a8a0a487c42bddf8b3376efae860eab8914b794331619620d2c37d517d7130663841468c0c2a456fd2a9bdb80f0fe59caa612aabb7e7e2052702af1e96131039c050fb8fd7605fc249e63de6d8660d1b132abf5b6cbcf54bf01f9b0c1335999e19ff690035cd45b93427c328cdc2685003c697a5eef119e2f6d2951fb6df81f96268be31a1ced50b7fc9bfc7c8e47e1f1a9f9e984d9309eedced5757913610b25559540f349ce304b413f7608484c459ec594ad4779b4be203cfeae28680871405e5f41dcd72a3eab54d930d47331012af6be6c00976cf07587fb321c787e01f426277ee6c8fa2088197d3ab73c2ad0e6d977ae753623a64dec1acc7ba1e6467d78505644c565d3988df5cdfc17f5182d3246822341a60ff0d0238dccfaf1eef1b4d83b4284468d9e20e0cebb29f31979f9fa45af8c5d793eeec48cadfe1311ef8ca6c1816f1d1205577b441689f4d6ac00867106d207c28d84bcb26c31717bd8e22e26df29e8218d118d365f38ef1d90ac93bb45ce50f2e8b8fad0984d969ad5e1ea11769ff79a6dc252773413339be60f7e309e90e8af2e133ec3634f619c49c6b0d98d3679cf5300f5242ae1ada7727b51b7be30343800b16cbfc301901ce56314fe36193dc6734f9d6085914f900b4b6c73e390e7cfdca91c2441d4377f2e400a074daa16d7000b17a30ae590703982430caea0b82a1a42fe9473f04f84810d0780d48d7448c59d5d3f1c8715067181f419dd265f5608cfc021d7f79148c246b2c79b1be0169e21a1e868218f25bd5482b85c5d4fba4f1aaf6319476e79deb557e1fa8060b58dec45c2d0863612548e984209d99f2ef36d8e10832d5d68f548ac352ebe33c6b04fdc5db24834ff562190cf68a9935592d9568d5529d3592dc232efc7ed49ce9550906df41ae8eae13730e4efa3913961a41168612538bbefc6a49757ced0e00cc9e04d730d8e63f36809d25dcb3d6aa76f046778616f68f496682885f1953386b9eca7fea4b56746c4e8daceef056f0e077ea2f3be189dcaad6dde7e9c91b8bbda489e07797751263a2d4ad5dc13f53b3aa4f94c1adc3e8042ab94c19223bb5020ef4dae2e2c9d183648d09d2a9caad4cfbed4f450b9243d66ffa21b496f86aed0c071c31e851cb650acdb026278c81f9a8a01a6c38d08150e4cd14d41f4e15a07152c4fba83e2c82ad3e3954c66d4768abac31d3e29b390d3bd3c70eef02fcfc1ed1122729479ab65716286eaa1cd7fe78bbcc9fb5cfe0b1c07f74dbf5a17bc65942a523d32f47bee076f53fa7c243ef8bc42dc3211e0ecdf4245a0dc418f98320f5b45dcf719bee86bdd78a7968a21061451047daf7abb23e0acb55f4c9b22b107f3f100fe4eb147a8eea55326467851acbf71da63cd2df584e9e4d3e486a9866519f6e1b3879c5b3831492ce2ae08a184035657478e1f1dbacd8154afab591efeb31f9b59c7cc3d929fc8c8b490308f90524246db519cffbe1b1428e0de524f0be6e3c6954d9d907c3bf27c29d35e8ce6dca514040e2f8e033c1c354913e0a9baf7a1b35f08bcc0263380aba0bdbe8cc5d060dec83c1e63dccd58e8cc058d041c9c070b81fc8d11bd5dc30ec923dd7530d5b12e787e320f4e365f798be44b3beadca04d8875fd74b3cd41bd68dddf20d110f57099da71998a8cd985db9074f46171d12477e49cacacd32fcb6182588af3f3d715a46bda66ac79468b82e70effd193631cb8653f0ec228c40ae3e2e328a42a079e6b740af24384f7d31c0f89280bb4cce6471d409d95ae2b8d1315c26f392f460b6fccd036bf966e702dca0dc03f3061bc7e29d6cf290810b8d8c622df546f01e1bf546b9ae13d97df162454ec3aa255d47068390e1e0b0b51eb8da839f91aa7794dcd00438072fb1ac1a4562b733c36989f03c29dc818383b426dcb5b8647baa0ab3bd5f2071be3858c0d751397fcb0c00d80331780e2ef3a11dc15230bc0c985e2818dbfef8b7e7eb9413ff4cdfa9a0377c346a116c4018aa4d8b11f311bdab64d6ac91fd6bb843c31505ae118bb28bcfda6f35146d6efec3d1e5d4067884ce42cdfea3454d6b1313188640341e3b06e5e4dc44211f050abeaf6f340db2ffc012a91b685512050ce1a604e4122dfc153f92c88e954545b1cce6e87f73590202806001d8dc312aad5c5c1405a328fa0e43fc77148319ee76ce10ea256a41eabc5ba636c8ed14e368f02a43d91cf369cb1c4a9f366f1295ee552dbf5674d7d99606f7e783f0852032d02c0d748005a4163a55e36f4778699bfbf54e2c9dca7b9b3e91aa73ecd87cedab8e8c2a5000a35dbb2cd78fc9acf13eaedec5b2a25eeea8817e4ae2489b472a4a9099c4a523c230c64ef49807a107fef3d96385bc2ca4cd5c7e85cf01f14dd130e3450029c803abece0746b67309103ac5b1c4613be382dba784d92ba5bb2fad0fe6c5e2edf29134e4e008651a7e1aafc9bb8701adb28233786d255e201928ea28d2e8212b6f29a66b7c09dc9fea1ffd3b3990989110014d4e345b3d941096e16786267381c9fdba3546f7946a5d498c7a73c009c34d2a75efaed4c98549c77a2ef9f21778c5145e94a074bf5d24d79c2b6451b4c0eef824a0cb40f3aa9ea47ed4d421c5e304ad281373e9486271052e973a2bfb7c290ba68acd92855637d8e824b2e45891e283a8ebd52c7ef022d0a7ed16a91f9ece3f18ec11bcba60e3b2f31c3de970fe91a0787895987ef6a9c923199f2e3e54aaf3c0e22eb51db552b4aa0b4f4bacadd44c9e9d6d4962632490819ce5d8a6b8382da1bb8d4514229037043ebd21c440fac8770e3924403ac11d58f0add4ed1cfa0e181f9a1c1be0e884ac46673ea65c2fc450f313288617d56fbe6b10a53978c28923719f7067398ee1fa96673b8e659ba1910fe57ddaf0a27851103ada95e3aad1e4bcd5231118a92fc08ef0b4522b22899107ee00d4f1a3d11644f75bb097ada1934a6330c64e9d28a04d75573aee679465e97ab561e8f78f64438fb4217e1816f1b7ba6e290c75c0f4ebbb9f7c46f0344629b17e2ad952380bdc46e50081efcc92bc0c9496fd7b153f69802bf032cfdf5cf599e5d9c54d615b367ebea25d09c43044c1104b4fe8c5afb4f3a7e9a468282b6c792d6f565c2061788dfbe22d55e8ee3d382b9b7eea7d11535162012cde49340c504328f0337d861d6b63c4a533c426daf311daa0013ee364c52c0290aa26fbe28a0ea0cfd04e3801681544920a311524f2519eb46e43455a7655587284481e24856b11348a135f5f5520e6fd3a40437914d6699c38455c2b3de1469972ad2d179759280e4536c194ba2aa644a29539774ad86b6a2780e845069005a7e77e6d3088edaa796d76bd280a882ee2a1613b44b04932562db5407ef10daac82bb6c5255db000e2e7d1fcae13732f4c2d2784ed392628c6fcdc57f74164bca6c338ca74dba3f295c8853c518d67a2ca0c559fd0a40941e48bf3440c534d42d6535ddcda71b02d86d22551a6f3edce24f65c6375bdb5664aedb2013a8618a97c8eee5b6a00c8a9c658cc02e67078872d21e03ec66de5661053b76b228d4e26688ec95cf8c26548758c236b10d2ef7e87c34e2299271c5226b281795c67b38cd22e002507f6202603f6b48544dcdb4e8898e4f79ee6bb343d5e18578b6e1e42a5f513bdb02c7bcec8d6731c123de45fa52747b2e90049e14ae3a24d5550c938a1a03db97a9c3ecf381c9ea0c9c753c1114f587e94bdaec9fba10ede1f539ee7d84167156de98dfe4d1a96d62fc657983be8824e8810e4dbafe1c8a16b04753bb6522887abdfb9efd24c022cd5d3e91c22bba4514569d2ace8de9ddacb002d82ac28353e2b3fecfb82b30642dee8a5ce71bdb4263803722888b44bad2cc0524b41624b9e388c0c18efe42fe39e57ece8b271695d4d3b8cf9b583b5aca626410fc89fc9a3385c843aec3a3dc802627073df72ac8b0d76d2a9828198f708ec1dfb6b1017874c7b146343914d8388e9ca606ed3400e7cd745e6283b319a6ae1fe23277c545f475ebf5daf111125fc9858ef528095839a5ffaac6d49a581b0312d52571b7f7893332ad0bb7a3172205e22a23a532f1c4e9ebfd56406f8404cbe1cb6593d8f22df358ee8042c049a28074c66cc41a02f1fde91b164ca06e76d1682cddc1457d09047b3d7bc1192e35c522caaa5b94e1bc2c4cf37a6dcfeeb120d0c339178ce9ab80e630fbb604b0657de007b81c3e4f84d171ee9b2bd499fd3af10b74900e8510c67a34d28f6bf18d910e000a1aced1fb2b2c04254e88165810b44f043121cb8f075c808c3c391f340fe96fc7ef66d8f2b395c9a07fb4d4c2eed1511fa4c129ca9d319d8ecf3f86c401ead9e690dbee8caf9b8eaeb8e1d55a7df17092ac79943295d51cdfb2e66fe4947beb0f10a5a89a5c5d08bc2bc5b3f7f205c1b20e3fca8b59bc658265bef376a75024578db73b8689d19b51cdab25869ac4c09bf8813e858cbfb0635b516a097e86cc3e0dfa1f0108a57ed5b8de0ecb6bd03f21bfe30ced16ae08fc4d6623e1d9815e9cd0098b7a7754a74b5c3a3a4aaddb39ad11c06d6d98817cbf724fc32c55c21a7c197a33d855fab5b45ed8aeec8d267774be17ca71db9b0c8f3a9ef52f9a66e31fca1f23b5f51110e0c09884fe6d5cb2abb5663edeaf23e718ccd84fc96003f5b3f5ebb800653d2d10a0ff547537872e268cce19150905a1b6ffd5e4618343e7a075b1a345d0cb0d6cd36368c1d73adb171c98f227e517ccde6bb8ec400f275d89bf60ae005ca35541351a14e60500fcf6d36181cc23627781c00eddaa23131080abd117be31656fee8a3487ce5f7611fe436d5ce22544d36760dcce5e6b82f335dac3347f0d63e9a8d968e2c8b372e0de31d52cc10ac33198553b4ff0af47eabe310e26ce5b19df6d0a5c561a254f28097ba77385a2c444c654b54c6e01e9879e9a32c4c8cc89886de59a715fb956c5b6d78f6dfdaca45c749f8f3ab8223d1b7b85af763ed44ed764464888ab6de1a33576b531fb410de2f2aa4dcea2bae528121707c2ca68402c3816ef04a194e2c8b2e56729e953dd33d6d295be88ff9318bef38b870520c44c00b4c7a04ddcaf90014f13543e22902b650eb1d4a6cf5d1c7b0974900e28fb51f718192da1208507c438a030189e201819faa5f496aa621c9fa3a83b4e3ebecdac7920b2baa536aa1a3166642fc99fda31ca1418c381972e3cb7d2c2a369eb1c3a3d0bd1a2d6526f4bded4ef4d4d856cf110c86d68855a5c111fa139fcfb5c75aab2ca9fad207c5ec08e3a0f4d5d71b64f84868d50ed210528f6a9ce9d25bdee88475a9d0f4395ed17821936074c7233ad94ec1d92a233caac8f76538a7b7926728fb83400fcc7aa53c16193cf7e18d3ccac4e663c8a877fa8eb59ae6ba34c28bed00ec435bffe1c17df5d0a98765ed2925006be3f8783a8b1b9a1f936bfc4c01ea2715403c6101d29ce166e7a86cd93452bee63400254ea2775456956e821ba3833300651583846ea8288437bdb1ff0322e69419e7fb34d22d6730c8a343eeb24447cbe89e591df140dadb1d0d87bafde7132912faeee39ebb29116da728bf1381f97a7d799fb409d2b0921935f1cc89574061728f3bd16131a53b1ef86123016f14125c92361ba5e13208824de93992f69db58043b51d6cac4b12072aedf33e9a478342b77cd457c79df3ec1f7d75f24534b4ee38bd9a98e25fe9bb4c94ff86ac81d6031337f975853ba5607fcf3fec82e66b23ed25e87b28d4dfb47bd37d5f086b8611028a08bf326b3d828d174b50e846dd5a76e31efc68412b9970e5e5261d75dc41d04e03a587efe14c9b57c9ab3dc2aa2d0733d0b98a792d7d163d3d9073c583e0c59642f787dca49d68140b9c1a69b49aaa5c17ec289eb6e4cdee4ef6d00e442e4215c684b41fa8121516eb0608286d84f1937d10157f9b3c4c0e1720ef2dc8233d28b1ba36a3ddb1a24b1ec89e5fa583cdd1d438b5e06d6f8b1c52aaaf60b87a8d29bc76ca9f1af3ebf87b6572e86dd09f5e4098b29f0c1236569f475a86a78c1826628e8df5ba9989f1f2c15d6bc67f4487e9e86f7f07b26840f0f33abf8ca08e14e44cba6f393d53cbe165215e4cb7aaacfe31fa45211804de978ec0bd4efb1e333d8174561f96787786417deb196c8c58f702a013a7996e7241f32bc33ff911564b0761002cb7ed2b2a72c02abb1b0739005bf3288f8b50620bb09ed4fcd071d4a94a51058ce7643743178b9940219e87e2b408df4199026fda34929e95e373f2d457fcc49aa7e29df4f759f51cd0d5341c2906b660ce2b00ef3af358c20f22a75d6c09ad336ade601e55606c4e5ebc0f843e982740c7d2731b026ebfc5715e66620e0191e85571dbd3a9c32424d061eb15724d82f60d02e4dc5de48d9be065cd7cf40bd1ca3dc908c4cc6470e5c2940d1a7136ac01d9c55d4f6d71263ba2de51b49d6ff49472e87a3413be71d4d08336c4970662f8a27adef90be587b9687e66d783972ea3382515937d6cd0ae7f37c3998784db280683403348ef7908d7367cc8b325a5f57628f9ae9421f8fd449c1f4859bb2957a0412a10ca900348fe3c9bce1f929e128877059661ef3d7f3881d7f29a69e9b8e6eee03733cef058a2a2e3609271a078a1ae1a7e1b7580c247d3c346c5f886c1a86d9af48be405506e85744c1de8f145b10aa4f6fe901205f826a204fbe6354f01ef60131e5803ec32d45360d6323acfc827213135bb0ab97a2ed794d5122b07207e32fa7864c2f0302cfaec8fbaad6878a4396c8a0712441bea8b8236f970431f98d868b98ee51ca482c0574dee90330f21e9011566abc2c4b704336abfa1dfa2318c7caabf7ad05c2902e1f20a803d0ab4d6e3d87850e229da3615c4d295026ae81b12fcc78c185726638ed7d9d8471dcc77155532ac23ee8f26284ecaaa663f1c701bb7c4b559ccef696de87d7ed7a2550e8a3fea28028fd167423ebb0a50fd715861243c80f9fd080986fcf6fb5eead442f802cc2d23f743d28b2e1e66dfb3f304c8ef49cb3c8d04fcada9be9d12a9639aa899ab6edcabbed2fdc0ed1ac9ece9a1a084d967a12b9e1532aafd224206febb5f1b41a44dd868c641e6601d7cd0a758038f715b629d3c9e30390eb8392e189a054463c70e087ac477b40127940647fbbde0ea3068d66219459928f44ed7a6be312864283e51f7faf6c090bb28cd13784889f2ada05a64828f83525ba92d40203f1b4d47e119d862080e36268a594ee9cfb68f906a45f6cfb67976bcee0aec8802345648b6d42b8fbca469b2110e416bf6173a3077e35640ccbc9ee833d8c882372705c11b2af9826d016ee6ce572f1c9c2d84b85fdd791e6e4b4364b2657d9b82496a6726efd0c31fe84f4050150170ed0654a3b681e03d08a13ab77e9e7917e9d39f0e01550ffaf2bd561b0416e487cd34cc0f781467382758407f4449b15b1384df78c02ff40b16b0250496eff6a16b2f8e5e2a0786a28ad1c9d834681bef61d00d7b8edd7f664a920a845319c5bc6960ac6e82b430e2a30e5c44cfb870aeb0b2184b937efffb7e764888498f5b74cdf150e83e4b3f9c046cfab2c57aa4642b7b8a7bb003a1f8b7adcee03421fa3b2e38618996d7dcd35fd724602b0607450fb0825bea6236409b1e3a4d3b7fc5819d90a213d6532c33fb888794706f8c979e5e4926612dde219eb5f6d94ae6098b446c80e7795bc8dd18cffa32568088952630a5f9aa9b1272bbe88cc21a36416c6842d1d8c76d29781bc7a46f865f7ebc5b0e9f393aaef57416464fb6574a6183b7556073413a39dac9eb33e6f2fb90194a0c71084c5ec4c517e6478c65dac65947e2dbe9e7a1496d1e84d5e4ea0ed173d83ad61228247c28a604a8c6a2840eee82c095f503356e8181ea5b64ff4c039846df66cb4a4f6f9042bea3f7aba765c87d9199c26e84fc845bd25ace676b828d9d10d1d3749faf72aa61a73e181a3fcd33b0223ce7bbe6cd37f39e59333b0f4b2447c811b99fbe9801cba643cfbcc27b35d7aaaec193bd91304ca4e42dc7db32d97184e93c9b6bafbce88c4e1f6c979ea21bcc4b384157031e80e18a110dd1666a239c33af6c959af23fcadb63097a6cd7d27b200ee8dd90de7bcf194dd27b4f3ebde2afea735425f595a29991a3ccd8d800163e2ca20394074d3dcb02e55abf2d1ed65f104e6eaa4956a3fff041608465f2a11399ee5ffd7062986d54050f3c2222c244e6ab8ae33169c76d33e806528875ba983dc5999d0a1d319f77f465ad347f0f172ee4acbe5c7b80ed98dd0cdd5145e0087ea2f099d8aa7a52b6e432be45df2cf5630653e223cf740a81fc0e1f10f114d806d354210f53e7656565cb5a78ecb37167a79eecd6b68e944d46886eae30307cc876fecc3dfba962c566c5f162eed71ca3b9af011cecb31d90382c67bdf7328b185ef31ad8c7eee32940fba33928be8e558ffcb935bcd160cd53d46ed2546d07556a7279f93b6119b1a6dfcf06a26b43e553b6c026be48e27b0e8254318153809ab676391659200c7ff2471d00448d276593c4e047d46d021c6eda25da3f4036eeac3c6883582999e7917bf98bb8c3444add4ba36b30f25d1fb8f3b8bd21b6beaf5303aca590e4fc150aecf20742aeadb8dbb1d361537707e749b2f5e2a15c7564e66c3dfd337d43b01a892603bd2e44010a4e07276baac0b96b732397af0005770cd1a819a5f82235b9f1b310e81179cdc783b9b864fe661d3d391829d340ce2b6623cf85e50881099bdc8129e74a6eb8cae4b872ee2849d6a034ca0d302a16190437a9f6bbf63e32ae788361443bfdc20e7dad927870d2c29db2928d2094a7d3410a23bbd93da0e6c76dbfd345fafc87a4e5fe66ef93c2aaa86c8e3bfa0e4c66c864d9a80956314a7eee2211a88e33b6fd45e03929ad3000a5cd482529a75053cf027dd8557b60530c90d1898d97dc5180cd71fad28161053c36a115403ad9d7d3d70cca29f4de62f01189dae5836b03aa6684e804076dea19729ca46395e0600d262fb2f57eea5e5cc9755af9d165f83b1676833cbaa964dd85b9da10cec64c5c79c56bd8af09fba717111957cba7032d78c9f1a8a1c82b144efee88e17792bbe7c0bc932df1fb8849de61be1cf6c2ed453f861d22f210d13733968fca7450ca00a85142dc322d25648fbdeb6dc103c5d213e51f514f7753c10be12f74b0dc8b32e4cd3361d7e523bd8cb094a32f35ef2fb39fdcfd5d9b99dbc394119c8e60260b0329cc02007eaec4d565286513be1616cfeb2c5797eb577ae18c1dc81adcca9a3771769fb85198744fc7c2bf56b434f0d2469a87372da5b7814cede8a3b3dc90a5c4961fb2aca7c4823d950a4ae35cca1a7769b6cc0f7d34c523b7ac3962213cd3c1825f75ae8ed4b6c4081d99a14987f8487ad2df45e8228146a07880e6a9a2e2fb43567b98e5e055478ae8ab3701d4111c6aab3bdcbcd7c2d16bab590c40e66812f2c2db3a12cf71bca0b22a06bc447529bad2a68b11e972cbb328302823cbf401b20b861eea561c9698241d523b135998c15483de44ec031dbb5425c6443a3242c95dff036a2d7aebdc3f190737335b6be1339dcd40e6c07a79bbab94f9e134a196f6c24ed020c1c6586191679c3bced9919e30094b02d8574cdba0599e4583f46028c68416f2e97d431f8ded3d69373bac9468684f152573c0ca6d94599639fa3e56c259b5cb4bd3223409feaf0b73599417aa0a2e6f96e8b6fe23b89462313ba60314ae20cc10a9ed14927d2d3240dc9801fe6d7b35e66f564a72d7e41967d0b9db70cdf1179c34b9bcbabc3930445bc8d340d5bbc052d854cad2afbcda22bb56c81994228f84c15f749405f6c444756231cf98b9aa3468c3d7a4958bbe3d43b3d78c1e58c2f182452ed224e026a3a4c1b1cf3f3944a0d647d3712e494d18510caad437004e7e5a8b772688e53a17841940aa362aa0b56f1ab969a367694b2c822b1b39d75a4a9609998775feb5a57cdf00e91377814066914cfd7397e9981c7fb339967464845067544d085903e4334d7a7af3d23389abd820500f417f92ea1764233c0fdde9ab746533b25d693a73d183315b617c31857de82a0303cd763e0f72e63c6e5dbf2eebfa0970a219520711e4bf717f11ae72616bfc273bb76c9f25b8847717beed649af992bcfa4ebeab844f95912605d4dbaec495529c3244fd2731d19cbc37406371b7561e18a19cc29489bb19b1d13f7c6fc88a4eddbf2a6e2126168bb80908580435d412722c39bcd5c52c600eab39af556db0cd4f5f08599956f8e418150c0b4025512cab7d830195d0c9349af46510b3184aa8098145165c3bef3fe506fb3a1242bc1ebc6d2a54f1a95cb508c23fdbebe327dd6e393b5ae6a4f774c39bdb5b85f7a23edd2095d08164f64d13716fed02640ed726375cb81696ae0b1fc8394ec262dc456dd7ab17a7dd2735061865c2c4efcedf100b5c32623f1941a72c31c9ba0d67a3416f10c4ef0a936e9be749b4745e99586b30bade090bbcc33ed4cf258f3bc9da27f92ca64b3f2c43ffe7ce6b2113a52493b8758376c9f90cf59d7b127e4409c4fa77abaa0c3562d0404a2df05fe73ae429f3c0aeca8f49ab52628fa133bcaa7ccd3b5adc5f0b2a51ae214e09d5c0a5718146758c556dad8d08067da764d48e30b960b5117ae7bb4a891e5f1916351e64851776a5c3d10a704447a793f876f01560a00d840482322656b5be7e4d105224b91f142ceed3d77f6cb5b9f1da79da547472794d195fd2d2631edc2bb512d5b4619e45a934b0717561f6b36ffc69d10679d68efd6e0ff736fad8606f3ae46c725d599d9468372f37a9162cca19559bb48fd81ba8c0444de39cf83e260b3bd29c4c5d7bd7b7e02679e3652d8acaef11dd37d85af8c00d7bc023a7a951add762d958c60280d91ce9dcb734b6fd4ec2c659d2e5de7e9b1d2c3273e14d8dce340dcd278418d3fae8447b7dc891c6ff15221b15baeb4f7cc0a2c58843486e01f0369c78e47912b444c8d2a772c441de3fa92b116b9f5eba3211bb35c8abe5b7a58f78a7eaebcb8851dd748741733c3a94e20b861f1f461698882b9dbc8c7fffcaca66858c5e24eae8c2a570346c69ae0404b24804bc3151a5313799ca5618bea60eca5a7d7bc7bd4a8f4a8a9ce390ed078018da286d2fa84c06b66817e1b842265bbf5cda07368b44f82fa6308c2003db80e988de8e130d9c429e288ac8731563540dcd8e3b43908496088c85094f8204ffdfeb36b0e4279a4efda768cd4dc8bc88e1156c0f96dfa5704ee002e731d1a616d8e98b32a088b6b9335e21baa31a150515bb60199ccea698f9e26040b16e9ef7553c12c238a80e24e3ff0f3348c060fee501c0e6c901926f851d2e1082113a1bd79b47d014abbe48f8c53c0b99d79bc4ca277f80b7b0945715a91e0f8c99f4dc9239b2fa7d715f0bff4f75efa32448ab179055aa2817138f78768429b1889c10aa85b25ad660122e8dd95db8337b9f82fc13a4257f6def3d5d4c75f503f5437c23bdfe747ec6a191bceeadd64c368d5d5bc3895d6367e9b45aec281ccd1d0a2f3298f3b4013c3aa13e9d11bedf14693a04ef916587a555ec4b506d473e0638be53f0c1084ed6668287a772778b4965b26cca8af56f2506206c7200561a5cf21621933c7f6ebfcc05b59090fddf4d9a9b4bd8c4a041cf209b66b0ddeaf4006c6f0810419dff156baa299dc36a29c64f95076aff92bb0b9d6d9609879b1570402f8369593d63473cd3d46f9203e6a93524cc4a5f09a2f53146f96728062153f7e85425e692bc9c1ec135f95cd31c7dbb71146f4791e57aebe289b74f21d8c5988e814d354f83320dc9e3d358373aed3c04b83b5a01cdb10394946c32ef8c8d09bc926f8ab8592562a11b588d89dbd20f3320a2f90690443fa341ea53c57336cf9266043741629864118c69bfe19ca4cd0d4683dbd475b1e58862c209f1f445a46eff5bdeaa4343eac710f7558e18dde81720d5df1fa6189154111c7178a5fb61982b7f106821319c4de7f05e38c7c0141d97ddc8fb8c192e62ccf89712708ca0cad753b84a2a46dfd2ae97d2a45e002e3e40320884adcc8bb161ce645b34cc5938a6db0577661f131fb0a75f499794cde956635eb958cfe572d7095ad1b599a418f0887473b6db59269f2c09fb035bf3869091f3594a7cd9f251c60ae0b9b22dfb5e6e1b2608e9cf8db156a8e47967b69cc13a2ac748835493349e47b32d66eb75e60b690024d09bc8a243f0c5475ce2f6e394dde032bd4dc9327db942e81515a9fe5820555d0a62360ec977b56e533aab843bfd929152d7c358b7fadeb739b86b9da2561df1fce7c12f10045c2110fac284c3d186a587740dec023055cd59c220d1a4d84f8dae2d1f4777465bf6d3aa7884c26356cc10384d291e9778b2e92863561f0b1456f511179b141d62990037c47e0826ddb347fa743e9129b81f098763bee39d689d34d942c108af2108a41bc29bfe7a220d2331ea0daccb04ec058e7c25efada5285501638706f663f1d08eca35969b1540e02a78c9b449422efafc9496e9649fbc5ece46b4003052a9b3c801ae501c562534044cdb19bad1d2594b1d66b880566b867c8e76a6355f799674dd01b1683df915f829ff141b6d8a315562fa9f21b493a87ddf07c1940ec441659abf5de4dc1a43426ef9b8dab75afee0fd656bed2916fdd0b92573a06443b75ed2724c7ba1eb679ab1ac86d738ec9ad4ad072e35a34d80f276fcc3b0f87c0abcd3d5398242f5e2a11af002e5a46d40e5da731332ebbce1cf22d81631ca61462928f644f5c2408ab10de814e6e863419a0715b15f1b1558989c478b42095bca7829e8e94b49cdbf1d9c190199c24381ac2a5f15b69515c8738140538e841af1a4a567306fd7580769f71bdaca00c5d87a600aed2166b600d06e170ba142ee95f5baf5fb8b05533b01f50e647848e97a3c21923581a88db03d07b11167955e9b29c7e9c948f23bdd468bf3e1020af5985cd60b12f6260cc62af92047df162b0be384954bd3693244389fca260f67f683e559f5101462e347484cdb5dc315e1ce96c9e03a7140a8dd693c0b58d650e0a535aa28f7dc94cf3848e5a8c01d0e1409b13c64f26393e62d7184348329ec18ab8e8c0921959f5a9481b0f8d76599877c1f308866d5a855ef2bcd82ba5d899d9ba63a3319eb84500f196ba92dd266d34de7fefe04d25376e74b286afe775f820d1176bd056f8d8e785dd9e3a8b028a0f9bbd846ac48dd2be55866331bf438451edface85f5561a59584272078beecc88f70a732e89c3f27ff9b30d2b219f0b2c36519875c1ed077bdd84d16a36e9076c631d43e6c5a06a4d67f02aff4c8b84ad493b04025bbecd184059823b4736db4baf62174f658cb4d24db2b1edcdaaf87124046a85e7980ff7b891d28533579da01c287703cdfbd4576f7f53f44e305bb55fbb6d37307d0dbd174e07698041089348942223b331287ba346ed79868e327a12316b75faf2e1c74e59d2dbc94d90467b46f7b01d0c44aba3277197727677325c2c6af368f464483978d90f09062b3c8cd784b68decbb8d244e0833809ef85d0709b22fa5141a96606bbea5dbeae98667dcdced191287b82ef054e4d6b9c89031be458573a139263977bc8ce6a1c4609c82d0e6cad2cf2708e23712e0b35b939f52a11b4e526922243fedc0b9b68dc8d3f4e123522f62f467871e0f3ddbd1bcd64c7b446c0093f521e4857c3a3a97df48af2311f5b9f75c3bd47a0211dcadd3885f887bbb6831293b25b2695fa2e531753b1a051df1b299ebd15674970a7c23cc4c283c1d2cae437a7a8cf76da631abdb189a59262d28ce4855b851c62b464a5bdd6d74e2fffcc1a941edb200d4e86ba1754f47ae84180b44ea8710b665504fbc5a58a3ff486e5922c4a52395af031a2a405fca3cf2375e972d7c95a5fd4e0800fdc00f6d9b58c1f5fc2581e4afbf760ecd9e581bcb194d14235deb78ab2d4cd998d1291de7e6727ee3a1931b1fabd0c40c4f79fef021dd9b4e7ac2daa339ef50de7136c6cfd87d36a9a39a3db008d287f7be514687c411cf6ed6c052e968985f7077e6d7caefa2854cca278c7b47375bec7cc56c77ce26dd70faa54200330c3ae08c6c0aa53e3f023754373f47e8d97b8844180186cf8be9d394e89235417f8fe68d3006e89e28d96b2557304a87888986402c5e64347e80082e342a5e17da71b619b24d45b43513e16edb226509dda623de24003e0af68a749a1e97e7dcb363da20051d7aba18585b32d8cd506bed51ef21f3872e96c6d0842fe72f4e6f02a1ea47fc3b7d4a0a907166812318df9a163b9cf41a4962a16ab9566792e78e7c273dfffbc6dbd15d1e299fa0b19ab20e4d3b22f02ff428d376fbfef822fd494bdc0e7792a1110e40c6cdbd97c696d213562bfe38dcc241a2ea4785c27aded78656b5239a57b0fad56bfcd292781c75ae90ae152e2d37531d6b890fd91598eb782dbe03812915fa04db9b5ccfecd04141755e20670a641429b90d42ca5400ddb2f96205e2f4627981b3f71b5fe4fd76a950db940e3f25273533c29ebab4e7fb8782ccfa2982197568d073df676e89474f141b5fe880cbcc6dea2dc6b23aa23988fde4e4c511000458bf5a17481ce4669a9280230f982956802d4a983a4ebe04345c93dcdef7f2d343c1556497d113fa1da4c4cfe83db9a719a1345ddb7dc9a8fda4efe32c1ac12f24702ea2643241cf0ef54023c1734d4a0726038e6262f32c217fe222d14639af85e13d595958c485e7b25e69c666488d6f5bd647572c7e972561a73f28023bd0ae5822daa3b36e46f036c31f21c3330cc030ed705f8517e8bcc285fda323bef5d99ae68ea63325523b670059ea38ea1aeaf8121dab42dd26f90c9b8a51f7adf18b4d652a0ff40cefef77a1caa1bdc41cf91feaa19de5ef362df91a92d05958e50bcd95c56ea352fbcd6d302d8ceddee50fca087df3b6b9f845580a0655677956916f25ad673d8be0528bc49140bdc9478881284e1df0cd68baa6a94d4fb9a6fbf77c426431d171a2f2ab3c4d58f6252d0b6dfe37eae5d8be0ea519e2caf110fc7ac39c466e8cb8e63efa572248814d1540857dd149586363616ff85a2ba6d5d47269db65c9b806e7428ac1a28610a3b95b89993c6bbc17e8a26748459ed61a0c6037c6872541e7e66404205fa49e05626987bea8af760872103cb39d666b78243c9929bb393cacece741df61c1530bd06b574e0e4ab34f65e1eb03820a7f308502fdce21300f1034778a04e88c19bf13d77814ae40b0537a4d6dae5f7653d01774beddf31946ed6a68a725d214db997b773aa8befc0ce605c1000aa2607ddeb0a794d5991e64e910a5b6cf0162b8f1f7a9c3af618706b75b181649e85d95363f416b3fcfe56a85fe39bf6b730212d1ae316f51db8b564c2cc65f2513bb7c40b96f3566438d9301cbba2c3f2c6e1e4a678c866d66c881b4f443ac927b04055125ab364967b367d7d34c408f824d5a82d996d1332c9f46a915621975e4c59888be02c68122d2fa1681a4a01fe712dfe489a9a286f34c469c67fb13641edb056bcb75d06c60408ba005e8008a3f5e876675faeedc80af830e49f4d0bd6f78471b721ad5fb64c2e03ee787a8cc6e5a2c4b89510980ce8a63600f33fcf78461246b0adb8253a2d1eb16a55a789d91b967d1731c5391bcc128a2c50555e87ee33d310e10c579cb8ce46164b3fc9bbff1e81790a1ce608386d9b5d39bde112198b4d501bb80adf72c17e8c5455ae0b3d18b5d9b8786b4fdf4d15dffeb71537d1d129ccbb47d78c91fc4a3127000531a2f9b53cf2b267743870eacec3d6c047bfeb2c8b81d82360267f28da86cddc1bcb2f26af32ac23f6e16bb4ca225fcf14d4e4e12c90657cd553fee39961d21770a108acaac40f81978786e2059b643bbb1c59fe8157b49a2465fc9d25e799a0cfbaf247b8a085bb1a5f1935c4e875ecefcab0c22c3492870881cf8fbe577a27cb42e0aef596af736a160ba5766329a5c5f19a549e84f36b249965d43e1a904a5a26c4ef465169caf8f3578d360e96f095da71f7551404e63f09a5ab6b452451e67407b2688b0e734482e9416e0095bfc26ecba63320b7ea99528cf0cf387bd2cde3eb47b02fa5c637d6fa8ecf3b9f4427a1d0e954d29355ec3f6a7c35cb34cae150ae47618043a54d459a6d5f5c2260056efe2e97d9d812bba143fc5f929f3cc299529f43f5c106ab21cefd8c54ef219f007a6616aa12d6e808896bbfdcdb5ad1d423589f209029e1aec702be0ca8293fe03150ff720cbfe0d9e4dc991e68956b97e92564af70773e496d7e513fa8b94facf8895a8430ce522572ae01f2589b0705c5018d8e00e74d79e9a78318c456f16a757fc4b9b0b289d42238ecd8346fa0b6a7302ed72aaf8aefca13f9ea73eb34047d3405ddab87adf56cd87e0d9439a922edf4b0c3f366f133eac00fcec2c79434346ed36f4f6187fd79ec5fa6750d4e903a28d44295e4c568c0060a085072f3cdd8b23d881eb6b6c711c8ac0434c2aa0fb18d2da194869c1055a17bbedac387c9a9f6dab7eb011183037041c7e9c56c6a777cb10de1ad702afb73f6564dc9a971413b167157e354067665b32d36880f658af01279b92ecbf742e3a5886920016308c927691298798c0643f45aa22c6ec139e04b522516edef804464e0a7c46c4f169dd8f78337097921ad5acde66f8c4a798e71d973ffb4e09f45fb0e7ddfcda1235ecb30b8b6ded15c4055d88ac856c1098adcbd679e00d7232793df20144b5ccf4a2393d929e27d121c03e2e2054d8afb55ce339d5e7490c57439c059e2289f30b65948bb9558206e240bc173a99cf82de98842eac5d7568e2e3f46d88be142180fee506e80043d99cb1e6014c54e15714b78679a2f6072d1b1dc73b0e3cda7ce9a57d8809b0ae1c2244379dc9bb443a93aa6496cb6a16ab816b3e8c569924c18785e214f2ddab6de1b03002ee46b5af5c4edf11bc71c6d513a6e5885c71b702d964e61b06c83beada050cdba0c3ad0e74ecab5f9eb49dadf84458d3b1d2ccc1ff1058296054a21490aa65b4b8cf4527734732818d92734017afd8cc07aa470df06bed7a62e7cb864a3b578f858f1b987f4a7540af638c8fe91723ddae9bf7b19fa22d5d33b07512fa838ff066e67148bb008d3e3f38fa4345ba1d6b90e099583ba5d04cf7d1d39300d6eb00d35514f4c7e47c488b06adbdcf8f3eb102192f352b117a101e48809b787cb04319ca59695964696bf0294eaabd929cf26caa7240387332735b2604cb3a653b2377dacd1bfa35721bd7e3c0374d13023fd7c66f794f6d1685973cdb45169d0745763e991470771eb21a1b6f723493395bb6f496587b2f2536f78758883b9edf3ae5557eefb9db68967ec307e8e2a2a60a68b02c501da9a85b30ef5fd5911508f9552849a60018abe5fdc13b4e76539e5fa3d895627eda6f9c38c2dc03f1647a5bc9b3f9654df613c2ca9d34dae0c2fcfb84a83a705be7161bfa8885a8931f86b120722b6513111901727b4b5fc05aa148157527f343630731d20edfd208d4da382e35f858a7182503a451c8f2952329b996dadf7ff1b391ba084eef9410558c744933a820710cc4245e4f021740d78123b8cfc87316b4c3d4ec29c41b0b1cf603d729b810bb50e0450ff9318cca1676bfcdd8e18e4d1f3a5c4b331afc80ab0e82bdd80790e0f10ba7661b9a2b79065ee4b312b2ab4054a0ea5b7a37d2eb7ea9c1dd8da43274d756bac7306361d92835125b2c060dd77977c578adc70c1d57875d9748ca3cd935548f54ab3ad9c1291a46c105d6261da1c951242b239b282e20599ca73aeb6945eaa32c93af0ea0d6983ff529955e1f138915fa4664df929b07e51379c931446ae72997baaabe3a16554227bd34252b3cec33090f9e0bfc121166c45ca9a9c39e1e94abe8a44bf5463c89263fb15482c7167422162f614ccad40a3b78ada80dce4b049b62c970b19279b9d7fe9467c22627e8d9cf98681a4744c5337ee0e9d4e52263c831bd5e08e19f3652b8d76ac81a94af31585c011c0b7d0b2d3cd3e6674a4d325611f893d1f6e2d72ec4f08b012ea1b2f7635e1469f1bd367788ce7a8106b4f2f7290ad22ba1feda4b987d1ac33e76e8ada58ef682c227060f784bc1396a2e3b6f7a2be06a1db16d307b225c02fc902a46eb7ece5a74078c52d30d540f59a560859e292ac4bb55ecb8603ff2aa8bb22b5eeace7b81671557f52b93f2c5daf5c70d2fd3aede90637bddd7e5a16000cc61c1a0f5a1406a8565628b91199a361f2b2323ac3f475fe46a26254939720e603ffbc2e0107cbda8df57c458e37d8cd675b2e2cf74052a81f73accdad348d9b336b52393a3689f0175bbca18b42b9ac1035cf64cdfa7d63de8cb8cd5c76bcbbe3eba98b56648b3f2e35f0e82a698f094c560dc2da6ed875ad0ac2a5943ff766d65e4316eb441d7292bc04741f3c323fd990834a28dd078116e2f37f69cd3af8bc9a0e94e14c48960e8ca6f51fae11b6925cd7c9e17b9d9c378ef0836153326fc5258674bc8fa871e44964452ea2a90849f11d6bb64e23591bebbacf5ba64a55a0f2e547b73476f2c91c103dbaf60ad8142e5be1d999e88e93d37ac3bc0f412d2af2f9109fdd4358e8696442d054c6950586ef61bac8b0ec0f64a167c17c3c37145af890b19356710cca0ec11b2fe1a2b0a9d4ad4f0ba7e4b923d84b58daa7b5df0ce64d7c69a5853f72850021d07b666a975214b6d7906093c541401f574173b1b68e69020b939021d4a844bfc319093428ec40d9fda6a3c06a490ff7590d403f9e5962b829b9cb21a8c5054d0abb284b7e12747cf70e5b126c0ac1778e85b23245b551f62a469ea89438a3b64290e054ceee74486583656a582ebc424284c3e6da79593a7bef99d6d1b23ba1e61e59b192de71a86d36a0b8a0253f4d08737b016cdf463103ca19cdc4dddc2c76036c0c8206746e5f0340e52f27b372be5aec3c4d5f23b3b2dd65c3b01bef2890af24ac214c023f0a926dd8731c295791735b7bd44ec218526a89b8970e916789210fceadd8c5516b8b260f915eed08ad02daf173b79f789d6eb67bfd8c7fe4055689d646de6449eb1da2709ee1175908cce19d456a80af40c64e8dac651ac11cb0d5b27c47001ea8771690891d75d2d18368c971552fcc37058a97ae0efd44e12d4881d97a1d9198a0d3f566fa53acd7b37af4188d516dbb8fef99725f48d8757ce5646bc0d61d873a9b1787ebc5b3e3b80e474054806428d95e228daa632e70d5be857b401462c5e6e7c0e9fdc365a088af9de8c92d7d16fe69ed92b31822de600085081119e44eb9e67dc8b147f431c7f4ec65f6022b167e8b793087fd1ece1682ac3e3cd76a3adb54e515808dca3be768dd9c18b178b52fbd8055a1d1b745f1d808f70dc41a6ea7de72d3da7a65ab3025600ded661bd72fe534374b461bc1004a7c329cf989bc6e85ddfd8e147b1ad8b119d454c942556c5600da3d53c9a809bcca731d3f90ad3a9c0e208b727d28e550c2499db63959049644514665f0ecdaa169ab770bcc8d186325b5304faec4e4a743e935fc0d01b4e7b5c6ef535dc598f2c99ecc35ef84aca287ae88fa139cab9f2f12ac5aaf8661d96c34446136f57544476e59f9fa0baac963a6bec4ac11d8d943d504ec8f561dd0e451f7a4b98cd74bcf041e6239106232e544ce953c6265a302ec709aecf73a9ca2da590fa6c96df40fcb081e6469c16be6ea80de1dac1bfde74173b4db63895038c11bc2c283c29348fecb818360dfcb8343834c7d090d2674611a815eb853927be1be43403f3728bd2b493c8f20390b4128ff28ab63490fcf914d3488cf0c41cb748ad84c70d3b48ae08c73e7f489f4c5777dd594aff555abb59eb48564b3359e98056797759e404fe550f2661e69815823a90665bc49c411096e14f3e6e5e4e3abe76e081e9b2783762320f813a14f39f06866b814a023cb65fc869d71eed318c16b2fb9693081777c97042d22a5ed4a99a72b7a7207899ec11cc3db614da5057cdcd41bdf7c5d6736ba86da5bcd24cd6bdd1fb20e76da92ff7acf2d0d3bf87eb0433ddcd6de7d74a27a39000c08e603c4650de56125e5734de4fc6ee53503651d016631bb81576d7cb97b07bdca970ddbfb3d0b74a266e83712246119954564471e6d94c561f564d993574c7e28ea2db1aa822e684b06d43670cdf262416990cb5ffcd599f41c5b7c5283c2370b3d1f55c0db1f3c50b582aa9aa24bbff07b9763d69e92b7e9235a3dc4eab618eabcea53ef35ca67f3ff90518adf1b8d77d4f475b82f5807e1bc4aeb69aeb724632d85433b5ff6eade335d7760cb0a8f7f35fff9bb37170e073d20f8871d5c679e63040866e020221798231c38330850334a70b03fb8a93208b12470b90fc7fd69623945e23d65122d2c122c88945844045c64844c2d044d098070c48074e44064ad806c089c318a7d398c45f98e0cb9942c75a6fd3da2c5fda88ccdb9f8cb9eea4b969bcb8219abba58d7dfea57d79d5b5bf6fa936d2c1ea7b76deee48030fb7a411cf8f536fcccef1b4c4e4a0ebad3755fb012b996f42d413e0633991e950fbb421f968d64f997244703f9cd7a79613c25e334359298d2c023d2cf7874bd63c5d24684a65d2edffee7736c3d1f215891f653a1ca5a825c267471732a3e88cc0d57f1add426cbdf33d55f77b1d68336a25ba9ec81c61eb0fa73dacb6fc0d2127db02fc32d4cd10d7cb24278e4059e2ea5e8ae118959f790663e6814b4806b3155151066b36f9957f23f53bf91770b8daf308e73d036d09c613b23694cd7835dff88cac09cbdfb1731bbf9d713a8e4bba860dd61ab2665b4d260bb3759cd158555ff83f1719bc8c7488ab106763387773bb78a2d0068d2e4f545f3e92923a95a27f973cbbd8c8d6b8910b9fa16bcf4eb2536ac83e8c314a7fcf18a4ac79f67d20c71958eb9bd4aaedc49a1fc02815f81897f46951e459d10cfb1f1e6aad94e61d1b4a9e18c63e5f5aaf5c565ffd715afff97a4b6aeb48e65b834ad980c679075ac404561f1b308a3b30860ab55a3ab49608b96a38b8a6097d7a397c364f29b37f28bb4ead6b7eaca74ca54b7ca487fd3c364e5d7059174e1228a908abae5942b75e1e8fed53cafc35ea4edef34a2ecb8962c9820ee9014218930ce2e7595b0ad18213b0ceb87077abb5c9a9b890e7f66fea488aa14906478cd05e90ff3ff72f788769a480b9274f59c648c1625718a2508050df3890d8a0ecbb6d2ca8bdaf775d4e64c5aa671c7ef00881df7900e84ec57fa0e9f852a1706396f8c34fe0c2ffee86c287fec75d50f06fa9d3552e079cc04561e10971581a16941b15fc3ff7cc300c7730c1178fc6a7bc3e37b9d05ba06b62026c20cfe209c179f2c66004fb41d6af497c35dfccee6f0e570207fe0af93fbc829c4fa7aaff706e6ded30f9f78ea0c3b1245cd2f8ac0e45bffd178cedf1a1691acb3f3f201fb96614a6b76a83afb93650bb9dafa93aa8db80f83fd075aca29412c7cf5330ac2234015b1775e03546581753cff4bd3704d282b2a92ee0318b570aeba96aa8a5b12606ab1f665389d7a63a9234edc41aae215b6ef5f9a0aa82a2b8a260e2db1b0dad96031f2dd6fb5117fa4c5d82b209c23afcbd74d8f5f047ea1ef73b5a29f42c18edffd6ce8f3c64c7e4332897d4351df1268ff4084d0e26f88b75faea7b4fb7fdcffaa6c8ad3a30fb7fa38fe0ea0866694eefb7984525378ac5375dc00596c93f802c3d4a8766b5c06ca5edf080ed9e096a961eebc22f3c7b7c160b2a8070751394e71d524e836ec8f90d3eb7f60f48283f9858ec43364bcec0a957b353fac8fb8f400a67f25c74282e31bf738f8d1ecf75c444a10e651f9ae80917c16c3d3617149a84cf3ed3db6b6c5d02afe87ab4f84c801f14d87f9eeba50f68cb6c939e4f53e9c69e0481aa07e11834aad2bfcba4f94bc654e77bc616babc1ea88a3e0a034326ef5162cf4af9dba1dfe54519d144dc2f280f708251d20bd78789f8a59629303e1b0e4da0e3bcef6d42c0b540142d2f49413b7f5e48fad3c78653e3d6d93613cbab0f4370abbfec5dbfe6dd7ed52e606a382e098c6b322ec4b71c3faccc7110ce0b82a751e4304a0f2010a927b485c2916f80a2af26ad6eca21feca0947bbacc0e79622720568f913a93543d75f572d6d3b01a68fac4f4ec5be87e2ee2737c8688396127e30b9319d3c043a0087c1cffd2cf3cf68d4fedbdde762ea12decc8c91c9c65f3cfe7d288d94c3bb28228fe578926a0c17053f1156170a7dc4a97ca2df502b1c6b6b3647f4d09e8f48cdb8eae2e2b1d00e5d01c30ca71a9a6dfde5354760e7fef8047c129ac14f10f8b61443930d8c02dbefc43aecd140e617896313b7ecc576213472bf65d8292762875b500449e4c6e22786e696c4ac50dfb3f756341963384c4444be7d8c270882260882a2c4a130288ae33875d374bc2c01caea3f6cd375b6e8e935e62481963e5818204753881ecf35fc9f144668cffbcc511c3575b1381887ae40a1bfbcf42f7c942541cd2ffa81aa307aaa30797b2d280235537fcdd699650c2b8c833c149e16995f1efcb5d728f28f6f3af3ec36855164cebff396feca7b27279c578bde4b95bfbfc52e71da08ede595feb0fcc307cfe57f9e33fe04838cf6a0aa6627e8d8c5ca19352d3119dce11b08a20634a96631f5316b0574021866e739f6ef5c261c95f2060c2bd315ecaf02c2d9de6e9661182662d7f6effcbba2526a9ef9e763f01e5b39ea10ccf9fe9610e326f8402fb3d3a76b0df4f30b18d9ce895b2de53be0f41d606832a5f8c9ab71ba2635da7044c05dbf00336de81154c5af33efc908ca5562de3dd1fbcad09a849498ccd142d6b0c193358cc3527b7351ed5f636cf6664a2f1a6a4f8c30a8971fc738a11231081a29e7827f26ca8c41fece5abb361b85f44c97e117d8767c24891bb119e0cb597ffacf23788cc6b70481d7b8bb7267912c47aef91fd5d5e5471dbb4e51dcc1b7ea57ebda37e0132d38cc0edc987a2fb1f38b3fa110c7b09db6288a1f873a9bc986f703ce7fd767f3123058a6236f9e78e9bc2ad76c41257fd7f5af87cdc7f02f269fe4d8d27b3afeafcf7e9a7ce02581953e4a1a20e650702dcf359f6572da08eff9b6d8775dfcf798ad7b9a7fb6e596d59d49f67f682e21fed6dc0802b3703e7b35b9e734a8ad60fdd11c71abc228f2e35fef815d1e337f6c6ff1754ebb1ca4bd5ad5cdfd3d7f7f663d7a4f8e659b35f6c6daf9070f96f91ffa8760cb41d1d7f3058cc923c6109dc27b16d7784de054ea893b0c470c92e85443d710c4c62bb5532bd5e5c98a44599d6d729560a34e431b9a479e5de6d1ac6466369eff98da50f927db3d013566550a2f6857f91506aea6d9959e2bbaa72e045c3bb9d4341091b67ebf3be23e436e6f76eea1d212bca8513cfee44946cb4f43ad3ee3aef7a413d49a20e6fb5bc43b1d917bd68567310508334476f1e3cee0dd7e5168f46a8490d7a09194a6e0b721a2240a466cbd1bf9dd3240baa0ea0eefc7a92d70e7f1e5c7f7e0cd148f108a7033a26057a464ec1b48d6b5712b08f1ffaaa9b34c7213fa1922deaa626882f1a77db9f79cbeca34cc30c84de96591f98909f34f9eacffe249f96f9e10ff61e7ff8ac337ff8ac3ff2b8e97fe2b8efeaf38f97fb9a5ca27799d86f8af7d30cfffe2dfe030adcf75dfa9b29a84ef1b03fd4bcfec3ff5bcd5f3bf38cbff9bb3c03fe3d81b0066564951e6cfd081293a555c9ec006024b69ea835f0224ef030fcbb6e571148de7719469168184db05710b11ef511c23f333732b1a633b5a3a883401e2972d2c1e265e7be0c11846b5a8b957ec4d1ead21f6e7da5c780659cf89344386468509b921fcce88ecce6e492431ca1235f77de77858ddb5c2ec9e9cc46771564325bdf45b52a25909c48180aabbcd5205a848c9d4948e10b02c80a070c5f9a0c6d9ae561baab5ec9ef5b5c6ca8b9e98780424cb493fec5905d7f368c52599575d36bd9f7561afa46967a70b21dc74d6c13f22d91f0fef34c4ddd82ff25d965d51909153047d9d23947530fcfddd94423d0aca8ae68f190fad6cd04c5bf0a0f21a0dea0c5a1756d31c549e5f79617106610bd45075e3d4a70e0f80710b4011a9cba62f02d3af40c50af98df0f6d2c02ea8db5b8d11cdd2687ea02751141486e3f8f37ddd344db27d9696c8690bb430ff669af46f0d287f3480f7c232adffcb1b38cbf0ffa1052db5fa3fef187ffb8c0435cc7fe971f9b71e8f3f7a54bbffe83effa3fbfffc563a4cfbf1f7b9f00a02dfd1bfe6c5c5ebfbcf9187381d9c23fdb9436b2772e053cf25cb44fbf33b68fd493cbf64b435b1f701e29fd708baf456f985b7a8f3cef8a85829e86fba0a3e8fdf71a2dd0c16417384541d46787bd752ead2b52d76770540674d3ca3308a8bcf8cfd8a6796082258befd832dfd5351ddc2b654726a1945b5fac1fa4bd67b79768bc22838280bfdec5908470e06d16a058d54ec4a0607d054623b109164d0929a14501360865772ef3679250840aaa3d87eb8d2850f957ceb6f827e5f299cd3cbec78087275ea15db669490a589d6cd4e3f8b613a2b6cbef595482b8236a85d41c741c050746cd4aabd67d09bd357058fdc4943bc799be9edccac9d1bdcfc82331b2828de39d849e0497ddfb3b10553caa18918468896e4607efadc13b9d6aff73ffd211afed71f5aabea725581b93df7689fa73711f1c989d354752601bbc8cc0beb03fdb72849e84a2e7dc624b9612333a6210c1681f8116edbf2dc69408eee7a320abd3c1ea48c3ac415cfb7c04fc97f8fdf5ace69efe2fb10dfe3987dcbf4b2a599608f6f9f2f6a91cf691c60a78ae2621c7564e7f5e363419c1f3c6960937089bc87db95c81a1f1b274e9d4acc098f827dfebb63bfcb69fe7852badc77f2ccffdab3b98609773eeb6bc5a544581698efc59c48e7151d2d63f9ed9228082677faf986fe00b6e0c729dd7ad65c0ab389529217dc71656ebe0c6edc85824f273ccfdcf583ca74151d0f33c91ee0131ef33db7f5d5aeb4e773ec8ef933ff353cf4ae8508fd9a54983f3a43f98d953560742a6d8d658b0c787990cd2dc38c93380b7e6c0cf4bee73c7426127838719680485c5c2fd0c8ec2e0abfa0e537de4f2a27ec81331fcb6dbaf142054ff85d382aef6d3485ccf868bee1ff80ecdaf968f8491a3b8eecec91752fb4b69dddc6c776d11e35c5689f3f80ccc02da549e622e66aac7cbf3f0c2d25c060b04999b2a7a97879e0340bae961ab8bfd50c841f52e5748644bd2797667c99c66fefbe8099d2fafd15b462f86b614e93e3a310366de4c982bff10507863d0822546321920fe13acd1734aed5a60050ae36854294205cdb7e70f47738c8a5b21ca2e42a54fc8da292a1f2f0c69fd0cca71369d6e86f1d8f5b57e8803a2998242f9cf81d9ba0498e1c0dc546a12c94a0c975af0e99cb0a6b9186f83a48eed8708dc2b1bda6d935a366693a6665ce1e5ba909f7ddac8924a88ce271c2f0d19cb81d804f3ad95d2f221731c7cb799f262c4ce20526a112321afa8ad3f4579aa63d15e7dbeda0e90f5f30ef6796c054cbb8bd17365b006632e883580b3c41ef6c356e1e6e43e06cdff38c11106bfb9f1db864580502bd9ea799e934261f21fd8c5f42d71b4ff7baafecc20199e79cbcea85b5382d0b653df1a7d2544e2ddeacb4e30c61a2fcdce37194376c759255cc3fa8114d667f3bdb8538370723b3143ca457071b1abfeeffc5d97f2dc1af3b6982d8bbfc6e79bae9dd3f4217f4dedba2626382de7bcf8d7e77c539dd33d28eb4a3955017f80064223f646621aa7891acb9c871011548472e976ccd47be9ba6deb99e829caced461799af990fbb31af8a1fb1c4def6a644f04e39aae1b2511d3c1df6b28713e787a9faed9fc67e9bb5465e3a482a46d8204982578ca49071900c1f883a03d9d140b153c255b9c30d729d2e02247ab8f1c40216ed9dca24a2ce7ee05229cca95e94799508c21db39140d2bd2b5042c88571c7ed78efd2ce6b73887d5ea778fd2af65be4298c2809ddecb0c5ef65b886ee66ffa35bf5e70396829eef0203225deb5bc6da7708c979ce27d9dbf3d1182a70c292bddc1de20b84f67dbd697ddde4fc81f6dc519777aca07c2d24f9ced7904521b2639ffc42ddd094613be6f6646fb6a202b17bd2b974c548b1f8e575bdf223d52555ae8372093e1ef4f1f2c4a668e21458d9e46e25950dd1c08613abba8d02dd893f7d38973e4992ec23557bd3aae4795268cb9d79562b9f61b369607d97734d88b7e44a250ea9e8397b3ad9ce43e9ddde7e9585d134d60940da77febd5de249442468fd8a4b8252588678dabd54892c4ecac232ba86c6ed10e0616ba3134ea9e224d31db98017c90de840fa94dc8aed4489d8032e2485b7b098079803920178f4af8daa2a97f05b70ab6d05f30746f67e37adaead32a4c4ee879c065b56316cf84e993f80a79bf86c81f142f90dfe59583b624d9499a9ee5b24d113689ed64bdcc309eacc94925028fd0dcf728be564471a3c70c3a90e12516293384f2220c08b2406212b3587e870143344eedfc13f47c7594df0f4b1a2cdb5e4618d9d0936ab911f80006772e9a8634a9a0bc55d090f43a0a9f16f28ce1019e2322caa491035429abd75fca6703790436ea0cc3e46f3b50e1e7926374207f2f7216a8a10c5893943232fda9010e1e947f408e9ce898a7a75e3d22f1891e1fb75563c9201b114a8c01d0cecc90a95bdc39611d6a92fe011157a4fd0d13838c931aa6d4397e77b4838dc1c89455bdd4f3adc88204e7f4587574c92681eee641b3c507ca1756d265a6d74e879d32da6e767b492a8968f80620d5da9e821fb7836eeb480840a2fcecc94e255147f07217f64632c4722d4d0c145483c389ed7889d66686596f275e426b292845a4293863d888fc83512b326d24c5de2ec8ab3c4be0ef70dadcff521882a867ed29e7d5cdd17469d476dca505de7c80f994f6a41d632c149e4713fc9c3bdf9a1bf9f10fad7edc01a771f85cb769c9a313390fd84567385fb10bdaa153ca559e6b645daa8e2846f708531665b8c9f980f2b5d1f204e1bda51d34c54a5c739744b15e93d193327294f435e231c58c1af7f1c72210a8715553ae9e1517f92c58792e896d61d44acd2d52102d05d23b8e506507357d5d11cb5c1b8e939dbfe664a8bd70717bc31ad0bbfb6889858433bcd752fa5f55c267eacaeb42eaf37502dc62bfefc92410c39140293b9bbb8a99b798e37f3fdd634f7d7b97154ffdffe6f7ffefab3a45b391d7ffef5bfffb1fbfacfbffefcf9eb8f998ee5dfe83ffee3af3f757b3467f6eff93c82db3cf76df96f533b7529b8f5ff369ecfbfc06c9e0f30ddf7f2d8c1e302f37d07ab793a76506fb3724b8f769ebc74daff8d9d87e2dfefb9aa90bf4db55335ffdd17e591b6c3fe379cfed3e8ffb9da5f7ff6f62bfffc0b46319282fefa33ce45f9e75f18f29ff0bf1ded3ffa0884c0ff0623ff86903e02ff0ba5fe05c3ff4ed0380051ff82a03f7ffd69f7ff56b4db9f7f55e9b0977ffdd9df7f8cf3e5f5e75f3041922482a07ffd31fed91a45618afaeb8f39b453ffe75ff05f7f9469fef32f04c2080845a8bffe046df1e75f3804fff547fa1bfd4dc42dfede08faeb8f9d16ff2dafe7ff06fdf9d7ff1dfaeb9fcffff6d71fe66f92fb52e67fdbf4feee6002832808a771fcaf3fe6fef70c86d224419004fa1f7ffd31fe3fca133082d0f07f9727681cfaa7fdc75f7fb8ffd3fd61fabfcb23240923044ac2fff1d71fb6dd8ee6ff471bdeff2108ec30e7fdfee75f0881fd3de8ff33441844137ffd1187b4defff186544efff4fafe77b6fd039dff827f7be77ffb8fbf33ad29b77f42f17774fe80c15e6e3b58cc53fd9cd30bdef3d6ef4b9a97e0d6ff57eefdbfa6de9fbffe28e3326f879d1ecdff2189ffc73a3fe7ffb9e0a75b5d1eff89dd79fe2f64a447defcf9d7740ec35f7fbc231dcaff9123ff8cdc32dde7e93f65a5596c8772ffefd2ff69f97f0cf972f91fd82ff7e37f92fe7bea7fd230e6e2fcdbdefffee7bfe8ffafbf74ffb06da73fff3ab6b3fcebffbac3fe616eccc5ff45f7d6f3bf8f73f18f52586e7bfbcfe9e17f87897fee85e51fa6fffdd2f8ff4af8bfa2f1ffcf75f11f7ffd29d223fdf3af3f05444b46cdfce713d31aa71856f91b898153334c8d390c2330ffab664389140a502ecd822461521836af1b3049cd28f7c92981c2fd28487019ad3714a7db778fa3d99b610484691d1e926e4161a258764a16627ba375d90c254e486c17fe38868b7196f4730288be6a720da2ce8be0603ee7fc77e146ea868e6317d40797ad969ba4f770301add39b417e180e9a6bc111c3134a465d50a71dc8e65df6381c0cb98e834f83f371cea6d40fd280addd16f40407cda58c862642515dedb175a4629b322428ede13b4da1f55bea724da5556af1deaa3340f5cf1d61dcff24462c7a276860532a08e331b63e870559bb9d6dbdae4e063c5c39c513a9912772cc115929f0a58ddb0d039b2db50f0859854e465a5713d865d2e370a8326eb8a7332c8721e1e79ea29d848c0cfcba8cb2c8edcf0c2181b7e9edd8616796de311f4b146198fd514552b0e6116ba11fe83775584314d961d3cf9146d2db0a7dd5d35f7e06cf34814019074303b6e651530508a3bac714f5e2469588581dcc7913be8db8e4011b6dfa04ab8f37d7dd9b2aab27ffc1994eca6f950d4093b313ac96fc9a1e1fa1587ac905d11476eaff33b31485ceb5a62d206b210cfc6e461501ce0243188806e674d1ec204e580a2bf12e5347da677708f108bf829261626b805afed93ca9638d5116a056ed4241a51a538534efd10323869959b1a62806b1110b6310255082fdf58bde185c101ad18b47b862b4aa2fbda0971c3c4fa610bdb0bb3dbd374c9642521e28b828b1a1359c8aac0924999f0a43e3447a3cf93d26012956e9e016d2d9c73fcd1959a0df6ee8160d0c9e4faa7c8430dad1e9f50362419ee83d2e8211b6b1187d9b3bab221154b61aed817dcec1b42255c1d2cbe561bdfd12299aa3973350aefc22eb437a751d894d67d5197a988b44a737656049bd200e5309fa4434c204a44d6b55821153ade3804901b60b0360bf22a3aa37f5f7ba754882487b81f6461cb6e0ed1f93cb5ae432aa9ea13cff00afd92b37c5ad5dc5ec9d5ac836055d7b8beb37ad9bbe72ca6df7bb81dc009bbac77f0b04adc76a86f1923b05baa72b4c817acf45cdc1a5d2332c58815a346877e20bae0fa222035256053695f089949278e8cb0e9a99d6894add3b84a16b8c673a720636eaf6b181efd16fed017d0179e205bd267468af86b24337acfe5013c3544243aa64ec9aaf73198c125207ce45e45db944077f6e36ad812add5ee755130877e557a162acfd8c0549c6318a012fd82b917602d0a72e0ba93f22308ddce15df823d41bf300bb50a49fa52cde0f243b7cd3a556e044232dbd67985d45837c2232f7156b28098b4d668a116403c0a0323354077e1ead1ce940c5219fca2d40a51fce3e72d06b1154d4070404404258418e4bde9c13f7fdd8e6735b3a1697400442621f8941fa7c53a19584cc107418bb85305cd6a27f4c86188d3fa954c63029f02827bf59d476c9420480bbd8eb5c1383bc3af362777814734a9a16815fd7167b15a24d99b1b4efbc72f09503297028d7e22ae5ab193822948b69c1f750aafac972e8dbd1060cf28cc73b46fb1b8e6cfe1317ec2c43e6814d2eb8640514900b954e906d3af085bb2783a9cfc05da2f1c221e9a4af6266a1de1e4d11223e3664f81a2f0d2d48d9cba40c604459e5066a01145a7121a8e59b05b31649492c1a0dfb723bba27085de2c25a3a2bc1209638f1b85034714822747f00f9c8c8f9c6c90f7f5f25d506acdf22febfb2fbb34dca9ca2c43ed7ee31c5f883f9e0d6579c7e7b9147f6b546acd6821855e069939dd08c4de9582eacbd8746b22153319416d3171758285a9b13f3bcc6d4cd264aeb328f4da95cf9efdd8f3e811e793cc91e3ef88ed25b555fa9433ab381f23a92c1218c6897d28409c260a1a839719c5a97c0fee2ca6e3a09c034de4e6a2354b9f200003f4d1300e299c3e5a46c31a4ed6cd1b6f5c41677f323f819707c23aee1fc0ccc12b42846a3933455cf46b8464726e6b9fe7513443aea4435bf7f92b258ec5eab8ad38e436c8ac6773226bf069b8c01cdb4950475f699d4aa88a9c879d0d4848139c017d140c40ab001e72be71a3b43569fa489b368cec979142ecf689641ef20daf32362350631e6aa038c42e82b0f4064a38cfc8ba481aedb2bbfded2ab1ba8aedef21f686a55fa7dd8cc1126a30786853afd50a6798a78d0c4b71d8bd3f9e0e7578a6479693a84955cff90de660be9ccfa9033b49719b3d7ea601411f46eeb2a41c0f775f1b2f5fe5056ef275efad1496b852478d36e48bf9e1915629e3de4b6d68f8200a02db7856798ee00b491292df68b5676c67cd41e81b6b4a96c4bf70acebcd59bfa1ab16579c07e85dddb0795e8bcc3fdaa33b7f4cf4e14d3bb0f294350412c8e1aa83068d64341052c6f7a42ebfd3afe2532a7ff98e3f78d77c6a6fe0f6a4046a366d03813553b6cdb989574decd3e80b9e67031503088208e28c9eb206a77847c5b7aab6445d7ef85da1ad8335cfa0ba3eab0fce2a686016287c6061c77cfd18b0487094d5e4dd054ef359ba4244610476c9d30bb284b44f338218819c21e706278b189640233528aaf4b8b5eb84c88a222f8bb9005b38d7221d68f116b0270834e6ff8c9fd4df6f865e7a9f172d4252421853b2d56a749b13ca5186eb9b055b8c49d1bd1df960705ff81d0994a94c2bde1e6f48a9f85866d0fb9501839158da24c47276c8a547e56d54623d1693f29911bd2cd60ec13ad38cff3cf28b02d5982900735a0e237a2edf33217b382e233a4eda30d24d76dc6cd649fd54249628082bc6caf7d1549837f40b51b41b805eaf04b69e92d8ecb83fd6611c1bb4be60287fb0722c11cc0f480c80b8ec368231b3d0b818718f1da3092a77cba09efcda7139e9a8b5c60c46a75d0cc14aae69224a100c0f2ab2041f8da7f4a7e5d6d8b9c80c5944ca81747424f9ebd0feaa5d2974755e8f160798a554148907ef8adcae17da947dcfb26fd47f8b3cdacb227c20e0b8c767e7f90abdf55ca14d837e2df38d413f54845d67a32b5574a872b79d72fe0062a163713a041320a13a0d42f555257c8cbd3362a240cd225b930b1d18e77dcc56c4d701e27ea90e845af16b3cba8aba23d40e99f1797ba5353a7aefccfe812e2009140cff2018fd111e3850d0fefb6ea7b686f4feb8a2dc14aed163f45d6599d3557c6fad5f3db7a9174cbcc981695a7d0130beb421955d8bebecb772c782ceca29cb05bca8f4aaf63ca4c88ca9b018972f6d7698c8e248c6e234110c92d43d1944f0a06714abdcf9954d7c560b026f36f57b609b694c41c684e9d37ba6b2e20fac26fafa49fc18dcefa0dac6068662cca43f545b98c3abedbd230b7b0dda91531f345f8b9bdd56661bf2c187f65c4b9ebd24757cf8323d842b00a501082ce8e8ece5520cd0d8fb12359d0ac21e1dc23b1b7458248c9cf1c1406f7b67be99b15a7766a43ce92b102488cdd66868b22b811707b681a8af223b095af36af4cd08ee3369ac91d7aea9c73d18bccdb10cf475bf567845fc41a6598faa63389d7597aa060c3cbf57e87cd824582b2e53abacd00b2d97497667a964f2f97930f828b936408a1fd5816e50535ca0c42492116141260fea53d3c8ba2629507d2b68ba9611cb0b093ed2a030b96c2814eb3540c9b771675a7aa683bf31de9e7be790d4651d038e881bd46e98b34e04b3e3aeb609031aa9a893dfa16aa33795961a5b9263f8993e2bb1a7488b10a5b2f3cf0b3c111d1a249c1926e339e721a9f09792b0d87fe2c8737e853066b62c067eccbc6bb10a81d2c5ed7ec8d61147a769b8b44a4dc7d0b04b23af2b04c006fac964efe296adb343e6d2aee54304ffa4f41be17aa6f11146bc5fccbe97cf8713acd43678f9458cc825ced4bc5ef7dcda1adfd912ea9b7d3d6ad3787ed3a7fef530c172fb017bebe9ac4d5dfc683919823336e2f2b5d6e17d55140461324ca71d5482b50a7866398ab3473d5b97bd7ef20a08d8e1744d8732e5fb114921758483a7c43290444990016f466106a756ccddd144e14db27deeb7df106c1958b980e384fca950eb69653fe22dd73eef6167f5970051da9a5455068122766d57ade0bc836f656d5a7d0b49a35462d38c1f7b9c80c723e950fd5097441fcb672c43e45b9ff172911204e11e4c480c9bd74682f49787244cd955cf28dce638bc5686507a5175b41042abf9898d12f271a5a18c2c312c21941b5d9d912ec24f345a07a66d095288d596efcbe6e87920310ccbc8b9e6a2cecc70bf32da7cb05b7d33d34935ec07148d69d0882d654ad15fd4e9b7e08ca6a20aad3d08471db6d4cc7b2091f46c5a675e0e293df275decb2d9ae1ac049478465488a44ce2c451d1306581b20d0eab4da24bb414d563f56c345361ea60d83da868f35e02602fe75a8128788215083a7cca648c229e75abb25093b06f947873f3124cbef90c3f64b3151dfde9275c28f918b5f6f39be812652e294693a7e2e6f4c3d8077dbdb4fdfd0e64f92843de960d3f7e20f2ea9428aaaea4feea41abe15ae12b5a87ab2a5373bc34d21baa1abf1664dd2d1b64c91608c708f50bc2916234d07c7e01effa93a37839a19f8e807ca048ee202a23484426e55011d753163f991108cc9b60c14da2d11ba7c52b3203e175a7f74b8664fada1c0242ef5601478ef5ef1f5a61bf4ebfd2dfaad8f15383e57a1dd9fa4dbecee9d152a286612e9a36096a63a7c51936117c41501c4bc4813586a1d506df6b6eee9a1279b762564f56388b982358d54374212c54739cbb9ed91c31e20c6a8cd1f093c6e978b54f14dbb0cbc240f753906f5f3106d8c80b11ae810a0061cd258eb3e8d5b58980d2ab7e7774880413488ccab7560180995c553af80c6d46678986a4f8d56741746afd204749e2216fb7b8dbc15e2ef7d696e2c4cdacd79c7f5f78dc5f2d6de87bdfbc9c3278dcdc3a145890d5b9fab37f4e004e9f04cdb52dd35ace8863924369a933e3975d03d5b4ed0991155765665755279c8389e428604a2b2842c8ede6257f706b9c258933c96aaaa4dddcdb68a415157b4cb36e55d416deeb60d5d17dd434a6aba266cef50356454d5d5438aba9c27a90ee9ac4432e34fa66d6187691efdbc8a6ad03483402e8ee4b092dfa0497dfa90daa2ef41dc1019d11677a02c20c094555fa6b542d423ab67ff8440dc1134c478079f6a9ced342ddefa611eb72c5ac063951197d60412fab5d2863ce427e705dfcec3133c0e6d47a8a4642861138971db243ccb20cee0879930e103e06c72309b7dc596f58955a951de9b309082d371204c18d6f69f099b154727d51546d57be1b96e9bdbaf3a79e9f40f9f939a4bd7ca9b5d7be1a349a753b9c3ee8c0a93b886284468d3188c26ddbd7b060e767b9d96f3f1a25606df5166111df97c9ea66e580fbfe258012490daa33abedd77d1a53d0833eb405d90931b15b0d86b38e69d1157db88c656a13e32c44f7e688cc399fa67c9602428a42298da25bfdeea89c9d26c230189bbf5513b3b11060120ea0a43b6072b6819436fcf4cf54dede644efaf6428a5d2e1d22c1fe226d67b670dc7a956a262320399a08cecb0f21bf8075f073665b5ec37f07645d842c24a283298ce7c20ea6c496e1cf3fadc786ce9e8fdfedfc1060a5b5a42f73a877328415e2306de305bbd32d930989a53c4d1d1241bd4f5dc7c74c2159a5e215432193e66d47d32bad7220d5eff81e1b096742d552e0e5f0b7eef1b307019d441badad88a112bdbfff32c21036215530bf406ee9eb72d8c32846d95e79cbf7162bd83c19da491995ae76ae8ef8100d45b2157b454db92bc856096202bb46c83c89e3e7a36785bd6532b24f69ed70956ce414e40bccf6a655fd4a7f7778f603ea5c04cd8500d75d208f1222a897088c9720b832d5a14925f68362ad84669b89104916a86bc1b945742e45cc2d0e598266718057e2cbefdf160e9b902e66d7a726920b93b7f0925466a4c56d14cb617a6556c2cd65a6653368b61f3e45c7d014cd50f2fde6efc30bd0f38645f250beb3f2ae1f55ea654fdade6aa858912e46d058b5953b5be71dab1b819ba1b2c0f1aa82d427f14333f6615af8ec4fb77e9d0b0fde00385907d2b4c911efa3e1c163298acbaca63c95658cd25c1e05b01f4274e51a1ff57ea30215b8432fd5067daf7c111162d293b21f1908856b58cefd69a627dfe105fa62540ad4e0a43a1017c0629a0c756768abeb0bc4fa8a0106b4fde93a9ff9619e7041a8bd67a793e2dcf62b66c3d2e01f5fba51a3b80e3b27c5361fe9e33e32d9177b19b475d036507972314a994ef85fc7a241e1e35f1dc81b779d64f063e106029b4c8341ea79e1a350ba4d81a914499f6bff313ce73bf7cd28b2add47580d4863957ba08750a79f9c44d8bbdb5ecd7b05eb059771d286bb49eb63a9f4e9ce78917ac5c0e08495f651bcce6d403e43a7350f631fb3cdfbb5050be881b6a29ac9ebd235f647c5c0b46cccf81338a6a2134ec43f3b98403bd685d3512d38aad06c7205da6dfe0d036b44b0341d67ab880f4c3ab7392930dccd1373d10cab1df5f99c9b6d921da4617cee37c144f14b10339cc813e034fc1952ef7a4958d4bd18a4d0b653783bf6676bb2326af37c527f55e97c4b33f55f0cbea80ae552c7026b4f1a9e4360d8c8f33f5f9242b0dcb3cbabb606dd8d9ac2f6e405992d03ccfd6585737f7ed25bcc4aabc92f122e9bef03dcb15e1c69275a71411255d8452d66fc7204b1561be45439ea04712b16151a4ce149aa180e17b5f56034ef3d6dc7986d78b764585e045ee24fc6ce0645c8ae432c95200321a85f8ad499b95b48d2d2a6e7e3c2b421623c239f19f876484b0b2022b4d3f32d944e46ed12bbb4f3bf40ea2ccee59e82d5691b2972d08cdb637ca86753ff03aff0a92ebf54ac8a651a0c9a0310db7e2b22353272947f8fc11774c51b0867287c5a3000dbef7e880492759cb8c0cba516da10f9340452010a700d5af0b069bc8527d1b0fb6d825cfdf740cdcc9c6524681d1dd5a9a32dc801c1c836787dbcff23f105f8b05f6710a1ca83746201ba7af0f824ada82c913a3ad6e6b518a75e6fdd115323e898ba469f2c1abaafb9d4489aeea325f3039b5f8f5e2349a32f002adfbbad31628fedc8d38384654808acaab2adbb7e2dc530d660b6e08b84864ba8809de4f5f2c1ae1d8b4267f8ac2884be01779edbd7e0aa94e1dad7ac5172bd94e2559332c5f37b51a9fc48cec1f9db5a806356d7847037e91eea060a0bec1af46a26cdc37088893347897246f69f3d7c9b6ce713ff5372405b56528421217f76b87983cba219f7a661ebc236018b7dbda967fbee1a51da5f64d495ebaebf9b83209c5d4bd9d1450d4f220254c53b8904daaa00dc344d69abaf0f6a8e09547835a8cb0530ee2d29aec12126664106b9a09f0d10f222b12e45e799b1ed1a666fada1f033f5a31712e3d82d6b7ba6ee983f797460824c997477c218be4d471ed6917e9f7c0bef49fb9642f5ed40f151628c357625fa21e4505bdc7172e818eda63064edb07f1f0b61621125d5a4bfb4951353e921474012a82669e459274f7813de013feea247d1fd4fb5cb30787c45dc087a849b1e0964dc2b88c46038f0a6d8eca778c0a59ed5165296f6729846f29c86729807e2a6456322b546ff88364cd6beb90cf880173c13781b15f27caa0f70ad19947d7cd04b5ce68f4b2e398682b63dda5966466643ed550fbb3f0e811308173ea861b3e658965a89614380789e53594951231ebec5f50fbb6c95380744390aa2c266d6ded8f0f19456e398091a518ae64d3b535487bb7bba61490bca7f7f39dbef7e6061e49054e22cc7a462034a48ff4d038d7b66438536af5e927d7631ac2dc9a259029c748329206a31ee2de2f389383b77df4bfb2b5083621c43bf77c3d9b53a08029bc4d6cdeaf0c7fa27cf2d1d1815e0f6497c1ac76002cb0b14c23fb23e1970d485117215fba21ebc2274689119d6e229d363a660631d1903d3d77a00e7d0c75069df38c59f51fbff6ee8a801199e298232b75e1d048a139619c22ae0d7d5d707e92dd38cc9057a91ae1531e7768467cd8d0272ed1230b905600ec775287a7bdda613fce95837b285919265d9cd1d7fd22429e1daba6c8a589064c7c26bf5e98ed01917d6661acf377079f538e4e36dcbfdb92f9064d14bfe4d69ea6126593d78135aba975413834c2291ed1a2f44f760615ef88401bd5aa0df559423178c4d6290f2ffdf7c658cd8e2212b24376eb1e3a0b35394f73f557bcc00a4f722e73c5d78f235b53c1d7eddc1b322e9374b2af2469c46cb8980071fbebe8db9a5da191c1d8d143c1b88e9d92d9501f8204c5e94a8f15b2d29c8714586f3aa477cc3d22daba535ca00e92b12f368c040d7d058fcb2ce928593a3f0cc58f2c9fb6dd37ab6a7afdafeab935af05fd6914eda0c635bca73aa94800de6d1cc8369006a70707401427ae8c84d084b4b2b2e550d82581f24c20cb65d555bf5fd0c12f3dc7c9043d892c281e0b7bc32aefd11b1e8b32bb986f0525775fc7e0dd1293b2f2e9ebc99b7a93d3bfd4f0a880dd6178126259a2d4e8d3a26514c2a7b757c7917c6cc073419e61324e48aed911b062d9242ddcf8fb2028c5911f21cc850c624d24ddec3d5c50c957bfce4a1ff2be2ef0ed414ec5c036abb51b14dc3147fc31b3dccf2d7ec70c81b046efb696220720e0db0902855bd06858a13d3efa6f597df63498540b0cbb6c6a142617d0c6d99fd734d2eb0595416f9f9a5d86ba8d0c8ba38d3ba013eb73aa94d4cb8849c016699d182160784c2b74009f764fa48e36fc43f87355ac855e1cb06b0dac18bdd975cf6a0dfa84d9a79c9f0cef346a6c8bedd71447c0e76d36f96bc9c10d5132581ec210f7d3ab5bb48ccd40dc0603237da0a6b71ec2168bd0bc6f5bed112a7fe1c9ba1007040337dc1aff0b12ecb759be591963a93a172f6567b6e779b938ecf6b1c67a2b7c015061b25c6b147429226459c442503d481c70e67b4e109b931714b258627f6b9a5b1007b5a4a326fe5ab3dcf3efb45cb04d073a573d129e39e168df8622717389a9b52e73140211bd357dc8db26a391c543e88bfc7a06268a3d6d74b1937169166b191d1642883768621de707115ed1a3b2f6cb88dcd12512c63d2349b65d31797488ef5a3f3547fdaedc2d4d2c522e8392dbaf8545f8322d0555a77ca21f0ba3b7934a9ee9fef9007fd7031b700894ad89ec7fc6928ff6ef2829b2c214c6d7a7aee97c9a6d58b50932b3b634149c13b2f14e1852d8dfcd8112845e1ec395a03a5954c9b32d29b12487d0fa81ef250a53d7657b92bbd2e1564f0867a1bbef05defceb347fe07f05b27fcabd79685ee40f2179d3343f5389f6b8588b3c8fa3995e2fb0dfcdc95dfef4e1c92e3dc726f1053608ff595a7868fcf2e0c77ef15a760c270ae59a4f83dae9fa34e861fc67b4b651c28275122feca7c5a65e432e593545ce52b6e7832d346a2c7aae6e009ac9443217c85ff7654bfe1c265b3dd5be9f7aed88d1f30e7403c9dfb410a599e888147aeb47faeff668df6b116101ab822fa0911826701eb13b8c202a9bd2bf151d3f63abf86a12a3be85584870584174ccea9717dd88eb3058e027ae1a5ed2223ee7de6b01fee8d56eea0952dd11c729244b6095bab799325ce4c709d85b141a609b938fcbda23a6abced6fb01a4ad7e6ad08ec47dfa2bdb0fe2684d12c621962691372cc49ee1573c82395cfc1fbcfd08e48c32f287376686fec8048e9e7b6d0e3f894893b8bcb02ae2bed2b05f2975dc2f2e92652d50242d7eae042d2b6c07370ef923513ce4be86b69d74f214a08f777afa1018653aed48f2cc44384b79ecdc06699ea47695676b52c8b73a4009b6f24c14ec72a6ec6553194e6b592e0455490969166013bc9c1626bc5140d408d5dd07cf6c14cd4748717cdea0b3be72f0412ab3674b9274ad23dfc7fb0a498d2476d3aeb248d6f20be8efb3e0a07c74742b4ec9b994179d360112b4d9acef4df3fa480cb2d21b20314dd1b6be7748c1b3997475023839b98b4c2f6a2618619e48df9133c9b6c33476aa3025193c3788f3d131d88a6b4ade2f2e00b4b7691e7f97dbfbd8c4a391601a96d5647fa349f9ae93c084b360485b49681698ec4acf30f4b9cf71d65950a8b41307c1486d4d2fe03b3ca929b36e85d6df639f4b2c43e7ec2c54d04860e243a8d7d889cb073afbce10a42ce49cbb811304c2c8983e7e72acc4af888d4e9e9b04e32bb0ed98633b3568fe54fd5e1f8e85ce8b1fd27764fa8eb88a8e14e66c35a2d8bfba2870a31f9b078d956303c992decc5c772811d0336f5ca7fb5a878b30b39da619658488e46340a48617d55fd942dd7ce73cbf43eba1502df1b4663fe30a36cf5ffb2b56c57e6a46e9abf0ca95c42598060a7a26ee95d68c3b8e758dc098077700e1c8351cf0b723535044d7f92649762c19e4159f46f66154ea99ff96c2e54d46c6ee6767c4f6dc290064d53810de3448c41986e73f77d85eecd4d406351f7ded4644e02443c9cd0def4edf0bf91f273621344a1ba3c7275b897a124f753410ce72bd6f91242a659ec7a167396f847670393607aa42a90e7bbbbc1a714c5b0ac5b93717e06017e281cf3f437dcb67ad4b889587139588cab7d724f6256faeecc40481d92053282ff5001e50f4e2b2088ac30eb2139fe1981fd79bcd2e386f13ac9d81d77b3778277cd6a6bbd82139b17895201d03ea243a2fa63187daef63f058c519554d9424d6c468b57d09bbeb7faae22cfb116ebbdf28ffbc77705b7cdf99181225fc3a5d65419967be792f5dbc2540e21d7f4afc72d77f5431d16bd7f885199ab252216f433b90234d4d9559f3c13e86667bafbe6e2c37f8f898e361ae426f4d4b1cb2cd4668a8b308982e9926253cb78523d5b79dc59f274d4c810756c9250bd5b7872a31d788dd622a46b607d362a1d8de0669695c1e299b80881925a0739da670d8a9c02ef9bdf432aea5e7faf2a9ec866e98a1d7a5a75cb1951de1728fc47c98581cd7b0a5df866268662a5081ef062d1082ffe616615a328318788489a5f192a4463edf01a376f5a38ddcc99996fbd2f0589c21098eca73f750183420e4bc508bdee733958688696f0bbda95794d3fbcadeba1715de01961df59de0960a65d178538cc90f88722fcbdce8121489c0f39e0df4a89fc67c1eb27e6eaebbf80a5e84e9b462ffe12b3c4fcb0969510051b9f51d121c9ee45a415249ee6e1005b8ba41773c6960b30451f7ca24197e0bee1b2d0cf10898e9906311639cf2938deceaaae25287c1fff6afa94a7a71ae6dd451cb718577d81f3fc2dae56b9a01ac69dbe28427cff6cc431ee062f07a4dfd52480d06e929c27db7413c6e116323461e7165cde051b86e817cf77852cd7bc27bf1ce7c2312b7dde226b9d24abf52d94c7464f0d1b152e7f0dc86206b2cbdee1af3a4e3590fae5b7004a2227c9876c2f69adfebe5c9f54abf593ae33601221c65f087835c933608839d8ba4ba4e1d7de996466661c6985f5299083da49f29dbcf273fb8704d15a4cd4e64d73feef8753d7794f6e1d7473cc1100d004eddd294449f472291408ec4dbada056d1dc2d5269bfa6411a0ae0129f499bcfeeadb816a89cfecad09fb940b05b8560c3744212f487b019406a8d0344e795dc91fbeb063aea08f0b12b47e6f065471d064521d843320501143868b87d64534d55303180f67e0c31414bb600a2a09a4135369a9a757464643698485d0b39b104a005033b5b4a44abd6e5c090e74491af7a47f2f200d6f59bddbe9621c3d288cc4f89e62c1c4580e4466be0ddb05a2383b458979f79baf83e6554943020bfeb9501f63f116609f3bdd1841be1000065afbfc163019088de6c8402539db4225bc0195c6554c6a92b33a5f9f9acb4067d323487a6c20acf95049245dab2b98873b63f8f7e7b015131bccf627ebf4de1c657f56a8f0dfdba3050f39d125b4be14ccb818b0a825f456ddef9935be0cd66d8b17cf98a54ddc56cad00e937384b22e37a3e16ea0eda954b66969ee9217c308575ecf71f7665baebd7be025a314b832705e5cb30ca17971f78f8ea482fc1125e5476dee3261aa216b7359875caf5b6f3d5b2a957fd00bc8e1972fd3952c7981c93facf6c4b5dae85f71c7363aea9f7220b75ee958f42eef5c2cc197bd1a88d8a30768563d5d5a114f9ece42dc1caf6eda3ceb5a350255b63bb6bf96c22b4aec37af3d7c08a3db35473bae0a91f6cb1b1d6136ece1cb2eea0b2a9fa26c13aa9cca989de28c8f40b040cb3f92f666865a484f1ec13fea8028ec212e9a3490777f904501239c1e90b84216b71c44817cec3e83f63efe876bcc2dac69e66f59c7c251895b12395412264b2231b7b7ee91c7a4f3231953d7e6a8d24852618a929e50c1c4b05f016d3547aea64847825309912a4645f04127935fc88e8464a9fdd7498c1b35137bcdc1461f39f2925f3234d7b7a1b17f82b0d9dacdcdd55140a95a80e8b6311d4f301925fd58ab093010078eb4186c51dc0261d44616e2ea7539534f2085a40fb905e1d294214047f424d8364c2ccee37636cb1323cb682ac4a1e35d204e1dbb355c8323a7e5147d22b86d024aa798c3909f727850c16056ba5afd5c554b9e4f0057d86e3d0bc28c108c7bd495fb3c13375d334ee5b586a80e40df6024dcff3b2148067510de3dbf647f5749a3b7a4faf39ebd3f676fa70b6bfef0d3876e11cf67071928b7fb52b143fb149babd6f2e2b7ab081016f5c9405f0019cb51f878ed49fe3ef376343784ce3c81b0012203f4b1a345e6c3e5ce963707701be93ede604a58596fb482c71b8864b924e91a540d3ae029aebe2e5929af8335eae12a049193dc3728a774a9117d16178fbb9411df5bc056d5705851025ebbb04b4db8565f3abd4da79f66f2ebb8df814eb05c55a6ff262be0c3bb7bdba8a4a66641159dcea6c17836e969dc758d22271ece90a82c3201d415548706d81dd8d85e1ebdc9d0fed5788408c5f9e05ddbb9d1ab868643645f66ee1ee098ed21067d7e8429803a2d86eaae54b5d573984a4183d3788833c9d8324259f7e54a410ae8fa6163cb02b6e0f92d1cfe5020d5b51f60aca64ac10249f6e4f74bfd2e5105b90848928de39c82c2cff7922f65d9b7686bca663bf93b363922414a8d80f6952e769fc92e67921cd9180b687d55f6f0d74db24fb6f51c63978799e93230806af78051223ab99582234cee42e5d89bbfaa54e9de231ae667a2ed8c6256a8d0091f95fe417ade3383641bb2352a51955dd1ca8ba71c3e8ce2eacb887b2bb2a531b218138902336733b46c5d475c3d4c2a3aa2cc7767d10088a68fabee3d439cd4bdc4cfcbf5525eb0f78480682ef00978a077aaaff57553bff9f554863a23ec0dfecb43aae2a84679d16b453188963aabe0ede5a1c7d6874d1b90ed1e5cff6b66dd33174d7897644a2aaac4234ed3d8506d27f24782c112479bc4de5a5fc637e80f67a5f162b154d5547c2e300bcd9fa0f7e2001990b89a850ac03818ed84d92257878d1b79a33f5ec817adc2819cc65f310768618245100aea0ed0b75b1a226c18651ba3d6fff151e5f173cd7c136d6ff782f0a2dc9b0872ced0d8bc46d523591e8ea4f84d0a283fe4ed71abf1fe08157cadecb9e23b34c71ab08b96069c75c4ef659becc51355b550c927447ae5b72ac87e09e0a700c3bd4c9f3b6109d6176e4c06c4fd8b21f49cfd5f9c2ea153c2e95b14b15e9f418f40f195413472ecb648b7a70860e52b8a796c23f7c5c22dd4b0e0a5f240f5a9d834fa6ed021c69743193beb61888e9c74330b666afcdca26fe9bb32be32cc64d9494a3797b78631e13607eb0f193ec39d3bc8e8132ad2047c37cbdb578afda0ad38c6c9f529921811f4d1892b689e02d4ae127fea44b79e544b201cfb2c0c74246f2778ab4cda2ed9ac8a00caf351f59f2d36bc45592c6a69e3a3b4a5bc8cd12ee814909630fb68daf6808595359bdcd9c4c0545b737156005e9a591173042a311543de88383d727cf71645e9bbbc70040c6b18ff47bf4053f57e6ba4870479cb8a664f5f79c56e1f2a0cdd3742f585af1e85dc35649403d39943909cf718e0ed5735d8c636bc2dfa35605641ef5a082cfc7aea1053245b168c7054ef8bc7943ee408cc6d5ea2d3ee8aa0db5f44bf583509e13edd71ed3229093dda761cd504998b96b1fd49f1e81ae691a46f096e52b0bc8d7e1cae3a2b69ef7faa4c3bd48376f9f9818fe3bd45c487bcbff2dc3ef4eb900beb45711653025f805c4412e3366b8a41a73250b40969549fa8d557e1b61e639b9dbf4cfadbd3c4303a7ce65714ffebc832fb2885fc332ffe6d0239bcc6df29904c91dc6cc9616b95960860b8153eced38c4a83ad0eda8617f890a2d90768a36ab6e8b1262c12541ecf67013b8b5ac28a1401cf4f318d6af7b869f4e850a637f71e6c6869fd680aee92909c27095033b80ac328ad65e6cc2738e6099c8cab794a64ddf0f91d55ef06e888a7446c34a4fb83772c8976a94f68b896e9d16e3bbb2106b67814fb1cfd447dd11c38ea186447d2576850b9f24bc8b14aa7ec11a498db4824334bd5151e48fcdf61cba9d4dd0e23fbb7bc6df78c2adfa2c479b4a55eeb8b3782e0c34cd571a23bb450e7a01bfa961f9de582650fdd371fa84c138a896dd1470ce67031dd2bc65f4e895b306451b95a048bbf1f1ea69a3cf1d3130ae7f115ec07ecfd486c8d7bb95194e469e7540a09c11f944a6d6db61479f23d6aad060099837f16dcdc7ef3956da9bac6367124057792b1e5cf347941e7fd560b530e2a629f3beea6503a4952cf6a2d5648e192038e741a1bd36a6d3286e6e57fceb551ec6764ce606f3d6756835e7fb1302db4f34cbb9d2657ce261bc240dbea60927e4da9feccb6e5f3c8854123906f205f49cb1fa03bd5dcbfb7d2b9a46cd58211caab6e203fd1d52c6bdb3af291b32a2679646f6d36b23b26d3f891de3ae4f52d5d140c3a0d6cf27a37df68f0b0388bd2e25b00ae5154d6e21230dc30cce21da2e9e0bf1f59d4d4b58a59cec7811ceb944c7a23791d16c0ee42983d400a9248592e0cf0696f15ea8412f116f06b7cae4d0947f5282eda05d5664409ce495a461c52524fdadd95fdd5ecbcb651cd42e45dff709a1b813a34cf54f878c79cb1706b12a489ea597cc75cf049034ab1bb20baacf3583905b1ad6426ef473e87e37894190f9933c7d22c2e0696e3eaf7ad44b2dbf68378c0e58868334bada7b080aa12fcb94eb33025a1210bd64be87c79cbbfa54067bb2dd07a2f447e4b11c739846fb7f5054d7d6110200004007a2c0adc4dd9d0e3bdc9de9f332c5df5d0665ddf763daaf1b9eac5ca293ed4efe1439a2d69a2b0876bb63b58d7bfb4473c586308b845321939ba362637485ecb6ea3051e4d72244422ef63cb62228567225c020f663ae9ec1ca8e6f65a35f74832a6ffc43c9dc6e97d4f465ff388acf16cda3d5ec4a61c8ed416d217be9c0e2cf61f481cc17a213ebdf7cb5b71a53f3d5391cf8e6a918a2dbdba2d5a7df4f0817e65d7b289a34318b2be90436ba8030354e75b6b3c1b7e5c7e3292f72a6fcfbd1c1ea8d2c46b5d71ba6beb6d34a0c06a198116069bf39d9ba4c00b124b3e268fec3b7f65139861e1ec6130be1ba6e1dd3689ff1e5a7b8f9cabc3bac47819f6ef8b2962cb8fc79068de59431749ed37a9aaafaf8b8b09dab5add8f61d5e537612fa774cab21a757d103118c584479d58609d93c95f6c036e5584f6a212fe7026a244a31e64e1431456df8bee1a3607882fb6a5df0d68c73b53a6cf7b27af624f41b0f8483e24eb3d23759fc5e467e546327be32b9bbe4934dfd09184e7ac1fb64b4286b246bed0936bfff09e54ed7471d8a0e245ce8d46cead74d72151d8122fdce023bae16b0f932374a78795a7c42114f2eb4803b9a443eca5c14642acf8b757107af476e0f137d40c905678e52c3981f9b8584a88a3def551e546e86f4c73e2a78ba9b466b6220be15404c9cf3a1b8c5e3e6488379431d92e63b920f1ce992f2271d2eb830931981388bdcc5bfe59b159a8333ab0949f00ddf3d9dda10bde78ecd5e9aa0eafe73cca01194c8d63cfa3babb95996a43e252cc604cd8e86fb4b8a5f20ba42f709f879bf5703324db6bf0528b3a968f51577f3316cc085d0718488acc698c4ee3c7d8e3066bfde228e13c298e24d05cc78daac5db46ccf4229bf1dd85d385ab2a7261ccd2791a4fd83dc1856655a20002405de09b77f62aed9c5aaefaded6459c9c5df8019bb2ea2b24f125a7da08178cd9676fbea2069dd4a3cdbd784b77dafd548b33b54e5d2c8bb264285742e550231265c4fd98b89e9f4c109d72162d7b5b5f231144d5a87e02b81a49ff0963f360a475ba488ecaa39a9f880fe3b40311f5a12dba98d25479ac0edcb575b1e8b470bd2b4781423503b638798f70cbb29991ce86dc6346ba297989c541a99c57ffc0895602776391945198327781fe58c2c3256683e11c16671e5019b7605dc511e5554c3c822c1de2641d7ec39aab121bacdca90edc16724e550406a3e40ddcd49bdabe76cc35cfd3598541f1cd31312c2024cc77057cd622c5fecc86017a1bc22fcaa37d302fe11d1f55c366e384812a23a3349e7a2c7ec32275529cb1595a0674a2fbb45d5ed80545989588ed954768587594a6dbca81d5a6deda099dc7e89a3835f881bcc0c4f9fc2a1faac049c33f4b5e41dd4661c30050cf3119de56a9e7db5ae4b58a56a3a1a762ba8be6ac4f99e646ea60c3fac2f85816401f5159ac2731121355606d43ddbb2a8fe1fbfb0a5f2b2d8d8c4ae450b5c04971d4fc2e94d20299ece047dab1ab53936eb1a093be1e8a5c32746edb1934bda1d3a7fa13a3e81af687ccbb89fdc113d78753b6563cdc6c6842f437ea775cca8bf55cf20b206c6834392e4afbc465a1e18706f3e10355cdf9697b742aa776de227842c029d5ead69da818e2d2d002a2b61b208a1a77370da332836ca54d89a87c58721817f6068282c76d16d1fa0e2ed4f5a673b4e2c3f1ddac8735b4cc12ea34c11be826f88eddd437e717ef430343841c2ac1d0c0f5bc0bdead2859c1bda4f4609df16a549ca7decc04a3a329a664716327f3204c2d69ec872f393c5d63c90f31ba08c7c5e8af1b30ab2782022ec9f2a05df03d1deafbc90a18a04b0f16e255c5e7afa466e5d7d1d62ddfebb1a2605af4f358fa1bea06518878f3f39eb6d9ac6dbb2d336d1147c264fbbfe8e74ca76d425724f7494fd0ee0d8ba6527fe7de89b111baa4294ba25d8aa11a01c60283ed98ab0b46eed7d60908d70465f6b7498f160fd247e4d1641a71cc5a9130998c6f36c3a52011743772dc67c3c6a3bb4eff2e1b773de47ba7c7c81b8ba900146489b44c475e20e21e3a36cc6b10aabdada243a3b05fc8ea4a8f63d05e41e97463fa5d9e1f6710603ddb5cc1c7d2210de5d645c8ddda2a268f8b74e942b53090261cf33de2bef88f9554274e1a0a9ac762e5e89f0dc0d2f2067cf9f49b71a9356096eccdc0965ea7a3efaeb9f3fd182fcb65c9d2831d9a4be43632ef3c420d625135ff469839d604cd230ee16171fef2a71fc51dcef0e674f77ec3812041b3a9e9466fe87a41aeb6be1030e36477b7f58d2a7defe8b404703e87e78ead7db68195433f68a968a702361f00260c542290b4aa57f26c63feb6d827da1126e216c7aa0e5f3d001c7df997bdc0ef53b80293e9327f72353480ac9018166336cf07f8baeab004955e7080c97c2316fb6ab5711e03f7456fff16676f0d8b4d77c2ec85f99de19c0d9d82c971ee96eb9d66a41b7eadd936c0f6cf3f54b3654f75d090da2c64a5d0386188543527fa15bda161472f7482efb09604cccecb9866d4ea9a0cc9b430955c2f5c187a8ccabf2cbfb2bb8ec75f2ae5cdb61b9fd57bdb1aab1171634c641d815646bf1eaef5f95039c54c8ba43f8263c450258b92c7b472c1793831338f84491d96ad31be3502a54601bea488dfed43d66189b66a30b898bb7e4d5b11e277f5f0c5dd8a4c9d4580bf1118f288e365241d4774f60bda10611c6fcb3729799788ee02c2d487319990c7acde1373310ba0b4cd6532202bad8f0cd2fe4e4680148298c4fb10e78a6895950f56968d4725587ffcba5635c78bde83842e486d26a83673225c5b4406d47830ae377a4c0e27b5c2aceb44d4ea5d6211f8138a6e74235ecbd7296c6b4799367149920cedcae33af7cc1461f4cad337e44d396a8b32b78be8973fbe9cf336d40cbeeecded032f1ead23f3cd4a5538caad1c175c72f0fc6bdc62a2317c6d57fee6fb22f8996b503ac823298279731a8c75c40f28c52da29135f8607caa41a933365f197f14a7147d9fd2522be3fc4035480d6009c837674458d3bb33fd39f5a58459363a294a2a111be69502c58e343e1e36b1afea000c8c4d4f7712d97a5fa313ebf74153167886c3c314b877a1c75c8a87bfe1d6d287e61cd5fb0110d69297462b929b1bde2a3a5a26497766f40fa385e2af9cde57259381f6e52d6ae637ae0c07136a96667de9de9e7062cbb15634114a8b90cdb2268f44b49fc3eee198908b3c0d7de9c490869ea9ab3e7a21e0803856110377fb39de6c35b69f7e3216011367c02aeabb43fd49cdcea415e8efc5b320d20c266d673a394f2e6f92ed05469373279ce20645cdb8d41fcf425a3e122d7ebf37212795c6d03df3dedab926551982314ee245afe948e34d036a148052d37921048a594b0cb0fb99b0ef21b3c0f3301fa6466ac8086a63d81e45adad05d47bd684a44531a7bd0a3097f8ceaf4c0cb2b002beb8afdb0ce31ba35a4fb6e4ef356c1850d7a08c246b0947e97a07f8ef3883415ed42d59addc30f97d978aa796d592c19a177d21f13c3cc2270a5a39d248e8ecd25786a485f09caf04fff34e8170b3e684b8990d39599b2d2bbd7ff89879487d17621744f72701597f3ec3d4b21a16e4b27da6a2132e083d87d2b69697ffbe3a515c13f631b62ce5843f25813b9458aef552522c2874e81a9517df7d1373f6ee76a015b2b65b6113798b54770c32e299274aa6e0a4a3bd14a27fd126e1d0877b60b03f2fe612594e532cc8eef9c89611bc00ff2086084d7454e1a859cbc1f8bd766aea246b5ede991f2d6f4a5a43c91d35f3793af071b94b40166dd238d96666c75d22b4b4e1f4a4914c3068975b3e22e914dd298f94efdb4da28e94ab4b77d2ad3b1fdbb050ceb001b7a49acecf332cb12e52e1d62eb212e2f8a9630d5c16239a9bb4e334138957bc470d5601ffe9444ef46eb0601b37d1d683d3c26a16fb4e71ce8ab5fd657cc84f1e4fc319775adbd7ed70832986ada8aaf58fef5e927dcb6c6ce25cae134c1fbb492fcafd6bb40dc72c9599fb3c2d4cace1ef48babf33c7e95e52c466601bde33076f19aed382cb35148345524e14da34a4938f48d47c1bc966aebd75c9fcde7d8a79aa01fa245e8105b63cd3536154eaed2507c25a6030fc664fd98f35da9da007df9442bf678beff072670af8f994c78c5db82819eafc89c4a2dc207e7498983ee5a838cfa022a98f705d40ac656c34c9a0192f23c4f9adbbcefc88c0ec806d2175b8f1d6542bdee1e780e3efa3465c7559267ddbe27ea822c0c99cfabc556dd304e770c1c10dcd2bcf84ac92466cbf9fe175d89da40b325c0c7075bb7aa6185a4fe47d8fb24aa1c396cc4b66cb30350c21776a726234a662e22365407cf7735e254366172752a67d51fb69f9b79f9a9ec458c3012a272ec68ebf2584aa93b6684c9830a95beeecb06386178057551e921e442d0ebac48d0957bf35a3dc29faadd799dcd5fd81c999d34fa681d9abd1781bcdf6e9b1869c5bbe7781f3b0f09d7d8383ae83aaec0b9a9dd9f2881121630bc7a1a6658fb63851161f5c1bbdb985fa7622f885eeec5f2cc30c5d59ee38afdc8cca34336b7d9a483376b12de16c6803dd63fb5c4246d701e7fa4bbc75c0b8b9578398343e8cdfca555fab2c2a59d34513aa3df1fa53f98b91be8e02bbdebb12f7c0492def61d8c39961681674c03df53e7059de39f89b8d952fa9e7e66d8edf02fd6545cbb1bd5b0e546c0abc5665a2607f43fe2e1e1b2fd86d648ed8c9cd6b23a2b47f89ae74d6d34630654fab7351879719ed78ed2bab03447fe1630204732f98f1c152ac5d09d024010e02b605b646fbf874540d3ceed2f10319260c65effd758ef026d4ef8f5a5c78edc1896dc4f826126fb0daad1290fb297874febc990dbafba876cb2c79ce0030739e1f602a48608b0a6aad5287b5bae67ad05778a9a84eaea378a7118a0c0e171ecfba5270007865beb5052142e4bb5c2ba4dc6e4069fa0631da015ddf06b50327e35a452687cd7e8c618f1d37606d099ae23b8a3fe1d8d662b48dd01781e9ad3ec36a3acaa0a26284ccdda31ca677a00a4a134f3e48aac6665321516b05487e0976b44abcdcca77a3b6b48759990858e6b8a4319177930d67a7ec00ebb42e195626f034a94faa315fd36119aec2d68b5559c7e59bfe87ca8288c50475b6a7651d4ec888906cd940e5bde2921c3e158c52596c58ec88b724fa29b1fbd882de333bd86a1646cb1b502bdbe582d3d8add6f238203acfeda5960923b1976af60f0c450df063f7a4a2c390104d60e641f798097e564fbeeac83d37b1c326d04d4884371d80551527ebdd9b76801ec39354b800152082fc0b5d6d4c11be3539b94c4cab71aaa5e2b8c573536a838026fdd55677841f8e372de86eba0658fbf962b007959f18739c77d075ecd66becb3ee7eebc52fcc57cfecba5642100366adefda41438b86bca4f7b5c9110ecf7a685d8bd540584a17469b740beb6003a26289d223f9efb366aa5f59e2ac8db24d14e0f056b42aa61284454d3c1387cff14845496473c773aafbed48f696a1a246b136679e9c878c982cd33d66a4777be73020d97f67ccbcee1d32885ac59f75334f29c9a6ac44c28cc3a504e49e061ea4d2e348a52dabecead66cbac9ef9e7bfae2a31f974b922615fd18330c7998e958384445eba89328b7055fc784166a9de14496381aeacbf8783ea282692a5e415dbeb5bf16a9e8df28ab3d2994d1c6be93809f4e6bb7d90deb25b2b79c79b68e9a690e516828f2dd974df9086329f3a3337761f04b2438bc57f19103852d1e46c012a507f02b339cd00af932ab51f0afa3d21ade76916232b22205472b1af91bafc52bb0eb08264057b4e775e811df315c85407184f03c3ebe6fb5102a523a8e55bbfdbdd962d49339f701663457e95faf1d876a3d9be79e84d70fc53b29023ff5f6588880d621b4726f421931f05bf1132482c8e376fa281de37c19ad00e6ac3467132823b327f64b4489082ccda4938fc802b63bd0317a06f927611bab08068dac22b28f60494ee04af4b6e73bc7b134d2ab30318e825a748ee425c34098eb588f5a590c61b55351dca3a1dc56c204333a79179a7cf060227e49280d5099a1e189f4d661446b57930a8241505e49e61811d95c61c2134a5e63260f2dc04a294ab13081c364c5b78a8500b5a3f06558f655621ceb77fd2edd0f1d6c86bf29da4838ddb12c84526fe0b81cc66f0b60b7e5c350cf0f0223817a9db25e021a785abc63b8404abb9e6da1221c21cb4538ab8c1f197cd533bab203e78b12da846d45e5c3f31c313d5b1ad89719f40faff1f04af38ff80b0243c6b3e8db61be6466b66f22f5a1e197c483d7367ce1629724fee8fdd9762dfdde98c720bf0ed7e527908ccaf74146b8dc97ae62c04d725207562a09d3755f3449eeac4ef93f8ab54d3eb3d54724f0258ff1ca0321258c72d57f92a5856434e60019d6c9fb19d438a41df76a2390ba44cc1ccf7233832b77b00224bd060ff7e7c9552a87ab3cfa900e4dde9b0939797c11ded57d8e9bb9bc742d298b5e82a6372d685768f25a4aeef4e65a41d4b916cf75694fcd7e7d0ea45c5284e09712e57bcad2252e302a4e5e4144e245b3a437de1536c47824710d7a6eebe1da6b82205b200296a99f8fe4c818bd7e585396b63fead793b0e6910e9a9a46467635061def2aed3ddae7913f934828fc88f61758b34738ab42f4e2c94b358a7c93b005db75d29e41b9f74bf4666534cb9f6c208436261799c5b1d8e91a0e2a52b7cb16d9352b72dd210d4a67ce4d272ac18bae1925018ea852f3aad4e7685614b0a42585e1babe37180138c65b17e5421a07a2a6865961d32dd4e81540955abba1bd03a8d86546cb26dad22fc42314da32fcf123f4821ff28e28d374fbea7b251b480a76be037614f86364d855b29d3562f1ecde4f54b782be81dc9833666efa7026ec54df3326d5eb374c872bc799d42da7960502657c39bb215adcf13c21c152c653e4cb80c8389e873c378c219c53345d9834544cb45fd6bf317ec8016a5bd56bf7628e0963f0f99b1e8fd69e896d00178746aa9f03e4098f8e889724db9061ef9d871face4071fb996d00da5b445348ba23e32e3bb8e6d72310c8bd42b56162b1bc2fd20259e8653a1d1ef73d8551539c270e654499ea85445df401b1341b57802d7b833709f82848b18ab8708fa01e13897c480634f7c02d89706b47c13b6c6d9046e9e91bfd7a13ca060142b033fcfb91d9e3f4c469677ad85e84583b96e2d07c8f2b6df7a47e464869f13ea066ca82513f61e586e33c51d5227edb854646265fc780ce2a65c777fd7d8f88e8ede724985fa1ad69f795c43c8556189a70f83d7c75ce3b03a4438a92afdc963396f9d64ad4ca55b99dacd636530adaaa098daef0a6d9e015dc15bd452619d61ddec4b4c27288beb8befef1b427059cbfb8347a6e5fc64136b00035bc07645abec314e2e564f2ba0b1c8f15c41158f5d2c52730573c5443ce2791654c3f19f4e566d5c89e35217e6dd2c29ebf597d1a822264b9d50278c8a45587b40937d3b04d78fea56552fc1ede277608db24b30141dcb6e085b7c6d5512aab10f33a198d47855a13a9ed0fcb208a45b63fb74209816e9e9d157987676306862774390e82f6a8de515af916ad58fc7af9ac28fcee96cd4bc11041d7ef5f4a5e3688f838d44046ecdb1f4a6d591f9dcc66692c2d91633523f335789e02c3b8fffd9f98e90958838ed3ce10c0954fd65d300d01f5aa787c7cca495f990ed63ec76bfe247aaf9cd13c015921cdb3be719d639e406565893c584dfd560cccfb9ba51dd4a6d1ae0ec1d4941e268b80581a35333e9fe0df832fbac30568c0ad4b3dff9d98fbb6c54a38651b8a157d2ac41517cf330782a2c422df5532c1502c307088652dbed2ace00e44d9d863031e1dea2cbccd865b0433e0f887ead82a6b8bd67d1610b13c203b7f36f80e1ed143eada75d95b31b05e785f437ee6e0e29b5bd42cbaeb3d758147ae446bf8c6d891e82eb92da5be69529244da05cd535f50d65800c8ac2ad0bc7ddcdd32495e07bfaa50947602a813e9adf50204d3402da390832d75c2a9f073dc0cfc6000b8eafa091ce19ec6c6247d2e0f052791eef71fd18b25453c5ec50c2625cf4d9688006c5111b912d4c9ec8b95be467d29ddf07047956c00695341526941ead77c43246797c0d0159f17a7fde774433e538217c1bb7c9fd33a9ae1ba2cfd656ccb5a1e6421eb8427ef95ed0d3e83ff922c836ebc101de2020b99d96d15f029365d4e2e1b1fec9befa31a57d1603c6d04c8e72461c6b7ea5775051da33aef4602d2caab3f3ea610acc68a33f58a98b459c350c8ccd823f76a0d41c67c9c854f106cbda207d872e1c106828404762c920db7a8d2dfb854421366cab477337533cf649371a90002c11c29519300024194dc52094bbef6adaec60c5a4a27c0eb0b741fd7a25a16f9f7d50b58f727aee2969f186bfa46ef6d5ab03ec581e311e015547a4cb65be7b343e80448ce85137cf6d5093e02a58b26953f88d783c6ec277b63d7168f46ea378f4c9b08e364765e73b476b9a3990abf3fb4250040c63a59ca841c1adef3c1adbbde068b3567cca1fb3efe7398f759684296d816132a9cb19eef321d3aee8296b0b1bcc82454e8aea07582b749af29c4ffeba237313391f5ccd3a42ea6cb362a7ee224a70bb89fc09ca6585616f799b2bbbd137bda5ac62a948575d9fa2e274f80397bea36d35481e747be21c55c78747b76c8617f5b13dec7c0e382d4422ddb1755d527e6c8a5255c4b05e89af9db7e974a3953d6b7e2b4e1edea96b117e1f9f6648c19f013000adae06ddbea99bd7627b86f6c4d0658e1e7d40cd713de2e48c3858ec3cc07c9b89d2781a4c6573b99f44e74734f9a8be20bd064385f5244062f76bb4355d374c663816881093a4b02902f2414dcc9d9e1725f59aada266757c9c5e5f250ba0cf520d9120222a8e902a332df52fb16c014ec2c8e49c8afda8a940164c6d85c860cb89f8ee784765d41090b86a57f81901d291ff9a662359ec47403325e1344c4608e2c153db45b3ee59219deedd79625d9b540c5500475159243b88727b3ebaf306509e4d778a4443058247629ccf3b4ceb036bcabe7565d249818897b7efb3706a9a0e94ab063baacfa09749a3fd386a09cebd856419747c0e7c8c5c13fa9ccf89a1666bc975213fc4daaa090e1cf60edee32932f0ad7168a1a59ffad45f44e03bdfc5034b966106ba96102ab43076c35f34db77acf245ecb703b756bcc736d40d2932d9a2412972c993c2014aafafbf64a26e81de32c1bb3d97186f25f0b02af14f487ba37577db0fcf90baf5ef3319516d30f5f732005ed66754d469125f64c8981d3da1076d6720387388d22c1b7363aa4cff68a35d7eefaad7b9322dd42a4cf5439dc5c8e5beb3df95a01e1a4b7312058819e186e0f3832ed453380ba91b958dfd7e1b75850e019f577852321887215ac8306bba392158c2a8f6250c43003bb4d971b34cde886706cfa569dfed9c112877bb0c060c2be1d32893ac87402dc3e3ce6eed9a1eced99e0ee684c8fa7401eabb259e63c0444b623f2e1756cf2a4f9f054fc2f5edd5983ccc01f9a2902342ec5c9517f1b76f827f6333048cd0fcd3975413933b342e4ed9dc3458be9ea42410dbd806ed6316c428d01864d1f19028d74b37b0c02a3c05d61602514a952c7899ee00096e36bddecae07674f7c3e62ea170eeb860cb129a65e7cbbc64702ccd30874390d15f0390b69900627d60915240229116eae7f1fb512fd667b0dab951053ba71dc1423a7d2aab824ae2462683c5c3036996a7bb9e2f57a7c86773b77e0075cd2c41566cebe9e7bf07ab0d6831bf417499a786a14f8a432ca6f37cd8ebe752e338f7c0066b2430425ecc153e17b6b8082a255852acc21b8c1fdb74c5617921582048119625fc089f993ad2c440ae899b84d1547ec55bbfec1361445c0d2108af1678f2607ed2ef548e1bbbc4c1b6c4854ff583152c6edce30c66d42b23fd09a49f7283736dce295a0b19e5d9904b3c76e1b88540978e0350da5fce56b6c3c9d92bcd9a7126385ce2cc38943cc1068c17b37aa9b9127b8672591442c4e9aae699de2f1a7561643c2611dd766784c864946d13a1b598cd750ede34d5f15f565f1073e807e3019955524e97f22fce27a0996e4b99c4446e6fe346bbab71ca9bfc0dcf8ee3604b4f5e0f0b66da8abdd012b1d5ec3d0313085a304b58c648c22d6d6a01a7267f0f8a59d3090e758539f176d2b66ebe75f8cbb7676f6ac606c16b01400d87705ae59e764abffb47aec375f3b87328c9b841dd2301f90dee789b67f806f2cb7085cffe2595df68c5647a434f95f165bf645e758e216aec8b273ec60c093ab88bd2e8565cb6f9c8ae0714d62edb31e547cf8ae62b7ee8d94fa96d90c07a9f44b2accd540e1d8f0cbd55670163173bcb0d564638a26db6050b3fa6b9e5c70f9b993bd6379c5c39891c4697ae468d45d2f8c9186bf475a8242e2b2563e72c7e9a9b8e8e18c786d5f4f0b5af4ec7bb85247bc9b2d576224a3a9ab112b93d090346025e2c87e76c365ac02f5ec331dd8b9e923917cf6ead37bd9c0d60d7937e70859d20f7d385f1f48fa98cdd2176ddd1664dc06b05b177ce83bd433a2a271c137b0ca461001a4ac5213be41a9b94103933db0e54237de948e3f93cd85ec139e33b3e57beec511b85344fb28e53af27000854ec986d7413c45baa228ed7a3e414f297cf32e17f81a537726e76d0021e1e8eb3749db9dec866dd3c85da7557060f5a73ffb3a24a74c8c31b4d1f99c6a1494a389966821056d34d7cdb33833bd448679d8d8792d46908767ec9e0a6c81e2d7de2136a75bef363310a3a8317553782109d40419ebae0fbed066e274332dea26eed6267bf6406dd6155eea8cac43318d77f5b19b4cf10abe8f28100687256956cef6fa5201cafb6f3b741f0888b868938289b8f1e7ee2cb7e724a17fd00347a1c118f7ed1054acb1ea0ac6ae4057e4b53635bb03dacb21f6d8757704489c5bde3b60681be1833dc27868b0f33fe3218e5393e9cbd0c7a6b75de643d74519ca2f83493858f00751ecbdbbc092e894e6dc02a3b8eaef6af64f7637358a6a051b2a88d133b3be5d7d93921287df33d60423aa23455de83c6aebaf49e0a4fee97dd0d93d0e1dc8b58b1d454cec83c5982ea63eaa1ea04fa41c770ff75ecd07f219d2f5d28dcf210056e34c5aa968ed238be07ac7d3d3fbe9d6b48ec66c8fb7c768aacf121f243cd8c41f04569a152ace0c92d5e3f4a3a2a457506060e03c5ef66f26c60c1b3246c92acb37c39771331e382b1ae28167e5d31662b49e755a9ce0754cc5ab04d0f1383e0377de246f4ad5e18b8b549a112b78bbde0004dbd93fec4918752c335cd327d60f724d3de6f584d08f09d96a2c85bc1399329588ac72c0bf948b53bed19d04380a598693f44f9986bec9a02ae29d09fe0edc98c2875883955184ad6497c90f3505af2be2deb069f3dedbd887bb8ac49287029062c9535cd958db1a3dd0f8249689996750a03fcab5e6b2be941dc2fc88d54ba2c0abf1cf8e107c94352ff3e72e98a5859067e6ed062d54d8b7e377f0efaa88483113320f467a61b9bdb13b30bc977757804b8a659f62ada1fa52838baf86bf57bb8c6657c21b69f7c570600ab8ead15f8958955d508254997c1b87ad8c933262e6f563a071c37441d6806b626314db543515dbd022efd57d0c4d9f892999ec9fa7cf09cdf05926d704a184331a878ddf8180a6dac1af74a3a8b1e0b4528acfbaf3c44acb46728ad527588ba30c944e63a92d5f87ef6679076054e411d21199c8f0d58fdf4e19c2acfdf3c08cf86b72bde0fdafc5332be1271290dd80a9e02b25448edfccb9a942227d8d027540f1ddad0c7453ef43e05dcbe0593e512b46db75f12948ca3129910c528481731ae208871dd6c01a232d03d57ae2e6baa4b3249158e0f90f293b94bcbbd136b20ea683346e015f9ebeaaee3c70d40a67e54a0b693f3c68ce3186b86f4f7dcbb7072033fc1af231135680371cc24f3c6e3eda34bb9499a88f0438f4efc4a1880f330436bc28f0e06d7214f11ee0f5a73cd3dc8c40129e3e4877f7d63006494bb8bc44506271501c43478cf7848087cbb57ffc2236fd185940b15b7f82135cb3d55c36f83d70776639fecc9f4d1c8a99719c76c6b4e7b660185cf75c184efce72256c5eb041dd38bbf4467adc0447ad951eb101f57557461e044632bf45bc0404f588faec83ff0d86655613bdfedcd4f84a0b56acf787bd1e92538924dc418421cf403e1b829096c9923f127d4e6735268e79251f212000ac736b61ed1fca3e71a36502953d04ccfdc093592fe834f599f0a175576e6bcae766e8f41062d2a9a27e97eaadfb5e6ab35ec4288afeaae4058f7eaeb47480710970323399078a02a203ad1c1619ea4c8332ae9b88f866ef169b0d12a705bd1a5cebebb36ad714c1fd86334afa44267c9917d6fa5c84205a0670f38f585c8ea1c410f6e9fd9af4173c25e2289e7c6a7b5e6224866a3801e72ad0db19d5320a5f15f7ea5eb0d7e7588968993c18c74bbde99230cc73eb66daa4869141638392fade1a71a9f96538bd4f91a683eb5d4eaad5ed0c88b8419aa27a218c71166faf9697b9194abec9868f532d422160d721e20009fdee73f1c63dfb95798d4babea91c39da8ebfea07bea20cf7777441fdb92f470af6236843bd57afff021a935e5d7a2a9219686296cf0a7c1306c8633562a3103f718ae2cace0839984856d13212f24aee8d8f8b606d37a68aac3b76c6e2241bc2b616450e956c1831c5cd7f611a781b1b22d2d206a08be8b1eae516a304946dcdce5a6e865501bd06e20f952a471caeac6ab7836c2c52353e5c8d0d57cc35e823ae9244acf034d3f46acf114e44e5a53971f28889eba519648541ff701964b8b1b3171ef697b1dace5f6389acfef47c8417a251a4cf1e8c7e69397fc16583b16b7350373f3020f99dc72d2940e990b375535efd7bfd63a12ee40cb383dfafd4d66d3e84404fb64845936d781f75952a09ffeabf068dd335d89c2e9c8ba595fcba1012a66fb6cf7e868c489668409872ea81356e5726d4c404bdf933107cecd4cb75c3c2e625a329a9727531f7ef276132eb23e437ee5b19321ea397fd963e797df89d270a6e648ba8bf101e26c46d806f2c1390db6b8b668732fe392ebab57a4c9e05a49aa716fae17a89265b68ef23ea983534375179a85f95ef6a14beae85955d537b6920b8d4ec5da2c7d4194ac5d1b252cf4de60c7ae72079aba3b1604662765ded96779fee87bdd256830457d20b6a31e5c4760ddec7a764b4ddb6cca31465cc2e491173396d9a28d9469042547b3b2edaefcc61d384cc4dbe2413d9ca885b1a426584ef0601bc5c4842d2a4be71fe4074cd7cf4590fbf0f656c4bd2db22f6d432721b63610b351432c113afc0d3f5e99e06760fb4dda7d7623116a911c4fb0ca14fc9494fb4c70d7d6fcb049a36136a23b3bd50bc91ce8fc20f3bdfbd14f9d472569f3d78bfad8f3713cee3ca9b8ecd70b666866b4816cfd59cda7d1947154a533624edf79ce9a0db437cc3b65a0ee1c1059a7fbba9989dacc00d26443e59b132bc4fc14f2fc75eca4e484044fba66b6c4c701a68c271fd29febc6f5bb0ec8e40097622d5fabcf4ee0658a8c3dae521c69d0ac675ee85a0f32d50be2adbaa29ed1007d49d91aec8fd1e2f6a22a43a644235a94aa125a318e6570ef828ac9a17e3cc93b223034e75564aa2fd52002b66dd3b8f3d249f02a3f84c6853a45a9f45e3eb35ed3186c4f44442dce87c6afb49a6fd0a3b8a1aefa7a00da52dffa713cf99eb3d8ae3637d9adc42eddb219779e3ca74f075217a4f7a8f0016a8d12c42a86e5451c724e6591e6623f27be476906ae79b8439aa8b03f31ebe1032003c641c9616f6135b04ce848d8e77c1c2cc93f2ff0d48933de726cbb8efcae68095b3d8f5b8f1491620555ccb17f21cc2734f263c476506596c872a9f479d4b235fffacaccfd9ce42ab32db0365728835f9949efab260fd0bd8236444d270217e2e6a4331b41ef788f4903efa3cfb09c6c845f648d038529793e92ecb1f9a25906dee8e6b6a9a8080901185b8d41ae5a2fe272c50866c428bccc7bce9de4a50596fd39a9f1ae7b8ae6162cb223c0b2586fc93483c290bfdba93d2d05157feb74b5facdf6ea523bb86c4f658f5da621d0a0f5309cd2a0b7f2c42d7eded6d63c0cb47ca84193fe2ab033294bfa82face6a5d59d9f8b42a7a08d84f3dbb1a0a68428fb75d58ad2db9489c051232b6753e3050e282a7b893dade33960c52a129ac87e3d5611469bfc2d9dfe417f45052451b55ccec70bedadd3d5b9bdd111fc67c0a10439da6d6d3c3686527b0f8c306ecda040bfa8c5ca75c4d32bb6c8cd571b83a863c31b1fd0d47fc9de6099f10303641d01a7efaa90c973f455d943f320440e84028399730742ae184a651e102d7d84ba0d4d56a25dbd4f4bd630896704d9841f8a9530a2f1201e07c91116ef529b6e884b2be3e9b5b64d2112002ccf8fa9879bb3ba296e801d81652bb3ab6a45520723296e94bc0b7c00ab6c90cf742ea819fa908c9552386c3cf892cadfaee36d913c651d271c893ae083d2312950fe531a41242e74394e598d0d717ea75a291c4cffcf42ece38ce1ae97b0c543f79bbee061577556f5b5c665bb91cbaa04c000b73cf773837719f93e425b2312486935e3e8791de3b9058a33717d47d7307739a277c340c924cb5ab06dc507eac606e9b0bd960db0f79a2a46da245d992d00064910eee2771802ab9d482f5a42937d9180e18b7b0aaef2d249312e30d39075b749295cb2591b5f7606636e1da16e0b6dc8b503afefcc6ff0e73d14a8cf87d44ef0194d68b54e908e919e288dd86a6ddf343bebede6f7a14f1e8f14e89f8a9fa1c05133a304825fe4ea34b2339313f8d2545ac9fb5360e5bd294dc5303388b74df9691a2e78e7aefe08e7791691d6b320a2f32bf0a41977466c62a60e9724f8b1d78b90e34c55f0db0a6feabdbe2704a097b6bc9599c83e2cf97af75062fd8a759cc9c629fdfee66a133382a9acf24efbedfc3f6e0b919bc8a60f942b958c658cbe8e1974f976ce68fb94df0d4d4716ec27f9ee5966d6bfe5896c917ee81fdbd905277148a6f90e7686501d3cb5678c1631d8655ca9973840a8b545f1a28e9dd76e498d1e7be5cc51cc228d793f00cf9e3c487705007de72c74727d883cf976300ccd4f7febbb14d69b7d2af61210e27bcc003525ab0421e7926237754b602e38125fba3941c47534f6407d44dbf31355ff5e403f617c92dc88c4957adb35dea3f225da47275ded56d31edb25c50e4195a3b27b568d337aa59bd5406d1e32d60c12df1c7d5bfefc107bc550e5273dd61283a89bfb0715b884e5030ba798e60989abb255cc80d2c538098f0e22786a6bf9b47e7e431692c484535c11dddf6f78bd1c3abab1ce1e64451369e6e1e667b783632274533c2946d785486fef683d73373c84ea03b539144d9d6d24f362b385fcd05cffa1ef8fd2117c8184ed9def4f820230e80e4564fad2f63a0bfebd224ff8282da3a6634135c0c9b13e59eb187579e0be98ad879f928ecdf52705945659fd1db805901771263ac324462e1dbee0049a1525b4d1fed79806c6120c6e3576be081477d5a4cef59d5d8f0f3ae36a220cec79f9dce2ea7dc3ad980e7726a9a7a3a6240b9694bf6e4cac46eeb06bf4a8d579e16dea375ce9f814125d4051262bf9c89740638448b440c19582bb802664523c3d5eb69881de24a921aaa7241c9cbecf14463ac8442ddbeeff9b01e1f674097a050dc9dfc7a63ba7ecb33e783b78f04baf073140b5c7eb3f679c8bc10a9cb89ffbc9cbf4b88d900dd25c41674ca7d91faabadea13655fc0c4a288f29278e3c46a6a06f0c4b728dd17df49ad5889bc1746c7eb3b808285f8ade7b7d35516a0547e85ecdc1757a23fb945877c569c789bf96c72bf7253397518261f7261657b219430121af4d353f0bd370b25c319b4bda34ebfe54bff92d2b6ffd9e6cad946e416be8780a0892c7463c7a11e858635ecc73c6284e323697225ca81f42acdd681be3fe792dd6e0b269b436fe3d7b076b9915044ebd355c0a87cad24ce22bfe4375cbffd37f6c34e640c88a52d7f95e14b92f80c960419ef0805e58047556edf955c1f27fb62495c8ac9701948b6946af3fadbdfbb8b3a576a4cbfeb29dc0e280259d5bd07090cf8a47aea4f0a3484d30f112068c812cd7248f42af920bb4552092d105bffcdad5be6b90718f2c19895e21e13b1127f6fcad88a2daf361355f88b73cf866319528ed48612762767351fe2829fe67e2cfbbe96fad21ea5ed79cf214480a1d7e491f2dc068f362a2a3a618d1340b1273bcfeae80c5a4ec9b65765004999d8e354781a301d329e423c26850a97e38138bc2d2be803256b2974e930e48126e6463b4a9e1dacfacba1dfbcdee4969f3f7441c69e90ead3f389eecd2660338c81161cf86bac2231d562572e03a76f84e56037fd56bf5f5707b5305529d40a6889bddbaf0def8e85f7bb4457d20469a35cf1830f67c0f3edd9da045da3b8a805abb59be920e8b7fc4c5e926896dfa67d4216caa33181a5929dab7aa362fecaab4aa4414864b605275c05873e5fcc1869c4aa1faf8865d7c07a11ebb296f0f998989aba9dfe26401fd7f15369fe9d6e442fb8cb73dfd084d19240b777b4fefca3d42d920d77656e26b22e7f462941765125061f0fbdc35a9abec9b5c220568e827293131a61f37e07bce4af3fb5b364f186adc1732da85e9c5322ad274bfe1d41afffa47346d31d971b4872596ef5eb3932c06d511064257154c3275dbcdcadfa6962c1a2492770e0c8d525fe843a88329c5ce187c2a0f911aa5767c47897d7e1489645e137109f6c17ec36f3fd0ce76838e414db33c3647c33ac68052f2b845e60d49d8781e64075d09912ffa0009dc0f85207de0932afa6c70c3b48f3fa1a17279a6a4ceedf4ffa9cfbfc6e57a539ca31a29d39dc084067394f8393b7890a61af6033e76ebf3b7ffa850b29f66946749e63296b5c34814c198d069e784155503f145497f1c07865a004b4f893e67b17a19d3c09993f77809e4e8df7369fc55da3b6e22d97f72ee543e553539daa91879ec6c3089241f4cca5d14f55563617a321ed5e47f7f833a614582f971ea9d3ba099306dae2f8e85cf0e3302143e85151f83434b778d37a63904041eeabbab741078c2e27ed78650abcde3b110a48c3cd29dcafbd049e5ae715ff282e6b238b01208a15e4c04ce1373373666666577f731d6cb023e925df1b736e6190366d23709cbb9742cb58b5a210ab8f40c27686c695cf68a86742a6db8a05a91eb5d470f02299bd586672ea46afa6a31ef2b8801bc713819391477c0ed5f845ddaf3a50f25b151c26d5c2b15d712561819685de209780faad951e7dd51ef71909a0b7a1ca465583bec377a9189cc05832b012d24ef1efd9c4eb20f1f7dbf1b29278bacecc8da3c55c8d001ea7da9fde521649d110d4adfdaf5fe5d0034e4a32d7a68bfa34759a51839dc81dd2e1754741cd9b0ec38c8fa6d9f0c00140021029c29faee75cb3029c40f959e49d015d7acd3a5e4013f9de71006d3a4d2a1d0cb2c36289ea1e660791f7efe9cc030f8b6f340f5e389321c96facf023cd42971f14d706bd811032930fa308c43b4f89906eb919694af4f81ad64cea834e3273e5d28b780ca27b4901ae02eed0a583e8bb5387268b98fb7126da4a5d37e05bc03116d4d0d8d224596406e6961fb85e7abde2c29242c70833a6f6ccdd89459b7f9c16fc6b7f0bb36eb0b58b20347b11962f1fa0630dd55feff096915277ae521fb739b4082ac7bf8e4c397a10cc7498c782f8d9b44d386136a8744e208575842730d1e44b96a6b90a1f03bbf844bc5c3502e10e7d3e3998804881d0c818ee02a681d56bc6f08bf737152f9709b55645dc3a731f417c5c78a1fcdbbd501bd91e0c7f49b78109f3139057a1aae897434376e5e189d94d5f86bbe99a136cc1175f5ef8c8db4ff2135f9f4221f83c7ea77b4698f01b48e23bfbd47906367148032c1e27b179e877146146573670764eed7c0262c2d348aa4e5913b2e0c5c8a218612d27064cbe9e40c5b60a12de8fff39c0e7441fa2392f81be4e3303f81259ab8523244009300b152eb6999acdb3912c0f174b7fe6224574564adf95ca12b820023a25860376ebb7810cf0441b0cc703b5743971eedf2ffbaa9f4bd94ad3bad82a541a7b0b0b4aa348735c966d622069ce26bd6b954d914efb9a23f489dfa6fadc2b5b9dbc0159d2984baf19a1a90a9e600110c5c26cdf2b291f973bab5dcad6fbf4f213c9fd17f79ff81c888ce11b93eaa7d365fa2f60c1df5e75b5f19be6ad37936919bb5d36a3814d01538e6b0cfb6c692901813f6651ed5bc68d8097825817a48cdab1bbd642bc49e6f3280fe50a56b9f4be9ad95354f74327ff633488dc4813e1d3d2b74049c9ae05442df5655afb95c01d437e47fdda179977ab3ddef5c29fad569ea78d3908cb363608dacd90ffa2c88c2c2561d75e6901cdd8d9e04beb8e24ce08f4690764c17a6ee790b689f6aa582fae651db5cc5bc85b90907aa1c80fa1fd4624f9d0f5955c5b74bc7d685fe5e3185383d235a60b1f9577f65ae301448663f4a4fa7ec0d534d3877637c1000f99853427d09cdac25b2f17e455006c16123cedab34f15e1ece9ea495af3955dd012aec60dcf6d51ad155534f888e2224e52ed35e61b34191864af32d2826950715987084a9331f3cafd6a8d224c15df7d2410a2e050a4c0796bb3247fd57d2c99aacd157c04875e537f6893fec923dc19e9d057e90a6a6d6725378d52146e397b5339cc43ace7025b76932e3a2d86c5af418e1356cd195964fc337eafb57f48de524ce20f0e8988a83cbe8e26c24b9eb03e5354efb97912be9dd135b2166a8b2a005e6ac93b15a39870e42f05536e0e1f073f2013875bd26229967b979f42d68565655d2d3b48d0d0b181d5b359863d683bd9b33976cb7980f2dc62a30898d2b401ff9af3b019428825f264b3184532976f9e27449a9dd66fe97fe886c8201fe88178b21014ca27dc9a60089ae8e7a13d4034ef473fd19179b402fefef22ca620d36a5c9617b470b94502af9f6d7a089e9f7e1483580338af413d0b0cd5554811a99e8043e33927b06d6c2a66adbf6163a243a21ca0753d1cd04cebc3624563090c6f91e39bf61709c8ecde7cf1075919d48cac04b7c37c3a8ce2ec7336ef7f816b6669bb11c51c94007102d288464831160f72e46350d0caddc2e34f24720b555752524dd329a3a13574f9ff6d93f68b0f50a63ca935203b66a672a8d28ad01f972ca463a0334d6fbb2fe02463162568884716fdbc40e1ac89437b402f7ba3ae9deb217bc674ba11d73c893b07bb4dee50d9914afda59701c53b58c87dbbef309036fb76d8019e09e8373a12cdb123bd0c702ce38f8ed1826a16a3fedf250955dc7d8b676c4654578a3733efc0ded0191f05e4401354b119ad1a8a970a0a97435d258d39ed0e7a2e951c6e51ac0d73302a7448e64ed7cbc4ca47f3d5fd7a868e89355d5e6c2093c23aac921afb05e350a083c54c1e2550b8020bc1a46b8fbc574a11a40582fc8957fed5021830054e3d0b414f45ebe8ed00ff12629a6b98f2fd11237921688fc1c93044cf3e1eab489eca28af13ebbf8cbb209045ba82abfaa1bc8782472f37b7117b22f0c7033ec0355a299c16b815d24e86c21976c986d5987b46b3a93e25bfc6b309d16f276c0973138c059d1c4fb898e7a71ec007a882ce283a0cf7f59e26c53a0ec717c3a521222a19d42576e64228832bb91b72ee368ba940dece82b91bca2bf5333372a3906058e16c390f7594e959d21c76333faaecb4934e6350cfd7877abb851a127dc4f3d66c9dfb92208a14d6c2d7013da7a105af998365aa8f50469c12fa60b3f5f7c57929554a64965deea2334d049000693172933178972be94603218e64005edc52ad2629b33cbca8d88ecd1657024cfdf097035c52c3c584db8a96f62b0ac2d37d3cec7ba0038e60e85a3e86e1ccb1441834183e259cd77489370e26bd10a56f45ac52c9c67b2a33b8a69e99c6a0c7c8c646ccdf4fba434788ee56119f53d1025e6ec36afd314f51c72f44d2795053bdf1c6e79a49750c7d547f9a93c235a90df0ceaf7a474a07ee7ba6fbb48f1e6bc3f6dc08d0c2bb3920199232da91950468196a5112ac4b9169ee41191a51c140d9e6e79e33766dfaf60a808aab23e61bf73d0a35ec280ae738de4f5a64c0080cfb7666b3d4cf4197eb3bb7b14afef1154e003ddd7971cb67e267b143855225bcaae930e70883adeaf87e8ba269335ac8519ab67e80a62a44699854f67f3821591fcce34d949ba1a4c7cf9f1de460995bca436867d3d79f2ddaaa22b8f8c850d8524f6e6883999816b479dbc87f68699e7a30aa4875f791820a046a3181d110680ad41b4882da20833710fbf36d7cc081c7fc5ec5234a9b5af5cfbb71f64ce1d3cd3d8e3cd39a87635cb5dce5da2ae457b059d1fc5a1c0116b423dc40c75969d6434e9a83e6be446aca3179d6a5e6d863be4790f4e0d8bf2fbf8bcd5bc96a2cb7887b146849d42049771c3216f65ec5ff0054d1ab51916ad99747a0a01a870c01cdc1d7c0536dc6c559fd8aaa7596dfde27b481d2671dc53cfd7c245ccc81cdffec8ca43d482a422ce13428cf410bd350a6047d30512b42f1dd166be10a716470115ca3e56205e9717f072cd6dedb0ad542f8274f185de9047976e19375ece2164ee87cf9792a86227cee1eece4ac714780000d33bb22b53e1ac68d9da6424ea0f5f1d23413e24af5031f77281190b6be049063420846913c52b6f4d995d5ddac2fe6b7f27d6c69094c000c99f9fa2d601640f72f80b5b18fccc693c32b7184f2fe13a7dce18d22fd91e26bc578cdd0dc2b1a48fc182eb67fbb5483f4152cf2044db19e6a9cdf2cc37a367493503ca1a36a32ff660f0c2e3a91b8932ac073d1dd8cf6c06f4ae2f3461f96e93652dc2434783acbccd41d30daced7471951cf4454b4d6d61c259d4c3bfd93506615b92d641787af1add98e474846e2c79304b6063085a655dbe610615b5b0a0d763fe360283728080244ac0ebc72feb820f9b8bc0e76ac44f15afa76a92b24a68fd2ec6cee200f90db683d8572c6c42e811fcc35ec883077066561fb65e1d1a408b7f1c23975c716203a3d2488c917fe6dc41e124df739f4e0fbdd9294fe76d286651dd82d1f3d3b7bf3c34fe5f87adb4c9a0bd5eea5ca83b742290ada1e46c987a905a7e5eea1918e1eb58286a5caa3e6dc053772b31c6f6938e740689fc435c13d1da9a7fe691c57bf29987a522a4a537f92ac2cc5d3d1b860c7e66009cc0ba5e7ef8eca4de9bb7441b3512fda0b230927c08e59b5d33396094a8b246bc0a436c835b9055d89e8e59ef44af18fb519cc2d11a6c34f90aeb5508032d9e960e54a7e5c0c9794ebc8370b5d799cfdbcea973d1879e006e971611cb13be1165c8dee51b2961e98bbfa4fc06853d47363649b7cd4f89d56eb4efc20e6ae7c8f209bcb0a7c16d38962d1207744c8c9cdbc5225b3fc12842d7d54c4656c25bfc99c2ccd6239769b919456f006f632c53bfb416bc74270ba76595c4f0c68b58d6ca8b86eb1d4e3ea22080399fa7302b0b5dd6de4326f0b4ff9d2a2d136b8027be1a811b7f4a9cad5dc1c13bd3f537fbcf22749d047929f69113dcc03d8473d1e4bad583610e6169435a61eb4b641ea1005fdf53fa11ecf45b3bd5268b6c8f890e6ad236cccfb1312820bf51038c6eff4798f4cbf8692952945abd7e05f7766cee3f6ca630a1e23f94825c6182a4a18834a31e0bb4830e7abaa927c514c0829e7a4a93a355c46679a47670ba42860d725a0c8ca8cc14c2ea0295df2a9d06b6ed2f82a3f02b349e34f253790f7c1cc5cdb0e8c66a791f60b755b350420a880a5e31cc007929f058766cbf2e903a2ccd0a3581132250e4e4e4181286d8fba2e63e7ab00844cec6079ed66eb1ca67a2da95c8abfc0e9417fb3ff5e10f86ab6cd9e6c4a1b92279b018077f10e7581aa908a28ce16bab3698658b2463d37450398a80611de1921bb39d398019c9bececebfe6250c87e75fd75e95ea3e09e2477e268b930083d97d6e5b1ad7285d9f556410726c959664c25916347497620611634a994cd64cca426259d7a88a3a652f425404d1e1c8e4fe7c64b344d3545fdd46fb0a18974debfad605fc34f50e12ed8522c3ba72cb99047c15a0b7d5f3a141767fb1db159e65002b7b48ca2572f49600c6ae71997cb1c1305b190c60068d318e408544a1223c5be4824fdd6c0c7a655bb51049624a25720de89af61e7a0b238f32aa2a83555cb8da0dfcbf09e40562dc21e8c99bd09434b35e16b83c2eaf5b65d5100177c71a57f207474fcf043702b02400b7d99648ec7c8b048792cb8ceef9db7aa8942b1a4fa7b352e249c35ce1b39acb288a2260ae19a05360f28b7d9c553b1fba64893d68d421ce2406d3f8793d813d9e78fb6b4f9347e37ef41fca2fc91c066db047228c0c8dd3fb9f94eada819e37d7b6ee0d701cc4330e4c5e37141cf1c8321dde388db81d31460a8fed9119d4eca670c9065c97e242ddeba74f470d860568a0d11da47b6732d3f6339e1ca139727427701665b1d61b0812bdd5a1fdc6464c4d63b1233388032833482f9667d865519e07d55106b675397f7a3dac719894ca1b60e830490690478602560443e2578282068312a3add522fb75cb12e9e82dbbed37d1bb282c5e1c4c5bf1e3d17e016b81712693346b740e4b978414fe50e9d2aa1016e473b21b42dc0244fc6367c020ed7d8f698911885818b741abe40a9aad5e7bc0ff1d52da7a74b57392e3c7d6b3278773f87dc4f97155beb7a302dc3d568558d7fb1bca6103574d8c04fcf82dd39c65e1dc04a6fc1fc4610904444c91ae008809c76ba81de0e83ee03be5c05eabdf3f6c2e804469d7a1118c9188c7a70db14cc14ef41d00268ea90daadab60136c54cfdf6f5bc8ccb402d625cbc6ba61b9f7332ceeaf9d8b9cf588b66f00f6b0d8c02bad6948a2cdd484b88f15ca0cb03aa3788dde4a103114cad0974afc3b815bf6b4ed26989b1200cf5992249b92d51c16f82e0da4bee803e288e7618536b75ba28c214c2c1d4831e96cb79aa916c4df584c5cb8b5e013a0208fbf942b548d37e4459a531580d2285e79568c0d3b3dacd55ce02c41a799e420aeee49f898935f61096bb957ca7e53e28194ea79c0fbc1743b878036d4ab1a3e01112eaf98633a99b15e1ad52f793c12f7d950a64d7e30056abd407038008ce77291be0dddaba5df54189b97881592591ca46bc6b6ba4ad4cf870690d575b31c11ec8b4053b15b50806513b61ece0035e1ac55499843bf7142875b017e16d50a87bb2caf151c4494636c4e3cba4746725fbac9abe9a2d4d77873e0de5c26db7b6b8684070f9ac3b76bc89c0649de1b9d2f66796e533af4005d08cca5b1b9ee5069c4ebc7e874dd4851065b1b3a0323637906f240cf7885ef09d3fafde203f4ccde3388f9869365c2f3615b8f803de59503021a0e496497a8124aada3081a90f0fc9df21315bdca842612af22c828f6ecd53ca4d4c28fc6a37e3910e9179acd579940ae557c9b593060b7bcc53192540b6cb5900af132db7bf3ed33b070e776e0c4898406a0156c9ef0c7c75f35dcdb9b3954b734e471eeb85d32152ff4acbaea5143c79dc9808fd5afc338a723baa602930e3161be7030441d374000f77b698f4c1b509ec86acb389b0fefceed1547fe4646fc1ef2c6fbdcbaa535afa462a0f32407e9322003634fdf21ec1ce66140cdf23b8e720071bad45209f156e3d8027f451a2a1e6c46a19d45f5e864bcba1d0cf16f3b61b2781a7e6138cea7aa467a80ab630572db1da08a2049968cb8e298459e457f316c2bb20bc867ce1021f099d91ea721b66521ce277cf136c30968b6d49870800ad5a1990ea599b40ef2070ba22f86091139c6a4c7f36f7c7168d98c92a9e10ea208bd7c38283c26b5455adb769dd7d8a8dfb6d77a569079bb4c74082f0a46e1ac7f4ca5f2681fd5937338becb63cc6033ed3993bbe986e974d0fe44f28669c75ab498ca093bfb42e387a9444f8462add545e2d0b1842b9f56689bad5a282f48416fc38d76d26db9ada0b92ffba709b730cb272739dd0ca6c303f2e021cbe20d299909b7bbd1534f8ef6428e34185371fd7b270d0afede61586f125158c282e90bd1e21211ce705640d7a29b8a5c85f7a3c6e908250a567f59cfde6209ea23aba54d90f165c5c4a6806ad3751ef9542dbf083783784208c8a3f300137840efa9d0a7b97402fb529b1c3ec34962d01921cbb59b9a76de245ad97157fc3dd0a9d130a697c6e3e290548b7c68c76bf185c2cde775723ef0a6cf9d417c847e9cbf1019236f41eb47167b523dfb2978ea587f9454f8e62d615370609e1a35530a57d4bdad87770087d592445f84e7825d29d881a676a6029f7e67d1848ed0c08aae91bdc750e134a8db4f59d9f7198834f83966af645c372ff292afa97000e2f5ab4cb82a957e634d88979751ad18b36fb9a388591be8adade5032821c13388625434a0dfa3cb401c5c3c2c275a4efc00331091559bcb6396b62f0b21700c903450408acb23060cbf6b9a0f0326e47ada9e541a6d014a94bb81732298aabbc096c8ac032b5b668e15a6491b65866acbdba3cd7cc93e88c63eb714760136d48e557e601acdcb4f4186100d4ae71a0becea4b5547382f68abe5b1e82f85869f52c7876bf85bdf8de66b7698cbeb0b1e65c6e5de559d751c9ecc961efd125c556ce73b609fe3ca63e26133891358d5ad0da3e2979c2487205f86bd748274596f01742aacee8d6b30a40ecc964f1c766611885dc956495e11b4f88f1e25d03fbccf0d01c46368f210993a45d1baac9ac3e9421a270885ee93963bcf9e1c62e58e12a8fa8c8eb116efedd077bc6f85554995a28be7d46d8ce5eba6c86570f38d924db6753f83dfae3b6e187505f2042a173126e8d1f7953b57953beecf9f485607244210df83ba44aaffe16082d9a89392811a743c3e74e64668145513a0daaa0ad8e4caedca1e811febc1b32575b9eda5128673dc8fb97ff9c44d5ae715b39c216de5cb37a907075dd9587367307db9a604e7d9ccf1b76ce1708d71d1245404167c12f4e8b8203488b1cae3eba5ec2d55816744314565ef2b459e55793316cff843edceceff72f3436d8bee8119f23ac6b4530a79672bd431a2d0149c6ca25bea6561c10458d2e7d3d49e3b236593e14f1a6b18e4d0678e60a30133e65e0e0d1b52694b0798a55d968a1e59807c677020a5ec8bd27a368f3b21b270ac9ad209506dabb51d7859aef306a8b4823d62bff441b2043667484f75750f147a83c0b40f174b16a619466adfed7548bf946f278b31019fa68cefaddff66147181204e88eceecc5cd60f7b8f48920250a63d5dea38019830086f6b672e66cdc1cae5178f5885337b369b93b60d35523ef90819bc4833be31f21d57a08746d3fa4603a317b6bbda693754abf54faf4fa4f808789208b062792a54ed879b02e5b0e4560fb60523797dc53e69cb2e5b718ebef7b4bfce3e6dfa807a44723d218e3db155b8129178592a26098db0f70e10fce0484bf6aaa454d6cda88738330131eaafd3c6a7ac2de3436f743b6674b5f0d9289948011b3dc7a1f28e2d66317c375761a2a4be8b4ec10bf99819aeeb3706ce4901add4cf8f8aaede7bb318dbda7fdb2989915cc62fb1d3d058c920855dbf7b5d895cd8eb40627aaedaeae439a6124a657030571fb80c9443dd78c57c4e4c4a7766b751f9c6fe02c36c12bfc80c567c2f9e3d6bd8e0a502a09475b5b76a3a1a4626ba26f0d5a175f2164a4d941bb22271a22084f17206d04f5d9b16581ddd60a5b6047f463ca84d44f8079076ff36afcc3c0f3175124c07bcd7c4e4dbd9f61169119a5e58277a9a4b2c3028065656006e279463e608669bf24d8e1d2008c1adc5573877dd136a8de9a58d9f079d025289ec6091ef1d5358c29a512ce2d36b6601b11ae17952b71c693d7e3727bb9b9c5a51245142170f0aa6296de9befa5c6a3770419a837b797c968f4a25abdee2c4292cc37f72f567844620c4b76165da9e48c351e7622987d4739ca4d604f3529e2546cbf1633220e11c4b82861d66f4d1b42aab7a7065502dfe93687d83f8aef735836dd498e666c2f4ae638bcd5c9b782b13a175adcf8c3414a3bedf6fdfa6175db4055d32afa26ba131ffc60d2b17b9d1d11e1a0f5f902fc8692356e0cfc5292fa59895e80ddce59765459da4d2ae0312830e4baf62f1853c8393f7a04f242ce7f97e70ea564df34b903b641e6e5e2a7e72da1667fc178390aef2ef1db14afdf174fcecd06fbb212d3a7e472ef66a5bb7b99f38cd49bb2da40c73f6f9acd7d3ab2dc71fd8e0c963cb5868ec582df2a395a3a0961fa73d4a987dd2435e935a0749123834f5d07847501ae0bd0e33e36a41b566685a13a958a07c42151df60c21eea66a3a68a9830153bc6e1c31deba2ce5e55b2e617dcdf95aa18d52f0eedf20cdbed2728c474a9d8ac9c419217f59b2bdea3a926bf859df6c039fa621ac53376def7757c3cf132d8e412dc9410c7515bcc85b467430ae490ca364c23f081bb4ac6bf5baa1685db4cac13fa76b27c1b118d0d676cf6de2705406e7c0cd31fbdd859cedb49bcd7d340907435ade5a511d4b4c667983cb3404734a8fd381075bc15813f9b2f2677e76a72e52a17f8b69775de757155bf5cc8445377cd9182604a11b54a4b980ce4f1ae98fc5073baf0fa8b27b5631b24bd1f2365aa24058843b3d5c41c00604eedd0871cedec077523fff3c283f2cc852c342510953751767d0592f976aa161914cd61a6cf04c1d63744d78b58b3f1c6fb459382e7dc1f6127619ca823da5b255ecb9493281736a42a814d9208b4d7323c166519b5821d2886ccd1a33685481cbcf6918c0bff3c300e71bc84663d24c39a24cde1746f6999ec9b6fc865e3c7f87c7ff20f0757c178952b6137a3a41b8e0d3d8424793c0f54689f73d15991a1e95d3373a197eda5e75d15450e555b60368a6b87736ca28b164dbfdabc4237a6a601aab7eef76c340ef56e0ba6ae0ef33b144c56d44132cb413049774314cff99c8eb5a03d935df3cbbbbe9320e2a81eb8c089edd5aa4c6fcf65626c6c4f023dd66a4136546b4cb25f9fd1f8f6a37150a9946076e5fb69922741e1d79566aa7793adb506f2772fbb092e81d58ddf3c3acf5b3490218ad7e156b9ad0775486e3a6691c79b106c40de2c9fdd54e7f8a9624c25fecb57c05e6e98a27edb4fa9775ed26613bf72332393880bc065cbadf03c84e14b5b716dae6db8867ba8a770b4f75d08883b46f5ca158013fabd21008d6c40fedfcb6a171d62c242ea23d6d5d88668cb0d93598bc3fb9a87c0348f42b712cf9a202f8cee8163abe1a8bf33686362bf442a7382947e41833a7d15e94ac4bc7967bfe1ac6b3ac7db635ac356e1d183dc2d9ab36f3ed147fa5f6d5b3a1ccc4ab249fed78bdd5de98b2464708c8f8e6f3932bad319b4564e9c00fb5ba2212b1ce3f5822a688894f763999fec603ae0441d62cd357a2d573560e5344eda55e0687a5608bcc7c1bc3da3a8389a6cd9e911a96395619244afa856b36a401d8d99b68b149659440195491e9093bb46f5c1b1916ddb5dd1a47b2ff843f8d5e58255c73d3e9d42051ae667adcc30f7b391fb23c0387be9964d3e5a177dbbdffc5a908c22fa591661cb1b4c4b7d22a0defd903bbfec6bac91fd4527c0506d925552b61f2435cd1f6015018a198557a6c35bf2e6377cf185676f60efe6421494b7fd26ccd7ba6808b73c1d803ded76bfb7d99b18fda2878f1a80961e588fd074128183b0519e0c74ef5954136402b436d94c97f154c9ce2726b8e425f919d2c64c2620aea2c3235ee8ae75d3b75095546c4379cd90b430e7239fb20026fc89f492aef460bd7c42c444519a2f1aeddd30bd9081e875d35b868123d878afefc5a1eea5abfc7de9126c1844c990762dbb06ef5b0b19833d913f36c8805bfdbde777142a8729618a7f60fa93b1e955bb4ddba33bbc025f10289d6cc5e6abc172dae9596beb608de396d67e823b54713135b7f47c2483d4833e29372cceea856eee4860c01b241508c1a45a737dd2d28a84e4f72e452768680390b98f8e92fd4e18520b9714c7e63e4c423d264640cc3f587079b106deee02c2c58d32d5ac8075ef70357ce6e725a6420c9a7bf12c5b8e569fb6f93fcc7528db839c7a176650922f0193e72c4bfac29b9de0715d439e5de1fd45cd7acbc3d2cadf6e898def522e5ebf73c4b144ef95e17a5c038e08605997e0a0e6b933c597342bc3c80435c5afdde4b756aceda7f679787ce851487eb08c3e74e804ac2c191c8d5550c7963233404c99bbccd68d2eaf6e2c30f2e7f80b0731628db55f7e8f75e2070eb1dd9e04946c50e98a25935be011f17cd78d93970a4bdd1eccadf14117ba7d958b4b859d9c453982d02144fcbcf03127a867c1d20cd9314c3544573f48814b0290744da0a31954752ffb281ba0b8a6102366430b90d90fb16c97d59c97bd2b979c134c45f0c08de6dbedaffd111b082b4d824527bac8bba6e11506606d4bbbafbe5dc18eaaaf8854dde34407ee17f7ab557b121f68dff44cccd10b9d9059af8669e356b5217ffa71733bdccd8104d9f3f681e451f09e3b361844a31f687e803ff418c56c8594cfccb656ddae6d82243020b9f0fa7dc8cf0fdb0c34d6743e4e43d7cc381b94824b36d08fc648f65cdd74ab6ebb47afc3f74d9a0d81c7469973adc60b9d9a23e949c760c2e7e0cb5b698ca6c14e83e214a52b7ddeb70a62a252030ad439614f43e17adc01a9a5728e8bea535970f6295ded71aca63532d3f2893d27b5c0aa7a9ef3b27aa44349c17f95a486d21d162c16dd91eb3329fc097e84242bbab1236c3cc5143e75f1291b8f27bd95646dae9d1c77c261e4f9dcd6d79f1818a2d7bfa87b3184d703863f75969e8c25ae60a3b0c8af8a9b8c97739f3686c42df61af382eb7caf9007d39af493d357eaa00cf5683a34e3fcf01b7d75f143e6f7b5dc90e0963e51375ae9b52ed285cd680a5e801c7a1bc3e81afa2c4cd072b47a321ab6983946c5bc575703e4176ffbcdce2fde20bb05c24a74c33b1c9f5e99bd32cf4a98f0acb379033ac3441c560a63b54931ade01305dba795c9f684c6ff402aa00328a4c22b93f6c4bb2e79c4eda6e313eb29b0be25bd9e5fe7471ac64f2337e86551ed94185be120400199df2f9dc67b17d17aa02405850589e9d710d3cfbc65840927e4d37664e0418b6ab881d053086b940537f23a49fb58c43b0ca025ba439bd727eea3b39335f2ba99130b0d385af05d73c1412e266dd7d57c9c48c224d30967c953277f3fbdb85128b0e8fbebf0830189f4e4a80bccea1e7b1810fb469292ac1d1131020283258daa6aa2b67e8d8591531d946235f55ec2bcebee3b3e44f004ac8db88da047188ef1b1a95d0fcb47a0986ee65d3c19bf8145468435476bf10edbe04e26ac8e104e295371f8b7e121a8b204b26d7160b87e021f5636836f4bd6a434c8ef2d28790136487749ebe3d0bff6e4fd1e07496f1756d527d6acfe6c5cea9bc272de7461684d8d481a10380d0d45ede2fa1a1a630486755ae22f449027f18decb0c0f3707d05ce858f36326e0aa23a4e675065e900a6c811fb18202621bd25867b620b1435cee2fbbc69571634300f7e1400a6deaa4bf99b4f4650101952ebe5dc5b2fab554cdf0843ea079b6b16f952a27277a5637361e41c4f54535c3ed60d9171c14ffeb1d21570216d1fd6baff48a5b5468c3673427d13b38662d8c24e5861eb8b8aedd9409146eda676e5f3dcf43108724c73344b4c6e1ced70b9d6b793efcc093b514acfa2bd305693fdd2fa80779287056a97178f416e1d5c2ec12eb57fd6b7e19d94b0c9092bf97876cbcf1a443f709ec938f3ce603cf020a4e1b602c029a025bd14a8615f631d64f0eb671fa280a820ab5afd8d49e4175bba853faacea58dd7105171ca57b3ad0c922b5faff5cac00a2bcae1327c4232be8eb8f71361b12cb24f368db864d11a5325515c1c2665324020362780e51cd2f2f4c7330cd8eef1832e5f71a1466a6cbc9f128849e900ad2113b7aa6fbb8ab43b78324d54c37fd084ea2310107a858d7d321f9f910801f554c32425090fda5a471d10d0ea54cf97b03f1bf3e3eb35c0d2f5cd9506a889fb22a0d0b4c7ce4cf973414312d7b520915e641961e2fb1e0422e6a91125533562a532f2f9f5c3e2a8459d078516fa57d476bebd9137382e23702a85c8d4f4e38c99cd3ebd4465f663497914d6ec83c127381a12f1c369be4e895680e1d13812207161b70a02ce33cbeb4c56f3744d03c3cd3de488b8dd195197a7d8f6c4ea1d34bb075cc9fd2ae41d9f7e5f5d4ee84ed6c33379a8f40d48c7e7409378bb9a55ccb1f4a595fedc8cadd27aa71d9039d9d798edf81864a19cdd6e96ab5de862cbc12b4e62afa967c440b75717169eb1019fe9d7297522b0d9164f3cfcf2b4e21cb31138d4de1b26b8b32be5abedd82203ac56e8a590a6fff85cc393bef97c84fbd6773f2449d2f40ad44cfdc87090f072745f15894d1c5210478fefc15d1d5779eef16c2207c58ffe1abdc8f85323bd6445014ac25186467e7833fd0ef74560868a11f333e2c69321db6893c653c6b7f579d40c7d3fd9d6d705075dac77a1f699deb294f2fc6aab34018f2cf224485a6a13d47326111069670458fa4b0ee82eb531dca7ce94a4b75f365261dd885899510113b7512ea59107fca8eacd4e3e3f1e24861cbe88bd99109d8a689c3ea0f3ee7e2f9f99237e5d3b8c19d379c26c635ab2c9e24a0d8e32336dcd49a866d13ad7bd2a681e5404299cc3c4c2d647e5cf73fd8e3920d14b4abb029b42441e757e7525ae8d602475a98207c35d2b8e87de9359a3fadddb91fb925895ebd34e504cbea4697c5252e34300f428c8426aa1b51c8021a65dca75015ba800f9fe0770b0e27308ec7ed35da8671e71fbbe9d712340f739e63cc510d06dd8e0b4d1f36c8dbdd198e305785965fe38982b00126daa2a99df1d9a461d31c34dcc18ac115d4def5af810dfc1655bb7bdca24b4136fc905f5070da24849ad29d4f18a232ee7d1a5b42176ab52d279a670487dd3f9c1acec96823feccb150cf436c741100500d359b20b3077606fcb477176d6fe45cba8a7ef4e46c1104120749b2253aac9bd7666fac869cae6627c92939b2256faadd323c33b0abe822ecd9c5536dd8dd6a75e9d0220dcdbfcd8a26e70eb50815d3071f7ce6500ed04b317b7a93b556a76d3dce367807ce723f0e0c2b9192f5f5b4948f369d2c6161f12d423c52187438b7bba98d6e2d94aa753e56d31a53712a5378843c9c49db2dbc55194ae40cedb787a1414825e7783f397d186b8b81092bb622aed61dde4fadeeac6cb6a853b92335849b080f84c9bb5bd2012342964e821b2328e4af608be0b51cdfd2f185da72d9ed637843a0bc10b81d55f40663ebde58dfca480deb61705bcafcb912418365dcb3a6bfaa4794f59288a578e17944f7aa3fa764a0ef1bb74b9fc91a1f368e189eee9505c7e2490aeb18274b250e6a799027d12605119c0428da8949c15ac8a7bd4f65ae24254d4e6a1feffd464a53e0596aaf41c2c00b4506f9a8c09466c1d323ed64f278768fae14432dd1caf11731e09e8dd2db4c2bd42ae29a689f4f471d5bde07a2127a1546db1cbcbe1a06726b97ada10d0c0e4c376b4c245777ab6788fd44b4705c3cbc05883ff7c9cde6effb59b3e4c12bf2270eb54189eb500b8233d73e561cb36574254f7802d9cb2a6e82ff70c9172ec9a9eeec3a682aeab9752f413de92f2275d2ecbf5f81ff1b47a84174b3d2a0f1666c10711335d4c4d5f6dcd0f7002c8468a3d82ceb38de40d63d8395dc9c1bb1d298455a41a3db0e7f9acbe400aa8320a4a1f4ecaa2699a79292fa3e1677380056d2d0342df4aa5c1851424f819bae7c6919ef32581d7fa01ee3c77c888bb43a7eb579cdb27400b56344a765d3cc5e09abecffcd97b66bae5b3d2bac1714cfc8eb6c7c6aef43698c5333b551915cfb08ecb396eced63e7beca58d6c32baa9005b0d7d8ec64dd50449736371e3cb2fb25605ad18a8702fe5311faa530592ad3e2cf4d6270d22ed5dc07df82a5620a256ea298f4adf2672428ebdba8d86762572185f300ed817cb31bac9f71ebde40c544d16d0463d9ed60806c98361bdbd9bc2e47bc1a27bd0f29a7d2b378fb72e89bb3138bae81c78205ebed0447929090353b4ea9226ff3596056235b478cdf2e1bad695f84f9167b3e08542a8220204c126f11cb8cd907115835fb01d5fa5adf82f8c4a6581638d596aa871e82af60987f693dcfbec4858004c3e7766d538866195fad0ed42baee054d005db26d563b88df7149f824bc4c1446078589618d5b46264a6b3c454474d80bd8f2385b71afdf7b4bb8506351ee226d261b7086b63a7e152d887ca6bf2539df01233bdef466dd00c0878601841bb043045c4e95e19381b1a0b61ad314ff587d91b6f278ca142af3e667d9787a50630deb45a92b3409a580bd6d2b97c746c756ba24fb31a12474ecedd158a2e61e11606f14a50bd53771618a73e9acf17b9471897e4ff31c90f031893ffc3aebe42c43454d8dc2aff6c8548783b6fabf63269b12dab66434164b2ef963a202f249824224999337cc299720c88b50fde2313417b175fc76f7bc1f1106a868972817e42cad144015437bdc76f527ccb49772c47634957c1f3b61049e700a6b22418e6cd44c023b05fa031d3ff41b29e38b41fff1a2ba6188d1c4bb08a93f18a374b61ca8ce7b777c5c0686b627116aa8ee94a1583245890756d21ca1a67d82f12329eba4ef3310a87cf29c2afce4de5c7a9b98a20d6f7fe948626fe9aa7071e86dfd98bda586431a030ed7c7224f7abc505187ab1392f115cee5464dde6eb284a0d2c90985a0f5b0971e8adabdb5681144c80899a8745615552aca0890a47b4f957c52d1ac12c8611a5b8ee777295fa7cc1e74476a46f4f922c2e1dd7c4d9ede2d873c56e62bdd98376a3ffbbeb9eafd843bdf99a319a1f93621f6823e1944048c772119fbfc495b5e5fd6b355e1bdf422ed1532a0aceaa55e58f06dec93336cb577cc514aefaa654d48196b0cf4805bea7a47c1eee8fa641fbcb8d84f2898cea045c7c8983e14479be64b8d711f133e00202dbc4d053d74786d64d2dc3f722f73a3a5d35e91d63f445846e9892354a8e8b8dbbba35a7fbfacc5fae6c29ee4710490f5d89f6985d91af6ba2397c20e73a325266677c686f9e484f9bbf979b37149caefc12da1de5c8c5859b6f05941d5027b0a4f85fcc870db5efd2d6d5ae3770725a7b300429b1c9dc24596078798cc67446805002fa478bfc858017ea921a91a2f1195ef9b0928b58446806b1aa1b9e527912f0bd8b0f9032d33165af8d8b227286eeee953645759a4497e3734b26f27b274c916447aaeb0ff3644d56735bfe0d219dfbfc8d71f59dce0678c9219d46fd7538e342be8f88dfa229e6760ea84f4048ab17a5fc211f465b92c6090e7d4a6aaec967ebe716a6d870afb9290e9f38b86fbc874f992ee459469056b003082d5c44ad04330eacd91bebcb112305cb2cef09050b9695126a8b10130c1fc5182ec4a293d97fe520717d44c0e8ba3b743e401483975705bbafcd438abccd6f19258bc7349762dd4a9b80879b7ed37debca7931842868feeb7279a5d4de1fe9c6fc531700d0444cb8d2f0a016691123dd2ad5c2da730952d3bf371bab6f92b01781c8aab974e0b32cc09467276810667c03e3614d8aefec0098abca7b7c861ce1433116a278b4ab1cde5c04763fc1bd25f2fb6080cb02ee2375287b8ada69ccb2540875d7ce909f170ed15347883555569de85f68bae382c626c4fe45589b08c726eb89b2ab5f7a18cf18c9706b5bc4ee2902fad08bc2d541b265470b8181581539965fd2120f6c1028808b2003b964b6c69073959f18a09cf36538782953b338dcb9e35955d352dd7d73762165ed0110c9417e9a15dc44563847b0fdd3c962cf6c58258d176853db5cb097b15336d762e5887ed6c0b882d70acbd587c951165916078db4f7e597ccad753d761547d3ffd52e5e597df023328a6957e3fa3b0bce428e4d9ddf66573a9d1ec686ce795471d6f8d390f67dd77ecec734634b398fd8d771e37aca4dffaa372f1f4a5d13a185f741cb6181e5dce91d06f5386ccee953288e04352506cffda9d99f9e72b5f02fea20f11e43d4299be970243046967efd8630002f7b6d12979098870cecf0968626849a936940d3f9c0137bf6b6cbc112de51c65b89fd0b1b7a12584fa0277d05e932ee03121e9737f2fc24897cfa49d743c60e42a674ea8ae9b6dcd8464c1430fe187e816c6e9dd2de32306080d2149e1347052cd3e1a2ef9ee85d8f431688288dbe7e2fa401baee427711e5ee1516b8a0f605f2fc3b5963ecf32abf7e9bf56b4adfa5987731fa938dc9dbe070e812fbcc839bfe0c376231aac225df9cbd0daa8159e5e18ac586ed3d402b8cc2a02fe77eddd1fc5756d2521000040b42002dc4258dcdd32dcdda9fede3530f17c31a85f17f2ad47234665880f9ccc0c6b273457e250815168aab5918588a1eba1e092c5bffdf4025db45ea10b85cfb40d370934c937a5f46eb784b3a6feb56048b70c413042edaba4acf62505671c00a8be38ea42cde043e1a0fce6248f5f19f2dc061b29d85327e8c8cf1d72eb261b02ba3052489baca789ed23cb5c558738d895fba90b6062d8a144ef49526621b914fd54616c635c877b11cff1a9b9c6ad062e4b9870eba2f06824525dfe0b4b064444b2085ddb52e7e3fa24eb95ca5d3775600d2c4c8fd396dce3ef39eda3b93488b6971c122f6862f9cdeec8e2e478edb7e9da92cc75b8a0cf3002cf17e710ca908b65fa358469da6a06fbcdb8b6ce4329062a027401322e7a73f0d13f4e2487bea5843305b276ec216cff2d4d2bd2d6c6c235d2a881edee7a84df97ff9449992d6ebeba1779f354a25caa9b9aabda93fdf3634aeae86e06728a4ce90ba23adec82658f828227cd64c0e19cb589c6052c65f549b62e2637e4a070358c5d4f84062a159f3e58f2a520d65144b05f8d34db830898dcd5fc6eb935b075a574508a0a4bc5e1ac9b264ccde04ac3154f388773af0c34731bd2e2abcc7d82833db95eab2dffe8bc1a2f202306738eab70dd7391086981456902deec75c39845419f7661b2253abd5fd301f634bd558ba33fb25fa131bdec64f9d3b1d9b96167363a32241cd771bd51e517764ecee55706c42f60a126348a48e9bcfec3164cea3b0938d5729740bab02c2c366344af9a9cd8e643ac62f314c5434beef2e866a3e20f80550aeff0b3d63be4ca723404dcd91fc948884c6cd5f3c0bc09c5405c1ffa0c2ff4001ab920a72b05a3cf664457944f2bbef4d0485d7bf0b09a8df03b8bf0bac7506caf9bc5adf0a14f65a4d72a3b237f67c22a3e4deaf8bbd42d65f73cd5b68898d3c51d029a5cd1aa749244594e944f536ffc014363ac5607c8d0edbaa91110268df0806c4a5d977a4616dd8cbc4df4847440f5c148f1c4fa597932aa2aa9b1117484da39d13600d6624a8b2107af8118ad0e199a7d5dd3ca96cc91d230600748eef47dbf5cdb39c0b526cbef71f093bc2876b42711a370bae7a74806792127efb51fa82ddf19158153cfdeab39ed9409367657d86369dbc5ba3af79779de712a1c90cc04a8f80185aa145877e95fb7b00cffe61335b35241fd857c3a583a7ad2d8fa50241d8659264bdf95cf7f9b5e21324b8b331e9aa942e03f65fac12127c7ebe3a38d3bd595d07a33c7179c514984ff4cde0dbdedb6bac6ca0fb340f7105e920249a7071458b47cc4133dc66354dc52a94e9db552a0158b50c8b32ea45f3f4901064112c3abbfac13b2919f2913692bae308e2f66386877938f12396f0e774e2364706920e75ff22228614e14bfb33408c93e8de8d188a000115c2aa1c2bdc4bfbbe89c778e568ac657df0c22b6fd15e3795d7966923421073ad28ea24bd8d4dad3864c06065d4a2438b3e86863a2ecb9d4041578f1f7432fd5672a677bf529965c4bedb044add921e7bea938a7080f5be5db87a4d6a2635f18cadbaa56e461e1f5ee7437eaab347ec516370929fe71a812a3d5d46fb8f4ce8f5c4f65a3e3ead45d202522b3be29502f08e07c89bf5559e0acd2670d0e3bf02391ba021f2b2ede039cd8da37dc202298739753d5d486882228e153c3a718cc01a675b9f8da54fd187e118b66c063280f694f753b8dffd265fd0596317e7d5aa1e30177e6a01f8ab8b05c88bbe21b55217b9c1dc811190ee44d5847cd7b4e63f1d4f05b86c2baf7717ac1e1d4effcd0f30372ab5cad054c3630128f9e2e4ec3daa79f08de4604d7ad4de033eb98566b328e660644f2f615c67ce373adffe8d9256305cb215e0a571b17df1b0dd95f51c720e8abada564124e0d6d0366097c3aa6a1a57976b29b79135e589bebb2a7b59201cc2849cac5b71a427d0770e47217330505665396f6017843c73a4ae25307cbff06a7c8fcbf6dc38b3faf0338c203a64b0a3b77c1ea4bbe23e186e503fe85fc3dd8b7739cbb7bdb6417cebd5a653f696d336b9e3d07dd20845fc9de0d774e3009fd78b7c1439f2a3ac826073c26e65a984b80c1e63301d7d2298da2a5cb02a5e214df08ff6035070a707d0853a3845d4186b577cdcca2c504dc4fda6c7e15b18ae72ea367ebadf30514247cf24f93467151dbef2a7075cbfb96c7bbdf28bf792beb2985eac957dc32b1688143f844c0c749d608c4d63dd169b26748c5aa4d55140b021a975876cb1b6ccfaa7177a3aa4862208dfc4a13ad0d1103178d73c50dc4b23114ca1f58565825127c09a02bfe4683f9eb47ac0883f9cade5ef5d71602b33e034c9bc30a942bc674f46bf18c0ab14c2d223556450896cc76c1239a1874730571b8dd922951be1f60df953f5358b1098e1dfcfa10e49081f96c8aaafe730d45443704788ce5a0db20dfc64550604e2593c277d4d4a33512b5659ebc0238ff04aeabc402117271173aec67521e67e24b4e68459facd1e71eeec8b3f82677e59fb9cbbd258a3d3afb4a825ff20a576943dcdc09297009e7201f0b8ea4734fe16b9d6e9e8e8111796716317ba7328d39e1da87684d2e6dc184491960830fbd29d7670dffd4c580261442bcf1d9dfc9254d068cb0ffd1f9b45e8281e71f97c48103483f79433018dd82709b419402cae80916d2e0db4adea720111c502dc608801a38f88d08d2bae61e69d31e5f694e382c98a7c6077216c098794f8d4a25c4b9593c67fb9308fa13609839d02419ec613daa605c49082dbfd9c8f43dd977c824ddb3db75eaa255deaf6f69c0e9c4a3168b1e6d6b068aeeaeffc110d43c526a718c6ce79732007759f4483b7db7d720ec3b1e8ddd1db5b43322194c234964344f8cc1e9e91ca860dd3972a0e0cb38a0bcf93f2163020e5a9a1fe2666811b6fe54ddc366167fc25bdd48399968bfc4f43605815dc1eb0e9d2809c50eaeb70997e5cb3c06a76757c63780e263d536aaae989e659b8e6afd58f199df29a75d972273ac6dc01864159d649f90b325b7980274bc21da20a762db41d90b3b0422e653583702f092829629459bd8f645f3ac4b096b981889960e937abaa2435c1f05ee9d5d09d99eb953ef5c1777448a57dfa9a06d27108b6521f7f70d547c52897276fa22d6a2dfa84e13d081d856d9f1e44afc05ea6d8012ec4c6af73480eb8fcb6c096f267d4d4f2764591804d2c7a91a2aaf50d8d519927894db014e2b9a4f8d472535fd32e74b37a1a3c7e57955901689902649aab722de44d2d1887a222a41b740fead0be1ac01c1f86ec821c4bca2f5bc7eb3ae25d62c22e61a40c5e399314522945e452977ef331d2868fc23f99c0e18967e072418ba1676863c9cb615939ca329e8be44e83dea520786d5e71698acaaea8fcecf2d7df1994b1304eafa7bd76e6adc0b810ec96ca4b1160308c61271956d0a464651080c0bd749edd542ca6e77aeef1e6efc965fb70b2f759eaa04f12806ba1001d100b256a7c2065fca1b107ebcb2cb7341e582b86316237054c196ad4a24af17efca20c6a9e35d1458670eabf727085cd40a3c7558d5bec698b796b0c6627763bdd69fc72f080a31afa293e658d7e3b7c8ba5997d113d6b17b84f835b188c0f30492dd9714154568303e162a99277fde4b1f5c933adf1190638b5306321bc507a22cd3e6e1da3dd9c241c2f101799f5333bea073aae1519dc354d6a95e2fd0eb12f1fac7605c1bace59424fea7a9ad5a5573deb19f8b57835469dcf552fe67153a22f00ea67ca22a3c4fba1d423beb39510a98453a030284e50ef88978376f946a7528c7b43f3c438ea52c4afc68ac9d351d80f81f0c071a728f626569a808694ad291a1312efda52ebdad1f364e323ac4a13544d897c0b71845ede992469893cb8d9d51228bb11055f7f83a1fc5abfee7b84817708108ba8a422ee43821bff19a6d59f936f10e584af86e7a72134a821f3b2f61cf6eeefbe648ee1597ee0e8d4f587fb9aef5ebc8d25834f879665ff3ddb041c3e824b91b7c46252c792c0cd6915dade650dec011f8bb50fa5550184e6c87b6c5df1829f5c25c6f868c1441d2f616f1373fe197030d2047ad4b7fc4efdcf5c8036727c7b5ed1855e24851dd0748f4008cf510da72faf066a94a5b3ebb388c2cc0eba9404f49b127f1b9ea3de6be830e62b498a6ac28177c92ebe89467a8e942f657d85bae3565cc7d8e7718258770d6520c892ba1ac60e3886f5ef746a6ee36aee5a515903acb695cf14e3f7217cb6474d58aedc1bd45226cbc539efd3371fb43cf809fd803168e8abe493ecb75e1586cea91a8df998fbd230d9cd875d68767e3a6c36443697cd4ee64bd8116a44e5e43304a42b0de4084327c7ed354d4c2895f9a50e2b92d3d311390988cc68b719ae4ae3ebce098f5d060da0f582c6c258034de67b18a8616873c6f075f88c7ef38f795109af8577592c919f57c6b53028ea8bcc073871291e4410fac38b632bab2f9fd158e24f6e1cccf809130e61ef79a4909e155e2375309fbacfe94b30b4860410954cb786d241b2c67bff9405c83a3d313347bfede64a4596a5f22867389f69efdacd4b4a978f2a0bbd560e4c1b3d4c304fefd2267104da3512407dd0e713bfa089ce4600ade1fa28b7cccb7f6ff5a7e158507cdf22c5daebb21b7447c97755c8054620d7f3783f1142bd95bab21b865db57d16673180b2b24943f08832c43375ee56cbcb2418ad4832836d745af211a58975dd076312565a663411590516babb2c6c3e66cf6fd6e0348b95606650876f5df6e536fa08e4164195729d09858b57f132ed7d46925aadef60116829ddce0055a295eb42bf9da2ebdbf98f2f2686d1bd19fc690592321035aa5c7c76f33ac86b52dcecccef09f18cb4de43110004acdfa0de039346e2773e7a7633419cf5cc401c93fa2f83174e4e91280ccdcc559df6297ce93c2ed01616a4a796c9c303f4125fc37ed3a8c43bf6a5f38f51e524e96ba8c4af6dcbcf209c2ae225f96bfe49dc81874c9682a6c241b458d73c2b87c590f6ab3ac2075a621a83619fc6fbe7cfd1457468d70ba67e5a3c9b0b0fd07820518a3babafa1e32660405368a11a307dc7e05aaceabae28b55d021eba154f59f9e8a8f97624ea5d7eaa2b6db4dfa5a37c352732f554ec812b6bbd9dd42d06a3e598e1fed9939b8af64bc066bd22836b129960be8674b284cd8b20d208f295e23f4732caebe97cd9e95248e4ad22714968442071afc59cc415aebc14f76f939cc64ae023c0fab0f595b602b8ee92f6cd0e7bae30e8883470c29431f7bb46911b2030660ded56068a515d813136105db8d0a403b98369e47a161c73eba0c1b4e5c2abe5421bfd1381edcd50cb405be39600a9ccd7c73717d2e0f628144d4a1f3f041ade4929e2d87da04781b10e7547d56db15c63d37b7b173e66e7b2b21d63da1806cd442d4c85c043ed2106e8a6dcf24295c577dd0790e1b2846d3fc94989e8e58de2c404ac861bbdc393cc116278213a363579cb2c23d5143f09821bfb07bf3651aaa0222251150231ba8431b6adcd4b24fc60620d80a656f2c62446a182ad4d1612c3da3d2196dc6896b4bca4b23a09f94e17dce536aed2470184d37920688658aa8b1648c737a0b8244a6a396e0eac44da385e14c8ca0f2b2f9f5e6cb6630196903d3b9c778e6effdd1e8f9aaae6b0b01baf4c364866fb2268a14795f9fab0a0f78057b1291c112feece4fd12a4b6e5835d637f1dc5ac1246ce5c8fcda2546ba52271d8e0a30506ba48240805b3ab33f50d333472ddd98dc47705c45c3ad2e33c028cf0585ffe2bf8b8610d77dab3dfa7e724d9020fe7df9afe1cf9543b05f62d9bfbe99eff19259797f65900390d07d66778fc67b5c9ec526b8b0dfad4d411aaee6c53211f499096c39bc68a721e3897051715307b0c0f4e44a42286d934cf94b775d4f0030ffe8d273bd9fc69e3f222973f0bf7502fce1563386b2d9e29d2dafc84b9ef6e4164cfd25db52a37f240cbd402281d2cd22cb57eaa0f854b1df2e3dd6021e66cb1c0ec11f0d68ac3da87aba893779733ed2227c671225e8cb7612ea738069baf3d62c8602d9404fb3d6d65aa6c27e05d849e78f1a9a636f023df3577700bb80ef5c30da40d7731a3cd302cec95cba9d0cc6c7fcca647fc8d2df5716501919fa4214698ca87acad77732c5cec44aab279f91427762e0add9cee965e77f5abaec933988e2071bbc02cdd0dca9d96a4af9dbe2aacba284462b585d334c4bd9d0b8412e29c697a84b4ef5de46a87dabb82171849ac42b8443d8ba93e4bdd3399c38cb403edfdae4d6968488b736bc0e879f047192b7c31d58709ddb39f851be3f7685aca5c175df6fe246be0d2bcc74f40bc08a99a009e53b3187c34ee116ab930baf62469fc899440b902790c12871d3c696d0798a7b45c0b4842e0f7db8ae3c94be38659978461d3253b41fc65d6bbe2dba0b95c0a07fe8cd734d63b103d792c4866e04173e7221a10df05c67a4d20e5cae1d64e638dd2bd8d9bb19df0899a12d32b8dc1658d4eaa0e5287734bb91abd163d06854e243595fb01ed1f9d51395aa8ae5f2325e0f0bae516b192670381747e8e0914f58365428ea0a9ef184c0ddb089d2b46e2e67248045cc163f59dc4eaa5a81dd9c8e6fd35345ff359307878ab5f4eb54e0c3a4a4565dd2bc2b93fa20aa84685f1b8f071415ef571d63af11ba0fd3aba3d14da07995dc5d5af884d243750349f1e0846ee915aa955ee231a9224a9348d58a23627f263d7ce57067503c839c79bdca2f3cd67c26f75c949e070366ee56ad0604c0f066f230d8de0aa1ce329c0c8a9b1741a31dba2a0f0dd62985b683e968d6e00239712cb1bf8d477864d765d2db2bfc61d7debe0c9b1bb78bd430719270fc3c4921f170da15553320c94fcf7ebeff034c3eb8a358fca37e9de7810459fde539fab6ae02c523e4b0547ecd99725595827ae1730f524cbaaabb223f871410cfa96d9f8263b24d0b651d7500c72a1c12d6f18a0b2342b98e91a71c6c8845be038b7b3af640d7417e8014feb441427f7b08ec3801acc3c743ce37437d91ddd1b63aa04e8b9e1ddaff353bbc45438e63e5f4651d4c30209100ce9e55aabee79b8c6cb4ab71269822e590c3d89fd3a40e72ef3c264b5c8d8c6485b18952c66bb60ab46bd2766cc9708e63bfe2cbeeb0ceb26bb4738a1600b96916cfd51e130bd72aa3ef808c34ff150502a3de528a061fbf3e0e39e974c42f9e090f64fb7002851ec02c532b40a2abe7af6277c9f3500908f6c8d4756c75fd85b1f35f1ae71d64d863cd49be3cbf22882ee597c7310435f5127c1d33b6d475ad1846fefc5fcd5b085e38068b80cabac361dc505bdb5870c82941b0e317ba006d87279b6223f412beb1584cf51e81f0e904765d9a00b820c7e415225ce6690e6110f29d054ab1267e1f114ec10259eeb6aaa1a92b720701551852b47511f84a059335900b05b8fcaf571b634780cdb9dad735101e2049e6d31933fd0c2c0822407d68eaacb053011fbf0a90cc0da0f2b6e1771deb8a5b5b5b2ee17fdea9fddec1773f18b9b961efa0b134c5648d832e3604229f839ca68ca163e228f0ff64768d8a5c8b7059498aefd22751bd4ee8f28ab5d9fe36cb96da26291bafc9e5f9ad898896d4b24db5e50d96ec684e16f90ac06b060f8c4af8d4f9a11df275206a3cf5199b994457734624cbcc1bc3a1848bff9f85a548320fda768549fa67915130a0048b26d47404f901a8b170251f1134b60cda089c0260d515f53835942c3ab735a8f104f5f7a44de88f8a4b21d70df74eab8cd6f172e45f7856336d3f124c1d6fdd5f81c12e8734e38538e2cb35fb01a56ae3e53702d18afd5fe400f2ce5b3c46c75037ac00f8fe32b7cd8a4d409d8aa9654d48c664c90aba057d90998906cfc05846a642f45553962932ba2104ebc7174bcab1bf04860ab140e2d4595c873b84d9586855d54d36d7846fd1525a999380a57772860eee4739a269610a61ba09030acd5dc2c386b8af50a3d54ed10135784818bd8c89173305a6100017b058ed0d73e5168d1adcfed97ebd2bc9a82513b21e5da688e1e0a5967584cdd725f073323a759ddfb8d2aeb63f5f69333764226baa8b2ea515831376ea24eca62d63e1282b0fda021eaf72052fb8bb532e0144c708ab44a6cd9dfa95a8de0740e1a291e2941059643e0523f7372edb949df9b2258d27e73f6cb0241a11d1c6cf58e30d59b13a04a865798a9849d7f3fd51641d8907e2563901d048c170e0d2a2fe3d920bd0facab87b236c8b50590530e82690778e994341c1e0d69eab7cdaa93a9168a10c2d959213f46d54315d7190c382ff3a570dc7ed77157a34ee6cd81e101ec764cc15789924ca5e257caca4a7eeb973a6093601d9a10c6c5a106bcdd462359c29d1960e409733ebdf05197a660c337dc354e74303e29c49b61692033ba5704e7c0a9f2d7072ec4809e9f32c91fca16b3158b0770526de895b79db35d5cd2d8421424c57d9bddcc25d56f6571f0fabc3a44801a13a0ecc7d9159a9fd0276dcc59c6276b869057ef5ee879d1a037a0698aa4d9af5efad6d96ab0c6ecf45bcf4e006b6a3879b6944ebf713dbbe67ffa7accb805b0307806af24ed47f84e1d20a52445e0c37a124b2895b4ac38ba7932ad033c1481120b1e27228579525d23cc54949cdcb7b261dbb2a6ecf3eef205c2ecdf412508391eb4a24c9446c95ad8acd54ce819d1c269334dd3c85d662814d9a90f00a015d68b79e84dcb623f1be0c31cf35efaa07a3d176e59804a119ba9a106ab3dd0fd8c8696913dde9546cb4a6c0eb38791581dad336bdaf6892b9ad6e19c2dfd60346b0f4f9b053dee00a4f94efb1471325fc999f3054d58f8d4fa1dbea73c49bcbe2df17d9c463f4f70cad70a96795206edb067905b2cbf24ec229a8821d27224fac846ca4fdcb132e7530d9e2dc34aebf3ef9d635114b666c9b9be361efc3cd8ea66e6c6c3fa417b4af8f9d6f023149e24b191954ec776066bd67db44aabfd82d3f90146a3697edcb7f492f1da72f511098ae77ae874624f6bfe63ebcbe2d8c18dd1494171a02de785d603357b2118a294fedc94362721a4df22d540ab7d96ea0bb4cf55bd44a0f37bcf921c01a4de36e8d46eb0beb4418cfd3771318fe227283d947afa5aa4534bb363a1e72b21a9d16c40886971bb1bc9e53a0db6f46eeffadaf0cb85dca4f7711bac1c8039df9930da7804cb44e8050506f774d45a1728bdae5b1daf1e3debfd29d263d444431df077b1451786138e1981c6f83f9c8843fc2de99bee5158f26b259abc7608931fc815f3398d8cbae1c6856ad2f209532965b28546a840a03759a186837a14552f61bc9cf228234beae93715d479113c451fd93a3e35cff695aaaa3159d399cfc9558f50ad84ba42b84ed203179bc4d972389395ad988d6e0cd76e7ffdf81d8297830b1d5d2a5632072eacac7622d6e2be673a2840186719fdd0595827b574d35a8c8fa76d4351bca030d42538500efbf8ade84b145c668d24176bfadc11054cf76ef5577ac6d530bb32f9fd40d8c40579720a97cae5be780d1eef61676beb14cb290402d53e91819f408c9094b0741afd5040309332a0fbe1d11e5f879220f74e1a0c1caa39aefd8af2ef223e4b88829c436daca7d1012ad9e8abc758c172ac68478ad1104bb7c3633fa236b5b08f7f96b5fbc575c34e3b36e348c9dc77892b67c6154fd18d0dd299383e0cedb390f4a7ca3eaba4eaac39cea1dd20e266bc4fb0371a80a0188179161d1dcfd24f9b771d83c52d3aed6d1f18767d03417949ede1979d8feddd94126dda3b90b178596a59959b6d7b63ba9306a6bbc04dd0fefad65a6a5a9745a53e87c74f255fe309a4c1aeeff8d697092890c614cc24e811d5eee98490c1f3eeb6d31a8d638be73e9bee41e0e57072f3237b9a1ddceee6fe1a5ab3b60ccf021ac8a2edb736039204d2e0ace550ed16c6a7de14b1635fb928fb36be7f8154b3b6b014a2a5b5cf04389ee1987f55bf14206204bffa56bbaeb8298284e8939636f5c240e49a9e400ff803b2df1031bd5a6cafb398ac0536204116d90bdc9827fa341bf1c864bb961a455f09d0881656ea78dae6700f5907202dcc9ed6a6644b7c0ec5e4e0aaa43fa4e21aa234381b1e939c7c4800faa494a687931d4ed76402e68c2c392645f8c75509f1620d680d5006626abf1451cb13d6a61cc7c5c9a74170e1405f6470b5302efdc4f34b0f193ee3ef4af4ee33ca0776850ade9c6a0d41378753081609fb408778da70740acbb6f1f8cf2949c095860c5cd44fb93bbb57da6c0b886041b862e786c13497cff8fa724ef16efbe86e60629a659c08f04d05c3e0ecc8216e15e8817ac4af73264041b498845da09137bfd3a8af1b96c7d003f7b755f96ac9a3423075f5b011cab580215074a742f33459ceb5049cfaa39c6c4688acef3655373dab44ecde147d81cdee97ef90a676cc826a2b848451dbe4070937e1e811d101705c10334de6a350d8fab249c4a4e03e1e3e3c33396582be6f688fb35a2f8b02bbba8b36dde8d1a77792ba12979b770e86de0f33a97ed5db049cd3b372cbcbd0ae2d2cd6b09e36420a008290c744de71a2e8d2faad7731ce0cb6341830d2aa0b5e72cbc9302abace0061fd9f7fb6f2f0543ca452916b8372549be00dacc1c548c6ba8bf444819f483dad896d7456a01a6a040f8111a64fef090a7922783b1bbcc196aa0034e4d3f687deba83667a2727d7e3e79bf0553bf7b3c480591638352695f96c3202355fb29c51dd694cb67e1fda01905758e9f374423fc9695b0f41bf0475c55d9283644ba0ff200e321e8fdcabe177afe3a44e6880af1c0d559a425ebd550d0f5c7da26c8552ea296f6c793f56cc4419e4cc4a4274d89620e21b670b31364122aee657148b074003d404cc6204f288196df9e4e90253913a81e8e6ef73626202edb400c36b96065b696f4efcbb03f4c73a5348fcf21dcc99d05eecb37e8852321f76595d21baa4c51caff65ab7b96ae5f1eadf586e5f4f6d162b1aa21e5c2f3341fcaff9b19d36f48562a06ad4758177bf05d71d18de49e025e3c0806576865179d1b5eea6028c4c44c73b27d23881c2c27e2723172137b6924ac8890c07a997b5c04b789ac49ccfcffe89583d8f2c8b330d2b2d174286af360b526fc9e11d496c11880414f8a6b107e38df9676cacf650563ad6707a505b7d2366e2a26a0e1846c65390d8143336d05f4ce92bf24764e736abed9b1a69c6d31614a7bdbede61c4a0edcff8a8cca81f3be4ec981c3755730539f131a49b5a1cfa21cd15e5b5e48e40cbd45dee486c8889e8d93b296c5ebf8d60d1d804949bc14757af1dd739407600f351eb3c0b4b7bdf019c9d54c671dad87c90d635e61ecd6e90cae272b464becb06005e3d91b20b813a2459a082e7cc5a8b2eb807c93723d0443703471a471d1a7b227534718e7cedf98bccd19a5282615d6c8d79fd360eee9118eeb7fc3ebafb36241c03a9d5aefad10905de340a2ee7b00eabbc3a256f26f11c31e610bbda6216c0e909bf7b5d7e659ba0e5171ad6fc701ddfe06a6ebf2f7aa4892aa36de428275fb0e1779d34268e470c4ac18bcc86176415f4bb15747f338bfb487354598a3ab88b2a0043657c17435f8c03a03653103a8a232a5e8e2224cc324ac3400990aebea3a211971d0742a441812777f85e746d3339691052eea98cc49fcccfd95e35685fadf317b53af9468058e7a420ecbf0a52c6b0d84a8135624f89fd2917f0912c4f99e5172bba7d02d8cc6d8b3ae7c2e75bc18c3d3d5b4cf102cfd6eabd7750b3e515efcc9c1cc55de6e755d9c49626883961ffbee2999fca760fbaca57884b75593be7990bdfa125c09faa96cdc09bb59fdc29e23c564e9530f92e7d850d772b32f838c6b3be845c5101d92b5874b575d137d51f466c31e3d4dbf2036ceea3c48714f4d020a2b74d34e25816a159967a15898b4b4aab6d598ba9add27d42c1050ff3f145b6981adca481738bfb90b130e59b9b21ce0f2e7991e55bb49d0e597346563e4540a1c1c6f277d4987352f4e45c528598770046bc93b06c6c9a57b30fb421dd86de748e8ab57879075295bc5df6456106a9a68264d249d5be063ecd8f0dc897225393c83ab8791c31a4673b6c145ce757ab6459b7866f7a053eef00a066258bd8e3d355786192367a32c280f93dd6bbd83e2f504290cf0813f4fac0d210d66bdda9c41bc32a825bff91c176fd04a5d7716c452864090298ee22637c5582a924a1967bd68cf193715e4cfd024fa51925575dc96002e217612878d5358d5ae8092a55c08d664bfa5f853ad23cf754d2216746c1cb5e7a95fb0100455b77f662402ca4e093348c7613f4e8b177447d677ef72e4a494688c9990b18692185a3b4f33b1605dded9a26cb981b711368e4399310f5714f294608057d151d4253a700d8611c661b91d38c656f12d71cf78ba7fa004aaf3b8ce3c7e9ee4986a1bd40b8296b2065c99bb90e8ec782c01234e72bb1323dc94a8ad2ff82e1603268700e101099114c9bc557cbdaab46e4b6f9e740457977165fe71a6c337e3cefcf9abb03c20eab8ecfd7171a579b7a9141761712028aea581c8d4cac1ff72cb9491caa4381aa3244f4575f80edb50fca918bf90272136080995a17a5bc3c3f94067f6ab861934e424769d61fa01e11a684c1d3352a116b4534292e2bae77e88a053e6da321221e4d4201400cb560493a04f8255ea37c506b7251af3a6047cabebc591373f29adfc7c98a166f8d17159ffbada0d0c47327fc50f106f41b8050f6cd0d9035bea0bf412bc090ae027344119015c92044891cadc2854e46f4a24f4ba47ff1fba983708c2abb80f2cbfab8da87da4d00d8bdd6e67893d7e094833916d2637b7d1628eacaf1c9e6524fca2b73cc0c844630a5e78524c47729dbe99ab2255ab3ecda0fe734ecd0b34f10e1d49bbb0b7927e4b02ace544ba6ab37d3a028dbae89ab364beca084aaec5e579988deb328803d9a4532c03903cb9de1e8e6c5e7d47df6624cafd00564c750fd52e735aa1968529823d21c06d217d212e2e35a23f80b83d94bcc4e07fdaee5577e11651915ee3c11d40bb406d9c86020d751db9f2e72f74ca041af3ba47215a59f070fb1e4ed964fea42289dc2e376bb7c2eb92637987437f0b3e6d66487f2239e44feba03abe065bd5e9c389f4310368b4043f0b8ead4acd2ec46d7d542909dee896990af7b23baaf7a0e01326b19c5af5b41a22d5adf2f899cd7d68bc809b6f3571ca522065e8806528cc21f5fdd061afd371da2047e6b263ee60883e7ff3d431c28fe405565278722900bb6dbca9e44d22842c71f702ac574847d0cf315841199576c47d50ca7b24d6f65be794554e5a916cd14ac7f14b6c71beb468ae8e8bdbd3a04134c346eb8692155647d089770f72f8b3fd740cac10478024e2837e5aef14aeec3eca844eccb0516fe1d01438a37a2a52d53075b4a25474045827eb3ea94462c0dcdecaf81f9b57c93250ce7a9e1f68a15d46bafe784e79dbd281d054e29f158d3227d4e9978b6f54aba3efeec773c209aefdadad323f16ef718025431da87bdfe31c978aaa9c0d7d83c7fca3b9de7db3ac653a348feaef1d79c41058defc2cc075b838b3796e03c22feab30a04fc4c0f11c46062e34dc8c77ef21abb0250918af5c82baf5c80184aa22aa032d54951a3fa48a6e1e4799e222bf7c0a231e048140bc630ab5eeb2b90737452d7875436769550ca0685125e9caca49344643c56422edf1e1355e76fb9d9710a76c27fbe8552b571ac6d0447ad1dcd937235667ad2e1c18cbd855792b5e4c90201b97147c0aa59855c9d9db1ce955ba85288b7929f9218a7c6647e8065a8da4cc2c464f1d7ab80e4641b33f184c2e4ba6b32262ec1d89fdf94807c95c1a2f6f9d63bba29375dbd3db77995ba5d45e180c4e2b02406810cb899b4988ad66c5b24b645f4a2eb183daac41ddcb3e6ed887619154788353f996ab61973a93da4ba289465d11fc1b26d801c80358570a9c3fb5867ff2069bac458aeca3e5b7b10d624956986d7264d7eb5d8afe06c73fafed5d67bd05a2531c7424cfc6b89a34735693d06e03eda705eaef7e68328497d1435978ac49466e0a845be915b5fd9fc93cdb8a862242a9c798978c45113cad1f4687c7b4417395cea6976e533f34075ae93a887cdb33b53e89e487c8af4f57e04e80ce78e2b6da1ecb848940ca62151a717a0d6651ddaefae5f35d07fd32cd6888e618f2dd9c45ee316dcc86567279fc452dd3c39af7f676ea561e2ea73a4af6ab5003a797f94a1245d7565ed88dba5bb211bb35542ab4c90ec98c4ce9686cbd52c341be8b22ecf30dfb830c9a0e484a8184d539c35f59aff4cfd2601976ce0f827f85f2a30011f46fd93059034992b71d77e877dcdc24ecfcdbec331f63d9382ed0c0ca0b73f49f8f555a927b9c6560746e49cc3c623d76171f2860128f83fd83925e8c3daa1a4e0ba0eab2767a3fa5abd824e4deeabd2602c30241a0332b5a801db389991bf31955fb39f41e90cbe49b27922a2a85753b00b1e2aaf5863c0045cc234b08eaf01250ad033e05699d743569fc1003a175713c64302ba9045c18e37843443e15f6325855b6955dd3d99f0aa043b7db5a63af4efc33a48ae730ecd72908c2d0ce86c9ab4e4b4d825bc7a2f654a66169182ddb44029eb036cb3e65a297076794f18fc0feb81adfa127ed54a604709eefacb12d8331103c76c070743ba31687532b4c705e4d65efd4e509e668bb041270a98d9505b69468df0ca469d687cb8da2bba937f3e5515a82e487a3ea4c8ef53f10dde04a26d45ccaa8787c73a846e5e444c8bc57d3ef6e5b245462987744063f9eb37c212d59bb5d0620d62f2967be55f565b16558ece4f5f57bbe486d6131a11cca31492e0bc7547633afac53f9e0ae8e3698831b021e092ad25a53b450e2dea637c6439cfb04f01facb92b7c98ab45a0b407066b6e3bc5cf3f794bd563ad4582d1c1d837c7f251730d6c1b8a7013084d9e4c24b7495bcec22ba714308c6088efefb51086caf4a3155ce1f23c26f501f7297a4f9d7ff46e7a8de1dd25968dc305d4b4345d2019bf8942a11d08b970235916253d9b8a1fc36a699b4d47b2115d4dbbcae58f3b4dbe497ae7a7b80c8889d373d78178598eb1c7427754919d6d78130489bb82c13d1498f40900d872abadb4a5d8f7aa56fd2ecd727b7f243f8b5b07944f109a15ef7acde52459cbda0a5493be215419b86f6b0d835fee4ff87df056bf2b573ae7704113973e3ddb01ae885f8c7788820c1988b8ce79c5fe3cf3e8d282dd93f5aa471817e1fbd244b779175f516d995aae3755bcae0dc041d5803cf40c7f45a17813ccc806e03b03b00fdc8170be3e9eb73569fb68170062639abe550213b583d5c8aba92b6e385e787d5ffa86aefda03dafa0adeca9b06b3c51da0b9fa292acb78eb1bc246e17ca9f01f6c0c4459cf695631ab3f3dd1c0fb971320ce5019c3474e694d756322e0a5bf1c2b5943fd591a9d5fa01b01a817f746c929963dbe06f6837c11b2417c61242119cd6754666873b3fbb7f89e6a70560c2a95e5a93c60f3f70ef83ee53a5c31f4edf55cab3f84c12417e252098f655ee02ad93bcdac9e747618d8b4d88c33a6600f9e95aaf92104e05e6c40ebbefc59e569d42b994d7626b41ed3186fa9049c15224d966acafe84faae0519caa498919e7a4b3c575fbab6b8433fd154f2b2e6cf88d619cc8f90335cf69162439af40f268bff85330cd8fde6105496ea4c75b3dc5c9842562a63614da69a6a7688c95ab9acb8e99e967ff9946f992b1559bbcd4315d503f0a03d986580f29b152a561e7f196f0d0b4deca27da6575f620f674c6154dc22beb4d5295ac333a3d1c9b58b77ae0265f1c23237afdfe05a63705e0434edf9af0003ee62d3536bca2393eae4d8243e8efb40c78ec87ee4b14d2c59d6f78a4434877ec0960f377b87854d00664ea2082f3e9481818feeb89caf43618db4f5af1c80ed0411464d6f63ac0899bb1ab4c52254a1fb7b91a82ad011936edb47a38b1255102e276e935394fdf0251c36e3a895ce758c24443e14b2f783a5014b10ade2008f82b124c580798fe739b15291e9376e9af9775baed765999bd702ed462783f0054f95f2d479daac134008ecd27b3fcf8b4baf31403db889563910ec1b2a08fdeaf65ef442bee811183436f4efc4e308f9a5148c8ffc0f829dea0f6f93e51ef172f502d3fe90413aa508735d1ec52dba8495300c751cc286732b4dc6240b0cfa79090e6d6a0f5ad14619655baea69d8868a180ede7381ea858edfae0f11720cf15602ba2b0ade91b7447e0316ec0434c4d56a1d054ae28bfb41bf9b17a75aa8c38127e49c9f66697eded66951d5df339dcb2f25af927898aeb22dc75ecbed5bf900f76bf0e190501538a350d023d55d2a68e108a72163192535cdcc2dff5886c86f08f58752b2475d9e837b50bf25bffe2d12813eb9adb275d31113a36d504d99bc9607436a2365bc7ea715960ffe97ad2e801387966396302b3e685f7520eb7097b5501d2cc4adada1bb3dad285be972998bd78add77e43a1ddbab7a62dfaec3bcc876cefbe943cf3e115e5cfa6a0fb7998a14bc91e8affcecb4b72f68db44ba863c3a0a4ee4aecb07c7ebf8155127fa55e2a662de80bbfbad875224b55ef4ca6db078c3583041c796432b0b4533ceddf39b459b35e9f2febd4e1b2b074d0a47019860786dc6befbced14b108459e4765b5410276af25874951f291e26a75c72b8188218607e3860203da139a1805b90d02ccb35f690f3bab05b5c6722bd043f3e4452b30e8dcba27d75c6bc1f2b3976a981a13962e5df7c0d669bcb3d62d09c6dd156b0af9c3b9297d38617b71d4e7f23540b09108095847d41776e89b091155bc6c194d040ea0ad215166e6c2aaaa42c079afd340c44e9da020d46e5478c391f6454278b25c18f8af95df9d4c6ba4f5831a7b54de5e8600c326e00461e346b3c6d8cb73ce0392d34ffb496112d8e6fc6013f00d85d0ae797808c90029aaabbedfa7dfd86f2a94a277370f1a016ad8c01f1158817e2f82a864ff22f6f073fedbe6d53d199d61edf9f99fe525dd1292d62c6899552979a03dd69c54211883bae155b70f29ac140985101039c9cc0e7dac9b20644e532003388aea382aa1298953b82a7d79767fc2969b04df28373ed92f7a2cfd61fbe5d0c9d4e04108cabd7a038bd575ac31b5b0454a99cebd090664b360c07b10c2d9e01e34d62838bedf5e2d159fd4a65fff385216e5d7fef19a13e29e8eb1360f01168a753b6e6f78602c62600b3ee8f63bbb6d51c0060003c508a309561664e17fec38cd39fdecd60c9d6573884ae5f8e3d5dd0f912a80a4bd3e00c6d1e10aa753fd2da121de94e96fca978aaa215743a52c954113e4608adced100cfa4ffa4dd94f09da42410b2a33aa7fcc091ea396874b71792daa046fad67dd87ae8c4e4068ed1e404406c08cd55bb7d7f5beed6f34f36575540cfb645ee6f10ce53d291917f14d78a29d0461e07117256ad1bd526dc0d94f089f4a3afdb35339ebacc626fb408f905e107f247d8348bf7b6ba6ab834cebb0d138d9d208c32df0644470a5dc0aeec1bbfb1265087f4e033dbb2702360e4b3a84a995fc6aac30775f230ae33291f878ecd27283abab94b7e55cb1dc025acb6531d1903bd86dd6880adce6dbcab485268233044220e05c80cf3aabd451cf3a5981a0cfaa8e16b557c483088a664074bea0c4f3b184147d17e4a6a285e041882a5af0790cc536c886ccfa9f55e4ab1960b4f118a6ccbcb20bbc60a7066f4f163b1dea21343cb4899071ea5200de232848bc07c6ac36f0e3faeb062344f2065c3a8eef749a8b17b0c210377d3901d4a21f9fb5b5b869ab4b3b6c15f18e8686c85cbe35e94b14a0e90c204b9b4b7b4cb0316de0135a9af7b6d6d9c9bda513d52baa0f92a8f34aa93d6c71df1d0eb3f33c627993ceaaff768ce2926c63bb85bd30c4de30a494b996091d8fd60ed16aa900560328bceae371eebf96acf51230664a2dd126e979e986a66b028bdc7695ae263aab56d20e7af4f6446567d0cd626598862dc9693613f91a9023054b437d6a30724245d4bc68015bae6d15d83d0ce7ecccec1dc5a85f79492853aca792d39301882fb551f181e1934707494a789c4c71c15a36204252b8ef9961962ec44d855a265fbac36c5a75bfeedc8c2c4037b1b58ec4adcad577032d2628ff85b74a7ee4710443eeef20b43a8cd49f56a241969d19a277379ca2d7222668cf4663cb11764f459ce38f93aa19dea4e063fb482235bab491318a4728ad46581f7963cdb404188649459cc39255a31260ad13f0a8317a2fc2298406348b7c145a05f8797f36b6e836f09d5717c7fa000d9e8b4e65591a6a7baf3a8e156c56b1abf21f6ce1f1c8840efdf8c4cf5e82780060932730ce9717fa2725b66fd58545ac9e806b01bd5b60087855059cc0cadd9847202c502a60eafafef5aaf05a2d6f0cea03378263809f334fd984fa98d53bfcd81d6911cddf3d204890c5620448a43f346e0ec85f2f92c633987e583191d4965acffb6716e3a5412b1b430dc6e9f8622f875603474e04fa4e416bea75fe288951c5aead3625ee5afc55ce3d6884ec2011637c76398996ecbc33f3c8f6244fc6aa5f3f19c72ad22520aeb60e49c71f201883e5e2b79bbb876100d3eaa04d6519643881ce60e31bb939da8a861d6ad8b190ddb59241bc0e8416a34fb31233cf6e833f197801d3dca6415100080e7f9f091259e6c86b6633c3f23017eb4e1d7c7b8ce571aabf556b60325486d71b58c168cd9a218088370ae4dc6b506cd5c52ebde86600d3fb1cd0de3dce20f553aa9b39bf27cd66639f1402c78f0c77dc9b681446df0ee64ab846bfd587a584512b40df56933e5a5d21022e1c42044dc341d3b06d824c009b5d74ebaf5acee57794a4c61cc2241472eddfdc2e62af779c23d6a6d42cbdc6ab0b022d4c88cd86755803a0284638b2393ce940e45f7f91d16019392a1382f56cc8616d1df3eee30718ea6a15ed8900c0e45eb768df3f23fbd10f207801e91f75e3c026f227987deb787450c57660411e6a838dca10766fdb19077c431dc0b26d220288cb81b8491043642fc70e17719a25a85bb2a025bc449f5e8fab10c2b4bd0bcd546f5a2848cb4c7f624ce336ff61a27ab1147adbf40c4c672d5c0be781c67ef161967ab0f2738a4598ba1e3c1d364ea2564b94fbdd65158bb2d5a3b24296e093df1135fc5935e27fccdcd779e53c327a1c120dbb41022bbc4699d3055bf8e4c9c2f2af6c3808d790593e17fb40a7f46b7023f1c2e650b27001388ad4e01a21bc5d483fdd1283474c2f2094e10929d8dcb1ee23a81678d68efcc789c557e2e5260730a0898e43bee7ef41401e5d882b6aead67ac1255c19f267f8a516ce2132f882c79d014b034b26ca8879a6c45e441c65e6914bb7e6720313620dc5bd277053590d37068a4ce41e5b41ab6a5412f0b110fa194489ec53802534b539e4093860ce0ef5896d3df69699655b814ae7524701509c352c7e837658d45a0e0803265ccf81601b859180fd800042bfc4801106d725a4f7ca01570d6e779e7396c78bd3e976d6baf830b7a390fc857f32820ee9ce73ace89efe3eeee5266a82d93b0d430731e5e55b41fc4d37b2032f8c5b1367c1d19945fe044fe59d92b6d2076859f571abd168a8f219dc0945b5c2dc3629d8b76a2465161e91b49e366f41b5d5844bc27c18906943f0e9ba36d444cf6366235beb9fe183a618b181eec3247de918b67b7a7a20ec3435374c2c3c5e52e5ec828fd75ca39bc565dda5463f048dd09e2185fc6e2d2e05757f9cbb8e214b781a3fad5fdf5e65f1881769aea27aa8a334d5a36c14eedb512586c91dcea90acf1ea0790cbb4496f8b34daf744745dd26fdeb1bf0e2348f72dc60afb8cf0b7c4ec8a941875ee6946496d65954ddeff2c1cd333943eae7215e21c91fc473487c48bcb8f18f59f05009c9e26f5b426b7c6ddaeb2738c9fef662634db306f046e37fd73ddd036d29cd4a1280a59de650a0e371004524234ec8b03e5b2ddc03ea1635e83dda32072b619b135d104f048bdb897016be10a562b321b63b89b0408a01a7a21430db9cf304e769a53da659f44a3e79df196cb44536812c885f4b23c2191e26170ca22d16e26116572d77b09968b6b4601a84096f0ab8931add7c55667c72ee652afe62b7fa6287c47df373b29b65054415174e76014ea261728800b1ef0ae9f9e5f8ee8d738961a77eb66881e7386486804e746956d08d8e8b32124be58fd2cc7c151ca064ad506d03a834bd57e886af49910170898ea217fbc908d2675ddec5473ef06bda77fbb3a460b97397e5ae34f11280da9878ad3acf21eefeb8dc4cf828861a001394976c454ec2ecff411286e310dc64a90a83777080c52058394c6db0d99aa17c972320a68549bdc8c7321012ec8ab434809800b7882dd3922ef4fa647f6ebcfc4bc485af4123d6c92dd2b752e92d9950a5144a8b0bcfa421532c0da18c674a096dfe8683713091df2112c4f399e94da6a75906cd542e8267224189f9077ad15b88a75cec679da50c1119223358995025ab2324742e2db161af9731dc2a7b8935637279be9e1a9509a912d47fee86f219e76453126237e1ec49786c610ec61599f1974901f555a9476dc64a5f6a996b2abfce351e361276ab8f69797844fb6c9cffade7d469425621cc79652d6ebbde3177ccf7ddcc4a5dcadd0c598ee4a8310e8e6b125a5f4eaf0d58321f724e419b3fdbafaf770f8fd2f3696249b965a0c97e440520a080b65188f03097587aaf7d8d255aad47c07b04326ac534e940edcd74609ced60a8c6aba12ffbfa82099418f50363df87c81d9275a179e8e57b7767c3af5c51d96835bb9562706a8939a9c60d5a16ec24c38cc85b6b4693f7acb1e13a49337793b0e2986f9c87824e6d7c16de82a4e36b9db6d73f68cf0f0898b9fe4fc321b06f310da7c12a74db1d035297b74d1ff55289050c0bd6a0a6e48d9fa6af9fcc0aacb0a61e4056a6d729196554ef8e6339d8901da72e0ef3e1b4d37d346434fd6f32bc565c47d323aafd12f3f1e4fd11fb6be8d09ab427c64908f568416485fd06c7970af3ac65f593ff90d8005524a6cbc9dde05001927e512298c188e433a744e5a6802695b973c360734eca3754eea84e47eb19e2c4b7cde2bad6c373ea4ef0502589e79c2a650090a857c5247439d04482b6739dc965b573309098aee954d3f1c3b185549b4798d411f2eb437fe5154cf8132b9118010df99f5ce8b14bd335179d1ee9690be7e47bca46fcd4421b3fcec838ea48898f744c322d47d87e92644289f0002fa942503dfb7d3e84807a560a068c106e8ba707038be8e024e0dbff4d541b9619fb94db3c508387bc221962e32c1c681964e3259f58ba64ae48ee41ac7435f1447be331c6250caf543d2f5c57e5a621f282b7519568cca2d44f8d181c533eef2d7698e87e1d5e98270b74bc337a8e933010d3ed6368c38aaec253390694d583642e720b1aede9ea88b80a3460bf368070597a2bc0f725dd26f66262b03c358cda0aa01a12a07313bcaccfe70e579aad89c3444599dd3d556aaf79bf427709253f4f52d6cecc450921fec4f2205082b8f30d41e2cd461ec6df166e4496f913636b0016e8c0cbfeb49be31ffb9223bebdff3c9c1b3ca04e3d661bb936f51e6eeb9bfdd7887a6009e22e7348288509e48db699299115fc6b15d34fe57596ae5e940f1f1052eff6c4112f316deaa8c44b72a4ef2093583138451434ba37bd1b7fbeed3b4b04dccb21aaa440ee404f7e8701177f71b1e9fc837f7d5a97776856de466bd9f342355afa25aba362719036cbe2ef0982c95ed53b72d4f4e52762232a13f244dc844002721d4fb77a20b5e7920d3ee6835dfbf4a1414febaf73b476b442a744c576057e6e0ec46984cb6b37a45d9bcaa4ec721360fde3839a2dcf4b7c74b3c736d83254ac52863302debbafec26cc958249100bbc4f4bd06dc6feeb842eeed5fea27649a8d944ba2a5a72efb2e467dd7def28c625d8301bbf4ec1690a0c6ebbfb1c62a79321d847bc0a539eb2e1f7eacf394d54a4af38221299a8268f9f09aecfd26e677b2404d264db8c1e3cbfc94a202a5b8b0bdd6c2cde3e126381f97d618f94772bf9572bab5f17ae276820accfb90af31005b660187781e28959adc66f351cc36d5fc6059d16d3103019f7129865e1630dc4d642a164137bd96c209346c7a9190a18fe50ba6411312d01fee71f4287bc31d40428fc4873c7e40c91a7937d035d96ccf723189ce932f36732cf8a582765d9effcea2be0ae8968e1267c654a9546e0d684dd53a8d223047c32257942b92d2bdbbfefc6aa225ab0c2846d56ec0c90f8b8387bd5ab8a8c7a386926871f90cc50ea031af37c7928ed7f7ad97189416d380dc9eb83762efb57bde9094cd117ef4b5084db46ca2a134af3797c9385323252a707e16a1b43aa6148ead26761998d7fb69a018aa86759ea397be45a35f1d18105da6392287480f8710253678aef499b98525dfbc15a3eafca062cf85d423c0ba8d8bfc0af4cbc74d27168b7ad733f60c15e841e9533cc0ed363df538484bae3ce4815561f55e21cfa63d0b5a0a83cca4835821812d3ba72e53ef86d4e9408acc6034f388fabce9050d3e188b1a1ab8218aa11c6a640182852efcf7a5eda41ae380e48afbd3205a23ee0c57ed25a4aae69326f4fd547ccc7f548b063e46b628beadb1644ce7566d8fb8b58dc67752ae911325f9fb16aad8f82546c5e470585a74c46f8504ac450fc670a5f15169939a33da303daa2480c73870663041d93417a41839c81565723f8c1bcb6607db115887a62b058a7de9b664cd4276a596f427a391865427345b67a19504b63ca40267a688e343e3c28252d0333175f383e9aa66705752f444d1d8c83289ac4764e94f7deba0dd2205a2ca1c72343b3c37f794d329a9d8c52427e61bafd443bdf8c96df0a817bb9fe3478d48e99e25e9bf0d3bdaaf0d6e481f791df1fc9d325a1cb5993de80255ef88d160cde3ea479f7406da8f27b8a2ae134f5cf96c0a9e65cd00e865f374bd95a019561aa94b863309a660d8c149bf3cc9200cfef2b0b8e0da019d2cb907509b7cba00f4a92642b937286f8995323929702bb09713014d33505c7aa631e2c7c16ad93e568d2c4277f0a65469a3e18b8249c53725e881b731b5d90be132ad53d214973d57bc4ce9c416894f9cce9ce2d3efd9c7a4fa0208a68e7d39368e8fd177d332bbb14b962da238e21a79293e4921cc15d14cdc93f70e816f230e138460f04648d840afa2729f5506f6ac56a2257da00e34536849353674989fa5c4ea32e87037dbc110fecaf025e79b04797e02abf2bc4b82c6923be88f4ab4134de41759e28109267550aabceb575ebf72af33900a0952eab9ec9e8bbb2d934b1aac82d6daa7a2a4e6c57263174f644aef56e4d8bcbdce808f5f7805c5ac5c0c059f2acfc08c926c3aa357093e1da300d0f1337f8f3fadbc246cdc1f66fa24ab76e469980ae99d37611076e62c733c2e30d7de3d8ea1e4fb0520d43bbc0713c0a74cdfc4ef595bed1327e08b9d861c91851fda78630ca04f175ca30c3ee2102d7366e65276cb5ae0a586afc088dc857cb0e2572062006981c9f3872563b8c68e8b541eb52e84c87af2167ab9ff6c5594ad76b34f2eadc57e6b81bac3d6449b31d3b41dc0463173cc2c8da55dfb539c8d8a4a631b82ae9188554eebf99c475194a12e9fcfc00f9df35453c9c3f77feec12255fb2c573899e24997f3770a36c3828b378fa70f99196e0934203b6827eaa3b8dfbf9838713978926e1e884f5ea448d30b44a9dae39ba77cb5553aaff3e069e54675edf6d068f95d126d367660b5259da8dbb4606df908e09684e891a8524f1e0113e9e8eec92695a5020a1bdac5249ee2f90ed940a84da900464b2a21dca4db95a1e53014e37b70f8c6e5453dcaf02cccc3099faa17c0d916bdc93b2d74aaa4a4d554647a9432c8a033c21e1bee2740ded96c1e680e56a6aa6f4df51c256dd4a30c8cbe17998c07f6018447e4496f513cc10a3a7605481ca0c8ee25c76a191c1892f6e3621f90cebea2cc85499ad4d0a6a034344ed6cce73eba685dab1ce4c90516d837542c6da631128673033ff3db272305343d778b2314998c3456c18d22c12b4a1fc52c50f3694ea3999a6e2b4e02cc88e4094912f2eeee00cc5b0ef618c87e078bcf150763bd022b5c11e284af15fb74817d15d3f13d3ef967913561c7a476199a147b6b8c1c71edfef6a607460e0a505718e21de1ee83f363b433c382fc2549583bab6977ce4b70dd5a2b35a0bea36dd7510c2573d3b42780fa67d045a1c7c13e4d1c9f0eb99a3318aa11bd3cc3aadf17a20d52d3f3fc335c01d04262c5f5547b2b6b15897ce4c96571eb4d5150a133045b8f51592dcc3814dceee2453b5e2cbad21b10b0512cc740a3da2942a47f9e9ed68a6214933fa47e63475e3b7a6b49f1ba3522151697248f10e5e5d2feea17cc88c6e86577324fd8956f6319e4eaa3a944cf059d33fb75e9ce9ea0da533ec941534f8b282859dbc32883d3e96a180c554ed1357064d494d71d00291da54c586fbeedaf8df3174874b4e98e5afd51d66e509aaa3c8c3426c40f867f200f120de98467946950ae9d4965ea8a628f52e1ab0bfccb8b4f321138cbee92a899bb669b3396cc2dcae5cb8ac6897a5d7671574d3ef74568b04e822670a5a7ed772c154ededdc4ecbf13afa74d51bc66abb7e67b2c10785feab9f4f8c5d271e23ddc24c44e7830ca39737428cb7c73aefa9ccfc0ad7b4469cc54202533c368165d600c625caceed6d51d89ab25a2a9ad7203ca5731a930c002b8b0f81bdc931280aae658aa337da3bbd50d732a48df71deaafb848c38ddb2a376d57d37290bbc35e362b4732da7da414df40e71a4ee9091678c4625b1f88bf95554cc15b664bca59020fadcd8ebbe7089043733597ffbd3d6fa065460ac235a815d21461839f440299e5f79f2e3f991c0c455a77ea65a143195905d32698c10f9feacdf31608abfe8ac10c3a53ac848e709269141b5dc0f9c8ac932a23e57ec53c4a540243be7a37f1c8e1db2fd8dd71be08301cd43ad6b0cb91042bf835fb443b0671fa255b81d85ddb829a543fd9ea7d84626e43b8b8087215627a6b8e6ed40e0eff9c84d7e5eb87d4a3a916ccd664829ad280067a175c6503dd41ba453841e45d16421131b659a65fcdb0c31fb84e9626d65845308803dd612d3a0f89818bd91c42836b8ee8f412b50476b889eab3ca6ea250cb324e9bcc089629414d610847324af41a688dc877487d29de9efd8b535b05c90866e73f189ddc6cb430b96fb7d19752c340befc244c5b51bc21fdf70f8ae1db18e89f0905dc754e053aa7a44731258f24b44817cfd69fa49bd4c3c542fe85c583cbb39a234456009b9494114acbb6c70afbe3ad919f9de8556bf68c8c1ba95799ecee44cde57acf8ab12f29057a42d34448a94f8c99f9d4d539e4025ed820add028e01cc66bcc2cdcf2f03d91a387afce0529e590ff6c24abaa4226afc5a0ad3e336abb2b3e89e7b5d8ca3c3bda081edf41dcf9e58e1ad36a4c547b57846560c523a0f4280e34ffa0a36ed81366fd165c1914bde8e24fab9f266752a0ad6283a5d602d4f85f9a2e201060dc39f85b6dc0de32671b542e5af4abae94b9e9c24f99a8f690d0f7510a05f62e726649befd471beb4f6a0231bdb00e861db7a0e91c0335c4ad3b019146629ccf0634ed5d67e8e075d057d29dfcf1bd8a356ee46fd6c6f1193de39b69f4e67e227564d51dc1891da6b2dd55776c748dda264066d6ddc3cc36c181cd3a045f9c3ea70159fc47f7edfc571cd7c65fab44e33f2099711ac7e3655c15cd2d8f670345e5f1916256d1ae2db7c952bcae45b7aad7a20506ab1191eec2cb607bde6959064b666a950d77535da06a60f1c2bc2a0e066f7b51393f7c5c156beaf50781df6464261278bb33e91427516f0400dfc62cb9d2fea2952602eba1ecd96381ff3f6d104c15cd4f419e71d194d686feeeb85845c95078e899563903defb76a9787429cb5e90eac2b3082a97c3103fd8c21c573c0e28f249df145863e855bf0656bc79b1659c34dab61429e991d8327211f5c1f4f09e09a6e5514610eafc7eedfe354ba766e81607fb9036f7aa3a49ea1dc7032419e55296e38dede703e46af1d380834cd669d660095cf329f68173350feb5f55010158d7ab4161060e4027b210e79081f4279e49c681a2f52cfbf1ce18f9c580b500badab7fb93e1be981e5adad9f284ab7d7e6d77714010a4010fb65c95dfcbe48e96f9c0cd693704b933a238c78cdd36fa919e0b684309fe1433bc43d335e3fd34d6ab84ed50122b36a8d6d78ce048eaa9d7998066884fcf446d8f5db38bf52f03eeb6eb3194d2f4b02b94a714a97beeba46f386b8d7386b93505a5ad0e06f1993192c0e714a5271f7d811c8c396fdb2a9a88e1939a9295781cd8f55aea50428774992cd082315ac0e85afb52373edab345dd9e0e60bae4b90d08d9a0e4bd000d699ebde055060b8207643735e9590b7aa4822e12300342d34d7091c94b7b18ea801bdc68c9788cb2a68306ae2aa16de0ac273f079e00ea6ef64b54b49f1440373254b9d052fdbad2444bb48e71e9adea05e70a363e36743e9941718d5dcb4dba2e7f9e2e9dc49f6c70da5a5806cdb9ca04c2462de3a31746d631dbbe2a0b42c508a0eed76a6940b5bada3a66f61b223160b11d2aaec0d299d47893a1ee06e6c675bab7bd398fa54ddcbcecaa888e74c013b8e641e945c477fcd828420d9ef4680219f03fcdbd813c841c21c52d28e62df02ea20a721816d2a8a303852508bcda5b3b98ecdc2e9ca02c5b68d242ce53370e8637f9d174c4fb0ca544dd64fefbc4d5b7a73130e5f9d98f1b0860b06559f5922e3f790a3aafe176a070d4d931eec757fa68d31299047afe4a8bc854689ba5b5b5327eb4b2e27969206336c442f91b5f9b1dc5bf256ef891ab9afd61a086ff8842a1633ba0ac47acd14696991aaccd93ac59da23210262d413eec1a724733f51bab671a43d94fcb3219e7eb0cf7572074fd6f9635f73cb70309beb1859f5ba32084a76f492cc49ca49aaaae140d2a3265323ff3a9f7632c65adb90c6577af5f1dd5b6f30ad97eca3e1011d3604479cc07e76f4c5df0492573fce480fa60c39f1c9a0f905889177f43423d538ef5d2c0a69907d4d76662e8399cf63b08d704b67a799cfc1f16ef213c8d964a299b1862e93e29b9d7d4bf1290c6982670f3643b7cc8af707fda68cddf1f95a32b51f7e35c955e93f92b318a6e1faa7077a530079c36c076de48cdbe55837f4196b1d6fb70903861dd6cf0976b9f370f370257f4e956dacdc4ab0eaccceb84fabd511984664ca59db3430f13d71dd4177603c8c6bd37ac4a3c1d1a62b1fbee340f4b83772cc8767b3df2ce1bb8b5d8ca83cf65e3032e36e8b6e918c1d1ac688019c31034139fd0ecaf9bde6efa899048887a09449d023de21976bb536717c4adfe787046b610d3fd073849b75d870c95c4d755bbb69aa3a960c0cc348a207421f42fd2dd542973eef112910716684b9185e9ea67a65f57a7719cc2cd55d837ccc53602bc1bcb4104f236aca5b280a2be6f91ac8e0574dfcfd5ce5a584ca53d1355041e304b77aa4d4fc660ba6071a6e84d6a608d810f77ebe5abf1efe995356f0ee6f42f57a6aa69a8bd6cd3ce29a4bb7aaf51aa665c7ef57512707777beacadbb77d519a6ded24232a4b7e3a1009fbac8d8c4daacbe2e41fdfca03079e28e6bce717700925f5dff5d9525adec3b03c0d5a52b12ef396adf203bd1c35ef86ec09c04f040e23789659ea841b5267a2e524de7c046dde0436f0c97b2da542aba6908b1b80155be2af6a96f2f5150e3ba5193052682e65bb6549014bd01fe7643df609e5c6b00283257e46bba8d45cf5781b31cace87cedf0a5bc695da6c2c4049ace424c7afad0cf2264221b4974e906ece91182dcf204618a89bc0ec9748d87d6eb37d14cf0a007999a6737a659ae467ed8d6e3ab2e652ce7438cb1ee4bb8a81db3c1aac432babd2fb18867fe27b26a56ffa14e9ab68b7735510a9ca9c23d07e1fb4d39cb6347e6450181a4fe83f56d4c2ed3c24db607363a354cae8b6c611233e602493f9d11c39720a8f28995b5c7dd725f94a34b9247ab9ecea85f6acedca01d5fa9a583f358b8091479d08013b6fecf0f4f2eaa49039b96488ce30a7b2dcd7c9778142d6b78bd41cd3b71f31084e924d7d243494ef546a8fc015b0cd3af05d526c191b825795746cdec919dacc2ddea01e5d53dd3097f6f13cf5dc3b90257cf6d14d7e035da3a5d6db08684cc0a17a7a9196d644b4d2c3dad9a632ee2402a96bc85ec9d9c221b329e33ae42ae9cee0aa46836eb85813de003b299014c4532e314d818d73212e596928be1e9a1e4292cb4e7b8639c245991dfcdcc250d655358bf1e174055b11ea5db57dd42f90e754d1d64445b425f58ccf32962a36b40f99adbc7c9438d72c706d8df59f08836908130adb84dc4e8741e05e269d617e3ad36f7d600f085ef4adab2e48ee2eca38e33015ea80b250b7c6b61cf4fee9fabb71596381d46b4f6f96ad5d1275ed4b38fa32016bc5a0dc4172ddee12799c0ef56f5a53ee0d4c4865d1f62ebacd9489a46f892e068fb12c626a9396f873a4771388b2a8ca10a614c6af2631175985a4fc2c3582993726f2ca90b9872ea430f14af7a463f97a291d4a28eda2b76c3c188c8fcbd7007361910113520936eb66ffe0f41cab51a4abdfaae85ff6d3d48d9ca52c5cfd194678012a445814387b6f0bb707a772cd20cdab8c9eccd8664e04501401e79d10b298537dbbbe6333816c7926edd4a2e8904b85f39f25bb6988f4223e7743bf9a4c77dee10f5cf45244ef205ceea9626412ab2baed6279f405d19290efc76f3cbc50935e38ef875a040a66f0c03206cb924c1ce0c882cae3372b695308d0672b54120f2153151af2706ba39ed897b4bf3e5246f7a42e4f7805fc1449c490513a901fba43279c5efbd44c1ca0a50d943d45ac85f92938166150e6f30e23fdfcf9971494e58f5cdd55a3fa62e6b4641a1eee7cec7efe9c98f431c6578b87458e184f0dc571611fd660f91731151140f1bdd0331f32a1cfc2dc81a9c19ffeef487a3ad9f5c7390a0ec15fc80c8082d095e082a1d6575b95f2f6a7fcfd581947de12e793c7c8a15cb4c34cb41378b4cb70183fa9a26b25ddd247425675098a2efc1b1c0088a4def185c0f4a005a4fe8962487c30e9bf192b81d4145e9d760e1b42fd0819b1b58ed7edbed41de5a77ad411684fa338a8278d4c191037382020a10fd5646996254d7e06c08cf86199de327dce5175234a40e3744e607996c6b380f14f3e59146c539d9e7166795df89f646de21770094d529d2dc1c0e7114c2195a079de66d96adff068514c9859c22c65d8b26dcf98c78a96ac02194b4ecdd3c2a18856245099c9fafcdd1620ab886afe3e603fd0c91b4bb3070e45b006bebb41056fe1b171b0b8a7e473c24049a675a23524b0e3e8e0b7e3e42ee4e11b97a9d6d91d9a1a701a2b0243fd05e8b399f7a13f08d060086e857e65db1e627b0f936df25b7f4ece980c19a169b3a11c0c0671ef4466a7d9e8175b51dd874fb32669551b2d8637f8e0669ad1aa5bbc990a6fac6eb41fad9acdefb29af84f22a0bdcb2a6e155aee9120f8c8e8ad8e1f1d9bb7231f1792460813cef316db7bdedfbee8f6062a0286ef3a9676c9723d814006506c012c4c8a8db519431d1aff12541c32ff1f5a6085df1c056e9ed7566f253810be7e4946be0b9eb20d4f4140d6520d960fabb1f4e577ef9033b1ce30508519483f0560283693c64f393a71330f9547504a2fd506ec47b709b9339584589bed41e209de8443096db86cd01997e42dd6920528aacc0d33c7e9db98646f89ed791aee544157e08de704f388eecf1073604c6d8b19bd4ea9d52b6a810cbf3736902ca9862894d0b42bc3214af1968c7e91a09f65633b62725473de0db3d213e6f61945ae2bebe03ab9d354ccd80a5760b76bec4c1b0e37f1aa51df176f69c7cf190083bc84484468b5aa3cb5bba018b17f693d7c596d2fc850c8f9fecb4b7e4d23da65f901b6c043d032c121bf3f6eb6bab5bd3f37577cb4dc063496c80bc4fc12ac3deefcbce24b722952e4d0b8c06395b9649fc00676300522c66d956a96fcd829fe5196aa0e7a65329cdd05198bcd5a5a2c9eb80bcc28a035ebe73e3267fad9fcffd5dc6fdc08a8044cf9453e2b5fe8b082c045fb08931742448da2016f9d2a62f9591812279808c3958d8425e3734b35d3bd1ffb4dc89c35fd7fd08454ec59ffdddb443d6e7f68bc8072d16862421f8cee9177fe68cdbce39858b2a8567cf02ee07e22fc7080732ed2a4700d1589b5684becf3c1ea90920d0b4ecf2cce565dc3b2a31b2888c0f9ca3e424f63b42b72704099815283e5b94c53944997f8078f0f8d0796eb295819a691e6422cd8ac700dea881d861bc56ca6bca25a7a475bfa4b9ca5c54fcb85993a46616ea4e01b80f228a0a598980d1c87b9a4d47549bdbc2a5597f8c4e5fab4e7060880a92d8654d29163928c6b7dadf18c5d5c192950db7462d03a850e82b3160db254a9f34f84601547fa6320581a79ef2a3da5570c4c76dc6ba1ba35d7454fd524c0fb693e15022769b51925f0bd0467fda124bf9edc2b98fda7623b1beca9b1d8005d69e58624cedb49d85d31e500939b580f79a5d795f3cf0c43ee80f1a5b9d678729f7ca56f077fc848902f51631c145e211d49409c071ed051c60174a20deb3d7f3b96209b940ff2398d6e4e4811b067508f0064f9dd5cd03e657e62ef252aeda641234c44548b17629782980d8015864b4a323ab55859828708525a3c63c51785cdcbf1ea663d606f4f86c21160571c3966f06d196df5e7cd43022f411d05f1bfb664866fd1db770624a8f8f7dbf35d24a72cbe9e187fb6989f9d14cfa81c17207bbeb24a3a0b8db4e18c915903e3ee605a364522c0501131f9058163f235245589427f5791383cfac7f96e8e645ad7674cdcfe83cd1e0a633cd7dc1a74cc77ab8983a7d63d6761ed1bda50f71000a0147b6211f08e3c8c63cc462a66e23c8da538428651e6b66b236ca5a3563b65d0af30c409a662711392859e422e7751571c1958733158f67a0dada1e78d0a8391e4c2579706b53e2d853ec77cd48f596577baafb160976c265583562101aa782aaddcbd7a6f5118f58f1c3a49398826f8ecb985ae2537d297132b2eea1ad9cdea8483f60a50048b5b043b806a9df72228294a7c65524e14c0b1ef7728a03fb1945b22ed78283d2afaafbb2056afc58ede7b74f4df91e92bd9817404203aa344a91d233f845ed5ef7ec48b724974fa6017d6e99b76071a5257f61da0af4e094acdfe0e271dc39e9877007ce852a7977a9ac15905f7c2e6457fef91b2d431e007a6da1e085730d5d899965d807aa00ae9833e4fa25a836b30cb80e17ac42d3e754b648f5042e324eed48fc6c15f3465a96208bfaf00bc0c93da19030a7b18bee911608d3d6103154ce4f22750971cef40881b077611e190f8f2fd3c6b7e4833610785503845b70aa51679a07f70961e2e327600fa766fc26ed84294e54764153e0f77c1179ffaa0798ac8198f180b80c4abab1e47cca535571c2b281d590765ad81b960596fa451e25cc028a688d77e8401853dd8ed52e51f38d2eb842c7125e0b79255ceb6d523538ea722cd1a6796c2d644b54a33d9a7979b61146f46ce057f038bf42783ce7f506d3c543c45971732f970e614400971585c565e0bdb47711638c810d357c31caecba193374343ba2544e2f5aa7c39d85cbe2ca8050d7c2bfe32bb9245ac1bdf7ac0d6211c0659f3a7b0537dd7ee8e8e9bf98b743131c24a3b2e4de345015062d13f21dfe5b9c6451335a09116310d2c39a6dab382ee7e01cafa3fa20204eec265374a682759fecb25cef423beada03fd6f517bd0b9d5bbec008e52bf2693462966a47c3302e46935cf4dc1b0148604c29b2b86c4c354d09000a4933ed4bc8bae5ed580c8523d62e17333b97fb461659fd38427f7186522ee02439ba2d0076f9dbdd5f6e3805f1c065c7655ae63b3522339db8bca8b8679dc2c6b2c916ed96c5054c17214e33b1e838b36af767bcf72efa395f950dee4af4fbca7c682562669198f212d40af2c46755ff0bee2272411caa93fc6de2ff3657fdb95365d653308e1c1de536f7aaf2a5740d940fb20a476e8a28103365344fa1a799195b9b13b9101d798462a0dde141d94f9437d6873f1f07920ddbe7fb12393b0db432dedd0158f6e76a858ab0ab00e0c277986983f9c6bb6765942d2ec0b42a35d36a5f2a2a839748108a44c58ec7c3e9a91703b0d737f76f82cd5616bed91d4f7e85f21daf4878ef2cba34fb835178c185e74a25eff0be4c4c2f8cd00b930dbcab765c4e725806c0bc8cf5db5db037617734dd86611c2267e156a484728b2aab333fee7a34c992fef959b64b8a8142a43106cca083e165f7a41a6f8034f405e3711f5684ce524f8bd7875016262914ef50462b112e259f5c5c01c2b9b0601e7eb4e36c111e454a20806c06248d325481333a10238ba840ec1ab7a0f43fa201c6ed40d6c4be35d48999b5f83e1831029276cb632815268b2073111e17a4044faa045545b697567755d5d38d564f4c98db19a89373cc8ce4c42d3d93e85779cc7683d6050dc5bb77c536e05e74aca6982f00be33fc139cbb42e3e99db1ef08e4a67aee9fc5092109138f4e6e81e70299fe17343065fa2e84b63bb89c26299cb393ea24b50cac6d7d4c3b68976daab74bea41716290942fa361b5bf2dfe899fa955c1405d4985c8ccb4ef12b7e50ddad863c5f8cdd175f48a03b09751d8ab09cd8a72aebfd03514ca0df7c0723621a5f438f58d264ef0ab29b5901f8063f01a4410cdda7eb916feacc6cba7839151e778dbbb42781560216ec95cd933d0bfefc39844d7f767b7058bb5f601359f56c9e49fcaa2203f3f04d40af23d4ddca32bce062863dcf04b7192046ce0351ce0c661e5892e858d6b34931f0ebf6354c10705d80a0a2ca684d1c974f43802734456b830f9288fd87f3747a022b7903b349371fc2b010881a2df88c1220629046e37e605c1ea3c7a37c215f855d9ae4437f3561a3cf34ffd0a6c40f96743f32f84ea19ab004f2a41a3b02dc8ec9271d33c5a2d4f2c2258bd2bdb68833ae08e15298176576d9855dd5ca47ef5059073854726ee0339b0657d5bbee1c622993ae56f280269872065b00c14725c19fad71b8a9d62678d953b05fa09cb7a6bd6c76623a0bfba67c4cdd5fb0ed2bc6a2af78fdac893b8e510cae49df11d915b9fcfc0504c9851863dd46d9dc140ceaa4e842df7ae914a6b83847dcd5902042a922c8aed301da175d85c9349023170ae92eb8a336cea52a05fcb41d385b3d4390a98f6db12c630fc25af1d1eb891e4b8964ed4f2eba9c66d4643642f5291c0db4d27a4b9d89d6c80b707b9d8107b5313aba9add75caedfb8b713fe2bf1cc34402dd3c961a27f8c85f04417d399ada93927f8c502b56d7bdea817fdc3b325bb679075f3dbfa042fc2a682cc46b9c688e2181b4f2de6b3d1e8438b66e7c9fabe987759a3e0438e89718a2f8c8add58e52aee6f85b8c6b93013d652d595c92ed24f0051a33dd4f1c71b70396bb4da3925fe5047713d5fa96d518a3c9c964edccd2b5eaa4b9838ae15a0b28e9d2df9497ca4952d3d6eb898f4f97fd736c3b742e205a4b090e2ba9dd23de0b840e48635d1db9354078edea1d37ba44dac0bfddb87d84fb49c70bcc3d2d51c3cfd001b1d1df4d3051e562486433def2724787145774c07310858889318c1519d22cb93e3a75b79369fc98289765f739725e495eba29fd97c8d4b4b4315dff420eee2592a445710d76b7ef7a6cbbf9d11589b15a3897f9b9d5bbeafeb21f34131abd09e74c23a064c2dc7e4118b1c72e6007d24e3e1c0ef549e73a0ea98f2975519bd3a190c5c20f85f422c7b653403525c13bd2fa619e1d7ee267fab8f47792e8c32b7c824c63b036329d8845b7a3cfa1238729a579368e3bba55570c151ba4552348489d919e3bb458c7ce4d0137c9f0ac1096b61184de06056d48089180cbf46ddfd26d23a6ad2ba1b5630518dcd8ba62805d8caddf981e5f81309874fc54872b746979129eb642c5dcaea4f715dea9358e4daedfac5f3f1710586ca05d974799a3fa2c687d7f141ec60c7a5aaa1a7f56c1d3ef1072581f8a8e83a12f54cce63bd1ca66667da262736aa58aa66343786769c7b75d97a655ae846956b1c725f84fb3cb1ca25bdab704a5090f856b57722a42943909e16dad60d27f421838d60b944052a39487c586734a538c9d86da7fcee155881ad6729d6e959daa12fe455f27f16475c4a798439ce30cea3c8fca7d245e6321420b2ce148b0886889f514ac7e91f5c62a698b74f5a964819f016bef9690107ad9a04c951e2af3985041495e5f9e3fdc258eb721d27c7666af294dd3f8f083c21700441df4cc0f5a5a00de71988a247fed4d2dc8a95395bab2a4bf1c265dbb4377834cd11122c28ea54150998a88cbe822d6db5ca8abfc9d7446871269abf37f1c9b35baa60000030f44815b89fcb83b74b8bb73fafdde5e20458a649ac99e243b5ba09505ba90105c05f57e2f7e19823b0524bd979a3a947c44ba69b0a2c690ae36f21fb1b1a0eaeeacb92e0afb3be42bb627dc7922a4b4285fe6266c3e3943c6a23dcee3a123711978acfa047303a241188fc503751c2fd0537161e3105b9e4681895e31b4cbfcc66623b18f13aaa584b8a264ab5f177eb291b443a399054174431a4658c24fd68cc921eedaaf8fef71c2cbf3920814798e5fb38e70dcca5087f9728a19c52b7de16fc20608902149acad9f3ddddbcc3fa477d197ae20fc01178a3690b646b3f07ace7b25efee072480448251bed0ccab05b1e9ff30f4c7144b404229fd4639a98ab83b7bf977a88ab954a390a31d36b7ae0e2da14dd0047c84c3e18f53d42045f9089cdd973e64139185f9cedbb8d6fc8d17ad15481758ea94d8c32cfe98d526956373b787d79e750d374942b12f3903c13943c11764c345d42fa3348c8d1e5b566110534f4e343bc0eefaac75fa2dc230e66977415a5c4024f500e81560af1aa2ac43082b7b5b875a4b189b72b5453fdc5204402861429eebf9c4d293ab8db5da245421d9d4208e8e79921bcc2a2c5838b05608d9f484c84a6ac05d5e9ebba50c11e1965300c641419ab509c06b43285c716c5af2e7e43969392dff3eefde3b3dbd89200b97559ddb756031aa758f5d7dcaf34c827ad6b79195f26e6ce1ccd5cb6d53f58d01fef8fb197fe3d6cd139501713df4b66a9528d6ea3a34343b40f69721e04de36da70b53d681e8da8d41975e31300b1685681214c7968beb493e8d09c78f8e64b1fbe16fc243561b1ed081bcbfbc9b1034558d60cbdf97dc86dbf0a5721acaae35692b64e6fdf92adb73eaae588e083d6ad42731758f439ed2856f286e5dc75c28d4a1e74eb05165d4bb784825a8c264a15509abf7bd43cc550f82ef58829f89cfab3b249033d757b020a4973b1ecb36350007252d2331d16e540b13e7e18906bb6dc65345fe5c7df9268b94b2edc5ea4bce7e21ba5c74c02a778e71801c30e645eb67866d9a0465c8a0b4aac0cfbfc73dd61a23e8ac05478bc4617fab9b9fdcc8dead166e5bb801fbc08813295d1bcb5916f97bf5ceb0601d037e91b214d042fd8a1f4dc9998cd4696fa1d727ceaf985749685ac9536e23aed0e0353fcc9e76d602d2cbc868471974554bb7e08536a37e5d64f8348429a5d6115b83a38a34893f415bba5d695f166cbae770198ac4003b2bb205cad3ed786c25ce5d64e652a58f75fdd207bf705da0a73941429ea376a22f17470224f98cdb47ab631ee4d0ef38e71df0e4dedfaca52a12b1fb4d8e9f0ac4649cbe9529988dd9c72cea28e0e82c554474c3e4a05f3f2c5db9fa325252374bf63a3a6bad1f040229509b72594d299a49604d8ca221cf67d8781af29ede98b03d5aeeaeb033f70c1fe066ca3eaef3528d212bc7547efb1508e45f00a5785f551137430cd1cc0b71e219560cb7b09280cdae5a990a4c05ec6b65830676880a7af40b9e1cafe33c61ea679cd92b505b75a9eb53fd00f1b7f8fef55b8d8dd8a215a7f726b52fa343d24221e9305690edf1aba5fb6ca0440d2bf1192b27176d26ddfe92eee4bef6501286bbf4275d167d2c383b840f6ad4083ca81fe53295cf3e97e4269c46fbae131b6a93e6410310af026d22294884ed2b5ecfe2e45f30643dd62bf801ff8875611e461538a0574991036ae6599de12b0e920ecae95eec813e5e15f9a9ad53d91c1cf1cdcf70adb17a64cdb6e3ef85fdc19f02b2864d0ffd3049b4c3f645656e2d5b3be7153061648270931e0b87dbb6e5f2aa412395ea2fc075b94238066859bd072bfcd7cf2d3e24f1f872578404db495ed170a72109890fe7203e184e16ed70e960078f800a7a7cd8dea92ae8661f8ba4f0092a5237c6d751bea139eae879962bbd551d5f007156b4c474a98ff5f1716f3f7337a5361b1ea78a12ae6725445e8570441824f7ddf91915b0371b4a85b20aecda9c92235c8330f2e735bac5ca85c4aa4765a5d0679bb5bc1b69fee902d9a558f9b109b3ed20b4c5850687fe0c59efce4b52298a901a9e27919fb1aa871298ec73fa276c8434a6e6a55b0f6f098fdb2ff43536eef905022e74a862e3c674c548005186cdf70e3707fcd55a89d4a97403bfa205597356219851cf5018f89e5b299de0d16a27f9432145da8faf0469d422173fc8ce856d5de3f5d55224141dc34bf87700b637cd27052e059c55eb4698f314def0c5549874708da042d4015bcc6ac6b73cda69b86f9309f04e679fcdd5d8c9463975f74edd0646dbe8f79bf821a587be664bd45f7d6821741e5743a5dd027afd313437aec76ecc6d4d48a3dc871e83dc192c1976e9c64e4d53a2e79a6a526b2e668955253f8b64d5fceb26a576c1621ec61ef1f5074dc842fd95deccb37e0df309670544228fc4ae54e5311ea55a4bb9a65f6f76d933fb23ef2935e89355fd62dff2da701b50647e5aa12d6c4e1ffc7dce1d82ea534777014843fc54bb3f4959952cdc5c3aa0e55f840742d3762ca5db931c2627f87530e9b17997650bc7dd53281d89c8c340b4db64f8650e4d35bf0138c1926b373f68080d4e62cbba67afbfc24d94d7b598d5afe43b979348aebf6567f332df9f7f928eb1397ae6fd5daa1cb88603d7004ce2f0a81a2a79243ab566610698d2a3ad331e5b080af653a49973998a9bc2720bfdb65dda45ba5e87069eb93f682db47d175e124d53215c63980c3604edca40da6066504e88601d254ff88ab6408e7aa06f18fd5d0fe4472e83f629a0fc74b48d5b46d1ba0f527f8ea142cad6b4f76e113da162085ad5b3696cbf6d1eace47985dd76b6cdd22c293cc06b65f1675564527b6f79fc8e6761339ec8552d49a973d20cbd07a67cc27dc77970b17233f0ae9624f95dc8348ac2c3dba155c12190adc2154fd840269e4fcb99a810e10d6ce1b145a2d74f8f447b43f5626c52106d514f2164e101a7f19d9ae8efc7d68759aee15aee35c96cd5c81ce04d5e4d6dd580b60cacb395792dbb361d3016a2d8b5b113a234205f9bbef472939117a0f6c3df4beeb38aa125a01f68d88ba26d43a978344928702271bf715966687e8e7056c0391e5099e8e9574415ae5ee4d61aca82bbd198c0073e8992c2536e860f26855decda9b1a0eb666f8de29476a9f6e40a1f6bd9c6b0153ef95a54f9c2e1d992c0dded64661c5b4bf20a7f36661a28a7562e0ad4f155ea9bc8e37957d1d0a362bef07aa66717693ade985a334db6275d2f0d8b28ec736253cc631598239f9c4f38126ceba3f909d885208b905cca5bec42bdda433b03e82e5aa1fdc92f9a8e2cc601c6b84af13e54d827b7c7102b51a0598e7d4284395fb5ed8a12b3f476c0cc98026a0f526db34fa1360658aa389a9cc4df69ea573f0a6515adfa16d2d7d7e57c017bfb9d20a78d75c9c4bfabb75704e95d5a9899742ca6b658feaabf5aef4c09aa6a5cd747558116fe0b57e56221304a3231e9b24c9aebded1017d6da368866dd761bb5884a594207650481643e9975ea923bc98de4a6b231a8f7172c651e8d18b51581f761fa37693845ec2a53c008bcdfb0cb65b9728593ded8376df088592ff3608a06ac5b91daaf19a2910c222b9dc47f42adf14da1e41b7e1a8a54960846b13b505ee97074bf35bddb73b7be9cf11fd030c6505a44a8b1aba504e1dfed708e0e4e0a1783be0a2b8aec13c7eed930991fcfd6228bd9738b1a1aef9d2b3aa0fc801d0d2295099201f0667a4de49ad40a5b21677e31463b38367fba02050ef42279e8f026ef60d1972b5599c20a6f47c6e1e0829723356ccfd8d05ea1c88f7ddd4ba36e89d3704f1b4572c5680e5a9c159130cbe8f62b574fd83135b3289b2b43079d07d58f9a017e1d19d12599534a9447bf5e75745a357a4b4e5adc4cb74639c91367a06080bd408050d611de62f7a7ae8d78f16bf16303386835bd33301421137cdf645a6dadc39eb4196fc20e7d2c2934b1324de94bc5e04af175e4e7833bba806bbf224beb81fba6d0098d305c1bf6c22a65e0250b269fdace3b0387cca05d3d7a7abf93666c54e8ede9cb840efd2501bc47fa0014060b0fa7dce7f34c1a833fad5cc70e841613a61a4510fb6fc94223da76fa5850650a540df91d951f41c4bad181da8255f18bd0443b1bf4c5035b99c60d848c71ead6b0ad996e6116bf8ff87c721482107a3ddefab0ab99a0150793bd1e6fae8f995c467e4f85d58ae100c1763bc3db4029902a1e0c19263b37a26a8efff556c19c47a288fd6e92e5bdbd3f8f6cfa3b1974189f7e5ffa9c5f4bd9177b54c5bc849e0e698876bd5453b01a517456ccba1f840486f28633b3d937af6e29ced3cf8a02ebec18d57b45c2816418f696eb21796d5458012e67c8928734b6fdf693946fa3829b321aa64bb202dac1a782a51fe3a8c4b01e77182def8209797f53bca80efc9bad74652a0f39bf2d07ba5db6ada1f2199116f1c78b4cc59a421968b035452e65f718b0a00b07abf39dfaf2a22a75ceb2ae244dc0163f9dd48a507e24457c7097a3318a8fc948580348ca794b050ab09baadbe2fdb0f0da1c769b07fb99f91bf50106bd7c3c9a4ea118d25187bc60dc23497426c7ab47bbe0e1d48c19d416140feb6c4830d70327d175fd464422d809cc8e7c885503703e567486642363b8bf4b714c3d1f4ec6477932286f19439f21e1b820390fb9959e69b6d4ad3a24c59ade3b5fbc123fb04d5feccf5c1aabcf2f35cd61cace084f6c971d682ddce8f373ef7229b0ad838ec550a824fa244ee82963becd74317be697071eb75b4c957d9ce3f7d9b1e2fe025d1d1525385d1d2667acb0a135e8e570ca7ff99cb622ac17dbc99a9185c9f25c984f60ee94bd3a6d4aa626fbb5c90f8ce2329ee6c3b4927805005ce21f9d7aa727d0906a15cf4727812655eefe5403a832b5c0a21f4d34943579a47d70606fe312c3b5c02054f774a4eaf691f7ab04858632dd1ae57821ec4ab6544dfac33af967ade6e1c4232eeebab3855f07ad4fe5702a1c394c51140a2a51c38109ac36ab23f021d2d7294cc9ee487e83146a21fade520cd14053b027bf1e675d0dd61356539ff669f9082da6dea40edad76b170a920ba703bcb84409cc254b6d9c701b9f73df3c1fb3ddd0b552a98ef02188399154d51ceb05bb0bc2811db2595add9df5b38cc81ccfeaf9f82afaf409b240d08e955b84928b61a79ac700c86f70e19517eeb6c9ff510114024b3314e5e02f5bfd528d0eb5d2bb2ea2acb1fabb192f7a4a04f9a2c182af8cff3b67c5aee4b6f16880376cbc4023a045439fa19d5f6c65aa2e8f0086c806641de72c7c388fba85cdee664645c741da4200432fddf55719346876b0b7119f42de32a58ab4f8afa5033584729031379852474ed219c9fff9f5efe48c86a7f1c26d4862d298aa281e064d891f9fac7eb342ab41b9fd90c0acfb4bbd7716cca1849de54df875217ec501050cde546cf80481ec8571d983e0dd37232fc9bd19436f1a011a763eb6d2a974666a0ed3f147285f5ad3e9a48e1eb7c1634c6f7c025e5b59f5034d5eec65189b5fbe7b40df75012a295c0bd1891cfd998e147a231cd5ad24fbe62f5184920973a88fa271850d3be82ec0e39e17f71ceab57b7f72dc3e063f3530108c2a71c35d04249a759d04fad96d688ab16369de7a0f29dbdd0402e2f38b85fd19898a3daef0d8bcaa5292f2236b570ddccb950d2e0e6885996eab378ba7739a4f7d2d29bd1a2823ef91d86b06e1fb7df095f8d7c724e3daaeb70f9bd6befef9ba9a7de07e79185e299a5732f05f13b3e87799d89c3e84a50a04853da3e8355211d7767b071979cf69378599b18f533bc16aa06281622cf2b47193fee8c46248c20c28114c73b9802e3e723a358454e3e3587946907544be06dde0eb480d6058e01e62eaed1050510d0b2b73b094a267bb63428c84182ceb850e2f7e99ea346d765651b4577e4d15ba9c1b279e904ee591b165249bd521782356812dd802423625b2666ee23155f74b3de8ee25e4321fd9efe7f30ae2c68dabd33a30de8a7404bc86ca855269a7b48e5ed66e933f3dbc0be5e914f3f7986b7f4a03e3f5e87ba4463ec6fbae9f0ec1cfc6f2b9b3d495cbfd3a37472a2606ae91d0423326ed38ebebb11efb6f1a9dbcd04e8c4fb839ca89ac54d3c79afb2b143bb1e5636668779f178db6e234705f4cd3887e9810a0fdb2a0d4c7d4234678e5c62ab6327cb89aae869387ab0fa67122f9f63ca337400f54d594f5fb9b4aa1ca8aae6f77b1308f78dd1dc631c635639cb71cfd677ecc13be210cddb1bc4a9658fe5cee3721def339b3f048c781851d76086073f0285f3d6e58b8958f4d9b1ef560de4c55049aaf6d7753971269df6f887214de694666863c06c4ceafdb88c6f12473d19bdcb6a96eb6c079dd0436031c85d27e7b0b8d3347780791b16dfe0305b754ee1b4ebdcf3c179352316d17ce83247f99ea75abe3ec02a8d06d89ab548f9c51597ef9f734b8ee629c84e64f9c7e43409a25e40fcafde029727a56ddf5ccfd3598e19a42dfd1612524e00e06ea5e412ba14c71dfc47cf55ec61cc492c890ae81618ce30ca45cf5454adacc3748ce15dd865e02af845d265da550571a428c059bf87892d2ee2ef24d18719b3860ac2012f348aeda93b1d391aae51b3247437893babe2d4b9e08e652a654e3b6fa906529f5c0088c21270db16a63cbf8334f64bbd3dfa95aaf9fd0cd0f20f6e104e15bb43df86d83cf7fec4b81d103628b72f7fc84c07d534deb847ddb54173119e38fc615b6d9143d30c7df17628611448d76b734055ed1089e043143a2e967ee18f5e6c632a598dfd4afa99cb74de480be080dea9b3c631b4048165bd657de59400471e86fed50896e47abeedeb8c39d5229cf482edda2dd2f46b03b2ee742a2663a1d479aaa5ef9f836efb581bbfcd922475dd6bd843d289a40750545c77bf2a1a8096680b04046bf8cf023111d8a8cf9106b841add85d4cbfe91144ba4b8c3fee1fc5b781612d2fad9cc6d35ceadc8dfed090e456dfabaeb5452b3bb95ba6c57f3c8f9519a36c280c9e176e284813693560708bab44f1578f95e84b1de8c0466dd8698020150d72151aa96d48dcdea4bfacd6be60c6612c2bfb530378936b4602a7de244aac04cbec4dda377e496da837470e3bba823f21a8c20662ca655dd4e2ba6020ea9abe7d7b74030e5fbf61abe40305ad0253d4df74809bdd8eba43e5a50c01040fc18e9a04b56b431abe5a990a1e2d1f2743f1e4b358a74df4887c937c772ba8c55620d207c37544098e63f267a6588909ecf7ef2d1b59041d52b7aacdd87a64ae0f81a6f2b392099f6bda1332b701de5824b8199c478cc35699348068fa657acd629803ff5f60807f5f369ffa2b17f756f96b957097d391f74277de547e34da09e9df2b5319407fd3c43f18f5a48ec69dd3db06f2409291786bf633bc9077e3a30d93781a7585d13d090347f6b3e75d01ef708a7a32338fe0a030447d00a153ff90143ae64bc03d69595a99e6ea818e2988d9ebde5d447666d4e0b2f5f6d247ed6596a58ed58912863403816f7fc79a2e318f4863ef0cfa32753a912012bde3427f45378ace5679b47134d26d657dd5234f2a8ff207c220273bc12958277c9db9729f4d1fc2960d22c12737dc3429cc246f2a6494eb0b21c11c9654f7572459c8e9ee38bb76edb807bd7c1c27831cf9ddf6c6d20b27d253495cf0fb3dfca651cfe779b8ab0d7945e239436c17aa93dfccae208111e3fa492e2f9c9b9482535abeac1001ebf35564bfa4691082ec99693a2797269622cf6dcc8c2853a2cd9b9f51a5666b5690c5b64fce85b4b871ccbda780d0549d9bc245ed4db8d0be17d68862715d12c1e69ad56cfb5b9ab9f5f1ebffa381efdf4523e7c792ae6c2769f0a448553ec5645bfe3e7973457eaf4b33f717f38b7172856bf0b6f21f48b52e8e4380fc9c8a25392698afb65c02e0d83cad040e641ab00725b2c4c76b96f275e3988c6e316fd155d1cc117625fc2b095dff7b216e9e4d3fe8b28f2a726eea2a91d4a8b76408bd05597352716d163559427dcb6f8f603ae49e8c16d82e3339bc3ae166bb67adb791abfc2c710485627c4de1050186ff85e8e2ebb1eb8f7937dea78237e1b2c98c8444590b12945e1d777580289305b087e710619286057e4aeeabc3d637ab17002421ffbac883c5de7b88fc5619b8643628ab523df8b317b61a5e2047fa0fd9bf6919b3a019ebc46a943717189143a0f5bc4898bf5eba4df3b43229c27012dd08cc4aca8c69ee39597fe79fa127636344825d084d7d3b93406818c30cf43002ddb58764ff4a84de4d98b38f9cab1976ffd7060f89a47d9eca3cafde3db04e34f39ba08b8fd255930454c1d028c69918ed25ec538cd134834bf614020d32e60e55cd5a972ae246067cf14377453721d0b03790ec5a65d8c9fb01091c18b7bd3081af1da185f2ca5833f2cd0bf74c2abb25338da9573a8589c518797ed1d8c1b5b0ecd059251043611ac82f0ed4cd2d9ea0ae422730e30e42311c8425d7cd393f5069cc5154322a334eb9313cebd950d89b94fbb1822045171201bb35b95e27212341c40fa0e19d3093b5f6b49e56bd21d3de1f003a6ad175e07648e3431a2523028674711c2ba0176e61745402bcd7cc3152276e34a62580a073bfdeecc01e75986e2116efa0b49d0f0a27fd6a302380ac5469948acd8a03c76cf69aaf4b1d96592a2d34ea43add97f616b065f9d2b6f19758dace2d8a950978790f611cae5a48c6aa7f19daa922e2068acb2d482147a6a0af44d553c8ea661eed6398cbb4aa4370df5c3e4119ad5c5405a972db71100211769c6dde6f9161275dcf20301ad23594f54762cc66d4d7a8cf49ce8d6afc8d46955237a0dfbdc1b0a8be3d2e2b712d97cc30680706fbcce3799b580da4ca5030b59a30e9adff423df6181556a39774a3c7b11577f2f6c908bb8ead113e01cedd813c2d5de22276c595c22d1f35d921ad17e16f64c96c1a921bd7cd1b05130a3f0e1a6dc0f877b44585e84c4b786fca12d54b4cbf5b1322c6cf28fd443a0d9c7e01d842b8cb6e4a9f53239bca2f8fab6c817b98f98bee7d9429dec689ef6cfa16030eb815eb4e95223944994a07949979eeb9ee6b49e238ce6406cc7e468a734e5aa991ad72f7824bea0bb96c2815f0c2b3b369098f1e377fef4a298420f21bf1ed9341e487160016d4c8c8419554eb752ac272a333e8c395a7bf2deaae471d95241a05cfd5cf1ad1fe4bd71fa212b73ca7867a0489f453e3beaee1a917b5bdefc0f1253d4326dc13d29d9707541535df8c819f0325c61c1a58667d0531cde123ced051985364a812d8a45e766539ad3e582e80ea6d54bf2063160d0da5b3f7467dcb3823a9ddb18d79c7546a537831c67af95de0fabe24c460006017fe626fe8277ebb498d88c541e38b6bd0f86ff7989880f832a2168b5ebc76044b5f2a8f887c47f0adcd70259c41f8ce359584b41ec075a4f437dcac15f1821b4e63f0d80ce53aef085eb32d946e55bfbab16a263e8498c5e9b17e97978c12f459c9a2df46127764dc90be5f3b302c2e232215435c16907c561689d9be5654ad493b45f1ae91bc184558ca8f8e2f2f71006addc63693c1688b88c7522da7993492d980955671f36c7809dcece623218c5973cd336cba9f536569fdbe853fc7d599186ca62db608a1ee634dca06467b6ca3a6454e0c8e04712e24bf59d057e6c5d3773c1da6a1b5ce0456c68a0b0791b93e186a8032079ca008c63cc5213829d304370ce48a4c4af26922d335f7469bbf7e62008ff6fbd51dbddef1bd7326f92c2ed480195c5b546f91925b4dfaf7fe5df47c792f2ad02bbd2145c9e8be41883396c0072e8c9d043964cf5889cb2921b99c57d14c00ce81e47c2521138fbcfd4dd6d7b7b1405cd593da2f922ac7b642a00aec9a6e934dd9d8fc8d14781b5094a196a99a3578a884040014dd78f48c1a726d8b43cbafaee4171a96a86bb37b1a34d5f18163bcfcf7bac60d0fec38c429d21da41f0dc4cc79765d418c0767925b02630d028b4ba5e3c9ff086bdb9f60ae80dfa55a99b7a9c8c51db4314a4c81ec033005e53531d83c8500a0b5e64ff7c86a1d0c8af888662a2cf5d357255887a4052b5ff7a739d2fc6428e6117a9b3817f977b0445c16db9683f6ab86837b0900248a2283405d7eca643b2430654b63bd67a3226c514e0228407e504e03d23591751f8c39e72adee4a03ff3c0d4fc2764857342a716a109e133c63484eb49ee558e5a5982e2d6832bcd500b4bcc4ce0b88ec77b546988ba6f4ead80c451e9a487dec74a93a45c91060a84577338f87a097d6e2f19983902feb2035bdecae1c247aed40a33b2b01b41b0890e32241f04ecee47a3f2f74bc35d7bc62ae8c6f5b343fd93bc4cada44fc24e549eee2a8e21c364aacdea69376d6fa0572cb51d9d1eea220bf0a96ec29d1c3d9f47741b50bbefec356473f5bc22248de2589aea92824d4502c844091571d0ac7385a4ec3b166451977b7cc4891be8611650c2b472ad7264e9aeb2d2ba41ecc236e6c9f886ccdbb8413cbe8bdfd404e0ba7110432f5807840cd4700568e6bd4c4710f25b71a3c84b02fec985bdd219f27966e5299c8e5118af5916bbe3a21d0046ca93849ae3ca0e9f448131ab0bfa685d1a04a76fd5a088681a76cf8d5c141264058ae61f9330c0440374085a9da3082522ce813a704c8b7fa20a327a6fd3d41b3f8b9c1e68436775a91c884ee72356f9349259a457ec385db2bb1f644f10da6931e1cdaf758349726df7ece7a858cef5d0600e01de673d3ec299c848381800582d20c975cd2c3946bc3ada47cf5a485c12b93fb444d0561c218152d58cb599799954660fe0ec87b2abbc1990f903031f5b1d76673767f58c55ab0538932533bcfdc82a84242adf26e897603bb3df5ce661aaf853becba8686ff2d38bc8110183d9d2ec35ec172e24f0903cb18d9e476b6f7b5bdbd960483cad643217e67a17103dd9915e83bd64381d828f6627796dcdc1c13ba3ea5fb2b6cb43675358e769bf847c39f71874f9c04112800774dbd6e5fd2f2931c0eddf0078279a51d139aabccda2695f868ca96a21a00d27ad3dfab3add0dbb97c7abfb874deecec9105b918e02e4509b85ac1f05df7bb028d153468c302790f7bc408f7ab46f5ccb3942ad09a15ac8a9823758ac6c052727948c085a816898404d8c0d16ef3e500931ee418ed697fe648548dd18fb1218493207a151ed922f7d0d2329fa38756fe40e34607f0345bd5997db19959db0dbf65437df609a86c7116b5e42fa7deb6870c6e2a82b1cf49ff0bcb13f9468d71a89b47a443887c37a344a922c594cb9e0896de747fa2df8881798b4be840f29b50b9a3e04702ad28cdec568c034f77e240f4a6db3947820d41603cbae715aa169764d491fa8817578d7903e44571475889d2e10b4b42ac909b6f01cee43d16d8ec19334ecfca990e05eba2284f538dd2bbc3d3c0a2d2134cda5d9c5563c0e558c001b935491fd31680756ee40fc6f38b2ebff4640187956a850741528efbd4bbade5b78186ccdb247ebcf89880c1b594a82214d6d5675f67d26d319c3998a21688f58553525c269f3ee82ac0d5c344b91f0c0615dbefba15422abd281de21507e79e1bf510792c008471eefd6a3ab5d01f0536d58d92d5b082d3f5ac401777c72b6087057b0fed4715c85eb1ea45fcf668dff9e3434f59622369875ff6a474a95e4cf43b0f57de087df985523c42b55ac840afaaeda061439f3a6b4209c3e2c219424823717cda6d8240a0e4cefebd499a60069bd8c3e3697bc2a878cb6640287e57b671a288475800e437dacbfbea3254be1d0b9789e3cf0240e96c4d32af7f9964f05a6d848958edc83743988b38908cc063ecbe1b6fb32a1521fe7827839ede3519dbaa833b9a2ee12e9e2cc3a13f49b42c8b216f6b73051ca1abd879b7c539d2c39240c6276869a138d73a515ca1fd78667ad97793f1d471d2521fbc6e7e067173066e1e547f3c23a46ed7a1d8fd5e843f49ee70be842792a61cde30d64271fae1bed6285a52ebc9b89060f38a920aa43499283bf54b13b3fe03c503cf91a37ece0cfa705a7971ba728279c87da1ec2a9e1476f857b182fdb9cbd6d905b172bf231f3c73d78d0ad152ba9772a8dfc78dcc835439987d31807111c63c2a0ac9edee1faa7213df3de4828c037a3c492e078fba9acc9474c10ad48d1c92b91bd5aa7b1a2aafb0f84e48ebbc1f2e1c04c37a417ea23908d6e7b5a0e228be3a80beba40e2388b3c2e612b7c04552f808c36bcd1792a01f90ba13af36d19e9ccc2a8431da1c1ab302a0e3a9120861e0f8b6f17b09e9010a419290cd527e167e86d5073c28f7c1fc1f158972af234739be20125ce647b7c718a9deac0916820927346b86d6069c86e204d18ab73ca25a4bba42a7b2b36b89aede79596a1b47b4e025f488b4cc9bdbf75ea281af3fde0109e4c61b7eb350977f77af54d216c47e7947bc297d72f56dd5081fded3f878886d58ec9c774a508d8bccaa42c097b6588675767df3e07389687b85f838db6e0325ab846332975453cd17e431138766ee1a882520fef45fb772ece0f8920b2a472e11d3b4f4ef10c89c1332b56cc71528c46c9281d8697203e18d4a6ede6814adf078940822419d9934c948d80b723083d55a78e109a77604fd11a604a2fa5328ae18ad24b8fceebcd904ba2750be0eb6d2d6d4415764a2e4cdeb6c87c1c784a062f73a96f78a1f57d85a6095da38fb5acdf0f5c73b5428c36958594204ec0285755a0dcc35129c387ee7643c92c7f5027f0559d7252d162edf5b4657e164418e81052e61c3f868a8251cd7c6b70b930dc65169f2bdeafe58dab03e3ac2165624ea7cc2081516b565d4ab00de949c246dfcb95fa12020611d0879d9faba45838061933cd4de601e283422560f5b6bcf464e3107c3bfbc29ca570ca250f91658f6c5f2ff21f531c137af1f2cdf30f0d1a3e7f611994957b8226df0cd21bf91a977390e1546e2ef50b67f35d8333a9039ce64917275486cdf3a15889d10a2b581a41c436210f7a65735b4b8cc5135a08d83272678997003a65d3d9481c9f3d56964b2c55a86cd2549341ee468d1ac32885a0723d713aa962dfd472db50155ec67955358a006f507645c7ad511df498524b70162c281f397a668550022be67d0c83809866f755651134ec558d44e6233bc27856b85e6f4893f925d68b1ebe0b5e6293bde9e494f81e6b2f93c2dae21a1981dfbfa22def4a1ced597b739ae8eee9cc9dbb599a04f82991d9ef7408c1c5514807c889840643a58de0b8a176403028b0a406b75152325c9e37d29a14c49e6c7094f0cf296101aa60c0c8f97a98a620961584180a7eca022f71b001cde2996e5c50fd82916dac7834f71150a292f7e9bd797ea0ad4e9b1e67e8a091d93b9a2f854e88e3a447b74cc1fc65048c5ff9c28d4354772709e657930773ca5c86d55d01c9ad94f286c6cf094999d51507774f4e24397260cd0012789398ce7efee62b09c011ef9a64d9d0924c7ecf3d8cf10b3543e7e9a3aa6af11b6cf7ef116547796235c6442a5b52b8cc78ce2282b4594a1fb9db1e9c89c036f8a3937547d5150808165d46d309080641df7db451658b7a061ca288dee0ef3b0e3e365aab9050b91cc64c7e38c0dd0beffe1bc8a2a4437cbca73aad542dd30e65ba26eaeebcbeccbef78942bbceb8b53b37844f365eeb0accb3d3ed86d64c6d0b746013b18e0ac22f64b5df1b721f8c2b799aeae549738dac0d060a74ecd06caca6c4f63295df21f5b02430ce7f6a0944e504ee01c11bcf69df4c8ca7dfe31c96152c9d2929348d9b4fe6615cec0597d8fa0d4eb2e757cd8325d266a33c86b8aac7cf551bfa51bf4e1054ec00545e97a65028df3de36e77412c6ba4085b45ab2b5033ac95232eeec32d3ee721f79ce793d91e46f8557723a4fbf4d33256c7cf3f53db6a6ebe5d90d5b787a3c43b17232144e53e0821fdc5b2177b0cf139c27d736865834a883ef768b8a39d6c5e2538fa8053915d147b332393fa2cbccdf5bbf354442653d283f5f1160d4a0faffc2572fdd4887e6e81f4421ae53d0e1884ca74776823c6902e144d8ef68b05cbb3e1730132c05e46d9299421e47d6fb4d306bcac17ec2772b3b859ea76b80cab4930efd3c2bafe0cd8fa0d4a062c8e54e405705fd3ced118372c88475d246ff56ad1d45f6a31e9997a195f3f1566742e9d8b0f1b24f73de68f9169b72bed44bf5f101a2b6f821cc9dbd756a8164aa6d9e280d5b1c895fc80210ccd582fb5f0a05097742df030eb37bfe3628cda45a8aa70ef3c0936ab2b425bdc8c782eb83a57d0fa3bbe4375c3bf50e595076b7e3ae63c9b09c3a1173ac4c7255d4ebf9a7a31594a1dfe183aba8e8eeeb6c5686477160f29431f470b1a3212a7c2d3eba6d8c29f7e12aa440a07c5020757125a4c24ac89365d9bf41071baefb15af734445dbb43eec36c6c1076fd34ae3162c7ffc29a8fa556a3894b2ce7ee9a89a9ad3407c06017bf26756fcc92fded3de91819466c1e32e3fc2f1e4cfabcdcaaffa2624a3ac1a7dedad9d0d9e99157d92f71a395263491c58ba2119a68f33a9b5315d239f13307d19630415d80e2f260194c740d1fc866c77264c3e9661e94bba030a4f247a389029d2d14e7186c2fb1dc5dc136ca28b1e5b9eaedba56bc7a16d7cf3045b9517e488710f4dca1bd6b5cf796f9f9fd5b4f66c1be27619417638f689ada79912ca621514f2e72e22a001f9de2cf950507ff3218f4b211cd48cc46712456b7459d5f01b524d2968bcbb3503ccbe3eb359fe66a50b0e92bf98da3d884de97eec1e934fdd6c2907ccadc06a545a1194aa281a96e39d21161cf5914d7cd83e55a7afafa6a9e6629501a751358ceb7fc690673bcf891caef88f7a0b48829bff61252d98661b4fbea33476088220f39c7800499d00a02346f8d93d77bac1f2acf1b5832005386a19f5c63e9290103ccb78a9eda0cade5b783210a56fb0cb799dd6386b8e6ab6d33cf61fbfb5c2165f07394f44037c7f7e7febc0562da39e805d644fbeeb7f4919b4462ccd41294df80d56af9e8034c54160151e8fb29f553931928bf7b4f49e1688c2cd6cca245f692bc0b9e629ee94297390376e242ce1069c7cd7374a1e61b153798f44abd82cdb3b664f8cd10d2f14319aef37212ce1ae786a65ce914b8a3bd2e412eb42c227426240fe2b584cd8e98e296771b14996c5cc5f9acaa141b6e93a32422aea997aead006a6b5cedb42e1962d30e4be0a1828b49d10bfe732df2fd4603d31e48380798e891b4fc61e60a54ef3a78a8c84fb8d6f35951bf6a5b0dc9a4955347170a90368085975404d922b25b6ff9567892c312f67054e3ad1dffb04457a82b9b1eaf920567832e1c11a208e86daf4963ccdef3361230dd8c4b3f403400d44b0eb8f2d2822b5cbf15f795c8276cd562f04b30d0f9e9798e3e387ec0caf2963adc6b6fe5a7ae710aa0a8a27b943782c41b320d74c9d6673fdc3dee749baf89e3f42020bfb0c5488f5baf8a42fb0789b943bb18cba3a2e6b75b0236b75d430a591254a4e0f1cd5b76f12162223bc3a904c7bb70ac3cd5cea645d5d12fdbab3b713a6a1f4a09e093a3262215f684c6a0e46582d1686d0ca42ceca394c13d04c272730cdc1bf8105d2d3975bd852a316380b3d5508832c356726b861f4250301e976138c0330039365e11c3d11fdae915f966380b85bb143d116231224ba6e963fa74f9655d8402a39e308ca972b3171cda16be5c4a90b121599daa5201d516dbbd5d2472dcf23138754f06118a36824933c2a103ee45d3643adcb2aaed7e2064d5933a6028151c7aa5998af6554fec401761747eefa280070499e0d11e95505bb5f1ed04475417cf6050fde8c32fb2685c3c2f7cc118986b10c0abaa682a400bbe6a57bac4670c10ab48b02e3e120c8eb23c2fee463fc65c71752cac2f87f5ce3ce7bb468f929009997e4050ef9f8ba6fdcd36b1b466011f8e6807e34348f00c3a2d1c708859e18a3c8432e082eebc9b04cbcbd0b90df66809d9aefeb20e2ed79796452b6dd4c916814651d16cae715235b1619ed100a06dd85d4312fd68fabb0aa585aee0ea2300bb61888543b7c3937b2d0ff7a416972201867e7044f76d5f7af226b5153ef85eb7c4d74295500dfce179f4313f38567e2eb70f6f3291dddb67b17fabe20c8ca5449663a2aa2e50c9770256227392bd79c898b9e175e4f7b1d31cc5218a19596978154d1b0ebcc3a8b2021d2cddb06422db9582a971c24115415f9105ad1a3f4a2d16179662a323eb75de197ae42a53831e217bcc937d63c4d547ec4020c51ef03fb0443dad683f117de54ae669a67e673a6ad7a52b1652250159b0df08422e949ad22f0cf0cb8a238d9ee1585ac8d25d9076bc83dde1601156fb7215c45730b5026d55d3f2f6c597a9b221f68c3ab3a3075f2099257330a1cbb1e2ce19f6c244b30c871c024b0b60be460ca91076a76d02b6be8dd70f90bd81e131a0bf6b1fd45934fbe67e44fa02bf153fc47c879b1151119825d65eb6be8fa1787b461ee2d8bb4cc5ed1f5538aa4d2101b9c6ba44e1734a6c9836f857f3d8e0db6381d0c99e45e5dbb8aa1d7441a26ea12c2d3dfc22d521c1f4e9ead635ac09d388234afba86c6f653d6fb6f96ff26dd2fbb2eb6e2688ea793131942525a57e7c0d090a5c728f12cdbccb956238870d1bc8b9a029888a71eabed2ec8e4e436ff4222727522a89e9bff49171bb9f9ad13fd087251b0dd2335cf1e4a5e7007c839cc5421295f156bbdd85df11cb8cd1a2a85434363deeb81d39f9544e0b7b7e6de41a8c105ce0aaccc12623e0afc065905dc7c8f0f57e6fe1cf1dcf371b93d52dad3244a794e7656404009f05a221c7b536a1129398f88785485fc2caa5151e989fb526793f922e4e191d2e6962eda34f8da92a76d7a26ee59ce4a7caea92f387c693a816a482f90e1ac9cb4d99a71fb9304335e4aa4eecb8e3ba6b8236ba2765a0b79cb22d2b40305c450b19139a949873de5e5930273e173234f9ed022685b516de13227785720d18ed5ef7b338c81dafc4dbdd59c9c1919c151c796e16266e33d38ea91df0898b17b783821f083bc1e53eb3267363f11902ea59cb985f7906f296017e67b3801925c9d2f6697e92d7a1cada3a8d4c572f37f295d9fbe3e5b3510cd36a797b2ee1d8a6e6ab036c58aefea4724ddc14587fcab5e084d74aa20f436301495313e7fa78b693af848b6bebeefa503213e25d1b6b4da70e3b8390b0f8e50f83389b0696131006ad74579610c296bdd734eb945a76f77946b164922976a113649b62f46a5c587bbcff38b46b644d010006c007a2007ebcc4dd9d0e77774ebff3b6cd05becc241fc17900b2707896b500c3c28623ac58875ccad5fc52eaa9e45387b7ddb3998df6b32860801e46658a5396b1a45b6612522e3c1aaa4b764e4da863d0a3fac3f4e4f1d9ed950699b7c0ded516d7aef333842e27c6c0e9f4af0381cd9abe60d570e75f386f37b8de5939c388746207d85ef7225d752473d6e398e0193fbf230f4248b3d9e909fa2a2aa37a5b3c3418066545f90ce762d9c6500109e820893369a3146036625d7a2db614b6ce2c6f543d445ae05087764cb9d6f545b3e5ee34e3d64e448d9f0b6773dc5ac9f3785d4216e9442a71b982b197b63ab02d55b1515bf054436b2f29ddfaf94d9cc02248e06ff27c280041690aa54f01e8bba9ea8a20916f45ac214da96ae2f00425198cc4af96e2a8be977e762c1dbc28134892348446ddd05adf5f28f3b8e8e2cd13eb9e0bd69fe847bcf1616be54b263dc5adcbac0bc1a157621b3bcb63b912153bd5054f65d48ee2d29def5f64096c4484be466f07f6e254a6503a12007eeb6aee8fc0f7f60bb246d61a18d5d5d00b0b5b38a75f2b09b731d73a7d625bcab6a903497c9b32f49c623807fdb293bc0c003b168e44286ca57f416be34ca46148ddc5a50cfc7caa6ff302c07ef2550787248a2e9f43ba0e196ddc05bfc89403f6d62e1f0d60c4a9f0d71b76dcb755f908049755b6134db95c6846848e855f7055245a39438af7d5cac61c24cd8c983866f8e99bbc23c0b318e50d9642ac02fa3397906873e1be6f2ca28f603c10da2721594b2418145a39ef22b439a508d95c65d8c1507c5515af8298e58fbb055244db6d6f54811530568097805ec5c159292f30707a00180af8089660c16524813da418f83adf7076b543e7e9500552dbdb0cd81bbe2b480dc33dabcb762aca03e71c861998dc28ca9918abee2370806d97a709d607b711ca9de42840375c78dfb0e8c8027082c6f12540729a60667d77d3810569ee59356edc7e63c0881a5771314356097b7a723fa9023cbc28a859175c76ad894ac4efd3e39630c1f2c37b83c3bdcf4804cb735ff2af4997f152a01f0239249e4ed9b4ac644b462c861eb874fc085cf4bbdf5ac73230380d499b84b82f426b78fc084b9ef4ceaf930d50f7643b5488501db2c2163372e043e5524aa84c12d8411469e7fe80ab706a6b7976c82f74bafd662efe51e1076e49800761da8f5e46739b578e51b02664394bd1e21241de50e9062a8b1c3a3fbb0daaf4f127ccb65149fbd14c8e750ca367e62aa70c0edceabb58c0b0512a79a1534c457efe6eb2b22a6726f812623c2daff5bd2d7f1bfb8d818e896523d0ea3288eb7c7b073c7bfafd7d45142ca6580435e2da85abd69412efa7e329469f1f93353fa461b1044646bfe772d58c85515b25f3b4a4ed251958ac2080384d902fc201fd4eddafa4613513c3a4307038437947c15996bd2fee0c4a54ef443be210d4136ec83f77241290dd1ed4357e6ccc7a9ca7f71dab14624b729ad9b0d3651094a1cf47aebf4969ddb19345e30243521310f7be0b2f2c5ef3b96daadd6ce9e8b3daa258f7aede0276de99310bdcd4add0badf7866677a0997439d7218523a2ae25b6b18846332cafd6d75a1e360edaa7d6eba5b3a1631271488e61cff2decfdcb77f20e1a98a4b06812ad9123ec6bfa6e44840a9169e2facd61ca82b131c3b323fd7eb5d6bafe1c7f6473a7aa4c290b35f469d7164bd3f240bd34aa807fa4e934f8cdeb6f439a27dcf3f38c1a4c4a1e643be6b4c1989e225cac9bfd48cc1e177b1c11a7010bbff13ae777e36f79053024462ce94de6579e0a94036b0f69ed500a675de4d0edd1716edf25111bb2a1efac5ca4749b92632b33a4a47e8892a92f600f93d9ccae1c3ad82836af328eeaaf18a88f329df5cebfb0d35cb9fe89d7d0a8c6f6c1415f78ece2c8a8705c16a519ed267104140d27bc64bf7db31454822a5680da18f62940162c847bd9e8d5f24b5f436a43377e192ff0ba0591c5d6a41986f76050c7d1d4e791a76c7c1ae2f0dcd7a4d72e43a660a840501807e7e06c37fec85a97728b6757eeb3f7d7f8f49fde6277aa6c30aee9d9b34f4b64d39c0d575f0dc6d5672e80bb1a81d5efb536666239716a31d5f9610eda4416530abc2ccf769b4223664762a866443ef45649ac73a3a6ada11d7dec98075dbbe745d991860de0d13ca174257937704fd71edbee86f08f320a220b7b2ae1a86e624b0a2db842efd974be21f270e39d48d7309bf8ce8140f7d493645d4774907ecae006e998d0c442a502424fdba85215e78f18b712e5ca9a81bcd4dca3a4fe1312c48e8eb9b961d15d87e3fa28eadc9c866b1d85d8d2ce47854b4a456fa928b932615b9e150d2872eb99b54304d50471e51121f5fcf42e5d072bdac19697f8b6cc8f51b8394bdf3e6da95f82e91363f1802a87e9d6fd7897ad0c086b998be92e08eff08c7ec739df3657c5d18848a310a7b2b30d53c4dc24cafc58678a2431b38a715af7bcf48e2fbe8f7759129e618651598b49cbb875805b7e9e0fc2f42b76a26f92fb442e86ecc50d79b9d0b92f76cf376d600fc48924382779119f5f7ec4e2e69aa8ecf1a2fc024033000047a03211550f46b93ff5ba4f6969285e216a29633b627af62af6c7c6ec70f382a9c278e7c4dfb4e8841f60b6b7b5c2ec363a4e62603a465a1e89d158c59cd8b508c006c8b6ba2be91cfd2cfd85dec2fd822051565f0ba2709823c696071fc7f1c2c5876387044bbbfd763672520d4b1bdedac059e74dbe19afd704b5dfdc728a3726f8f84a098aca8c4840b637e6d7d73f427d5c5b764523c9246644d39726c005e441037cbfa60303529abd885a780336971f58913e728f12f1212d90189f6ecb26439df726719a486ca5a267de7e327ede5bc1871d84feb9d33c3126030d001124c595391f3819f8d98e45f49ce8f7a39a637e5221c0622e1c0e57d3ccdd0bd145b79d1898d94209f71f37197947ee501d1b82610369be0b26f75c966574635e78df5e16f0f3b3cc16c5b916c9c5ac7974f569a2615543319101ade850f2aa1dd7def30e746fd706b1ca265fab09c6ede37fb0fcd19dd1ca7a53da51cf0ed25205fb3bb78ae0343a8d5ecf615b5af8baf0c113b1b7a0e04bda747b5fdc0651c6e4b72c7fac46686b54cf7a1cc34bc9bd9b85ddc4293a021213801797ec0e6c0e522182abec323008b4015542fe529a13e09225983a8d6b7655de0ece00f893817a06896c2d585f88a5831e14c3e84020a33b097b1da4b51a20e348869534b09de9eb56b11ea7a15fbc58e995d6ecdab3630a66e55f2142e03a7b53ee716122d7ceb26f089afb60c70385cf5c88813dfcc405f42f96ed6253ecc8da713d48e726038743c1a556739cb7dc88b21357facc2515541f7c329f29c14a41f3e0568d982baba6e494b4474014deb5516d0d972890b3b1ff91df0b81f06da1a41d91e606d23c02951ddbbbce2d3083070e3c1ab093bc25b29ea3041eba3f26425a5ab67d0f9b7bf8223ffb000baffaf6e3a91c1864bf3ca913480555fce71f8832d533e6a0cf489626155b22624d84018b334d403d42aee068bdc53d95af4cca032e7bdac881bfe43356cb44a4d0f5ee04e38fead7eafb9a7c9d5d86373b212e872758a77c77ee481c9b6f1f00d4307937d4e94445391ad2af914243ed8b4459524b7e6888cfee995d6a4eea43fff58f0cea3a7e8ff4bab1123488944e70a3c750fd589e4b268c3b93a16434337fd0830aaea9f1af8ee5689e58a9f5039133efd81241addfa3566d73965f667e1e7722c9707cfa2fda32a051ebee8d7d2519ec348a2abdc3d257e2875a791f781aafd6eb45984d9458acf7cc73272fbb8ae238d13487a7d3078989667a5e52d99947c4f4b090e05c7f729f10c38289c22da85b00a0eb30794483fe4e3df610216553aa502b1b4a27f4bb759cd816e24bfa3f05c008a9be629f5b90f6c2d26c20234eb438a9617852dea0c634168922bba801f60268955f7f4bf7eba71de820e7f2d89bb2758379efaadbe14a97abcc60edc78b6c5cdf8eead3169b6e9bb989b6d4cea9a7b287f36aaa46d3e59a8e853e724e541b6f0a90a11130b5862b0a65ab8b8edce8ee45e3c27ef25d546cf27c1ff3a5b8138fa7b4a2a0172ba981e7baf61a4791d6ece257fa41b87f0323ff402137cbfbe9f3db71c5a5d588fbc0dbe9daa6208bce05ed8ddeaa55e43317c2494ec106310aa5eea165876819d46e3a164cd410667a29b59222232547b9a4efbae3753f785b822b341e00bed802af9c28df7ade47bdcbbbf05db11a1775df1e37b2a459825f3bd1a591a50fc7231647b8711d1f91c9da2b8fa65e96b2a41abb6886b5df7e2a8c07c41b4008fe76b7420d237609ac52dabca3918a71d70bd4f41b7cc794cca75dc07e38255a8d7d2bb9a7087247264757e58b491a75e6140e1faf5b5ecd3e32be8eaac121a1f7edc2db326b5468ab319e317b4c353eb69280790beb5bcf73b8c91aec8fb083d225d69a50cc6a0293d9d57bd4a1eb79f3fbbbeea098251785d2fb667cdd79cd1591e9bd7aeea7366f48272b991d14833903393776bf846ff41e0e5f6e5900a4f014bdaa3a2e87647fd6df2ae90072d2d6d7fd9d5d03debf5d2d9041ca843217acbb829d490987536626e1d35f8913a9abcfd774d9339e7a745aa7315d8fc48a7e67d6a90b5ddfe917d22d06ec38489c3af67e7276fa685d749c011d501ebbecf807166aad86cb82227e2e7d1648267956f5bfb0a94159cb2cebf26674562851407b0e7967f382f89233be823145e3783a881feeb2e30049849959bc1f30914186278912b9f871ef34b32b7057cccffaea20221fd46c3577401c553bc4dad81c73c01f63bec73348cf357ea646a3216a8681a922b69961e45e8eab2105a5fcb37df8da00f42d85e05e5d0e43addf694e4410cae6856cae26f58d497930bc4e589400e00c7a38e2b35cde2062d513f562861397e787e38a1f46193b522379244a1ece0475686b189b5a4e85622a3c3887e4ce06ae5b764787b52154686fa68b6bb6adb1a62a3297b3643245566a9737de011fe37e3ebf55b5d250d1d6a7c302c5dd6f680ccb0ae7c48022de638e41823befba61df58a25d99fa26ac2e44c8654bf372df9d0a1ff107972b9c8fbf6eb9e9fac5aaede2f63aedf425118b5d36fe3dfd4673ebb57ce20a7795a868ecb27cb7e986bb3cd292a4ccef2a22e94f983abb848371c57e760772c2af42067aeefc4edda5521dd9d46e980d62c46e6f5c2bb641b5ec2afaab372511d838e08a94fcb9656a0c5bb978c232251938dd8e9d7f6149b6d9577647a47139e7b3f6ad76afadc1c6c1776c6ff76ee9a2c9e81aa93b8fbe768878ba58211ed9e8018b04644a87e176ed2fc3e71953d3e87b24b2f7a51229785a332a0f0fe5c6514f25d5791672e6a5f6417bf129b4336a895b9971fc31aed9dbab122c42fe3311586e7aab142f260fdca14179743a8fb63d03a02c972201e719917d7c8e8744ccb75f3aae418f2187b11f49e8c4b05b38aff759c586d66d76e624bfdc00cf32378692e47657447dfee618abbab2dc8a354c221110466d5c9c87f0b34bcd6617f1dbe3dd9e4e5665cde131e6250d9cd0b8609f8fda24a6326c5c74e7350b4ce5f783e0ecc5638b5e173158c662f3d4497658e386d5fabba63682a7494780260188747be96dbabd2ae62eab596110d808a7e45adc3e92283ca9172fd89ffe13bf494b36315f3e25693d218fc558fc1570e71dfbec77bbfc4e149fee37838cea0d0f17b2e5e496aeace99f18124c1719079df210fbce632017ed0135e5627c6f71337c829438ac58ce43665f1133e12c5edbe63099db098074616d6df422b3c347f2063f732e42a1cb14a9ae9bad15c4e510769ac42af9cad69d2a7f62bb3b722f5b46eaaf7c12da6820661df11386b19ea950401f7857b28a2332a718e73bf3530da2a2472f73a71adb54a52ea2bd2b0d8551be673d587d4da3462a1fbe30cf235a986e646475b47db5cf35a21ee0012a595ea029b1b3b18f430d552619e25a650cfaee6694fb63a8b8d10c30faf9b532ea037de12fe94543f3e371b5bebab28adac08b4e3903ed00b3b293f23ab3d9fc1cb41ffd56444a821cf84d68411716abe49671eb7db0694bfe17dfd20fcb6b1dced1f79a1ed4f28a430318beb4b09f6597e4a91802d68a4b2041cbef14fbe4fc1d2ae5507925370a0b8646fcb13bc8acfdce74a8e511146085e106c2c39b677942afa3615cca6d24fd3a8224e7f8526a741276bf28fe93a9a108256c30ef035ac1825b39bcd16e6d23d7f4d1333fcc35ef3552de4e4d2aee609fec575e147f4c19b7a66b2979b9269a6b072e256bcbac7287b68ab8e4ad441d164c8eff38c03e03731a594de55f6be0f59e6a101773a72beca4ccd318980b88eef09ada67ed5226207064d8c9fb95d501e70699444d30565f9e66c7f95b81e87e8a5a12a73cb526382a324327a18f324182a30e3accb2b61cb64c8de08b0bad732903a5c2abc36a921590776eea651442d409e029b0254ab8f7e45447ef7cf978395e4f536116dfb1ff20221f8afbc91a765212e311354a1db86f9d661ce6eedcb04dae7e98c4aa3135d9feb7c083ccf304a02c181f3b1321c64f1ad349c18e2853c07ae05f0a95ff1ad7b99052cb5c80415eb89c1d070e19a91461c604137527923d55abe909a56e51bc423e1a4382b5ef45ed7df939d123e0a180f0c44b2ad6ab11e1ae55a827092d06b6f7c24505cd65a90f83d0e4957d1ef146bb64edf03eb017c973461e1e12117bd1e2f639c8b3ad27de8fe3bdcd6d9e73ea9b545f7077fa09da607bf4f54ce4fef2fde2bd6922afacef0daa58d6d8bade8b14f0a85e4fa906d57d2fc7d95ae7fe8348a99d48afc09cccf5504ac3ba2c25672093882ffc4b6d59d999e33507ba8a41665d9c5f19e638ed8330cbd731f7ee9ee955f5d2708293e0be81319dbc02297fd3083188e3bdb4f579e66df9682bcb11d5c5ba88d65f59a36df6f94314fee4d544406205d1739ab49283d04aab249932fdbd10e1fee6482e7138dd83bafb7606556ed9fb9e73b21ab3dbc94b3ce78db185abf320ec8351d0f3b09231c4a0b5ed35d0c099705a20ba4ef867d565dff69654fe3e3431ec307e056de999420951b425e0a871539d0562190d760b31577e77642c8a1d855e19c7dcba4f44d2c2c105249f94068c7c69c16a0d666763a5f32efe6179aaea558233781aade1297212c4d8c1ca7ebf217030ce8af8ebd58e672ed3d42aa3edd88f94569a0e7710c5bfdc3ddc90ac6e1564d9de1ea3fbe9c81a2d1a2efc29185b2a65de63628b1c1b11ed795dcbaedb7a64d66edef2149d185e89958f78a6998a5dd9e4b02214b91b3237f61565c1f9df4f88ee4e182193142c5cf5456e8d07573685283ac0d75aec391ae99d7a86ed276eb23e326b139c6d1963847c3628ee6fc7240d896a5417fc35e9fb9534ece90f3e644efc624189bbb48236b68e25a46a07b796e74bc21282b42a98500bb6b8eeb193025ef190772c0a37989abc95ca5416e3d0192fbfb51862c4a9bb579ee7c96abd31e6dcae1b054750b1940d6ef899ea5b1d84c5f117998fc88c8d8c5bf275e338253116922bc43054f90df4a21e8f4850b8f7900fb4ae3d23e5ce6f7ffd7d0130da36c43ae95e3098429a05d48285996d759bf4b27de229cd6a05e4f5595cbd697bbd5031726698bd0e73f1a8195d29fcc7e35378f9b42602477a33f4a8b78f969b314e59576ffae4edd08cc069a0f02c7e534945eabbf9cbb6955ef5b8154a2101e1dd5f11312c1e51207cc20dea281ad4ef410b2217dcae38639a3fb6ef68fae1f4b2ce7f71b3323894e6341d5a558c713c4046e47d7556296d07ecb3e3376e96b39c28c1052a2030b13bae8ee8bd6f4b98f2bdf989690c6a2e193209ab4920de1c3ca028730a8545a952efe3edfbb4502ca7e1eb8d60848faab87689b6ade25a8764547f7a3a15569f217cda6f2bbe5a628b589705b1df04f42de83606278d7ec3ec7079fb9f79ab19540572e29ab56e68a5a4f8306ee5167b96a1965e46ecb377ac858fa3599cbc082cda4817d9dbe27e275090bcbb4f63fcb1e1282f67006b60f21cbafd13ee13b221f0c62534848600e24ebf00dfc48a758d00bfec0717290fa24e7167f96b13a2855b24c1418a7dab418bb8a3813298be02cedca2049099ec1aa6ad391ccb9968090325995dcf39f4f5d033dfb35fee141d0c067dd316c31226f3474cfd162450001838a64740b6bae23c508619e39558a40b97f70f072c74bf685f4f10db75921e3dc9c5a9bf1ee752c4d51b67b3d57a2e8d9853a41493ca6612885876299ed06ffb4fc045ad272f92c97b1b177cd4166d8639fbe6787d011e0ecba53425407cc0c6a874e15ce19c9780f57ab33b48c5458324e1880c28bad7fda211f8d02d4a2d37e4487b53684ac57392e5e0c8563cbe5988d6dd2b3c67699297ed21779e1b1b3a61076337397f3bc373a98b79b798977decc0b7815e43b3ea01b1f07c90e78f09399de1ef9bd806416c77cef8be0a7f0642c340fed558623be88593deed889412bb8748abe85f8ed702184ab14dab836fd23ed55b42cf3a8943b6af5141156f3fefae660aab242627f5f11b3fe8d51a006f217ab16707c57fdf4ab7ca042eebbb8e3b1f9b0cf754a9bcdf1d3f14bf4a1eb613481bd66c829df489798a717e2ef73e2d193c6eefc2b251b7d58e750e6a654ee07934a1fb4b71310d5c71ae1caf069321d7a438fceebe0f554b27ad4200aeb40560f6425044a01d13f8acaf25cd88e6d22deda7fc52a5383695de6eb904f578d3363c1a551c0b8e8ad3b6a40699768a76a706ec4b72905b3962f177c3b5a982c99de730846f029378ed1c594de58af68a7b2c1f28f1a372e26bf8c800c5f4076c5bbd6a8e1ca16de1d79c215aa9f3d748cff397b3fb0b7f4b1470525ab1217c174fd960924136479a64e1f6297c8cd24fbb3ec151560a2fbc8b8765aa2f3997eb98f74350b065c5a407b32dfa5cbf26a952882595a083617d885e7922b348f60cfba784a4d0344228170d0e9017d93402a1332b0a88c445bb27b13bb2d1562fdbc8ec9ccd82962f781cdd4903007901fca87cb17e5e8a36d8bcc75f11bbf1bab596cc9a1759090d1f36d21b309009826db837265f4ad6d247dbbcf889bef3169c322885b3c4205bba6e5b36055bd1407d4e37703a2178cf5a41eba675eadbf44ce20be66a67053776cd7aa41d76e5ecef48be777b2f630b46085e97cd0806787d61f3e692b70a904121daf54bb414c59cac58f513490b10f858c484a7f6fbd218a41c9f421c5160374554551b6f5747d05b5d8bca2829bdfcbd30424e55f4a095225c18e57999f05806f60a2955af1054ba00e34ed2666b9053b2b7ca1f4688419fd977bc7e6e2083ccf65733e41c33000545135413b06c108b9f91b20b053ffe4ac5275fc29f0a7f03e1c00e768afc255ff7618b13e6994c728bbc797c7cc57e7bfbbc83b4a494406f93d29c64e494b728aa72f092fab8142e230a3d1e6efcfe72ee15a486e9b6158658ac56ae0862cfadc3aa03ccbbfeeb301fc3c44a4022a8bc82d4ee16341d772c98d097565048462c70ec805f758e7274a08829bda1ec583fa0029c0bb05d1807288a3fc2f3a2885810a7aa7a1e928a9e4ed8e6c69e43d8eff451eeb1c2d8a5398e2db1f728a4657b9add9c9a6e2bfd76157f567945df939f590f80d1abbd50576c5efd0668212f349310bac8707cd4a4609423172c6bc64d7dffd2a4316267e2a6e2e4e04af2fa6a5df555fd345c8f6a2adf24ef91df5dfe7ae0a7bb975df08f2d6f7f740a271cb7e183d8c09396a4b1643af06ccde7a3a9a76869d90a74df5268feeded19049d00fdb1d73c363e7d60744fa02fe2ad32df7b1a31fb6090db0a75805983f060b9736c0375656a8038e64c1e8160e1004740a5618637b6c55d1be152898a2d1e813efdb2a8f0f081a2ea2af343debd174035c8d816bd5dba92fc293925b798e3ab62825f4a9b3738e7e395e7ba3db8b46e86d0a109cab2efcc6fb7cf6f54b5fcfd9992073b60aada223b9fd431b3e351171b2ca4763892633b1537fc078727c477f94ee92af466cc3bd760ab4f72b4837c34713ab4e57d1cecb0556b83c5587366f2225ce0ba8b23b6bafa2cea216882b4cebd025a2ea31cac29d1abb1e0d92b6f167ee02ff54a8db0633ab3ccda0b0f9a631c1e454dbaecc517e66d354856cdfa7a3c93c5cf9ae145ec7a73094cf5d7169a7fb20a5cf933770b150deefc46a9453557240cace505f114ca81e854e314a6a02b5bbb5356866c7b9f8fa7e41ed7b4ae2e0852fe8d595d4750c4a7e3d790c91a699620afcbbd5de2990d413baa6452b9bfd5bb5a6e909632c9745525881646e1db33731a4bd486204f7071db131caccd07f4d118834550eb8718bef99c7b8d7b54b80363b79d5c469b779e8b7a74cc43344f413b1fc12f9bbffd47669faf8eee10a3a406c181762ae827f8c08802e4f14c4fadea6917778e00254f1b9a68ec5fa94b11926b02362f735c0203f6cce76ecca84bea0744a21a037fbcb232eb444b357c4f1adb7e8ff044e9f8aed580c2654a9d6a41c09885c3a142c230d1bad8d1a324be45da0631e8c35c2dbeb57b50873ca9aab09dd1e3e6f5c9618eb6e2966c8638dc4630e8c2daa61e9824a86963cb45460ed9d62cd8df07c8fba8b3b993e8c190779619606528e60a5e4c2cafd65665db4782ae4dec4e55c78e2661e26531c4659ef9615a309304b5fbd4e70bd3e75fc0140cdf468832e1d58a4a0a6b9f84d63bf83fd879b8dfcfae37611ab6dc19fda65f4867cb217d28bb32b7d0bb2c27a5bd6f1d07e4c879ae52eee13b206147b42395a6ca62e0e3ffbb7a9a66afe530844e8a515bb389500fb38cde7de78bd4ec84904a168c7dfb190518f36d77be13df88b65bad7dc8005179593838ed35d8dc6bc9531e0a592aa26ac39107768095ce39e7bc005fc675f412a60c9ea620a7bcd06a41c8d2cc6eb2fd709e603ed74633559e9333cb67a3eef1f4c70e8aa0b0caf9111e310ddb9e680b2ce50f6d82d6420b27b995cae9798552c9fd2c4df22dd03ead571b6ef6628c49569409d565ebda672439d8a6006543d92670b874e050df81d3840f17ece0e1477920f03de2a7861768791a6da8b42a8922b7805d4f523d48e8d2936df2b218335626359fc8e142b4aa4488acc6ae591576fbd992881e410f7bf55d979f2818283c03ae500068e6565352dfe5b8a0ea0288c1ce8d7a76803574137c218b1c6ad1e35a26b5be4f5e52a8ce76acc6a18935460ee35573810b81805b4bf020d6403000aed785b028dc09278ecb3852a0b319480e695ab667be2e2f3dc0de253f38c41f4b97e440214e90a0853dcf9aa3d13821e3acf71278497755e9de30ae3228ef1209a6239aa61296893d7fddae16cfa61524ccc4a03536c58657cd731adde510c93be087c893883c1dc29a4ffd905c1bafddd0424b51a0c834267e0105288032630513200e75855c4bc4a30a86f107e8bd0d6fe21ea00c7afd4cbcb39720cd9c2cfe1cc0c07d169d9ac236b64e045f5b08074cfd82430c540b1879daf4da77cab8f23738de1a2af711adfef82d19e2cc52be93e937171c04b99326a8c35aa7f971db67d66a2e718e06c993d97b063dd00c4ef348d9c46b7a5026c1ef52b24c4a2c85c162904571051c51506fb220d4d9e736f1c983905ad5d5d1cbbc2f37e19b346f40dde44803d4b5e4f193200f60726a6aaf01462e25a4141a62e24f0c220905fa680dbe61e35aee2336ac734c703787a60d029c00beeb7530527fc76beeb58284111ae610dedbb0b31a369c40619efd54654eb3eca0cf9973371cb5c080f9119d6f66a99465c6ea89bfc0dde063a457fe17acf7343e73f3e4017469ac9f8b90909858f89102a932ceba286567df826f771d8488dfd45135f10b38ca2bdf19ca99bae5947efd3a38c67d5f57896c5584363bea76c71b7095e7aa70c58acf5527f50c1fea728b2621a1ec0a69298e6377e2a45cb696b48a5fd6ec653dcc8f7beed77d34d7cd3580d559cfd144cac927d7e45df940d8415e70796d38333ce4ea1ec613cb27a6bbb28ad90ef267a729755807cb2a90c6a06df7b844edc8eb09b4458dc666b24626d67a920e970fd7bb1da5d9084483a9046e7d24cd13b958c2e515db45aa1916436257709ce227d44162375c899fad88d37d13b01b0f93eaef608cba3a322cbb771bc45bc648d043297587e76edab3a82469b128ebc1c54dff88feca3de02d5da5cbf12809e275351b39f94b91cecd098c89a9af754a32bca3094b87560152c21b0af4a2074840d97a540877581d7493bde713eaac06139234769f56d26e0b5cd71e211059848ef343c7ef0c9e4ef4f146e8536e63b55e5b4a99361b6e627251b417bf6ad5803b694751af0e05d8f76768cba776bf3cdd60fac3efcd4083f5a18ba5b99797dda722864ff0573e74a0aad49808282e211bcce39f7979429aa3e278f1b5a6f5df5ce5faa83fd88a4d4494f3e0b18d7e613e9f29da645b14608ca630cbe1d9b08fd8c8a1466176ec016026f6e38f11458de6b5a8daf881f28eca48843bf376c07ef6d2c4e22e59bb7634808926cae99f037d96570d62ba2941fbf4f021f018a664df8b974d4dc562b294c7d4e9efd4bf92778a5fd09611662f859f1095c2b326f3a06a21959b3f79ad9e7bef826b04b463d0bd7565cbab55063422dff6437a055338d88c2d5c659f37650225c6bbb9cf2ebefcc4a0706275a2830284152e93ac6c9e9185d864bb25d3379e3f4bc83a019cbd3417a38a638637b84d84cf6b92eb215440e5297a66d2ccd2a5c3a2c6a207590b5428e560ef0d061af8822e2ae62b52d11d5662dc034c2c48d85cd1c261565b7ec236127b4909037b8734dfdc731be51d144a3c8904952901e25e8bc0855b3824a73443a57d1b27bb9938c405d07483be5692ca0dcaf55d178dfea88073c3362feb7b654bf91c54fe44b857cc3c2d2ce837fba6ce185fbd501a06c136fa834f5a8ee8199ffcaf274a69eb2306b00a788b220869119738e0ee0a1bc5e222a2dbce435dbcb197b8a898c4952c4a8795c8e427c9f162b9735ceeeb611c88b7a9e27ab4b7ce000f5c82bb897ac0600499957eb341092ee525279f840eaf6ddb59c0ead7bd92f023941a13e2437603684c29299b84a1c3717308420a494da1fd21b95b5595783d3a736fde1189bb8aaf1832cf0b6fae1b2c720c12c8b6c2f1a03189dd2e97ac7efcfc5caea2a11e4a4d96163bb85de90bf99817ce611e08c77c649cf5944f0977af7bb842c07825a6d962767c6f7a1b3c0cd0e0e91cc08b24217ec9a1d71c1df88ce58a6c256c7dfb93e4ea6742189afa190c8a667f068635045e61445a355452485548b543d91881399a87908b1b57c6f19dd51d416b685fbc8f4b2d9afb374be2e1a4d29137fdc61e98c51350abe344805dd1e26cc56814c706e148c99d4090c01f2d45b3ca12a3085d21e1940cea84661466ea1021f834648e2ff2aa8245993df98c2cf072982c1ab564d5b0567d36ca40f865e1529e2b9d0f3ae1d1b98c96ee7a81ec77d73f6a5f5eccdebb80e7a1d0b16de9d7d20aed02fcd29257a8ae6a334a6d0196cea9a9cccefa8f656f166d3124b9c079b7849313b2a11d6fc26a0bdd87d8307e7715cbbaaec00eb4e028a71df4cf584189f5758ca8aff866f39e840eda8f81a0793f0e8ebd8df5b3dda6daf4354b173594f97b465857fb098bd01a98e32655f00aae6c78a0c78cd839247a8ce3bb74e2d16c7d991414cc4a57d23d6757b1ad8f677ec37678562dbfcc2502bad370ad0f83f3f814274e3ac6caa051647e4262f0d05d09327bb093f2945b6720458d770c1124dbbb8816bff0d0a5f9c3fc5a92ab5b7237340d5de6b2f5635adabbaec380a48c99de8ca58254730add4721ed81b848a983aee473796096dc3f5d35c7f6958881b1dcee6df27f99a54fb5b586c18c26ef753bcc29868525a85579513a984772d22afc8c1a9fa541a532cda3cdf8dc9985e231f6b09aaf60e68c4ec4c91b0920dbe9c92112a1498a9a6e698fe7ed745ad328e0553307a55585cf363aab7e21d33ff450f450b6d2245feadbae622643a354d764d595b4aa45b9bafe83a619cf43c330a028deaf1f0ba1d12f621ee9578e4ce80ae525f4f273bbde0c0bbecfa4650f89a732abcae14cf9fd0862d0d4e677d8828e226a2ab97c9dba16905e47bd75c295f2436fd189490393803493f9186e002283ea2ac215abd6f78d321da644f03598250237bd1e24ada9e45f976e095b93a8841dfb79e680a23d605479b1ae0f4551ce1371dcda936e315cfccd755bc35c1d1cbec272d5b62a75cae5eb051ad8adb508f1fe582509565a575dce41ab89616155378444a82ee964eb8752922acaf02ce79e3c91fae5d9444c2e44bf71d83eab1e321aa8aacb273588243def8ddd623c0df26377f2f2f3e3db401493a70663d900568b682f610222336c6cd1a4433c16d5c17f96f2cbf52c2413d39b875654d88ca7ae38f55ee19be956c122f4e1b38ca7c825c443da2c247d762e06ce3909a5c4d491e1c2fb49322723389ed2cb74c87d35f8218cb63a5aac8b9b389b38da666168129717f71507ef487e0df4554e06d5d9645fee28e01197082a99f7a519c19bb6aca8d86e9a150d6f1e673f2e9e196cae04bd194719c4aa456b0219d0665ccd04c4b8cbefad5ef047cf19b61091cd62b2a634424f8f76a22ec0fbac7c9228eddd4a542368aaa7e6ce025d3859c4ab89a7a52b092308e3c7e26f41ba7d52f5cd2fb0550ef9fe90a250c64b87277a17e4e0993e42a4e049d64b5dac66ad8182f90cc81f93cd3fa867b8057b4437a4af01b4f95f993c433f742fe91b4cd5460e9d954cb92b1ea1ae6d2db98e36044d9b96411ff5b0856d1706175fbdfa654f8997d4ff94dfa82f8e9511b9ac6dec6c3f845a1764c710a7f4a265d4c1bdd03154ab5cd6347dfc5a5246f9b8f82f5b9f3a642461a66ddbb42e6c57d0b19b9aaf01a9cb64c60b3838c01699830445d19032aa1bc6950caf7cb6ebe1f4964ee1dbaf73ad417a1c1d3e1f80256977af3e841b11dd555c0285019a2d348609cee79747993792b5b468e0e33006d62c7c932766d612c8398be0db6b04dda0230dde862ec89ef6905be3376c24128bf09281ae62ad06d035dc94a19c863f9c97710ca729f5c6da274ce64e1cea78cf7a247aa3347869118fe41007cc3d25ebd81b799be9588b212724c35260dd5acacc054d49d44c112fa34cb47d04d794415bb84f61adc5062180313a47547cffc36dfd4df59bf69d8f1d01964d4f4ba9f80289b1e71269031a6c7f776cf8086aec67f38e66e22aa851a54d462199fbad27c10e6fe0a15088f6bd674228382868c235e42b784e3186a17831c0b3fb853fc216e969275518b4727a3d8cfe816756f91d8ebd9d151755d6fcc2b97aa9fe7304b53e1cdf637a7baaca6ba31831dae9372d8b6af8f91c62734fdcd17b35b836b7124e281fdad2a7fe9782cd1db3b9864dbf377e3df1b9836faaf9491300114e1e7ec09ef1d3d8cde86a4e0e59b80f3f3d9b0a727f99aa69d265659270648ceafe5cf1f4b916539024801e77d69725e7e728c1db3c0b20ec1cacc587f34b80a863f59c4ef094e87736b19d755e2c2caf1b2fb35ebb46b95d5b81fa19fb0a4a4c96b3bcb3e8293f8ec9336fcad3a6cbd4267d26d5b0887bf9e3c3f48c4347752a768e4a3adc50d45d6195c4dd505d903abc9953a0e5417f5565ec836e79c458cfc9cad7b984f2be783175bfc73bec5456fee778bf70685c416c67917942a49674284381fa9a535eb8a7bab2230e3cf70a0d45022dc7c54ca6b29862fc388242b37ed7b383845f290b04d6e08c2bf58acd05ee11d24b55235525fc0101e582ac8055a98b4ab5fd0c688f298d6043a106a628764832106f0c3137464ab605d74c79c43916c872939bdc3b1c498cfe83a453be643d995a146576ad51104a004ece131c92aa04c6f1561e670cd07beb386b3d30c61ef418428c7d5ed4dc81a180f7ef72425a7c95763b38432fdd25096d41268de1607ab601eaed3a037b7d8b9486197331eaccfb583595542b64ca8abddcc4b56abe370736260c61621c38a6f272f4884239e18a756d492d036d96fda0b35a2b3fd1f7104d0e938b032788242bc33e7e4e5728cbbeadbd265812fc1a9f9901276aa27b81b8c1431cbad437086e831051dd84330fc030fa9837410e70cd63e78be384fe93e8dd44ec3cb21df49ad5cef26f8ed4eabc8934adda6a7e82667e3a56b51303b799722345b7433234c37ea4bd0bd6f64d0c42107ae99ad7537fcd1c7f96dc3d6f6b8cb59edb6c2485ec6a91a66b5ce3e5442797a6421aa16eb70c8905d67f549ded8da400fe954a6370a0298c4619ae022072c7b82b9af11b56e8cf3664d43f9fb09ce2b45bdb551b9d405c0c7e2264e481da382af048802b7abcc8863987138b9e2fbc10f939a74b280af789fcaeb5ecbaaf9e7092b7042d22df5a0d8e849ae7d0dc619e57756b0f3458811be8803697a78e79f4305d3251632ddeb17eed1150abab64f50126a7c7e551188e5a3931595922b295235837bef5565cc4c28e54c38ee75395b495463f58847ef1f880fd1ae689df842dd1a6b21d5e6940c43066b1444ac417d1f92cec652d8b732acac536935194d7490f3220fdb0456e5e3fd082cfa98137c8f06aa0dbd27483a5f3fb7ef071c34c1bad52a82a8127f25164370e1b4bb4aae25dfe0b2a254ef304b69aee85c51bb8a2a05f410e97ce14e98907bbcb3404cd0dc64832b2ba065906b9858a475e48b29bf5201afad3caf96f8f8d3ba21ec6eb82bb49993a03a88fc7cc3d4b37a757d71c29535122932c34f2031b951be19513059e9d2b74a3e69a7e8b1f6e6d4373eda307214a595ff830af653484e2034f171ceaf760502a20072271bbf62548a5f72a414255f715d3ae0f99e0bb7ac0cbbfe6906805915e12af66beef7cf63c47c80efefdea7c178ecae27490e8cdfe13a038517a0257538d43b539c6b8339c6ce9a9195b9e3bd5c50bea7c80eafd7fdd5aae0fbf722f0c450ec3bcef86d3a68e10ce7971b5ebe5adc42f879fbcd08d7b701487a026c30c65e61edbe5b1e4d3e3cd9fc8edfa6f0d20fc363589ed98348ef7421e1a05423dc73c28d3e4a8c7771af33a355097a27ce0a1a7ba726f29cac82cd7a9407c1e797ab2e3a3e63d4fe12be6d4f1004ab63d79db48eedcee8cc7a88c4976f6d1fba146a95ac8fa4fdaba913dfbc932e2a4793274a4e3758faf717eec86cf9955e5aad6ac57ffc5dc4deec3f5fc34ee0ad2447cb99c0688aaff47715d5b57080000001c8802fb5889bb3b1deeee4c9f972dee74c9b6536ccd75e774831e6e7f9769986986f97c43f8211dd2c55421d6e13af0f0007120a5691e3ee1a1cd8750bab9a4395fae9167b4ec71c0af70b41065edd1afd34a85f15c92661208564b1b860dcc2f429e21a59be32b5539c7dadae4573a5f0d550bfdf2392e4319305c849940fab4319cecfc744e92d50c2bc3269dda89e2dc1b888b9f2d795e194d5e43e12a9ce732d9467c20d7f680e8f7cf457da0b20b952b050afa8c087365c5a2dd07efd975ab75411de9b4ca9194accdb4788f548de427838d4ddf4afe17992ff0e61cc14823aa1e629c9e3f0cb1f879d048761704c880003ce15a2d833cc3405f501904aadf95cbb33a939abd9d6188b34c8cfc804c6f84564e18545c0283dfa97c33ac1f94747acfd96837aff3563b8da445189937ce4276bdc1dd0733a176d2fea100bfa57ee414d743cbf4a3c4557f3610e29cd9e6f4b8cfd9b1e800b34215e9bfd85d40838f761062be43c61eb6943cab8cc804a7fc4617ee6a29f4e470cb72a8d2c9467b987a028ea6bd07a42eb244eedb96b94355d74dce5093854f02a8464b507df88d0cca65010505e8b4e63dc0511aa3d49e82e7ee835b81c7de5ff8aa62ffc3574233b20b09101c35380e7aca0274dd7436750366ad275e585b20b7eb25e22eecb9597f9eecfc782db4fd3d0f9ff808e7baa01083e6ee8efe1c2e30f6dbfb4df9a27be595dec4c8921a342d49e78ae3b468ef3315aec77ecd0f51cdeacab2e218c1055033e45d6ecdf9cad0455e4db5a19c5fb4e9976919463c9a01a99eb28ce185a779a874eac0c99e0b2a3e4166bcfd199562513072424b2da5c52221f64f72ae0f33b192d04359c47ffde6bb3b17c5f78bf9c0cc5365e9922de449c84b224510b866664ccac9913231cfde3ce884857bd7774ee5712041f97030dccbc5f29e80babd90bdd2ca682d88a5d4f9696c4e19698d3f8012e39f853f3cee6ddc305bc526b5e4de959b0600485c1e2dbf7904c509b74130524a03fa55e75a4e8346ce28b18cd6575cfe97cb16de3adc8e6d35c9e968552409727d524a6947e4f5710ad6ebe93f60e890cb7bf54fd2bf456f2a1da1a8b0b4227c2845496f18cbdc58d9ce1cdce4bbe6dde8b6e1137715325776657410ade59de903562da52990ca0745683f5dd2579d61f231ea04fce28a06a008754f7d5bfb1461f142982500b0d920ff29b8fee34dc1ac1f1acaaf54cf1fb83ba1c704d14de1ae4e462964893ad22e04f96ddf38ec24a3e44b7889856dd4a1e6f3c22df3e512eb71bd529e762a820ccfdfcd250a1e0638c192b0ebaa808de8d5054e10049626cf16dedfb6018ca23243a61b0152187215e68f8a2f2feca497abc048823c97ffd46eedf397e46d2f0871f73bbf9377b1bffb7beea942a43471cd3413315b9b8ce9e47d1166f169e76bf45c602e65a30001740e3500b414e66b62f05ef24ace72a45c6f26b56d248650643f5a47b6a1275d3d4de388230e48638aa69091bb283961a24e63e68a6e062b47b0e4fa4c1b2281bc32927605b8f746433e2ee279255ecbcee4679f597f47b0eaa84df07e3b9a1cfc564efbe1275c21ad2d67bff8ee46f327756d15453f7184023205832c80100758459fdceb8bde9c50fef8b7546f48c79a29ec1fc1d15e658cb86daf03332bdfba49313ebb887a38b28c7faf4fd031b7b934115ded58b61261cf1b2323d5f9cc1ffdf722b943e29b61d32fd3409680316ce5567b2c056f9026448eb5c5086550aed7170d01c191579f1bb1da8e5f15c4989a148247394ae966c19d04963f67c38183af26350124c007cbaf8cbe7371129643bd26eb0b8e58c15e4df8611a15f604e21724301db89bf2dbef2d871e9128d2eca053bdeeda8ae46a75133010c1f14be3d778cbd081a8da9f57906a65fe165d3f3535dab2355079b75a1d0725768f8921740e9b9a5e7fb2a2ffe896c812cf0d906b715c1e84c812c13347ceb6d3eb66c46fa7de9ad9e6d95638b01dc3a38872d44ecb19e07674d3ca87653b7cf0787e3de7a8f8174cbd4e7c14456653c828161698cfb4ddaa72c1c4c1441a08c69277dea342f170ecfb792fbd7d28f17235ab070a3f7ff666a2099244db98a6b53693e5c4e544bf72468b294ce210a4ff8edcd17155834a5b2c20c4da20922b7689979c6b6e1d933993ae9739b2995f9fd03c1c44cb921ff62c4f5aaf9f686c563b3f74d271a4bb7fd9984e102cb2f60ef3588d88d48bbf410df5669a0ccdbc5ad2e3529ba1282b5b0f5d6ec35480177e38a4d0a31fbff06da3effddc9e1365492bf4ea76fbf316e32c8d615917ca3e99ee0009c542bda85f528da8da281ea5bf3eee9b7a1596534186f8850837598f2ebcc115979a81cab88cc4ae02f8250def51b28bcf9cbf6d402bdc575e9c6671ef6fdf8b9037193598e37a1e6b70f4c6ccd63e3a30bbcc813de7ac4201b75b575d39ea1973f3a4ea24a6bd6181f8229e96fc30ee5d8c61f93905b9811e558f561eb40e1216771607a05416016f7e4ee77d550875415c417c56f4637b5640e8932bf3ab3241aafa09f79551b1692a248a39d04858bd46db982a510ff9c0a54e28d490c627149622c5f96ae4ac740b1cc10f55dbaee55fa783bacdf2c3c9e44213553cc95a14bd53b28e5e86576763e3873e8848a37d4b28081ade95458247cdb4d050373fd82eae930e2ce4450742eb31172d0d170b5ca1c701b346819f0461151acdeebd3cb6e51b1ffb2161f8005298c52f6b943bcb222d0dcfa6d532c80adbab931e2cacab8a285644576f6db18b8d82edba7066e8b39399bd8f4de5b6447090c3ea58ade62fccd2e1b96d3bb1f88532e701d85598e4c1e2b836636a0f58daa44cd86e162c2c1d08950b551fde8651fef6e208aa54694c2dce67805583c50a84eb6bc1842c2cf957ec585425520ebe0356cc596e0a12f2db2f956fdf92ff82763e5b16d17e29bfb906ff19d5aa9eec85fbcc855fa8455350b3fd7c3c11b419385afb5593a8741dd4631e0a8a0786979d9f0e21c34cbf8fa38105e77055495077933e520146461655ba298b67a785b95b29274508c0c94cb2976e3dc8e6249daba3ad02f8ce2b9a07fa3faab5d68705846c081741702b0ec9f49c25e1d5c68b9623a1c16e6746b508d2e2cb723c0b4ad67de6c7caeac0a48156ba88c97f5973c10c04cf1484da3bc4a11ba2e4c9be7a51721e357704788d3b4761464da7fbc4afda4c00d6b635fecc13ee1d816058f3e9bc1b767597147b8bbe1fb16bac29523ee12a76fec0603c2e085a10f9b5343b33f7e2cdf4306822eb0efa65552a79f16fe8cd6ddc0483a03d1c4f7eaa22fb8f06510b8d30b9f44d726cff20d9b643cfe5414e357ba2ed3407cd3acc56ef5a9edc94da3d00cb90b02b7355bbeda7f8a4cd37a76b1c93df93b502d57f6109fd1c3cece125bbf151bacb352f6406f25046d23d711cfd2b2d37fb37812ba0a2dc445ad7f8e5b7bc801df8715e3d36dbf81bf3f6b479f40463c25f6b1ad093d6d1e8b2f6e72c28dce037fcaab4bb677cdb0653651040a94b42c839307055824a50762c1d67fe0abde89c48bd730f83239b99e3a0be16b66328a39ae40855e42c3352384e8e4bf001b70b5c2155bc65de946484bd6d8e47696247deb0de410cd0f1a81f94a125bc2085ac7f4aa57fd7539d0233f38743699e1ca1918a9eadfa90ca43fd6ab4409193dd694e9e7131ecf6fedd0227d7463fb08e51677269c120a06439747ec620cd47a91381eecaa76379ea838069eb740970ea76bf679a806dc6fa80871562a873255d7f245e08123102cf0e023e337680a755ed08f064bc6989934d92993327cf0bd2a16fd760e1665d8610fc84ed72b90c4d4699376623b7d1e95c4ae92439574a22b11893269382d3d61d78a9dd7524349090e66b514e6b7a7742d1b8b18ea87d8268fddc4277df1873577b2543cacdbfceeef95ad6fa4b8bd91ed652de5c33c27d21404d717b9c6671f66aefd4dc8802c2070b50347a07359bdd0cef022596b6bc41a79f4fa355296ee2a9ea720c1d2dad459faa2d693ef6a8f6ceb66eea87be318381656b88a053270ed6e45f203b56ef8840dc0f4c09c4a6185754732f003569c66dd27a7cb492b6671b87e9fb24d97baf71ade74893116a3156d3fa5e7f95707a3528b8efabf292687c234ee12b83562b82ef203f77c8e4c8c2f0f87cbf40f888c2cbca99d0ec973dcb93370ac502219e60f768a2091c04931d0142f7279930377efb49d6a4249815932dc42709a8291d7dc9274bdf05cb329e0b563c60fe1d4784adcf2ac136b58ba1bd7d8e2b335df06c4f010d5557823a74db20a1cc48f06b6f79bc96e1712a14cc0e5c8b7f17a29958952587737e1de964c5ab2019bee404f81d5981f312d010fa9537f16312bcdc28259933dce1a100eac11210e77c33e2b6828055a08e493f8d6a10b37a1a62d4858de2ec4d625d59efc501e0be95789a10272aa60c2a66f27c39cca1efcae29a4bc52ad6a5468b761983cafb934c310047d25321b4a8c39060670850f30aca3be46e9c8eec29242517d2b37a43793ddd952cf10efba2da1c776af4102bff721efb015ba239555794c4537ac25cee93fea076cebdc68d4cb61cb4890439eafeb1ba3ee4c440e8ea8dd00bb08e608eb563ac88bc61c0645eba20e835718b0e7142003ad78b10101303e2b41a54994068db0254eca1ed926a8639d4cbbeaafd2b1c0db1cb9e545e898f1109831579710686836a4ff3de8109dd4b747cbd1082c04e7b4740335ae4ccf55d935e8928bd9fabb6de1036f306ee3336b7430585a53d6424461c0b804d04d365fb211527cbdd5b044574e24abe1471e16e56359bcb90f54be8c1ac4489e55b33a17dce39a3e564e25e0b622fadd3debafc0c809a1f34ef85b3fcf87dd6312242361ae3900028e812a7b32424e3a3d701ed09caa09aac88adc157d22fad452fa6b3269690717610de844d0155e4e7f2147c49b060949c6ff5752ef1267a79eeb6a3568cb0d51803cf34a83e6e2f19196f86e93bf14b0e1fa4ccbebb46a903397658c8f3ccbea83247d8d54f501c3bf62ae75e49de13c875cf8b3a7fbfc8a7358df270b69493458aaa2e9f02123f7a6adc8ac3fe6c21cf347073037aef79e2b768b76222d54e5daf4978687b08a26c97013b86a0f6b8d2a407707159c910790cb9f3cfef4e8b72e82286c53ca8217e09ae7feb96176984bb50734a2316f5432e034d7ec64d3e0af385f1cae706da4f2713e3c81b7d64621bb29f470ff08691b03361754139ec9afc15feeda548f0433814e820878cb270a8a12f41d9f9c28eb1ebbb796961a2b6d8d784632bc305f46e06e8111f7b598faa4842b265563e02548dec5d404317d92c350911aa414494b7dad16dc35000d6ccd65b563a8f425469bdd158995bf164df9c0b61195f5d11cbebdb562049d59ef7477c6c92d0de3fb90cc85a0f3daf7cd61ddafd613e062fccc703295c37f48d966191f74187f8231b18f5c5c1c68e3b2f02357f049c0164eadc725744cb359d8d44655a504c94a58814c3be1c9a61d3534db9c792118638dca050b305b286ab2ac2210d2c6dba4fa18938da167174174aeb6abdebf291cb0d57bcd05932fe9558a47e03b418d3031870fef1fdf6e225ab43d49ce9c5ab1c62c1c696a7ed90870060749e0619dc9afd243fdf770ddb4eec8419065e657c5b0af969c2b94402b9d512a6994db55100a89148906e52f23cf5196a05caa9e3e0f82395139da75dd5495977a81a957f41a93356714b18480716f0a144c187a7b10fcf3d8ddb0c4ae0f601c20417e02f3571fc033aeb57a10e9c2e049c006f7f0cd9384459b1fee621ea00b8cab763ee856f697c62ed97ccb6fcb9c46fb380ca2a8d60f7c2df1c128a6fa0cb8b007aeb60013f9674a7ae221c0daad9452d0f3e192de56716839936f1a539ce266c0dc23722f6dcc40e32183facd96fb798f844dcb6bdd0ef7ac7f15d854101b6d7951178421773cb19b676e96158a992c5cfce0acbe094aeaf3c1217af0a6f092b2ea6436886a60885ac9ced3c57606535985f1dbda620d495a7654079545dc70627592bf22d50371c6331d96b6677f25b70e831f17d7921be48aa1e33321230d413869ad88abdbd712b8f8c9529397bceaf427bd373b10f00bb5207b540988e0f573a8ec48724645bde5ed8f86108da63e377632e6acb94502fa15b00afa163760d7bce614a2e1236e620160cd7673c0e0002c3722f88c4a98f981d6b0dbd21957e5ff2ccb2f1c1567b19fa0470a66913fabae64078d970ff2671baa935e71f70039af6f741c34ccd9e59f66a8470b57dcf8b39ce362f08cbc0215a3d7c492e1c628b2c372e7ebd338babff4a4e9754ce4690b1267cebc0b7bea27c79ce5bb00adfca37c8c3d5ecc9cd16bf3dd1a56c221576ecb6491d18fda7623047a31da67fc8f5cab8e30697ada4316c92edfe952da9bde307dc232b2fa224c6b6769cad1ed95216135c72300643e3e217377a51d03520a857912988c88c4bc30c4cc6157194925fe1e35edec0ddfde057248c07e4da94dcc9d089d7369b771d89c675eb3f74a5ceeb7dacdbaa6dad7485e52a96de5083f7f40bfcf363d99bb9803e1347f2d97f8ffcb25d91723f931c557b2ded8d957be5dec3b9e64f586d0936391388e6ef179a65c29f19a819f6efbb0f071b97da4725e0000e5aeb38dff4b7d65ac625df80ac2b4fa8f5946e6af11cd47d08c76c25924ee417d4cac19ac54cc0987bd684f3a62ae678dab24e4f88222bd0ccb11cc178abd3cdcf6099a96e62f1b8b7e4e7958339a56fe279f675c1890ee7698c1455048b73dcd1ec567630b0899790890bf07127231aefe71b8a7624b0f28d9706c22f1a739bf0d479cafb4da3131b152c4406fc82cf6ce1ec8333125d5d237d543e03fba915a3f96842c4a1fb062f5f8748914689446867c5bb74e2baaa6eb8d5c978bd3f3794f783ae177570c748e42a6d00c242a8cd01d249894d994999e7293d3c5b66adac524e06b96e2d18404c6e4e4c18303e505db727e6fa2227f167108c7caaa0ec208268bd5f86f21bbfdcdedd7a6c88bc5b8b7f1bc56f195dc04fd8436e1cdf6ee4faf28a8ae39856e1dd3c940bf26afd143d04514335b425e19247fdd30f6942c986c5983b219c125cb973e1a0b35f8a8c37b84ad88347537a64d55f845ad802125fa4938f3eba018f6fb3dffc7efc6740331ba170272da7964209ef277464f9adfb66b9e120514025a59cd2de2e31dd4695e0744f2c17a4a5ea15961fb457a77dd0a42ea09b481f11537349d59d467b686813b5569e17ce7503093762cbcb89b0f818b8bd038ccc03c3c8c1a774dce67cee9cfbe7119b84794174309d4d1e765f3a81b50998750c4cdb7dc32a2af218b12d2f099d3285e4bf608163d952aa1a7c680445476af28a22229e5f25653059329c0378d13ef74962fc9c9dc97c26831190f13bcc13e7357726a2bd25119457e0b8420ec7fb1fc23f1b8d7c70a33813b888031d75482dc4ba9c64bff021bfecfc00323d95d985b2bb32879fc43e271edb92d2c6e973503440c4a8a4f2cbe80f64b3adf3d7693d978ec80d5cbf4a2282989a82f6580e75ed2673524a91988c8f1aa9c1d80050545729d174cdf0c8c4a824bd61b07de7152ea70c94a23d59aa259f73b58eecae89f9dde6925d9a107323f6ede7f95217f75b3a1fcc2f72cf1e128ce43071a604a97fa202e410bc77554f9a1688800b68be0f118d7e3865c2b27bbd2a779882e78a8da192598115e767f83459e3a29fc8728138b43feba62089155115ca278cf4c9c3f3cdc71332b1ca34b8ea44d1847c7206c2a1579ab604a9f9a867c56ff64ca1a8e4c3db90e94b4ccde1c86640a689ab87cfead51817f2a003e58d060da293fcc1dea320c9e65612c89e46916d4fbf97fa41b8d5765dd969a6012c693e98392f2466b27650a8dc101add126075d7e8b726dcf597a3e500590520d751a37956962cfea470861b5b1dc193fdcc5fe67f5b265df832209c665e1d929e5e5c7c5f4798bb3b9b7b41bdbb64ce8541e0097ceef0b7119cd22c86c5573b7c293323d2104c5273231296f44e724ec421ff5b5002a76323462790f661e91d1477e8156ca8f72e9343ebbe3af98ebdca7b5bb5e44f29c49571012de769c59041cb9fe210ce9bdde867f72ef232f7025505e46eb678cbc1d4250735634d51efa82167ec86ee65d3402e5f5800d1fec0eec377740d2907a60273c5735bf8b6d95bd159bb3d7fee3b845ac0da24d357ec4aec32a7012a0f48b6a1c21259ae6eab14625ac9c6528b450236a57141c6266eb0199c33bd51a8ecfd8a8f073af199c0af3898beee308b6dc7b74dbaa35466b88bbfb4ccb60d71eaad07b1c14f33f1471cf9146c3a30397e2d73244adbf68f1f5c87e2901f97babe1db1e9c0638e07202623747ef7ec0225e258b1eaf8d8018bd0460f13b6197138df3d308a8d2c817d379f1636759d671a5eebe688bcf8193820145bbc8f752ca7c75f2dd17138a35a70046088364e8287178b94f878b934e7e9e2a7d8c610a04e2f4013721e17d0acf26ca6271f700a4fc0b5bf7cfefca55c3c72a31fe091823375a93d3f23103503eeeb277d0067173e873581256d95a911b819ca4bdd30f7e56c24564f792ef8ca7028fa44cc5e3588adbec05cf3787684b416b54130a307d0d2817e6739eb5c9c456818fe92f02ed4e43daa1f07199e35269f8d46a315b8f1af23bda30791cc5be37b67a3ae585f3e98a68236a71f1a64171a1617261e30096bec730a0bb07d92eb63bac759fd92bc7d89c544b8fcda6c9e739587c4299a1157faf53a0f81e383ee2b6a749f57b29b1e54dc4deb83733172a6a309675afb2bd0de0f61fae53502b7e03d7ee37bb33ce4ca51da91c64074eab780877061bc6b0b2379c2d3a8e621ac539ac85839511d3cbb67a162cd668f95409e33e599fdd7fdda940cb21f205a4ac8ce4ef3cdc54d70e94770916c356b7d41b0ee9665bad4109e87a8697f6e8d1fcf4f5393e25c01e0278f5cc6eb974bb3a38e561ff8f47973a28be22dc00a041ca176822b798c7971d54c2bf69da815cfb719fd40006dbffbb8b00dc9dd53a98c18e2b047620bc5e834ddc4278963ba9c7edb497c44385dff52d149917c72652d52a5fb0a87a8ed0dd013ad7d59a4df6102d771374f495698ddb851860084f8eb72651f7683ee5fe75bd607475fd61332f800129fcb4063c54d0c8d75623274fd9799070e003481a1f9be02e66081ea78229edf91bd9d4e0a41fa6d6335d4204ef5d1c3babb5f2a4f18ee205b9dbbc13147c1dd6830abb6a856f3ea5b197ddb3491ba5faef7b8683ee6e19f902fafabf70d4754f37eddc8f161ba06c33c98b6fe2bd1ecedef0427596f8972fec179c3496dd0fdc8d711347a2b19463667aea428df7a58bbd7a06d939ccb7e7049b8ca945b79c1d2489ace0f81c65528068c57289727921cd012b0ae17e169ab852031b8f3e18561cea8a21e1d0405bbce505d0720edeb7cf287048589b3bef74ad99e37d7908fdf52a84ba23c0217d73aeb440baef3d119fe1ce73c3b2581a914391ed4fcd1329fe7dcef7d171cdd58729fdf60976b9f4e28516057032be273be92554eedd5c8c44b41e20bc95aa051d3f2f5b7ce7db9de13ec73c4e911c2c975fd5417dfd4364119c1266241cfc1ae2c410d97cbda1b7ed446295c6e209e5088b4a1319332be299ee30bbf4f10cc4eb62f67a9eb360c524b963f5c90aa44066b715ca3f633ea3ad6ca763462dc6991c44b95cc7afc63f252258bd145d0f735c346780d59773adb39164c903c6c974498d486751f807b4a9d570fb2f217cff409b52ae7f0abd481db15e2426b80135902e53575eac5a93839e69db61262f115cbdd01a87485bb330866cfda5783f15b0b2f27b0da60d4d36c024275817a536a6a7a96e52d66fdb62e640a44c70da2828b029e537c3bab44bbcab3c50b8f5a547a2047ed1907eba74896783abf3a135cbd650991f6ccd97bb314eb46d44199f3c24e298f6a4955de1ad8407900e057bf1561baa2d20569524733c5af125dc6280bc1f92fb85a248a805526ec71496937f27cb0491bc1fc92401cac528f3980074ca1dcbf424d8250f5bd8be1c5ea1da90d6c2b5603a38a020c13457d74a2e424cfde27f539f4e1940b41094a08fb909354b56e8f3ecf5d8c19671f83ec8362a152c46df53234a422060b60bbe658dec8b97804747f0991f89cef380624aafd9b60a70c5d1953752d38d15301787e7956d855c1eaced5b67b527c990ae4e39f0e7ea4e9b3575c7fd364967c4c6890c400ceb0af27675d03f58306a8bd52afdf6be041252f97c2ed20ec40e78b372a4654bd1463cd480fae514885936109bcd4c90e404dee853115c070eb8ad8e95abf7973ccea3fd347b0bb24d806745c9fdbd339cca2f99b526fed53068c948784c2b8a4e4adf26335efa7f5372aacc43e3a6cdaeabbf714c22b1d01237031c2695b2d788bb59a7baf0803716edf89bfb334a0571560ef56fd0457367b90f812d9d87eee3977f70b5c11455e4c7eeee2e80904713feb82beb290ac8c133a2e281c42c885db8f6c4d85322fc999f60c205dddd148c92c8c84f94bb47cf71b8b81ebb5720fc3dfc464d7d770c4e6146119a7bff035d552f80e2761c2dfd63c3356f08359f9ec94b1c208f9aa78c33209fb932c517d126f395b6651a5b6e5ef74cc273e9b7e1494a2ec6632a2694bab5eac21a2493b30d996d2194404b0d16dc79e3f3b17d4ec5af1ea3798c4cff69553752d7a1d63e44d63a7d65062e2b91bad11ed0dc0eb65c0c36ad78b9d7e1e4aec2e1a1ae6626043d7b08a52d3e353223916b42dac6ecef714e9d8a03f98587e6558f22e12055594a42cb267fa5c3efb96f787453a582babfbb8e60cf6a1a26890091663352a6eb0236e2207f0bdde91debd3eed58027a9b615fdde526e5978081caadf6c16c9e072f90614ad37e0c927ccf7b4d82bc6481fbb16b13195f7f6bb941f6cdc8a102939381e141feabc3aea5e6fb905ec2238a6c3bb9d2a2e7ac8fa9c166af751be0ef3643f26f6d9bc024e29ddd83cec9f2e2ee740b0cb93c2c93da3c2e0921d4970bcb8afcd977fe294c0acfd6924952c46d2b1e462eeb9b71f89ec38cffc6919ca9f91bb78384c08fe2bc2e82f039ee21b714ca6c248247712f2040dbc0a7b177a0d726d8e9f0471ac2aff8dc502c2161200cb8c5eb721441e042240ab9511bb2ce53f2b2b9416ef44651b315b91f1a3a853ca6936aed138c8cd3bd83bbcb8a8e7efa5f6ad3ab30bbf0c76b3439d5190666406eceaa53df985a9be18f8bd124a28241e742bed75ee8e17a2a4b0d3510bbe4bc54e52243c2afa5fbc7611324b76965ad267c5d3b437994bd0328cf7a518444838c1676fbeb419354b951ab6edb2267cff33e52428000051cb4aceeb0c20ac9ffde1f5ab00e4692062fc264f4dd657e7a1ee0485219114d2f99157f19ab748eb7042214574918d554f663b2f517fa56b3e99c57611c19250fd1675c022c7a7f10b305bf5c1a41d26f1cb98ac1df4c1fdb30fc719e063898e793eba5d8fd0ede8a434413a13dda41808933dffbd5461316a0e46490e301368e535b5dd6a46881eb2a7506f0c917a9777ca98a2c67390a71047c027f9ddab624e2a3cefc80d98f667c9b88d5deb31839a31884b28d493342c6d645eea9189d0fb338ad6bf49787c09bcfb4bf2b07e300759981e95b5e85a4cd8b9a7e5879be13599a8758274efb9c2695b2ad436c890f264d473937d6e10fb2f6c394b41adfc4aa7b09cae3dc6e2549ecead6e3ca0b1999105b07d5bd75a8bf6b83a7cda30d8811b73c010c3c05a0671d981d9f913c36fb36ce60977e2733808f5170cb604be0499d4cd7855b1e5668b0a4a74060095c95094cf318bfcfb7b2e56ca6b1d8f379523d1d78ee6b1765ee075363b190fcd5d94d9c1959611fef098c7278f17161b306672fb4c3c9929a7b3a16e007dca3e90751902b9f0ca22ab9090626dd7cc89c350799463a718e9e0c95f06cd31bf1103728c9a82315613b6dd4a023f8e9090f8281faa33d56df0bdde7c88488c9f8c3218a23bca22b28ed4287a8dccb3ead446607c667bdd15866f671a06550925619cc692b0f360e7646790445399fad881c5e8b9e86d48d59ad67b82e0f8166460b1a1b578a8767b2497aabd5b2aaa73b598966f5da66f568b247a2a2cb9acb14da9724b70abc7b73369f9e0e7b2813a02c2f048817bc501a44dcebf5749fea078768df8e2e1f9eab15366cc02d7407de23c97920eb15a3f01150a8ae01c2b0e5b1957195ac40333ae35b0000a11eb4b2752aae6bfc22897a964bfb8a54c1340cd767587919c9a065c354f5b5f320e3790e665de2f7bebbbd9b9a89134a833a1d10bebb79c0c2947f2529389270bab3e0bb2f807f5eeabc483ec252077af7fc75e9f15268aad13686b32cdff67a75d9d4ba32ebb0b3a38544ca0a956d08571d28e5a3433af2c7b251c49f516eed8c7b2207812d5eadb2d4b8f1859d27de6f9983e247851f760b9a1684fd23d10013aec5e34fc587918050bf21465bd34f16fdd9061ad44568ab7efad3d74aa56c538fe90699e3c3f50024c2b24d176e16aec1b13b68a19c27e5264bcf774dfb836fa448f95df133a5f55c994a5633d238633f692c0c364d6dd480c8c0853e07b51c862dcfab5f9d9227df1c596c55964b8054161e1482ce98758a94ec64116f00d02ab320ec9772fc066a010cb8f0d26bbb800329bfa7ac1bed719c1f2c90e9cd49396dce5d5952caefc0aebf665163982d72d440821af01dd9d809f2822dc5434c4c36f051a4c854dd80b2917e718f93b144e257f11e6bb94dddf682260ea4fded4765c83b80ce89770c74de627cf4c610f994ff5e05b12d17ed49bb21cc24d2301190757c9438641b56442fbcc2121e74c915bc138a80881bbb3207adc9484a4a58427299ea51ab4453be3efcd282907b94d6f761e11e0e083019b73f98937f24ab49e2bd3e962674f0869e7d51156a7dfd1a0fd106c0893cdcabdfb65938933e877302770543beb6828aede6f4d09eca1f1c54591e723e3a4cf8d5f647b3d5dc152c0f54b89d0b6f379e85307c0b0cf64e6df8f0e595032356684add3f3e9612bdddcd949c004506dea530dff74cbcbc857580792fa93466aadb8946f68ed02801bfca5363815ba80c17713ccdaba5867b72720382af9822b153baf4887706ac903011720f037227a41eb20d61bb3abd678ca8ed1b5ce2e3086f2d80e90631e1fbba69b7666ee4aa067ff843d13c801279d87be1e0c64fd76b79d174485f9165006fe5284de6494f82bcb35b3cda82ca6a99ac50cbf7137c5e7e7c636455789cc7864f7caf3567733635e7fbf59458c62e16aa3f65f0ad53bfefd525ba2e00fbce7e3e5053cb24ba1f12f1b419a1608d47c4cf2e491d6a02af5d35ab15355bf3acd3ac93697ba0a59dc428c0e62a1255a69b39037184c7933570736198e7937cb59a9c36ba59a174fa1a6f9fb7d94f63c29206aa4f7866207ae548b6233ad46466f44385f12d8368b0132f19108f0a3023141c942fe937ce07fd9b8b0d69909bedd20383ca24f0bd363dba8d47b9c126c3e71aed3acec997fc56715d6f1dde22b1369d0cc7ad71b570848da5f99dd665aad8654ed1aeccd6c4b77cef14f06deb26b3de0aad3ca69c5fbc9a0a81e2f18c527a13282c632cb5d872b80f777ed138c9b09f6304f2dd43db6deba528278a2010535379c2d84a02b9355ab0f876ac719be14ed7538b9b32da9350a6ccd1c5070ff9c3590a88fe344a07d86fb8b299601f159d25a7afdc14edeea9ae9231a7b987fed03b7a962236b70c7b988fe70412f6ba4f2875475f450d1b59bfd618128fe29324b90eddb44fc91986435e60d2877467a5aaa45161e35ea5c00ce65b2ee8e0773620a0de1ac51218a5b8e77d9f695a536e388d9826adbfa116ee6cba0e1e976eb96a4dc786c385349b5915c70021eff8544185fc4e8ca000d1da5af3c2560e8a23ce67ad40e802415b493ccb5b2fe2a02a50c7361d23c01099bd4f97ea002bea31002bf3c3ed828672ba5c4e32f32421b4b4a412c54f5d916f3f607b8141395eadc5f946bd7638a85c1436f77d4647d224421e05cf52ee22ed9cb4a9446eb3cf1df79c2c8b3ea9cba104deb34c92b5aa38315478cb2348968004245de12b20914ec52cfec053baadb160009a61f1646658134f83a3a386e02640e359799311b5d2632312edca499a476ca260334127e829465c7f26976aee5225920fffedd5fc68a8e3c05a0ad03276d0261baf60354e445575a0573bfc0bd9b840e4c2c8176b67b0ff1fd8f8a51460cec8c10640d711cca6337c08fec0a9f98962880a3abd8155669af89a7776d4757e46169b2265caaef9831ae4e4396d6ca2112cdb9e902d74ddce70784e432d7d460b20b883b45aea285b3e11a6955c21c7423d0cd98c3981c8e1e8349c4201af918b4d136d9181307f7eaf32b04c4c9f1a2ab1d2e7394874cfd63bccb6c06aaa18c7f32ff0176aa3dc791e6806eba8529c64c9ed529ea9ea16dcbdb27d57af70f830f8217e7272ca1114feac8c5cc03a0bc0f9453f6d8726194e73eb4f96ef5ba95186146f0ce9f50befbfa96788fb8708fcedc505b6d27556a71245fcba7c3213af0cd7fb185ed05544cd50e54b984656ebaf150510f9977ef88b4c37056d2de278f8708d0105642d22d6fd66621c0fee9b362d7e7a1a0a6b8c5b9b67016ceba32a79ca7c256a4482b82cafeb47968d6fc6d493284099d481a79a78ee742bd2c104b18daa48ce3f9bd69e2f139472fba475cefa400de7b154139fec377fbfb65f02865fdf7f896bea4adc7970b01bd3a902d020083d77ea42a9f1c8f9d0bb3cc50f712fa740fa39eb76365e2554d15673fc8869551f27e45ca124a729df6f003644096d0c792ef85bd13d5fc819617de9d315ccfbe6a1374fddf389b6517cea7c1e27670ab7bb1d565715a37a2b2885bc768d9f0263173cd3b65b9ed7c4179c987d88c7f06a97a51cf82927a075df604e6639ce061026405dfef7446ac3d2e11280e74e22dbcece6f8faa341ad4e04fb9b8d028d08e30c318c57481cc3ce9c0cba17547c05c739000b1df32028445f5c4c68ecb94c3ce730cf0948d0f0bb357d53271e34e90807e9459d8f3742940ce3be4da4c4a45cc20472e29ff46d3c731aa6da78b28ac3b218aefe94b5e96a2f399b2b51668ee6fa6010e9d6eb35b2a7f47b45e73d620b77312bc198c08773565be4c6c75903d3f786fda618dd47d57cfa1f41ce119838b7aa774324eccc733a0f84d67dc390aaed5569414265eba0ecc54a6197d6e1235d88bb5ed337f9643f9db74325e6285ace07ef8dade820acf80efec369a46a6ed1846c43253c6791d7c9062b825bb3c77e389dc4452372a96c90b15907d6d104a566a9d9c938a37152ac4af8f81d19e74a70b37695ea94b18a7dc3a1364f15edab6cc4bb79047a28c578990840726625fb4a35b6554bfe2c7ab74f1cc5146d6d2b3bfb94048b3211e8aa6690feee783f35a28418398c43202fd4661eb51a06f2c0c7fd3a2b8fe2c445dabec926c59ee3e217e03bafb31850d45de07b95515843115882d9fa07190f12bae01df589a9b9d370987ea69f5d6daaf5b9c98f33e7ef75878e03b58c2704387b5dc2608cb14cf8727133c2b60891ab793cf01c2995333d08390ef761c4c4d965e5bb8336a249372135ab513fa6afc67cdcfce15783531d7223e57b4f7be5765992a3b347434342f23f48bbb47921a06582c7e9b8832c1b4234ac547fdf2babc9d61f3faf0034aec47e6c10921afb41a45548f7a9307a68de1291c51af3186b435c851a097434f4652ecfb4fbc59cb7a6eb6f94bde48ac1e03b05dbb712705b4aa682f0f1ca19a848a626dcbd0b1f65aa323697c1af57b14fccfc03682da1fe09a9feedea14b751a55c2739d4b029173bfcd3fb2fdc2a65ac8a2961003f4087e865579b0a2868b07560266696d5fd72fc775f8669035f9a28f036a7ec927fa15979ddb8f4e309c9e26afb3c9914f5c4bc141a059eff65e6ddaa0ffc95b3fa6e5ccc1dbcdf7738233259b93fbe6341e986591f5a9ae236ec50ff351e3e02f6ed1942110df07fcfa2238acb59067fa87ee125ddda00c57330eb6207890e3bb80a66ac4b33070b2245fadcc580e8486457e289f2bc3db7a408eee8b178db368d9b5620bb4129fd80a9427bf6314b9102c870f0deb206491b26b2d3d7c093ad9077728075ff539b8a1a18149528303bba44469f0945e8bdc40100c9b99374296f98dd35507524560f12a2b78586c27f7f1b097d93efa1b2e61650a3d1afd2226f0b5127d7f26945f88694113fabeb371889ce3bfa65b07cc5f5bd74ad718283e57d90220ea67917b285de4510b6a10c79cfd43e361bfe25ccdf9bddebab4dead06860e264fffcc8b3e7c053212df5b82c601c8d7066cd8b266bf3219de32e525785fb90141ed57386de21e2236367d65e56b78c4a9a335f6f07190a145062028cba01d5f685d2e883a0963e38a13734ec74f9165d9b050b085057d658302b01d8fbd0fc5966309554bb30ff694581b35fa688a4b95f4830788123c9211fc78fd305349a2a79b7706481d72adf08db7d7995a5a7a059ba47f9fc5cbd4d3e82fd552e238f72943c8564b13243ea05533dd4c70c693d5efc665b554af242d6307cc2519635663d33404c732973bda010181434d7bb837e43b864cd1d52ab11508bbfa331b2c1fbef8168cf1218447c2ced44a58cb90ba0e9cabe3a273a2b05666cafbba607cf6031bcafc7deb3ab2e7e15e32bdba2fe958efd8ff0079b46dcb8b8514bd6ee54a8cf24b1dcc7b307c5bd4815fb7a3ae6931d8f17d69eb354e54bb719e7b7ca7c606d205736ec2ced92b7625e62aaed90e214fcfafcaecd7cf52fd108b1c25c697c05c2a5529785de1cf6490228bf6e5707babe45ec6a477510e6055c5959329971523d397a0c10765501029117dcab883fde34dbdc1fb7f7bfd12e06165af4b6e8d930646edf05d697cbaf15395cc0c339da7a8e0efd684ef335816b33fce988671066a6710ebc793959c89de7c6a090e84706a74b20b30767e16428809e5375ba1a8c9d1c259115005943235f41b36d70452987c4f04ffa2af85a0df322c19d2651878e3915ed5db41c73611e47eef9ad78f890ab2590d5edd001a78a9529f24db2976e94cb7575cde086cc0d047b5097bd5c9634766a2866ac8be0d32b8f273f741013a47743f8e6473032d2fa1c4415afcc6d6525fbd06057f878f5ba3741112d1909916350f7504f1f2ab25ea8e2f1e9ad809c38fcb1bb9daf30db3008fe754fda3b8ae8d2c040000881644805b887fdc35c3dd9dea6fae899d7d8a7d27e7bd29c8bcd32733f89ce427aa2301c42f11d3ad04d4760a357134b76a8cc91541fbeb114e4eb88c2d9df87b587d96352def141ef74d5bda1c7dd5dff61f3b5ece9b45763621eaf058c0d0c93770f033dfb652a36ef136a63228f3ec782991854dd6a89e9da261831ce405a124fe14b710171afe351cb09d6002f2298ecb22614be29b3c4a86272800b3f3569c987be1d223aa0d8b23e3350587e7e38407e761642845227c0646b09c707d4f47f8d6704227a6044018427f9729c6505f180a623dae56b5cb31ffb61dcc503ea8355872b41f3f8e63544ff1a1b14e34a5dfec8fdbe7454ac420ed0e27b538a5384dde2351092e0a6af01e88ca880eaa77354bd4f994f97da9522bb2a5762f415df950c55b57ec63915a8e0dee2dc43375d29908d81a4f870ed32ab027c975d96fa516e58b91e71a06a476a754deee0d956a1f1777fd4e06ceabd60358a1a0769e3848a07a3a466f226dc5c17e62a7c455ad6ce1aa089d3b9f07017f6c7f59d948a7f803479d0b9550f3919c61d471e1fffc9d4089c1e1a01c8fcd0797cc0998d423585756b4d7b8952133cf216d15e700ff3ccbb50e0b3f20f0a3e55e7bc765245aa49c163d57a1b253a7715b59111a2949c6fa967a40e9c3882dcc4f8771eaa47b2d2918c2560bb36c1fbde963913623f8587abf8b3abb9133ad81cb4bfc75beaddc271f4bdf656c08b292d0904678f7aa463c5037e37ffda6389d6b86505b7b26e45eb1a936de729eb19fa43701526768fc1b0f3d2119190bf29f253d4be4fe84871b6f86b46766c763607fdc55cb26fffc3220242190094ef193cac76172be9854d0bb027a17e0b53f0417c54d7479b9fee495d5a24071475f05d3b5a9f4534da4b08284160fb02f541e7384711756d27f64ad1bd5ad802f78f93ed34d9ac5a06572ff447d84bea0aa0d62a187e0e02d7182217827ca201ee25035d07e7e62d977bf99f940ecc2b527a28bdd6ce302c287fafb24a4a6ef52115321e6aeaf1e4a1f9432a009601fb9281e5f92e961f895caa9c9b0b912e12c5213ebd69a2c5d1d959141eab13787b1d2f16fca08e7d8f2837831b5ca90ced6d6104a77278d6f1a797f26e125916c7810e38acbf1d1b7d595c846efd6db403dc32dc38e820668e1d34d22505b1776a316845f2104a93d12154cc265b9a2b1c989ca44d761a5275ae7f1642b1b4d092b3034360da25015d45bb764088aecb109af0d8b76f480e9d8f779fe8223b3f26e6267ddf59a623996d91deda17885cb13825838f093d77449b71fc1812bf533a0afcbd25a61de96898b3bb6f3d258c1f6297b8a8ee90890e7e6d00d966181757fdcacef5b19266fb20c614cc66cf6ba5cb666283b5359fb17489069d39c889c06ce9ed4c28b56c809dae8296cb303fbbb198fbb429ddf67e6ac0c308a787dead9e4aee61b7ef8e086fa622a3c1fcc8347562442ae5c44479d2c3b5cc9a77e7a5fde87865dc5b723244c306bd202f991b4e7bed0965aec26f9b54ba8490bf98dd4a66f870c823fce420470cf0c71e6a883da980772e7a2f10d5c51d12fdf34174819bf9d643c808719adc02d4a18c8dc79b2b33fadd39e993b211e019ec7a2348504ab570d22f885f6009874199fd81938ab92e6cbbb070b2d27d1c61f8efe5c293b3c3739012abcf09fa42376bba8188068320d0eac2319447785215f643ef6d9b155a7b0e7d9d55d7657226d65c36ed1dc7090fa9152dc4df7ff4e3031d46d97ca2861a587c3938eefdc4861d2bdd8c10ec8db75d3eb652f2e3498704702bb73ad3907f36cf17cd30e3e6ed06d918b8e42e0fee9e4a1760a3af32b8b39e85aac9cbfa8c57b4762e5c04ed792876b1ad5e67872f0a4b4d19cc26e79d325342ca278a8726e634eb18c199abcc04323b42f028b7c6c9387a061044e4cc1085bf982397e313c6ca2327fde6dfe6be927026d29eb4aa9b4c18607f503820b50dceceafbe970f0ee4ebdcd59a7badcd8ecdcfbeeb97d39bfd6186227626601f48b8ef393e55e3dd151b7adbecc225de314ee7afb148b7a92539b541e8f2c3f49748ed9df30349c81671014f7516336c74a756f5c176faf40726e4f816457f77f3fdccb4d1943baf10a6e28866d90d6b539ba5605e0e7a3e83d3d077dd2c7586a306780abf8e9fe1090cbd4f9a2a9637f500151ec39f7545dfaae6c6200cafb219580d57db4847e2ae34792e65921a65f3087b6fb03992e850fe17c8704124dae5517513a3092bdae20e85aa3c2f728dd177f4353ed768974bbf0b947b9c59ed1f538cd969b12a4c7974b7f6c966e60c52191a0c764f07d28aba23f8c760f8cc10c724e5113e543027e7b25b33eff141f408daff54290d4102e47e9b13445c2f832612b1bf268c7a06d77c9f9c928e864be960e2076e8ef152eab0a7cddd9832902f4d83780a406a5a589bf89193a7b0c08d68aa4e34d7a82ca1af1652457e6cd40ea94a0301d0de4e283747a6a2722e6aeb54d9c4260c0406fb8652a5e11641ac981b2ac8899ace64c31ccfb6b2a25a0a9e838b1fdcb8c1ba8cf5bfa86979e460e2aae0b44d304fc25d096ec04829a5673a511fa49470792cc4e5ed5372e2c14651835fcca64bb0a4f3373803ea84305ec6412c064ac22d653765cf83dcd3557f1a41b7cc305ccd2d9d8f65462debc1b823944ef9f79262878bf42018f1efd5be3e86e8f8a28063aede6c92c23a91172c76a2a43fc3209ba4224b946cf308ede6cd928db1ce63b6794f6728f0c9e303728138257ead50744852d61890d0031b5ef60ae01100e400f25eee14d60a22cfda497d273d4fdede3a2b9718e40eca22017b4bb823ff42378d86ad359e58c9b4e7e62c397324945b90f8ed4ef6c0cd0af901a98af1ffa91fd9e8570357df6777f79b8824907bca07e91652fe9db31715d738b48fbb13b3b7a8b5b09b68b2b5cee343262caf1ce63ae1ad36c95b205646528f43c1f936726b728b928b3ecaf24474e78c0c0ff214ac759f13dbcfc0fbbbb208a3513c9a95d413c5d9f4b6e176052e83aa80c87629584d465a69a75fb0e39d42882628589501d79c3bc2ddc66103dddaa2fb31554e5f3135897fbce3de62ceeeb43a47e086546b6e81ada32c12513a70964e2c0987bb8cbe54808690b1a59aa3737bb617e722f32390f85d3234b0e0513405311d9f20a4bf908b9524b16cf6cf24bbac96d28b8d1888d950c1945ab882e3b230050d6b6b53737cd64515a0d79f4b0e4617371a1194466c96c8e019057bda415b0f1abece862536b9108b0ff9d7446995d40844504813eabbb11ea9197c72041b4b56a5347f5a379a8dd81943fafc04d039c338996d522e4489d235da2ab9ec3a69937434885798580e352740ec0562b2702685986d1346a795adf79d23f9a413ba80294b4e36679c9e5bd7b2175c5456560f3b06e5b4f4003c055120ca8b28e3b9b035312c1b778dcb05f293ec779cd3192e68476ac329dffc602207d6f73a2ce606a12044977aa20e789745ed0f9ad18d5fec4684dcfb34839d2f29910db28c999b40b146336676e0015f99d169959edc4c5a963ef1c247f928ba04e881d0e7295d151fd30a1c9744bbec1c62238b3cdb0b7838d2f691f7ff424efb13b892a32294aea271802f8c5e78ef991e8ab972f87a81dc2cb3bd8d77e87765acafa59fbaa167d41825e1178b091db4ffb1c12518d023340b9fe4895e5340ad0da7e5cb598a36c1e0dd27d43a823f0fc9ba5e4d045c86b0b82033e42d5647e78a8e4ed08d56e3c2578fc6b1f78a24eaa5d3f1a2c6908ae354d8742e81c746f5b08ea3da190e01711c7ee5891023be812d025a5162d000be4ad5b3f0fc835f3f1ad49baea56c6767871bbafcd6e00312bb7d8ba0a65fc267970fb735fc5062daf53cfd0885cbd62f40e514ef2bac52786eff7b04a0915e03ea620e816c2152c4492a3b0470bd75af851beb7559d7ce1baa4ddecbb8233ca029d6a069f1c0e8142556d6b2573f75d126229fd0499571fb87f8cb00a6599e2abbcc8abeb353799f1be3da85f26569b44f25488bbcbefc1d0fec764e54016a81b9ad7889d26ef8a795d194ab7d224629470415a19f6db99433f32d7ef6eac3fea3912b8c517c7ee712fc9d0d7df591cdb5557888210b6652bb6c583fc3469662cd9a5e5fa991c1103a3b5d71e7da24df967a7d6efcb599a43207c7fc7ba226ae6f95673e5b974d36cee0f19303bd7ac78e97f13743c529b0fb8e789bf4624dd4acdb3c0a28cd197bee33e5b9fa95fe7095157cce9dede0c3b1c0a06f118f2d1ef80cbcd368336039e63f075477e25008a29d0d4514dc77b08ba6260242a749a6f9145c511bd68f2df210f3f8d1f72d2a825cad48ae8344caa8d07ba60ed514e9c3122042d3b3f7336a7aa3a45fb00095fb2e54b2f97ca335d2b5d9848db00070aad8a84dc9cf673929421dac2b0910ed385e11f219246d4f2d17021dce854ba2575f60d25c4145a37f828d82c7c47f5faa864c2bb84f5e36f7268ab202f6b121b8528d1623a384c79741ac0d0315f3611094eedc03eaf79a8aaeb629a7b3e0e0d5b1a9fcbf1912887dbe1d751fc5a3a028ea44e8344d705df1aac9233e7504fdfc27c070097b3ba666779816b00842aca4cf0bbea2859e094e621d301000100018f96a40f0e253bcc60c6546a133ed0627008dcfeb6f349e2e5298daa2fad9519482e3fa25729058c6d006f10c951a5ce90a39aeec8c76b4ea14cdd9a84c83e7584824101b1d201a79323fa03749e5835e4779e160fe88acba2423f0622ded53d69693ab7953591881f6dc2cd57e6ad901764cf07b9ddc8fbfce87757d9d92485bdc362b5561f867eddabac9ff82250fe855e16a51190f6dba54dc11badb526b845614ef0c261db553adab89d94df525bd83c27d6b33d2b4192c17aaa388196ce7610381f818d499479be4b830e5f2ca73c7410154aa8f96b9df105c4d05d4d382e0511d2f7e4f4c511e65d4d008210834733383bd12bcfa23850b3b4f6eae0825c20392dfa753455da9f7f0d461bc77e4893dac91bc81702a46a0e4590b127d1e188f2954b21072a83f30e462437427afd9bd789ef19101624b81ee04bf05227bb0cc24f6f542eda1c5127c67ace9bc1ab80e9779adab7b7ee88a0fc9d9ccc51f2ed7cbd399d49eefdd97da3f6adbf4fbcc4474fc74f8292cc344be581bfc0be0e166d4fe09b90b79f302ce4effe34a1b6b6b450ada065f2ad2019cc7e0e40604ae992f34e5174045cc4f566643bee5b8d33f8f7152d1d482542e0925636638064e7a7b79b1c425be0484df2e7004bca7cb0554baac8d05c921ea36212acefd54dd2aad0cfdfabc97d35e78753a9edbd9883c1a0a95a30cc8dc394d20d643311d514bec65895c9e23461da24f010904189e7c67939b4dfbdb488e51540314541cd8101db13823b51f60cc8e469d5c93a999f5a66825e008055f12df7cf67af85ba47a8063137f786b9202fa8bad80a345a9bc33ec23227086ee8d2e25c628ca843a0015ab14eedf40d608295e25401f1a33fdf735253b1ae28664830d38a38e1816e68773f23dcf47bdcd06c7c14298ec7d07362ec84c6bbcba1d4bce327d7112611a91812f8a6d2079235d261c392b3883a9d6413c5d2c63a3cdc1466e9f833714b9a0d07fc0d9115d1df2484dabe1d37d9efdf41ba1540ebd995652fc7fc3ea3e166df7be7da6e6c9527c0b613ad83c30aa4cca2b9ff9a53ea2fc15dcb327166f1a897068f7f7b4579cd71e35d8d8ae370b26961bc33fe082bca901dc3048aff4e2a074656d0cf85b5ace78e53e3af577abbce7681487c8953b48f2f3b326ebb9bbe306a71317723ef3e5e866d70d77bfa6951a030d9ef789b77007d36a2cdb1eff82be0c3337503bb9164bf51c5044b9e6d6e92c69523bdd3b30bb19e265f50050dcfd613cbedf52cb50002c50dbfb677adbb0ec7dc54e1c7be0e2f7b506d551db497722d14b1a88ffb59cc5548aee7abe5bba485d84b6dbd058bb122cadf7a6f3808c7564ec1c36db9d2562e033d2dc965fc38245965402c84cff86a3a4b1ddc7e122b002841fc4d972e535c5eaecf6f1b4ac078f2207017f58997db0cd82183922a747fed97181f0e3f6fb2c07127bb7611a767d5d7c36ecf8bed563200101bbc73fba20370b66f202748fd898857758c3d8ae833e40ef6c4aed4fb389aeeed77ae186e5bcdb2238b4e79a8e479cb3c4785d9fafe60884877c837349fce47530d5a17519fad7108e992b8ddcd42a9f97c4dc16c90529e92298b1291fb0941cfe07db672827af0fb09f4e12f4a544091d0c3f8e9c97295a1acef03eb7ca6a3a390db310584be163f6584f0fbeef2dfda0a59677589e12ef84cf9a6ee6b637c5bb813d65d03efe2ae3d1efff12a5fc910875cad48148bde579754e0c810619068523a107155f8b5465e1755f7641dc69ea64d05cfb0621c7da4b87ee5cb0d6409bbbbf41e505a44f967b1ac3bd661749fe51392d413a0ad08f9741afdc6f7dc5fc675c4807441a0741bd5f191cf716a60b2b36c2754a86dc2d1e4664bb7030f8b777defa0fcd7a1d1b3ba27ed2815be46626368bca686a03d3da3283cf99c3d7504f799a32a6725613cad3fc1bccb36b2580e26174fa720301a1e8764167464afd3395446e386d663bf6191186554a22e927e3a4d7ada7e28263e4c2dd19f573a125f5e4e90f31b7811ec4cc69d087f012f547db5f240fd0e42c98bfb992bfb83913d99be5fb2a7480cdc02b5a12d90cf809cd3192b0e301d5b8c5d85a924937e22c80ff378d3c1fa67763576d18fbd67883e9d752ebf5392f85dce13473e324ac24a57b8183fbd6a4f8213029b3bc1ae5da9dbb0c6cf120df914f33e953e74bf5241c4049f14c2969515071139e3cf61fa20a17f4a996936a0c6e083b3bb3303362f3e15ff43d264a6ab4f1a6c5cb8350c866de8eb0294854eb33ddf9fd63b3b0c6929df08d085eeb0b392aaa245634bfa0d425169e1076420c3c65516fdd127e26694bee1e36668220e09b996435f2eb34e7926c6347196961977d78b0f4a911081ada29affab88de2d1d1abe0046197e871947a075e7478d02f914aa3aae7dce767c697aa15837f6a140e0c161a1d47025c0881e21cc6064a1260cf4e275ea5f2b3b1ab8aec7b79a78d002c1d8f723851b7d762e875b2ca2cafd5511db418d7c1f52943d3fa2c43200fe24936ff7b240bd4c1a727f67199ad2f77767ca8d3ff335d2f049a2c28d7425a01f4e5f666fd7e82097a515ae530a35358d5c2088832e16a00732601e2df1459d4ddcfcc84c84af2e20cbe95b418331846d7600f252c202c615e66aa574eb8e44a2038fc553c9073ca4e433acf39ebb9290723df90d751c62643ceb1f05a7a61f6e3d4f3ba9f2a0cca41f9839a8a9a4a3d5514e428afe3b75f9755227c47e63ea823cd6b689315a3730c45f5286ddc808e499581ff1bb090d550394fb1aff830c0d1f8fc97d29bd8f9af72bb0612c7ce978a88ef828932fc9e4372f6a435221f6801c35acd1440511f82c65f78d09ef42df01a696e7c41b4588dd5a30315bb6853ee9b039347148218b3df2a7c09e9ba4e9ad1142c9f055f5902fde0ded8096f6773196807c6c20710c39d57afab6e84d111387ece8980d039191c564a1a223e185e3d3fdd62b96a063a13d0c768a9fa71b8827b0f4f1b1971f1e06b27bcd5e96c4210d2ec864a79c99638b03fb60ce122164267abaf4f96d87c66d563b7b0bcbe91f1cd5cd8b07cccc686990703dc21dfab0db54bded34a6e4fbc79846387922af07f4970411c750595652a3dce4dce7201d2bb7a7b91003b1ee5937d353bf080c14afa277d738d65346d0fbb66be1922e1b5c5e9877c96e4f6b2405c1912942d20a33bfab0a4c9809d5758eb2395ce4635f1330cc4cce748ba59f84855507b4cbba50338f4dd65fa92c39a9a9d1fa1201210e20d46ee3b632d5a8c9f3d1daf78df2ab69df8e81b3397f493445b84fbc3f0c08343335eee8e39832e6bbf98170af69c0f3cc2124f5e1281774747b96f7913424b0f11be14e120707a0d07e07b54ddc42f6d47b43d50bf6989c7f2df37a761111bcc757d746d6caf9a3e596629276af5ec1642b54c105c2efc29cc0be902ef387ac8aee4c793e4467e0ad7e01cdc56077238e297f7d36c2eee424b0d429919a9ea35b853048c5d006c604d523787174f363c92f05d8504f9e811f9c6d508b90e4b4455bc380c1a374251636f4f60f05d7599e2005f4fee6404120e9e8238572fa8e3d2f0a7b0089f32c886bc92f46e034dd7e3f05af3148fea1d243de369da16b7653aa014e21cbffb6f92ae3532ac2300d72b331be1f090d4d649c16970ca6786915df27d6bcafce9e0df379ae592a021cf303abe3098a1c43edf6d785d42af84234ee8f67f64aaeaa86f728cb6e7dc9d61354f21bfdd226dc48cd72fc50b74c9751a0c5f840baee528b5dacf3e3df55cfed7bf3678ee5c632a621e6ffb2368657e449a27e70f3336bd986bd33e1d5c75c8aa107a8ebc4e10e1b2d96b6641d50442ed550e3cf04f643daa267aa18ed323c0846ad8ff2c7692905108cc07678d91269028832a8ea4d4880477e9d19b7b779a15d120f9d2f34f5f53c339dec687cb5f5a70f4eea0f6c54b2c3de1c3f3eef7387de1d530c1f539a15f84a77b46307b941d9bd7d0305c406a2b59a18a2ae9f7239088522a931179900a0f8b51c286b88af097968f9c63da046023fac4652631480aa6012866a4fec8b70e27042f1aef2e9fb2701ba5fcefb432987bc18aed171fc0fc02d1af1484d1dba319cad217d73b19dec59d69a5f6dc94d286e2df8ae0e6fb684f81cc2c095dc86137578ccb10997bf55030deb00f9d1d02f308887dc816b12e447dc7e96465635c1cc4b5238ee7d4f5ea4e0eac5fa61a08a8a2e32124dbac3568b469b43f168418a6e687fd58e5daf9717752671b0b35e430315cb4c8503c5ea0423a79a579f60e515f911ae862926da44ecd1ebc885d27a2a0097cb96aab20ae37665ca802c0861b3b732133a4a221767e29316526f3ee6f66e33eacce7705dd9e936b8f703fc54f4a34dcc8f8d8754ec8b9ad00571e1dc5aea405bee9fc70ccd93dd4fea0c1ff39e1a94eb1099ad814814ed7abc6cf3a74352977c1fd2f5f2da7580f9cdbca296a553e19af10c536272710bd6f74063498a0c570310258eae8ec5ce936d0b8e60ae3645e42b0039e6164f690708086cdbbf279915999ace54ee8f50783eb194ec483c03372f3cd226ba5b0a98291810f93e1baeed07253a5d841c827928d6dc06d1e522bd26be737bcbc42cf433e54966efdc467757d6c4720e6564899d2af5cf61fc43fa56bf877ec72f32cfca67e44ff044319ae724eefb2a86ca6a8eead9eed70ec6a44f148f017f42406729bb88bfa6075541e9301619444d415a4d18bddfd7ce9298a93de200e9d480ac59bd42ec7862b1630f5d6e0c68dfd5a8adcf543713b776c0e591778f17811f76a823607d19ae37b66edc3ebd20f5422ece8b7391e3547832cbaf79ad46ee0f86c1962fc58754f77b3669a436d0069f120df027f2fee268335be024b7c494e4dc2f12d9005b170c06f20ea4f262d3868a666fe3fe743d7748a52f7e6f67550509dbc9e11f97c1c3d66342be4c18ae09ee951184fe4781575bca7c4c443ad786037e9a324e36e1db46cd1526db0b47aa48fc307f129a7d7fb62c40280a84bdc6ac40b59ffb8b0ade91c2971e1da22cd67a9c97f886af4cffe0ea3ec3426859af7b9668d6fefa74a3aa4b21e965e8bb661aa04b98f205c271efc5d3fbd2785ac9d8e48c89b2947435b975045b3c67938069491f51a2c12c3d6b26126469581d9afcad8affc3165b5bd4b6a90ca3f31b5a0b2ef8c47f07ce2549ae3a9f12585d293ec93766ad6aeff9b44994e858bfc7c5be9273344d57269237695b914c6afd71455c6a754f631463e78759dc16b14964c919794b99f24b4e6f229961cd1e27825c8b6ed8779e510e318f9c34d048e6b87198c5023f7c544d473604a0d048b592f2688bc99e745125e43213539197abae9b1ce363b079ba26dd038e6875cf27f07402bff283c09312cfde59df8adc6c8538bfc1aa653d5ab217f87ba02dbdbf61676bd7a467aa1e0bfb186bb5ffb5696f4397247f7b42c3c968e98c7bdd9297df3020a85742a9f5ae09ac8b274862213041b8124c2e837e1b295008316c0608f7b57cab59ab39815d308825ff21961501bae55553e36f45649d2da0f84bba578a2d5d63ca4bbb692b0057a63bd1adea032e222b954f93982af15d9cdeed0a8044ea6d76325591dbd3e6d4d9f17e4e06a58e67bb9dca5364e5f435d0ab0fc8c001e1e77e1d4bbba0eaaf9170d4960928aeab8c7a92d420ef6ebc28cf355d68529826c0909fffbe8d32aa264a10e894af4cf211d33ac37b3704da48d38e2fb0dab13ce000ad4bea85ef5118a78171da753a875d5e33e7449d14dba0fc60e9bdc4954f8bb338c9ccca19348de608caf87115e1a7f3f3bd1b23d15edb22f3946f12127fbd9cb8b0c7c1f08c00d11c29f7137f1320c3cfe2d766c180e3c558b5b1a1909b8a16a7ce2d23585f3feb72aad63f5c802ceae365afee3de9c731438afb4f3b99e2cbbacf2dfdcafc111222cca01ffc724cebbcc70f910f9d76407827a35ea462c1290e6357862849fa4cea7d400c644e72155e5d722c53c5d31a6272e915c82691779de54191f96b6a75cba40fd8ac838e09b885bb6a9a35b9093591b7da888f8fb8a322eab633de6c61f7b33b0bda31a43d7626d93cd57ba6e87623b6929bc126ea1e4e19c4a8edf890511e5fa77f48de3d01b1fa48aed00b369569867da1f12013b7a003da70b00dcbf51794f0d0d497732be52fce6fae3324efb9bb5fe79ec47bca27dd67bc48ff58fb03ccbd922ecd41952304b5061d04633a894b108483f3c944f7ce385cdda4dc3587eb9ecb1d041eef6e4a4d00abc00b4c157cf1e8223556728d98f25cd7bcb7fbfddc712a0aa6f77c30ea7ecd48b884ef7953f208666df02d5c76a1010586bea6671910de7ea5b9e96ce2d58957598fd2765f050e4173438ccad0fae3c18a2132b2ac8545ae77b41e23a72a5276e688f90a86a5b9a1d96c4f34994d6b59af7ad13ec31b92cc123a8e03316de54c44d79e2ef4b35ceff70a55dd16fa5063467843756c4fc685bfabd8392f88ebd42bcea810aba578c008a5e18f39e19ce8f123360a3d50a63941053269681d3f6f91b45f10070967d8eb1ee40c973fd847c2b7f61afe1678cb6989a057ae46e00b2b6cf1232ea1c6977c3e018dbb5ed2ee10062517f3a24f0dbb1cc28e6bd01bfa9213d67bf90d19ae5c682f4892e93db3b8ea55937256b56f6e53e89987fc6415798bf3196f6e70026abbedbd844b5157d774c7d2c5422e9eeafb4bad0bd55a27a9cd89e0e1203fa713185809745ce4577c9bb9b17959fa4a8968a8a4b9f5360eb0e414967a3fc5f4a22132b602adff1ae96519b62ee19a6f86439e808612c19c58813b8511b66b0c4665fbfab9804969dd1582424554df19546d8c23b15066880d4ff36aaa4fd51c2046298ad6543c73645358dd231774f3270e838073cfaac336cedba717a2af155f26d67ad7616bfc99a07e77e638339f2f8af5ce49db9ecbcf4fadf012e2222c08dd01ca46d6ebd43d084209996d8e97e3473d72db2cf8247ecbbe2a70d7a843c2bff7536b4a684b49064ab292d836dab1d00f3c8dc8953af3d48fa32c96a88c22e4287592349a8d800ec005ececbc51b429baa93580f186999cb6e9868a704a3cf19fc25cb02033b2c01657a03d8d16b4a3feac6971ff12485e7fda6491ef1b6861371f26ac3ec32c7d82f70463abbc7a06eba2d1c76e56192b79b9cc68b4062b3437464c20fd30644873152b432a12c1107e1f2043718b54c41af8f423faf6b8bd6b0315a21c4248146a57d5537e734b50189ec99658c626ebcd641f268b87fb95309bc639b1aec734f80637491884a4e432a66e67ecb1190e6c8fa9a65ab3753dafe7b03db29839f1c54e338e6050d78a542b04b51230d19aa7f4502466a94fa03a4b507c08a9f4a9e3fff66e6b54b7875314b0ed91233cf541eda4bd15858e3d93954c7e5b3ccd94e1b4d5a55f3cd3acaeea62bff11d0bd69eae3784408e9853b18e28bbe11a2fc72519e032e591aaf5ee83ef8f7a111fbd5e3c5aaa82c249178037eda73235ddb4db76fafd6a6453b6c51bd6366c445831f4452625b0b24885a0434de6ecad79a90ec98f5ada20a100edd92793531c2729acb0c8743d8f1c725ccba5807f42f12d8118dbe59734f7c07b5053c80f4db6a78399846adc639e18cbc35c15b05aca71f11479bcfce1a4719d96caa67340064f7d7171d2a47a1ac678a12e7dd5254167765992e35020f24b12568e2704f7d873c9bca2a96f50ca70c75d809398dc01aa85fbc165aa8f12e7e406fab0e6caf6970dd8ed7b1551d4b755ccad7607370d6ba5949923628639541b4b41f15154c5090c58fe36a155751b9a1816de60ca4ee42ba88e26e15d90244640f32b1ed3c6241e7ca74183040b7d776fe03047ba50c92a9de001b007726fa02b3cb50de4aa9426b8c04366d4da32a0baf0d0c9c71b37b6c12e61f42f5ba61a49a14c8ad44bfbd26b2b4d7f21b57c37432986f725f38f4efd75a944a16a3b5a958d382203ddc8eed0bf393104e8d4649603a6cebdc0794476a6e8b4889192130185a600f2976d0f716c2606cc50473860c10819e1e502cd912f5d0569b9de51d09f1befcb9d491cf7ef528e85fc8e477a796e53dd6c61a1b5f7fd10c3ecd224a6b5a757431cbfa955e7bdd6764e18efa8c6694c4e66ef2d7787835290280b09f6eaf613a3d0c050a2df31f057415e263498cd71e3c98e6dcd61373aeb85b0379958ad104d300e8ae66c76b4619bcec3fdd15bcd97b9c0c1da8e4f4815a9ca418b6c22cadfcfcafa4dcab41503b55056de45adecc0d6792fc92c676f58df1b808fa9c1d5ef647e6079b5e679a365d13474eb1e7aac02c8136126843497e01a54e2ce25e3da4e571f82ddadb57eeee71247403c52df901f76dc5a6ef84a43322af7197591992e517b1544c8e14fc2c60a361a1ff63b273913a7dde47d323e8287c093621052db094d253ea05c537ec65b17e9dcbbca01496d46f81d57039e2280ba78cd576bbb48ed0eb91146dd755b2169f1bdc11189c2678e3c269aebc0c2cb3eed956cd46c35115aaab9824488e5167c28d214948e77b8b369539a788921ec24b531c19fccded3dcb0c6098d3de388e51c81435439caf32c416b96787fffba311d1d78fa352cf47b92cf61d84d20e10b91a2154edf782079a9d5f25296c35e3b1976232889d214234c6893dbf1e2f415b9c9c3d90cfafb15a3731f4625b8537f3022c9d025f952c212776ce93bae3aa10b5c4225256a77eb9598b08b5cf70a906c0106433165d8f6c583162cb610666570cdf5b9514e6c79bdbe57e5594fc4232c955eb80f05c1cf54016f8b79b8d8ddc104557defa9e50d659e664fcc7f22d6c5321b29a196d6fbbbbf71108a4a39db99a0eda24fea56930b95b469cf1536c9eaeb4930f56c1db4ce2e19e1df76cd37781954568a195a449d92f24b7c213af4d2576c4a0009f3c313c0c7c5a3203082a6bca0c6742ba0d2c29603d9db4557bd0a976596cb02c0ede16355a5bf097b116d312c025cec74352e7c233409ccf663473d16e12dcac4bbb0a70453fa24c23bdf94bcbdfca985daf7cb169c915368dbf8ae55fc6b5153a58e7670c09809bfe147e6c4067761179504904466bdc92b09dceb35dc44846e6ca40e43d88577adc449a6cf1185c41fa982dbd952170eea3fc8a46e3a19ad9f5d21845cfed6f6132de6aa44784ccd5976462b7f0494fad0f7472f6811fc88bb031f9e8641ffe7c08f19914d3e4f184d18e5a6432fa799111d7c0256efd69ae84045f5208336fdc8e8893d18c715a8ca3bd8861155a44090ac07d934af0314c38f0b5f777cff2868f192d3857d9c7e04caf969d01d49736fd018d6bd43c5363b8a0ee345fe9213153e10462f63f2462c8c06cce7d20fb5be1c85903034097475ae83be2e7c687fd9fcb92f948e2b641de8fdb2c1d005ef81ec73e634bc177b5e139a55e618309dc6d27c8d7af2bc650438326184d45998f3973d73a10bc5e07103a784c3b6d9b24c6cd37eeed017e949810cc8a10baae6dd45dfb5e6d2f6ad622974cbc89bfb235b872c2a8da5e19fe79255065469f8bb2fb9946c22d358720e99232ded4781c5acf2cd11a61f5c1ef159ef0623857b8e9798906b0f232436774be04db4921655be05210ae74b9ce973a731b9d2300a914659361836ad932360b5b841462dca6c2b6e33c4473f8d3ae693d19dbfc913828a94d0ce760129d109dc782560f16dc84b7d47cba8defb5acf13614d4ca45cde821014e5dc07884cb4ea290aa122022b175b5b94f61acd78730e959c0be3bb6c7fe8143574f584511cd24087de67e3a553d3d279c225afd30151ebcf52e244fafa16d787b39067af9569ae9894e5ad7fa95f681d64b90b0931fc9d50fc1d34954df59c04d8bc605ef8e86cc50ee9000a8d82baaedbb0c769d7cfae60ddef50179fbb7188157893bfa267c7916838f0c522a736b63d2b0307c2cf269e86df2926ed606d3646f42ed8996a34bb3ce81d4ea12b446de9d8905803dc761ff0a59e4def394fddcbc607547d0c50f61bcdea49263501cae3a13d0cfaa9b5a90675e9a8ab808251bd2a551b291e7bcfaf8f2f0129ad8818c0817122607ccbb3e3ae1a4fc33cceaa5cd00ce802a710357d919498d6079ef498fc40c58e49519fdb49a305628155fd2e91d03e7022396e0fcc5ced12ef64623dc6824384ba552df6e1044146439c4466f310a523a3cd0b29d39d5b4e76a4566ce8e8eb876f7bd8b57db937c730f71778a36615c5133ecc468db264abc2c85f52aa3794aa4161a52c995c06922072af361ef35af1606397acfc2ce85e7b4658316dd920e40b0f622e498f6314fe1d167d9e4fc0d8239183869a711df468978c7cdf219802df6faac853d5c31c1a878ff48923fe88a1e5855920ad6a780ca6fcc6292d28c42bf028584838a42ec86e6ee71bdf8dfbc1ccc57212583e7dd6260a5c71790799f88df313bd6b7bb7443f830d4f1c911a8d172d30069b4806f8930440ec063dcb636ab8bbbc93b91a053201d6df81004d42b9854ad9c79cb14f0af4f8c12a3d7352be9351fee2b41d9536c5134d33a9eca98ce62e440750740d2c94878ee284f3d6072ae485d97dcbf75eba42a42464c2cb5d1cef7b9657dead9b8656470f662c6d9813b77e21dde7063cce97ff22ce375f786389bea28c61c274bf7a1b87f6768769d414101c945058b7c4d534f183d64de2c1b06c74c49c3e647638a8571c11d1656c6989a08b3bbbf00348e0b32acfdbae5b10a21729d016782a85d05f4847e5c1b6387e71238fc1e7389141f6359e9f25e39e1ea702bf1e9c71642b28a69ee82ab6f6b7cdf208dcdd3b922bf5345afa0b95406961efc6945db1a29e5ca099561a74d96b5226fb32195f874f7ccf58bfe4609076abc545574abe2752efd6486feb71b8d8d9b0bddef2d5992bbe9b00fef8ac8d3d871eb3b5889c7e5db6e6ebc0eda98686058ecf6a6f226bdfe8111a55c354e7c2cc208c8f3d23ef5e0cdc56438d4051be1d268706756da0cb2d29700bd5917c3cd19bfb61959cf2a68733da549ee3910bf618d36c6352b1eb1a6e8378580463d6c4db3862b55fb85a1b42e6376fac64c1f169b484bd6c34f9a9f6703c9ff7c4ad7b5aaf1836d7437eaac69c2dc8046ed9543287b6cd2e033130a8ed608064e75dc583dab7ae45e6be87cb7fb79b649a66509c5ecdf2800b73c2f4fad26e07cf943be11a016c67d008387cfa6647f7566ddb8172cd72134d66da75aa1e7c1ec4b457425ec814f9bb51ec7250543d05bfd3f2f2a946dfa7661f7ec5e365c61047899dd67900f04c9db011351dd86d950bd09b44d2b4775b8eb1063ff588028f1f53d5826e26b5ad9a7c13140e5178974ba149f4780eaca0d40243b95c2428a8993e8af471c0c3f6a1e64968c6382522085877be765a058e2c5d9dd48db0953346d73a0474649acd76fdf40cc18a547cb2ce7cd0bbc1106e0f86ea5ed46cb63285a89e76b03c95e6cec2fe3ee4ba718acc6dbfca538a103b322d992d8efe78ef51f1488d4bc42cb1eac7560ae8671d992e5e21e17319075ebf66513f22d7a25165793994fbc806c6a7991b5e0feba295b314ca54c43f7fa47b220e0982b7d13a0f9deeb5da813fc7d4cd0e420a36cfb45993a984e6dce821be3944387bddf32d788b9b224e2305271a7f6d76006de827ea65e16e66a86375af16be1938716845e683c52bdb890ca1f07b157552780aedf5f7a8daadd688d38f2c797a49a8a1ded6952266ac86ab3fa95dc6b4b6d4ee908391d8211b5bea7e21ea67624b16de36a5828d9b1ecf35344a17607a28ac0c5b98473eb869d988e22c3e94882355bfb8d22c7c0f2ac02a02eb2dfae38b6a82f2bc1d2656f9901514c2a69b9df9fc2325cac29953358638737542cb689d3cca1fe2bfc33d13c0de916026da8810347a3839efe495231649906e1f4b40c4b956deb7b7f7f4c9f651e2171b5b9d13b7aefe7ab486c14d80215960e540f120c8cba58c901e1cfdb405fbac1f13de244d3378058994d270218c0d1938b1523d9e7ef835d9629c609ba79905e0205ffee3f48494613b008eba1f9268293b1864df093ebffdeaf29bd2b5b18f7baa67157a7d82dd07c2af03efab810b9251de173301af308ab6c17b8c7ed7911b476e30f7378cbd62997e1ecb8f20bd3b3510bc481055c5c0d6c3baadb34d784c6aab163a84a30f77f802043d6dad42be1f1b29f30d23d6d1240d120220d71d3b815074fa6f0402a319777c4dd994bbea593e6a2ebc8efda01230176f17385f35a888466e293e58ef423ffb700d80bb9c9eeeb27c62f622a7ac9a50d035152b479f713a68f75648094236241f9516f3a493487404c40db32177cfca76e823197749698fbc16597f35e9511f2fa8100d889520291d481910d6c7d8d9f9387d840f0e5d55a09407648d3ed5db39caa8f610b1d11246198c062bca72fd95ae5f209399548f9be647299916593bda3777518fab78403345852a1756723c7310275ee11361e1881d5a30de834dbb4a6070f1a476485dd1b54f34f68d7ed3e6d59cdfb11c1251529283fd5a5224029de1fd640f9aec653b6adbe6ca196d4de1b12b6f5af657815ac099e09f583ae2db280a6707a4a079aaa0341d8de9758ae37e81132eebfaa06edae5a1551d2f1a6041ed28f2141010f111790fdcb19528429d717107f11f47678d6c290000c10311e016e2ee4e863fdcf5f45b7f2f3059577547135a4229c25885cffe53192f17750225832c182b41b9d1b61b2793f69ebd26916c65bc1efe2367dea45fd20287877e22df5eaace73dd45425e9e8939eaf999be9e69d4995db6e3c7830e53f68c888469a259e4e40fcc6d2f1cc5d0e414ca8ee91b1c6b7bee5841295f07f4e9484b2ac9549f5fb31df467f6c55345efaaa7d96b5ce7f21e3a7fae371f9da57016f207d28420747ba7e7f9a573339a4a8c872eae4f8826ce8c4562e5ae603b229069843578d07a2cb8eb65d040dac0bdcae6d967aa450623baae4415516fee7cc2b3843f057849d3bc65985490383fc99247afb512f02efc20e17c6dc84a7155fd7eedeb0f6251e0e7f398464cb12b7d4d9b08a7b27322a285d0ea2feef4069f4165ee8efebcfc015689d078383ab167a3ab3d1b3ecba06b2b8a43107d9504089ebf4dfcd17e723a6115e3341c9ab9b9252522990f3bf91f8066234eda1e34f57cf671d56ea5e3cd8780c8fa35baa81c2d711c7bb8974f17b986c5d039228c66a88973c022d78cd8d0a557f284dfa1c6fe26e88b2eb5b959dac7cfb45916c396d36037f4b3b8bb332d9702039ddbb4efec81332893ab78eada2eb2b4a06c444df8365ffc892620e3f0803e2b3ed2c732a208df812610c8b09331b7a3064c992e754dbc1eabad1aabb60865d8bf9d485a4d797364e0ae512ad0c5ad3c287d28168ed5988f0eb97897e05a52be8946f5daf167304e6373823c5ff3fc4f4526709e04385f44ba2bc1ef96e86678a8c6008596ecd0b5234c86bd9d78c6214024375efbee7c2cf37885c732e9ad066fca17921f852043d9ad538ed8d5f3b7fa003d81a509e09400631b411e3f893465a50d7193dccd71d7a03087886e0dd036c7a2a756f8be94d686587bed87202eb94228771f2275c868afa241fc2566efac23e0371583fb14423dfd4eb968781e4b9e8e3a885e8a92248317e233a5346fbcebe2b6aa270d1d9ae629238b6cc04a67c8e6004ed992f9982962ad4078c4ab57917f7abe4ada6b52087d1de294149984dd9b3da5876a600978a154ce1f6de76e83ddcc01db69f585b96ae7ae9b07d07cec8732e177d15796353b84c114f42d9dcf12d6a898fccc510b056ea076b35e95c617d1a5b77862e89dbb552874a0fac618110b704a41fd6ca19075eb31ee77295d32841cca428c954a3bed6083a9ad3f90d4789780de4c86471de2404079fca0061eda09b291b0d468cefb5825eb1fa6ab80b5d6bf111da2375901f74e19a2876b6fb3f997ebc4340054e037e7cea11fa540bf5a3795d4b83d20cecb9409e8e5c3649eedaaf6269e08dfb9412664266f98da9dc903cdb4b392549e2097686f725ad5b0ba07ea7ae366e668267c5d4bafbfbaa65e56efb42d35b8434121782d03b9a263ff80b743aeebb865f11c0d4665aa9c74970eb82e108b8f5df7a8c8048714e7f20327b4b9677259ab3fe299803337a21d848987127eb3330183e6b64f7fa595709af1cdb27a0d609627099e8dfdba87cd05dc5b1a7c732dbee5d696e17f85699b2377072d29637eed2bf971c06d3a32420e22a17126277845c45d0f39f51aa26326859c0bbcbf02638bca66da9a35063960e44575826adb13d499bfa700d45f83512ff90632c0255f2846c24b9cbe2d5537630b05face590abc55727aef8d9d2e96012c88a90aa3f1c63e23487e566df19a18701a46be53179b3d067ca36644b395d335d97d2e9af837eac11304fba639119c9530e0bdf6a65e68be97ae633502fc02feecddaa5fd5480d695cc65bf01dd213dfe45607cbbb138a68e2bae31d562e228c8f3c5232f2f35d840858297ace0a256d9ba9c83aa9114d7bbd861a8b9e74dd0d96f2a8b926980fa2105f403604df8c9a128a5500043b6722cd48b4d0384c7b7d55a26019713e69206ac2159332f9b2a4dc92988ab21862d7e4273ff9f2ad7d82dec8accb4dcadcfc358a88dafd7475704856eddd3284141136a977ead8f0276d8fde3e3f2e80437f8ff2edcde9788698e755d344e93c48bc1846aadcd178996d649068e8238e7aa24a747357593be9a63f079b8f05c6cb5ab5786388238319824e8aa61f928be8785e69d2163c90d06ce4d14aa5e14289c325ecf85c18d6864c0973509381f38a459489e1d33160ff43854347e26bbfaac84471da60d451c94a1553f1497b03791fcc1f96264326099cae86b85e34c28736ad0243788734769e08273b759515c5f9e673180fa00e05d2203ddee00dbcd4d97e037b974021d567e8c0c6eda246461370ab9bab05c26bd620de0d5b5d6a050d2a81dbb889df03718fe45d9ad4cc227734fc91021e0b274b7be54d0d62ea7b30a8a4f799eea133138e91aeaa3cb8c00080e66152f124efdc96c738be145aa0fef8d4768dfde3b998449123a3954e9a4dad41adbf51fb206134f04d14923b5ec9933c6885ea8aaf22aa8f51702079f80a847f95063ded7881942f15d6b187db4f2f1228a7b6ebcaaae2a78708b91dd5e11c985ea63198f0ab663f036dc88a70a6592c5f27858a2879e2936dc32962f968a9b40c672f1f5020ae977244d07eb9c802a5cb8fc5c03d9b18ceb42ca6218d8c7cb9eebd01bc34abfecaeccc52d436f917b4950f33df5e1efda3369ef666e7b296a33c99057c474e6cba30a135186d9c99608bb038bb5668e96d02418312bd0093058e7aab2300b8d49cdae91106d6a5062ab03c819ca66d72e11e4d11e9470a667a07401e74d6585b436da7612d032f91447fd45632f54fdc89f4410a37341a36c1d1f31466132a2fd2da6a2d77972c843889a73a5233b616bfbced5cb1910c157bd82893df30c413038688808c21dd5abbc32d7caf074147a408507f5558eb6733f68ac620b3869338f10c5c8f6b51b460643d2450241c4a82653c9e26b14d20a93dc88adca82dc045df73a9b3a662eecbf9fe36cc079f0a345d66dcd54730676fcb52895b4cdc594ee2693ae3d95821f39a58ce884e4ce0010af40016a828196ba3e2fbb16047ef06af4722b7a6761c291c292ce82d29de4fba87f7ad6f1553445146f7e1a36160026242a9427736ea3ceaf523410e02888aa04fda57db77b67a556a2abc3a009510711dee8ce55516ab5bbb35e3c1ae6df4bd9b2135346b4329c067b6168f696b8594bc6aed1298649f220441ec88418c18f9aba27e64c771eb394165195da01a02811e664866c8f1c6cbc65c4503d0b8c03549f816ffa0a830d215b2f8637faa19bf8de7c7b51e33b34e7834869797394a31b8d9acc8dafc900e60bfd975777176596a49e2dec29582e84ea3b4e0108e43645d9e088f2c0331e1151e60bf828d791ba40437d08e727bd2c168fd357c864a78d1b9984e7039d8574ae5971c47f263310c4bfaa08bdbad60a7339c1e036390fb2af0932441a5c971e7847e8508df3a8004eae3decb1316dd07d3617f72aabab17c6efbe663306c9487c53de676f6367bdef13017c5c9ef851f4b1ee1613fa4acdad8f24ba7600d7ad5423f5b6c22bdf576217051b23da897e51969fcd9c8ee785ee845adb0daf4fed4a2c9015f6f0f08ab2913166af3e7c11f6922268f5cba8ee204bec914b90bd78b530d95a362926d9d5f35b46a74a0bc325eed6290f5129704c44d4a7b9462f8bce71490d2a2dc52ffaa3d781abf648a12deaac1b070e9f83875ea2cdda370c8256829e08f6a7ecc3dfa7c41ece3e04664e8149e95d1c82eb8318595f6815d0659630030a77876603d6346d32d3974c77734a672933e0cc75e0f6f2dc0835ec054980b47caf91d2da2420cc57fabe4eaa2932df96b2fe73a3ddcc9ca8aae9635065975142130c95088c2ea392cbc7db4e297c5c388438b636118d56e6ca36c0bef8fd580d9f406afdb7620383306ed2f06e4f21b506b4e22484c9e60dc778056dc4b9d9d8c885baebaf07e8490c4edd354a8e0ec62036e323bdab7b5cc2714fd0a899f0f17017c36e588c7c5bde7e3f481628be982bf291c3109dee3c7e9979aade0cb386c15a36e21574ebd1caf2ed4b2a08e05a87595cd4e18e5f19c730bb326fbf9b847f489ddea00536a958ffde427403b1d83276149e524d6d1ed7ad48d6ce952c1823ee704d6a6df628b55d5c67fa6ccaae12ef70b2be91a339b91a08d39d4bf0c82d2a98f54068eac1dd24659f10caf25801be7e3149ae9c7dc1c50667e9b34b2d189f9cc761998fc60bbd114a99b88d56af532147f8ef9ed03b5cc3fc39ed6fc97774a563f66ed057526da23dadd296590e6ca8303d9555660e2a2157f568cbf3a99e552027eb49c959f1e1580cf00e5fb250c469ab5f1219fcf2a79708b7fdb026b1d32b595f5a6666c36150c65a1db8fdca831c163f11ae9013e3906cb4974ece132d9625d272ebe17832c475e584e149f57de20f9b55259ee4a93e0c2e3e9cbfc2ed19ce4d1f3a191760051cdd62734d99a06863f6a3c82885e15eaa8eae74ca3bb6126ea1578dcb07425cde7a9412b91c566ffa810b112f16c32021ccfd2fcade73d1401f4f81ca672ee35924c7fb865fa28b461ee6ee5921eefa175c445f5e5ca56d9460c24185fc53b330623732a338c5b77d1de231eeb6df9a054a7a6167bcf5c6a4599d6ad27ef93eaf59a5e6d2e3c6c18ef04566be9c17a515d59a75eb6ae9533bfdfdedd1d668c08045e6f4f69dab76faaf12e71255e0303f12e5fb16879e4b3c9892331275d353920113f8ba57a9b74b3cd0f645a2950c9dbe22b51cd7f675ffe7c35a5f567fb4910f9bd901634fb31be5b34976db516489e2d1d2ab6dc60692396217a1448b9b2788f6aa520893424b112983c013464dd5d09dfd46b960d1df3ba15f3e901644f63abce588965239708c3de8173e676c5c739b3ef3b2f078e1321a0218f096ee22aeee291a674e35c55dad954662871d0311f706f4c97e8db5bd3148ebdd88ae79b834e7e8c75249603cac4a2a1585e559fa2147a7e9cc79bd06ea9cc9a3ab77b4b8ecc9ddb082079d9b06a51888721aa639cd734558df68b4c2efb94417dffa1f9328f73b6841c1682405a09cd6cd4e84a826d2757e6477b02f2fbfc79da73348ae30fbc6d85cf7ef1e8f8ddc93e7ba3cae229a05fb197dd62658b0657072a5dccd2fec8ee8045d5f39a27c0632119a29f6a90a61272cfe4d4a84c50f79c0f070b21e46cb1b39a3af1162c936997e3b4e09c1442a92f3855eea8dbe054a14fff08ddb6fb33d50b5050a91a268044710c372f4c34632c71184fcca85e4f06d88af119e4772e6de0b6ca21b146e910181d2fa429280358ebb259cb1c22809d0255dd9849f34c61ebaf2cecdaa80adbbf5a11c055f78bcdb047e0f5f269739f1e9953d0015d57fecc163e846a9c3a3c6de39d2c32ce6cb6a92af3b31cea08238bdc727915b3b957a8eac49b1f4b57567953ae9c6e6817399e7a0e8e8225d47ec64f23c8a239f5285761cf5df291a2b86dcf1ae9bacb573dd3330ae73c349e68547557cbe90eedc0df98f78117b1345775a86ebdae808b76f2121551bb607a8db5220319ad158315b77733716d4b075c6ebb79ad7cca78813033df4aeaaa039dca903dca5965c403b673ee94230a981a131a19e48d9cba6323e11eac094b7b88932fd0291e8a1ddbaf336eb0770b8ab0c5bb840ccc5fd894d9317ce57a6a54e2c22f891ac9fcb0355b6760d94eb2ff1a937924433964fa79109ee61a5e109132fdea6e959969fc8a62b738f08c3b6352d6a788ab224386963f1b20c5a13b7b14b04819c9b61288c133fb036e51d5cfa4b5e8529f0bd99cf03d850ab87f53aa35d2fab17d297f8931fd7abfa084bb9eaf0219725d393ff374caf959093f92cedd0f9787645ddbec137421a119cca7904fd3f93a3dbc5b7daed7aa5ceefe8831fb419e0941264caa05cb6eeae6cd26b627ebaa49b5a88a259c649b21494dcfc27d369a65c581f29d962648e3cab64f6743af500ef9b3eb8d72b00017b8443e804f676d4f74555b536ad46ef793381690b89aa4331fa07eb19b6cdcce5f26d7910cf1d949521d49c9f5661c20c5e576ee2240724ebaa723f10b1d523fd7465dfe3b046c1362739b4bcf9e747d13eb342a5a15013b908dcf2a354eed54e24a5f8a740a928e94f71d874dd78968138dbb9dad571b78023a56b9b536e78cbc3e3aa83bd7aea2335e13c32fe88570eca98f9ea84252033e4f819b0c803c2034a294bd09ec4bf63ea0533f6d29286eabb5f93d736acf0c0e16991fe7a96a0ba6d8d087ea6bf0908298a6814c2430e4056682b5eb00f7a9cd2737b05ad8db95694c8996cd8984bbc5e96607db7a6a0f17fcd3d9cb69b2dcc73b439cd0c99a3b79155dfe3936883e8b3711c85c4df81071058699f49430a9d5bbed1495490c3d045db93c4c11e56614598194ac7878b447cca09b1173782cb747a7e35d9c5570aed8f2249ef7d68f82e4aef1dd2bdd7b795eeb59abd44847e738c857017534bd268dfd3ef3fb757874bdcd68efd1d0f7ae89eecfa389d3360456f1cc5fd97b7039f7968d8ae1565051d8ca5665597f6108abb7e5a1912e5cfd705d91b979c9317a880e0116a3d57d65a683977233d86514570be020bf29b6be8bf6e8af43190cb70aa15515fdd075832d5cb3fadaa5198c9e462c585c37e0b53c1722002a6cf5f6cbd84975c16b9530dd634664615c3dd158a0587f1bd1d98f80a0966f2507f48119a325438c30f02e8adc97453f282c43da192233e66b92b5cb49424bb0b9aa73fa951f94dfc44e464efbc661b2cde3fd56c835f469542ba21b8056f49b9e0216529cecedfec7f0d51a1621b17d3f81ef59dfe5bbebf56853f0938d3202abef6ea8b04c5716d393279b64081bcbf06761019528518b5f256119c350e5d8c6b81d77233afd327ce17d8fb122a395172bd1d9ea1bab9814cf2a12b440d4be946e46d858e03c1f86b4b629d9f9997c020d9e6a069db89982afab0fee84e0ab0150701b6e70a85ac7f2b658b85539f4b74dc5edd834999e930a95939524a85d77b098c5f6bd5687f385efe66f789df25990b6d4d29fc8a243471f1c1848ad5b96263f79bda0504bb40d014cd743e071d52908b9df67043934ab397c3c9e6212281247ce196d65ecb60c398c64e3fe014d2e7f413ec87e095b9db356c8ec044955c25ea9a71541f0937383c2ac2172faeba5ef48323d27a52ba479250f680925b764b7fd04514c57a151ac0d23a4db3c2b1b1e8e735a8333072d0fada7e467f934d6084e9d1c58f773706f4cebc5a68516799e180edb37105fe728b4b21580ecf9a525a76fadf25bd7d9f84106d49e7937dd8c10bb4058f1497922a251ebd0606f7d4b97a832af86f64c6059d2599e9bc13b13eb1ee7610a02e83de50bd42033f6ec9e1da49e77cbccfe15e2093950d24771ccd34f63fd467b2945456ade7eefc267fca947cb48180c1b859dac8e3046e12f09149119bf8645427a6c3f2bba378ee2af559b2306787d11859e07adbd0d87ea5aa4f45ca25e79027f540f5dfd69ec3d12d8e8224795f7db53b06eee50cec191dfe6185697d9d5b87a3a8bbccba794068f51db8a030378cafe7e18842f6179d9ab868d0d38d6094061dfe9b20bc94b20595fddd3d5a7a284de18e8a653db93ec574e6d4a52d23a8d18ab3a93c6943ae5d7de8c37a20655a053634d3bb1ccb4720ea706b4313f4d04ccdadec6bae21e83029476f0ce7947d56a2a26997a9579d17d1912856e34f347bc9af174bef4ac30889c87f51c398111c190cca981f5d3987617bf8b242c2b46491e18f7c2c3cb77fe70553a1ff529e88ed845e52d3710275f5535b87eded95d5bf658c2a49f25d99c6d1bdd00a43be6fb23759ff3f9dce9b6584eb04729b05ed57779214e4aad45aabe5ee7748f98c77aba75815b55a66606b12631b15be1d2426eb438108edc56656a9c282a6e9f474a4231f29481d686f78763bb881d66c400d328b7d56b712a20e3f33714eb1c02aea789a6f9ea4259412d978ba7fe80696089ab284ffd36a914779c08468eaf72a841e1c25e78095b2ed1b62f096799a33662b5df91560e14a20dc55879ee1c620447e6102daea5639a0e7b3b0145d1c368891e50e437d63e12a9150bad11167e093b61c5cc3176d1794d455b446f99d3440b8652fe4e9437e0383746cefb3d4119728d418fceb543d600a7ee6cb5d99f77ead3afe53aeee1a48eca58742da535ae7200a014bdbb1749cad4fd8df37d023e90309af1583a313469fbba8570095bcd811e4857bc6bbd188306db557124fc3474f269eaa77e856425a599c77d429c164d23f3b70f0bc0d2a4df8cf789462c2bf16491ca64cf53d8ccc2133d8b3cd0612e3b05727de72be1e2f294b475f76899d2b446783e7309e632230677b37518507aec3baf0ec3eefdda89b76d057b37c9c65e76b532fc3dc55552f3cad017da38b66faf97e1ab784cb9aeae29ebba97c00d76278847563039338aae1085d529f2ac520c8e431e18671a903a2af4c783457713b3a262ea09f84871d01cf043e4591f256e00b3f20b42829b8cf95fa5b271ac9ea210e88521c0c823dbee435aa2a22e78d51ff2502ee1289676bf46fb33045ad6dc4db8ec20eaef29330ab42ecea442b803ca27362bfb548ea3322a3eaafe06dc37998030563c3e43a6efe7e5cfebc87bb33dc8536ac3aafd6eabac514c46513ad55765bd8c662a974fc99f7c8af1f3f9809fa22900dcd4ae309177578e7317ef8783666540795bd245030f4cdfeeb93551148b7b6744cdcacf392309a68307128c3c39d62749d1f134854805dd26365ccccad9231025dd195e4fb37ed00b0c12f9f3e84833049d7c93b9dc80480ce8a4c87cfa3b5f0c8f44c354c680b4f6d87b035b306523b882e026b9e3b5cd22dd2424280d85664dc56d84921799be475780be5d13d0f1de788950afdb2f13c0039ffa8e151c9315489af498c4209430ad5ae21525d82b2bf538a2a2dfdf711de7e857f4a370d74c4b603ab0614844b5809c8d1f034658d1bf3f4ab788f43756cd8563d97b3951760745aab613e36179f4e4540da7152c2d83424fdb87466eaebc777b554a52c9c9174276f214b5e89ac2ef361f386a27134b35c776bf919e91e3dc7304239e5560b975b93a83155434f1833c18105c8515dfa0ce22c08ae0f6d0b70a053d5b0412debaacd5f44dd8509dc4b8d1c6918f6b6fc5d1d24ea1b6caa204f40f3ff2e8b9a6cfc735db069b7d63c7e3253a81fdba77dc41b11ad25398a06656e535e6dffea6a9c5676f1712bfab2de417775dcd23fbdbd5d3d82e64eab92a33d291d4475680b40fd674a36cbd9151e230931d3d8c94090e4f1583f20780a36cb1fbac5e6361d279aece1f4001cc3c25e205871d9919ee3fbf5590b79deee92bb5ba5177ad1d4df33d95a3bda05d845d554aae46f8315880ea4e29208ffc339639d5564e4e8eb90f4fc3c0652cf52c07729b28f3ce9aa5932c2fc20382f3662d07ea4b2e42ef1bbf126cacd87eed1193e53564015d014737bcb97c26cd766409a4f5d8177ad06b9af6b78bbc3a6d9eeeb2cba119b20a246e29d79410118a875be672facd8fc5f35cc9d905a77241028c23015d4b0fd0c8569fd4e16e7b9c57ab125cea57f7a2c365adc2e02ae20944c775aacbf530030dfb6fa8526781a42ef335cd08dc5fd2be62c3481deadb4b49117ec7fe3402039b16852fa64486d26534775ae3c623d9c7a4c3f102d2f221c6df1decdb4f757ede2715cb291e061e05cfb47305ab621aa0b42d8d1d5ff7bc1a2378729fc733fa844a9975920029b40f29e7d78a21387f405b472c6ca8191ceb5aa34c1aee728fc467f7f37e657d42be8b1b86c3b82e9c479595684d608a9a3daaa0f744348007e1ce05a7691a80641de93ae9d8c3f23de1cda43085c702e23f20ebb4e8f2f46d1e0e3eb69cc426d3218149a4f0ef035904a9cf6255e36ab98297254bf4e15e59d2163f4a02729e5153570861bad8b497d498d605cfed2442a6978ab3c021d24852c991498efabc0a6a761ca3dae04a2bf4c95026e0192da379ba00b892368d1ad98739c6be067b323397b855ff5196d03f25242c5cf6debf46e48757292d152406f88122ce6d1c432baf565981867515e2215d27668f4ee5036317973be01070d0e1574a6cbb181bf077c6645dbfa1389c82402fa0c6f482ea9673e2c29986bfedf09b3170452c92c7392493c81d2844b54536493b9d218c1e55355f5f50b6e9758d4f14b3213b51cfcdc343d3542900f9a038d7a668ad54e227acb0292ab35044acd4fc5989b233e327989cda3e36d943a329fe912dfd90970ce2f295899e5d847a7f546bb77c39016a4689bbc3a6b5dea5facd25373b7f2bfcc4028962f5e032d9a6c5fa6677792de3f490ee6645da2d8efd661991ef2402b67e396cab0081283e1f4f9cd560ab6d804a641288356672f2115c340aaa0520e55d28a90fe08163c64c0188e59ff920c581bda519b1b8cf01aad3245e4c04b2de40e2f8f402bf6a0ed1df5492714c3b57741dbad9d99aec9666e664cb7bdd2d68036db2a0844a6ff8ba154f37fcc856508565eda826872a38496f2017bf17d8314d72aaa604a68930d61f9f21ed6c25dc27a901ce37ea8c552ee0da8871339176e648390999b451d3008f7e17dc2f7c79f9a93e0a3a4a9e6e9d9370b434d9f887ae38ce74e4ae38c1492c7d572bae6bf5553c0b3ca7c5c32138a88f608d18f798e7640f5d87172dc625e4a61d2e89cdb10a75a882c3e6ba42a14378326ed6d724d0699a89e236133a05d7199b0bb03797c16245287e094d2abbb7f43276e6c1068779c67718a78b09e2f9cc76a03e62476eb12725aaa572b8187b08401e456a78a5c506b6c8b492f785176b38aa5a90e217f417c9bc58327097e04473634c8ec9829de7c4ba8a805fae3d0a87a3544a586f5342b8e6d5b5c3d272d4d9315b96e7a4a234371731cb197b22235e209d9427243e18233ad461f94eefbab2f14647fc76c7bc2fa775b81c627cbc6b800073cd198cd520cb5d198d7fa215c9904bf6fde6e56febabd200af7ba87068b42979f2db0eac2ac8a3a64a42aa27671d43a8ed35f4886f2c7681de3435cfca0d63b30b199820346fe98c319dc3d1cd6a24373cc1b8194feccd8db189ceb61e1d4c2ca5c8a3a53d877f4865ed87edc3a591e85bb91d5bf4eaf34e3fae5375314343aa253c9ea5d3ade5d3491e1981e3e5af6edbd9bc0313f5a7a68ae32a345ff09709f83ace7e62c0856b445af6b753a1748b8a89b004a40e027af4ca855df509b40c61c5ba0c0119a8492a02af9af863474b0918193773ec48c54a093953b6b059ed72f2e4d065aa37792497585cf4044d4d7bb23e1bf443233c958c55bb743bc84e694612e94065cc21965a8cd515e5a0122186cfc76838b0c3552f985d92603beec3ef1f725053881ce60cb7736cf13df9ce98b1d895331e219d332c62339b48c6d1b6c268c45d4103b77a1152d309cad11fed855cadcb237c6e5713cb2c369c03d6e3073d62658ec6e0c2cf048029078dff9281a8f31358051a5bfa992b6194286826eea4fdd8171afc4a89a9aedf32d13c7314911a9712b87ee21c1e85d202c494fcba2d169f3afc52cd6403241ef331d79d717dd125e606f82c8e0fed05311b05f6b7d51554a4ad71d3f948c8e819a820a98c024a22ec3191639b253dafff5adc9f47bc90eb39c33e93cf54fc187a7dd708d263eecb008023daa39ec99b093374c2569ad2a94eaa08772b72b74b1bf3d088fad2605c0a2635920ff55f59c87d051a578759a70fb67ca6dede46a70faf9e2588b06d397176fe6b2c23a1fa9a8090011a090426a281b0c9da938bfc1b7bfe4cd16828f20e52b676c6ae699dab3490c09205078453f848fea5f2704e67fc06054ab3fa45c86075bd1d93ca270d96ecd7db0c675c03d2f8d8fa510a29e6e1d662e0c3b9aaaaf83102d6d0126121178b87cf2bd7cf2687d98d6bf06bc80504b1ddb03182b2866b8cc674241d67f472ec850ec36a23b22e50b8b0850aa4de980194f8dab6aa2e64950380c4aae03286c86d3f477a4a2bfb820960ea481fc4db8a1a165527c1bcae6bab30038f454810562c96a84ff5a6b81100ed18578391636fadaa6bf6d6c0f6bb77346642ac04cd3ae711e2ca81ecc751286f90f9f67e7bc553051dd7455fd63268223b67ae34f1d52e15ef4f6dc2d9aebdec0d4b3b397fc307833e41fb93c955d042c2a9b50600fd90bc2ceed921f153b05ac73cf7e31a7ad4507b27dbf43355e5ad774f14695e573e1ecfe4ef36689a607edc22c1e99d755b236b37e1cd62685af43db678d66bea8a524ca696ea37720e03a0a22821f36ec3b7ccc208c8b68b773c46bf73c7d1f6ce3754dbbfb05f71631fdc826b00b121af52546e70835ae9ab40cc067a0fe709c8f738a1336d9405009498a0db341f69653d1dc92130e9368beab820a90a5e72466fc378d0c6f80407fba1c9b0cbada3addd2906d9face20fba0821a08cccf7ca202b7a3eff70d3fdb8807484f6f0dac77599c16bb66ed44512b0d8d6176ac96453146599ee519ee6afe986a6ad975d0c68f0aa584a3f985ce5855bbe817b9fc46ae9ff60494978cfaed3c8bd73fa8894de86103e8d075a5f982af7ba763fc322e95dbc43b388a2ba1022b7bf86c3034452a6a8e8c9cb212bccbcc4f4e32f90ec46ca173389f94996130ff4e6b305f05bb60027fcec2d2c798889738aea96044886b0e59aab0af2cb5c147fa574121d62a9b32d17b3980380403d51e01c0ec9e095887e826b6018c3166370bd23733eea636ca8495215702acdc35764df82807f2c3aff462e5313e0e406f50dd308200c90ba3adafd3d8a2154ed5c6dfdcb3687ecd70bd8561685b6b1a3bd01e064daad52f533ea9cd3c01f3b1af9f281526b80dd5f631968586359f20bf2bad08af2a7d8adb4ea0ac94337aa107a82bca41a41d3d6f1561ee22b9904809432874fdd4d99854e68c24f18d3a269947d01cd1b144e859594439808d99d5771b121a19491cb9cbb765be03077244fa35a27c95368ad6e03761f6ee348afc1351c1ca6c580afd7b53ca1b646afc7caa60c7aa6a6f0fa0cfd81a985db0704008cf9c6a28c10b9f2a846e00f30342f4f26abe10d9deea37bbc0b360a164956161afd535b8c03571ae94e1868712c0fb238b6c74b2cb65715528d85d2fe549fab4e70b8645d63e8587c4d6ab2569edb0631bcc30ed32b38014f1775ece3dcf2fa8bfbeead4ebb10761ef7cb031e7f7bea4111554bc176423f64e2b05553564cb4a0b79bca9aaad7c12900978911ed52f07dcf9d3d22fecc1e73da1278e68e2c5237e0588d4470cd9aa2449bb6a499f9196b96181681efd4800a63ba6ccd471d6d301022b5523d86ad688ec49332cb89cbba3953d71ac436cc8714f060bc482ddd109ac8d577e64595583d92e13f959e4bb8ab0493826de0fea418c1a76222ffd0144f42b4145c68b3f17bf60093c9a284c30001fe597d5720cbed2efb1ad16b24014ca838cee94ef4d6abbc7809ff1457b64a05f7d2a0022f27c7f8c54c33f999cc1ac8268b2d53974a13912eff43e76b2770e8c808c1c8e4ba8f8ed534928fae1cce7cea574650e208b130653eeeb11aac275f3ce2d054dd8bc2dbf1077d7c0c4598a50409013a20ce6adfa323caa9cd788d32422b0c4c2be389ca3dca7ba3b20e6bf4e81e5a5fd7e2e68fd147b3cdd575d39175c8b243ad01caa290f919e0e12aa2b6beb01ca9a2ea2f85891119f92c123a83c660fbaad163f9b3743fc8d9a166f378b23fdd3c11ffed79a1a804eef8163e88a91b408feecf934df35bd56313c5c09afede9f09a522116138d41969ca802032f0ba6cb34c08428108f1827e1a6a0152a28a1df40f3653c25c66980a8e1ba36a530bfdbfbddb75eafe06f4ce18eef1d2e55661df3df1fabaaa2ca4c8f79fdac07090d85215812e0f78f03cc1d535b562e5ca67a4d956056b7530217677555543a9e131d9c0a58fe6ebbb25bdfd7e24b9e8fab5e1b371467a0df63097261676a5031150deec509a214329ef94892471c6206465d4a5239b55094aa680f8f5b3f720b7b956fed446c9e9bb7ad6b3c622f409779791302c6c50f6ca10d9dc6480b0653d775c54c52d722c154797dbd521f6b6d81873a21a0610f6dbd03a7169638814b524829be45545656864f562da6291be46536f2f5d842e6a6366875e43766bf04c5bf228545e987cbb579b875d837ad17581ce929565e5c5935448147c5503fe7f8c7c65dd85a630dd49710977041cfd7e96808e72f86622066d49d137bfeceb824521a09acb6d117d4ded7cc8dad17e882896065767899ea8e96cf5d0e9e8a08f6c82d9a08ef20a56f3e20e6ce2e3ce4171c9549a7264a8fd94e638d290a2ce57ca9113eb0f8a3c2a6d945917fb18db132e8922998fa5c052b504cc65ffb07ddab4d082c389eaab90d18cf3984c258b4b8293cb900d5090330666b24aeb698e0dafef0f866e6abaa72c7cd9b5e08dd310869873b60806b4ac7800c153722a6d6427a6f84bf562167ac415e394f03e1fa766f4544ba29e07519d008fd3c4cc7b84ac53f95e1f0dc08c7b111268e52032151be8c8e77d2e423602989c118970f6dd5fe542635f8e1db0b5c58e5fc94c3992617343d65944bf0212209bcbe7d53d9359d36223cc1b5208db317d868837d3cfa420837ab5aed94e9328dcf6adb9f3a9cd2045732ddc7ed0f89e2dd04251e4597dc673ab923840daa786765b9602ac96d09d6834a9664c4dab4cee179b8ce67fb3d91119650388fd5660984a1865864c518e5500203c563d73adfac6bf495ca52da07ad2580e7d399b6006fce10996c3b00ab5dc3d93a2a588685c32fca592d73955e9b58df027bbb3ce4e992f153440b0d560cfb54dc281563e2be07ed859e5b8183fbdddd71bf7f7fed650a15a8e9120a6e7c13a7a5d7f86c885fe598c88fbbfea48e8dcf822035b41357e84949352c73d6d7082424038720a3ef7da9a6785110c23820d54be7d5a5e99777e0e26c5c61dc24bbd9b397739f974b3dca5a8ccd389472cb901ba591a16061fcd3aab6508c1efef1282e7bd524e68f975f87a8b4a1752cd7bd556b1e8c4a6c5695bc90f124c40d2aff707d8e6650b3aa04aa5ab77feea26a773c097c2b947a6a6a8e47187a2e51d1b1b3f67e7402520d1453853a6a5797f75dc57ad275387482c878964934283ec5dd877c0441a2b31c63eb277fe486dba7a10f1a6e064f4a8f221a289bf4180de1db5ba1fdd88c82cff7e140eb47b02190e9b3e5fee65a079e53a86c6a125cc9aa92ab35d1c721008f0ba9bdae6bf42e401be5197076ead9d1c10bb3bd8ea681d5931d97b6171c19d1bbe90a4b98b69842b0ea1a02935ea4189d23364fd337de5012ba85fa8398f929436c056fb379ad11048a0abcfb71ac00982b65d085a628f94daa31fff4b05a20585b7b9a47a8ec6b21f3b62a8c12a6d3a6ed08e0e4b9bb888cfcd8e39d66db76c597aefb7ef03a75b83d66c78b14c7c727416fb723ad85beb6625fdcb97d9037c6c5c984e2dfdbd0400a42da927a532ea2e48aff145da9e55d76794b056d5d55c382353b4d3e4cf640ac5ce2ad62af2d280933bc5decb4e1eeed546ce1033d4be3203e64336cf4c4e6fb56c2eb5c194f4015d60f73996123330aa90c55e5f6c478fc1d23afb6148d64cb593efb7c238ca70292d6fb92c2e94132e6506854bb12c035edfb6c4046769a691f14a79bac700faba98fae1cc7b4f4a8253e5da8b23ca4d61a624ee5492ef74c38101d90989ae3c8d267869c9c3ea1ac022eec88161c3d8f9d870e45e36e8a93ff738b7d8c55bd958325660869d4081a7b58f21bda00d44e7cacbf79f915f5746fec87c685773888997a192437374ac0146a2bc0193e1e2da52a84a1b0776b25414ca85ec1d3eff7a2dd24fee4f52158c48ddf674c255c74a42b01b6f0214fd5a959eb1471d32ba2c80404c6c2e04e7fa1d72517b9fa5ca247c9e819801ebfc91c362edf22793ffab673350ba2dac799fb39bf301fbb5251f9f0a4af519f115c7b8d5d9531d7f0122d392a17c2d44b45260e8502d5752c3938ec08f16e38cf5c045062578d861ee8669f637a23d061a7a974d8f4d34863976932fbe8e82dbdc54c96376f7811cb2bfc6dac941ef713cd857867425cb84ed7a6a2e88cacd048511b87acd6fa27faf69cc929bac9897e56a9771b0e94c32afc2518323138c2f3561308c2acae7c19b9d46c08c5c9256415d18adf2d10d7e03f04c714c7a3b3bc369aaf082953ed93cfb11bf7a9ed4141b7034a8839e24e832833ae4b2a5fb0c8ab1a90b0c014093e5a0a39afcd6c4ba0701080dea14a8cf39a964d8d94c127e7324591a7f3ded8e9ec85886e3e88242820318b1c00858d76ab9c3124aac8951894576a6d29d9ad70e93ede21d26f7dc4280658733f018bbcc79d82db6956c54caa3e8aeb769c1290b66818bd3f966e33762b3d8b41bccc518ab017bed8fb8cd1c76dd951f292f9b1ba638908973148565ea49e49de5c46a95a738d626888f2831863f3595d28a3dbd5cab5177b648096c799919539141d1a3069e78be79a6b28908591030f61b4e2868635df3f58f6f6f5dd6b5d30e785f24e86462c8f3bc599719c091a61cd86bccb0b726b11230ec592d9b5e23347c2b294e1f183ab90b2e52928c83dc5a611c08b7b61b68a638293a5b411dac92c95ad0b56cb004ddf478e1787bc37becbc1cc5b5265b2d59cab735ff44b04499e728230c9e38bd3bd52e427459ec155925de1edffbfc6bc24ffa2177207e2cc87f0711263a0415002de6de15a2c5af24272bed99463e5d037db4645ac407b7212b08d8e48f6ab310a03d0c493257208f76820a703239ae6b1ef827e571cbaaac8a9f13a22024e23909b7f4fdb1e57aa8626a2ec54818224c2afd7fa4c542b0e7d1adbb75a5e67ab5e52f1b648c3391ad5f86c3f9a516bbd162cadd2d1966d281ce2e0bbeeb16cbdc2486516459a660bb240bf71e718f69ac636f6894fdd31712cff20203e4a71ce04fc7ba831cada45c163e582c27de17c394d10a8d1de32233087bf00e162bbbae5aa950ad5763175f937687134758f437ef0be5b3f82f825b54873f8ab034137b664ea1bbf58d71faff20b5399e8216cb5bee88d03543f716a95070e525f8f113583f500f783e3a2574ae5b4dbf7b53f15f949595668071b001858a731477aa972b81ced6bbf4afd0dd7847f3fe2f365a6df60a7730f846c381a47f602a78d0e0f29c3e30b81d0cf2daec2b78d221d9b50ddf7c8e344b5d7979a9ef20d97c9382e9342862e88d2b9336ddb7ed15b84591417d14fd18a7a2efc563347c27e526f0699c3043bd9acc3f493dd5db2449fa44b952e229340a9f1bdd4e4003fd3d2e50700cd371c2b200981bce737a36511f2fe4a11c0bf198fa5fcaefef1de1e3bd0eb5896ee0369a0909786f2de7bcde4bdf77afa8b3f4f56659d32b71a68a0390a20180c72f15b6b73e34aad0cdc963a92a8aa7f6e2d0c35eb7394cb836b582c5c6117109d578520a0129dc6592cd4ea36e85354f28f58d96feb695518f037511925d92f10835637816e2c6f69ae265f194e6f1ff850d45ba7a9976b524f63dfedabcbd3b86b5b6c5e384bc1553b6ba7a5c7de91d87719821faaa31c50f4353f8f14c6db546b0f4ed46f78a520f5580cea82a986500bf5f88e2f1d67f11d9e0a7a2da35cf58bb4f4044d53f97a142b2c4ec123f7f3cf041f930e082799604316cfcc41385bcb85783254b9b0bcf2bcc4e8d03cc4b7676d03d4a628879ee05081a15c6d24fae54cd403a9575b640b93cf7036c63ed789a71476d239a5c6614e60822506fd76df9f3ae4c4e8c09253ad2a9a9e5d7bffa036f13071ffe50172ce81b60575d1b99582c8b365c6a39945864d3c34c08aa565e2fd2fa26662941e5e23767887ecfa6a09169e228d4ff1c39fbc8c1625787e9f278a7ea5fdde5e5d9e23c25b31562933f4e80d5a64065c90de3c857acfbf32665f542250ac0099c9ec3ce54688cc23996ab39aca595b0bb7b88816e2d134ff8655c6f3a637e20ca5b480fcc95096fb327c804e775cfb95ca7a8af86bfb59e458a1c5fadefd7514bb185c7d91609e4ed8dd9d73ca7dc49d8871df3697630259f92acbd49bb5f31cfbd97707ea5a30cc4f0304f4fa2109956d2e55f1f351d769038d3445c497d3e6deeeae4819518830ebbe43ae222ec83fe17590f729076ae339d144698228bbb7ce52587ab5a3e882237131a50560ee4729fdb8aff7b2d71ef1c8abee27c57b0a9c401da1a5eb6b7694942b03dd6e4c76699d602dd43ffc23ef8e44d530db71446beed071953c0eeded0d36c6fbd2acc36d3e666bdc2cca0829a6a72f6004e11aa414b07ecbd69cbe4d8b9ba9affbfdee3dbad4c7f49a5c6086f0671db4bce7e4850dcac4b23e917e21371947f338f945792705df33288a3143b494c23ef71584b47dd09eb5ff60734f36f683c49f1475a86f409de52a6fb15b2c95e97dc7bad0c82cb12aa23d20eb5928faca72fbc0ea359e63cf51f1e3aea07658551897f42d169da22de8e5f0fc267dcc0242d4af3f251c375e674f02447fbb0743be2a2b3125ebc48f8be100eed8d65ef5535d8f5bf1f690ed9a5386a031401cbfdd5f7557d788cf0ad84075275b74c13e49c4ba1c028463b86dc1fadd07934718e1eb30c11e03c4bd097a4c3329bdf7a4138d53edf39ca0ec82de6a628fedddb3f327524aed0a6fa6705fa82025baabac60d36a3bca42e5b12ef1c5733783315a8e19d1f5d2b51d381b14bae3a832c293c46318dedec0767cb2b474abb20cf1be4e75ef194fe29e246f4e28c123e7f1bd51880af8e28f8b0802e6d1d97a10b7cc570748e34e0a1cba5c3f5f1a23c0e6091c768865aa29d33b37c4bb390cd33d1acea9db5a628be9dbe9c4973e896b80b320dff371e06a5c84023dee3d09f015ed5e6797214c7862124b047cb076621a211a0758f72d1766965afc14ae439f8469531e74866db0f5a8150c997c3c0205e444aa888b344a56dd6e4c09aca4ff44d44a50cb8823471c9978e942145a7a321fda4484f1f842a2bcebf6ca4c428724835fd119f64cb430ef02e728f40842897b1c915b52cd5500b47070994df8d88bc6cfbde320cb60eb7be0f908ee0f70a68399c531c4677e770af351c8dde442e9c41cf298f531fd85053f78232ab05e31e3fe6656a11d0717a796c2dd5f1bdc22a95153b7e79c7bba29e22cf1463abc11429ab26fe3c874b1b5e25b8c6fe34ef88bb3a23bc47fa40867ecb7ba647e2b9c63de69df322aa2ae7016dc2fac427ac8c89ea0687ae457efecb7923f294117974706303181b26078f0eec788b298284152d3a93e98d60dc351b0663dcfdc427a0bf5b45263a1ee76fb0638134215bf89ef0bd4e4fdc5dc6f8855c559fb0e9e728af67dccd80bfe27c930da9e7adc50387833eaece10fee9146c6bb10ae8fdf36cde5424c7005759c72405f060480e8b0d77d17c79958364c43d0d5def26487448ef4cbe584a062efe19850471c30e842689fe1457a5e1f71bb4c5a36bbad4b300dc8722a2a4503cf9e5adc0f9e4692c3589d2c11afc0e90939176a0af512e09c30f843ad0912bb653086f08483c1681670df56518bb8d80f71333998d3b02271273127872f4cfabc33716dce391706f80a4d829c4371735e24b367ef9d4bde70801d20d05c822d8dc0780f5cba5bf70abd1f030a802b9378bad8ac6fb7554c38c8d2ec5e68e8738d11e466cec48524a9300e428aef4702214f99ee4234030a7b49828008fa54e1b2085d6c848b7a049af26df77060d0ae3a5771709314135c18e1763018ac047d8e49562aa2899a4e30baa6221b12a21c4149003e5bd76f8a639fdb7cdd418192a3abbb097c4e6ba93232f2db9bcc781bca6cc642e066b47e58c3df64f690aad93476f6fdc864791bab6abce11a237e59182dae3218f3677a22a60158fe8b12be0217da666e9a3559eba4f27ed3c09a8c39f0058380d981c39640cc31ba2fe7adbadbb2ec6a8069258d2584c08d74b9bde30455c34540670055fbf41cab0707cf05d41e6eebd6b3eed177cb54520986e700fd29117f7323c03a6a1d5aad0f929326cc71c1728a37983a477711203faa0922ec0c750e4015b0125bc37d549da7bd6d4929acd67968ee0dd182996230e53f4d23f5e98ac7a800055dfd40e3ca198992b3b3499b8875b3554e1df8346cadfb1915e30c92a1d5de12007a42efbb9f3495b55c4dd944dbc3c7191183bd5def4007a1ee6d0cba044937523a17055fa855245b8a344fcfb7a5e7093eaed9ec89b599de99479f898670385cb9df9456f308ae97b931f506da1791b72fe5e2c54fa27ce94ac662b526622987a5d6d58e29c1310187b8d62aba99f7b0703173945ed00566ad5b8a8fc66d81feb58594da323f1eb95218c4b81870c4afae0a832bafe962cf88a3a1a848c2d0f567b94f48d7c7427aac33bfba853dfd44217062bb38724c5635c655cef078d30ccfa0c1f65d85563a290cb5aedf30bdf83b6fb8f5c1f6cf21daccb7d5a61896fed07fb16340e21d092f6169381e65a3d7b26ec577bd3b26584a7e5c271316f80b7cbd4e4bc545b6c3f2e619aa185f1e4e84c4d8750555dfc33e54344442afbb8a545d3faf9560a45f74f5dbe1b97a06bfb7a0cefaf395d7d98964c3dd9515c5201a65662c13e01e48ed53ee2ac46f22bbc0ab9cac65a9eeb047501329197ce0f73a364cb9f9d6c0d92e5896ee7eba14c5edb75588c304eaa38fae2dbba2bcefbf3db59338f06ec062cbf5328ca8e3744ee9864aa67fe711fc90199c18d098cf5f67c3289f4f053e2562a101ef61a843ec77d9d78c76c4ec8c50b2780686ea03b898b65943bdf5e46bfeb02e14e614a2faaf49ef93250390b4fa7e5ec9c991c9b47acb1cb7302150c6bbfb2c8786fd36a2810f9c071d1c46e701692c2f22957fb910c99ce5805ea11319772b478c9daf652d11f634f8ac42e60317e816f4f1a97919e4cdef69c7b5d010cf8d2ca888d43045db81050ac132ab4ecb75b1353294c73dd91e3eb0cc6da9bd542134dc4676cd236bcc38b14941cd5bf2f8c96ff2739ee54a2f9038cb555edf64d6cccd3d4ddfa44be93ee2f77bd9b16364c0d81a6b9c61016cd06dba598b8ad21177fb6f133da381156d77a6bc9104a957f9e32b180032523af77505700b3c2c40c7f93eb252403e01df56105521148fceecc2933941635df2596891f8db7ff1278ad409aa704bd2386e8c5195152051a0da9b0edfb6559b4fd24a404d8ad5b86e05b0e408732439bb3c15e872907bd894fd7e26d5b9bc2b017dbf694e394b20e056a7d6592b61cf76599ea732225c6f595ffd63bc7b324af7170230fbe1d7b8b247bb907d969152bb581221e74029e3710c3a267145cc609ff1c71a78db9128c16d7c780b537e4877eaa838958d158923bfa4e6b224e06dd5a4e54bb9b4dd944e6e47135af18150aac01d878e8a5989c85dfb75f5ecaabea4c42a216f3fa07af8f13b11a7123c0b1f369a661312ce399f5aa7c56036f198184ca77ad89a23445fc81f80fedc50ef8f692ed185692c5d351377e7b93dc6c28783750595d43469d193939eea5da68f15112b5652f38048defe456699d729cc0ee96504996b3a5d15e6bf6acf7eb2c64ef657d6e16f1ae8f8772adfc2d449da76c0ac88f8c4ed408bd2dae3bb62473ebd5bf7fe1ea82db5eb97939cd43015f4ef61b0fa61b73575077d23d4e5ec429439ac8c4ddd91706669706b43413340e4c4256c320f863cb7a6fd39981f563af03448167346cc1aa602e9fb65283bd2d0cecdeaefbe53c30f466da822d2452db05e99d4c6c8961886caa9d483484865f432155817df28b2e55738c57a6133b9525ee3a87908833d18e59fd6326dd365d4b31d67ec111e0124dba85557f3ec6ab5e34d073be092aff1b99399b294ed730a3339a50f7f5f2154cb7dc87a010c883fa15d65b5d81cf328c538c835833bdc430a92685c7c408c8a62be41cb8366273da723662b34b4d740de568ff5b746db2a76031972db1df5e705a74abe2a4bc06a5e7282f756a20a19e0f3d4c4dd2737b1739f8d7819138d1d383b89c242b49631ed24793f390a66401a8095f5a466c11b4b92e857bebe0ef6019d6d3cbcfc21b0132af1221455e931f46b867a3a18056f0a7a9cfa51632e618821ab3c75a8a2ac3aa6c7da75e3be7d8ea48d3300c383ea6cf342d80208f8c1386cf2294f5615d00d0071d98aec1077fb5629d54d78c7db1e9aea18e69acab6e1382be1b0ba97969435f8f552aabca4cff65a9e8e3a743aac04796e6f866a2f5beca121653f785b9a4ddfced17ec990b55c82c496fac6b25a9defa7b54b028f1956a476e4698eceb8ce18f6e85593cae3211f989e8151260fa4c5abf7f156d277d0a9e26c37d7a1699dafb589a74a2fc42085717dae87229d2c042cd77bbf70bcc1afab788acd66ccb71c8f6903cdb118825c1aadf50e367aa1304a3e40c6ddea099b14c9f72ba3a6dc738f720c2206036fca05047213f8fa5ea19d5ab281d7a04e555361ff734d2149be712515654115072e532792c3b6c77af06e92b9bc7fb356f8bfe50763fe0fa9cbbbf885db4328e4a7a0922f8ff02bf54ce96b4c2988a0f459537c65a9ce640d95def604d54839fea018660b72bf2c9a43e60c2305e645bac2eaefbca9f97020ee6257a70168e498f559694e43ccf7208e8d2940aec89ea695d5e33d496d8c79d9b31fd4ad7470ef17a7c7a9c7812c5055412842881ba9a76fcba9eec902ad237e9c94b2d1330b97ebf9431188cfe2cffa45a8dc38bf3639671a9a2ba9d1b573d7bc274c94f2e23bc674d2c4e23747eaa72403a519df105ee9a6c5f668766a8d555980c09aa563e3c69e067b2099838ee27fac166249daf57a721bca5754210f80045438315000a6f9f6e2fa9337e4965f66f8fa2834fb022c97be7fec725dbd42f81e338f9f8b4c75271298b30594ae2a3d7ca2a8d3bdd11f9ded8afe612bbde44d1edd32615d336761c5a900187f5ce797a8743003e9a4a430c66169d93ce400dd55e6b65b8d022a8274794a49e2052f06f6bcbe0a66658eedf450a7d84368c84c12017e99269dc371f8c1b65cd82172eaf5e83f5f91862e217da7d57fd19a593d50240a94e9b4c6161419288873b73db0574837889aa4726982f1f45507beca9e3cc51e82402d07b2d16f7ec97bc66ef28611cdb252d407c546cac8a9729b4d7731ab107f2c2cd2393b6ab1a9cb44fbab45eb0a72c0efd694f105e9e9920188c21fe476bd18e7fc14c16af444b1f86baf9180e3ae466716979e3a0324f065e9151c8816b9fdecf23cc8f9ced1e6ca182958011f4fa3a5b4d06a161779009233762bfe845a67b9a504712709958c42c652fe09d64c19a37565c7272144d2344f2e20e4e5c7de401877963f24fc896b922f0aaa95db237eeadc8a75d3c3a08f9b34597d5b1eb9e31e9c6f3ff5b064847b049c7e9912d25b4eb5861021ca3d4bf34030fa1018305de3e65e40393287258942470a5d74316e430e0080bf7cce02423bed25809864e9fe52f51bb34002c2fb40094abedf12d6570274bd40f1d85e0220236468a3a6f40c2974217394cc1d7579b9a09661e1787fd435ed2bf52a747d77c1ef73c589711defd5aa2873ca0d48a4f4dcfdbaa7078ca14c61869d7edbca193777b7e04de6d710a16222b63ae59a3330076ed1283570a141d6ee5e4cf192a59648373af5a059dcca7c943faac991409e00df70c3b6520d29050d47dd77db13d13505ef65809a926bc384f7107d8796f4b58b44d20a4bb83b6f67be2560e66a0b5519ef8772791fc20fb80ea3a378ffc4effe9282e107e5ddeae895d9cf6a84686a3fb16c2f30eaf26156a260629a03ce1aafef4cce6fd7708fe26eef4b0941b5f56bc3ba41df01af8d133d9fbe9ea2c301dcea492b60bfe72a87f243635284275f55c67d4a6c0fe20e779ac3d79cc5d6e38a705e7e3f527d10f31750f5afb9e0d253458724debb4b664c052281c84d8d17eb6a539c9228c8e97515aacbf7412ecb88303af7037654952b68a8a0ae4c3ccf176741bdeee1e21d9fca43cb7ad167e198dedd3f668e843ac58c4ee602b3015b899713bc5cf2956dc15e9168ad87ed7a9c7f4c4196b87abe9386cfd1fe71fa9d7ea4777ecd3ca84fd952ce19a7606f8621de66551a039fb6b240c1e862a103d725a2c7d7fe4cb98f9f77d4a1b30b37f818b623b56b78b451dcc5b98112aa714abe6f1a03ea7055ac6b7fa7e9732a60502af2b3fbfdede1b43c3d5681b0befee53c036689fc884ce3e582d7baadd553ca838f2131ba20e0e966964b500f5f7497899c278f10dd40f6042a1ba337799d29d582c2c413846ebee82f7f0d61e862621a3ae5d06e46dd8c48e86311edd11db9c2ea27147159b7741eb326fdae2d6341fca00858388c8c1c77bc0b215308220656650bee81ca732ae4732b28b5845475b7324782d9e7dde3cd531969cf831fbb65e466745af8d3c744f2ebc09ba0ed8bd6d865c8f90e3b81d6224397c22a8ec297caa8b97228f844024d97eb222606749ec6112239479711d4daaf00051a45c6aa502fec7032564ecfb3536106d766242853c3a6d99f07677cee7df0f44c3737a3148bc01bfc8c122421faf2a3b9f7d1e282dff35a8ee9580a101c4f88c4512a7e2e2dc7a8a65779cf9a6d928296a6890f1d970a874441a6d8042b9cc356d39f37da45a93705e7a09182ccd48fc182eff6ab324609f85dc6e794b18f4d5f64c7cb26ae0ffba00dae7b904ba83aee1908f5f55cca28cad947e353a12a311fbf18b3c968fbd77328e3d72ab7578d7a4271c2f028e71cb8a3b82e5ee4154761f505ddc2865ac0f9b069756958bb1755a0443875c1965cd88aadb3ec8068dd24ed5b7da99583313b3d351739e44a76c171e5b04820eae097a506be1d37853de85d03350a3bcfd43977fe9a766a422664319dc9798803df4e77cc0620c034fd7b3bf0c76a0c10f5355daa1843b1d27a73f37675c70c22c56e4ea4f283cb0d286868ce637f0fd21ce203ddc9e6a685f35fd208b1239c0961b6f2fb628e06f0c1064679a7e65838ef568d7641b0ba30ba39d3c0645d9b646d173566617a3bd786fd8a966f292b827fa9a3d4c10eed619a63723e48a38d946c8d39b16d0646c2e0a8ece25aba668c75decec98ad70f71dfe4944eee11791f2415deefb657b12fc06a1ee6bdab6e9f26bb7bf708bab0db073e8be0900cde1068a9940ba8ffdd8d934fcf3ce5dc1d61344f4d6ba2f130158f641c9edbd7b3452cf6fe58ac2e6b6f6f800210e15c50b43adeb105463a25643a1f2937773fb913f365c1181e9105d35a75df921771c94457f087ab6ac2f0e1823d974646f13e9f2ef0cd514954d9d848d1e376ef5a887579362dcdd57594ee858ed4b68a2c0cd8a1bd87b31e2ba4b77812b226961a3113b93b37f8898b3b22422a89d114ef4c2e50c19ba1e328e71de625332863cd9ef1187bfaaf54605d612bf8b448ee446cb794d99ee1e198ae294e8140fc270c2c38246a948082afb8c1b7748ab9c7deee1c12122417cf0b4b5906d2a7013b46d35c26aa8f0b9a227f5ab49df4f6406f40d3e42c4d4fc3cc8027153da104a8baa35cf346e38e21e4858e3fa914a47960e329d28aa1c70d398d1f10dd861bd02882d7cc8ca3ae59a5d23180f96f9f5ca5394bccf8f95838de23dc2576acb74108d26cc7fbbfdb7164c81944565067ac0166aa2dd546219dda187c3aeb83b8bda97757b88f1c022dc6627a66c8cc2ad5a02796c7ee56ef34d574610d0cf3ca3e1c161b3b8bdb7b34c9aba3fd5346deefc65b68836f744f193ff0f19c7dec300e64612f9533d303153972dfa50fe2740451e2d831427fb54540226ae2fa3532d041b4f9822a3fe98cd14c5239236d10097aed2e18a03cc723813e7c418e9ec3ade725e2c775758a20cdf3a187aca7dff17af467b37a794e058936c34c6e0fd1ec0a4641d4f3dda7cd180acac680ba86f200cf8c986068eb90e7da59814e6efe8d2c26d5798a43087221e330fc064544403954d21e49666e566dc86980b59e5245fca4eb65d63f67735c8b4e5fcd918bdbdabe17aa936ea18d3c716f5252263413dd23d14f6d56a021178d7aa7937b6fd6332371c369d1a1c1f3a6ff21f13629744c98b2a86d7bb8f7af92883915c0687bd5e466e45fcda373cddd3b1cebeb03b136038fa5fcdc5c9dbb3eb6f5e8e0e8ca613a34dd7b4a7f3531851b7b0997a9a5c96ff293da32b3caf17818fd576b517f2d7dc8688c106d8d5f2f1e857290c50b312a9b7e3589a77fc18e9ec7b14f3f6ff38c3fc9309f751fe3bd3a405c074a70ba9f414c874df0e8330210e7621743b0df5f7fa89444c82e3f6702bdd2064e776d8b1940e848aab62b038b54d8f3aa1d85da1f50c6e4586e4c88cf99fd5e5baa73d577106ad5254dfd8419874d9138c25bc4df3bf668763a6ef262cdd05a338cbb6a12f1427b81d0719c5f512488947fef399b37fa027bbb608072bd658e98e9ecf64d337f8aac0f79c4675b48ebe31cb2e52013f090abbd9ed0fd1e314087abe324700fb5201434ff075174acdb8424d53ba266d634980aa54d37002bc3780b5b05a96d5bc89cb65b1311f40ae72a6d70eb5b3e338cd9cc5f702e37dfd6a1680b46158aaea3773fdc1f4b7ddb1a19e60a601c807aa3fbe9e7c7879b1fdd8f11277be63e79edc0f4e6ed140a72604c133d5bd4a0c1e8c29d59ed97e27151c8c210fe700df29d64b55c283b54c36765c44d6f5904587ada0cd757abd45d063b7460d68804279263341a803889b3e0fe05b7b8860c0fa14883a3b07ab0c33b745c0b0ef70eae44285c95dabc44a4799f57595f921a0e4a35355d565773d381aec8fb405e4aa47acad7ddc536a0a3b7cbb6b4231b9eaf4d269345209037657a2c83e28f119c4725cfea0d54763ce814f4ed5ce04e5601e0685d3df44c141072c13fac3b76be5397de6f5690df618c4f868326b95f1b1cdc06297e5aade6f618be34965178f649664ee58e408294c08b18aef2a92bb681fdea75adf9c48217613a0ac2001be7c4d1c05e8e0a758eaea619a4af46f09b434e0763029531377a1e5f1180c425d1d392eb88ae524794fd47151efe15f61ee762d65f42e0fe1afd16c7c8aa4cfe13b6d0775f4678140cdffa30dfa1126857e580308c8897be59057e4572df3febcf665d2330b4e49666d81f794f0cef91bf852413f90d069bd1fcaec4f65202ce0368019e81fb061bb453e389e4aba1e3c3bcec18d5c14e80d358d749ba354eb826bd749a7e12d7fc30acc96d8151cc01db2b05575a55e27fccc2d1684f937552974f0eb809bd06ce98df61782fae308f1cc858a6d3c4a654f30eebf48260ff0af9c98dfba3ef3d639edc88dc1f1b4b00d600cb19378aab4fb2eab6cb2a0e335ed689a048998173eeb78c7aa43e0b36200809a5805443ea6ab8c46e660b8c9792bd3990cb08fce805a95aaf836a3433de38eb0fa79226163b67fdcdefe1a43b4c78355e989bbbf9e5655d3f9163e6b7132f7ee5a44ee9df541f1171e3a64f689f741f3f61eda2cd18eeb177075f5c1026d1782c62b04a665c4509d42452057ff582742a505ae479d919685df93d634b0563f1d4328f1969479f4b66423b5b9bb610441e5798af15101276abb2ae8a3a8b8fbf3d2636c0e7e3c71f53cc0f12c847322ad7d12f3f71222f302427b59a61f59969cc9ef18c9db9af5651f75559ce51c98e5341ab4610f34518ca41888a43f8819d61929b710093515197425e345db3364edf26ad2af668de26f7322eab782b67e328c1fdf8b9226054bf7879e3f975d0b7815d21663dbc91bcc7fd0ed7175251108da88ab830f36bf1333b6df7cfef1ddc10e662e694bd268736276af2eae999efcffe1f8b04ca76702b457b2ccbcb6f2df278fc31e9f69568fc700a34fa55485c7aa83bf533ba5038524853683d1535246d772c1b770de3771e976ffffdba7758bf217ec327692df974f0bcc7f4bd4d88bc5ffb7013312e50dd0cab29422d6516fa69e87df2f226f0eaf2d71197e39dcc71e751b8d4a03c356a9daca82a41abe8fb689eb6455a156e47900566e59e92571ece76c7441130fbb345ff05171d69c8ab6667bfdefb7cebd93550b7425a293aeddef07de0f33637dbbe2a49807230af5d98838261d80fdbdb8b7bf9167f3eebcc8198f5e72adb8fbf241f378f17edf5f9be1dca1984d956699693317a36245bf7d827de6df1ff2d3bbc7cd7a38cda81fcbb119594f9f59dc7158f8315469105e0f9e4e9c7e41f7fff43324ae7896f1f0922f7966adb2ac2c6e4202874e307c9566cfdccee94fbafacb99c9b9ad822575115995acebbc1427690f4c5dd7f0a6c112100e9c05de5de1fb3f516d2a5469cea012568c11e7120da7a206828e3642734a70c6f12770186918c3d076a90b68132bc36cbd482cbd6ea2ef8b56fd0eb10738cfda3eb9db655fa356d55b345f636bd97755fc65ebb1cabf7a3ceb599fc9f7d402267ae6db9b4029676d332dd9bb5ced56ceb2bddced564edd7ad8fd73f73b6947832514bc3689551b48553317b1ddc94b0f12b17667d387763bbb8b7980428478afae78ebe38fc98c512b0e94fc808b6a224f25f211385a914e0344cf3b2d3307a72dfffe69547ed3fecc5f273d28e67fd11d48392e59cd3da8a9a06925bde4b5dc884a0941e44c8ddba7333862871f5e6a4e9da4bcf0afbb58e60eb4a4c8834a3c4925c4f3c3ffea73c5fc4a0466946e61b9fa9f3da771b3da8f3a9a7fbff3d1bb1da50fa2358ae028d5ccc0ad02aba699b91133a8e689e9f23319604945e047e1998a5a053ef2993bb8c5ec667ddd01583b709d4011a1ba89c2d27d192388b52a9274c6dc54e8241077d2eb4996353ed2ba517a0d5c6655fe73d6d75f1d7e3576e3f66a7e57f6649f36fbadb4a1b43a292bb62b035f78cc6c20c9fb77514da24a06084d1be1bfb7a2a04c6123f6044caf2d72a3af2ceebb72e2782c7c937260502a3c477627740b37c62736c21b76312774dc1bb41e27b5ea1bf48927f37c8aa3ce16a2ca8ae23916e0d28a60111661e68e208517e4ffe7faf6de9ede8b98d44cfff2ffcb9f80ab408cd1ab15d70126e8197e6ff37354b452e90d74564cd603baf51bd41d3c8b0505e65cc2b4d2556eb4b7eddf057eb234ec90ec3dafaf24236a20fc1162bfea607b7549270770402e5ff4346be666a0238c2a0ffa94e59ee9594c92fa3002a3494b92665380c1eab5f4cd213137b8d1cd1bfc391b406d20ed83ea8db21ef037709d2998a16ce4f3d385421d881cc81ba3aaae2059a176a96b145e7659c94be4308e5279e1f7a7609c4e463928cc6a3e7c96527549580fd2375b076413a194f6324f31524538e9ad9899edb40f47aedab3362c69a5c37545b7f9bd4f121b663b0cade29fe70b353337a70dfa30d5b914221e027190f3d2a9b1f0b90968cf5c3b9e1d86cdadbeeeb9252ce0ca5f8081935ed288bf3c8890f43134f5977db99fcf85d6cbb9de348544d3b95c188805e7b0148cff0b2ec08baaef4ab9c0ca72ef8811aefabb29ea3901ea781570d23e68932968110168501831e6392847202885052a0015c352ddf76aba2b6a3fcec4f2363797ee375c5e36481ff7feb4bb554da541235a504836318bf4f2b86cfe24879f60e79d7c875cd8ef594485ae6ddd4cf3dc97889ed785e365cf39ddca738c32fc090b8ad7935d1f3bae9e834cb344b806db19a417f6339f4c900f18dd58ffc7a3b7f8a429da864baee690c00d850959f877f8696573f42c21fc7eada05fc5a2c89263cc454099e175acdcf8fb6d4ab8e9f8917bcd2dfb575a0672b55a7b26457ee92361a5849c6bf504c9bb4eaa05f92e7101581fb21ec00a762131bc1b2ebc16623ad05271e731fed34a6bb21d99dd4f1e63a21d4471b7e02243ac2bdd729c1dc7bab5a767147d8f0dbcef3e64dc540e6b1c90f81d2b4e3ec6a7140f4c73f9e207c0ec880431816c9132c0ea854a8f27c207c2f09f4ea0da8d7665051bba98d380c7de9767d50c725a219781b792d6277cf5f0d52660a95531c776b5c7bba19f2cc0115cd1e9ae27430d46518135628477776be603db9e851390d3c98533162ca861ea75912e409244db5887449f34dfc914d980f713daf7856a4620f1937febd6de9c078f5a1d5d7c857d0087518747c4b38875cc35145a93af8cb563f998506a1e4447e29c2fc9578ab2f88899bd30f8c9b89bb3d1b50833579a11f389fccd259264acb3cb9a23d3f6738a8a63427367f32e8d0a41303abc555dcb42924b326014de0ef19fdc96b567e197f1fc0426e5317d3f71cdfda9ab98fb6921c2f0aace8146e1a1a45d4e4f53ddbafb67aeeb3ada4d4b33c1b06b9abfef972a068861f07497a948d54b7d69a16b0e176035864c1bde889389dc66dbc6a5e76b8baa79af65b8efde7def873bb6b3bf6b524020983e0176a1cb296af1596654587a6991aa77d9aa6e94f27ccaae8a9847914e07c3f817c0a44fff4ce8d94ddf24757610365ac1fa56fed846296aee32451144d5dcf6314c39eefeba669922cb371983f6bf33c2fcb72eafa7e3f2f4be2b86e3b06ffe1f37018499ae230040dcbb6d9d494fd549e75025504aef7fc67b60c54cefdeb2cc259a7d4f467b3284b56f833b43d7c48930c7fd8849aeeaf88849ae7aa6a9a5cd1a01fc165f50b532af6d0cb54217f23290c5c027397aafea527df0c5e1662894f57ab73815dc93802ff5e9f332379ccd0e22be7ae647136fdd7e0badc8610bd188225be2b1ca6f0e93b3db718eed65f44e6816a55cfd568fcd89a85255e8c9ef8e0c650323277f6cfb5887f01e0f0a37ef731359fbe02dcf383f05fb5ac5f456fad5ef5143fd7f042bbaa838620eceea2e7f1510f6478b6a21bb0d1bbcc1a327573c56cbe625215aaba625b215acab2aaf2e8dcdece8dbb3bd3082c743ac18b66074f7054625943756c081d73a1539d7fe7686f21db78025ce5eb7d602a2ad46472c8190eac7caa9b323fc1ed1177914c6e10136b33fc21f29e1de760562f07f54fa79c3b54ecad080687db6c3ed80e176e12aa2f0a081871f50d5109db964561389ec7516469e1ebc23f55a46bda2072100b37755dd76d661ca5b15f58139bc04b43a588e8b9fe8f3ed1ffe693daff9b4fd4bff9a4876abaf6deadb5dde6dac873a6ff91e7ae181847361836dd7a6cd7d9ed726cfab1d1fdbfde4e0395b37ff7cccf8e7d391120658921a8645e8e6d38f95c0c4d3cb7fbb4655b49aabb22ddb027c13bb15b2d4047fc3852bca26d6e237aaaffebb46cbdaeeb8ab709dd283e0c4751e00bc15f230a728c2babc8dedd53e6039ba37f127fe5eb1a6a4a5d012cae5fd78ff7ec23c314e7699c44525bd3a19f164e5975e2f3a3d21d69a84052ee9b47ca1449ee25de37b5a7451b5b10681baadaddcded57504e643092b175a9309283beaa40befdccf1eb35b112233efc81ee5ebfcced73ed23f2cba08b7428b586ad24dc153ff45462e4cdf393211362cb3af359006eae7b3caa32f6449177efd1009e7ef031fa0aefb70be969a438fff4949d9c63cb705a8c9d2ce38e33ad3d125cab6953cfa4ee89633fa80aa31eb9a7653b59065a54d9eab6a6caf96d74accd6ce2a0fa7fccdcffe25bb9ff67cea69fa6de063f0adcbf388affc691fa778e7e7fe3c8fc3b47c6df385afeced1f19f39fafd8d23e69f1c25f8767506542144c7d3ffa763e605fe1ab6719337ea5bd15ea22fe21c70633b2a083915e1e17ea3fad7d4cce441322adb925de295fb82d8b0536def421699440790bc3495ed200f7e30dd857a1b864b9cdff7841955c0e23525fb0cbb0a20ffac793f3ba8b6f461dde882b7da0ea3dc490dbd32e9c4b5066868f9b6b9671fc210fd34625825a826e0ddaebd8db767d4b99a3ec789a81cbfb721a4b5b09b49ce46b8f501ddddb122fd9530378471b7ef2afbd6b191a9c97086d6780cd6cb043e3a8a10ff760348180b1b737047b050de30b38f46afb8dfd15ac6099207e6dbed78ecb23e0cbafe53eeb5371b8b1db934656f3c6ddb3e5dd37cc3a8321ea9a023135d0015da88baf762ce880e78aaf5411f3b4d10be54d0fd9780b0e49ab91a46e10698b4fdaf3bd865be8bcc7138cf514c8b1eb8307a8556cafbf709f20dfeeeff72a770c2347bc4b74317059814ff792bfc3b1342cb71ffe0250a504bd6555e6ff1feb7a7f8c5116cf317cf30cea332cdfe2d67da9f7fc2b4861724cfcd0dc25ae6371361d760062b604274984bb874486621a233574852f285e401b80f84daf7a76f3964d4418ddcc10ee7ac9c190dcb109bd290ab0c5282b8cacfcfd1d51c64845e9bb038c03531e7b40171dc079e0c1240eba77961dcf7cc05e57a596c4acf848e22557a8e7d674581cd00f9f5954a947ac4749d06f68ff1e9cbadd45ef84ffd3ec48d03d03655a4c4b8890fc50499b9443bb41ac2739290a8cfae775d5b98bf6c40c261f420389ca6375aafb9d11168b7b90e413df3a57a976ca338bcf08e561427d8e4333874888b49a6ecb996b65ad61053b329df0333707ba8c0e134c097a9fc2d8607bc9de470def3cd4485d5e546a9863985befd5476914313317eb9ecf34ce8c1d78eae7762e26c2c6e34c82eb0692f8917da51e37e0cf9ab5a51fa7fca904fb4f58b96a37e8d7d088ae32009d8cf5ba019de3d8671c4f96ac4dd8e9d41cc4e2c869ccde1c4f598e13c8ddafa71c7868475fc5600aa40d3bcddcd7ef17ea52aa59da4453aa45cac354b2286ef9acf0fadc318a3baf39832f6a032fca690f193f94f3fb980d10bccb54ce70166eab2f9eb2358fc7e8ba6bd48b273a5c8c2dd7163be77069949f13298140cd3d84d1ff9e3e86daec5369ad25dc882a25461fda3af3bc340366a79ad3c67b25cd082c579828a9d723ae04b54e8cc9113bb4174a1dd0f0de6ebb4ad466dc60fa6b150a3a333396cd19e845372b99b048e3ae57e5c37f42e031dacf878852ff00ad89447715913ba924c2705b71169ad5edbad32913acaaf193cd2d460fbcd8ad20df57bef8f253d19f721af5f6853683eae3352543f5d38e7c386923979d6827bdac45fecd4da6fafed356823ed1018357c28fa2992f31ad8ab0b11606cb9d114f26c9e03634f976381a78c5d16781ba1addc0b883ceb40d4fa443173b7a33b316454e03604fa9542fd5530b528b7bba890aaa224b0d8574eec6a76afa40bb81eb8c27e8084f5b8b935d2c89797da81a1444d0e46d43198679daddc1d0dd6246398b3c9c40fa903356651be3e07f45167c974d113d05e385c5f36b9afa67aadcdcad93c0f555fd5a2c74bf7dddd45cf6e352542b380dcdd279961da97213fe239243ee2d7b6ae8b461bccddcd4372c19ee4d9348f671b131079f9e8dbca4813294db4339ee3f35c4483aba69cbf9bd96699b69f21f01a1f3a6f1365044d88bb28abe28836ab38304fe81ad43690242ed05070d78985471d4fd095f25db4f34dc7c59a2f53fc82b1382198c86635b5515f41e95b7710f8c0194468fb19bcacb3e5844a7bed2a23d3f529ed05bb9bfec64cfe0dae3bf0be53f43ad56c36cbd113061db3c1ac865257faf41a83339dc28f6eefd43f543f3f5e41f43f78dce5ce66be7cc30567b59c549279db61f986f6a6875c74aa5e1b3ee4bc6187faed160d5907a122b9ccb5e7bb5b4d4f89e76d86e51b3791fbc57104a780b4ee025184987ebf9202a8a20041971d41f6691f5e6b1471de6f9cf98d23ac54d564d4134882c7b97a12082ce586748f450a50c50c062b338d128d49328e8b98d8ca6c0f8da7db9f6518b44e1876e5361adbc70c9ea671065bd99475175593cfdbe8b10b1bfe7994be1aff4894a72bf0aaf79266738b54a8a293caedc140a4bd111c730212e27a18a3426330c4354232ac163f5d60d12dec29829cdf15c1d8d1cdf0b66e02f31d45457dbf6f960dfec1353add95ca17250f6dd1371f4a50818348712deee6f91bc1f56fb0a257bebe13ac277057b4f86d8a9bc5a424c323e11bbea7125de26bad3e5f5448411f42c46614f3baa86e64373ef80e432cded383d9238c0fd5f86dd107d529db7638680ace01eb53ada9139940548513933f8dec1d57404720dc023c77ae4601ccaf23100074861ae5de6dceb7f519171f6965df1c8e9cc467736134ffd3c977f757c3191fb497764ceab11e2bd0a58912dc02d424966bb36e648a78e342299303a5d31943baa5946e7dc8fa537906df30b67b03c18fb21f8566b9f80591633180de9866532555f001c10a2ef231058702f287a398186162323f5800382532f6ad62fc0bd1e4b95e48cb7f9496192f38a82e3655e854236579d7e5a380fe84d3535d53dbe596b4ccb4b4a0da1f6b5c8fc92cf93a99379e58c3b44e46bc57b2413a4f54f29e05967ac798158e9fec0676fdeedb30b977a6f40337b22148562262fdc2c58b15f61de2e69baea3e58292efae33d0f2af339a2676af3189a982d542cba386f3023acad40c6f63e72261dcb831bcccb3ad5a8b5bc1e18242ebeee6b951122d8fcbf314123b63a3aa3d0986820f5fc5949025a23de2930ad5a9275b715c578c7a8b6839770a7a54f56d2be323e2d54c67fd90bfdd806625e71ddafb23e00af840c9c5a8a822c3d03aafc1dacce5b42bdabeaa37a73cf233b160e650016f2c54055ada386fac930d18cd01bcb54e0da7a7932661aac272903da9cc9b548d78a3d2becf309a713567a4df4bb0e909ea9ae197c2a9d093c1e46ae3dbe08523e366926ce19c3cfc68aa7d206db64ad8f14e26e0a5f9158e589b2687615538fb61658976087d9e620823f07155ca243fc45bf2d50911203561e799476d69a75205bbce1912b364de788dead977b25cbc7d265832298a68ea2459281360001f17d5deb1394a46d1dd52693f3c19f7fd667a7a6d5ce725cb3368d4cdf276ba6e33f8fa8b8f5588a497173e20d71a02138343b72c0c8c3c3780be425aac3c10954f15a6849bcab66e248bd4147f98d72070a4f151a6e639931fe2f5ff71e25f3bfceb4cb618f82eff5bed6ee5f40173a19c73d6c03850967eca3918fdee83bdbb4fc336666c8fa90b2e92c5aaa5aa524962058a279d632633940bbf642e10307e309399200911c7776654962973ec102caa6e68113868055eae7905ecb242b868de35cc811ef04334dd9347396da0d108773794c0afd1f64a68c72134154744b69c2e23c98cd912dd7cd37487ca3c3d44c3ccca2846c11ab123f30fd30010bba4404f542a65d524e20aa0e8fd6750ceeac3a3d2fd3e1dd55f51deb6878e7ac17a4e094e4ca34bbd47b4c32adba1aa2c687c6c91ce7f48840c9aa81fcdeaa9d5cba0a4b0c08a7a7f4fc829da86940ba1d54370de5254d24ccdd7ae75909b728301046318e6fff5e7af3f4bb655d3f1e75fffeb1fbb6ffefcebcf9fbffe98d958fd8dfee33ffefad374477be6ff5ecc23b8cd73df55ff3675d32f03b7fedfc6f3f91798cff30166fb5e1d3b785c60b1ef603d4fc70eea5d5e6dd9d1cd93974dfbbfb1f3502a473674c5bfdf735d237f1beca67afebb2fab23eb86fd6f38fda7e9ffabcd7ffdd9bbaffaf32f18a52008fbebcf3897d59f7f6108f40ffc1f47f78f160442e07f83917f43481f81ff8552ff82e17f27680280a87f41d09fbffe74fbff28bbedcfbfea6cd8abbffeecef3f14f8eafaf32f9820491241d0bffe18ffa8465198a2fefa630eddd4fff917fcd71f659afffc0b8130024251e8af3f4157fef9170ec17ffd91fe467f1371cbbf15417ffdb1b3f27f14cdfc3fa03ffffa7f437ffd73fd2f7ffd61fe26b92f55f1b74defef0e26308882701ac7fffa63ee7fcf601804c3040423fff1d71fe3ffab3c0123080dff4f798226a07fda7ffcf587fbffa91fa6ffa73c4263248ce018f91f7ffd61bbed68ffffb4e1fdef82c00e73d1ef7ffe8590c8df83fe3f43844134f1d71f71c89afd1f6f48d5f44fafef7f67de3fd0f92ff8b777fe97fff83bebda6afb27147f47e70f18ecd5b683e53c35cf39bde03d6ffdbe6445056efd7fe5e1ff360dfffcf5471997793becec68ff7709fddfebfc5cfce7829f6d4d75fc2776e7f9bf90911d45fbe75fd3390c7ffdf18e6ca8fe3b47fe19b955b6cfd37fca4ab3d80dd5fe3fa5ffd3f27f0ff96af96fec57fbf17f90fe7beaffb0c398cbf36f7bffeb9fffa2ff7ffe00fec3b69bfefcebd8ceeaaffffb0efb87b93197ff37dddbccff3ecee53f9bc26adbbb7fee1efe7798f8a7462cff30fd9f05e4ff92f07f45e3ff79e9f88fbffe94d991fdf9d79f12a225a361d87f4e26da3d6058e56f243acbcd30ed3a31ccfff999940da552284085340b9284493ecfbe6ed2a40da3dc27a7040a975090e0325aaf95fd6f733d8e6631861110a673784876048589e2c8a958882b8c8e67f32805200ec4f34747c094224eddcec674e63467964e254ef3150b12d1e1c89a127e90cba534246a0a6aae2eda1d9dea003f312a9c38da651f7063d14313f7165eda43aaacdec1ff6d43419a5ae8c906e3a2031e40fe3d8cab3a0aa09dd963f8d927e53ad4c51b33085fc794fcd01d1caf449d292eadb422d2a779a95625ef4a5dd10d6931903bd1875dd65a12477aa18d72abcfb384e97c8394ecd62b9f1653177d53d3216adbc2b12233dda6f274ab5e3467212ab65c1b13d44338cdefde9141ef5dc4aae00509ca8da60ab4b6c987544aa9011e4e95c607ffba360a75c6b49084241885a0da1329a4989f63da4aff905505471e87e0510a53c079e9ea7ec4f90990ee6866130aac061173fbbd03bf33ce5dea7fa51e36607df7e2ab0a3b1e1e2ddf74af0321d2b363e2282229d2717e7b8aaf5c18a4ad67e4b5b468278d79db3cea07721e75a8e39e1ff3d5f912d9e792ab45a001a832b4592c6fb51b0664bafdc0255759c4c81aada576213df1436a75ea61e468a4db608eba4c79c8c99ee9aad189da5be379aeb640a8e38f1573978d7ef99e9483bdd237d1992b75e75657659abd54e9a2f2245b86cac0861d3b844aa1e5aae8094e0f09483a27ac0d64caa0b756d35eb0aeea6dcf45387f0693daea1dd4da39271b9a5923da9a13cda15ccc55c725d8c8d30e6294dda873392b61fc354520652a17005625c7203268e52f4e8355e4584f2f72287dd2e451985dbea72ec890dbeadbb799905249a4c799ee2c7f38b5a85ffdfb40a2c2f8d70106c77e949545a541d649d5987dcb831a5ac5a96a910f71f2cb08dd8dbe8ad27cdf85b9faede72b5aa65c7b486ec29b008a64659b05b9c7874ade106d414b11b729ee9f9ef253a8fe2c1524dccb52ade84231dead92dbd6fc7c9ded2b74b36354174c3dd9f77390fbdd83a67258dfcd0b38ae4794a59b52c9c98f48ddba1c7d9674085cc7556b3d0063f5158ed52be6856aaee2396b16ffc6258cdc50f544501eae98f12d61b12fdd8ef1775d7a1c4f83d83381f0dab4181b2ee2b26f5625ef1a7caa7cb9f02ab898a293e29a161bc708c2358fdef1e9205398744d3ab917a5e736c6d79a02778edcea02946f1f26a41373c754dfb49ff12809f26dc94157cfce07a58ffc726193cdfe46e32132fb8e0175e399a46159764236018317e07b2634af736c601a3c9846c9f202e0cb2d07317298de63dace61cd2e17da7797d5b04b4ac3da49b9d127df8c87d335a39e4386d03f4f2a3c9c3d1ab5fd0c9a6fa6cedea3abd5e46d6df0d26a4db1a2a54a1320efde1394866535c5513adf5134615e43662ac3f97cd64f206b5aa069cbd7ebadfa21df8628f474e67b8a26fec36734db83dfd025b9aa3652c6260be72e5ccb61d1786698c245834ac0bcef75d0216307cc7a0f6d78e6b4cff116dd16cbf00c089b25588319807fca271e315cc34c31fae6ca506061cf8f42ee1d3bb2a79a74336eb68dc129a879760f93d992b2ec62ae598811b1c2a2715d3272cd2f8624778189707803fa806bbaa4cc9bff60bcf0ee50b7bdd28743cb156838965d10159f49ad6417bdd80b002b34f5eb815210ad95aab57a034d73abe7b5c38169ccda0ab4ba037ddb47d3b63c15e4699cee52e68632375120410d1210fc08204ac4c33a7f7a0a77700126466d5d0d208d902ced9f84d89e01c5fa1fe5a68a42b24ca94dcb855c65fda3f14c360bef38c0883340a3441371533434346f411e655047c02eff1a4ed10fe16c1491b5769b367194f2f8996aa2b41340f402bc18affd81b662e4bdea28d467ce4b1c8e1b6c78401d244b73ad8eb09d0ff6e36743599fb2aaaded25eb47f84780e4649f3dd10283f1fcdc6c22443ce286369f4e108c77bea649223d23407416cd923377d19e976fcc7860a2bdbbe3af497fe0a56be881dea31b685de81aad9ad6e627b724049e67f5c3ee575176c9e9f37e1f145163681d02e920f4b8235806c87116acc6fc3ce2171162e233383126a4b5f03d1df215b05ac39fa3927d6f21bed4981fd857121c920110838cd95b59390843c76437f6d2dd893c5400c0ac138ea94689998935b490312466d638ebdbbab3c2d12bac6c67d0e819b8c0a300371c3ed28c1a56226c67ba3928051b8d5db819b2b9a121beed8fd85d55f5dee1070e3e2066e2edcfee242078172cbb79bd72c3885b7e9e7caf8c50ba0a8327519df9c86c261932b079c6dcf1f3c471ad9294c8ac6c78177e9d095d565ce600ada11e08e1bd2ba5bd3ba67d22247dc288880f86c1977c41bfde15f2545876cddc15cba66de87a3d5f11b349a0b8b7555c8e5b9db0955ecd808e428f7dbdbf87d62f0b73d940f0fd5f345e703dc2315851a2ba7f51b2dff6e1de1408d6287ce23ccd89344d82505b40a103b626e40f8be47ee1887cbe18b2f00211fba8ff022931fa468afa4c4b8784e69ba60df53a16a0632b32b2820fcfad1d4fe8bd510823c462c5aad5bc29e746a88d961edce55e40c47377bb2f1be1ce07a766db6de6e29fa9a6ced716202e2d02ae0d5487710f5eae0be27e9b8063ada05a44ced06fa96cc90aad2584562c5c5eb8ea616ca061180cb3f597ec2eb6806ca92d5c9304773c064bcf3ef944333ea1d9f3b591bc0cb6379e16e2527142bb68744db26cc0b918069e417887261eade3cf358e2b0517220bc8e051a9d03b336083091fa5f5ced06fc614865bcf98c161784aac727360a7687544d1c59a2a167b6cc6770ef239d6eb2699ae688d05ed24984ed185ee36a6e71df22fd1ddad4290b51653fc8bc11ad782de20b22dbea9a8c056b099c19b4a69684ca66a7046c092327da46a43f6cb96b40c7436420dd48a0ad18a2035cdb4663360f0c277683d3b21dbe5ce6cd3a6e67a04895aae90c4e30980119e24796902be9a0970b7c746ca225270338457dde6458c486712beec60b1f194af9cdf9c416ea36afd7e1142f39e399062d7fbb775b9cbd4014bcf4f93d09efe60e7499e6a1eff52bbe21d4e40302f2f74f0fa950210981a71c8106c309939bd0187892d5096bcaf4d2ee4018c4cb712f6cbd52ebbabfcf95103e6e4bb7cf8f05acdfe70ee912d48901c20bd6baff404cd0b8f76362b219e3246cabc9d4567b9d56b39d2abd3c181e791d5347710ae38789c728b62872930f2a9174a0d4c97dc2b0c20c563d03165f8f65baa204a2f212199d1967d8f31b73a47f100a3460d449d1005c088d14f80f71b84409088fd6da2ef6e62324b807b0914102b0df7abcc3db7b3f7311458255d1881c95ba5f137de0c3b9c4beece59ced6ba7d6527f95719f4fbf626d81414d613bd56e659a5413d2f02b95edc083a27a641263378c4494b8409bb428fc306c0b15ce3ebdc4ea59dfb9511052fb0ccab9341abdf36533adeee00884c37e891822589ce489a8489b0a2c3302ce3d2af8895dc54f7573277ca64b320ae8eca7b211b3460354b784b39330ef145fb0e1b0250f0d47bc598ed30f564d2b7fb927b8e1212e5387ba599619af7c4a935880170e559782479c7cce48c14a63e5e8697c65d363c6f029b31d12669498d5c8b17954159163dfbb649d2095f48380e95c6ecc1522588cf683ffe023d3953cb4bbaf34249848469a985cfb6bb5fea6554c9fda5e82c8cbe81e734c4e29b0e8244969135c4b7f5f83109cbdd2dde940ff462b24bb4490b3306de32118386af118a55468ff1e4309a374b51e809ae82b48ac39aa4d261a9a3585ca47d23aa9cb5fae025bec6a1032070248120100d975b6ff1620fb1753a9e85d4cea7b063a62cfdecd3fa1660c064f6cbc71db625fdd887630e3f70bb7ecca499fb8297013d0a3e4a9447205a8b0e12bb95d09bd5c7836aadc07e5bfdd316e9decb57f5304063254ee8bada052aa79843bf2cb029f4663a9f96daefcf75f7fc2dc51f7b2d8c6df696650067b19d8366a2f3f7db3d607bb145cef9ac96fa778795cc6184dbe67fb7c6b4364882e854c343d9cc372445c10f3b213a5bc1df746b5de045cbce2b9e62dea00dd0eb11234deaf690254044cc656bf7a092988d38ec27da145ae43e6ea3cd5f754597d84431aa20ac82ee9adce0f4695a08502ff537795dcda330eb992aa51d069dadf425047b480a716cd0588de9f2cce4847ca8a98316584ad68fc80f65d1b0f7d538545e7cfcc8cf26dda4a140105a530a7410cf139d3e55773e5fc6ebad10f4ae5e52d119542fdfc1a8ba92330cd6d51eb6e141fbda4b7f9d54921b6a909694089613ed7cda209e97c9485bdf68f8065f14396b6c5d6054a5bb13e4e6c88ab304d61e21b16f14964a5be41b638c5b7fcc1c755cd33b3aed93ce1aac24fba62c71fec0a33d14239146e4a7c7fe7020324857e0fca918599311aa0812e771a218044dab9c42a794d07793bf1524233f03287fc65a2f08bd04c9d1144329b0053674974c54476a22356194e3e2d93b70b9d4b09fb9c5f92b3814ef4a1c2ef78fbf0aa011d574d2f3a67b94db9943959f398bc79e9279d87582f01ff88abe9ef98d294d149091c353b623c9b092d36b440f6b4abf93a987f754a3ce6002daa07c63610ed45cdc3b29c77edd424e210882e0e6b42820423c0a5108878b92cb390217885c6f25c673d2367ead12e8f1eb715e2233379ac7f443df6f594793258dda88bb0b812a7f83d651e8a9ef810637cbf9b026837b69478b00d200636197994140be6baeaa74991900b6bff2426d7339e4b56ed481ee56f5e2d08fc5cfc7a118810b9c8bf0f36c23359ed650df6541102a2f5d229589bf64b76b29c5ba27451c439b103f57e759d088cb5a283f58acfc9e24fffe1298554e231b7bf344342788c3b86adf104135388709d3d3f1503514cfe07063ca08c9b60e3d4ab528b86a3d02af0e66b12848849a7c935807b2966778a623f98269e762d742d13f30254e335e9f3c228705adfe7e03a5ec21a4d4d1267001dab7456b8fabd58beb6ecd1eaeb08dcf8acc113e4afc2efd4a983b50db04e13b2ce3714cd3bd6cbe034ccf63ef9b0ef4acb0f782e4dd4c7567e658e8193278cc16bc381c25619d59660b99956df08d57034d84d6746afece6dc433d587e8b45c17afd1e5a35ca6e7691f89a96e120ba3c801c4f15fddd4001eb0d6299238e906aa66ab5bdf83f507f7ee6573122d67f3a40f606948ba149f3649840b51832b8acf3e6e48993a9a004cd9f684c30d9e6134bc831142d7a731aa931eab0b6ed4369d4bbffa5d30edcebaf8721d0e81371afdd48df7bb2ad3310cf247d8bce6dd8fc1d7651a89a63e68070011b2af3de5e01163df928c55eb433ef469be688bd810ba0a9f02ab1288f2148a5ea9a9e487d0f99cabf6a6cde3de9092e4690afd3d8bf6ac06df33fc54aa15373585a3ae6c45e416735e0984739808dcf135d3e8a230c52a5e3f647c4ef2a76849839a103b73ed2ea9197059b68a2a62b20ddcea1b4986ac1c37e06f1cabd52e01800ebfafcfb7bdf4dcc5e4888da6bdc9709114860d4513766760cdc6b3acd9ac28f557f26be951f806bef653e71f479dc5c1828dd4f9a1e1e03867c1a754ee67ec51adcccf6def0a4320f53cb3583d3b7aa37b2c777f3abfc25676488edf090b6a74beb5d8981655fa92ede9ea67d2c535b29d105e7dff0d933c5e4edc7d5edec018837522f622a9f6ae5cede1753158cb3b6c7d01f66f18789aceb22d30c3772a2f54c2d2f5f607bdd871be38c50b7da50b1fdf9f852aebb1154826398972458c324ad2d8dd0ac61c6af36725ba8233aa28ce07bff28c016f4e72c6f30440d4f1a97453956d275c38d9ec3f2056692a25976c514d698b967e07cbfaae3ff5e7ce36ba63c79a727079da3f0538c917afd18d066c728b3f5397d07d0a6fe0b2d1378f6908b0759a06a6995ed1fe9675a0deb7b7fcc0a2dff0540c3996cc5045210d11087e7d7d0a17ab959b94ec8c0772dc044a215825b56e8e6bdae1f85249b74ceb4cacbcfb23bf6dc51449466a47cda2f86bf3731024ccc5061e4d5097740c11d184c8268feb9383312fc8027f6e981bbbbc71d7cf3db37ebb18aeae38f3f9befa8fbab12562a4ea9df1bdcb0aff9efd3be5e0cd31bbc72c232192b4060c27c1329c901f2fe5f79a5440e53130ed06e77377914d6e32df5ab6c97ecb1a28ea7f42746d45c95c5d711d64702e3f03400e3dd2569bce6014f86686ecd4ecbb82e778d4617f78b4446cdc3c3dd1040e93267c2d291a58f579fa6ef30c81d5d412a890fc3432c16399a42cb046b47e4f8197445782d2eb5b0adf85bc409584d7d51fd6684f6e4ae86649f536ecd45dbd472ce70c57b3ba829cf620370d80ece5c375b6bd5eb727e9a7a65b8b709a7dc1ee38b82560bd3140d51aa3990aaccfbac2e93c3518d7e01eb9d48333a15852aecbc2d8bf5cb766eec926c6625ca17b1df184b71ef356ae14dde5c4f3013d70679907e3b8f9beeb69812f104ff7d3f71548f1f0d65f028e6075cb02f1d237340f1b67dd05341af521c4d0ecc9c5104435c27c3bb8e6b4ee76550b5e3790c7f0d393087d2a9d1d483b356734ff1e76a5e26eab3a422e5a5d51c8610eeaeffb3308d40835cae166a55c57de7504d5c344f91aa0894f9b191f9da288e38e56bd44f10a91583d3658006ca1e5d89a40c106f863cdb3f1bdf802c3758a8ceba6887f6b0477f291dfcc3a926999db47809050983188e0ad859f7b02896c9546aec0f02840869fe3a2c52ab882b81a385f1c0de0926d5e70b9711c6df88a69707205883b91f9085ddf18ccdfe842df1877e4e811e4189e687f8b5ae929da3bed368e95565d98d7301bb66a00321a39d47ad7766062e2f506810f3657e81df24dd18635978a5f373b4856862d3726db1c996be13e59418b0b7608b0d091a74fc0f1612e7651a8db109756da7bb14457101e158637d435b7b7d9a9bcfb83a1691887ed5e594d4f9cb6c6555398c45f4385d8b73739368ecbbedde844709564ce1b4279685a2ba5cc164514d5d29195339716f97120802a0d0858e33beede3833c15a7c031a0dff5e4c3a251e1469fb5c376ab283e58bc07432697fe8d07418d074f2d174a4b6fd05b1c213030ba780c2176106305a2a6504f0d277c77749fcb2047a099ddf9cca23c4e42d09b476d15305073167fe3b5a56e3d649cc625726f747ee03757700d34a85ade791c6bd1d57356ccf0153ca9af34e612f5f73b8a2f8711e7e128eadc7812e49abbdce2782a0489e9006713afeb4b5f713652523cf22b9bf673a87f6a78a5c9c3aa72c0e2a5cfc54a60eb3fd4d027a0c002354a870f5d363d8b6de8a75e180a332aeade0812f9cbb5f88df8c4fb2aa10703d345b1aaa661791761264a3522e2e9c376f2b1b67cf99e0b3ea6804a2903e6207e99e4cc7b22cea4390808e22530510a91eda08cc8c9e4d8aaf27a27e00368971e604337c4d994f87f3f7a5ccc10677e1f0847959e5a4d652700253ad13e76db508b7b504e4ed281d1cdbd480ee875cd273adf74add660053ebb1c06766930a23303cdcb9e388032bba838a0ae78892ca141498abd56661f229c3b5c04dbb8fdb8cd2b7b414e9cb5d04de484c142c613ffc7ac47a6a7532bc517e563cd24276ba1bf84498f0666180e56889cd6470f212a8142db72422e962d9aab6cc59adb74f00b779b73fa55ff027a51fc473f9848e9e6db69f7a250124b4a195444f48c1353a8f3ea7ffbc364b2ccbac22da603527824ee828272a91f75f2bfb8e97de591ec9fd2e6aec19fd04ab427f80ab414175352a3315620972e1a9b067a7da9a52c1f3865587d0893295b287f2b450493984683a9976a2d6d601fb0b662423a5fea403c3121efc8e7c3941e1ad6389232861704f1993f154581f935503c2d948d93fee0dde5f8d31e35cf09aea64d2d2776b99b6be14279988f412384d0f9506f5f819d70c9856cdbb691ba50137bdf842ee096bf9f31d781bad15cbf8213340a1a858f01d2a8ed1026dbde03daed79f38388997adfbe288bf705ee2f420a13b41d1606ded0db815532387b08b87161e1fa0f959e7940219527cd6d85321d8054091c8d4d2ab9aa41c2a81b8ae901f70169a646499649ce7649ca2d5f103efdf48cddf5760d5693f41aa401d6de389154c32bce57b0ed05fdea1f545d6b58f88c740f3e317f8795e262f086e790e8c58bd7ef54d42f03776281ac7f47b65005083915783200f7e5ffaa3a7db981ef0d94f9ff7ed2bbde8985c600ccc8eab0680342e690204808a4068725a8025aa37fe46be8b5a5a1a43b71a812f3bce61fc33899fd9fbe10159ac46b7cfecd9cb6e50773e693f6225d758c20dd80631e980822e82390358d4b7dbe9b807652db38517a84fdd5d6e91b7c691fdb97268790b6536730c6b1d64b9a729672357caa12f85ee4bf55a067c8e3e42f94f7b218a0b35950b56217cbe32bb6f794b45ec3689f7805ee0b77a0144e0716d40fda74ed91329b15e07f4c8a966bde4588dd197dd48101dfe1c5d29ccc72e4064f10d6f290e04b9871e55ae435bfa043140351911623c22554cc7938dae0296c917e1686be0fab5328ffe57e0a579225a932498bae043dbf451d0fc1476a8e0f2a95bc26596980c77c65e132806d6a44ec8f70ec8c5acb21e8be4d1c9d4ada1ad27a43b1dc5db82af4afe4418dfff78ddd65a5662f8acc0076cf0011f9501989dba2a2b52ba6da4917cfd8c14adfe1bf4f230e8d42a5cabc5f9348cc98370f55a85cdcc4d41ff57caacf633cfd352fb8d51ce1d22bc41168082c14ba44b90fde393adfbaa27718e90c4257ee9e0394bbc34e2a2244fedc2af3b59f94eeda4656a6af137156a1791b9acc22927f8ce01b9b17d2672c52b8ea354ccc945b53c5b0b345b0984facebb1767638b3dae3cdbdee4322637d2859c772d73facee76dddd60e46e2196eb704a8846d2c91d503655c442e827d8598c490b24fa86e22f84d86c05af1599f9d95733ca75b3b33ca0cc7b393535a6d21a05cf8aa8c97270dd967a3f2fbf4e89a43f6891bcd6e8782b5a886b5efc6c526c977b3a741cedf173ed0fc7d98bf5968a502d5f040c0471e74fe3dca06c7a0a7d7f1459477d7fea8d63b6855414f1115ee987d8fa8da0a70158c3a98ed3a24e42db90012e94aa0b8a0450682581d9f6a319ee77509ed73abca21eda32b331d5e29399ae6c17734f970c0f0716c538182082677cbec21a070bc8aadaf816bc2b78b6fec4a1ccf5c9628c1f56a4b5ead5fa2237d5824e1af90b936f90c5db50724c619f433d88ace08ba6ff40d12778c6fdffb46aafc1b47d5bee51da8d792be510eb37337f886f3f572ad21c1d2d4199e02933dbdcef8de4a3417d84ee617e2833447ad990730bef4e3111817b8fe88b8e39b774aee73def5dd8f288f4805c33ebc912b5bd9d8dd8833d332fdb9ed8f821ce9b8eea3284a7a08fc42d30f553f55998d761acd1b143fc46a33814d67786f8f843771dbe693a37b47cf70471c3768c850825aad417d8d0553644d25d80d27d54f9b79dd3ad1cf99ac297b918f287963e2439098d4a2353c7093fe5bba5ef71d7c5f5eb33b8cd59f1177572ddd0cbc550d9a50ec2bfb99de19483f54a89595189d4cbedd609352c0634670bd68a05473609eafe097dd8bad67f571ac96f00bf7e79262f8b995a7298a89f7df9273680ac2728290cea724bf238474088ba4a17316c869b0c33da6de145a207487ec5cb872d4a055d05b21f520df4058bfd2dc6a70ae1567dadc0e1823d8b97358d93b88f8566334634a5e3bb90c8b8834a6541e9fc8e711e67e0236d66378deb030af9235d33df90d29ae859aee20bb2b2dc6869c6a61b84fe807c8be5e44cd82ebb50b52b2b4dd42214e07b2f267bbfbd2bf83610b1418741ecb96c492c82daf7e89c511117b95e6ce6dc0f60cde986b232548f06d679c8a4db45884fb0eecb112bcba20aca911441fcb7ae6a2b7a2afb9c18cf40cd124b9cf84875fc1ae57dd0048de7b86ee87194312fd990962856421c074dcc5f16706f4983f257a642881fb1f8c906545f313b8a278bd1d195b0436a3bc5a3b477c87b586d32f92df8baa1b99596e447ad88b50297c8cf7ec9379db7482f3171033b367cbfe7267755711c5097755c2881c8a7f951d8fc557ff1e8202ed09631d4f6c8550503daf4fadb8175d2f1cc43838d41080e6d4b8116303dc0c9c4f48b8b1d467c3372fa9847ee0105a27044528938392f636593c8e123da2d283111636ed94ad48e370d70516d5e6b59a03155309af137930291ddd9b566b6d985e751b1de970ee7867c752e8ab8e60b3659d9208e52bd50a5b5407056e44db2f19965998cbbdf773939abb92d051e274833bcd4f7e1e42f127482742abd2a7858fd81f313eb62d3476d7aaba4a11ab29a9a168bfe4e180b3297c38b86227de2d462b32ca4cf7461be3addaa04eac26b1c55b1f6a0c4ea73e8a456e15e7ae6f41583c85e6728a24708dfe2041ca7f7d6359ba1010e215a7dce92da2f75395460d8e259871af7b4baa30aabe24bc5c4d83cd0bb912e67c75105cabdad91226935f538792c403ef1a56f77bffae1a66eb1601057e03b8e2fb229851e89a3736d06af51abf470e4287637f35e167c75e2a5cb67a4f4faf6093f74a2f38357b5397f36ef1c9356cc4afcc22523a75501ff5ee1b5e72647e73a7842ccd30fe2f70e0849326fef1f2aec47821bf9adb78b7011c1eb781dd0fdeeddeb7e36d17b6cb8641438efb46a8e465edeaab5fdd38a127d4eabd5302818d097e810c117aff4b6f22afaf5f16f358e1e0e0643c792dbba272f525cd9448ac3b5f173a0c0e3bb6260938fbca79ccf3f3c72313609972ffa254a0e4b6253d6325038bcdd3d7a6808314ea5687de81ccb803b9d1294ee3a5c183d26cb8a615a1690d6de4772d7381f3e8af8b329b4bc60b34a62ddbd1dfd54ea39c43949db572edf908d34fbc6669dc011a7287c2da490abf30563b7154c1416b0556164018d6ee2c623a5e68c4e01328829bc8d6aa73943aec1f923708e6a317f6d016cd523567e8f658f2993df769f89347f8ba5e38e4d96282344a95f0aeeb468971ab0844c62109244bd0ce17827691cf256f12f509ebfa66114f46498a36dac9d079016798ba944d38e3c3ec0f2f8b87fa04e5d3b35f6df43ff99a215824816b61f9e4a618c2f87e0ab404d180802624e3c63a976f2d1137b43383d4766178140afc4c2124a6ce605808ca19c8cc98b07d9772f0ae8656e499f6c0f5f36df2b967c4836e52355fda8fc262fe49d4fe56c27185dc60c6cb9385639c6e19445d3255d24d88ab78d36481bdc5822cd9e8e906c4cf2277b6f8ddfcd8b57d83b2baecbc72ed809f280c97823d9de8fa2023146c9ea162329366ae7720c9ca2fc61b80e130564f2074752e200ddec27c07dff3edc2802d0e24f182b7cef32d4c72f6f47a7a899d5a742c040025b404eb6b87cb5e3ba4f848c82d1fa4a75fc033c3775491224d9dd8d1d3a7359ca4347a02dc28022234a5e26801c3bc0ea3298c4a7033ee7abbea78de4f6a3b9155348ef9fdfaac9b5ea372a68739c9d2c1ee9d5c07efdd89c1f976dd5894979d66226a97651db8d5e971c9337423e969788ddbce6e3805d84d3cb75ab868ee1c2268eb17e1a525972bec67bb16fdfc27536f2922daf8a162d5c8e313964e1b0379f517a39f1fc6fb7e589c9ce7b639025b951e8731563f3ecacd88af7d438ab993977e6e8fe7f15ad0964056b8bde1e818c5b1eeef976c5bd66941016a78feef77ae5c28cb72ae30f575ec74d9c9f90f6be2bced182cfa41913932cafe54fda951f9a1c0dcbd965c9aafcbd28e43dd3556e65d2861fd12cc3cdd005f7d19d4f61fa25087d204b39623caa9dd404dc0c82aa6b954d23d2c30b6034b413b6a0733b95438509dce140201c28b52f77a0fe002fcd152468be95e6b20f303a93cf01c728744dd3e80050ba26fd1c14d726039b9b8f82ddd9fbd80b8e875f6f434ca73c0d46f21e31ceeb6e188e95f58168af90e30308de779a27614a8b8370d36f59b23878d8277f57cc8f5387351db4b11e591bd040a5051c0ab7195d439e348f970d7964b258e862b5b317fb7ec96afb42d7f71fe3e78bfd023a84a21cbc58aa328a9469be61a19df3adf42d63849c2f1dc7d2b85a04afe8d380959fc5cc328148ffffda206755215283a8b8926bcd5705f231802d08953430b7fc42e93f24a7cc51f817e7e286b171c7de7a879150b7ddb63a398db3b4587b44659394393bbd8d8a50b6131b522629ce484b8e785e2e52e1f6e5ee90b9b8c5480712fcf743c2d6e448642f134d7759a02ee330fa857d22eb8c53cb357835605caed2b6c24a97de96a20dc148b021abd5a2b2ee0ead454bff9932760b5a3aace2fb9493efc95b4e511950df02af29451d69e78d0d720ab819006aab554ffdb9ca3445b16d94007e151a645ddf83001c4354c340297d15acd5c9623ee40afb94371fac451b58e7b0e05eb1b8cebe59aa8c1a95ed41b8d65547f56b9167b1804f5ee9f50dd4c9fcc8b1cbc0e46e72abd64709c485532dbde98c2caee1c7416cf348dc77260a6cc8225b14c665312354b73e3dc0ce356b7951fb87588dd317d898acbbe358a01a4add7ba6a2814ee6dfbfdc4b1c0ce9feff323be70c6f0caed9d660e2f77b8c54f0922eef97cb74a1e4eca6c409c1b4b277c573530575978b76de8cd61d141f1c9dd28ca2a2ee83ec8ca13aa4f04184ba7f013a417f0201b98af96222891a40449213658d538aeea8aaaf272dd9c594db2f0d2f3aabcf874a23c35aa180bb31168293794dbb1f808068ea028706856725d37b2aa160577cace6f1040c21086aedf6043f6996e7b27b36981c1ee641ceb2ecbbc3481bc79b778aa7d494a8aed3cdf204a057e7ffd59a8841e5bc91a923fa90c32fc767f3f9fd74d9137b1b10a54f92cd569592a0d151f1b40fdf48ba62890a772524e393ef9c9fdea0b3dee9c9cd10a63c30a9c8e2a3e8ab92e88387be246d8a9a7cb222847635da5493047392d7a93bac7901d837e1d291abff3852683f4cbca95b12ab3e8ea796ddc42e1522af6fc82f4dfa165444e972a501f9b1663570817915e1465411f6fa8b20b33fbf912dc4fe86e670499e4a6c1e1f75ed2594479a68ddc39308f7172fcde02125ce7b2397f8d0991f7d331d78bce0b1c3ed1ed873a66a46c90529e45d8838340b30586c45759900ea60f3480908e80e8ea9855d49c99cedbd5827915f5ee064afa22342d13f005e8b3197e275a79ac5daadeaf0e765fe60a179dc98693e857d29ba5ba884824f195cd25ed144d5ac101d6ef2243eb5483c478a9f7e50acefbacfb411184ce2c40f513069b64d5dd17445c20051298e6b10fa87abb34d1f35014104543c0810bddfb2a1b6f0bb7d4a34e3bc5a06bea733ca70cf5073e505838dc63916292068b934757bca59dd1f7798cb97958465370af7f900ce9071745437d126334a3400a7c58b6762c66f75f82e9a7678f18936b82c5783c2d6daf7197de0597168029c1e6718563a9e3053c65e16efd79dfd3711db80652dc61735885f7301fd8ddcf4c37e314bdc1e930bfc31cce9e413dc9ad84e757d3eb24bf63fc4dae0828826cf30e323a5c91a0c342eadb64f3d0c46dedb4295267ad47fbbb914c3df7b94aabde1f9ba76b2090d13e2b9018da651ceaf10bfa1fbdacaf2cf6ed5e3890c947219df54d7f1c07de86db62ea6f00c290e6823a8b367d4b8f77a59cdd80e2a027935cdb45649f8025f6fac059b7c1cb7b2e3ef8bf936d0ea6df0faf386b8bdb780c9db20d8842b16666334eaedb79b7cfe0aedaedafe7bdcb906dd07737ceaeb478f2490b4f0602c868f1b87a9a3344c6e091e56d00b2763db40e329aeeda61818b9c267a73d097f940cc0f905dde8bd79021db378b74fd4d9c9c250e501e751fc0e6ac3dee3539d84aedfb8000004f68bb122f1ba410d0a0a8cc5c03d88023666fbd5352b0b5eea126e9af1af4ce6782d8ccd881e1b75c7f52fda76bd4c5b7a7377e8a55d780d49358ea81b5e0b7c1c03b2d5d427a23501cf6d2dfead94f6b5eeec5bf7d03105507da4383724b19f56edceac31e89c4549433d9d68f1eafb98744bccf2b42f3bbd849de9b39fef9297e9051f218e5be2475e1aa18bf850ed18bf1d53cbbec54779db1d1fe2d7077190194ebfd8a65f908e69d01d69d31faa32f8261fe68e95a9325c8cd2d1fe00277cdf8e9cd629ed37a23359d29ca8ab83cbd8c71f97a07d5810a89fe1deef136dab70fbe34795575835ab7278016c0cf8f1c1c931294619d3a12beac6e9742d4a49f34eec85b459041b79b99b67a56f08aaaf362b4cc87e5fd26e5999b94391e28f3ad8124962f48fc30e451659f2708608005a444b5e8b6faba1c2b163a6c33b97776a7a7dd6830753e28b6a8df6b4783f8336f76f8d6f7bcb192c41dd246b81f2aa1afcdc1db387a5138bea0e0b7525096bf894d1f161e9e0c652c762a5964b0bbc338df1936c3b43ffd7e148747e9a1a89d17aeeae0676402740fc48cd0bf9bc2b52bbdbc849f8fc0d68050a20d2f51352f0a9201fe09df94610f00fb258107de7c0d6c5212011509d2ac56f95b160d38b8f07451d2382cc3f386d17bd4074fd704bb41865c08c072a010cc6caafb8a3bd32a86063b96ae89eae3eabff9b0bb81cfa75b7d1b436a7825d74cc56c064265d95d351970b96c00b8bab8e02969ad16edbd156c7238bcc6a8b07c0306d3323d1b4bfc7175a558b0105669e1a6e0cda01225cbc343bb36a7e9c3e404ab3e147b9226c47a4fece934d28caef28052fabefe1e31f40bcfe4f651ad668e135c4510b53a7945fb25fce9b3286cf6d56268101b54fdfbb731283e4c8ba728b0e965a63597eb26d82aee59b0f176138271de72c3ef69c6df9ac74f075a32390c82ed719b8d70250971b7ea7307991112a7f8caa6a3019894c464086998c52f8cc267ba67cb7945b9689b06f733dd597f23161d08224e4d6272c5eda4558d5d08cc5801223c1ab6110ce2c4023ed418cbdd60a655ab575fc6196db2502b94e881869615a4a131931b3cbc7c1ede7b25ec8f0e11d810722d4721ff06a7c8b361fdaa2f4e7bf8ea374b39505382c97179e2320c437094c8b0eda7982be218efe4d869cc42279bd8aba86454c99847cc9f22eb21dc6b3efd485d9de10b9403855cd1c99c4329b867cf97de443781efd44c54af3272a9d43773a69760aa5344df0e4f3fe9b6aa62fa4a9702dcb4975ec7a79433d79eba3af77188f604cde88327103e295976a4cecc8ff408378f04b361f347936ddca4248735f88af71b53fb22284971d30364c8ba94026d454af26e5dd3d5fdce19e726b71ca3fb58449dabc53f952a4494694bc31432847ce41d0292940f4e155abaa850f9f8045fbdcb51195f7682e710c74d70f1e1dd7c7e21c706157dc356c6ccb72031801a273d79c1d7f19fdc56385174616c3352e82fa1448fa1872ca1598e07e311bb9dfde2c14d4936b9d8725540717fbab2231ce92539db4f17a6fa8c3dbdf3c949f11f96961c40dd08b61ca7327fe5cefdf6400cf8d7e708283ad0f4f350217bf1da121256f8e0991fdae1fe94b667b9ea3486fd78bbefc636f992c7e097b242f35df057282a3cf57a87cac4d4569d1a0991339f93c1a19e9cdea64aa9eda8649cfb29b177bf6fd9326f9e2c9d2e9c293b381ee31a4e6c2af6a8669cb0dae52d3a2e676bf018a9ab5db107a25da40dd6a4fe7ec72288ec32c21a36529dfb462baf517c0f747ebb42daad2498884fe908e03f452da203a36985919ff1570787f4f28f663ac52a6a53d3cb2d78fdcc67bfb98dfe8d4c2d2891e0869e6057a17d3537f093eb17c85ec0ceedd130570ea248d3d8f73cda3ed982420f5d744eb355325d4c0b50e918c9cdd03ea4ae573ad035899bb712ecc596d7e65c8bdcbba6f38709f3f3043fefadb2c188907d8471c884d0ecbfff196ea177d89b5fd17879d2df417c01f1320af3315226d5f7ed8fba0527bf821b2ac6697e4b65da5c581d851eddcadb68f4c9cb93e3dab06bdc2cd654d52e4cba872fee9479712a7d37d198f0d2b764b339956284546950d9cc8b98807756a56caee59d498acde75a1a6f857e50e1bb18639d99536e042bc7cda69da50e2dc874320729a7d334dbf7e857e52fbd4d1359dbfbfad5f48c6b5ba9a2428acfb25f6a18724554bbe8d700f7169e9379bc833930a8e1fb7574bed78bd4f6ccb81f267e72d502121d793617347965051811fed2ecefd103d108b58e8e5e80e7fae3ca8bd3c9b427ff1ac8505695e8f1900a035bfca2c5a89c909e36ff77688761a37e79d5a5b60932689f9acb0d5a3614135d5cf8ff8763bb36b7140080285c10016e21eeee64b8c3c5a5fafddef630c199e0270e7338b66cd2d2745a90c8dbd7fa07a293c6cf362d4be171162d128b5b8b4849b3686f56fd3e2ec0efb18211f8d47c748bee13c82d1288e53e394fd55f6989cc9b15f945e47c5d00e21987c3301dc337762a328c2aac4a9a7ad1d1f48227788d1e4b1267719dd2a40c2bb910a7673ccb300b1bb22cc30b0c23b99c8ab8d3a6819d046d8b996782a8fe2af143443b7817f3c2a3b0f76af17d1d252bb67cc00e06102c530e964b70da54b33fe8585ca10917db901c96d7631e76907b5b111b5806abaa4cb00e79380ee84daf594eb940f7abe777c7617e9d9b2cff9d7e0f4265662ebe47e95fac556c8923024a922702c90879a2115ce7cab5d3e3896f2bb9d5c6ea19c01b77d16561edc0933b991da1fb7cb4aad3cc6bc91e9d325885a7f359bf34f293fbb5ed6e7a03d1b7e70d9df3802a24b15e1fdb93056ad3a1a0c4523fd133b5e4670ec1c9efd109988057dc2deb200d09171b70e2ae2f1d3f9b3efc6c56cf93ce33182eca0c28e3189539e7e7a51e9a1133445436581da65454481f8af085cb329ca216f54be955b20c04950a7cc2ede8fb6131509786e600cf2c16ed3b2421a76e3f642ad6e18795f149a3374852e8945200684e8b33b8c685349d2338a91b6ed58f7349e0eb747dde15488b6b516b02b2216dcb36fba2771cef305b8e9ce6493c972de305434dc3371a0f04ed6cf686d90ef9f1ed55ac43fb1ecd43deeaf1cb9642a3058ce9bf0f48187faa1b6f628fe97dd52f2777c17a8195856b0845cee9da086c852e805cfb18ed4aabe6c9d34ef882ee347cbdee1bb7e5b39ca0b0f6e3dbd2f7bc769e8bae239e32119acf6b1eff6ab281d668a6d573f2d7897653abbadee5ac7fcf85f9e54355ce4981e77a82902f52409c4d220184808f12459a7a27021e2c23b05aa1cb424fd7fa972c8f98feecccb77d044d91e304774c191c86112a30436f8ad03349365fa80a0ccce4daf7c1e874a198f33d1cc56fe4edce2deb048aa3c055f561663b951b1f4f98491329e1551ca9b1d742ce53affc5d820b8614080901ebcd0682364047db41128658b94ec4d9f108bda997feeeea2eebc9e7f6bdcec10bab76a5ea2f03d32d96788a4dea347a4e06d1addec4ede5b01c9bef974fa0b1ebe589ac6dac06376eedae7f13daed3a12d40b8cb366ec5981c5d1c6202dda96348be43db4eea643de14c66e7e8f74074088bed7f76822f39dd529de351991372a4af09d6cb8e3d38acbe68339f7ba5fa1584d0bb2df8e8f6b106ca12b320e1334cf9c47831d02c7635d61b998b511cc1922dd70afe6ce72359d1e4d2f9b1f0cabf0197546e6afdf27575631459a1e3658f76544451ebab846e702499d6324c502c48fe344c388aad356b7ae2d68e2c40915a75074cd60030333a362f7be5b3e19045e582edf8194ef69e189b61f88df1d3ae150bb437c903f5e4ff1a5e62e198f9803d9d0a3a8c6de77a4613a63f6c2c81cc4b80ad48dde9e03fcce3b5287545b5aa92ce39e8859ada19e896c55c81c6f11865c39b72eef976c72877a191302ffca4d3919cc9fa0c351a952698c8dd11d68eea11e342519e36d59483014f1ba727d126e1f4882ceb463fc3aa5c96a3f876c7a4fc0529ec12546400aea7b9b761290b292f9a687844b4630d72b19303b493b95637474b63afa30a855c2e9f2d66b920c122ff7dd95b82f73209c238fd87c4dd7acd67097b57393b45d7fbb54313e5327c932a608731ef8b5464ee44d5220dc74c848863d9d9f2a5ed2e08432fc63456697dc4ab403e56a9d10b1ea9a81c31aa2f7ed8d25f5abbba07c3a8bd0d0435231b61302bc264c2301b98ce2ec8d560eeeb52d5c1cdfc7c977a86b03227f469c4f7a100b28c9ddf3935a20e6d6ca487373e3a775442e78d0e01c89eeafd7646d0495469ac16dd82a58d4c36334e7f7c81c0d76351530da4e766c3a5b7d0aed5421d911c36ec2dfb319cdc3e1065e991dde749b31f072fd877a8a398a586e5401e9621091bc7313e3d539ed419f800ff66bbd533db5b57ccd44efb5331f29b251e2a3375b9baf609b5e9fc928727a08a92289941ba489f76e000b0e79577547b8f51e394cb9bb1eefadd00359e88b63889f1ba656acbfa15d7363d409ac25b77e56d1bb1bc26db2bc4f7899d099b68e61fd5a75378c3e98a7e375b688e8ba3fc36c344260b13e461a7bcc7ea3926ff1d05a93fb981c39ffe431329ee15751581983e2e2e7e9ce1839b6de9e48df847926fe9e9b0047e7a6c6e8aa445c494042e2afa0c1e81c4bb9ca8232e8a52be368af583ae0e74614c8019423b869eb23ea52c0fe1352e8b219b79959196fcd5cc805c84be87bc06ab3827309dc10d0aa6375951a587f4dbd9b28f2b9d23d5ce9a0796dedf908816dfdb088ad9c94e8917d93e41757ee5d1ff8b1385148b250f3d5f67945882d3a4a5f2b4d3cbec9dd4820a03a29fa7e0121a2e254377168d11b497f9298f13d7a75d27276558a96cd45e79850b898081e6afa05de8e1fa7fc244857e5491081fd60170076eb4585645bcd82ee5a233ab61e73797977c3dec4a86959b2517ae8eaf81044474965a82c09095dd71c09b607882d43287d7b07d79b72c4afaa7d3c54ea5099141edd6fb9a66a8e4ee2176e43d23e9dc92ce10e5f28bf70dcddee91023db805784cae81cc07450466af39e68c207ea2c005e08edcbfac3bb030cf59de0ff5044befc83fd5f6c75fbf21499d69ffc5845de9bc3ad467ee43e2781be43d93279b029e6cdc7357d31abc43191305944b058dc17308b45ab1afae271b2b1dc7d86e2cd8a33d8f856cac7e3afbe7180bb2baa215548fe3afbb7684ae18bedf251e85a2cd3e168af74a69403275e5213cfba55d8a606d1203834451d6b87a60d2211ed0bfec34951ccf10ababd3029e0de4fa592e33713bdfa427e127306989e6f6bdab30ccec5884f1e0050fdc6dacc0d8021262fc4c792d9f6a7edfadfcec7cb2b6fac59268e05d50825941a0a3bf13cc2467c3f8467ad8ca9accc482b22bbab7ad2b0e5dd3ed83a555fb2b48bd8afd04debd5f2d7b46b5a67606873e106430ab9a2a891cae979479244f3ca1567696a6af1d5e8710a47eee8d33ed616d228eab4725fb4952016b28d8129f8dcc3d12c8cd201c81f71c179a60e84cd23897c486de3dbcc8c5e761f6b986c845eacecd435000d0de36e0b565da06780207910f22572db06e7be0ad126f1773bd2ec0e876510a1476310d27c96934a7035990da8a6c16ef64e47d88affc6c8a25e116e84ae178deec77f37cdfbe80d13608ade171da04de2c1711e1326ea72c7a2a71c91d1f2ccdec50cbe498684926b46d6b76dc5bcf0872bcafcb553d76968795386b27c437b39a2f4d232056dfd6dd55e5c89bd0543b1d4da2d6ba243b99643bcae1f28e84e328c1a138be8f3a304cb942ea0635c06523250e7787d5f0843ef95b010f38f06d2334a9562b2377753766e16a3348480c5ba77c08432c0f0c6a7527ffc24f77f9dea88102c6afccf871596cc3fb8fd19d61402d713d7f9fc89e2fa3e70af7db2de6265639094a2fdf38de34c15fcbb42604ab183a58fcf5140473403714231eb9e8cb343eab271bb45cfb829c3fdc737596b939d5d8bb3955d5df8a894606db4b6920013df273f875de5c7355065d4831e39224de677b41f80ed423b81c954cbd952d95844b703393f7ec50d6655f28a7468f0ad7d6b2e20a18b72bed66588dc0a6e4d3c43ff238d7f675a0f3f12452e6215b7ebc94e16f806de4dfa248b3a3c297aeb5199cb00f8497e0875f87459cb6e8d85f0ae57d13b421870e19ad81805270915ba02705ac91bcd7265f800cc944f58f62ec8d47e71902e9403f6ec71f8b96b6acb454f615d34720916f3322c121cfd420f51661e567b1a735b7751b90f59786481b863df19b5ac3e7017cfc833bbe40cd0f48a48d325314cbca54693dc1afbbb366bbcc356f20e0efdbc2d810f208e5ecc0d685b4fc99fa50d0d3255d00a7904550b526387efd04ac832a0534c1dbe4eda91e08f8ddc1a21eb7e222a9859d9aa3b333bfb7be2150814149b4478bdea570483198ee2574428b6fcf17e0b46110b0befc58e2f2d9af9da02be1180bc0a389ec76ac22fc590b7d4d29cabe3660bd5fceba94a80a47131541929185eab0719a1c3aef09fc497a4cfbdd7a05db87975cf9d3e5613728a1da53312d12370bb678039f02fdf5498c1a04c1a3074c67a7f224d977b2feadbe2d3bcaaeacd67c68aa1488494d25b2fea07e4654be0ec5300257b6e4200e5b58ccef5d3e71912faffcfa9d4695d8c85645bd7ddad8b8b1956194d8b6bc77055acc8cbe4d4272773303df03878a218c91d47bb0b422376d9ee378d61094c5bd7c3edfd876d93b03df28ea1d594c410aa9d67fc86327eaef4073522e1ecfb33bd79c9ec5810065afcdcd9a7286ec4cae69cfd40981516417cb3ec19c0189785619b9afd1438288a41613e64320dba83cbec2df199a9c0bf59daca9935e538cc0953e4fd7b7c64e7aab584ee7271e8c6ab3cc0785c1ba6a559b124dadb11d696073ba552c3b993a0d774c7077c2514e2afe81b03d3312a55b4b0de2dc2d8e8572d004860a219cb70983e8d10f93503e793b8dd82f4f696bd0ea5e876a81dd3bfa5f27d2576ced293d399c9be402417e7a24c07b30dd4e2f0851c7e572ee206d64eb330697feba05d1543baa77eba3cb98c89344bf8d3de7b62d9ac5b2a2787cf83032102c55e3acd3522ef6c1f298634e2d92d8ac496a7c50f3b2eb86835ee2ccd1d2b0216ab868fd7a89194a18a5775ac227b25e5df654d147c9211a8125288ecb1662731dfe038638b120c7820a1843ed6a3d2d832213e2e57ae725a2c788f1b71bfc4f2d483585c7701d1471c5343db1bfa7db81185e5cb8113848c4d081d17d5d3c6ed6b175bbe51e6651d313be0536510899fd8580eac8e2b66ca59fcdb723a17d6062733da7e84d6d16a22e1bd192706c46bfa48e15a1202e4c28ecc6099e69d4d6c87e6125f614f72b5041f45a00b02a5e5f5734a867e7bf91ab3c57d00ab346d62ea744496857bfa6968e7f54729bd48d493ff31237c05edff39a7eaf0ec2b7780ae9b39e5c6cb2689e5a200e94189311218d0f2eb95d8b1d80f3b9fd4c0b3a20a560aa6507ddc086270cf8e07af6059970ac7897bfd321bbd48f6d709a55e056fc93d3a34d80df3dddf8bcd83e95ab6bcdf2f28f94854a40514c7cb0fa985bfc3e5873e6d30b7c30b5737e66e636699e5cf2e0b468b281b987eaf9cad699c20e08db61c5eb9c03669784891feda9cad96fe304ac868122c88bcb3aa096c5167a30c9782c7f88b7110f738aa0dcf6bac892c6c475e391e84e6c632bf459d7725944d4083f4e093073a411a548c12506d89fcd33f7b73592e6c430cae24a7ba26b40c0263e0dad687d973ef5ec66bb615bd5938aa43619c96046ca9a9276e4e29874e52602a4614e968e21f7216f0c3bdfce0a36be8f69e3c6608711e728270f1220c2c30e635d317500f1d630728fc3e94a4375c08bb3d8475ff8a6a836be38f91e0e5169f9c92df2dabbf886818ed2fd28b62614fc8f5ac30267ac9c67a1e67becc45481b9c5528ab36ac4ee5637f3524c2e9014b92b22478c5b24f9dd874ccc7a0bdbbb020e30a423c4ef9e41c8b2c11228a39592f3e4a69407a969503f5b15cd9ca89046529b3a92c626468e38e1bbe1236dd6eb74e027dfe18ac1fd9cc6b60ab75658fd9eba28f33526920be227ad663fe4fbbedf6709ec9fdf462f0f4cf86cb97250d53b195774339b15112ab8fd88ae79a21961e245ef6cfc806d8a855c0f7f448d2d85d30a83545db4ce5dadaaab8a6c97bff9aefee6c60b1287cf71e16834cf08a494191513a6e8b7ad3726722e13a88f93f213aee58520fdce585eca597f4f3248c43bf69c33680754f8450479a7289516ac5f5cb3baaf63fdf865a1b5fa99761d4dc1f5d51582ea1a755ef1e0f978d7f9341feb4f7160628f0ac4c8dabeaff9f3197f7f0fdc35b13e2e1ba48a8849f2f3dd8652eb60977b215ba4fe4af912dd317b0e40761ae9db36276fec9a00675cd91796687f11e8e0cc4b2242eb808fc1ec0349df5591f18b258d576793dc949ea2b394939e94171a7f6a54ce21e0398429b3a12564cfd0cc267f22c4245f6039652c3bcc4db8f8904e13673a518167547de55c80648f96c7c5c52242aedb9b1e65ebecf0e890cf85c70f3231c77e9996662346841df9974f88d999d10e9012bdbcc69a1152f44dba864e0b44f2b2349bfbad9fcc1e5b1bce9fed77afdd131edc4e06931c003f19670fff85fdcc2392df9a73fcf956f238004cac5d72e2187d9a905038a4c446f46b7212a84aef656ee89365132dd5cdcfc1e802000743ee759d01cde52dd087095db7fdcbf367f9e97b5dbe6870c701a3366e902ebe2de3066b08087aeecb674c551ee5032b702864f18b2f94b9fad1e0873bb391c61fe997d6875e3249f5aaa3cd5ab1c008b2b85be42ec152693e560fe6bc3e8161a79999574e6acd9697c5977f04aca53f765df4fa1ad6fada26cc728939dcdb8453f8d6a6af1e751cb836af8baa2f939d52277fbe0c2eac5ca5386d2863df1e8792a53135b9e453d81c495baa00d5807df09739ed88e2dc87d9db79ce37d7c7b40119c76258103ca3ee290327d49af84aaecf107f25be31ed3ed9367448096e6f56a26624afcb89df163e98e43f5ee85374f47ed060ff1260af71df5387716d4ebcba6f4052c4cc2b2ffa803772e40aed598aa276423d50471b2bc1b52114a2631247398283b6343a84d67ef90cc4e872dc4b2c92834fdc5fa228048e83adf1c0fd26e24c74c3757c2a57959241dd5bf2482d8ccb391d032196cc272dd1284e65da1990fbcb4defcb2b3e5ab2bfee7378a7de0c49edbdf70c2189f889e9bdd77141dd70040dc5fea07d85aa16ec2f44a70e26071acc534b472fb7382324eb6b65bb0d4777a426c1c4e417134071ccaed039556e67f8117c653b154fc7fb6b88510d6e1e0d952a9d233bb79835ff681750869fde829dea5a6ffb84a6d4d1849cbfd95aa9c7dc605413bb8baf4b1e7d3b5d02bb360a1f2efadb253df85d75422e4e06a2c13849267e9ef2b3f3a7041717ad382dfd9a4d3d72f8eb3e64b06ca2548fc20c4e199b950efc0c8b352b9f8a15ac7e347efa5f0e58e293200c27e67d7c130238cec3d755bb8ee6b741b53ee43e8d158872af8539a5f14bfb3bbc7c3b7771ad46950a4b14f98de874bf6aa11151928adc76fdbec8593f427b37952902b76e3c7a9524f64cf797ac1921a7e703c3706665343fb46bb05c5ec938de70ec793350851ce26925115edd24697d274269a81848776d6d4e127990a56f3c3bd1688e119b218292371a461e633479984d815f5a08a52e5136466ef2e9349f2b375a33c43c4dda75c6f40fd9e04001520e16d75cd2c20d0017facaafc593c70d2c4a254407ca32c1799b076b545756c3e5711851ac43907df0ad1d79be4c0aabd3329e5b90f187922f9f45e6e86d1eaa8da0314aec7d30fba5d138c9c9258ec5c8ec790b9bb36da912088faaa839fceacb3b9c5e272d932d3d1eb620acf44b4d829bc73e7aef20f6752c2dda01bfc519f5edaee857f7f585fb0e11f8ce2bfae37aa54260d6e813ad223253372c2c4d8d564f7be074db8d8f2c03527ee5ce31ac7153bf4d5d320acad58d9688c5a32ed8f422455f1c56019926d1f1d4c96944ce0d85f680a5d2b81ed0b87a1c4201df7cb9e207a6f68f7abc2396d34e7c167f7a107ad0eaaaa906299078a2b8b2103f2c5dde24e9c6b730a9200fc49bd5654f83c1aa0407bc78ccacdfd4a281249d761bddbb4fd8fc0c99458829e8846a05c72cd143629e02bbcd4666cddd6daacc140009e676086faf79a105cfa830d5849ca4c79d9a665c07590a9feeaeccb2147f08364cf50ad4a4ca6bae673915738f2886cf3ad877158aec6384b9a47cff70d7c7986c7e9e2d7da400b3eb9c3b090d06272915ebfe9bd9029e8923cdd4eb5ef1e47bd57a9575fb5c608879baac10334700423352dd589f3640929991b1c2c67db3f677aa5b6dfea61fbc7e1761cd6a55db42c598b392cb9ff49aef0fbfdd79bee5dc85f726af7b1b7e16a632541a898351603dd0505e3105eecc62533de9074eee0d5775974ed17dfd4db3a79fc92d55fde28d2e3d68baf9275f582094557a2cc1f6a2b9ee8561f73e09c235011d930001e047863276cc129be5a8162af57b6d3d864daf9a5b8794e35f64b2d5ab3312c877622281ae02b5fc82637175199c3fc8814e2e7f93af3331d3d9442b5186b6f8d151f212a29800f66b4b330433f3b01724192c971d331aa4454f82a4beb807f44ace8c04ebbc63dc5ba797364027f988ad0f449ca1c671776d49975dc0913752e30a0c1c3653a7356b8f25f0a6a859419b7552e641bfbe04cc98f968f500f31edf2f6a364abc0d97a844242f3aa6b2ac2564950be1d585ee941301d83992009a5a089dc8452dc887caf926ed2b1604b3642c02418bd305c436dcfcc6d13bb3204c021ca0434dde1641d19564dba51dda7824e07b9832a7d23e08b9c23e34a4c7565528ead19aadb5579acb9f13424b09e647dfee922114e0853ffbeb33bf9877e4c9ba5f67f9a99dc3a523ee5ee0d54f682339ce79d236a7d9f66e851541c854468871ab8c8709950f465ea91d5d18ceeff4a44262a75f534dc9d834ad3645f3bfa279e3b094a4d4b9fac5bf4f8f562610e1b701e2f248a29f09f62923d4460312c9ed6714544f45c8150ac109aef34f3ea61a1b1e2174314363c7b71d7cf558ced1133a7f79f7ac97a1cc84beb6a0315573c9f9f31962be79327af740fb31d23d5c6a181dcdc20ced4ff15a4c6f4b8f4b16cfc22801744afc806fc2426a83d9db8e505bb388c7f15ae3c085e82b4adc721a6b0d5ba2e369b35567380de9ac2a702d6e610901eb7f6013f0193e82830056922edf0596b6d2a14ed646fd6e29d049f4e565d4bf8d27c8cab63208aba06c486bf102bc502870960bff952e1a42977453593ab5adcf6abeeddaea6945cbaf04ae4aab7496c459c766b4df43871050a5e51adfd013701cc0d55f3eaf72fa6cd3cec38c2a23d812aaa4effbe92c9c70498b39e9b2f0053dab696179055e4f4cc3345f3d3b340596bf2a4e9b3abf7c080c1d81a0ee8e0cacf47cd57e52ca119fd80826ce055965209cf1c742b27cb25ba07eedcc083fee7a70de4b66e662d88313952bcbcaa5328a767e6f7bc93c42fd712c3730e5d27aa86e2ffe6260d074e120196a1cbd1c0bbf4ad3fcfa1845b003cf98f334aabdea6f0ac3a0e4252314d3d918d5009303f2bacd4dbd223cbf473639a3f5465342e12c0ed0ac20423b8dc0dd460730467e18b4462c3c209d22db599b7de26cd584eff143145c535c428a57558b210ac9d4ce62821ff7d2cf104aa6b71ea2fc20e5dceb828feb40de6f23c52f8f9810d8ec2b7ad3dad4a39eea8cb436a016de769a0471d95cea155c3a5c358d431a137753fcf61235d2ca588d913df1758a597c1c1ed1ad87d9d98c45bdca6d937bd66f4d51b26ce454a03fa3526440a530264b60c2c1ca5b64bc4e838e231e6e014d6f0d767d4caa10346db675926daba09f40c57725d63933731d623779916de859ffd746d6c036c3efea97de8c0b6287147f7c0f3b492826a95503ce48a53b9b28eef368b9f3430701e09af6284431872ca870ed1ee3a1a799eb8eae4598d49ac6909892a6beaa28a0c8d74ddeb19fd1383cb73dbbc2c990271496a7789c37d1edf5e8d4f0a4a69c3b9156aff9c0559bc2dfa0d88ecb46277480bbb7c51e861b318c253fcc5ead610d117f1d25a1fdd5632a73811dcef03118b067248213e7b41454647b1ce2f09194a755d9d5cc055360685621075ed741cf745d4c601be3119ad86aeb76ccebf22973ee7b47e66142ee4d96418c1c890ee06ffff12020e6adb9f52af08389e921e57266be638b10a3b8c458af0bd144e4cb5eb535831d6e351ad3a25919190e81463066d347711372f6873eccd0b966017b4674948eb3b65191f9820a553c82e33d8b2c4d52366e6cde5861759913a80f5095db187c746427100bcf0325b2b583fddacb908b10d4a8bcdb5070fa1458779ca067b43a731745ed771e70bf24496efc3d42c80f37fd405ea6396e85f918f608a1c76abd693d6e4907b40d6627978f1b7fcccd462c817d60994c5afc5711888332514f6781b18421267e5b032dd22bec0a0e192c0e8cb19d8dfb631a9966b085b0e1a2b758e4cb71f5d1d8f2f1652ac194b787fc05be0894665bc00b45890c45479fcc4e7025f44b8bebdf09e8eacb6d5dfa7d582b61de9d44e4201165a3986efd58428da82b231a04c962b9662c5525268caf3de93ebb62f51967c9bf2ed082983e3688eaba89f935e777694d60ed9f9a0528d25774db6b8501393475336fbe7bec329c275b0d114d2732808a3e8cdd8fa5e374facc6bf2405d8bd77647f96d68893606452b653b5e6af3dceb9869099ab146a31b7857a3d835c2a854bc7fd279f68b8e7ed1933b60ce413f1cd8d15cabc7b2d752eee765a7bb87d74f883bb3b7d6c9b7f00a7eef84b2d245613da8b7a35c85ca146324c49827e3fa39c5b8c49e78fb7e1bb183189e88fa9bc2a9efaafad200310b144c981992c170b021d01ab8a312009fb9c54f691b915ed1913dd94d7007e4d2d712974590fa6e8eebb90f6d3ad07a187374fbac857cfa02ac46bd47881e1b33af0185827a0503dfac7d063af3c70878f908a32b470f41cd3fa2c93636cd3663deaa02841996521ec579a3afc61d8e0a63c43c1b67a04ff1ebebfe5bb7880c44e761602a405a0a228380b34e382a01f8f7f2a36c8481692816f77bf245b32983dca1ebb24c2deff45c07535f404e0d9eb483341cbd7772ba3c6d212b99dacff42b1f48ceba2a34ddac9fe1911dcf48ae31e56c26977c9eb32394495b3f949417203a58fe7839561953a4078df8d41757cc7b375a68abd6b939e72928aaf74706c33d0d83c5399a924490b996cfe5b34c2ef686a195bb9dd0364dd3d62c7f28eddc97143b04532037c4884582259f2e89b15bd43233cfdcce9f0dc4ca89bb0a6d8baf3d5b7337ea7ee06b44969dfbcd838ade6a474ce5ab49fed01a9dc35754fd20703298916f09d386a33242a23bbcc4a76d04a2f6426ff925afd6e173685d1daf49f47d85808a7bdf004744bb589a3e2456071e8ab97ad992e33f5f5ca07e8c3419db9ca0650362483ca7cc960b86a276c141be9fd12b5a9e658b9347e3d58d4991ee8d750b34188e35a4b80dbd98a9e63b830390d54d6c9ce0439cd0e09c96d0ee9bdcbbad07bf8eb1ac8ec4dc84564969acd522c3afda89bada4ed6906990d315555d08c01845bdb3ab4ff2f79da9be558eefee450350cdb32bcad0891830a2f60205965fdae4674d64295b11c7fab0695d39b54ff7c7b36ca1bda6883880d4c6b596bebec93ebc3e5b2ea174433f32b07a12422ba289b687464f8cf22b4f3468a02a11262d8ca2768d0b92701254d158a852e3eb4551f8f94ea888f5b0a3e211428d40c0c9c19660d729d4bc9caf74fc563d239ac88a68d8992ba2d4c4d624d0c22816423bc45fa97bbb5cf97741c152121e2590309f55977829fb9bed1e7a43e9d0a52f65b01c8451712c00577d458ec4eb439d93481d465660b5086f5931e46d34bfd870f93809f6a7a5fbfd4436deeb0a16ae88ce58d14bb74b904037659bf868517aaa146b9bc857f2b8832f0596891be55cd31218020c72cdb5e55bcb0cf5dd26c21d97b0744f410d6d86e31fc786a0f23360de774dd160570faca0dfa67f38dcc22bb5e55badd84f4b8ee6ef4e75e123a93e03c3ee18364f2221fedd31b99286c10507bf7ad86012e813f0a99721c1a46a44fabb2e45e60314442cf097ee7ead7ce0a776f228c835ef0f2818cc56e3f93bc398d842b168497818d8fc70cc30290527582e213450bef5b7d861d395f7d427c1c848b6dc63aa166c11bac555b4ab285d64abcac25f75f1e38337622bec050dd27995d2618ee9b7dd960c6e6dd485c66eb1c54eae3bc34cbad9bb19725d3d3e917486557ac969fb09ea8f76be5c99a566c6b6ccde4fb6b71f293609776c88d1eb2407ba4d0ab0c0787e0d12b3aebd285042f4791e1441adb3890410c23958b055959d44e61562c2fa4ed6770fa58577d20d0eb628b00aa1dac1dc12e2d4f134b55cdcc81d4879b5fc12c8d4b93978a2b7e7fb0bd11cf177af399a066646f5e5e8e0305fc782d3de3087dcdbd871d6c6c6971db621b3915c499151fc8b0cd3e7d657f5ebe4d5c283233e4ae89de420b61f7294c5a63776cee410dd2557099713c022b2f418431343cdaf8293be1d7b278ceb330046f98d345b0ed94187d77a2da4cf8bcd62cecbf834b70bc3192866c8de00d0497bda21383843b9c2a3ec5d085a2342831c1bfdc9822ce416d4ef982faf0e066c9646d553edfdb2e457d44d4c929668c3fdd6ee0158ce6d77391ec6981e1f742da571e57ade047341db4d9a86b2ae1fca7d50bb596a98f903a7dc63aa5c4c214cbee25ab32fc8f14b30210f7c4b2f40ec3d39aeec223fe5c9664c57a7ef3c7563aca74566c0d223c3fa1d3b6e818b5d39af744da25ad24649d72025e8ed2b9ee172b9664f518d1e41c9659fc5bab95a05a170cbd1ad235ec3fbc3cc4e01b323e119465baf54857c2b06790d5e5170b5e63137588530a8b7218f9a8f44c7ae4453009e7048358e7bbc21517b8d70602411ba6d0e25f17dbcbb6116033cefaa0a9f827dec5194e146685d7826e1e7ca6af4156092b0a5a28c0d18a3e0e1b14a4e10eeebfccc0a6812d208472cbd57c0c35a61553ce39adb2155eb2dbd41e97924fa8497ea79fbcbb69b7d2feb326f7cd5eaa275311c832d124b311bcb9a684f1ab2a271280b60ba10776e9a73af2056ac85b92da94a374e86fcb254e4b3bc017fcb2074541f3089ca31e36f891def228ba2202045a7f2928f62b45ff28c4b84abb832972be52407c3d6e5dda0d48f7a0fc0c8380e6d5450f21f26c2df9ed9f55b6a5ba1460a8cb73af86dee912c67b72fd2d856f7f7a31176871deec8bdcd59fa62587008eec245a74d78deaec8ce74a4eb4370ba8f156a96d9e07cd53a6279bacee1577bb21e2e8846c0548ae36e93bfd60f49e0bc0fd67a42ee4202665a874f7f6b3485648b26dc760f789980baf86d57fa1b49f35f23c9f56a2344ea6ab8888032f4b2e2fd010dc5e5c3b5cf10a158fd533790bd47f843d93865f586574a13c2215fa1017c614285499426611cd8dcda71ff31367835ab12bf9edc534eeb417177dee32a381911292e4ec1f7244ee1c8d808f5b1564a005574a22110c55b050cb7b94028ced9fb51138cb1c82069022deafe505b183ab2431e4aa14bdbb5dfdf09d76ce927ed0201d74a7e1bc8459f39695c5b3a19ea473337a89e700e36a8bd750de19c9eb984d16a7d5fae5c868e16a945f78657146f34df190185a1ea89cc435674c23ed52315f1e350e6010c3cca73fea61b0b8cd1372a1ba46d771a9c9907127aa70586d1b27764786371f118671526c237015635b8a1e2df56a845a044bc9720edcfd4111f0d906b6cb91add518ee5965b8cb844fabcbb4f7e3200aa9d42b616fbec9ed848f464f86288499aec80a3c2ed9aec3cb1612e88a714f5825dd37d2a37cbe1cb6041dbf9769f73dd7412a76d68c92eb74cf6a46a1160f56dfc757adaaaf951bcc7e9a01988ec174dbb6d005ff0e697866b84b8b71300e1e9fdc378915ff65eb7e8bead875531928a0f352d97040fc74cba61c78d28520a69ecdb7b7afd8bca005882609ed457175c3c6721c41e270e502ec3cccf8b24b5deb7c4fcabcdb3cc607a0f3b2a5450cc1347bdd38662202d3cb2b1022f3acda71d44daa31a93ca7d30d6f3d0914a8481499ac0cb5bc7e88a079a819a200b771a1b3d3b7e07fe9ddc6006a262fcbbdd9e278f7d0c74f5259e54776da4a539cdb193ce776711000a46d612bc834d29df39519974ce52a0b62a353e6088a6795a9c901c57b03db71ba68f459831ecfb96743f7e04190333fe0eca06fb413b509a9064aee2e8d6cb3c3454511df1457e8cc8dbb9f1da8fd154a88830afdaa4dc62a384fda80e4aebe03a8f1e98836151eff075c91549b8c94c2a76a017b3e98138e75b7260e8968a9ea2027fca53e597f8c48f57886a10f0092d4052a0a3f8a2f22f5dc12a1f5a2634968f5e4d967cf08d73522c6429cc8b1b7a4c663d714085e846c1e56f3db0ec5db8715092cad08b7f24930492be018c717ee7d0c00bd9121b3ce072f863b1dad4be94ae3ae82d5dacfb768a3952e81d893766fbd22089cb39ce2982ccf1be8fb4153a0957b975ca6a8c647729fdae8fd77019e697e685726b43575e2ce2b821298226737bd343216344f4895ef1788e34187a6e69833d0043eb4d76bdc781fc2287a30417468e8ddd81fd9f4eb4291526bb3f697c1ac0f9099188f83c8ec6edc52e88e4399a0db9ca50f3917cc35a5bca59ddbd9446417aef0a3198b0ab2c1377c7d489caf6d4845f4125a185d53558d3a1ef4bae02c8a3455b86716bb6ea8748304e3aa72118999c9a12de03d51a21784de81d5f7feb5ffb28aab567dd6fe19ae601a6dfe3ca5e4f2d4c96180c9159bfe772cc26bb984edd524f63cca674bade89e0a7604e4a80190e9f95418a761b80ee3c3c5492574c26e4d4f606648dd67e040f482299594eefa3153777309338bd7777b930eb01839f2367aa904253d0bcf540a43a745769f00b58f390facc2c542f5cb090e89aa756821d40171679bf44b22cc570524f53d210de07f48a494e297688753d450aa484cbb64e8154ecefe1642828bb3e48c10e5ebb7ee91cca8943b0587bf5f81020febeab85f731c989d82368c5208d7bb16af17210b7d8984d9aa71b3d4dd419f55b5ca3cb2f2d3bc33b9fdb7a2922335757a585dcc4e65bb486ff2d89336e410a0d477089c0ee128447b69fbc89ce8f3552adf8042966ba60691995fd7ecaa2d6f087e0c009a8b0cf7d39f193f15047d6765897c703b48811379d638add957a1f1d78be51aa0d6e98ef53c94c181a9373b34c23cfc393a12a2b0ab29f860dc3ea1940c9d893ed33562732a0c23981d8e0b9a73465881f31e1ed357c4aaa136f4c052eacc7f485215369d45c491053c088178998dfcd8ff9bebc21fb9dcff7ddf7dd9101ee357a9ed003fe61de06cab556afaa2b086c2209eb747bde7cfcb6e28ab53064e51929fa0747bcf827b2cb7e40f2f3f8371c7de00f0694cf66bd2b9fed80aff988c6c15001ea028292a4ce6c7a02baf30083cd75fd5c327316a15658a7ab05b63279c63685669748872e88327fa8563beb27414c347e56dbc046a778e0e63c4b84ecbf0498a3cdd3385327c42ab66b1164052772eaf264bc6c0be0da2b4d98643e2b6c8db0670d2ed28906388d8ea7d24ed50fb16b8c26e51b6c15659a9734062cad08a4ad63fc6689b5a4c4a886029b5cf559fd8f5c6a747ba2c6553ad558d105467e0f7802bccb82b197cb5448deade8f5cb38fd6e08bdbb574b2d2abb156c5d7e47b9ed3a67752e8eb2a0d08e639ed4dcc6473ac56823792fbbe20c77ccc23f285b70d98bd022ba7871c7398278f5f4f2b11f947e6834870d6872ce228ddd916ef33631fbda455cf60c3ef983583974321ef706a69b3a12df3c2a6536fcae6f93e578ab05b0366f1f2e7dc37a5ab865779e712676d16d1d9249359438ca36a3b17da14da27de3184f069fac2025cb1ac4525f3762aa1666b9c854b3f53047423cb1856f9202604275da16296fa2ce666da08e763ec825cd293d76d2400b6e3436420c6e9f8eba758ca5c69647383e8e3f0798f54f76b7905019bd402d151183a238ddb563e1ba447fe0eec91c791d9bdf08cbdaef8003f913e53aef9a1c18f45002a686b66ebad961e3b3b584ac643249a682472bc1973cea54443dbe3c49c5514bf69e63b3fde5bdcfdb5b2b2dca6f2a479039af300193047e95aab2b1b086967dba80aa96aa230de687b22057217480116554c2e54d36c4ee5566ec146bda11911bbbcb9d36b9bcaaabadf2c63cd836bef2d1bb8cc20537a95d563bb49f1609ac1d533658ad6d991adcf9f65c7b6b8c8b30fdb8b35feaf33ecd6cef1c12454f0e44a1cb453a9be8df8a99771bd211c793d510623de30b218451b213fce7bb9775f9da66d77996470ba60a8c338981032fdb07dc1b04ee87d6c92e54ec6e856530788a14d175980ef6c94c3a3096e337842204dfe40f23b035e2239fe3daa05c8445d9f0fca332acdbf96c3fe72ffab2ecaeb0ceb2292678a7f450e07209af474dc90f4d09d3abdc84795149689317680698e9d95e6338e5359f27244fc1e3a7ab6047dbf29d5b6900f04bf509a4fc9e88e8388b45a893755d36b627788ee881a93da2ace2015040d4ae883d77c5d6fec440301b56c334e427b045441d4f9269acc6c2728f1549af7109ac9b23212f0b7867b834de416184ae8b03ab358a720dd4c2b6a2bad4f562f561ec2394081373e42707bc647ce69afea6361d50011ca54e635a3d850b7391926a1750cbd8d1739c49cb5cecc79b95703fb8879244c59c06c5147182c5111e50439875e04ec6968f54ae91d7bb517cc7c5d87b14949c56b134c5c30b3fe01544d13cf95e255fc88cc6aa5635f94da93baafc63b68c2401ce8854c3bce79397a2bb1739d121a672537d93fad114a5e214089e368667910c7206db81d454c9a4192ea3943ec88f966494c436fd4e8f07be2df1a00ca3133786306b8550cbfc129023b378cf69b2b0049de647f851c798885ea4dfdee0985648bc0f1c2c238d53339be3ce3f8ce3059b605f4804544833df051eeb1a877af8c8bf5699db2d0dfc5696d546e798b0cb999e344181c21550d3646dcba4aa201fa1bb5a55f3d6da39f3266d693d127f546b872e71e8b96677ab365588832f720abfe4ab3f99d6e15f58c83f9c5152a04e8d24b7ea9497291869848da7c1c9e36cf09a7a7a031d9093f9c416c56f4b18dd2b53c4d23099305924e81559192837df746961538b1bdcf5f7cb57ba539f558ec81fa05da95d8c5621b080e0a99284f553b1c3146730359e960c3b2bdff7e11ccc4619abbdb4e8c1a3ec1a3fa634f7861230b81fee3061cf0c2161f29a5b7aa0365695646c0297b76517e5367666e8e6268c9af2042a285d4f39f06bd5654c9fd5a68df065fd5dc738ed90795d33e87c95fbea33963e90fcc41a88667de72490cc01ed347f41dfc15592496af8e0e7ca9d8f7c0f632311676bf4561bf2337e6a072c26e32e1255873ff4786550c9b05db23c59ad9255486b57c48e273bfd47715d5b47080000001d880238bcc4dd9d0e7777a6cfcb18bfd389f7813ffc446f6ae6ea7940923881fcb106829d6b2559083b1e09cad1b4c7a34ef0710acbf93b7498c7359a0b1bc3be6e6b59e7a3d37cae59ccb7f071466a655ae3913a75adfba348ef3c3ec8b3e3afd5f1c8792a123d39e375415358e331d95d4c4954fcb6d975ca29ecf507ad1302dea578575de14386928859e3aa5d58825324cf1e3f871ea194be8d082f49769987a0fd55e215b81a156b72e3aecffe3b44aff6937884eefdbc6d50fc50ccb06bf6907a131579ddc1914dba172a529c943d678176a1e5ad0c75b5fbbe1e34e116c445af8f36ddcde2e4f24c2451e3e7583c624f9427772ef944b143a04d875ed541ce5e73d5edd4cb6525e190c0c11f513d8f167abae988be204dac779201372a35fee67d0a5163598078f9de5bd5f0d06e91a828b895f936745098014f2642ffabd02d748a81eddba6f8440048e281f762d1c2746aa321b843886fc44ddc3d9b899f4eca65cca62ff5b446c41f76f118658959154bb3041bd7ce08905cfa12849631ecfd40ff15876387d1e4d81d557832a2ef67e2152d53743bfd4c6ef520261dbab10966d18362c07309c033525247558c78b1a18238dea555a687c1c8f5d83084bacfb6c45ac39193237162a831cb46a59cfb903d19a8539cc3c0d509309a2393abea6eea48a77a25605e680dcab6484519daed24064767045e0ba4e2960e6e7b5a69f4b325a6e45c31afc954b4a30e94a289337cee7a2889500fb453f164d536a5bcd46e78fd284cb1a51d4b14809409e333497e73776a24394c51a1b5f8528c32b12e8608870fcba06b1a9b06f23642db28dd45fc96fe7788225171fca5479b732511d54ce148ef6f3f14335103239a59dd13fb2e5b5ae7493fe5ae5f2834ab5f15b2a27177775663df4c26087344e8f0c276b529ea972f0838c2db4285533090d2688f50bf170965d0b55e164b7cb5580070fb2aca2ba4c5b5bce1151c7c2aaeb441a4cdf15a49e6924b9619873f697bba1f1f79b2b85d2dd7f46eb34c21aecb51c9d7353eaff5f11c791516543650deb814f130965553008551d30998af206118bed42cbf1ca8351cf34d033e1c1f24a33389da237e12bf99da0eb4186a7bec6e7e6adc5c11cdbf44cb3775f5f220fd97e03fd8f622641cb3423cf79f360a1dbf0fc842500ff05549647547b8223e9fa8830992c6fb010e244d8f0822f69cab167362c4a6e92bb3632913222c1c3bf0eb83292d14fca93eecf978e3dec08ceee3f7640a85765fc8f37d619c4f1471f7eba39ead16bef8eff8cd5022a07b44bbc8218d87e4b10db2a1801ae3df0e6c3186da487fa203b1f22b30cb20f9567a330f6d8b908b148e401005dee065f9168531cb86ebf33b4b1e3976d98585aaee23595debf64e5239703dcf3b028857f7d75f256589c25f01943b9bf1447ca9cfbd64696c03262bd1bf35587e825887ebd8fae3f7129d3d7a8c73b47203cb7d22fa6099fe381236293b7b0c9842c9f0cceb21f060f9d53ddb223a51376ae1bae56a6df7e51b527122e51d7556cb9e61ca3e2eae2b09e798530e95019cd321563fd304dad10fa5536cb2c23ef7df07f09520839e778fa8b43f6155377a994995b39d70d11ee84002db98985619ce909ae5b21d3bd0a824b14d441db9006a52f256782fe9a2e691871acbbe1bd925e369b960bdd1244702c6a316ef9683d0224b0d3442a38c2e4f0d25bd0d2f405eab9b1c7ceff8590f910e9c89b112dce1896adab02cea6754467feef454c7f68f7bce3a028f4fea37381ad967f544e55e2cb8a0322e9d3814bff5495e1f1136462eb0f607bbdeaa8edadc4b67e654e24f687acb3452713514ca89c199523011b41404d4c4962d4013c0c74b1f371ef682b23f7ffb6bc1220c85159197bf0422930dd5ee2fbba12e42af7b3a051efc09b553e916445506699dc2d392a25501d4fc1301f7b78acef21c073bdb849883a688eaf70613b5f51129e89779927df2afd1815dc3a6086ab36a2b44d2f94d2b0dc86846326d5f975e70987adbcef1c54c370dc551c1e4ea17f0679dc19b978d7685ea2989f80cdfbd199cc11e8c4ffe3716a42ac27302def6ad2988162bb96aa4421c8d44d23522742fbd4cb071f0f5af750bb43a6b54fabd5b5c568072cc2e3c3950ae6c369523dd159d39fdfa3ade287a09489f606e22e127db05cf84aa0a744bfff86f775c5e0764c555886d2776247db911225a6eb11ace5ee6da3849689a8786c274ded7ec04fbfc6094b09cb586a7578adda4f155ad58052935b6bdc212662a5d6d3073d8b6ec333708b512d2d2c935d9bb37b2e1665e264e03aafd4e784851f7503056f77878e2ad55a4605fc5c727774bda23631f7808c54c7677779ee14d80710f98eed704434496daa7b451c7e38e1597920393d97c60ae1022adabf9028f477472e3d6550e31f0da040370255cf3c853f9beae1babf0d5f1147e4faf5e296d220814af1aa94d51027c4f1c2197877f8e03bca025497aec38fc548db5e3cb36290277431af50febf8c626f46251997e63c039ce49963ca4a9df9b30df78c3fc399be4b03f6f0bae6e9d6a2364de606cf831b5ac93a9cfc20a6ed59f402baec99652d80736b52177e056be24d390c78d9d74223050c61b2d54cec57e1f818358542f59612bb905423259f9bc753f9b03adc1f69b44cd5b96efd383f1a4796b04dc11deede52602b819ca4f1ca4d4d5a7c17b0ffdae42e0a7de253a1b3f5ff4d3cd435096e1e4da7a7df7cc1e120e0a452a55db7878bdc27602adc6baadd15acbf2b4c4c3be3611889918f67737dc04fd08651b1e75d91357735d777a22dd5b1e8705675a7eb5151393c1840edbce26bd434dce902babbd76345f3a738a097795acd42977598fa598d26da965db186b3e4db2f9c93ec6f0c716447a4971f91caa5356696823372d7387b59cca452d4c2ad25bdd1f9f30affef99bfb64883a543e9ff2ea9e19925ec74d55d8815fe3391d3c94ac750638047e232f78aef08076633f241e10d2bc2c9067c886f932256f68a9c35799e977a7492bc4f0b1477e6288d0af5d3f4995e25224f09405096a6f20031d532a9c0b728d5d439fc2e381fdb1799b51de1c64f3de059013b15957c5976d44983315727e3441f7698726a95e0cbc2518333b4abfa90e3d075b6bf1b8117fe145aa6d19d20d5633a56ec274a1ef1cb3b7fb1dfed874596edaa90e1f7643374561ead960228c7c40850ab9929787d33edac10995c14e7e8ee44fbc4c9c751b76a88c705d418b2469da619071f9721ea9fb3901e90560ce66cfafe49fe5a0090c27d6982836fafccd4e61de33cbacbcaaa57302b78aaff01613dc0062f3faefa6df6b121674d288bbb61b43ac88d2decb46566b87ed08ecf7946c71d0ae0161bbbf7cd132ea479658617ce4c0cfbedb11f7b6975ea03d1f01c638598ae442f120855f0d92e3120fdbc02e7aced17edb89d47dfc762a7ba52a543c6066a91ba55f3a8d7fcecf0aaa2a5d02c469bd93d429f02507dd4614e7927b6f632dc760697f2ccdddae2c293e0a33b7bd90bbb7b6137ddba75a1cd2506d1043a801ccb5f11c9f23964e1e05aef195dced2fdc8ac96e4d291f3311c5918bf43c3c404287f28a56288a9a98082fc9e8b9ec39895f4e438541f94c12744cd98ed3e7483d4b5cb12fc0eb00fd63910fdcb34e14e6774f60ea44548e7d896288c0c2f5f374851fbcc3a64f43e7ee0c2a6ee16c1b4a8cda23e01b3f9651cebbf1a1f3953c915126d13236651f58edfa939f61c46123f09415d37b09f5436364506ff37af2303893fc3c16cc789d857a6c7b542e4d6c0d5b6cc195041f91e16f76c577c57e24ddd7d7b1efb75b8ca2f0fa2bac3be4db38b4692609accd051260fbbac408dab7ae5055c04ce0f6e9d18d29bfcbfc953a6c0d57cf8891afa64ccd8d221a369acf17020a0fcad7aa0c81ef1c5a7e1732c0792e2575595e5bc4a4b164c53dba84ecf0b32d100a21c51899d2b1946423692c9c6fd0dbcd9c70c9b3c94d35df103622dfc3e02111e46dbafa5504d6d8bd3e2fcc75471b4b9e654c851c625c27d5fa399a6e12776503409c7b681f36c1f916e7cd87b88c3f309a94a9339ca66867632fab511dbcb326a30a88675ae9bfd1b4ba33563fd24f0c60004bbdd0b8e4595a6b46725614b2effdc854c1108d4cf3367387a00d152861e2d612c1811a4ca38238020474f0f78b2054f2921e6b2c9740332324df948f17e0b9a01128d4e50893023d2ecf91d7ced8045a3d45e4b3fc88ffecd84cddd15bda87ec998446592521cd8ebb62f0f7ba58cd6256a991bb9845bc05b29eb04024c157d964d63f7d0d1c21ea9c1a39bc4eb11ad993d4379b8979d4a9c3349a61bb0d5184d8b3bc21a8fd5a4631851eae072e083956b0a934840f37127911862ac07382ed7aa14afdf1eb71f7115bfce617b818026ec07436832ae2fa91053255721460e0396cf4cd9e8c0281eab30eafe02956a3f2c169f3963404044a6c8d222a1d04f9419809efedf11abfbeedcecb2c2a9884baaed84f42fd298e130e133e1162f3f13238328efa6666cfa19c617d6f3cbdda83600fa0678b82212334a884e688f7c2e0cc0ba87ec7b7443c09b4df2e45268abf539275f6c0a8151c2d944a95fe7d32039d1e60b61b5b0baa764736e37acb3c2a7f90799d05d384bd9fce5ddb4a30d847e06421fd541f288a0b389654e490171def98608b5096a3c004c09f65054461fd49bd9ceb139ea41b797d5ac5c77ed4ccb0f0b5cbf365d7425f7bcf84bfe222f4b09d01d99502f96a857e2e6f53a11a408a4fd9b619a21a7eedfb014239f7933e00a22ce3630150a79781586ffeb0384e5f7567f5917627c498c1c2eb97e3cbd731cbfd1742ca58858ba9391cd258bba8df4f85a3249986b2c131ca1766961ad55e6a11ddc614633c27332d63d3f389673c30c47528de9b3fc1938a4ba40b7f00345b06579a0c122599bf4c3e850d26304c5a482602dcb44a24f2170df0ccaf4bc630c80a9c94c6718f96666162061f23738db19d300e020fe08f1a531ae4208141df5f8b4f4a749422a73f00b0dd507f108216ea5c221ce76d829ff7e41230c8c9324d3fb1b37cb66cbc211bda752428e5a21dc828f89acac2c7f4f61310f8d9aaacf8d9aca459de8bc214221841220e60bb5af49ef32d4f1fe632fa09b7bacc28dbd298c039b0970534fc6d72f9edc065586ac8c34373b77d7f4fe6e354b301682d91a461534e01b2693bf891936096d4a4acfe716487e8a3698b31b1fb3e077f9dd65aa2983552b12c8985f470c4175e5efff2381b2dcae5224830774c363c941eac01f40d01cd3a850880a530d5d60935f8b5d5bf80732958178461eeecccf2897bebd2153f9ff3bd7e0577c56bffb867be4d67ab008aa06c47d9ed513538bf7aed583adc839f62a449728ddf356be4449549115c575ae2fc88c4c86ee1d499d787384505933aadf4d5908f505036ef6108677c1185189e1cc337e36ae79520c540f3b76753d6d077d73062fab2c8e2a39672dcf34f211c8abed1d15421f7c24cd1ae7250f0626fe6755e1373fd245c4a8e104640734a9ea0403008d2869fb0be62fb2208c09b17b5fa050d0e88e7fa25f3d337f8f3266f0191c688c5543d780db47673aa062113e053b3b83d0bdde763bb2b3e8f8180cf773c79be26a7070272773a80895062ea61e7a2b4467091e3405f8edf8934cde18e0c812c2db218091717472e55f3442e4efa75a7d9cafd0e113956952114d4f02781c849fc0230c21721ffec631e114485bcf3d8ab47a000ecc3310cd91960d341321930c8f4d205ae2e5f4e9f72c64693cf5e9d3312f874d4b4a9e6036d2e893251ace7f732659d2c717668435589e884daf310f50b52ec13ba83f31438b53003315efb573cd98b4d6678a0393870785bdef625401b10b08d6787d770cc9bcd196f8898e09d05265496b79f1d4fa4e1534eace6b90c68b0f1d5de6dd2a45052554956d513fc8d9217949aed8dbe6d6a9e666a1596674a7a27944a792d39aee7c1063284f1aebacef80976701a7092899abb53d2e0a765b660f779ccda7f5e54d732c58177ea51abc97a8b06be5865e389b422e389633f2a1329fa2d8c34428c47a1c307f92a17c589022cf242d048bdb7af734ca6c2b8c80653504893985f0c97087cb4e866eb9b37e1db764ce0f22057ef90c24a41303b626cfc5cc76e8e6d97366bf5d66e89bfbf22a868ebbcb08126600133b767ee8f4c7de3def06792acbb950cd0b2934095042d43258a190379335aeddf7de825819cc68648e35def98061975696715a16e4fb42c0ee6d8dcca6387335234590f2c1b3569251feea389b8e9af0ac9fc26b45b1c7b3404ff57dafe27f290a201234d87bad85a13e88a2d0ad959c92c1c9a266160585903211de86ac0ccd3012a78c7e46fedca86a12f80dc75539a9cc064884aa79a6657955dd9ed6138986df7d9e6582c32649afd6a7bdb235a000f4220bdc43002a469726b9a07b6602e18f9aaa0e8752b8083c1d50a6224222678b5d91e75c065ae44041f2c04770f819c71e95c21d0d18ef954d1c8397c458129e4aadbd38bdcf274d57d055535d62a22e87ed4adda28d60c16200c8d298940be37ae3551d5366284e93c1d4a045fe01fb2bd9260ba16f898bf479ff88d81119148f1ac694f739741e5f8ae2598ab9cf7c6d6723f389c4ca1c603dd1afb8338b04749abc69ee7172358d85203dc5da1d047c8e45ba270504198a65fe3a7e77bbe4e521e8173ec21886e865fa79e7439ab01d15401c4948e40d35fdc9160dd83fbfec2c349690dde606268f1c33cd0df908fb496a818830fc38456a53f8c4c1a3fc1d4c8110f31a12a31da44b8ca378f40652129dce4f17e84869bb26ed524d79e8b4b65c0de26aa797c52e6a736e398549a7e6a7ca3a3cba2a2266be7ef6e9f8044b654ada3dce9f95149973355353766916bb428df0f0efc97dc80497ad1aae885a3d20081021ee893fd366640e3a664fe7934cdb5c6747a94cf8423ccf3b83ec9ced45fc01a069606c25e52f301c50c7e7b6e926d07643849da3d885ee52aa5044b760efd0831b082b001d6081a7b1c7db1edf7495ba272fb5e2d3a0eb1797f372b00cde4e458c5978eddf764d86a6c0ac9f7f77374543ea736eb6e78044fc7e932c4f5358cecaf8adba628ae92dc62973af53629fe7ee317a8182c0e70097771c7a20e2b54f6606f58920bbf0288b55920c502c2b1b2bb32e1932661cd2825e5591ed5b459e21937073c402e58729fee37d760e48d343e0ea84d8273aa0e7fef961a6c9a2e67b256b3daaed0596980b2799f29996eba613d5e2225760c4e871de7cfb28c7d3851be63a23402104f677bf275d61c8009207e60f30839e7948479ffede7756970c6584e2cfb3967ef6042a806e3d10807bfc8523b6edb7f9404fdfa9eb42bc19bdf76e032a3cc7e9e11c2e2477c4575f15efeaeeb20986a0962eb1ec564e7e080c9712f8514153fa9df41502b690c02c67d2334ea1d245910128eb7291fac7b06d5300f3f1ed8363e32614de69ff1cdbd1309d1da74cfe600768b8dd26c62f6bd92adcde4887497c6926655e678de2f039f6de5d594e522bc4522ec15091f6b3ef477192b28311151fe9ef02732ec42f938fb8deb6ec43f754cd950efac0a3a7e7c3c6a9a16a2c60b33aa7806e0964569fc85ce7a91380d87ef1200bad4f2c6d13cdf1a1c959db72cc404e151e31c492bb20f2dd2599c80b2a4b73905fd6bbda1515a6c04dc456b4085763196d97a12470b77df9b269847795d70d72c033f736069b728d540137b5e886abfa9fbd4b2574b0310c4f412582ff6ac104c5db18086197c6dab910554f726ed67831e67eb278ced02dd46813a33f02e35eb0a692e53d24cb7332104f040aa5f4e6f3208bd0d4b1bbb0c30cc602d67a0b59316df060a084c4a4c464ba1c18d86fca6faf67ea54d2f3a5d4363f9129437886ee92385b033e7429768eccdffd22eda2d31126993c8b2c0312d8fa1c8ab32e0693d1873eb29e3b814bc9e2c306521524daedb3d2e2d07d4847bdc035fe46d8f4ccf8b0e47ecd415da55240d4ef163a009dad211e0ab3749044362115b1d190ae55a94e56c9a7d8f7c64dc74661c68e4de432ea1fd00eabc36f3a07498f242466d0abb978035bd22ae64d85c7d859da3cb25b28c2849d721bd6a23b0c28b37aaebae8cc877cd20a5326059cd8d11dc6dfbc5ca6560a08840a1853ec3f35d6c05a4a7e1b98220d678ea6c2a8c9bc911dc36447d9ea8ca4793592b2118b864a485d336f60fa9415cff65e7513c246296353e9334766a061bb51ca0a2e2da3e37fc7523a3bda3b6d55840cd51b2e69abdf8b299a7f987fe5e102a6ecb3900843997432359339418a586433ddee60b411d5b9315c2ef2615b9ecdfcec71815ce1d3caaa67614d9efd443aa3d734bdbec70f517569a15b2d80f4908fb2f740bac34829e8468aa832391a1816433e82cf7e4649db7f756e6d7ef328292f74986d2057a28e311845407d1f07606d7832f4e28db2b0d475d37fb52f9c572c63a6c6b1aa130ac216ebb8a9bca15211a0d6331a6a2f7ee45c1796b95e76139ac92c65556bc70e6bc9f1d3ec48d8fcad4114d7fdc25d2508d77909d86a5e52e89e6c065777f78cd192f0ec53b9b5ffaedde53912ca442e054c3b8a2893bf1fc66dfec3b7fba48afa615b336cb338dbc72d395e3080f8de446a2142801dbad5f593db4c949b68b1bdec103d0c38856c85acffafa4a773c5619096d52b4f74549e7dc126622a23ecdb767d08b913dfb4c13146710bb2c1e928e28a5978c32ec3a0c1a8b1dcd3c159ddca08024d7432fb35f1e64776fd7da166c60a0eb870fd177ab89bff82ee32061b6ddd16de96b481ec7f4007ee9ea5c56a0c75b3fb6705f2a784360f8c2ae9e56a404596adac0099f3d01b7f728a6e02ca527426061247f4b3e413f89f971f3eafe0a089f027043d26678af7a6e165b4e07d7f0eb7d73c025eb79e0b3c9c5d1746cdba4e27b73c3f0f3a0e0fb8c27966c5ed53c84770d7322aacd82c1f4a6369b10933e75cbed61c31d16adf78d69834603d7f16636233ca89c64bb783c683dcc8acdb7744a66765eb56f92a1e5f2e2fea178a3a0e87389ec33a61cdd5d4b8eb4cb525f472b1ed8068dac8b680340ce60334fdc744fa7e6052081cdebcfcbe475d57e747c114b0c7072a025a1bcf3a60eea25233bfa6209c52ae7b7f71946ef1141e2e941d5cbf5ac50513afd2efad531d95da62e5855f26757b7aa4f90b313667643e555e25b351a9e7fc1ad7f9eed7aa43ea431bd0995156c205289687acbbe650f59a320922f5a69eca54a4d13fb014a040a12e91a7bc76233124e2e09e6062eadffe831b5ae2d3378015bc2733abbcc0f3bb338ff5db59895366c58c6172312090d949df46799de708cf1f91805be30e3d5be66b1aa487d190b49624bf4b0fcbaf4b07d65f8c93210b7ad1a5efa3c6ec59e80b6a08c41610ba413fbd2739e8bae88dc35584b5dce9fcc0393b8df87662b7bb0ed947ce25d83b9d9d3ea51bf27f05e0f0dc5ea05688d97ae0b8cb85e5be56fdcd7b9c2a04afefb911ba113650a2806246464d241fa74d19486d6addf10363cb03e9f660e44a08bc4b4e913e58c8861c8c9b0b3e42e88089b5401347cb07fddb3e4dd7d24e1dcc3c10df961bde3d81e6fd0c4af99edaf7d2229e76e28aa124e884041e5e77612c3e816e21e16c3ba95f732e5a8e5c51dabda0b7f8192ccbdfb3a6a1b4723a6b5229a09c885d752e8ede411f8f3abc798089df9b2175b924a1ebf7eb4e08e70e8ddc3a9eeae2473ea60f3a95472b3da73c500374890a86b23f21415513f920ad661d1a3ad35110712f5d7def68f9fab6b19806daf008b1e8e90bb0fc4d2e1f3cdcdf7f63586f2e4d08c484fadfa93c90f36956766d752273e9c2ae4f7f39ad0d2674ebae961ea1b8de0bb379363408b9e2aa5b21e4321f0193b4c8787c34fbaa7667a4065d71074cf924519faa9bc2a4e8cc0c73edf1af8752167a4f2b45cebd538cff35bf62de19f32ce518fd2766e072329640d33f4a89ca479b86aba5478b5e47d56c68121e5877c54faa9d7e92d07566d9dc30705eaa7a5b0245e7d66dcdeebcd17d6e73000398a4b6b92254a477e310e30ae110d728be43fccfc7542e92af46e1b6afc936f93df69564af273f4183c46cfd18c2a2411bf820d81712497338711fc9323ed60818638a2e33c36d6ac0056cea8c98ceb6b3a2cb654e45cee9435853a18be07ef9e616621eb3978f36550560aceb1942dcd70cf296183b16e43cf11179a6a3188df4e999b8e7c3fa06b31d4ab81b414e09e184fec9cc22c0269ef80fd7c243f0c4d710c50c91a1e27691e332cd651c5caec5442e736e62daf14720b21bba3d32db5af72282846845c6446f58fd2fa78b0ecce2758b4a82fe343c36021369652cd06e1cabe23130b84771fc3c2df60b111bd657839553b529f4018fc85b7db86ce2410b4d6561b8be874dbae3b211d8aa0823ff08d1c559154670264946908a983226efc42af32c5f8985b74147d92c52a91aba3d29186d0a53686f385c36d45e3d1d52e54ad1d6000d423d40c4f53db237601f835b28f9a00cda6625fa91e0be8a6e0777149da9b587f2d9d4a5ef452911b7d8517bd5b2f2c8f4d24c61c448f8bbac7a6a55d75552ab30590a534884cbebb3d9e481d061f916b06e1c331d046cb4b812f7cb96ee70f43b5451aaf96edb972b9bc8b18cc6e197921f383ac6180c4cc068e4e6af430cdf62690d68f40e651e45a4192dd6ec9acd4f43136943a01d3ed82dde02df6f01c2b903a5f3ec3210802d72f6d7a7d8288eaca314b6111c0ab1823c195bc739750482764587cf24a1dabf2337b287f77b1d764f3b7b84dc8c906fe7dee347b64ed7421f261e6118c5df63b2230077fb5411704a192024ad7f7244ce34c9bc3d9a14fd8c54e7c0bb7cd9aa08aa6900ebf1e897391dd8b79adae097de2fe1bdfec30f01abca776f33199fd5e1e1f7a98bee52eebc2a6675ef91b432a6156da9a8e223dcb5a5d3086acd1568d810bca4d90104ccb189a840160dc82b8fd347c396d974e8feb6d809455d0475840df75cc7ec61b383d81aefee91061eaf9068a3c5f999824861214e24a17a86c5ce9b7eca611b0c358fae18b434b0b24271e035f60e6a0dd66b4bb1203c5899c5c95955387ec72763ef457d21caa7bb06e2af14b88d89397ac0ac54880d823f3ad33749ac5cf5c471526ef677580c93802da1df44a5e7fd74c9208c2fc7007a470b66fda1d25550e52ab30c51822f0c277b714c3fbc1dd4220a74fcc95388ec2af6cbd3d09afee9d92ef1d74896d1f1158df19aedf0cf691c3a09e0880890ecf913c7f1512ac00836f0b187fbd96b0813302e4f0046bcd9011f1c776209b0c7e2201c768575e19d7c0dc9be377a664abdeca2da414018ddf42450ad4185a75e503508341c7c842ad02f6b7e585cbe504c01f136271b2ac6d74c42229c5fdbce5f616b91402063ed23e07a54503f9fbd3057eb6c79017ec1d963cd5616d97553391616ec6b95fa0cf6bb404633e87f682316f86fe9ca2d371a6d71bf7e75389f2d1f109a47d1546ba663acb6449da31ad084a51958199add830515a78dd99dc4559d03b2b7993005416a1416a98c28b01462e317fbe0f6d64bcfc9cd771be4d3e929e1cfb7bc772bd6e1d182f27e9f69458d6e3a96eaa1ab7c98074f8a1bfd32e6821ec5eb0ddb420ab74e545e989a2d0ed11e8118919546c2655c9a96d3c3c10da7369b216c138d09275b4ac620386abb0e0c0f23bfbead729e096049311d54e7312d3766a24d947c4c1e20457f6dd9623596deeb47b938bd14506ac572cd8fefdb46daed76e7c9876f196c94f184f6f712768cf27ffc58fb46030c543acc4e3212903d37e09546d152395f28ac8e949e4e0051d6f729349ef398cc571985252eedf15ea845252835c2cd61a89d6c6a6e5a74b6fbb913f68c67f8ef60105158152896a9fd5d66624c5d3a56acfc5f524897c56a2ad31d377942e2e1868d040b81b4c915fed7b73f66a890b746986d8d0008b5445e7a0ab56b78cba1b664bf0028408cc0e9fb1f938b135236c13ed10e6ed0ad23433be8a24a8c2a9cff62395c7baa713f7af2f5e7c9921ba56893d8e8256b73709b3c3f048519ec5d0eca96bcba5ec7c1df83002c4e412357105f6071631b0e08e2c7937ce5e0d6ac57d7271996813082b30821579771fd541ab98725adf828779987158c97e43e750d8607a2f24e5d727927715d3cf7a9822486aa3950d405586dd03c6cf322a5d43981dafbc9fbc6d52e52539d811d64a2dcd3e7fa2ce111aeb4591be461bdf47364d58f951226f7f9bcd6de780dc5801e1dfa7b9f74962141fcd905ac46d3a6781e872099eed2949480c36eefeb675f58fbbb0952193dea4b4735f37e1a872590cc802d81de5e4f751337f65a46c81c70e4d144e780c30526db0e3957b6dc004ed044d1059370261366d538a9a71427153982fcc51fd4242d3984f36ca4bd968800edc3c1fd337859e94f5156885b0e176d5b7de130189d8840aa138aa3899735815af0e276d96f0db2e62f5468b933db5cf6c33b6e6461e0e6cc82ccc13e998343ef1fb212572f7002ab08b0f866f606a5ec4f3362253fc33bdbe686a96f42e150ee052b480a7aaaeb77f402bc847b93bfb83d6fa1b173ff36aa165913fd6d21410d7deedd6e25e62558e4807ceeaa723f563fa513ab9dd11eadb24b1fbf60b336df52cdd045089c6bab2c4c1b5f1d7cff782ece3bac598ef0a83b06c9fda1b648770e26fbc8dc4188832f35ed9dbeedaae7320686503651f03c169fc1259eccc6a5db9111f6cbf02a2881e094284ce964ce8207d87b7a09eaa838ab2193cfc18924f3fdca0494d3c64076b88abc558942af7a618293c162d6d9525d07e19a2188a5c408abb33dab51426e2694ae4671571f3e6fdbb5de6215b12a2920ca6643875a32636b0752e38352df36754fb595bd4644922a09d05a520543159b27300cb3c9dd51e0ad8d4f3e911cb7a6d66729f0cbc7eed4f024d01aa75884335115b982d1723c1f8149dd017ba32e78e03c6a875682eeceeadb1241ee0ec970361cc3ad77ecd057e11484bd84337e28090be466cee3ba1693090f0a053da71d9280b027620c5cec12c0627ff962f73d4dfce50b02adb675bdf9f125bb1160da62103514d07c048b3e035f50489fcca15e281d3f33f1ba0d2506c704f84a45bb62c7a6bd8f8a20de3016bb73707ddae18f9a27f2e3ea2ca49c80b411a1414a2bc45d9c0545bc3e4b48f140b17e0e084af062590a1986a9d9883cf0040965b85cd829c16931692f83de733298844773e3088d3d47d0fc1fa93b61c557e3a701a67b32c83aa4b784005224c09552239aa5f0bde4e3f658d29bff224e735e0a0e2a298ba823adb30c95f4eb91a84c60c566e209d5a8553f099831e29972f34691c2b2d290acc71d7cf4530160f87add785ba892d2b03628f24098a2ea6a636c39eaad10f15a1528db801fe5268f981eb11d59c36827afbb3270fc6dc733dd1a4131e336a4c37ea0e441a8c891142498b9d94e01ec994a76ed33a2e3dcf25be6578b33267c4e9e797bd801bae740295d03e4691b2a28b20a1ab04ee35bec8b416a97b45641ec8aabb01db4c2fe24969cf1e93b8af815a9049370bc013652035be7f3617baac377d39b16b342a4ea1c939b74a4076a04d001c32a417752c8596be5bce00be54fce210db8b66bd2671cb03419512161147086942e36e36429c6ac737a66bdae317d7cecae7e5d25248456fa01eae59a856edd564194ea6096b2f57e1b8b29774b543c2f1d96858767db5002be89331873457bb057e738e335fb7d21a91d2563c7e8b69d7ef3b5905e9028cda68fda10ca7504c20401eeb9d931422a69fb1fb793c952e2487cda9dd11992df481f5ae95436907498f3a75d9207f06797692f78e6b8b10bb47e83c463ed3bfd61584a2ea4c633d624cd5d08390a9ba6597ddc1c005e7904dc7ebe19666983a12197f1c4d820d97cc4ed7785cc7f77f703561b2f3fbe992b58ab02d79634a98739ae628dedddda7cb7292bb391fcdee866de1080c117a95f2055500702106f0443aca0240b653cbc3e74457be74a94f01f506e515a37377a238717cd7cb6bdf4fe879dada27aa669ccff8d67d96198f3273eed6e8736f7c28a8a0833d7738df1b2d8e3ab35c950568b3368207e6f33072ab395a1ce2acc47ced42c92196804ab1ab93c32b18465ca94e3515c12a4ba6c77578d9bc193bedab03e775e4b63c6a834ff2ef5c449d4189f8870554bcd4cf56408496a7d6f00565555b02ea66d64775bfc9dff7f133b0320ebff767e044b5a586380518d5af8a35d21862b536a57d061dd4360299d1684859622fdcefd2cf1f3caf0fa3e191812307c8020d454f3dcc6ddba75e4343fcd08bd7d3ab2d415b622a665c9a57d1bd4323a99b7f683105885cbbd0a84d4960329f0183c3417273ca0c825927b142abcec5b9c0402b6cfba5c92b3928cc9f9a3dace4fc7ca340602f5339e19d3f9691869494d1a0cd3aa61c098f3b08a9f39a908b936101cbaa81cd4a0cc63c77880678179059de1d6eef31435c762de52c2bdc74c661940b8b44286865a295a93a057a798453704c871cf960d732fb98b990837b8738af47775ffb4afdd5ecc903f259e30e3894526b4a4aa247cd6715f2ca5115f5c5782752cc4b93c7d96df8ded71e37f3fbe04b9530e3f09a5b125c8c0432e0a20c00041a853b39676e08bf416edc61a888735909c95e6d37b200752f3ba099f690d17d3ba58ea81c7bc383c13d50c01d1df8dfc2c86c70769b616b8f114277f0f36e3a3a6c7979696ef0864b4422b0bbf49f57e96422fbcc5b081422f8391d38af15b953c51e04995bfbd16ae04f73f84b75f103fc18fa566197db2ecd4f2966978cf6364f36d614ff52f753dac08ebe3da9d229f6accea99f1569e2ccf7c09969e7a82ea7c95d91dbe4176b8f26a01d0a6fb27627d000d2a7cc1c58a298877745b97b35e24b6de66c2719a85580f1e35a72c2425a269fe3f3a7fe5694dec994fb1e453a200103570d87f17df6a88db2afd3eb71b214be05f50d552f5e2ac7152d223275ad490e219b5603e8cdc5c79d03be0da21a9bc854d452179b6626edcfebb4245a890184f856a6ac471c646c85ea93a5e4e0aaa98d4241b74cf3d10bd7334a8e7708e6f31a3d6f4726fea7183019b6f04302dd1320620701faf39d7acd3f4e798561d89484f8c936e3eb6603dce03550c5343cbf225797f9d1906c74aecae3607b2d547cc4c2ceb1e9b3b0ca43fcd27304bfa77823efdeabbd75596800b4424f43bc5c7429b4e08d138074d109e55817f6c68458793315aca4586e78c900dbdf73b43a13a3eb451dd7f936ea628e8493d66c4644d7e76b5268fc3a3a65662139f4a6ebf0cc91ef661d8b446d4c18236b19bc798ff3d6baf8f6f7e83515c3e62e2cc8a5b8d22ded93eae9e96e1e74f5856223db979172bf69616ed8b219532e71c83bf37b0aa34be6d09bac60383335c04d172e0cbdd6074158ad88e6d8d30b4018ec025a681426510ae867959ffb6727f9cb9f8dce6cb9c9c8a8531511cde96715ebfdb7bd2b1c00c0ece2399d088c99b6b5d8eeab0fc037405e1d04c7cf96a8b7546a58fb616191e09ca0510c5a30a38e7545ef9c30a16bd7a4afc06933b0fab96d4f90478df5b525e416ee84d2cbcc2cc260617443de0853cdc228be1f1da022f82c8bc457483ccdb3e28490bc87e461b96bbeeefedd5ab4d57ba972009d69c4dd85cddc51ea0f92f986d0680c82860fe89a0ed913f77cc7badc725cd98f7416099f4a073bbae1e61ad69015fa363ad743f2e0c55e18e106fd2c3bcbb0f39da9087303ad1260788364c0f1fbecc6d781a44bab380966901777df744bf8c99bf13da2f778fdbe4653e0f81df7ad9310ea2572c1b198678aeff0b8b5e0d1a2c5e58370998bac85051d9960e97c6da7316d18f048be3c544c8f266634e610e26c374e85312b61eca51f5b91277dcb9b0eb66591d69f42544ce576d85be46122c8b6e6dcd65453e6bb10e8bb16200dea6e3c6e76aeaeea062515cd68f4f9acf522cf262021c5de222667ce0686f824194c77e4e676eb59c90fcbd2b9b908a359c0d4db04a7de5692e181221358f249553cd97e68f5ab831793be4184964a30b2db715a38565868a749d815b177626ceeb93a5928cf54fa167ba7ced75a8caa5835f35dd4095b8059944886c5c6b5a6e06fa1c349fcb93aa8e0afab8086fa534770e8b979b9471e0c2d73ff5d8635e3f272c3413646e601c539219de1caaa0f69f11088db1a0e55e10d3761e079c6f599815ae9287aa3bc090dee0a4b8db3f0c0cf5ccc07ed0a91227a38efb31bd6f8e9adc1c7f000f69dc39f8af4259bf64754a1a6bbad8c961be81ac45133c7a445351f6fda017407c75a726a004b27653faa2a6730ef5a18f46da18f6ad7305e5cce66e7e13319b8648437a9181546d73b3fd7d67574a83f1571163794f4ca27adb7d03a9e828a3f965c0ae12c4fd9fca90340cb5b948d73871560ad2f12fa2eca15725a5d16c8ca853848e564e8cea1511c47284a74e22b2f995771005ee9fab064b56bbf907587c5c2ef0a214f80eb78a975d1afff719d19fefcdc2edc9c0ace001792d0c44281654f32c162fd6483dff7f1c530c133bd730386de5746de7dc064931982aadb5e989317c45ce65556f5856c58c04c579f6e838c486887a20387d26da1db69fbe22d3f65bf8114a0fda4378287300a3e5d0662a3f09b13a6c9f1ea4705714fab83f0443fa4a822d185a430a1317c2d96432b4b4a001f1a92bf9bfd8db3744b263d97ad6e053b932c87d0feb02b3bf653527ac3456f8503f85df0497c46449feb38f15d15e71e07a45f373bc23020379565c446f0ce11f498086f9e10086e2967edde33a7c2419ceec7035fd8917d94280a0323c4f6f591cd74658320f94cfa129854d3cd94268af1ac9661b6c842b7ef62ab029cc48f524f37ff2d3ad37568ab144e0d03e08f916ba4539b699c9297bb263020696953b59e362e474427f6a28480f50117e6d326f8c90ae16cb8a8d23858412091bb4aa90b67abfb2e8bab1eddf685ff9d527c987e19920a10f4ae0288fcec61afee04d796eb8ca3b3af5904dda72edb2cb7d85b9070c9fe32b4577071b8bb9d44e5dbd639d1d253bbc27cac80fdf7f3bb9dd1a2b3f8f9b8a8bae9f5b553b6d614846b01af9368260de4b85bccd90e9a072b674f37195f489aac9f5f44797bf1b3559617d4c55f18e411958b0d743adbff28a867338b010000c003a58855bed87617dbcef4f7dd12bfddeaf76f873629c3139a8f87af269e513c9206e670f9b23a507363991e6d460eecf20cb644e1a01560865a925f052768509ed7dcdc005d50ce81e8c09ddddeba80c6d1a6a6585e097ff7f612cbbf17ddfccbca9ea3dd70fd9cc3a82334ecfcb93b3fca2818918a5aaeaad4f83f765893c2ec038aedc1d48d8dec77391b9f61c571920d9eed0915d1b14b2adddbbd46495435eaacfba5a7918c1937cb1bac1e767e384a95b3c94b0f05199038e0d608a12568b9029591c137265b6f3c05efeece0b741ab4c849507ebd866afaf1245b27e698d8b594f21f3c800aeec412fb46fab9856059022961501d2f74b8341a162574978faab054861732d8680efd7294f58853ccae44109028ec7f360803820f406901f32f4452a4932ea66f163467229cd29e6eddf536050e2b5316e256d5bd26d3b6687814e0a158f9db0067bcb6d85c6fa466cb128638378df8465fb41f71f47cf6d43f0a1e6e61b11054d6ace74016d8e64e2515724497d609647461a99631af7349f8e1ba0ad1167330d8d63afb78cee181646dcf9cf724a28a5a6e47a7d60607a4d9b6df15dad23185f4a7d9ac63db8cc9298c645bda98af8520b5377803e26c4ce12be9b8b901d0bcd7e1c70f2f41e5b2960d159c7deca8eaf043423669c0dba8fbe099c2658a261087f6733e314216eec85dfad8609bd5927d95f77bc9c5428bd705eaae86cde1211a0e5648c11086f293e55772d19f36cf7233541edaa21847eef9c720a1eab4c7552c81d6e75d81ce4885f18f132753f87468ef575362e6da1b0481d09463f5d7938ac140dfb82eb84e5ebe7168af4dcac99e6a276f27fc63ba5a9e921518c44671daab849d32d16cdc33d0c06cc052db5f779637b3da2424ddd08fd58d08de920d9a482225e8168e99c726dfe80169c3e4cadc9218943c0eeb20555667ed849e862b14aaf873332697bc05b44fdae5c0f815f5cca6c038ac6deb2fa3b2f4ca011af6287279e4f573bc070feb83e9f7d188db72b016f1b358bffe74a04b80d6eb900dba33aec37fe6124442b09527c131365e127cc86f44c94f007c8bf41e5d332baee0d67fd1090d81652659b6bdf3c6e26af8f016ea36e1b3e443d27eeb46ae177a2cd3dee4cd42748ffa23952971e1441d129baddc8b40306bce79986ee43dc4e23e0b1d640824bccb9577b074ef42615f68d64a603f13480870332e592f2a7ccdf170f65950cfce0585954cd6117a4b9839389afbd807a035c3dd86c8282c204141ec4fb1f79a5ebdf7e5176720e22c738d2253c9ce858f14a53699d85656e6871cd13c94bbb253650d847f178476805da2a49ddc3b9be829b1ec67d7b606870b42407c5b1b9cc669bb32ac9522a6f07c40f13695d28f1da04b1be70a1d8842635808e46c9e13a1a8da6758625bc6ae75875caa4adf7916ca62276e7b2769ba2f8a0b55f15944e6d4d75da75b497d245f100d0fb4c76f97fb6a3545fb6505fd8ef02ecf07695cdc7089418689519018753a41acd1ecd4224fb19272bcfe5085b6cfe6cdb6368fe3e53bc36f481935190c8f79f748a416434648a893181b6807e62acbd8fbb68b856b3372ecb9972c313da6d6ea822fd7e6076de679ec741c055c948516e4165e489c8d32b5dfa5702cc9acb1b4893e1c663e47c53aa60ad7007a7eac29e4e7127fc09ccdd6019f92cdeb400088826386887c434df8c6f5bb9c55fcc82df262c20f723728bef32fafd47645881f9df4203a1a250af148047c09960496a4da6da501064c6c5dabeea81d9998024dbbd4bbcfeb35eb6f8bd25abb663d5afc22f37a2c9bd3abf5ad6a306289b3b61f40d514cc9f4c165bdef7a5e6007babb844162d9e160a132460edf59a784a42967caf5c40a28d646ee2f71b0b506265c0ee37f3027730436b95f811b09b4e2508d01cea5c7ab58a7740b58a5931934ddaef34a22467fb9c6ddfc54bdb7cf4a8cad826ac97500c056313cc108a14a21a0b943ea27c69b77a47bcd7638e346f514b735a02bf90620b4e0691b543991b0a9c9b62aec71fc1cc810380a673b1b1534db3914236e4db7d64cb1f07135471f70031acc63c3502d6547aace194f58fe9445bad3f43fbd89b404e01ed2a42b7ba63a7536de6175bc7b22f355954755d7856319632959432e1c93bca38bf0509e628786dae14d7fa2e949c81a36b6b724e4414d17beeac8d3968d4068ce1d77e67653b567103063fac1dfcda5d89744d1fbcae8b1f0051cd863cb80ebef06dd549b514d9b2e98b91f0c04308b1eccf88e495a5b5c5a04f894038348acc18177ec0c4c276b3b4dc5a1c5eee37e1f4d9eb0f6d6826fd845f51efe28f3a91dca75068afad87d5a8430dc8d68593232be9d3534f1f445344f4870e7946eb849cefd661e512d822bc23f2dc662073f987a714b413cb87d8f43455aae3d52e6faf293eeff6edc13b4326c7d93f87a9a723b7f72f4731342d184dd5d8c631defc71434f36851ce92a7f9d04da337004bf460155e068d907625b54e5c449b81e42d55a5434c466c12c2f11ae95a8be0e0a3bbaf9bc50008992a87919a572999d3f6874447ad78d5e3b0a75eb4795ec883e337e80935203cd2a4597e5643be53784e813a118267e307a753273391456f34c866fc61331332ead08a37e892940328b7f5d6b9a1046226fbcbfb5eb08190ab76459cc023a2c9d33f63a43224a7dea3e147daa918a18dd29896b9a2621aba64cc5228dd000f0a3880d9a5a8293e4871f4c5550eb3d9da2ade740b7b2acdabd155b57c62b19164750460c6f0e882aa0686885e6d11eaead51233a5dc1c14c7c2b27124d0d69e99e17773f048d8385f6ce27938bb9c81009bce9ce0193725655b0dc2dee0cb43eda8b25f1225835a26309b1c4fe3377a44fc22fe90ebcd48eca0ef158074da25f38ae6778ce6dd1b58e5345f03d4ea32ee620e98a40ca335dcd0df8640e0e015fa26581c8af49d39b3ed70f2417b14a4f0423012d3ce26dff3873023b47e2513912cad41e56ae2114c7e5b9a59cd1279976f78600def2897dced18bd62c7923ebd6fc6a4c80c2197f8038dc8a305e907e2d6e698d3704ce0b733a813ed2111540663938ad917ca64fcdda86eacae2ecbef09ad9a9c87d1e57ebc71ed82838f6ca302c0fef68bc1bba06d8888fbc050d6f62a2075c04b57795ea2b278692404c6a8d765da711724aeb2bfe7a4aef32b0609e9b5bd33759edef0a1d1ce10d47860e8cf63256c2753a823737ac679e6af0a0632ab6b6f3f16a3ccd858bbb898591d1d2c3b9c9ed23b936277e9a3103a7b75503ab046916468cb41997b38d6ff468f0ee1a167d6626641277182fa8283df690c9ad4d5d4b9beae8b8adced866266895e5967f542353c8dbd6c87969fa437c014a82dfbe24604a0965a00cb3e9bcb9369449c97cd0719d40e80e82f9f873992021c9618d01763d5c149115a1ad64429c0b17415a89a43a6fcbdc0bc489b2ecd21f657e504e8ed760f2cb33243340fe4da1745d315b19b575e8bd98699044f9dca90b7496a3212bb27abb40070615428310d1b5d379630724423490b7cca7d422671858884de06822fce1033cc6d104556a7be64fc2a893592f52ce2a2438e0dc38a85d84039338d72a05c4348c9c350fd4e5263e3a12efb8d7a26c101233a7cd6958c81cf5b4f17ec48057864c1d3bade08566eac8b304d1037450579356d4b976a678e3a83da138731c5e98ddc893c168a084ea5379e23b5e5a0ac2152c46b5465c9c8143a1b47baa79e11d74dd93f5be9e94886e14e01fcc9adb4d146c5af5e21718038350a894e0f3dbc60e349ee3d22daea848615c31c7c8d718696b112161553a555de751e80b369b2b7040e444ea83a57db353c954d9bd61a8c0a592f4bd5227c940e5f2ea968cb151b41a35074b05d3a57ced462453493799aca721fe3e2362184fbfd86b0563f9a6dc3edbf4f8fd118dd84e778f3f63d89138e0a35c55975177bef47b9e0a712397abc8dafab0c85d79c75566ecaba87a98d2f759bc03ccbd09a9c84f45f541775a0228897ba0738b10baa51a2b424dbb5168adc6d045f9b06c3b9876861f32502ec3b6c2547da618ef57633b49d8c1efa180aa66056169b76da7f894202da357dc8acb7023f598bc9b072b5b1fab8d2042f256b783710c5a421169d49cebbbbd2ca84e9b2729d28b5d18842c4990cb5488efa57f8fbda1bf09e4eeb26a8c406c1390d290e82b1f245dbe79388c1b2d609983c1bc6d7ab80d04c09bb0e4636c248f4138cdd1e03316e19cf7d46a688c16cbd0100a2229293beb1d85493919b714fb11ecfc6064216174c4f10a1e16b35303ad18ae518bdd19ae36f84b16250f32ea9b75f62fa57e2e8e9027d5ce3056c1c1003133122a939f62fce47183fc99d886112af6e9eeb13b5c2c5cea176d3551738341ea22f24c30a62fef7ee8896246e79496033634583a2d7df32d9cb0ca692e394dd64beb124c021ec149d53761507abca4d8bfc03b79e4a655362752724d575b879d9a729b642a84e05273b575091f64a7700f5f0d8294a9c18460916ffe73764bbc0dfbab7d12c8fd15a89c9310575781bb2e7a5ca455c81d116096839083c5bdd5f585af1490626a5de7402b1922cd410e5f1651211ba785a5e59bc3b68b630c2c9019b73da03fa8d580bec7be60e21f2b5d6a875f529ad20f80439c556886f60cbbc946193822d5ba7276a47a957744e39f38c2a1b1c9a8dc21f032917af2630e989943ff1463eb1beb887d59890dd5933e2ec03810ce41730dd6b3bcf989a7fae31ee54eb72e890aa1f7c39d4ac67d3f382d273a61337474ccb732616fb80e91e5a2f5e37bd427df694960182d1c8bc95328f6c322c675fac12843c943c4be69e99ff52b0b74eea8bdaed7f16281aac21b439d5104411de6c7be844c8ae3c6026ea4dfe7770dcd21e0bf1f5a4de3325aec13b5d12c072ada3b679ea0019350e46e1b5de5b23d14d2744336cec9f69fe1d2a19258e339260a784cbbae23562f8ce395c64cbd34e7e67505704a791553bdb05c79ee8bf92fc0d78006f3ca02c8003c5a755ec81c04faac73aa3af30c4d0d2a51b28d9ff9c3488c7f1c24d1979eda2401f029d2a64ebdbc804cd410fd941feeca5f9df242474fca07d5944b1da96b108e28868ccfe619e47b2fbd6daa92855ce5b3d6923467717083b359243def27cefc8da067af904c01391f0463315cd0a6cc079d89b8b961cb726ecd2bc848d9dc6b8b8f4ae9c5a0caa5ea24cb741620ab50f021aa444af378366091a31442369f997eff181c9355afa8f3f1c83bd9d6333843fa5594a8019efc9a9ae66f4ad3d3c7503e9ba6dc511207297261678a1e9015bb014e63014c05f752d5aa082cc7b6dd126b1675c0963d3f8f68b195ed4664030ae1cbda0080ae1c80028900112ff2b2d01bd89089c44f2b23897a8bc16aa26394f343fc1d9fd4f7441ca55e8a9b2aaf9ab9f56e16f69a2d3494ed4ca679040a4d2078587a7ec2df800c03a6b412838a1ce4ed6f0abfed7b15ac34ceca8ee4458fb00956a237c42ec157127296f478b70b78890f498facd2c72826e3cbe9fc42c199109da37c1a5d38dfae6708c30a6dc1d88caf2c9190da7a14ca571d1cf5729f3bedc63688d037a3a20114c4682836dfc39aaa024352e42027bd49b87e1fcdbd57c3c713c3a1442200d7f4281f82b6f7e9e437c46c6ac8b385958e13df9947ede5497e2d51971fa9e6fe51e5532dc7c7d42978ed6654d05b4cd3ea2f0553a55109b5d41e1580896a5cddfab6e43b90aa3b16461e7d9487704901068e5ea9e6fd2d1f88a3a2c3c7c5b9421738ea1539fad584dcf3cf4f8f85389b8c3c8addc953ed4956654c8cf3da53418c203555d6539af795548d9825c746ce6ecb69d2b4b32b52b7cead25b7817d307a0181ba9fc0029ef904c7881e1160a21159e634c94753f24bee0ec85675c19d14e4f820ddb4f64131bb0666442523dd7f939e045e4e4ea1fa6dfbb1edbab2fe8571e17fdba74546afa2166caefe9093dee8154f9cbb72b9db0e67360afe65fc580f43e5f26ba3008c77f4122e478f15fda27266115e14b3a238a59ccc54b197d12e3398ea47ae2dc5d3b52c2b80eabb4a658df05e5fc2efe762d2bc6a8f19e68b7eb7e174274aaa639291b16a40d35b62c392d83d759c04aabfe50af3c04e1676bfb8c66d9c0df8ce3b8c137bc003a4b5941f2a90276e8868c7e7c978be827fea3b1e67800e7c289105ebb249cba62d119f39e35d30237e6be568bf37a5ddfb1866414053c29d1947eb1729eeaaf9b3355496f4c7f003d2b7042ac3c4d5eb74894a90654dad897c588f3fafd21cedfa3e11c6ad4caeb5126602a79f8acef0cd2bd1ac52f096f72f70f888a108f4e99ecaa07e4ba0727dd2727bfe908b5af6d10dd61aff7b80c63bd278512c3f6a0645c101d0bf2a9c6df8261b94ca2fd99e5761e3cabe4f5a415e20b7ba79f09e596c812dd1dba4e91f1e4b6c3fac20f053cb806f67e40c6945acc5add6bb99ea94372393dd3adf26757f649e28d8589c75818c8ef92ce649e119f6d16d95bc222a9eb70b7b8809ab4e307a7bf6844b5a1f260d1258a3f9df5732fd8a7249e85ce37940b25371855990eede03061d6df86c8da1b9aa3aba2b77451eed91f8fa8a98e641edbd3644bffa41b9ca11a2c1f5bd8241aa2e8acbac8a07b991cf2ee25f3d87884e906599453cccefe1ad1e49344974b01540cb57ccc425c54c4e246b695e6e3d68351e9cca6c7e1c7cff308fb01e8bd415d305221098d14fc57dfb1968ef893b29e8b820d929c04f1c20a1dd2bd84fb0e61da1469c5e41f61fcda7a6659d5fbcf411291272d7532772ac4fd86775a37bbf1b559b5a2d61842df696c35a997572eac802d8f0ea2c99527aa549a1d89682acd3232720f14e08c53aa221b626de05c9de61401cddc353130d7ff3313f828a9ade887566c35dd67584302ce984e9e257bf57a4d974146bbfeec552c9dd7f4c0fa141673aadd6f5760e03e5e43344ec2b70cb1310688a9adf6f9d65753ddb096970f1272ad4d306b439e7a816a1b47e3f2327f38bec793a339b217e8d2299f48eb9408da24755d2a445e2edad8ff4fa59bf043c09530f3aa75ba44cb0abad5d2cb0e5b5829e76d411d6c7f1a14e5d88e0d57c197a415b687919c2d0d175463d85b9693784b093b95cf57be417201eab421d2827d40b2a57a0b7962fb282b09f6d0214593458783bc71e4038f6ea486a12863cad8ae9101afd77996317c241d27c9d489f09fb6b1799f6d1d3d7bf6c940a999c1b7de13a1b6cb791809ff363ce5f4d701a491b9af521ec14584a9d6a2b18b3677a29774b7213ff287a91d39572207ebb6d00f5d83f55b29ebb44dc210fcd40a7e3b43436ce88e63e17c6113e48ce0200cbb2bcf8b0d6ecbcf02d808507b614282c9e4233103bd69c7ac5c9180bb0dea6312bdcc447e4656a4b76bc75a49b7a31f475ddbe73bbeab285b59cd1bac0a44b2361a7c1738d0057b3cf87e5532553d5402a76e684d6378b84776651b3f32bbc41cf7e808ce930c497b149fcc86454165e10724773fc0a8166d1cebbfe7ef25b117c9ac3703f955988b60e6f3061e572c50d45eb19820cb001beae3b930d35d802f33d9efad0fcce6b59019cccd83de0387003ab5af9b1b61908c7d416f05fb2d6c463c7e96b753d703a2971527c832785d9afdd43f184fb6682026b0d09ad279acd9c2b9570ba5379a8d17397ce9be50b486ed63af354dd3a30c2827b238e04fad37e963f56409e3d313c1610c7b26510ab6fa60d47955430303422998dafd7ec0934ab9ce8128a18f580122bb7ffa2a8ef4927540842a272a6de5754464a4b27ec61a03819d79e04bd33397428c0e86bb2f7d5c70d8727973f78ebf4c5db8c0c35bf32493a10aadf76bbcb058c17a88517c45718a4007d0fefe545ff5547f544740a90e2ce473e20e93264a627883b802c02cd485989fc98325371c95ed9dd36fff8a5afdd5c96ddd1fe4ec00f90649698754cbd687f51f4721767b1579b0ec9e027102f2ecb0bfcfb9a73b39c584e5f8e04675b36f67e8b7e0f3fc7d7b91b2f93a19bb0e193530fbc8953cb52cba4d230d925eeb264c71d9f186a9b54837d2825c13311d05a4dc6afefec94321167aeb933447f05f75ad532c8ac576d3e3acee8b0e49f3e56586a2e3411a0829d2817c4ce794713c42a62efbfd920bca546855608603d557cbb574ff41bc1f0859b0e269fd42d30fb35486dcc66f7a270eff42340499c37270587329c6914abe6e7ebe9f0a034008251e8a86cd2e7fb33d4b9dfc058f7eb019137cffb447446413afbd68b0f43af0f2b02af5aede21715a89d90b79f9048408240d5983566bf07a5e85d4f2c920756b0e778384728e072a75f4adde7cca81666a65bb7031228387eb53c844f15e70832655674e694bbecd566442c4697b0dc00d87dd474e83591b49217bfdc2e74d185d8905a0eb80c6e03c7c2444a034af23b267179cc1fe620c6f76a606605bfcd1ded9e992d2e34661561753a4d9f063d68d8c062b695d32269c743082f60667709c6f4c61df53be47c400854b4441b50effbad0c1b1af586eb76d7db7f470c90c40649e381720833938f44463c0bdedd4f8e15a598cbe65c955ae598f7e4ae574732fba11e42f58c6a11065df743511081b7f4d267775713b90a65ee5e7ad654ccd0e1e34762c54e290de83093ca45643769f25c342f08e5fa7a7fa3d0f9165fa7bf15a652b0fff115a08085423fd666000755368976863b8b6c614e3c4be564a6b84bb77e20667b7826b82ac2048b744892a0584ecd47b5c077bf1a6d6151bcbc216bad93814b529079c0eab547d3a39f938f49854a5630382ce5c3b4b6b9aca8d319d808786ab6a54f2f08292b6807cf732b86bd98c30a24d25e36e6e7e4b07c5c36728aa4bb457813f6f1a81545968faa2e3118081bc764922c439a4394b9173aa2f3503a264ab0dfb3c71b9b204f2099e16936fb675407182fd13ee47d735c27f3f67b79d3341bb8a2f8cae52773df053b7b5d6ce57eebd92786429353f2e0cd0866d77814d95aae4009bc2cb94edb4b92d70f8b7e39f8b9da854bc259512899a15edfe827faa926e3ad4845b1b8f0d87806f26010170f25a354513f735e604dface13d44317be30f4e45c3beb86b60c65f6b2d309353f2e7551707e5bb7499e3e87dca78ba29dd45c2aa48aa068518cf106b0b3aa77d773e3265ac66e3b96647ffc8167cb8ff2376173e3044c1fb4bf5e9bc157986739155da6e9d2b062ea2f5089f94afd1859d0d212aaa2230bf00b6b2c818838e056185e2241a6422dd794a8781cf52012167404af97a7d9c19602932f72730b708d4ce81e29b88f98d8d67d469a50183e4606801f05098d58fc860fa0aae7b52d38058ae743fdc107816e5445c892bd2983e71a654ab7a9ffd399cae96b0ab77edfb8b13dee355ef1d36c8f2098e75624603bd400f80dcaefbc1fdc36a26df894aa0c6c8c2e00fd7a67631e3801b28b5b11bdfba78420726aec7439a24bf3b9c8d03438f5404f45f0b655da7923515bf9b75f77f01c1ec9a4a75d0252b936a2b2e3f22d34639e6df105b0d30aeeb2a0f7446817d1889d22ec2547791ce8c43cc17940e45157c9e299f0b0927bdf924b46719646aac2020b72fe54b274eba96d6f6931cd4a594b4d48afff3a1a37cb8f0c3f0924005d463e2bed2d6bf111b7fe1c6f082de1b3b8b1d9a6749c29503ecd6d35e3e3dd121372448d194f4b13b8f263e869f2c52bd3e667564f5b87b8ca933e6b70faea5da4aeee1d9d1ba8c32d9303a78ec641d084d6a0591f390cda4927e7a853d61cd3d115a6b42fafbbd33d10615ca58c31bb42550140634b1f4695a45fa17b0262d687271f4d515be18a6abfed37e2d23419e9c665fcb898c0752e92f783ec156ba1a7bc0ff747463f8bacdd6f7b6e968697c8266b50c08067791f65b6968ce0d1a31c4fff782f2c27831f1fc853284549c6273897daedb5d1262baeb3d701e9516525e83537e2393362e550ecda5a24a2a843bc1d60ef2e1d05727fc818b6101d37f93b3adced1ac976c03580e9f61ba4e5ca083ef4e20d16b96d3b50753350ceec5ea8685917e34726bd1ac7b8b6439f3f004dfea4d1cfd4de22768bcbcfed37c2f997ac556cde1b99fbc5ddc8759a4ad6a376801436c749fe5d2e66fb49e1d38bb398d771150e167b8f30b867c391c06f9ad6f5110ef48cb8aab58700e79924447f466a38e7b8d7d5214771302e559d72771ca058dc22f16806704ee6d732d765169c9ef13848e067a96ff2ac0d268acda2b6ceb2bb6ece829b3b2a940ff8ceb1752beeba90bcc55af658b6f20017f644f7b50a2d39e16da6e98befe59b409e7d5b88cc67c86afdb42369af6de36553b6cc653c67a3ea6eea5073b8300ca980a2343360434eecd701e2be4d94b736896dbf12438ab68ea69f8b6bd062c91b928bdb306ae9681237bcab2215358f7a90a7e11c778680de21afbac62a58d52c1c65e933cb09d0f8d28b6443c205dd375c80917e86769cdf71140096df475eed3d25ddfc1673a75fc88c5c2bdd2422f5c2a0806a50e1413efd953b2ea21a846d65e74cdde15dbf2b25287555f8b6c8c95ffe0db14b0d7caaf59b185886c6e6a7b6e3b114cc658b83c240b8913ddc1447043772405514424e552aaeea8924913841ce45a5343042e6d6dd5342c5764ef522e85c0d1735917afbed336c9b194c9a88404e354f78c644de41341f17e4b1f7c1713bcd6542e5d14e4f5f28889dc42a03006d0da7b490fcf6187ad0a055492d9946a0c15a1716baf4fa14f3b3a8ef575881ecd3ddb097bd66d345e5c489609e1d3b03a834a3e72b2c1ff5f5c13e11fde91b196b68b462002409603ebdea3f2776c77aa516c3779501511023361271cea468fd5c49161ffbda36af5af6b0380e246cb7e908d398740716e4672d8495d49c2e60496de8390244407aee0e2856284124fa6922a8ac76f7335b899d647d559b0407fb4f925ed6a12827a109b8bd66a19c1cda5ba01250f981aae9e05896b7c71f20a73c88350c2dcdc27d87051fc2de7a64d50531cea2c677158265d2eff1e4a1983c2d50ca0d308e802b55f51f150cc121e0caecfe4deb87c169b6f8b318f7a2fc70658d88bd079e5ca8fa68b4de2b7385e6e82009400a3827dbba6078dd0362b74aa2b6e5fae0fb5a59453c7ce8f0adfdae15877124ec92431f5c2219392ddc8515d2c3e6b61a230cada7b42e9303be590bdce7c1231502877e42c551b37dea0acd9099c3d385455bc69f3ed2c0e54f942fa0ae4ee300b3a406fd095e97297ca66f49866dc990267e5a8cd0fd858fef4b73ceb30e3d771f76bd90f2333e62e2402db8ee4adcd4418dee06521fe6e32ac30063d09d1b23f0f4d60a79b076526b71aab4d3dda159517b819112bfbed8c41e350a0e3b2de67a4cc72f380131e10c85b8e61d59feb664a73e30cbda4437124226ddcb60995d252868effd767d5e0ce70a84a51a3dc2940cb5e8671f888002952fc7589f8d2d907d4b986cb460fcc99f72f49b5ef49dfb6325abc94ac4fc4dbab27c27ff198724ea6393b0d9d09e29cc7840816834f428932c24555481142495c021103a3ac8c8c46da2e8367c57e1499a1f89bc01a4dacac668c5c8288932d00da40f175fa1f0fcdb6f932d884216954b56df3cf97ad0525789f53ba7601f4e139c8a3c3607effb9c86f9585b50fbf32340531df3556613e2594d1002a89e6c456f61ecc4091de4868beaa9e99fc5ddf58df034b1d224d65f05304c3036f4455637501836d685bf4282e9ea3339e46e5d41c72e49e8407bb8718da22acd8408d8b1e773e0d9e2d126be67f40d1602ad176f87cb603f8567395ab85b0926be7529a46108c19b43f491e2deb0a4c99d48f76c406918ea16b2f3ac6c72fd143134d263f50b7f3d551b858f87d5347b8f49c80cb4e0f15d01315a8d250073866e8c8ee90b9b08c16a1c21c8454997091db1ecd7ac6f842ccb86319368d053adc16608039cba0fdae02b40307931a2c8c016e0e3736b2a409d69a4f7409c74ded647d735099b7289dde45d6ef8cd8e5ab5a8a07bc8689ef8349cb938774bbf301a4ab84c240c4d0fd624c4020eaee3751b0820b2a25602e23b1055a55153049a513b7e23ed848232201771b1b7c8c8d5ebc4ffe87c9becb088d30af1ae2d359550a189c2f5a7ea1a4284be3a98bcb4fe3cc2ea6e1f8fe64edb853201f6a8add31432c50f5eb68991f9f6b56bdea42a9024cc146c0f06af0f5cbce64a9a95525359232cf826c95c6d7bf0dfa7d4edb787941d46e86245e6d2a6c988cdf2f2513bf39ebb06de5e917a290554ac3811fc3ae5cb8ce8a9c85f21948f71a278ab700ad6a12e4329f4d79878c4f4d18f2319068c25fc1d1f42e8c856eb56f1ec2552af5ddb9cfbcacaa9aecc1228c41d084208f7379fec4bc0367b2a6bc51cd5c03d619b46a040b4d18b4fe23dbd3c83970f60be6ff0e926baac9cf3e80bb4b2c887268ec5832baffb72f8c9dd6b78211534a78d480aa055a61743ee164c1df8dace8ea8b309a6810a46e2b251bbccac4183a5f9e150f7990074f8b268a2b80064c57f1aa0a7ac575986144dc1dc09ba7621a3270818be4e3dff33f1f8ee715af093366d077d57371e873e69f4e4240cbc57b172c38e22e0c9788960354a7f5250b787aab15419838c265c4ffbb2a56a5b3d9c81655ca53334995cd9446ced062a6fa1c2f9ab70d07cccae0695162789daf9b04f78b38cdf0af58c486cef15cc17983e347aa691f870ada7cc9ba493bd1da96cbf4095f869113019ef09a5354e1aa677fd7900bb35f7c478c9b032fa78cb3791e1af8060f2b6fc009d64f749104d8b5bf493f8821a63b0f28277dbca2f73bbc3542142325dbd617645f721a756aa192f03681f9ed8f49689441282efce3a9b86c53855bd800f2505a9e4fefd4af2aab54d86888901a775a997c06a3cec7783782ee65fec63f0fcf3d381bb077877ce4a1abebc9f3f5351512124eed1c5d8b254fb8dcfa9d5230facf37317f3499f88c19256a7c736673ac0cc843e6f8c341d77c1ee21bdc456081e8a42013f5427a5354ad524ebf3c3cb5d3d6e22fd30b3e1d142288524ec7618d42256dd7791c245c8a39671cc9a505f87380b5cd7c00369b0a9dc99b815e8380617defdb7bd272e69511acaa2a839ca6612f19af384e2f426f4d06845fb14567f196ebc1bde87a91f548fb1cfb72409eb3887c4efaa87eada8edf287fe77637bb9083f7c69cbab94b16b047a633850df692ee350920956cbf736e01c0aa663a1c6c5a2f2295ffe9697a37b49ace88230775c094cea427377b0ce32eeab95aa7fd3cf31330f0f8c83eeea2fc4ea93bc95fc3d7b70c8a265f2e3f43cc2d479ed21264782ca8689b7c2fb97dc7f0177a7d0c754911f4297e3b4b2c6fd29dffe88c847e6b73bd8fc1cfed498d5178d1d2a0a2a9734f73b3b3687e52d603ae6b61d80dc79130997c74c69ea99239dfa03034f92c4adf23884bd7fc2f23f15ebe526fa3fc4aa5c3e281cb78b8d168bb1c37d282699fbc7ab0f46128aae2cefd75a155d461d63c2526fb30894ce0616a02c259a8bb4ec461c8a6b81d45d4431d835203d72f8b5d99dcd00cba6aa0aebafe0c3113d8c7ec2767c4ae5dc235d2b41eaee16e5f4a38f7ce8396eceb9281cc1189c2e0661aea4444f7ae4058833bca36cd486ea797eea7e1453ebf33b9e8e3dc9769accce518624dd5dead3101eb99525fde9ee205fc04543660dd4ef0a6af431b47e145a2e137e3c6b8429e3250d1cf52a66edf7c0cc05c523e837b3d5f3a2fbcacbe02f702de0343a30ea8fa6c45aedb8a75387fb3657adad91eb75d29ad71c2269dfd08ba9ee895fefd328354d42f70a6a3b17953f74e6a53961f2003fe5d8a919d93b3e9bf86d317f64df2ed47384368222f5d8063848b02af7b641b479e777a22770840415f3a0c8859ce930b774383302181812a33d88957797a83dd15287111d1b26d3acf6004e29c6c7b08d5c4e033aaa218cbf245d36f0791d209b86684c574e75177fe18dca4d08eddd6a130f09421a28abf0c8639920ca42026e31a1bbaa98fd955eed07a7de8011432e4a986b288a17347c706b225a67a3dede4c1136eca9fbdb49751aa754f5520d26cc7c0a05c309f94b70926ae9ffa6138cc5ec177ed0ab80b037c8b1452ea876dd7b23d0eb8b3bf859b45852a4ad02b5259a7865ad585629ea0388245a4f45cad84c83debef5456bab4246258d474858774775bf5db9f934da26280e114ea6d741a0a5c43730f79197938219cdfe4a1fc159215f4363ee8208870cf150b5ac7d3eef4b29fae3e8e01a27ddf8c70b10089f25d54f3f1c376fd8a30ad09ce94d2bc25c11d4c36f2909ded96d2df02f9a0837e8ce106b1efb449cee40c9b32ae0ac62e1339ea5ec7d6f9d2c22a0017acb87903afe04cc76b9c8791a4cbbc0106ae974d6229bdaf3130dae92bca71d5a3a63fd75cd037ae3315e6dbbf496741a8ad62ff601fc8a627aead67f869160a443907a7810e9e4f4dc790abf485a7bf4c4a5bc91055f8baa6a5b30513ec604b59cf2ad7cefa0bac7bbc055ef698d41feed70df59c71702654a2977ab84af1124025bdc1e52200df7e13c8a6a5bbd38d20fa02f2ba65ea319d36348f43af5be017931c8622983323a1101887ffc2d9ec8968837879f6d6b84f345ec858468087e637642e662296227c25205688ce3fece568ebc763a5bf68212a407312cc996fda4ea03e717f70cfbf206476a6806edbefda13e6f398c1bd4b6baf464cb901989017f2edee619466ac30e688a0832b338a00308d318a8ddd47dfc8c755f508bd90e1717cf78689d9e476fa9de025e6f6492f72953898d04bc05ba735bd515bdf434488d37031647404d2385bc0a4671337be4524a46ef3f530917eb6ea52d0375bcdcfe0f3cc6dd4c144bdd8493249d4a7193a6d38b1678bb76edde65c20b3b0876cd62febbd97bbb7730cf8324fed3de06a268374b018c882ed3391302f5b6f270abaa3e9e1b41e84d117978d2f1c82716ec4c43eb95775bcfda3541d415613c05697d0a1dd89f49543bbea3b3ed41092af4325a90b255ad91fe6600bb00ca468357b9ff50a4e815380cc223fd5edf415c3a93b0dddb39f44a013bdd95ae49fcfa9f743e4e18f33de32315dfc153dd19f8691db826b9608f1426d81026dbdf3c0629bec08d367c28bf0a621b2cb0269a24f098f6bde4bb734b82b09dfcd47c26a43cc7887bd48442ac266438b2f8047c3cf8eba81092f75aa32b9843f282dcb763ffd1de10bc7ae3ab65f792b477708b75bf33691e01e07d028d413aabd4e29699af4e1c8c83348c37097d4fbda02ab7367bf876a81d60261cedcf5d887fae13041cf0e37bd26c0d1c7df50f44c6b2bc37d47c015db594dfea08d8c305470dd981f095b23abb0ca2e28844ec6368b5f1494e4d84d0f47986f4c6ac6295bcc12d3b8b655ae2ec9c4f47823e433147ba2ccc6b0407ec020d83a8c44d7c8610f8914ca7e65cae9ed42e423f17a4151e23e021c400177405e6eca05508aa845ae198ec7de1537a606255588a283e84044c28d169ef61c121d7a1f1f6fd4064613bb0ebc734291dcb473c51b0758a420750cfe61e7ab2ecd4a484da168d49055400b0c85b5d037d46aaf55bf5bbaeb1dedfa086e49c160e60e1596941ab3affd41070cc7e41a4105f66927771e84ad77dfdb85255b466c801886e572da4e9db9cd21e5a45b1070f93dbf5ba5e3c88a31e8fbd0dc9aa8a13270c512bec2d18026bfdf6d97d6b1bf429ab7424cf4f463ca36658b954cd55a192a438ffcbde1a006a37d35a1bd0311afacd5492ea0d56f0ba8cbd859229059428b0e04d25c350345ed77e264c29cf7613f469b3a616d876f83352892e4b8b5e808ac2d4491b374d95d4ad2789b0c79a88cc7fb31da6a054b3a54e6ecb8be56def5614209e4cfd98b469dfa34d6705a0453f228435649c2db08e0825bedb3cadd485451193999bf3d622a23c36eb8489994a65423183786cff49ff1d4d4446c92456d6d6481f5e1b7bc82aa36a626fc2c45b012b01a30ca39b79150e57f017d7740c34451cbdce2794f8138d1c41a16959acd625ddd2a12c90d130fe739023f7cd7d7820d23a3d3b27be0cf69b2a151d930117d1a533291fdadd24592869d4ac6a3ef6aece44925eebff8d3a7f7d337f932b86700cef9b8a6090669e1a1eeaae0919759c78b00cecb74628377e577e344d27d21923b1936b8efc9a666a9e65cb4c3a09acad54fac08661e8da937116e279a7576ab744f95031907949512feacdbf4b789fce21dcf48b26c7b91916c2f92f8befe3e5b4ab5c3f586cf877bfbfc00438ff03c99f0b88a5f87470f69bba2cac58544d9260a7af765c821cfa7b3fdba1813128856aa234f31a9db140c43f5255ceadd5d8abacdb70d853ce15a7341003ba70c449d11073f0f7edf706efbd01cb19599198c74a2451df763e925aef2f2aad747a031864d47f6b02b4906db53bc73a006df59e79db94bde5f4d22a1b72039685796a65ba7a31fb013acc8d42d8dfb808979b0aae411653ca4a585b43f53f981155462304658f09d7701769f9c97f3015aa58b37bf2fa2e73e4feb9180dc57c5833ed2be088377f59249bc118888be793fc2024aab4b62dc3aa0517bdb8617da51f9f95c0d34cd5b92e157d0503113d41668fe75c53d9e397218f6564b969d7d5dd63d4ac4bcfad55d2e49faf4ee4b96bcdc5c1a9b5e68df58885eef040b78b165d99caefa98fcadf0f5db6668f7479191dea58706168bf2cdbd1c7851230c814e8ed352cff31cfbd2a9b81538873f340904d70a9ecad2ce505a7cd6f032a6a2d48bb1fbc87ee7b4aee51617d3e03a11a6a570af38381dca97e6379041c9e2155776c7d89b2a2209800902bcded1b85cbc5c8bcfab12fbd67a5e409aa90be1e2e168b05f6ac42f13aa9af35a1918a3a522dba39f4dc3406452a9f99819925e5f44c4c459c40d0b5ca40c7abfc586254aff9a18b44823503fac472db53a684a63cbcfd4cc04cfec11b7aab7c57d1f472893ecfb63b4cb9e347801cf992f4b48402b03272091a44996b7fb25c5c985d846f15d221e38cefba030f3a1101dcfaab0113eded7121cb2e3c4515f74921e6d76edfc0e4e53ca235f98fd355e78c19b099d85605039f886e66cbbb218bfb494978d7e810c1e1c8e4c4d28314ccd3c9ee81e6671b211e640471a89c5cf60774f5fe83135d462bd9975bda51f6eb072716d935c99d0ef6004768809d013f70bd9f55d2b6da0f614084594130423eb58aaf8b210f0c4165fea93ddbca46cd2fe38b86b5bcd010006c003a508531966e6746166fea73fbd1bc1d227cb953dcc057629715764cf657856c3e203b60551adf300adf3cb4b640ea5f2c8cae3cfe01e5062d9e72869e64b94aaa061d30314012b93eecf4ec407bf2a2e4bc6cd8d7ba738d2c0fd9b570285ab516a93df11f44259ea6579df2db485cd828b00e7ec6e0f380768d384009863fc415459fb7d8a4878ecd1041d71faa93eba662e7d227275916d0e4c6a80af8676f4703f391d3bcc4ad0ed5732a0c45a2ad99ed9dbb6892246cc335e656b442e87f14644e19dd206757282ef4db0d0925f05125c2d6ab55f6de38d6ea4dddd8045511e7818691875f42c6e0c23ca1e89d66f5656d96b667e650a6fdda545ae9d960bc5c57a60e1f9b6457a8517a05ab5c858b1ebd7372b12ea0a4d99f37411e6cc5cce91788438728641b14cb4942de58c18d0e3cccccb4c2c6e76e1726ecdcc1cbf6c8da60ff9328481920bbba7d56591674fe7b9526efab9293f6f71e53f588c6d5984ef45a66db0e782c542a69f4cb9f2a752529d213fceba9f82fa36e6b8d16e5ee290ad4c2eba60983f0e0f8750f6b508ee51daab42839f7266fbe2ce29fcac5c9c1d14d8df402d828f46d7453d753301e3c2033414b4d94b1e00e56fbdb99529807ad7c14c38d537243c960fb5b0a246a32e4a19bbf57d987a387294b058e7032820126bf23334e65ecda811983ebfb364d14f56384da3d887e2dd4d00d2db835f4fc2d9b285df73a60d627de3b32f67c745ab01a85953063e90a4023f7d1b53127346361ef6c95f52dfe7c52b1a07a072bc90a3952a683cb4ac5d57a980ca2b985b1928a664a66d5c75e64fa088c8508dc0c24244fcb0bf18c638d7e6cbad873894f6c8e209855fccf5b88d4bbd8088fa2ec8087c0be0ecae74e385bc9808aa1fd407aceda5c40f6acb7451217bf1f5c4b62caf72f3db5b069cab9f874b25d059b67e9cbe5f7cb337d8d26ef063b63289a97f23ee953af3a4fac909494ccd310e7356050f81b4873f55f7bae0577a1c1529448bad8d935e325436afac6a3508ca95402c871745a3bda58b5febdf21732193e424a1e6d6c37d7ed44a608416ccae72bfeb43055b4c8969185596e797c482c03e600136a460aadaca3d7ede4f6cc5bdcfa1ce9603d8d92f283c11b4d8dbb91d0a70164ab6ed8aee7b44d62f9b4acbc1ac6e666c5a18d8020107c580bd98afcb9fdc6bf02b671e2985e393014cda60955182f87065fb009c686fc59bcaeebd6e20c55b8a6b58aa9825fc7169c38f5a74fb702b16f847e67e2a4cf778ca3bf4b5e16ca2648fabb940dccc2649079e6dac613d5df83e959034dc1d3b53e357917e0d12f9c0d9ab60d719dd7fbbfe1e64352a13a43d821cdfde1a681279a0040f985d40bb254cb698052a743493e7447e786d0057fac2dcf3cb98e380f1a50cc65cd1819684ccc056f50283e8c50d66d18f7fa88909e2a2f69da06e13db3e81bbd2f7e535b1a13eaeaea2ce7b94d841beb309e75d6be1865cedf32e01fb841322c4884287518af7f020a1a0c2ef5a710cd9b11c99c3526d9cbcaadceeb73a20b5d31331d9a39a83dbf281e35da6da3df69eba5fbfafe55c3f74a3354680f4f820e2948916d6844dfc29fc0c96d316ff4e0ee3b5010e3a959b3cc5443cf77a54b13fcf3c952be7cbb83ca0615985607b9ad6071927c79b6eb162723e8f6194c2a95280f1f6976c4dac9a77bdece9dca6f2b3b4a3e90992148ce1ae2da49cebdb99118fa1c27c2df125940ab0e06df6149009b4548a1440a36d1c2137bed924000f3f711bf966d5c11c07a2c5a2f7eb49ce28c93c084672a82830bd420bd6a1dedd509a504836be16c37cfd9fbab124bf93f78058989375e930b8bbe98966587515b28aeea1cf807d9298fe8aa6ade14609b5b146a57acf43b2bba7e834226ab5a405e0c3a24ada3693c6bc190587d56cbdb9823a398bdc61b19672d661effabf01b7c5683e339f77a70a7d651ba757e29c21381e27d2828f0a97ed26614b28ea2cdffe5eb363c9533f60dbecce1b8da470cac565e67cada3aa2160cdb04b935c46f1a36f7d1db4e0d3908c391ca94f9c12e8129a9add0c9002ac425080c0e6ee0f1aaf421eaa93668f13f939f3c01c64fae8348a1c6843807465d2dc6c23b61a78baa2b7b234a6f0dab2f9732d00954695d2f492d9f66c43cc4a9c99cacfd87a0efc0209326ab244e701bf815e66899978aedd82175c39e92230511a12ca5459482086c41a6393d68a5ae4597f451b4483202cb3ea586feb7b1133a7f55188bd5d3b4cfbee46523015576c7124b4f66b5ab8cfa0203882368598c41d408c0d0387547a471709220313cae79f6be335d26f3eed35b86d1c6a19df3c67054391b48c8d5fe8af9abdfe72473af3235283492ecdeaf64dab5efbbd87f0dd4bb99f87c573b51d86984638b26ce83a88b048f710a4b1d80e1137444c0d4170ae70f5b938a5278b118e39e140ade23af55ba21f9e940268062263ad3bb6e457298d38c7229e48f4172bc4f7c16bf3edda39e0c23ca4b66e9242240b81bbd26a2bee48de17c5a56d030c1d0b07b3ca968704a9d0ebd9fe7b673c072f28f1b96ffbb516c75361f7765e11e589d55ac5da6b1a2a46a52af4f7025bdc9a6be4a18e2f910bb2fa71d72907ca09e3fca70f341b6019a41dd8a4715557b067f32d3a06c2a1c5cff03995c3d8eca798121ea1475fac95f771aacaefb8decdc5dd9f87e6e43c46b5b0e5e46114b1e926d00e42ef6c6cecc8b1efa7394b92bc0ff1261c0a5d9c49ae82a928acab06e046a0906de58061a879b3688483a55cdd6ba05b37f1a93aaff9952ca182f6daab4663cf8b1a1f030544878cd0478e40fabddaac22ca8961dad6a97f7a88316f67fcae9d6995b15fea97f29d10ecc87e12bb4a0f62a94c81f60209bf3e6c7ff00ec22df9be8734ae2f16b0fe627e7ff108d66b28245e11f86a479021928a3323283d51ba842680b869af1d7d90793cf11613ceaf4de5e15a4314bd382cb4f77c2f5410770873efc0df728a6edd2f094126bfbdc54331897e486f1f583583d4d802824ac6e6cff2896a3071327d932adeb1b6d9989694e701d184640389995e7cdf23b7f94522080556af7c24c423ed8a14f568a6f816f99402f1a14ec537e9054a0cada1de5c15a5693b58a7a78ad238680a490b24f4daa8187d6d13dfde3b1ddb723d225b192e08206f5a0d22dcf1548bdbbdcb65e520ece53b854ba402c92f6ca9baceb7d358be08ff116b9c07d1d4ffc4cea7b738cfd25f57e50f8c3525025ea6a63013cea25568af081ccac9f2f1e1bc5d560dedf5dea0c50f70b72882dffaf9dac98c326a9e75cd891228676fa6e375bb603b85eb3ea5afaa63a6bd04ca183d6930d99641b72f520ffc2ca981a31cdbaad8d8813ced12c8fe09ba5e5a8a5a4c4a8690cc05ae39d528e7442804cef7d60468f3e9287c1cd7fecfd385e7f6be2374c0175fc7eee413ea17bf38ce8ae158ade0358bcee0eff3754ff2d8580ce43c086d28d67707c86b0580c9b0dddeaf48bc78ec4f71009e207f04a34ed6ab4ce4f29b789a81f2c3bc25b3ec970d7fa62fff445a3db1151ca5c0e3bd84de1e73e9d11e7e88454a2e6fa7ce11c868dd327ea14dd7a96ef577895300e11910a30cec671ffdd62445077f22c4e3543e367531e7d3bd2c18e6f368259a7d9ffe059b662f9211f6262e40f0dfca08f9e393b2a8247e8bb86169747dd1b7733b2c0d9a8fd491c2f299fec8a48907a3ec8407759fcf5b27cea8b8e67d56b7a5a9dc3e38158b5a3ce6fbaac5726435c62d4e5310c45b6b35fd522ce59e5334981087af3545ce90af5493a5a2c2129efd5d7b2f3b328b4db0ceecaf1e263bf588e852f88d40e3dfa75ae22186a439d2f2c757886ab923ac8dbb2a4d568fc1c13be97c9bcd8bc905fdd6fcf14fd34f549b774e409d9153579b5f137432bea52408ea618e30e34da578a7e3d5124655ad61907842be35e926be54471d35c72ad9eb6f9d0cd8f8dd27752f7364eec6c2a34bdfcbf934afca4d31a4245c3595ae10d2df30b3f9b9abf250757dbf108dbc3882214f01c097ab4d959082387b33b14b35227594ba13693a5eb5028e126636c0c6fb8e46895d37ce83427dfca8d309ac88432f5880c8d790756287e644880863a6fdfadee9a0921c94e8977793ce014f5f4ecc15e2a576a8c3c337d687fda6a8bb862dac85f0a95402473b193b56ba528324f4638f57f29a10cc2423529b8ffd365a0f4691805f6f771fbe4ed21d7283c2329b1aaabf307405229b1f3145599e2cc81cac91f5c8a0e78b86e6b2e945a3f38884546617ad7968678e2bc4c689c195a0ad7ecbe791b1c751110448e0aa9c6f0ee557d098d22e9080fd46843b592502fa1108b5e6761ba97abd5e2a1b9aec9e9abdb6b2c46fdd6a1aaf4bca15b7fa6a90bc9fa8edab3245b8fe4bdc837025f4005ab4e017d8f25397413d156f65a92cb25028de2c868bfc3b8f5bbf9150d890f1c49a541449e7e20ad9a0090500c24ce64d39a0e59b5052a9149bb9fe39af1620bf5f09d7a2f0039a48c1c3224acf53973bd5834eaf83d98c01fc02f87ae1613a6def6d20828e2c001c9cabedaad43ae324adbcb05d6e4d9cd3aaf5dd040ca2488cfd6cc48de4d903f1dafae7dee543dccc7772916870841985a3b0bdbf599fab0a4c06478450a788a256f47f04a01e43d0b0d02c9d47799e77bad032e92729e5632dce6a57eb65e6ccec881725e289665226dab4f849c1f248ab89a41e5634c1d9c357f0cab7943766d7e2c1c489e151651dad7e00659c4f78f3456b23e042851cf037ab3eaa5bb00491b28d8bab82f9b9d6200628881981b826a9d04f181afe74728ae7aad1fae6b478390515091073a47a9cb97d985a0a3be82ca6503f20bd8235e5ba26bc7ddc525be3a2c359062f0447676723eda3dff4827df1b8728ca75ad691bd78994a99bae7d089c380b74a04511aaf0f10d769fe712e72830e0b374011eea56bd018c397acd3f429c2c65f42bd3beee3eb27d9994a14b34e284c773061ec5bc8f764539098f7c17b3d4d63b667edffa4056bed430e57a1826416b24407bc04a7618dd4ccd528a6ee23ad4898e516debb7faee18ed0d34f3e5a15eed2ec300fa1969384f661b87413877c3b7c7ce68af0dc040d0a7ecf36794a14b2100c93aa440f92af4bdd1e0e57869c5bc0b15350357b263cbab81baac8ed03a125cfb11183063572bbaed0d1e087240e9940f4ed3708615d8f6d988a2793b5bb9c4296ec99cc8f534344f062fc10bc093e836f4da7d07bf858361714ff11d1db2dc7db9fe4d70e0c8cf0366a5abfb1f36f191aa3569ce2c776c637dd54c01e5744ee175dc8b7a6973e66bb6e3f81cc2ac5bdcffc19c62e44b03eaf612c3102960d59ceeab0eb8ae9650e6d9a390e8ccd47df6d8d1ae6da74266a752f7587663da3fad5d6470e90ad6e4e76e394ed7837ca8b39f226c9eac6ea53a3ed78ef5dfd40f8f4bdd1ece051ecb801574828b50fd4e1daadb914e83c66ac1f735e0aec4f760f78981a10f4d435adeadf6ae7fc954c71806b833cf84f82e77a74bbc82880dc12dfac6f2484ed4a00438b2b2d713196fcf6962116903489208df41079a5ccbc45a32824c409facc5c02155025520e4dc930e01f2b1960da8a2007d1e12ed09a027632c8c141657b70ca701357c90bade8c7a6cb84aa1db4933abc51c352a1c93006c7772bc0c95eb3ca7631f34586a0d11f6627045bf639a5c6e76241508ec42744525b74502a9b5e22b8d5686544909deaf3c3662a130d8ec1452f4251775b013089ac8d36c59a9bf3630a3a4b81c7f759bf8bf2ace4001fe36bed5837afa8408c4c456a90730b11ac722e10c6db4882537c475dfbaaf521c1e1d46110bf479c549b6b55f953d12eb107a867773a7764e6a2993dd30fa5f2678a38bd07166f46eb1d1779c0d57f5adf65476647019b6f27e6e28cb8519139e45f833962c68da67646b654c6e3651dc2819c87a904cbf8d403c2d5e87833b977c9f68fecce81c5c4edf75846931b90cb29815649d6391c8032857a311341251b0d9455f1821514a9be081a6c4d90a1e085a2d4dc7d550cce66de344658eefb175ca3c3901ade9ae54d915307aec112521fc8c9a659ee7c1dee7204e000438dba08dd47a6ddeba5fba52a55e05348c94bb6d98d3bb3d840d52d6265fc44de97689d34de1e6b13a2b09dec5cac11d86e6775f31fda5fea07e0f6cae614ebca3abd6e96eada52d4d540b031a201ae5065478ce4e233c0cd9e35c93f7b086cf6e8b703a48c8806748960ba6f212d9e7a4bcb0f7b8b9bf11e005d72a755dfea41445a131a50eef9b728b62fe56965a6c55e6a60acbd646d92dbaf4824be508a2ad026bca511e32334763c6156dab5f6ba5018df8ef481ab42632ddf7682e4e58c66d63aae653046296b8dd25df54e84f9e19e3914d56e940aac090c4cf710c9bcda80548bb92fc117571d3cb78d59ed7a9c8274fac71f39562d72042a03f7eb0226319cb354c5d4939feaea28f655cb27c89b48b496526cab5c1a2bd8df580b8c4ba7e27c1ca0e878071bb550f4dfd373e8e71eebac618b7f75ecd98ab581dab5d750687fc65a1cc5ef6de322fd0b88cf424a4105c99903a2b2a30a570806d0a45e1dcc4606eeb044fbfa4a689f55dcb975ccbdd803b1ad066988c0d789e4b3b94b99d22d1a4655f3aaf83c7dc0aa523c96e302e4f0b31027a70e8a327fc56c9e8199f68e64d7e40d323f51123fb60c8cecc740069b6893945870885d1c91f5037ddda62d93bd83a42053f7e56e6f480c7c5c17a4573d362cba9db441d65b81e6d62a94129fe25f4b78c6c980b3ec6b3d2a7bc6c53cbefa00c7aa027349f4421ead1da0d495ff63440091a4188a87856497fc27a0366996e0214a69efddcc8f8dd28e14befb31dc7dffea4f7d317e509f1cccaa1b6948046e28091d55d4e45059a569c3e027450acae4c0875f8bb910cfe1b4fc252fcb067157b552ffbb61d93538a620561fa5abd940a2c260739c1aefd93a89f306e91c11350b4e9b94e41fcc1e8c9bfae2e6512352eb29fdaddd13cf84f0742819030e422f5259aa6e23af2e36a734a8aba0c8a3b77303d2e4839f64f324aaef84802cfa7ee01a06f6472ca76884cbf27ae36e394c942efe451ad5873e086d3f8845c61203359941d1e764ee44e73874d6a5721e42aaf109914b0a3c10998b632844ce0d73fe7d72fabd97604ba356a46567dfc873aafc765cf96a0c7b0ce0a68de4ca9355f2975a22a44bf81d05029dc7215f5c197f5ad20a4fb555ddc384ffdc4f76b92cde7f1759eb15928aa9effee4cc04afa3797099d80a40d29936099a47523f722bb3e4597e761e60da36bed5f8eb8b2e25b6e1693a314576ef0e03b2a4c3fcfab573817974a70436b3c4a8836075217dfb142f616bd4224d8bd6e414a4d69f75869da056955650bf6b536ed133cd3d5004f650ff2e035841f6c440eae2cf4b731be851b298a36a63d9dcbc9ada934e569c5f2d42ebaaaf75f73bee1b6fd813c2322512928c1770f3f52b7d6e5afd5e4543ab258ae6f4f60a0e77f9bd3da27970b0a0579401f2afec254e555ddc83b013b1073828b7861150578a77f572408f36173ed986a471835225a74ae8e09e9016cb079c1b5653d3f3673df6bff3c5df99fcc015a349a8e385eeecb28f50ae7d0f19adf44aae115b07750a48cb21bdb394d5f1aca82c704c7884bc5ae4106e936a233ef137414eb600c7aeaf1ca32fc093d43dd22acd8d419b42b3d501ac6f5fb0c2f8c2e127293f9df490a0321553fb11aa4b1f48e9a9ec6903229d2a53a9fe1efb14ac48a6ab1655b98cd545b4450f8a3b584f45864979cc4d78e89607d6be69b8f0274d43b1a690b5b0a4ceb34e1aedd9af5302f400a2d621e5f67764b8272a6080566463334d764a9e21dcf6653677eaee41300c14695a477a312b42bdc3ab051abe806d12c1231656002fddea8cd45016b76224eea946354a9482a90399d66d2e4640b85f517ee76dcc75223c128eb9e32df7c49120e571b55db76610f513a3c14cd7b61723af7257357ddfef87050abb5a0beb81d7574a0130f9de675912b8252d1858b50be0040b6e3f812ce4b6d7d9e9e43d775e2ccd1875769ef23ef563b1a6967149e3bb66880ac6698fae0b2f93ed5433820ddab1daaf00b79ef515b8d510b8f55ac831cafc4c45c487a88992a47c261c093318154a5defe9f961efd8df81fb96d69adad03a18c592d12aa853e7ec27a9881ffff00ec650c7a765e47e0a8a10eb8db44d9b0d2b191343fe39fd1a31376cef437c4cad1e924ba9d728a478ea5ce97693aec371f1376649309022fb0e13940f1bb244c30876ccf25f4e95680cf8448039989ac99df71bf987bf42a34a8b3bfd941ca9eea2fcfadc5732bedfcb3ebfedc71778c650afc1c618f4419a174188b29ef12fc267fe986cd2588de94e6795b38be94e641f4afd62377ecac46b25527f2a99f4b6a2d79d942090ffa590fa29c3dd471f9decf4dc936f156c735a2700c5564c5c7733e73cbb906c883f83658f2186471fbfe5484c94e2d1b26224b4e86c988baed9ed21536c2fbd9520103f62efda1f22cd566b24d49571c458a3b658ba40bc2fda923371bf3f5a2ad318592f894642dedb1b828488dc46b777fcb43b749e54f380a53be4b337d157c10641977044c49dd03e60c2b4f24e2070f36dae51cc27180a79fd7408491e6900f4be342860155962d09dcf5647d14b13b3dec3d0cefcb9c0fe8a5fdf416971d1310c393bc880e282bea4800d14020723db0ac234149efec8e8dc64e5f7d7297d91d1dafed493eef43841a9362bb79a0c1256fe3b88a9aa0d122cc9e88a43e8382f9f01e1383099e82af002e005c0226d0ecd512e469751edaf91797c4b76ebf0a705174c8e6b5dcb11e5ff220034faa9cee11a87771797e6db39cac6db7e2cea1e01b92338620584905fba19a224038f649d849127c55dab2d991d970e9f8ae485209db595404d6831a1ca1336cb2689ece2875bf3baacc9d305ed50f46858c9f5b654f56c672bb0ca1e6cf32970740effeda3c2cd63cce19573e5943e8c3de2d75fb0c00ffc42ad109b82cc0245a5b499ad911f65e6d9d1d0fc1dc9b14e1455cf7dc898abee8b7286e117542a507bb6862f26f834001f534e42329680b5363f631c2f3007278c1e6da51a26141b47eee89dc03d2a8988c0f8bae1e964417a7ad461c084db0add3e921e844f289dbbf22c37cceb8859bcae71471e1274958c17bcf30da03d60cfdb3f9fdb566ebcee0adc7f37ab3d6ff65b78e3c92aa7e345ecc5656a95c9340cfcca89f8fe10cf2a872e854fdd58fd44a9f55247b6919ea9d0096c4b9f17c187993ae045c30bee6315250064c436d88ad6f2c835c10ebcdb7d0d545805a80a365fb7a589f6fc1f9e6d0dde8eb2f6bebd8feabddc3ed3bcc3ebad8d814e34bfcd3af99fc366e46d0bc9e0092b48b6e7c044f14d593f35b8d2edaa515c7483546af84a6d12f06cdcb89364cf76cdd1d172900dd392e9a65a310bfe550365a622e63a31e77ee1a93ed0975c612e2a7c69a901eba34d1dd4c219479dc913642e5f21364e21ab0a37fd03bc7830676fd68fcc3a07c31a35d7255023a58f4c3d14e21726a5cf5054670c93594e8c5711fd7a74fc0297da78849b74616286c7cb016ee9c199718a6328223916b1eaa12fa54d4cf1033c60ef10c7bbae2eb3842f3ab742a0ec6cab4460d7170a567f4ed9cff882db0cf5911d18a5938f4c1bf7cd6ac4a6b3d887bb89d0a56f783d0f7618c4de7f76b2541e319a1c8b7a221b8780a377eb9b16c167c7733d8d6ba5386eb8f27be3a72556d67c8d566adc974eabb33aad0076dea3b2787ca78e7beeddcde2573ceabe295dc7fd700092b633d4f76abfa300e5e52a8d6293fd2666b96146ef3cb1903d32d6ebd0faea3aca2887f7fc0cca8d0fb0e90e7e82a0e22ca3e51aa3f4941baa366ff1e866ff895988878e092f4b969ea83a878a9f67e2b07040edf5214a00f55d4e4fe362dd87d77c25bc5104d4efccc143575ace2a14f5b990330699974ea975cb5669b6491d5ad1b110ca6ad7ff2f887a37c64fc7abf412dd940bd957040a5ef734d47f18df4b8425f989e9ca5617e7d1018cf3ead46bba3d6ba763cbe36e8bebb4b0980c432e081a6954024a7e55c717ce7affb63ce6ac8bf7b59be828a7629ef2e4f0bbc0f3b7862a60095572cae799775b84d90180b13c21dd3b7e3f81775f9355704fcdd1d7b6c3c526bad1a472d08e7e1cf8774008d1c1fc9a58abfa4a188a0f705fc6b89164753b59d2402d3f4d396e88bde14a14c4d49968da965d0b0a31dc0a4e4a3171b15f4844c4018176498ae8e6250b3e97c67ac6474fc68791827673d484bd47830908cbc95423c26de156cd13d4d9a8832c36adec578aeccfbbcc0bf9fc6e382dd5ac7bd780b013b52f65043d484ff2453884e91b877ba1cedca912f1d66dc86c555d51bd9efa1517ff18fa1dc846a6c8331806834f055dba670b4e2430842d5efb8d519407a324606ac80e44084602dbc5c7f7f8d4e7743ad6ca97162ac95181f99c8ebd868b1bf5e28dd963c807797bc11852f9f95e04896b1f49c035ba14c89f4e77b0fb31910ad065d5152c09ab450dc6bc071add884c9120a21f22a83b5dcdd5daed9af77bf764f126a4f0a1f2522145af2dd983ea439be9e8d10a588ce07c7e2b962bf24bbe01f6f66a461cb4d2e26a5eb5bc7e2e1b1dc75d37859683555ce503646dccb1df91b1b1e9270fea72fb63b7ca22f1947bf5e52cc538c74e72c0ae452e3d956ae2fea6459e67cbe2dbe56efc3ec49b56bb70a04b37c042c7aa46a7f94089742f999f498bee490711d3e7ccb21987102e04a1ba2b5e86b90bb78ed0897307632d46b51d5f81bde0fb82ae6dd344a5b3e7f21353852a578083df80db68ef17eb2056bab904824a6568b17ede2f2f6b785166cd5ea3288c3d0e19e6c302cbc9fb106e503e41dc24042163b1c937baf2d9310caec7cd8f4ececc483448630c59e3ca5289d01b55458e134d8859c1fb9dfb1225e9a1d9e6f726a9d3cf6f7436f38ab7fb5d27a70febc2b6297435cbe094be50c95a2bb7744d7865f619ac8c8514bd5f3dd39610b38fbf6c82612f8225107b37e2cc10e433c3f73236e6a39a36efcfde1eae1ae9feeab08612d8f2ef50839a23fd3a1efa69da6f4816f8f47de0e0348095b9e4f225af8a7d3a4b6e74ba833385420e928e8de6246b1f58666802e60ede3649208cc54cbd2656ddfe1e8fa01e5f51fb69eddf94d357a8d69951bf85f7d41bc041410720ad36dc2da70b739df80aa1fa1a66f8386d0821e32c6402326fe67726ea2d10f7c3eefb30d21c8482698807b4e83ce9d7612a359bc4b7496facf8c980fce0969a82b9774f37b7ad974ce44a50946396be95c2811fb71e5c52c6b95f6a64cd0c7b845c9f7b904bd35c3bf04b5443b24434e54b845b972c3e7f6b35d64cbe8c57931cf7039b20725698bd4a27d70f4c129b562879d5222ec324c5643f6f68187d7e10a396523795dd6e46e575293b3c01e7a906f45817b64ba63fd861c809d64a911c8031ae90320040bf2f3f68a1ae52090a40ed6e3ce90b034b138b22115bb4a6c8cc97f3c0e4a96ba42985313ecca271bca5dfddb83cf1c473933992174447fc9d996e70594eb094529267e8e398db76779f1909a6514cbd4bf87956ab5898b90a48dddc4f303f6885875a2e336a668e89ad96d1d68b4d5ecac279c59b704922a858c4161319f23a10156296bb61413adbf780fb26ce0c19db79bd8a263dc24d41b9892b9057c7fd8492263519907dda1d2ee356c8c0012b2f156790092d2d9bf36850c68ee773509ef5b4967ad5a096021c50b68b2858bff0bc1946517ec7fcd5e76e2eaa4f40954a9f6b3610c3a7a3ecd42a3a8343ed56d3cde07bd64deca105ec6d5abc280e87f082f3855a077da32c01a5e2a7f596e9e0c75e7498d0e74aeb3f8a37c3a12e4b874ec9b3049d2962813cbea88bd47e8d5aadccc7f7d449047ce681c6966494a3841a2f2fcdb474c8ed441fe3d9b2d1763c9b4f4dfd553d2ceae4ec1e6a130cf63b37a90a5fc6029d3fa45bc5e1464fd43c0cdd83f811b8f004695d859b8f522064356a5a0c73c96cec39cc694a3cadd1238b584bead5b6090602cb5c5bd637931b69c73720f0127fdb08dc503db898447c7224c82e0690465eff1c88047c2bb31676ba2e48565300529034672546b03f0494d3b3c4554c9723bed48fbda0e23864d00065f2884081961ce9d6255091b84e9694e806b48b54f87d001b4ff47c5115d82abd343c7660078495b83f79521106d5ee41c73d35611ab5ff840a1f7a6770ec372482871c733527f8c84a467aa8ab3efacce5e8fbe3ea0af608ee7ad00c570aa3f71a248fa3a089e6e25367e19cd14c79a4a51afad115b5dd4ee71bd9684f127f07ee276ded003c4fb2d5591773cd16d151acbb819264e8375f263a3a89f44a1841b826e9f681209ee1154de4178b83e1f10e32851dad412d3c4d16e7dd4037a8a64325695d3eaa9db0630711e3f81a4e508a9d671af92fb5208e741cd26bd2f57c571f18017d834ee9a6336b8728505cd77aa19a27f06a0d7bfa48ce23c4843685d374ebb7e8c100638585c84e972b25a20579bd733e17d48b54c5aafb798267efdde4c3a417322dcddf6ebb753b4cf717589e3bb1067881da99f64d0f5cac7c0d73b4d57e27742bbec823a59052da67c8d853b231679a017c383e7391d5a21a0aacd888c6fbd5f4f6356cbfb5779542d50f44bdae43a20511380cddd91420b230f11a1d40a2bbf303825ff41058cf2e5dc296cbee01ef516e2d19c05f1f7eb7aa846ecf4cc30e9a9429d9940593bcecc2fb3ea39739798f7b17255275454abb7b2486773dce15ba1140c87f0d6a26ef0466412d2a3195cceb072e154675c50272035b4b5330f9c717f0f4eeb79ff2b8d9f0da9f68cfc7694e87bc1fa2957394b2478d530f5efa41242a67a77a33cf510a92943bed224b81d8d9cc46ce672045961bcf609ea50ac420b8263f2ffd661178c61e98b0d199f02a8ce401fb95c845f891224c52835e0a356ef05722a9272a927fec282db0fe678a5c97f99ec0082a96925f781cf9190866e1a1fa0299f1520013cf2ba37ad2e143563f1318e3e524d87a84486fa8328d3d17677217feae635667d402f9d22e80ee3d24e8b53857a8bdf669dab5afac7312cd8499818b46fdc43c7661dfae11d3a0063b72f30a902b257b3db995c241e7da71aec4e37cfcc6a20cdacf6451b7b28c53251db8dd914e47520e76d8c67ca235c4cdad7015827b5e4d8bbcea42e22309055c4a5b8373f481fae3b3415c49a2268675160d43ab9c074a1a13b9bf31dc87c08fe7f62992736ff3eca17630585b49329b5373ea453f0209d0a699b7c8aa82648bc2f11961c651b5ff5d55ca8de4c924654c9b6356eabccd9f56bd3f1ceaa1576e3ca9f51b2a8cb4344272114d8d6ac839772365a0d3bdba4d7654ff12f089fb6e2777995ad4b7d8aa5f7d3c851ea21dc9e8a36d836ea0f1a0d4498648a5fdd061ad3133442a6bfde35dfdfb622a947e0e887ea6e6414c9a32cf391175da089ae53d9380088d8f6fbe038fef51411f8f49b2b7bb72d5ec5126b8edc88a665ee87fb8e041532e51149c4cf7d76a4cbafb97d5968255a3b3fa0b879f43677439887b7a791dc95cde1639df760c955d092e616d64f008b26929d0dc1f9d7d225ab70be9e305c1163834ef47de117acf52ae2be2ff4cd10d1e9d6a569befaa6595bb48d5f91e695e26838851b04bf4607490bf4ddc85d24fa2be6aada1ee45697402d345df8a56a39a6cf12f9e5a0e547cb3455b2c525455749dec4879588e36519c2c568676f69510b2cc750f477a911598ab6082dd609775c78dc665ab4bee6969e744956ee43ab611b31e1b3586b145f54370eee568724d6f318ad48e5f00b76ef26266e99951463a5539de1aa864dd520703b5b5a2c8a0c5b5b73a301bc3c65b8b588ad67f5f067f8b6930de496e91a49d9d0d17b95d458e0030c1680eaeb9116b9400fa47d6ed0ea64fdba95949c964c351cc4a487eb513e10ce23f80743d7fd738230f6133869e00693aded2f93822a9df0f764f4e2cf5214167b5e24c5c283703a66945263b6ea736e73ca19d80200c8ced0aa3188a644ac64367798c7c3f86e05d2256346936a56e857a5bf68692f4a971150a34cce6d883fb6c046c748dcc6b642243f7336b40e79d5a3a81942325a6fdc4fc230e8444a7b56c11e12d8b315a1bcf760db4ae6fc987b2a370e2da331a01865ec5a04060ac53c94cb1a3ad091a381b012ada5316f9a447d710fe4c82cb4be0f61939cd3f62cc5d362a08dff727cebe3a9a6699153deab3dc070cbb8616bb538c7b6d73d78cfa35c1fde80a199b60c1615d959db95fd809164ec8ac9e997ba6d3500723619f560bbf45110b349d8c5b4b52f617a72685e4af00d9f0e3b85477ad288718a6842789d6b9b72d86cafa9bdda78732054a5dbc56ae70217398cd0af611b8ca52d7ec4baf48f37f636dc8b758f3d65cff244f7bc15b0cde9809bda2436da94738b91a4eecd0cc5a571d18bfe7e68cab1c5bac2ad9e70f066d494127e511761cb20f8945a5c09455cfaf725d993240d9483c7842439613bc4331795f0fe28544194ad952402a15921f16d03adc3dbd8acd90faed7c485fe8ba5015c3d8c88bc49f2678e69e4986592987adf02f31cc8dd6f45f39163bb9c2c2680788cc61457eafc4909f2fb3f72f333b62ee46d5661b278cd5274009c2a1c989eba775a11929cd5870b75732944935ccb4f5c4bd6527559b2481400b38817da1a54455e15b37811a059365421a78e22132f1deb4340086b05d39cc796422a2c2ba4458ec709a19020443af422f0c3beac19c3def4141f17044a5844305343a957bd8e506c85d567a322fb8d9172e5717f8d4c111e8c244424a0360220bc38728ed29c6525ad783703da902a727e9ce8ba32559c83a8a4ec09b4466a93b77f37c22335cd6e7b89e85eb6f58875a4c81f9040844db86e9ec3d51b3c5510f2f973b8345e85dd5ec5bde998594e30688f017e0f34daf4a3ef647732e5ef284f5210443abc5e928546a60dbb7b3d95536b845dd0b42f2aa99ee7e8e9b97428408c3b27d395b14b3d41873144d663ed8e9712f0bc7b0c0ad30c42bf12e6da1ca4804b7704e0cf1cc3cbaa0cb74478dd66f436b689dc6b838d273d8710d7f1c7d1772019760b0dd0d06f7586a4232c2abffdab1128580f1b254d27a2f6fb5216ec5a0c910a7f63ceaf7da9280310b1676552da2b928f0df17299d2eb41c263488483d0718b2d0ca0876a5e5023fe40dc07720b941594431c9f2f13967837a1f9619f643ba292b64bb5daac2251454cbd262627624cf3026fbe592e86ff5876a27e9c22951ae1c08cfa4239e4576c5b0643a4cd87886d7094ef7240a737aace44ced4f501fbb0958211cdac8653b11b3c5ba3759e4b9c5f7614e5e41d942671e4b703bf1852f2b69f595636521b2f42c4b1e77750bc9df785da4fc2f1069ac37b9dee695c59478be787162b0ec77ec7c418e1ba6c1b920eebcc8e5957e4a4f145bfc17e6b4ee601b8a090aa4a5cf094df2084aaad85443afa55658972b6a28ce87100142a40e315b54339bda8337424f8fa8679a7762f04fde71e11e6493f246a5d0f6bcf30119209ea7811b9b218374de909b2e49565e48c22c7d5123d3c4f08c122bfce824683c48b5bf1ad9c1048539843692f350968911cdd40a5d00257d759abb222c5c6b185a1663953a1885f715df61602b27a07b75d47eb14e7d12b3055c5fc8ade739061717ba2fc4505e798cf9438a305a126caf3b87705febe7f1b8f5eac0a2b425d0532bd14e65d10df2057acc0e064be04865e41646e6f2acfb6eaddebe22a68deb40c4876dbd4a04e5159bc4efa454eac6eaaf1039c6348c98cd46bfc5979d4d68d1d8952c710bef30420c69699e5f1fe18030cc75096906f3a53428a0638734e7b79d0542ad0442c39169b71803c3fbda926d311f9bc508403193c7f0d62fab76d81b0f22259a281699e69784b5e31b5435e248510dc74f11bbaf3721e5689fbc368e5a2adf605ea738701bc58d391d4c3ef06ab0b78540024a422ea519cf2a434dceca45e4a45da7ea0966b119a77f1972a4018535a57515de26b0e89ce3510d595552d2866641aefae55e8be391290ca248021d9ab55a2eb1489f0c247cb22cbcb6efb9c1c91043eae72d25eaac1feb39e886f9430352a7e9574f984403bf887d4a653421b590790889d223b3de41544a0d9f0e3322ce1a5d87fd28d307ba77a2c7859583554829e4173f180ff4d1bc992974a5e23301fb439b3af8b3238ed0c0ce6f84cc483c713364172928338e56ef1a38b12aa68b0d55f92bb17d03d2eed117f8a7fd495ea981b5531b01c8aeb7d103537e2069816f4283d8ea07b27b0c70e1972462a99c5aa5bac681d6b6327ea32112f9106e15cf3ddc31510f463bf6dde152d99625e84c9eeae6cc35fcb4f3f03348dc874d42ec2c73b3dc1a320eeeab75f4eda07891e0d6642d8caebaa6aef95e00f9c5f6551d94bec4c24c853120d61e3a3543247eac9426d93e4057da371d30633bae397eb55f6bf009224961cbb99d4fa4424223b93497c40977406046cfe3d87551df923ff487a8a4876b7b4a11f549103d8b3ded429aba0d6af152c6d68bb10f4a6c44b2f4cc4ccf0fcd213c3d52380a88c7e58a89178880b90d3d49fdba07a706385b133946370f11b51062bd65268440a9704f91bb20fd6942b707ca50488b3921906ba675544ecd4bba0a7ce113b45856ffab7f8e9d0d3fea11d77d2ebd3883e3a918fbcc828efd8112aab994ebb0525ab7fceba3ca8e6979f10b6ea0f9ac7c5017099bae9e2d59238cf91ceaf896c541b198716cc7114617851f587b4fcc90d1d9d184d9cd7200c1e1080d0c3acdb8acbcd38115e578e01fd76a03a2ebededfa1ad65b1daad3dab2e8542d9e1eac5341b49266c6c26f172e7ac032b0479160336708b4c1255164284e0b160d8a1321806f158bb30a241579a7f1475b0551b529a10d5df354fe177fd1c2832976940f4f5b5b62e7dd006171b267f425d0e41a9351837f8f73ef1f0c92e60ee00880666d74b78835e62fee1b847ba7001381c4d41cdf564291f99cc541511f76e0c1b1efcd0e0a5b3e02627eaf46d037311954d4c203231ec112e1fa3e7516b076d82acc83f96b94c3f31bec5b8afd717420e2cb7187a0eccefbcd28495d0ea5de7a90604059b03a0ef4f5af346d3e6bacd7d1eff7d26daed061aad3887523896d6fde648246bbf427119d5712981323f01f85f329eb1fc5756d6421000040b42002dc42dc3eee64b8bb53fdcdb5b0c9ce531cbce1e729b316f636ed4188a1c7b5956249e0bdd251d3fcea01484bfbfbb52ee87c9e82611b45d3496567877498b1c1e8515839f2643901b264718fff2abf1d97a0d2226fc24490dc5331ddac3bbc1fe0262940c7e2c7f95532bf522fc3d3f8db2c7d5134584ae9cc2ab1e50396666f91362da0f99137275193398161f4fe24e2cc9423ff0503e19e6ff54bdbf1700d78651243dd1530e68951d6893b6c1ffbd98ca1e171cf3e726a773b8d9a3dea8506f76d10205201fdf7985ee99152623d99f3822279521a771c0f07b3539f2fc6b39298798b13099d561bf51de4b4b02cbfe0d20eed71e93af786b5fb6b0dc17d59dde65101c35d9d64a384b9801b19dc6aca3e5aaaf2aba446d37b46ea0175cd70685c4664a93911fedc04ef7e71e701704c7ed17c05a6d6b231a9c384841ebafd4bca09214c54c1c1ecab8e6d823e8205854bca60970829125a2a351d1474b21f5abe1e62ee0be8fdf90acd38859628a97560d97aae105f55bd5d6643c5898feeccc601995cd0eb484729d4dcc4d4f2ac4fd598bd0fff266d4d8c7bdfdd7520065aef5e45f64e5c5a6fa156a739e74bb3e9dcb41ab62afad57e81fb7a5d6ffb04f04b6977cb666f376fc38806af63eaffa818c1b5299de904971d361e8d08d73fa6b194871ffcd356a7722039c2a9c57008f96b5d3d6af78b5708b746c4360e4b36471885cc51a2f40688aaad748934162032822787305646b0ab864175c44eb3877e0e984d08b0d7524f8c8593dbfdc8d3c4af2c3bcaaf3853db7d7f4f552ab64a8b5ed5b3540ece3b8e3aadd24e04ae4882b803ecfbacad903d1a40b96c72ff784cbbe55508596632d215cb722d26766fd8222224b47eef070166663f0690fc163903b0ee2dafbc222aa718f85ce04de9078d6ba4f96555a91046e7e174457929156d186af0d43f82b82d07bbd5f12813cde9e35d2ac03fd3451a3fdd12cd998e687bd23b2ca717917b5f39551186502d4c9707c703d8137e83f8d38b0b6d932b0b7b2609a0fb2ee8abd382853426be570f1c3911febaa26a26952b11c882c5ba9bcdadc32d9491da57f550b51c31f2166564121ebafb98fbfc30bc9fa0b811b276c8cf5d9395607f54d483def6235b48e757dac3971341a44f1fdc0e7fdbac332e48c56de7463a2a46aa22529bb5236a69182e461ae40677daee7166bfc3f46c798d60229846b43f7563c58216256c00de10ab76c4ae0fd3ee8361adafaa60bb1b14198adcb60f2094a6ed8032fb95cdd0d1774dbf9145bd029100e09c87116967f214f2c0f9fe7cae907ef0afea065fbac5cfd860fed0f581d467b944ad3492224ff313acfdf1acaeee84f480add549f87b89fe419d9beade057d38192d2a0da6f40a0e548d700897ea1f157d9bef68592d5875118abd681ad11a18fe066e9b2c80974f1254faceaf7aca2955ae0193601bf75a58d10e03443496b0b9b2215d712997073787e16582039d9a34fc3487010802f79866dc85ea2b70f73ed2172dac56332eb88490e291c8772c295340ca07afed1ca412c1234b9ff004ef3eb99d37e7e0afe1a747beb965cfbaa231b1f12dec41048ef4b14835946936718c06981a4231751f4321df8d157da584ad58f2e5fd959def91bb0b2e065e949addfea3066b4c7d968fba89aab7b745a409e6d3857831bdccf6841482183d9f3a0d6ab12aba4c7fbd12dd14cfd0a08da00873bb020afca128acf29bff5bed4a456e67e9df0511dd24a4df083b9b34e3da9f50429d212e2e53e31377f6686a94597175b2670e9fe80f741fbac60145918dfa076b0cbf427ecc0772a3766362c240fcc1a2c4a77db4d66efb477d04b37d8b41deb5d7309692a562904bd5872a0594173bf97e47bc8716c1be3036ac8f3575e6f339b4dd62eca7f2219b9065edc5b30f9707093adea3c3507f280c9188a0c60aa203b790d4f8c569a75a8f5110569b3c21108763204b7a865daf8b8c8c1aca08ef7d1b7b4166bdc223572c4667d02bd800208ffee8d1406c52c188e0cdae5679e08bea311ca836f23e434dfda2f9132128e371c2e435a0ccb2249ce06ac1f914646566034b62202d066c2437a2865b0d3fcc5f44264f7b94a63f043cace7cbdae559f06743e404ceab12e3c9531cd75f55b24b32e923078ab05a769ecfba785ea07e7a000b5cd367560e11b64c4fd34fcef3ee810bf6182d0a066e99e07dbbcda28f80bcf33bd143c475ea922948bbc686386eccf1eac83277dc031e47c6c07ad00694064c974423db542d3042d36559652c9216cfa20cf88afaf84be46ef2f10b091927a9e740f12c52c4b79e17adfa15cd12f5839cac07848e29244a465a92754fa3d6670ced221e81ce42da7818cf214a3d1e69f1fddc265f1b2130ea54618b6e75d3df3092338adea57dd909d054a13487f3c451c60f1906fd580b8b4e490d3d0c14b120045d767bb0407c7abad0dc70a86fc2f96b43c2b654eb34e05fcb477c588e289afac54216b8ed347d2eb681479a78ab5074a4b5c88f4b3927830fadaac71c675cb35315c2192d51eec0efa2d39eb77795112ea8ee55ebca41d92de0ec03b3c7cde82b216056030169c121e500695e5437d42d09aaa8afd6a15bf700ef439761b9aa31d4fe6104ecaab064af58eaa5ccce1721d9fa65d2e012ea5237ca4162b2a15573767bc9590471d045a001652b19c1c903f55649b3a9da4b12b8a3d30270e961b3f8fa9e18f8af1fbce9153bc16288af33c005f95bb789b50f3ed0a20038f0d21dacfb36cb4f8e57ad9aab35dace3dc371ec1056a179c061670ea8d262e3e3891be33d3a1d49bf67788ae5e8219f896c7f745d0e25befb7d5b174ab032104cb0bb44325968fc215e46c972c6dbcd1c80f1297332a56daa7c2568554c2d6ef4dfc84676bd74cd5b5b630c1a54423e720636785c4040956ece0c962067ce015676d7d3dde725ae689d90a07f5deff714954843c1e5fd60513fcf3e3549097b14ff473930173367b45e8258991c2128ad7aad22c2284a6e716a34cbb25a24a05dfd3800e6a1ac52c65bcaa0e034414d5242e9fe96fcf28022959f6a4b9ae3eddb342206323872cd36b3cc2f9bb020a9b80c364f83906d6ef483877188e6c2e139c165ef1631ac1c3df0b663fd45dfd3efd0b1b730ac64998cd54803b2c1aae376ea489ccee582fb369bca319cb6b46d903cc6e3bc71036a1f4fc7a1903179cfcd8a8dde426afb3ca421612b6a82e6f1767b9b9c6e27befb487454c09bf5393a824f7be76f5dd07f0ec294dd8222cf99250e3946136bf619634f9c5158b02a9b23d9c4eb0f02d5b2dd15bd7c927e653464ee956f5ce9d8a9f13790f932770569e34327767f4fac6903ffb648fdddf8c7ac5a41c098672bdba59a9e0aa9364bc5ca805a814535353be0d80b6bfd2f910cfe54b2f4e24b64d1fda43a68e236aff6a7e8f61bf605c079e6976c92307c884928f332ec7a60c48f137aa9db040c6b39ebb74c5a95a94235588cbb6a8b13e75027ca4c67cb4f494ce2b3ab701d1efd255ae5db13e324ed82e1b3b2f76f3b4c4d6056c3c42b11b627f359f7fe4e7ee6533807f09df712484ff1347629ec7c16aea8bd50f89c1fb2dc6d66c1fd42b7cfe7849999d7036eeef0fe48dfcabd39ec05cab3d43b7451ece3c6f77418ec3c286547accfc2f3b7aa4cd5a21589bd454a79d69ec40ecee66dfe60dba3653bbc21098b991f4ff7126b4b3669ede0a6c38d8099151e4672a5cc61c378e74611f9bc5187018503dcc19e9a4715e9051c29e486a0c8e66de8f8cac8ce8dab3387ad2ad39550178c2dff2fa6b61d45b865688f17b5de3c6026260e31e8383fa1ef447fae592be05a7651f9cc3a10f8a4be1bc7e35ec14da69e984ce5e99a5f20fc459cf8350ec23c33a97497669410d06b05de0962f4a02d02c47e79b88c0bbb242bca9cd271003848bdeef62d4b6d14efb20313e66aae1581ce73b481df2fbcfb88c5cfeb1806d10f1c0bcd09f6d0923dcfce8f31e1cbd881449029488f411b0a147109916875f977e525be7e4f791c42b8e77ed2f948e7f8b6b1d6f952446f353de481c04bc345bd8651265d95b96c02437c0c7d1c2e5d5e4844e48086443a9b93ddec822256b61f4bc89a7ea85654056b305c2063843d40c76f52400ffd0cf86da65f393c51422794e2d78ad30c083eea6302879e90b8446e8b2a34a738b5771ea6399a6d88758fdbc85db338cc814527ec8dc7627d2e7aaadd8787b2f552b80a724b5c86e639752b09d0a2236fa703d954ab3cfbf9cb23f94470e9c101f8fddcd9003d626846c434ece36c76c8048fc2d4e21e4f3f0d767d6bbd93532f37c0b59986ad166ea3e516f9782db344a83945bf0131ee77da101c372c4b954804b89f42814733604d0854f112ae2fe5271cc8436dfc69ced7d8526614e06395d585d8c9256819fe9305821cdf226055725abe8b4e5c83fdc84f6cd1c4ec1e799e2a6d2fe53861fd7791ca3d10f18c23c2e7c272ab382c91e442faca4650bb21f1da9360e8adf7dae8782fbc912e21b1b005112a3af8a2881c4146e79efc2e3443e1443c36c542b781cc395896a5d1871fa40521ddef7c34eca1f4e21b552611e5a141786e57f3e1b0d76c6989be1785899348bbb2e386835856d7d7db93be3fe67cb720a0f7dfb3dcb1d712be6ee603c55ba350d5d53db58ff65d58c34073610af72a2df6b90b5c056ca0c0de737c6314e5831020cc6a0dccaf1d929ca4707e70fae84ff4f473b1c47cf4200a303fe935bc640c3643032f0fb0ef78b0d1e36db765728478c3edd3c0086fe094f84596b12117e1b932b55623bc1ac6780b5003fa59fcdeb2c0a69e6c87568fe6ec59eb8f295253442d514f1c76021d14d9f322b92be1e3c1e22b8fdada139adc224bd7cd758d46338e9d5ad7ea67cf41f75b36f3b2ca3aaa55432c11eb872f2ee66ef78356bd02d11b73228d752f10182bd8a298e7c65be899d2fc80c2f44f2d303fd2e666d48dc8078d76efa6d6b0fe9066bb10c3b761d25cb5b93e6c431613a38bd4c3c5611f3deabdff6238762cb6b8fb05e99021f4c607e7f0b64fb12edab604f03e35ae90a28b92625066c5af74c0a17a806979a0d28ac0211fed771e1f5e0352e1430af6b4663436f1b6c6a5954259fbf674bd941f8246ca2ffc2647418ff6da4fd3e34fa2c621fc97ba8a5150530c080b5b7115a931c1c3278696fd8c22cfdb75fac117f77b5154dbe98a84b7b24d21fd494bee4ef5e8b9b622f4e3f745e53840104e1a511be2c4b4c2584c1dca4186706880260b008b91e762904df400ee921a3e63945e47afef2cc117a652f378784ba71fd2538ef884b35bc4e886a3d0cf84ae43da943b7cf634edaa0af5036bb8667f632d3f4593176ac0bb0191f9d9c783b2bb85f560ce99e160325fb54cec91a3e94a0a94fb97f259a0834fd16c80c90bf6cee241a75486393ecfc7f8d3a7b559c145718027b943603b59e039f26a66645c5a0cff1ca5923cf3b79b2e4a2e0ddfbda83e9d8eff7201d78f644151be24d5904c5ab0398921eb5704e357644d53b1b806383d44560bedc0f849cd18e4016fd05511a050bc918289792df931e0cbd9e342890bc9cd4c99469d0db46141c76991d27861b9f0078fcc458cfc59cb4d528423b6e3901d5fe5307cc64fd3ec14b18cf889d3176cf30809b11fb049a1314ea82dab5c5b59200ddc6809d28ee84f35b307a5b205f95d4f5e240a12e0721e1f09a70c141d30078cec0aa2796d4c3a2bb29ab28d22659ac78c2d4e663bb7bc7376a63b757f44ca0830356a31b456a919a81c6f64e960d1959c9ded9c63a753c8ed8f9d020acf86a2619d82b8f519d0bf9f28f88a81d9db2510fcf849d6f7e9035deda2e6b7e27bce533d1d053de4fb2c2d1bee3f6ee2f74cbeb94405c393e1361fcac23ea7fc67cddc9a1e8f914c82057df43966620bb703e9c9a08359cbb93f3d76ed7e50367cc854e0a8e3ef329eca50080498b10b8d29dae4ab6bf759f9171b54c5d0ff0a547ad724886f93368e43d419cbd3efa1b4bb571e9efd2228f0a7c19bf8d34bef0e811cfc9cdf7b57709a8898319bb9324603ebc7f63217dc5052eeb5c305c10f3c8aeb9ebebb90e26a9f43ef2cfe35363e03c63697a269e44edd73e62f963f7123a20fb225c8de28ef0e2d230e217c0cabbe1b247fbe09ac0f76df6e9bb369f1e1f7d6839db4e0dc51946b9feec53ec783304b8ed4cbe52dca3d5d107e73de4669d92c56b5b82817897afc107e9ca7d6c0cb3440cfe1683961f1fca3e3a05d23bf2972e4fc1d1f82b685564e568f02d5abd388a686b2bae1d0a611ef7b0c819a28e402686a68ebb7881ce3b7f01255dfdc52bfc3281931ab989a3bdad9c6734fb81737ceddc78323cc1797a7b8a9cd4a56657e6554c5528ffd5b6ae3a349738c69a158157023bc5b881c2476685240ceea485c7ccb8c6fcc0f76bb012fa0b9a0cc7c5b585ce8532220a5f0d04f875b3a038ef788b0493a7819f010f5b35b6ffdce7f67062aa772a94c41f1522008604084b4f89e0f26b1625335e8b1cf8e137c7d3a8c7835afa9be96027d9598f496f306726596785f7f9cf6d6c811281f9e7d74182088f7cc676528889c0d85c8ab49db6eab6aa96508f53edc6da8bca0394c086f32323a2c09f28c6dd0b5f147f991d787e293546db19b0a2cbb80787f040c1a9a20d439beb0cefcc3ad1a442c48272d06010c4c95509956550f109a656441114c718d8f33f55de0a2b297dd0cf1fd7d5b798d712fe3088c10225c816aa66cd1019ce0f55a92f333d9c1ea6e239e9477e5e799de1454e99d62c1c9b1a31eea6b497440e0073016a36c2986165f79d5b6d2586d48c91d9a7211c023ec4449bcb5fc1e044ac1cba39adad620f281928cda7b2edde6367ebfbe8b50d9864698ecb51932ea7b8eea831936649e9270ab8eae4ca733d5dbfbca9c2d13013d14d777453aa3c3550bc903c6eac2fd141d207b0d1d63e051becbb4f6ad7d53d6940a0345c7f8cb035fd0fb51c751f55ffa46722e1181fa1c3a130ef3107e98349ef1aa01db585ed36c65806a01b3d02ba02af6e396bb86e72dc14d3e5228c36e88ea5b5c5c04c17888b12e15e86c31e8dd29595cf2deb64a86b342835a76406875ce5c899d248ca7d4f3d0f065388885dfb3a7c42d138670b18edf89af9c2835d13cb915a7495670a3d02208d4ee0e85f17085fc43dad9b695fda682e3b4423ac47fb9b904517e19b3e48e8ef8185cb236080cb93b75d9c18e357e4d92c87a55ad8d578231d195081b9473f655c04763c167f369da7b36043cd32df64ee1f63e289bf7a387e1001869ad7b4af70f0de638a8aa035bfd645c17f7cfaa340caddaf83125476b7ca1f142e66b17491846a7ce7fd1acaa90a08d057303e505efd68fe8acdf2a3b3eccd34f6ddf7387f120b58d4cd86ff1d8ae19031d901dba93722daa583a067aaa0abfdeabfd463c41881dd9a7487f05af1213e05a4cf5b48f04c4cf5f1f2a8c2298b950f628984a68dc08b7d5782b6ea59797d8f34069fc10b038661c0d247d7bc721b2300f939a07f9bbb68f9ffe0834505d594eea62c264a6789ecc03e278ad79231865daae04327c0d8ee73fad66955b0d406f2c6e0644d6e66825913d0a37996338a6daa6cbaab15de9ae57458eaa6764a00fe438e0b35b4268cad32f84d718385ca41ccb805e8661d524506871c2e7d5253f0ab6d3ee8b889b68c0a5c6b5424f95f581b122745afd525aa95bab2539c7cb3985bb24753e4550b3a4182201520e9fa055b2cf7f4ecfa5718415db87c154694dc2af1e5b8e7e044000cc2401be9d05a81b38eb2e9c297b14c556d6c5e2b9951fa64aee6201adea9245bc384250dd49daddefc6c4c3f093f29f5b7be34f000345bfe7e45b57460f494577b6446140d071992ed48ba5c38edbc17417f6114275e9173890aea67cbd947850fc5a1b17242998d86f404499037c051d277f627dc2729249d13126bba96a7f574af50cbdca4dfd377e16c6f932e0ac9dce264b8a6eb3ac1e1d9648ce463a1238aa29b4eba2e5b89b19f8d52d756e510bca6e6d48702764cc833b820902cc624512b12374dd2e4f646ba1136bf430474c08a3d41f862e21faacfdec67cd7a2a6c643fef77e74b914229eab7b96c9701eff1931c7bdb0556ce6eff5eed92430f026b5a87e0de17da1344e701c70e33a30c3e2150a213fcaebde5f9836777968e7e88daa524ee384a63b043c4108aca3832f63252bf0c42616924d1d1a64cfb11382beeb9ec57ac03ec32afe45e9d41b5c31a7b6ef2cf159b00d308358778310c802920127b29b674ac638d38c9e4257d6abdb671c68c2189a51b876538ca684ee700189dd6f13542e96bdf5ac8f6ef5edd13ed95b34c6eac1dcc644ebb409e0f3b2dfb954e004e7fc938f435cd74b1e313d70dbad79c0572073ed1e136eca42f4ad8affcacca0c02e0bbd38e8cdab48bddc39f51b50866616077a30c5e21b6781fe3a05348970742663a1c4a92aa2e991726806c1b467cf9acb927adc34e3c6083e839603a4fc44eefa564f02b614103a30105c2133d0878b9e8028c3500cb3c774f70cb6be6084b496dd62813350ad90a029c97e328e2535695850593b0584503b2e7abf78d3e434257a1f30e396048ae0dbb23ed9cc3cad3da75c072fd58d52a16ada3efc286b173433f1bfca1f8fd08cd96e06c61b2ab8364c02b22ab7e92ce74bbc0558d2f1c3fbe8f9757fe02427707c014557321f77d6d5012b4202ee848e3f0e4e24d74b4d6f4401edc24d770a9c8c0870d263e9fb2cd1a7ad4b1b69fe5b7c39cb4e5cf0256920c2da92a092b6caca2edf88b38ea1c701de71874860615fdf6f4e43041314aac0fcc0b3968ee5d3026871de82ec5ea2f6959a01c79136ae8ab8930b5d2301332055c0feeef435c97e11f9a2289ab13e722c38cd590f9892b7b4bf0e67566429c8a91100ae54674b111586bbb21964f1c66bb3cd375dd2fe61531916e0b4ec825b638b87a07fd60c82ca86fafaf8705c7c22f5a6f38a15850356d8b1d92537144b5fbc4ad165ef01338d8d70e90d11962b5d39d098374ee4cee38f4f624e3a0a28f9f3b620f655a6369e8654212ca415e3c7c70605ce00bf2d486dcb614ae81b311b30a169b8a2f069c135627d8fca96b7d1411b9174d4f69f0e5a882c453093b47f3d069d1edfb641bf18893fed92b1f0a0e2c29d18c2d8346b4248caf7b24f93605858320ba0597abaaa7bd6e5a2ddc6cef1f20e2840ac74654dcf3848f3948fa0f9947db2ff29fba42a5ad0465474ea09e97f2b87e302471f9254c241401fd04d83a0d5558d1b2d404746ef68a78753306b23178fbc567a6befa26a722fead5b91c84014d3971c4ebae4cdf7bd06292d353dd56ef6a667395adba860de7dd8ff59f85eb00ccd39f0f1bcd76f2a7ea09893323969dc694a0cb9a282c4c0b6cd4afd4748d7f3f5bef6722c8f3c4420c69ae75710d142483f55fbe88d47190b6b1e931563e6c9ce9a20d6199d21583c00737392dec147b753476842bc9d8639f7b51463ccb85a42edd4ef9bd1be135afcca7b24a0f4f3bba84fe200a7e6e1dc39125dc3a97de32baacf677c3c6b77a6aff3c23a3abe12b230829a31e0b50ef133de0d045b8bbfb5805b9611996c4c707f305ea9aea35d31cee4bc5bceefefc9747933fecdf2c654d12f7ff49710ce51b73f1a107bb47e2b6bf3769cfd014b30b07d66130dade271f53435ce3aedf2e3aeeefe8526d82586e679ad5689213d901c84d4d833863e7fce7200247d2197d1af8386604d9ff7c72d22c67ce584bc06dc8c9981d8f326dfdb3cbba839ae7e04c06b018dc499ccdc605e2b2ac72499fbd25abb0fe41443edc057483b3bbbdc653122808e32ba0e0bc0583016c6316185dcdd2a58b79ae98cb8b56752b10ceaac7aeea5d5d4ddde632795d6712f6256b04b8f33fa703766ed79c280b7d75e55a888ad36f0a775ab3af81a31804b75a2c1f92a80de42032153890f910c757068ac3aaf944f7d9e6db434ca14c936c8cbb29f21947d39d653212f0f4512f78f14e1b313668280d6f656353b8a2b9a232b1e60d4a5c8fa1f9c84131c4adcc069f82d5608cf9ebf814899461e98aee9a6843570e563b2af73cf5f31ff1ed151e538b692d05d13c5ef06935f8ee801f69b09f5525c1404eee5a4f44f7ce4e32efdc9dc7e083ea83ffc33bc18acd3462cd064cb424afb30214c17e9f91e0601370d488bb8fdfda289e49da03201fb44e9f794326eb5b25faf8bd744809b6bce1110cf888fea430e43ad91d927b0faae5bdf8e4502bd9301a3ce4213ded069467f7e7ee3f1ed7f826da175ab3370323d9a3261f72f85b1d9d6f24e4685283b73ebd78151f1f1235d5ae468ae3c8f942491be69d15146dec60695eb7e43e3b057807ca594e5e0f6c4bde5df129f37fd4dfcec2fe3c687f6940ce490bf045c0bf1342128a6268ad54aab2ec00f117a8c4224302c165a484c98d8df3dbdddd294d15bd46df741b3432d71b079b92a39fadb44eb5d96283969b48b774fbf1c67c21f84940b273261f72d13ff8b278f441c41ccc1049e1a2c327d387c6aa7e8998d0bdc774cd63402d64f3575b22d7b344feef2721ce84867b69b723587a8a394d96e40a20f872e5410690c80fc6b37146efcda8e14607ce21a6a85781693da85788873b35659720806cf5e5be485584d2668c542ac0a3b97b452bfa64a9b2977ed824a263aa85ae3f4185d02da198a328003672de31fab5c101f519e3e9a38a776833cc4b73ab731073913f12a0432970e807dd0deedfb2e2f3f3eb4ad418c113d316180f7e053a9d5c8bb8d041af7a2c195cdaf378a67de23746447455a0e1a51d428cb9a22757c9f3f4b2deff1d50f8d2a5d4ed4d669c1d97c5405eeabfa5c9954c7cd161d47f935ec2924897d2bc1f25597abbced34583563f67cf822761b3e1198add97fac8675a22be91dd7077b2aaa0b32e900c40f326701f568944bb1fc40e4839d39eeb2a59bbfcee18bbc012b2afb3d499b171a58e82635806480cd8a18401c858fbced52be28348b9b92ce29fd342e6067f7c7dd58c329d3c7c3b5d2e66de0dc7deb5c94949b1698da7c1d9b0ded3866c966e4c2ee24051c73f8bb76bdb9667cf597a92bf1f333555b5e4b65d420941c4f2a531ca1053cad5174019d752edb28c8e31c14d7bd37236b40a9a3fd5365a9bcad52f70a69d70ca484a2ed15c21883d4301c0c0ba6d67040353be9f1765fa60095f608802acca99f916ac6df28e6cf47d63ce3de3f9d5262239298c11d244e13705fb9acf590a0fe0d76b787ccd369c00f2cf4886ba46a5f868b5d7ed2ba550978a6312f2f9c92e274157db2083e9f7baf6a485e93fb0375b8e819812a80d87687668b1a5ae670575d2bcc1d07ca4846cdb77c33b4ab6ba29552e8a6b649069dcff04a859ec43c6aa118383f81cc21966ab5549c01e19173d190c5923076f035cb91e45171db5970809056fb8e3f8ec0a5c5dca440e1faae88fe0ce567f876eac85a9282d80fdade88ad7c52b7fb6d449c3a942ea71cb5170c85244d62f117558d450dedd9557bbf8bde6e7bb014f0f9852efd46f79d4000cdbc272118c0261bfeaeafcc3f0c5501c898723612429a735130e2acfce6cbb097fbacbb19ae2a22a63408434874b8a7223d5f09277832ff1112f7886a44574736c3d32984b99c682b6182a5ef9059ab862c56034852c3d981ccc1f7d287d879c60d33331ee12e509fbf24730199054712888b93ad50d9b796b6cd774b1ea98f442022e55165cd1971f8d29a29339275e262fa56db635c73eafbfe14706b66045c8263b704bfe9a30e229bd3b4130f08580b8459e1709a29dda021e133b8300328c6b10a4b320971195bf1394171c33418d2cd7c124a71a5ddcd8b535da6af68ef20b7b894e9d08b0dee4c12578ebdee5f859c947ee38e124ac9578ad82fda3ac92966845efc9409029bf73574ed921a27fbc35306127d0eccb7e46d059b5086b08def08d529a438697fc84db6d532785efae99250b9973588e88ab3bf5599b8e705d91ee033e089a12acb3727c47e1e951fa761ae5fe275ef8e6aecf808520b9a967e7239442a95b3eac2071d2144cf9dbbd83073bead9136cbe62b7831b74e14f4c3ad46debc2720be52418068b006d0efa743f5517186c1dc4b80da271b46443536c4ce723751cda7739c4fc8c56b01472654ca31c72ee203a276a0a3ebb4981ad1c729c6e6837040a3eb1df0be6bde5b014d77e6f650989c07269ae2b0072cf8dde8b7637644eb28c0e98f61e193a69e0921e17eb516bde5fd13c00c6fd50ccd999e53e3a66f9e72dd06e79499412d3636cbf3b7b45be4185af829aefbf03e787d86a3a072a5fbb98dccf39e6e7ea22748264f55d17cb8768f4e5f19b3d8185681924fe922ab7487a9dd90d4d154fb75276be9a3edd59b85de037309b1934466e9eece2212dfc444657a0de50a4c854cd255a29d4ebb9b69823132f692ccd776915f0c762a0ee397a9ee53947b4a196fc78f492e6b6f93b9a39f38d63aebb79d313ce87146279577606d1bf811cb42b484fd04469b9fb4f673ac480d02a825b55285dcb226c6b74f34efa0b425c725249d7fc2688ac58265ecd9300ef174425aa9acbf8a661b4c82a198dfe6772beb0c0ac8848f4f312338dc92906286880f042b0545f5fcd49b3882d5c7f942fd0d2ce9b05feefc3c1919f7d22909cb51f746330d20d55ee4f0889f98199124d1f3e61f5e3e9d29be7ad7b28a8febb669926f26406c7a8eb9debe4ae11cb5f48d34e2d8cf6d8da6019fe1540706f398dc50c374091a90f0f505a0fc3981342cb424a0c305bec35163b163193bffe2aeeb09d0f6d46a711219a298770d381943ebe4522394117895bf7f5ae0a8d949edeabacdbf5ac5f3b729c7c18a5e104d6302985b00760188473ba6f18ab3da1c6b08cfe249b47b735e26a2de568b4f5e43835a6a1e0a14d12b6c048df4a168756138f59279ea7ed4d4a5fb02232f75e1674b3edf37a229fae251a98b625f391a03dfed53dc5de9d2b0d09f9f601e8f49e7a28ee470c53f1a0b58391899425d954ba03978d45ee1cf6d2e3e2133f09391ebb7a4460c09d42c823fc41097a987a6662b57e21bb2d30c1f104c7839b5e5b6f84cfe5daab454500ae09603ee3d3e39b9b162db924bc6313dc74c804e285186f1e1b9d41b3c86d409d4afd68e75b0250ac73768ca3d8ae63e3dc0ca35848b4bc2920a9b615d3bc74244b2e5f986d01f9ba1776329f0085d66e8586000947a2ddbc0307de981d86c10a0af355e6c04418fa41d762e3d8fb6f64a03207635464843f864d83b11e0f12227879b8a7fa55f9af8ed8fe36cd4ace13cb43daad94f88b7ac661f88d27706ee172cbc72846d1c8ffb9c1da433fa295b6d5b63ade0bdfa29e601749086c694d2d65d3050e71ea244f2cb76d690b89ce4b6e1f60ceafb27a4525f92c09ac19f6f3fdf70a75e878adcd41da79f6f176b87fb68c5fe1149ab8814a253523b95f55ee59f4df9f8cb04bfbd9b78528bb1855ea529326fbd1c3110916e0dc63d0c772d8d73bca72e5ecbeb40be1b97acd9ccd8e690b468123d1baf89715b10b051b2371b57e762b9f96c0576bd3a108f25f89bf08c8d2c89be9e9fe46a1f079aeae9f2de6dec90685cf6031057c543e1217757f361850a0b7665bd6b4423245459d608a61424d799d17c691aaa1c66560575bae2444de847807a13cf6a55420764b420486311a6c0327da2494adcd8d35b625792bfad43cea5c423f5a27a3efab91b0a856d577759991e8881e828d9d76fdc03e5073461e2684f7eb6a2a168b0f406d2e42679e3e8fa0696bc6c472f369a57a3c51bc55ee730abc602c382384268a8e49e651e00b939351c1c6fd698d6af928ad2bbe8d37df12c9ce50a5b751d29b00356c91580b56411814c6bb3cdf4e45ddd526ef7d78ab8cf1ff9f3306fd053bd02b7f5feddc46e2091b653e419a634156a732177328405c3b1ade036c49b2b298d91f4cf0f57d677ac79c3fa50c45a0163732d1ddbbf9d18942b5b91b4606d6f231a514f31476df7209eb20e0a19360c67a7307cec5b7a38a30f1604a15d3bd7e8c590d0b854d362be14188bc062661869dd0ab1230ec7c52aa7e2ddc8c66bcc47cc3b769a19d2d0a5b3aaf733183edc33309752d3b5c6258008f9b66f5ad5e830c7220fefd492ba5d563482f861db5e99847ffd6a53e8e9621df284db968d1e71eff0d41c2492c0a75ffc17c5e73cce54ab75b44640ebd79de34e8a54c256f16b7788e1135bf0b914fdc485920edd5bb7c0653bf1a9a6056509d35469f6140eef8b1fae7b606522ddf4da1f58820429c0bbb03dce14bffe10d28a7878eb2938e7a545432f1b6e5b6008bd4049536d4a6b53ea396fb759e8573f97eb871ec72df03a2a2f6fa4cce445f4ba2f73cac758d91969d7f8c4e20690f97c0b8d66366f14085bbb52d13c4cd6f36e44988e1ef0979275816a665e39e511beb79599b43340be45e59aa216fe3400d7f09c2bc59f1ded309b8e01253ae09b818c17ae74326cbd86c8d9e9e7a8b4eb38c19d0b41bfed0a8abdc5c63f97a50f1491191bed8544d749d836be27ebf4439171ab645bd7572d43b94dc66086c83be9cbf2a045966268683b95425ddf99b334fbf1ae038ce9925a11a909fdf8d42ffaf95d39f59bfc82b87959c1fa3d4535e119488155488abf258f5874ea7ab6f282e471815d72cca6729184f9acdcc98672952934a026d9b9225b0d768ef69e3ee417a7a6e05f266862521e5ce4d5953cafede1b58a6967cc24d19593690dd3cac501c732d7cb466c676dd0237b34866380408102843b4be23446c47894ad96a2cc197ff42c43eb946911150489102a5cd0bb00bb778968361d60b37f65b1c2d5da042b695b171fe5f4d9f3792ba1a5d2b1023a796942f2d9684adfebf4625af5df3ea9270492fbd8918a6a2b1d2c9fa96b177599c7760e15d972b7efefcbd0bd18b35d1ec79985bc716d74910a2480c9623af1c767b7b8cfe1a0d40d7407bf32b61fcfaa1aa20145cc03e16b4f1be5a8453023231c20d2610e5eb66b017f4340050ab1f19e3930c09b5f1501f6bf5facfe0e26070e8a6da42d48c9c5f1440de70fe6ce63ad0fac28ac4941fc21ba5b15219cba024a375dc4a191954db86831ec2625fe6e19e8a669846bbea0125fe531cde7e0adcb4068bd1a96dbbab99eb6700cfe20b483d44171560d958567f4bbad8bbc28d5f030b2b32c86e72aea45a3a702b483c4c276178354ec26a99d573b85037190b238e8c572d096c90b52e509317708b0a0e1561af9a551c5dc51c26430f7c941a685874dd7d2a7e00e5efc9ebba0048fc4529993e220b1cb16be766635d597c486ce08de03e98bbb5d53c0defd0ae5a36090f34427cacb06436020a087c063f45e8d6609802b9cd2b2f88c6e7c6d7e6a2532672118be6a1e5f195071302bfdda9a9af6b56e616128cf1c1f3b9444c4e347829ebb2c47b1c8157e30efb138227b123bb731a8cbfc8aa292abd804debb9cd3294922f95418b0b5fad9cba15b5741a9b92fab8f78e2e30934d888657f2a032324bd0cfd02ea71c398519b177a5a216df5c0be3526da9f090ce1807de9096fd1d938d0b09eddf435e68224f46b15451d1ef76512a0b4e3b8c382f3f955ab0f8b62d9344f9a3690a4a2e10f15d5452e5ac64ce08d29786201327b33631c6ba36c7092f288d3c85cc2a864ca1b9ed660896aa3e5aa73e4bc36faad714d24afc69c3fbddb65c16746d7ab9fda806d77384c37b1c1a4480e9d4c8a85543dc59e90cb0f7b3f80beecf1fadb94d3388d8314e381b17700aa15eb267906e3be2f678a9d91448d045c7afba6538671afaacefa2a70f71bd3e1d185423b9ff22edf499f5c132b9e21185f0d5b959ea7ee0cd6c1aba733048ebb5073e0778e0f7aa1d9764d4d691bcf39d8c63f07a445664ea602af4fdce0b603c76e54d7585f9b7a3f6c6c835d504db425a1fdfc53bb1f8e4c5059327f8c9841b14b67cbacc3db31ba891a151b05da9fffd67a4bcf502ecbb4f913f1b6db034ecf460979450fb89bef59b11fcf03fd3ddebd77e8d6f3d9452e7a15f584e994ec18488401c82e3ed8cffa2ac92346ccc91d8413446838b65f9dc337c9d813df2b02892dd9d35e1e55814a80b591c5f56c9778047e50dd234d7f6960e1bfcf74e47e859d9db90f0dd7395ee329cbaeabdb7305a1e647564864fbb7260e7321ed4b2c89e11cd3096141c77f94f048a6e66b48558960c65a4f06a31e8af1baf50a7298f1171696575b70270c0b26e854999b9a3a59909350e664a10ba2ec36c817fe7e1ca3e6ec41e51c69389c8731fbcd873d2a0f721dda06c6ed6ae6c505386ee4144564add08c98ad5dab373649db1db7994ecbdd1f1d7d20ff2c4eef717b449fe3669d609ae0451790f40ad7a36743d04fede3b85fc2a046c3a53d8c7701e3181f1a9bb91702505ca1192f9b1b98b8f5653d986c86b1e5b4e5fa3807155fc91b24726ac8a522407c8c369fcfeb3d9bea606d5791e5de857f9c47d44a54fb90c1dcb7cdd03ada57bfa52acd8a836eae9146ba761b312b798f5c6fc7ef299deb55ad88250dcf54290142ee253ce617ebaade3c5c28bb14e3b1ef4fa09d5dbd292ea172495e11243bec29b9b025ff989f770d371cd40a33d636af9ab056ca3425d5ee482a46a5d6a68f086e64b60dc3335b23e15ac854453f09e33702fd2c01c4aaace074b9b4cee357b261f8f3de189eebe0e32b0c1f1b4f7c206ab35ca22e12e34dbd72eee945524bfa048c76638ddb0ae0027c4a92a28e7cd5a4a3c27b946f5af349e9bb6946fc44399c2cb1485fa291e381923d793de66a6bed1d32fbb515f2db4a0f58f67ee6d46f862b58e9ac31a54dd7f66f611ff9eca08db8a9f6827450bf724c88142872c6a30bb075e3304b119e9e35ecf83ea1d84127bb1d99b0f3f764968bcf90489161fe8da8927e495e7f08854f2736d02bdcb6034cbb915960a6f3a1bdd150c58b56441bd10f474f3fa0fb05d164fe70106ae6120ce8b50806faad66b4e90d74ae7e67a009ee6f2fe546caa90821fd9c6b028b9e9a2fed31ccfbeacfe17a31a38237c9d58e702307e56295d26bf3b32549b6be21c713e59c39bfa0f72aa34173bc365164cfe1450814517c8a44c96424019dbb1210b79e4f8586acf4e61ee094b0503d8c7be08b2a4500db1cb78c4a997ad20a05c7c4c5d7fa8633a548d4abbbf9f47a6ab234ddc8a50dc7c37312167f9be1909dab068863207888b61b48be85052be595b3a61df5c568e6c05c4cd1dac622006f852a971f5e4004d90a476f42eaaf4e516c58f7c7a0ff28ac6b2b09010000a20511e016b2b8bb66b8bb53fdbd6b62e67fa5082f80f55c0b8df5b803f46d957b2a51b166cad35431b5275b11e588ad44bef246ea7f57f9413e58f4cb9799ab620707536c290981e4e82495f2fa4d887e1a5895aad0bb187a951f62ace07555efaf7e3214fd1e63e794c91b903e46ac8be718a68f399195518429357f68f21cae4f072c1e81d30b85c0a2040ab35093caa2be6ed5cc48385d06435491c3538c27726fe40a963b10d88d555c8e37c4f52c9a074fd208855a22eeddbb876372299778ff815a0a57edd0c4330b1d3de2c4d52c4486617c86f27fd94c54c42e585382fecddcc37796deaaa36ba12b492ffb868ef742c1782b87a5ceee07643b81c215f548bd5c70a5118ee7629f08b94e6664c911b1b67ab1735437a198df5669f8a56e5eacffe4cfce248616f5f19caa32b087e1271ce71976340a889d028f9f50ee67b4fb33a0f1e8ada4a44661328d8f84055a308a828f59f10398a83fde4938dacdac173370eac4f196d59d3826485be7f106862f44065f0350b1374470ace57926f0dcfa0263d04caa76fee5cd2bd999f7114fe1cf200ee953428134b16d5f0e1c5f382d9739b730a5f8ededa2286976541e617cae286c3f4731b3553c5e2faa1d85f52c4f70c99e966e59e004351d4c3859d456dc667c50473cb4e31ec0f64320ba78a3589775261655fdadfc1fe6f39e48bbbfcff4483ccf7c42c91759c0d930496a4568035364e08a1e8e772adb9ff9dbcb4a2af4c2aee307d3785d42a6776af656c6e132886f0e801ba44201c5623a0087bf65a72d051608e574957fe05cb64453ca0a62590ac0615870e07881b41e19ef82d9340de278a775375f5fe982e1b7726d3208314c633f9bd9316ceb15adc1b9316f4f2e683d478dd6878a58164e83a87649df3771b75183997bc0a364ae578bb5f08688f6ef45b3488d7083d04685042e11c448992847c84d925adb82cb3dc2a832b189899fb3d63bbb2f41932bb3cdb0f08b1aa3fa4534e2cee809888238d6797476533dbc7224d08af7a50f3abdc0fd33c6c0edc19c51ae273034241d3ff8aef91c63046eec11c03e569df07d523448eda1d4499d67b37bb9f7058eaed8c3560e1f820163027a1258ffaab0e530cca500c63612100f66aacbb567c38b96d7aaea32a3d4bc4eba1d7a9fe869cb91d37ba5112674fb4fa5c283f11d895ab3b74fdc66353bbc68074df7dc54010f16c06d5428167af4f9811b83fc5766c4ef99cdc62976d9e7669f162c7b4961c468467cf9f1981e67c7759592a6d8d0af2d7b026eb17dd94082ef48ed9ef284d449a60c9bf82bf1a5b8d4879cf2885b8d61b1d104844f33ea5649a413b5d32e4a440d2ced2be1a8e46af1c4ee30580cccc675b4316247027842c5d6319806c38b040d5138b2173ec9ad9742e18e680303ace5acda1f1845ab18c5a01ee923a5404e584ab0857772abf6bd29782bda3bfbd178245032156feee618bf7e25a23c031587147413ce976ca68db180276655a1d09ab844396aa64c64bfa3e7b9e4108dae508ee254ba423ad650811e1262c34729a94147738d86b433525c5bf9da7947a42ca742747032f32c468d5e4c1aa038917e96e2a9d2262ac2671a7fe1b300fb04ffbc88515c2ed124d6cd6684f10f69b0ca53a5a488c7d4bdcbf291dcced655a8271b525d08c824f0548258058a53e5c132b7c4b75e1ca5b89aa28f2f592fe4223b544c5d3a3f82ec707e6d1d6df46b5907dc92d98a9c00e12fbbe91177dca3397ed8c05460de10eadc96bef0125a87f2e6088d2f166e9327c6ffbabd32ef6d962663cb95369d8f5814ce556a650f27ecca620dc007462fb9d3b16a093e84b1452fc879dcaef13b83652e95dc1f50e7a567d11f977a0485e280c507bf82a9d80ac1a57e1dacff6caaaeecb3012c076ba08e385692a2cfc672e06db5fcee7a80714746b11c5ea79d6af9059c50266ee7cce7fd22409c783cee7c68820bcceee229eea07087a636c5217a320e6ae87b7d2ac970a8d6e206ceaee07c5f30cc3e87098bf92ed11d191ef3d376584ad830a6134f39c37e3a5961b3a777899a003f6ca8008723a7c1d8910f898ff060cc122c98ae265a30c5bb48f78e8c6da2df346267c91f2a12ce9c8fe106b9c783e06b2b8eff7a7dbc34a0e0bf0c754d9461e8bcf5e1494850441588f75d06ca2dccde4d8c1b9dda23f65a0c8bb2b3eb073f5fd37b3f1d86f0ed32d56cb92469a6c7e3c2d19754e3d197270ccda793229136a9588e2c29fbe34009770a828f1cbb9b52bd4a637f866c64399f2af19c93a9c671d955fa8794a258f3dbdcaa055534cf83bd44d216e4377a2a40bfc1c9114d2c0a440e98b47e30b079a01fbecf0b74c30a2f7801832c226e3836af8d6f5e2178c13c549a4b8af514b25d70fbcc5eb00d7be1b5bfd34752ff84cd1cf64ba862bd6a8e09cc310b2e0761bc58837101b64427025f0aa206bcde2b23e8434d80342809e59c0a90030be034c021c29dff354c5ea0b4def659761062a87964c09ebddf4a3bee5e8511a4082b74b9ccc5a965381147386418a4d1bd938cd76a6c6468321914f2fe2a39ad65b5876540c3a8a0bb22320fb4813687066b3bd5e8085859bdd0b7f1be6e1a3ad0457d68d82cdb70562aaeb4b7e592aa177a77e08e0f66c930af707775d0f7861b68191d98fa867d89df585190379f2b64f12c0387bd3bad26bda177d3287e119ba97c6b96ba2269b7ce2945fae952429eb12d19296b99e812e6232533d4f15c36e0b4e54b691efb42d88f1a652a0f186f12593643fda927afab4da17bf58883ec8eed2ce383a485d4db037d128edf2a48de492bfce7ecd10c2556de543d14af94531985cf08f090a06152ba0a39f53aaeec3b095cfc64adb551ab38069311fe535c2ba4b1f178008d3a61cd2dc0d47f10857050716028d51c0a2ad80c15830bd208c809cf5a48b68aebb1e617a3b7fc424d29327ae4dcdda319148f052d4d7adb3357ba738a2124cdbebb22d0fe9bd8bd93f876fc7acc15fcce4c77dfd3377d64a705ce4ebff34734b5eee5679c9d152d0f13d76c69166b3eca3c7d1acfe8a4b25b169816700f3001f70b7ddce2580a50337af3b845529f2e665603c528970a2d95101dcb9050cfaa7a1a972053b215fe35946b69d350f0ae1e083af4817df8b17c40ee78f9973fcc3254113a7d7725bb2766e7be0bdfb6304acbba5a6c545987f65bc729eea7710ce3854edbdcce5fef8e3c172da02a62a22c1efaf40a288dcfce0ceca3a126b7e3c0e9468673ac9a08d03fe93291b716e8106f8766a88812432e7ec6f986efe55c2bb8999f8af816d03958937ec1e113cd5db654cb23cb9da84e642c342c97aa12b87808a5a356387979ca58138bac84a725c97b19c4936a1f3aa8ed79a538640d4414bf3068fb2d3a7b4a7b7fa03dce4b1848dbe2780d40320d6e4827a0260e21f81c260d953b7dfd0fee0d74d5871b180bb484e329f7eea0ad4e408c42602a82359acd79a28334d49078321408b03e13d0ecd2d381d55b2136da58d9c123292fbc6693e2f52cd5215b8239c960e5a7a65d8f0b91950cbaf35ea1c6fbd86232a0f498cc0cad55425eeab0849253af0c944656b37ff313ae58b8cc9afdb1ea402eb0904488b5edb96480d1cb93457d24954936f00e4f5ae2169693495fb1655c9e4e90d0ea05b43b7d37e58cee2785114c5c21d5fe3874d6ea596f59bbbb1759dbc3b70bc5d989e02ae501db1e7740cf068f9460c0afb24f56d5aaa6f723c8c056db9cc61f476bd99a505182858930ed772918cc260012ec5d6c64068ea76a8af552128d2bd18a259456ed3a04e77e356f5a501af011776ac3d8f7b502f7315598abcd5f45ae1a54461001ef6852172acb74872f05c17cfbdac184bc14b7657aa9f3a782064dd6633682b2251d4d21e378399a3588f674439f9c59e9599fd920ab5e680c043a4a677e4fbfd358b3251313e596caa0caeea1d98ec02b46d1edf9f8642ce9a62563f4b7b5e5f9f60d1c38fabb6fca88080d7a52e9efb8c84079dd71b1a024fef62fd4aad5e9bf535e7566566e5719bfdc08f1ea1440e99b21d5c44802914ea98134d72feec8ea9470d91ffd4e658cafbc34ccbb4a36d1e6fcc53f09cc1c83a6d4dcc3f0343007bd821178485d8a33ce03eb5438c8599836f1dca4af2ec38fed3741647830f7b08c5d9085c192dda6981f696cc0db778c934f0d639eaac44cf80f2a598bbf7cf67b3180348414e91d2f5722aa4f9556111dc841038dc4020080a7dc3c25e4bd5b0cbd5514e9425c7134f1a6405307da60b134d592cd0fe3a14f6c0ad1dba10d3c9929735e8fb3540f77bf2baf4ac186e51d64fb824a5ea219878376c478c6aeb98ec2e55e9ee783117620e955c90a3234d5e1502c025400828c115c3d5e9d12c77c5fcf8ef2f2a2fa5c85722550dfe59487e6738b5749621aa172be58a9c0ed820ec7b7a650b703e6978b305cd2f04f063a3217ba45cb8b45b5253f2a1aa5aea426d4c4828c8990801787d0a663661577212cf8d7f0a4944505fa29f89d307c3c9bb2e67093146e3b959fa8e456e7e541cf3bb5a36313b4f3d12a5afbb265e2a99c5382cb680dd5fe148e795b58457b5661ea7ed65d6bc26e8d675ccf94795ec53285999ab017088691f5ac397386c70dd74dd69dae8583f8f9bf2289e20c3c8642364678e0e7cb3d4921cd0aa2707bf53b3aa9bcba0192ca7a9f39b01c9136902447b2e55515d024abf09d2a2815fec184318f95b86b7d336163b56f763cdf6dd9e190c37b71f12a3484a87594176d0b90b3f84a78576b79c87e97b0582e624a0e52786c455451bd65e3883007538f79dacf4de43922e48813a3a59ac660bc0defe4dcf98808944d375bd1c9b3042c1360d1169a9cd9e273e6a96cf6a193565ac311037f7e551001447f0e2142a733df12fb93d5fbc91ad49570290e16b36da3c143a3d6af1aa777fa9abd211e44855bd41f5194ce72beac626d5add2d8214e746173a41bf3cce4397faaacd93cccc127c43ca7b54eeb371261bdce1bf1dde6ab625789580b66324a710ad75b2c92aed24b73c49d09b73e7f4fbca9c4fbc6c8510e4a307e30bd0e739b59c8fc8f4732203a5f730da7c3088c182043453d4f66d39ca9abe5f7102428e1938e223cd93fb4527548500c50d46a13c59345ae4f3cb9005d84eee3d0f0591b4f64beec72afb053c4257c283c7851c305ccfd13897de60c2600d9086ba1ebd905131f894c84db1b1f3f4781786ed7e9e4044626bac73ece20a8264e6441e513392d510b4e3e04a5a02478ffefc08ee863f88cc9f0356a33acda72d46ce32bdb293c63d921622f5ea2c732c4f3b2b0fb71d3ea3913626327e9af0eb61679d62c06b7e17d164845c14e17c66bf06962d2d6f71db79e50131a382e9a4a75b1ccb9bc3e8e40bae03de61b78f494ec1b88ea7e0a04666263547ab4a9b7f73b4f8700c2b43a40ec3f39702c857a9372fff7c4311e541b5a9b6747c1284f5342bcc9b2cbd584fb62dc3d817f742c26e1187d5c74aa880fee4d4fd54b409ad2191a931a952a819a0eb6acc31e1d1e6c0fe358c6baf538bc95e2814e9d9b00255017887d2f4f263ccfc82a2b5d8c272e7935137cee743f760b2170ce67650dd4ba068313f5f8fdd24225a2957d643a8633e75d26a0171806ed3793aa4a6c41a86779cc1331c8cc8e8f722ed45eb9cc660e5a853511a9d44d49e2ad3ee3242f7b880f558b2dc68e0183596f79c9453df90acd7e707df022e4fa6c6244111d0ccfb059d2acdc1dbd59283b67d88731658242e379fedef77231157c35e1f3a7596db513377e21d1a35bdb3316374319cd991da966b1ac9e4c4e4be83a1c9d5db2924c029c1c9c96c9105218ebe78e4c0178d01018d7b4c481a912d335a55e426925158b5bdd8a80edc1abd783f88fe8272b4c829820a2c02df7a4cd2107126fc20805847d02e4bd789a67641c3905a59db8e68065ca1d5d2c298965849abb2a16b439b3688b1a400dcd69fd601cbcdc8de32279d0dc7afecc8e4dacedb491f9d9e39c892b1e2b802c85e48006e09b07dd8665386ed8d438e5fcdf6e720dafa2af468adacf9d39a50739a6eaa1b461c20008d81a808f14b20ebf97bbe27d7cdf4374a0f110c4e24e4639cabef5cda3134476ef11b762a83484105a7f64309da3408b77ef1cb2b895c2bbf12d5f825a792f2a19382ae29de618c87126b88bf09c6e748241dd680d9f3ea15874a8d7f630f434bce4c752dabaea833b4bee2f06c24c70a8987d844aa24f1070c7d8b842d51e6b9aad5934dc8e93db4e4716b19c18dc53ba30b85a22af22cf7f039e76ab5ef783025882f3e9802a8bf558416f38dfa33077a5d18ccf07cf564347343bfa623d66b9726065d37ceda815c4d8e9a5d2283f1810d0d08d9a97eed956f99aac973eed909e30418487e6a0457761b53602555f6b7a7b80b73cfa0ab28090373441364396e46eb87c9bf01237ec355d6555419d975bafbf2a0ee17959ea5e8340d4f83e4264ea8a90628a9be9afd3e9c03730a1829813e4f4f910c8daab057e2b01d462952ee5d27be8aeda2e5e790676530ca4a28652509d3b73285efbb52ecc602c172cfeb9d05f6199c56966d0491f82a58de02c64d7916e26107453aaad1bcf7871f10ed137b011307fd18f883af7e32f700dbecc911f53b46132b9d3cb7c68e173aafc1fd5d280901fd240e2e094d6c4e987998c53aabcbe05b622fccb6c260d6925a6b70b1da852bc4eec7e03754cbc9cbf23d678904882ce5f8b273dda67e882950da72069fd7b7eddd77f30e4ad528a92fca4962b48ed366ae64432c4157701e18a72743358b529f71acad920491907ff07ba83797a92ac6d751d00a7c83fd626a657966141b2e3ea3c6b089617d425022837410f2cadfb2f69b9209692b52f7c434d81f8bce8fde55a034547e9cd1f83f9ed360fad9d4941f85e4577baaceff587bc93fa1e602daf4644c583b25f6eb97df2fcebae88650266e71f86d446ec6d0ccaf678ffd7db57be31c4fbcb33d1c7c0fb48df96e4a7c3a697d601ea9eec27d1274a620968f0b5527df21132552bfdbb2364d4cba45128768bbb2b755435e18f7aa78975fb0aea4ac24506aa95bb93a9c6b587b4ce54dfbc2f83d478ccc4edc633a3bfc94d8131560604ccbd077b8d61b6fda4a7bb72edd8656dc3e1d5126dc34b1e8c4ec59888ce86f195679cf65f1206f42f0136b8cbc4ff7e686934867904fd3d2212353aa5ef036c150994f9fa7b29692cc20e69156b3493614c6bd2d056314d114e3ebd306db972f7870688c48fbc00d7caeec337d5f53a05cf14bdcfd63f1f0255f0390ea81a97b471256d7f2e9db90abfb9ff2134b81ab63d564c32424c498efc60c753700959d9a42cdcbe026955871f956d45a7f7610977ccd20c64ffeea7454f5b3a326ccc7321de89043d6f7e729f2f1eb9add66f9e2fbb570097ff11df7801feb0c1bfd56968734091733e7db9b9b651acb5272d77cc2098206f725b30d0ed7fce9dca14be38bbfd76e688b2d424742ec7f0b7257087048dbfe26a9fa9b8485cad4290f7e8eae49985ed145916bbb416dc1bb9188aabdb0ca05752da4e46a190ba762d468fe7ef9a1594fa2e64b9fbf21e3724ce5de95529beb79eb56d261a1249b13b6db461a1eaeba69d0e17a1ddfe9a55925cbfd61f431e23a12a77d16769cfcd5cd443fd47f27939f0ea629141a62f30c4672b819efe77718fae354e22cc4e8cb22278e3c97777cbbf4f848f31dd815257a366e5321a0f6e95ed701cac7dccc7c8b9fc7103f9fba432683983cee6fda8ba7f3b77ce1155eb8da63abcfe1f2182af08b869056ae3ab9694399fc626ec76cabb61f0bc1df87e3ae6d15c9e4911d0a78ec54cf3c76d428899f482a3439ff04d9d7c62f29d1ce3e42e8cb85aee2cfa1f6286cfba89846cd5785c21e75f456a5164dc95bb6d6ef2cf31221604aa1d7564a4d757ec07b3fcb75f26b4f937a6a0c979cb175a3c0112df93e68755ed6547097555cecd4889bd204e639c31f069e854892dbf3ccb58d2c8cca0c751eaeb189e5543b5459a6460c2aeed0b62e4fa5c2643743863e871dfcf8b8d9d92d5e560d07fb51c9539880681aa01a9385f53ef3aa0e58d3847ac7c8ac1ddd9babaa3dd5858df3d1984433dae853e2ddab2e8d9548d6ec87ef0892b477f27cdbf6bbed8bf1f2c6cf3d82f50cd8d71b87b1f327bcbbee35dc04673f9c1ad5bb66cfb15c6f2046d87bce9b1230549a4d659a66e0fb51c094fb4d9673ac21d78513be1141f1d74c77c3b77d703d96cfe0126a6eddaeca6c5d95101d1174f6da31ceec1bbc73d15c884cae46590f3b86c36aba03354eb4c9e31340803b077560e3bce241ecd6dfa8f47d9d03efa3466f9ab3e6c04cea4b173f2c29ae20958ece0291f6f1a27eb2843c8385819ca94ba3c7d1109ea6e3528220de9a1fdc304c193a7c678aaec889db0d2de74d64138799b918bf0147533c24ba3cfb815a1c4d203ad72e1b06799b4c3c0174c4ccd58c5156ee90e148280abdf8386ca5aaed55839ac2e25a0e1daacc95be70d6ad81d8b130853f68941fca45ad9cf44fe54960dd7489d062e87540badec09acb16d44dfb39ef63708f41a8f0436044bc785cdb3a9adb956e8a2f5e88c6d82d90bfa6343ad1663293df939888b3bef0c282b0bd9c2dc48ac52f815a8d12e7e955ec15d1e66e8a252dbe817dbfb8e66badfb235a21df3897a39aeb6005db7485f80cf9b103e1d569475ad009101088358b40483f00f03a3c3380e18a16ebea6ee1907e2bc7bde5b464a415dde4db1de40377124ff0962cf08362afaebe1b7a5f0fb9eb946f7e390a7da83f217681cbe1fb3cd4582c444c2fdeaa65d50e367c38ad30e90abd8d6b93ba849a2f96c3c72a5524d7e8523d0d4dc21ed95df5606dca52e4cad55b974f0eda6db93d142f6c93310cf1048b179effe16b6480a5a0efdbf6db0c94d66c0ef2f2f6848210ccefd16c9606375e0f0e61fab73d372b89f7d1f50c56141f8736a125da942b625483b3507476ad06a74d1eaba02b1bfa4f9f7fae1f5f0be35d484bb9705a28bfee7b17a910a6b8224b462970acffa9c88222b2bc72e69c124ea15919b62a75a9fc365dcdfb88639bdb17c49092db2408c49f3fa8743fc89a9ed88ed3cacdd3d7b1c6329ec91fe9ea2bee099811bfb4ec08fb47134ae41aaf9e87425bdd1d514ac954391a0f6461cf4c9707a2bb552b566d5b392ec16efcc28e3c347c4bc0a1894c288534d60530d9ce98a26bdc74ba55c68d03a90a98a5fd02dd14efe772c9b9b762bb8bfe84621b45d679f62fb02001b17b1404f497c0ad62021a68dbb0eb510a24cf110a4e2e222ab93dceb7ef9813fed3322315b7a37c44fcaaa1d5266d5a7b16eada85612e3e3d488d89b0445b0916fddc24add7f5a202f3c04964740ccde00f029ce846de6549719c8443f94c5e06d7a08ba08cdd0200fc8c543b2fb4f2b9811853ed55ef939ba867a8953150a34572f71d9b9305b02ae10bfb56e000a3bb11d76c05aebd2f342cbe88ebab28f3ac515ba098caae216a8a181860aa054420f89deda5c0c5324d051bcc6677188040aa2b5492342303871480f64e85e82c1fec8ce8a2ef41b116fd50b28885044bbb102b0873cf80ee41c8ea9abb28c309de1ab51ba83ee20022a0cf0983c5dd04b58de9dae86c78e7195f87e23bbbd843800f36a6d2153f66043e8e68e78ae7a926d9dd16ff69cdfcf3af859b9543fa1605f400b9ff7a4f1120c134f75ed02a806b41f0055c2f622e587b684a43c3060faceb3ab3658148ea7a472b4a4ab000e389463dca9bfc78adba4489a8bdefa0b7a6dc4e2089c41cf7949e134ba3b8df5d311e4333247a1219336972623122756e80627296b051193303b8c77fcdeab5b85d3eb2c538f78bdd681e3bb874670d08b2d88fffaa03e729d012c450b5abca9e6489d2c14f2fded02c41570354b3032324196c00fb5d77de2e0fbd9f1e7fdc3a80dc8c978e6ef2aaee727a6377eaaed3f08503529008322a6326fde02c940de2bb5ec5447677e3601865c1b59e3322be2f79e5e9abeda5746951c7358201b36ef4078aaaaca559bd90d7a23652964f3e66c234e04f06336403858595d5f950715c0f328f9101d14de78a1011492e7fad4938e981d133e05851f56da61dfa843f3eb2e956a57b5d4d4d0b1ec75b67e412b74e5c044a71ec3fa67abe6dfdf9fb64f76c1c66fd40661319d607f645aa37614bccbe3b17e0e74ea3f998d4eb00e67635dbce5369a40c357af6807d135855d4fa739775663d63817e240990f2a14da7fe6b066ce79e13341343269f6a59bc27ef7f2cedc41ec9621f78d4f55e79a90900b36e455d5a18fab415982662c74a9ba9913f44aa98ddcf86235c6fc74c6c67bf1324c52901e34347e393fd39242647d6afde3b3c0d31e475923a020891ceff3192cf3ba2faf66e60dffad514ad85d847f76e2f4c47973594b65578a4c5866db4db244d1bfe5de1fdb2b0c43c696d61b10acd0c893964bfef024f5f18b4f750554d118779cea6bb85d4640e7e5cf4bc147a6c4d9ff237d77f3b0f09dfa7248fe8dde44b539899ef1724e673b8bad0af26a60e70398a3250539d6ebfe3a8e0b80512a7be660ceddfafc3efb95d0e0c54200ef8817d41f5ae4bc62462d0a40feef5b538f2284eb37d830b58fcda0e4272bcbd82f508fa532af36002cb2da4a9834a57d3586aaf4ed0e4091a6d8602e072e2862e1021003a2bbc64a7cc0da0f7680eac59bce7f4a4b53b8100d1e6864b790adb3ca264003cfb7b074781d10f5e240c533dcc2c287bcca0793c46a4005bd4208a6906b6d8b66747548f935e133c4b26217c7f7ef772ddcd3b462d94c39d8b1ab6ce958b659a263fe522679c509e79fd87cb5a27959b957980798066da49475393dd88f2df88a15ed1c58780c8f98264b3b144a2ee7f4f58fad0644eaddbaf5c8f81b28633dad7dba1830579fa7298d877cfaeeb78ec9168007c4ac4c6ee5b85aa11b3b83f28efa5eb3213f47e297eea6de3d32dcefa547a8358e052c14c7ce10f227c7a540854731ca1c14d4cba8d52f3e47aae54cbf65c79931069cba405ee9a637e24fb4e86c99a1298e1a24bd3b54bbfc1afeaaf83f51fb969f34f00d300339f839919fd0902150d2b9d338b14ac73b8aae0ae6d107fd2d17a0916ff54852a8d380d817099d01d45bbfa11642b90c1cbc6a97e366c6e687e57dbf32ebbbf5cd2f4795af3233e874decaffd94d31fbd52b0ebfa07ed8d34fa83fd410cd35b4059c92e5a0f689be30d1b29d53bdbece91d9aea56b545b70b833e1abb8345d1234bfef06d3cd89d7f9bfec5462e786245750076f4f21db0c9b5a6d37b7cfcd06b8769bbf199255b60ee9b0dd462875af03a92761f129abed9d97013ec263cf2acd6d8750b6cd683f7ecd679c3e2be3369cb0265b376767ddced9bbb9c50edbe0617d786e98a81816db64bc9198bd70e46efa3efee834e0a41407d554cfdc73591c40bb15e3811a5b8030c3ec37082985401128b276ccedb173f78aa2fc41389e763e6fe409a9e26a391146134dc642d6b835b86d5d195f667c4d1b2cd15c9f02f1fd2d700c7d8ac7969f4cdebe542168675ddc86792ac4a0c634c11d3447446fd8ac79e9e58f1192179e50967f9416788da5b35d28bfbe7c5601bc06d996148ec4dae6a9ee18fb45a1a433b03da758dcc005a7e93329c2e65acb3c2b0a56158419a9a3b1e49eddab8951fc5c2522b09f08f7c58a054024bbd3daf0139e838183ecc3f0dff1aa1da056eaaa889f13852055f73d35111e1a6cd9454183058a2795a908ebea8bd7c31332d0d6c48fcbc9b04d577b00791278e2b14b9c01fd8836595953bb2d028f0fe6874a250f084c1e7b83095ec45fd1580204acab1784f3da29fd01f16528769e804d15383a5d029ca411e73e4b331f42e65c0cb761ae135f9501e703dc110d0d6dd8393657dac2f1ad72b060008c80ae038e4b78b21b0f65c99d3d36692179cfe008d6c1fdcf563f668333223319790d08506fdabdbbbda4558705bb4ca2facc95d8ea3d05547e3fa59e40413d5b5e17ece067422bbfdb5757419acdad1139620d44562d1f4134eaa31b2e61bf54a8a40f8cd912d0ff965532136adb8c964cc1f8aafebfbfb4d1223707120794a30664d987ae3eef16fe4f56a37281761ec96dc53a36671ba4d72a46b92687ab9f7ad22bdbc9cdcdc44cd5bdd955209329817babffc3e6277e1c7be14c09185049f2bb46bb35d9c0c63fcb032e3ee03942fc70de0f45462b81cfc3350cca8cf19c5bbbe2c65c15ffd11c413bab19db01c7b16801a6207022cc6f384614e2d1bc4d3b926f7653e0a2ae51fabfbf85e50f0e0cdd19e06778e56eb445c1456447bbfdeb59b9487d1e8cbf976e256bfd5710d247608f138b872ee3403317eea23519e166b8c1352bf2035d16ded27b12db7b5991e370eaf592cc0041274d7c01ee44f144b20d4cfdafe7ced97c531788555e68e74bc620de83912ed55847679f1e02f5f32a87ab33863cb2b5b026dad4bad2c9818f26d747d84043fd60be79a2b7225c56eb12dd2b3da9646bdba12cf9443e28739b1d14399380f64ae4ee01991851946be8c50deeef89e2b0873676ace1150532c0489d48a6ca6af941eb1e111b33cf626f85677e316b1345160bad03dd4881b022b8ff3f6327b7d1a2109584c41a9783edd97c2e7963c8932586b4415fd6ee5bda2a7936cbaec2a4ea972b33cbde1c505b78f58f1b398124342b13b65e88b321a6f8d0c776089225b2a669ad26fa0ba347ea50d4fabaed2a0d4bca8391615aceea03ddfeab55c7fd3a1e9a99120d46095957a7db179fc541eaa69e0018898042223038d75c78ddb74604f67c9b738e6b10bbf63d38fd5b87a4f087befb429fdaea521683525e37dcbeb6d8cb26cd2b892255f166bb634ea87265aa41472e1a877971ec5d64e627484ed33065b0d927db2d0bcf54a1ecd9f5218a9e64a38d71611854be911650d5082b7a8def4d92c2e3b700b54236220ef86477886e9b389a8eecac35bb89ab75c3354030cf581340a7854c8cec8b89dd37627efbac5a81c8f5875270ffa2a9961564ec566aeffc57e8b9089e2f9837f24f0e8ce5f1f20eb13169e93a9eef0fb26b82716f51c3eb757f468f15fd57135ef4d5bc56b1784d67ae4c9dee7f37b0bc1ef82732ed6f3160c236b2eedfd4e3d2c2e93913545971bc243470ba083661269bc09223f905b5c91edb3b269998cfd77322b50ad3d5c7ae79b95c0e1644ffd04c36348d6c2d1bc578ec0f1e213ea01fcef0d6cc872043ac9bee660418811de79032da9abbe3c09f4a4d9b24e61d84cc471fc03822aa23b82adeec066c3f756bcd310685d95a39dbc8be4f2c8a299ed2c2e5ac4b3d3abc7ee791a426de004e2834d51e88f6400e110d0ab5b9e2c83583f6955553dc8e0957ac862f28e642b8dad6b90e8531c6590cd7d37ad966e31ece7b60dd6da670a249edc8f2b1c24e99a3993dd5d765dd2db87ec539cf86196f22be14ff31c8edd2a6f5a1587e3801d077aa4df2837c11e781984aaf3ef462c96dd07c0e07e8863758d77a0272d008cdd3d46b2cd4020ab3fda695054307f610c58db29efba19b428a0c25177460f53a39017d2d37ccd227c0f88e9857362a7c626f7cc1671feaaf3a80ff01513af0c492b19f286c5e568ad21dab28ac5e275d612eac6597f63bc088a36224a2b126f7c1236b3c8fbeeaa1ce2bdfc2ca4715020611915e6100b2ae25afcc9d9322eacd9a84d90e5cc08ed21fd0620fa141377394aa2b32d4822055326e459a22bfcfa5f920aa62d250a0cc066119260f3d3c334fcc5f4c6f28c900919f5e10ae9531fe3dda343f589ddf68a018c8d4aed836f18730628554e26c52a0e2af893f5e87d5a1806a02cdeb7838bad87691b88a5f10fa95c5a25893c55682235409863918f4cafe3eea9730824775b1727c8ca37117fa6100d95a63755515fb828d32b64c684cdd0b1356b56ead40ed7d027665aa4bd39e3562a0739151d96e49e54d14ef473bc45d1683adcc48d8225aa0d6e994d648ba74e4e14cb5fe8fe5811db1d37585a821719a45eebe4c95d0b1abdd7aa7d8907cc37c4564b17cb64af38748ca68753128f9f9cb66a15498cf327218e4c654db1e28136183c00bdaf48f90935c476b27798843dfc9ebde11b975e1adbf1f92c1286ce153b2ab4d5ab8e0f47c9b71c756abb8bbf9f0106bf26e0d5702d99c8b15ae5c1dd9f50bb3a95117047fe06f445b35784cef1729617e10ecef0229b1847abc25b0948ddbb43aafa285abb2600ab7c4d81c7245f11c1fb4c29f164679aea6c6bcaf4c6b96d9187219fc3ae402cb656ae8312f3eccdb78da2a9f84d94d72b045d43e01e4a9bd64324e2940679629724d35c7d6818bf49bb0abbd3849820645520e409ef1b1358956386481ce4b871f728c27a39bc485f669037f222e9b0b8dc897f3e95f96a82f840c2f5be81c7ae72f82818304c6ca48b2bbcb6e15ea29f5991b3ca8119452db696540a34775d6b73cfd0f074741d5bc5142d274c48c53c1d01950109dc7a00a6496e017455252b49ed607564a648a8ceb68667de0eb1d0ca433427c761d8346ace73a00970f53eb2bff67d5587d32f6219ed177c4496be1147520f3ad7d9064e63450f41cf55b89015431f17cd98d019611125da8f5910d3d359cdd76655e27e3bf95e914691b89210bcf10594d0638301caffc6ab61991aa7d85434a792025e1d66cf9c99789e8a4d8c349a9dd3a73d82869122a78d3cc9bafeb13382a0911afcac8e4c8026f2a593e551e1f92d00d73b90f733fca8238c07462920d410f1164181b874dfdbc3daa5b3e2e3c41224666968353a987d492fad233d1bd0e812928032ccdb32a0cd993be0e8fb36f86e07c21c1e8bea728a0bb172c58ddd269a85da1e904ba8978887cf31c3e38d16420031f5ac8b3b7a308f977daf0e92b620a57ff6ee2c7ca3757ac40babec3b41378bd01633570157e9e613b0f9686872a31cbf008b3c7105c90edabc575339b404bffc661b281c967904b6ecbd44242c11567e812e9372a8f62a3be9a389e28ecfaec160663a71276cbfb08f928e5794eef3025ffbac0ea21d9887e8171650a6c0ec254fe7ff4e920cc0d40d84e7c6ba9bcd0fb5d529c2a4d685c905a19feb796d3fb888ddd459040d3513177d21d92b579e979aed8790c7fcdbc5565be3d4234d515ac0af9dcd8359f4241d56380150307ac8dbbd9dce27dcb25090703198a25d7ef1ae23c73abb85b2223b52f6387f53c59ac1e49058c690ba881103417ac800c7bb9db0860d67e7e1334d113b99b4490905e74e72b7c9b75904958d42133114e912679b80cd90b6686831986720acfbda43a3b0adeab377ca2856efe009456c4d45c5224e8c1da8eea7c30095425e7237ce42c09bc128b74d5b3dafab3ca433e28abf1f190517c87ea99b14291a6617128757c4efc4164018e2e517d45789905097a15608d22bd6f79d51dae8dce1cd0f51a4fd0b87333ce6442c7c3e6ab890b2defce92d81e0b2a2b008c65a860be954d6d6d16de61c7ba17b89adadb0bdaeda7bf5cbcf3e955add8058806af300afefbc1cedcc675590d5290668b4c360f0337d95f58a8f7ac4452ff6e2e9542702c70e9ced7c0ffb07131f93a053d158c42562045806d83599b377f5527fd1a806d0fc6befb96fc080b1a786859ff71cec050fa1850c07786f9f15bd0fc08158cabe1c62ba927b401db0b9b546b0c9b150b5930b59169849a6dd6e5a0a1c0bc8dd8f1e3c26fe516e59fcb6e1e22ca94aec285d5f6e6ca2951e8c646d42e5f1e60e8f3ad8acbf1a835a70397f98e79466be01f8146f2643869944b21f6c07c63c2d6302abeab84ccc52cad36361097bbb0d669dd3850b36ca8919421a4f7b2182f8b0c184e5871a4d8a4cb887f62d4560d1dfd04a0574491a308a2b97736c668588b4a8d471fa822bcd50239ba0cfd4b6774b94d21ce1cd7664b1add937270d597120def457657805197092a22361a2c82d3a3c4ce8d5948e185815bc5453e3694f5c7d04a7f739b84b850af052a3bf9bac5a7be19b265087efdc0edf9a5e94aa33bbf06663d991c34c90a7cd14bbdd9670255b70edb0fa62b17282e05b1ee2bb5a947e8f7db57343c3e86229e5d1d34f006685bed7e2c9df640037daf844a7fb1f96a0c0913b9567310d3df1e5a68b21c5c2b5d159cc2aacbfb697f6433825af6b83c2cf0feeaece0484d58f2acef43c655d9685651d1696c223ea9996e7c4d19a74b0d676502d2ade3b6fea0efa8e24b7c3ad5859c03edefb81c93191eb691a3e952451600fa4d1b98b28a03bdc58bde3519057b43015ec2af5092a5f47c58f2e2d4ae5c2976e3a620e0d166d6c02f40f97846d688c745c420cfce186e4d2ed1b818b85699f68fc0d6aa7b5cccfbe10bb6d875cc013b9ed9e25edf698c493336b98369b2d4fc89f9b96e6ef5e0f24fac998d399cc1c911ac0eb4d6a5530f20ceff7e0561cfa8db6e6bf7bb8c19f4ef30a1621c24ded47bd9a092734a5456604ab9beebaa6007d358e4d835e27e04163f2e124fc22da64730ec59cfa3dd89a1e0a566cee340f6027145dac6606a25e7347e611ba8cab1ef84ef8b14abadeb0ea4bd90f096d8c0974df4e72f7b1218ec437cd1aa8ceb6abd49be2e2544ecd088aecccbdf52a4e7184b5ee8baa052fbb3bf08cb7fcc02f7a66356c5f97652080032a3788a2ab95fa53eccc1a299460572a8f1fe1ba6ff76be9ea359dc8369ce81b687a98320ff1811c5fe64e55c1942b772a8dac7ae5c73b07be45b4d08084e5d3f38eeeaa2a58d849052651e312e86e4eb96de8367ae22d3461bacac1d70d34a7b4b5498d379332596832f9f95e3dbe5d3b133ad7da2a80def2694f06998b972e3fc96ddddd1051e9a1f394bc009d4ec548e439e1b39bb0348ece1a00ad80b74cd1077f61b256b6e0b955f193b7230b6d63c0661e95e99190ac954ee7cdf2049cd960e97e55ab2942ddfa1e3bac868f0ea4d80208c8bc8cf17b981f76231348048a1b2ea004fa145e6db279bebb270e5a86a05bd36a5f31c34d2c02029cd3aa079d876a296d4a5b988c0aef8bb1d907d7273da1eb51d3ed10f51b29ebc32e077ebb1291a62cfe711a3ec70f15e9335155ae84a66be5b892f6e5dae7ee86fd153c254206567f720eefd0b2bcb2fd4c136ed6c1fd00c0e607e678fc81c0d8848501ee9d6e815a8dddb73e8b8fbcebec3943901f99bb598d20b5ac66d575176d98a13b6af33a1453994771d4e46a74086b82d931cc2fb0dd18a9e3dd3de78f977f59e534f0cea4278350b2c23c23a48234b6ee6922df55c7ef63e2beca1a058b938b6e63e48fe2b2b691180000d8405784a90c3373ba303367fad76f60c96e3cffca87e71b6a2c4ee79837ad184bb3284aa60c7eb44f96356f64550792aaa62c102523183e22d30a98a6319c4a45040f17807624bc5bbfd325da144585be0ddb561cc89f694e2a1a1a0cc642fb224e7d68428b469ee026d60200e5f4c976fa0c05461e3b035d87b98b789feb86934f58014364e70a9e9a0ce05919f733c2a3178defc4c12bbf7eb40b0a259531e7095ac96960d49e952f9e84f410d4a5529d80deb6db79fcb09322730a507489254e1cfd168c84ce158a7c90ca2684bc7c0d0345b2ee72c8787f79da08b46655f057572700b0bf514908c2f51184ea7a4b5bec8df051d5baca80cd1c29c0909fe7a054df777e4050efabeaa316b931497ccdc06e532b6cf5fbdacc548991c7f674cef25d98ac0c88ccf7e3c41bbf29669428faa9331f9cb71c0ca89d7148d6bc9598d52004f6f193cb7c7478c9220fddbd506baef48827d34ea0fc7ac8bcdef1f505289ff299f5a4fbe894a7be2f17bcf9036501def823276bb936cc6f508a7cc35d19cb95e0720b228a506bc9844f3070007347b012cf7230ff2986e6faf11ff469bf117a870ba0609c48041ba0301400c22b515b7dfaf41f8098f876fb88e26cbf6358cf8c8c7e62f206fc2c9d110432dea325e5aaf49063faab9d8613de7ed4872c434c2f9318ea1eb3e02dbbfd847e6a0eaa1691e9e34c458064839f2b86171d64099b7d83c9c0467e459133621d54d6718ccdef6e4cb89a2dd8ef2985887e85150aa307c8ae6effeae813df070a5dcfad093dd84d90d5a5a9b06dd5db6b6046e19f0039e66834dd7153a25179ba7e8dde40a68337ee84350b5164750a341e3444543233f8e12f00b05a1d579769351fdf8c33605058b12445041ff8326a50fc46746953658c610f4d8c6cc71aab0bf29032a6202ca07cad7ce33d9aa43938c03cbdad38bf15f09520c4ee523ddfe180e239083992ec93b422c5b650335b901cacb9321f33fd88621962b6a36f0d1cb760bb8a4df578f6d8bb554d0b5102996e251e8c553a4a26a2e2597dddac2bcf324b11e30b4ef4891657a1fa7143b19e51754dcc98465f83e13f1914668731049b2ba66a33552668fdfb2ae2e3dbe4247d710326bb5a5b6555551ec6fab95f0e825dc8f705c92097b04422f5fb3deefe35450da69320f4b667f1570e4ac2d9b6f2615baf3eefcbaa37e4eea28ab636251e22e99c689f63a8c9ad316b44bce0dd9360077aa55bd093d4bae55066f8c2d410a2b728fa107dbea0b81c6f8da72b1197879fe257878dbca0618051e10432cb8a89eab69cc17ae311e411032249080e744914a523e767898e91960f6a84a48db5bc26b14b5d97eed1d86bf2fb8b1996b074fdcd76a09eba26160363ddfc7240d8d01b1cbacbe252666e951c39a98c8d30f713c55e7dbc658a2342f5c5229995c3584d72b01df5e837127681f32d2d68d8ed9c4448ef4b7dadf1d62aa641cd0d530e1dd9b01a0135534086dc7753173d393979c471aa37d85f7e04a3f228045b0ee6db3aec162cc7bd61219e868bb8f1d2e4d90676e2fb744af79d8a653c3f4c6f0c5643cb7efba274107934b101d8549f837827119b7bad363c559e4679046ba8ee968e1f75fec8028f2db6670270e17c188cf00031c0b596c6e3a0327f4cef493312d9d6e7212789884f8ece01c21d4a323bf47546a816905510220fdbc1679d4ee924c117301a02a1ccf748d61f7532c5b6e973add0ee9e277a57abad638cf65c3f4e5efa271ef31cfa2ea2bd6a6efb60e5a4e0498233a79d9633c571e60be304cebefbb483530c61e78ee9b5259e2d6d73812c95b6c957a859237dfaf8d27e4fbf38fa1588187175d5ffa698671565c0715b9e3ce2e367854c28916e6934ac55cba2b774ca8ed16e1b5bfd38a71df5d551a7ae12643e463a92bdc79956ed0a3f648fb6122dc3043d2bed2daaa786ab95e3527158340fcf2f0c3a7b6d7d684d40b6dbf6143d721c6ac65df7506475a7c67327505cfccd8c4ac0e3d9c3d741a0e209b45dc4aa535915247669702afe72fc246a0b3184fed8ed4bab10aea508442d11dcb19a9f0d67b9e4799981b722897c09f16aeae64fddf48db2da8a5db21166513ffc815ad11c3a93602f0473f17cebe20d6fb3f3a330d23b881eca69a7cd21d2305569eaabd8fabaf71c1ea0c28afe2e651818303288adbd13176adea4aa16282d51f66ca6e2f9b6c2c4311367f67bc6dd1e35416137903eec753ddb6b265d389ee356534f4de79d5212890992124e787482b7ced6be43dc8354daca95d6104c2e79fb059665b3125f6781c845f4b42445056caab01e5c35dc4dea40ee3c4ad693ce69217901e054b63c44eb50aa8d8b2d62200d72dbcaf28de8dd5cc2ce56031eb21614f5a0e116a8674feeccf28612505042589488a640492d443298b8006fc044e3a22e3f822e3938bf67901fec1a52c3decf0965e97b71483e07170679c01c55cdd1d40f6fc7c9c14a501df75019414931ce185f0ab9029ba4a5359193c81787f50832a92f8fdb884f63920071ae45224ca2a28f9f027331f9aca4e086a09c06473212da61f5d49025dacaa05c2cc1e18c6af1c8c62dac0d7b1f02843326dd71977c31e0892d1523ac1937730f9cf9108e05c3350abc13bf2c8a1eef71cad3bf48fe314ee185004d7e928be72fd193f33a57ab59152ed1c394cb60470c209fd7b51cbaadcea085021b3fca40b7f18bcfcfbb557d90476ed5688d1dc5bb048939268aeb2139ee53db9086178de330cdefad5337d44b3ca752d6b846e55677c0e563acb7a837ccfcddcda66f56b00cabd1bb85f1a07f9a8cd691e59481757f4249f88c7ae0582089dbd387b71ef4bc828ac8a397f1ec8e2705a28875d5da56d86dc0c2e2735f5a3371c1899c345a435422fbfc86f8a4d6a8dd4c006994098c5b9f90aa2ddba459b9d8740aa085032f519f5099da6f5a03e131df5cf2e981b5635b8f922b55a49febd3bd2337c7a59fe466f0fa817b59e1848a0b6df2896b19b334e805e935ed12c6bb18e5fa03db2f57aa48dd713f71c6cd94ece7e8f9b9dd5bd602ad1417f3d7f51dfab57d8045cffa3b0be44535137b1a4f5b352db43f7714625ae053c8dc7b2772e9b0b51b30ae273763506d6bc0f2617fd4e8160991868e91a7834aa76c5e9aba11e464efc83b734105f3ee890c1454a1235bf424a49b4d9139bff11c404ba7e4a80ee0fa3296a5dfd1b291f40175761be23d35dfed9dc317778fafa77b98816e28f96b1d522edf2b8b9686f60ec5a58fd3bcfd84679a35cb9e88b55bf71b6002c2df2ff67311a84e07d6244cdac041e9c690ebb67472739bb4a78bdc23bed82f447347e5203a7da6a2f69c8ba674258c21596c733585e46729e0c2a3f7a6bc2e20f0efb6eeaa28325ba498325e10aea6d4e37bee8f1782b0cbcae6d995dc77c1e472f87625e8ea22494b3a2ffd7986814ad6de6eb3ed6545879e1b0693d74aeee176d613066a2afe5c45451036821735d97012b7145e398b311307ab2d9ba3b92ac6d33a2b8a687ea804336ca83f4be73cd8c7f64d393b3ca1d09a50c1a9bfb016a5dec20616b624caf0166a36bdfac62046f5055bdc7db1918fa9c2b8bd57cf93b4ed32502073580bf291beb59bd7720c33ddfccc116db40e0cce380a4f4a0789d801e0bb3249d1bb2388dc8e2a5518245bcaa6a2066616937e545be0e1fcec355b5deb9731043707ceafffe8a4287f1731a21ccd50cdda79c475b3b7b0fe825ce6e93ca42b591e2acda50e91b747f619a034cadd89cda4af4133d5bfba506758ce29ebc6b7db89d725661663780729c61e137eb88cc8915c02ccea87c4df3a8c8f7c3570235f768fc374cb925d73faf188d065fbe4cedc0a6a5ecd8283e4ee6b66df4196c7196de8dc1610bb021dc922ac212282442347e5fc860988301dc230b1d500a025193b6f524967e82fa4dd03e07db05840dd1e3a3749fad766df73c9646412d51941b63c8a0d0386ae00b1abf5a8f535b1a12369a9fc670f3b97b9f751253609bcf813d12903f32bf69cbc0d3627ee15d9c6d26d35e4367bd114ccd2b66f1e47bec776b55d5c58b96e2f5fd51d7c84824e8eb1ccd14528874b80e98b2afb60b742ae2d0952f85f7009b05b001a09de57d33d950e4bfd759e04ecb185237551d1caea7d906d6bd1d90f6435c3697eb06491d383d4466a356db250c28efc3c0c006012e4d1dbaef40ab9ccfe74d8599814e0c3aaca4288e52ef3e894b83a59b3cbba0fca466c0f51be1ee6323b412807c02edbd9a322bd60d980ab3cd887e0279423998fad694cda2cf7d516ea0860004c0ab13cc7b52cf6fbe5e99a775edbca3f97d38b6c14b8b28060e046865838bad998d6e080c4834d225998998c79c14ea7b71af7bad6e243d63c74d4640ed46c38d984d441e07aba223d75682d86fe15061523ee6e92ef2fb7a820fb56a5573fa11c6a6914a8369f3dc873c5d0549be90848802b4571cb1c7a9ea79fae3e7dedf11e49b009332ce7e0be34ec13c95ec6202ac86317e4d3d4e60f7a3dcdf87a592b8e2d8ef4f823eba64149792901a77cd6bbf04d17a164682b26d7100380f9903b875a92605d30766fcdd4fe4609b9740b53909c6c97d28a4c8f9b5c9f080d43eb4a8614e787027ea497535c6f07a80831304d52b2f1788b7614c08b7e2375024b29c6b9d3e6e809dc6ba2885c3a1663025fbb70fcc0250ba120b3f4ab6d51b71c63eae70f80f1bb310b0cae69bb12f01b30bcc09236fdf12b17efc59bf5903513a237106bca280648f0dd94e0883eaf330556a8723fe8ff0e40617dce0be0abfa5784574484942e828a6e80506113de0619fa1bae9a021603ec7ecdc87ea3abc42ad0489e889804ee4c0902e95c75282948db9f1303c8b442e9acb6079c491685257b4da0485346b95e71037cbe0425b2fb937fdba75c083ba91bbec309082c80f74d8a6e19d7b3b7248404daabc7831be3b85edc6fb9e16f25c38104d36d9c05fb15e49da715cd2c1c1202586c228df18e1bddd98645af4ad254a3bfc38f5bcf2f9921c19b836afb8b2b25537341a643537ad42a66877f42084eb83c4d84a396fe173fe28236c3b59d9b07b6ed76f88835814e0082ea0a8cd3994a4d72e7c1efc8102bd794e8071a4bf3735f95ea8fa2097ef8085dc83c82bf9c5e185b3c2a9c183603bedbb67bc872768dd675b122c1a6385abb99fbf94901e8aa08b83fc6909093a6908d1ac60d140840f01f3d7ab53854d660b38d1d199065df722dafc7128059322ce3f119263511848f028c3e83a1032f772759b989ee6ac83a164512dd68c1e2a1663a2ef2e165b11ba84840db798a26be896ffcc970ea37c7d3393cb42299dc1c461c64df8fbc75f194d5ea8a7515b34c23757fc23adf53b3e6280ddfd709fc0262d28e1a9f51f7a381fb77993fcb335c82ebbdd492d359a8fa9de7809e8d2a5920bb78221eb0597eb68c5b95363ab1cd0d9dc25e54ab9fa1ae24f2a10607807b5907a46dd7aa2f1490624f58189a0f9a35eba07acdbc9ef3c6a2dd6bb60227781944cbad52e1002506d7b9c479008e470854cf17c86600a26e2eb4c4663fe1d2da826908400636d53108f0643104a9bc973717aeac2532240109bd5457060cd28fd8df9a9a61f229c10469a3643a1c278a6f56345da29c54a1e4665e34343258398243938f8e7c02df68ef08468a9e51bf0f5494958a9810b3ed3b2aca8c2a04fd19c4922ab63bbc71713c18586b3c6b1aaa0e3a3cd32651636867e5f26784484c3c8c56ca97e0a5b6aee93b7a1801edf80408b28f8d9af1f34c88759a05b962267739ff94c4da4ea4ba4db88a672fba6b55ef81c4dd28616f240fa1c451f3ddf8338a9fa769f6928a50175e45f3ab1d103f4ee4166092a16a1b097bc0fc21ebfb05263901c9d41b9bf68343ca522c8b1b31e6201de2f590fd35f5700a81e301fb5070c590020351d253ec516dda2154d3dd9745f013ad5f9bd437c96eb9da1c828a7c6a4fd7579bd2bcfa3a9f1e2db09caca8e46fb401f2854c00657353e4f228ba4035875960209c34c9dd234ee6e111b1f83c710959f3587788af8b7468867f6eb22649fe469fda4063a12ceb7a9c482a209e74106b4acc377707d34974700853dcb05dbf00248f0ab4869f95a9089c6ba2756012d7576c8a2a38bab4ef17c7078909cbb28ed8223c1d7f67172c3b21e5e5fb54c73a81b0add84071c0934b8a8417a6385d99c6ef71b51fec1aaf4fd1a65dd1479afb9d3b431fea6d32009b8ecb46cbe16a1ecb7bbc1c1c92a4fb605d2cbac0ad8ecafb32ea956efbd4fc9899f97c9a848a54ab6bba06d9b00bf07e414b8cc04864b23b123f112dadee380472ed7829eb7e4dd879bae915b444a4ed5bdb307179eeec8b5a6deb77181b1a607bb1c36cd9c9552d4a9701afc45e96af2ca6c679afb6e9febabe76b12b1a7bb1601bf14f170687814c3a74afcb8eda850ff92e16c0a99dc30c9cdc47bad5ab5fb4f96ef14e714e9372062d5514abcdce133416667f1011a5bb3d4e32062c37d0344e5dc055f122b837490d8e41a2bb5f4c525bb8b0c0dbe675d681eb9f44f068daf5003000fd54e9037696b76d86b284f5aae05ac59454c1833579c513129550d9039b3b630b950bd3a50b3a52d0bb347db614511d62da2874430aa1458694633e60ca41e984c726c8dc1904cab0ae6145335a3cf7398ee0bbb00080bd54437c42b52498c9a62be6c4237262a4b6a1fef7450d4a14e23d35095cd62e75f3e49aeb287b09335986ae872d797dd1179059d2e7664cac08d94bb5e5094cae5f935d238a0a77370da94263c987dbeaa5c00054b0321d2deea6a27f91f8abb682dae9515f93f42c9769afb1962ccb82a7722b4d81d72d8603bb4a5a0a16ef6f797a11661555e535e8dad2dcc3093477de562a6acd3247d4856c867f7848d68279e8c45c11f3ccf3cc7dd0cdccd023a1570e6a111567d75a52ee9b6bf8255548c0c96c7651a6fbe13bbdc57868172d9a525b4ee7efc05e7b21d16f24ccc1e0f444d371f06b837836565dcb37bf5dfc47debb8f52ea2d58f9981b0378107168444cf6ac37cee690d0ce21342f4cfad11fb8f624884f719d3c126f7466968f8a471d967e5d4fb1a1f2921f3c02c46495b0f44411fc526951c0bf4952b7f4d75ad2c556bab47449dd091be4d4f871cc31414ffaefe2e24619def6ec6716c946a5831ca419a25408e02c0e99d2db912f6f45ae39366df1ecf0b9a2afb5cf958253ae0b1b44877ed55261fe7f5a2c055ebf694a9ce447351046a2cd65efed5b67418d43d00b2f4c1ff23d465addaf97591ac32ca85be5345fde02d6423b6dc225d52ee6cee26b1169094d4578d9dc3bab6a6ce9314763b52a4f9e354e61bb0fdecb5439aa688add50b47098b00514621853a9d00344f045e8afebc3e650d10738dc6fdf0e7b1eefca7ea716fe8c87030f7278d1d47aec83075f63603d6609d2f8c583d1445a00214f7ddbd67c70a76e7dfdf235e940b62d4ebbb933c147630842b83b2f4385e70843811651e1c2382aa76313af24d7cf8bd12cb05f49359630e480e0a1922a650e65ab929f501994046415dd1712c4ffa6a210413e8a2a2b1edb22468e298253479e0c8a6faa54a218194923c420ac9ac7c2777d5523064f1fd566b621f0437af95ad49529366629da2a8bd68bfe1e3782cec1febc466f92d7b6eb24a0ec34076f34fa91d15245680a7bbe6cc7f3afa9f1d1ac8cb97d849d1943c7e3f9d1bc0d98d27630949761c06a6bda72f0213a2ef7058afd125973a15b484b3da7cb64f65d1cc0b2df9188c63e36398b13a6e71c865e7d3c29a164848835424d918236bc92b43559861d0c1279fd74a9832e8a6f0ff654b83bbaf6ba7823532fda01deba45e862981444e184fdea32c13813e8f3909c7efbd66bdad36269f9ce160ceacda3e0b49209cb6dc14c747a82ab35b11569637d631d2536470a5ada156ca3b49f22163a04e2ca0f71b179665197ae59a1667ab98ac19f61b6631e3902689b96421d4e7a3355415fc7f70981f5b5cf7b77b029f6457a0442c0973a3e50bf401f5653bd8150da28090ec8f9ca193c54e8e1c7cbcc2a637e7ac9f52b102a29378b9c5314079571f7f8bf78536de50780ded9d5a7375ed1495fdade529c44e30666d01b6e74ecef15711531729ae350bf0d06f0b019a71bee3d521f182b85b62f65494fdaa1356686f4c13220510852483ddd251d283aba1a7fb239b36f564254a86a4453d6359b82bd273c9a12e2680d61797765915243c3920cb920a833ffe66b39192b470085a56082748c9efe62f5ec1f65b7bf63be7e041924ca74d3712bb2285b531c2f0cebd0a0f7b471733be540f37cf361278dd3c67a80a531f873c57509338de8519f7217344e9acd7e68561d03be9fcfcedecdbe48c5a78e517e401d61c3e92d9982461df447be153dc692e5db4cbd0c8c75c01841e0a4791017b7179bc62f3b54675ad136182ab6b20f60e820e08ad8a3d9ca7e47213afab109f92ba76c15f5f61154603f803a2794d630dbf8294557620f943b56922dc9519346d7448537fa3bf3d104bfddc7efabfa4c2745cf497374b78aee4e8a6fdfa784367efcfab81787b84a31df306f89dc7dc93d86ff71b51e965a0e05c9e9d5307bd7f5159987df0f1a0690a73191286a83e17c3452fd28bfdfef86a093fc21cdbd65cba4765165638dc53f388bf5edb304b57495f7e1c4b0928bdfc94ff509192aa13f67c3d5b04e7fcde3b2d42be048629f60e60cb6947146e4e933de87f1f62d64479ead425c07246fac8f59de3ceb9a964cb3624e471e9449dbaa06dcd2493e240fd8ca4fb9b83aff2b58c1534805856f683e74735c96d0f0c973986352ec437d9f1717a3b092e4a3d1eb94fe18ef742583412c59a44395e6745ee5b708ce9318efc5c02f9c5037635918fa14c3bba44e5871efe2d30156b9bda8d74643892a89e771130827bcf5919fa3521ac79e171ec327cd86aba7c3adfb794febe44a97633ee77daa2758ab594811c554024a118363694f77048d055aecfde2699a31716de60115e30254f8702d33dcfc61aa83640cadb4f18bb797bd0bdbe59883d113b35f2c370802982268d862309c3bc8ea3b5324e60ce9d0486aa216022258385c14bc16f3044fb3be7cc1c1bd0aa1227707958fe3f49c02ac89f2d972a13d297b103729e5a58cb884f2abe725ea7333c6301a5e0faf112268e961386ce3282b1f7825b0f9a916b62b5bb21d6f99cdb15727fb1e3149b13268c78472ebe10a7d05a5ed8c6ee9551cb3c5550ac16ad1203505e6c16b1d351872bdecac93d102fdd035f80cd343b40e09238e6a4fa3ef91718b7e9b4758f57d735924859890fbfcaec0d3707daaebfb621977a6d30eb1664ef9c1750634f0ea8f1ebf2ac0de38d20b91380ba10361c5cce262f4d324ea6be50b40b417c1b0ea14423ffa647884929424cfe029ec2c3fa22a863e63442e771b8f441c5c50f658a108cda0db3d35c562b8e92c4e12a5c1afad7ef4f0dd9582678b483e74fc4e6bf113ab92959db684e3c567f2634c2861268d6b40c19846bf92fd8139d810465ce275e61e1222ced813f8c13c4ce1be13b7bb74673d8949c95e1cdfae3677a86011e073128a12fb54a787f0073735b7fbf220757a980ed90815079d4ca899fe8c31b8a6c1b3142db7ef7de87125970c36e6291b8619a140c5f18d6cf2696f6198c77050cf4ac77b47c0e282f1e543146ff22cf02854d8598a5ebcb04eacdb384ea935ae732f28351a3639cc0bfe280d0fff387e9b4a2d6504594f8adf8b10b72e6680a40f6c8d82bc448376bf68759bc7dd37016dd699e820f14c8dcbf9afa18238fe4d746b73920e416dbe9b1de5f065a118edaa33684b9fdf26a80bfa5566f7494ae8b80b611f6cae67e932eb42478a31c88289954eda97b0eb231092c728a5d1044930c8f88c129d2e2538a11c6e89e9cf9b6960fa90cd261d48dbcc55093518c7425a8cb0247199b8328fb0bd77573841b87b3beb938088e5549c5ce1aa874b6584902daff16cb27a324235f6fdd4b01df583fd26716e859f66ce8ecd8c9be67f4e4a8d930d330d087093140bcd21fa4766eb2c4fdc4a5de60ebbc9e877f9a88f93d48a30a691f2f60e5b846e38fcac6a93f6a9c655cce965288443cdbae5531e624b9431869566bce3eb0fcfe22ac0549b4929a6c621fdbced7ae69ca473ed660782e1e26f69631c1c71f7b204fcbe064aef6d12c1df2e6c6110ed8c5e9ebeb89c6b2da185e773e3bd1ddefdddf6ca5836498da3fe748223f8a9aadb2c6082c1a957158beb8d49f444fcbd74c288775c9956519732eea41bf9de0fd1d831a435f0795c5229b3c0779d347e5bbb7a7458a22a468e229e02056d47034314b98159cbc6b5b2b48ed50978a5a94be076bdf489b25e57433601c32c51e0bcf3f06719962c619f93404899b3ac360a91101fa13f44d4fe1e2972d5150f35bd85dfb305295da26bd1717f11676a6f2b712693623888f95d46ba2d519fcc400eab749d190424e8c665035fd0bc9994060583aa050aab53477630669a2fb92f0e26da9914d0fc3cad62f9b095017c7045d35742558570350912f51ceb7bac599d92057db96e4815016c6bab6e5366f6bded3f308685f46c815c14c77d6c49064e6b20e590324df07263576404936f05a202c92c243fde79817ea4d29130b16ef7fb1cdb0517e169c06663ac781995fcd60ee75782820c38c71150e9139944a6641b5ac5b081096f840324a541d1b529286ee008898618f4c3290af04ead0518ca3bac52f862edfa7ed80b0454b510144c1cb02e4e4520e523709090f4b6055149e56f324b1801896c72003cb7205ac0928886a2c6d7ca8845b6a161f2f73097f77dc9d6f7516fbf0a2eec6e18c9d19ae8a2cdf2ad466356bbfe54d864ca17f5f24aecd6233afa7b8b44321bcb012c3bd4bfe9065028f1c19196f41d125863f5c6fc6fdef66bd7c21cb0fd6aedab3297c62ab8baedf0af96a81e3f47c59a90522daa3ebc3ce9c77436e445a730f3c6b222b7dd35bfd5015732d0a1adb4370522a4af2b6caaedf4393a9503ec6733d18bd6b9df55840eb140196c5fd4690b1d4c48752ccdd9dfd68d00cb51376069cf9baa0178d6e8391886bf71a6b60f538a2dac204e6a095073109a908c36edaa26462c57da2eb872c912526e66d8dc5f86a2e1bdbd8b781f9415317a78a4bbb1dcc9abd8d0021a1bd22ad2f8cdbb41147a44f415cc857d1773eed00ddadf2f339c9dcca692a07b7e73c2164450aa7bd73bd28a299bb73ae93fa18151b931b96a9afd477c2f14d3d64070db5a9d636db0d829c8b9b161d11e9d52129cfd0c55448dae8595b780ad4782097a6131fde2a439d4576d349bd807c2185b9fcee6e829088bff52ffeb6190804053511d44acaa9540a338c6886a412c6b1055bcdae61fa1643771fee2d30c57c4d866f46ab26baacac053540c603ca3fa60f9be5809b451d0311f31c3b9024a9c6aa1cd424b96f65d7b9c12425e40eaa0b9322ea156db6925fb0e3f7749cd8f84881360808ec618fbd7d0b4630298d3fdc208c6a77e8a3f0a821b9c227007a8ebc270b9c630253308935d11b3292a5e8f80a18c2f059847ab5f5271f0497503c54b79db77a63cb422bea4b3fc7baece9366ca327023748972e0004c01019affd17438743f579c4fc60868187df63e4a0ad57829cda4e7f6c978b1e3c0e3e27f5cf790c5263a1ed23086da2ce1777cd9d168eeda462fead87bde4c484d8104bb68abd1a1378b017d122769e3ad2a64c0f83671a58ea5675139f35d73681f4ff488acbc066a4f60bc168018a1bd0f423796716cea8a63fa79bf37f59781ba61147c6c6db41bc4fdcf46a07ad20fea4dccc455a15a3f097f4459d8a831c8941748237044d509fcc422ef0b5ab60efc164e82bb51060e934eb27bdd5d32d352b90412c6075eabb10bb75472e56e2893f033f53304d0fa40208a930c6ec544bc692d4be0e2817dc9e25a5ffc9eb57c2bcaf055b4f869a25fdf03ef1754540565272a7f996b6d6c3393eb068b59cb4d28815e98245f62692e1835c1aefdae53410e370bd83927cbd9e712442844383eed4305e17db9619f2f5966e2562bd721f629e9786575dd8f17ba0db28fcbb5eab8f3c6be25cfb81bcd7d615440773c1544cb1380b40f8c23f9dc8660f59d47f18087a3359d334ceaaa5acc350917215a1938a7cb2c18c24734a20f283dffd16fd8018bbffc96fca2ad3ad5ed9db82b353cdfb7ef93382270c79efdd1725782ff7989a040a69b7d7102dc85f7bd11a7dc49546091677b4eb8a04bec27643f5efcc89a98480a24f776598558f696b8a0877a67ab6da6ac441ac100b9bca64d377f3d6b15ca4f70f71eeaa67ddd400acd856f912cf4aa4b6e387eee53685b92cece81bc66c3a552796c0f0715b9dd02b2543dc84e1b8dc03e45971756bb253651d5c433bd97453c6e96807705249e8b3d7ef19365d0f37f5bc5d1b3c5ef20af56d9e4d44ed144e3c13f0eaa26374cec2f347d2c2b78b9bc2a84a2321269be23738f304d57ca973c09236c438610aaa32e0ff316f6ea1677dae01016af65120d27b14c4ef2e27c56923ce9e462002496145d89711ead6762eec139e9c82f7b569a964e8f67bea88bae419188c4268f12021d2a60fd9d195c25d2a1de192c03dd308a2de97388adc35fec0cd7d70d09d6b00fca8d91b3fa643a9632a678d34e58d4fdca9a46498e189bccce13902fb75874cd28dffc249f23462f0fbfe872ba7888c89f8a6225521b6b660a9e991cf42e7f0a68c5b4c61b6357e844924bc803750ae4beb11a0835375500681a00744d9fbf4f82eb32bbe2240fdad802c343e412b222e5da2f8865f3708ec2739947cae9956604e977fa744c0a0c60861ad989f4a5c49594bcfa6f3fea9c0ec49525bd96ded26fb3f412cb2ebe1fdfd5f9e03da7e00292891839d2cdc8f15833b86b1bf2269915dac65243829196121181cab64a80908bb03af33d72107a9833690f8ed4660ea86f3c415fea075a4c648f8ce234e7cda1c9a2ea4b34d7082b39fc2eb393d7cab668a40558789f8983be46c134f036bc34e2232443d00eac942f4db4e7b754b0a766b15035aea613dd2d8c2730e40e89fc7cc0129e51531c69d87096d6e36c3c4e5c8d640636755707278eb548f061877ab044e83f37ad8d5d0f72801d7cfe70251e8f840e0f51d4c0ca90d0028a4bbe93199d90d9a7ba1a7f19d02b776e304145d430903dd486ca79e240169b79b9404d09aa628807c1ec649b8a11b31e7e4439e4a0425b6c9ea093027e001113b1a7e61806d806e8fbf45fa5a921f3c4e74f0d0ec644d3a0477ff429a363daa33582d83ebc0059bc132b65902449815f29d013ca7c5154a05a6e98152ea85b22a7229523b1e7326f3c714669b77b21a1038da6148c8a0780c998591e80e622ad37d9586d56394022cb5274b98fa3184c76281ea16486b7c591c986345290cc6a91114c3db15cc4feced4fb2bbb507eb286fed51cae06bda9522b6030e487be26d1cd5fcebe333f57a208072117b2845ea2c3676914e0cd357a26f07d4711ea7c565e5c4bbc57907b804b7a21246fb791faa3eb05278bb0d6edd65786a8e71d91a73ee94def2d1b6b8b355a1f67f568bec54a567a23d9dbdfbe6b6363ccf5376421746d9494dae2a02e68e231dc2e4b11d50fa6799004565b5ea842488576208381f64ae7956acb31cbd615431622ce378d92598d28cb8514299e2dadf51ae80e887c2f3b9080fc6617fe79edde2f5fe263ab58d3c50ca2f71c3243071a41a2784b713fb8b160bd7e7de63139f6f2adc116797de6c5e9359a4ac4020804649741194dc76277ea82e7824d9bf97bddac51ec0fc6b8666d8428c487e6866b61be25efcd4589eb11dc84c67753b4a23dc48bfded19821af583644a88dbb7590c865783045fd2c627de80408944e347b102ebe660e96b4d93198eef748c6675f0537eac0978083b1c2e0120341beaa39139ef38caca55b4c0987b6f8a1eaa376c5b59897bf6e18ff3be39409d72c0b392d2fcf360e41b30cf9472db9cb2219fde8bc65efd23a01a5dd0eb7469c971ecb6486600975ad6ce572af4601a274095b3840d618cc46f21d015881fc3cc68be34b29ffb9ab4f2729bb391aca6cd288b308874c4c0253b314fb2f1414ee385174a9817fa02033da724dce3ccf093840162a8216ff5b12a12e6deed4a8f85f2ef981bcda24813cb19ed416de41c71f8f097355a02447cf0215d82175b445c2cf790328b365ac2e4808ba37d0a347752d7b98fb69e571fb7b7f2fcdd9551230b630b94485fdcc9792a2df062923e8940083dd6f0f40f28f675055f7f49991fd865f11ad6cbb8cdd17ab8e565ff764e293397826be9d8a5c4ff111e9c95704ef5bf63d5c1e8502b7e98352482650891160a48a34dc3b7e947398f5d9d90ec39c07d259bdb840fbdeaf4fcb2eeccb90a215bfd7d07c92aa5b5052a35c6be3fb2a77dceae4f3d64d0bade59405e688ed4a0563af528fae94159b87382e172422f66ff9593774bba6280d7a2c28f703715cb99eb8c6719a75d600739ac5f85295b2bd55edb3ffd6117d123e1b057e3345546d161cad3f8420c64d794eed4b6321a9f17e5768c8e8e6ebed406eb8e6c7c5ea9c5b35d6ac42baf827aba7714f9f7b14c149c1ddace0e93971b79f55de9ae76988d668e4d74b62f6946286054bdcadb0d605190377e8abfb43106f9c0faa2c2b2798733cb0ca70dd285a6837e4ac28ec0c7176f7da193a11b8306381ccc3e7967002ab8db3d687bc21828615ce2f80806b94c8bc8330ca1c2b859b8e00b3bc0d731da4dbe3592abee3a5ec156232badf0a56dc6e4edd22267fc44ee916f508cde4f415d04401e4a5752bb1e5c87548b121cb3d32b8464cc79f9e904ca22bafdf8fc6cba03ac6cf5f5722d0dc6e0b00b504af2cd88d8177709654b7b9adf95169245202d2a9ee5ba414237dcabb71f2960d0dc0729fc471f0fecc490802a61536608924431f0de69e710aa913022acbf6d9fa40da687e7bcef4255ec1109a98e908cf2149d703fb338f262cf0adec6aec5c215b23423b50b23b43f3c073d0cf115903166065d8791b41fcfd3364689e3435ec5f49966be46bf58616a99c5bafae1aa336a79ef751ff973258ae2b3074e2f0e6e286bfb655028ab9fb97a68da3459678d507162b5b52302ac1c1bddb2eb8d71c09d3c66e4067bbfc4cd8e9a3eeef7782bc09fea7cf1c93a13d94f81aa472981baa6087835e51f59c71a59d841cd329bd50546d4c74284f612297b06156a4e9f3fce32c252502fc60db69e79719b51ec11d622787a8faa52e767122d008a16cf71cbf4fca3b85cde11d15c8a5e370e501df6fb923587308d4bcfbaeae427b72a65460038ee104a498ee3c45ccfb25074958ff54fc142dcb2d98e0c6a14eefc9e27e7418c42bfcb142f8d1675dd9b4cefe427ec85d65f7641d0f683e9ea97520c49e207e2d68d15dfae68ebbd6714583472339a60447c2bef943e016fd8e8c72c60e3e71b3c157e3086915a5d31164628c1fb8a6177b586ebfc67c680aed0f41086ac297cb3bbeed0ddcaf2d1c2401856ac5e64d31c7dd509f36dac2bcdad47553f66a070cbe5cda83597017b5e38841da6b39280d45222db46b7adfdb3e3dae5bafcae21ee51516d712f8b3fb9f6ed102238dff2a34c4a1b5fb2f39d1051b011f56030928b57cfd1ccd1e3112c8bf2ace6edea899442dbe1f6da75849db5b5796bc4a6f4dda7c4b847cbbae736c037af1012c7009b649c6324180b2609472eda3dbad7865dd94eba6f307d0f311ecca7616fd0597b82ceaa48e5be8e831eb434d2b2bb0a6a20f112e6f71c457b42941d893a4c9d3a2efae7de84b4a321b32a900667460f6bf0b11f6662364c1bd77b971d2f28334ee4d7ba5325ba81d58c3f6c74751cbfe42063b81065072cc89d0a5933564b3110cd511c3a3888dba883602b867699729544e364e899b3f235a429221b454bca021f6f5285712ad56773b21e4bd0121cc5dba1e1b38c390259a1a0982103a56e6862ea31ef2f4e8cba525aa0975f05d126f16af9bb32209a1a4e8fd33a0bd40d73c8089a3ab3c35b2fcf6f6c2c9159c341dff9ceb6435e82b5b3e2817cd9c0779338f096bcf73a26afadfb2a4a663828f6b43e08d5c24342f2ee5b7f731365f28a8147d140d3cc71852322beb0a6359cda981735e3f129d6b3a4c3218a42266a2589179c8d545212c9f2cbeed3d3eee04f1b86c21407e4fc41b06b31facf8f0cfc2d91910ae01760a108831ca40d388b78db84d0cc7c11922b716dcf83dbb2672e569530fe7380f5953bf7c5c1c7042a0490e92c7506802bb6fca207a04372af0231d2d210a4222a2afaa8f057c442bb93531a67a620d87861b55399dc687a51081571978b29feafd685c56be7e6301eddbf39c406bf872bdaa364d7d50e9983ff5d70f833ce431a47cc827eb1b05144a52dbf4626a6edf7b5bfad24e437b9cb4f2ecca8ab7fe18713b54ae48399c3978420770baa14da99d7e0ba0f8fdc5c464e689188f4c316c6cf9a61f21ed17e6cf388730abc669e66c6710258d1c204a85eb350f1fb4c4ac9e16f1e8e19ce4457a9bbb067d025f54b1f8fc8db63fcae78f2370be09cb009f911b9d6edd442fde8d17a2830700f93ffc1244ce9d96eefe8af8989d15d3f2361a511a95f97e0a3eb0e4f3db7a75ec03fd9b7f7eadb13a609158b25b26b7533050517a98eff0dd31bfa0095d16470665cda6942b3bc9eacaa205d5bfb0a15743fa15028fef2a77c89d2ba5ffc894e2f2c2da1b88ca3b4efdc5a174219661e512cea99f66d799060d7d5192885b70fe9fa5522c5b739b43e32de30619ad1bfa5d56eed70bac6c081aa9c6350b7c7c99e39ebb8194da220969a4e8600f7d602cd10e7b7277ec29b615cf7d10bc67e82dae928f87b4ed041232b0b25237a0fa63b8ede4e1bf5f8da87f76faa64477fd47e164934265d1bd4e6fee39cbd33034c705af9280de93993c6a2d96c2a46024fca6be840922b125e45f5e6e0eb187b3a768fe845ecd28750f214afee869d4751307ab2909c2a4cddadedb4417d7b8fb4a8502aaedc0fbcf8bb91c63e16ff627970694737e446cd96fa4194050c0d2320c8b3b395a592eb48180e8aee32b070683275094556aa08c0114b671db502b584f54d2e64d178e1a0134d583dd7391b2f2f24a80cc150e2ae4804f585ec4eea3a279c25c6d2cbf13d5c0615240095b9556f60f012e1abe152efd57eb63254f728baec9b1eb41f52e9fa3ea8750d9f5d49d0432df53405cd664d79316eaf6ed081a4e7293c9104555984767b25c8c32b81f7c7815d1c5b0a0040140d88056ecb87bbfb0e7777a29ffa93449fea2b2a8a47c199a89d9727224916a1830b56d8b27be027c4ed16dbfc1156093a50a971dc06e67baa543743b49c147665c5a15f5948934770971ff2467e1328852b3c70c2c148acf9bc2568721dda2fe2e49b1553e8adf10026e7d34d4859fe69c308e2b6438fc18d8b0b422fd447c8d489667aad94e27734a80aaffb011cca6e4c1524e0a55bb3035e09bd132bd0beaa67f0ac68310b2dff2d46804c78f04b7b0318c29031985171c941261930d45217b5cd177eb531518d30652d76c045174948f016ccde38a876f0174527009b424cc2541b75d6cf7736342026e0f4182c01537a3aed5483cf94b84b6659adf6536b4bac8fbcfa2de0c6f52faa0ee3d7709f45ecb5232b4db6af31b0b5c3aa3d469f2f02681a2052d14376d13dc2bb12826b379df60300f5617d52915d87334d2dfb72122f5867d9424fe343835e69ce3241d6790652cc7eec450684ecc98ebfb2a15446d2e134c40246f4820f52b2e5434d6c67abeed834eac97f3e7fe513e2765fb04f9c44a2f1de4f31efa7f01afe2e0670a0cb3de6fddbfccf680ac7c9f6ee665b05cad22aec9bb1ba1d491cf43a4d59ac3b77bec27e3f6eef5bf9eafc3aa1476f4cccf5875a48a25e77441abd7dee763ed7127eba06d0ff0493b3e7058a9fc48094f56e4c9f5ff9bb1b89b8b4994ef77e937c892a9ff6bc1a04aca6da2735501d0261c012dd97208f376cf07058abc855d7f84cf79a5247de9b503546706dc5790e12d526d16bd83123ac34831d0aef94b6aec1a08c718afca66e3730391f371de04de7b21259398a5f212dbedabef4ba5711dccf3c97c1a2389befd1ed725e8a2ed9a0b67872b60e23193464e7d96dcd4668a089a5a54a584d8c648c8e13c3b8a5b4575917a06452d6573bfef2294448375a088aa495b1befa03d4e052999c890a4f7102902aa03fbb19fb8befa855b516810a08b5be31815d1a21bce903e4375a639867d7b64712486c790064e879d02541dcee56873c92b0ff65f41a2a8729abd8f684eb48b443ffce043ca777833b9a89419ddbee2d705f2be29615a526900b96fc8c125237ab12576d3a9114fe1830295f2ef7f2a05ef2f03be4699516279b4bdf8bbd45fc98cb79ffc1caaf14fd0b1ff9b1146f317528df7ffaa25f1d5ff6c43c2e89d8f0fa659832b46d8f0b8e7231e586fac7715dc3b50a9061d0b672c8731e1995e78193aa1cecc4e5e5570f9c3657cf828ebbb02c6630b7ceb494204080bde7b5e61baa5ceaeb2b98187c82df224b8f2e3ba1a6d378bd35762a094f48c8b0caac4891246bcdd6b4f1e2d014802227d138278fbf3a6462ce9c34fe6e63f6e63807113cdd06bc58859270c622b5fcc907ad9837a4b24ea4610d0736b1890ffc4fdf325695c11c7ecb95f12a7c2bde548d15644d6e8d1562be7d08e3a62763871d6295ce7974a5fc4a743ceb9b3d733c560e9548abefbba06866f4bdfb88bbc3bb46124fe1f15900ec2d32de7bfd4c15c8c84cbc0bab911406e465e6bef1761c3df7bfbeb0d965a6214d0ea90b57d4b6c1df9a6d0bbffb29df0b2daff78bc9c23693049ef34761603dc2c273e91e5b31bc5ad9d0b0839e64999ee0d85bcdd4391b4d0fcccd036419e7839593ccf26700387be8c8e648abd08fb2c946971413831ac2591332f0c394fd19656d6c1e077b489df10afd4b1fbba5dffd9932f16d2e1153efd9b9186ab282b9989517f658af4472f6787035d3187eb1ebcf94e77a8224b2a8253d71634b26d0eed403384967449d2aaa516de678450e3e45892ff4b8c7bcbb6fbf1bd581f46c0c6a46714ead779ae800b956b6ce45c55947379706d7dfcf2f61f3e88a184915acd19d5c23def56aeb6f70933e84225ff09d7e4e5de4fe3d89460e7e232196f3f20d27355d96776b7d0b54dfcb8a3d8e7b6cb5e94c7fc31e395f394ca9f2a2eccd7792bce44e95e3bee797f58e50bfe858f304d2eff5db034560c899e53d166e5ee1c6c2403617bbb09ddc6f3b2d461bcd279fabb831811ae1419b1d26fa5430f129e5cc6cc2c8e5e837bef5ef2e709a20f57ddad8f02d7ca25d930ac5caf3849af596faa6a90430d4b21ce9de95f68eb309c5d94adc517cc9e4701774ece0a20b07cc54d77186f1d8a2ca0d04df3b42594f495b759bcf2470b54c6a45914283ed69364f4e5dc2ff04cc2a45a25257b3d71df584d3501f07e40e12fc7d0663be3bf137aa02efd60df0aae0c2c822ca13e20df6919f2336a2ca831dc2cdd713dc6b68ecd5942bb28dc082f0f321545a12db16ea322c9f3a1558947b877c741c6c04c820d7f2e91813721236d201e3ce27a78ebf8fcaed605338a11cf66beca3dc53ce086abb24f47fe9f7db07ad837bb671a8bb8083510512cde3b7a84f5447408fa7fe54ea19086f3cb2d01444bb5ed98e12b4f72d145ab745deed7ac052c7c808aead3b07135ccf53728d4baf32401a3e84b0a2dfb1fe2ad8e524c95001aeefcba7b011ae31bb02d629a3a8bdfce23e59f8222546a1600ee9708ae40bcfc8c99b28a878407d2b65bf34804c396d98777a9c326373ba8c979c78b64829aba6d0834bf0104bab88709538590cbda5f2bb68268c7c15783d2324d9f79bcbee9e94d36c73a70af8f19798565243fe6a19acc49f53275422e0b0aa990087628c00d8114e8350a480e31bb5d41b551d7b8628c71b3175799f62419521a609117c068bb9a859fcc049967d3617a8f0d91e67510c137c7780dacb8e614f1a27e1aba19974708a710b165be4a6e922da37dba45f1f67b775aaf0e106aad388914f056c3487519e3b44ca454e190d71ff71323c74d61e1aeb80f63e96600fdf144c90b59f495dfe83521fe30027c3d33acfb4bc719ef80b848197ccf72042c9bc349410be5eed7b4dedfdd8c6a513f92e54c2f0bd694d4af1780709a9e0b2422dcf6b8045a9e3c6ce67ca8239478619851d5abe64ed62ae32209848e0f183c70585bc01bb4f0ab1d4deed891a9e1c3bc3cdbb782c2117aba2f39c026793a640cbd314f1daf3e74c652b211ddd0063ca51ba8e7df1f47362e1c28470a8448daf1e7e27a555d80425d1f16f1cd69cff92afd9f66600c684f05eeac05283320a42794020e91d54c60aeb4c8948630250d708c3cc8c58b182a54db5355f06def494c3977fe4340435779dc8a10e547c3b0fea0f4bd5e7a711906571b637e40cb16757d693c2d8be0b8e2c373892080f5df408dcb56f711ec1c8e63da5bfb043971148ced2e27373aa99656e43994ed620b95646d211d56b3b56b6acc7308f99964f45ecf8bf6287f77511203523a53ea44882c579e3f631723f16a1cb842f29c90e20ce0407a418c9c27e53f677a763a9f719b566240950e3313a7924f9625c822037d72896cfd851538e72d000984d9aa19b5a2862f395642885b11782bef994ff59446dbabd26da065dc8f0098910ee148a6d2333894aa0a7b06396e39c0857b2b5cbf12124646a9a24e5d06cfd39475e4aa8d5eaf0345daa783c68eae95a3753259a73e9b8fa9fda214abf9106f73b850b61ecaa636483682761e1ec3c90d0ed2a24e6720d6f8340bbf69133e0af921122adf04db3205fc6abf1e2f513ecf649410c43ddf555d6a9de881507757847ca4b7edc9c5f75aaebbb13dfcc4caf0ed248faf9930183fa59a5dc384cca72b2881909f586a842d1c9354d12f428e3ef1753a9414c53ad4834af919f74cf91cd3f21bd833d003ff342ad23ff7a5ba3f793109cf32cacf6f82158bbf840d005788379ae6be12357417de0098340b211f4b58d58a2cf4f0979b58ef676ae3f84e2d7851799d5f979bdc58fae8564dda9180347a9fce3f356c6feec40e541b78023aaff7110e229ac1926661bfdca75e77508fbac409cb3794c430ca47e3558eaae847b1ed6caa5d94026d1aa08fc83b392f8b6b612df604cb14aedac3861cd54d962dd79b2f68a4cf26a96af4752d2d33d272b0ceb8c1967e417f21672f02b2d5c863e141522571829e736d549da84d93e9c64d9bc1a67444c428712221ec5227f859fd82c8198552e03ce3c9b82d3c1a53cc35c3226003ff56daad8f7062940f68d630cda04c6af307f0081663b2fd77a7efa45a0abea3cde7cd63e2b9b60b1e231cccbb45741f65b4a66f9059d56b1983b6b5ed12aea36ce938a97f5f4ca993b842ba8c499bf966f25db596605ab15ae75df50f81e3e458904381a861f42d0df6c96a459e1e06fd5b2b477495c68dbcf93733f47e6153547fb2a4f4269d5368f18cd32720016277b1852919cba190f7cccc19d77b51b7315468ee3f8bed93bcb4986ed0cd383b964fb87b74abeed39c67c7bbcef87efef14c5ff5c3222182c424387a36cb2d6f53df3e12814fac0a4cac898594cff9d5499faab9ebea35ab7501547a865c804c021d03e7a93b1c2736a433135ddd61ef050a866463465a02be65d789590fe218e1b2cec3b03babcbb8fb1b5da99e109105c27e117a9cbba40f493aea2172295d4f8eb036dd3f3019b0cd58632c068fee8ed89c13ca5d2e57efa0ef52cf9c1f49315c761f2fdb6699c37977c9c55947b5ecd279bf5f9cd2c7d516d833f6bf7cdd43bc57f10bee6431aba458db03a73f7f8cde00c185e3aba6f4a4978bd60c41075e44f5110529f894c4b24b75cb3890fcfb0e91e7104f2c8c3b6769c936de9bce172534cbf16f8b2e7ad4625bf3971859f8af86e2bf0e206b3b3135c61923f2bfab9ab13c481fbbd2eb8d628501ce63a2290a8f03f3ba75c7992ec39d44c8e8f6c462d888057e34cd91909c1d8456d6949481db214326831c6c3d334a567767798c5a87dd84fd30c63818284bb0f52c6ddd485d77bdf0bb75d8948ee183045edec7cf2317530a422903d55888a6dd9a3d2e6a39b2d1e5c5cf6e7575b7087f5b10570be0f5ba3d583a73e7e8677297b5cd1a47cd173e1483c6fc9ccc4d751cfb93e27702fefb5fb410717e4f5e64e02a96f8a9313542860d73b43efc2ce61c2c380817a69b5835546de0db89c21455d680790228993ba6f1d1bb99915eed271585d1c1358a4000285655d57599672ec767a52a10bd3ba2659701fe628178a52d4b6bc8f49958b24c1c48e3d2029b4f8be6958c70504e910d05c97bf7b8874f45a704942a4a72a5de7ea0f0b458b23cc023dfa8e2029c1eec5dab4bcc17ba26bae024052a071ed037776cb62f1cbc8490385b2a2ca95db49287560b163cc0a5942bd4c33fe7dc7cd2042a971e79da596349cf04f6271596ed9b7e530e199c9b1cc021e927b0364e696c23ee18f451b73675a3ad5c1e5e59b27f637c2e33dcb02d386bfb51f6bc606324bd170ebf33b771c545b345a24ce2a0ea30d8014c8e2dba0010527bd06a83240d53209accbb868b83b951111be6f03221032d3a6f32aa660754410ecc13422a8da48424e812cfe591e82f4b896ec22536f2b1e43498be085f6ed3d3e014b73d13f02b94203588f4d8069bed7a91b042894f37ba62a521d1cf3bb9972981acdfa26a0699689df3ce4d4d07c38c2b43a34894fc263050e1e6764ad4d5911d45244dcf49a6de0fbd1b6bc06b6051255c6b82ce7e02a34d63b3ee0a98fab35fc0236425f0a2696546c8b9fb97955d39ff45e18278c28c5a6b05628292e722ebcf7749a33fa50e3d48e9539cb1e0bc37358e75a73d2f97a4a8619f37c87a84cec2b6449088a85754dd1bb51dc9b77787ea2af2dfcf33c8d000ca33505dd7f6425140f0b4641044da7c01f15b4b23a1f6ee03d80ee4707b2016f9af49ee037cd4514dd35329fc4c54c332267dace6ee96bb6616493e8c44a9dce01661a9c84aeb7bf70dba40d7ce7926f71c40b77a3ab31ebb03bde2fe719e3e4dce3ec89bc26619a15c114be938bdd5a2dc8566f42292190f31699e17e5bbd5a46da12bc3e2d12d44cd1efe94c417dcc83278630285748082586cf0db7b728bb165f03339b3948f987c01b5ac686b62e710c20d3794e5ccfb9190b6d500cf07e7343eaa3bccae4a8a1bb75995aca13861438ed246f64dcdda193ea9ee6b3b5a927efe873fdda24ed59b4e3014babc5391fd75bdcc0abb2abb86472391a36590101ffaeb3d4fd88ad7f0256d0226e0fc12412867b20a7759eeec6cf944870eb525763fa23cb247a25a29092f4401b6a9acc35282687a86822fa7d4acfe1fe40061fdcf90e213d6a5a4e177ce13d45cc3d056491ac28ab369ff4986e5c56322af0691891dabc797e9d3baae3b8e9f01ef2b14c58f1964a34cfd2a0acb146295a15446d6f426155ab31f58483f5c50b3f81b17fea42ae3ef8ba0a47d4b818df7c4885a61542575570c04e018015d24040aed0e14dcfe9602a7ffb97a122bac23d7062c86f80a4dcaad3a15d2a9f5468041be792db48785cd7ecaf04a786a2b8bb02379244a259261c6415d93cb5a0c079c75f16d7bf618c5a0742addf5bf9fee59f1c3c292f376219a9aa5930d3cf6b04f1bc7f69f3338a18299dec2056cf0a0a942380f5177ded0fd71fd320d79ab6f91f253483d8af462bf6c19c3febe1abdc0c374d3735d4fd08024ffb583a036de5149b65f1ed153c3084c2647bb6948a2f78707725fe4a2ab0f880d5a2d74aca708bbddacecdefa13cdbf044c6ab0cd629933ae82f92aa83c3c8ca1441a34888899fa44d82ee9c20b9307633f136832a765d24676727bb41ad0fd524eb899ccfefce9a9416029fda3a6558ad966d13d5213dd66c4711713e2b8d589e744771cad17d88684f6419fbb82663793825e529c187233fc442f24736422c91d3a27d6eab350aaeec220c2ad0687f1d0a16bfb376fa4e0ec850b3912d4776b73d77629c58f37b629db49279e0aba413adaf19f848ee795beecaf56a8c51232898cb2effad225b5b623c6091939aa6c23f14f2a2527e3b8fdbea791bf0f655b28c7c82d41cfc64dfdbbda56d1cb20896e070e7f1da63b4f0f5eef49ec0c02e58d0688ceb81b42994fc18a0e5dbd0f03441a157c85dd7624e6e3d598abe5a23c9be0d816ea0ae65a9e3603b52e108bfa2f1c14699488054c90d0008c75e11a44a0104a1fc2e24264a45b92edf96bc6eadfdadcedd7f9d588a9b044e0c0436f3b64b6661e8e8ee6e506f5f1b47880b1bb8137fd64046b50a80d1f94ad58648f735593be6c1fd3da0f24a515c3329fbf35aea129c0fe4b1fa876519678f897437d3593c01ff0b2cd5a2c64cef77485ed85ac9e4951fd88af51721c073b94886dad6c954faa9cd736b5c5d11cacf71a57a8202f52de0ad66f869b1cdbd38b45ade852906e4ecde26e918543874b619d05b3b6560a0b1317c90fc39309ade5a51a612aee2c29d1d964f725a0a2f1137f306247a9b36341831378c9c82fd748f31d58d2d9b609d793b787ca13be3ab9049decc82a117a29a522dd636add6bf831b2dd7561af6a1731a473521eec727a703bbef200e5290e369276bd48099acd6750cb433adce48d342604ef968d65c8f53d8e929e1a166903e7825f40bd3640d351966a24e92ce39e217f483f2eb655b5b0b5596612bde91dd11041b9ebb454acef2299c89d4db5e8445ce5578125f9a3afc3c576ea85146e24087528614e5b08771784dd84fd99b546c4ffa9a39693647483786b907146b6565ee9be48e9d5d62c4925af53d61626d11effdde6df9a7bc6372b6e2c001e47592dc980ab96a15db860ada30280e58c80dc84c81b26faddf79029901da58109853e32ce940585e21e12028fa938fbdfda126653f4e90d265b0581877a9b8e26cf50f804b6161e004880cc64acfcfd59d87ac8d8540f921b25d135421e4010801d7d25710f886d4bed09a04b2ba988562e1f3a42a7e59e17e3944792799a815a421344eda034710280c68c9ba1899ade48d6fda50128189e45677e143d4db71618f7a92e0f2d91052ec20a6535ce646dafd5687803abf404992046d7291cb894a58f98532fbe794eff3965b867895e3b6e7df11df7aa9d12829da2e2286c802f1dc0fc2be44679492e1fdb3bdc99b13c71259401f087085bce01eeda367e5d166ec201667818900b9052d8b95ac48b0dcf46bfaf1bc0b4bce65eca6ce6a0ba1e1e13e8c4483ad7e23192f53c1261b614d2b01b5759589c4f2c7919109406b855aa29d80994b77569adf058f6c47de25050679d571b08bb7a85f404fb05bfeebcb8bc13a762fde3bd042a86903b8a6ac79c477e2c2b88c17d772612d573158608ae7750f19f5e5b4e876825403f5acc4f02fe6e16c072f00277d4e8803fd1752874955fe78eab95598d6016d4582acdab210c4e35fe7dcf031d4f033f8b9a5e186e6e82f6e95b4ec92e1e392e9b4b87c0448a2fce908c99bf07d2dae6914f2ba39b6d77e9cfaad66d354ba2db44b733a8bced1270e56280312527eb444bf219c8c9165e98f29ad34b4fd20e1b0dab22992bd1c67f7d51febce000f8f1fbf4dc2b1aa14efd54de87f7767705ebe572ba6cae3ebe1cebc0c6d5a16499da909e6ae97e8f4957f64a10afb32a40efb7e1b5a33f9cdc542b168c28ed8856f0dd51211182b91bff11b90bf1f3c86cea4a9a4e945508871b1285f53244d97de5158e0873d8f4f6e91939c320fa1b6cdf3a25aa15f2c99663deac18eed0f59e1a03b5755fdbe568b44e78849798d665b56ce2c2db653468449a5d380b3e2224146bf3bf81d9b72923bd7349f0aef0f1f170d837b650bdab0bd66fca005ce3c04e438d8b0307caf45b5d29a8a33d52c2a6ed53460c4360cca1c6922de9ba8a1cc6573171ef92ad5753cdafa4158615b10c1559964813a10d2cecde605882a43922c75a463256c48f885a51d859ef9c4a123729a8c766ecfef6cb9e3face3cb22589beca1042f7803c23dc6947e255c83238bc8a4426940333a62a0f0a3a8fa915970a05d3e4a7a113a03448579a8537c4196a14db26678b85861212ee87354cd98c8914eb5eb721410295d1ab62eb386c4d6532f37b4abcc785ef1234cccf771aec788e728aac973de900f8a6aedcea585e55b83a2af6967b0207bafa1293c7cc0fa9d954cea4083fcff546c44446a3bc4f459b28d6297245caa1cc6da10421ca7b7e44d8ef1bb63ec9da5fda8f5655576658b6cbea30be34e893f73da258a041195dacf68f298f7e64368e5620f3590968c8b7d26767f4d718bc05dc3b50665ac804e026ba7b57da39ffccf9557a712d701cbf0a409bccae36d34d39740addaa12ce86addf4076a9dff2d999121bec922849f730d9994832ca5aaf5eff03bca515c4741493182f0d474672a74eda96c8cc9e09e52848ddd63d2271b121dc56a37dddd253ab5d67859b4f0efa371c372804dfbc94a9df928a8dac47e74ae914d759ca1e7c306b1c416da96f35ee6973a77bc4f37b1455dd1b3c4b31daabb00a930f2e868d09ac767bef08d331eb6d9a8f884b1ce01b432be9f73fd6ad04a5c65de69ed8e66888fb1358855fc1de6757bc51df005b19e38e6d39548bdbb99a8726a20a3b1a51a6d0ef3a785acb2a49d79a20fbba57ebbdca047b90625c535a0692cc1a7bc7aa2ec8ca45400ae1d6369345e97778e94a82482fc931cb4783619bc123b101b55479850668d7cb9bea002334b92714c757e4bbc08b28da64bf46ba9dd548e0633f991b699bd9b3e8c698592ce697b1cc322ff5e12137d804e97510a5945fdf78dd924821fb37570fd14b66de46f171ffcad0223ace06f93062ef766f51200355449934c8f7ae8fa65c2ef550a631c00405239759fbf580eea53b105cab527f57c36e6d03a7b57ae49820479cf013ce69560d3c043d481467e0eb36d0c80600c83221299097276cf523706119cdfdaeb57fee54bd2855aa8ec49a64a3fdbc0b5c71e7fa7d04027a81bff9d6f5ac466ddb63023b3986952083cd6fa6d606f8c66bb1e986803840e88e2caa2820d694bdbaa4cf1a6ee80503df09faa2f809249d55e4afbc7075bf021a22c10111890bf59fed9b0012ca38e4b2b54822cd6dec9e03cb580ec12f6867f82fa0cd34f499c970c50fdb70eec0b93d432782782c4c3d9cd771b896c2eef5acf91ea3b11c000b3c4c6204e1a3e0a2a1972899c3390e98048bac526a86c24fdee391c11db375b14f86a97222491fd5afc3d420dc44d53d2b2ae6740564e0c88a509ad5b2f13c9e0a742b4fd42fc521dd161f619483210870a6a721f56453a56bb6863df68cda9ceeb102b004a169c0f7f8b66ffcc3e42399ef3908922086acd85017fdda0f51a9ee29b8747d276a1d4aa479497e2540916bb1b682d63ccedab1d92ce96c0e9ba868c858f9691a1f950ca33c2b7e23aedf25782b074bcfd24d9c40e893687d74aa73b78efa33d0ee7e148e8560cbf4865caef3b278f580d9677a383328ba82bca5c7a7ea1cd90b057534aa76279cc6deeb37e76017657183a3689a72de61802f8522d24152f7a46154d6f4739ac80cc1f487345980ed6f6fb99e6c0256e7cf1b264dac5e926384a567d5c14c4130cea4bed768ab1381933c3d51741742228e4b671f5e0aea8d2434cde9efab06aed194f780a3057be975a6f979e9d24232179255785234ddba3f4902f54774642b2020f518e3b6f32943d74fe1dda71781cdb9ada9c2c65d26041982e8ebb39e7194d8f144421fe67d9d0f6e2bfa7bb5c313bb94bdd1b1df816ea1059a4f0e515cb7362be96a81374e2310c00836aa155e2c5baac3a6a33ca90b60fb4f262b5bc0c2a3f6ecb97ae32fd1d6a219d5a7fee157df7bd74b16fa3222cb3d3f4fe20c032587c43950ac969753edb739f98e23b5cbbe13a5a633e559d22aa1a6f5ad1f2c59c0b2fed66a62e6d34b1134449da9b3e4e250b3504bd2d9789002d0d27bea0c8916b16dca53ca3c3a39f8b5b9f3dd9f9296d581178a31410e50043530789665cf4af32f9a7e66f8ac72b6fd96914e784ca3a95fee85a207d35acba315643bee6a3021e7f23c8a4b33d9dc58614d145e5e5a4b53ba6634830adb59daca2902d55de6ab21b2c12c98f05a0e6d1316adfe66a4b9ed93c6f54491e55566fc9dd2e62ea20077ce4ea51dea93f2cb8d8e4a6ece9b31cdf19bfcd06b09aefad9da70caeff61a3f141320eda50b2a07eb9ff85baac9887d0df4500081d6b13d260b82b211ac5f51d7505c9f1366b93a1760fc8abde933e1553abad65159b35d14714e26fcf1ecc8e22ac9cc955d7e66105bdf844e8bf621ba7f46bc2e8002b53a1cde2b6de2f624b14ec1433289da9ba7374d35f543363bbf0d7f5a1557cfc823e50258d1ab7833c4f00190d483e27cb59e7c333e881fe83c69692e48f645cebec8d52a9fa1817984e4b570d4935d4939b53ea197dc8ca19eb57fb5a6fcb657a7c568e77f8a7be148cb307492c18c4b8076b380fa6ac91e020a7c6e74d99b1435daeb4c8d4896ade6fba4ac7ba491fc23df6f7237a0504b434a7a060da619277e047a8f7a086647317b8811eebe9677143997e28f426b5ad9c4964d6b717ab6c2a375c690b8321401fb19de1d96df917db7aebcf0843e72f5e7f0671ee0a5869baf4c8ac76d3f1240e5bc9ce5466e589edc7e505108c41038f47adbdd0faea5df99ea0faa7013c9f3ce96bac182e8497a1b99c02aad7c0a2369ee229026309b8abaec649af87be06e31ae58243127739fe90b2f5c9cc9240fc8f4c5ecc804f9394c03e25a9148a02f0e5203f7b6df441a6e54723025fa841fa2d23c8e216ea8219fc2526627b2e8efba55b0f19d9ab96914eced818feb3082f54593ad43ffac2bb87f496d17041e4c29695f405ba74c343c4ca18c3e7a354928b70650df68caa58f0dfae2e9bcbaa9352792045427c7f7fc892168ce5baeb00328a3c350d7791dfba36ac0c06f9cc5eb0748e74b509e6ebda4f8c36bedd48579fa28671bb751b0d7cea3bc58f25671305da1adb72f8ea227218362666cb3056b39619f836fa985590a7bd3673fdc99546b2af6ca1d36ca96d1455ac9fe5dca985bbfe9e767f29b3905de06b9913cc5464b6e0d671f0f704c4f0ccf933dcaf231b224f196911f3dd8440b5bbf59bc976e250d946a0fdb26505cb4b5bf01d9bbe13e8357e951384026be37562e4cfb589205a3a8f88e2202b9d152db75bb2e11b47dd199bcbeab505de503584b4aa9accebd27ac368e2d34ca070e2656a87f31f278b08d3d4914a1a707c6314e6154ff3b426d77efc32cdca84137e93cd47ef3f39f381bbf0a7769973d0bc2a02e76f0d9d41aa3e84016c2854a9026c5b6aaad92d140e863a1c1df5bb3cf374910f3f49cef10d2a470a16e027e3685826ea6acbc0a8be078b9d06520f4d75126093e59d54911f6a7ab2303ae6edcf00968ecae7072c58623b7bf4411a4681b8a440e35cf2f6007540873bd8a79f2856520fbb652a62a5c7918e8d6868889a111358542c727bc882fc1649c3b43a78b0f1760ccaea5dd1d7183aeec9b62affe713e4d283db32e9e7fb34487153783d07e643ad43a9a9415955e9f049389ef16fa62ab40deb63959d9563cfa0f42ca69f22e93be2a820613103055b318a1949a3db090310b02a614cd55d7132e1c5697cc6ea75f2688166b15abf08517729e4ce7950c6b1c4e0b3bbb831d698dc7f545ca3c87f12af70b5dcf0c116d57a187c157aa761ddee05bb3ecbf21d138dcbde5f017b406ceb4c1fceed62566f7ca2aa1d6ae5bfbf2230ab3d10467a77b2bee5c27e8453d464b5d8a6d3a168b9792c7353a17b3c1fb6106c04798cd3435df82ee3c9772df77ade11fb45d8673ac264a5f4b964145bbe0b781e23d78548dc940cf3581bd787dc7ebafa0cecc0517fe0def71a99a07af7da41f09bd75aa389bb835f6640155e94ded5f48afd85d67eb2961b298891785c92f34e42ff2fc4c440da79dcf4eac67991f760601f7cb97bd147ad8ef329a0b5fef67df4372b68a475887db403751bfd280837168c308828f436e705a431c1d3e10754b0512978a30692527c53fd29cfd30ab3a652fb38e0429ad414507ed849c5b437dfc44be875ea6e2adfa744445cf96b09144a45c05f51e6858907d27263513d4f2498f43ac087f4fa059dd994eb70774c479d16f8b085058336dab983f45c87aaf6bd464086d40ab12bead83fdfa722c17f81bf31746e95738d495a09fd18006128c523fc77ea6c56be134bbbd73b503e43b4d645406638d4686318b9b60e914b789f69dee487ab8cb689ed8d44b971bf929b4f02d8680cbfaec2b4aba88ed179e1d47870f7c98a34222def49472c7d53d73ccca98261d6978da511b09b830540a0aa68b6525c282469b0a6de20e87663b671c8e60593a88754d26143adf7c0cecdf1096ec453ad1903cf38e2fe81f49ab97ef3aba49e8fa9379cdefa3093b0cbb4254a789e11ba2e62bc2e04dab6a5e1d2961e29af9131a5375f6c29f6920e7193c167325e69533f2a599ec4492de270cc75bf74e26ea1b23fd54649face2cc29fdc5946e2784a7ce6cb908948210275437677010700f7ebfc3499650619c6dd5b4d533557ac4fa300dd07c761f0e0fa2d2775226bf35f97746d2c372f1e0b5b3d781ba1ff2ae59e353bf390e2b6f91a1593c6b10692f7d3ff228ba2597c18e0d6e03d9cabe3858b49f1d62b5323f4d54044f953d7f12943958aed58334bfbf8b8eb95635394d03895ddd68d3440876f0d73d7adc66347029453d6869b11fd286b643965bad0d6e237f4ad4d25d9b485135a6415ff0a8331692a4733f0a229595a3075c0f21cbec79dd4352083afb97b08a2e65402c1ddae142a92d8e4b19c35003f0247edad5f3de26f5f5a68ec70736b4ac5d56b91f4b7e2fd76b0ae5d18d203bb992895f53ba50427135dbd71e30ea3a2600f45c2626604afb36ea7a7d7cd0348ae87b8aa5b09ca52563b61eea79eef7ce4b62a8b5699c751279b75631a3c943d0bbdf2f3bf46563c2f6bee984c018e0066e7b5a7608cc06e6b743440872e2c53ffad3e43c210070d463ee440f5c91a5511077661090cc60b8b90dedd78fae41fe086fc1aec3708387f8a97e6af10dbee3eb0cac8d9795ce59f0d53a44982c7964e4d6f4cda10440557443258eb7548932065d24e1880ef93d8110bb78076c6e9e160135c75aa784e3b72c48ae428c32edd0dac6b07f01ba9af8783de7bd98997541b818e9adee0914c7cf95275890537420a23ad1b0da847dd28db8fb8bc264e9e37bd1648643bc02bf0cc470427b3de757a6c5540d00cf7b49a0b7ef97b083a0dd641d289d2eff1941839493462b1022adafa54295161b14dd66c06042401153d5cbd62d3593d2f996c06892180da528a0aaa6318e42a358ebb604063abd249718d61bb1c80b95640c3456f1309f88d7bf9c35617f66e6282570b15871e1347d6055cbc0e1f376887a35221e3b257f9468ea3fa633e01fabd5699e7316f373238602601ea3e87daa8b4ad52e6097476eb741a3015226274affc4db89dc430d0c09d493e966340c6baf0644a1abebf2f2437bd2cb05b17abd31d24471ceb2fdcc936333cb8d5b55b74e084083d5867022345c791fd8a8e80ee1794bcf0e69d97c146a7671ed03514eb378db87bb6c33bb3dfdbd6d0961e0cfb2b42f5bafa440d0ce1fb82f5b95abcc162c39ffd6b0db319c930e42543098f074e419d6ebd44377754ec4f975a809ba914e21984453955ea08e5ea29004c519ab8b4f090cc35978e6767d43e7b25c7ae60a3758f84c17a0a5639239f2ec515d4306dcd2408450bef0fd6853186914270fb99ef196c0cfff11096fde8e1fbca3ead3daae10610aec748fff5d122792740a9aad6d3881b78c47523146833180c53b25609be874084369315e182d336e4b999f48b6cc6420c31eb65bf80d948a9c4181bdb3cee887eb99a2ecac7820001f1ebfcc68eae52e6ff3d5b07aaca4b993d26482b508185cbaec12135a8b9b97c23895da3181cfb65c2c89bb7a45767cd11170a1c6ab8c6e2a4755c2598543c9fcb6afd3bcfb1da9490cf7e993adf420cf82e7559770108b73f5bb8e770ed3dcf16161714f5d96df94a64d55373f066fc32e967af622fb74217bf521f91889d20f673a3fc3fc75f215cd3a652c3decafc495239ed135b801f6169dfbaf1800a754466734c218a08688c24467b2190b71ad90f19e1fbe9feb76a17e454a4a56f3f57c437bec2bdbccb175159eca94621741d7ec4bfbef14b67a1083f8235e53cd86c3a5a5093c2e52ec974c3e4f06ffb0bf3de0297fa7b14e82d305437c33b9d630c879d23522865dbea08313073f4727557f47c71f2c5f87008d671c1cbf13a9fa09d0bce3b3e71a7d2823faac1c93a1d89a2c421f3938e0ba2852d15a7c71a9b595e877c05dc643c0214f5af1b0dfea7ff0b471d6b7652a7758dd08e40e47f9d29eb60b68246c3249543ba595a161d8038b238071442bec4588af6be294b43c987387320e793b4ce80d1ca11f86c2048f6f6924f55ce3897e8156fc46f4fef15529c5056743ce8c9d140410273134e933cd3279dffdba5344b21b262166f3b79e63834b43018a3ac4cc0a66fe26437dea4051e9905cd54091c8aa84c8ce70966779e43321c00c180d986d72dba2fa3eca61e1bd0bd2f9c52208a31117a838e78c04d528fc06c76ec3adc2e2b6fa971a1c827db2483bf8f93dbee577f4814bf278d195a4f73d142bf7c2cb4231f4500c4f81601c0125ed4a0e22d7c2ede48847e42e765677899e5ef01954712317940d0a0683be9f523e2dd6b4d31457401774b0910c0210201b7d079798c58e102866a615d3df7db30308459a50ffad5868c0799afb49019cbbb8b084517140fe897e1006d46cfe8c185e43820df9aed570f4e24c1df091ed6d388b7bd9ab331738cfbd6d149db051e3e48724e060986d42521bbe2dd31ce6914d87f6a93fe91a018e2522f6070b200cefb89028ab7e473f265efb59c5fc118712e590015df2f46de4c201233f245aa5610d21427925f5fa2e45685174ae61d235cc811a074a6296ceb1d677eb5766463fa7117e03697b5bb080aebcfb8f173aaea3e9e3baa8c480ca8aa8733cc431d3b34dc020d274bdde222f583f647f6da2ec9bde09c45f981131f09b5111dc0cb0ac2c77a7d7d3a140295dbe9811fd8af39b45b1ed562722bc6294393f98b9e00b10412988d8e4a23f7201e721367d025e7d8e08821cd09a6180836cd0c2e852da55742419e013b0ebae60501766cfc5a447a1c1f39be82de17aced7385fd5e33d2d24ea36af1f910516dbf4c87d5197d5015a251d0a196e3454759cf8b2a1177729eb2bf19395356a1ab68d48b1560b2428ef2cf7ebbe798bbfbdd7e2bcb9a6b00ae96fc10c63359dbb5dd1ca4ad4dcffe147f4d5d8fa923f58940de26657ce2e7b239d2830c789db48046d18883121807d5974d57d3fcd12930c56b06fcb4809607bec5d93c89aa4232d01232e6193d47b040eee7e0c96e59012884c0ed52e287c055666d48e966afa30b2f2c2dfafb7e8f00fd36d827c88ea7112685e3a51c88b720939b122e3ad88cc8724a3715515d7f78c487117844087a5b94c6a80d5acf5b5f4101990b991f6a5036721d2fe5d944dcfb614363afd0e932c972cd95c862457a8671d87f680a1b029ebfc67b626616b452e006d58a80a9751a31376adea03a6b861b73a5240871e35c628169fd796ad64607fa0457a90b181bc0b98abd87a0c4ab0730800abd5578b0859a5e600b1c6182627151425c944174546142851b96faf7118589dd0a3742aecac77f490fcb34738c0edd19ed95e02dc5b1ea336be5fb76da37df0ee263681caacc627260f8c1d755f04b467b7319374679e154dfad7731e40c44ee24be321a686cf4cd0e1f152b31fb3806a4aed68f1ba77e8a49a2dd8ee2226ede045025ac630b9287a9617d0c4e1e58566c0f9bb6fe86b894cf0f9b7fd386c78cf8d9837e2c82173f97953f146ce5ba97e923e975219568bd4745e1cbb7441f1cfc9ada7e4b5b17c7ba4b461ce7f767f69b2aeb356cb00d8a2f559590b2be985d6fba73b506b15e184bbd9415bd7fc79066ff883d40f13fdc3dfaf06d117882359dfa62e420835f201ce60279ca840d77bbcca6a85efb66c1c8cfc01a7b2fe95a5a7830455288b6d029f3792bc283463b910a7d1a2b49e042570376266ce8e2224ec367939bd8223f7bca559a9a1d2fc949798944bb5f644984ac51d7961cbdffd871eb31da8f781dff8068293f7ea3a5690ddbbdd10e38447312863a402beef6a634d95d200eca66edfaa2cc7458dcb36c9562eda1347a89aeca878e7b798537d7ed010ea7b6a347c9d003ed9ae5afc561c30c421c3abbf7a171a7ecb894408a4db24edbe1b0afbdb67c73d7b33cdb1597e8b9de98af31c49cfb54cdd8a786f9195a7a6657f95516e010d2de0eeb41defb3b0e50c477b611c88fc80b500504e54456856247493469b463093b84bb911bc14edce847150be85c657ca817f09a7acd56331543ce153a1f3f98deeff38b46b6b4b010000a20511c0c309717727c3dd9deaf7fcad60d209ae538ce37d8af261b447ad9d6fc62543abd80dcb42c615134e6fef255fe4699b6e91c8aa048693c905d6dfa7cf6d363e1de3bacbb8f8651086483e8f5daed238bdef515f1b41eac3a4c0f15e5c10840701042d2181f15103a6babbc04e3bf523d1f1896cab49330b2bed8895400bbbdd9abc9003f7950008907858fd012649f0424155d0c68a2cef3b8110322d2dc1ef0585dff416c9f24a91517595e95b606e2a773454f07d26bf0151d6e5859d41cb5fc7d2840fbbc68d4eb66d15b66084b52fda66f783a69a9c6c371df77ff9852227755573fac318017229ffc1f7f2af5644e9b11d67a0fe40937bd247cc741ad06bb081a6180ee466eb192fefd577c7128c7d70b8eecb61cc4302c21a5e527b326c258e4cbc3106715647295cd4b0088524f638815fb684789aaa3c43fbfb341081d49dedc3972fa1f79d7b923ec0fd02f18b3672dd7ca1f5cff656be11299c05378c145cc4dfdb08b21bcfac9e6fdf6cc5099d1a9fa385c83c04853cc9a963f312b796cb0269ce79e1f9d2a2b290e514a867560c6b06a0eecc757c3b6ca30da2eeef38bd961030cc313191486357a086b5d4c0c36117ceb458579a24f1419d1c67adaa4deded70524eedb947bdad0bc3af24aecefea278f6ceaab97983a8ce590be304446593c2c3b33205aa52513ef78fa9611c4d492500281acbe3b9d2acca28137f635b5bff9a15ad1c6ff821f1cdc7367dd20ea9ca7495d0f7855e7df5e2da856717dd2264681b3a02389207ce6e83ef13f06c26e8480092b1ad9592aa64db75d5ad061aab1548b23bc0bed0464b65fda912a24d605672fd2025c464c3401fdbdd669f3cf069cd788a345588c3d52a076abdf9468fa0c2c8102d5bfe4aead092bf2eba15cd24eb2f7b2d630abd6286502cce36e86ce755ab93213f1d4900781918d0cd6c55c6f1cb6a9ff4f276bc89f34a777077af5b88c09e5f2c8dfb31557e34b0352291312558ece17917323f85ad11893ababe545f3ceb8965157ec1d0272465a652f030a02e5d679a50648149f7dd0cf18f3f92f56aa1a37a33f0c1cd9c7f7fc8fa9bc7d15f42d5cfa9e5717c3e0d7c914dedeee3880c47391545a32b4325bfb7e3d9c93b4851f7448d2fe731527fbebbe50c7a3b86095e6a5d6b47e3d61822e0904b338b3c3c4ef66805116ff9392a424e023022f1e63e56a6240c8d7ac516354f5804d5c328b9dde1ba3ecd329b33d0c7a1cd37491bedd03d6eba7cbfc29afa8e5689b0d22651d6a3c62ffaf9fc8fe38d79cf98290f48f3666f99a5d95125cce18bd42daa967c8709db32b6a06b3b1a48684f3316ac5b8b6a216455e1b5527d7e550babf08aed92e76c2e568a1832a71c94599528da49bc1c3a4ea6a1fe4eda564edc96253a1626ae4b2cd88c43c254b55766bc9ed5d745f2b1fd6f5bcbf8fb790a4f029a8497cd8f0c17c34e798de7d43c793e80dd6075a1b9efd631423581a8ec052eb56e39d73cb6c0e7fad742c6ec7c2b2668a98a9f519d38f1ce643d5d34a3a15d5e685937ad885ee70c691e8db5f14b2e08212b6ba0096f12d043d52cb78fdb978520b425c1aee76276875d2304365867e2c199c44af90f415cccef13e726f6c6c6f3a59e2dc71e2666befb34c1dcec93631a56be74ef739cd723e6491d03bdd69e1133568f3a3332e0ae2f7317e2279c7e9a25b77be1b946992196c7efd542479cd0f1634346dbc9c9044e32d7dc48266410d34ae9b4f6c93e3b3c52459be4a2c4a433e6f90abea1065152bdcd6f2d944b314fe00dbc4ce22a494f834efe95302ed2ccd040dcc9e767341d919cdce5e50af189d415156412bb7fdd98eb306bfa054f50539a320fa454bcde5dbc75e58451cbcf5ba6e7b2608a2836e74b26356b721a5d746784283672eeb10e56c62cbe6775bbd82adc32ef5174605645d6b1477bbd1b0022bebf0e0dadfb973ef88e036edd5e53ae1b020c1b271a82745cdfce6be40514ba1e07ca65c738f4fc65efb88d51b95ecf51dfc2e7081177864fbf572eed8be0b7b72318b436f4ba8db6ed5a11e90b8583475c6b80b0a5556f66a4c630173e2aac2a112a9f9b990745c6135245b3c9bb832986f5803cd693288858daf30dd8f04b5700f1a90553276e3d3f2ced427e4f7068ade336dbc3731db374e4e2a9f9a9400769590457f6f183e0a2b1af7c67a68dedd2f02b5adaa9af274c1fc2bb6a900bf95d04e7594027190e68ba2ce5406dd915cb2117845e42aaa8eba4a6805ed58799d994d9f993b7b5fdb5e74f9d86c452a05e6fd6187b574e6c3cc4aee73ae3e29605257cb8946a1d7c4598bddbfd34bea9f487f413d62f9aa610ba1b7abf1f1e4e9eb28b716fd4b970dcd7bc1321f8c13c6062da1864a023a4041bb663461aec2862e35a4269c9df01a8fbb89561541fcd05916f8b31d565f60de8e72a895b79bb528117e922e43bcf4d3e034ff974922a9b087d08f8be464c5ab4ead9d0103acebeff0b843239c631b6bd28aa11c403f58ac6f9872c1759a482df8d1922387a5dfb4a12bff76593be5d5aa27cc78af34cc117df0bc83ece6fe03d06184fb5382146a2030e7ea505867b7ac42125bf9017a69411fe34a54b83541895c6183e13532e816236c77da16b965a9cce51245df94b0031799c7108a833ed26c38c04a94cbe26209c61032a56da8f5391b84f73958b07c430dd5990d5e776b95e86d8eb4c989a6aeb22f26b2e7cfc584e5c21f9f28d9d11bcb6660fbf1a6ad28490df3ee50e5cac0da17d75b97ad11acfde16e5556735cc09d4c74d6ef3ee78c76d7991fc61273fe31760a98bca99032bcc9eab849af65b210b6d1764fcf34d0e4247deb829968fa239a89ed2af47dd2b2974fe4e133b294735b556aca0e7e0c84181f4a64d767e6bcf04770d90dc178c92375fac59f3184df79929d82f827b83cfad2f9f9ba72ab1b78f383f4e9bddc6efdfdff4ee6364d1b3a185edaf6fd9735ee926fa0522dab05c97704efd0dd7ea8f5d9bf28b4c32aef7f564950850d94ded0486fa074991b8aa1c683548234fbe4bc21081b60ea419440ec863ee14a80aada8caa409b037732d04974ecb4d4e7ab0e2636c84795ef781b48f8c9fed6ca521f8b7736b93d62516c0713d0f98dbca4321ff4ab39303fbd0b189a1ad6e23af42947f14a63fe083ee6ea23b6f52ea2d4371d80b6145003cdcaea3f34d8fe15b77743fe2e8d6c461628c36816ecc58368be960a99b880b6e9697da1a509cb06a1c80ccf6c6999c92dd4cbaeb75bccea26b654cdb78d719839c9b36dd3adcf16b4c4eb8e7fadd2b63a09376e7a0541c9c11561f6be7ee3441aae8077423255c6df5703d6a426f8dd03f3d20f7f50ef45f2f1df0afe784e4759381fa5dcd8f21a93b86e3547d7d259f42f98938dfebbd98a0503e971ae38e8849b6bb52ae4d5030ef65bf5b7bf74abe4965aea1bb1b7062f8d55d152d82e7da1d82ebe4bd1d18bccd8e405004a5f13c59cb954a313a5feb95eafe55b7574b01e713e489c8d6e5b26c23d2f66282ec0b9f7946394e2b277786db41b2cab1b5f10073586925bd3603054a1e2a2fb83207606bb7f010078c8c58a362d268bfe590db0287ceb4149ab908242693cd2431f561c0e25813d1d27d18cff71b4bdab6b067032791ee3f0c428ae377abd4d423baa8a94e0836f414ca010bd4fda4513dab6ddafbd0cc54dd6143c937a10a442498bdaff923460c963228c7ba8bf492dd146dda27c5df6913c33cb3702136b0353d79bc3b8bc98bb3ee3774acae9e863f7ff6ee1a4e07fb1baab1b37ba65b8e6603331c20aaf5440e89cbdcc083988542e8ea9b7b6986d6a5debeccb851afeed183573251ccc32940aeddc4942f36938126893fbf2c59edf82921b54739fb18a38a748f901a50eddef37983036c50e4aecf163d820869616913165e75711ada41709e3339930a0d34ace85b7289c4aa2641e449e7816065717b4fe8968561f2086d862e8f13b6d11283b2b4d8ff65f0541becfbcc051202b17ca3920acce313a13170c78ae9512953cf024c7e935e13edd5e0cc0ac5f07b0e7592deeefbdb84780b880e3b89fe2642f7586b11a0419f76b92703fd529fcd8782cb0b1cdeceacc31ee6600b9f76a2fd9289ae2a2fb3f69c7f2ec11fd49bc6614e3c01baed758689557451ab3940c7411428c42df5b3cb10e50247f007d87df7c44bfce1dcf5136545a05e5190935eef99d87d51e074244a11b2d6062cbafb42546c9f17c8a39e06709539642c150149cc584d4fa9cec88d33174fa68f48499c0f84d6231e4afbf507eda76da3be65bf4c7d22e79ca90dd78d81835fbafa552cecf0ad3f2aea4ce69409319aa9faf9bd09ccddddef30715f1232229f3fe2f016633396b7c5a388f37ee9ef5a6f4fefd338f22d98c57198ba2642439dcf0216f5bd45cbd2d5c7ef741e3bcdf1fe6dfcdeb4535db0c479c044b2758fbc472a69e164d7e4f5fcb642f3f083daf69e5df2f28211c223cd044ec71b8ba4966c08b8197f96e2b3a03d6b6c3444e74fcb32fa9175816700232dae575d52a9b3b7ec152aceb4d495642ff925653457091632d05630da4bdc71c99465018d650615024153b83586eedbb3ee6df05f594037c92da966bb1becfbb5b562d702baf12dfb5c0dab793814f16d8084eabd945e5d32e0d2c73e3d2c4d7796143fc8640ae946030e7edbe1fb04691baba850e24d412e55d87641ab276de885b04d5bad4c4a3ad5d85c7c3877b5c0a33763491066ba8b863c432a380a60d0293dbb05b2e9cdddd6bf67444410ff3184ec9c60c1c92326a002628598e80c3ebc9bd02deb34941e56b98bc9fb845a85f11a2d8c427c4c1f8cb37315eee0ccd8baf8195284b52183b6919c13896512f7a6c7ccf019501498c7b11def2220ced0585ed21892a6c8d05c879dbd8457840ae349420f2e947d39fc8ca0826f203bb16b890f810b30e6627a550e28cda2dc59c1a7a1bab439c86cc7687249905f904b82fe094847eed4f744ac5c5f27640e98f35b2482e51fbb4a64853d52a386a99edacdc0961daa2c7acbe8199d67221b4ba9d7f4d36e7df694377d02189e4546f06dc25330d0370da1ed4af7965a969934fdfdb6cfccf483d91bc50e9886c791d4ae54a365f6c101700dad7faecc45c1808bf90f9405a62d2facb7df8e2c46076bbdf7e4745023af464c1ecade7899803b6f33bfc8f17f33157e28f3c50e57aedd05a3b2d5d5e5163eb0f07ad54a9777922c533f8fbddc02095f7ff42e0b1c0d4c7d17a80774ecc317aec80a5c04fe863cbd07e94cbdcbcf34714a8fa4d5555d6ae4bca2311dac0d9899821f3e730e187f8d824e027853592709338852fdee0d8b0be5918352a70f59e2adede151e2d9e8a2758463e0345d0a013b558dfc72d4376edbf34e7bf97519769610569b4d7199c35850ef98d794055a1f5404367556d6e4dfc9269b2c0a259220e1b2acfd948ea0fd355bc4f0bb5cbcee91c886476c3cfbc2006c63be2da3e813f7674216ff7154236ac19529427e8e86bf256f8bffa8f5ae9b9f41047df250e6d9fea2807e0b29c04f744b9a9faaf9561ddf1337bf66e0e0456b0eaea9a553142cded7ccde6b2273110c419cff7290008264d05ad5febe9a45eeb6865aabb7c4e55222b6a86998a0a4fea18f94a3af665e6eb8a34518cdbd76c41bb94b7189e19df5b43f88085f99f4b1a95d817b30b7d4320039bfcba75de540597b4cfbae639b7e0ec2db4369f20bf39b07d21ae64ca425402b46768689fd4206e55413e998131cfdc4a7333eae1b722074f29b748146873a472e84d6f113f8239d2b6371c10773c64a8ad22078e538f65d62c1ec7643e8b66dd6aabff89a53f9d06280bdca01c4f7816513ea2522a922f2611479d07794af1f891adaa79cac2c8c68e4e1bd646e9aac42f8ad33ee0ba68dc5c29547e9d745dbed58a6e2bf47a91d76ee95dcd3d824cbc021f03276b5d20d75083f5c9e131c2e3dd5f15e373d3d567dbc54b9e227e6f5b0d594ab21000f23ec89edec1fc2ee8ee7963dfc3e07d4da6ee1f5e049ec7b4dcf29e083bfd5f20176f0892cbc8ad47114beb49dea1759c345d86a3b3a04aeb31683c6dc0c11525861ddfaca4b0ac88b89d3330f50916f997c1ee486da786a40b9953985a2e25e8ac2624bdbee42598be744af00d4f3b1a99c34417be32417ed1e34ac99020b25590591f2ad312d95c274cdb8c613e8ff1e4767e583d509b91ea25a0cb19e3a5c28bf7891149956e000df7d17574b3e72ad8649729f8f27b005b656cf76cb8e50a8b24998832ca1e4b5f68b77a0f0b355db0f1c8a369aa5a9c5eb551df3351d4982262fcf9bd9afbc73c87781df6e641fbfca4d3827fba9b0fd46cb5457b9f2bb5f5361bba2920b797ddd2470871ae88932598b4033da4b96b7be4db0a89c477b6423eea45f3b260bb83822428ed0b29eb2f213892bae8b05e11791a8f37625cb8c3e297baa279f46f037cc5facf930e9a84f3d51dc2436f1c15b01f145eaeef5e643a3e6217e3dbb24cc518507a718da1b57c9ba2ebd661b70425d5c2d95e0ab4aa99c9d83c9528925f80aa437ee165ed7ef2bbbb3aeef4c75b81bdb56aae077937971ce456937125eec45f219e994d2a2022efc0dd265a03f2242ab88be4d9bf8fd7287ce4d8a9baa30abb4f0d6995f10e3fb21355169dbd5395b0382d7ba9a68c79c9b152dceec4c0dc902d8de1008abcc2256b28a2772e7d65d255e3690b775fcbdec200f50467db402a2f92230309a9b08788186287bc26757110fae079aeb9a91fe40739ce1d068cc5474b23c3a9d56352a25ae91777af79d5daf8ed0bf4ca9bdf6732b505245dbffcd24f5ae0a8ae01eb55c88d94b5c87c1043280bbe43a25884b1ade26f7765e82a6574daf994c8e6bf40fb1bcc8bcd4d7478e96286c65c819e940225b74297a616e3ea32a9e1a7e91fd06f95db777d72d3fc62828bba3dd736ca672502eb9eb2930b1b315671e100c0d9ccb5f379e6975caaa4b89d3ac9c4e6ac9841270a3f4ec5dc73cea39841f63cc447d68de246a716840a9ecb7de69f7226970fc56b4fdce9a256462e13ff4374f3f3f7e53fb4cfc14e9be04ceb42ab35dd734369204fdca3c780a39b50916946134dfd865ad21eccfb23a659f6bbe144160a51ab1ce491224321655bc9deb8d57a236a71a04e0e179a0c7c7e819067e36abad9e547fa1bcd67404a177a425913c792b8b43a8b15d062f7306f87df7617ad65761cff662a798dfc45389d0baa15f3d7cdd79becd89afcfb62df4e427ede922f07c8ce2ea78fe9b51b8929ef9c0d2934af14056197058472a50941609980a2c7d2eb12deeab0a0fd5b88f0781171c42affedc9aae560f76d14cd37dc5f4127c8d4a6fcae822501e964aec9196e8c960140331ac80ebb08563f112d0ed4076ab5cf6517acebc72c997e84117a040a1f5a306d0f9dcbeb18933fd6ef16859a32ee3ab2d183263eae78d690035ad43ba158cae2e013b275188a303ff9a1c3cb4e525208f6df8ec1dcf2535c41348fbd952a284f91ecf0040e6ae2711a268a62efe7ed43ea4346f06bb551c740cb0656ac5e6d4366f8b0c5870aba4f6a21e318d328435d70ee2c204009d51ac07a82d37525be8a6acd8945d7a0264d1d7f7e6127d52615b923be8e9a861642be3bbf7317b2e064a692596c6c7eac24945aa1ed9d91aed7844f2bb7e3a8eb7bfb09cf3f13bb7ecc049339cb074bd2c5bca6ce00baf8df7796264667932525edfc168ff2ee0b72623dad87403449d3ed07366dd571d27ba8b14903920c9a4822c1b79104854d41df1bce9903a4892986be4e69e42d967eb0f4f956f8f2e7eac56e5d70fb612b24db43602dcb33ea939555a0ac259d0117712125fac0c816cf74fc44c663d7f8bb1ba84efc257e6f8ee8a40ddbea459cef9f472f393ed29d0f1ed0ee36e19c6b538db74964b7a4be7ae668deba1f6f05065cefc62bbc9d79a4ebaa595f27e41be8c8e5144e9e1d09f6403a70981ad7b9e8e6725936781bd6842a6cc76c9b1805a47f63bbb058d20d42b05649bd099c4862404ab0c9f74498bb6988a136e9a433ddc25ed21e2dfd15646d3daa99c66a48e2280a0d74f229cbe6abd71bc55415db14d361658d88f968ffac626ab7ee8633d8e9f69cfd4b93517d6a8f590100fe205578e4bd54d0d0f432f0cdf78eafad33f271c6c70f49a379ecedf019251d379b5d2c9c78b0ad0f5935cb7d8e409e66a9539ed5f969bf9d65fca2ce5e0441456a132abaf67f0b6e89774270435b362c89f9d3ee42fb187f32d9e8e19df1333f99fbbcc375cc973fbf488e22f00e330ba6d8cc400734bef7dcf46823ebb828928bd1ed6ae51ab9db2398f4c8e729eeb8ca74e7fbb263bd54105944301490e1e3c78b3607c45a89ae7b61d4f1a3a517de6fefc208e0c77e32ab211e23242e890dceb4188e955e8b26706739dc07f48459c6b295a645291eff82a2633c116d5ae2a07001003500d94289a84d09c51c799d2c6c27b65042cba8cbf797ab3d50bfe0139e2cb9c569c117cf4892546c3818e3a680adac232441d82a08130d44295f40dcf1b66460f10420e4f80318dc6d7a3834e8c8b4771d5305b172835731764f58e0276fc2bcab4ce83e270e327207996069ea21a4a129e0262a2124a819769502eed34bb8a240ad268f37d393d66e16eafb90c90afaa7226bb12324c6f07759fe690cdfb22ee7c4a9cc836a964cfaa6dcbf9f006b8e3515b78c4f42f3cc08ad2cc563273230ce15eed75bb415489515e94ffcc15a55ec07521e79c8ebe23ac0980a1cde17ea58554f0595a3d1c7cf917911a045bcd081e762415a6fb0b89106c5e118d6bf23e1bb5f7861f6de33906cd115acfc34261b2170144b782b3f3d4821a816ab778e941bcca08faccdc87a0e605971b7017cb4199e5b10f65f210ce15a462aebea3099f5ce4d34e9910560ccbb420484fa92c9cf58491ec31ff08bf8bbd7fb352bcd13102c1b8122d4160801f88c45cde4f0e9d9703e070aa6e94738f76b73ebd53f467702568b5c733ee564b8e3e24198edf9c25a25819ab515c52d1e5602e26d93cbbbb0d9b30900b69abac528f2718c8b2ab227da918e731736fb4acae2f563f5a068220c71dec6f82831187b7e5b476018e644e2a5e2e798cfeb6246f2d88543b417f482610dc11fe6054377fae882f2eb320b6e66874b5fed1596820fd87c65427072347b615e95632ee460f7dae552e61bc28757edad93350e4b1535deca77802af4a90909b1e2bfa7eee38d3f45a71df02c438ff262ec98f1ba3e6cd15acd623d484ab4c3548140adbbfc32fd0162afa813e7355f28904fe6efbb9852140e2abec35f903035a0bd91f55bbfb1af0edababeccf9fb383a512073efa2307e25090685d78760ec2b12c998ac0d9f33cb13dbc4b5655cd1f6fe4f76b39dd7065cd35fedd8adf1e162f948590d64cb6a3269d99ca2b926d005cbd2baff49cb29cd7f3328d9b9791e46b41753093ee63e5b0d802c66fdbb60ee11b4b5bcd3f52fe0054062a4aa96e9829f52d27c7c10d7e40d50f8a129b007b3b5d3da20f9e6a43f0ede4581f00ad8becd54e3b8ba04d9a1d8d55d97efab3dd22ee3f16aa4aee9be673a3921f3e0b6eab0a812cb48d64773881ec7ee02ff8e4e98d4ff1f793365576942ac66e51dd94dbea045085eb654ef0b786b6deee75393b63e050d3d14730c5531729e95c8c77272624ce84d875adb7a3512a01051c2d14b65ed595b78d25ce4892cc90d9a973e802deefd36f15a6d0b6829f4f4b7fc8312e56827dbe85126cff23bce1119baacc768a0d5134d98adf79c8f98f551541d6a81f490224314fec8a7e37117b01bf4e4a6f14dfae83f6466cec6ab81d94631dc7c158b7ebe9b9da6896acf45d42e32127798ed99ec1141e2badbb14e6eef3c07444e6e2fe885a621b9b28b881568a8b116254f0f8c5cf50962049d157de0f90d0e9a1ca314a5979cebb060e58d76960f78a437bf0a9eedba1d68d2cc1d6216d10d8b59c03c9404c0bfdf019bf324b1dff390426d43b5f1be0e3b2c86e9eb292144faf68c20961ebfdbcfdabad426c68f23142b51ea0661c4c4150e2c462a6542f765e8f1c38aae0f49b50afe62bc9815d241d088214ccc696ba42448f47474e65e3ffa6dfe65605bfab6df6a2456920968c76a2a8f9ae783e6aa3eb66680f853f3e8a0a07039e8546d571b7658e95f59b962aed51e9b040c758452d6d412ea9b49e11241e59a6756b5fb17bec1e6cc52a7453a9422f92fa3cd6cd68f408e2a1c815b942ad805efa9e85c72197875849dac34f007895118faaf333115c613f1b2664de723680545d372080d2b749bfdf55596076720c24910ff0d6a9f359524accf63952cd4a6a8c94b81208af87ad5349649dbdee235c41e5af7ec90a0ec72571d13a4a96f953011b208042f554208e6fa088fbb909caecca7b8cd1033a113441be221c48861316d3b57eca7567e2ec47289011a325ab3594f0cbbef4487d1a92b7890cc15fcf80b38ca911b2611c59541e2974f53916a4b0d12affb9c74c2cb37797e6602bbf8ab4b7b64818ab4042e67716eff460ba39aa35e2dc1f2db6c860d2ad5ca8a95f6448e0234c62156bb01d43088d57b9a9c44fc17e855b77c0a16bd8ebfc8a33a8a097d3ca82370eca1330148371e42e82ddcdf8ec93d24c1cf4ef1beffc1e5c7db01547cc8f8d2bbd36bc1377ec1e23a88f96a113573fe290c72b07f48726b1ec3dc1a46430d9c4668f8d06a54e311356d85615bf16e929010df394eb92f2b6c349ba7f350a1d53e22a91f55dc45603d44c2a3f91a8ea8d32ce93be1fd09f216d79e083557d500d92eb5ef3bbc2b9aaa5f9353071d8a25b5ef5f8ceefa7df86a9eb66bf6bc325a412f818e02d3f8b2aec26e356c5d917e93d0f8efbe957138d0d09c79e25f0f77cccce3a9687178f5c0d64a4e4f2956281a735c40e6eefcb0fc573c7949658dd48b172c1f08bc33eb0f7b367c9eab220325c25bf95c340a63e2fcb74b1f10576da3381869026f71150e211a6c093d84362ec0cc85738c629d063d933987ece23762ed0e00ccfdafee4f0bba1bab1282525b43c8db368c3b1835a2da4583721d34265de77b83eb58dce8f875b3d6928cffbd6781a9d8384277650f880d3f1d6628233118459f446cf177d4de901a4db7913038557717a09c3dbb618c9e7a2aae946228cbaf5cd24a9ccb5b24a04bcd4f08836ca66f0ce8412b6337a456eccd61493dc6bc44a543e95d03335be621875d87425e562582f64ea30edcbbe4f551ca11b04e8eb537aed5bd39b3200cc5335af5b924f64080bae2e18405b278b02c153006da6dd36c73a2d7503844d64dbc31eef333fb9162d10604de3f21dfe52f81a6ff0353752066fde8c52d2e743976886243816d4ee4fd9d915153e726331bceee419bb1ef4180b9341366c84841422118fe9f2999fbd71325f25d2e26ec890649885f6104219a6c9e5c46bf67e9bc551d33456e723e14f8548700ab325e978effc21c6fe69fc71dbab868e8fa5bcfb03c2ae51a2656549704aaa2ab98dc7f2fc2a534fa142adc07e01299323f7eeea21c308e69f77cd6cbe8cec24fdb8931be0f46d80aa385964ba1e819e6908223ea6de4f77ecd2631cf4b4aa9cc8752bd8a0a922cf990dda17168b7e5a98c96ab7843097aa71f85cc4fdb2dbf3bd227521e03148881d8ed9d581f4d6701d7b6989f33639710229bebe888878eb8a036ef74860c180427607372ca0a2863e333b99f607f9e437917bd71f0f4b6eea048a814c0df290af3ab604ca7d964efc36fa08dc6ddaad6d20876900cb076d6d78a515b55cb632786512cbe4bf760ac3f603a332d25d467e9251a7785bae8db4b6d74446d17e991d8212c38c0313404d9069afaab5c31fe74a2b1384966b2cc996c0a042fbe8ab4b4c8918148958250dc43d6f9e566277486244ef6c211840af00a80b81ebd0afea7204704bf6ef34520899ec106a270c9e3679499b70af90400bc6d12648566286a70555f5a07ca4c9bdc83786281e879032423a8b322cef0e761b520a211bf08b884c39f4f791c4df64b01af47e47d9a795338a42b1890592ab6a70fd1035800bb935df4ce0956068f3d9d82eac612ba209227a862ce06e036a037b3de01473a787c10f5cf1b9c6f1fe1dccf502a8be0142a598866432d71b2dde9d2a465acddb99e069f1c177f5e8371e1b97fd7bf9d4ff0409c742dff6d220c3fb55026d78c2fa89fc8abeb99a866d643d132edabe76d189f448ff49277e2b69307e8147d457e3187366ccb1817433dece93db5d875990a945dd91c6d7deb73a6e0f35994fa6f05ce008a3616d5f42f4af89a5b910b82ef5b6e057f615cce1e05187e991808cddb5e75a3da671596887217df0c93019186750fb2e81542ccafe0859e1373d1f067f82b348b80382e57507ce54dc50deccf2f96d4110409c15d0f3e04dacf1af4df03aebc46a71b99ffb2c6246de6639f8b65e2023f3ed420cc6e80c733f0160c9e7bac261047f10729660c68598f55429ca4d8c13445aa5101d86eac6cffb8125c36daa527d8ca40460a8e799f4dd5011179386ef802a19c46d92730052c46be1a351483179822116dd3343f9489c5d4ca985d699ac5ab2e13173d61158780e73ac30f08bd2636659105ddbfa9c22daf439ede90b832094bab299ef003beba0711985dcbc1e067158b7cee9876a52b326cfc22f289665255f436fbc0fc7b8ba0cbc349e4551a341d6af1185eddb2f4007f39b8bb65969ef857ddce73304c6cd1efca1218b45e8bda921adcd1e86852a21039a8575982cee5eea2398d5f516a03a86d296572c5354ae21b13849f3eed84108158b7d33a27226a70f5d525abebc8844e05eee3bda1985a3ee7b24bf4754c9996bf9fd239e1fef7ceaeaabd82f11f0c46bcd1e366eb10d134dd2df4e39f13351cd9ef20e4a227c8493f42db5e7f0dc56368d764ffd9e9c567ef677391faaaf333ca8edab9aa3c7dcb9f550d5f485145971355ee94046681d7c3fd2e1624c23954a8bc86770fb717d54712502878145cbe7894cf9b6b0c5b9a4cb95d990e2eed3f45fbc89b8b760133149e153ad33e713543b0828c7c34dd7889ae14ea2eb3a89ebe285ebb892243bf4ea08476ded644d2706cb0ff4adb132588b1cce1138cb2f0373e6a6a0464b0cca082579ab8e75cd6379236976013b3fdf2a3d22e6b76fe79fdeef5cdf344458ae9d09fb0d467590747713c1e217ecabdf0f8aa796b0daf09c1a39105aebfa4c25a8d7234facf5c2cf93adb99c82cf3cf23cd61d5b246fc25f1399a1f48f21e3ae9f96a33a9aa48783048acfa9e1efe72315278376b279de22fd394894e44f0c77ab719633143d85b935677349ca747566d1e69743d915544bed2dac104ad1916c45d23b1618e8378859f30f6ac438b7efeefadba48419b4d64dd43aec0a635022ae372c47a1456956c10f0189e8e51c41c9ca37af34fdc47f4dd39d19a12d7c29515e60865e60e6a9cb92666075cfec3fd2a6a514e120f2dbce32249739c4031c253f57d0d84f37dfeacfe1612c90f06dfef96dda718d95fcde97ccdaa36aa0e651b61e4947435df5f4c3019b0b6a7368e419ac4fdfc2f7f860ac4ee12e7fa93a92eb4401df25cf18f0bb489df5a7bdb8029687d9bbe3f1cad04725c29d77ace929bfd49b566c7222435dba1b0a8be7858742aac3b2479c3e792633f549134bd4de7bccb2cfaa76caeba1a29fabcdbaf33c61b1a5622a8535633d6eb237c1eb6419533fe6d46163c37ebafa4d4f3effc653529cd89b4ec126183d1584fdceb7a970b4fcda54f7d03bc1c0b430cf6f7dfeb9e389ddc2dd1cf7fc3865785179da253e9ae3189ce318543ebb895fe137432a11995ddaf86a06ab88912eb39c9f0366dcf38e3e3c6c8be5ecb6086a0fa74b907a3912cf562444068a37576a81b4191ac681a4ec65c2f9d117f5dd087c67089ede828465c6f8cc9ce1c4787a15801924e6ca4345ddd1ac344138aff0b2d6413dfafb5926cbd0f357a171389ff5ce0b52d47b22c13ff4f580208d0b8632089a513b0d35ca0f1b37ec0f8962f63535a6f53cf15947a29fbc6832a59cca8d7a843efd3392c86c0b7bd4c60dafd1e5eeea08c846433e2ddf057f9c993a4044bdc6d1566c262eb04e0aa6a9e91522a803963d2e70a07d1192feab6362aba34f1bc5cd73f66685efdf523c5d8a4154d6dcd0c84dae8944120d3bb8d18387910e1d449957de5551b71d758abc7948699d4da7199b3e5ceb0d9d701e0d86a3cd76b4206de29faf1cc7dc06aeade0d8b710706c0cd0e44bcbad36ad34a41d8e4c8747966d38cbee4ec5fd87fb24da38e85456518d17a185f0f606f1d59070bf08ce0023fa84af9326afd164bd0b467cdf71d9989d343b10328bdc4983993438c76b4cfd31eda21ee3524c1e0a1488cb7408e24fd5dc6d4fc9b9942d38efa9d76b60b65e2cb3fcda8f3c3a99af58b3c20f13e72f27d3d396662009f077302b25159f314cb02e9d23eaf9e16a29975a8661e2b6d300ffa87d82a9ac9c0b81e5d5e863ffdd9c75934cd44bec78ab1082f58081b001b48c805e8d7d8dbe3ca8a72c4792143b2612204b79de57726ddf6b04d5cd15dd11725862c3025b7d279a7c50b5aca44277f5ea6303644cb8c29746d9d9ba0011c4d7bacee45cbefcc8db5160a888166efb65591bab48a629f6704034da3b6b6d567ed24b96b69223d925db2a040da85dae52693f29d7425debf15eb13e6b660404cb4d15b51e5536d600f8e47058f89a39993ec0305d6f2be675521482e2416dcd7c522868ef086b85ebbb24504989b3006ab521c03c6d5035651a5c2dc4ab8fce4ae44c502895434c6f589c4a24447747f64ff322efd3b15238e28564c223ea8f12e2b0a691edee3c34dd8c3efe877d5f5675056ce062d02ed7da198404dff0de58c7cb54428b5330221d1d340b413ae44ff56d02e2bb72ca62ac9685ed884d74daf137e3689b9aaac5e7823e016a3be24172ab3b50b54457e45c141a775e42a014cb75d30ba08e0ccedc7e1c5dea9e027b78ed7599494af9a2a31c558d128f7d5ad986cea27890c11a9227afe60e133a600a598e4f4dcebb5dcd5c166bb11ba2092b5005b54c10fb9ca0275dd58dbbaf5ea5f1e2efe24ab94925046e835456f61aaefc827b7d2877729dd5e1bb3a9094e567719a51ba25468e78c7b665c8edc805ded44233d05de16399b9a37775571f3a9ec75c6921dd76796afc12655e4a2051bebe7e8d2bc492cdd7bc2a9f28e9b27995a3491c2cc0fcf2db820f18e2afec180e758b0a1f36f770c00c6c39e89cb5cb100cd6050c0fa7ece8cd9c816d2eedf1873d6c71583463c21158715e705ca430685f2c1b17da29149c2d078696582707292ef1878f3f6d8f98148f79b0445821749214605b2e75394f31732763d0ce2ff081f38d2ce57778fc990e7684a46f8513b7dd7cb893c1008875269a5520f1ab4a4ba736ea6b40c8884b36d399fce438993524b3c0d5711ec8fb5c75f71765e794416910404b86c63ed51aa8a8870722249eef2b731a4e308fe91f3d51db211f326e8b99677eb96821a927e4a1d9aca40cb5a677f74b868f0eead0f49260152d4b3ef66dafce08e209722bdf34e1e0b4ab3a27edd146fd6339d2a6aefbf6a297363627b5ca1d8fb89bdffd16b8e271a4800a224430b8ec17bcb4f8993142f3fbd4cc0c6102169eea12b2288a86700d7cc542f0b35d93d4c0f917b79f08293d393e444d0ddd550534f5cd8cd71f9f51fda2c8258f6f72fbf363f2a8c999c473be9b6dfaf73ccc9b147a8b99050e210a9f66722f34d1bc8e16e2a34c36c01dc4c87cc872b955f04ae9d069611a1d7a43744640fba5c59539de1b1c48d554f5f682537205d67eecb098cc60d03c1611824bf489ceb898a0c8be810469e0cc988a1d538b5bc2ab510949c04280d82344dcacc8c0cde6c605dd1447988dc4717dd7eb3ed39c30c64f5b3901bb280470b4ba46c98b7c86b3738399c5776bbb8d42115e6aa6c51d1841e63a9eed6b0c702024c102006d6ff30049589a56d707000a1154d636a5914d5f40689d8c90682d309010e122310b48e113dbd25b1ce9eeb220f729823ba71b82bb35c4267a2203710fe4227d244048a40467dfe822664508744af85de99ec646022ed33877fb5d5b8d1ff85c856a29a97bad0709bbb36ed114cd720fca25ad20d14267a61b75fdd6909f370ea7bab389c0f48719f886d7a0f16e34474b27f3c4051d549d9da2d023443a093ea051b2857747837192da1064812111e0f05b6593cd08122cb7ec0b4ae287926737b6e090d67aef069e1f14004f90028eab17d86258f88c328929fd607f2b93e569d1c33e1aae710dd2ab2a17207697db489cd6b3f6a1f4e094b501e4b1f95227866c8352d7991a28054243bb8a63e45579699ec512edbcaf90e3835eea7aae6923555e0c43c253460195ab9feb1764802cf07531f3b98dcbe941830ce5b4e72549664466b90beb3808a3a655d149bb9feb2e912a046be35f1ecfa69a82a90ba31a4a2ce18e8591aba49c6f28b31387e53da1ccf7e63690f3144c06cded98984b513f4ce62b780deffcd23f87b6b559bfc8f7da4a25c6e61086412db083d5e7d78e153a1d7871da0782e847de44abd16ae8e57d647dcf506e2a129fc6ea4633789b1c8ec44580015bb40a404d68f5945fd3460186ffee406569e25385dbf100be8df0af233d27db29c1c4b28380ca4c3cd3b1dcd5a90af323c3aebd26c8ab5f492e8b818e7c789715ae3f7a26ef8ff75ee0aa74167f44f69a589ee800b22b6ceb8a7ac8821dbc17e18c9b217057d0e82881033cbd73fb0e90a9f6ca72e7803c850c16c84a5bbed8f2390c8eb8b1b6bc8dfc84a8e225d6c0084885282071390aae02891a281b248622b022d45a24e2ba01f081a08c82094cea6ed92b2e90facd3c7b2424c91f46d0a2c5430a082623480cb8d74925e7267262705200371d977c35540578623ff4e3f62628f742f2b337bff1d66e17e6e4318162907793f90ce2b8566e229bf5493fbc9eb2943534547bbbe9f1a1038ece38e930b368c4411ce62f90adaa307808920f57576a8d0cfb3c7097b07078e191123d0fa2c360d252e2085a6e124acb8db5d20e918c73c4569c3a4b6195ad00a98bb9ebf509777f39ad2efa507dc3197afa45acdb3258162973bb61ae3cb1003a0f97a460c8f8124096b17048e6bbbfc3d145394951140194b44ba8c927e2aa3879d89ff2f985744e12d588f19b3fe4649f6551f8743c08ae51544006d8bf4bd6c7ec890ca761bedc4b7cf68924179c8a17c6db84afa107337c7aca820f7b79581657112456d2fb7de9ef3c6e44f6541e686786619ff41fefdead83bdb26bf7402a9453a99c7356a7f429e7aca737febd37ceb938bef0355c78a624480dc9b5b834c5d03b6bb6acef52c8ddac4a42f7e096e7695b85d20ffcd1a8607de1998e6d7aaba843cda591539713ae8006745ab46c74497dd54f3f30e7f3c8cb864fb55d64b58a8cf07be3f488d1d5702fbac32e3a80283ed723b95f314dbaec69ca0cb53836d1da26d894e58b86c1de63d14209a4196701f0a382830de28fef26031c814d850e4c8f0d7a645637f929baa6a84ce4ccc3525625d36760176d428839a3e36cdcd8324b7f4fa980659d014082548476e110470e1122e38a86c83897e23f1c3c8423d0b5181d3bdee2d106adeffe2fd2da05472a8b5f8984b6b74274d5fe4a81cb7b9fa8025e9c94f2dc4cbccaeea809c74979c011dd887aa1fb182b61189e0049e832c61905043898831be2533a8bbc2382196b398c2bdc14e154cb03cc8103a4aab60cd9d582c4f37998359f9e48175f096320812852b4d8aa154b6200886e96b558d0d2c911cd91d4ce29a2028a390560ec3a443319a705fd8924bbd1b5d3c9138aa6ad49215553c9492a18c6879e5380f9b47845201e7da07c3fbcc61d5bac518565b69fc4a1afed8d3a1aa475e2c60dd13b5dd955e08e65607687f6fb028636e560b02a5bde8dbf17b68149447cc77cba5c12e2c2e6e389a6f518e8f8e4006b92e3178447622d0fa8ed2c579cd8d303a6e24ea6ceb8fafd069786f26783560a8652286c003d8ccfbb2acfc27bd0f2068c0da750ba8599c29392e6fe4c1ddd72c4590bf2e3166862d9afca27a749547f780a66e8acce4ef7a4c064e46ece7140ec97f12ab929c0318e29f4a110f0e2576a0ab07ef6d2765ea60775ee8cfa8dd244c73e88eec86d51723bdf11759a411ee70b1fe7f1687f901d63ba44fe7adfa32da4540f4228c6e6c94d3cd8100acb89632db0f81b4612a5e57e57cb0767fcd2919f770706ddf14938d904f0d18c81f053512d83251a38d7054bf86e5c55ee58da916afcc986b1b89b4acecd4175340150a1251d05e232893b0c8235985aa327901a3701ff016756606e8de840309ff4a2a4953e4491e80e57e5ccea059264edc4e9174acb03c2485447574814f35ab9a4514ecfdf1e0adfa1852385cb7e69bb760ff190465f4742de91d6da30f2a23946f2e696a1897425531206eb490dcf5e904ac4b1c4071b1ee354b1d6845bd438826a7f002545bb93d8f59b52aa6139d4765766240ff3e42b7eee9a29678ba3bf0e51aacf3daed4b0180c5356bf2ccf6a5c62d6d8a3e68642ba3ec39783f752a10339ad130a6c9c978d2a998d60e33fb8659909a8022312a7876d1872ed7d262a0acec8c388190ea11709b845c0f990f1490f80f6c8a4b8ea299fe6b8bae0e29915c5495f2d569cdaaaaccf0d88eb399061a57e7c63b2bb9b8e5ebec9593852d86807aeccf842812498a62ee1d8681be2a18b8dd26416bc81df4481870b57fbcff59dae03c7ca2f1770b37e6643cd210df7e0e64d6e465300e99f3778c987e8366b7e113705fad6965d9a1665a941d9a90ded32dc031862bb5b3a1e6ce47bc395b7e580a49932ef7ba749a9291177ef236d0f51fa014c0ceb154a1f692c6adcf395ac6351f1c5847a8596f463613923ab71cf0b6ba60a79649dcdb1ae964e692277ea50139f97447dd46db36d8984a2adfe8ab09497ce2068b8a390bae43186f0919de70a0a26d69b96f57b528cd5181c8e86cbd27a5f4fbbc94eb07cf48f5d244d1283ad1e64cb954e464b83d74282b91d35e4303339fc49dde8449a32e76f9ceef7268c7e5516cca1a56c2a97cacd1f6ec712a3afe98e251ed2e7e03f029619d7ef8e9ef5b0575d8136d6f07c104426828378359014e899434fc8455a1d306395b52486ac737dc5f3976c4d97f3f58f1f2a3f0bf0c3f269118f3834f0e06906be64933069c4ab5f626e903a291fe8df75b420e873f18e69d1e999823289d90aae498c7bdf2342fb101c6ab635a9669952ee289557847dfbd5b994bd0c048941d01a12af06938fa305d138cad877486ace9d67589ca3f4dc8bc4eccef6932a312dbb61e2669ccc2b8fbb46c064734fe17d4dfa57ab53f5599e51b5eefb7d05106dadff9496c56b4b3526fba85167a707fb037aa37e3a977d595864a9c82fb2c6d62df25fbe75d594441ba7dc25438c59d8ef2e7eb28ae2f9c90a69ad4f5738b2de85a0b32fac788350418ecfc503b63895d2fbf025c6a7eb069f94c9d7716c9fb5cd7fee524e90c687be5d61944e6aff8a216b67283b59eda603e828f5df4149abd70eef520417ea60ba6a585c16b20d975f0c85c861db8a509df59cb2385f67deb99415c71d3fbefedc1e8b09572da94bf473b537c6c219799dee6e1c4c5d9ac22028581f5429f489e739668d7eaf40abc3df5d8cc161645351861da337c925ea12c61f359120aa87ccf6ac1f9b53ae1e446a81e0e49afa2b287cef218a5332f0be04f017a2bc74b5e3a549626208fac91e86ccbf7263c8f20df7125e9ce0108abd2a673cc3f71c5eb3ce88349aed0d02804699aa8cded8c28c70a1e8fd6b4f5a0cd6f92af1c8b9ebc8cdecac2a2702aa76f218fd6fc4d183451aa5d37a6c114a8436e54fcf1e99b21a75c1b078789291b5c6e5ccb1bcdc47541f71e1566d9d6b690cc337f3300d4bbfa7ab3cd2d89fd65515dcfe8e65c0f7b0fde48a780ccb01864dfafb68225ba19d6743af805cff9e8198ab7bdb324660816f9bd5307a65804c2fdc03bb66846fe9e4c6416d782c9ad6bbd4d5f027a08b456fdd23248bd8fed667ce0fcf6a2960349f2c378ea8e76765956490af8396a5d6c668f3e62319dfe1753350f35f635a9dbff5def5c4ebdd29c6b25a5746ec67e327819f30a01034faa473f28a9984a8a03770ffda318b0ac82a2ebf792f2cae14c11bb3e641ab8aac87d659782dbbf3f3369684c743e27e5107be8ba4a60451bcaadb1d4f7cdd1dad6f3de0a0c99ff6d8a4e2dd69ecb0b391c240523e9f02cb071b55845bd840efded6f116fdb8143f3754ce5d24592552c7d360a50372dddbdfdd879f66dda96fadf6970442501f79a61ac0a56b7c69ab3d8fc5525645a065f1934184c02f424d69b47a06ab4bb32b387acef548740037d003b16ec1f840e50ad6db7ac0734d6ed00e45c9f8d02134c493df0d070ac3263dc42e05366b7e2d70d98136654c3b3bbde57873d4e0f29da889753c45cfae15336554fd62b1e9e93f4a2b3ea1b15f4341489fe3f59f119c3418888cd65760cd0ba07f73857e5c59553c092b871b62c0068851666750830bbc994631e93a234ff662dd95f23509eceb2e9f6832e22ad4a5a9cb04db4036d0995fb83a495fe25543b43698b615e7d27901386b443d5b48d6767d9e38fdf07aea280b6f23906cdb8cbe097c67ba8add4cd8c79988ea808a2eb0dacd0058e66f1ce5a5ec46759854ff5dab2ac343493bd9680a97554ba3b7d1014848ce878ce24bbb17b98b85c58ebcc1b1a5d97da7de124ad63d759489717b591421523aeeccba80b75b8e6f525c9b60d24d7d9588dd6dc64ce6174f4632cf6a9ca9c0e5d622fb06f595ce21225e2490237df5732a39fa1d5fdfc7dbd753136d1ab9dd83cc72a4a056f23a9401f6e105a86a851aef93f51336d6e6b67a2b095f9d6cc5354f39ed6ea16dadb345d3dcb0e5199a20a81aa976c5ac24c1f9ecbc85bfab2d50709bf50be8c673ea925199a9a6b7b80229e43ad8d22e8a384f24c56cd439d3b274d6f5256dc2d1276cf4773477dd9afb561b2553ad15233cab6a9c3864b5d7f2752ce9037ed239b35354582af313e222606aaccea6e058a970b82454d19938f59d7bdb2ac16e2cf320207e53ab0db1a3753d506f76462d29557c312739effb50d76df6ec0de522be686b356360c044412f425131a057931225c0913bb224c5e545da17065ab6e4bb055e0b16d7e46c975fe5962d5f04233719ea7721d927af8a32958b27971a050309c53813e7008fcc4419adfc1c6fd4e88cdb8e323b2082662429bbabd9b788531e3a903db42659870857aca267cc27c0215dc192f7c8556a886e5dd50f54378b96d29edd584e701dc0a81e30da0543611c46083418c7ca55af45494728d9c1bd4dc2d1861173146050f1bf92e634cb00e7167278de4ede68a22ff384376bd074195ebb33ed38a4bd801a5dac43149bd42d13ee82f0b0a0e8d71d2d98fea4776ef89f87a78b4916335bfde6c4094aac24807d8b900019ccd578b6b00daf282ca58013973b893188511010e8f5d794d947212e6c84d94b81a57501588b392641fe3515cd6ad6e03d47f05452d44f358aff1e7de48b81c3c92a97e06f1842a2bee447190bdec990ecd0aa01e50d6fb65bb4ddda4084f4ab482134ad578b207fcb0c3fb2fb4bc3f15ea98719def0520ac60b54396f0aea576d9c6ba0f8bde02306652785ccac4e97478a6b473e5fa373f8132584c4b0f0489e53f86fe2f5e9b7a3290638cd5d574711109379d31760a7c793c81f974e78f0ca692994149a64bee8b2879f0aa4b8bdaafc7bb2f23dfcfd584ff830af04818ce80c4d20c984906fe79f67eab59cfe664a3b6c3fd99b1fc76ae10c0b17bbfea0f76460c0bc7e14bbf40a988a73a97700cd9350f03310ad014bbc8ef1e665dbaabf363abf4c787f81f4db9b09116cb20941819e82a1753f0f8dec4804fb973eeb60f6112ee8256c00f71a6a8d565005b0713aa7d6f85cd00bf4d9f517934d8e3bd3f125a11d7ca61183ce4dfcda850d9356d49596c4620ff52d588264aaeee508a30e4149f224be5c1a547993c3548f02006010a12eb9ab434d170e08d6b166c7f788bf921450fe9b1089cc4d3d470b8c81a5c46508d88e52ba2f2ceba7c4ced433bce476780e73655917c102e9330767940213ade252e3e18c9b0265e1c2fd00a9f132e6fc54e002a9646e1f88e6b8b0af9ef97af0241227c5afce3cff4d7a30eda9e937820fa7288702913f07ee112592f70da528262b8466e3ca8b143e7ccfa8752bfc45dbcbd752c378e059eb48672192b17549c3b4903f757c40bf8eb2f9763fb4c3f00d16eb331fc655fdd3914c8eadb8e475ddd8eb61a761c62e1fcb0e6551d9e274bc9c7b74d9513c9cbef1fa421e4127008001c482080b2981f575e3bd3a0920cc8ad7753701cacf2fa6968761aa31727e998d1669d25fa82042424d874c4b952b76c482bfb3844f94a54a4bf38927d1de332362b130ee55cb85f61308e10a16a8f2956caabe998c2b5310ac5db827548a63f30da54f45ec15a1cb42c6e4b7a27c2e9297928acb5c55d7f9338d610acdec0acd92d980df62239bdc5a562980fce2a964071567138099d5e64451d2f31d9a5a1413f28d8200cc4395e7091f7ca950d0e4fc91f7de0f8f7002f0b0c069ebd5a855648914c1c52be06a6e26f6761d855a6bf8ebb2c7ef4b57893128cc85089ec885ec19b5fe79d9aeb8e0039e629c8b6e7d5cf96e585ae71b2b18427e559c4720aefbc3afdd9b96425e1e8180e162af16edde6c35a9f70a88265dbb8554158cf66e0b5d6fdf0c50df11da1696eb47b533a8674d3630569632a780bf02e9c9f9849fdf3cf167162d6fc408fa5a153b812aa76cb75aface770d665ce32271598237a6778cea01dc5d0b88a1c0b9816dba2f83178ca5d6ded7a361e1787ed798a156541b381f504b19ad9044b1401d5681d926d241be2cf6a91ea6a105ca74992bb9c7ef0ec6ab6bc26c94a07425c1d4e7b46499264ed7876ced46ec697099f9326f99e52c24d3901a17f9a4438f0a83d9d065e07e78643919254b2c2fec25c7b8d5cacfbfa341f47c809f5274dd5986e71940a39bee0422300373f4c783cf07fe70e2b36d1aa774ac647aacae485aba2a2e19748a12ecefb6f1570bc6a73273268f460b5166edc727b0667e14eca602017409ea9f909e1197eba1b0ce0267b75a21aa6514f1cd65e36a57299ce12e16f420741c3644b17a163bc832a6a81d8e876205f1d99746d092faa2d7d41762d50b0150c66e8761def793e47c693f746cede702e16b3c0a34d23680a2145721733a0d738c281c028d9f5986d156f59435ee2285fc22b3c329b4e8b1afdda25eeb45572131ecdcdc6fea8ab474b5cd07840d4691744f8709e863dc067f0b05bacfd3a8407215a02c95706351eb7454d0db9a208d1c624636688aebfc671b2a89ede3fad393471b52e200368705c8b99c8fb5b12fd212a801da81b8146a205325f42774b48765f5e1c6aabc8f00cc49552a0cf730e879dfe6c1b7ba67d1f85374c1f37d670f7ffc0c8d30ed60fc7afb49ce3a0d10cb00255a74529f5119998ae19191169fa225f5e8998bdb055600422f18ea85c079b131ad8409f297e5b5f3f07003b9388d05b4e2154b5d34511d8772bbc1a33a023a6f6754523433d8ecc385137072bf6bed5cc8c0b896fc747329aac2cb71e95bc1ad120a384745a71a964be5cd6087bff75f118f725a990505e27d76012f9217438a4779c2faea8ce96b99303330410396c1af848802d0c2e177139f32d43a1207dbcc161db4735b62570cc36545cf7fb37e18d8f4149b3157ce6547a635406c808fbdfd3b4141728cb479222abf22ea2063a920a54da0386bfee48624d258393dc5215373155d29c561ed99086566ba878ec1535eaf9ff7c1b2700434acd54b786fde58961c889ad705dfb4dcf611fbb68f859f5170466624e6b678e3da491f0770bc70f54df4022c4af09c44f2a0dcb3d92d367499f8b3f768bdb46d908f0a9350a2218700b9424001d6b146278d78309ad8a4de5ae2adccdc434b106db50f97381880745db2868819ded9cd396995a157277a4e7e9735222c04749d3613a753bb8eb70a5750edbec0c40daeace07c3339f2b541e4fe6745c0b1a67695a7c8f106897df07b07a6840fa8bdf5a486239333d218af921687f47050f7650ffa73cae1e1e4ed305d3ff8f4a2c895d02717f1aa9c937cdcee45866e36ebc292d2baebec30a84128ff151d40840b6e6e73240cb2cdf2164da61112b9bdf831f2b9aa22dd5c8e2bbad3af87a5dfa99fcaf21bb4335a9dd43559a3258b7317dc22d267e8c3a862dded721a3f24d175659c370e48662f950e4f2975bc22dafdb52bf4bc3bc4ed926f6023eaf74dfb718a73e5ffe821fb89a4f23ece3c0830e6957e783bf6da79fbf9f0b3616b5dfe4154d1b63f3ede84233ec86a88a568a1ce8ebb908ba51ed52f3b35da2eb261e3e2289c9c3ed826ca45776736543111dd4a7d8f6749d64ac4f70a3dce5b4f0e43aa25d85d9000821c8ea0b40998f5b6d2cf2f57df518b9cb489dccec0d0ed89f829fdaab7c1ac2d1277be56f7d2dd203f66540e47d41840bd1482cc2ee47bebc17401a2175c61d38c9767cf61180369b5b2ae1aea77bbec4b1bf065661192b26c527b7010fcf905a7b7bd693a53a817f4ad12b6474cdb871e0141dee559ba509b054c317b5d11413081fce32fb21434802ed5a6593b113a8c6a629593df17202df0427343a96224ed2e825034405fdbd131290d03e5ce1c9eabe2b520f4732ee7f293fc832c582899fd8e578ee7bad2b28695797b46cdb8de8c1e97cb7df1147316d415469342f34c31116a99a8012b468138c1517823646dcbf9e25b72ad94d62e79f8cc1830314fed54d3317f58a88af560555e47e20a92f655662973ce7a7e16b8d97a407e81c7cc2f77b96b6708aca867365c38855d7fb9a27d9283fab93a79b61d6323e4094e8c203bba5b55420e5772c4cc791bad5361e1686e71b00cfc18b181638974896ee5cbe6f835701907b0e2ecf7e4377a6ca10514df8badb826e26419118537d439f9f1dcba3bd4d3eec0f809095304b3d9b6ff222e67754e3984159227d3f021fdb9b4261f7d55e3d209405efeefcb04bfcd6ec9b9d97cc33cb11a5240bd9432b24cb1a6229ebf3c77eddc3756cb33ac341fd67ead53095ec5e6797f5a15dafd965ffebb88f021f2993a8e629c693e68371a85ad10bb689844052fb7b75f8c165b5dc1c3467e15792d6749ad610e891b0d0e747cf1df9e9006b9a624d5523d6f48482bf31f6101dba8fd7e16ae3e48eea4c5d3738b8fd86435d7a84aa1a75f09185b51ce7ef08de0a5f29a860299115d3aa5289c3d6dc6a12b7cd1ae899f3f2e06456be0d278e9482260eb8b689e65d27ca7341a6fd966f3257a3913b0bdb02145b892062a323044cb39940f8d06aa75ac84510277dfc0a85a4d90f5772215d10a07a9cc7b2946c0d3a2660700b2b79b254156eadc148dbaa45afe628d8d616b41f241d2ef38a2ea3ecbe27451bdc85294c622d7c777eb9bb33d945d7cb2af2e5d23a514651e68d03af40130d337b826b2490b470c857d9b5ee6271d4ce24e154ccca840e1eb139ea26d555bd34b475470b52e7d5ae0ce5a1ca439bb2034b8226f2169340263b200c68e76abb1a5c0caf772379fb5d813a1bc7cac69ed0210ba0128e63fe83e8db09a7fe1534936fb40778d35d674fff2133e2ed4820da62fd6d54abad2c17db5ecfc0ba97d4f453ac9d84454486c7ca42ac2bac46334d65c55edf797f2f874f9cff7152f14a214e0dac0277e8fd0866a5f3e3be15768985bda1274fdafcce79c77aa5fcf9b06847df54f307afc32cb2055ca1988fdfb2b1870ab115f414021c8e6fe24dd6c4c36bc8fa12815fbd906159b5218a1f7d409df8f2e256fe238412314442715e9032de49349bbbc051603411f264e822af1c52876802b22553d13717647b12f456b1d35290a26a26ec5de19d086afd0b6259512a34023eac1bffeca3a300fcad75f9ded913b24469c1f0a0363580e3680805e2e48b067a5a7efa958f521e69b11a909847652d1350d31d3eea3f9486182e5c3dcd3b8479d6270e60f73e7b9f7405d50100918da85406c15fb1dc3b07124e841705e2e991371ee88fa593ab22c78edf996b34f619a9ae0d71bab774ba9795dad114f38956a454c600e8e7753138f355122c2310b89d2068c3efe68501a063bcc9e1486e80b1c47f5bcf23d6beef9ee72c6db8dd82c0a4da20f73c3d0104c868bd15ef9d780b1a363c84eaba58db53abe13a47cc9846ce8f474370964bef02526ebd406cc01c2df2a5936aff11122951f32a56ebb37b14d46078387a121190b1d3b5a82da70f87117847c0f55de9813c0606a7d2045221c0555856d1d7df4bdc1ebe36de8d16eb1f27c3e8fc480e4ed1b5ce361fc885f821b86b675642acbc9f2433c6df6179f3881f8d87d79c77e64e0d261607803ed0d7857ce2bbf0b4c96d8d3ae02b3845cdd20e23c564025e915e290f9388449e34fd9d5b751a7933bf2ca684a97f8261911ce23d3069925b7a3a03d1638885369d676ff98229ce006e8caccc141dd28c1a38a78975f365a871937d6cd666590c60b108d4743f441a5dc2488509a43b65688725dc0b3dcfa088cf8a8817e179cd18f6b7b26b684f85140aa694e591d7e7e6858ce7714eaa9615d5c4e11943fba9ec5383c90381094739301f033018d83bb8ab4e741b0093f7db3bcb5aea7cccf03624bad5ca164d497935c03e2b548424f6b9849238bd9d5aa0055575f470e9b1e97f4b7d747b64d9ae673ddbee81e3dbd4e3f3b904a5e124c2dfe0d89f1257bd3cba13a45feb28032c6e0278f94058bc957c9eb7a0df399845881060d1be4ea2cfff2fe0287c7c9bf38ba702d8b5cd9f8b54147f96eb8f4d43eae5931c79df50bc0e7bc7e2621a186e00a67630fdaea562e5714015043a35efa3b91425b69464396a46754646e5096a927b7c22fcb51ef10f1c1f1f7beb5e02ec3805e63b66c11e72270b0a858d362e081cea330e71148c827b82ea06e0d1ee15884bd2dd19c3bcd0e7f2defbe0c04d49acbd0c78dcdc61716bc727cabef0776a38134212364299dadb1a5eece9d5205ee2d523193e1af5755977ce305b5ba2476554c0ae1c8e466414f0af2b469ba1f8cdba6ab7ebd1d4f3d0a6a423ef50b26426da6e3ae74cb7509f303aee10ec86416b2b12de5caa3193eb3351c0319323defbcac8b970c7b83d5cddf03f2f1ecb898792f451747bedd8f5dbd032aceff5823c7fd495aa44acb4f2b2498901d2eb090afb7f8905cfff19712c8eca8d2fb89577773ed9a24852e0dff5ca8ca40d261280f3c3a94f091946d6c76b921ca76bfed52c1110b542a8b443d31e34741da4d21c3030f64f526e7f8cb8b6a1b3e518545083b8e4120b207a203a7edd9f5bab46ccbeb7c27eadd47bb4a1716d1107e07ed8be63a7983864c2791b7f3eeddf996b5bfb340a2053e7474292d976f571b07e3729e406a482a14028d4dad622d992c77b5a2d3fa16dc1f62b6f08297bd2c5adde6ef2caaea9ce8001647ea8825531407c8ce6667f414ff206286be6f7fe249d63fcd6afee036a6df82e845c444261f53b57aad0a40b5e8e51c5cfa54ecc655ab5acb9412b27821f7975c0adbc2eb98b2748faf9f0a43ea5ffc73eae76be42ad70fe2a5f6e3d06a469a12139027d6b976b9670dc8d2ce308acfcca6a76c66acd2ec306ecd6e52ef923e7fec1f865f0aa21423f6e6d91013600b220e43de3f917c29d9409c42a631f4f2f105611894ce179e471aa35605919dd93224c0c98df8b43e9525c7ae470f6e122fecb7825c78348f6ca21d832b7226e49f01d13b084a37f1100e1f7adf48e07a0c84fbc3160136615fea831a68ee7a7cd34b9bfa398cd6ca60f53b3d01ff75869f4eda7df8a21468fd67ee49959e01585624ad61f60492a094323f7f1eb74b8190dd0a8838dfd9a9260de043540a33b19eeacec3cf8fe463d31afb16a607d1aa3647d1622a81848ea5cad01381bc38db38fc23cd240164fa7ce36ae1e18efe21dd279c0715be8872bd7a147b073a02df10e3d3420994aae2a894220c2eeabc8e57398626a201a2a80ce261a7fa0bba1168512b424652f43513a9c16a7aa19298b8044ceb6ceaf53aee7ee808c4000711ee717dc568bb64bfdfe1bae537d7038a9d36b4b960f1d9f1cb0f23fca025ce675c90959716a0f82fa898367765caab6d4ab15fb0219bcdf21912c333f954e1e119776aba0a8a8a48698c2939037409ac11a2c4f8e7b51fb52d37794d23c83e0ef3c203ee50c9ba3ed6c5618c6cca171c5c413f767b33d4104d0427d51e26309b77c2f4c3f17466ec11118576595f2953ce35737714e2da0f884fcd7b53484b7a66d1462600be2ae734cc7d40957b6d0f17396b90e99799d0ae688dfabdec797de4a153e92c0b22707191ea170cde491cb23202788bbb64fd7eae5124fc5360777d5725bf2e08a687e144dbc7925bf42f3f9896b645d4ccf1053467ef20671cf8447bcfc138f309790d7e26588c90454f949d27294fba7a3c6b977b274b2e2657a6703fa12ddd092ab8b4a43cce74da827e3dfbbd5e275c887686cc3882e8cbeaed7cfec6744c78bc2932f5d8e680a28b18795ef1dd2efa78096b0e4432e77913ade4efe7f2e5c00e69b2fd8e5423393d1a50ba946637ebbf2a6f6ef739f72d30fdb0b6e792dc2d13dbd36816ca6bcff955364bb81fedf780503d184f0f32a2c6c587972cf9235d233b3a2f81344fffc192c8985f1d250984184f675ac4ebeb7e324284e5654c4b3a4dc948c75987b872680cd7aadb3023076825286800fadefd6cdf7d4f18be53ec5d2d2d5d543bf512871cb46c3625b258f10a8a5ba9c286b5eb70b7ec20b74e322450e5984ffb7dfeacb3c9cf179de40f5b6b466ea648387c18c3042f75dedc7d6eafe20842620d307311417818728198eacd319fc468eee7682ddc402a941d66edf2415457ee11167686c61e232bdfa7284eae41ae3079c5c7e42238de96ca83db9744bb8bca664d34a8f6cccefcc890c2685cb188aea027d1fc8a1fe9792c69041d5bc41e35cb507269e20f570b9c291fe2146c6ea7dcdaccc209e2153419b9599a506ece2c9c52226619afc51723c373695f9d9c0a1333a0af9db81fb6dd948509931738c4b7cb1aca286cb29dcdaf6e731d13c7318c2a0c6ba148bcf54e4410fc155da63bd4601a93519a82f02e715a5be23cfda83d31f1ee161731347f9a7eeefa24b3d4a4149fed2307b43de91bce7f0ec0ae4f585da12207bb9ee7078f2ac72368475389f4c90a6b7419f0c1eb35ed0e50ac8426bf43165622d9e26a9c632b591e22996f99cfdcc6f74a0e429ecf74f0c496bae974bfc5af967411fd7300088f57e841e3bedf75193fe350df3fb90b56c47b3c350b21d0d3a208ee0cd8484424a52e7688457d689877db9bbc4b1d905c680c83e03696fb336db4e37cc9deadfa90209175a3a568ed580369eb561edc612f3b691c88eb5330785ca172571369fbc87496ec0beba92d334c5eff73b9539b0822d88c7199a44d16d678174c1c6bea45383e656a3cd6304f975297b2ecfaecc7a0cd5e114ddfbcc5e376f60c33e2933546a074269c5fbc846283e2b2d7e3ce6fd20784294e1dcf20868b112f6477a76aaf1420f64fe07d4ba43eefd8d970b5432b5b7b24df0e3fd4615891cdcb4ddbd2a6e40ffd05da4cae86d7c3a64542e3c57897bb3752c9a62d33aea3b0f0f7ebe84c2e6c4fe73b566f7bcf0869887cdbad11ead3af9070f80784812cd6c4094376286f366c74938f8bfe0e253cf25d0a90a975ade01b6ca04562980f83b6a817a33b2b358b3f68b14a6c1e3ceba3c5da66e6593ad682c095879c04252b1c45b7907ab0e995c4fc1b9c70f5f57385efcd9521f1f859bb64f1088b9c1dfeac789a7d88ad7d568fddab59675b118cf88aaa78671cd4485a0838cd021f887b1ca68f8be77c5a97dfc11e6cf504c3a0dacc6d8a6a1f46fbfc58897599fcc414c83dd3544d777df85e789819b4023f27b5e386202482430d82d374b0e215bccf501c988350ad0bea3ca9c96220e733e086c2e62afbd1b2d827445ff3f53e275a67cea9f5e1bf012960b3e2926275f3a66a13f5f0182ee8dea0f71b6e91f231d97a8d13c00e883567e8eaa5174e01e4322a7724c96cfbdb91b42826684a9f6b70442b3df18d39390f7c24bcf29a3f6e8a7287cf8ce1c5ea72327f506b742a506754ce0eda9d9aef6f086e1dfab90c1fbd68adef8650dc59d7317905a06d8837fcf254ab6f7b5df58247bd7c3e5281d5f924a0f71e1bf919608f5c3ad4af8ae5ddbaac9602a0534dc0e61e803905aee1e779406f34571adf4170c8665548b348c85a5b59a1d660418162c96098b4b2ce273052853f8aab42d7312b1829bfe5558feb762a321132cf2b77b0c4b1510b7553b3c36cecbe349bdcd9dfb43715020078357418a40220dc684100005871b743a3adea862f28f850edcacd3cbf6c1f51998f2b9b34a7f8a14c99558aca02f865fb156ff5b3db1ba3ae1f18702cd3073ae3562bcf37e85c3b6aa841112f4b6652c72a24b5254286a93a950e512b7c29ca3ccbf2277b1cf95d9763a2d790f3de7352cf35cfdcc9a926b28ad54a3006dc0c64fca789de6a7c8bdaef52d8232e8401c9f6345aac853cd76eabb62ed9d305a6e684cf5ddb725c0b2ee7f6a2e84025f318baf562126fd231ff504cafb449a37b152f6542f2b53e84b35e109a0e74c81fc1197d32a66ede6b619722432c991732c3d9695e58136b6f16591109499dff66a674b96b8f90ae307a4be03461ba4092af0e6f9a74218e53ac536ba23744f3e0a54513ac613644339c95550d65663445f310e5650311653545335cfd7eb521f16e8f24879714ae31fa698f2474565445a8fd446ff5f55e1bb225585f1979a31fd8134db8c018efacc6354ef74007c847226e76d86bd3a50f77de44794efe0605e7e29314ab35476ea1bbecbee524c2055adeb4bda161556bef3c8e44329ce86375780cdda8bf37684c61c6dd2e46c078595078623834e510fae501df606772e07634e0543a46cd72c6dc3446effac6fedc67ab72e7ba34e798fae789df652372e5f2dffafac045df8551177acd718ed615724b314edb066f039db5a1ce679996e4f3336482a61037e2b4f075436d08d70eae7ad35dec3419c32341f658496350b932b0262c7fc7ce4dba57f3aef4bb4f392f705537e238ef659db52bf07a3fea429fa94b5036415807631bb81566d7c3af41495dd3116fb2283c32e6d1f451c9d282e8a1db614261460ca927f944e608dba7056305586c09d6a30f68ae0febb6713863661bab57dd7fc71ca97bdcef68a5d0b3d0b782e1188557640e63ea9e9b5116bb184169c71f808a64ee0767f7524ebb3bde1abc67a06dc1d86e177169b40dc0fb5eaeefd550204c00798e01f101518dc468e2ed8a8ac8aefc5309aacb6a69df8f03141ba9cf66f90dc40f1b68ffa7dac908bf63563792a7be0c130aee074e19b451e14b0038c66ca5ed0f6b5d60b653e95ddebe012ff122d863dc38421510f52dc10ed09c2154b2737d9b356b970ce956a2ba88245d9084dc8040489e60d418d6d64e9559dffbc4e321852134a70d81fcf691248b10431941b9eb51c19c50816e54a314617de7712592704530740104217dfa31c583f03f7d4994421730617cb150b43e53f2a112a42015e2b0342c28377e30c87106d6fa26b56a3bb1e607304a053e46303a3e682253d8b413318121ad94e61d1bca5a2d9fac7e0407824a74ac77f24d442e0c9a6a1a86d303a2f3d9e0a9bd812aa30ce21798c6597a127edfacc86ad08761007bf606a8f64325902db0eba6181d5fada22c0f38d78f55f585e518c1f5792ed5bcffad2f5b9cca01114b3723d49ee848eccbba9af044ec5b399ce76aa1934d85d8effe50c803558b4a3f04cb50cca1b798e15aa223038d1e1c8d34da947a4fc70706244c1db07d5107516d88733109c2d0734b28a51f9be60c113f4fa1b891a6865cfad7bbce2ecc26f369cc743eff80e49023fec2acae272d7d4dd7ef03f95d9c7aa6efbd219016944d75018f59fca7b09eaa86da9f20c1ea87d9e412861f7ce6c741fb96ddacab36ce53876edfc4a1da0a99c7e16edfb89ed746b069aa9a4a4286b1cfbd81a156a2eb7f714d7f38ed6195859518e189396e91dcb709b5011e1bb89a6d37d5d3248f331902028911c49a631dc97d593763eea8790bc78b1c6d08d2c910879d5f7eb2783762320f81faa764d16a866b814a023cb67438965f53e633101f37953073cc0a411d48b32d62ce2008cbc02da5f0ffc0abb581d87ae77baaeef73ad0e6ffcc4d5b7c0d77d6c3c9b600b39f361bd3338986218f184e3534cbe23463d4d60e6adbf57c50f3397808945ffa92618afefdff9dd7a51430f7e429cb182958ec0a43140a10ea1b07121b947db78d05b5f7f5aecb89acd8ef19872a3c2fb3ac7f4803d8cb4f9f2a4d5d1a2bc41c351c5cb3846ebd3c1edba794f96bd49d7ab4104f43dd358433fc3edd467e970bda30787de00f62db20361de8c561232961e33cf53c21beddcbe81232b071efd91c852125cea9d8b9a96b231033fcc01eaf66de4a743e935fc0d01b4e7b5c6666256bb8acfb9e3c611ec3b709b3198e96af48fc28d361379fdce4e7e34ec23811a3884c2a2ba238fb6a1e17a44e2261f11bb412eb71361eabee3864ffeab9ff810b255e9b6a7f84cb5562b187db2159d9e3bf63f36c26ab0f9ff7d4ff8411fc32d4cd10db6393e09dbc4d92858a297dcac06c8ab42ee29aeb1d3fe013a1a1cb1d230bce578be6fe302ece50f52f6eb3c81f5ada4639321be09914c30ae3208bec20b96219bc8abb5aca3ccfcb367bde3bb0da582cde3169c14afa6f263b524fc5e35fc32764faa1af1be61f4ca9e9dfd2e7ae972f61f7b853e1ba7f67a1777fa44fe5679ec19879e01292c16c455494c19a4d7ee5df48fd4efe051caef63cc2f9237e4b309e90b5a16cc6abf9c667e40d0c6f45bed4af601c8d792d47d31d89bb2dfffdbfd0f67f745843f63cfa2ee65fbf410e223e23fb548ce6ba5aea64f17fe6d6fc3d58cb742ee3f9363b0136c8ea3e744512249193dc52f0c234207f43a1f2a19055c3e38e9937a4089f31d410104a00b3389aa9e90276d6da2f6cb005d911aa8e09e5536764722129f24fc898f2f54147106848918e2ea94686d9fb835789294be19a71b64e7b9f8153cda2fa0467ce1796863dcbd35f365b72f45d7644bcacde2cddd520713e7f8eefca759a36d5a3279445d74e43a1f6991f5d444c04f8053666d7b4f4a815902f23c29d946b0be21fc1c7f172bc1aca80e1e5902aaaa057865b37f033a82fb13fb1edd4f10cab4252712f923b2b33c0f09ae47621031744bd80607ebaa5cb3913381ea030c235c6ea8bd6965bd5f460d52d6a5211e1396cf2cb4e54769f593f266c06d64e9b6c6eb5ec50416754b99ff0f1262665c66a77cf8508bbc91cd52a06d77eff1a9ae8ab9f3bea5d7485b13b4dd3302c688bcc24d15677b03a6460cfdea7d5cecf79180cca2d9e879e5e0c3759d11e3c752be35b6ce5a43917e0ad4bb3de38dae42d5349597e4d90c489989a3f37a4b90224a2a0fe414b53e483728b8b874b381d17fe1c7089fa47cbf04968063f41e09b53b828a844585d12140073e8fa4810a409f8acec11bf3c27180779283c2d361f10418ca938f23f51022d7db030408ea6905e9e6b78cde68811daf3de7214474d5d2c0ec6a12b6084e158fb8fb187f67cac6ac6551717bfd47b3ed57c310c8da89820cad3749c218b1189c5bb8c89a770233163a7776a4ecc034ef8f7194db1666aff5d086a020b9e8ec3d4c58b50101445081445f19d804d1cc7a9ebe6ac4706859ca5a728f679db0d52e04166788fbd99bb62288661384f358a5815466fe05cb56f5dd5e88cefef6d7e25facf7e0b96f96779a9d27ba9d6fff15185c903e79f57dd77eb736dec35674edcac308afc888477ac189a60cc94bee6dee37ddd34c9b66555555100e4822665901b5f6323eae7c7103051464183454ad836edc9ba3e848af66ef705b23f1e0431f2507e40b0b0da088fae76ab7f7da3f0a4d0ecd298b9da7431f196df9f0628aca67429f9cf5931355157f78f3e1e273acdffcae1efc5923ca1e3e3d0cea1b932e020a308c534f8360f8c40655b3ba92cc7163f46e162eeab6f772cbb72c22539852b36b3e0d8aa1a72113656882d3484b16e48f983d7a93cd4c777f4702a8e23e649efafced255d37ee096bb9bafdcbf4703ed97d871451eb994e79efa070fde2fb982647d00454a910669f86c0c3a045628498ed8513c5ed1dcb366041b5a81c8e9697fc71dbff450b1d06ccaa124596b099a834c96282bbae5cfe9e6f8c09273b062c359c4ee34d12d9fd889d8748f6abf9a680cbff729c5f5dcbec8a50ca11c7e24ead73b4c9e77d08e55c414401a78465863ada4ff8a5fb841c2b116fea9217753000b030a6730c27f83d1ee3e175397f07e66042f0baaf051fe18b782b6d5effe5727766eccfec6d3a0fdc160dffaf8cb187f1b85d6fbcbc6857fe1b31fbffc18d1fcd8d0fc799aaee36550ba6886a62b50d9eae09d02e8699a6dcbe308b9e285a477fbbf34bdff07bf145d3572a3c5dee824adcf75dfa9b29a841f1bd37b4960a58f9206c87135363660b9c04bb7248df5c8e1bc0ca2d17490cd6c71c0468eee866bea5cf995cad4bda207c1fa4be7b1a081c44789219155406dc17cfb5f9cfdd7aeed3e922708bfcbbed5a992777fa02fe4bd96bcfbd028c87baf25d7c877ff704e56666735667a7a86fb823f8a41466c46302228405cae289f2ac3b6afdd5f72b9ec46f969992e91ebd770c938d45acc801f4c02745c0f134b9a060b236fd5be2b693f90f1c34e2f4c6a716d885c83ccfba2e58e254dac4df4c6dc183bce6895de723c6b073781f507f9d431f82a45b94093d827ca8b5d973272f7e831322bfaeb5ad630c662fe0343b0ed852d2f9641a65ddddbeac4cb22a5dd4e37ddcf7eac0953c82628de992951b36cf7063be31fb8a1825f7dd948d636aadb241d55fc977cb0d274251fb5f53b4a69317e085cacb8fe5f724d05a4f2befd97f3e1d60790e68a41e4f1c5e7918bbc3befd5ddb436cd963624b3ba04b2d0fed733e1f3a1f4dfb1dbf30ae34193bc036fc2d5b536dd9626dcb2aefcdaa8bd2841501826442a05fc7c40ce611b7b99e426f05244bcf47ff54d5f2f611a6618e4a652d1063f2b2366fe4fcb2587ca5bd2e3a45b4476c00fa7e0d048d1338c9f163bf4117df7de3f76cb186858ed4a55a13d8fe07090d12041e6463b4bec672300a4dbd3a982227701f7dae76b9dda2646155dd564acd601dfcbcb791df9ea83fb1b2576230bb2279b0dd68ec1eafbaad0a5a698b756b831852ddf0c5b067ca495b16dddc1e8b1da41ca7e9b5e7333b103a04c019d7b2cf4de1a4d7661c7965dcad1e92e42b0cde77adb47b0b251f2d00eb6ea6ea828ac56901a20c565affb190106a064d27300c3880f0f80a0cae34545a6465c182d9b682e611672e5dbda2ece7e872a36b332675c6c4fbf2e572fb3b7a52df761f01e4ef68886b161b8ab26b017cd0fcc651e1cd54f113f34850a4534fd0951b1a3bc547bb2c579c580360ac06ef3f8ddb4a38f22944e96f77768f9676ca1083ca40031e0178f99eb6bcedfce6e9723d330e377de37e6a518985b1c317e7dcdcea324d12760843f3ea0e1355ceaff8b1fa3ff9e5fff8efffe5bc48c2250bf8dc673ef6f9cfecfbed07c3d9f55fa6ba6c8d6fe1d07d34b14469efb474e80fcce09fed1f72746fe1e2705fb56eff6bfe612ddcb367253b86964c5daa5302dcf35efc7e4b411deb7be83aea523075206056b53ade935178213cf94bb6fbc4a9d6e7091a3e552302f22c5c8dda5ae8f313f9f2bc767a74c208fa01449b2f35027a3205c433c218814b1ce5da65f5da97b0ce7ee2ff60d7b3e4018cc152ee7ee556c8b1bd09b43ad5562db8efb7dc6bc52d0ddf035da1530dfa56d364d07a1c2362a46eae0fd63e578db4edab8eb7d682b8e4a5b130bdce6dc3bd3372ac868717af152bc7825572334e70a6164b806e776fa7cfa718f2a49772e48b5ed78dfebf56edeb9b25f70b98b044775167d349010cac5aca9a9cdf1a1ecfda2663199b2054c5015112976c8b2b0de97a21221518222668b54ce0ba59da94b4aec2a3f3634cf0bc98da207b09710ccdb9962bd32cd4dc3e92aa7e752008c4e55cf5277106bcd0ce21aeab6dc12ea676a8aec5a38e5bfd895f44fbb923a97db7d87825439fcec39b5aae30796d138b309dc106385a53bb8c174e76281d5421419dfd6d6d7ad701f3bf71acbc615899546ad1ee53d60b64db9a09de760ee255a50aa60d4bcde6d0ae21e0c56dc04ebce5e516d65e59b5e434135c83e4a3cb2f3442b580df08e90744c683e2e2b683cd91b87efbce9dce259893049ddf3eabd9e6edeee42e6cde145fdc94923a11d0c14510c4dde01153bcf7dfb87bf54ebc98ffc0625887abe02f6eed2fa34df176f5e712b58b07ac92a943826e355877e9b7bf4576e4b8f8069d3833df6c7eab183212ed3e20994b32b86c947ca6687792e1159039f4638922397cde8fd80d753278a83c43934b3fad59fd45aebb10f695a7ed48111189f4a83fcf7ab87f35e247ecb558ca286c59c631630f11debcf59cfd84956c83778535e9812b5007217b78418aabf5c6c1d64134f0cb4c55c81469b9514acbc5429e583d06be0d1b37dad86ef2477ac7402d4ed87e953faeefa5164298de214629e51946d57897f854a38c413e811102cde8cac12d3b3e1c0aebfd8218380452023d5562f051c8a3aab3867be18549cd6895a0507b678b8ec4259b465bd96c63bb10c6a97e21c25ae05d85c84311d40be2ca87df2ab3e149c42745cf29b2975de12e921bd4bbf9f70fa8c77be74017a092fc33929cffccee3549922cb75312de5233c28558c8128268f93cf8212b9d6adb24101474ceab7fb981544346a85dc2f6b131ee7c7f980c0be0c801a5d54ad33125b0b22426b959c3471eba47e047ec316c54ad09af8e3ba4afe4b820f028067856b02cc6c48a06e948d1e312b345a42338e2a87f87425b001422ecb0cc1d12ea2efb80314d690b4a328f7a915e1bb360d65cf0a3716ae5fdabe18e88b930cff930e9e8026d4154d28cb6f2ddb0e23cc31cfaf4f5be0491edabe1ae8313a6a0fd73c4732018e6faba6c3f32054738a528baad2bb8136cc1fd12cbc143c98da5dc70dcf644c6485a120d782cdd498ad677b0d31bf7713d5d7e2b5d514589ac9089109d41cd41725a7d14a3c6fa10354b839e1b8e32ee0abc0b1a0c98b6098cf4f60cb378ab6d22fbd5bf6a7842f29f4358f63dd484a4f45693f2fa3f5b527de9dc469bace6b1704a736b7ab9baac4cdbe77b6b34de7745eaa39de6caa24b6132461fda01cf7959566f740fd5b7711c511287cd3d3360104492e0450ce91d5c08b3d86551e7f8251c054dcbfae5ce5f2d54029e40b052ce5003da333afa7c633d475bb360f0773af5b209b826bfa25541993e6a2cbc72b7adf2ec5fa03375f58a814bf044132a98fa5ca516b9e638c417538743d036efc23f8baba395d180b948db3fadf7b4c9d70e95388e3d9ce49d541eb41ac98d30d23bb40f5b460f8385fae1da0d17db1ae2ed40c74fd5062f51859fa508a16e1b92033f4f8a20ad6dc38d01304e870262a18dc7130d24f1c4757a6122c8b17e749b9a99691e750544a87795646405e3d2018a014c076d2442de1152762cdc1149fd60eb8d9400417b2ed2035d88faac0a4b8989f5a3461a9b1877d5e7a7466b4468c2056f964a4a2091356596f1bf974d6e368fdcd51fc24f433ba5a5001a90d3cb9c2d149309b1b2ac7f626a2a954993e62446fc07761cba6a5bd937001c75c43bf71152c666a8614387029bb3b2cc28f40b562185410a7e278d51ffd3953d61862dd7b8ff922659babdf5e132a382a19f839665c7441ee66cc23924e40381245b889814949891be7026d6391cf51daa7122502f076f7cc5429702d644c17261ffb04f46fb574a0c471c0b2bbd83c35948e4a8521462ae673e2e40bc3ee57c785f568968b307cf3332df5d891cac9b86539113ce18d4f216998cf4506f9f1ebfb4bd5df74ec6c9d45631ec16b1d3c00f5138f504fe14087d26705b7153e117d0954324c4aa4111ccd643f27e3a3ba53a83208691dedac8f6150b76254d6189ad50c2f7c81764ae88ab52b9435ae0a4af8d55fb985cf6682f61e048ea68c62f07e4871850f09cee47212b008cc133b16dbc80348cedd2992b4f7a999a6cdcadd2c8fe77e7867a84da5ce54e6472ab6c77c3ab31b17f258fcd539fad33e895472e62a803a30b3cfcc837685e3e5b07d3edce567d8a0ebf241e2b9868e0dedc0c3886e236ec92184687e7d80a6eb2c53eda949977a891d5d4f6cbaa77ec577ad214febeb84baa628d797eb4b8ce1926609e769bd41acd143274ac80aba98e3762a495671f275e23b56e9ec966323efd567990a95ccae5d715c0b2df819b1f6032a775fa93a4828ce6260f97dc68f10075a2c7fcd865d6adc193d08c6c1c5c3328451e790dfd3e532c056adf172efd2c058805e63370519a2fa9d8f9c223b4327608662280b5b82207c44a0b23c2a0661e62b2117a43bf159427df3ee784f574836e4e2d0751595c0fc114cad9cb477bc6647a981941d904c804e96551942bb54b1bcd86b220fda36e6c869f8f1406549984e05527490b1037442e3a49fcedee31b85cbe9c138a21a2ad3d652e3b85aee0cc3fcb7fff6f3eb6749b7723a7efefa1f3f565ffffcf5f3f3ebc74cc7f237fadbdf7efdd4edd17cb37fcfe711dce6b96fcb7f9bdaa94bc1adffb7f17bff0566f37c80e9be97c70e1e2798ef3b58cdd3b1837a9b955b7ab4f3e4a6d3fe6fca910e6dfeefd75c55c86f66ed54cdbfeba23cd276d87fc3e9ef6cff77037ffdeced5bfefc05a3340a61bf7ec6b9287ffec210e80ffc8fa3fd33030221f0bfc1c8bf21a487c07fa1d45f30fcef044d0010f51704fdfcfa69f7ff28daede7af2a1df6f2d7cffefc61cf97e7cf5f3041922482a0bf7e8c3f53a3284c51bf7ecca19dfa9fbfe05f3fca34fffc85401801a108fdebc76f8b9fbf7008fef523fd46bf05718adf1341bf7eacb4f88fbc9eff03faf9ebff07fdfaf3f7df7ffd30bf85dc9732ffcdd3fd5dc1040651104ee3f8af1f73fffd04c3208ca04982fcdbaf1fe3ff929e80118486ff414fd004f4a7fcedd70ff77f3b3f4cff831ea1301aa21118f9dbaf1fb6dd8ee6ff250ff7bf28811de6bcdf7fcf0afd6ef47f571106d1c4af1f7148ebfdcf6a48e5f4a7d6f7df16f707daff097fafce7fffdb6f6b6bcaed8f2a7e6be707f4f772dbc1629eeafb3b3de0356ffdbea479096efd7fdadfbf9adfcfaf1f655ce6edb0d2a3f92f86fccf7e7eceffdee1a55b5d1e7fc7ce3cff2732d2236f7efe9abec3f0ebc73dd2a1fca78dfc693965bacfd3df69a5596c8772ff07f5df39ffb3c997cb3fb157eec7ff42fdfbd1ff32c2988bef6f7effe3e73fc5ffdf6fbc3fd2b6d3cf5fc7f62d7ffd9f2fd81fc98db9f83f5cde7afef7712efe0c0aca6d6ffffcf7f0bfc3c41fdfb0fc91f41f8ee3ff51e0ffd4c6ff3797f1b75f3f457aa43f7ffd14102d1935f3f777ce2d3333acf21b89a1ce304c03900c23fc6fdf2b5950220502944bb3204998e427cde3c4755233caf5e5145fe1620a121c46eb4d11ea0e7ae46816631801615a9b87645b509830d2af9285b8dc686d33a3f410e21f553cb69deb046d9d3d1544547f5e5ba397366773ac8ff785786dfd62e20eb0e05374246394fe32e201e18994d4b341515eca7ae4dfaa27632fddc2a2c12c46cac0ffa51c2a0f94c5e734c1cf9345607c3e2961dbe62a0942cbfa9ca9f9b6639da58a3b0543d9f35dc6cfe2099c5003c6b52a1277b600c3433642875ab06ffa193ab2891d04e5b0a402d61c3d46f79bf6ceddc286748bc35b128e09233bf1c181411858e42422acaf4f572f73eca671b970d140408bdbc2deb62ae3272c12740db48fa3419258d7b3b817443e3c68e82629c7cfa8b68c63baeea24855aa98bf38c3d35fa546badb901701523a58dafb2e6a66eadeda14e0d819061267cbaf6ad45bfcdb104a088657567c91ac3a953b3904da55a789fc287776785fea93e7145ee0867e646bf6221987a6add12e2041c3a04a539ad6764424935ebfd70d95eecc3bc34bc736983538b8eb1f6827a3b65f865f9f5d264c38fc3276d64df034b1e1ef53dcb0321b3d4428b5cdc103b68bc213a1b9a713af03d70935174411f03baa9a8a8237dcb70da7dd894077809a70cc189ffcbe3dcd7ab23866335ec7426dfb7de4d73ba5bcb728232917cf02b938191467aa50e283fb9da149e27ce73eb993897667216b2b033f4acb67880cd9b680dbdd8983825cfaafec9e3696c86d6a811bd19180d970e3abdbc9fb417168f7a7c5b78ffac80e524f645f54dce66562db17d60ffaf8ce919f28fd963118b114b371173fc908c496e344b5db04b716140b4de750dcde285ce943f7b4ea95f20e0a4104bb07c6931ed614c565e60e8c831d77697a0c02231bf524f7720842aa0ee82abe1117c27dd0294c346abee112cbbcb3773d7309ceeb0a7a87e96c8ae77804ef746172125f41c82a3f733ac19a7c5ad21dea13e4a8b68ac4fc04cb9f80e4bca0d589ed9a74800103ee1cca2a47faa45a0eb73c37dc55c30f8e637e5495c89d0e1ce550392048a2cbf5c07b0daf8b06ab147b1d57b439b36f1829f681a291f4ab8d45cbbd8da5ad7d5cb699d535cea6795df6f470036102613892e57e3a1102d6a92432e22cfd075ccf52d6f7fe7e10140cda0f72cc96dc6cc61cf50edeac8d812eb7479a5d5ff11da01e540e9eb102ed1f2e1e755a33101a0af2ef8482f44eefb5b2a7056d31e907e53a33c86937bc99cee3cc589224c40a8617a11f49bf7dd788c8a54cd4e0777185e8ab9dc0f6a1e00c8e3108828616ae16818ed0e83ac90c14cfb63921120f5220d79f13d001f2bd307dc0a183529d0eea078eb4a2364255ac7b7823c5498669d4765da5625659631e8c4213b24f799376831f95a1bfb74a03f88597cb4a6b0001533db4cf2e5288c702919640c0307a587b0b332d82a859ded70f3674f04510bbe9f10b8b10a78b15713677e90c60a8230bca43624503f358dc915c71582323c523d1bba70dc5f39baf26b2f9b1d1b7751d74b011235a5d1a5e6d0a36fbdd43b882d0ef1944e40b0027bf563730804715093c809e60151ad2fa59c7de6357c6e803d569e3d1c5eb5cbf6c2e0fad6660703fe1d8785553c8080fd799dba6333455baed84e3ef7ac97812fc7e4670240ba648a718a4fbea150d9cc30fcf7d6670f1e7e915dc6465184ff55f610cd744f3f64c0082074eb60f655d6fc598e06796c00f792dd0387346273aa94cd29c6d698aeb70dbc2be5083504842825338654804a1a162d99cb073d89e7783f16945b59a4e30030e34243cb03a40a492ba35a6ec56f5047e16b14cd3c4f99452cee194c4e4bf2c5f8113b03ec9456cfa6d049192ec6f0f7cdd551e09fc880035cb85846a6c00783e465c1f57721efa2922a2a1e793d69f1c230d5fbe73780b147c334d7a9788a50add514005825538525fcfdc7d4d9e840954766d4f492c590af4ee7b9bbbb048b406178679ff86099f331458b5771b105abb4fdf2c5c1e4f7803755a0c1a18e512609c4f49e7e40b81ea93e50d27901f449ae440717c4ce91dafe5e44b194358559babdf4bc24f694aa37b1d5f5f10650525cde20eb02224839d30a50a8e7a27545e3c76dcb42d5cbf480ea5844dc3d2ad037b070f369bb764ce7e2feb62ac53da49f3cda6399c7983d946e05b7d511d2a506b70c9294d044ec9248d8adafca61bb37f12e6117a99d13ad242d90856fd2adce29baa85e3a132b481e2546106258d856fb0c2294c96df1b9ff01b02982fd022c3f8b559412819d30f5951b02d63ecbe66ff8e4f135e0213cb9f7007e7d370396d182435331657ff12d524440e1d4a1c39ec1c9c0b6119e67186b1bddded5d843b07cbc8c618ebb8a9b888bcc78cd5f0c5252009e7d92ddc7a9143a1e1f7f8ceac61f47c7eecace4595d72d8233d1d39cab29be75b88dfb764d75101182ff9723996c3ae6005d2640a8b19264cdf3a984aa61b41f209e69824a750f2b92b03e040a7ce3430523e345485abfd8828be23ad9da4dae05d5db5e83a81edd3c19aaec1f8f83d4e700d70dbd25e95022b448cda6c9576dea55029e0e838b18c33cc0768aa1ade9022c11111fad189d377cc48ae380d52d5d2bc550ad56fa08091893a955b6a1b81695bd635849bec0cd5a4b1ebab524192bd29baa1b773b6486611643c8378b89671c134b6bdaa7c9d579c6af23963f5f92ae72c3b6bbc9c7c845e9c851607f6b9993743dad703c0fc76010eed2664731aa23400271a22be67a942ee127281b2a4da3710fc321155595ebec43a999d31b707ff510cb7ae9396ec568477e5ae8769c26cbf3c0c83c0d979bb3701858402c88993ec25533006c26548804d0dd96f60ef7d6d720a9d0d1bb6da828b39d2304e96340a63497627d1e394c457671db9db90b96ebb6f2a55dcc2397c5c17fcd481870ce9d50dc23e0f34b30afaca4410a14262c5a122cd629d739a7cb3db20bc0229cad396f7a195b8820e7cb017cf9926a6a7c3596b98542e5c716904a73105fd3683ce7bc68d53adca3c5ca3c6885cd865f6f551f5a3db587bb9e5b4410492981330ac1504a31ee53c2afac946fd0388e9f6c285cf16ab1c2469d033a8c2f95740dad258332149f00350b108eaf297fa915a9eea8eac42aaf41b5709a3e2b57109770df364dfc6188ed60edff14a51c49fd327f2afef7f9612982791385d0d5f44334e10ad5a89dd8f5b2818ca88acd0ef6b7c16083abf7a29c5ef584c4c045216c058fd84176471243402d37778db03dd0faeeb852e27af6b5425ad8a3aadfaba37e7f92754bf739a4ecae22b1e7062322514e0462c742dd5078c71d83e54e47906bcbe2cd79cb65f4d297325ce5d55dd1fd1cbf4f28aefae404660adfc685ecf0e93908a130648bb0e54e10a13322c1c59cb8b767842cd538d6f00d962815ce2548be7d728edf9c85a388e3c812085940f5a820d542ac8a67d934fa93f91d12c769c2a5ceb08fdc00a0daca38da480b53c5810477d040986bece8ed31065c49c906d5e128254b4c9e44e171f91ee52cac4f3e8fc7219a210d6c6157611440cbf40acb1251cbcf830f15dbf6238b7c23dd43066181423f1a2433e98463db2e45c5fac17ad4d16faa6c4e908d45f6d5b03b854d0220a949c84542d28de84ec5b29b5467f42146fef929a3109465c71aaa2bb0f56d811de75d11272064774d3caa8e92a80e9fa0e88ce9842a57b3a0b10e7bd6cf84ba899fce97f6f619b1138ee5a39999551354be852b5443304c94be0807b073019b41d06694be3e12f45969a5c63f10948c635029938708fe79adda76b1f567fd2678d9ec415dc56854c886f3d9ff63e9717f23ab373a997f7d237bf02fdc3ead2bd673ba97ffcdcfb1654a94baf1dddac3810fe6a691b47ea14b8e1111d1ea4fcb05aff41d7e574b2cc5f0b82c1900a8fa7ac89762e90fde5e37db948a0e902c36912e32d8631186e746ac9e167c610f7d1d70a8d658833276958046d8b915b0719bc33ad12f9eb92fe5448b63eebd7ea9fcfc0507d5be3baa836e180e71b433fa9e8f53ca2d2bb0b218617c44bfa861c3a816f159c87b24a8ce6962761bf9eec86d2b8834d97a97099197976660b9f9667090404b89ed12ccedac23083cf70b6d65a75f8c08e3dafeeb8e2081d30e55d31a6448b6634c9d056941899b2524af7e010ee0469960b70f038a2662c7b0acd194988439afd8b66ba9d35a62449444506ef546d23cd21170ce2ec9cb1f8e39cb16cbedfa2fa8e804da3d9421ee54124789348b1d242dcececa3783013d6c61452870641387450be6b9dfb5b2acb1d00266755dfa577319f1a3c96b5041b953a810ce887210543b4c89de7ab23878c631f0d4c2b1598a4a1bd4fc24627c24032c93f097a8b3fb1d82e2ba384f7a47317543301b4ca38b2ef870730c4eca371d40357ef36366c3b459b832e7bf4a5bb294e1f2ccc9f1feabb6c7c25b920af8928c1c1af58c11bfebd3f3e8b458bf625f380a8234cf3bf2ee7e38d6e7817b0333a4f3182fc9e9f2a004b82583019c5351bf5fba508baa33ba93e5a36378e8cc7d385f25925b236558d25736dad6690ad28d56551e9387c4267c7108e0c42f005c44d23702240bd38bdd332955a87b7db7c62fcd6d40cc9fa2c2156178e8eb6e6a98837fb667171547936e7716093a037d9371d93c6040b975996e28dbdbc1873accbbd7535fa2b8dd256f54fa4a6f87cbec245832804829b677d17d935ad3c83312a10e2663f24d569b4d880410b29c1339611d0e0d08e3fa82423be5ef46cfa033225d42bc2ca509ca52843cec7363c974897b24a3d880b4e419d182d8764da35bde8cc0829345f0a6e3f9beba27db820e86eabee3ab5dde9477b50903c22e005a06f08105e99816835e9a48f7f33532f32611ea863378edbca3b5ffcf6dee30de26a1f47ae100254384a43d90d1d0c8c9308aaf301d9934907267b1f45e674cddc5c2f12944b18056836bbaba25d953b286d2ef906a186218e45188d0d6b96c3083138f47b414cd11a396d46e55217ab229c60b5d25cb825dfae619f32f64adb58a4d893c7cf59b31f79872572738613f1c15a5185b0583216d259cb2bc3817e79e9f305216390802f81d9b0e9fadcc8ccea8811a053821c18041d7d76d6e282b33d71acaec4a1024b221a0f69c01726899c88a6f986729fad21088a12c7f6ad545f1132113ac9df07413639d42be86eecde166ace2e010bd22020aa55ac9deead9c15c16fa583b4d2448f3665b240b11ef9a942ce0c26b67ae4d84e6dede69b9d3370b5b5d77ec9eb432953ead597ca015b5ec271f822d5db1a4d549ee90c7d98db109695fd5659449fd68ad384e07ba1baeeb0b46ea1217e62b2f8d2a81a80ef8303e0849a6a649db0968aa3f6ec56acf0fa3df88949990800cc9487bef10b27145d92b520d8bdeb0876dff28e3b7c40033c68101788cdb00fd498699d338458c06cdbee026e34790224f5a48014d23088084d95d4de989bc1b76adb175af4f9b12cbfe42511a7aebfe989df24957cab367455605cc8d4483f5cc7460c3f7c5ec82aeaf9e28eb7d60aff18a56040d2c76cd507d77b7e5beda8194d9db1beb7b6bee3fdf2c3c9b0aad017cadb0a69ca8964979dabd00282bbc10dfedcb53829e8f9d66bbac74cf0e071c572155d9920d3fa135e6d8aa58095a6450b7fb3020e103ec6617975a3c853bd386799431605ddfdedc5f3b8b792172906c5428a88304f19d88071904c8dbcc301bbc09895d68ffb795ee2fbd997061aa5dcd186a74fb5b6ee03f25cf209f1923e544e26b2fbcfd38bea02a7f1b399f0c0049ad0f2576ec79a867e32da6fe25ef24b666d0abdf6b5290285a34ddd64054b1e1dc9351066ad433a06d03ec43c6597726f40d07122ad6ddf099928c76080f98e3194f492422a4a0aa0b2cd23e34abe67e0edb8fe74a465913ac277f6efe3b35456faf844ac989e03628020a6974dc190a2453c3b197a94036b7b668c107961dd4f5037bb72209f099332954659f05114cf425504bc609abc70fcdb596db174d19e0e22161623084e1b6b8e22cb1408f1691030aa11012b464b09aac832d24966820a6596529a9313bd925b50883af974145822a4c44e687e8b7ea80a64fe6520aac54ba872e641e507b71be7d3c1e1510fb69b53ee699fa9fdeb7600c45dfd5a32bbae4ca5e3e291293556e2416ab9b58c8a2b4c97e0e5f850b6eb3e3b993c79e43d745529c76070eeb7f5aaca82a7cf833fadf4ce8d61786ecc4a1e019a2256f7e29120de8e7da703030027d16c4b3d58514733717fee82daf7f2f33e827b450b97ae9c3f7e74e9b9996179c97ccd1958e5845bed7bc95549f07221b1d95b4afd2c46a62a74bfe8fd146409cff72f58345da28f73d037c4a838aa55efb0d0b7f658f3165b19ad9585ad52004e783148d5720e33439405289a6a4b6a9395554f7ef4854ccc73b65dae1ce55ee6a49862e9e83ceb0ab913a81500b9eaf91c25b9af7c10d487bc29e0e3a3332fc7320ff117c03faca0ddce3fbefd2bb21c39b21229501ebabf5ce39ddc36b6a2de18f036816006d7bba57ee2c165cd65baf624223678e62684601c1ff26a1ccaf4c66bdd22ecf33ed7fd7330b0617ffb96b58996da4f977f023d71b6d7c72d5d9dd49e6ae1645de88a37f21374ddf4684beb71cfe5cb4d88a7cd7e921b0f26712fb3f5731c9104634017ab62ea526a10a0e95b38b7877b8b3a6913c525cf57409899e1c487b9ea18849018fe551d1426afd62e012ea3b1c4b5e628dcaa5947368f300b897c473fc012cdf7799d1551e1217d77548da8106ec322e476411f427ac0be37deda3a191e67575790e6dcef9fd766bcd3ffd0c3ad8f72284b0ce5f4b173255298449f44cf294001498b56ba2718b4fe7593023f7a4ee09bfc76c276b9049bde1c9ce43bc59c1f673145701b8ed15da34f5815baa230acfd9104aad9f35dec754238a075da15358e2194a2c78ef1577c892c04216b0d21fa9d6d43beefada22f555746eba46ad02e1a44cf75dd54f8de1747601f4be9d46f2900980c10db9b5a16545370b24fbe33ec72dba6eea7d48668dd561cbc03356682cf7aa062329178a217090343a0d41c5a93d94562dc17f547b72e1d485ff2a8dac8fd70629c915eb202f1fca110e230e03547272a7df1349b0ab12dd0895693f13ce6ea25ab091f5d082d710ba78717ed4e6a5432d45892c2bfc08c52a20926dd28d87968d6cbe51b59d9067b18b7396ce87a96396e104c859f70ac524eeb7cd9ce2320ac8a7de9c27ab60af85c069a7d0c0c79e7b78699f05bb3ab1e9292b402ed7458a86e9e5d14c8ccf2d9a313abaa0ba72b33033f490ec755e0b6c467f7aaca3d6678678f536108083a8e2d97fafc6cf32f14b91fd10e3100a3af908acd1bdccb82272ba3fc3a46c368e8812cb823b2493211a789012f80c913a853a3b60cdf0f4119fb86612a5d440c7848bae123c408c863186a019f650986b0f2e7209677cf06a23ed888c195371286ccdba7859e5a687ef20b087da0da80d958b8c42b70934378823e9d2bd742367f2f1090a48136240e6a367702f407dfc69cfa7ecca28f4491716206fe4483058530c20144ecefc0077d6c7506a2f0f349d9a3b2f9e66a6f1250094e37e165ebd5edb1172cd31c216f7b0595b7249e8e8d6635799052bd6d412d90bc00793ef3174c455406baa906def7f741861127e91300e14a00eb3d012e09371f118dde024da2022dac02cd2a0f8d95174de3172d85174dfc172decae9af003497ba80bbe70890748f0212f2ed66a2b072df673a330c60a6053668f76804263a1e06e58ea84f9203e81cabb5c8f525d466fdeb99c5009c77cb8a7c78ccdd2a564e131c426a1afe6a21fbec2d1d4d3f00c6ffb3d40504216e5ad78b03be78097e4c70ffd5d50ef1df7167a1baf5bcc310dbb690e10752fbc317dfbbefcba0a5355d6fd9e2ef70ab6ed815268225b39d7ee7927a3870ddc60a2de246b46e5370184d041fe59b618ccca6e982d79fd1805b571b57056977a10f2e7abb05d6aa9bd423fbc67a8cd738d3e1aa7c4199bd6c4cf542282b4132917665df0ea64c7f64e8ae0d136d8d2fa977fb700770e6d21a88159935050e6da4f98f5c579e1522c46c5118ed4541d6233d71767e66126866f4ce365f8c44490b62e3765af0e7fae042125913ea0cf28342c9a6704ff939ac8fc91e249920b10e4b1967a2769a26c1c231ddd33f6d6207159ddf36f49f06e57a451506b2745109f14e3abf9a21c36a1407bf7f0f790b5edee1588e931cc6515e9cdd565ee1ea0be6b456b7bf2e81548299437189f2fe0c3faea03fb6ca3fa84fa7165ae048c50d4e1069b2e779a4a56e0606d146282d7551f0010ef238c575f070462e458bfea92a45e87ed075916860de4d60799bbdafc7c1f044d9a8b65efefcaf0efa3d88ce82e7ccb6dd9cd6eed251646b200753a157b232982424308f2fdea4cf36e92ccc59afc4d3a55450b802f1dd23c037be02cc01c1ab54a4c04dfee6c434714c021c5b78aba6208d11e417106dce8597b9c3df78ef4b662012b688a85ee639813d6bfd5036d2a137f07cd150398e7beae790be50a98bd4e44f8039e6f3ce9256a3dd441e4e774751c21ab4d869d28fd78bddf30334ab8a4c6f368642ee7547cc313fa220638a9968fe25f1b7d0fef456c0fff8e404e54af6262e425a1562b91d65722ad4522ad4d222df2b586d105d4f3fb906249c6ec585eea37e9ade6c921b1f71d4d3eb0a19bd247ccc966a197e046e61c0d5fb929d04be73f4a21e79b2f93103840a2f23cbec7ddad897a314dc49dd8e300506a3d020cde505fee442c5dac0e87439c384a4e801efa99794405ed01a7fafd62c08993738a9e98856e4545472a4f83250d862f0e5c4a0040f48603800c92487f3d73b2faa2010d43b6f41269c3b4854210e89d041751cc2746fda72c1316eff9497c3fda96b85ba245b11c221c78eba4414f1ab324af31064f3102b98472d8f7c251c655b3cdc7aced0366529fc94ed618f257fcedff85e2137ec85e2323de68cb0a1dce33fd82f177d52f84795ff89c3f7650dcb3b1e080ea329eb8565e9add7cfd2de7f9a01b086d73e07a0a254bc2a2c17c94550a7d4de38fdd23f448c297cf9e035eae0b407db474c078fd6b5857373f224a8a4c12bfa1909f847247d197780b59d22ea3cde2dbe438a436f7a7d9d8988fa138ea5d6fedbda05d0c4958fc35fb7cddd43a5066f236c53226baec30b561268e4525a7a9980ef2c20cee625a0cfd74f6aa8cd586283bdd50aa1e53e2d3d1a5797fe4c9ec23cbba9bc5c2c933ea913d9332626b86b7b8145fcde5af66f7950df97974f1ab4f071b4a59049268800d26686df52aed197b1e70ee5245eaf8e69006ca332495d4a8b07f79ada7aee650a4f5fe8286a3f892c4b6b0a49bcdfd949f989c361dd9aa6e87e01bf08b847e653b3170007241438d5eae85aa0cd57c6a57e716b2c636cd5137d372192c6ad2e1aec7279f58db691a3342226ebfc6a88b35195e79e67f0bca5c339338c5d66d038a86d5a278616271a0ca3324e955fa19403cfc6be984387ca8466aeeb8163f0f8e4fb3214b69e596c5d76397c3c80f0c4f37cd8a089878032de293b0bbc52e4ad6438cb7ab4bb2346681755fa23016bde0f35186f745829b06ef38ba4baa40c7b2adcc28217d292b19fbbea21203afe7a52f56ff46aec4ae90c433084e61f9e341fc4bf93ada8a16473353275d5fe493a802ca26277f21e451c78883f283da46ebd653a682295c301b922ed6f7135a23cc254126a99d893c947091df600babaced24d508375aa9d11ca1e44b4482cd0ccc6fcaaa4639429dd8dc3e89c8e8d95f532ddc119fb309fe3475f21a2a9bf41f740c2c3bbc5ed8f24ca6d40a3df50a1c324fa6ee17070a1e2c39434cce031543d47d8a886f772053a24d313e573be928752c66148a0b62996aba6210f7357450064916330aa01d1f0f2b01808737e66a2eb482aba37b7c56b7388fcb7da9a37fd201420ff4eadcc48a3c432f9e3b6334713b24543569cfd6ac05de393be4004bcde5fd9099b4de56a6b32408e01a69553a5232a03786a64e180412026344aa6870fa34a64b6157b53a70d2f4c1c7ebf4c1120986d3cd79fc0850506136058f664a783ea9a773f6480dd3eece4097b9a65b70320dd8022f2727779c40516a0c2b8b33cc187ef746c33cc38c4972341b23cf76573c17fcd6d5cdb6536bd163456f2b20e8240db4bc9d4666fcc2dc2651952cb78571fd21563337a9b035088fedb06cb92e559c7266b0ee59e0f6fef97c0f48f9f8b49953295d343591b5c67e3ac8e4612297a5fd9eba4ba244f2776462f9a53016264c9bb9721f4fc286a12467c8ac1a71c35289e951de83e02befafee226422bad11d6a37b21d3c3232723f1b1463b3226a0a0166e4a67f04912974df7b18c71709bedede69eee1480d8e60451f928bc9926d84cc281315cf89467a8860c8a1a7001900fe6417d8916752a4ddc1fa515e9e877741e2a814bab2d45f75141d70be49e7a65d1d56a8bc0a5ac3e89228543c8cb48deb79859a9870ea42f7af4c509d78515ea918257c63eca4f85ef612bc8e732547722ddf589e4bc86ec9d81b81109206513568d50fd84415032b195d830eef01e186d6f4a163a495fea971824d0267ef2aa32a25104b162f49e19e491e16ccdeb54e1d443bca3a2b8b014fbe9b3065bb44b00178dc84893f66b161fc69794a759f5f22db410ac30b7a3e97833b9f8426369bd91e37e370bf0f970521d809599fb7b03b52d63388b7199b57c2c610eb76f4b501720643bf01c4e56e47e3ffdc41d2efc5524cdd47b1a8509f7066369954bf70ebcf1d525cc6c7b286339a9a284a50fffd5e94052d635dfdf36d2b34b44bc0794abe7af09d5102fcb48a2850fc2a819fea36c15607ed1c8a60e330761b3f8e07dfbb1db2a107e98c228d67b4b088eb7ea2912a06efb26c36ce31984c6b63ff96e8772c045ee11f5bcd90e0f3d53ffea77cb7af1b68f31e33dc1343454cc5e955f8323fa55a82efe85d84e3599bca93f71615492143b125318b15487db08122dbe5ae59507c474d09df53c601962de20672dbc0e4e48f9ff0d535bf94ca5b6eab71a2ac8a5a954df1546418e0f97cd3de20a3fb398d8eed2e30d57710b498732512202ca07a981160f63c75bf0e1a3fb232771386fb51947c23ed8eb8294ac99c434f8691a70377e60905f62f496d22b54690350ad6bc00e659cbf51baf7339d008403d0265bdabe8d97e07b2204266ba870dc077cccc9d8a174deb1ae226053a9a02967301d7e75e2c00088847a5030c7ade4c54b0a89811836c7263701f4274960188a7d4c75664dcfc5d788f35895bce146757b88d87b65d34a925e86e13ccf6c16ff1297f230e5f738b706e2ba6b843aee295077dc7d8602011fc8dc3ceb81dc01645e8726a1112788815243e678699dbb883faeb1a59681b482d889ba45030cb8f729aa4e75873e6ce4e660225470215f6ce979c83b588cf5c0476d588bb8174ecc4553c0381d0193bfa0dafc55a9e2a4b9d0b38066b95919e0039f17b6d2c09312233716a797960c93849cfef20b38d2e3499034e9f82055931217dec24ce673d5de369ad9f09e461f65354f29365d743c2294cedc057acc8057c0c603b9ac08950c214aeb1fe2072996bbe6aadf847d38caff90d597817399841a8758f291927f977c59dbaa04a63afaa3c8d0d8f8ddba0322c9225cc12f599ec2a4120843432b81fed0b915d7dbce79e57aa74d61bce0bfe1ae9eade5c7d6af10e6f8650a0f61a5da8bec0baadd8a4471a20433425c3f0a1e7b69d9e8dc8aa075806d18197e49d7dc89cd6f4f4a712c0474e6a54e1792dd6241e3c04fa0f7c424c313aa9e07ac890cb5cdbd1ebc71e5b0ba586396c7a51e866007d83c977ee2426c8310914a251b9da0ce2ac72515a5788c8818666b178f006887868315cf754e3b3e3b98c057179aa90fb4d223b6dc1a992be90cc2570ca21fd34429202c100310382529a5279bf17c0387107458d5d2e839f693528971f98e950d7d516f76cd63eb4eb4ca529958675f03df4f15066acdb3944ee1fb854755e06d333a58a44c9a14e2b8ef26aeab187ecd8d57a8e8503d8b4be6b50b66a286bd54b223a1da6053b43c9946da8e2bcc9087c5e0bc40074a0f101c49303bfd73359cc401a5c35ee6befc2f7d156189f635946ce0dc130f7220fd092ced1272b01ee346795d6c47c0db420e056bc95c6417158af4f347bb895c650284bbcb6d2c7211e665692e68380e8c464363fad5a6e76419767781147a6cefd873457384dbb84edaf0c26d60d6e9c6554fb2490721502420bf5de70bf87efc60fed8d92ca00d073466672564fc39bec486c8c639b7bec78eb4c535fc94879c4b60bc5e94d398c4cba9824455e18228ee337bc1c563da80632c97c6ef87951ec0d4bd029d302608dfa6798c6946fbea7aa60778d9671e9e12dca02a2b740269883d611de5dda1e860dec119a23d967b4e140f72b13f069991c4dd19e253067c7db01511c2023be73093517b9cb6467f57a998f73a69edf166b04f30e533f44859625077fd393388e731b2d280c1c20a558042a40d0261489e467c6401bc63a14e904a5d774616f20be49713718fc822e8409c1587ff0b4c7dd038de10004a8140423941bd90aad5f3aaa2c1e50f865962c5890abe4619806130441e2d4f16ed90835a85ca9fa32ccc7e49d8caec4df002a7d6ad1c661d2c5197f3b16ec9722f0353edc425218063f08943d3339e523b7d302319de0f8a850b6031315b33fe3aa661ad719a1b26ed9104d22c50114dae9e8d3ff9fc2bab6ae100000003810056e25eeee74b8bb7ea6cfcb1477dcabd1e8662f34f6ebcdaa28ccd347512db0f0d929567f4a97e32bf695baa62c2ae95a28f1e21edd3304e0484eddf8826ed884384106e52d729d1d8ef05a073b8044d0e5a5a4b1795367e109a5a039f87e8334ea25cb4c7ecfcb96a000a755fcedaa1b110574cac23450753a5c6f51ad92ae8c1a9eef142d27067e456dd529071ad3eb15dec542d790e74d49409497dfe32760aee6b3dafd3aedf40f20e208243c900679c22d012d36b38fcb7aa70a697699fafa2b63f63b72ed393f03367c0532783b844f3d8061310844291a5116a7b9873369b2000258f402ffc95cea4cc790df471602764966ef9cf460e8b806f188b46beef1f73e2fd3d93b2b4221541bcb3a08570d1164f09da914e4eda7a4a49a4a3fb93c7e7ce4d1b328378fc49285b43ec9cebb7649d11038d1e25a270a6cbf9a8dba3854d5f216d0de8c04c549ffc246aa9fc3551a2fb3c5a51529f83170291e50ca2661fc525c164b59373065c7f299213872f62d6cf9e19c610bbaa45b032d94e6c491b4009a26cd17450922728d255b69b6511b209305c7c5abf3fd475c0c89679ba46494c055064d645a2729d9e14d0e4b665aa7a89940153a5568dc2429583f2934eaf13ff243e2fd1dbc501bbc3a54afe635a65c1f7e6ab27f6f598b7527e1f9e1bdc116c695792d826afed2116a4994d27234bfd9ba3c2323ac1dec172f75bfa95d7601742217278ebd6fe46ea61d859140f64f48431c3e73b6fc7410347bf39cd9b572fdb4083b43920e6170c725bd7e86609e4a603c27583cbd1b2f5e0d90512066ed6bdec49d56d7f9b64aae8d8fcdd9bc389e9b9dbbd8e3a87461528c54810966196aa393435b86eaa2d2356ca36b700ded81f9cd3851812aeff19f3dbd10d3f02018b82826f6cd5e65e16f951815028a8fd08424ee9e2b1d4d0b44f4b53270d1cfe798bee497e965d53ed0a9073a4e251cec49e655be7b06def598c0722995ce879b9549644d9796f162c8a613272337a699486903f726d98dd95649df038c78d0411b5e6eaedc0fdbfbb100aeda8eef64c31fe8fe2c5896e1b216a6d931e802840f704527380eb62faf48204af540b454ed09c1b028f411d82afaae4c07272a2bd076f255330a2af2d729f9abf2b609580ed3370d7527d59e984f26e148ad7c7a6c0032c92fe9972cd81d87c48249ef2c5e4d170c6f1b0252787a87b4458e12ecaf751690783d6f08e69e62a8c5240b347c9a2f523ee7a8fa81064536420ca5061fb714595708f8801383d193b20c1b0f9e3a9fd8f41007595e657d8e9673859c941e1287357e1f1a1ee72e01e7befd6ed12581cb7fc1f84449d83b7fdb3d428d4abf718b97bbb6f40962f10c64d13600a53a7037926115cb108089fb9b1a37ec403eddef9a40d68f30524e78f4d55b07f189b540cd48b10cbb3d0d3cadb4cb346dd23861cc5cd1c675cc69b9dc503af3e615bb5fe144a6aad69dbec0f7925e9d0f1ed2b54d35535ab451ac741b0cfbba3fc2f27ed1c1b84e87960b47fb35959cce87b2638156a779ffeb57cb1a3551074b13b6c105c25c6bbfe581b573cd2f3f9f0fec804083640d09b8875f247efab4f5093bd67a7a3c85f097a17314d3b60355af15bf9c8feb3c67f903ba42df14d5a90a3350928a445c59348ada2596958d1f28967ad4e2c10dbd80ed248ee9acd72e231252cc0bfac8072b2f942b2e261db2c7914d3af987091c005d1987f4eec2873a275123f5779ff67e0a87fc92967d7309636e3aa39480f955387f1333b37b588797e2f5d5e4e73293d454f37879f9aa1e4527a304db87db354ac78cec37cc709cdd161a7c07c6f3f8f38e2e461a96b312c10287a1850352c5915f13c38dd2d73fa07546a9e78fa742a412ca66c8d2fc826044efcf0398d88b1cb9115574f6b50f7260c986739142a50ef1d7bde372e5c7e622015cd19272cde3229cb0e0b4afeb432a5bd35e741481852f3578662cc5ef6f9b6d26cb5160b79c7915e05610d646da360e82f10586c7db8fb803bcd102b9d4585e63b4b3408ec33c1c64553924c431dea8e48c5a835ef4a5544598a566b6b5a85e829db8892a40637b28c6e5b35eb01adc654186f41f59cd37f39810420a453b0299a5fb07d9e0610332ae560f418336cccc7419ef6e092b12b813d758468b92fc0bcad54534b54d3e60d312613df62d0c2ee5e065152ae4d2f168b626baca5d8da3fb952962569acd57dbc14e664d7ca626744df04897f9ee3d2685adcc873d851498575f9b9bf0b21a681d10ca05ef8fcc9eb2a4a49d8ab9f8975184071140cef273739a9d233e1b2053292a79ad5ccfc2d6b4a7694999578dad50609a9e1b98b6362b79ee63d925a7533b0120ce7c3dceee983ee7ea6210d0c777439bc20f0a4a0c01b20e851de6c8a7cce81d5bd7525a463b031688001b4e76c26438be4a73a2cba0b79988c8f832e7aeb05ff364e78cfa521a1fb040541e25d8b4ed4ff90b4bca43a67e4e51236e39414c92c08209374a6e68a141adcb91395415de787e89508f1c62f6aea792a32a34cdf8b39937c2b97da77a5abaa21102c662715592ec642822a6fb79b46133d45f1aaa81517158af72b30742386c17d537fc60cc4e1663271087c9c72119eca296e9abc4def794328d7744cac458895eb39c4c895826e874eb61605d1fc543a6844cdca900afcde86bdd1426d490b637abc9527f8656fd159732322fa0e46da6377152f989195413c93fb253369963ff7431909454f35f28591a6c3b6139f949d1f9117c66eaf8b6862e4c3f3a04ee90ad2ce6e65819087df679aed5f65c2f39d5a94c17786df7972643b9c7dac7ad62724e7d1d36136589d2dcacd7f432d3c71e93364b02dfc8fa595a4c08223590caddde0059a6b4cb8f16d94d01296b175926c4b0e75069dc3000822bfaa8fb3adf32dc50605351189b107778fa38d642227dec55aee02121ce3a18c7d25a8b91a9c26a01088ed01220e5b037d3b229e85dad493de98f352245f8c3b893cbb741d0663641e953d6891274b86854daa3af17c99508aec87377b58671c02640277deb9cc9a0105331f3c2df65b4a5ca1c66d894c7aa631b4fb158fe4d9eb8d89273f8f7307345c86a313e996a9699422f514ef8f29124ac23a387096dacf72c4accb0b7de1662d0333b011081bc42e572ba65fa1b69ed562b5006247b556a1832b4a147f5f89b6b8d2b9a3f75edd1b93e63cb0ed326edb97609e57700672165b31871a1ea7dcfe4b6d0c960c5c71dcc2355f04a3a3e26f4cd11289fe5584c82b79615007fb852b35733c3e4aa307643bf1d8dcdb18220088477f6ccb531426d842c6732e619f0bc33dca60ee70767c6bc2e65aed26a2e33189a2e421dbfd7f3c1b921e4614ac231e468c217639e3036ec87843d6b7ce325e68e3a0c0df91a18f4b4c3e239e22327c4db5b21afb2ebf369d78fe24114bc54d42e65e3f22448666532db1441214e29bd5515402bff89fc2eeca7dde7df50728ba04e7e4cacbcb20986595ad54c15e8a215a2f2321d00a40f5de6291de26c80e29166fdf1cd283cba17144122519acc8f755bbed3379ce008faec18e9a24e9e81011f08ed5f05e9e808f4ee9682fe9621c9ee3b82c1ed3b1725a0ee19765b2baf678a450dbd2acf1fcfcbf497bed9f44ee0db8f0a82b8778a119d06be20a0ca93e89a7e8bd4ba60c0fdf2632c5e905702999a14b14b596198746be445ae5f68dbea70e0d58176222e740bb7134a012565d7463ab6e1abe56a7e772a06cf0c3f1663e84f3ad7de755969e64ed83a7df5b33676b2ff8cb1610abe12a92b9ceef18e9a4639bb9bb8b85e2c538245b1de59d1a8b7c0da28b08ae1b7f340cdafe58c24c9e47dcd8c7ef101acf95d44dafe0accea268418e05e87f736f6f0f7c2523239bde5222216af462c604a7245e39cae547107208a5c2aecfd385bf9ddd4f755d2633054bcc55ed482d20158fbec4f089f438b4a8ed8f9a6b3d66dd31d5a3f32278c2b410a1349399e8fb3d3440dd316d910e6cc6c2355b52ea134d2ad7ceb3bb87f7aeb9a4553e7494777f790ae5845a2e8dbce61b2d6bfa8568d3249b0f7b185c6116f22c44d7af4cabb5391cd2757a3e2b5c04e4d2a1bf021af98eda2addf8fdf3e02df881bb23292b05098249625a56a75649cc94fa43755ed12ce9d1f132c0718b32cab4a4cc30dc3ea5332e77a521734adf37c3f971b853437cf144a1d9ac1e058e61b4b82de14d673c67e90c7041e8f941036ddb2820b20ba07a2496a16b823069d056ba649a49bcfd84dc858e2c239dd95da73ba90855c1d4f33f78ad94d5f1afc03fc2c71d61d6067adf91d2d6a9e3279dabbf47c81684f1f9e46a75f162f6427c3ba1f6075739e5ae572e5a7e124880e806c92ce4b57af3566bc05816db172c5555c3fb2298f43673a77ac6ab27dfb4f5c7de5a014b143afa8954f6fb20debe67ee600b5b18a1ed47aa2c9c21853368e2b4e6b5f62a978d3f71f99b2060c5dab3669d698f67058ea6706023661cf0d5a99397e1f319b5b57ecd7cb3c25885dbd1ee275484d85bcaef9ec66beb774386e9a97658d027a5679ef26eeb75be0240c42a746e575e95179fea12f22142fea684f4e6995118f936c6a6803f6fb4a51cb69c146613c342726a769b37745ee40aca77e8dd6595aa898c497a7ca72cedc5509cb1173677d8a239caaecba4f44210c5de48d5a80d406ad45c03f98a154b5b2663dcd082a2a2b4ca2d5ea56033e6a8f980bf7c698eee9b8b0e7a9a994d9aeb5e7171e7d26a5b8381cc4e2f8719a894bbb55cc640ab2f65d9d0811aca96f715a9e724bfa492e5e0781126ba233cff774fc0e8c8e9d4f17406d713bf6816666fbcc03bd4b7dfd093440941568a964620097558f0879f7bf52e8628cce54d25e3af82ea86386111c4061170162615d6faa4fed12d16292a28c423dabf2f9462ab68a89209d8665e2c5aeb70d44113ad2dfb18f67f2a657139473e1b5d2890fb881616f55f5bc4ebc0872032289fa39a21a45a1116895c2592a2d684e3aeb0e932470cf2a93bfbd2a970ba9488a2b6f640f7ca38eb55d4df64e2f8aba568805d75a5632543cdfb1eb52b1037b0e82c7218435f33db96d7e695458a5f620d13759873d5130636376bb386277d03dd9689ed9947ed4813dfb6bfb9f8a740c4ba8a9f2962e2c38ec464c14b24d079c5042efd4f23ecafbcbf12594e0acc437ccedae3bf84ec20d3e05800bdc5d0f98760ba50e2f0ee91cde34e5a093b278812a97353f372a609ff396b2bb9860979e665cef85e98ab7361201dae9e82873636f34f08fce438d75deec807ec325c39220b8ba7b3d1573b9cf73432382e479193ca745b3ca16d983e0c88bf920085d24c9ee205e9b36e87ae03bf7ab9c8c8f83b1812c273f612fea1f42df1aeded6686ce1c8fc625aef521ae5f7e8db982fed556f9a1c397b8c0e2aed081978e23331199116927f41b3da10a45572bbe1fd78e5fecdd69803dee918015b1b2836c738c668cf1535279e8b1fc2323331e3d436b8676fe705e08638d839d6d67fbec6601de3a2a5c38b77a285af85a379444565e15cf27f20a32e6f0faa806a71cc1dcfbbe6902455fe686c635ca596d2e17c020201306d47143e6bd1de26a5363b506d9c3f65187531c394e03c7afcbb41ae7af31763ef02556065b9df22966010d1305226a05414a7f6bfe16a313ec873bcff331503170ae32c27ac9d3804d534df94be5962f71d8227e26c6b474e8146ecf9b10efc4b4360ddc39398f7769efa78e396edd722912f7dacd1e26905dbb6637308010fe771b08831b1d2751f2001723f355df9aa927ca790d702808277712be1a013b7d6457aad7bc539552b533c310b1e23ef63740162da832de24eae20d33239407729e70e13a05e2a5a58815cbbbe75c11c5e54e155233ecb8cb366ac8b2ba24ad9f44f3ed067f16750fae446953a267220413c9289674e05ad4a6bf79e4be9a7e9500410c188f08bd8abd29f781bedf5c472ce5df1074c8dc098dee47d8f66d5b1ae02ddda793670e3fbc8d2d10c9d41ff22f7b344f7667fabb53eb6f1ce58eceaae6e0e9527222bbf2a2e0cf5ecfabd551888de303dcbdbd6bd2d818454576d38ee4d3375cb19c9d3c0287c04ac80e51e3b57eb8d36884b62e52ee7b4f697fa8c1104e964ce6a2b2830a326d33f725440b34d34862ce74a5aa0ad28f984b81fda7b9288a398c016bf1c01a89731f4929aebd65b2bf4e5ee792636cade3d9d7094c6082da20f4e0c0343c1a06f46773a2e438d9f439038d4914c05f23507817847a7323e86fa9024eedb766fb182593a89393386f3e25e779fc440c7edc6a2829c6b20bc22fc89166914b338f5a23a3efaa66bae51adf54d83f7bfbae8e75fb853941d1a81bb5c4ab18939b54fc202aea75498db613bcc3289bcb34979da61c1aa811aae4f968768605e64cebd10dfbb6d97eec7098eb0451f0944505b595f9d50dd5e1c9584492a1e5b0e21c46020db6c5d392a7d13075e7c5cfbe4a66065dcc44ccba514961d8ed33b927d5ce37bfa2d093134f1612720cc82d981513ce49aea5758da2c3095a6c5f2b926c33d62576cecf0fe6a745c446140b7901f5f8f4ad45128a839cbcf0db43539f7c20fcb1cac6ffa64991288b442cd562e01feeb81cfd654adc4f86a21c2d2155065a9baa04e117e8d804bcbc758bfd02a634366ec493c2871c262d129ca24d6552d54766fb8b93c275f1d7e26c322bbe658618b2ab3b9920c47988f3e75c85be020c95cbfdc0ac834bf8d632ee6dd509f347d5ad4d261dc63c1b0c593a5a54b98f2c47319d11a178911f2cd61d9df173cb3712a0cca0bb4109a955e964c2b85ef0d1774c75b49078696e8df3c51352cd24d48576a13e2516f6f5492888b8b91e2a0682aede46f6837f3890cf230129266db2cc880409be94d02eab69340971d6f4e5562fa22b45181dd64e3bb6ede8414a1331fedde9031a46fe7e882aa2552dd3e545efeacc409c784010939234ecc1d1ad1ba2421b9f51dd81d7e214edc346ccf2e3181e7e9442a8efe4270600fe347cc1e28ecb0ff185f03b249411d2f8b45317095adf6fc72b8cf330587818eeb1ff442ead4888125861f1cd422dc7bedf96f2bc7370b0f3dfbad68273b04fdf530d95b40097d635388eb2a4a95d2dfbbda3de260532a4c3fdd882faee4ee61cf99aeb7dafe5c7f59ca7d3eccf7c1e39b3748cdd0f4f81bc44ad6f9edbdcb5def6d52f5112a856bdb4d01525002f7eafdb3162c1ab72b829671729ad1ffe3203cd703fd254d90614460e1df8ec2ee6d68346c4365cef379eb0389e143658e315e0658d4e84cf1b9686539c3cc916c5aa35077648951f77ed328e4a120ba47538e837c4224b4ab826cd355561241fa373d03cc8a2a051de79990e496b99742fd44fb6434f1ed53218503842d86ed4171076b655353d546b595989dac93eb05ba25aeefa5d0e233b501ed84e3591d2187c04b879daf2c4973b11b3f71ca5940ab5e5484ce9f70cdae223cd59ef582c983531af1c1253e3b18b36c6d831e12226848eaf70a6332ae4670bc23c7357013147c481a9801349a559cbea60b230ac2a390f842133667c0a081435931bcbd4f66239f92350cb6259d8826ef7b8360e5d63653b920c940995f9519006103151862f0e12455dbb8bbd28a7a959f7154483ad4ad577b46dcea6dde12fe7db9c5605bbece0f51bafedf107b712d4a9f4222490848a5ce74d28b8ac032508f1f673e75b1d4f0469b89edb7fa194470726fdc853e863e2807480fb99a3c3ee5bd3d80bddd20d978fef19a91277ff5061f810db138f0656dea1db21a24c5fcb800e5c04529463a969417ee740eb7e2c85ca30883fc99fd99e233331677f07e3cd016fa2c5b9aeec05eb431afa8300794f61670f835e0d726ee6cda84d687e527a17c9f071a589f180c8580d5347c2dbd04b6b3f6a4a9b9ee4c4482ef1393b7e02629efb24fc8c1b758e273fec38d554b642392a20c3c1338feebc2a5e24249354842e289b7549e68f73a08851d996b2885cdaf90e74f734f03da5cff364d4cfea5efdaedcb81783852953bd18006b2a4549824fdda3b6b7e5d0ec81f79d0b8c9121efb36a1139152b212ec8cb7c71a8c31c78844b77994c83da9ea94fbbeb3dd5e94d2a86152bad1164be378510c34f54206084033b6476bde4a5c5b9c3cb085eaf79f5ba18509f2cd06589e948ca8fb39f40a49cd3ba26da7862916c393f812f062d745e4a36f400e9b3109d98e42f2fb1952a26d9c7db026738bdd5500135d85fdc05f4cbe78d862989aa7e3942a966fa5bd1d393a9b42f29dc9e33571242f8bb9262a77b2d3c5ee6447c1bcf25056debd54c3a255485a4315fde3a0a7452c721ba588c62cc313d24ef06d46e94aa10d807c616ec38d787c082f0300ebb07b031b583bb16646aed66959d20332065fcb56256782e9408b7a5765d5dfbadbe02db963e382824f3bc4ced180bb5043df53ee04d0c0f7cd524c3a68c5d1b9290262a8244d2d6be0b6a6f48e8a2cf58cc27b3d31fc19ffaec886b0fb2e9f3c3f67bcf1193a2a3ec431fa99af7fe5225fb2e1c28a80159a60bcb5b12f25d07bd2f8fbea6c706e08ae09cba1c2df1cf4c3b742cfa613c22f813dbb39a10a8b7246bbdae87c2586e909ef1dccc31ada7f3e0e5b2feb8b93c4ef7c0adb65b808ebec25a03357eeebb362fd7dc5b1fa57869131e723e82327edae9d24c04006fb36367e0c81845d72c2469206a46b93a6e14cf48e21e6a57d44cbbb25c1269ad0e5744b53d136e33615642b15af10dd466158af05c7bb1b8b799f9e6d0a6cc368ac205d8376b83f9b910588971f17c181c16e39291525506bc0b99dfb0da4a58157cab0203106c130f1cb6f30c2460cd30419ad5313601b8dcf6163586a86833f03b35d82ce4a9fb99bf685be650c4493b9848d4be70ecb05c289dad28fefc5546b2b506bd9c770c9dd8f9b1a5a54b3d66ce331f57f603809d765999641d5ed9bee43fac2534e5caaab49c2c4a457e46df96af0c0c52dc8eae990372691731b0bf702347fa13149f016ac8e37cd8facc674abc9e4599b7c4c98872cc16280b94c535f02dd775fbae831396b2b46cd1f0b21612f669a877584f4ad61b50b979c50142c2c3caf7289e8f3fd2e39c399fdfd3d9d25308267fcdef02b5193f3261ddb6bf115d6005a572f2f706644e0753615d959396b1803206cdab3ffb174675c0747ee1f3ba1a40f9f2aa12492036f158f1666d4b10323f9f9b62241c8a9aeb03993504c8596818743157ad9d96d3eee56e613d0a87458d99bc47517314d60aaa6acb256b3bc7b61fd3afbbfa956db7d37be9208222ad6ecf4cad3ebe386725266690331320227fa9bd78655a0b4465495b4d21d14d553c5b7b8b50ecef263783fccc7e41eb21557212ba43ec659b5c256a092f45bedd97dce434964df332fe7db0d6e64efa344af32f9228f6285bd947137a763829716707b3f6848d6d1f4921992f9ba06e7b35df10bbcc1efa04555eefd892af8c43decf2f296ab9e182b9d9db03f41b539397a4d96c0644f072ff94df020b06a9af92c0a644cad2d2041d2b5de80ebde2fab58f9fa49327befec4ea99f4de5f86674e0a1132abae2a5937ec5291d40ca5f68cf121ae1d609ae2a302d4e00d9cc9cb15b93e9f813b1e0fe8bdd03f67b6e41528759e8f631309b41bb372392e148445bad372a6786bf533750e1229f6043ed8aee2b36e1f70a38bdf8e675ad01a685119958c44746689c8914f9fb9294f3cd6bb207b61cfaa38490b4f7923f0b3c59ab0adadab118d6f1b7e59420352e6cdaec9659abff7d8b7823839daf29bbb70b706441c229201358e6bb0e4770d4b839800eff61adcc0d6044782c41054669d7e046629987aed93f5c493e0aff565a2274abba803378e83282c597b2cd58b026b77b57ca19f10a99f970efb1c782bc1a6b78f23fa39b398a4390a5f5b06b0deb84891fd8bc344eee24d455c21e7d820f0ec6436e503201fe2fcf54070872a1420e84619ae7a23574c603482fa0df2ece1b4dc2a25816c0fdae3a37b81b8cab7de2d1e118442ff1bccd17692f736c61778d82229309a168f350c03054710b6cc5b439f18c45cb96179f72eb450988aa5f5c6082e659b2edd35dd70135061a15e7fa05424ae737aa5f5d9b05f075cf358c6aafd31e8a11f696ff9268fa37aa7d13afe843d181dc59968d0bd88fa4efcf04966f07d7cf695c771497a0dc40f9017dbe7256b7ca6c2dd17c22da3c350ead5a589c32a534934866ad4dfbda24d47f1e25a7bf0119c4548b08f8bc96ec86dcfc8361d46cd037e610e5db4707b9f959422ac5bd88d90cf80b98aa5b1845e28b024f2dd6f754b5966b8464f9cdc133d3c9643d5da3486f712decea63deba98fa80dbe76c71ff28b8b4d887f1efe49539e86965ce226a008674bfdaee93e7d737c183417c109812bf131348900e6bc07f4c47f2e92525806fe167471fa0416e49f72511c60174c40f46fc432e9186a7523ec7a57c025353269e5edfaf32a1af4d430158bc5e9b936384075b23baf2318483c98159717baaad0dc11843cd9699b5a82dab92e522f403224ae4bf5fa449b322a5b1fb8461fc04e2e7674ace00d73d768e31f93b5280ea6ada3b1b93bef658608bb482798a6fbaeb6e7be3d42393ef2ea22fc0a69927b1bc5bb9d01db6119da94a1f658ef037c4733fa88475f7af7ae5fd49270d826f0e7e8dc28e8e58ac5882c1e23e76494309411e9e9946b6d528e0693dcefc60783ccfa56f29e626c1589c5d79dba8c9326e7064a6d95212ecfc06aa90972073cf5fa764d85e128b9ab3e6f44080fc8fba16fa0450eb6f882a1115664f8d8473f4da0c153f55454031cc20b07fa7ecdc6b37223ad5bde2d905e90d41a2508c1b264f8bb7af673238bc83c87d4ca6dfbddeb3e64f989f37662ab29461edfc2bebe58e5ab89b59ddb3e09fbb67d3703e2c676701078cdaf08c4ec7e435c165d3fd688a95a30a48af60977d3b581704ad7bee83c485d60b23ad7fcb11868f17dfb6562ee52990c831ddbc9e8cda300c182a35e2de111ccedce02567546efdb454a8ea0008b2e06a2d66c26722330944a0a00bb637d77a3343d86e427d3317bc53f0e28be33cf5a4ed2d7807ac11192c9bef900805771d4419ddf878393eaf4e5d0089c900fe34ade8b88be40754da1da10a8eaad5b5a7ebdc7484a17dfd20120a7124ff4dca6fdf97ea0aea6a0580b0e6a0374abcf8629ccaf10347b97879094177ccf0e7ae40406b9ca19f2dc8c1a68d5838955d7192565742021414d83da606f3f7a69fbc90db7c5b24e48a56035faceb0276170d22bbb70206ff54b40e25367da810b4b989c3701b75e18d12abd3834956d222198e54cc74afc4d23599b50eb070bc4ed7893dce599a124fdd04a6d7a4c83c5b367da8129a92c4ff6d78ec3f5e228dfefdd7507e12cf222942eaa54f4f75b2f567bdc5c62da6a27a4a1b8e8f0b92da0d69e36f619e2c35acdbfedd1dabd896fc76a95e54fabd1a3947c25ffd67b7ad0d25617a30e7fda5ec1f949ac4620d0164cbe73b247d9657511344be1ca3ae4a072c393c604a7e686b9b2a5aedd47fe764172670edbd0414f81b34f40c1f4a301c476548fd358b934f2050d7031b4ce3a2be7d52679faf6e0934953870ebd21103b7bc12ca879364ef955b3cd12043b5a1204d6df64cdd7230687899490b55123a3fa338c40395324a64d3b60cf265361814d09fc50b1af5e87f8067a8f4c9bbf4cc627ea6f1f246664476bf2e8ec90020fe4152656f1806f8f1cb068b171349650c80b7f44d7c6117e4fbb6af02c86011dfcb253abc34a8ac62242d8bfb366fb02e0fdab4c564592bba6fdd0ad240938f2140888eb646b1573eb258e6e5ca20f4d61766b8b326639560cbc333bf8566e98359381de9c9130611681218cda43446f4f1938d7c275c6d46da2a7b47877c61be236eb61c0fcbc03bc8a89419447b6b624f8d8853a8200afa1182886b79b914935d64b149a5c9934a883e6ab3848734548e41303ebb15b2174ea4813e6c7f185d598088ee11f05ec8f59db45ed1a64f409e6bd6eca009373461b860187c786568e621c0bff3ba301891dd68b909b2ae935352465bfea6c1c4f3d2ac0794996ad19b1318471cb691ec4ef8356e7321abf2164074578d27e1287fc1acf15ce518a4f574cdb4abffbfd85b48ee1db8166978b0a8648b2230ac4bba0753d16c5f495168458d57ded16fb3578a45e4bfcc5f25515760e629cf7f96050c8a41277aa81a271ab1264d74a3f90c4d723aa0d437b457910aabffa8e2591c40bbcd6493c50edb451f15365a9a5bafa84fbea93bb0b45deef2a2f701cfcc01facc30b59c1d50cc7acadab1db13b99eaf564d2af5663aaaabad7f02fe608e2dc80a324f4b491272514ccecbe7ce01c4cf958cfecfdcdc00a8cd95c8545b478b773389547068220e12be31559b48c056b19fa42898daef783e1c157887430458a462807b3bccd01bb5f1bb8cdde2a5cd578a164ea13527b98e6176aa429f2c6d968f2d77cf8e770b05435062f7b2d5789ed57721cde11eabcd3ceb431be179b8caa7ddb9cfc3cbe79b78e68e7829ed893dde024d59ef5fd95097ebc0ddaf21b7a5420bf3321538eea2ed41dffb8cb956bb6f10009abea09150482dbd5eeea4f06d82054c3d61cad51c70aacc762a0b02142a6526e04d0172a3b139dc7610d945014cd019ebedcd509b2f64d8c3fe3a5b8d6ad44ab0dec396f4f29c6ad9f29c252980d6df2a4ac4d57e724a129837ccee10bb5aacda28ef539b47275ffbd9b652e3998065b461e0fdab840476f36a5979488d1aac5ee81239e570f1ce709c6e786f12ceb1938737eae35b03a36a23ca83849c15febe0f38b44269b9fa9a47be5c52f8fa8d10e256461f0347b2465df6a0f74d112b65725491b44e60ab943b44650cdf11110cfc94b1533e717788631c17fc81d35c6e660a7c7fbfd9a9c319246a91f6f53c6b66c6726dbef6cb75414d3f528b766339965896ed055868ef6170b9e629728689eaf5caa62b32c7eb59b96c165c8ebe658997cad132999680a210950476d08807350e218baff79731988286ae6ddaa1b779409265b0d37a89470dab2d7ad7c6a17c5b2d25698091e76fae3639de6d42380b9cd417b091e4b56f1daa183cc8f4570b8d245f756bc173a031057c31250d405f76351f9b1576b4c9ee146a0f4e07d3ffe08b66e38b197c7026fbcbb735d65da8133fc785fa25ea0b9c00ee71a393551c5c54ab3a05c36411e3186f946cfc2675916683b7e804ab8d85d75c66c47756b5420f04dfe5723e21125638d4edc554f673aa22f19e36c448f8fbc04b699b30de2974985821789b378e1ee0dd0e9f600fe7810f78a388e17f6fc211bd129280b869387fda21bf97908c29904c8854febc203d4eff520cb9d0790cf0a598564978ed440e7582dc4c61ae3f7dd284e4f0e18e59ea4f17a84fcae9dda4e87280933de1dc6b4005dfc5a61e3b3dcdd2e1ebde66105223efc944da48bbae8d62194b84deb0c1274a72dd94020512f8d95d46534eee50894b68218a45d1721f8cca4c3281bbe0a6228fad0d43a4649488dda7988dbf9132eef68d274b12c4b9b80f01823f40538c77a276dc5496877bdbae25940d70d8d0f7c430ecfe1557b78663aa1d5415767cac45a537cc78a84c68cc96b140185c0298a9e19b005e99a6929c388e8020e5fe3eed93a8b0061dc7feccdec134826119a3dd2932f26d6dd8ecc104b13fe38d58d9e3c97b6bbf09bf30065414f04575ea0a8977b694e8dee194f227300e3d99d9c181ac6fca914351e38fdbb1de420219e33bcbc20aa164a0e464e48eeccb8c38601c1eb76a413fc66027bf608a7a20e6bab870c903d85bd3c5a617df81f42c1b7a394be4d272c67a53199ada3f50512ba8e06cd0ac5fbd5bf1fab3e4d311e32996c839cca884ba725731ffb362994525a2283b99e7e705bc353c7eedc08ff29a1a212f5fa810a6345b386ab91e1c2f05005cd4790bd13de74d40ebc6039e27a8a3447449b3bf00737799d7bcd6f1dc786f2436f85658431b8977ce6afe8d609d8398de29c9b9d2b13f86c6f645c565f4a737fe74cf76d06d672ab3e92e188afdf1f58d0bf66664c588c7b8d3a0309c2ca2edf7ad543f74358b4b517c96b072f897e3ab7329c8ac711d6ec48170cc620a1ae1f3873a0388b38272703cfc5a72242e5de71610cba412f6d91f54d314a0d0d6ec629c1613865b70dba27ef74d5d6ef37263960de39b148b008546c77b733414b851f7ef1bbfb685de7811da89abf64da29a9028acc1cf45a5a424327790ddc24707970f0ea10741a179497a479726e70a011da1697cdb9270e2a584510f9daacbd72c6566f47d6ec78a26a189d232c017d87fe7279973a0be97417e755ac4f4f3f9427f391626ff212efd6b6490d4fb772a7a2149cd328cb6743991ebfabfb1e9b9133723245eb3d3755d5862950fbd752e0efd7bd603457096ebed6eb944be2178c07f48960766352a8bb7d1d3c8249b06ab821e3d9518b4a144b692f773021c3959c7af16364875564541267222cfa2b773de4b198590e2b7eba26df6cdfcba89f5e2cc624efe701162576e6003e8621db4fc2039720adfa34d7031015127880e03091121501f2b2ed4983e9d3642b74cb72bc05f4b062c0451af1919604acb03b211e8c579baf543626cf100d6c415707001308c75be1ccae3fc0a35fa368eba60ba60c6a19a9b11c8c920f279a47530d34ca81ac20bf539381b4d0f8007a27b38492753cd2644ca785527be0c22b1720b3b110063801ba3979bd6de5315adb82e101be67c773e64932f4f3db096153842e513c0de015262e81143b3aab22fd722b14c588e59e99f92879003e979cbf82ec38155b754a7177ed80a5e065435494905abb4a8ffe165d52592ad02d5dc70df1c46651ee42d30ed3bc3a609e97019368a757ca00467db52c4eb0ed86831e58738f5d1b6bdbb37a437a022eecddd8e0e50092a0ecba163db9de5dbdb68d28a6d0710a43583edd06f5d5ce6b3974f8902b6602af9dcfc53215cf6cf98978f3d66ad96a86abfb8866028f6568bf237686b96e62f30dd45a01ef081f98d2b9930957584756a853ef395f686d54bb2acdf7e98489a81048b46d319e9f177202c81d92b9931e3be6e7bb5bf6104f955fd1918ec5bdf593d1c6d9ac324646a8f7dd51815668ba6d60969f96e23fdb4bdc54e79631980b68a161b1b263c83d1d5382edf9a77e38e3b9985fa3e10229855e6e69b03a8c272d8e2520ba6a77f3687d21880a3788d99e558bb66152f23324ec9dc136eee00797adfa384f9918ae517535f33efe76d1e3510d49c23e02c1052f312ca40b33a12f30397208bcbb5dac2b202a2270cd288c4d50101b07f2520ac9d8fbffe14f7ac7e0aa0e4e6688592fd1bde04c8125c40e191e1b41f820e7be8fcb3b6d41045a6c0d628731a4be5872135f48a29bc4e6d00fa5621efe27136f6fc1bdc544a97cb9a0f1312133fcc4835b4f2f02dfa3674270c8795d585733119781ab5a7d8813b67a1a5ac25d7b109679d05d6aa68462e4a3f0e1574d56482300d09a52c27d531853c23e740e63678cd78ec2b530009b5ecfae6fd40c4b747e4af0ed68c77006add253acba2046948feb762ca267fb303a852442f463dbb34cc4e222a48bbaa27e0bba57424dbf565334b5e4d2597847b5db9c1b1c6c15a55b59766ccda3ad471e397d879c603ff6305b5c0013eefe3599aa911dd86ab37707cb83ed9585fa498bea91a0b0f1c600cd0c30b5bf6fb0286e0797c0bd8995a26f98293f9dc752250fc415fe461c33bd211bdf161de142e7884103abdd3b04dbb49522a6ca33795fc7e41e8e7ca79f1f768098fafd0bf19b3e9f2b5279023a6b9fc5f868cf346fdea30c3b416ad8c06c905837f5f8cbe1ce4e888b8b235e2355f732b3834a418c93a4f6f518d9edd0e6954052f1a7bba98f3d4dd026cd6a7193a4219fb0274dfc5c7afa314d63b6dce8fef80abb50806f1e6943362308b04f98c718fbb065ec129fa2dc2a628ab8fc30d566f708d31811d591a78a0df6acf8cf8d25f9e65f76c24eb3b573451d8f2cff2430960ed493233a79d856cfe745ffe54bfce987234f5e2657c800042482297c0d322727dd34391b627773b56d57c8f7deaae5198e165fa695db99f23d868763d6cf907abc2e1e36deb0052e48876f03cbe027f71be18add517c64f107f50a3a7a95cc3499d64a5c173ccd229b095d3b0f816dd6e2b9f76445da5104a6c90608a356c2d779ae0f11fc02a87a907f5712443f833f88d0b1d104de8470819fd295ad47abf6019fbe208f670f8bfccf0a39595b41326df190c31f969b5ecf656da0f9a646310e5f8ad43136a694f261ac89fcd63c19dde38fe0730cd3ccbcf07da0bb36da9b6aba4c255e906bcd7623ee6f6abe0538afc422c098e46075f804b467812a4f282ec86db6239328967ce043c9db6d84b66a08ed91801a6f589b549509ed4153b8c903af314bcbe5349d79f950db0a9941e67c9e0c33dcd07def2425210111fac5c8c93503dc1a7b3b57653e7579c14ff6ee854f259442f1391065bd943506ede3c78096767d2ea3ca434f743efeeca1a4f2e8948506f3e1c3c4b97b6dc5b22de22f3384c842df31b2059d95841a741c2cf14c19f1b930023536bfe89a1314d370e59927a4e4fd0184c08aae5e800874ad2e2a4754c4dd41f9b564c7665837bcccf2cc7c105e1b0aebc202049a58cf5130e93500a6e46b00e41dfa11f7b2133af0d5cd996eb4592aa5efe1c3a37ad34a6e26a9dd1ade0e9ba1e2a28a9e8b7e645c394fd7ae435f785fd8782439f639389ff27bd2dff32bdc03380181b7875382c7d6e473e6ea5b365002c9d1488743d272b848790784b267aa68ec7b36ca9a4ffa3b40429ade38db3f8211ede94d3584754b9f699bd1124e8df19cc6a394ecab684b521b25c800d180b9c28bc200d30676a5b9b26f853c7b5884ca9c378e03381b78026703df9946feba13ca222a7504a0796603d5023343e7800d7dd88c69b69cc06965198903c4c59f3cdb7049ae8165b72fae72489f28b10d9ebf7d8731e7783be1a414fc9c90a03231d2e8679e73fd70589d683fea57ec03ac61ac849585dc5cd275b07f7032ebf6fe22ca49521a9357a039a9d4c7e8690679e6baf33fdcba0d37fed8fb9528656337fd5354deb59bbe3a78544510c62d460916b49e1dcbe35712098fcbd3876ef4d3ca4fedeec319675b7ae6a8deb10014a923892bc2ce4f3fd3ad0d6977c6becdc17529cb22f0ae27ed0c388e7cae39aaf380c417ec38a0a4ea889b3e2ffba3b0ae8d2c040000881644805b88f371b70c7777aabfb90a36da99f7b38b4fb64904493ac70a8d93255bc9bc1e31b910b5b6da969cd38b02564c0eaf99c8601478482b735144d2a85af15d0e7f92f0f1daaff4b238119b75301b43365250be2b3ff1bc2ae928ea8296f67750b34f01bb6043ebb841d71299c9957a6db946026711b2a5d4ac3704f516f1bdf0f956ed30e2ef82f7afa9ca8b60ab0992d114155c67feea26afe09d58f23ad3f288b6a04022c6f11a8a7db113569fad70dcf072351ba9afe6e6904a8e92263b241beea8e39a646822d2850d6f252f3dcdf5784e45877f1ea441507ffb4c7fa1960ff27ceda72bc61a2bf2a290d7838c555054b432bb6aa59d2122fa1000d094950757a36bee568b19575aff452726fb95b7fb9e10cf6c5385d8191f6e66c7743388252d1e93065f4783e8fbd2d0057ee08bd13563d72c12cf39079682cdea01ca92f036811956d8ffa0d2fbb5969939ea584373c95d36a604e2b2868eb4c2d0700e33c3053c55f0a4d824eee0ee8071166afadbf6f86c67431a06257ad08e45496c4e7403798eddde63186d00ff5d8e05baa0f74bd1184bc6d9f9d9441df3a79167fbb6851c2c320bc1073fb85d4ced883a9be9058f8a79fb67fdb6373d4c1fc83637766ce323c64909f5f2175a6879ee758cfe323ba411f8429bac5d2ad3896a9b66546ef298faec9cf9abb2e8fe220f78999f8c1f90755aaf2effe6ec496c52d3821c8c05c6c96ba114620ac9b4e14d156881c7378775f22c8c4801cbeb495e38ffb91845742b6d20a3e555dd7344359d8e642962731d71f58273059b28b0d23f4df79452b3fc2ade29dbbc22138bc32970c8b95fc95d4c51b693c57eb5e1f4d71d5e142c30559013baa2a40501f8f5c975a91b77186ed8db0d904ff36e5791f4d98cf20ed006e70eb2ad1f5dec57f4f907a98139eaed41446bf5b611861e2952c1b01adc96660b8874b221d1b2462f2798eddb9f67ce1c586aad8275b67925ec8aa387418f2cedc58376e42c458e717f000ae0146ad74a1f319856a0558224878ca2cd0df54648ee611b460ea085cf1fdb9620e5cbd8605ace9eade1fb4cc9ce514832c52b8aa778eee8dd8ce3c9557d5b7218a463ecf597b3ee13f9d30c9c96f41c9379594f8f62c2d3fb45b770b46940fe6df710ae3ac264b55ddd0719faa39e8dacc0b413de9a19c7ac1701f7ee008028047646b2ef71722221a51edc48886ea89f0d410aab7aed10ec8f5437b0fcb6ec49c3b1191a27896fc773f253e5cd4326a5b5fba39808a8ada675bcb0c7d968bd9aa0770940f970db33090caeec30a5d1a351c69067d4c9d8b8ba6b7f5c3314c058caea3d712020df20d29e35fe1d6eb9170333e66b4d9e8dfdbd87744ad4749028097d5f23dc6c5e9d3fe0a05b5cd2ad87679b29ce608a49d091cf91da6dbe66c3e80906e7597aef388ac08e0351b3633934d6ab77844bfcb1dab17c99572a307a46ba8e1aa57909dda2cb7580cc7198cd72699ae78226e87a07d9c4392e1a137754008a6001a7d3aa2c2720c0bb99648aa9e8c8455ec64f4a81660bfac7736b59581924a878ae1513071e590fd4faead0a58a05bc151c71262339e12d34cc0bf5f9e97dda215a3943325d25a8ce34baf18c3e48a269b85234a2da065ec3ba114220185bfccf3699fc51d6a6e6c8bd9400cafbb1b2e627604afc46b4b6db4d25f8c0d5ce4b663c960e3a933e1b171573ffedee47a0026c4cebe1e68e4ec3aa53eff11167da66993a29adcbebc11adbec68f97810c373e7d4b0742094b7376266321c45751c5f45968dab2389f7c8182a35426aed1d449f7917cc9f0333e102070b89d4e8c242a0172c42cce23afaf5924bbe763b611b31a709cfb0dd348fec56dc1bf259881e67e10b5cd7eba4025991d34d1b3d5254e68e9647642db9abd3ae6ab64187213e05944f0ce067c6f476b4e8a5aa8e5abd0d1214ca90eec0adac683bbea26c5cac23a1a46b75fe2cb77005288f76ab7c62f3cc13493d03add17919e48762fd7e17a61ab68d056443e85ad3667a129233effb6be452e0c6b9c2c7355838054001e9fb611eb3272d86e7305e2482c5efea0ed1f7c99a5c9ca2f62272ab1186f6128c1c2027f4d64872d71eba5eb30344c1f70aa8feadb21844dc78faf20a7ab5984b09662ee432217d0641d86a44d3348d50a961a01424d72c58746624d0470da66c6d9ffc84defda4f45e691f6dc8fcb74f2d2313c79ac32f99b2285016b167a73ee99b89b695a1ee3cc771176bcbc1dc48dc43afdb44d1d45d5cebb357097b9e8b93fe89c4d19682e5bfb62b7d3207e45c682ffd22913a152624998607e28c17737995947e83ca5dabe682fc5d0ec7d8371a886ff8b54728e68d7c2bbcbe171aa06e59a1373c52c9ee8e2feb917cced3066e28a0d870c98970e2e22234470334d410dc18f4ecd0c54ad54585d0bf5dc65cbedfa658b5c733574e7dc99ccc24e0343d8c4b79701327cfb2f1a2250daceb6190f5cb346a0a37d9bbcd352c9ed97d7984bd5fc5bc9846354d61c4ebba98e0d198bd84afe1ef8b031cb88ce94bd48ece4d8f0fe0b52d3314f5654251f7c7f6b04f5ce0649439f7e6fdc2eed801eef79cde05095b55396d9f7dbf9a74ebe875009d0bb5e464361f3f2f4f589f840fbea7a39db9b07465c1ce215c8916a1a9a69f852e1183f72cee6434f099a90c7f1ad9e99d908b2eac54d4ed041f0c56d1d64064755e598f6b207a957954c677845619dfb9a7a7201440d9cf4ac29fd39018a5d99dd11501521a3f05bd9e5ee51011e859ff59b130a3651789a7885cf8681ce82d2b34288a327a9705e9eace738a3312b52459e1dcc3d26941f332bd8e594237b5a40a4280884baf8cb9ba7fca9a3092f33ec03e5d48ff88efa1aa0b2e993c7ad43536adb9c693331d1057a39a6cdc5bb6b6379161ab7d63a6ed3be59f0c1492511dd5f9c8e5e1264b4da9a9a656e57ac24fd0036fd6fab651ad6ad6734e7361ca5f8f35fb7832d11951db75ca751e05c25141fb1ded7dc4a19471cd356377b48e5e2076fdc0be3a2db4a710807be89f0219b639c351c4180a0700b965825cd73c0ea70745a2a616efe223f8225b79e381f6550057caf3417eb44fed9d83ce7b1b9467d18e1b4850202df0608b90ebde33dd2aadd5cc16564a07f362b09ceac408e42a35926c57cacbfb65c9a3ca3e63013bb082bc45357bd5cfe397a54c435dd510cf78789a3923ddb94d0e40c8ab7cbfe1388254d5c033139c3e9edceb0837e7dc1388232df79cb201f13cf5787679959e97781c80dcf1a1ced3577e77315fdb60e0bdb7cec9ef8d868a3b658ce892145ebf2f7b07db26868bc8a45406e963ef66e842efbd54db09d56da76e4bd7e89abae3094ab0ee213593105129f38db1b4b4b7c8ae1e35b456310a4e441792a83991af1dfca98565f2d51f43bcd74c85faf83d62e79d71546c2ccfb245befe98ba6042fbf31740c25b6b908bf867e57367508b8a9df44c95a9fffb6f54e942a6317143eff3133be64a0a969945732fb7d39b956de615b261db5b697c04289569550efd4cc4081993f61c2aac96460a8902ec94eab92c6bda73f0b2b2e4a30cb756f72e3f5e6c5ab6102437b51639f79fe5626d72062264ed7bb78eb037e542cbfea82c80ea79724d8dd2692034faaad08b81642b1fae3c76acdde7d87a7605d9a1b400bd767469b997349e188192acb19de04124a93a96d5e05215f0dc1e97f0cca5ec428b2a1bb3b845cd64b32d37de31d8713b25f53aee1d034a6455e0415e43338e47fc1b679e72800789f0954f002b813959cb027d5902f16ce37bbfd381767608a78527380bebe56be24fa666e78923dae4f4a974417145abd55a5f8eb28cdb2b09465a2c9ed67a28ee182667d51bd2380643e2f1412f4486957dd44f9c4f25276630c6299caefc1940f45367229ba59746066a822fdd7110f9572ecc178dd2e0cd3280345f6347b551c470e99645b953f1619c93e9f8332041a606cae4747caaf3d68163aa64d32aabef2d86fdc3b0ef52104782c532757a1b4fcce776e5cf0c6ff49711ba919f86b6dbbb2f01e1d13368284c96a003cb49d68d09adbde6bfa55bbe5080cd1e25a1fcbecf156366f81477335eb75ac5c9870e9f2b706bef3b7f84f41ac9c9479abc8ce33a10e27d5a54576ab2588d9c1c7c03d866620b02042507e5bd3edafa2c084faf9b09d852682c8018db6474a717ca17f75d1eac484ff8081b4dd2bbe9e1675ea3965773ca5aa0ee3acda054ade66453c131ad56e3317fd9725e30d4a748a268ca57e8a0b18d87a15ec9ede88fb75b7a46fbdaa58e77a47c85ab0ff10743edc72ecd6f2e7aa55a6bf8b7d9c3cdc3be010b986752db120581edf0b7c644f62bf46f4485ea027123017df5a8934c90cc54d5e088da4e0d399bb849e3a4cac9dda917a81787a2350d0852ed46d4ef3ecdaf53e5ed13573b3a8b733e9deff4d1d47c618dd2006088ffabade215a3d876daf40715ef628020233de891d9d368e24d43fa5efcf0b940ecfd70a5d30e5ed28be374963c344f63899489ccfc85c509d320a188f609e228ad5a14ad6f069d0f5aac8853d0dcc888961284f0f5772f5ee9edad9ee2417fef5befb2fef88ca1edc91207d3a6368b2c80af210a0d25ae7847812c7733884b5451b2993be5b81ac3bd403cca4781b87515328a6442746129a3d8744ebe01761788f5ad9da22eed6f1f7565d0b850ed4244ef57471203138a3c5ec292e852d164990f721fc53cbd40548fcdc13dd4075ef58c982fa2dcbd2881166184f6c3e102fc8ee40b4d3c4b5c2edaa83766632931ecc567a0c177712408e3177b1755d27ea337d36ebb326f344bed0044b8ca4332405d541f649e6589753d9bfb9547726103097bfdec09dab512097fcbc51992ec24b84e74c48f923732aaa276679e6847b85d836e5ea4f011b116a0596435c5f11f5014320e138b520cc7211fd4b9a2d8ee1b6d225a84375578bf7f8c925e1bada9f8d1e144ceece77c2cb02c36b8424a64a798527988b85572aae3c27aed2600e586738207ca370a76ee44446d6a05b2c819b935779ca97430f0dfe9680739a5e4ce051bb1e52bd5c25deb309810e3311d71f7a55d61fad8922c76a4e483dc6d5faac660486f39b4c5a7066d3fdb362a67db4f7ad00439616a7561d424e81927fb202a74f9279d878b90d7e5288fce97a9bc10c7aeee871ebc5ec16470142816803fb4cd549c847c8a7cdb66c0b673d998d2587558e8288e6b8b1a6009cec2875f34a010ab53c630c843d97473c57957704662d96c06fb032c9b43221668f87cc65715f08821b88f594cc32c3e25817c223b5ecddf366adfcb0f9b19452c05f2f8b05b4f41562e509edc044c05bf74589716d147240a398641c043f57bdebe17ead03cbbf4221777d995923385bafc65c13ae4b1aba5580921e7976b365db34b258f34e88b441db838981ed66dc43513aebdf494cb7c6907be390c56ae3129cfafb64778e20caee68a3c4fefe4350e877905501e2ff23b3d6907d03a5c1ed539dfd7b45507774237d447e39deb38c28fe9c34ce996ccb06ab0a86e0bbf969d5e360ed1db8e7b8d6c3153abfb11d037920fd9de0eea37377bc6c5b84332e8b9b6f1c5a91380d54f4c30b034476e936fb67dbd788e40c15228178895c15d07fa079c484295f90452aef173b17b3c6929bba4cc656a5e7f9c6b5e5b4da9445ca079bb30d9e8d241877870e2b0b670f37f9d0a5e81b14a8a517016c94f11ab0e85a3277b53928cd877006f5798f68392db33d1b3f89a209a2c66dd0e3dd5801fe172faf41db514276d13c9d96b5a3202b9cec900d0464551df6e526dd8a8c8d2413db82c178fcce0fe3811f1aae0aa3afc4601fe298481b9b9a07a0da37be6251906cff07717ecd9aa5c50ef6c8fe5c5a681ec3c7eb94f2dd88ee7c7d2e884516c5e0fa2edc38cadd6ad94b17ca964511c3849c33b836c93e7e0795e6c3b107c8bf7558e30681f12275f2b42a9fdc2eb8a39716c39308e1b61ddf69028d9017bf80eafafc2e41adbd6e1271d0476c6d7b166f6ee0de217c3a74c415df68c17f59f943c185938c77908b8dcb30482cd599d89d5ee877e049687341a1154096839225e2677b3b40b98bcc3b261ab862edf43b52a8bbf67b1aca7eff359d4455737fe90c4d918b30042f2747f6651bc3c4355944fe0f560daeaa16708251521af5edcc4cbc66e024efd4e1a08dd2e1f4fd832d16edec9c21832122d3337e82c0cff1dfbaf7c119d2d16abbfc043762629eba4b204400d0a4210625a0a2c2be4a36726a4a4546bb76423f2eb466b0f811af087f72b432aac5143f9737a42f1ed8a58b7548ddc4c3a30082c213322ccccd462326bbb50c523242e3b0957a90da41fc76101e0a6f5483f134c5422706580e774104701b0db7c9a059c9e6506eae1e69370fee4927e0791416a052d5025e9c2371c01e920af27da916cf4c8abe3ccd5bdcd1fc96251516677543982f61da067d9e776f7556c13dfd34b066a5bf0c8f2f580510c7f1f1a410e4f7fdce257075628d3dd1904441f6292ceabfddd62b1a9850c377e199934873dd787aa402272dec427ecbba902a4d5810ebecdc5d1a0dc5880fe2fd6dd51c09b71e8176d49233934d43623d5c1c369f20ad40be1f4aa11f511be4feb324223d68f86099ebaa8db8e74cb5fb1dd6e30f7a59ac0109bc5053edb5fe581255d782cdfed8402aeb9d1407cddf4ad7ce6bd5fc4afbaa91653d244c82813326171bc1b4a9b5c8b54d2ca8f33022b78778951051f729903fcf81626ad164235cad5f06dc376adec653aa9912acb3a274bb16ef4b3d6eacfcaf5626b63b44c58b0e8e5498cb93affec8599be8da44e7a348063cf8b90a020035013f03bc579d7382d9b686340f2bc8faeafc7331f9173cab683e47b555797e5765360cc5f4d3a0f99f0a55e7a5e9957ad5b2a36b9e218e4e7d446dc65e91efcd5ab58005922fd68f36e729533623edaf13fd786ee9e1659879ed1615274b857c09feae43de4bce8ca5be9c45d3cbf7f9d1a33909b6e3dbade5f5106bac19951e87576f672b1f4512f7dabaad75b8e55e8dc8c12648ca9762a02f8e12a1498b0c0f9592bbab6777c81baae80fba9c4d58da113d0a65d3d20a2f34a724b8d6689de9dd767bcde6458b2c8d4371e9f919d514a960c5db36cf772500815b1055b843b19f472932806b95b2b67d06fa45ebdda18e04ba5e00d88566f472ead70695a99ad23f14fd5c0ee1cd766cb58222955edd5d2d74eaac575b6196efac12e3dc530c8c2079416e444f2ebaab28d8b916bbe1f92cc5262e70f95a540e4356b234ddd42774b19e56ba51f10f6051ad582cce8a9b7737a20d4ddc3ca9bdd890ae47723432c0f388ddda3c31cea82f27e7e7bbfbc383082d7adcf9dcd36b79d6441fcd945f44ed4c740a1393c4dee119fbadaa18e87cf9315c65ec100265046a26b1420ebfd646100981c265153a30df96cec768a2d129010a25b10d90437a2599c9040a8731bf47054b3cf883436357dd4632ddbe06f9aacecaa4043a02798673fb824bda174f8fc8fa8a3136ecc619b28d2313b190a613a2c64fd73e432e41555afa4e708d4638d27d27fc3d477cd8b38748123615e8a6d54ccc7841b75fa277119e603e108e2deb3ff648b21ad1ffb8a1adc88043e8316a82ae88cc06e92f05cffd82ef2dd578d121d94375e0871b3ba358d80a7484c617da444fe7a4ed78a764da48b8d3dbff041a7dfa738ac4f143dcec661cc6093388423e7588378ae818e38f5b1a71e2766c83473de7ade74f8c3e1f0d3891237219041ea93206f35339f73b361896acf7d3bd8182de42c0cc85a9455d2e221e5cdaddf15b779902b6b49f90082808a9d1f357884a6231cde29d8850b296adb0a9bf645da25155ce2123339453a582240b34cc687e30c716cdd43d114862d2bb543997bd1148358c90425f9e88e0bd94c7ac88e5b3bd813c0cd96a995face4e55f6bec2bcb593b47d8592b9363af736a8db9f6a03be32ce1971aa77d2571c2dafef38cdd7187e0b95756022b03d21ac80d1c1b6649946fccbf1058fc8a9847707ae7fa8050a37346ef543a3d40c81d335fd5cccebd6c2855df69bc6cbc603fa61b6b6a670e224fa2c5ddfba904928a1ae9c95320b644616e38ffc0b40ee38be504fa8c34335d314f89da0aa075b4f6b74c32b482cf45a087e642eacc391ebfccab25f5ea3c5be4a844dde54abb11bb57139770fa714d09aa0796e6a4c2ebdb167798a2de899daf4d3d91fd4bbd8854dd92b59564c82cfc434a18f30e6b9571b2fa506b1cb4282da1065376798c943987c2d0f83804882b460404ba940f515e58b4df941e52d6dc6ec6fbfd451114435914044bea951d23cb9811c57ce1cdd88ce78b908ae634c657716d1336859d60d7e456c33a3295332db143568e23ba854a1da4df265c2dac385e89cc3332c1e43e724c6e68c9945684af0b089f9a743cc8b3407553cde43273b7e65a5247b529c6a18af2ce767585d3f55a78c1e1dff7156279c37a4f66518406b0bc0cbfb006a20c21fab0ba7750b94c576f03b5d283dad4da002a08003828132f1fb5414b5934936e65467e76637d7f0fa5b9e7d7b9581c7e54ca471bda0f32228a044c14b5acae13cd55f398960911a30eb2d982cd47cf316e962e5417e6f1e3cb31ed7413cfd066582bac8e13c6335dff94f361c8310ab0bc7f5ed87fb1d82182f2b28f61379755c2ce40dc8862aaa140a67367d11e9a77eee8a287506199703057d6925c172632412f885b590bff7b6c9213bb1b1abe3cdd30b73b600aacdb90b053fe2a7a73e7a1553a18f636bb31ccb3d6a9e69c6ef903b367ecf9da044a9532c2b19ccccdccde1bda5dc704eabcbb819a18e1bf3daf46456d467e6d42c2d9ec0045209b8b769d54068d4677d47728388c72854dfd9e119f2b9e279e9679c7e083c94a01c83a86ea13b52195328a7f063d2d146e269067aca31ad5b5a1f5662fe822124e71962d2639837c2b3b7d7f93d181ee08e6b28cb453cbf5df293503654e8f16cf3ed213d7da15fd25127752d88d6655b30adfe29c8fcb57fd747a844ff70289ac50f9a6066592836bd3f232e1a7c255cb1709c7e9dd02aceb534283997b85fa6a14d806276ed026879acb6eebbaf957606f19c16a3ad76e8fd9b44142aed8cd88309eb001fe56955684b47f9712b6d7748a5466d3ab9df41afa6652a91b5aed0cee19b9954b07b11f40f8d52eb491903bac4272777be06d2a6eb55b6d83cda7c7824c8c5a3f7a0dc081185c6c36a374ef6d83d7d90b3a9766d548050900a14312d9a1616ec7eaa504139cd5cbc44ac93b098f93a8474190a3ca5af447e3d51258e52912a42b42997138d7a22960160744879f40633bae41610be76980029206a056c36bd83604c996a4cd59d2422816fd8d0901438ddb88a6b131bcefc0d1479191c39c5f6e707d00e25af5d6cf21f23300c7cff76669a165e7ecb4acfac300c16a2645016fb76e8a122a27607ba0ec43addb43df0354b8331ba423a98024d5da30e34ef17104d5ee3dbe7eac5d5b72565d03872d000f68fd7b56347e5bdc2a7ebd371d313d2528e7775cdf962a4f57ace7f16fb8e6f9d046eb0e3d73f4f5b07c48cdbfb991c80a896067c1b28b79e99cca5d0a8f4614d40af6a47489f57666b38c9c859c94985104974cfb7d515de2cc18394a08909161d02cc6b4842768a94d73419be1ec1dfbc4c9fee5c312656e0fceff4e87924e857079015bc771a1303ac211119ce4fb188ec8148ba087c14acd9832fdd32df808340b0ce0dc9fc6f729e9c3c2b118d76de872202949578bab49bdb40560fbe2507b51ab048441d8e6acbafc144f3aa6d9b16c1490f7d7a720007717f66ee472af5e3047e326d86bda7bb7327aff33230ae5f8d6abad1f970633886a2300f2f9dcf30038d6338ed787051b71d2828eb3cbe54ad2415dad02fe7130804bc8b3e161dc92d7e1498bbe03a3d52e0b87230686a2ff0c543bd648cf7134b68619845f65ff270792f7481a84d690f3d8ab32f5542bf0eea838603ad36bd847c8d4cacae2f49b22b73503509591ffd3c68563712c346666e5ccb5a1b06453c3ca4cfd2f13b056b3a9aa05390f6c6f207cc28f82a4e881e375efcf58955e92783d209df30e3ccc3591810c13ec416f5083db6ff8a8b4ade29d385402645fab668fbe66938237e109cfb55e04962575ccaa190adec80a57e46864e7fc13a94492d8eaa4ba7537d505caf2efdda23bfe319b38984dc6c5ed73b1f2b34fb2a30f9549b8ade0c7107340b08d076682c342763ede4e5443e3d6ac1f2fe02c4c996e0b014b7fe824414c15927bee703d99da0eb9185a6ad1f17a1dcf37acd16884f34bac73a8e6610474919b39a3a5462283dcf1dee370354e85e3819e6dc9acd005f964fe8f6c8853a1182cb95f1bbae712a1304d7c06ed595b6a8d4526c3f0aa2e09ce092435f4eb8371a14cd00acfa71cc94bae4ed4f3809d1fbe48b1e371499bf5708fe20823b3fd53c16048c4fcf91a16283068223dc49bfc0c770edb9443ecb7004085a4b83c4f365a428852dca2642f4b8b4771f1b6ffdad1b263e251bc0663d98b9f11c4aeac59d704364b94e48f64c4b3ce8684af1daac26339d7bd9987845240dcf0bfd0e34a52f0b193fabbc8ed08fb711b739b46310119240d7046734ee242f34e82a758af053029a9248e342ba15e7854e783e53dcfa55f7cf669b91835c64bd4bf3e50ee33a7e9df956b1ee439d60bd99e493935ce9076c83be8933a972b6b00580ad972f53d9ba9642891bdc8c1d913c0060f6c38e682d811ac20e650fbca01a5a4cf6f4062d16fa809e8481b045e58f66ea7b17ca66be9d3653627c48754d0d7f5438f543e7f4aa50db3b1fc2b67e448e5bbfe201f0d8e7936d952e155928fb8c5e309e4694686026028ea5be2f8123fb483a1adbf27aa57820b8556a91bfe919c6994f08c1605db7105a332ccc689584926fa196bd082363622085206504f8744a56a69268fc428305827421a93d47883948001de3e7cb61db3503a8fcd5f4c73ced42d25fd0c8c97c72f9245e25c0f18c33066dc50f5530b2544176b397f675c1369ea6ed1f82fdc92b6ff73fb39f1a0248773488bfa2b2d4e0cccc3754b0b6a00d40d82d84198a4e083698b1b8b4ffa5d74dfc444605d3a946a54a97a8ec0972f99b511beee2ec9d6ae8dc2869311485dba242aa0368b96b6465bdbd665d12c04a86658a4ca0ee4e5b66a28e5db4f2f46389992ccaf1be122590674cad97b39f8556d9578d9c57f282624944c8097c77fe0eeb9745dff63deb935f07315ee2d8d31b1254567783a79dc2184819f3ad213f4d1b7be8c876e7e7345294af3fc63978f9f10c9d9a5c3f2fd5d0231c0db08579e734e38ed239763ad1c07d6b1428755c871095c95333c5869fafb9b93febe83b6421dbe7fb9d3a88bfb666e2cb873dfe6bce7c29e642a5e8e67a4ed1fdbcdf3715e610828a3afad36986b36c1433f091773a3253b43a4ba08c328c1c83bc6ed070baeb981f6f580887a1d9a605aa14963711a85188c09f303f5c79aa09fda33ff153c36a22a4087232db5a604c377c8637e59351c3636d9cdfa181817b21c81c6fb92b1416f5ed5afc2431a4114059b251cbbec041f358e5aa87bd90df05b97cd1fddaa7f52961ea8f01ae7cc5c3dc51f5002624d2552d69442d81b6a99d6b6be02fda427039442aacfc25bfedb501d21278c1fbd080c25871baa8da83864e4d7630cda40a06bcfbc121b6a729b1fc28f0eb977ebb1cc8845e0eaf28e4c5b3603d42b6166d9fb8b6de8ca6b568f612dc64e62b04b083480be3405d02905b3e4fcaa00f28e10f5e9db7eabd76f9e84a4e5b7bd84b12d4f3eb0cd586f28eda7e43110ec61a54e149755cf4d9747fb9d2e82c4daa36316888fc567a49f1a3bc6d35945eaf6c687a5330aaa235623a3951ec2f09490ea664022eaf9a0a7f3c522d27e4194e1d1a778aba5ddb75813437aaf88327b7763285fb1a814931caf1fc4f6ac6bd6ee00367ea60e9056e634badce4b928dcab169507ef7f29c67c3b4cc0ad3ab9d64750598b819d55d528d2ee693190153a615cd8b456beb0affd3b507bda4b1d46fe83598489d06adedb40f2e254c32f0ea9c61c485d34510e1180ec01e59eac2aa4965fb39e1dec7903ca5d6c58e515623d1216750cc61861ba6f7e2377d0cc6fe6368231572a707f95f2129bb6d1370d0bb359d9402b40519ed1851b42dc6d88e6a6436e64a6ff9382e3189ed8f16554012addf9cf329c2ea780f7821fa630df3a7ba29a8ac593d966fc51e0e53e6e10524f4771ca2ec82ce5630f88aceac7a73767074e5437dab9c65745650327a65e7539fdf29e3b8527c857e6daa82cb62124d77641d00a99f5249e07bb40a2d86edba4badcd244e899e44ea3297257b45a9ebf73e9cd9a08ce3aca62310b75717c11c199e0b0785cb24efb79c9d4082a50c597b5f217c52e7762ca7a70c5528bed07e6aae26f6d7179c3fad31958a5137d47780df2c55b1289679793b8005e3e986dd2768a0d3f9ec1b0e5ad525a71d20284fd339b8929ec39a11fd82e969e33ffd8005c36092d2e6a1bb78470df49805d54c073079b016067b570e0197cf57f050868b7aa8dccfca1159abb81036153ad43deffe02428ac419e527e29aa646fb419c9df0a893a2a0923fa18972d53fdb8012a77af6f842745438c5ac1e1f52d58c4cd0f8c578ba26889325a1768a466851f114bbbfbaca0343fe4ad30371d907d8bfb5f345a3fc2e87260d716896a893ced3c58c78a763d43b7c7fe2186dd737151f0fcf7cca25b463116b14a33c8b5f12f55f242a8a3a3642e70f8dedb664a4f076a9aaf3f90b3975147a4b48f7f5885be0e167618996f9fa5c58444c352f269d30e734e684aaa350517d9b6ae119e1291f354defd44b946ecf17b88705a9dc5ac5d23656a23031bad3558ddbb8513d0a155e4b2e573d05edb9047ffdda36c989b226e8464ce0f222fc50e7031b5c84c4af594a42d3bbd7d0d30606246e0e42e81cd5e807023201f3372b4aeb57e7514304cd09127ced8b1744b52fa4f9d2e34687750abc6f1a166cc82722d8acf929924606cbe42af309b99b028134b9df776d34cb7cfc20a99c298e8f11dc15df9c3087722ccf8887be5f5f080561b5fb4b2b2fecf30df1d68eeea5a5cf5a681fd160288808d7b3a846c964e80a3190c67556768b145c3348332aafa5cd1cd8462b08dba8580f457ac10abb294508dd9a87d3c575e8b540d3807f297450bec99af88bb5f14220c4aa3ede3596ea35759b2fbc79710d542e214fe5f16d9ecd2110f74a5b6b8ccf151472b55fdd3375aebdbab557869e9507dd859300e32091397a6deaca74507c0dcc031901e7eb81de992dd17bb3355bd59ccdf0d5239d873c6f57007ede86526166beeb09a5b38b334ea2581db8ae74b5280bf8b50d5c0eba7c84bc52afa227a67b9fd783bfc2e16fd114585cf148ecfd6fa2617de2319b3d6c9ac891cc0779cd0cc13a6b6477da591225fd8420202d6fe608f6cad5de7bab30fd8fd7141e45f0bec12a8b5cc2528d9f0f08edc7422ec571727cab1c84de5105de75bae4832c0e71deb9c67415f552b06042feb0930fbeb5c5e3a69bf79fa2f14ba311bd1e1909656add88e6286ecb18ac653f0a16e7f9a63c57527be5bcded7f5f8d4c69c560d3bca0b29deee481fcd339f1f2ef0833819feac6b3da1615064bf6be8ec92a87de91059f243d1ff42ca8d9492a627185d8db0918e6ecd13afbedc2bf06cbcc0e28ea2fb27627aa01f8d6ad6afe87610a5452899c7499df079c1a47fa57ed22f39a8a65f3a915e74ee2ff48b68fb86c8eb94073c1e1e7326430e7493cd0e526ab75bae752353b84651da4eb590b8b473b458abf88c0a1fa6ab951d6ae0b351720983050425b751926b282209843d968386cb42612da00a9b4f81ec7903c3394ca0ebd981e68a1f62450408b24696241e3789436aed2b1fed84d3860efd96cdd0f8f2062bddee6c438254e4f8612dc23a452dd9e5edb096810eec5d56a30764732d0bf05b5b69fa7a3e440fc3bddfcd45181a5db25a33e21c676eee57de6172cc480776cd7371a13e04a2996406275fbbe25d82c82484a9b5f88abd1d722d6bcdac61821aa7f01b8bdf538db04bb1925bc4bd343b020340956118866c7e52bd6e13d96033c858a04258d8754f53ed2659ba67c206e42c38eb8bc8d30376eb02f2c24a1f5d206a8baef94338bc7f91f488145693dbf98ddb22369ad2b9457bd53876d11a25f74b3bb79cc7e6dde78e4fade6a2e4fa2d6e17cfe57404e805ed549a75697753908984b1c876393d64288d16cd841040711a4bdb3b8caca02ca962e78fdf0cb25b29cc6201e0e6c56edbcb2f1b312c5262f836f6aed50409ae0798b4ed9528a1a7f638df9f0d664935ded989ce96950a2318bc559921334d2a6d01cae4166f5858a6370d37bfd3e09b9a1e25c7365adc883f04f504291281ca68d695d62279818977e550b36d2a20b8ae6c4bf0e3feaabd36ba687468a9f4100e4c75686cad1b5a77536adb3dad59d22e75a6df079c655f56cf0d7ada872acd2007cf0f3b8014ea7e72a7276475615524bda9811b357692a2a2996599c4783919c84056e784792b0816e3b806c7417ce826e455f8e4deabaa82b3ca081a2fcb07961a2e9ebed1596b734ed20dbefe47c505a0666579689e9fa0c3995fe82f7b6184dd4a0d0cf9b0d5a7c4ad32ecd9533330a12d6a9c61d770af24f233faf6a306840fb3dcd3f4759cc39d2f5d51ab0476ce423081c29a355f48a7fb148674a69f23f9c9d827848c79b9c813f151032e6e5a1b711f2f930953028376fe7338342994dd5a5fe37735288987f5dafc50f690f6ed58bd99342763e01c88477433ac6ff4d8f1ede5035edd49ec77f10ab87a1841b053838bed87014fbb7c83fa23da7cf448319df84f1a5802f35a0dbe5da7531d3278772367f6544ca402b6c6460e1f930217810e2b30b9809033212d1a544586ff379184b7ccefa1b961f9ddc5bd04736d6b6391dc202effca64e4a1056360050e1d6dd6ce37ea123854cc73fdb8f7ba410dd34dc8130d31c15dc5209f26019c2300e661b976b3990a4071afaa27e696ffeecd7ef655c02c296ce7d75757e6f503a7b233d97f3c005d5bd736435984ca1b81c847c6dedff60877260f384e09ef5a20723b45843be7075ee65ff1e02cc94116d297ca4bcaeef7d3440654e3e96933cdb00d082def20149ef84383519eb752ff1a9a01315919925d403eb57b74f81be4a2117f5da3b147d571ef25eb2116bb38c0a6e30f33cdaf150ef98475ff57bce717e5767f74f84b6c65f9aa45d76125d84b20f199bb5f5a94338fa0f486b983fa04619fc95a93408025a74b1dad82e3ad937867327f524069f9e8833995d8e8f081707dd20de763a55622be57b48f1715b39262f5441fa1954adc188164befe3a12bc9b3bc3025b1b3f4661a28fa8bc91c640b6e6595bd2235f8c4e9504b68e2501ed9271c64b39ca58132a5ef3c5d5a6fa48735eea38426173aa2f0e384e9e0749b402154f7233a12657bfe292e6ed78c4685b6b6512a10826d8fbeaa30a5b70b0c9b178ce84860ba6a49cb35cc87888fbf940cc1a52b6b79f2748b6b1fdd24d5caa248d7d716223cf39c354935d99d7b2209163d65425680eabe13868db9e64fdba989f0284277ba4697b8a0f9f78672b0ce17ac470b306db5c469b154e74b40d63ae8caf80602ff2d8e42fcd5bac6c789ef15f641293d88124949a116b18a29f91ea826c4e4b24609e2c6b8b1d9ecf6eb76efec25cb80ba1d458900a9330068771a5c3d2af4e76e3688fee3d8f0da3cdb03e0b94db53a1c07064f1077a0a514658c8fd597ead94952d2f5a793372a94c860ab24502a2cdd30cb54b39efe2ec7fd6913aec6b549deeeb87caed70033433dc944f28a4ed63dd69cf292d8d1fcc324493c263e1026590c41ea6f2c5d9f02b386a399e9c7f29d47afa7d662e700fd61034fbe3756e5995e35504d1ee6547e33d20c77ee8bb2bc939c76b100242ccb993a85847129f76c6eaece1ec0f68849600b0d7ddd98d5b8c3a9daf4d334103598c34a9dd9adcdaee64cf728c7bda38519dfe5dfaee4e10827d9f061f66817e81adcb5ae98d45ff089637aecf0ebfab1de2b2fa607090159f123dbef6310494ee3420bcda12175a7b50c188a128231c8e8167d66740bdc69812c6dbcbceb2de169a5827c4e101c60b9d229f2fbf6c6401e705c62b6d20c7f67759f8dd55497f7512a62450c08ef8fa439c915c9b0e890943debafc6a1b953ac424f6619a3648b848baca707874f5a72ad18e003c5de9840c4da9de5cb72e2cbee925a5129c642900e1b05fbb17c359c40445dd3d2136174501bcc7e0b80874a7931703d96c997978da5a58f977df302c2930e5995a8d2336ea1156b95fda080b0338ad3e1d1cfdf8d23eab8ca865928b972a500741c12faef4131070c407a06bc38cfd83dafc47dd7c9e4f686ace4af79d6fc55492812575e28071ce33d9b328f8f44ac4977b4370c865f25eb5b1551308ce29e9589b547d5ed6d358635173ce65776d0e7ab175bd6725898284c51c4133ac961ff646aa99dcd5c12850299c291d56430205281b2cd0eaaf2dcf63435afb1ecbd2f6b1b50530fdec7e34f902bb71b21ecd9789fa2455eb9cce9733cd584d9406170634180256ae81e32cddcbe475dd7b39038a10703c1a0518cac1a1ea9fa40c89284cd7dfa96f94d0cb58bfffbee3b60b0abee8a6d7e63e8d3b8fbe546379cfac3853a3f784d52a5d77b4db476fc1c15a316466ee37be4ecf799b0057cfe46a0de96ded433a1d7be5d01751d6249d6f68a923ebf5b77a1e1d6633b59350573dc9e7366270f764fd1f6e61af86273370da1c10afebbbd953ab272c6edba734adf55bc5fe8b359f374a17c798bb8671b4ac354f30ce752dae46b5b89a45d3587097b16565316dda029a263e0f5df7dbc888b3491905ca97cbe4bf4f44ba98387f6a1d80ad044552e47a380a9922dd20889e2726a9d2a7320bab20018976fa55a5632dbeef167e50dab482c505b71b18bc7e011a7109a69f7f9c98064e4d4e9f2a863a6414e39a67e20631989644ecace5e74d5e52c1389def54220e85da7befee6b72b355980cf842e0d23b5d2a0571e6bc6e16c8013468bdc85af3434dfbbfb33254ed2ab47d3606b53e04e5fd21f1d01d1d0a41511db8473f843a2476d1b275eb91f0dbf00c6a89dffa26d1761c63e0d199aac5e4812f8641c5d1d9811288eb743deceea93471ef3a847a96f04e0198d4e420761a01e9334523cec83068b184515df51fc5756d6421000040b42002dc42dc5d3f19eeee547f734dbc9d2d7fc9918220c683f72647cdb1068c46d7c32a703b7b75582be624c550586d13b2c7958dfe4070b5a38659957a89817a8b9575820276bc75e9847720f9abb2c5870633789896a1cc644aa54967cf8c967f5479e2123f3ecde566ca8659a1038d6a89fc14308deb784e80f1dbd05a8cb3107590c9398af79ca7031eb36952d14ad3538878811439e8a363ce5e680e81094ad70b724ec2cd8c3aa15e537cd28598fa8373bc8f9dce8bfb8662669a525a3515e5f9ea12b38174330785c98c42fa12f4be89286af8a209e6dc8ac74ebd68735ea5f844b16fdfd3ca6b4381ea08d02f9a7f749badcb64ecc5dcb7d345b6da5e4347bd9b9a564f47376f315a5da575ecd1de6485925815ab64a907adb5e77d10af470c5db4d6a3b54200d66688e4523ab6d7ba96a04ddc4f5588c3e80a14b126f9aaf97e9a2e4deadf31731f56cb23aa977caac0e31404943abc60e6fd35a2efa1f949bf45e225ebc28eb04aa351834cdac65f19ea6efa6e07b50fe9f8ea03def1247a0457f6d6a5d5851572b199141b85e3503b21e1218112b3a5fb48f157e9b314dcd35d0005475265b579e4c45ccd0fab455a5f4be8e2e0a09f4965a9da3274eecdc3c5f6ea0d0617d956859bb03c3636991ca7ebc22572e13e9fa628b1649d5c638d4641d92381e9549d7b37ee78b465cb688c08e0f9abd0971d108e5b656c72ba2fd595b2ab0c9d2dd01305cbd3db3f1f13f39d72b0796f9d2a786390730044459ca53a49b94912df3d40be5522036e6718817174d6f1380d62bd88c52086c112f351b95a7e4a9577730f5c78734c5926500ba370122b72f8e9c0d8affda133b4d8e83a671f708eb1655db1ccd70240c06abec6a7006c510ce874507cc70ba78b4c141f9589d068642c5cec1a7d8d3f9c697557b2fa0ccb6d14eee6ac71c2126b0d547b4f733c7598b98acaa2941aae60dcdcb831387e5237634cd8308ac3eeae7c4cba6eccc6243076378a48a317655720492421cbc02de1cf7463ff836a82a260d08d5b5b29fc8f9d4af224f00636320270a7cd004a91b44805c64c97ddb315086406989188b18a8150afb18cb1ea9006f6e60342905f1523af0ca0f25bfe5d72abdd04fd164f206ddb4eb526fad30be8c081697e3f8b982af15c797be6f9cbf3f4b1e221f5e8efd3eb9622ddc0208bdf4e6c96c640902efc4d5eb0d067c414778030c30fba99202b89122717ae71cdd225c45b8c0bfe1c56adece1089e9ac01daf3d333c69b72bac9f4c9d980b44601ca696a4c3389de44474ff0d06ab2375e4ee1b21d2d12ca165f7575761985d644ddacc7c10c664764331a175c39a24e4f3233267d23e13d1ab6b0e2c19dc24a4c13aa48ade618881acbf3db460543d84aadd117e1dd379921b4c6688b8116079ae9f9bb41c8e2e50a4ddb4e59f84251fa7cddb008386aa78a081e91ce6288348560ba9cd1cc5e4eb6ea670a31c355e57e8d683547a5dac9ff38492b09c47f60643da74d90cb285d2fa66c284dccc78828ddfa2b82d9ff110c6c93a74aef689149236b744333cd202696e1aa55a0663ec640003a212d7c5f05b5c252691914ab340ddadadec64253a4a2f8f71b294c99a72268704f0b4e8aecfa782b090f4c380647bc8910ef3a6dd87bd9542035e981501b67c191866c00156af6ab2e407084b0fe7f4663b0f550a9204238a50e9663e6d4e2f57437b3b0ca33fbc93339521300ccb422de5ef90580ed1782c884dff7414e2b30169764d802ee970dc55aadbce77e571ccbfbebe321a3f37824ca9bee68b2888cf0e05b4a94802e1f8dc72a0ef3c304fa9d5527f4515913c9be7bb837ab17095d9755cb4d9939bf559bdcf1c561979434b1a0adfa36dfca9fe6422ff25a9e724bd22a288167edcd4fae326e18849cba81baf9e74f063a1fa4df5bb317c0c5ad5dd232e43b0eb5ca744dd39e6b35acbab178a0d253d42ea18f73080f11fea18e934360b8848349a6449e6ebce08c8fbd54e79a0e02da71aa2d40855369b2292065e83dcaf82677378fc61b248da1c1278a16573f893523fb4c2bca5687118df7b1d69979bb0d00d21771c163a75548b86d1fad4f8d89a3f9add681f1be114c24d569c4a83f5c338a0d80a546a66ee0dca2a120fc966d35e71723c2b9c0dac7bfda4c658448a98b08f29748c56dea9505657d89378c973357941b4212f1e3dd95c3eb6c321de007a83c76afa4467ddeddf4418996556e90d139089e478778195884e8298c8142fe25596e6f47c55369c072b847d9d74a21500530bf8be79d82943d2186faa86ab9b96509b0336a79871ba442f97e798e3226b34d8e117d996f526704b1cfd8795948405846b73f3c212d34d4e99fe4476728e9b779eb73578e36a91c514d3235fb24d8e595d2f823b40d03871440224001a87ec19772951df06664a32394c46dbf15472670ea3dc12229ff56424945d383e18f461da96e8e07625af4c2248ad4b80392b158af69f4e70651bb53079a71d754b3b83d62b6fbfcb43fe381ea8f1b3109454ae72018350ca2345ea788d4b391e5bb69942532f817e79c653488fe478de707559bc4c956e3ad47f0a4f00dc1ecda83c31132d52c70cb03f79c4909b1feead8729c9912ac71da8ea2e4a1d8b5bf3d765f5c17d1c8a8e0a78c51088d8cb4788f0a1e0c3eb021d910c3461ff80b64124ab81ae1c0797bd2501657ed982678ec130efbdc41dbfe02d35ba4a3809d1775301dbef8132667726a5fa053c179ee0ca0ff6198d0a9632cd6b6832a7db9be2a136dd4b1b1e2b1e084f8bb4360f2921734fda8384f45cdb75962342110b683c0b101c61dc336247f89e1bca1b59fcf5df6dbf3411fe0403b74f73ada2e6d9f778146d73d9caf3f0920d60d68d37c94ae74e1288d065b9fa3241d0abf568e623af5cac3d52bb6152133f9b9a5f489211bcb075d343261b86ea86adaf521ba17e6b573fb99d930353d33326a2d66ebe3e357650a7d1e2ab79a998a711c344fca4094ea8a077560e63e59b5daa639fde06e1955f41a38f6574fe7185f9ea9edadab0e3dc456f0bad600443da637f4aec59ab7b65d7cdcff3c1c708204cde614e05ad9d1649e2c76cdcdb02fab7661efaf088be88603d4c6f80877d4eee007de919cc71673c2bd9c9a25767b48359fc54ef8a3ec28b7895362d8391ef668d0916ada8c007c5ced75fdd967db929b9e360609bf0ab7ed8b2b57d6d09aeb51a026c317b7c07181146a6e01f5224a4862a1a252777528c986d0604e40d7c91b2a3c8ac84879e72bff8c0de14eda4924e815221462712023ce186b1f39b8cf5c51c6906e8defd33ba077915023c5c09b5b0a2563cb669efd64125e6f9b24eb7cc2c4d0b03b3731bb47813d83259fcdc27f72d25d0533158b8b6283dcda8b4cbd9707717cef62347369718a150501f18d2dcd0efa2633935869b635ac7a5d35d1da7c2ba3891c94296a7c244aca97d25f0f08831d7fdc8db9733d3ec389ca389c9c3760c431e7261fe4bb4e23c87a33c602564932e39871201beea5a10fa80f081734c628a0644b35115ee52e415d0a8ed2d32efb79ed2b9f2d6fd235b5fe6b765b041c4eb35803020a0f2431b913d231f803b08e59c20c21202abbae1311b9178d875ec388f12c5e6687a47acabadbdb7a65ca61867cbda261b10a00e72fa725b7e25600ee9aa3304ed36c98d85ce81f57990b5d300a20b7b89720e54da405ddd44cd8bd2e292e5220631f96e0f4bac0642ea4832e58b4f122838bd9b3e426fb716f5ba355e3201609985762e7abc0a72ba85a121f5e976aea6646bc42aec1a3090b03e114ed24058e4fa5497f914ba29176741038c3284066645228c2613271c12a30fe2de2c73bd33dc01a43c4071504619d637d2d6f2034c520ea9c4882810bb5bc36d5c84918b27e228ba1a2b7098c8f5c5a3f871538407f8174f0b831547cca6090e4493038c9266022c32a4a499df2d0913c347a9b5e1f27727bfb729f924e931ab3e608c33d9dceea1a75a2e2d730293f084ce547ae5682ed0b5f26b0237755fcb543f92b05fc71196cf558cb6abea5e748b8e39a475b7e6a65494efdd8a269f79da326ddd2492cd1b7d907c9df956afa0521cf0e86f3f1733c3ff3088162b514c365449acf60970932307531ad726037f1bb12007259a0a13502a1974980834cf31be855e774a15b16fd99faf2d64ad2747cee0057a4db9ec93e9a6ef36948e32f6e36ac5e9e494336318b9f1420448cfe3941a218e326467866fc1ea86280a660be45b983ef55b6a16c919f0a603c0fec2bc077cb2d32f7c215e241ca0a8c413a45360c1a2d25294befdbc8d659fa3d02ee603ec20e5d952e4246c2d0514bd00260dc893c7577ed90f0b032a1194b7cd24ea814851f2d7f97cbb8f68bf4f96218c45d0483f0d0ac95d9bce04546c19ccf45ec99e8c12bdd74cd10e90e0f023c9ac347348edf5018dbd285c47e636f08fe795160a0be688ea9c62c6b45bee7e2c19999e767d039f8a77ad7d129d8da5be398d489d5be1eab578f36bf3e208b65bae5410d30c2d78e0953963c8087b3b13e90896be840b495537c292d165973f13a15eddc8a6c4296b07154b67387a14c5b8c1997b49e4a4927bfc288a297bfd76c07b0da7322de8f54d7b767954128f7bcb4d083d73762d3cb955b8bec780eb57a64892650e45f3bc7814811c64498fefe80994a41161ad4ffeae2f1d6a98036b336b6df73795dc8dc8db5274a86e99a67c3bb16d66713408fbeb12760f574535cc3fed791ab16950d1037ecbc353e91b91e035d513753c6560f7864a2661cabb51642087ccde2122f1c8b80673d3dadb8526c8f335e78fdadf8536680277415084d083f7efdc30162a798047dbe069503198b2d939ff28129dc9f4371e729945eed8e9d54857d689c87b8c1144ebf64f45bcdeef67f9de0013949a017e643c8b2efb396fa5eac7cd4fb16141ab4bc9ea1a2b1e523fe0765fe5b429096dde1080f6293f91f7e8ddba20fb4cc1537842d8a7d26b7b138f393cb46211c85e7cd86ad322e009c8d56c0458faf4fce78395b2aceea7eaa234fdccd19e11744d57625d1fb8d6a506118d19a1404f47bf094920f37ea7b36b471cd6718f9cb12000d94739d89e00a2441d4b5d34470e9322ca9b0c700fd06c2a35e27362b011dd901ab28ce95272ec1e8b35c5c2beeab73a7d5278c02e8e4a13c6e0633c4624fb2213c5e9bc43b88bac310090902627a8fce552988a1ba9807415b19663e284aae3d71e83a4df2c865545fcc6142348d3fbc44804c6d6ed82219791a875ba50bf9e2fbda20db3470a880d975f4175caeb6864d74cef52e6dcb38b77b6f0b5f1ba16dd47004fa294594591180a3053460062609715bbaff14dc7c6cd2d52b0d242074bec2f0dba4e901be2a850b7fe022aa6984c6c326716eed28aba0059e46afb490c2a639a633c4685106bbf0219cd9fe62a7542335d6fd7e1b374a8831f1d872c560e2688eacec343c4cf785327135dce63dbe955791572b96a83eef019d17f9bcd245c7c09613888f2e8a2e2d9c047548374c9c124c78aaf6326d7508de2291865511c605bfb143763ca9af2f12b090549658a15acb274ab3eb84c9bbd7c50c9521f2b401fbba3555e78df7e7b3a28c88b088898bd7bb955f9f18cab2e037b75fa6ba07056f6855fd0e7d043615409e54955fee777e5fd9837392dd116dfab3bd59bc6b798a6eff377bc664d80309eb17cdd9a0c5378f5e1cc32e1d691c89b8dc8c4a48932b5828f07db916b69881da918a35ae5acfa527807eac4d2f5f9dc4099991db0ff5a3fb2e61ec586a1d389ddef88053b2dbdfcf2cb8e297f9b3759431f74a724b7cda72cf5c7c8b4a57d2af073612274daa3afc093c8da57be76c8948a85465011f94e2ab50f93ab7a5a4074224827f88e2f284e14aa48a37565ae7d2f4e6ed16d854946700dd2143d571c7094ca8f10f1d4f62e01daab1b766df9c6ecd7afea42a2f52028d4949ea50a95323915081aa4b3ce2f62471aa6cc57b1d8e9bfee2a2cb9f8ddfee5bde775b955257b25242d3915cf13b00e0162590b3221d3669f48c9002bf31206c6ba87cb7f9a36c82eec89eb7764b01c10a8e784f3a6d7efbc9f8052557272c9f323bf79f8da937f830a615871f5222c4fb4ca4f2d18897bcfd590997e271c4c1157f87ede5f18173b81b88ff55d0d382f1cbcc3c13d1ce1ef23cdbef43841e447f82c113b7b35c428a16c41fde035b203114fcb4ab5c935876452935cc077172587260a7d61cfea77e87b4382a79cd6e04346f036f56c87f56e24e190163d950cd469b7d73eed551a3960a0a3b88da11104aed31acda6094243f568ff4dbf3353c09d332d53856c1d1f3d28a4c80d410a845e8a3dd29cbe7df480f9f18aec1ba7f43ee27ed05e493bb03764209fd1d4de1a5ef8e82469445d4d08f8c03c5b58a30c2ca2570825572f7ba74dbdac5eb6589fbb269ac4ce3eba25b591c07cfa0d626ba3508be9b33a1a585d851e84aed42bcf0a75f18f887f1bc8b022badc020ec4c65194af3fce0d47d3f0463d399a3ea36424868e53c438a88c90cd2decf6acfd8e341669a41e727b92533ff5c79c81600b670c88b3ff75c1c9e3df4041a02d7b140f76a6099174d493f3e77d6b9c66b5190354de2b1647098ab21c06e62335a48cbbfab39be809bae850a4593dd64c22f91c62c3da616be2ca2a1692753e38488be28997db37e037fff2a6abcd1f70cb6c2cd07671ffbc933bc711637614a614f4c00f16e45464f4f6e644901f308cba5430e2f12e2d5233c320d204d1b3107eb210dc0fb40f5bd40a4d1b625789d3dccbf355c0f25091ef50e8abf252253fc7fb639569a34a1cbc13123a9884c1814945f5ce0b1f1b4be2a4c6857696f11db992e127009f07d29009ec2c2c699507041106964bbcc355e9ef9e5cdb914b1e9e4544fe0fa5f5570f8bbd17738ff8811ee962757270c5996d818ae89bfde147da59412c211144a91c4799d99c2f2d3b0c8715dbad09e8a12c034d2d3254053f6c2c1246b708db1750c6107f8f72906d5d336f834a381cdd8ce20cdafb69b4880b66a420550dce01bcbdc987be123821182ee641fcb4a8665c2143473a01e27a3cb56d730c8e8f668170982aa79947cd4f71e9730cacedcbabedf6cb6b308117ed47e76701fbe6fb9b1cdc96811c1533779d7918d7bd034ab6765798bbc5bb7b1a7b7fbf348fd277867542cc87256f757ef3cbc72e78d879550d337f11e13985e719d4010235b6b197bfb93fd4318f7e6f7590df5348a05f8de2870367ee320be4801122c88683b861ec066a14572326578849155484b42acab0ee03a9f4968fba1006405548990bc348a32a81a139b9c2faeafd213a717f74301f92853119d66880670d96d3900635bb8b90426065b1d37fd5623c007a64a7313cb33c0e4f7bd9581c30fb219d8c304877a5893430b98a3902f4e0ea23a90a239604f52ac85b2b0c2e9f3754a105252d47a5483b5ebeee3daf220ee1d797315fd871aa4ae23b699a9dd754a501fdec5c7305d1947e0ed711d8a98d7396712211dded2d272e191895c49eaf63b850074a6da1ce40472451eaba6ed6fad6e7fb4879b3412807c54642f2ac9517fcf5bcaa921c36aa67de12352e9b4e266a8046a713150001001ad4442f44a041157641f735e706f33bcf9c1ad0732c7ee47d3b8cecb66eacbca6631926f4f2e9dcd1741909b5648c283c911a47c4bd6b2306afa9f544f676c85f9941692f05d8607d3884dbfa1f9139ccd23d28bd8879d14293d196910298f307d78fe0e4ede9b2fd1347db94da8983005e605b2d5f539b9e6c0a2db043f565f40b52759c9a54995df3cfc03360a38aaf83d4b97cae35de38d94348ea4107f317050631c18c34ac4eb8465902d076015113eebc37d15e7c40cdf1756c55c0c4c4c12cf6b37d201a572375e378568b3fa10d1694d330705879338712c64d65665223a5c0f741dabf5ef023186e9d9c947eb9cdb9c8a5677c6730ab3e52cfeaa33fede8980f646e08b7a97818156018a0d30961d8fab6b2a75d9f75ee63ec7ed06167e801bb77852ca7b61536c81b2c0de9e3476805300b63b82f785816f5b5a6af1fd15970567d2a0dfd00b2ae09dc82c8f40ddd00bb52071d88f50c2a3372b1d515c381456c8719108b70ada635837c0af04633382bf713f20a608bd988e0f713ef0e98216b4351720dcfa6a62aaca45c89582ba8fbdc62b750c2714c455d8100dbb49ae5f7c6afe40ab3db6bca2004e547f78c788b8dbdc3cd6d50eac096b551ab3eabd4043bbc146ba08bd937c694dd7cfde67266008c9789eef34a65c63d992035fb96ae8f99f27c6ed5ce791782b45df23b9f295a97d4779bc544f5797b6f7a1fb37c8048cbb85126efa45273b58d49128c8f32153860388ec3c843f87278f0bf08ed49df9a3a11cd857bf040c4e6281b94890b46e09c63883d9c61c6a4b533ac2ba2f73c4f6976a80b68d9f194fb50e74106a333d755c18be690fac1ed60857c36367e282f2a0cc14f86a990693e88a918c297af081b167a70ffd22d7a95794b8fd90afa226a295ba3068ffb6cfabb9900867480271756772a9a03a97ec5266aa8d105f9a5fa87b93d945a4fad87ef6c901e62f91645663b279c5c619b447640c09ce8c0906c84bdd5c37299239074c6ccd0ce67b0ef5ef481fc62e1b0314aca5050b3625d7537680b81c84d645e579d0cdbd820ba356d550ea5d1a1a0cde716fb74a839f9f71d3c63a2e45fa30dee2fb478331c06c5cf1aafa66d23fc7d94b03d2ee64c2ebd990251713f1bbbef9fc77c0a367a335902469695bc93606d63521b2f6ae367b9d0d6426ae59cae04ecbf5f5c6d1b035ed50355ec40faf2e2379f2054232c92881de188b23a5142433a88e82a979fe512abe1e96f618cc7892e07166ad3a67daea2367742b47d1c7ff4d954a4bde216762dce449afb2bb0105abbbdcf60e4e468881be5c928a0ddeac08590e9900d56530bba2a56b7da20764450d77a4e7657dd411b3b2f57da99a21356113a8d9aae2590ca7a995cd7bfd676c1c72ff3bf9ffe733b00b2f7018de907cc40d5b64d929611e5842a9824c746a526fd0123dba47bd402d0fa9bb03404db118de08f608fc9a723a496a8efe3c556a5bd2b2ba2eb2b441a48bce628867abbd11a53dade9b9eca8bfce24d0865ca2f34a35ac5ef4e36a279dfbb49a12e8314b921011a23cb8b736c2d287bb5a0168f6c6d8cd6f88a57703cc02d4d8873ca8f4237fd8247eb1ce0f9d91f998630690393645b5eacf1f1cfe0e6e15d77b458f636667a6d539abadfa1b8082513babbf33c7d84121db0b21530d963040ea4a51423bb6a611d5a097a4fe0f34d5da575412ce938c2481af40c0b978ab91a355bac0ab1c34041159b554815550ecddeba43e5b549034a3dfbd0f70cbd1631e4b8fc5e5a5902a5771adb4d9cab7795f463ac2be736321257143270e37e15e8cf4ad6da43f40e0ed071094a927520bd855bf15c80df140819e0e17b153fd35e74099e5cbeec0d150a0c146011a6d0d5b4fdd58a2e332ad25cd1881737dbe55f098b72f1b822575fdfbedbf1b6fa216d3aeb1d2801269e777a8e2cb87fe484d12d8775e4496c71d4a80b521de90e982abe8bb409d04ef47b99d6088fe4b7bcb62072e5383bebfd6bdfc5f0b146ee1f7798876411ab16dc33ab57d6cc78f341dcd31285139dfc74bbbb45d7654c86e52b736bba495721e390adcdd758fa4b3c72dc32af2c344a0767239699d10933500af3dc01c0cc28b143cc97fbd7f515874d3f42a712003b6f0568b736d06ad9a2814879999998ef34ba6984abb32e3e2ffab44f1c2ed648a94252c53f1205a4b2c97d6863084e372c759a43716b3cb6d6365bb071ab0ddeceaba3731038142f8fbce88be9c4623ee3b36397f96444132857eb90b02c482e716b9bf88e4d89b29b1b7bde4f1fd7afdccbf65273bc7d83cc82813f77895cfb7ac2b896d79055bcbe857bb12c296ebbc0c7008a71f9d01c49b3943501e842a092367f786f5b01f1e4b201f8fd36e0cc6b086a2dfc6eabf480d3275843a18a6a892a2eada21bb2c92a9fc99a9f511494ec38086f1ec4d8c0566096ebe826e9ae1780f5872078c1837eac85551643835308a3b5fdaecc129785a74e45aa45d382c41e841afa124dc362c2bcf6bd1b6b925d3b6c9638418b75bfa5bb055486bf3a2f618aa56d98ed9b8604630e640c3a860541c33fd9c0a72599123fa93fa79bbad0f3479f826c756a49325076ddc327a184b4f4cd21c712a3ade22fd6044f6d98368ed3c2175603f73ac625ed81c07a7f93e989bee7be83633a285f33ae080c309bce82edfa7328f575c1a97b1e29a83b75b5dc4092dff61287c8f0965528f30e5c17ced72ad02e9c03d6538eb3d7c3ca2052b0a660b2bcf7268d336d78db190b7fa56d67ab3ef0ecdab6178c17d58d75d23570ad43356b5eb35b80e25d4f23898a4de02dd59313115f29c3fc46de2d387b8f8a95178b633191cf1bbd120a17f2f32e42cb8053f9247a539605d9376d9dc4b5ac1ba2beaeeee299a670db7eafc00f53bf13a1afa7d487d24ea83e4f7c295e60f7b37829c52dbf95e402f5c3125eb2f34964d50bc68ea19342801b00565bfef72aea35e50e8ffa8faf3fe085dfb882c5e48e00c84ad0b104188c4532a0d82e966ffa427ef49b89113d94c9b9fdeda432ee9d82cc9d42ce9d22ed552de1bfc00614c6179f5810c27de9fcc1858615405860110801bb19bd9107134ed7b96e5c8eeb45468313d7c453e1ad9afee259ccaa4340f7c813e2e4ef708bd7fba2665be023d89886c47c73db16829a8961099d413d9193183f9aa246612347e20b11ac9f94dcbc1240d12591901b53947e53f29153052270978fa7e402968e1e4e3a3a62db6dddd39257faf0b9d010560e94fb87fc72ba4cb76352862cf0bf0ea18d4fd590af2942ef379d480602462cb57472bed9a3177155a000ed47ec7d95cf1eb307d1c73f8f1b569d302e2f6c3aadb40319feec08e142ea34fd6a3e77c23ae1c54c1d21fc0e57efbb42ff7efa659ee886f9a3b904dfcbb1e843851e946082de652d4857d58a50ae1219d1d9028207ae2a400e4497bf468b122ca1a641a05d4f70c2730b4406cf5926a98ba748b028ce726e6781b88b38412f55f1c8a346196fbc5517e0bd14da73ee9c7c5d6bf381131053b527cada37924560823f637ec81fa581496df98dbe8f70e070b5efc91dadb6f668b9e48d354fb916394ee39d13133c8d936c3b65a7f1356749b63ec3da0739386e1f549c57c2db6cff9a0492b0af425a06c46b6ddfac1e413016fbd1c9c52363a12f30edf35d889e1a2cc15bd07eab39c4d8a4addaeab3b37e9899a1fb5b639926334c20818918a882f5bd315f2d6c77d8d7b63b81038b7c6be911aa021cf437b4ef8a2b1bb276c31d9dd685e6832549d7153f5da2620f1296f905d0f47dc1e33ebf88c76343fb51b4d68f609ead24ca2b58201d37bdef18124239ba8aab43590c996d145d5507b71ad1405f9fde50dfdbab2bfe19516875b53ae67014c15bdc71a1df1b5b411701f5e1970003aa4dd2c93ddca89f0033db2fdfc7712e08ee0ad3f39c90b888d3a4f73be2fe09c3987b0c88e56741ad58b984248814592dd6035eb01e080fa096f2435add3d3e744066c012a414f1651a9894f105e063a41c9aca0b5840f33c3dc82cf5da4b8a4881cd0e940662aa6938dad7eee01bea85dc47192edf3bb96f1224ee6ba935371609ad61c1c018fa247e672326108e098e358ab6cdc061bd08942ba5dadf95252584eb1e5cb5c47a46c3ed9dab769c08ad56c10298d51911fa0fc57472f9c06b785b2b593820dc883a2ec4c86187d11e362b436c7476af9cacd4d8090390ac2eb4da80c4c213f249fbcc0547f60b27cc74fddd7cce0e8e22deb5355ca45211fc59c591f672ba5fbfaf1cce725a57194589317b01006e2a8b20995f074193a635e2d0912208226f76eaa3e1998a0268ad2a87fc880eb369946cbe628f627756631dce6f331e654e7d992dd8b60d5b49ba2873434466e2db6d20e8e2d06a88dafcba6196fef865842107fb292253b604a5c6c5692464295f25988847f17be31f6c6c1b6f4f62e72da7c1857b6515d623a436880511d817e210c3fef5927e8d61f0fde075b61ea2425a7bbab00225b89c25f95fd58d895a9725ae538e5dfaee0c06c9ef59e57206f75a6ca71f2ca044e251553374907e22dcae21fed250b773ae4cd231d641212a21c8a6d6b491c48400f7b2839d5d34726e0f5a0563769a72a59b5b8453c7da3338c065af5fdfcff4d2b64a96466a41874b26deacc16a34d8d026fc14158e05a4b0719045a8b7f21f60583bac4868fdf4980e8f2b9bf33891693ee2fa2ccbc3f8abaf7e8e060b747312dd412ae77676009ebac2baf52fae1915a85e84a15aa2bc46d993ba27877799457a42201c44459817c6598181e33a4166d16e5c79e7a4cec5652fa1c1ada28aae724d55dccfaab7521419af33201ecd3077cc68454e3b9ab4f3d9ee9783f516e2d869ec615396a0b890d0a93e07c8b21b8da3f1ebd568bee67820343af8cdf4287f279d8be217067255a5508e90468401a46be05fbc88ac9b569e8ed85d637f355141423f154ae57a97332cd8f8f485a5fda686f586c9f1c327457a4f8b48b7da35bcb2cda148612e40e5fc644652feadd3e165473680aaa089093a5bc657cea1534ce1f489cb26fc4ad675a76f1d1ffb0d0249d267c39a4826ae48bb1f15be6d19290f9871207bd738c9abdb5112bfaa27dcc93b317050eb4f1479b6394ebe1d068b3a0ca5c60a5822a3d13755061830748bc2d8483b97be03e21eb7101b3db1674f62e061005815f4517bd1ca94f4567c4c245cd5ce6e909fd64719675ecc2835795320410da433d7db4f555c998dd3e176af4f32ae5890215a38c8cc85f619c1c8095275bf500e7fbc7f70240ae2c0edf995ed8d7756aa96eb5db0fba54e399853692f7276d3a311a1d96104a2f8da785c57aa5b0d8e6f6c3e910465c178bc98d9b57b9d08b1d3cb3ac97216e7e9a64be39817cb44d35e6f21c79d7020ef577d3060bef6e8c48e8ffaca6bbad5d9fe4225967a661f6c92263d715e51e8133204c40ab5b0b367651ed360c512634117c646c95b0cd38cc3311f1c3c2d3a96c5bb46124568f567f7fef8711b065e582264ae417799a7da2bb5bd126c6a16b8691136d939646c7eacb21d5435f7aff18e106bc8cbaa656e3b8ef217e086db624c84f987d15f0ad73f17083c7d51bddd45595bbe7b89916af3d136a5c6cf8b5d3fc184809eb430dd9ab501a40a5471df70e3528a06c9068a03d3125e8d09f12391552e9249244c43108dd2e5f06b27fa90f8a751a4cc8ce0a48107fb87d551c209e2c415aa3e67fc3c57864fbc2078f81a5e3df0048f258a892a523bb2cea925294aebefb4daf48d22882a0b2193978b09a02cf49351d18ee79a0e64e1146d8bba60f9f03077a9bdb0bd247b7c58e1e66cbd079fbf7ffc325d4d57ad2f98cd6f08bfde385c9637ed6a1b436a1e918b0ab1b922c4306af0fc605a04da34c35ec841a03e9ce965b2d3a08564be2c04b0b1d794e99a3d739e2c17263d491e6e6c487252ec0fa169ae3cb94239eb4193cafee2b0ef80888cca0bd009bd3a63399c6185378ce180005a52c60f8871e6ce565130d30598b2e442e06dc9f33088afc65c8abb88f1d5a4ca41d2680b8b21331bf5dad706e87c4c07027f691f2e8c43ff2a58040c5e1a32fd792b0ea3d40342d6d6ad4f15f6c32a588faa29e2bd1a288bf040bfe3f8a24d486ae5d452e55893881bf19a88515767431e328fde1fc8f131ea6654ecb0be334f8aa7c46a0cf9a5dcef593c7faea067f656f3a573dba11d376da2b2aaa05bf6b9fd07984f931ee98cadbe62f7b03f01007d016dafea14ec89fa9816e5a8dbaa1d33e2afbc8b44d6490422bc79551f9d1559677ebb81b3c23376b8c73781d237401cad0c743ee1a901ac5049738ff5438fd8d84c86b959e785540c169a5e35ee0b0e831c961f545efb7306a1481ed77e84e4d972707d64fbf7fc82d307b5661e209fdbba3386edb73e50da58e6d007b5a78979eab50de334bc782d8e6a1ec0fd88690a85eac88f4b3b1b2f35914bd43b52a4cbc4a935c25da2b94d7b3d58e062b769d10640a3b7c88b62e961e4e3d09ebcfb46e989d86a52ac80379010c95dd9f8ef1223bb511cfcc740e888b2bf86c84c0ea96898652380d818bb421a867e3f0aa44baa777c11ec0205ad39b692644bbccfbc86346d9c55fcb9958fed4cb6fc0e60e49004efc4f1adb85b8d1e110a0a9984f0ca8d570b8f5735495e7cb304fe1bf3b556dcadd9439f101fbc5098df18086e7b1ea96a40b7f33b4c6fe81be64e8e997d0ce79398277cc981d538e248134b04965fda6555b00652199cb6e6eed88247b485d8faa82d65069da43bece20ef603c32acacfd022ed42bb8f18472f8874f444020ab6b5c1612d2253c6ab23bc41c4b9aff1a2367d3320c6cea42bc1699dbe7d3dac981d755e5599dc049420c7baf2d184b77f26353403e33d603c3a34e3c9ba411ecdd52f3485360cdd6dc7424accb3119bb11d37b58754926c1fb7fe8aa674f606f490ad0ed6712615c903b9757a4abdca11eb0d20ea17a3655d3fd550471cf4e95edff997ca41ff58c5732e59761ee88a6b82d476865035596a040defca904783514aed1b9e22683308d6bae7294c09208be15f3021b61d842434f945b051e42b9a1cc69e2e295cdfc842b9106bc8aa323539d2e26ae462e4da231f2d10d57a12bf808243320f6e2b8fb518599d1ac4a7c23388d8d3f7f8a6e7e77802f75750ecf1c4052c9234ada7845c2a18dc6e9bd8a207e9b9cb1bdb3b012a0f4d7584418732f81944c1864b329f38d892ee445f7855a1ef4a45b7cf2bbf0a119238115a5103d9222ddd97f2213264aa5e9d6a14a8c82cdabaf2f836daf6aa713ac0012b99f54bc3c7c92ee54725133c53d514c15304828e47cf1a4bc53f56805212e3835f04549a3fb88d7fd2794546a3b0f6982f98397893a76fabee949ccbe3932d40ac515f6954a0fe481b1e9ac0d1b998a263a90de2d7bc615d7f1db89c1ae6e71b23daa3f5cf91a8c6d20ec7c168a6be7ed2845c389021cd5853215eab418d5bca8a502668872a548aca9a1626b06f9b11134ddaae83d5e1307c136838fa1c2eedd9846abe510ea02abdd62c0811664177562e766541b0aee54684a1def874945b01b061c1239c8816516d1a608ad38ec9e6f4e3c76e09c1980b3152c3acdffd5d81fc98bb9995d7310d2cbda7ac37164e8ad07aeebedfd75ab09101adb6d778634712d60193bd11d0211635fe05144db52781872034c7e927d284c35ab862ad074527bf92a454e91ce01f1a76cae198664ffdbf287ea164f7fb687a80d772952ea35340ee8cc5364e935ea654d2ff7ae6f2f5a7c9afcbf572b9c1ae3e6eba262f0c5f696af80170e49887be7d41b35c2620b476bea5542f6ae2603c79320c9719226d251f080d3025681a0605df212d3a0cb6888e4f5705d3afac5f40bc4a720cb996ae946914ba299d5c764eef813f9130897499a54f98b9ee4f3c3681b59a82ef8b014efde707a80bb38cb651aa74aecff18e2fd583e6ea713929e07f726b73eb9ae4d74f09e1465eb1dece049a44a7dea1aeef76d5a0c58a64db00b6d151c75e2fec307a44780dbd22e91ec9bf3002bffa4cb4c9bdacd595f9ca96aee97046378ea3e3eb0bddc0856f67b78671b42eb7c463fa187003ded07bf7f00ed0b7ac2cbd77349c48805917a805d2a6553bba683a1c5900d7459267d55d829857eea8c647bb18325c72a3e858b4dce0c55e67f131c5a7a3069baf6680d73c57a8c3988b91382c47fd1f7fbcbb87cb3cc6c1ebf5c468a10ce9c544f4c153fe41f955edd7f3b36e6b7ee5153b343e822925b47603742547f1bcbdcd624042b2afed9bda5bdfe0227fa9e013bb04ba3f8f56299b00751b8f279ae90a011bc3df428903321b8398226c5bf5e001427b51b60f59803b4e572c00366af4c4bcb0fd82d24d272fee274748034ffd8ddb5c1c6af9134d75811089a72e60aa1d55aa352573974a63dde60a2c72e970c310388ba77c9827e868f839fb6281688ddd091a82ca337588eb2eb2f8187074a55b44c05cd9035f81df6d327d923afe488bb55805469e0308c0c50cd901ae7987bf52aa2b63e26c4c3ef989256c87fd0b1ca5f8be3f2785fd742877690b5d0bf80e7a6eb97232526d1cb3fbd757485b2d89a61e98bdf84c7a849f9ad7dc171b96039c32f87db41d9c1350a38d0812469f5c9dc4aef809a2d02582771e76bf4caa3aa8032f0f7b2c3dc5083b69b69fdbd95aff1c238fe6b1341c2205bb8d052dc48a9f23d4effd1950ea9666317dfec43d12d10d0e1b0531a25e36bfb9a8b80c438dd30240f743ad249eac34bae4ed1a63faf11f8218624700fdd7d3f504eed0568ec96d220305bb7ae46231ffc574b8e6109726f6020c3d7314e9e2515d839d79ccaeb5ec17cfdfbe8197a68e09c641b26efe26c1a436171fb9453b41a9016a38512338db8a8f862de8d2818424190230621c64932613813094f5b49181dd710bc4387eaff256763971e801f507c8aae3e886ea5d4d3ca853c703fa0f3111c821d60e92ee6ca4f14f8f30066ea0dd93e0d337159627da28ffe4a4bc2c1570e50f07a7b0379a51dee34231c48502e32d11ce4e430d8a0b22716e1bbf697980f6f60620f7be68556765b4230868d3c1ea2727e3986224e93a58c4c3b2d62a324fc76fb7567ee5b0305e9af62224a67ba27fcb2457d514a3d3978f37a12f127f0234b950b90066a70ee63c2f652d4ca8d2c1694c36b2d02e423e35f6cdb3c12363c9d5d246bc52b037ebb0d1f18692fbc861bac264d2b4349de9620b02333e169d54df4e4fd2e02f5569a6430766bbfc8359ac097abef771f0eb01b33858218294c64edc151918a1858461f038ba1a5b9a7ef26710035fcaa92d6e78e69e56b305e440224af602d250229609fd82aeae4cc6ebc3bfdf5c92f66834bc80005a1d6a77b67015cf287c55d84d989a8b3f7934d0ab3caa261dd1da41647b015631dfa688031c46bf485b823ae7512bb7b09c557760ddfa9e64cab16e5ee10d1781e6f55f75c592c2cc13e3e30128ddad5a263c2b63c2a01b0ea69820c6749b12defac5e278c0bacf3e9d64dae527e645ab293bb3e658e82c2662dbe0a9899cbb34223f8246542f5bc4ec571776a41fcb563df35d13c66f5790e528873617b3be3ab60191773aa577b9ab44f32b6f69616ddd55a6dc4f1f3bef307f01b4a1effddf00d53d3d57cde1ca0af7e2eb1f85756d1d2100000074200adc4a0e77d70e7777a6cfcb16fffe908854d37557ec818a14f209db5a2adc402e732787ee72eeb980c1d1f988f06146e7536b8ef2e109a5349f69f0454d8104c6af28548f4f9bd142c5ef6a05117944f700667b00e4f28b157e263639466d4da229fb6d2f6d092eda93f3f39376d52fc02e432877887e3257e277722680578d5a8376070c4bcdef07c450fe92ab62ef8c0f3fdd3a869060357a4f169b149850b7d29638ebae346b2f59902a1c20dd8b20eb143e0f21e68b1b0cfa4920588527d8f273796d8d86824ad2bbc1362d2a1eaaa6c09b2855b67e6b6f2289a148c0fc2d7534fc726d026de794b0899451b22e2be3bd0b34f9524c5ad370803b2264d70e7f95ad04f5c3b26d32bb9d03dd7b7c710a5b27aefb07e350c5e1e0984180254f1aed42dd3abbfae4be8c46116f8680c8c61d684a920fe09a57cecf1ce713a25ca1a90cbffa024d10d737eebc5bca8b656b36afa8e16e89a5eaf688ede0819e883580353558a82e8a8acbedc04f5543c2dfb0ca87f93911545dd3786de3e15b5629f2d91ca19375ce53978358a16bd94d4e1af5004d9f0e3839ca5fd88790f3a7229e539f6a929e4dfa4a5151527e18f8d3baa926834cdf30835aab7814054d81d151b1bf521da320bb00ba034c82dc23fbcc005ceff05c6ca3aef20dc7d77521d3b1807531cdb2a815f682bd10a3998a2746d607e306d09f3d8156cbf9a6b54c9c30b0f857f2834b8dd55e9fd264d4a93480717ec1307f491e12c7c76aac30d1e00ea96e591736747b63f7c2d0cc2a64a549c49c51a17e50a818a496be3d719b51fe5264eea76ea9ea2fc3f527795b41f0e8126448c5a34f2f4c1722f33de3173432f45ac25b6705345cc85df16d2cd31cedcdc845a3d1eea31272feb8ba76c15833f2cef85814fad45ce6df6251948d3530a00018e3e8a4e718f8e15ae70f89c64cfa796d8c5472a7410778a1428222bb15bdc3b7279fbdbb0cadfc08372cf44b93245d52ac0cc0911e3ccd07d79149624f04d055120401935f4b85fe999cfc9bdbce4ebda1280e8ab9f9f9d19337448061a19a98fddef5aeaa0e61b1c2fad596f9ab55638f3e4c4d9c7f21eecefd2d9441dcdfefabd265a0977bf0cf11cee8296d9ed87959556d3cd392f9951802d8bc870497ba842e5ee6b03422848fe374da58c0de4a7ae2b98c1bb503fc31a3d50ee2cfc5994ecd5a0d3f72572c050fd4de745d9f8b09d34e74416e465cb9011a5afc73fb5d9e96b98d5673b70441d7af0324137dfa0c039a5d7410ea5714101a162e80cd974db58630960e55113758e8aaf9f74ec90f5d8e6e7f0da3eecf3eb4c2b492ec1914221cb2c694035b6b69ac28446cf613bc72402fb693fc2cf55ddf9e8d4b086b556cb675c12b434eafbdbdc808cf2f1fe6b1718cdec20c98d6083735bba9e2707a4d0021d6634ac5b94469aae92be5e7b3b2e518840bb8838b2ec55f5b9e16d6d66254b5d389c65b46758b53498eaaf6b4161317ae85f840892d9c687caa4ebf6728636f18a54279572109b6d6b3785aef22f657f362d87ad7516b62de9efb03fdd833f7f4496162e192a75c2d938de4db6e27a05e9915c1aca75bbffc1bdecdf67d834a4e1dfdd55a1559d5ba651f85397d51897b71287dfe56ddd9162946536f9009a4644aabbabf89ae89a3faf9418b526341430ffb05d923ee6f07ae2e0bf3919142ca90dd6b533044f79c1083e6e5c88f74487dd62e8c3b769ac8a084885031294236966f8660be284057255591c2e923a8eb1a48efb3b05430ac0a0d902980fbb106b89cf7d0225bd77993f521181273b5fbdcb86a99d81c4226292ef242eb2fcd0a57192cc2d7bdf8f2c434024d817d9fd21fa9e3d946f9e01a21999a5eaa8e15ef5c7b692e54be06ab6010d0d158e32b7c3b687a75bc0f2c1a1f659089e695790ef88919d2a7b87152fcc2fcbb81b5fb0d0572e9c6eb7d85de348c1ca7536e4689c87d72527c6744f8c5172ac7b30af89bd45540c6232474abd2dc7725a72f3499ccc2c182dd70c1832b7c8a72ce1e74197087cedef1684560185bf78a5dba940e280733e0cf95bb048fb2ea93a5d8726a4e86b7a173e163fcf88cf7aa03c3883e4e4322844ab011e1b0c3dc95414420699cd72bf8ae015417b80ebf6183efdf43525fff710f8ddf3a002d79e49547f24672568873ed47c67254a23b198a36b770878c6022c89a358f60879c4e41eaa41477f70033b881e25f8a3db5ba3d9f5dd3a971520491ae8374a4c2063c62a1e4d3d646e580f6575e7d808d57d5c9fbb8920fd06082a7e5635ad4bfe0f185891c755f0bff442032f70dcd7b2fc0d3444f76ac942faff3e7ae896add3a1a843838d5ab37d86aa437ffe840e0ab0c3676bb95280cb69740734fc1c72dec9df358d2126449735ae69c67e8f66159434fb715417e73bc278367656275f554bde6a695399179075708538f40d4974069fcde8a44d668a90c317d3e97ba6397c46d10ed0583304a05cc1ebc2656e39e0bc8ba0675d5cd024108a65a105023cf40a2e047e73a14936be3b75c0e742d56e4ba816cd23f77ca3b84901f7e2a559856118875cdf4d51f3da2bb76a2f10f4b8a99a284c861210f37fa023ab3d02d390cb832c3582f524ae6628f7d5cc8064da89e61d87e50ba486eb7109ead06cf1d4003b81320fc0b072728728e27ad4cfc19f3914cd961fd5c72101932458f270d87473d72f33cab3a0deb72d3d7e9815e64b634092f284b418a20a1d490ff91afec5c7076a2e09d7e7a2d4b372da1ca52f5a40a02978f00a3651809eec8cc2d5d457a628902a3abf600f1979df7a355e6f664d7263c0e90f660b24f43f032e81666cf67c2d28c3537032aed485a37dd9aa28fa76ed1259b1a656a7025f70a4686f25aa892a3d8c7855eace6c7521cda97d39512a945c7f74da2866afdeb85d0ee17201ae5e02d8ae3e6c0f1c553bb5bfd1f77dd2a14b31bc6eb66cbf1b3030a6ea9c64ccb6f9cf96baed6bf89586e1d438530d7493b260f02531ab5a8d69a317c9bf3b4945fb258a1cf22c2449cc2637cb4aed6e500af5cf27c8ea2b9a2121c4066f3a9e414c2bd8ac398567d17a29ef1a484bf1ee3dc12164dd2204e82c7872ffa454b22e416b596347ceeb657259cc9c1ef588a559585c76e2f5cc006dfa5fc81574f99e30460bbf8108bba694c860295f58aa98d43681ecc87ba40288b81d09570ced1a2f949d0f9a5ed5f72e65f1b42e1caec48176c6f8b9a19efc3b39960b2c70dd96639bf1ecfd58bdcde4779c5113fe9b0dee4bb758889161d04115e5bef6890c36f235ec9a7206532195abca9c99266b049e1526b9dfb4014068ae019264857f6c9d232e0ce5f14e984d52c58522b9491bdad9084f629273cf5c55a4c20cefc4bc6391ebe8194ea4972ee35467e861c48f6052d1aa3e593ad0336c787b490fed87a1d92e9bc226688f0956d8d346dbd3639339e2941696c009d3792200bdeae1b13df9418de1ad5aeb69e8d440ceb64d73818a7bb9f797ed1445965c37c5576c6c5b280b314f4b7d2bdaa68f1196143f48cce33da1f6aee49df3b847f67dcc4c31ff52fdb3c4af31603fc8694b51fd7d4f379fee2ebd0b5cd78d0c91c99400afa8efab2e0a4837e7a0586f4c7c4f58adffa432b113f81630a00299d74ce453eeca6670e10e0ab9be31266e6e0e8a586fea5a7167603e0511803642a38ab5d190bf160100540efa469e2c409244913096dad06d3396530091ab0e54900fedb25e4ca48d5a2614c2c8f6171a1921444b2b49b3c58f072a991e955848952411a072892c476433320d8d8f800bcdb06ff4e8976d6e259c2a81f8cf36ceb4830b07b7f8e9df6d5dbb7b2970927766b1511efbf290e26e1f9b0562f4addb6e8509bf55dae3c60ab6d7d93115131fcd21e01144ea46f113f69b8be33649c6e6b832dafb8faa2f43c8460c1e5fd91abb97dbf8df928d67a8e44129a71ed7d8b160bf1393032946ef29ea54f4178a3a4d1b4a2b876f689593f7a17e42eb6c47170a12ad1ac3432dd33d575602994406e3d19ee2287e9c4d73a9261f4efb1db2f8fd34a27c803dc4eae3c04a5f4fc47fb5a9db6be9f8a5cc38454583d8a4b51f6c75de8e571cc6bf5156beb41f2a284f1fcca6ddf3e81fe434d67df51234cc8e487787e2dbf79f6bcc346c172aeefd6586aa947408e5934d3f763fb842f4aad3cd9c30e0599bc2d5e637b2582adf18d1b4c9e6964ff458f2cc87e73e33f8fd0f614e4885b9b04427a0f80d162d7a76a911f19caad175814ac91d98a706b34599fb13ce6529e1468b0ba068451c5c3aa6de99acd97652bd9d54854feadde9541003a8ab14ccbfe1017f33dbdd93a10305ca80709805dfbbdd7f359866fdb005d1a10015c091154cacf1acdc3a7ae2aeaa2afbacc83ca6db3083ee62e38ce0913a3194b58f62c8140462ede45ae37a66b1442408da02e65a19faf2ebf4f75155363479e1ac5543835334e1a29debfdd49471678428fc5b0f0fb4a0c98291f4073f2976c1a52ca6387064e396b49aba8d489ae74befbc0155e08627b5499615d99b7880f89e12370a74fb23972353a7836c78ffb35bd07d1122789a2568c119d5f7a7e1a0300bb26939805676a4d786a53ca206cbf2d94978322dd97bd4496f93d514dd85f012d6b4c38f97cda165e05098e81858cbb29112e3e39ecd759f772675c7fa6882154de1468d7edae7928cec8ba6e26a4bfcc74f199894c3f90126a7bd5670f82d87358fb4a072239c3c5ed8f9e4987e8f04af0505bc9fb0502e6831266548694e96d0a5138fbf39e1617a39f386ee3f034719b821d92bebd980d3d76d28915fc846fb50a386d8f2112981e202a7e5b0f4ef70a74ec3a1fb3ec8cd45aab7d0386e12b4bcafbf5c747029de62f6994dc07536a36b8feebed8eec1b2b6f576b19366a1ed807d069ccf4e4e3e42350dbc7b6348d03156fc3fb6601f38617693fa956cc32270e0a1269f8b3643c81f91a1ac1bc76d0464ec2f6cf995a5ff8de8cbc4d3d232aa53f92e969bc5dada1a0b43229c263b1d5e64cab981322713ab4f0ec2c677b86054c820ce59a34149c3e8fb85f4b580f8f8e1716b505d96892bac10cbf80dc0590249f79545155b191ff9924d16807df5e67e01831eb20b886521950ad7a3f6934a0ab001e9ce6309d153ebddced0b73ec195295187a310d80ff810dd8ad6049f6285942939ee5eca6c4ab7047ab32e203c5101b6b610cd05ad0d17c9726ba700c37a0e5e0424f61e0caaad4805877a1ded82430d70865a9b1d079d384a2e05f8877c02672ed3a38efd904a6395da2e40f288e65aebd1f60478eafe1682e132a44ade4900f67797724031c11914ddad32e4d767f938e3e734a0a5aa18092dddcd0c9f82cb4fb97a9e24dcf835452184a880d043612742f4f95e9c591562258b43cc3185049542276c3b8b24b7f0162ac7eb1f8efc1f0eb4f49216482016b8ff33b67bcbe3f578094e2960436298aa8bc00db81f0eb68003a167b65894d9d495109cd4e38ad0cbed09d94784e1bf4c217e443aca7c8ea33d79adaf1c105de29904c862d9c2d7475305bd2788ac26231ca52a9f1540f9d85d5f52d1716ce55391126088641efad7000d01e81d62aa94152a5ee49e2ee087f92c16bc21cbb4b207d4f69828eee9d463b71aa9b2180d9b849e09d930f917b6dd93ee5e39c6d63dc12e1297f4167a531a184181db19699f9574ca40248e751df5c287a597fd6b5949b0b17f893a547db37a7c5229be9ad4ad55030b36541b60bef21478e653511d0a94d878ef82ba8c84613c583c2a14c3381fc440cf45aa108d95add0a7024ae96ec8538252a79c883921de943f5e9b5b797dbd594fa5f220c9b9bbc51be85b54707455468c576351598cbb19f1bfe3271db03b40fde40bf33a98e675d9734b97cd80c669f3fa01cbb02376ed11f2132cae3e68b4211328584e6b4f729113b7e7f2c9f25c1da1b2e02305b7c5a7e96129570fe7a29d7f62d6fae274df119390977283ebee3b616b140e498bc51c4437208302f51662cb953ca58d7c735e1822123d6d2ea4be7461649cee69d374407bbac1b6c8381290ecab6c0ef151f93d499e5a494a646911e1c779c903bbfa7826d97176108c648cef05ca23d723ecc2e8794eac99d3547823b401d0ba5e4dabbc18b37cdc9eaf000e1b01f0a96575057e71bd1a3d034c970b3bbe064e8a19cd9980670c443e18d18e10e28163a803913b21192cde382c511f4e9650796240d36ec63e325517c9aa2b2c2339b61b141e832fae8c10b73e13f98037a0475e110b13c56ab6538de6ce29e908a1045e09788bfc9270cd06bc88f2d1261f0ee3e12eda01d8f7445b8646203b7fc5ea29a5a825750ed8d4a6985d2fc47a3f5fc2c11d048383a428192c05dee4cc714ae305d5b1f4c1870a9887837633e261d802bec207ba59751bf0962765b8e87d1dab56f7e4865b6680b51f5230675fc26a21b6d90af22967b5471822e2cac484f52a1143fe45545782ce5deb23766849d915eb1e6a28023d70c3f1d9962c762884014674302207310682f56d451790ec62c797c5b9623e34053af1d9d6556538b86d77ee8fe164c0acd5f018eb437a44348ec3b7472913def78eef523d4f4163e7faa137b3c46cb2f12de80e41e0ce4a1027a28fe489b1c9291262944d48581ce57ce597361800a481e4ad6365409a626e96f888d3dd09955a877626db6d035549c8a78f6977fce580dd94279c5fea3acc408cc3d94639b91d4728aa762239690a62f2d85ac463fa2d15e7050dbfb0634d5ba9a4175d6b3be6c3cd1aa84ab0351bc6e49e431818867565bb9c869c8713d4841059988693f7e77f804d7d8e6084d2f9f5bf220353f6915c3ef805bb5eef1c5900422eda864569989b014f48ba2379aabc4a552e51094264bdd1dae3c7789d2e38e9ed62f8977d96b0837ee4125b4698c672d9f87f384eaea9e94c679c24aa1b208dd0072ac4a9dfa386247cd978b5ae8b25ba2ce9190bc78e075eef74b79c189e9bac0e479fdc9651f6f06f3498a08d357c986c84d9acab0aef2e655072ae6a7a9177a2bc84e16dd74dc4b6b00128777aff64e079c333ed452d56ee8e8981fcc2aae1b921fdfcc29351e2d76fa463959d092e423ffd3dc5498ec7a2ef2b84a17587bec4da95b464960ee487d009fa96638a55f572206962206fd72a2c2011c98990c344356305f7d8a6880194da4f398b40360674895a19a2dd0d46a56bce53e683ddc5b6f44a110ac84d016c2abe332f3f39a8873ca366ea2c0535e74bbd4520835247e1e3a7e613a7d98b7b1603c7d31a27ed5c04624754a1823e1eb6e190b81693d87a537af793713739dad6d69bc00936153321754992cb0f7cccac01e6f1b2e60748df56201a1333d29f205a53ca8563e3751f706f60915e46f2d68fd7a7761ae4e4e6bc5a70d7b8c9706ee76cf125de16ea62e4b529e83994400977fa357831ea2dd3fc518e824c385e5e0f09302dda9e32401dd933c267855712db1ee6236bd1e47c9ddd200c891185d4863ccdd08826a2757a7490ed41940ea986b83d3c26711ac5f268eabe00756c3877927af65278ffbcf669fa0e8ea6bfa0022ff64d956021302a7233e6d815f6d8849d9be245ae2de40012e4d7aaab11fc6a9dd32322d3b23b36bef91e1a58ae32306d67f359090fa9568d4970768f5452d79d736f32c21e8902f966840ecdfdf19fb733ed9d72cdf8ca65b23755361cbb80cf7f3e328f53e3dbbd173af733081b40f76cd79f9e9940c87638138ecfa8d424448632ab3f7332bf74fa588a73865411766d156d64b7fc8e21380542f2bbe23754e8c227f851b1325e9472bafa7da442792da0a2c78ff9b2ae8a13e6b8abdf2d55c763fba28674df75ae3cf4f4f68786284516e2f24c5047775e83872e31300ff682974641f389d5f131a3ec092c589f33c26d1ea699ce6a93f689a573ccf214cac9c4c9ad67b19dd1b2fe7cb2314367d6851cc7a3f837c20fb93a94b387b9b25e97cabd9ec9042deb450506dcf6dd8840d77d24bae885129890f8f46f3918d96585e337af868933abe0afb2e2a7c4dcac37509c80f731480177fe499d9bd15fa0b7919969795fa00ef3c7966e3741e3ed5d80bb933fde8ad0210e7e84d5ad8aa9a12b8a9a73d8d156e2968d2700796477079ebe171fbedea2166bea6fbb7e0444e7c981c1ab946e0c78f836bd7ff6e162dc3023f9b913d81b306df643600d6f335904127688c30170b8b077c0b8396c7cb35a7562bc10a0b8b1e559eb1cc7cea7e24eae7c01f541322db122c4f519dc98676e762ed297f0c76dc0b517be52487647dee484664210dfa52b11622faa3630e9528c838b93da350d1033c43d7e45948919ffd8080739d33e52f443e06716c34ce00bce56a6e6cc7045046d95d1cf12bf422dec6af07cda6a3429e4c923d14433d4bd6a684f7d96bc2a320288ad5cbb89902fda432395536983cf01ade942e83b0942aed322a1c35626490d5c36f6c50bb1402fb0ab79c86bbd810a0cc9bfd915f62edb28ff88eaa6906bc45df8206cbdf52a42581d0033b949e591e8b42d82c4f27c0b8ee1431ae57f314a232e83fa91c83fae46078cebd5d5da784a8f08406bf21c0dce9a265a88142ca9a422b25205240893677de7aae4678243f9dba4bfd1437359c2f5b190dfd7180c0de3cb4309dd1789d35f471fafa3d60aa0f945744d1012fc8644f9ffe3092b78a11098112a7d9c50a5766890caa101bc1ea7614b6d98bc87a0abd00b3b78d5bedd5332a15c2552d63d72c3a517b447c344d5690d0e080154b8f3d5ab36deeaf619bcd5cfe58b197c4012bcf0a5907799732da06cedca1cea8528e7b1233501617b67f5d19a0e1576255de327951efa4106eaba25b9025b7283d59a249483d80d6dfbe63876dce1012fa8dedf2db9cc5b07d0a45abd87f093e29ab2cb60bf2358f01a83fb0b2f2d5c941b0b882dc9d75bf214f5262c6ae64207ccdd6b6ef3fea03b11da7aba37da2b87b0359a0ade317578c3bf1226cea12139dde72815153f0a874f309ef181a4ab672c5d157522db08494eb197b0ee1a8f20d7cf0c6bff3d7f5a6594596c83c0018d255fb898fae56f24e6fd9c72f7969d23c4dda4e99a9c568ba205deeb0fc12528c2eb4814d756c8b11ccfba61ce42fc046aedfe5a938d92f8d940435bc443fbe831cdc61e21d49f12c5cbd81d90a602feda217ea88ac3c65884f17d44fdfefe3488bea53c1a7d2aff860d749e78859677f7ce3baeaf2ab4a60fb75f1af6877e8d23eab1d9054f685428b2eb0149a33195c536cb7753ff43dd7b5699b09c6b76ccab48583a857bf8c3db52c18a76861fae5954e245562da0a4113fa45e7e2cd4e0bf106d4f63d59167c53e86075c3369ae30700e108fafb618e513a898529ac6de466976091283875b1a24e4fc1b0975964e01d40348769a5f7f84501ffc60519162ae32c1efc8966d8dfe756e79ce5c53ebc1c37d1dc56a45af1a71a71e10b4ae9079a40429433338482f61704da219ba617f56426e0242c366a7cfca2b912b6cf1d9418961d1ae53a030a20a392da79ed51f103cf2822b776cd8a76c0b9ac62b9e18fdd3a4ff54edfb01321873701c10b6a36b315e23b288241e0040152f2830141b58138e8e4e789153392d7980da829f015f812c4896a3f641ad109ec5d77962d295a9efd775c9fe1bda8aa2869497839e91faf0b80a7673e40c999f7fe01170217746722db1af1349fec4864ebea1c07eb12db74b9cb32e6af893690b3ce9d2dcd5c099bc755f8d4aae2f2da4f97a81946afd5d970a6ca2d9ee60a614cd13e04f59a6a98ac348fd57ff732d154cd84d4ceeb9329c7fd90a36860e553da79c27c975da3924b79b56a3a9d9256c5e7ab95d0d84eb1e366ac79218f16793ec32899963c38990b26b177c890ce7b0d1b747be6154731f9a724b1360d57d6a57e0309c8b105adb3915bdffded7d688c79fe7def14be1add02e0120b3e92990d4a5b0ae3f4196d6d409c6b5eda958486bd0d3e3dd170d3f11dfb282767ef450daf4a976a891ccf3e11a04264c74d35b64bf4de9c1075f1da63192d6a3bfcceb3eb51c21a86bea0cbf0e19cfbbd30d866c0e37b37b2bcf80f4470bf5a9393bc0e46cc588b028bb5e812baf845a2794cfa1122a82cc94dfc352d4321d0fdc1d1530847e50c5b8ad400397908194d839b343ca6e75261347c58602919030af0c89fbf2daeb8efc4bec8b7da8933ac57d878b1658c13077692beb12b2764856e65357aa75eea2792392de456366a32edeff32719648032c544d4a70fe086888583c8b0d1887eb3029ed1e0082e0574f566d1752ad611448210438e9b4fdcf91eac715e71c324782b82ff4cf557e8e322c3c043bacedbc9792b8a75bbbea3d5edc49935cce669cdfdd5ddbb6ba30af434865c71bd781f6066d9adb0493214e6011442301a9ed329e6ba6f2ddbb5f8282e1a26297dde224d20e13532ad7569ab5e5f4be352300aaee7d1394e4da8aeec07c4a191f979ce76bfc73ebb31ac47b7689a967fc23688dca756ea5664206c7939ee8d2eccca350817edcd708eb1a56532e0b8ca5a1aa31a9a37cba9344725089f712075f741b708f66870dcadaa0c89177c42733f1af265ce1b7e30cb4bd0eab044dbd551182b841866215e421d389fa73629339cade966803f06e98484a95e9c77a56153fe90305eab3d2fa865d4bd1f278b17f4dc5ff48e8932fdda66050981d47fb65a9e43d4c99da356d1795f9493f92c4ff10174c5a12eb8166e18c5b890f197e75204c29d4e779852e87cbf540ebf7e721b32c6bd74abfb280c4ed7962e4d5b642a4c006b2419e518818978dec722b4b9b6f2d1a35ff3d6cf0773927efce155ecca30544b8786c747e38a3cd171440a1b5ab9cc88c1aa0d0c909424d1df0ce7ee599e9a609ed5d7acbf44d652a96192782153cd90018381d2f75526d1c6d71fdb430b66545d77bb9d1c8ef6ce0767ef370871749eb0679e768199ea8caee674190def57525d726a4817054f62a386ca66f42d57f5f9b3c25b2cf448db55a05982b3178c8bc11247cce25983938fd9f73518f4de90332daf38b42795445b9ec618e67145e279537b212cfb8003f0e3601f03f9bc3050343d624d5c81bd760348c4856aa77261a940a41d32c3658eed135b6e793f1c7e9fc16c2f4ac0b35d1318a4976e2cbe73f2fa225a95c6ce9e3c5c894e921f9d0b6e9ad4755132f9820873df55be2b5c1eb23d109d899e9247f1f36bcda261569ece2275afffd58687e5b825ac94a98c467cdd383c5975bd60a485b77a0c62b8b5719b3c7061971e62b27c0677bddb5537594b61447daf100b88bf2b3f22467d896461812f30427d3fb59bfabdea3905d048cb4900db0a2a8561a46f7046f1b01305287d47b61b39181f4242179d2bbff14ba46170f1b2ede73ab6d28b55d0abb2962067f276957d16b0bb0d756051d125cd48461b230281987758f58502f25489ed977826f86c6074a45e0a7900b873df4a0926d093ea63f74220f575e04f4eb2e15fbf07602c7b957cff686e3f4873eeb033f355cb618f70ad8ff16edca15e21d23e39cc2457dce78e6cbd7592be7a50d92f009095eef21132631a421164437c6b50dbf26e1f8c0c7b1fc79dc9988ccc0e6c10f66738250c20431de238d36dba71075e14cc4766903578d0c74af0d9f7b293ae8ac2d3578c7eaf5253a2025904ef68e56cc44c81533b4c6a93be432fe408c308297fbbd3c903377b92b394abf07666d302f110842d565004cdce62f2cb5750ec405c8f686390cc1ff66991bfb511825c3b6438fd005e261c97b8df000e55f9046b8ff3f965d026dcfb9008b8a3572a4e30751bf553616797db13967e017d31be7291200d24d94b15e7176e02db9a0ed28694844506c91e153ce0b9c66ec7e9ce38ed8abad71aeebf906297f15c4bd104108c2472b6415ef8689658e8b049f372904140734ef28a367ba50759eca710cfb395add97498df8e5a0c7fd258a44410c388352c4354b6140527aa8f64d063a3a4cb19317f54737e52fe9568ac97be944a236c43eba88980fe52ec63b931b34996c5d75edaeb1cda5a2882334e206a7c776c88d18c21e29c478dd75d228e4baf2e8fba8bfb308c319bce897b316801508633230cbb22a78ad147ae4fa50cd51e1e68e732d951bbcb5c9a3ca46309d8fe7c88dc1828df0949e6e699eb54de224b0f329db6e7140095b8f4d79b2d42d7770274692e97d3493b6c1a432ace18317adb7020c19d3f1e8bebd610d4c4d11c40537779a497f61639afc5e577acd54008899fdb91621a0d59388b37e175e4a649a4a9c97be86b5fe8b94d42d7cf8dfcaa26a4d301525eb3c932fc12b6fc1e872cd70378c4bccd340cfbfe20e7e87ea07fd5859fd3e1b83eb25f5adcf734f4e7c491c22515366c31332da81810f33d11824879085284150b1c1f87186748d414883f89c73efc81a4935cd0c8b092bf6f07ad7d7de61fa83b0a48d7d13437f9c64f3cd1222252af739c42b0385d00909e34627e4d31c547451f44a4a61b8be504c0a162c372b4f23c0f6795469deda500fcf672bfd09f5e8527e0ce57f0bed0394f515af18f4e17b86d0ee5bd389ce692a1aa72672140d0ccdf4d071d7859ef0b1886d89a1e685cd1f6027e591c5adf63397a4803c6fda99c7ee6741f27d11d982141ca00c76c0cc7c023e9425ae221f4d79c2999f172050c2bb9b68838958131358e1ed8fb05bb6e95597d25683abca246b5cdef45709e4f474d0548f448b90a914c80221a920372e600930a2213ae236767f1ebd775d83c3ee21e30b88acbbec81acc29762b5aa95c1fc5474d0fdba916590c6dbbe635c1d7e7de9419d3b24cb9c06577f7973c0f81198744c1d91e0cf28af59a0b2a48a86af79e9b4acdcdaf3d66efa7c61302cc5d1a352f21563e0ad3d6880daad7667f1f3a5d8c3d36c9a4dfeb54dbf56a668de84a8165ec611d90c2bbed187288562786f9e9f1ec96bc1d42d1d556d21d2909778acd1b2aec68a7a1396cb358739d8e4fafd96f3bcf818639aaab6586b67057ced3daf1a6181d044dccd3dfc4babdda042aec00562057d02635cd226a24d7866948d92f358e078dc4120dcbe76beb56498246ecd127fb58eca4b7142b3b66245454d7f6e7e535a1f69133f6b3f1d1860a32848fdae76552e1fa84e328ffe9a7a1a1d827c70e506a32d55dfc671e20041c6d68100f537ee56bdfd2aff9028a3c8a787cd1ea16e38e58d5e1f080b3c454c5cb3dc05f68ecb5177343ce0dfe0cb9d57d7629d8235a33ed510c675f56e158fdd24747626f91c1e6adc58fe729bde1d605afadd6f17bcef001c556cb3ad16b12c80b89ae6175c1a8fe1e62474994572b690f08f975a1c201f67c60d05d5ea274b1f3cc9fcdb8a8ef42d496170e6f99532497f116830855b70e0a39770dfd07d17ec14e422bed2539724e9618873d5d854104de0f6d24ff417b2d349f8b7167fe11a2ed45cf443043976041e3b474e4cb353af6d8cfea7adb1adddb68824d9d0b1ead5f7b5730bc002608ec93e49a754f3a710f25dda94c800b18ba9c2657a8ec75ecd2d425eac168d5bdd29dc3cc5b23f5597835b811dfb93fc3f70c47e3385b9fdeca5c1ae4e890b5cbbe10200f6c92540ed56c786f5adfd8f0eab307d1426e2ab0e74344ec6eb4d3aa42e63039567e63459b833e13f7c04fffaeac8393139c1d4acaf036a5d1ab9cc2bd78bf4c0a73bcd0141ab291ec5df4dbed0b1279f96ed8f5c9f26a582977543a9084e88bca55ce1401ce7db909e173324e1720dfaf700f7b6045446e2930dc4411197817edaf30d0f54744405ddb895aa32f66d2d47a48e312a4d941617e31def0c7c3b4770bf0f8bc3953c7bc35318909d1811cc4e3969c6be3ff2c1f4a479bd961a962a6aa2a4740df7b5bb70d54d0beb45a830bf911f336568e434e032e0093e4c7cdf92079c052c8c281730d22b316e0ebb06e4accc60f21a3fdfbdb79cc377f5909955f087b4dc9152b332ba0762731f1b43cfe4e00609c6c590e090748085406d2623bd74aba006c42792bab547f456e3d871fc68ef044f17c00f4ce727807270dc7a25e6fa45480ce5e59734cbd5f684e58ea36183439d6c56eb1031e57355372f90078ba0d9d095c88fbb51b7f386ad8d9c557a72073dc7a4351771e3c59e6283de439684d2b51361af9acc5c84c7b764ec00da84b7970e16423b2812a1edb64a9cd0f7306d0a354e16572f1c7e15dc5cefba3dfcd5cb9aea6d137f2ef6367cc091133e22672c42cc8316022dfcc91c6044c4cbe02a5292a6b1a0c606f3c12e67e30de3292f50dc54f11842cade0fc091f63ebf886c7e0a96bcb6ba1fe2d73f223286c603ef3470c1c16de95bbed5c13102c03dcee0cad1273991e2933a5f8aad7c7cf305b1072ac932f92cbe3acb775e54765f833862c9ebe03ce22cb548dedf7ec34d1ee0634df892f2661a0ed8dc85fea03a8dc15ace9947f2373ab76b3fbdd07f628bc2760fcf24c11390954b0c10885f2c0b016b51f987209e3816786333a95e62155acf75623d6ee8d181fc501391efe2880327e68395823f9d1569439ab31079abd5ef3782a05704660cbc3d347df24c44a250ca0d5d3399330395db2589a086cc47910419d8024c2378b000c0d547fafaeed24894a310bd04a64f97c3b8be88abcdef2e20a0c96ed11050d2f7baed8a3a0e1f69d6e852a4660a43fb02edda1d957bf4b0308e34aa0555119a31baa1428542bc76febf2d162070d45db766a36463b65e017ebccb4b0f14e78fffa8173322754c99a54b68f24eb50e0618641540dd96c0004a40521682fbcdaa192d39f5fbe2555e4dc8a029502e0236ce8d1b1afa716f45a7571e44e1834099140247ce3d70f8fb1a770a7997a074ae705583901a56e9cdba5c8897753527c792748b90554d51fe6d8aa008491c555ff2a2daad8860b9090daee2f410ad8dcf89dec8ea6fd62d64569ffb0e33675ed4c0a6d67ae55e8f3742a7439ab779c55eaa7eea0e045c6187aba9f1cac0c195d1a481ada2454bade476e8e1c7e843e35d8aced38f905bdd2bc0d0356a447d62cacff0666b0d26f461c7284a21efc3234d933b4cba88c34a9ac946e01e9f03551fdf67441218e44f59e25ac74d0ad69161eb08865895bb17c934496fb6ac78054ec9c96d2aa10e2a3523d1e93fee19477d982218ea17346aa9e23cbe5b723d11cf58cd747a61f4cce16c0dc9633591a7e0ed78e4929e78b9a74db47fd9c48be6e4b3e0307f1cf43c0e556ebf8838a0a16be15281cbc52dce873038ea2bdea9380fb9619d1d98f15402929aaeb9e368dd0938f57f009c315683751942a7e001e564f7d37351c537e49415ed7ca8fb675a6570ac5e2e302c9adbb55ab48ef133d961f920eb75c5124442db870219bcdc1ab3bdfe192bf6c9769a1aa724da71be05ece329499540f4ca7019a52d1f7b449ce8abeb0dfc08eed78f75d44d0bff8142549c5b90e5018d7f1ccedf9f588da67efcada87ea1ec8b7aefed86f2a7fc542c736de33c35eb653fc70b8efb5a02206d8baebe1f017ff3a7ff8e6b2730fa9b54edc6d7b4ef7b1f3b19ed7aca2176043a504677bca10eef3b4a7f71e54c173ff2a38a2e87ec15ee3708641ccc0fb82732b9335582bf985b30cbf8e0b8964e8f6dd6a6c3b1316e509c748142609dfe0b074bbbfec40aa83cde405e2bd64b6dc08a5e68cede0953bdc58073a38252471229909ce66de7dbe154cca547fb93280b54fda1f830cb606fac96e2d0a6615cf6bc4f8af2bc7b4c6db787fc3fb97de01fadc03e90a5a0e0b18387ec74c3c8e2220ece576e918bd11763c74ad81172ad6f2e02d6234cdc8c5d190525dd1707f656352927f40bb27fd740884341abc5eb3f92891dc7dec2ad2e26384c83c9f5a06088f6a9b473c334933f5059ac659981e3b2dbc29f31ba1724f4d2ecafe42f8c26b7a94469b4b90a4a75fc6b04372dc1718f91884386e341a323c6fddaa08599bf96a6e39d7636013c2a8c077832f78452b1abcb0f56051903553ec47a986f934b393bd6590b7d9e6a740253d0a230c03808e09b012d843af57c94a351d08523639ac44821690482e7ee878412e6ce460f71ac22d40736e022447f6a18648a09eb20fd9362196326b04d54f88f8ea2ab56a35b718f29b91cf380c6adfe1201ca3a3f87e7e80baf7b7ebd708c94f4d55a346e938c8d410a52607e27d0081518382d051968469540ff329e260bfbd1b4568dcca83643bf25c37ca78f7beea41cae583d7a6652c3f125b91f8f1eaf31b258bf5c99be991073001a4926dcc962fa40acaea83512d3e7b857f992a608d043dd530f65773fde924ca7feac4481b5e27cd249d5f4fc90085aeb650293a8414817e4629a79a82bb3861a167dce5419220122b622f7a0858eaaab77c410a76d8ea66af002e1bb083976182a951409402eaf6eeb2468d26c50859700f8af1da49738a3c2a37f4b753e6c5e803e258d6a0cd2cff34753f176b31513725cc1e385dbf6a5242da25e632b083a2440414d2f8476da9b60dae90e134172e3bd4aa70d0817c58ddfb635033cdd67e93d626f1bab21fdfc63bd48e3f74eb66d767090f0a8dabd43b5d2e7822c03d1649f428397ba8061215e905bd99f2a55e275d1d6a8ee4ad1bfca41f47d59b97115b37458effbc7e3b0699a3baa59d12e16b6dd0a873c8c5d2a529dc9cc03b218c5ae939212bce930cbb8cbcd23e2c05abc4e20d60034dbf393feac00ced205c0df9488d5b839686a0e6573ee5eaf834b0d696b4a1c6779c363a09a987d52c7638bd023c07baf271d814d55c2de7b91c9984a2cac88f7c131104948a8dab1e086024ce03ee4ed3031956b5a92bf1976a1ab13583bf621ca1a87a5a48b041bdc3484cebe3b90cfd1d1b5a45db0210c42447461e6e50c958c9b392e38f8891fcef8be15c211078c92e4f12af8631e0dad21ca4d9469a828a233bdc9afc9a6c3a54fb3de32626da7c7748073a424363d47416bf508189df74ed60bac1cd1c88d14fc160c65458a897c48bd0e74d937f6251eb0393f4158175579fd2562591b5c8ca42925a1c3f58decc9b3400530420a4fe7a9f2f31a275124acca17fae40e60a2af28db19ffc52d5f3bd8e6c82bd61af6045d1e8759e9f0febb16f474f9cde0827307eeec724d515520d4694f2889d523052da16b888335c6849ca5c3ecd2c791f17885b2218efcf4dc110cb1dbd62b19ed49f6af1de65d72bad9775f17e174a48843f5e5fafb26be2dcca547d7379e8771ec4529b47c1a948f871501afd9625fda97e122a60221fea77fd5cffc70bbfb8e359992895a1f212663eb775be51588eb95cfd518ab0f309c8d382d2db12d454f51f47776dac29000040b82002dc42dcf5c733dcdda9fee65d153b1b7d3d8c1e1d76785704670a7090239f73e5db75a52a3f857c3b83f2c91b265672679a228f185fab19cf06b24397bf2eb1afa045ed159cb8b4a8414d58897c9bcb3f0c3d3c175e38c433fb82c1047a441a00c2641acfaae6d6402d1e70ecb571230303bfe66f79e775b3473c514ac7868758e221989d5b309f30ed5b218ddd905129c4e55e7568eb7ce0d7591e5e95460239233ce4623822e608761fcdb541b1f5859bec749da1adbbdbad17b37f25dcd508162db3546321061ec95c5cef8efcaae5eac0c027cd46c7b9ea929c67f4a61d815f964c8d1e820c58ae9b80d8fd253a37a37bad19610bf3a0b7029b06da8800624dba124c03188788242b61fc385ea55ac6192fcb42bd86341c5c889c660242cb729e8900270f5c66c49102004979030ac32892d1c8826f0de5b73bf158125887d857dabd9f019cb4709776ada1bcf7027d3d62c72363160f3b40f1f12b95582470bb3286222f03aa7dabd4bfe4fc45de495e080853321eb007b9d07a6f1a4cddf3c6e5dccad6692333b73e29d2bf12550dc54a5ac5efcb45a87e4e4ad4289b8eb67ccad8313ad8b15de49ea545f5d0ed20237e13f9d248e6d6eee954488e74b72dfc94692efd839ee5633bdb745eff7b5b723ad514ff4849b3f7f925319164c8fc5b1f613865d95e417227b0f632e9caab4c38c9a4820360205a5c9d72358a37e6f3d620e1ab05b62784fafea664115ea5225ec2809fa21bf8fa134307cb9e3d1d4088818b7108e8801cb62d6ca2f873ed9ab03185a341d7f04d8776e029d8530566148a7af93ac356a19548836a93ca52bc7e046f83e1581fb3ea1840f8bb7abcdd65756c5af03efe398274ec75cd207bff636c4127ab0a4228d6e06899f54333a11c386aea76e66c8445eef4d4ab017e7aad28a00c801138245ffe505841ad66c65a9f0fd940b02772125ccbd42b1d823c2bf0707c72d0e70540b160750f9cdd1e61a19c1fba8e52d3d76aac7dad018168def6fed142647c2576319cb55bf55619689c3e7cde804731f8c66b406befa02ac2cda44881f28aaf78dc351e9f8920c7dcd34b34e8b31233d88acea0601c6e771ea6fdc17ae69f01eafe62e8839d799554a60565f123e65bd31ae1c76c57e7b30caebf93c28d6e984082e5e486c78ff5b32395474dcce30632ad1b5f69f18c9552bcd6a8559f2a9e32d3d616f8ae2123dfc324355cb64d3b71c2371fafc1528cc104fd2ff37dc00a4730631b91fd61d101ecab316c1cdbc19b664724e54b6fa07a3c30be4e55e33975a529b6fc68db3772fdba35391f31ba47ef20647d9d4b891239c71be676c04cb0fd94082c1cc8fd6b7e823c6966970a02a6f13893cb8bfe99829020265cdd58d8306553cfdaef380d91a9540af97126a730bd8a59b5d01c498f6917a5eaafb04407e0c24e8df86c0fb17911ed89d805ce4da9f5cc915c6d6d3270f6e8a52da5a70e482dfeec98594634b71d8a2a8baef7638bac386f7a24e86445cc52348bab6afb05a0e7bb2d51702ff9192cb181d9bb0d466cb629250d5876063913b84fc4b02ac7501e1afb5ddccbc0df91dbf00d1d9e22bc509336a7f7a0c703227776242f90d6856864ec1142e6db863fdf3931353cef504bcddce6836f111891dd4434e7a1df002201df9953ba8b40b6ec8856275249eb42b54a71757eb5ed3781305b7b900bd27ec13ed253c0c85813fedbd1a064522da9e25512e57023ae83197ded5e41aa401359a5b5f5a4c405b4b9eda5d937d9418aaae81f5565b22b573eab745bd8135d439ae0c9bb09ccb21c7647d7dd33572eeb0985682597783031d169b0d7c3bbb3148f8cecf2188bfa357a67678aec0b99f97c09b7eff9a44b1d582371249b720ec1fbc2dac00cbe5b3ebb5819ede28beb019f0a7d9c369d5279d047ebf7db2fe715b2c2c32e8517f82b0830c38071d85857c02f59198cf38bd196c8dc5c030f62a52f90a7719e9dea2238a7a94f3619e0c8f91aec7e68d4e937329302809ebd4e3eb37946c9f1260bf16d1134a0de9851c29a1d627d46fd2ff47b36dc8c6fce68e078352e56e7039da91d80a121a993a921765b0fc0b353dfafdeb8900d1f11155edb3201072f31e5f1230de33012cf7b337306aa6427e645c56670bd1f52a46675a805b93e0327780b4cc15a8c345ae7dd1a148bddf345f21d3e8620d627500c0e73ee5845598e38560768aed80bd53489c03c20156d9a2e83f9b2d7a70714ee41249303a9aa54acca52a75e2fc2efae982fb17d6849de8a01ab69029819edba849c60431ae5f706194e01d20bff35d0b4f9a3ae53ca4336112a12c7ad9d6aea853763935e8c32f3af177124ae5a7c9ef2bc0b5aa31c5fd0c9cea1ee08849ea0268747a99583422529bc49e3a03ff0b1290848708158f38f5e68adf8bb46c9b77fd215cf07a51d422a1e8600f5f4ddc8018d45ba0ebb22b19a07b09fbd5c54b46f416e4f9087eb27f6216781dbe3621db805f6d182f284ccaa32cf1bffb068a4fdf99d03f41e8fa950f11f65b69de83081f3e1ecaf5b9a0a8a8d6a53faac758db725167ceb62d9333c4cddadf892e67775de36c3553244a6d7d547c28efb20ec5c91539ec361939a337edca73f6794ac7a5f486feeb86ff4536be5ec31e577158d6e00f78f1e9cdf01f527a721280c50c064526377b7a419aaa391cc1d1e1f4d030119288519d1102c7c4558288712082a4151afd20aaf71f3e627783c7993d442346fbeb141cafdc67a2619eb2b1d9a35c783f7d15f38842bb10c6a65112ac9243f68f9bcf5f1198f24aa4305247b7b272fae6357fbbdd145bde96f36ca7940dba54f038bd97127b44145232724e12a58e68c0b5b74b61f0a2f4e06e607a0aeca39cf05054710974a25e2abc049f15d860890562945272138246a439318b1d646ec1a9f50273031610fe4da52d985c84787e7e410ec6d8179b4dfafe9df9aace64cbe9ebee5c581e560dc3e977f315e767132685e4d5dc9d32014d3dc068082a86511bb1ee4478192fcad654d381eecf8d4cc5421651dc6a07a96dec102eb2469802fde756523181bf323fdba46b683d75300980ad50a5423d704a664c3415f16c99adc0ee8dccd8d55f55cbbd7c27c0ccacf24c469fa90bcec9f15e38053b6394d4e18a19d44e64f4db156534df9fc9261d7cfee6d7d415b1cd0adb75975a3a80e8a463b1dcfeac9382dabe8ae8f3642db762e0404d29da70a9fe91314d4bb5f2400bbaf2c64e84c4fa9f53fb13d8eabf90a4e8891f1f2a1f6d87fcc44b76fd48cd9cf747356ec86ce66313b9ef1900a749c084c23e613fd60d1224d1619b1f2ccebb50b901cc564219d286d78728966f9992d743dfd35a578b8bc067bf1d9a4310bb11e6d70266a704df945cd2364d709dc272345963e0e2e0071319a20cc1ac44b9fe67a9e230c98944d3a7180111eb724fe5be123a1f37452ec660f0aef2be1073e70a2b059057b23ec8e4d651a449b6a6c233d5158a0302a8f2c7f9b1268512bcbff7a24caf64d2d512caa1a6807e9f0c3113972aa28c2f6cf0670cb9a396713a3da43daf0a12d4a7d11304623f11ab8e2c8706b6b59c2d1d2d1eeeffaf968050a9d11ee06ecc02a219872dbc4b6d3c39c696fdb78af9c5172c8c49aaf533c40b59499085d31687bdd22c427d6843d3409ab170c0e735d25d57074fcf84cb34f06e1704cc3809496762ddd727ebc16849d719ebc77a9fa951c7a8f56d19c66f102855965d16419a32948fe00f086492f0d6644c75b7ac361bc31828d0557abe8b2f31927c899d659f59ad46ec3c3bc34ec9c269a4b6d7a22e114296415dd56c52fe191a1c291daa9a2d7558fa52298e2c65222927ce9333904cc7800d4e4130e6423281c4705587bb0d0a6a17d186f4dbb477c30c52a9697ca001ce7e206088db66b52d211a8995c263b0b75c79bdb7379e387aa42f41b2adba04ec053100befd597371cbb1413d82bf55a7992b00c9d14e0b7b8c7a7a025b6578118a68800f2e37057707beb5afe512e2c01b062eba2c724d61b9a422edf577e53b5d26d6414c3a685020e1ccbe38406fa71061e9023d4f13adfeff00ddc33b97c6f939d4c840139d7bd17b463c119b119076ec1dce86d4fc711a6c7476f9cf6ae57a71043384fd227cf1fba5c462e7ff70c8a5baa77a7479b8f09444389441d9f0e87b877b742b48d621d68019526cf422fe73857580d6a8b43ee3a0fda5943742cfc4a81373e707dc59fedd568f5703fc8543d8f720fe221d4b40d7ac7b0bc73b7532f4ca949b0ec2875425196c03ef33bb511e2dbfa21a753bff0739649b165162698f580b441acb94df19efa877b524d336082616067c6c40d582e58007a63525eab92b59788227447cd49bd0d4f994b350a954612e0461bad2c2338ff3b94fa7e7f12fa1dbdd6e47e11d2143efd486909783a4144e5958788986ad42d00f29e3d210ca36c78bf09c72968a7d9eb81244afc2d900757fb4ad8e0049f347ad0f6fda1da093c4c78e75c76a2f8045cac927edef5ad1cf2e695e2910a280548066edd15593d51e57a2ef7fdeff8e29f1a412eec12b0db1f6fd31456723d0049d011a7674ebb291243cda9feac613cf2ac727b4dd1bdacecafc25c212265526c73467c65782c0a07fa28f8d5529f3c3c17fc56c1ef564bf36d5f43b3809433e289d3c6f1ae1d0bd39416b4d052b6c218b0157625e318ab6aa3265125cd72c53b0b2b388642da71104d1627b3c45ce281285fb92ea280e336f33810bb7b041c622fc65da2ac9638677d620721eded2e384762b020a3a7f281714d8e95b8c61911351a1ff8c2eccb96e6aaeefc3a86592dee4349da012f464d49e9252df243e4113ca58209e4cd4a11ac5fbe96e2d5035174d0f7603c0c4f09e59e03f9b85a2081c29a991ce83ac10c7f9bfebecc80531b159e3fd0ebea4ba3f0d5452c45d721b383902fb8588f37af691a268d270765578745778f2b0f501719578860a4a692c5887b8420a6892c407f8250b46fd12a6e6e3e9cbb50776f1a1524a0b51074db9dcd229701e05eacc124d4875981127f80516c63cd0acb1b19ef51ded2265ef7a640e60b9985709945e0fcb1ae9d29524f6b27acd4d98266e41eb5c4c151a6380066a963fc88760f7d82c5b7156084be55a3c04415462e25044b73e216ad4ef4b0309b98427a143d55b71130a44624091f495122537fdc1940479453ed86a5a6aa21cc9e3dcc0ff0326240d5e72e96d9f18817b58f87bfd1b751bf59b16b221e420157819e560dd1d7c309e41fdb2677f8c5e98bfb6e750a8f2a0a6d31910ee9a4273f8f4aa44ae2b5e00153cd6d565c4ccb37b96792a158318af83389924ac55efd3da1a413238d27fc119705b70bab9b8a47dbb79c75aeb0f74453bc521db45d5b7fe1bde4b8a9689c0d097dbba731e7b9123f17adeb14a34f7739252aaac738e09991ddde5ec9110492041a3e75fcfe0492f707f7258f0bc51265b13c7a01dd8260e87603deaa7e7a8a844a01d4be615ad34e5a64e597078499957aa046c94ec86432ec2d42dd2f2597051f4c36943756ae94612315330da6d8f7f6d4e4ac2ba5bcd62059fc12634e9a1f477aa5d0331de6ad80e0c5891c287e4bc96bfa4321b5ae384c50bfbfb49a22a26036bcd38acbf025431fa0d82e426577d081f19081d1f4a4451a39cab9be7c0e33480ff934a321b97f36f475758d4e452ea5fcc78259d1bc720074ebd691f4efbc2b9bca5c37dec1fefeb6f002516e2e80768f794337f616f1859b32b24a0cbc7238a86108b2c209a58837d26098bf1d04f1f658a5ef48d51f501a8c1ad036c4b82d4d3663db93a4fd8df8263c114a7d58da7a8ba05618e29d224d01fa9bf85706aac6d0f63260feaecac8d415854e8d770a1a0ccdc2db8ba760fcbd9aa2e0f22bfc81a26143ef4f63f38f1df69eb40dc3103f2d679e4d591b5e6bbf9fa07ebedc1a2c525e065a837c715bfa6043a4e4d668fcd9cf6e03038e2363a9f3812dd1cfbb99cd46e530653f83597d3b8663d17debb28296edf71a274e3e762ad1e3de6eb92846745ce9d70a9b7b1162fa784810d88864eb051c183360bc03d2ec59402440e2b5b0480b2ecbe248cf0366c7b7a7f0afb11f84e6a84d67e847c03449b3995ca37ed798ac426479f3ca378e570227fdbda2d5be7a25d82d5c836bf801c1b14787ba88c5a8f4029b1227a88ba26b51ab11555c9cc0001d8d0cd39599f770b577aaf8af2e054a0e0389112fc971b926d5369771ca947b3c3d6c93267bad5c0a1fc31c05e17a386be4b849947cdbd95491636e8f7adac55d643a91b38d5e7632f62b619da3af96e0a911c839d4707398d6a02862352a46adbc07b8eac7fc267f4c69351e298dc7785b66c1b8f8807485e90c416a73d152d20e4bcefeaddf383629510a3a7dccafebdee2ceb2b8665dc31b2a3c63b56e0154bb7eee62fe8961037636b1d3fecc1ac0a9567cd9a38386c781eb5aaf88d7f08b82e78bb3b34929d77f011cf0698f73888e0bb6b62f7cd999467e0d22c7f9a7eddccec16baca860780ed674468fe6a361d25cb3693f2db19ed48e13058e5cfd26381ad9946e57dfd9b7fb612c3566d2dd481eeaa7896b59abe8647eca91f88041fcd48a7b5c45ee8898f2e12e2a202c57c278b00122981fcb72c7679f263deb34080c84c6666237c9b146a33e6b3999c9fa05c5af6a16283a06c3e25fe248327ce20f214ad984061084a8b0556fb9ad4774ee21ea58cea25e7eb103a9e25ace99298ac8c795db038e599a44b642f0771a4f9b9f60ba912ca6c25810a474a0558c4bcbb59b12338e2bca5e289491e289d92b85ce1fd98ab09961b61ccfc1c24540ec231b3776553679150b06ca0921c00d57583539dfa3cd61276ab7529337afe8af3c50533cf4dcdd9a24bd0cd17ef84a746fe4134903ecddd2b578e780b884310fdbaab137d3bdddce507ba61206320ee74835d3769b7b832a80fdbd332401496904029fa912413a63eb1f5f9402fc330ae96a229d30d8ec796cea3cea327955001ad9493708db6202012792a7bf3968f046697b12a63d2c91826054e00d9449fd2063838446db6f0b5fde663dfb630127a48229cad20bf5f0405d4a15e66caa552e78d51889e9dd92b248902d8b16378be850d4846d729adcb5b8fd18ca99a95b09ee11f7178ddeb4067021f65c83e71b92823039d531aae9636f0c051c87b07ade162a3e0eb173ae50a761a19107254ebfc6e93230fde8afa46de00563c18042f92b4d3ff8ccbebb8b650401f793a85df5948c16fd40f79e54cbd95440a89fcb500ad0d00d7b1bf61883443f01cc012ceb12ea04b333ec8ba2db4a8d72bc11e0418ad74946a8ef4bac6f794ade305b75f9b00c40d342bbe0a07e54ee2f1a59a0f4a27b84050d6af13cbfb6f96d51416af3e05f78b25d1f8ad00f5476f6202b4b21ba60c45ebd1593ea4a288ed59ae04f72a35db7b783bb56524635dcad20f65d2787c001898334ca26ee8802a8a4b97a6b4aed1ed1bbc25f2d7e6e6b4a6216c3300596b82e9b948b727ae782b02aac2df665c5ba790c79bdde601bdba811cf3fad6c70f64416aab81015d236ba06bcf2a79063bb1c4902093b841e8ff65b476a50b90e324800d6fdd7b8ee1e109decf9e585bc17d90191769b9c9a311a67362857749022b41fb5ec63032791bc38033efb641de7348f5ac3d696ffa8fe125471115ad8290e0103010dac0804c8807aa3d08b74cd36212a87ab48a2d0aa9dc1362b9d9e83cc10327a9c02ba749d6fa58a02592ab5b890b085c6a400919571aebabdc7d677e40d5635293f27f954e6c70167a3a21df8f668ccaff178c1f8ed1157a8ca13ebee331fcd8a8b3c430009a5549aebb980abcf16e2a45239f24a9e5c3964c750d08777bf36d33d0875a60776cd79a3a0732a575b1dd49f57a3485748c7c012a6a57ea3c284e3f4e36519067445db0b107952498267895dce8c577e30d6932f1c473b4ccd923d6e9cd510506736df15f7e9b98eee6ded244ea512a012d86a3a8dfb2c0f6ae9e38d3998a7f452f212c8995c868522466dac6e7d7ed33128d87a8cf49d03bf472e497712370a7c29d48baa0615aa4098067bad1cc660dd20af2e3bec06b22cacdffd46ee1ca1e8410c333d35fd27bccfbcb2b632ee37e5045037d195d3b3d7983379df13b0455f311a7bc79e571a221e3807f921e9961b50258ae5e2467582523dc9c7fd88f09d07a803b74a48e9a72ee9682087a5971bbf55bfc035907a335eee7c10c50fe5defa50b5db73bdee55f4189fd4e1d7352b8caa025a606a8d4c283928a7bb4b1aa84251186ba320d42344bfaf965bb92a057dfa2069bf667abacc2e3b72d25d5782906014305bf5b43646f68366320bd732b6244add1ca216bce893e328f786286d6f7a8167b48a752380d074f27c78985cc47255bca98d824a1a9253b32cf3522ab6f8e7b894f51cd017ca22f50de1d6ed8f230ba5262b41a98fa7df674c42db9aeeb8e5cf3df9e8c7fb810cd1ebc77d062eba01249ad2d4a395fe45990ac1c94ccafd73acab9c3d014a14b688e1b2879ffc42fd920fc07315b9fab3748af51acea2c24f02fc22926e4a7952f2d17a6c36d433b92f56119ca6c3913a066175df1441187a5146434256a330a06a85d8105a612c878bba29806ccc5f27bfd0c19937726ca6a8d51988ad3084041cd65c5e88a36159f7d1c8932e367451f00663c42e695cfe20f676f681980d3c22950fdb21148b7499e048307e321ce5a43b79d863e539ed765d0f9f2306e39b4b467f438653a3e6337d343525642837122435d4feec925828174d21bd2e1d06e76f803b68de2e0fe82e40a031e92cde270b4883a9e1a743f20fda6b99a42e3cf1838226c0db020d9d1618907d2acdf3a0b5e27ec85f2877a4b57759f4189a5ef4d72ef43e73fbf2b0170b191e039e9c80da88a54abea9f594d280f6e29a683795001233ca511f217b1f89ec9da0d090e6d58319554c47e46fbd2c690ad7f08558c2ed68f56aa6c21559906a19df03990f1432ae0ffdebe8728c3696d685a3f627e6535bc5dc5c48835ad64d465d986c113b17a5014b32bc53f5db6796081f932d35058305322599cf24f6c8e3a69b288d3d047b2e1a92f810a6295dbec8b2253c36e60d0fea0013fec95db040f2d78a0bc0bc4e27362384daabea1c27d52111b42d525951d00fb5538b9c22b302ebc44b3caf5fa82cbf7050b906ef44c9e87bde12fa72577caded382a040e41a17441babd9c6bc0fba79f48808cd92306e3d9a5f2250b92f7aaf3e346bba68c611877dd4ac19e74c1f86d34046351aa23932b97fed55ce32b3fd378ed8b3378d4df68c18792a28d3c3276d9e8fee9c3d285a9a8f2fa4a8041d1c5cdf3e6d3f84298e5ff72c270d4da09398355804b9a5a52304380af8cca05d5cb664ab87a77cf9d7257e16ef96701557582f1c2b1309dae6669515585936f1821900db2bcae7054a6fea2da746733091078bdeaab78aad38e4f8e9f91ec65468b7ff51afbac4582bcef2979a96fcb6a4c82d01d230c75e78c4532b9b2212449d82a5c1b559e1882fba43add23d292d8e09906c32c21fdcc6be0934945a41a84381501cf42ed37b5253325576d408d20dc32562ae8448c47732786ed3369c33880b14c260a8883510153377645d1f7899332a94e2bb644bf246787cc9acc6f77b4dc08685584f9b3293911dc510164f0fc0a899b589496ec37b35c8ff4111f7b70e5d7d964f2930abd9191bb2e7cb76a241164e89c18f3e0c97c2f673d110e994479c24e980b9f4dac8ad5f53ed5f52778c96593932b64cfe5cd319e7c376de0ecc56b62a79bdfa487f9967999965d5b9d86832a8f0b2a71858f22263f784d2c04dfaa541b46444948ba2d0aeede2d58dcd3c57c8cb4c0a7ef30cab639540d8d894ad4c1e35a21d801cbb6f00fc0473e3d75091146edb69cac58f9bee1cc1bfdbead4a38f90924f3e48e72cf8dd4ee68dcb597924e39d508186e8b83628aac68429b53085ec203c386446b11e228051bf184ded882cc5e5fa802ca6dd00a2364aede23d68bb5e5b16ec06b6cd181b37709552cbbb193cd2871c2903beb37fdcc9aced4cfd97e63594e8d56173ea13f456bf2f3a26609436fe144dce5fad329094ce9a1c807de01b421e22e021f572dc1a52fec2a7ba12e1b53b2b8711e2d72374c246657f0c6084783a8d1cedb020b6b67afc0b21e8996a58b227fe4c45f9e01702fc1918d0712139a52c3a3d514507df51046a120d067fd9b0c1915f6ecab8125ed971a810606c5ee3cc3daf121434e16f7fb7b11cd6d5bae9a32ebe5df6ab60af16737650945176579169094fcebfb286231258c72a8ee6d5d2c93e0a6740afde12951cd53accb7ac95d462529bda953c1213175a52957850deebc09aa8cea7ae527afc0896ee91c0a2daa3cd9e5f330f32d34656cb58920387916108713480e20a06598a739a04bbfe1bd5c81dab4a636ee7c0ac506f99df190f95d4fad7d061013adb14c0342091ef2d853cdf91c0db6428ac8cf2c28f862959f5b2426af3799c4e0e05d91de2013fc57224f057961482084aec8431091216c41503f1ccfe44f0b8fb672934c9a06bc1558a7f1addfb14072b71078bfa4cc8ee9d265aeb4c9a2c026cdf79e02026521830dd5e35a42b915fc87a92b617472077f3624200b466bef813a62b6824f50dd155f41eb5dbf3f366a9689c27ddb3029d76adad430e0d72d0ff3b80f763456d1129a5aae4e837a8de2ece62eacca7142161050df62423389be34b9434290c5c2a7d9cc6ff6eed9a30dc5e7e3d94aa5ea77ee220b4e03a09aa95ac4b25b0514e8e1571db49841c29f4d4d14ba8b267ba1771e20c86d6534c3f0561ba86964ef17a820d52a8eebc4ec737741a9b6b5a5835e7062783f0b3c680dc66cf0e050d3acf9cd2f081f32cdb90eebf31817d25394a99dbb2c3024541e641c7b64e4d5c1173c9ca6b069f6937ff8c35813b38021f3d1f874c32a4feede2309638c776e99713e4fc8a78dabb376b58c14a75333b05608178232d5c114408572c352707a5f8947ce6c9be8374ef1565d7dc3f69bf395d7ad3e36c064c5c351640e540795f2403797f668b86f64b654c46e9668949a69469ae560b6a22e9ee388543e220be11641189aa2f5c8a0ac86be969d8ff9ebce57142f5fec4aac5a596be305985a507869caf3e2d0266585864a8ec00c5c6c0640d195ef38aa9da725c83770614852f249a522a581c4c8a6c8daefa27678061e5f7231f7c90c6f9e9928c0ca969b2ee4687fbf71f8d7290fa2b504d494ed854e29b05176eb40c23ac412239b0cd3a4422d49abf07d62d491cb47d4dae17a4ee3340f9d57b9962efcb4b928af06468dcc1e998834c6529ee6e7cd3860f205aabf8abc83a208908836a33a7f24bd9aac0424a9b2eb8990637414569dbbd97a4a2a7aae114e9e85158b01e34f722d8edec819e6cd25af7006cf99f2d01c01a26b45d1a4137e06a73262a76a1436fe229949fee3c1856e22590d3da02f5aa54e141fbe4ce053f935b67e7ed9c9dd77a32aeb0b73bd7d055f6bb9fdd50b07cd0acaf53f2a9288bd6483089fb19fa0f7f71cad8858d3b2c6ef6954dc29b93b27ba241f45dceafcd2d471637cd4d90b63d6ae8c8026582f95ab809b49c7151bb0a7ee160291c251be2b3db20de9d6981188ee791afa9d13ec460b2d7ee189a11bdd1682cdca14782296eca4eee2e72e1205bb4b5532ec5105c333f4ad97d8e4dfe19723a778aae540630788cf8e1aafe42a78d1bd47eaa316ca7dc1c6b2a208ad7dce6d2f41e4a5eb66ba698a574b00e9e40aa1eca1502ce23d5f985910995f3c04e7b67684726bac5b37bd27c9dc320e0ca17f455d47d46cd3dec58e913e21b28a4ea3849a82c0b5a0359c14dff753ca57f56f676f4a7e27acb708d5a5929ee581547252e605c4aa92d9be2d7aaac23b36c2b6d1b533f7c3045c763c86477bb7bb0de124fd91f162a4a77eba5ab510b8f7779422fbd47b68024f988174d1d76ff8282ddf0e3f8cec45680a0ec9584482766dfbd530a471be76b0cbc5da188816168c98fd6607d4491d471b87f9b11d762f472e4873b532824b15993d0575882f25c15980a50e96765da8568a23a789a9f6dbddb4323be0fadc82db84b064efd8dd9266b36dc8981b3188ca141229cb9fb2d51ddf23fc7294c6f278c1bce25be1e46cc61f905a297add47e805cef831b30d915c4b74ed663431ee7ca03842084a9f1f16426dce511759664ba44d32053f659daa7cd6b6549c2e8572c971008368e890c350da0d33c28cd951c2c061a71749f0b0faaaf029fba1643240991a9d2d681beeb4a1540bf1a4ab00f09804043b83171987fa4dfbf1659de577882d363693e743a8653dd073349cdb884526abd2e5940bc6aedd5a4e586de7dc02220f512fc876bf983b48833941dad3393bfa0a1325e5dfc20eff52dea4897cb5c4b46573a55bdb4a3e7032868821abb4e0cde81184cf0a6768ba0573fe26041153e2a43c710c65418227595e9f2559b17f20d8ee43a91a40c9b348594b2e4ca7e382aea406d3bb5522cb37a4b9f213720a63a2e142c7cc30f8c2ef0c91f250c3c94ccb06a6d2fe58e76abb9efc558b30c8dd0ff4240fb8e3f77e5fcc832f289f879348ed653f378a442a684ab27211e73a37cf516d84b834b77796b41f5521a86b3d4d0954035edf649ce8c9ae73b9b1171733445a5fc9ecafee414cff990ebc7350c71dfa647f9f4f605737aecf539e270601683cdf14f0d20464d4323a5ccb479cb91d128f1fc8d39a4eca6e0dc7c1a7e4ce2d6d2f7e7dd4f0d9dd691ed56142215360c81d11d841fece4015b37b6374da5f7382c10df93e4732d90ef121afd78a1dbde474d7ad02953d0921a97a2cdb46ad69806da7ccebd84f47d7a39d3a4faa2935a1d1a98a1e01a430f45a3a6be96aa55502fbc35b4a6f5daeba7f0bb42cba1f7faf0cf634a66213611295e48cac85744c77f137ef9eb65df3658973a5a47315e4ef4e5f190c65bb6cd17dbd99ef9a0d7825577a65870f8ba0ecb43ce626c684d7cd1e768a1b0d29bca1733d5516b318902b24b1180d723bef101ea615c2b44e6c028b937ec3d4d01c682940eb5ecdc2ceccca69cfbe8c60dc4dc97b0bd269cb56000379132219b9cf22988fe96dec64187401d8b68c98d3577485f9b822d996d6d7f56b82a118b983184cca796fd798150cb26dbfbe6b425bea38555d5fae5f244ba1a2adb539d8666820f58591765507065ab27a7bebec6d0e2212e3f90b6dba2fc7519f130e25f1872897754a83c0567b84760697ec1559e81b182e832ecb5d9bbfa7a075eddf2947ba87054d4cf99a5d22bac28938891e1f5ca468853019f13efc033d35d6f01e4d475094f3a93b7b2d9fc40cb100e8d33b55ff40051347ad9b201e7662f091bc6eee5645404774a6213ae656542510b0f302263454088dd387aa1719021098392a4a4f1e43d93c5935008f2aba953a01d5b73fa277071c40ac4649066ea151d9e842c3d10035704b2179c27ec4a3337ff549c33b37525422ddadc3820339b84c8d1d87cf8907d9ddb71ad030a40c792058f5c81bb4d5fa2291cc45f8dfebb670d0af794fdf8d7069f2f34819b7ade44accb920bc75fd8497692b85b944de0c1e623fcbb5645fd08a9212a14dc50fbc3ce85ae434a1a4ef219180a23160feacefbb99a9f667d90d0e0324f1ccc48068d291e18be0c7830f245a3bd393a9d7faee636ab59adf161c1dab922bd197366445325c722e761a29793cccb9c23e69efa41217bc8011290d862572b01830e28ab2fe35acca6e4799f509b287992f074f295d28e90b714ca484335ad7ad58d33c0f6cfce007e5e3a4b0a673f0dcac13fb4c2bb00690480ed0c9171431d9a088e2f8245c70438b20402318d67f1a08c31b5a0c7aef9f9fdd38c648f42f5b29e1847326433359577df2afc26994fe213c4fc96633d3d26f329e94d0364b81ac2e3ff24ee07f3e2d9b8c7d1f2fd195ed8c95ba98f4de660e9a056eb703b9ad3f441a624942a7e32d4301531ca2135621b02ec46a1c71c1b31b21e607b3885c874cfc800cb617b0a2ccb1771ae554f031fffd6e86b0555911247d597951f2c1b0c3e9d7b58bceb157fc29119bbe3d399a7bb29b8733e7c39f7f6345e07a119c84d036a3e835a43852a364a0fee49be4675cba29710f48b201a239bd4ee2b360518770548cc4ad8cd9f08796f893b6ab1999bd44e477ab5e2bfb43b3f54baa15901e24f7b92e10007b30da59cb26b3bca58ec58dab93103770d822c98a73aa93ae73e415fa8abc4d5c797c6e73028ea6873754a39374ed0ed8e5d6b78b9813f191ca8188540da7786ef03112f15fd9e4e7b058ce84af3e3ec8fc3ce8b7e4457eedfab6eabdd2e0160d32d0055a6cbed566e8967ee62389731371601a71e8206944ad2e4813c0cf19e8bf0241e048f64d1e4604ba236350bbe3bba354e55bd10cdcc2ad71f432f3f5b228421e5f52435e0b7bc8435f9a66ecb839575a78eedb2706271b17a9046605457df01f9effc6240a0ebc98308ff995622f713780fb806bbf48712ba45683a83b183c22baf326e7a5728a211ee8cc44cf15a03d278f09a3083af6b32126288f3dbfa068608ff533146b9384c31e0c01110bd20272a0f66dce929bbbac90a2cd68b14f66198630aa9109ceaae3bb34859ec8bedc0af5c9d8136115fc7af568aca960d263308cee213832c6fb9c9aae768244176dab4cc95c391b94c2fa6ad91c4ed7ad70953c2b116ceadcf6980061c366fc41389a23e34f2c8e0c4cb13b8ba66415c793036b01341befb7ca8e6cfe5af2eed58f105dc97c91059e9b8c705d421812b80237e8ade705c94bfaa40be8094e3ce2c17790526e1d339fba0983f40f98272704c98fc057d1d2d66f204d765049fd964f22256690f1a138f451aece46587d26c1f5198a9745ce2fbcfcd67db7b51706b74ab5507c3e43e5223c6fd394cda650276f1701fbf411c2894270936960bba40f1e4603b9ac69a061f57158685b257b92ace1ef48b31dafe907908e098cac9c33779911c736dc0db5824070c52ab06833d5fdb92965140c653dbd0e9befc4f8c85d19ba4537a7b51a5d237053fb4347c7e9a25ab7fd9a441ee99d3b479b5f29d0a110396fbd2c09491f4a68f9952414329e56e533acbe55b6019c195497db8e19e8a378602f7ee02225a9ef35ac24f4000c41655b955d4f5e5e7d5782fe3a0a8a12bef810ed5dc4ed7df2c291bc2288e803985778be38dd45219b391d4f1158a6a769c8a18c01d992290b8616ba4fdd59be02a6221fc86121a98f3bff601d01ef9b471e0a3126ae6238da2c514e6dd24dc37526697babd9b1d35958b4bd2b66af6665c6364c323f0fa38f5354b0bd28576f4e1f5655c44dbaabe1545f9ecbd5d5df1e6c4a94dc9e11beda8ede8cf3c8e37ad5c5a95fa659fdaccc8b131129f3f3884e468a589af315d7d8c818184db7bc9e07f43731eb0bbe97730db61f2249b96a3f4aab2343e0a0c1fa3352929785e0572098c60e0833c7d9b4bdd0b7e1712f0068054ed90603e21853a5b960f679c5440d6baa9a08189c686b7d0fa63663f0085143dda15fb2370ab8dd73f9e277bef8ea27dc940cbd33de5c366e4490d334f5b2009e80a9a2a3b59a2686ce26ebb90e5be6a919af2db11429885156b63f4505968ae1999f5d87a6c14eae64fcdef261e439874894f31ee95e7a2c05f9e600c1d0031edbbbd8359c63d8f4a180ab05a5f5b55510367c1209e33acce4b99b834eb2898a90fc657838ae59bc482825ee3f5862ddd6f8f9d7f3131ba741cdbdf3a57cc130fd08ef5d7bdc3dbee22084c78c1bfd7ef74a16e3ba6e634cf895900855739badc068c6b7efcce3f6d5a4e4a137eab29c11c722b024b33cb250c6e80d7cfe366ccf7bbbdb5d8f6438f69cc5da7e91f9ddd852b24ca3959af3bd2bef8620651336753dc49c1c48a042daa4e6b734072aeebe404f17de25a67a1ee881ccca3217ccaf8481bedc748e2c691bc3a06ffae3c454ecd9b4e31badc699ef8ecbdcace1984079193104e70e7ee8848fef6e2fa323b9dedddf608b8ffd68089b59d19a7c8e40bb00498e19dd6599c4e8d387130781f8894cde8d33f6ab505b0a2150b7474cb37afe0a14e9c038e37382077a77464370f5c1df75ba8450604b2cd4f3a504b21ead375b8a7f28d6a473e265f597baa973c750d4f0557f7afc14a37ca1e3fb300dcc363257bd81acded3921e28d09cbf9066d46c16d9184937b3f8ac184c359766c8b6c7947cdb081df694f7524f79f4da2acae34ebfbdbec0a9155273458f994045dffd29c56f8ff70cf1b3917296ba6d0cefd10a37c4a4c461ec593087b746d35387205b7aff41c46de699ebc55a1429bf2a115ef12298292febd6b26c7fb26aae42aa96900636e37ee0cdf1c21ef2fd22fb01433523164f352e5e36f304d8bdb8d0222f63acf889512b14084e9cee6e492d66f4d693db738e7b0d7b401a3e451e2a64c067cdf3cb426ff1dfc581cbcbbca4b69825784aea7c946162a4e2d04bb4fb755609d5657f6bbf0754581e160c0a57f3512a366a1aa2e131a32b1da933555bc608900966d0f160290f4404ed42235c8e3ebb2f6b4fcfb71e3e32ba7117ba4da665e2d8d2618f14b633f2f882e9b6419a1a443cfbf6c03d2e3ed44eca7f8c6feaa85c72620cc030cb077b7239f594d6eea206d1dd4946328663d481ba03b3645ea9dd9ffae95eab563b1e1d3a2361c46a87864184cd86503e905da197a76462e50df0d07af0f5d165bfb022abc97e65de8841c8fce44defeca1839f1c233ff688cbc31a512f8cb82fcbfb4440494fd5fa93ef1b33f428dca409ad970366d08eb95caf92ec5385c8608eb04bc35e4f9ab04bf11cda81961e76f121a8c02c103d8eb916eeeab983ae915aa68a93d0342d2f9edf1d1544dd3d709b1f3482255f9c1a367c3b143319b21fdf076a593ad8222dae03217bedc5484062668dffea52bf46c8a2134284beb3107ef66604e3928af01e36f048a03d26e0018cf308b91dad6f98b5299cf4be193842441a5b1fc0b7b771e4e0140e8b88a4983feb57d6f6aaa14b0b4855b260ca479fa17b34deb24c014acd1ac26179693b94355d5e9b0f9bf6edf5408fa0618d3c25a215270315ec544f5d6dd8a6870707691729c950e2db3828644a75572c2929bc2c54eefc757500e086eed2f576b33872e6390195f72e127ad1cc21395a3eba5669ba6f36f0a384eade08c33ae84de6c28a6cc92215c9e5dbb9e1a5616c464192e4bc956ece2d3b18660be198288de1b049a89273f11a0f1f7cd421fe4161536402f8029cadd2632f212a56a332e0ad210830c9038ad03f0acb12cb6200808107aa28c3976566ae2b33734fbf6f7d4c443203443480bb9a0c1fa31a9ec0a2599b5ffaf852f8fb1780f5cc874954a85a02c9bf117b8e6ca77f0424e74d31d253b1f372897025b25c26d75711c922a435fe66e729e352d66bebc48b7d2b8cebdcc2f3826139ff7ae05dcd87c258f406a22307f75dddc554fb8c9c855db6174bd469e5fd260217e3bb0d2e89d94d9f985c93e1ea4c53c4b90762598d2f4e1ebce8a0913c486bce04a3f3318d0952effee5793b36e9d81716850def6cdad2346ecebdb576751373d00cf06d9a207853429a1044d99520e3e73507790570a0f4aaa8dcfea6b123d5a4c4af4aa501908a0b98433efa607e90e41829ee15b202148637712b40d186a6617c56c2e3f9ce204e7560020b164ae0296a3c78d5a27b61ce3916b77a59059cf58c91ed29fca7226fdb1047e77b1da860e4aad7338f7eb69e9877262ded718cf2b0d7a770113882fda0cae5308981c429556049c90d8af206caea007e38b872386178a7b954077b8341957d24e6b70d2375e74ed65ee367816680197955fec8c726e0dcd91585a808a92d3dc8f5ed57a60f715282fae93fec7733b36e0e3e935b4d7f96f0f118855b6ce75630478b4bfab02b466f4317d739ea8b0b4842dcbe5c7bfc6937202c11888f8604e9fa3a0060740f7eeb266fa5377173142259fd95ba4d15511ceafaa973fa943d731b3e4b11c588934d699d7bfb1ad181d6435ab06e9d4932ae587c229b3cfbd7dbeb5b93aa6101e08d36bd0161fb63c64b37b730f0251488c88511bfa062d64416d64ed5b7d5ab3d94299b9be43a851f5a917740d048822a3b46b47c7d8728a0716e7be4749ad04b830c5fded2ad76d01b0d28243f32e1d385764d9f5685ea24819976e3e364d10fe6d0a3948bba6624fc606598adc2bc3ca0b754a8bbeb7a08cbe04267dc7cec6ad8dc0300c383991e5a9db87cd1e3cf1e019130d9e9e16536bf2845b40b6b0e0c12676049544ff95971fe306e8c4f5959b51b3b8b0e9383aedaecd442ec3f0350f085b2017d9b875648d90344fb7350f6aad28dfd543e6499321a17dd50bd618bb6255d2292df40f708ebe1ab1cb4f30ff632d2a6210ce0a5081517ea6ba2853defb5a6d4b8797ec1cf369b25f7220f3fd148da498c3556aa509d024d5edc1c0028f1bc8651d22553be84fb8569acf9a2c8314d2c31f4aa366ddcc8f1e867a4a52853e69f698389499acb540420f7d6087a607c3b14744661d1909e1061299284aee800ff483591f300ae7a0023e9ad153042506f5a8bbaec8334ef80054cc271711aeffa259a4c5570c82df4f1d6d5cdb465ec1bf67085737c105ee8094aba17479b67891146dc3f2b0097b75bcf885908d8c895c24895687f4aa7b569f4ae2b0e731d25a114e6f5248ab88b4661fc4b3c9e88492f4960b67a47b3dc6493459f29608ebcf224dcdf5b2c292ab9f9ad3d33320c6f16f2d8214203509a23e9e701419157b89010043f9d1715ab204828748a208cbfaafca4039210124dbddb1b7ed51da8e6745319fcaa6249996b7f84c61edb50fbda0e44d7f377ec7c82815b47a809025f967acae5b19663824348c4b02f6865fd2480fef78d5a3715a362138981b5fb7d70010ed32498e41eae6c7513a422b52637cafe927a463e33aa78f938f46c19463c6b65a3bd7e433814ad1773f7c28dc9cfe3e1741a63e536d42b0b7d9791470796f3ba69a1590897de50e43986f31bcf6a7de76b5209965ad1f5f8d82da9a6dbaf5e1336b6c3acab5caf0eb6d95e41957f83fa3596cf33784f7ad019e6fb0cd39a1aa3abe4e7b99d6a8f62f34cb0eb6d2e51f73f552ef9e68ca8c3d9c51f58ca319783b08bccfaa7e549a1f61bf7482e5fa915c788e385a9c540cbf2b8c7bdd0108ef34a3fd7b9779bbebb6c775ccaa0e2da6e97a5e41904364d4d443b5ac6b56b41f55608e32486c4611816c39707d5b8e42b89301a77c0f80d133a4e7eb7b02bb99682722d9c3f21ef6d7e009d58f5e7af5b2907b9b139e0471552ad3ed67b8027d930e82886c2cdd02ae79e017e36c566de96c2a6c909ad208d63a44d668d2669e90c7401f6e095801bf81b27123c84cc597a08952f11d20d8d6b1063fe814ccf01f0ef981ebebbc03a5620010997e308fc39e5138250343bbc477196899a4ce15fca1da90889caace8a9da1f3eeefc3814c9af12682609b55c813ca80be200a79a5bbf5a8337522ea5c2b25fbd08fb5adf33fb442e1cf64637f5284e0f59f831e732d1e9c6b15f56a5b8423f896153e668bca74ce19937f0c8078c937fae91c834c6dbad08a4556dc6169c68c224d4a991cb8265e2a5a77bd142565baf084683ef4508dd207177847b6adc929b14512ad366932b8e1c52b29363ff102fee5a259436ab8813816faa6b75305fbcc0212504db192ba3f1c05c7adb9a13ddbb4fe2eeecf6d191476288e3f73c21b6d2a9977aead3faf0feed3712fb551df65c087a33f8835d69fd3df8d5a3ef94756a351451e517d417056a47f56f5874acb0a577e3c27d90da78388bf618691fcab1b78edc923584dc6e668cfe843dc65e906d5231c6de634d899d62e7956c98fa8e9036f1b244ecb19c6ccef7c8f3b64f638027bbda0a8a6112023094bb6a4d26313e8ec17d83b52097b7882a9d88a6225935d126cda695ac2c914e5b2ae965f2e11f47dd3ca068665ddd2c2770df4468181b578bf713fe75a5536a7f577802b591c2297e32bcd2022658cda998d4d9bdae61bcb8708f8deb7420e2d4a1686e13084898a0c9f6334856861d2d75b9c119b86f3d0615363889a890e9bb845fc3a888ed1d9dbf390f6e39b9d9cf91f085abf22440dcdc9ff7e9b0266f58752cc236665b9166551664077786da32b7075e35eff9abaf04cd6cf61c0514eab7b919d002192439c784885146438ee3071cf4f7ec8f0d1ac827f66fb034c6a2d88ee2f08e51ab657d20721323f5bb627794e452b2ffbda38826700a15f87707c8047600800e3abc44299922c9c69d3016433c33eafb8571153d9b0ef83819383bef1e5b4792a4ae3225a3388c7a08180a8c6f71770ef07498261518ebefd5c4d4408bc20304ad49f35dab597b22310bc77fd288bf104138d9a7bfc7d2c3de4a3132f39039349781e2f4b537fe52beab3a89a95b8421cea5021ff62b7e07e0a46135c70a51c157bdd09416bd05afc17c57e297c7bcad45c228d78c75c55ce566352395ad52034288af878e5fa062fe30b1ae6d4dc2770cc90e9237906d90a7aa34472d9888a0bb00042ea1c91153fe4da1b15bcd504780dc283406f9d178aba7f032b4143ced8d8f5ba4b6de59c14c1b8c03f6846ef3b0ebe50624003c4f2607d74ecb1d2d55da07d912ca20b587ad3f6eec00d4735857a8227ebb343421557ca067b7ae06ce7dd1facb9b09400e4d5746ca28b0ef1a10c42adb4f5fcfeef2e0676896ce62917817f1051137d225923d615aeb615f978e4c33c588153f4013013f7bc06876792ae0917ea8035d3c72efb30acd2d5ab5b9df6e1b10006e43a1d811fe383ad461cb45fde1ec903184fcc536cda14e84b8c0a35803a0b36f95b97c11e557be36396b7d951feb7c4c98e8641dcad434ebf235c73de36c88ebea4b30a89c6ef26208595ddf66ac9a306977e9e58aead7bbaec8af7053984c66e80643514beebdb9aedf32df9f86231357db3574579c2ca5163787f1fecbb71924962f3c1a86263167f9450e863332962191b582bbeaa66511a9ce8fd498604328abecca159309e87a090a4d5dba91156f7058e60581a73dab833a7251081f3a080ef483b1c383b25550483d37d4740850df3efd64eed047983240cadac5a04c0bbda96505f1a8f84a103972666f542a1748c90f819344a2e12ca99eba72994d87ff246524d32101b72723ec576fd3e07a7d19461f8c031caef02b9a9ca647260696bd6e6828e3fd99e90146db4506cf8ee3bfc4708b6f272e607512240890b6fb4dcd7004da73ed1669f61e3e3f5e95f9cd0daf7836ad456bbd990b84afdadd971b2b377c260cab92ac8c718a5df91aa3b8af020bfcc5874521fea2fc4339b41355af56d4ec5eb1156c7a4566a0eacb57596348ec6b1e5d8cd61f85947bc99f4e6f91714f8d53be8965434aeb1a0eb11abf6d5debeb47829a1153b18f9a7bc11d73b894e25d1252279e964e29996bbc373639d4d313d5806afda87b7d61a228aa4a2d6c219d2579d7320dcb8702035c80ae4a0396b0be61e85a210255e8dc0f1d70801c66691c6127eb04dbb7b287ad9258718382419d33b74ae3118a9bb75c641c69827742fb5ed787f725cb8ac831f30636bf2c1286c00297f9172ae84d0f74596d75708394980918755bfd452b0120730f48f9656ba1448b63d152e5b4febb7fb8a93a77cd2098e7447a04d5abccccc1e81c3ff30347cc2cf84e64c68b328316b47905a24ea37e8fdfb20e5d60286cd883fd4f0403a0f4e4386ad50977f1dc04e190433fe767d526269bc73130beabc335506d8a812971783fd5c93e29fbf41ef554162383ad59a3a9becc1bc73bd33b5210c7571d299133a3b14b35db7c7f3c7e4af09f930461571b8fae8c4291e7360d4e37058967c9b4cc3804351d4f8023ca31e7a15a69f85bc32c6f1a802502380bcadef9b14f3bd640dd9d3ff4404f8941d311128ee1201e6aacc8327acf6e37bc861beb6b497cb6b8d6289bb95999313f999238cf827ec8cf8f5beeb440dca19fe9ae51f674834ee73f6fb0d3e23701897fb7733fb62eda8064facdfce34895de6c86622202ca19b13d4ebafc40f96409f58b737375b7c421f1ad42f29f199a28a107f724c56264aca76176f06f950e41867854d70485cea024f5b0bccadb1871e3851623e318b595cfd61f2d9bf9017e5a5f1c4189f9e1a52cc2cf70c225690a56edfdd1c606e2f93249c838fe879b4fbd108c9e9ef86c6d63f273d7e481602310b2edb8fa6da55e6002872d4320c474c4c15d4c12314422bc0dedc03a314c505b2114071b37c0836313d82627383a7176d7c57dd5a408ea83c9884b450e27caa11cc3eae26c9154df4d3e7a1ba599078fbcda330f3f456c16244137ddfe99f5eb5f5d2f0ca34ed369314e4856ec6b227f296019ccaeeceaca19ada319b87fac44aa6a5e91fa8e43956689e03f6df7827977d7a9c6f03dd93cbbb9650c5e062399e8037957081ecf217187aef5f424c7ca1fb0f7c387df89f5f1fc21c00b248e647406a344e77b33a43823d01e6e43f09e846cd11a20729a92d8f679efba4fcdd72996a9dedbb6f453cb5acde26af9890b1aa08a944da5d347863be6cdad894a17248b74b5252234da95da64b57752b87fae4d0853989d5307339dcfce40e997705344a12b562ad1dbb9119e98b388eadc55b7c74e3f9e424b55ebbbcff7ae26a852d82dbea20a05892b1029e82e205aa7cf6483c23d2fc80a885e30e14d3ffa8227f565621163dc742f79dae3b7084976bcbfceda33b8aaf098186a1d938ef7cd9b27e0e6846bcbf0073bf0f083f9f0705185d0ce7aa43111285146e24b91b88559de6ccf0c971958a449bba179b08fb80878d8784e57052787a8a3355d4166bc13b10e4e6770a100eb3de5c21e74977c21521dda5fea1b0b662e9e748ea2d9e8d3e9350fed21c828d3eeb926573477963f29bb4d35a0c722cc7bb2daf43e2c520cddd87b5fab921d2dc9b4d608b162a4674b6a2467829c8c282811a34cab2b14bd9ce4b31bfb112b1429cf7cfb91d9c3768d0b2c6f1b5ad94e81f406350fef3229691db5b0273ee68169db71bae3328f717ac8a348480ce13241e204b0ebfeb3c1bdb86d7d265b4848b921bbb10169297cff888d190fcee6b214326b9ec3a7156591446d195f81f47e83a2cc82ee60b326fa52a9e44c0f0a62af0c6c2a68d4774f491694df7822bcf74df4e57d9e7520d071d2c45c4a2698024241b25b7d1c037d7de212a5e9c847755492bf89d82bf6a08218d1a17fc714edc9db3e7cff742b7511a3cac0a03333d19da005d189b4402343d1ecaee9e5d285a0fab74c6b4d06bfd478b601864d59233a3d3f7fde287ae7e2bb7ca537d7cf5024481994214d7c38feed187da287bdf57a67283cd5291636953bb1cb2f91f1ed9a38360cc9d8a6466257be8f422bbb704b44b0544121d6700bd433087987cf32a45ff530a36d2c3cd0ebcca676b8cb64fd96427b40421b77c3e2775fecc80d183d59fc9167a840094d3f6fe3ecb92d82834c929917f2134100bece970eef471affb8e9c79b346a13ab8238bc744521e9911bf69dccad6ad00af56231325714c202c1d0f2a73a2db0e3a475807473e02118cbdd4507f94ad4ec1e8c9ec86e92b80dbe3391a5530f9f8422aa9ec81e14482e75c6041e613d53dcda98e629c4370a710b4b80cf7a0ea1f67788a6115a171c1d5142df7d76a8a44d0d78787ca151c256cad9aa208901123ab92064ef8ed75d23867b21e02e9d0288d5936103aa453bab764e1566354fde48043e82abe91aeca124182e2e2cebb03aa14fa138e18f4df78d6b29c346eb82c266af17cb826762b619394e230a3b86bb0e2a12d914248bdbe803cec16ceaa19feef2999b30e7bb0ff761e21e9e8eb3ebc05283f8b9eedd59456c00834fef0e87d4aabe45c8da4ff958ae58d7f72f33259d0c3186cde0a2123d8e4e6fff8eb536717218bcf00ae156568ba887b017bdc2fbd28b29c2f003ef57022338885142c4a063bc27325e473f5224c56be5e2a7fece767f59bdf373e660f9070df7f998cc54edccac2d9926092526bd18829326fb0a433e263577e6e74b3c97eab81d70fd3c6de990333083a0f680ca0374e37af17a70bbb93b505decfc317cbf251c9bfcf58b2d3f585964bceae16a346dfdcdd101f393966983f28274ea611c6668e23ac1591e4ded619b0c791ca4111a5cb0a03dd10eb16eadbb559349656945eb5393074b97bb8497476926a48e6d4fb4393e3ea2e9ed91abb81ca7596f0aeca999404fbf1f4cb1b75037f25328dd02754d628e426c0cc806f04c7c197e5898e05065f8c1de08309aae3fa056eb03c70e9ab385fde2622002ca499de66ca634946a8b2cefbe5003aaab9dae0e197270b55210244b254bd86cdbf3d753f5b7c72ca36d809a047ddcfc78762ba1b26ba8c50190b9aa97b48f5d40947448d69bb72cd38f6f2c16df74bbf9ef26cda4e4c93651b55844792db98f4ed9ba484f363f05f3579589c3de2cee34fe620bc26be317d0f5cec213557f572fc6d8872d13d0daf25821f941f3d7a93446603ad0b52baea607bf87908063914a3839499eea8d3b1112c8c7327d58d29b986f7a6c875befd211d94af750957b4bfbb4060f9a904108c01348ca2693c1d33b4c984d2cdf6f8ba8bc93c84616cbc3adbea64ac3727146a4b9d3c2587359dc5d2cdf9dda743d5991c37c3a140fb1e557883473eb5b319d0720126c5c9ebc8bbbe4955d3fbbb30ecfce34fb34951112ccccc1064fa8d5b340f7d7d73f43b1d2160bd2a290f26e54ed08ea147db04a66b96bfa914911f829b73f32ce08aa8d519f6f2675963360c739da1089fc048d7ac649a2027ad3dc36dd0a3c2af997f8bd420d6d02ba24362e95c36fc7319f0721656fe673bb2a3e9dc9493181125ebf3e39b5fe5aa002579324b9626ce4f5389843deb14315f8616cf5ee1ccda67789c0135e71cf6b62d578a4d7a6c38ca748c7c74b4a04b1df848674732904f1cb9753adf8d39c9137aa6f3c8544ea47973e9c90d69e285d811b05760233e94e94512a0babd7db49869b8bf9c68b2e64e69dc1026da4a3d682d217dacb190cdf7cc97934e1208642800ad2954a7b6038258e29acf6b64ea2e307993108d71bc3a094200d54d148ae1eb263a56b3251ca0105618dc7db6157759747617e618784d24c35da8f085182d5c663ca6a0e95e358ea27e3b4cd7a9897aa8e9ca874eca26b0986a3c7dae2306954cef4ce5bd91db48b9b495a0a96a9c1863a982de56e94a3c6b8d9d3daf70730834d04d36217289f98d8179dd88adcf78adcc89125697a53edcfdfccd72f4aff2e795cd1a8638e1ade474fb7f5e9614c1364f91d679c944865ac9f71abbe5d32ac90d177b1233fb825cf95dae7b32da84ce0ccb6f9d90d4b60fec2621a012df1ed5cfbb3d75d8ddac8c1efd2c742bc1db63f9bcfbbcc7b54827e8412492707e704dce3ebd3f5d783356bb6a5b9ad2eda247e2aafd88b702ac6615e9f21b143b764a0f1e5dde7e053bb3db138352be91944d5906c8689a0acc29420d611cffb22ad63b9d2e632868ba9e5b2d109da4b170a805db624385965df8a8751760f488a4cbdb8e8ab470fc2e125590a688a332abc5914bc331dd724878c1c98083594705881b6945fe2f59df4c4ef18138e2b5a69c1f6050547341328249adea139b37da9536d8467c847ae715f6836d51ce524fc6d60c01bfc973c7ea9d1f84dc7b54276dd1875fcdbdcd7059273f683b37ca49c81cd2cb389ba2e62489adf5c210f441b225d290a42300c41bcc588ce5e44a80e07e1b89f6310511d1dccdda482cdc9c3af451c2bd89a32740035e3054e8dbe93a73e7118a811a498dbbaedc3fed0229872bdf9552332af10fecbf0ab9c701326450c86e9e826155f251d84de6072460594888eaf038cb1da9a399f6c5d0d2af7678c3f66063079d7c4be5af9088292c680892b3d89ec03893267705a21ed447d483349a042db7108fe02270257874c4ff313e4696fe11631bc903b373f4fa0b8b00e433168fae6a888e9736416bd246823e62a2d69b07cb8968272bb96c25af71f851b96c88d46e79eeb776c55b95a5948803c976948164e322eddc05b829914135e656c479103db23fbc32a10053074a29c3a8eda383324b8d88aae7ec2453316d53d2015857cca388d3251065b3acd6c97329afc6c1febd2f676d521d0b08e45923ce72943c12a12ac38d689ffe34cfd826b5fec5bd451c7fb76ab040339165a75637db8ce89f4d998bd79eaa645089f83e73d0739dae4276760e58ebd98468afa6412f1ec56e3dbec230b4e018dc075f78f24d06c113a15b93ca137cb488c66b03bf29a13b0f2c27123f5395a3a056d9c6037585933b87e6cad2d2c8005a5ac36011f2f6b9fb9bb3a312a511cfe69597e96b56146ec8196fad74336f61cb2208ddea934b2054036dbd7172b185dcfe3b68471a06361a5f64578a5ef2915136078917b85e83cbaef2985841708dfba6f18b527ce669ee0bd8fd024429ee09ebb2e6f11ac45bad7f88f91a5db4294b0b7f2363718abd2db626d5304aa94dae375e2b48ad4b979089b9694bc007ab1f9fdd9723da15de3ccc92d3d8daec0a051c19b48b9a4e9630074366e2d19fb5de17c7dbdc3c253a86b5e399dbe557e4484154bd7ec76b1060da77c27c6774d30068df435713447f17a8fcf3e8552a976155f08e28dc56e174cc8f0cdca512da735e0b089e7a552ce6ae02e87cb7c18d403afae2d027f36589569592fbf24d65a235f54fb0b128d651738b545c5dbe46f8ff7ead5b0b945bf43e1aa38cc4f88284da1e45202726e6da27997a816d5015f7d24f527b59c53c7aa938a28b164eecbeff1fabdac684075ed76d38de5154027fdb4645f84ea9a3de7bfc9824f8fd9925bc29260f69d91fadc686e0315b6c835f4f69b1670a8df6acdd40c89e1e699370aa31e3058a3fa1d3e3e185fe6ed284267767f91575b7eea853f7fe4226b9143bb39539a9bef374ec162b1431c520c3ba9d32677aa55a0700798136b937e32b3a29ea63146d131cbb2ff562cae035f13a6c687d0bec42f1ade3ec04bdbaaa6cebabe18a152d86b2753d915e0804defcf76d195d69ea93690076d61aeaadf702b6101c30e7d8b70adc881c912401b73f66600389366665392d792a7f8714dc19157fc5335cc6ce6b2a1da35f251e39a0fcb4fd71cddde2ca5de5f2ce6fb8810c8de14c528ba45ec8be75b9266440069bb4cc8a794ea5483189086449e8e9f0bdae187014f0f146be6c35eadf97f9f22e852b72ef1b74dcfd38d2583a2c3904ac99c4f662df3e62ed85a9beaae72bb50e6cb2771c42f62ccf630bc9708e6acb4f05712729a3a61224407965914c85f732ad3ce340b3137c567a80ca3ac22a5437b9fc55e936ee679233bdfa4e16c7debb8a4be3e08aaeaa02c3e6d921ad8392e04536dae2683935292ee03064ab386b053389a2ffb929e27aab4543102fdab4f235b9da12116b35039f43b22322eac96ede01945f1dcf800962f8e9f8b6d93a1691d6af659989bbcee4b0a9f3431837dd958d09b904edf0d298bc8f1297ed9e37b5f989abc43734fdfd2b10780d3842aff76d3caa7c079cf52828d659c5f8f724677a825f8ce2b4e1525480fc9976edf0094c9a8ae1e64f00aea2d2b12266b6ddb6179d76ceebb5837efb7e2e05d2f24d61fb384f063bbd9d0b229141a37edf70db061232b41f9fda6ecb9fecc36db2e6e97a2545ed3b3f2878b00829c6354d5319d65de4145f66be5e4a5b405407d338a458013b631d8fe361fd7ba96b25e192345de3c4537dfa76e03e10d6c51dab5afd1d3a5a6a995c1436ff753346214c86d30ee82665ac9eb4c5da86d8125917b5b6027c20f9f114f15dce6005ba5faa68fa543617ea78b33dec77ccd5bf02e4afd30044643b24aa0603a434ba48baf6932144c090bdd9b97e0b700677bccf7ade5b7d0e5f7233a558e4b176009f6db49ad9fd7f7f7f304694250eb266a29e7c4575b32b44486eb7b841cab4b00b482270e48e2460204f54609a6e0f3eab282127f29bafdde88dbb2e1775c5e47115aeae4512e9e007d0885bab7850159559c56e141000e16a2d1b2adf28357d4413a275a5f919a5df585862af6b2b2d9ec6af5403d23341d6c3e55064367e42b07f149b4491c09ce976b413b8570b18330e6b1bd58b1974c9a5a45915d59f75413555f2835593b06a23994843c8a7514abbdb2146ac641352b26d1d802aac76c520bb55e0a8de868451224c8a9d73040476a8b24f3739af6b81eacf27e21326d1419449373162fda50db6e7d658d01454117d427c1c2f201c97de30c95b729e17c06d7bd90eaf7b55cf91eabbfb41679a6ae5c5c049a8f71f0ee5d6ed1645458c3dbf637b38abc76ba79322e3efaeec2f89fab4873da49776de5494be8271204df2a12f723f4c682946e8922335648bd0b3d632a4447c75980ff4884511e885ea4933f19855ad6a153c41ac30459c1dd0337ecefe645296f05531fea069b986666c864a4b48a9a77aab5f500eb30c03c90d47c16e3686226da08448e2ea96bfe1cea195ea28ddc87b1010f228d7442b7f6885e227a83c9b0854696dad8d39f5cb6f501dd06cfda08b4c98165a8a739667053f999b1a6607c3e37c62808dbf17229e25b54bbf82f2440b176b9e31ea9583bd0bc3525eadd7f6d5ac08af3794023e4fdc61a853cecd8bd5e75299c553b9281c5af95e551d624faad5ca63c29df74b8f5eb8950f62e394e27a74772f3d5ae5fc1d4039878005b0483f1f659129e615cf4d5b71b889974d200b562a44550327c0d25a8cbec0eca2be6780f67858f793b350806a0e85033cce93bc295a6b361db6857bff8c276d2a8a5ecf3cc5706757cf662fa28db5c9028ef1ea8c51ae203cb03422c9ca5fa9203653922befdac8c857c87d16eb758aa8c51c50527db981fb530c0ce7d0d82bab03823a6b2bf4c219b2cdda6fa6721c19c4ebb5fb042b0b832e7ed1775138fec2f13f9c15de0df17cb7c6c701bdf8d49730face97b0fe4a5a178e68dec2eaea345dbf94b036c6c721aa22171aafd4fcdce544fd8a77a5d0ffe4cfc3b5e198c5435a92fee7622692dc61aebfc1c5012e538a1aa81700f8c1a75ad6ad9929bb584b1ce3528b8621f5293ca13db3c17a610d745d13468efae75f4165fbe8f95fb3337b827c511154913519190b1db9cbc264c5bf21f06338f95f1903ba213bd555fea53dc0646f55f6b4a7dc4ec5bd8d4c92e2359b6c5e84eafc2ef1611238df8a4046e1ae5d144c811c6dd8f7d3537923bd8abe2f524c20a471ad977994bbf3e586ad411fbfaf43dc61a5a49a6dd7e71f274e2d6bda7947b9d869af0ba5317c5a6e4ee7ce22dcd9cc1fda6b3b7ca2628155ca4752be72d6a4c92e69952149b19a9db7a91635b546200098623c6b969f1e65fdc7bf239647a26321a84a3d87909ed69808602d8c05b1e305d49fdab47cbd21972876ff478a9a7b34c22f2a5da9f3028492788312e847c3d82d6af68f5d82976904073a123019a563e59a4c00a6f0d15c6f48b5ac99f6d8c970748e138ccadfe287b03bc8c0ef269907f9872c615d858d517eeeac7a7ec2b7a41cbfbe18a65d3c5bc0ce173c6685ab82dd8058607db1b324d2645787cc2abf310132147da26ee8342a6e2922ed830b7aedf37b0d0b9e6006cb7cea3662477acd6bebd97e3c2bab4cdd96e4c2b1feb71bc73ec2b3c3e4607a2dfd8608f82588bc878b69692f7d699120e63b427a3ca4a05377cbfec3446f71b24dc5eedd2d8c9b7b33daf360ddfda5bbd3d0d66c03a9750394359dab1ad2abe8806385aacf13c0626e18a60ab543fceee0e89e1d773ef4cf1ddfe76470ccb5865283230407f3f95d35d9b9893ee92150e9d503c84cf5fa6227418e1352ecf7fb85fb3c1ed6e2baa958d90c39d8b3c2104d59ef6ab21980078ccf27e6158220fce74d31e9450f81013947f66533f897773a636532910092a510e02eb8b6d7ead571002ab109d383e6de3286a91f6f32c34a2b02aeb48a70772fd49c947504bfdfa04a905734527049dfb75cdd44bca66d1af3270c4dad4f0add1b33b83b5a60416c8fa6cc75bb26386640515727236aa2277145da57c8925af1298b21baf10e5a3cfe9cae81306c92d560bd4579a42b40c5afd4481e1edaafa5846f269dcb31fec12ed7a22141809f79cce1268535a94bb8c5f2419b41189921fe4cb30af246c8830288d44ff42d67c66eb508d4b360df103c2f1283b536065c0e21397aacbba78ebf1d510057bcf917e0ff6aac5332fff1690d8d2989cbf6cb27107981009a30af3ae76b2a3cc98204936578563b40bd5aac1b7c77f126f49b98d821627c65cdd1b8872cb0b15b0bf44176ccabfc878727e4c61d12cfa55bfd4dd27db06541d4e589c98d661b84bba055ad1d4e382e9b14da6925e959222dbdea554fb4dbe11e62854ec326b66a9420f8fbbfd32fa4ecd8c2517ee9aa273c77f5c00702d23537ffb851a8857185ae01ec6dbbb287cf435d61c5c698b6ff0748dd1754f36e05c94f2d3ac92d414e9244867bb6fdc2ed0ab98533656d58e78a720ceb2ce2443c34fd4e0c776d708434e32b01f56d8a3466dbd4f2556b4eaa6b833a69a9b640eb7c88df3631ae6874c2c84436fc459d5e09a64b607c887c37c5247e2806b327e5e5197f7d10c0208aa8ec25925a056bf91c551228160a12f51093bb13bbbb132449a733f0f380fabd437ecee1a326636f7c0ee708290c80d36ef0dd44d01ce8904fd22ce142a3e23bd692bd05e7ad384acd39c2dd18fcddb1d86d16bde71f1d57469318e1aa7d13552d8dc79a3df2c3509d9657255de0839b432fc916d7e874a8be3e5fcfa41ac4c58add702e72538f87e8ca37d8aeedec03a70ddb56d6eebefa357e0ef2b69516dd7d9cf6732b4bd43f8d70d559cd63184f3396fa5040ed25ca2c83cbec8b5b839b2781ce7f58b2b22315c82c9842720c5dbf6aea39c96654695514818da39f33017a849ad477a5979e210b5c5ff65f8c0b4beb19be521912cb9adee92b251bf087568a3f0434aa177a228e46b0e119d54014735410a0f6025aae1f33bfcac27e4aa42412d4d5daf309cc42a15a2cd1cca5448a03e504557b056f7a6b62947c1816e709a8660144021118042520d3ef95021403927c74f4e65c2d3c365a04dff69a81de067815777dfeeebdc7a0b5aec5cf51e1b525c6fd9dbb3a5bc10262ad88f03d6f39749e6c1ceda282b2221b0cb4342f50cacf3dc7dfeb7755ce717981f4323ed877b8d8ee1d015b23d0eaf3659b5d716e58482cd86e449c8d3078617a4b2fb181138f21d9b69c552a420d26fcfb869887e73185c913791975e1f724af67c6c7f18bea2bcfd13124f57bf28c084489f71265489507682d079fad4c049c9d16a1bc73909cfaf693c39808f6eff7ad0b38964262ff6b0bba94a966fca725a85ac751cb5bf857e8d3b031f01723e92dc46401271f367c0b8fe53380a35421a2d9fb8c74529df2abd1c48212311ec42822a53388f1a0216bd4af0ceaa4e8b1c6c24b123e40a9113e95e7e23e3a5b926a99f175f5ed2b83a534d287e5288696b345f6c2ced0974c8e69c4a55922307fcc1de2bf42ca1622c4fc1eea740ef3580671d7e904328c69c9c942f39ed0edb534e2748cf1a4754c57f500a59ab42678e53223e719d9c1bdba021f7d5ffc118b58d1a9c93a8cefd1ed59beeea933d03800d51abef6719241086c030d74c2bccc9120d1423ba3aefe022dac4eef1348d5a22a79fee33fa8015371fc68f84dd3c49e7b7e8970e33ab39d07be3350a2d6576ae8797328fe8346291b9139b201951852480b904946a4fe45cb73e9a67ece3b168712cb5124854dc3ddc79770d3f1da3c3d096b4a2a1bb6f4732d571767998d10a2832a7481bc685643fd59a50a2195e77808326ede7291e61ee2b155610c8bf633f6c82fbcc395b71ec5b4e3e5535a5985938166cf14cf7e7cf23efd1dd5c3d79f8665f245fd6a19c6fae9f4435ebc705d3d026a43f578f16bc74eabaeb5d0eaf2a4f32712434e34fb77c59e94f023c354544b424763371d05deabfee4110b4c02ad54e40cab22e0759a943c377c4f2deca83d5eb0072dde7bded3a2f23bf856607dae6f4ba90afbc5d4c2dba6284237e627e1eea14117787352ec5e4a6d5334ea2ad8a0941e0d94f16f248ce492df356b4442e7dec51ce8781e4286cb96392fe297b16387e9fc773fee8a846a553575fca7eda7372f9d836ec99dce623d299c33a8e7739c0e71690c275203a0868e1f323704c32aace82934523afb6422a1a3df496e13752eea172615d67ba98d145e47f6819b9c8de537aa1c60d30bdc86482779a6bf27beed4fe5adc9d452c661ef2dbd36d3a603479992e77a79846b1a5d46acafa040f6b73a73a7efbc5433db10bd3a9b383ed77ab8b051f102cdebd498f4c0e0c8c0fc9a32abed0a76873bf2d5820c774b5df960d542577cd0a81df8d43f99a4ec7b11c1ad4d84a1127e7d0448ff37ad02f21bc94fa89310406695f7e0a8f397dbd7fa84971ef974423194a3dbbb1bcd940f2e7ce0fbfdf97945e8202d92e4c6b1d1b4d0fc820b157b637793608d7d083979ad7b7177e0caee1a770d8e19f088c9e4d489abe81c5b50eef0db79626dafaa72f70249100db4e43d5acd3f4e03b4d537867d87ee2c18b1263780549f691fe7b1974c2089526ca27606f6f04600adb50a0b2008804674cd1f458519fc18239b9ce0d58b45ed88cfb0f8f321472cc670373d4c4cec2dfe0f112c35d4ef2e8f2ce4840b75500eb93f902a6527e2a2a89da7b55733db7ad9b9cb3fa8bfd8f3c3ddac55d8be476cd1439ab1f8f37324d474c96740f4aa977df103433b9ea720f531fb606fb0146210525779c8622f78d59e87a24151c4117094c135c85151fb491d7c817737fb411822b8e397e0bfa3107c5868336f6d2b982de2591f142d98433cf0251e20eeefce3161e0fa86a02ec8b143857f29448f6156a827afd3345f8cff2103f1a7e96a764a603e12659b340079b0f076b77152f888e0e2d9f01c48a09c1a712667b6fd97cf3e8d95cf525e05acd87c17a79ba75fc104360edbe76d7b6bd6edb9e55e216139418f765d6a5ebfb52831301aeac5da52c8d9868c12ad87f9617bdbfe929497c640800fcaeba509611a4320cd0c0e74c0d7cef1b2c0be11d769ab33c874db222dfcd527df660a02459aa04c1a231254367202dea2a5098ec062731410ea2c8ce8566609bf84653e86baad1fc899540953ce64999d77d60a8999ad00158aeb0c94d823427cad76765936e167bba1759d5a422c04dac45bad33b8fa03d339389bee38d211f04f33344131b22745fc74c0c6a4e27cd3ba576d9bee07bb222925894970b9ebcfaf23e7d32734d72181c7a29ec0f74b5b2d73de30683d57f2711282d63da49e7b17bbc7f222a4168e66aad9f055278d16126e82c947fe7225bd2f2cb5aaef16d9733e3bf782a136e7d9090be2d6e7ce912cbd4535df45f9c5c2a50a629db79e70199e60487d5af124d1eecd6bbbb4a09961a0ab0bdc3e24de275f0af31a9b2e39debed7c61dd5772a0f6905fbc6274a4751d817e988d577a5e26e9a7678a76955b6d17c92ed5a8a98b3ef532f7bb438426f68ec60e1ede72ca14ce76c5792045df252a3c28a48814f8bc41078fc99e553a36db42226b44661ce778bc8183e5bd2e0d60afce3e6c1e55f61fd9393694acfe88e502946533b0141910dd46948d48484c0003dc5507d2171d977dac89e2aa28b962b51488c056802e9854aa2f8ca7ab3c9f0f8db02da569f704313eeb3106fd86887536afc13f7c4c6ad659ba28a5ea213316b1a2730e3a82ac7d5bcae7c3822417cad820cc41f8c3dcd2ca970da0ffba6d881db9638e2829796bdb28ebd65d4ea589183f50418bddd1dc63d63e3148808101260782ccbb1daae0e2c38e4113adb5b6780da3e06d873052f3dd0ad73065bbb392e6c31d0774fd8ec879a6f975cf0c759694143ecb06220e198ea106b63c3a98aa73570072098b175cf6d0017e23ab0245be228599545f73d37de64f88d80ec5dc1676f95bf8790cc482c21d90bd5e9ad7ea05f4932d6ff729df4133441a34fee633c82838b00644e49d1139bc2f656e9a41d2919ac93b78a28500148fc7ceb6a90ff36aec9c381ce9678f856887b3061c18ce9fc6e02ac9d0ee63640b4689382774cdf4331bc4638da1d79d1714ca707ea2726befd0161bc5e9d405e3c2ded355ce06ac7eda2417f019b1ca36c1926ec23114e5053f53d00ba89d3610ab11244800d5b00fc515b92078d9f602ad4268bf4cc94690a02c7815f8e823fc887109b853215848fd04b0c0b910cfbcb0415865ea3e45f876a77da29cc32b94e1f45296c66366d64821e76ec11a82f60ad118d9ac30d79c938b5f8c51d30d3636fa3842dcad274f074816db72ed483c3d34b7b9d0270169c9153a816c1b5abedb3431bc9c51069ccfa3fb5491be142e3abf3e13475ffac9822cd7f19b1f73f97221ba5860ea01570f9f9c2f0b244284c523bdf57a904c701532ce6b0ebab671981d677da5ea333086469d142c7ac1ef2146569a123e18a59ebed31e7eb7e7279dadf395229a71482a0a6b5eb46b83de5052c4b64764670a45abd7e5bfe526bf31cd0c5875c14b4d25f587c1ce559655eae776f347725d22db8e0040185e504498644e98195d9899b3faa93b4f7cbe5557fd7b043c3446fd48aea2a9901dcd94ee488e2c5ff60385a8e6930e5b42226a243055261c3297c70051895e3d84c148db4e501e06bc77917218ea04bef5dc699c7756080baba045795f3faff0e90533c106bca5b1032513f32c5e24ebce6e5613449aa80a8fc6172bea6496c0ff21cf4b6a8610fcb030feca4288130d9f8df74b78d27403f5659260793fcf59eec3d88b194ce977569fcbb1790831e74bb72043c4d431dfd27646741adb00347233354e5f00e23880617a22330e0195b2fa24c387c89539ccddaa87482d641acced4f74ab2d1b83e5e8107b74a5471003bd380458bab06acc47730c24d58c7c63fcd6c112f2e00f4c730503486ab4c86a7cb498e63c05a409bd1c99a5131228620a26ffc03c1623116e354e6e3290f2374ce398f9d2a10d8dcaa4c0ee0bfdd6458ff7c1eef21f99fc4ebb0cf537d444db5171512f76ae91cce2deb14cd2223aa3cc5cbd7a04e2efc8f2c28411cbd9f98931e7478532ec74cf0c273fc7c3feb9b111bc0ee267e31e9c880f2696e7bfd32352dc44925df7ee3c3db8b04e5ace89fea096128102dd322202e91a66e1f242945658a0cfb5bae7e714bf9fc237304df7ded47df76350ed9583ca42a4730a5701e54f9b471648063c210217bf7089742f137c00ff3a71f3dedd5bd4272b386406d28f253abaaff2b810d3c93e719420fad452ef5f92eeaa0a923b9c33b15ebc2c6351170ee17779160c4f146077a13fdb47c98cf85034427edfa3e060260a17b526c7e8e9ee84fa0df885b3870689a0069eee33bf7d31b5924905b031252afdb8e06e4a6244cc51c42d93c77fecfb620f3ee2e78211900b0ce7f34b56b95994c7124479dc84f0b67d2dcba0415a790a644874bd1cf4f28c794ff50cbe68bc88eff388a22dd5456a8b9489bc4f9af6fae6225a098e8941be20522c01d9be15bf9efbc7b78381dc37e8f8ea6a1f9704271db07980789f637cf1b1ed3e0a8dd3221220af393149574819e9210852835189e444582830128a7617b064e8f1d9a5f84ec17972c4386c5e0c2f657e98007cdb173dbf42f5cae35af082ca662912e0ab39ba9600610ad1f7f259788a333fe81178d11ac6bba673b7978acd4dae783d32bdb78e335a4dc53c4b144e820bc3c28f5ee601f886b9dc2c510beb908ce36777913914e4a1ec66a0af55852b6577df4b8c831999a236d67722a2c5ac32057aad154edf3619d467af2daaf36e2febda9c2365d643a1f79f07b00cb1c022c382dc8dd6b260a4f1b914afabcdde95592874352ead0e29a04764f1c9029b102a8b399efecb53ac4d81ca229e2663c3570cdfe2f7938dd80c09cd5dccfde0ec171d77fd37685a3bc704ca0465a064eb2f5df780bbb69bc2cd40ff8d2a2b3ab9449cca89fe96526cd9df7c757243993e34e704acdfd3ae4139bd65018b271bc29794b9fdda4d231e58f5546a18d1330fbe7ca80713ca01b375f1d41b7adf262feaa30a4c4892e462f89af969d55e3deb16fb75cbb4971b5d226e718eeb2f6120de4b5f78a33fef2b299744c7760c756896dc601cc8f258d9035293f1b934b122abae8bc22c9f2a275fb891f7f43683c88dfd356b1bce66e2926e3ed8d9c43cb631dc6e057808697f547a3598308d7be8c7412248871ac551d7fb0bec613443fb6c243e74122e8d5a9c13e446d4e8326c5481e9853157431501e7ae2f0e9c1d3c925e2a5ae4cbe872c0ef993ef95863091c0574fe04b38cca1dc756980641ea1de798e63ebd8e3f918b4896da7f0cbf9728b6f9ce90a52f2430bea98319f4206773dc6c6c02085e3f1ea707478e37a3089747f376a612929fad3ae897a86588e045ae453537701823c1a26c7669787787c48433423afd7b22c680dc2ebb3ae68d6de725f0aea1f47145350b2dee8e1c92ba8acc7995ad195c6bf488d5e393150eb22fe98a276d7fad2a413834329143fe1982860ee26f4809460d12526a5a5ea1545ec23eea8e82a1387ec1d3db0f6cb98e6e353af5199a4f1b06f02af9736c9bb8c2276d112f7c2e57d3591cc1c018e323bae626e6a44a2d2cb50b2f297a1f45287f7c4d2badb068e7d19d5d56b1cffb1c03b32380450ac97873aa48c9a68b98124745522f5cee1edce5e40ac0cba19e9401e0c1e00828bc8b20bc2cf28da8c9e5de8f99ddba509a06f1b2c1e4ee9028c8d336dacc07bf5fbf65a3e2040900a9543005b996c6e048c91bf3106ae7902cc54f878965ad1286b6f8c5aa30254372dbf1e052ae174a70a9b42b27ec644afeeadb2b7eef407f30c705917aeb80c5bb135f0d95ade9cacd58d12722027e03178c1f11cad943aad35e5728363bad5e920493d398e4e408e36c77413050a9b4985e6c5ff2492e393c2df205168001815be0d2675b2fc0d35f4f238e59eed1f0055acf47f36e424ca81d5a2a91c73c63f3bfff05e3395fe34e233d75e7d2ef1f815e78648fd9859430c71d7f968d6c808f827ee536f1e54f7e584aafe6f9100583e52e5677868c22e394748484adb2cb8265cf9faf6cd30fc91f0cfa2adae43baa29877eabf72110d46f76d345c9b5167ece057553189562f948e1ae54b657c40d4d887913bbb5da45b6d1abc16e13406e7d7cb4832508e21426c1de505b14cf9f34e83ea4ea5096923b3f5e133d4b2f6f64a320e55145f20d80db4c1a548200a4c5c40b5d0d57ab7fc896097776799247f509fdf6b3b2b39169930e771b19c8a766473cf803c2ecc55cf3c91910ef630bb3b44b06cb744ba62c03efc73bd58cfebcbf06953289b5f455980905cea2f7c49890eb0f46400b1aca81d845aa69546bef81409dc184d15716876f679e62c9a8fa849bc59dbacbe01c025851d2db3b7ddc0ebead931d69bf23186c74d933326262a1ddcfa89de891fc95cea9182bec22ced0badc67188912f661c284d7e142801d33a739759eb75f9e3bc11c9b5b6b04f7e5b972c2c4c698696ea844278e2b88f3f3ddc0f7fd542904689ca5dfe82699a4d9d015f3d913762ea0b829cd2bac89e1fd19da88570b47956cf3fbc0d9995357809e8ff0f4c2056499c01ba2bb2d04fa8e39ba94b1d595ec689937fe7b19a5add8ac5e92a8e96f9cfa768ffc453461e6de6718712ce9c8c1f1bd438473e9e212c86fcf229229be79c7ecbbb112a1fe678d45bd6083289979e6cd583f659f87e49c206a68a5689996f67a9291b990799a7f9f4103150c3fb78b3f60651e20bf5c1073201b7e9da31eb64d5e8b80af4a7f4bb275b7541f949f7f54841bb064f34bcceb28115b3f46bc083230219bcd5a537f65d1da5e9e913603f390b93d6ab30b5b36d1356cc5c6c85e485a51f1e11583637c83bb8fc3824af1a9d47f19eae856880c95e02a8211cace673217592171a56d6fdd79b6d083c160016546de549def6a5391447d4ac9078207b8520e196e341162e81c1b1d02fd89818f846b2cd7b148a82549acaa262feff9f7dd904a8a3f7c27d5f413f3861e12b8f2573998a2246ae7d6cfcdf4fb8e40dc87d99bf06934175fe00d7244927923f39cf4488e8e505fcd00d10e999a550937c4ec2006535386d32be6e7d857b9c62266021732ca7b0acdf890dfe378c7f7780b1375c57e667740dbe58feef6fcf97e1da57d305de4fde7843f3f0f2ea4a1b795eb710db67ff663cdeb1ddf0f001549338dcdeb9a4ad0a4894b97f63b8b516cc04bd3da7e3aeb112dbee1eff71b74c0e5f8e7b00abbb362de06191a8e89539b8675ba254c911f3202e64451b01f04a951c1317991fb9bf9539bb8dcf39f4ea3fb804dfd24e663132f531891e446b47196200d2e6ebc0a754cc440a44adc8f72754fafcd96c14fbe5b66cc68834d05e73b3a045bd589011b38eb528a145616935a4c1006e1951e0364ba674bac1ce594774e4470a604189b031feeb3b7c98191cbdd22c1300b822ea2f7356e1a63a6a438f24508c2aa006999a56499eae936d5ca1d7a2cd122dac5cea899810056265f4961e4643cf752afd86fc7ed9251678cae36ecaa1845d293c5331838823a64bf48ed8e70b0a253a3c96d605e19078fba00a6b4b9da2cc2af32188e9463a9c10c0c408c4ec9bff563b9733a550a7026d4f1b25b4a53e359aea470ae2e3e7cf2a421cfc593a8c89edfe1392917fb5e9f07e3aecda4e1e747deefaeff1a6dd6f9ebabc36488a3302ee50a6537315705d014ff9628b834ed69d57a8df4a44fc1352b4967f59580c00bfb471ea05baeb86fcf08b28850bcf5f2ef39ebad1dd8ccd1b6b7f3befcd1eeef843b1797d110b07b6e59d058806d64988b4832edd2d9ce36d9d1ce5d337a8ecc7c09c15fcf8ef1c8dc392289cebebeaa0a2df6b63aabd8966fe6fe56bb2ce86bd8697490f141901f864a391ddf569c60e1ba6f4e26170f8e25ac16df96a85d84e20ca1912d5ec34790ac14c5a03f162d3b5fd00fb61988cba20bc7ba0142ede8dbb4e3cf33ebaaa6373231d661bbccd6dd577a526398517ca19531dc7cbc311e645bcb2c14808d3717b66c440591fe5d4f5bd0ddc1a1893599a1f32b67c53a6b7fa85df2e151a513b6f63df83ca0a882c6880b58282406911f984f3355392a9cd5567816b4493f1c6f54de824e3424dd873942d3f737a7ecbaa203a82bf2b6ea577aeccd122d3147910d8678cdb6bad3765c7880f6519668b0621c5c36979d34df0da8d33cecfcd62cc8036711c24923808478015d92717655c763a03156a1f9d5796b11891be5d357848fab245240f08acb3560d1c1a19437cdf5e9bdc51f5a60ae4f4fca01d7f4db08cf23138c5d3779c52799bc4d041482586aacc0d9b3e98934f54f9059ab330d09536bec2bd997b3cc085a8ec3fadb598e3121d3b9e6de36dd3a14448965e232d278cad5892a25d61be2be68f3cf8a88d842c9d4276877f6aa44666776420c2fdc12aa93fd656e88f4dde6fb0ef36be185450c55fd5035d491a082fc8089b3eed9609dfde1b2625b60f39d58692ff5f9fb9506fed18d43404126c93ba4ee95bdf67112cad3589c8b2385ecc378d7c385f7c298552668c1966f8e00525426fc32d7a1c0d6629bf4cdb41db8a5a1dcf048cd4f7603441920d362bdaae8ec9c256fbfaf64c56d31e76e56279c885b7bd10f4631c7c791e2c33d565c2bcb7a1c4e68eb17f5ed745b18dd90be362c45b0f0fa9d28d2d3a1697ac5bd674d5da8b1a7385d06c61be017d8b01a9e76614f42b667c663043262bce963b74bb6e944efa7e539930fc3fdc49f9cb215e0c08739ac05cc5ac4fc81821821cf3598b7f892b11f8ec369e7a91e3fe9419df159c15987d8973f1d0e1e3539e7d80684993f590772c1c5f192a4d82c9759396bb7bf123901be65ed4551ee008ef0bc0eee07be09b31c382089e9ab6cc04fecdbe494d7c92f61b55ef7c4a107f5259a686c95a50edfe9641369e17934bea25071be5570798de7ab53666349d67efbe64c17a89ecb39087ca5c724a3770f1d7dca2999df682569cf435bb2554b535bf758a194f52b5014f4bec840e2821dad9b0b609ee2016a526267bd5848c5d6e1d6141776b3af68cd28285a623d54555e0e17301b4f3d298aaa1be5b8718194b99c8423c0ed428dba402dc035b1fafa122d36103d77938d3e0a5804ff2628c1745f7320de73ebc229cf83d377ef6d2d6ded6bdbf3804b579895c89a3c899c73e19acb11e9c1042d183b6d9b6a78f48d98057c391b2455760f25de07e38e0ba103f83ef25abaeae723e8dbc312f9b5f7e8795006d13f1f077fd6393c43e8ae33f4ac37a039837b55406bb33f75a7ba651d7d5f902a14436c813df24c10f5ced6365df6e5aa479a3c4f77ffa9b8bb37d77644b65fd607fe48783c0c703b2d0e4b6ef8614262a41104169b314bfbc5a3248b858b27eabc0ab27ee7b9414008295e3932ee7d7466822a9ab888b2dfd3dc64115bec36d96b18c0ce977df3fa6c25a18fc6c90b13b89ebf2c42cb8a19f7d0a1c2b153996dd631276ad946061ce479fb6c1fd52ffa38dc550e29ec2ebc5b85b2a5b8ed6219197d9534d29bfec28f6dee8b43b51bc1cf55b380c55e1be1a5e0f960fd55acceceea39f2bf11e989acfda4b5c4df619fc409ffa8f3bc5acd3cbea4bc3656150a1ad318a955673f064ec2888d8b44bb1c5df47bb2db16a7ea430c942f80781c5ee917dbe7fe9949c1888443ebc766c7d3393b3ca91411eb85cfc1b30522f260e68dcab64cddb947f75fbb48b0e01e061495d43a70a4a0e3745894a1810e9361134d5fb6a937a33cd24d50e1a4288ed7f59df205afe697a7349e35b8577e241e0decab48dc2d8841b4347da4ae5cdb6f90012bc4881cd48ada16516fe9cb57c9a28f1b5d373f50080c9719385331a4b497b3d1fa98d79437edec69d49214642dd0acc089835b5ff6544d1838a9ef38bc971f5f633f3271c2c9e0656286a6d6c88a31f059941a0ed413bd6814c23db7812339574dd8c70faee7426df75f918177d623c0fc2132beb20f2ee4688cf922c61981c07e3cd8dca174de11755f82351df5758dc802e7c24417c4252ad309cf7ef81625291bc03d3b8cc72590a40a4bbf146c39d8a5e7baa90319536ba29796a74eb40abf14969a9f1a6b03209358c6287a5bfc7e8d739364c40fe2394a6680bf2683078dae885061ef9cf8e85569ca528681d77e7fcbb9523b148f73c4b6a0c342f89b1b359ac21580076aa4b35948161dbea73f3155b29da10d7ade18b37211ee027c45537f0cd3d2306572bfface2da9fbb001632370a39e45e11cef7065797659bdc272398d462b74a5c96b15d97a53ff53ed19b8a5223962e600223261a19f0ed44377f2634b7aed1b56e371d04c0a0dc2be31029b2b75b0cb0b8608835061358150081daaabd95a78156e01b577e5e1a4406ec7d154155956e1ef0774f45de2d2b05ae6907439a3fed0ac46a3f350302c04fa1828da4842f4c627405dc9b56a331419a8b193ab1d437a45d48eb1f3b78ddfaf953bae5345f78b9b313210a29c5cac7175f75eae3dc8b2bd860ffabb1842bd28d7cc535ddf0b2eb584fabee36ada7db8db703c237822920dc1607a3d51f6c226c3b8a28da2db4e3361848b622c8f99fbf100b1290dac78b01f9933508f7d797ed6db7ae5077e7016f2221dbc4dbf8d497651522c4d0323654982fa4cbec1148343e6e7626a6969c7fa6bab497b63b6387ac3f4107570e880932c244b0c82e8601dfc619c426062f8a7dc8dcf743cbdcc07bee42f12c789906944e5e1a9540fa88ce392251069d8dcfe0fb7f1056795192b79f7911d577d79cca1485e5a2511bed50134c0b5035f0c4e48a4d3f9e258e888b67871404101c161c9e736bf73d31fe3909deb522ec433ce43969f6d793bf6503a311abfa6b0491877e5e68bc46c60e619bd6812de8b598fb7764e9af41a294d39924438d38355f59e8184d7918d97bce6c4194ad9be3ecd3145683fecaeb5b575563c91b1bfd1199e24e99aa04a55392656e0a8a1b9d9788691bb8aae798de839aea48917953dd0164e2111d913d06930e4bc0e2db92cd9f34ea7ee76a1a7eafb5ce8fd24e056a334cf68afcb4dfb7c90a7e1aa10643b4c8fa4f35e4b2d4674a9890ae47bdeba4d25b208cfacca510cb4b20e2738bc44b6f2de321a97d26bb9307ac322fa5dabaca33c0e47207961e9d43833fe7cd39a19ce3b06d8115c76a297c9ae648a5617109c6f066f4c48eaa9d7fb45c1ebde7d33dfc99c66a10d835b16457ea68c6fc34f91b04bbb0670df0601739c8b6fa2bdfc10e34dc952cc5be571930da38d31d0f0c6c8562d658c69e654c4f4e573f110093394b1db1c93b20ae1b51465da782296d00d3028e5421dfeb992f7c79250c788f162a3e0191618319b5aa60abc4c6546e370d731c6f8cb93d8059f81a670ecae6332a89e73e925b14dc7fb1106f5dc13128cce3ae62ba0ee34606e6c781745acdda8fb922509e45e604e44783ee665d68efca6dcf2139447e3d8944ec3ea2e3d1d453448695e774916705d03f3854962ce216e5dc080e407256fc6c6c8bbeb5e69b464aba79f5fa8ccbf3238454f9338ef2209cbe3663f34a1b2b168b69ff1333e26af6be57e6eae268360716d9fa918409207a516aced02d0513ebad6022bfaadd7636fdaa3289aa92aaec4e7eb624d6a7494b13def8e7aa6c2be4c681a770e123fc11b0b7330a56cc888eb4b074f0d399a7aa3363420d7f7750550218c49dd4cd6e5306de292bcf7c7bbdf64bb1aa4e908865300d90211bc603fafbc7630a74bdb82d540ecf6bd2df55e5a8f311cd07694dad6f557fa169a73e31700137c9d2bd788f4fc78150c5202aaf50faa1874f1243c81bbc664efe0e5d909aa73eb2ffe519d6eb3c0f413508c81d62b303f30ed28cc74d3145392f6530996910264083903e0491c9e9d86a255e7f1e8485fb548abb58acda05a646e429ea19516a5251f9e81cd270d8bc7dff2d59df83d594940f7583a9865961dbab6bfc369e5d9ade786877fed2f9515c966b630cf2d8e5c176899b7f6d7cf64ac861f32f3da9486c000504c0f3c0c819f3d40ca1bdb3305767487135ded6e7c8144da39f24d88fcd2721537537a0bb16eb29544b8f8b2ad74b218eda17715f584dc4a6a2c48490ffec5927d6cf2fbb96a6d3f11a8dc5d7c277a15fbd9414fcf925477595387b4068c3156e4319de0661bc00f5226ac3da7b222100a00ef64a88bed7c22cf110b2154b0028abe246fda420c8c8606e61eb5b877f6137ccf07226dbc1122168edbd98264174d002e5cf338913fec74c41f147b9e6211e46f40ab04de574d750ff1835f03baa1de8e0fefe51f91cad83c0b638e6c4c081302ea62b56c1a18d024c1c42ccb6075213207ce43c781535404eed20a56209ee700b0eb392c12e860ce041ff0b8f4ea7d5550dd3bea0409ef871c2e67dd845b4149fecb9b668c3c5af4e229f65470cee86ec1c9569b523b6253cce92b8757b6ecadb085d733ad695aba1e75de956675d167f897b8bf8ea2ec8913e27ec5b7370c47f187630602d51e097323832ef484612a791da0716742899edd9a1081d828d26e3761204998bf912dbcdbb1641617cf91ca86831a58d051eb1014cee5da54154e367b26b3d5fb3cb9c951934f303e71ca0af171773fbf7d4fb9867f46da1b76ffbd23ea045631c31e74becbaf3d2261f5fbb131a632eedc101606266c56d875a05da66d86ee3694af22823d97225c71996572089ae2c510e59519e47e94db7afd7cf9aa39f21a9d06a3aeb43f978f8595079db93b3bbd6994007c34e87bb9823b2d5104f7efc3466618c794138adc51ff0d7dfc62c96178ea859a98a199a7baadb7b079701f24113be08c6d44a272cc38e06e9ed808fb1ba0115783964d15bad976e150c5d7c937f6bed0fce51abda86203bc8d46f37148e9d7acdf3ea64a03b76bd52454e61c44d71b2a678587593a50043519cc4fb7a100dc05ac10dcc8d05a7d57a906748199b635da27283b638ee41ba3fcfeb1b541d75c5a6d51140e53e063f042fae1309983b3524e1d6d819a0bb0750f62cc4e7b86fe08a2be0e816a3bb6738b63233add05686572e4eca01471356137dbea931053f9fe85c724f22c5cf9eba342ebee32511c00994470040c36fcfb4cf3be44a0481ef9d75e7e711e67fe88e7d5865a7480691f1fe4abde44b5dbf7705fc5529929804493a7b72a567a8027365dd5702e8c4ceb9822bcfdb8673e0708dc6807b29a52ad8b5fe64c7029573eb310eee9f26d3ff96ece055cc132fad91f0802c7caf0e18e2773f108a0d34c28aae02f8b8824c584c58004748cec1f65aa87f701945bb2b9ac01ce846624e15ea371f18d5f8695e2735fef1bc19a7cbe2166df30b6137eb38d9c9ad0bf4357f93633fdd8a26bae26d92cf642387d951ca086d1e050410d7cf568402460f1880d50219594e5a781ae4d167133932f8b196e19efc4185c0ddbae3bd1f7df86f9291bc4604ddd80459ab0d2f4337e139061c353b84416a0be455b12ef27cb573e529ea1f627acc44c98014bc42202e9f385912a68e8f8eb34d7290c8554ac8ba3be72b26f7f30c5fb5ec6dc6c25186fbf0e0abeb37536aa430209a30bc62dec72877d9f963003963ad1bc3f32c991f1ac205eb4490e13e4355a67931e92d2e0db7c908dddf6e93808da52a142afb6d0878930f98633600d269de3bee7f3267b0a68cb009a42469164fa3c9001c9df813410bdec77f58394ce0c1882bd65c37c6fa70114bcc7bb3424b07e4b19e9780df1abf6d8746839fd8d9f58affe53598bf9e03a321d10003cf479c7f7cf214f412881e18eb14edd54f5389289086da5ab834c311a535bb54fca7a2bddc28c80bc4b88088c7b928e3cefcccf62fde6652dcfd1599c0bbef4003349656e76b8fd5b3e6c1bb3726760b0796aadda1b0ed03c9fd1882923f87a029f25ee8ec984686ef4523f3029854b2910474d8f46426e83c4a5c12415b137b2bd1836435cdfc459ad7a221db8479deb253db28d681707b1534688ccb372799bca1d1b4bddfd74b66560d0a4d02ac1694ddf73502353d234e40c5afcc1a8f94eb637895c41b87a1ef860d2d2df1f6f9d781c7427c9f7c1f6bca955be97a68c12c78852c71c8531e4a2430cae7d9e63133f0bade05bc6c1e085468a1f71099eb4f0edc0bfeb877e6d2eebfd222104c2600d3f7012b8dcd2c07540a8fa3e4da0da35d9ed84a0155aa948c35aef4df1547ca06f9a8eb47b6515de4eea010ee7fde84f07a61c38dc6d3d7110d0cc0dd78a2cf184360659e78b170a1fbb2d9d9ded3374e5940a58975357a9ac4820c5b59180f49e5cee7291dc706d51dd6a74fc9259a5f0a3d03e61cd49bfa42f12cbb4676d3548322b9c91a4d0caf616cbdb6e500d6e4fe7521a921cb205d11fc79aa0340f23be7285e47967c52f54a4939beff4fe6ea18ecf10c35d123dd922c6aad8d0420784796b75ae0af2e33ced9894fc00295a6d00825acbc0b4bf6ec262dbfc69c32f94fb234cf059cb1daa7c2614521c02ac346ab6b71827a74cc28034906990111254238ee2b50359f848fd1390a2c6832ac107b1c97d7c8368f5e1bd39297f90be846822f05e90e88f94af9f32d90ef8ac9d14202eae6a47e48e80b51c7de04fd644ed2581c17ecc4873060b7ca1bed244483df625fb96236637573249a0cb52b6feb06f75c685b430e11bb40974d5c8f82c39ea965f2587bbcc81703a6b4bde73e2a6594b82bf5b5a1347b6a069251c2f62ed33e89a5f1fb4b46de998bf7c06b3b913bc579349a6579086855c739465488355dba8e3588efd8d11375d65ea4c1447aa255d05790a1dd5ed3418d3b741b5dc3ed31cc8dc74b62db93273577e7ce90bb0a10a365c4af5b3f832ce3c5e64f38f1bc1ac9af7dcbb491f16377f0657f57e26fdbe251daf4630b9de7198fad8318900b838eb013595cc9c337c70335bd5dfa9f02ccb1ffa80db7b3cee55506867ad8c930f93631a0e5543cef23c00efd275de2358d68a64448048f8a2459c590b0a7173861fa56117a65efcc0c95485416e95859292b8ca000c446faa52215a22829c78125dbcd01db1066921e0cc8e0eca738548b096428b3927f50c50743665b8d534216da15ab08d504a580f9d42d393dd607bfc156f99c6835a170ada2f55583f5b4e2ece274d3c137bcfea8bc7620b82302cc247a550c4b67af27edb1c0f2ecd772a27301a060a5ca5e0bd1c8a4fb3627f0fbff6951c0b7646bad4fe16ccc3d33e91c36d1b7ef25832221826838509b8649e6deb86875eb20991b22e1192e24ef1a662f14f7c6a5f1868d1a9c21e40c6b538fbddab65d9499b2fa1c6832fd2fe5289417966c6a69e317fb3f89cfca6850ddce5884905bec25e1fa1a67ea0a09ad561a232459b7f688bfbebda0f4ddc8d152c90b4472d0ef41e700e2723ecaf63db554ee5e665afd2a26e332753fd9e0b1576f686bef2a12fd6beb039fd28ff0d56188ade61457dd9c85f5ead21b6d8245d0b9aefe1b3178b0d611b1f9f47b039d7ecabee9a342a8f471cf38cacb69d8816a7c5d58956a25973bc75e6492ff820867de5178c57f917d66f23405eb33284df8ace21651fd78be10299135d162c27f7ccf8ab8d42244342a731457145fda3537d61295480efbbed34ead7765d2449553057bb6bb6fdca8f8b4ba654d7cf9a9f1892f4d376e344832805335104114840146b721e77dd32fa202f03cdaf8cabb2db4637b0e5effb32db488d4128b112fe1c9f69056f840134c6908bdfe378984e581f3ee9b26e3cc5929888976d13f0cb88fbdc80767496612bdb196b48a65ac2514e1cfdb4f283feeba1c457ddb1dabc76815f7351f04432728286e2953ca0fcf52bf823be612811e1ed953be6cd9f4de40a3e3ea0ef8e0ae78fdf3cc579078ef6d35027df512e0ce5194b77d0f2440812a92f3c846ca8646dc8f5b71e9a1ff72b317c97d57bfc7a744fbd8b2d4880b4f788989801cfcab34b8b73904f78b2a8ac2368c6ee898cd10df23bd59832dec69b1e0284669cf91ada37c827919ce8e0339c2c7f5975190f8d94e58f92004a81db8f157e7574b6d079edc8292f912f02b0072d991c45ed6f79c1b4047051516fabe3d9401583c40996a3e3a1d48554678db9d9c271925142f01e4c88c47f44b880887b9e6c4a3270942c127b668e1b2e9b0c474cad6aa3dd34a222c9e90ff99a1670016529e0b5aeef608fa16eaf1c754547aa21a510433ffbb83005a02d0f960a8cb6d5349cd53a0b0a0148ef3b41bbdc4726fedb1347403f3d43cc4fac31d5efa00b5bd3386d562b625743dd65cf6b0355a92b2b531a74a70214cf4bb55e768c63c2cf742cad0a1ce7eedaeb453527e197622885142b593ce73b0f3e076e4ae0a5044e4c4b65eee9b7ab8492c680b434e928214f7b84a42763e0c5053a2a7afd5ca7c189569c0d4eae087840df50924ab5e77e4c9e078733eb4c998e994aa877777480347b53e0f93c0a4325fa62af7d4cb0ed11a8369698d006bdee68c071b1e5197a24ecdb87ea8f1fa06f48f3db73a5b4e8b4817dbb318d867b2afc90cd5a7887624809e2b5849a3325ed2afac124b381cad5a98861ce31e235d6a06373a14b4314ead53b1aeaea046fa5ee9a9d910aaddf4b3ce230113ae89ecb45634b4cdc03191e06acfba8b7357e0f0765a0e42be8479dfae8984e2a3dbc97cb29427122b5ab37fcb20ae825baa594d76715ded96ce8431b01ceab5896e32c51f56762b21ae8b0542d389ee2dff3c0d1cfebdca885ba0474ea0367f33d506b7766c571a495740a8f0d908ec253f1b817cdbeb4635706bf159fcbb6554bde7f7fc98860ba0e9724bc711cdb3a36c45f99aa128f5e55bc43fa88167f7818147853e0d97b8d3846ddf32442a30322d82713137448dfbb04801f95c515c65f261e25a6573a76b8a6aec10e03b43bd0227723ddc3fa63d29d6811bbf8465b2611966f3a8dc857cd2ac171f499cabf7dcdf4eb66584c8b5635c92b743e41ef745c73d128559e07ec3bf82dfd67ea4ffe21c70b48fab087f1b9375c5c602052c32d54d40d2262329242cb0cbba91e159cd1e93cf2b2bb2601b4e8f3de666299519841493c893c3656709c0790b19249950f59c0b05462bc0dd3acbde163664c1664faae02f5fc3cf2237f62ea86b487ef65f102fd8209b54a5211bebce082c0349645ce3daeb7c0cfa44ae4c07ecf7c505b00a0da14149980c879e4eb37b42c50517e64fb61be14b1cedb2b79bc6f3653868a7494eace86f7338067493fd7db3172b559ecbb7b9a4d41d38aa46e2b2bcdeadfce5cc954f7a5039e9e1212249a3b109559773527800fa8df635e5b188a75cebc8bf167273b68232230d0129dfec89be6e5cd11118f205d6aced8a05e3b12f37671e73af8f84cc2cc2646d927d21151f3c7cef7414121808445f66c3d5a03d2d48d1e509d7eff183bfcb1245d557272bd978de86ff618b2b04a634a6cada617e783aa9278f3cd651d1d002d577ab22aca9233cdf20e538000a032540f7fbe956cd4e86a0312d193a49b6a2e9512e84a7d4226ad935889f93be28bd299ad225c433f03dd880f991a4375f597bcf02fe807d317df943bcc98843a038898260a9ec25cde3815b97956c022f6a3eeb6919f618b1ba3d12beeda703c830a937831dc98244fa3b08c3eea407df32dda5990900bea68030b8743a2b4f4b0ba490e3f6e4ccbfd4ebf481aee6b7df893d1c46183e62a83e449e066a8fc206448efe2b53054015382230d8167ffec0052bbe9f164cb426f626ca0715b5cc39ddabd5dc5288946d8a6b2a787b6af0169c939df31976f417a18dfd698cdcc33b3fa109a3d985189eeeeec86a9240e549d5368f11df2965c65e0c42a0d9834dc8294eada2e129f1cb042bbe1baa498cbc1901a8ab017a0165d13ab9bc7d19d9ff1a70aa386ca4d37400bdd1e8858468a0c776cf54475a497e075be729cea663d006dc160a2982bf237ab8511413fef497a8fc48b19f070b57da99460c641c78009e9528bb9f8e9793c0fd1c6d6440739fad0fd38fda3a5df7746699f93dc69f2086d57da53c1ea7145a54158dace1da0a78b262bd79dcef85df8aa5675bb12ed5263018d03a82b48a6e487fc1af31e243ce265520c774c565b0a4819350042747c8cdaa4f0a3553f181b96073cff704585f8099fde113f88b303973e5fbdf2529f832dab8ec0d47adaaaacb2fdc4bf49a242b242c8d8d809d21aeac8d0a1d7cbc33bdece868cd2e2307c18b67c2550f35365ce00e7e07ef4dc50317f89d084fcc1ea1c5a3a64847bcd3e22115e698f9b36abee6b70c9b35c65516682032121df0c4e2d4f97213bac3c33470704bc1c897a069ad92b72dce43ff2dbc4500f8742661206e677e091e16a4f2cfb26c7c24d7c39e96d9ba9ba927ebc23495fab1083c375ccd3dceaa6a868148481807a054715152f3199759938c1895dcbfa7c72b510828bc2ce579f780f35d8a16734581f33556f2618403bd484b689d371faf9dba1a4f2908a1c9b9e6932cd0e42390c3aa1d1893cd88e5a52c879aea6cce832c168972bed36ad0189876540362539b50999462102b5aa305d5a1dc630c43cf868e5f936229fb360d72f76cbe395f609b68aa21343cbe81a84edc3ae5114d6dd2087c3dc9b17df8fde0b0f9ba117cf3a4e21e8ec7dbba0c63e7777244a1585978ee2f140452658a6378c0cdb96ecc23d0b459298fcdd872302fa8a88b9d51fa29f9f0600914775940a4a3d53183a4c7a4e1d3e72a6850dc3a26e4c63e2b36c74da6cae8670ba10ec0b1c7e2f833210a51e36af3fe798ecf641c3ed0e5c813991b69ffbeacda82ed4d2d00f2f63da740046c07a6d8522a29240e4356c060469f60980268347cc2a2084c5e095a829ab9343fc2579fdd58ec58106fcc43ee1571bb4dc451ab33153b1a66cef4e9a37138d91e42e07428de78d2b3b0cb9e5e712e4ce129801e9ad26440a74239f9db711c457341a25221b81bb2d3007e8706022a9886843e40dd87edd90eed8be204cc4a702a7f375f7ac878add574e61db53b4ee8ca9433d31738548012ed5437fbd0dd231647f4307329178b8247604a81fde699d077c3eb007a0b04320e249a437f9b64a18565084b0c57705f85bd5c458e959e348652ac206b2a4ce33b908e2ad2a4bb283d2f12bffc20254852b2ac2b28f20075ccea352f8112bc939702c64bfcd58adf044916aabccb07d6f97f10050626f19f5f566b2c6ac3bae47ec6630f7144368d3743934a15b36178380ed9af6206c48c87bd919444aa884bfd6a9f7edc88ab5b6a80933e61da61513d1e48c4ba44ebda3d2a0fc65e29bdf8b4f071228b5233b4e6ff46ae39d07e53727eb08c1b0ab2642ba691c57eb0aadbdc61e661cc7633727f1bbfe58d0f1bb209dd1627e418ef3a7b2efb01c6f70d075a60ff1a127bef82c53a6e30f93507ae10d40473301b2bb167721a15717a79feb44212c0499132e91a96c786129da04a79b4cb937045196e203431d2f3e740aa0353f8479b8aeb618150ab3618563b5a9e3a1115f338f25196899a96762a6be31f5c36082d84f59710db27221f0284c34830627ce369a572bd17f11ac357e6a9f3be330404ca9c8ef88b9639ef425834c885ef6c112c8e9e9ffb6dfd56880dade69a59d91bae90ceff7d51a0b2feda1e69b139ba59b19327cdaaf20a7148c8f8ced03f16c262f417fd76768917fad1affbbfc68b7796b16fb78dfa1e07c75724f4a2c9becee593e181fea5e42840bc77f579a853c005acb2328acd502d6ac08c84f0e64c7e26e90fa2a06597b48a288086312941addaf268150c424082f3faeeaf6881add3a071ac605f8de31032c50bd41953e4ec9aae180ec6e76144032a4e23be290f104cd2cf67db809561dcdb1889971a7a5603101f4a1a4f45e160e8308c44a579fa2d503e50027a7a67087c91ac9b9be449e5e9e0427aa4a18187c6b916bc5fc1def6025fbdc5f0d47a2400452a32f1cfe5052a8a40b7d2a6accebbf1ac580b4f61822250d3dd6457b94a599eb55ef7989bbbb91c6344d66c543d1cb95775dc51f68bcd23a898331582fc6a115c50f1888ad2ab9cc75f06b8a423b72d59ce1753178d2e627d21267eb7e1314dc34b5c0c7fd6dbdf8f6a05fd97a5da6dbe81d235cc0a3289961ae12c463cd155ddfd098abb00251142205ce6efcb90fb76a7b6ea01148480a84a95043e56216c5703cef7cc773ac5487d4a961b9d832b68405aeb4f98938d16334d7265a31aded068d8161ce59aad18c45eeee5b9129725e5e42fbddaa87048013cd0085bb08cb2a37ac22ae012f878930db6d28a53357ac504efb66e1ecfe1c3a71583f0536d99f12d6b2813f2097fba5c02668bc996f2ebbe5678595ae7bc02698d72cb4a81485b27d928cbaae174852309e4dbe447745b45b488fe31a3386ca0b58bb68ca227356bafa7530143eeb00d972a23a6c8d5042f4bca9c38c081b6de8820054610b94a3d262acebd3f1bbcf43d2baeb83a802951bce26c3090c70b8a0b5726895bae1976d798900cd5303ed15acbebe1a533d228eb6b384041a45354aabe25857c59118af2c9dd1eb3bdc1e30dff8641a759359c5482066cd9dc83e7e611fcf948eca3f96e98744ae99564844f9c7c876f9ba0a6bb4ddc7932f470314ccc68a6d2800742aa2e89feebe6f194d78e9084502e518dd7b289a6b718acec9e279e5278aee52c223646a8eb2d5f0e3ab648587e7da849152b60c3210408123d572b7c7e60d5970ba65b34aa673531e97573e15d31a9d6e31b5e946b1b21438ecc035b344364aa08ba1d2c9ee684390d1c84a77d3005bae44165db1486b947c0aa7390427c07924a990b52eecbbdaac94c2b62ea6e3b0198660e0ca4a996a24f214e1d43a4747819fcb98230be2355542dd38a7256e60f71f85756d6421000061b82002dc42dcede164b8bb53fdcd75b0c9ceff29b3e02a7a6351773e3ac2d9cae329a514b926e23328c8a500d9d12cb37208b5f5334323f7c39ff7a180bb5fd4c3131fd941655b7d82870e680945ab314b61591c169c3ae627990d6ab62f7e3dc380e41b80bbbbb13d64ae28d1596c0567b597b45e19394ddb2a43d6e914f839461eb435e2cf11b7a3690d393732893240fba165112d0f0c97eaa5a60779d3d524bb4275c804bc7478daa1c58dae854e47a47cd2bb19e26145ddd93ef30ca1a364b3bdb173868468e0dfbe40c3b1f1b9e12802c98415f4e53928e8f864f0ede037ca4807781af00361f79bd9722e23fe87f170d39c863b2c4900890bfebefee2e964db26cd6bf887d88d6a2f728749703b4f172b28da6e2671c078c45b00f3c32ed1eab419bbd1039794873727fc26bdddfb46ee7e9af20951f3ba3a7d48e03570ea2143fc94758db9dd2d696c224ecc33692863d59e2414a854870c2ba3fb9360abdb25d13ce585fb6f657c4d5c13ea28e8c7aa74b0e07a98d057351c494c2d8e0fa94b2f57d63500e45fc12a1ea121c98969b76e5d55e8d525f63c37d2d57335fdd84dbf985033602b90ed7c55be11c57cfb76ec7ef1925da1174d1a3fa7b1fc1eb0b9b82db216da17cac0a13166217765f531841d89204d7a1c156562722f875ebd1429e507ee542ad28c9dfd4ac7d2ab9dc7bb43e250139ed0786a3c3befdd194a0441e006f1dc96dd80daddc12062047638297d5e7be8041c74a3bfcb075d91707557739914912a1771caecc20d96242a66d6e07ea64a6e10c2465082b00d65e2aea3bc7a7cd092f721c9fe2cf78fa9fa36b9c6afe9eeca3b295c1ec3c5241f336a4935d63daa7ccef9551fa2921b6a9ce00ce6c11c4cc65126f2f3e8ca3dd2208d7939b2278062db22dbbba9f3d8f28b87503b44a69ebe3e26c3fc2cf782e945c7d056014d3dd9eb76a61bb523831d3566f508a62238c606a695f16f82cd85f1b237d1430285e961d95662c6e8d2dc2af0417891f3e86165123037d71676a875f19c959d53a3745968dcd61bcdb523bc199b17fed64a3ec4f467aaa71d3001df75820b0dbb15cee5bebcf6f0d3ecc3010716f6b2b03d38f75b0b5d86dbdd1f13be14d113572ac4fe3ab6fa95a6eb6dda0f81e2288687cbca42549ac189232b7dd3d953cbe2f0ddecb0c5da77e799de246e7ddbe08bb6e56db81f0f4818a20f7fe0421d7ce6ece97ca7ef4c91d44425b65c8146093dbfba9d69820fd5c7034a7040b638f01166408c688b2f6018372484326217b3eb532c52d778d963ee0a4e1895fb785e9a9e4f8800a5832b01aa71390fb9fd0e52e818ab489824e944320fc301ccfb04f2087ad57901b3d9a4a5b1c0ee54e6da657269656c16a67432a3dda22db62537aded72e5cdba5d62b01aa33250f67c1e88c247c25a143f01db3dc8e16c33fbd3042411aeada17476425fe7eeb91c0b88e5e241cd0145674a66469efe4e68fa79040e4155dde983d8284e56bb876b6e8d8904c8362a8ff4e665dc08a66aac49057082de2a13639b0bce96dd2291e0b775c6be1adc5e005a6c978ca3eb8d005b0a072ecdde1b771273684c3778aa250cce3a4a1eaad66cec397b403aacd565db26c2b40b6173898e772e618e200caceedbb9156e183da414c52d800d8e490a7cc98574e7d6d1d070a1c54cfcdd5fa40f26afc426637f356188b36e9793f8438ceda0198ab9f2e4f8b68019f371ae34bcc837d3fa085212c563dfc76b758a6b42af045bec3f58d2ce902852a70fd74942c6c8db3943aacc6639d0e0024dc44743da29cb525a11159a2f3ea78e5fe7dac72fbd733ebb949690059f61a06255bd2e30007e206f349c1b6cb554edd99a53239281e486df81fc02b1989267f338712be5e1784e8a94cf934cbd6b4806e9d0598809e3b4939ecc1a6ae1238f67a27d9ea2596981381e54101b34e980ca2434834102d71dafae32d34371cb26aa48be89cef9d055a677e9a8527e0517fc57915a750e6f741cf8060733fd9849415e0ae19764a9698742049aa260d49428b9909f9f83e6cc2a7d1e9588ad5e8cf53357872792337edda7589f5bfb4652fc144d3f9de1162df5ca723559855f7bb9146dc5c991b09d8237ede2ae52afb40abe8a7dbfbcba94225e90a91ad71e51cf9cf69c42ead03e5a0278d778676e96743619256a776c23cba2b60ca6758dc442e60f21bddb46d2c92befe5e844593b8697dbda2ed412ddd970edd4e4a7cb7b75a9c1287e9811fa5dcd8ce4673fe7574984d20b9a8504adbd048af5139f73bf3d077d11414014a2f40bdd757f2024aebbe8f235f895ad946619daa3ee464bbaa771c1108f9ceed3a61719f12be96c1f9f9fe4935f8b34ee3003acf77a8171220dfb859eff4e6911bd357c927218c427d1f5ac2484d016cd446642fd3df195fe433d807a719f8a0d86093f0405761b642bbaac2eaa6083a57673cec93232e58ca116d955e8b3e3caa6d0e635e97121626ad875f86253c318a8a324f9d7ae035331ed343bf65b58f16ddb46a33df15cbec6d32dbe9647a5f6a405b63abb3fdf3c6cf26851d8f710c60bebec8fdefc26cf1463ee217951f7e51a77e8446e0c5f38644bcad55151641e52b5566c17df83f50098746eae66e71128b79197b7ff1ab0a89b343e8b7b9dfd914bfcf438afeeea4e2c72f00ca3d1e729dfd44f2592d34ab7ffede4ce317d80a9773fab8f635e1a110c2be5d8091fb5c5215c0ff91d28b3171bee8949a22523478478330331e5defee8c6b4a153aa90ecb476a43dbbf71c0949fc8b285f282cc2ea13b77ac2d35c260a4e71259a56a0eebd3905a714ea498a4e0901317e3cc8931fc920e323168e1e0929b212abbc37edc289de86986712cc788ae80f5abfa8f873e5db572994e1715339823d1fe91e2d834f578cd75d619bb790395484cd0ed7358bb7a38a8dfa4391671db506391f3d1dca412d8e668ca0dd4a6d65ec883a1f67929abb43b7d43d9057e65d8a72f821ed50c68e25585c65efe76f5725266d114628977a6e548bfb1404cf30556209c53251346be40f86bad6c8f4d76dba04151068eb6441fc5e7fb1770cb4cc85a7baae35bc19e913f0a5c16accb97a419734d348159a11892eef3455d84dfbf4905c4616aa4a62fc1e5b3653796b171022dc24c2e4200375a319bc16c456b0d5ad05c5407402938286af878cbf4c26f69e06449b0faf74a029d9147f0d0227a13c6594a49a986dc15477dde0b9c36bb5219d72b474bf855013ed6d458f023e535171a2f934a0f08097a84dbd4bd7618822afe605f6bff5fbb5e36807dbd91d72ff919b414ed935d10d476be7a17cc88371ab01bb1c5268d803ec4f46bc9f3c9e95d9f7b98c281fab8666dd537d5ea8e0f38d9cddc6e20f7adf0744c1123fb46adb313f3e05f401ecb0acc6b03c0decada6bc1dc300d59d3744d01b630bc385dabe1a99ca18b3af965fdf0573b7ae8b6a6c530865a8a9d7f5d4da4f70ad647209bb1079aad0855206251b786082a136fdc4b929fb10ea9f03f2e93dc20a3f51198b75e7877f252c5794aa48840ef077fa7b6aa79a6964e7667d4eda3d205ae83bdebd8cf0a393e828fade24e24953eb6b70964ba13b08fddef0970d2977f9da5e2881de656965db467c3ba192eb82738e47703ad23a5283dc86e7bb2bc1d18ddfc716144dc6505197c41d8b3dca99a94671172f8a91bbdd02cbe48987aa058a143856828f0023b5816295674b5cc8850dc7b16758b4b947b018a3172618125a99580603d5d376185d07d0879d14bb5f3c93f716e26dbcccf9d2a902144face1dcdec09aa2b3acf820b429d5ba5eebe6b3f9954f2dae51eae74498abaa1d99523633af2c8e702701057ce56d51c8fc1218b68c708e7c07b13d9de62c19627020ddcb7b8cd6853fb1611040af8509d1969f64a148f89be8a815d91d63db0a9d5c036f40db0db3430f8a22aa2efbda151bfb1c3ad3932b5357efbbc553171d7512bfc13e0f46926d0d9f042323ab8c26c42e0217cc1a289cf8498aec2ca085ac83192fb37b86c3906dfbaa9a1ccdf867e9341b4a26189ce81a6425527f2d825b06b3bf2a75a8b3e839cdbfde695d324e1afa6894ef9cd3b26698de5fd46cbabfa17e3a75a46b3110d35ef6cbe511f396149ba347abc8db27954b814424d053602612cc54a340ed17019145309a6b10a9037acefba5cf6d7a7950b92e8ee84cb13cb81f618b543674c02f4dc107b372f1c20956afa0afc5b68bd4581cbe69f726221515b76557a9eba23880d2435384230d5d81d1faeef9fd852811d0ef63149bdf0ae8803e08ae195abce349e8da8c9a5fa33610825117c838e594b8bf35a6df1523513f073eb2e9d7823fe53e9bdcfbb586aacf3442d3b5a35d713747b4cbe01b2f2095ee2c234d0f8fe55cd23dbee7c79d05a25cecca287cf6adf70d8693ab0d668ad41bde0c59657e1b5823cdaf546ef426e8d2bfb0a21535ee8364d44dc8aeebec529c4d38099a5a70b3001ad7671a7855513d241f8a76722211c8a9b951cfb0bbbc8648c7e00eef70cf871977d257ff3d123e39ee622740b057f313ce6592b80928b40ae4a4a59bcc8bf57111563c8fe9a06f1948bc6ca00d5467e997974b5a3e651840d2f54a03aafc24d980a362fdbdc339b0a2e7fd0c89ba00b0d020c4ae76b12f6547cb45d15bc2d46588df94b65929093ee164dc949c6ca2341fa1fb29748ef3daa61eeca3c75073dbd1d9eaeaf377f0f0aec0676e84d5ebd50a883587fc2eb930cc9c94c2e9f6f0e8306331cc02b1e65643890f4e98d232f7ea66db842510534b9ea0704713034437c23f9f5ede806f30face5a2955e4b97df56039c3679874f3cb73d178e6537a17561f919f9794a7d7604715d37392470a53f413b51607bea25da044ed23a73a26c7e48d68f8c94b90658237d8ceb5a24b0aa11098d76eba8963785bc8c1f79b7cd8577de7f208e0609e4741c1a9f5a52041a0a8ccfd351e0a08475e136d00a53de8ffd7c1fee4ccc7883dc4a2e66a0b0cd7858459bf4614516e2072a93b74003e1c6f5516030fc9f3348eb9aa4785dff5f5e39a9e53798a6b6b51a978666b873f0bf53ed72dbf21f568b0b069f10f550b769d5390b3d6c2b31e14ab4c7633bc2e08634fc934b84be55e6806533fcab49b52e45bca15cc539dd2b5fc70eb1159cb64da8447f1b92d259342cf12dfd23c83ae54b165c467f21ab67728c4d35ae83011e5d6e910bf674f6254c327df86b3ea1aafb7a0a0455d11e6ad9c508401de3cf3f232faf5a73fcf0e338a9c782944aa6b45be364f03748a73ef15a8013b671dfe053bbd32107a4aa13bc122a6b3fc708783d46db65aaa5f9486ebf12d99ad14526f17da5ff2b00688cb67950adbc9f5c4809f2ffd62a1e15ba8382dc03db987a3f7246659a36ed14f90d90673ed6e0eda1d8e4d695c84b6845b86c8c43bf9aefb795b31e52324dfb564ba6cd874d817e10a51733d018e18516f8d7aabcf031e26539d958768682f0e28c41c0ac3a511da3157760ebb31ec12a4c28ac79f14a3e413eb46f4cbef1552871f36bb6d6a1255eae6db7eb29817a27bfcaee45d5b66860610f94bf646166f44569dfbb9c6b2df6d3202af446c1b06aa9a7d03012121659518b0c1ba886e41e7d72adef193f2893cc6d842b7594a5bece643eeec7913e8c05580f12cedcd77484742dc1c2d8401925c3a685db0d0be058eb3471aa94054d1ebb398c1e3e632c463c03d0687c955c416d66a0ac067785a363efdf9ad6f1eb6b6991406ccde6f9bb23d77a95e9ffd76f86a864507f80e9d0573fd8eb62131e3ee68b15f43e4ceebbd1703eaf2e9812373d68ec536cbb5a0b3a431922caf39e150eb8d55e62e35defb37940f9ebebdc4d2245791b8027b6b60c1867fbec3b8ac412a02551ae4c765587a87362e89cdf06b42e443ceb08fe615ba87c4b15cf3e862545cefd8e8880b39982937c391a3e32a3774c8085844c14f0604995b3f1926653728d607d8220fc1361432c577d7992f84f0452faf56f99bb3d9391b82f8e68ae698b3b95023bb3d3190327134c1b363a4bb53316d2d69fb6d9420ae8faffe6d4561a5caaf5ad903fb4dfa87d1ef4f62182cc8ea4954dc993a1f1f87e53401458dd60858a67c8a297f805ed9b75a779cc4bc144eb855f183abaecd3c2d916c0505011656366731f66265ce4b98044bf8e616e238cdfc85e96fd4ba770eda90d7d057efc4b0d51bbde0e8db0aa291e721308828607e56596b42fa74b8a8d734100649a68fb8e81b4f8b0361305190586b5967d9f623c105461f7e15ebd9f965a9013d56fb0db1d18fe5ef3d09e319a8b03daf9c8679fa6067dfe97549c52a1acbfbe9ad9980d158f7fc52cdf92cacaa468fc1fe24ad2a33728ceb21375085ea3a05704550b26411b8726bec5d3bdca549222928af19e74b8ca4cb9eda004ba30cd9230109b62f2430bed442b1156cfec23db6e3cfae4221bd95bd0b779418805a6ef2e79995bb45b34813d4f865d2d2f914f320fd242d954352d078bc7e5739e3fe73b1711ede96a6a467a33be364a20e96da39dfe6ea89f43880984f72e3c724ff580eb4197ac34c4daf3259a89de824ad21a44a7b446a92fbc02d87abc3d5da1bde3ab430fe80233f5a3ceb091c2498aa7ed2eb8773cb89448d713eda33be30f08ec217be5afcf3a96d8db46887171ee57f5ae2650eae95d1bdc70678280eeac827df0115ee12f964a941b5e89caa6f486a2bd76231ee8564be56abb23cac6a7b78bac4cda1d2ffd28435bca4442ab002ca439ae03589dd649e0ed569caa77de87785d030a51de11e0727dc85bdec35f52341fbba85e8fd9c23ac27cb5e50e858942536266cda9fbb9236ea7c90ba2f91a6dc63c600909a62444e431c378a5963521a4d17ed5f4cab605a6cf4bc2320baca1699740d62afa35d911ca0975855615f60f3b6fce1b28e80fbd9cc89c8ca44986788f82e2cf1534b1c983b4c4b4c6a2039611d2d5ebb88d65561298e4ed73c591c867e091f46103cce245aab0ee5c1d1fa75f91bb7702aabdb1a24d21b1b59a202d81218e7fd95a96e0cb41beb3d794f7e008ea3420726eef5630f0ddc58fe36880cee2d2dd64a869e02109a4c8f17dc8b719cbfebb1d84bdb25d091a5effd81ec013a2881acd58b2fb6924cef08c74db4588be138c8edb2e615808adb0e402d1477f9c66ec1d2f1db5324ec61b17274d70149b3a49a89926d7666609f47433698e1dda5d1b934f6b9b9f7ec15668bee0d51772058fdb68355715ffdd759aacf3dd1a0d1d3ed9ca932b4080caf4ab88e0d167f2418abc690b00f8603faebac8fd39e35d7f4a8c38fe18cc5d33aff92548113f8ee525a3cf9af08cebd703c77c24495d650222da209efafd5aa02582ce61829d22101cfaee41ca1a6cccf8bc035c8d915901a6f2f474d70cb17526a2c3ccf9ce93e03aebfdcfee45fc434c8cb57433d83e110b21b83204d0bc28c2e6c4be0ccac9130ce4c409d865584ebc44d21dc9b67ac9f3913aaa92fabeb9b4dc0f00ae644f3d728749ffa84c22e7e420a68202ac490903e307551ba16d56adeadfd9cab0c7865f5c2158b497ca8dc3a6cd6272a28412cf95a18c1084080c34c15c431727954619b38d1a9e7a460b306f7492f846d483ca841d7461e3635f8f8aaa2889f0804cc76407f68bac226bf7ec4331ca4e95fe16905c4246ef5a569b3d88bdb857014b625ae2bd6f49211c90856f3acd7baa6016650ef07101dfd46dbea3ee54a861330bf1e1620e2c8726daba704a123a9078d79056bee30093c4e4d16bb4cd4d13d1bf0730075af05a6151a43b0b8381e39c511162a2cccabdf8df01ee584ce1c8c119330e0a56df9f0320a51fe8866d42eadc83c361a8671be74f171d26f14f42ab0aba5389c1f286106f954046d6f696e115a9669e619d9f1607b4d84bcd00a48e37fce386a92312c169fd2187219d1909cb0ef1c0b13e883991242449c67464e4497534955969bff42e7699b148be0c660dfe8eaf7028dcee6d248598498b29dc447836921700f6c6376d126240954ad720c131904e9ec8740009db28a4f1741902488924d3ff50ce2d7bc80f97b9cdda91e3db5402a2aec3a0022d94fbe60684268357c92908831453c3537aaa0ee9d799119ca7c746d139e3573a9c2a5856c76274b35d55be11367e5ebe32551aa6de89fce168c7f514f4f931df192683549684cec287dc7c5ef288f608e6f0233e2827a7ea08c15debdf75c8dab84f58358165e787fe923eba064954b1f2cc1b9d9a787eb795b033f33393a9b86fa86eec193c6cb4652291933d149c8197fc72d664b8a3318fa98f0ad62f6811bbdf6c2b7b18997563c061dfee43cdb05109822af3ca774a85c7886ce35a3b3756bac542599a72c0195007fd74d7aabd5a9d3d72cc8aa0cad4af8c8a5238d19167c4958abdf9ea7bfeed0da7d36239c84f46b6950c1640885255c4429adcde8b815441879549b3f835f26fc0cc656f786d27c7c735b1c9b3e4471cbb80520b652ab77d3357b9b9fc464bd5f0a8beb22a8582db46622ebccd4fde6a6e9562940d4713443772760a680785d60642160f5f96bdd863d375044964b695d4c4708cc60b7571b378ca4e887c2438b4b4de3eb3f09f45d05617eaa31c6da3e3fd95adb1fb574ac5b3b690776897bc995181503f6a481ee68dab7491f308f7aad5c09f5b2161415a6f388837f384864f840506a96b86e2a8c16c06ce4eb9b7d5dd903e83b6b04d496877320e821e43f771861577a63a44abb6d51d3145e6678017dbb0524ad6195028800579d9ec20bac32d6a53cc1164c90ec0079a5d204e014b74ce72225260edb298d82eeaea1501f0b181cc7169e0d5b8001e06ba795f9223386517244080b8056e2e26d68571e5c6fbcddf1e99fc4a763f6fa57650c430cd9a8dd327465dbc7f3abd2a26f75b56a06a0d2a3bb8a5534a21250c66cf29291a4f144b2d217178cbcb5c6403978ab63b90ebcaeb22cd8fc921ca98bbdc15210f64bce16f6e5219d6dc7b58259ed7425f2253e363a9d6bfe25c77161faf6a8dacd248ba71909782176cb76e87d7d953756d70b531f78d0bbaf80c0cd51534400df41cb0f618d783550c095bdb98e802ffbebc87e04be305589dce8f1900e29b4aeab893f7a76af0545ecef96553f751066717653f3ce4ab931c0ae7c489a7ba8bb1e55beb9a244f63cb1b586bc9f71f2766ec6016f2d5e16dc4b8cfe71261555ced69e3058d6cd5999776ed49260145a4971704332e2d85c7d76dc26007cd54ac0e623457bde2fb0d1f52a9dcf68b15469cbe58f93866726af0896984331a4f27bba0fd0fac2b5ddd8ef3e4c93fd6a206d3ca7fc75e764a05e931368c7182074bf6a1620bc7ce2771eaa25f6a58e3b358c32fc322df972a86cc11d5317adce1b5f1a98ab9bf1e7f7b241ff563f23a2725417f6a9198c31a188a2c28ee8150fdad7533e11af32fd6cb4a61233fa140f463d4f1711d7e95f60eb8fff0565414d328f2a17c9538a5024b45b4306ce0271720a4bfed60cb0aacbc0c257de1ac64973e9d93ce699178415585e623ca36e735ff8c9dec911df9c4aad237c3fb0c502d6a5805ae1bcb9d8638920bb3b4ea7c7f879e7bc44c0f70b59eebed181dabd794ec8467a493399a3ea430a27781270e2c3042ce1e0c8ba3c094f0011f806b2c927d75219ef2319a5bb8c0d73782d9ad35af1ce2af836bd00f35cf90d50991b3b0516036b4164c4b21bd8b1f3b012e3057437934e4f24a7df3ac51917d342e61dfb9260fab00d1fd05102a7092febc4f0ca4d5bc1492525b3da160a8c16dace003e95a677873957e47cbf2550ff4784a7a749f3e0e78b91c492bbcf6d5460922866816577957c181579d1cbccbce024f99440692f4c6aeccf16502913846be3b823c75ace6fb768510babdc7691a3eb5534ed9f21a9b8c830877c2765d642fecc25df775c22ae2e8f5ad7d1ddf2381f8d6edea1e8d621dc340c6c18218d4a96d12c485efc45873bce17ceca4d955d3e02dcdab37ad0249486e9b5c3e1643b59b2b1b1e768e2c631e1c54fd5d35e69df60ac313c1f9592e917e1c7964ba7a7af95628f3432fa2cba9d5ba2deef95b1af9af0197c9a16439442a65f79715e041c17fff9a81003bbfb2137ecb04162f90d0f93a75709ce4e3178ef7ebc2ac881d9f0c8c4463175754a802c83a439125196e4aa0d219f8de340e535b9be511292022892e905ba72a7a99ac60dee1535e67e8364a6531cc956756bc5a2acfcb250c9881eeef68de873bf8c6a538e1b5065e582f92206380242dc0006999e46784292253f87fb94b6fdd82a7a36728d0d6ad56e10674438cf693a3bee0b3ca7e5e480f7325acf24050434c72bf2d8a0a62f07223118f2a1dcd93504a30ce7f54ca164e32baf3b2f455a0d577e8db06564574dca8203185376575cc514de732c0448fb04ef56fd9aeff35ac6daf745778cccd1afa011cf32edc169ce34cc66209cbea5f61ade72074daac3ad26e4442c19d2e1b4ba596c15ed9ee962b58e2248868935edf2a8e50465f1d66fb83a6e4bbda29a220dd41ed1c8151f080cef87ff3ad93625a7517127725d69dde896fcc2f4081dc4520e4fa97f27ca5e77cfb606e432818dadda51688498da83a5b10e67fb75cab65eea87da492d643d75c4b64bc1ea1c0f758d302d3077352bdfbd6fbf2de8a2386f4975cf167716addddf83a20f376854e6e5d7cf1f886ec163f91c1f1607dbfa71cc9df4d5e9fe40c3fba956bbd4f213d39adc752980b3bb66f186f41859534a8763995b8b22830e795f53918e3827b2c8fc6966b9ac236da403a7ca7576b2898ef932391b228801f86f8cd0aab9972c630e64925975d892eba1f31401f8e39b316266efc240df6bdbb20ed1ef3bdc8bc056a5f7306ed64e611988dd86d44eb27b00f04a2b18302bc89271f43c1eba42e6b0aeb7c4108b00f936d6fb8c8d373c78e1caa48f56c85ef2f8607100d85fab07acf7c889e219a734330910c45b5ac1bb946e24b09cde29024d2893d75fabd83e850a3c145138c486ee07c2804da1dc82d68dde9b5db18692b38e1060f9e60469fba9a98f98f70bc488be8b0826eccb334ca7b76626e2110d32893c29f6e557de48999c484554f2b9148f8ba22a29d28403c643d5aa875d9f7e30f2e5ed6f3cab1c5e3aad898adbaa071a2ea7d18f0df24e3b3d14fc0766dae5ec24a0696a978bfd022d6e8238008dd8ef834f254bcb21b25613290cdbaf39336dc1138477e95ff134dfed99907030a75b9804b40d81c07321198e5d77b7eb12f6be2f7797269c18368a885f47070a49330a17c8d80a401d05e45241bdaf37dcedf3087199543243a7c824596e2041837c434015802356ebdd90b75a3676ad902bb3b12a1efba57ef7cfe6b4dfebc9efef4e25fc10dc85ab6ca1c0c59722e936f8f15ae051d54ce6abdae983e8b96976b4ad3783213b32e29cf33fc36c7667f3c3b5a52f306130800d4f2dfe3d006428add1c6ac5a9e24a7609978b5fe60ce4905b15ab1d038a5338f53c3aec422761bb6a2b21be081590ded6db441a7bf51755605bbadc6ff30b786523b166856702dcca339512730fcdb70069e35b3e1984ceceb8694b24336c6f55ca5f449da13e8f14d0af27daa9dbb5dc7066f43ca1e0e3fb99d518ed7e541fd9503c9c4cebdc3d09d8b371fd200e3b01efc807d40f6716d0c233789ad5027a3a241219e7020d30994aeea8b7214ef7aed7635c894cccf0bd97d82f87000d0b222180419dadbfe557a0f97ca22dad522d4009907080062ca4a47e4d183584012850757a3e5bc4db5c0cd9aa27c6383e8117655865600f80bebac74fde3c04ac6430e0ebaeb40904a0024fd8f2fa5d915ed1f01a326c9877b44f35e94b040b8d9d0bb715e41c8663a1c6e49ca71d1a21c1805710a29dcab0f1bf683b51cb76121e149a681bf378cdce714386361dd16f3fd179d993e22b62457ef126dce9239ac0d13da7abb9303cbe1f368f6a2a93f6dc2eeebd0f6e43293096f627af7504e1045adcb47df1c103ebca4d1d6ac9fc919bd732ca5e82b3f692e31741e59d18b0c1ca090445a424f0a552e223c757e72ba1fe8dee5a77ccc3e655e7c4d5f7b4d01bd4157ac0ee09cbc56429b45003e38ccdd67aa0d2ef727f5a341e04c2f5534fff46963d6935578165ec42c6b596d5c94e1c7a8a36d97c90d995da4cd096995d451e9e3b8d6d4d9a0de2297dfd8284bbed9143c7eac201c8e99c23a31fe65ad175e76ad40d4bb2c44308273aef4a962795d13ff3cecea17592b3f8a7a709910323633103327a3991839b096c979c39b16130445713dc31b050f1734389bbe5a9aa6f9e267944a48f45809234743c67f4f67015eb46d2f7ad5c6ae0c1dd6416186d407de72459724761787705653a67e9b17eb92551620f69ba3aa037e66197169a7d1ac7924157fff6de97ad92c33e34c9c567ad89e5c31a883b41fd8e9d3232f33ed1af4f4e28cabc56e0d941df50635080c6d25cbc0f6e6bd17f38a58978b966d7479faea9f6a6a09610579d709646a2c5c1ecd9c0c3d4b0c0ba8ca0b34cb27e5ae77beac6558d5156697a793f570f0a98b0f5dd988a4a0cb310000f4b3f5c34e5d1ed760c016c30f2f409cda68eed8fa4325a760d291ad258ecbb193b7bde47942cbb134f010cb8aa114da966b34f006fd6c4c38c23faf3579a339a70f5f00653c518f21f21a00bd9c29239e8ddc26d2472037aa3c7c465456a22bb839e2a3a183e324050f9d7f987c230c6afe50800e3592ac1b025b5e74bf6b7278b7b99a263728f70ba62e5ed1e5e3d1efbb3ca076b652f162fc404debd0be219d261cc72266236b9e8126d3853ba3a97cf3e79463662a58ac1c72d27ee1af70dd51ba0271524e60cba9cefba0e3192dd889daf4955183629ac268d09792f0d7bd135f41973144dfdf66732599de95d02fb873b45b2d69e9894d0f2af2d63883d168cadce99b53d2668036943acfa6c5c74ac17673a1ba815c5c4003e171140c5bc2c11e28be2013ecabd32f86e06100979c9b84d3284ce2f6e6da554c45daa0d75b892b1f91ee170a729df4fbd660d9a2fe344fdc289ba424fcbeacaa4a8aaac67f928fd4b167bc061b6c44c6b01115d981cb40216fdf8c6b53fb5b8196000188831f7502c66aa2a727513086d4b99d8c8bd1dce0440b834b61d0fbe2899ad5c7985554c4c629719aba7d0c4e7993d4cb90fad8b0c961fd002cf5ed940c42e33ebceb30ac59f3db4a2a51052500a4ab9d53029e8953a4083c04ded55acf7558195b81f710312b7e6c0e15e5c33cbaf73044b0886ff39db0c94e411cf0d51d6954da9f52232ee2414c36afd013d8702366cea5ac1e87e59be91c758bf435046940ba18bf1d8fb139b58dadebb257d2af3314961cc9bf09bd8d0cfc44061bbc54fe916890593cb6a3686ffc2e90c0bd6e5ebededeaf06459344c1d15b692fb03dbfed9ce4f2c5e41c08261ee05d991d8eb3c19a29f9359b1762eadc7c7d7372a8d0eded8a71bce7a5a305d91be183f4dd72fcea7c991051306109d00decf92a9f9e44564f1da00d469951b35e80ed35f9efc151ca33b7c1fb0208c2d79056e4e2f8ed594c5433ea4cf363172e5ea69957f5e180d004145b8a93c2bc489e605c9a092abb6cfe5ab646c350db0c6833ca0647c15d291f67bd812321e5fb64a5396e75f6d5df4fa6179f807d00691bb3b0e7f8bb4855feccae27e2ee73bdeb3c4a90e056b0868e8cf18b406220c5d332b9197fd150cb08981468e526081046abe64465d06e4cd1f37e6147f50fe155507dfc8c74ec99824bcd3eb704686be2494029780daa2bd6c55f53fbc3c6c375f43bdb27a407abacd6cebdff29ccd0d6af4f1f0d6c45e04b9b4ddc8eddcab8e366c75e898cfa2c3d784445017d741572cbc18736da3244bb4e15b2c61300db8bc207bd9fae0c817fb189d267cafeab27061a6b9ee86959f549e1c8601017bff85af623099fdbd2873d834f28fbfc25d6fcfdfcd411fe1dbaf6a879a5a5e9edaf6d0a70f395060daf704c0dd9c3bec18d2b5e2a80fbab83c158978acceb05d9fd51815d179e24e010326baa68e47164c1492b3e7708be33e4a46cc8c1cc8acab913c802a3bc14d5a2cbe26ebbe164093aabd30fb9785c5002676da3b871f193faf10c0a5ba46eaa1689660b1913d071659a3745ad6cf6c9f38497d34e7201e437f9be5789f9bdf50bc6972dfa8984b762064f0dd75946db764e99866b7c53f99268b29dd3dc72a3ae50bdcd1ad47590636dea2932c1693323bbb98b24390feefd6c761dbb5833188f5c628a3a9b005c083d3c7b4a9c7536f3a90d4e213f3104f56eafa76771cd4433b0adefca219a02342c8d30e6fdb33fe2636d19f1a0f715573490f3c372a0aee619f467140364891bbd13f732a8bc36c0d27d43ae8285f41d98df22583e68233bc0e59dc9a12d4c7ce62cd7d04717464b4e8af7f3550e22d35b91eb9ff5853979d01d95a7734a04e5e04b9a32480c512604ed347346dbdebc116f2e23156c075e4f3b0712bb4d9536734c64a1b3129971dc56e79e9abbe48119895e9c0258291c2d6cc2ea70458efffadd31658e584a7e06aedc91d63c13df6abeb0741389cad1e1c87cedfc322ad20826e119b2fbcd4627db85cffd06ab76159acacb1e6d70c0d6722f2bad085a00c78c81b6815683048ae779a9d6a583d9afd2208cb6d3e46880fb89c7fc003175e1a4dadd28ad99b6684acc4b43e7200e7f85420c7c3d9e7b0de631eb8d46f79bb09725f7b8d53123090ebd3a2339e01b4f964ecb9718b2eba412b86f66cc6970716b59a227936bbbf5934aed46596c4d90c56428ff84001294064af010a29c0a411b550be03e6f2331664eb78f3e4e9d5b9549481f9c234d6cbb34af189a246a99835be61c2adf2c4a0fdf0ee8c01edca34dc918db5e8320efecc3f6df726ab7ac2125a40f80e4ed10922ac6c5a8c972e11beee14a0fe3388a6b76e435b22057231dbdadec8ea96418ca44667ab508c14cda6187009443e08938a983ff4c11f2583bf4e68e180d0dbab5842371aac8f6bac1fcbef1c9ae46e8ad73937ed05e94fb324875993f93ed20fcd668f1613b312ae296929ec3a7c867280d5d54eed84867d0f57aef4fd198895becca83e8ba231799f28adf40296c82c2fb4be4d4031b4fe02991ad1613b3d4621586bda304828b3356b3af87b34a321d9572c9197639f7e3abd495536775398d29e04c78f2abb5609600c3d3ea3b4c68155d96146e8b71966f95490143fb3562d964ca7da478bc4aa1232fae2638dae8583b6f498a621e1d941d51dba8c837486381d6784b4339c368a2f68b5f69a79538351edb12eb6580d7a992449a0856d3e6e4a96b98fc403d6813eddfc5f723d9679b6a747beb3122ebdefd11912701b494c752858d5fe25d6917a4292a888528c634651d01c135ff1a1d53bac6df3e843e7961086921425ff4f17e01aa65abc9580dcada0d57c8a78536b08d0530d25473605628b4bf83b5b3da65eece0a9fc8a23d48583a40dda8182fca9cf9c15a07c71b780aea65fada7c46b7cd016a623e19606c9eb856cc8e5f959bbffa7ed62a4c92c74619f32fab300b50d8e706f634c49d2f404e70a928eebad9d6b3e5ef820f74c76898a68d4135bc2c0472f0155ef2922cb9f712e64b2aaea5e49dfc62252446a5a7daf448c954519f1b8dfa98d27c01556738ff0860175a51a464af7232e0ab838a6964c535ab8351c19dcbb30d4cafde86007b8a8a7de8e35d440b249fc338a89d1fa726eb9e0320c3835d11d24bd50415b7df770fe5ed3ec0e104c33868f8d514eb9a784f9cd36bc289637c41a7810eaaba223d9ffe395fc5a7414f83befebafc91a7517e3b5fdbf8ddcf92b6921c043c7ffb30be6fbf3254d7f06ff104aa4b0612ea83ce5b9b3e29f8e21c49c5b0c69226182cb6a388daef84ad17a93e465f9e3dc6b5805031ba1f416c9cd9b2bbb98261e0528f529487a0c43dd080d06f466d9e62ab2b82c4ae4adf17f306f9330058d038147250bf353c846e16844e8f3b8b6ce9c102a98626fded9ead3040d77524b7954c359d6b2afd7909d814294fe1a4ddcbdb5c37dffa16c3feca33478e9bd1a7dad473446d1d40cf31831b8f7b2940bf4572c9fa4cac745a49d48c733651a05862c0feb895a73c0847211bc4621adc7d9681b8d2cc53dd0ca992202c4a1b805bc930ae939c81f31829d2372f18dc31b492c4578ee769a7c2eb78ec9b0c2965127b6e108964f456e6a0eaf464db14d5f0b7dcfc16b899e1f4627d4c533a69cd094f38412536b1e422aadbcb88f6accc34040a27f7a3679c095ebd4a5f694f7dd00e7e1569412a0858248e2a41faed83d448c510b781887fdf674c2cd5ad6d89d56557b79d32fbb038fd6454c936e6195c67745769d739a2218738b78e20978defde29adcd073cb31a054c145973b665cee0a7366a297a859cb8d93dbefd4ac68aaa88c7c072b7c9eaa1da2dd934a12a0ea30be99da4c5b8bd660c5a9667ed84076b11b1bf0128bf83e709c0f2e15fcc25420cf6d32404949a2d14e6d8201133c1a9ded1c0aa0c37b8fd26d89956915eb073588572743bb92f346d33a42e1fcebfc84c094abd9cd29553d402846daa25c8bee04f647213a7cc0acbfc7aaaf53f7f26e4b904ef769ba0a96f2ecebe952c4d41bed49023fe388ecc80ba182731688de88ebef09793a9d2cb0d833abbfbf61e3e1e81f7abed29bc5b5a3fca263f02a1dd7e310d664453a8b3e1cda056dd24f0c13b9d6d1b99b95f8d0f807e552442856b5e7af4fb3da08cf5b6bd7cbb4d5dc7948c237afdd0ac0ab0a3145d76c52afe658b74b82e729249b0b25b9da3f3e0d606e0a73ed3525ae849c8745880dea5369072a50470d8e0771fd3e32c060436f55a3a91c6fa8be0273f86eb523f94ef7b3217e53119b1f773c87603cba33ac159ae60d3065ee2959896ec44493ca506c27bf695a54040c80f717e6abcc6ccf8a38019a2112edf5ce6e1b7e692b8ba4897107cf84617ac363967c2cded615deb0f5558392b3284f29eda20fc511d9fd8b9ec9350ce779c9fb346fc6a4e2383a2b9b978b33858a1db7039aaf3121f68e0cd1fe8675434294a2123745ecf39f62ab13f819e39ad73be3e8334cea6698747f91a6e86bc0f1e72651ec796e20bfe3cbf49a61b7606c0c1da87de5650a9b15281127ad9ab39c3d88b94048b4f4157af35293de5868f7b2d7075f0d9862bc403326f0c6f454adc9b1bb74abc0cafa8a869d12738a0d3755557afc94c5abb2d81adeb2a93181c20bc0cf7630565b524f8a7b63004394c530471faa8915ae28a54e621afcfbf29236380447c1da5ed7b5ae812ea9ca25943e18f83bbb6b2140000005810016e21eeee64b87cdca1fa7b7b3d4c3c1d0d7b08598fb0aebdb9795154016ec66c4cf343eea0264e0fdfbf42ef6545eebd884776e1a061ed7a2e03452c36e7b069fd7b7a3684dd156d2f10c202654eb0d9aa8ec813f2a31068be6610cd49d2460823091b3d180a92108ccd6131b2f20a114b955b3d768b843e3d5136158a88b4569614d7f59edfadb3dbe6babc8163f0e549356e4483bcdaa2a475a7a3c09222bc93bea1b7015711e17a6aa80719b31b43a6e8c2a17056d2c89807dcfe6993c6c48f7e23534fec694c864a8af8db35d04b7ed212abebe9bcad62a5c3638b8ecd66bf35ea7239ad8623a64f62e6c29c566f344eeb5e97ecfc3d563195be98e8bf9a535c65f890e38dc57370a76e069055815fa14a6efd09fba5d8f62e6e31396f620bed7e4f5b304eb2076d55363f2fd09fa0022a12c63fdcb0c3c7c1933705fa418b409e936c575fe181dc366a8c9879e95f4984696c3a352d884189a97997c87df9d5e2667aee010a2c5092725bd77bb792f982f8194970ab8ea059e797b786867341c3f95955717b50aa9a3f1f41b07b99467346f63d885f6e8bee6909d6944018c30ea4743d140941b13d425ec5b0c7554320b34e138a4151f5cc541bb23892cae2efbfe36b103f74ba7e48963cf42d7ed2c24acc73b10a2ddd547f2b2f141566de50556e1c4e94efd96b05b436bc1c568ba4d7547ecca4400c060d0c713a441b41ccbf95eea7bb1062d591c9fa2c0583ff1d50b8603307ed8a12540ac406805d896d6bf6cb6e0864a26b57a47afba22320e571c1f17587692c6da9342ce7f8cc2864b1fa4b52258778348cb5531498d9c1a367a6a9c86b0d5e6d8ce30d4fea3e9c72ff9e489af7fc60726bd19778d19e4a830317d1111020981d418e552fc09c027253c2300745b1dd45fc92e1496fdc7a927333cd174d90a81184a443d20d47203817da01a730426690cba82c6ebdd6ca5014a01ac4124ffe329e20fccd8b08a2fed66ed300b0ed92c0294b4cf40f87a7bac348d00a4abecbde167c76c942891b800943c3c0547d40cbd087f1e12b7bc02bf03a27e4337bae45a3b5c87ae7130ce8bd3618365d404e0814dcfd75b14cfbc826cc380952c6410cc24e72780de834803584d85c3f0b7f6450f0987ef438e9fe031139e17b18d5b066bc695cecc6dce49560b08dbfb5b4f169e23f0089847824174084e5a032b610154ec18bdd2f10da56faa87844894dff96df4eb34c490f93c4d16bce13a9085eef5732a33d2ddbd289a5495b8a007c58c07e88dbbf8fece3dc7285597266615822d190e94b4c3f62ffea470adb8cd1f0b3202eb4bd1259eba8833e44eb1339b69f3c891244340d9fb0b815af56ade3b74a8249fb0dffcad09da0ab24906f6a7ab01ca7901865e576015f5de6da359be06526b5752fea65fa856bd18af29e18b2f4a81175c3b916a83129a467c2bcec27fca74eca925512a3e509dbfaad4d09d1497914495915eced9b69fb39ca5b027c340e57b46446c3439503fbf71680044f79a97c80442e803a3847fa5b29c49d1b87e6d5f33e4e04e765c1f2a9492ae07916ba6346f616c761ae262653eec922977d7beff8070184bc9fe760a67008b144c31bbafd987cdb624805f1bfc1cde909c16964937867e2ac7834bf5fa61caaff2521c280ac1984df1dbbb68599ce1ec329149da7d4bf83ce7f077922c47cf309f228d70f3502745c3e1404ae78a160cdba9dfbd40ca81436784ce363325c3ff3047f5df3600bc4659cd7e4d9540672bae7a77779092952328b70bbe1cbfe0c9c1dc0355f7b21bc02df7b00331e7fee34341490b3aa8045721842d7e00ac3627adca76980639021a19c30cb9a1c4f64f28b9de7fa1453947dec04c5383284f4644f430244e593f68325e0f0ac9679a35df7bde6cb2eafc91b2d03b1921f3ef84e41620cf1ca9bcb1a3655d101475112ec7ce6a138544c4a806c7d586f6cd8edecb7d5dc83f71570efe09c66a1fb4d63e6f00a2409503d6d8c54ae2b67cc6e877cc6d6db8334c704f36b5b59c834af228911aa3e39b56a806ba350d6a076d61203fac7469fb532cdc4c218c72c0cd1c937b6e17eca39a3a2bd93352d0e152356de6838eede3602a22e325a63c8a3e5425574940fa5d68ed02f2ba8630d289c735cb963f92ee4ca0802bcf7237745dbb0d4507cb65cdb1c6878dfe9b783a2a1d5e3a07b077db43ff6aee5002ceb35e905bc7d620d499911f5d4add076f5324ff12d06dba582aa4ab75fe519b3245ace63a4e4919d554165215d29c253b0306cfffafb1c80c838411d33360cc9752db704823db398206230f95444a5647020189200efeba30ff25d9ca3b60dd34fb1fd3ef862e3dfe54ae3c1e4e3580c96a7dbc85f3669bb1b58f4d4084ba025de5a642a1cd40805063077a060a58ecc15260c314c8c29e8905b2e639c46aeb4a5b9b0d74cf7fd3c43888e60e747eb933669d3124eb17e90dd253b4c73de8461b1523d905c0486eabc65e9ad52cf003278d5ac2389c8eacab72f04f0fefbc0e672cb96f56186cdae18702f246ff0784987ca7dc1c98303b86e7b1aad8fc24b7aac006df026556c66100c15a9e51b5742af4ca9bee0176c50a402d4a2fe4c12a572096ada8aa9b27ccb8cc357c2ac3aa383826eb19965883b6c87a88f504d56a9c8f7826de247e58f6343501df6db80bac4d3648977109e8e973ef5276f88672ed1a7679e5ddc90589fe532e2d14c944ebbdac4caeff3ba8904824f268ab2b51852430f1c34c2d296e0967b91196ce7e86933c3103602c008aed18ebd185f3794dbf353073895e0c830752af44db313a9214119737adb04041846b9983b908367d040d90deaf60a1f233d2908ae208c039a2eb55eefad789bbfd30b60c193d4b3a29162f4b8cbb752a15f71851d133fc3a299e06b7ddd7bc0019ce4cd68bdeb9f93ab7de0e768e780afe3ebdc17d2d7490ed8adcfcf4e63638e10b97569c56e1d770591e06f96abc7d84b8d0653df34200854b4b7254e9ea6788fa76cbc6290c443e7861d8e5020f8cb01b9e70f5a29395efbd44f989b2300a164ac4327af3e034701c3e3d311241326a3d99a77fd59d867932676e0bd55ec62f83cbfd757bd64fbe1dca87afa9e48d92cf349dc8f5ad6d8bc88f9776198fc8f3f4ee3fc8de362115e57e147d95938d98b3987c8c27efe5610a746a845640625322f344e499075ae9057876f3bc74b929243bb5c0c0915ae6bf537948edb4d4068dbbcb89d618330c4884f85d17d0d9da3519cc85947e98c2a29431a1e5a68fba65b8763fc418890c5eb13e3f5229e3496efb242433c33a550965f09252d7a776841f9e89c080b840256f1924199516443837d5a322675a177b50f92d1ae4c0c8345509b13b7a75d044f514aaeb5b7af33335dacebfb21c530ccc5511ca029d12761243d80749a1a53034b7f4aee33c4757b8358227ac3cc1cb799934110c9376aed6ecf666d1ae0c8b047fa0431e01577e7a6a3aeed19318fe27caf691a25174b0fa792dc91da39cc64342313a094dde016e0077652adce23b2ad1c8d52ac8e3c63ad623fe907be039bc086ace4b03fc6553f0f03d5290c54cd4875c96a22f80405d4ab9a0290d6e24663b88c24665d35a6508a5bb4f1fb158c878bb49ebc7d8cbd13f31e92ae47f4d7f0d56b99f243ab62cb7f6321532824f22cc5ff6949fd26de6a8402faf4a93f58b7cdb1e792a9232d6e3945491bb2dee8f39698303caf61b9c32cbcebe4121d97768ec2e80d3346264b54b2c01b5458acdea4eb7734ce8b58146c7d515c875720bcbc9a8a6dd69194b41453c80c265feb46436875d7b4f15cc9fb3403b37d1dbdec1af77e3b14791384818bd13f52814368b5294e22053e1e02c87c3cb5e1cda76196fd6df93c6a8aa4391d099fd7751b1ce06a4ed624184b4698639a433d7c0a86359f7b94be32a88a03d69353a35e4963ccc70e3e320ad37862ee3bc7b37a22699c4c61b044741328107b7663a54ad706f4cef646332e9c92f82817f458855fb5eed64a37df0972b22a27227f2c64829946e66800da679a5adcd724c123995915742ed2c4acd6ec16bc7f3982c6f34911d7d4cd7848e2bda913b94f4b56e46541a16b45911b95f782e8fdaf3106c09860d156132c9c9b0b7e0888f9443e6595919e8bda9b5a0fd7e22e6504912a96470d56d90869664d0b4288e248778aadc641e3439f260f1bb6507e6415da050301e8e583989ea821269f081919091b0909fbf464dfd82358507036712e62ad38de889eb5a882cd82ee28248560786c4f4f7b4f0ccda5f6becc0c5dd676836853258f8307a1a6a2ef066ddf3603ab276e9286c70fb9bbe21b3b1f9ccb11049692c083a3a2e570883d4dd57f520262c837d29766fad9197f206d8b056b68bfaa6acfe5bab6c0a8be16eb0c949df807a7319beeb8d84fdf58b075adbb0c3145a6feb4f4aa29179b8536e52bde05492726707f877be98f125d3f82ed0aaeb3a12c44daf8c0461fa5044249d3131578dc05862708e3b51766bf9c25e7910436ec012394a83520827e05a87ef3d561d083f1fb110e04bb2b26a365a31e2e8274d8f97e6189247842af6352dd58663310a02000f196973825b80ac55599115b3ef7ad944d2ee815357daa54eac264bce223b06193ad544e31aa94e4413fb8922371f9ed16765745b499e157988b34071682bef475b2d1d00bc004e0b61e651ecbbdf117abe9e7bdaa53fa65e2747c928c173ce118cd3ac3cc275719fc2ecaf8f2bcafd7549cdc9f55c09eb9286d51fa101a0f7d80ed3797a71fd39544eb3efd642bfa0d1e8c8786859c4565746c02b0cbe7a8eadb9824a217886d4f4e426d83ac63ace2c6cfa1db1da1f70ef32fe2c75f4df706e864f0a387ad260c5cae0a4ce94e31fce6e689b8a9eb1c6612d267fb04793857a21c243d47fd928d70188021a520b5beabe71e93beb5996d652873735cec24127aa6c55fae5933490db35ed67a606ddca63ee9236e2b652f346b5a1bfadf557d95805a35b723500b2f6a0d63c16f7314a10ee6208ab306facd11b46ecc4b0db3dbc8bd77f3d94d6484d53c8e6279cfbad8b6f66bc0483fd5117b424618dfb8a8b09534be889fbe85887cfda5a09d04e0b35538e9a473eb1e6695c7aa053dfd454dd0c9d8857caaf5ee9b88d4be747a4e7cabb967642e08f5a2a9445dd50bd624505de9491b3076b4dad67e75347c6ae3d394eb57f0841c3b589dc373ebd03296087b2e3f78d859a955dabf1ef5d3afbb2feb079e097b082c7ecaddeab717dad088064b53c86ae69e357a4054b79595849e3d50f0d3029e180abb1629522d8133f9c52803df54c215591307afcc9e00a12c0edb165a637394bb78a2daf1f63ad6147fe24b60afde47c34275fbdc4dc25efadb03c54d04faba8ad8588cb3f6a68b22ee7d8576c94fee43b1e801487d1d7f770c428537a3e75b49fdae135943e1632b2dd2faae6ae67835f8c35375f1a434a9cd1f24c718f293626894d59e619d5616389f645351a02cdc0ad0d5e0028dcb043c699cfdbde31f04e0540089653cef2f6a350e6dc20968837e689d759e3cda9e0b93d8af537b6ecf663c49f3e876b1513be1bf6d2ef4637579232d7438daae868351c5dd0c564ab715a39213a3e5db3e4383a41586808ff0101ba9948f97c812215d28b71465f5d6d40f069ce572c6278155f1f26dbe79a639c49c850fa60576b92dc1e7e3626d1de4fb048022f8a994deee8d456cb8cb1310351e806f26faf8e2eb7b6ce6acce97f1766ea91c54c8377c78137771b9b7716c1a0bf99b61076c8828fdc2101f2172cc5b50b3ef5a5994fa7622c9454a1dd8ab01114a0f3725e380b0b110fb85de04e400bfd34e96779a32458ac0e11a003093f312ba861a168868ecbf2f1e0a13792ef047282ae9b4a984497d185ad53cbbce1241f90083bd1a880e3601e56bcd4f3a11c61b4d5f8fcd44db00755c6c1d45b6b693d9279bd2138e725f45aec45522418f2653b30f33d37fd1dc5fdb25257aa8911da886ab6b6c3139b23a0ab984e99f2e2066ec5aa6cf30c7deabaf0e49589c545aa8940979d3f2ee88e5a3a99595910d597f9910ba78e4dc43af2330d07c85abba08cb8b4ce53c002bc2d62df9febe51ca462a0486c66026748162816e896bd84ffa0a5e58081c9eca5093acc832ffe8cda88304a462d21857ef5a10d6135a951edb04185da4966b3833194d81ca54e3a43d0f0b582dbb39dd719488c4c45d7a43c3555b11efadb4ca00779cf6ee07ae13768821841babefafa6bc0d322ae3777eae14bdec1056f0c20948b51cd3deaf1836a21518282279598d18a5098098d953c47e04bda35e8491f0130bc65ec0fce05e93fa4d29101bbffd6648918500447e8f2c13bb2ac452825d0de0de56a43b36d8bfb2636cab92be4eab4f5033e2aa88aec3cac306a9f87516edd8785d0f3c75b9c5daa671793a617b770491cba727fa2f9bd5add98433b574f8ad12ea3141938c5fa6b9d0afba9d8fa3155b67792aafbd9f85aa6e60d6faf931bfd84bbcde59c1e009d35831f417f1560381e0b5819292cf06a52f26e4347cb37b1c64d8790f8c7bb96f94df5eadcc554eb3c56377ea5eaafa640db1cd46e3f883f19cf19bf7217cfd065690121e5c36db80f521568da5c50f8e7366e5241bb0bdde371eeb728084721fa8d87d3298322e467836d75fac31a39041deac999a77c19670969cd098b36689c21d8ca58150fdc53b0fd0deb12f0bffb8d566976ef0739eb81182f06146b408f7a3be782dc9f0d02b868eeb713de80843f30ad1f3741a060ee5a7d1a8a5d10dadbdecc42ad8fe88f6f0234c4c6ba15d2b536629681851a018e7bc8952b5304f5d3b0e0d3ae2e0840d0338afeab2f49944c6e158373ffc596abf9d4b03e912e8ac1e169fcd517727b5db0b9021c55448cd5d8030609acc467b64582d147e3a58742696fee264b4386e4b8af3a6ab81331c038388b4a7702105fe623d19b3dca69d53569a94aef8f216b0e308ba51bd795daba202f06e93f739461120de7f0bbfeb1b43b6bf42883a8295acdb7e6b8c9da46352b16636304ed6ac5a89ebb683dcce2f13205dd550a605b5517ef854059c23599cb05b9365a46a52b97dfe1be54fba60e451906f48bc76c27ec2f6f6a3bbef67122106aac98cc862b5035d165b87e55a682bf480088d291582c5aa8f4d23f6a69c4aa684996a7d10a1f373a329f7cb24bd36eaf26576c158d2879aa596fca1f7d33aedf882db8e531e79b3c42220ac4c367db9472d81a06cbb56ccb6043fad0e47869e7246feae2dffaebe19e429e17f269d60f5b361b947c1d9b928bb1a547ca8e978d0ebf4c06756d8afb6e52090907dd588aa088e0e76b3e5f24be2484c1ff035a766e8ca3fd47d837aad6499010aa8887c74fd55b2fc93edb2871ab9562e0a47604031cb9a9caf417adfad63dd05a9581c34d6d77d57133e3ae99c7bee822769dd1e9309ab2414f6018a05acd8cc200f69555ccd0272ccfaa42f515d0759d4cf4b6cb2ce98defcdb52c2e6ac1db95118c8fd125389df11f9b9884c414b1db0fabd43bb221e28c3ae02c68b78b676f72e3a67bec1ed9577dd67bdd510c56074527cc67d18926c3bbb499ba3bf2d67326b7deb802ebf6cf457e15ce4c92f711b8257e979d47ae3f3ca6deb0c2e1eef1eeeb1504ed684fb9adee38e60cb4a6bd444721b09fe06a49702644587e790572466a02d0664d5b406e43c3a20023e1729ba0943aa8632e50f58b52d5460f6694df5ea3e252ee93154d9a0787fe18fad30deff0530b8b645bd48f48f75a95bfbf58407050967c14e2a983be211436903a36820545a40ac5a7387cb8d4acc72b752e88af37cd156c00894518972fceef43d3a2672b19f3e92ba282e886c75ce392cd6824d6db96539a7ec222c85bfd5699f4322cb8c5ea6b8c3ee178c68f1a3da7ce4f5b4544d3aeb3bad8a7a099ad837a514b711f7ddaf035185c21e3e79b4cc74f2d092b13cf8587332dfece8038cc654ce596811bc53a82d83110a25a038cfdc07050312f6bca74fbd486b635c2cd45426bd06a4d9358e9d46abb813d648630861ef5d1abb3b8fe9d13411b6697566e7f2ee70b39d2d4514f078f321d3c1d578f7a4cf2895e196fc7dfd78fd204f8ed1d146b340fc24b1860fdff4ab98bb75ab70bb19ab62250d8791c61972402238198482bfe606edc30550ec19ca00ba7e5ac4f72f94369d5cdf75d2102a6c94ecf3e9202f235bea32e37bd3a1591d8812f1bb262c6603e5250bf0997787024ae1af2a591d694549fd8362fcd1fa15bbe211fe7de0c329af1a69a35d599f27f62f48d7ee812e0a99340706efce9af1574df4356026bdc7dbd8c8ecb5d28535b44d3d2ef15589eafdc79ef88b5a16be8ee6b2b89f179bfd852d9f29d4768ef7dd269cd130aa393623fab7827a6eb4295a75a55db2cc24c6d9365c2ca3aeda239c54b2d2ddefdaa4240fa030463ba91c5a8f0bc90c89b5520a963acbbd48aae933b03c9aa85414e1c285de8c16c29532c21327e3c9bae0fa153c6813e23aeb79f095fbb0680ded3c0bc430210cda1bae340a6e90f8855745e30c8a7476d58675ead084c9b526ead4ea8be66554c5da1c5d0ec138c610ee3834b6d6e8d9662b763f8a9ed21577c445c6fac17c39085e8104c0d2c2076a7af0f6229bc0ab8ef206eb83a7c0ed71251e0e6997f87cf088d568ac5858d42272e44d1c696257ded79fa558e3a4d662321964dff47ddf7b97aeace30c6bae3e8d2a4377e99aaafba2518e37afdcb28cbbc4bea2c0e3bc6119ded40123680835ba6dc7a13267a2deab33852bbfd1c26a4715faa597f69ec6244130010cf594e78bd63f385619edd1c1e4ab54cd7a5f16c895980ac43cd526deaa94e180dbfbb86e49633dd1bb64d3e0691f8d0f0f379b55b3fb75434022d21686a274473db0409d91f5a6bd131600245792b85d2fc72b1dfd76851c5ec79224e946737de68045fad5534e6a441e4fd028cd9f30a03a72cdba4c82863789edaf532f7a1f8e1ef8826011035aa54e6125732caa22e489af38a50fb756aa0efaeabc0da5aa5cd5d202c392940887d889dc820f13b77d9b83ebf8ae544babfccf1231ed2b23a845096556201ace8da073ee62c02631543f9386b9b12a37cdd76233d0484893d0d19464ac178e975884dfd27bec4889b3b326304efa42a58b22abe50479de4e74d8159ccd7785e1486114ee2ce93a56c7dfc33dfa77488fecbfa70fce2d2b4446a9a6d2c980e84bfaca1539573aff2c3d68134abd9cd959bcfc8290a119020ca3c32ee00efcd9d55f3c56350cc308484f8c8c87be127cb32dff6c0109ae3a97f80d55cfe0a7244d8d1aa6e82c0499746ee262c7589ec068261dc6c3e41a217e34a78fa0f3f36e38c10a1c59aeb4a69249ada8a1c4a0425a4ac79295d625f532a18c464435522b59cf0ac9e6b14f6c9ec0ce3176fb5c87779ed9958feb51d346168b5d4ca181701b65b8d5dc1cef211360ed027008b6fefcfb6c9a40027d9f30ec88da2dc3d379c036bfee2574bc7fe56afe9036cc882717d8eef9da5faff681e7bb8705c1f30acab36f61c6d0119f0d5d054958d567897a041402ac87139c12a1b188f8f4a344f700fcb4e0bd2b9c7246aa59a8482014119debe43ab51509131ec72e964405eafc489c173f0bbc95a9526ec5cdc58997432783c1198ce73bc7ae608d0fc770e53228125f4e7a823b7ee9bd2b2717e60853327b8e18e259564976e5130c3ff766910cdaad3579525775d2277a9b8d903eaf977c2c01d3a8a90bd7eae920c6e81bbe82c4e45da4e979917592757a3de6e1bde1cc5440e0a0ab70b80445d3b329a1cf48260c67ba02330dcb3135fc18b619de972c122bfa800c498f1ee69b07351083b8e169107e87bed4fad3fad7e707391b6413344f2006a84f9d82bef506206ab6a619ef9a037cbf75cc83fa802e2241b7dadf26c46bb462d2214e497f1f584395572c6b09cebf091b22539513811b4e9206bf5a0e756d531d3c5dde26d99eb259663347c6ab638c62d5b96208b8b6fc4dbd96b8d4876b8d3d622c4608bc0ee55121c338576b2aed4b6934ba1539f7c5f9664adaf21e50b683ee5c09899916eeb7734e569fcc3c693fab0a9f86b8661f6eaa866cf432b5c15347fb90fd4480df08e026a8d279e28f79d55350a388de551363bab41987dbb7e14ac3efc78871a2930e02614e31205bb4ecca5aabbb31b841ee1578d401d1fb6408407a1e82a6dafbad2de1f81580049c7ca95712e18560481e766e9a46f16403107796ffe27300c7938833039138b5d84a3c58bcb8ae5958caf9425b4b73c8c78f2cd8deacb0784ea5a1bc03d400f9b8170e9e2e25301a6bf3f1170a4a1f3b532ba7bea40644548ac7c40285442c61749a4fee48c03488bcb8eb4529c7faa45a39a61c7fafc630afaeee6a05257df29b802c7e63cb83e109043b930708cafe0935c23dc69317ebe1a3cffaf8a3bf41387338b1a69b1cc555ed7816f1fa4d5aa519b2431497b88dc54e37d3ae1a4c560d4c8ed3080f3272640e6db03132985b1de36ea1bde95ba4632e6319054329e89a6378855c378ee3e7a26cc6913f2c854ddee608d25dc72706f1d6d85175a66da2bd1df7644a80fae8572db734619c844b12c3779414b1be455d21df076223425c9d3b110b10ed7dea180a0d8d74a847ee862f701d270a0d859d41e5da665d06fe946075cc32f8f2f0357dd760bfb5781467508fe13c799121358c0084012972764e1819dda61b624546c182c87cd29e8881182ba1cdc2d2fcdbdbde44e53e885236208bb17b13bc7fb43f349de766f9cda765a23715cbefb19925569b51ef92e74ddb03721c8943471f8f941a2d61609b1cadd6b2da78e93d90c3258652e2de4c3c6bb21df131ef9c793b3a0f15afc5002375ac91f35e14548b872548424aee56e3207a79dfb819e07cbd6d51fe3a4689219eaf4325b6a818b16b84e3c1466201f2dcd2f2535591352f6a2a4c24bf4f64ef09ecfbe9a6097fee746ffe21b9c2860481dc9a1d8bdad4d956ca5b9c7b32ca50509cc2bce59339c32439e8f8926b8ccfd10c5869484b1a74cb70d5e4254952da606fc35cf36145481773bdec97386202521cca8df46ae36329d086d6de1e0c475f7e22741b9339cc3ce99aa106fd7c361464fd486855444dea2068d744d75917601fdf5b2306bdc1b0dcd910de5fb551c21163278e912acd178bb2ca7808103f599c5ce6f7585bb381bd5a21bd0b2cc2781b5edcbfd30e18c11df176f79d65025bc67d9b621afe8881d6f1a4dd11d6a07a8572d7dc94606b6887b17926a73478ccee12e671596817c7a1cecfa731427745371f537b33c94438d6ab6226998cbdb09efa9db40ead9e52cedf9c84bcfeede6ba8fafc0c70267c9e1e67f58aac943ad2c3ccb40bc212bc897f7c716d800787214c5efd389d0f2d05a5bad314bad6f0b69ff98b13a3595cf0a85580beffe99e2c6ca5fb8b18ca25c1d7833494add1f57557bd75525d87b1a3a9c1ded7985d3609ed1e99f2845fef88cb256a1a6d1b2aaff95d96ee6223ce554f1ab55a0527b08645ecc5640fd85b40e896f8bdcd23d55202d3db9785800be76439bd09e6a5ed7751ecbcd6854a8e682005632795b1b9d514a064f9d7bfd44d04796b5d3461712c504ad36c349924a8db929dfe705d0c7765b53819647279ad83cdfd5233b8ca0cc1ce6f8c53c6dd1d071653497a3acf863b3647fd32c5194385037b9fa00fd08d80f5b910e3d448488ea7acbf249bec62eae05194cd6c167d4a58136f50967465db25688e28791b6359d60da31dcdab28a9e37b352719ddc6966719e0db3f9e94fae448dbd826daad40651d1aa09be923c00398d65051721dea846d96cfac2186184a15b9b69e09bcfec5efa1bba29ecc551605f40d724f149bfdd539dc3a26ca2d312e57f1d87882eab0e74c61c5150423faca53cd6ba91175b0da1e926674ebc89d262e9b3455d10c46914ee805376f3e8b6cf478ea1f6da9b0dc57ba39887c9be6e520ae3496d238cb1198f98dcc12f2577793b9672067621d938f536d860fdec68131581821d580ac4a0fb6b149e919ca047fb03b2ba33242d5e259f4bbd1baffea9898f5702b3d89891fcd0332c38cc9a6b365a8d38a6f737e1ef3093583083f8a0b97664fcb6e05b9668cc5385793d4ee24544e88a15458d03b584abb80a4605a55302e3cd3219a8c7c2c213a19f5a314c832a8f642ee1a82d456f1b933b035fe28063dcb800830c47920da274e20c973e7725d7addcf33dc1c57df12e5313e4829cdb7673c10e88f9396af54473f94f8b52be6041aa230bc53ccb12e5592ad002ed8ca1e0e96ae8fb43330b3a2580dd24de05dc65bf7d97a390add239b961c0824e00e6b67f4924e87d4804055aee62757547baeca8e7405fb556f3f8f5aa27ae6251783c1b0788d658b4c8a930a34a6cd3cb4c0c3057c1e0106430174b42f2abb4840286c64f377f526dba45c78c1f3825948fdf77f47ca38ff6f69cbb4c71610af969a913b7787dc215f88236ec16005508e8d98b6071b66b4892f8dce73f72812e5cc0a2dcf773ac494ad31ba3a1d0819cfac9594baab6671f3f84d1b08b2a8b550e02d4869e9710f26d5bdeed5d8986b4466b09687ba30966caf954ef78f14301b3b14df9491f3f0ad747eeb2e22140a18810271bcd5626318dcaacc4dc4274e3d725be7ebec78d5faa1c476a9783ea9220283dc1ba837b1ac096029239679d913518d170e38a746bb216b3635aef312c7f75c57181899f54b62a0914f87eef9abb020222ce40e9878a8382a5c9d96c35f2abf94445c3500f918593bd2b5d1387df0868179015c202969f4e2ee0e2cd1fe1ed9058bb890adbeeb71909051a90d8b120b77c880945fb252930a73cdb0db36e36e3513c05c7b3764e99848eeb770c978eb05e6ad5f037a4adefcd9693f79c6f367a50278fac8a8b7ca436ac86dcad80d6c293bea531b9bdd95d55f8f53d6e71bbfc32238a246e1eda05fd6d17cf6ea525651e9b687345b0b3db4e9d63426e83c1b7b906d88ec0f73cd3afa9708f81ef849b01bf55957eb711f1364833e23a12df6a02e65b26838be7390c37682da4a95b706af239becc5d4ae6566bc04ed6e1a279de18e1a570b477a413f8d3e20cac291de2e9f662001ffc6a11506a6922a60c95724482698c8cb4eaa157a0019c7aaf72e9a568093911d0c816e258f7dda82de67dca24754cd6470c6cc81f077c1492af8176991a92eace1d0b55ea21edb1d48a7d4cd661517d84a1b24bd7d6919949e8473e3f381c81293b7c19ba8c09293b2e5b463fc3a764d14e4fba78158eb22d8e3211d1310fe97b6fd03477540e6687cfa726bfd513b4f629ee992f8b66916a11c6dc07918ee50350dadc3b63257e835365f59da637d5170f7e7e9286c92d659eacfb6eef89db6c44a8932f1b1b80a4d95b0d3cb5e84866a77d7fc9af16af035666657ed6f2079dac1ae2ecd35ded8a874b2c0b62618613edcd9040baa9956656b5662a803bcf56ad8a8ae428c30f473b8373d776669aec68448377dab05a5d17e6a9f99b28054090d781b9d698581ce2accf69ee32d9d28f3e584f7e295302c5fe80c45fb2876eb1fab1caf15a4989807c876dc3b8ce8be5032e5c8ad7e8803035a53b6f799d4a07efcd84229df2033d84aa852661f25977bc382cc47aee350a0b07482a99bff4f199a472be6059df020c943012738de99332692416e76ca57ab045bf8af367eb5121dc7886b1db852d83d5288269d68d0241f892e584db2f7bc4b6bb5ff646d418bf9e0c7069d461fe2c71326696ec5c3095d10cb0dd0ce7f14cb9073ef9779b4f7365073601c4abc7144719d8fa0d0b8a3491616774b7a2042204ecf4f913648bdb0bdee74507c051937679606506e3ce3ed9cfe8aae4a8a2e851235b5d4705d1894b5fab533c419bfb8cd541d0b427f25b47033e50627d5fd95eddf7b75efc56b09a407aa4408e38729eefebd98ac66986b403d39a4d2e0444288e210a5483493a3625cd3205ce54e54cb4836121f5ed317c2b20c7d184a61e16168a86fc357accc95d79815c35bfb828842d132d97e9bc3389b26bd624ed202d29720643343377ec9fd151fdf03e882927159ba0aa2c560b6c76b044a6996713c595015c44c1c295a37832c801330c6d81dbf802a0c490af3800ba8af7e2c8de8f19c10d7c10f0db151b200704bb280d2c483fa76850114ed2056f1399e0e047fa18f50dc625be5669216a410ad6338ca9923fce769da345cf9182e170d2b52b445f505f73add94e1b87f6e85d21e4414ce39b28e48921db1eb9450f2fe4693eb68d3605dbaab18d352fa2dbbfad8798aa5486f60770be0b7bb5912c49af5e908373c8d4eb762debfd14ae889e90532e394d361b731eaee54eea6350ddf100dc55454ed9d0353d9d984dd01124214d274d17c2c361cc590376163cee6b49343232dbb310290317f50c13916a966c1dd5d0d6daf5271fd5e20e9f8e4794b5d0775b14e64ac615c5fe24843569e12878e7b28a3dec1608f93d06b8262c65c43038039ff3da3f40553cbc4e7f0e3b2950c7d10368627d3736ebc650131f331873a737bf8e5ccd067e56902d3d1131784f869d0ff178bebd9a8edf1cad72e494e803c0a5b9f921094d63a68e320ad9880f40d7e08311a0020498d8dd034237481e794fa31c06ee1da8cbdfde99c9649548b95e2196d77bb99e33ee533eced7ea472d210976239f25cba7f941e6c7a2dd96b5367abbe02f4fb88899eb45de56710853d8e42d909d713bb5da49914fc05488d7da56b14d366454a2ddc1957a613a0f25177e0bd7c38393a14a483aca3764b04761b63aac476658a2f134c5188c088b973f9d1e96283f37a8cca38be3922ff3a3bb035d6aa9e106b462544662f6ddbc602033a7e7268cee29abde42eb1a4b0838d307edcb025ecc2d2fea06d70737ebb95f93fd6c0e8fc8df7213329c7b9b7e01a401c8057fbf730a43c4576502b3cd814d869715a23c0b43d3b640763c1105cd65af385ce5edd21b578d6f1af53c8a246175ee22f03be229c2905c4521e67a375100c3a20736d44c9e0beb6ab133f0ee739c4bae514a66cfcf2cc64193a5886610265ae7576a20dd30281f24ab12e5fa2806aabc39e3b68ce61d9431ed7081130fa5d52512c22e632da93ddc1a89950ac290de8f8abe4ec91f4838ea0097514a99eea5fca6aab3953e76ac00f65ed4ac7c755ae43e7996e6efe93e307060da4bb27818d2978f13d17bb3cb7b54d39a727475b3ac28a667f4e456420985900f4dc98234063fd22cb0c95cf2a62fe16701cbf6044a44eed17a78381f1dbc72baeaaad39e324f0304a44dd880154464930ced99627deaabbf269b2d3daa41fb6c258a0a0bd4da4f47e27aecc01a6f57449f8a7f6dd46bf1ed2a1dc839422c7048b2c8e687fcea7748cbdd039e0396636d4f099486c05de9adfad129261bc1f4b9ce77a074d136b59c46eddc3551ea9d6c4c2540e6ca6be816b59128b885d61ad7b0867667f5668986aada22e79c5072f5ebc4c4b7721d40dc46eb748ac19eb16e2283b383957ce9956df9cf9acee18039c2a44910b4c4aa13655991a9e260c4a7162126bb5649fea59d424bab44a2c42280a3c8e4e7d61a401a534935016abc754a5b198199ffd1300285ab951ecf692709b4beace887c4ad6ac97e9730e60b3d4002599c6f98f1dca1acb38be121dc3bcf3f5fbb39a123419a10c5930d1b2b7c2cf7ee185211ef45f8955e6c803df9951b22df211b59650fdd599fd53567076cc2eb393ff738cdb9e28fb498fcf04eb697a1c13947b952bf02f8624849785341aaca71e3f03305ca16b73db14c4f9b84ddb842886e6fd721243a269e48df66ace45e87a57a4bc9ed853281ebd5699b92c71a537b8e10b2310a22ff34b4267c315226e0c8797481c40b93e59a4a7a37d8b6c726e86eb4bfc8bd80985d68f50473d0df4b03aff1d500fcbe35007e6d660742f5c945bd8381ca03e04435aa9d3efbcff4233f66995c0db410ca47dfc1cce9ce3a1d3c94b2045c5bbd72940ec412803930c32faadeb9ab0213ceeca58eb3f063a3f65dcaefd6e8a2d122b4471b6f236ae6f2b217762727f422b69c08047205542c8abb0a648bf6786329a4a5009c0f1648fb660e1ea8eea162fde59b6d48fdf5ebd5c028111ba82f2e62ca198b2a4b7dc6e3b701f4165e70b51c480d82e7b0d34c0cada65d341ca59500f8bc8139751b3c44f4476525a8cae738c6f39a92640dbac6497c03b26001f45caacd295b4cf03e83d56a7fa796afb3345705c8e56083a19bdf74ca0e03658a2beb83af643d647f815cf1c0cc53ca6a856baad3f45081309ff433c94ff46d5efdca9e409c0720a58b8b43b002c6d10259f1e0b04e66a7b9bc5555d0d28e2d1bbcb4c38e4ea87d85f6db958dc3d37521e0c6f09bdae9b61fda5290356fcd52951f968f355503ee18e411e525bd8e15bc39075afba89e8b8561ff889193262b81ab8a049bbf9f030ff026bf6919da32be34f851b708beab4046d5c0ea0daa57c1e291c0a9dfa2f320850ed2e014a4f31568b52050e6b97b9da06888d5335c96c08418603c1172221faa52ba32670788d1a6e3a1168b51740544f838e9491530bf370c9997288d58f078a6fd31b1ff396615800f17b379e77844945bd2637ed7f96134a672597c279277c6f58579bf0e4b35e5d733932744644ad25badbfa2af130ce65c93081eda762bb4276b3dd71c4a4388095cf0bf9ae54d987f434d08a745b2772f2c453361593536039612a6c906af96cd739794101751bc7b319da1ca6e165072df63f7adcf1173fbfc483a8625cba4e7b193691acfc2e207daf9e1a8001ca809aee4d6f637c10524db55d36dfcee181bd68b97b63871339b7339cf92cf222ac477fdb59c3e7144643a6aecdab72972e4f62b48495e0e8a84ab786470cf99a8f256f365e10b19fa64992fc262bb4bba3addae82d14d5c8385c92c7651a7cec729ed12a64e75e6008b848db3bd6a2f65320de4c97aa8f9e66ea6b5a966c32c200439193e6889f6ecc6d539641c66d3094ae3f0c9f002ae9f34d604c691ad25615489620102be77b5493df0c3a4fa6e2bbc62eb5efd8610d1ce1fd40c35d39bfa4533d9e402980b5529e0c483026448edbb0103e40d58fc86344c79afc434165aaae0ae89e0e504f0d10dcac9e80e3ffa0b21641c64239381e91b01cc302988f53751bf11089ce5b54c1b2b946c29cf44b7a34d9ebdf45ddd63f01e0d0c057fcdbcee51a1a7e141d4627eaf447fe5a75a759fd3303cff78b107f2e340f92b0319c33f51cdab49814454fbf43e43b9f24d75a9eb83faaf219be57400f51fc5657163210040c18238e076c4ede3ce0d7777aadf6c0b2f6f9299e14be7f5753908d4db2743cd4ba6cb8f09cec17842706ad54f549fc1043ed958cb28a6ee95461bc23eec1d221060024077ce8eef37f3a49ef383b14ec787d563dbe4f3f90037dfe7aa0405b8336373481566278576c5c5e68f398b09dc67827e75ac95dd9d553357897da5c8a05d1f0ec41f6e51787e9d949c33d43e964596a21c2c33e9cfc08fa7d673a564836ed0bdbf685fc0acb5f00d961cfbc4a6ec815ec4b35f151ee272e625de1c629d38b6eee5144be57bfa0ed9b03520c31d5aab1a5af9d80c1a1b5b3f29acaca53231ee00cd1c492118787a7aeff843f884d64b2746f8521472386ee68bbb69ecb3dfbf62b3aa229e46418c012a598ccc3e833ee2d533cf405e62b8be3e4566fc365a52f5d3f011ce55c49aaf6291281949bf38c8f538ba4ed2f46c49c5b6f7ba8719507d7f1a0a792af4808c75cfdb2de5bcd712707f7f1bbfde1048bc1b17b6b2fa00f5efce1ce567c1550308a5ec5bddd53f63dc6f564ee4f98e3e23a02b38153717cc8f8237772dcf725a877608995290c745a9d89d6a75780b9cca06e163e5a8d380aafb1d2ca43fc276c444bbf4524d5943c609500eae0499b4ce5994f9556f083a09ad372de917021bb01427592576361593bafd0603f552cb64de09757c559ce1ad6f2672114d0be29237f59265ed6d5138422b91dc2ab165df9636f34ca18699c1b3940bdbad3c055c752b2d2ba266aa9cf4da6bac23e4c519247fe19df269214f300158cc6b65836cc8e5b196cf5af6bf2cc1020f8447979360e342bde66cf4975ada99eb9f1fb239c296b6a379c725da1c6c5938e798e49d637965aca16e62bdc81812e27a4fb8f45bb41c95bb900f2e6ca457c006564088f5c277937da6b1d346e34eecbacfd6a30a509bc5efcf8f0cc0581b14120aa4d742eea9d7e734925aa420b2f6e4c2b7a7c3aed8fa6f2ac9c7207be59e6b5309d69a24ce1d238d36d1afc4b95ef7839d6596129f525aee4d5f4011f0130053b7d511fab8b61ba99b47a9bcf22cacd4e57fdefe223dc9e983603558144ad62d90fcf3a010e0bf55f9c17c1b900a97395b5737a99b3418a9bcc3faca446594686e9662f0ca0f1de3148b5bcb924d9e242b24ff102e8e04dfee85d4c065b8273e856c46c19068527d9ff2ef67fe2678fc00c26be372eaa227ce57a09ce2fcf0908d2008b226710d96b88515c77c311c807b1d58e7988910bcd50e32c8ab2cdda2a1ae788b51d1fc29d3eb959607fe426299fc0ccefc1639923352e290cdb209cb5c5e0e0774e54780560752d5f969a8d24c152e0db64b189505cc6895716b33475b65b9ea3a7ca4542ebf655ec3e81a9e6f1f40e292528646c71edce828ea49d3dfe3f3086ef828a36ecb83aff0fc87b6ad5f81ca0f3156574310577e85c13150e899816c5eb56564d0b685b6adeafe84ec96e25880108289cc2f5d183bdd935cceb6387ccd8890ed264009f0b2cd067d048a43f204ed22e7bb7fe5d349f5c19fcb3e953874c24b65c8836141b8935387a7381d8592142efd00f32bbebe505943e97e68f22a1affc1a37577cf1b66397a90e9d0ac96ac50106cd88812e8fe40253aae84abfb0b0e362a4d2f911a91ce383bba3be42d3ab68f262e14ae05f6a8aa4d8ca7f4259447219587081425c12e3e06c923bd29390681073847200a71106bc93b84b9b2e758df43e1f478b517e826c51123b290721e6055e379aa547903d07fe1bb598adec83174a5fdb543c3afffe157ffb3335d7309977cbf29d9aed6593ec26487fc052de3adb22d63eab4ab48ee215ae7daf99fd28604d99ce9e31b490bce64e1233ce0ef446f45e4e65a6c242440df7b4b4f4e4b2e5e915b05d9473cf1c4de556c865d0462fe3e1562432be6804d53a1d234d55c5141faab856488c5dff81e17e81bf98961909f87db3f840e5f68a4711aabeba2458f2edab465b96d942297a3a4cea7f3afd7e8831e6e8923d28a6092347ba1bf8c0db2a74fc0d2f2e923a12daa430e5575ad78a32953b9f0e44df5f280674e5f55108f8c04b0d95716b712b27d3b77a92dff58b4e2d11f867f0e7101c1656500bedd340d3e4e5195dc82d3e5f999dd1550cf6e7ee7b4ee33c1c4c3683a86c370fb6dbfb31a38b7b62acf20027b2b4464359e1fc2f5761f8600ce81c4ba4d71f8aec8544124d841ef8ba0b305fc3ca556b967fdd17721cdef3b37ed239042b4b3cce86456be0bf7729f0b7c3d64b26a3d207adaeb3b6ddbb76e055bee6ef16e19eab241842f30fe6adb553c37e45fa7135c2730e6f78ac7fe55a3575c8a501a4fc6a5a7b86db1995de4b43956a430ed6848a4b319c53cf3f59f14f46321bbfbb211f8e4de05c1eead97bff65404653c0366bf56d35b586c9384c614c136e26124796404bd209d32016daa7ad75797be208fee7e8a0c490fc9ef150d3756f9bd868c8b0722c1f673a5117e72b7c6af5bc78cdd48062bdf4afd38ada027a2ca3ab7425a20adae8253e7cb76d9c987fd42b726c7160fdd107beb26c30be20736f66fe9d855c5426f7cb7f6ee4939a89ec4ca611bac4488beaefc0e5490c41ccb750983cd326c81dc49fcd64b05812dc34e3096b00201dbb26e081c32e9f9e0c819e8e9b300551c4f8afd03fd0233aa283718e382b18e9e061c6437febd7765fac9ca850f53561e13edd53af823bef77c0c786aa62b66ab20d6ef12ecc2e67675e77158cdceb7539dca314cac7d72c05e50026cd4daf6adbb6e5a529d50b1959409d0ab8f5b637287753857514550e13f4d612658515dcd9f1b510d3dcf16fd0316947a1e84e42c1c3b8876abcb00a8a6b2c1bc2db675eb1f73afb49cfd3612cae0f00ea9fc2cee827c9b7ede95dad39e83a33bd7870cad63204b9d457d5eeb6babed06fc61d3e3047020d21e189db8e5e97268745fcf44e83080578ad8925f935e595b3373a2d731096b8988b0e0887ea095347df4b6ba69f88f30ca4fbdb4f9420f3a860027500dd9d096f601044c450628d995a0583e48c19829994f091f362bffc1c4b97e90e2bb27ad09d97218459a3761739bb029926b201b9fc37e2562bdae3ed60ffc84421eeba3daaddac05e72ed1531a4822eae8efcb691d921e3f54f2313cf296e07b8737b5ce47b6c5496dd366e580683ab8467ecb16c07257a0b02af18323ff5499a7280387d54342138e0e3f1d1a51623f034f164277946b8decc9ca6c3e4313ec7938af0433aeba7b840833e41a6cbb65cb6f61608633415ad0e87d87d7b16b43e618740534e2d81b340a812dfdbe052e5f70778e754edfd46467409e4b31a78fea347728557fb00fe00315333b820a480a4a578acba39c774797acbe5c45e917c5ef5a43454ca83b57e3ec27a920aecc1a991abe2e92e68a73923277177765146f03877bfbc5491564f3334ed9c0389895db8ebe3ac8a428429cd8d73cd4bb2554556873466dde5e7f213f8b3a110d95dbb5919c8404a9fb4edc1d1ed4fd0356376eeb9e34d370b62ecd6c76ec483f2c45cb0c78c68d085c5d61e223a0887e210b0ffdd28dca673bf2d618b903fcd448c6d7fdc15b0742c52708f0b144caedd2d4dde1a8b3fc2ee15466395f4d0bb302441ab6b199e02f360dff6744dc301b651ecd9bc430c1631c2382260fd911a61acd81aea2bc672cf7b802b7d03ce95321ad5d6ebf3d50fbe2224957986d4f004a7dfd99bfa10bde8cd4458a39887f3804c5cc6dfabe4e81b565f356ce77d3c4f9d2ba41f30a57bdb8359c703cd38761ae94548a8661b43e8cbc3265545c6326ee837481e3dee43e7bf866bbb66903313782ec3a6e6eab778f53051f53bea708da55c7c0235025a914cb36c4d20cc26496e9246055e5141410fe685b815c890b0a6010ce90742c41ae9d20148da1c6d9fc7c4d667863a81f4da7ffba31c33066330af25ecba2c20235e8b9a4f18d7dc597f1f78e4bf7d8e7997862f95aa49d56f10d51fddf5b7a8382d6974dd694244bc01dd78f4eca405edb1f669478a071b8bdc0c137010276193e640a58b761710db7b8cb45fe5d6bddeb5ff7880b440e6ec24d3a77816ca30eefd1b2a8cd702fd87603f81d68750def4a5a9c879fa7d47400a41dbd9c29e2fa11635a69aa56e7b2fe64a7fcb2780ce5e1851da92e7721d382497845ab575228bdf5e28677b6d3fc304167612b515434bb101770c23357353a2d38397f3308fd82f10a7e27463b0187cbdeae1851f7222b300b2d3d10519e1839bc1ed0d8ff0a0785378a82b73e5f36d7ee205eb186d12fe21c3616d2cf9faa8b813df5792b30b47c68c70bcee9e84dd2fe4781e973a649c58237d83b03498c3e424cc69cab8b4b0865fcc31e1c3c49083ede5ac9315f11b87d5871e46f26f1f83bd71707b21fa01350593d4f7ac6b5695497d03c64cdc5d5c8d5af63b40e0a5a50fa0a4694aa80a01009a8477d8d8511b5a7cfb99661127a804acde8a5ee88caf489f0c2c03351dc2afae09c4567b06ad65fb0932a34d893904c5f4c9d5f03d9b837e333125ca98f4d4d344deac4382e74aa9d3b80aefbb31568ee035888e69fe927064fb218deb1fc87511d067f969537c5a26b51b71929ab4cfddf9da88fde0a1fb9c715bc542970c27a1e2487c8ae779ee02dd5ab5e53f0df0b98601ea8b7022a321749b9bf00918ce840e126110e3466dfa0f725d65e35cc94f4648390e0d78bcf56b2a9e16a6f16532baeed883bcc7168a3211d744ff77992568ac5ccf5a53695ef758d3de4ad1a4a3a99cd0a9c90aec31dd160ac5b51f5b7fb1b5dc712188c3f6a91615f0c5a5aac1bc6433ec98a79faa588e11586343195e92e31ac1ada403bf264a955da13fc9ab7a8f486335c791273223e273d579dab48c8b01bf02b54b641637cdde16aa82925c38c3e3ee8ecbbde825c535120172915e8eade48e02a2aaa0af1b1acac09a8a18048bc1ab7e154e1e624777c7481f74ff95d6cdcf32e446300a821629122a493e6355ad780172687b01c8b825899c42bcabbfc3d80788eeadf80b8849f11652c49cc1b7b9a4096caa18b82697c3d7bcae99e9fa3486e1cf8e59e2b674acc7d1d9ad40f83c1dbfb03fe36c5eb5e3164cbd1bba7bea3bd1f3b909e0e725aea3f763862778883491160f207b72b4f140fbdd4f5c7e5acc1fbe6fcc66647744dd84fbe842edf97bc784a09e92c35e0d6af47a4dba9f64066e1b36bc91be18bb67235b97212fc8f1f92bfad13383ecc097351b03ecac95bb08f3ba3aed86bd9c19cef3af63f6672f9722d66aaa0da8b3863038e095d196f8026d629b58b392cb43bdd6191cfa758030e33889ec14eca297e36d032eb3ecc6ab4ef613de517a34132663c48f731f55819c77f2d28519401507652d5f69bde4417cbb0ff7cb59ad450bab69788e324e8454034400d5d5f53bdd09ad9701459f97c0952774a598d9f2327d6fe02a3d1a9b8a73dc59dbe6e719caf7c4193ee9c123964adc20e815ef84c98897be457333890788c919ea2e6b3e41331dcbceff888a284b6cc7f2819e3f214b167dd88a0d29ce552bd45e31880ce1378ea819924b140f42ee62bc5ced976ca28e27c4e5e3ba5937eb599c50fdd6be99b2d32ec556e3366aabcd59177bb1a4066bb0cfedd98cbf337a92c9f633ff3522fa00d015f949ee4cf07ba6862a6d509406213f0757fb4825488294ce0b0f704c5b65618373288ede990c6bcdb82b14ba0c023344669673743997a58f61948ee6b6a0c0d68c9a50fcf190f4349163b02c96e53b13ac360c310f590123291dc0a0649f6d91644fae376edfa1e366c30b38850f9d0dd922bf3c572e43deb34b099f9a9335079e73fb389ab95b160e4c5fc67147f15d0f059c66d443b4e7de18b318976b16deca57d0ae3273e54933caac1f42948970267e33a8770aa95ed6f6dd6a416c8cc8f6f76a55e72cd08a5ad18665e9a792efaa751786c8446cec754a8a993d5eae205b039cbf460a6e61505326a090c5136724712de154226c0ddd36262fc40e203d9420c52d2447e75ec7e01d037eda2fadfe820ed66c9aea11fcb54ccd86679cf6c919b6d9077833ed52ec2750c4c0c40b6ed7b2fa0fecb9af3c06966e1e44171eb0f57a2bb3405cee50c2627e20b26c1ceb195232aa5bee2c82b199bc58d4e8a8338a7d66cdc04a61fad9cfd660f4d497aab330e7848494fe9af4aaf29f893863c09bdeeb548f13f1cddc10a50158aa51a74c76e6e93cdd05282e7cfc1008e1b5d6d5276c46f0c42a05623d475f4251fc941ee68f8e38a9625e59af065f75817b3db09340c56451be55b806915f6505976b427000c6d6cc4f361fba129fe398be2f3f25f1619f7c0af31c43d0e24544e5c926ce7a544cd95cc11fd4a5551079058d77470e884df1265d55ae1646d5f0e2aea524f31887f22626bc1a72af367582bea97a3d37bffbb893cd59070e01dd5130a2d6cd40f0212f8f41ca3b52cae1c968c0cd2ea82845a4f4f8ae4d3a56e3093e1ca1f32321e614c476d3386a95b0108b1f7d7979406b2f3cd42a0f36ed6cebda4d2010864e46b0eaa9d16b3af649976c291410661212ef4ab712cecc26c11306eb44dbdd19a6ba82804c5535bc40dfca2d8af5b6ba2440e190715ebcc07763786889c27332f09a26b6395e83c69663e63724458a9f9d51bea137bb2eb2285335baeecf0f6abb8eadb97ec1bc22e0130cfc9a9c597fdd270eac41c63b28a3cfa954731b37c6dec3c0740c211776711d8f512ca641c6846a97c6f73c25c33e0f3d97799429f6a449c15f30c81becca7b8d012cb924253dc1170d37a20874c6183ae7d36dd0484e53cd8059bbd76b7abed84fb1fb851b99bed401bffbecacac722287b05b67e87b48f38fac04cf50e1e06850e4530fab843e179b02816a2e102479b0af9f7227a93ef8d43ec8761b661d59a1e202f12e1353308b613f12b0babdf67d6f480a80716bdfc5b09e1be29f8025fdbdc4f59d945ae56a914346467e59991484efc05d83f80e90821fd0176d8f39c015b19ce61d6ec5dae7a3f09c2868bc4eb5c007e3f224afeb3ba590b7f27d76871e4c7d0819710aef1398a06d6ff898cbcd94a74fb3703451ae99fcf5a67fbb7c9e1461d5b499c4fb4d6636fb51bca1775f98ee23b52b2e6316c2ecec8dd3f66bb7c12e92d7c6b18f867c443a474d0d65c5a2da6613e23844ebcc38771c992705feb69f0654d6de2038ee2a2ae52717c1a2159d46db3716c08951e7d6596d1b29038d388124f49d925f6b7bc103c472dec81a45f1220d2630b0e8ec3a19f192b1396c5802b81ace66b6cfd8a51e4a308c7ee20ec2af2464fd991d55cad1c9809dc06fbb54e4129050bd0afdd1d55b28af0b7c88bd3239aa20f62321c65bcc2c7cfb7dcb4e36e42b0e51124da1e69f549ccc60750ba6920c08f99ab981fa23b14aa23c6baadae17ce76a52cef2d28fceb0a8eda622a79d7bc94461cee85e0cdf8a95affcfce445f6484c2047dd2986f9dafec3f709d63e9988ad307b29c91086e01be718a6b7176234f116060729e17a88c2a84c59934526251adaba57ee9967db829756f0cc0197f56e957b5f0845829f0c5dd32bb92af14525f32af41523b754f14bcf0b3021ab9d952a848513b4ed09632dc2c2892c7bdb23f0d4a2047d5139017cbf1331c34aeb5385fcd2053eb188ad953040d729ce540043789cbc81a99de383c353aca47ae103f48e79b781615b1ae3660f0b5e8142a09e56c2a0f2728e97fcc19b4e422bd25ce34804775d7bd2a8a2524a352957e3077f768d9e36b7d0123631108de330f4100ad938609537f14848321744328c8b2aebe1475aa95291f0e1e0f74fb7f51ba7bdbf089d34fb13fb12aeb63a9be55ff743da79ea2fd9b28b323d7e020e300205f144d4abfe8a1f503b7af2e09fb3a8ee3353718f5418c60edcebaa9ca4df230ef7536d96df724c9c4aeae670ecf191d0ce5fc966e78719f1a6c5cb2021536ddf103d5c9e871bd9bdf3ebfc76fce34c20d8744f08697d26640bb7f8c048cdf29a73e23aca4b04fa91b69737a812d44abd4f5b36b95e7b8be3583f43428ffea80ea1cd791ba7a2e42c5da202b282c8939f911b7d465d1ac5b42289f6c57aecf3cc5603bd9607e9f10d1ba8bcb8c6e9ecca62f5969826c15d82cc006e1b0257eb994af61e4d491e4e294102be3e10d08ccbb2d4d363e25ade38ecb78bcad58f5d445e28e521658585a922b5e46640155c6e437637e33a8ffaae16c61043453b2ce0ef1ce9090cef5e30f23de97af21da1d71d9b65c97eeca93855e78cb9093cf5441f132f6f28ca1bfd1e667967ee0cc6ac6e503ecc46d7a9d9c1a9b8396e6f6cfc69a6d28efb0a5067230b006434fafb8ed10be13022f957caa61a4c280d3f9861adf0d5aca3c90b05fab88943a9acb6eb53e3ab88d543077517d3df6f0317920c36e335ec9cfae263f1de00b145e30ebbcc42b18427503381b0451094429977fbe51aef010b291080ad680c2d788285f2546c8216265b1ddde1fa89eb7df4ac4fc84334b461f36355e660c1f0f7d186379a8f674497c1c3fb6b708cf5faf88361156a412e61fa8d32effb9b2ffc962d7956b28f1ac761332acf8875a8f88f9dee474cd2906a707b90a5b261a6dbf1847012794dd966923697765b886619a4021beb6725806df031092762374cf2ba746f89acf3e1e80f2239944908c922cd0752c687fdc53b77338555a0801eb24642901c026c10a17b57c8778444339ddf06e64ba60c49b1f7180090d020634fb52b700e47603fe0e422f2375e39c86fec31124c5676c8360b0306e80d7fbb76a5c21085b402c8850e0b9b2d2a0c97db64aeed661779e5a15163886b006027dd4815a40ae29bf01112202a3d714cd136cb25c533f1962c408d98626499867590bf0d51d1fe9d54974ddb9aae78a97ca0ed9ea5c3a8408e09da11c7a34ea441342eed4ab84b9be400af9eb9f0d2efc269ada716a0a2d86fd76aadc5979ea578088559d88b9b1cae0a34521131df649db3610bd220384f3eebdf66e0bf3193e9e1ceedf203a4e348afe1bb9b2e185b24b89df6c892fcc70c5cc0a5a358d678127ac761e0d1ab234a4c7f1d38cd03faf298409c3ff922613a132e2b5ac4ec197bbb0aeee44ab5e3391c65133041b82e09624fe386971174b3da2a7ab7f94d5aa1f49fdb0cea070ff282d4c0e7ce970664707d4a80a79a54977a7df8ba4ea4f46162e4c5d6eb103b513c5237a368479c929621cb28d42dda7581fab4d577ed2ef6d241f90c6125982aae0a63372fe3aab3d0da6adbbc81991ea6c6819eda09edd8ad80225c18663f9d247c3f25ee6e7c6b10594a0e504599e648395d3311e4d562dbf03573df28a0b434868852f48964f519ebbb5a15bb16ea92657c8e176c83637d996b3ef148ea9adf9c21c0af847c93e4566cbb696dd75144c1fef55dbdd428ed73778b912bba9200410c084e7cdb15cf082d95c837df26f9e3d16bcebed9f09b64ac1e14468a9e21c88ab59f2bb6dbd396d7291df25064ee20b8b1b448041aa8aef086cb07ebbeffbf5928ed55ef5eb3742593e8d2540d484aa41922c30a3da45c94dd9021596a4d38640d5a24ca06b7def329d55538323feb11c218ed0b3870b7cdf6a83ce5f0ce437e727c1a41fb2175183e28199f30b123c53b45e6a6832e0a23c6ce1372c5dd72561b08391685ce159fb31a211852e063d6674c55dd07a2d81e75df0de2fa819e8a5bcf1ad3489da0324703a667132c92ef88a710d2168b29804ab98f9c2d5682a83d4aa908583de0eabe9d4a5a38357ed156c5bd5d2021fb4865a8f78b0bada4e11a111fe8c5efec6955291602c3c7b05999e6dcb734e8f9188dd7d6eb479a3cea0ed1a36bf652c6a9cbe5ac518a0e309caf481038c5f9673ce6a27b3ea71a3d73bb6c98ef910a17614623b00cb285c232182b97f282ad33dd48ed6fff70dd65041a3a4fe9b8cc274575b74206edf884a73f40a27cef0d4842afb53d1c393f32da533652e172a3c06501fdddf280030a617230e8b1229a7086e5fe040bafdd0105d5e054433e2a13c1ba9915cbf9d0ad1b189e83a58ace30cc57226302faf6f0f4fe8dbe94995bd2ed8634521da14d800af8797e8806769c32f7eb8ebf4e8b861facbefa977a348de3b37aa2bf57bed7301af0c0bed224b32e813ff264e7086fd29e4f34897bb0150f383e30f0c07da6bb2a7f3dbdcfc0d69ce4625b2901da8ec97462bc02e2a5248718de823a8c3d856c8077a738a60534737acf1f7b28b6b57bfc451a6e3d806dd94edb1cfd9b1ae5bf4db0b6f456041e94d3b27c21ae068bfdeb75bac89e78df753fa5157bfd61cb9d84672bccbb35a449861ab7d16b0ce08e3e0dfc5d7d4578718a6905de4363c4abec9dbe89fe66ad67f346c870b9eaf4c6cf9850089aeb2dd02351f1b962ee078c1dd62456d7865cbb87ff7c6206d6c258c194782900cd757b3a0e7d905d860b7831fc506fd4822c210eb6dcada6f520b6db11a8495f05f27cc46a9c36f10b3dec51525f77926bbbda697a080c9403d0b7e9da0550450d68a9918f2e9f41a517bb2cd6da80ad4b780b17d0027a0fbe4c744cdc1c4a619802a2b4b0c07d7f3748aebb13a6f2c62d3f42187ce837ce6a724bb6b28cd6fec40bc927e9e1f1d0a6f42dc0f20ff252f16bce60c8373ffe56e5603c134756ad9ce0900353c30665d047c412e5329c9a0c931fcb2bdbbd8030b2189b8be8a6a37f832f9395c61883687ff303e83fa013a294343f69c9c8a4850bba2b032d3f8a646b6a8137768dc17cf1817993ac2e01977f95c4503f6931c5bed0b542b31eb5bc3d349b1dc185863bd7e2e831ea1c884550d681a663792def5a7a18059d63d6fa0098e9f7d8cf97856d044973f289f5991fbf9f7b7b057f75d17a8b6f4fc9b8a03895f5b9b17df0c601e64e10f9e631d9e6d023e362d26c24bfc161248f2484c531ee307e5cbcf4f3a4d8d6acfc137eb3d5080f2263a477b5a02baf90daa2fa8d06d5afe08299b9191e03413889200484610dc07830a89700e840142445123c0481ab285c14da44f1728d500adcbe0079a421d1fe7d953e226f9d5c0b4a06c475ccbe0107bdea3b90612000aa38e6686e2cce0de36b641038da9a14bac30cf63addc8c9be37b8dc6e2c89ce7de087bd9a0b06e7b1ad84f48e377ad93c296f53ad36b02073d1d0c7ef25d04764860db9d9bd8c2a00f3ac7c1fcfb444e8d3e669fa1efc8f7cc60f50034fbc1fe5d2844df1adf721c0fbf48f0375f58b06a94339f21c88900f1bc98a9eddb4fb4491573791ed1857e2d823f14da9de33e380e4b921ef02b52645ecdd823be1004023de64ad5dda7303638fcfa5c4f4973540c4b449a0f8ffa027dbeb1209a9e87c9236e1ea98f72750653eee6455827b9fc66b2f56fd5852945a52ec186bf888f44945d6d7fb0b6bc2bb229d309a5fafea3a83197c5d25cbad0736d9f76f19cba70e44969cf2e476b6c1669531f72552834929f7e6055b2e796fbbdbe16a99eef944c0333db3fe3c054d08253ff139ef776e7acf774eda7390f7bdbfaf1fc6443a65f61d63f30aeb8425976993d0dd9933d35a925feb8c48fbc3e3c3813aed9be2b85d93b680d5f58fd9ee12cde231f751fb5da74bc56d2e8a4d0438e31b9852e673b5998ed99fadd7d4e568042df9ec4f5d2be7628f73f72d3969591171733f1b3ed969df209ee64dee9821ad72a6bceadb9f7f693ab2fe09a80a33eddce9e05a5710fdbdf11ac2443aadd9e965ed30cca5e934dc51b20431faee5e7893c9b3dd9b5facd697c75e4c8f39e0c14d4a8bc3f5e02f833e467ed4d085dcf1f3721d28f8c2d1f530da25e95c4c3cb0b7ebbd309983fa6462fb606c3da436757a2e93b51960c508eea07b9aa09dcfc2311aa155f005b3a0daab6849a914e8773921799e3d1087b61b6daa62451a82aea08b93d280b874bd138e85f07891a093723dd5fd59f6cec22cfa346fd80e6f25d23909952a57801f9b5447bdff9e20dcd161832fff770e204d112a5c45676c76de50c159af78d883225b6d843c8a411702ee11b5dbbfee37041ba0dd36219f850ac430f9dcead1ef9f396a83e29a54600d1c51bf4b7004fd47365bf8bef068cc480acc1f04d4d1944f8b680d2cba4350c96a6bcab369756ae782bccb8e3dbde998237c024b4fe653c03047e0045634c5395b203c0bc24495222f696ff68950875e7d3d9b30d8acc1eae0c55e6979443b4241b1a8f5901de82539c392b3c86d2c3ae77c4ee4fd9639bd9a8a1f854d20c38d66bdbb56e04a263cc4aa9b7e189317b1437be2c2971fcde2ebca0f3ed8f8c70cd04bae0ae61e912ad14c64c08d587ade6e69eb3d36a7f09cf4306fc45192447e6361c13d6955a580ee8bf19ad53d131bcdbe05b0516bd2fd42be4ea02ec4e585f695573b9bca58311d8965da58c8c77b4629a3434b79f7f036cc40c68b84e977b601fe4c0aa24dd14f0fd89ebf2a5e5196513ee258568fc51bb6ad23f00ee5fd0a24897fcf4429b97b220d5afb549d1c50fb3539cc34d54a7e6b0293c97858e0735df1e1100fb23f086a03fba6fafa5b80862189e41f6457d1702bf3728564befcb604583464cd79ee03392b2574c6d022599f27ee51da448ed386d8c8cf2e7c071a2ada173acfd85da845702da4ea6d3955a47ab7da9df7c5c000c6f6344ecf4100189a395ab197b08eb6beb477b5c1d437c06ddcba7566a57379159b3084c56c8b7436248439d3177f7f183dca8173f101d5fc4249cbe0634fba8691d6b0f8dd530487f035affcdaa66c388e463c1dd29a74abc4dd62d8016c27468862c0298931a935b8f93d883135de55638b7d6fdfb269a8a5bfaa5d4dbc6bda2be4d59c1d6cc76d6a0adaddf0322777aa10536fa3374c78e98ececa9af18c2a236bfbe688e8e110f6c26d05a765531e5f1716cf8d68113a93de33afd5cb33ad31a5983c93d13d308cabd3f78fcf8b691ad92908f3c4007cc06235bf158d302af57a4e0094f34c800bb5d86c15e671ace996d7312e2ad2d81a03d80821dc6b2a9548061be17bc167e9ceb07d82cea33018f4999476e0c03ff1e869e0ed5e7092056927cb1e9e722e89328dfdcd619c25d85b28aa7e965eb627da1113f0c3526c004039545405e2221c87534d131a6a711960825e7699c519acc319179968fed1dde86d75250880ba74845bdd47f8948b4b305bd6b36422a91b9816341516403f2b8881735e4ee007afddd00a1e54f5ac5e630d5939ef3b0f1a7cdfe8d5465b616064f99744c8e985e416e0bcf8cadc00464ebdeadf1c22aeb90fdc8dcb05acd3395228d09168392427da68f43bdd72d28b2cdded52cff08049ce39725840203415fa61a5d48d4170a5101336ceea8a9f9a500544943715dda0bd2de1dbcecb407a46c105e4aa28fc62d321ea40601b7c0ac58ad45ac247aa097593ec3783853765b6d24941ea6363f61ef5bb796fe646c10bdf3fb3100bf068ce08266c922615f49a7da5da96110e36d33791a1adea2f8f92d007b3017f5e3891b2e8949a07c3c18c2c5d08ef9f6b64040ea4553cec280c095b744233d27cf96bc22584d1f1f2053c016d38a3bc01cf58cccc20c2818a5bfefd09233e4e11e1ee002aa6e3fb1e66dc259efd5825b0cb75b4aa4d85cd4f5ee5266b1d54cea2d6e84fe8e1f019860a64735c51bef7ce087899e818939733bd7b28cf211dd947f15c67dbfb85b4591b008f565e456061b9773d60a4eb3883847d85ea45944464f23a4671a017de206ff3c3f9b5cf6aa6f3aef9271139f9c6ad313719220d8d497c56ca65867bbea3b06a69ca3c24c94ffecf22600c4c428d0254482fcc9c07fb3d10e1f8c78e0b8b1a0f666b5c1a4b68a3d51917198f1130749ec4b41be1b198d5f2825f04b1f1767dcd2515e6a224409a15643fdd8d7f286c12d598fbd13e3026f71551e02774977b772499a65ce491ad1a5c725fb7879c7040f319c048bed0a5637ee73f8c455e47674cd4e1a036ccefbb8882a3589ad3fe862020a7a5fec590abdfa07de0f347c3a7138b2db2f3ae662ef27728f2b45f675db516ba5323866d3999357395e9e74537edcd460cc7ba9af5a5b071d1d0707e44599f385b228c072900825c26cb57a7ceaee8ce2c0b8de9632fbd10fe24d2b6cd79aa9daf1a927d42dc25797601b5f539df7fd1062764047cd7135028b7b4bfa1eeb7923b56a3c8535bdf3735c185ab4fc5d77e76c4c24856dd30e1314735e2a2e4586a584ef5af4c477f5bfc750f91d352ddb2e314d9d6967670379b53d37a4594a3e6331552c736080eb924a36ef18e348984f78ce23928e2e7a9c0858c18e084431d3eb61cce32ea02db2c9d8b12a070c9c99222a7d4aa5b3cb15ef01ad886d90d726cac38bcd03d0be2d4583444c6b75582d1c43e7a06c1a1afd0668fc1b08e9dfc42819df32b1ed2638cc514592e4bcbfbb54757c6cff8bae38962cdb8b71cab3a1dccfb3e94b09e85a09b89ece15494220ab3755d54f57b703c63ce2dd323cf6206629cfe89801da613e086086ff2b48fde964b07547a009c34ba333f4078c944dfb3c4caea4de8a5c1e6789d955c6cb20cd68b30e0bd22ca12ada26949b6e08a9ed449c4c720c88cdd15f3d4308bb6ca8b0cb6d0c4e8c7ff7e2ee7a371b7af75700cb6ce58fa6158fa507c5dc1a8992874a725666c058e213d29a8c90271229199744bcc53102c03b42513d9b135db91cb2ea047a32d9dc42a7afe9a10be2ca0d53b2dc482cead32412c75c19ce76d8a955a5a727161a32b4c493ee9969a4a00d23400beb4918c7e0b41a5e6bb68273dbf69a547e1252dc1345d4b302bb16e81f1945c70b15b7599480e5adf802a0a0bee4e47757fcfd38f99a7232385ebcbf33050a03097a5865252620e6d610e11e2d363a133abad6d8730ec0194ceea62e672261310f853b8b3721d1c2132a0ad341d638e982d8c850faf5879e76113ee4d7e7384ca6880e5fe8e90887ca04a5e10c45517e3ac49ee72a4f34ca809f7ec0f57bfa294c8106d66195e1b6fb7680c20d1605d6edf5b67744816b187ef7a6a6ad716ab85dc6288b9db9df90ca65f97cd5053a60bcf3d40589307b8413db3121bad2867a90a4fece9270a1e91dd5c59d474563fe3fe3e211af0a342a29707895cc7adec115c342332c3ceb7a1147246e4d57c496e21e4d535b58972b2fe52db133bf9639e9dcb90fe0cece296057210cceb7d5e60c25eb90cef9a702197ddd62acbb51c03bcf0684c7f0a3b53646d6b22372f69ebd6716305aa84ecca07891175f738b2b515fc86463c84f5639823e7f5ca4e97fdc11c6e50bee5a51a4a5f0b4ba3072ee1fd948a8abbbfa763e63f4ef3dfccdae4f980f556487f2ae2ad5b013aef25ef1818ffae5b81cbe8079cb74b8e2cda060efe59e8b6ed5d5fbd4e0d3617cc6818a37eb1602547e2389d0d6259f3481b7e6b93151913859a2d7746aa6f6e82432e9866d24bb8d354433938333477a2de2f0ba6a549e015b51fa2c89e3f7211b40ae11bd4c3fc8221cee99a8c07d0a719f6a01564601c9d3e4889db3be377e22b60af2036d255a46379090aba1a568cdc7852f77c5cded8fb8cc9f0cbccf2805ed8c8913fd9971456970746aff80e746fee68a7089f2fa25f0c528816f77358779bea0a9a28a3690edc3a814208c44aa2985c0ee93e81239494512514e466cdad93567c08375042e6234add91a5efa153a6908d32106c759dcb7d3de6878c60001dbcd059eab9e9652502e63e39426fb2c0369cf892c0a5abde55aca68e072ae003d09e78aea419a8deab4773ced11c4203335f016222b943c3b5699d470a03eece5b5024f5d255afa385b73b8a9ee5ddf10c2fa508b2cc062126c2d56c71da2e13cde697554e7bb6d468dc04558b242a530f595a88f5b1bd47432a55bb62cb71e3973275e93564e79d073a38b1184a28c6c12535ee47c222416ed16dc0f470e74b50bb579dfd4d9a836c01e795012c3c3298dd22a5c6f7dbe7e4f8a6dd407728b0c7a44d7f2e4e979a17bfb828c3ad2345a7be0d50abfba2f5b3d1b30b614bc73e688a291d3f9609cb0fd189b18abe48a670415b23a8901ad2ca547cdf2bf880cf340b76596280d11a03a969c3986b053f3345d3140f23e86893526810bca73125fa4a9486c3bc4408b8975bf3b1b5219144669aa2b0d5f387729f0e4de0ea97f4845b1343429bd38949be66c28f73bdc161b2b376d9cd59a57a5330f85c6a13ba24256c088b4782300f1435388488b48e3204d0e512a0dbe07578b02212d5919d7a95c1f623b4a25f8a77d48c3aba6133036da076b4ae687c14ad360e9d1da16f516813a9bd51084d555be0252104e8ea8a867349894ec763c8cebd0bad838d2c083eee610c16a8a39b5d1b08c9f399f975fb5c036f00c805243f3f1f538ed8108dbe8480461f79f75c479221d454d99dc7574dc77f7f61dc073de28d5e1d8db73170756c0196c493ad29a9c4f522bda92fe1714191d06b97e149e848a46272b6774b2b3699eb04c360bbc4df0c1c52722c8c2cec7d607da128833db21707d7bb1e4aae527b77efd615445fcbb3cf28f8846d6425e9c525ada45c65a6360c2a1846e8326b0dd2d69eba20dd5fb2170b89de1dc6709c2a55fd18da887e689766866b15a0e7290dde20850848ed6963f164f1c4224ba002b4c6ee882d882677d14dd86d841a61d9d0f0bdb0eeeb5d2709c8c858aa6c9d832fbb3badca81559f23a54091125dc838dedba96137476cef0abb728aaeba6cdb5e50267601b790ac1afebeac7ac827efd014ae9ff8589af43252ac6e5c7a8d037ecb580904494493bd1bd049f346c75f711da9b90849cef4279f5b9a4b31cd39cabc5fd6a9af5ba14e111ce33d14aff9e542c9ee5c1777c47e1717741c3978df6a23674df90f74e1cad0b05a5d0bee4f938c62ed5ca92c7e19ea4ee00531fb7ec1a49294bd2a84e304c2729547ea631d5e3bbb13ec0a563c6ee4fa680685b1269d08c298a27060e01462ee14d30e206362b77147d814da6ae841c7f3d5aecca42d66cb95adfd7a0bf40a3c2e5511ed5abcfb2a84402a6922be3d7b37e2aa2f88de6dce7567e77a93ddcda8397b0432b58d75ea10ad4b5a57fcbddd79efd53e0a8fc28e3b0903b51bdfb8047265f8f6aee480ee6d3454e2145f4d25ae16fa42d14b3689cd027b74efd87ed2a03d65ceb5e340f9b867e3a9790c0651cd939ef0096d402294935b9d309abccc6ca33d8a3bc074f314ea1c4f7be6fd08894f240f133e6ced6513579a2553bac0d85220ae8e22e2e2ebf488600744be7ccf0e162a4d444935f53eb9540438147e40cf9ebd71cf413f5f4e80c1672e2d7b6c23aa4af4718e1b2f6197208aa2570d9498f3032b33d71548e6ec79bb98efb8320f261fc93b1835a6abd2372c949b2bcab55a18f053e6f7c7897ff5e0aa245902e87fd9afec6ef8f01ce93ee03d1fde5d8d5a78ef3da3faef577b9faaae3aad99e9999b3c10401211e45ab92293d826f5c2b4d217b990c2c6b0de2a3c7df36d4696800cd2acd45860637da19ad76baca60fb20d64a40aaaba49e6c18c85a086e563066823a6c785187be8541f69ea2dd5434f344a2af2e92a03f68687ee1dcec8d558f05e6b5d0508ecef2d39a9c9a9a2592971b803a4237323ff06adbadf1aaa9bc86e5a970baaa247d6df1624259bc99caf4562fed1d39a97c55f5b63a151fb3407165d22b65c0ea7e17a85bb393146eeeccc04d1e93ebb1d52da762c92f8c2207600e5741a9f33817b4644cf982ba8e8ecc278b4d7114f1e3b9657611c6c1157cecbb381f98eea8d9b53c199cc0f8ad6edae0d1dd435bd080428d046a6ac5c2b8c9800a88ac500c94b166adeeac12ee6615e24962ab55955746a76d413d72c010315885178b488c260a9b1d644e2b813ae9d8a5014268d235e411121fbd405bbd4092f45d13556cefa9691d81ada6832b1fe621ce246874b9536abad0219c14a0b9713451ee5cbfbc523c777e1db0ea8cda3e25d56918fed949b657ee2d12bf25e6eb070ab0bcd29deb0327398ac113b5321910a375e306c86e23c6ea11384cc994a12c532ceb1657613fa28a6eeebce661a361a88d8ded6195aec45fa5e69d03124514a58255607855e2d5cecb8d58c0857ab62945c534ced6d0a12e0311ca7f6eec253672bf051250056091d842094ee885feb7c9f5c58f8e1591779cc1924a88ab6cdb7af0f292fb37e8692c92ba71f2b0b3bf13063e12b86ada2603784ac180b8f9a97f34fd9d56e196ddf258c29269f126b519d4769bd2bd9448fad368005304aabbe35a5171d39771e20e3a43d696858578067284eadb0d21bbb8ecf715757df7818277811cb177ea16ad5a22fe05e68dfb5ad7f376c64bf6abcf2f4a07f9d445eb45c2f0420dad54e58131d9d43c9fe929ac98f0af615a8f32cb5e71b9604733be33a7b137e92ebce177c68cff458755e49cb715bc8336f3e53d2b9694da109f4c17245ab8d4a22c37e950c6bef9ce064c7c8727cab0328821fde24978dd72bcb8b116ce09022e19c25305eb2a82815f65ccd8f519e66a8409355adf3164183c4a2c4d4192f5d95ac183c4715e09fc42d39c523f44e2aa9656f3104060dee063c3a47ead916b6a94e04060de3629f30dc5172a75134fcd213ba61a27e6c406d36411662ad97019542006f4aa3d1ef6a9ab6bc38552b8d673db8edec5513e336d7af42bf6e00fd0e023f65d2535f593e5cfcac93242d9d954a68ccbdc1195ec74625a4eb2a03f8eaa3f8ecc794d513c368a972869ca88c15c2021ddb652a2d523bd7d0f7822132e189461e630a5eaa0f6a33d407984f318a8b43d374aeee30b9a1abc4a478689c34e1c05456f70ac75ba5df4331dd28fbee0cf3d040263f8dc83fb6a03f4fd820ebcd78aa1db0aaffd8bedafb4bab8510f5b90f5d594d21597562647164fe5084865cb44c577a956915cb5a6aeb0cc8e564a8290bb2dc7fa7ddc46610250a7dae0ba44537632a35f43a7879157875d6d79ef189398f271125906232ed588ba3344c240808e15f8e33b6e3d9496f3bb68298e9e478b4eaf4c957a7f71b695c223d80aed5ac7adbece2aa98b5ec5eb2427fcdf3480fb418abaa632784414f9a97a75e9f726de2d8948ec62f6a6a18ad328a36b334ff00963a7bcb0e152bc42ca6c2b11c5b73f2311b9a08cfa94cfbbd6de4d0a5e5679b87d751d195fbac8de5d4e76a72a43cbdb5b211d7b410f37c206834237dbc8310ba823b665e2c1fd1ae90c96a97c8695ff0a217f3a19feb0679ba4040a44d21a1b63daa761cceb68fa4766ea2af7baa6f5ace6f085a2c2d73f4ffffe3516de6fc256d5c2edd3b0f0d24d3ddca736a3dafe4266a1840751b92b69ac67b6ae8a87465639a8ca8c8b3a327be3b3a9976358c5e7a67416cfcb4c489ec7487bd17a9efa882c05cc6f60d037ab5bcbf8f962a4706a265bba775056ad4b86fbef79dc976a02a3e1b87aae02fad9f8cc65d1bf174faf198a161809b026629b551b5f789a2f4d4b3d66bd66b68a0f4ccf3efe500839d802369f6a4e5b3031b9381f3eb3b6decf455ce0824e20aaa077d835f8bc48f04e1217ceb264d3b8cecd391240bfce40a91a46074cb478d072b76125a6247864326f564e5d35ddfd57d36f9ce2f4ee6e1c241810307e20766a8cb45ced57f7384e3415dd12fd9a6acde2b5c29c7a599c4d8827f842a13dbaf219c902249c30dbb6d54fb56425f73095d98a934d62637d3a03582b29d4f626bf8ddf978c2d174e3b26d6b35f3be9a2629cb6fa3e8c8332def321f081ec5ef10e7088c12ef818110cdcbb22de8bad22d72dc1fbae0c5b2ff9b446008045ada16236ad9a3e8c4636ffb63e8e62774b9e7f749cffd0ecf8cab18569f98fadb31aeb131d7d928eab628f33128e97e2868590b62360b7dd10b61be0b10d81a5f7235766054ca952831946f7ee9c42bb1787593ea729f30cf3e68f2a55d0860179a676fa6e69881f47a21f8b2218a59ac626750bbc09989760359c94103a2d3cebc90a285fbe9899a6aaaa633f1a423a02f086ceedff16094c0b103cff7dd1eae65c383a30fa7f66bf0e5d6199b75383586b4a8b88b652f869e3819a3a79d8e341a33654593057631de81c18bf2b860e63ada87b49acd7216ef393c75f5c4e5f34d5f367999647d0bec3af6aba0199aaf3ba6ce68cba9b3b8cac28aed3c67f0c41e626653c046062b65c1529458fec5626f098344f2f18a12babdaff77cfa2f73cbafb2b1a3bbcee93d71461846a8376e2e25e1aa8568eabc5a64ff74e3fac9986395a174bbdf6f4471e5920267e16fc2bda490258c95847645b2a27b3b111a3238cd32a67a288c2a021b695e4dfbe587f7649bf51806a2ac9bb1f00704749b13403a9096ed8ad1fdab5aeca93e7cd48aedcece7de8421ecac4fe1bdc8d92a2599aff678df885bddca9f8328878dc7f71626460de53e0211060df376024e4001dd280039680b22fd60d1c2b5b81ac572323797aa265c1a348d18cfd36dd3f3553ce94bf681ec7575b5263b1199e3013b1ee861eeb401c924252c5699acbe96625cd3b91a727826fcc1106f68ca8fbca70f84290fb060c86dc5747b4e340a422474ce0e27fd3beaef5ce76f5edbe8e46618f65aecf0107e13bd5cb0fc8b23adab806b9a81bbea43b308819368439757c49a2ca68d9ae193dbe2a359eebaf8f5aca7fd6827f7ec7ff4afb35aa4cc192ef1c791e02190d6dbe0f7c1e425c918bdbe3c42cbb154034a4b04762effeb6c1a98441043cff9cfbf760898a4d92ed02e7567d656a7ed697ccc2ba8d324409ba98dc99a53fa23a6b8353efea3113bdbcf47052b0144e8c63e182da30b88039cdf2b1c5b1b9dc0c71d46e59c8f2bf62c2f673fcb5e6a59a94103436ee32984b0bf95ff4539acd6dd471813a81c5eba0a0e0094d46c3c7190145f9b3aeaa49b85f80f616d203d06aedb0cfff26063e3e00c4d0bc50b18c25da0f6327f4157c507ee4f9be63675f8c5f264e693cfc6f6bc7ef890291bc5779e2640aa8d55bc629265bda2831e38884687411c33d146afc53df935a048218d4abafacaba2cee203b445445fe9feb2a127e762d0b103d20d540c3f089c58fb6e127ccbdf7839f1fa4b5c7d373f3fd7db1a0fb1ee3732e62fb831326db5aa1cb90aefbd9a9e695363adcb12a5d871525bf04a547955ed57eede526dd6ef3210e55c8fdfb847cab43dbfa844b37c64b96226b34312b97dc1b37eecb961aeb3489ab910c8aa3aeaa45f52550f3c49774054732c484beacb82210c22b7c2ff596f05c8fe4d5103ba2b382256c0e3a3dbeb543e23fea5b6fc0bbffc1061feb1be10db89a6a75fb56e26af2961ce68ce136b2c1560821246a86f94ebf7be270fe2de32360927e112a022d230803b4e9bffc2fbbe0c6f8026ee5bd2d19b0b719ba58210e57bad5f1af680d3c91cef9c4c18b85ea3ceb59860e4389c2d986b84278b100b0267847390a9d7036d6e85b9e12ec933ad7cce3695565946fc51d52beabc5451120855d23a5d9a40cb95344dc62468801972ce1b2f3ed61ad653dc18c5c7895be8a5cc0f25602c6525827f22f47267189246118bec21717ee6f57b269b51163732af9e7d652ec152fcc6ca19061262a7009f8439f68fdc433e3943fe553d6666f7efe26bd2ea2073e98733d4120f292078f96cdfc4d93e7368d17ed9a5538c4738d738fe64824b1ff4b7b17642fa5977d5e79c0aa96288e685c266eb59cfd46a2a97af6ce1d36df068639bf242d410627f27fceeaa6a7156de4ee43bb06ff5b1291346576491bc2d5812077468280629832441bf4b9d73755c844f1fa54c376d35d8f8aeb75105cf256f398d2de49aa9adba0bbda16f4fff726536f13247f48d3d258a995c48a000c1a277a103681d4c14d9c0cf1c3530cab029fd433d6635b065ef9a50485ed2e409f1eb5fe60a0b864c545d5374694beadce1829ab2aef27a8377d016e3878dd135ddf7216dd9ca0061c5bdd414c8ab070bc1ea9b4a344bf9cd0acd0fe9c535f3265bcdd2778356d7643ddae23af7b86072c7f26c1080a0784a0ab0ac26a74a02c3b02c23b02ccb43896d595655d5355ff11793f5b139a472f8191265026adaa48db9a11888c33212c50c0074be459165241e0fff382c9efedd14ba7362b973bcc551f8c151b40ed392c0f3ba699e63db718661dff3384970f8f3e9971323719665f4a5e7d2e0413c46eeae09fde007f7fc733f514c3a8661f7fbb6e3384adf2fb57d9010d372a4ac4e28d8c613b930e62adce27a212c2bec827714db1a554033d163e141f02648b725175544b692bd4346fecb58f3a43c7a4d251afb8003795091eda5d334cd5c846dff2afcee3623596675f45f9ab8232b172af530c695049cf13dce1054ddbd8fa51593e5cce274bde3917ea4896a419ad2fcdab60f64ee2b1e6f7444be0fb8287c08b8d38ad4b12d181a7b52f68a5d708482a28f746fbed0e177acc347caa28a2118c15513618337560d85641a35b2473d2756ddec788977448b7d5c2c5210af4036a0aef8764cbe760d555bd4c13203df8b88815adfce54c9360fffe1dcc8f9ee482e4d9f7ccc6845a4804f3643b917d1491a21b4d7e403cc20192304bc6f67176e2920fa01ac5d56d92fe4626f6dd660773533df8149a4006dce55edeaeebd231a86015d2adb3f399aabd7a47d4666fae7ba5dc9d217af49ee1fe328b3fe178998f662fee438dff46de93f7644cb3cb9a01d3fa538e0ab34c30fbdc4d7bd9b060f0a872e9203ffc482bd25eaeffc93ffce3f5ffd937ff2f8fc133486b7ff71b072f38fe3177db195cce8265e15142c3bbc1505f7fbfe7af848ed9d3f1947d30c705834bd7685bc19f2f0c550e897c74a1dfb0dcbab9a86b2d6b5add7b72b77273a78cd823b9319187b4a6f6a6ed8fec8b15ed3d93838a617bac974c0ac1b1cf83e4d33c11bae1bea1e933a5114c4b9445ffc855e5782c47495c3842ae412589038220e6a6eef0c24d126c81f84da22377a7fc6e3947cfefb89927a91ab48e2f1e5eef6482479fb2cb135113d3bfc2a721a0a37cf34871a1802dd573abf9879af3456da443a1d37146d091c4205aac60a9aba6544580de7f56bf921a45331a77bae65114e9e1009749b6b4ed1730f793ad1b5541cb0837ec6b36b2ee1c1e3f4e579c62896a4b98f86c1a04220b92661fea29ff65ff54df90bf6f15fb0f796bf60fff9bb46fc5d47974bf8171da54206fdcbdc66785160453b7792e04b858cfe174d147e6be29f3a4d85cafeafff283077a279e797c60bee99e6987091f4bfc6151ff2063b99a5ffdbc6543c2a7cf2961a97000f57546d0f613d0969d95f44f0bb398bacbff75c18b73687bc8c13a435c4147eda68102e1d6467e0961a58879ca8d8aa660038d14d40bfadd24c9b5644558baf85108c873724d4047160b9b7ed9a66db447ddf2c5cbf29bbd70cf5e108aa703386760a77041f76840e2414137dbb0afc2e587e096514fef9d05fdac6ee088737c3d582bbe7961e4cbd14b4d2aa084f553b7dbd0fbd9e2f9caa500e1ae1654106b82e7955a78b7b45391ede19c1efe22bede7562726b233ecdc36cd1220dbb6bdf94a9423cd34a15a12c6f212f5c9027bd597363ac3b0f60fe2e54f7e6635bb5b2c4a5eb48257e7581b6faade60ce031e7c1309bf33948c34f957b2a07b2486b5e8917cfbfcb34698dfdff5892ada8e5fd294eefe82bbfe17dc65ff17eeeae23a4abf090dc7d62dbfefd91bfccbbef1ecf18ab695d9bee5d883612bfe0b5fddbff035146fc4fd670e248a61d8433087c1aa03bcf5c046db4a75fd2317ad63f9dffc2cce1ea8fee5ff8652aebc93fcb9d6b6cfb3abe8bff04fbdb57ccbca2bc440b83218e90b2e053a57e2771e86d7267c61590c634f52e08b51ccd00c2e3fa84f820e414af0c2719caec6b602ecaabbf65cb1b8f4a6b36b411707c81953ad85c77ed5c049d83f77fda9a7a08c5a3653b3279a8747530a8e3959899e67ff5235b35137c98c01357976282654816b6f0e70c84a9648a119bfdf6f8305aefe49ef4c7c3856d1663033513e18ac605b4aec8627859e1483d2a6e3a1d252b81de6abccb83c138e93c0b269e1c909378d1a7c0b9fb222fd493fdff4a8a8e292015b79dc26bb0c7e1c6c11f68fadc6127ab6ecdae82be519a6be813df7b403990d8b954809a416416bed8ffa168ec021edbd2ae8cfc7b517f1d68c89a37dd74d6ab07244ccdc49df5392f1d0ca033f4e2cfaa6e9ec5bb4a666935745b5eeb8aa5b21b51dfd55d78c7fea5af3e9a2dd6aaf652c9284b21e94cbe1f4c373f9d796f183035ca2f90e1a56d5b2a98562fe8d3d0d7605b69f877528231f8db18d4a337f891f92e55318c11bdbf42595f2c79ddec695a3d8dea6f5a181bac41d6e51e7a3b252d83cd53e6299ef328fdbe86128e89714d9b214e92ed9bbc7e689c58ad6990afcb854c3602b53ee46d1cead2bef1e8c4b4eb2f7c3fe83db6e9a7c7fcd01634440d417b17fd4625e7c785f9a5b6d21198bf47a2dac4c0807f70d4b884f896c957a8d010d85a542129dc9ba8274a69735cc950f6ba1776deb02711918e2dffe52cf4afdda8932b5752f92dfe9dbf3e08552bcba87c4f7ac7bdaa900e4088ec5da1867eb331ba1575b1c9e518bc4591d385d478d18f124cf330d75765cda142f2c763e072ad97ea84337177b92aa19c2f5a040eab50192548eaee8847706a9623787f85d804f614fbba52ccb89b37b22450e1232ea1e82ca82b15cfd79b968f8bce27df63e09fab4d88695616c85e2554ce8486b848a4d15bbad90f24f7f34d4d95067981265227ddbd86bfa91a6ca932a41d3dfcaf706becf472154f6b028924c0c0241882ff621e8f7745ec76625cc1ad064e7636d948e8ae4a24cb0c09b57df8bb9630c46060e0c1530a0bcf1cc8b58f8c64fac9312816d717f8b1233038581115d82286b4bf56e3f38a3c934b8407fd3d3d74c16a9b3192bc2a5e934d2a62c3400e4123384fcb16e3cb0d52605be8b8dbb115f7350f0c1ce0d8f3e00614c570f4410c8f3285d450c531e7598624b88b2dd22955ac8816b0e7c115e0bc005707a2e37c1be7e41b07c7bc5518d6a6db5ce41d6717504f9f56249265be1dca725062b41aca460f9f872d7d84a9fc85373ca708d62622774320789d6d009924cd2b8467a7902058e2204ead4b4aa0e5e8b216bba35f5e24409d37761402119e2b216264668c7d9578adae2d64fb80c21eafff23741410589dd47e2699b51593772296f3baf0aa297f7259b076427a812c07d49def0e42288c6a9706165b96265af7362c553a32521f4a904cfc45cc315216f10046c9288ee85125ee16ed4268aaa0f97c7d3eea4083854390800c8b9743749a11a11a68b74d201b5a1d6a0fa0cf97e127f9b1d3b70e8cfd5724147a8de6cdd5b5ee19d5db762d1ab81be3a526e7c024417f02e67f529c7ba4f6dc9afcd5d34cd95ed07b12a0260731bc08af5914960a7a007056a3010a6abd3dc71d1e5a3064c3ae8035915da82d590ddfa229c408c3b141ba17d3976fcbed2162a17a44af1572422c798b6a443ededd17b95529e2f2224126dc1fa85e0562a27d4452014905d698db6de5b58d8416f27a45440343b7ba2c9e018e735cef5723cf796147d0c336ca00f2acb7c4038729dbd18ffc6290ac680c9247dd6ee2eef6ed39caaca7c8e77a1b8dbc7be7c656f1e7dc83b9ce567a11bbccd20f625a331f3c001109f54f005110aa7ce11195c948e3adeb95a3ce0d0d4e86dc7e1deadd52a4dd959a959e2dca0d7fb4464f3b014406d39d7f021317d9962546c72b05e7933f28f044b7ed46a3afcae0959dd74603858b3da40fe8db43bf55c74a9cade723e7902b666f48c6631ed848f7c56107faf0814e0761e5bfcfe58416199dae84c2f0e8bdfb5a08cf74881537a043058be30397bce7c6362973c8a724353cc23e023bddf1720fbab2c7595ca91792d0283f2150c0c5684a8435949c27901f1aaab218e32548d0daa7e02dde5eb73f89edfc6237a4a929242f95d44a22d621525b2fa954676595387c07b4a527913214c610434ddb6415231a0f7cbbb5bd8da452fd43b5997d997b8c80adec173bcce3d67d3013ba29a0a9eef8b1a5280b0374a40889508fac143284275b80444c840c9e05cda471eae1fd5c57c04855c019b88c909e204390e8f6500a8cfb74504320668ca4fbdcad10609b91748d8b8f92fa41589646140f41510625b592493c175c6c19ec962af145036b6c8fb4daec8b4d3e2eb6fe75b7e48a27cc7183817f406785010ab632fc7e0389ec554356b5e043d9bb0326fb0e83135c428c0b1c2cca014a096e2a64f18f3189fd22e597a1992bca97cbe04e7b71b605d8040e938e7db0f2bd23a882413011487a7c59ed76352ca11d933defbbe2054edd2cd9e7f3e5011709af5c538e06b73dfb77d3ee6fb618928d7fcf25cac5406a2d973bcae5a6005c936a6d0813bbf8593c54b23c3936e3cd2140694db5d9370dfc415df3541d8e5679391ae303d61533cca0a0ed1f91c316d9dfa4eae59bbf071945b2c7c749f05862b4352821540f13a7ad6e0525dbb3c8917e8cb155a6f078a607a41f124944a6a0597a0002fde853e0621d8567bf25fccbb9e5d95961d5d1b6c4850340d96ebf9b53b783a93fd907e3983bad957b26dcdd57207601b89897e20176c09dfb6ebc30ce1eba51ac2e5482baff7fd2ac41afc134453a5299f44dfc38d89b719ce6e8bbd2b5d17be1dd10473597a3af68e7a138354e53f23e0911f53054b1ea1c40c83ebfd3201ba62fa76bb4b6cd736fc5641d38c8c745550aaeeebaca85e6285db16a3a6d6d70bfe3624ea831ab37e73e4b78a7b43420389c64eb0db72d82d55b3089641b033d55fd83c4cb13e202f7006f397384880f59b6a3f7a0c875fdee9123ab1600c6dbc950c624836a25ce2d5f5f06908808097038ae6516fea4cee35ac356b4ac532d230e3fdc8ea7c47bbf77c2bbf2368bcc87e6debfe3f3f7efe9893b518f71f7ffccf1f6657fdf8e3c78f9f3f8c64287e597ffbdbcf1f55b3d747faefd93480eb34754df16f6333b609b876ff361cf71f603a4d3b986c5bb16fe07e82d9b681e534ee1ba83569b1267b338d4e326eff7e4d6509ff8ad28ce5f4eb9c177bd2f4db2f73fc33defff28d9f3fb6e62d7efcf1411004227ffe18a6bcf8f1070a43bfcdffd89bdfafc210fcf9b70ffc6f30e1c29f3f10f28fcfe7df710a0720f20f08faf1f347b3fd47deac3ffe28937e2b7efed89edf71b9e2fcf1c70727080286919f3ff4dfae11e443923f7f187d33763ffef8fcfc218fd38f3f6008c52104267efef09afcc71f18f4f9f943fc65fd4ac4ce7f39827efe3093fc3fb26afa0fe8c71fff5fe8e7efe37ffcfc41ff4a729b8bec574ce7d7e983a31009611486fdfc616cbfeea0284422044e127ffbf943ff5ff6c73f304c7dfed11fa770e877fbdbcf1fecffd6ff87fa477f18c709842210f26f3f7f30cdbad7ff8f319cbf80c0f453d66dbfbca2bf2eba3f2142210afff943e8936afb3d1a6231fe3e6bdb2f8efd36adbf9bbf46e77ffced17bfea62fd0dc52f747e80de56ac1b984f63751fe3035ed3da6d739215e0dafd9d71ff4ab81f3f7fc8c33cadbb99ecf55fa8fb9fcfb929fbf3819bac55b1ff69dbd3f4774b4ff6acfef1c778f4fdcf1fce9ef4c57f72e4f7955d24db34fed9579c84a62fb67ff4fe33f27f5e72c5fc9fb65b6cfb7fe9fdebd67f79439ff2e357bcfff9e3efe9ff9fa7daef6c9bf1c71ffb7a143fffef07ec77e6fa94ff5f0e6f35fdfb30e5bf5ff28b756b7e7ffde7df3ff86f35987f67fa0fa9f86f13fe3b1aff8f22f1b79f3ff2644f7efcf123872851af68e6f73fa8aa216946fe6509d6f8ebbab6689aff3ffee032a158f4792813275e14513170ebc7f6e8b8a2e5eb60654f662312e26d5aedd4b86a573f6129e6a2691ea61b8b83c48b97e92064af8281984eaf3b23b55416e240f4134b0758e5305d37ba4be3a1e7411f5d6256ff534b86a475fbe4bc0802e6a221faa88b3313065c89d44253ef279a897ebff043ca53524498b6dd9494f45d89807f6944e18252bd406ff11e303880042969df879569b968e8426dbc6171127837fae2dc697f16bee840c3a2cdea63be46971fa1cd3640bc6ae1ea5e2f66d5785fbd141e42bd61a26ce48915a7de65bfafcb851a91d065aed6c2b00fd9ea5486969cd6975dfc9aed5fef2204aba5d8a97f9605f131fd8b87d37653d7f795e4ae0297645afcc1f060eff417e11c0047fd2ef02240a4110f28b1f2e9e2e0fdd007664a13cc8e2a3934ba4193b24b7fe18f878bc990f1f737e3a1ac7793815b2241ec417b32e9386c5b23dc81b58bda2577cfcd56fbab7198efee0ddf7ef3058e6af64fc120c93ef4a92f876bbed6763a013e9035432d7714a2074b5d1d127a61c589f1dff7a3827e816980459c2b16cc718c3d0f76eb25c36a2361a7448c44b1f7e2fa5912f58585e4ae5dd42821993d0a9d2c7e6b3728235182f4fb0d598e093919376d84ddf9fc29bee8cb43c8a1370e2dd3108cb278c91921fe58df914d048bbbb1fe549e156be0987b2de84b600b0128ef85c336d063d647edbeca4d0110b4cc7b10e181f3ed21b09497a8beaa94b751e8616417caf7017274f9e0796d5236ed6384e04b70d07326fedbad486fe9aa5dead4d9a9f372f1e787c94a0f795dff3d6a76d8f749e84f9d6dedc6dde9e4cba69a6e28a971629aa774e48d05f9f5e6251c992319e8c8a5e953158dcba07f8dfb1b3307acae3a6024b6faea3ed2c13bf83d51ae216c6f1f12f40b1c77e03486434fb760ed35e8d04836d03148bea760030aebfb0f15c8ddf1059129ea458ed9d1163d8096e03d03603f14347117c008471e8f07ffaa28d9b5c412b4b79bcf621e2d3a4ec198d452d2824626dd48179c4bbe3767ad6fa80a8db1ac2c4c7c91bec9c9868d24f806a2db5b7e1a80376c613a82c939e57dcc54644d87bafa61f42fc4b950e71a30f9e6a1d247ede4f5d1ce9d8c30fa0952c427ad9fa58c746b024e8e837a960e9c6c13288487bebba23c7d963993593b7d5580b00596456c4b4726e0bb9b12c4876ca756e0caaf8baf9db7e4f5709484ac598fa87f7da92d916aee421d5419b724db76db623a7127b013837a2df667298df3f31da92a7fcccc57b35e374bfcc4ca4f58978781f93e393660d31c47b9e22390aedbcaf51f5216cd123e4dd7a90b353e3f2c30de05e2f5b84a321f1a6ba588bb2852e6611b26643162e853b81b62b3a88fd8a89655341b70eb24770e2848001fa22086a0df13df4d824cb53f41d684333987af4d94ea271302f6f075a2c1e75d47bbf21ab0ae69e611ded639f4f91dd8a3545eb700acca15384181a0b1a854848fb3d90479adde339ec3f5d246738ef146d06c6d8f8aac36a2ccf08eb7c8b56a356ca3ca6c1d2df6209cd876c72ae21f6b7490f0887dbae2240e0af3b99c400ba4221c577e29049a33359c98c46cd483e087f99015901bbaa5ea546c5ca3a9e701d2fe2cb2f5907e51368c0682a5067e803233020a6e7dd1e328518835c3bcbca05ebe941d70965af381d366e2d419253fb4acdce74ce1ba59d7b9354be2224cb9242b1c0b7bb4283cf417435f86678cbccddf851b869d7f9e454b52f5bd722f6c94ca0520c80a92db0783334bfacc7ab9f9b7e3112e70e00173ea6d0b32c5de961edc71c68a34f45083bf3615294458542827ac14621ed7776fa9bcf87964e17da15058c48db1e11761c7bd5621ef82be118da203f736abf965277262db675be85587da77625bd526d1a5d59af2ab90a862da4cf5b448502b7ddde8cc5a12e5d92c6869121061a667e256971eae90d658a1a4995edbf0b65ba90c1032a2e0c0dced08eca6746288a3399900f3f90232e3b69dadae9ed370b71224debef5d49bce36c6ebadf0854983917430025f2bbb1fb97573bbd1edf17042800341c2d3eda11651630273444ac5e6d82c4da1c949245b3b4d99bc1319370a9a059e54a68df336f7dbf02beab679ceafabc5e5733ce4d1ab45f7dabadc44d35cb1fa04c4f60d2615142443012847268e75cfca9ded28bb967c403909bfd578146ee29d0bd744d8e49f2c0389d5f5d1c7f33ccf0f09a19d1d1ddb95283cd84b0131015990d16ba830da71646f668e64321c629ad19f9ac30438836f049e6351a40b3b4c0f9415a952995d556bbca35d3e12f029f6a73542913be75941b436e9e480d5630227f1fe9bbfb88df71b23d759a2da6f3396202cc1a47270022f9be3caeeb77755327328ed996396d32bb7cb5788984818025339e332b4d759b495462485c623aa7efca8ce915cd870695a97e524121c9fb6976d2ee4b52ebadec740f73f56d7a91a02f45f40827b5ebee71ca2fd927ebcef1956b637daebf8b1d3af172238a2a5586d66950185ae553dfbf6953f95180da8ce54aff05c5125b0b8ed45a229e3e2c74b3b5bcdf943a1abafe669d3c6e96a65f34062cb5de1f34bfae599ce22f930a4103d850102c7be60f9a6964e6a5654dd50edecbe7cbba7a12f756a070be555346cc5ac1b2014089c48d0e3d532ae1f7c449ecf5b2a1658890e0757e6233efc9958a3ebc755fa29442986db718afdd6d801a20e83c2cb1852580fdcc3f6e6ae8317819da793c1b9833e8c825c4b62f1c8d4fac2a337b614564236bb0e3422da292fe75e8294897fe76e449d347ff5cd09c9e1593ecf91ac03be102be644d40a49134f254e84d322149e766ab13b5c5cecdefa55b171144e17481d177b5b7d61937608c9de90d01ac7ba451709d9cf0e79fd1c574491f7ac9ef7a00a0f3b97756cbc1cb0b97078838fb6feac39c27c2d0bec28ffb4f4d4e1426bce04c53c2da5ee9df346e44b4d2a3f6497ca19c2a717d4dbb628753ea1b62fd5ce08a10822f2291722f3d87bb033189c6d20c1856ab953bf42d3c3e503de42aab4ba81511bbf96b38b1e3b38528b5f0e0cabd6b42c5b3c2f73df8f1ae0cbb80fc990c2473378b9d3c0762ae9f21af4bd14aed03a7d4eced09de984cf55080acef1b3e5694be069c25e750d2e8de8bd638143eb230da34a60e89b21002e5902bed9c593266358ec6c953023e161f38e4232ed890fb1a88dabeeadde4eec6d41c4be5107d53755e25b915036bc2d8e4cf28c6741190e13de0b941f9d24900f68f6c14e813ce89c904024ba2dd383d375b426b03ce615b2a2c79fd40e9099d39cfd3bcac30c8f453623f30e407d6c9be90c431f67553f5fa0d4fb737716a550a9ba1a759acd8121672640c3e24115e2130eab0be199add568fd76432804b2fe2e3e9e3bb40626a6d7ddc689324e5b0a7dcce024c88c32d9f5911024bb451fd66103c3ac6d91720ee2ac59e5a5914e342eb6804ddb09ece26f1aa75cd9516381b995980b580ed5fac30cfb0084ad90d627bd674ddd577020d837b67958796e16b90bfac8bb6d91012ca95f609b3413f8e353baeab8eded928bbf42fbdd20224aa7c7ba29d36bfbe3329931b8b268ee699584a95a79803745cca7f1c4e906b5af683a3c237bfb3965b0f89dbf34e9b6e079034719a0cf148f16f3deb467427ebb5b2b8b64952f072bb4d81061f531256fe897fb7c6964d886c0f12068e5c64117aa898fe3bab168c7ddafadd921a63f8133475118e9b68e727c62d0ccd18d017202334a209a85a5276db87533030bcbfa2477b4d9ce3ba31a0053c00673e5d04b5865f9447d03b52d126ae80e1d5fc3eb309b77dad749fa590d5e15595d99651f9c21372801deb33369100d8fd36c28016fe39017d10813deaca46590d5cff1a1e8ee521e60dee332a48e788be45eb1cc675af52826c7624ce771ebae921770b0ef32c3db1f475eb75d0cac59d6374e73bb6ab70c2fc0d49e3661550a37e929ce5b13d95588e98fa26f5c5d495a1494966869291971a347a87ca18d24b096a9bc93278844ddf7943ee4d403e747f4c722161b9c4fad53d532936d96fc05077f89f3daec0ec9e4360c7bb4a91e6c2ae22707538e1338f16359f061a2118b66f24aef6648fa7696853d972475c3818b734331536bd36f4fa4c04319c4fe60c407de8a58d95e2da8b765e7125ff7925b8f92a9331ecce5454f95cf11740bb8873a1c3a912490d578778e111d2f3a3acf383a7720c04c889add20cbc07778e32d6fb36d592dda133b9665019896939020e80c224d10f49073460263d59c3117631b0213cee97545ab10a7409aa68dc0dec0ed6534ca21fcb4f77789e84ea7591108014fc25c1aea474193b951f9009fd400ab08756217a279c580776bbda630e1364451c95e730ecb407ab6d77abe354eac0549a0ac7832e32b3a77d46975d501a966d232122d0b8d4cb596cec39505d8b3306bb00c08bf73b27f445f09ebad7d410344a017c8dc10c8e3092259242029a3146c1ca6af416ce869e658e7054d72a7e62500a888adef7cba801d6403d28d8a9b5d70da21fbb110cc0e6d3e2aa5de7ef9a960bd232372d7c033d83e092700a23f44ed2ba394cbe0230562c542e57b58f18abdaddb5cc3d8351d4eac43c6a797884ced60550cfdf30c0b45ad2d59682a8561ab846183546e3c93f1d587d167f8f48b4aacdcde6cb4bc8c881eb76bc0e301555e18d87998ddbb3cac4b35ca76679d137604c4dc0d1cba0100f28b3a29742b0f0d73ee0026410e04a810086384d8268db5754cdd1896aa6c7961aaf00b0655da0739de1ee77c29b27a3e4b41ca5d2c5f4d45939da4ae27c19447017ae6fd59cad3889f83f29a7aeb3aaba806cfa10e885ef24eed98457ce2c2b4922f64163ebae95300f4df22d3275ad036a0f0d852be8d4300193263eee97e8f0da215e9b229673387643f689e27ce538b7851c61dcbde12aa0f2c5a7c62bf3af000cf47da74ab48e90365a98782e310145261c88d8e04a40837dbd0a9975996e75947e3104dd6f716d2bec53e6e4f98c89e8501d34988f14921c298ae050660c22428aa55a06c024627418654ba81d4c1ee058482a331148411043d6f7971443b596d64ab6e252c18af6257123d41baf2ae349f4851781b362086ce83fd0b2a0a26249f6e7916cd2d8842f1aaaa519116221b333557b0bdb069463ecb41146c22763617b3fcc3f510006aeefbe90886b15deab336c838292adfccc2727bf43b711e8576219023d09993ee1022259c83a96b8b21c3db8ab7780d5bd95d80b4576006d46c3459db7d1adad3902c739e63d0ac3a5e030d65d528968435c2379007076a22bb0845906edaaf54b512dc9be233be00681269dd62ae05084e80dfc519c8cbcc1a005125abc4eeecd01e934cfd2616b7c55193e893d889becae25ae67427512db012f095575b0d21ccfac217bd1073b1a1af5b14cf337c2439ed50e8aa8647df2867a9f6d09ad471b6780b052f6e57d382a337bae3bf2bba55505fd587eb63de8efadad7747d15e410c50a90f6431b48c3f81bdc7ea14d241009881e4b878e743be34fcc8f4e6493fc5831b44597c36849acef6a2e4da7dcc490be404e5f97139bf89587f85a86985d067bfa7c029196040b6d9c9db32c1a409ee42b3b3371777625d7f22bcbcfbc42b912dbc3996f13fd5cd3c55c04d34c16e650be777d972b84754ec12508109314ebb6a41942220acc9a5a17f2ec7288d735082a5428c96b13b6d1192f0debb5b33778f8d133a4819c3ec6f3a5695287b9f2b2c6d7e5bd711891fa39b5b514dc699a8ca9f14de851d9e3487030e51b06a43397e26edfce83c97361297bc2c452403dbf7cb81f83fb45b91dd6d26487857a04487135c7b992bc525a11a67e5dd12d70498e00ae1e513f65b6925b69b5c476307f3ffb4440dfc27c29228fbabd3de837744da282f79053e39597dd2a8b2753a641cb13813eab5dd9b7c945a6b4032a55a7dd448b5858c69447985f38deabbca0efd6b18c606a6c4188bf79a057f51beb96249fc75403978811a0ee172e62dca3803b384925540d7d75ebe30ceb22ae2bc6d40794670e3e3ba066a4a04bccfeda45fa38c9b7feaaf7361a10c56a36cd57b1d4f5b9eb19a1fbe15c6523d0eaad6b552665f894ed91333f7da351143d6b768440c1927f3de8cad5f261195cce4916afa78e5326c789e82e42f9051220ef19d5a3818898de07c50cba60ef340bfe48ae04bac54ccf9c5cacb62170b7aa5548e7d40a8fd3b717aa8ff5e8f630969d34584906dbbfbf6db069da8a74ba659d735693634af6b31305c2c66e41ab07b15d6803d0065f0331dc83a8ae91732160a39a0854ad43e8c7ddfcf9cbc0e115f87711dfb7caa01a77045c9e54453295e2e48e46777f2694e72511d6e4298a8a786febbaa66eb2ff66e4ee8c668cccee0a84f3735a625c364bd19e907b7f46985b4d4dd9dec68e31419055df2351cc1fd67cfd00a2647d39494f13887c242b000495f7ea733737f18ed9b85cda3439438c43977e9bfc7bcdc7d53e02b54706795c94148dfdfacb0a6df11e59d8f5f92e7900bc2af89c05ac097abae13ccd00c86d1db506cd726e9d81448016e76e52a37732ce0b499cc2b52c17d29ff3e65fefd9427b39ce967a7483d3bfcd2e3b5985fb05e9fb892f23c6248446050b217cdd31949dae90f76d030f0f52b59d322dde19446294afeed627f3c8cc02ebf4d245855505b3953d272dedabded36fb74668c2b5df796d74cb920b483f5ed3356d8fb1836bac748164dd51eb7401ccab2c57658c37dbd3a227fc60578ee5dec007a2c912cdb97a2d08f31b8ad2662a9faeb624c6d29e020790c2c3d9d78812f64309b3ba274b363563b47658ace10c14f6f956224a07ab6995ad130bbed922011bfd3af1661e8c98d835ddd29330504c92889b497121e592b3ae1f2e239b8ab7f7e269b83d390d5d3b36b38f2fd806ce3a239fdab3ec0d8fc0c59bee061435a952a69815e46e760060083011daeb60efecb974a00e007b2a21ac2201ee7d8af1c1a48341efac11888c801667ab0e8636782204d9935408671a4a9904b820a5f0944417eea5d0854d2dde8575c7bbcbb61daa6fed326c51bdef9b77afa7a44f613bda3c3a7ebfa2e204ea8121d1d3d53be0f46a2c4ef5288df16616de21c05a6386b7f1726771c0a767a48d596023f9c866a68599ddda3e6449dffda8179c5d68783f2013b64833b0e6def71b865d00a102e1635177b70fa528504c7c02f16918fa95175b8d0d6158d88ebdf2aca521179fc0e9d77a360addd19094b5141ca871c4b641a2ccc656b999e61e7076b1b0868aca84e5c470b25417586b6205aebe86b0e4a779c692185bcefa63ed307c4a01b1a97919b6f5f38c5fbe9bbacd715c6871984c38e50521c97521836b8e8a43c422ba6ff0d595ae8a57a8e264bf26c79edd52667a669cb7fc39c6920ca36d458d3e0615f69ed2dcece420b428f35ab49b9a4849aff99ccee0ed8d249eb252a9e39e2151c6ff1f1777694639020040b8a08830c93033c78599f1a5fafbf6dcae990a46ff6d7b630066bb2e64c33904da0c80dd24307d116512a96706ad89260f16187cd9f4b2ba2ba6706408710a5e22057332cb8dac35f5ca1da576e8ea8783e78dc816477d34cbea19e3092e7324148b975fcc43e076dbdb95314ba1c83fb15b8d5e5dd39690a6691ae38420b22cbeb71cf65e55259ce386b750cbe30d7d9291f3b6b993327a59d710a94ea516647c424dbc44b00d07b11402b15fcaff6016930c63a1672d185a6632bcbdc56de44759362ad8bc866d1c6dbfbea280e2718dcf53dc5001ae259f074f4c1f0064ae865d456ee5cc2baecba99115fa23a2d1bb5b2a2e8db1683172eb7d5772f9a9c979f9b6c33dbebe53e1c557b8a43629cdd9d7cf7cc8c1675295269858fc5ec175a9a628247ddab70bb586a12a35edbe1c329588b2c7f47d1567d7cc00731849a401a9b01a0930fef8903612d1b49680c86cc1711e8920820976a549d484c4e57dbd37ca91c40800f0f81a080b7b02f8e401d4b8a1c3e6eec397fd8a30379b378460f9117f628aa2d1f936771a18869584a60272f19b6c8ffc5217ebaa2c82c250bc11c867e47e155a04bffc3ec7ab073ae9975734953471bf9e9cab65d993907edf866c8b7096f7ca0c9e50f4affe1a3913d248dc058e291d2662f9c1b1537f80cb915f3033b1e0a513f20cade259f68be3f2916271d07846cdb4784873f57c93a6a518a3cfd631c8c2604f30066e95c09ece7a68bb6a27a1ba94203feb8dc63d2d556668c98dbaa32a88193d5a26efba640ebd2eba806183c30518f13cb7f0adb8ab3f3050f54e347fdc8e71e8923d77bacda58690ee2419aaee6748a654c600882a6960654328d6d0aa47d81385c36d5b18d57e72f3d6cd27ff2a207cdd41cee0ed7a62e2362c5d19f09b1bb58220abb134f785630da9d085e8ee2a93f878271311c429551144ddf4a3f52c49c85a9cf576d44de50acd9db201523d8596f9b83de3f215ad36dcacae6a0ae7d82eb087f891e2f15e35ce947e9e737990f059a70bd557abf7d8fe7ee401bc2a88eee0ad3d4c1a24d039adf896aaac5057c22f2945ed821a73af34152be3a980830f9bda7bc695fdc46e709daabbd6c12ba666f14362b4ba9abe4a4c7cad4319d6c1a0b6c0af7c250475c00393cd71c9e8588259c19415f2f0086b8bd74fcdefad627ac8867fa471d6eb4d8115f8202c6e80b4635bb4cd6361458020ce731f05cb0591431a69ebeda8d6f49af47814e5d8d3410abd2e08cd03cfd7ea486a7e5266b306f4bdf8b7e073b461f976bfc0809b305010f54549c0f9951d490abf873ae72eb3b7cce12641ab6889693a100ad8d71ee3b2dd871e18cf35d1b265e5b3c9bf4faec8f5f4e3aeee28a26d79e6b1af80ca7895089f0af6e467f63e40cfd42d3852443614843cc8b5f820b0ca2a82db1c39128fa02dfee92594f891ad383beaa444470b1842d9ae97a905c789c7f2235b4ed4e35026378e6fba56501c478a1fa8adada15e8f6ecde000872cc1e3e9bc590e5c0b298b26cd8db1a6b9834b6929ad016a86a73860fe3aec47b10831fead64639a9fd995dae2b6b971e2dc6ec79fa30adeede8b8de9baf1a078555ca72c8b19943cc7ceaf0924d1e49b320a1746e65d1d65599089558068df3cda9a0b3e9f3c6b34e5924d3bee3acc88b55b4b934e840968428dbced3a21e0bfe05faa5f92e917fdac222c227918747138e4b42059bedfe72443adfa605932457356563fee21539afde7c8221181cafe154a4a6de8988326bae6fa6140119159b5c56d320a555eb5e0a4a43859827ddb3270a92b86e747eb6c62f80af6992e5b052f3768c5f1ba88f09b14faea0d4f1956eb33b1f87c29c485fdf50a8ea9b21e68802598e20b6d2b0fc89bd104be88041333db8de2bbc75088a65dabcd4a5e4b181d8a08ad6d7af97a4a27307cd334e5ccc2a355759aa1dde8a8a30fd45fc78c7ccf7a0ccf5f330ce11959b503394282e5e11a007fdaa1eda52d14902be96ebc3e820a7960cdfedfbd23e63e8d92d935f365143061f2424e962db1a71dc1c37ce82e9ef0db39c6f5fcc0b1bc8130041fa0c8790e18368f3a611d4f4c60ee841180d3ba762a9225f07bff18a08b2d7e71c4888b6881132c05b158fca1c86e66bbdaffc8381b7a74edba209a9245d92b455f76af58644247dac3f07c25b24f1f8df6b0625061d69655e77b8df19b8c0a0b5d7d9e8e084889df8c57b5d7ece5f455c7b333016c3bb61b6f1cbba2df9931939ab80120e26b395882c15ab806dafd5354ed88fa4df37728fbdfe85b3740bdbd6b1bdbb6e35326c909864c284a7579c1eb279f740a1e8bf7d0f2fd92a179f0d5ab646eaeb68d5dd371732d16831c6d683f4d03bbb12d2c651f354c83c42677bb7d73c27140d4529f1dece07d4c19d8273642c8728971bd30477270b150910ab94f47b746ecb22ec7f97762719de7e4148cf84e855259a59f248c0091a4e153fd51cf5b5c3ec5ae93491387861b5b7cf59a8511428d16536b1feedf1f5a39a84d9ce05cb79001223418e070e9cfd90aa36313c07906ba3d4fc1d1661ca9ccd4607b5ef15b0a8b661bbb6f1ddcdcd1b175b8ebf18f60e49da90ec49b471afaaba2f3032118b89b41177eac5291ad8656a0d4da33fd3033b1846f5aafaed8a04689376d14115aaa19fad721fe026aced450fac4a9c8da881688756bc07ea1a6e4e6839243289ee3eab028f284120ada15187cc2fd27642898478c027efe9472e59db24b327939cfd621282d4bf765870aff467f58d7b1d39b82a91005b866c0bb8600c78486da895a695e521cc597fdb7708fd992d5e0704d7866878a7021b7d55155a37171ae5684f6b42e7ef8e51192a0a41742e841cc547884eb1f6256460f02d20fd72d7f7bf2acb14ba38e0cae485cb09dc84ffd5b1738d91d70afd2fcf232f8fe15d5cf211b2d5a8d63330b045f37e465d5178347281ba3cf0b4f33cc66f1158988471c8243a2f96f17bb66f90409b2368a3e3b88e77fbb4b1425df980cc7f4927a99d75b1d93c141532dfc4a6930b005d71cbee6763d9089f29f5f9372a5e8efd6c3f8e2b52df547d79e5904d54489309c2b3bd7dcc4f6a87a7ace0729d46ab2a2a06e28b7ed4e249a2c1f7ac11e8fd7a1f7a99bddcf20c8ca219e070e8c6aa29eca48aa2a7dd7719ba04b17600d580a4d0c633fd14204bebb4fab00911ebf9f4a3d8b95727222f00dcda248c49dd3d4d8ee047e0ce1107db1dfd10e410186691f866301b8c137a8550db04e13b88665c01d63faa177e476e3d05aaab3fe6c846da4015917731a2b4e47842d57037018caa6c7f409233ce3f9c066a79f7e1d48a07d1f5c2518c03d38fdea2f3b9ce7ff71d4313a904b9a9c836227bd2cf195fae963d6a174525a7866ee41003e401aa2e9d890783aff8be40fa8d5e19215ed10cc216e495d90d257cd09565f00cb03537fdcc2664f599a152409326d2590ecca541b19fc4c082870aef08528f2a585a05a943178335550a3f5fba1dc201d928a7a577d773344a73938f700378d6b45764a9a1b5c9b82b16d7eac93a268878e55671ecc3d51d74b32f724805dc58ec19725486a7009b0a8c4a611f1f9b612617c84361c9aaa8c377ef83bc0b4b97cc19be3f27261411e2c3f47dae1f7996b8b2ea9b0cd5af8ab35fcc7959a5111eb75005d54ddd2ced5ba5200c8ffa5b07cca1a1f4da9482e2533b765dc4ef4355361e6706134f0a66ec185bed9d927cd5fbf477b64668cd08acf7ec641c59f785166ef724a5601f38f95b205b071dde1c7f89136cb6f554d0e8d71357ad46923c6704e16cae6c8deb0a1e53afed5392eda7a2e5d9e4542df2e18ed05897d9baaa07bcd0b85c7af9829b9c519ccc2fc51fd30686fbefa1fbb3435d6f537057db52377f9973bdaa4b497cf69a6d026df7c4d0e670e1c9468b21185029e66b14b23f315d075977abbbeb065c7598e1c123a4cb56f87d704319edf28d4af832971729e541db96eff8ab68e89b77c99910333cd1e39616e5e3ca694a43f79d0c831f1f109c74e4860e2d9869045f33dd88a53618f76a6e6cb282bd9206013e066c345e775678a7fbd7557af6ae6d2dd33cbdda7921cfa46d523fbb92442b34423818419127c038d8b6b3c7e080e59900a715cc4eec7e258bd1f825cfe14c05437c6c0f12d5a2a539784d232db3c67cfeae440c7b4ff4367bea93d406767fda83108e9d3dcd40992949ab129df70d12d067f02e147ddf65cb151755610ee80c0f949687a545d2a61f56f3c0ca7207ccd10751d6a8cc5df36f747ed82113a3755b74dcd524367b93fe4c163fa631a8993bd943d1139371ebc719fcd040c18ba3f0d51aa4c0153f605ab6d47c89db7e85d21704985e47d9504a46a906348a59e5047243fcbbf014fd3679d7a0337bbf6e4f81dc68f3cd0169bd38c9551ef4994708a06b855d1fc6ce815e11a503b9028fcf471014039f0107cc668dd301bf98ab133ec7200c625a89f615be55da6dca1a88bc0ccd03ac6d004f1ba1fb81d09247d8c586e1e17a3f8037d68572440c4469fbbaa59a268073e7612da361fa3bb00e4b0ce4699ecc51346f8526a919e7eb1a06c7aa836d5b61e0c7fb28969873d4a34a3cbd26a6b75bdccbc6fb142bf45e4156c75a08875da3155433b7c2a3742ed32971c3158cfb274ec3254ceb509efc38c055f703a65aa6fb2655c13f3f2adab646ec6c8950281c62314aa5346eb0f276dcc4628a026f0d9d41953c813b26a5f31250d09900ebf486d81348045d7ee56b817570160f2afb0d339d4788b29a836f53cded4da72fb75681f7b614d18ab2a8c4a8c9435af6bedfb9a2320be6f70c993b7b5c3fa04ccbc3f35ce7fcd03e9de1e55d835f6a5a96d71cfea0b9cd939a06b7d5288d1d222092353bf6072093f9baeffb7ac018aeebfd7ea3fca37f7d7f8e1c929beb0ba1bc28efe1b53fc9101fdcc93fada522bf9c5ad8e62ebc6b3649b4f0970061b78f27ae5c2a4d923b1452e0824f00556cf6bdd4ccdc734df7dd98bf56b5aa63936d26e75b8bf9d8541b68fc85858d5f3e75e0edb8ef519897df2f041d90491ab681fdadf41366a8d516454080fc2c0f8ab4f016e87bae71884db4a31242dd724f4c595551c2304393fd1cec7bd1ee9799c8fdc111182235f051f7fd4d87017a6972f2925086e52dce2ed84e1b6070cb7b38af9160e26fd6f50db1f80c93d20dcfacd4bb3e12b49c3506035eaa7196a111d3c98f734d263953ee9436101a6b55287828750c0431e72186327239c3ed33f313bcc373d31438469a48b3d57519780bd6b29b4ea1ac1655db143d3d5c42b72ce697834625a35c0e7cdfc4a6e067d7ef949f295d0d9d4dc412bd9835d4f7a49b82abc5ecb03f822b58a0228333d33b28831778d8c6a1a16b812979841405924f06d23368d5200e082018194231e0486d3fec715c1917e330e020a6e8efc92d7911e6bd6d6dcc64c80a10377b02ae2251ff166a6304694b6b5fbc7ebda1cba144b4e9c4d446756040fa386a4ec4e95c658f16cec8a2ed0f71cbf9ec54132ebb2cff2582e8c8a4a770d9eff81acb0e9c42c969fb10c6a87cf16012cde4fd65cfea799b338bccea3273a80571b4cdcec18d9b7c1357d40f3a48837c57fd64085110c9813619b14d5607db47c1449e3389536a9d05d254991dbd57699c472964f697409bdd8933da370d4389ccdc3900036547cbb60c63c2b5c97a8170e075e605a9bd19f0e8ba9e676b5a2639ccaa63320ce2d18ffcbc7107675e6c4979e8d196ba70ccae8f956e31957ac3dd3280e2edadd54e7cfcd674ba4d1226a3dd7d8acfa822e11a6ca4edeb6a70726c71f65465466fd00683b76f267cb9193d251d30b10ac07232d92cae9a8bd2fe1fe28dc91841f9359240382207ffc5bde11db56f010a1e96fa5ce73ff46c21ffcd972eb789d53ac6f4f4a3383f5639255cd9c4445b85351436d8ddea50829ee8a0c3ab402dbc02fd2dfcbd2e2dc59f485f6f803ba01d95ee1d2184275f39510216924d01b297ef6ee43fb1ef116dea94168eb6ae629e69aac859aaf7886f2d0c834897bbe28b8ba7a027c0599fbef2cc6d689c119c0bb123c02d2f9bea83868b3bdd3124ce01e02025cb933257531565c5f6d80ab25ff90c62c20495e67e233240e5542885b901173a71733efb25fdb496c0c4eaa2fc70cc4a410f6f3744f15a0585a287078896bd1c99da6ee8c04fd7f359d7261b67586656922a0ad7d9fa11485c17f69464f0af585aff2cda5b388f29fcb484f659d4cd14c0088223e2b794c5476c8a419e0b8932859cb9050e5abb060cac19f428f6dfc0d8116c17254266e5fb566fa8cae238fc8e8269acf7f45c5c08ae1894eeac5d54bdab34fc77632a63666f0baaafa57cf57b707d7709ca668f9ed918ba30ab70d7d7bbda97206a8b4b15088e08648d72ef74ba462f45d14828e161c1554cf6be7db7e80b531db139754133bfe6cde84161e315b04450e1b67709889effd663026410ba93c074eb683957c8f925287c8621ba9623861d2db1878bfb832e9d03cdeff86c3fc0ad5ea14cbe79ac31c44e8489af337cc9e2e71e341a42e595bd154bba4b575f9ed0e7c3ec3023bba02c9332767407f81df8b2fa744cb79a62cefb51e43c01a54d1dc424bde806933be799fb7354112119663c1c1fd11d0a2fb4ccb6e3737fc25a1e7536f6fc4b4a15713c93102f9d737b0f93698c3210cff2c44fb7d46ef4070e45f185879c79cd6b1cdf1c5195535f2bab007d3cae9d7fe9d1305b7e6c1a244a0483318492fbf9e96eaaf080eac15d2203b9bd73fbfb4d7b1f0fdae9aa0bfbdd31c890acde35d5b978f4d9b4280ee29f50b1088d8d4c77d9b1160ca20c59554c6ec90bef3388f9649fe3ce602622ecdd94975d04d4e1448e8a94ae224dcad1ecfbca0808741024b6bb61e87ae6869d0590e10ca4a7c9be18d0b92f52781a25906eddb6f7efe293affb0e7289ef95c94da397efa59ab751fdda4ae37550c46917c9d10c89f38da6e33d802ba738195d3eafe25ebeb08fe6990ad42bb7da76cc56e7420dee474d3c7c746872afc7c8ed15d53762ff6940225978bcdab3c2d0a54c5e58c9b1e38e06b51e5ffc55b1c2486649a553b41a334920b78a4002bf406837fb05f73a57de0b8f4424324593f9c505f5adaae8cde6e28af2c8bd8413f962ddaa2879243e09ed80787c9da6a4a32e5c813dbdc00946cc33984f82ec100e712a19aa29acd2a150fd4ee1532aa9c02e16c5c2f92c515c861749053d39fbaea8f456b5a0515bd6b5a2cfcbcd95bffe7d75cf9e82a82952a08e212721f4ec784209a5dcc3f12718ae6fc70c549346f62a751668004deb23c610fdbec96040b600208febbb26d06f5794f0822142f061ebedb2072e4ee8f2a9cbbdac28c9431d071650ef5cbd56892a2e3dd634352f8212fc691d1daf7cb0d1107178978844fb3d432e64d6c7a5e70ebac88a8440fc5e47bf85e0dbc58e4a0699cf6ddcebad0e316619d470bbd02b87fa25a7eaaf14ebcfc83a71a1051f4b552d28d4203f4ecfeb3c4332c249dec4e0c1467f28c609cf335572794f9bfd63992dc19b223469d806f3c51f452b75bb709c0f43fd150b5180fd7e8a29f6bcc8bb24bca39682362ce4e173619e1093372001dcb508d5a5b73e5d173353b0083113beb49ca7b57ee736745634fc82f4f4ace1cd9556dca4dabd0086ba8d8bb3855ff045c76fbbefecd2df688b2f0576c7cb513f6acc4ae2775423bdc6da8d876e103f63ce348a964006c78ecec068f193abb72ba621a19e82b20cc8bd9c0a99cd0a64114a714ca7432978a42e2d04d5bebe72d0ea0fe8d2ba3ca04431597a95eb396d9942d90867516ec0e018034a6f8b929d4e325afef20bfb9e4647900a09eb06d6a0df21859960f4193a22384d7ed1fd4a4e72695bbdc989c51f8dacc7deada5928061d6802176d8cd2fbc6cc8af22fc147ba242e4b017ba9d32d988d182e66715963212425317a8cbff9a3e41645cee68d8f97da1d9a007584b77f52619abd080614418121c23ecd32909f2f5e3d680308370a706899439b539b8cc4ca164857017673256cada1f8bb4843c7d86da54908dd22c7a9363ef44168ee981e68b87d6a812d8c77212fa9d130fdea7d4028c8c78572aacaaa0389d8aac7b3984f405f6667dbe58d82438d648e381950b79f1c8a693871c41f52398e7592bee723c6ecb30f1e72ad79c6b57586af102574b5094182e628fb67f3863becdfb4077d83d101bfde44da244722b4944f8dc51ec2ce2495fbe3812ea5612b8797a39b10d81fc06dcbf45cf8f185a123ee79d8678f7275201768f4e01950099427918b574d2fd408daf2ba3301ec61643c2639ee4831a428a453921eda0b7ab2e57459bd94330d1ba388626a84739dcadcc4989c6d51875241c6960530f15a0bba489ce7f678b2e893cf58d4b93ab601889a1c80510f18733e56d1e3f2fe26cd9d4197adc596f7b049c67029ddcc840f3f4c7cbf0763f485acbd6a555ad417ca52dfb3ce21d758a8673b0384078abe149edc58245a0d661650518ba92f2c3acf7ad85c1fb5c38e23c5b30d7b941c0aeed3d72275f76c0ac21e203abc7b2e4a9da00ce58ae547f022b55a3dbf2924cb88d24702e4b20d24cc91fe73d82d8eb5eb9b9cd1eef4bdd86f1e1ce2f06a2d42fd39bd66787391bcb3491e8832cdb036d6fbb1bdd423e9ac2a9e2859cfaaf4c53b557b6964ca811d913ca4e770c30a69e908c7119baa2099d2108841995bf2e2d04481c2802ca0aeef268ac80a5c209ab3c134aff44d37022622781aa1ecf051c72a84d8082d48eeed66497d8acede02309da24d0e66d25b101bd9b60eab1e2c92add5daaf00a7d88c540ccfa148ab2e14250cf168141dc979df1c4b1cd84a88639084c72615e89d35a5ee6cc134c194c4ee56a42a4cd6a4316e363e6a089eafa391661ffe80066e34c1355eed637ce9a34a7b6055ff067e787bc2eaaf4d83465b9a16e21bccacbcd414917e390cb49011cf5a612b72623f529c03a5246c87057683e0db55a55c374496a4cc764e3d01f2db444455394b49f7667ab18e0f2dbcf5288f614f7cf7980aa9b12d9f5a89cf8a90bce1bdaf8a870a5933374c17f852081796b5a60cd9c789e5c44f9a114fa627707c2ab6f0a2253e2b7de67c9c9593958426c9c91d7db92b666737122ed0d5d9a05ecca787e4f1f6025d5d5ba04d4419c290599aec4b4be235ff64626a20b6c1d19ac5718c6d18a7979d957719136e84b771a7ffcac2516105b3a70a308817c4a3bf632e47ad3a5bd798efe88ab5e8d0e42d6c4c6bd29d7ac059eaeb4f57ea7c635678623b498332dfdd86301a1a0c82408c9af3bd9b610585a5a1de05528e46d33e98879f7b608c84264289172cdc648ae01d3f46397d8f1ca5bbfd37a899fd2ab32cb98d6685ed89e1ce6d1ad5c0a4912bde49f337c052d1f56d8b54f10eb5382a8d646968a3819ae3f85d5d46c833a3e908fd719b6540952a59b91998e2414ab02b5d65b0994136214c2342bf9639e56bb0c063f9750cdcd4babe15fb8614b1d7e618837a9e560977d9161d776860b827e5570e7815897b5d6315ba5e6eab11e35548c8b42727c40eb1d43470b9a578d76a059402346e6104d5a3a9405e909581d8ba34dc9dd3b39599a1b0d0627e0b91f26a5b27f92a4bb137ddde58b770d6c2514701b78758dbafe2c37453c725d88761572fc35122d1438e5444ce9049b5f5ee3b71bedf9b7a7a7b4f0d6b29edaaf047a347a0eb54a978feff4d0247225c3378883ac39d4abf84792e06dd96bf0f5c7e514d605dce75750074ff1f01cf28fbe4b5bea5fea50a738f743cba0087be402fcd8d895ddfad2692b719290139eecf05caa72bc20f0fa4bfaa5122ed21b086d4d9c6ae08f53a4a1930298e2b734c56fda3798f0a7b763156d4dc244c86ed820f8cbede2266c7b191665ee504fa89b068e1c080f86660e13d000a89283d0f8309f32f40bfbfb3cd5755ed68ab849690b82b1d969af194d99318a0617ab8acd66f18678e28c78b9937cdd8cc1ade76535ff7e3c57f6caf20db062f9a0316f1ab2555d918ca7437b4b5d19753ed202699fe84e5f374957eefb2414d6791e4df4c775c92421cc38905b24057d590458ea7559c212c3d4cce56e45c2a764a58b18414bdf315da9ba35967c48ddb482fa9ca09e957aed7ccad4e76b267869b7dcb5f2696fa0ffb4bccc1347ccd343c58f5fa8c4c38eab5946428a7c23db4bf5cf28185ac8002f3cfa40d2b89e2ee815d54a8f99d2d76781f40b941cccbb117599c68e62a8f9130a2702569e3fb3828a0d1fa266cd7340ffd1b992e7ad667b2c25db604dd4cd07f6efdb03c4df217d61c77b52c560782f7843ca3bd06bcfb0712776a270ceb22338e7044124bd4c4279921bbf1ffe20d40eaed2f7bc1302189ae3c0f86f10c41e6db4c3a6b2c3a2ae6da45f309a7f65c0eba9df43e7d6c59857af5d52380d9b4d008066abaf4d336fbcfbf378c68e2805b64ff9b7a97572a64f52623dee8a7b7abfc0fa8c3127a78b7e04c4544b85abdfe1b82fd81b550af60627774583b871e6531adbae172188b4027969ab9d8568590acbae6872c575d9fcd05e3a74330d18110e3778cc67f7803d637aaa24db42f8d421b98d32a5896c7ee9b10d68ca5d38c85ef6239cd2a032a6365165b72806be3f9299858c6b78a90d6b8c93b9f151a0df1c949c1e06bb2b0b627fc53dd9a75e4a516c860a94326eb981b62ba1afee773890b636928c81d7304a450407db2d7905fbbb172ee8716e9dbf27296b73ee90ce30f9dc8b62605d43f367bd90f29254f219c3f5edb2eaa053406e57d3d55b34547b966011cb0c0495de897d25c9b44ebff3510bc4cccf7b9bde527b97f6f3d0d46ac4396066ab77f675bd9d79f075b158ba2de3e3a7a3b87163a22d6499a6e112777fefe56ca3527533c817f2b66a9360a91aa245dd055ee02822064cabd60757730ff8bdd8226364c91b18ba11a17291a4bcd7f1037f5fab9dedc46d82e583af435c04666f2735701b4de211f29190d265115f097b4228c5a8dc41e70530aa1c54324ff5c2cb604b41ad06c810d3fb6bb895f14bf2bf9368db2ba62d83bc00d4e1553a924ef686a2cc393bc7616b51f3308abc58da8978cd3022bb79841e4b9e7c741406545463d5267ca890494c26e641d2599634b9ceb88f49bb29d58cc03e871b91726e2b1a4325e21853e6669c58d74743572a4d3cb06e594924243e8400c27569147eaa3fb22018291d9d0a627495d553f690b47e669dfd843b4c9cb146556abeaf87ff4d53610bda93035768e8a649cc8d233b473ded41a92641646a3188b37c8e7fe599b260467b81c77479d47a07d545c085fbaef7aefa69a58e1bd009fd23e4035fd92782a331d1a08f2ec699a485b42470fc318377ce04179f848455a36b9613d206420f48f0f94ce31b766b862e9a2601e74103d704d109a5d57052a210e2981b92d61322bf3e720e733ed97913754b73db5053969d3cb7bccdb8603f66fd42c6895320eef7b9b1865ebd8865f728a430b4698a5dce14317aadd80d6797d7f122c9407c12abdaec59a397072821cc9380c3c0ba7f14b8e2de6f85f309b8b0131a72075ec05f9f1040f43bcb807d2032a9de844e992811d04cd31348329c292ac886c4294f779911f345c18e8919eef32cf20b07678c4b3a85138a94dd3b25799dac570665fff9dd137b3fdec9bab9ca84e20e1ca990d88b0dfc248b767041a0d136be8dbba3a1ac75f3b0e356ac7f85b87d40a2599cda1f01b7f6f5962f9e68d78cde5d5af8f1e9856b5a083d2da78d9c08a1efab3be2878cb334a03bc06a03c05b4c0d82fc4128a45d6d76548c3283804342d9f96a215f07f47ab80c2defcedcb1de9e772d0b63bb62405df96bc7b011a2f7f0107f8afcbd63e56b6244ff1ee1024a41ab5a8da1c2ecb6c7c3f5347bfd08805c1367edfdef5a90a41205734f3927c7ed44e18b0936d95cf1cab185d769f2542348b51588bc28474a5aa5b84e114ca6917337fae1eeb99c938f706b307c4c4190f3c5649d8c7db0a195bc88983d72fa1c5e33ddb9bbfd6cd1bfd676647c034e6ce67ca03133146b668b8acbebd46d57008a3a4031f8febccc4c06562293dde6a02a959ac369452d2d85a0318f2a575077ecaf8c63a7dfa5af96f3255d87959602f19319c17241d6952b20c1d226d7bac53d04b6929f0d3c3b3a24a30504599190c06630dda467349ccc36697bf3e48e2046a61b5f9ee67025ddde216c67f2693bacf625dd0606051132fbf3ced3caee5fa222d92ea29781083baaf0886cc6081c6dbdc03e6fbb7e0d0703107e1b91c482a173390133ceec6b02c997240b7427556a77bc8e39b3f1e9090a5453cdb23b996029631920a07d54b5e007c0db8552bb03a4b6bb32b04fb4d4d24dd38dd96edc495d80f15a4dabedd9fc98d8154a02a9fbdf4b39ba4714bf6c801dc7c5f0f1bc5b22809425347df01a86692cce63ad1608ead4b03383dcd08b36a7a4e6f81009054ecb3124ffbaab7e205d82cd1d7158c155df514c304cc29f6f0e55a04273fc986feb78786c6a40ba43ca169e30c0ee4a8b5040daee80109a0d5a91d2212fe0514037b71fbc780a503f4b51d8e4754dec0bdb2adbe795d3ec88b562324e4d0e19f932e5ec760e23d33e3a54f1055a5b7800ebed5d2ea5bc770ffbc7d876c65dacd4a4c878b3d3422c467129e6aa0196a70de30c9b1418a3bf694964b88002c06b321505f708676233b2d3d3c335cf561de142f25a7b1f42d04a6c35c3325fa4c18f57ce326cf4ee810c5bc1b860ce060db074e9c8d96f0daa65ca58d0888ba3a996c1efa5ad02c7b28277738d550db7e5fd9ea75215e7d6460d8fbd8de284c00baa02e71de57ec3ebc633854d9e3617b2f541c76bf1f72869c80e7e3e283504cf545ad89c4768be308384166362f2c9fa89b85c6ce7efb7708881b47b97390901639329c2d8090799285f21ee138184c4c56f31e19ac8c681f9a63aeabc003db35807e79ce20041e6dd5a88b9e26716ef7a1c7aad7b82db28faaebb44023597e2f2123b081473f95d9bdb955e798e24d2ab9de1d9ee4d49a20bf2526cfcb3f5c78ee923d000b8d34dde61ba353c326acec32b43995e91f8415b7a98b291f92c28b7555dd2b254482ed292a056c909ba4d0e9fd238bcafea304478fe14f9aec570229d2bd4dec5a99ed16a702f25148ff7340e6f79378a0fbddecf8cd191cbf68fa03a619705e0b5c36e2dafa20d8f73475a6e8605f0644c1eed942198e4f8c9b01999693127af9391aaa7ee634f6602e0fafbb91a62ac18be7e8b45b39e29fe464cf04e2039fb201d08050d4dd2b6a4e64307768a58531003260b3ed50e9a42b16fb62ede6bf72a43911c243d961549dda8adbea08b184ebbba68eea559d0e198134bf810abe44b0225a659ff35831d8fe3c35e04c2b924fb4e94487377b1723456990abbbbcac0041562272be4f3df5eb70e7b64f349d93dcb068351694239497ec80aa9a4489f26224e87f8b657fdf3da7d624a760f17473621efd240946004382b12531f18ccc9ba66fb42e3d1be1713502d74073d951fe2e16126646e5eeb013b5d7e618a3703088f06ee15235e8f7e7b6e7cb6da955e4634ab46d3d530e0edd161c2174d441d48e5b245d48bfe427f9058b358c7864557ff08b650e55c91fbb4844db2b78c5eade120c58026637dab11f1a6332c24465a40f116703b45aeb02852d0509fcce1dc8277e7f0fc3c7776d662d833bacede110d77d60a64150880933ab62271b64945fd57e6df1a96641fb811041acc79bbf038b42113621720b39fe254719ef36410604a6ce8f48dde7df51c502703857c62147693f87416df0d5b28ca1ee7fcfee2882c6edcedaa821d4d4f69f44c70953b918a2b464f6d67e2ba6e1bb623723f5c6ebd97b7a6348d9893f7afacf89f8bbf9b88bb79d95fccdcaf1c3705eba2ac29a057d3954a140498e06234bdc87bc37d4806e5511e2501fc1344ea831aa6164d3487a82f2bb11a8ea93e9e1b57abf16884539a0cb5619b6bf2fbe0f18a277261288f0941169433f38418163926a3636943c2e5b4bc7ea28f54bd1cbf3f36504826068eb00ff27cf2a6b141671507d0f63d23f74eee2574a248d8d5bef61c4560cf361c60bdd05c63114f4c5e2591478528e2e297d659799e98b07b7f8bc74d66d95e29a89158152b05efb8b94e70defc86a02908a6e753320c4085ac23963bd22fcbf235a080b1d2f98c20d7044901bae9a93fe045409b5e06f4f652ceb108e0675c22faca0a4c70f74a302712ffa29408ac328305a8bd0dc45f44d1790165b14f3d1bb0f6a74b439ad9e1bde31fa3010e114d82c0b6a2d0cf2c3b5d5c32e2ef72b0f8e6f6ae273fcdee617bf733dc2125cc97134a98102c742b32f6b7e7a7fb86d70ae8d37847821e71315a7682f4ee8c29cd0982edc47dffb45df7b98eb6016eebc0bcb38eb3e1c722588d5a91bff94a695a43e500fab1de70aae43872a4803ca41568fcdab32ec9c1a762744c1f02a76432cec8b81e8cac4d5c325233b4d0ea3a05641218f883fa0359ba8e696876ac38d71af3863b9159c9c03c33239b207bce241c351cada071301926ebcc7e2d6a6108bc03b3df0b28d37e8eb9d004e8896158c12a7157296ecaa83970420bfea3897015cbd1caa2337423374b4758357eabb717a2c75767870e46e0d8c0c0436f74b77663f6831018a7d014720e0b0166b0ce11d04e8f720fc7d633e4f6ef1254a61c5dd0909ad24414e17908f82ef82435cc7c2f4f3437b71f07172e42b326774aae736ccaa0e48f0bff6c21e52c9694c425224cc3f13e1fb039a1e9d277c8fc680aab3b78379f41461fdb726a1086b008ae5c7743d8a1d9661ebc9f43d857a5ee78fe987940af06f39542be91cd14a54be8dd47152b345d3abba865916748f84bfb456b62d5fc2d6dcb2e957f148b8c7719f38514f7ecde27167de969f699ac41c33ddceea5a85c7f1defa90e6ec216343d808f66dcfce38b445c3648f55c3d67e5dfb9602a178f81f64524537b7584bf35e0f3a5c7c50790e513705bae319eec75c4cbc12ff9977e9fbd02fa6da5c3178dca70c2a585ff280fc31f48271005d453e44815c978a5955f1ed31117d737d387160f837a7fcb84b7c9cb8a65d02cf7a5bc1af0959da4b23f4d5b0784409ea197792eeaf375d8c2a65221c370bc1c9b5125da4c4d330915ca111d98ae9cf46655d3adbc772244b0c1e267f4d8aca4bd3208e79fc37434a0f3dfdcfacfd2cbab04ce280c1cefbc00bc23469b67a1dab25c74b59711d30fcb8b188fab6af09c893002c7c483efe553f44a3c80813dc6d0e28f947a1976844c9e2bab3bea34672a303fc9a256fd58caa9db3606c04ca1d84817e7c6468b664da9cf230ee9058aa2da2eedca798f1297e02fc145733f3a631edb7a46cae1bb3656335e8dffb85fbba5af29b581239771ae1e2aca3ceb2b7a90b4a43f74ce822fc54d36de4d5a89505adcc5391e413227961127854697a8c2872c39db5bbca555f69e882912cfda5b4d069f160340e8d179a8f43d3bc6a05bcc9f88ece884117431d9b920f7f7c392a463340cdca3e7cebba63887d9309ae0cc38ef1a6d4e1b177b051f3608456297c30509b18bb42fda4724057b810fdad6f201f7f6f8e80d7c6e1ca7b1a1c6b031cc82f69c67b15f617c82ab8a4e0ba25977ebaa4d307c790fc199564daccd61cb04826939d6f27bcd37744afbbbf11e4151de7c36af57d3542438a7d98b97613f777756f20e1a4dc35754e8480394f5e045a68d96bb56d318b1414898129eb30c2ae6be7191d65f007f06c8c3fce5c6f70e71d2ce46d87dbced6c2aa76893712f38ac9b21b31eab0577a343ef0fa0ccc1f2332e7b596c4dd183b65891b0fad1e02a7443de90111733cb2fb6acbd3242e5b281b377209ee1f7257698aed3c5021a8e0c22247c2e7a05ef3077fd76959af4ce020bef0e8bb47615adc478280ac5c1cc76f5e31c7c27d456bb5532d026a12c13a34fcf005931ecd69dbcd4e51a4550319ce134ce154109951c1ee7c58ddfc16b4a2ea067b247d45e67c29311964f8ba5df37656bdd1b97af0064bdc73e783a3794d3955ffa5d6712f9e4614ae1261f11c6ea0c5e32e5348ad4ea9e28469349ce31d6ca7db8781e3214431fdf21242b237c5fc698c0fdcbbc421eb9ced1d3390a77411207258b9fd50261619ad94604f6b6be4e237565ebd12dd15b3e11b756201a3e4b5040e8782cb12b69facac22ef37b50db58cc31c95fa6495ba434aff3e023bd3e59575ed3960690b812f9b9e42d4dce89558442be9af743ed18ece4d5dc37c4cf534847e482541eb35888f2677ab9af5fa7b456ae650450c010b2276a6908d994f32ed0391b25891643f621c63ed7d667f9740f90d352eb4b13dc7b74792387d0c7f4a302e8e7aa22a08699ceff82d6c347b11cfd1a90bfd77b64355c9cd2f32216fe38f1a74281736828df154514aff3dc6a722c05c4a861edf8f8d1cea68294a4bcebc73a9a2b1a16a0cf6fa81e19e1466dfc899c29fbebd023affe5e8e0790dd0b6a3a3e3200647d74834ccea4c1d17444998f1ddc70f278bf0be3d3b9858228d6d23c82de9bcbd48351280fbdcd41a62fa9c24c6461b901ad91d64a2629bd94e4f09ca7e9f099a8fd4c68306fe5114aff7bb8f282a34cc60a682b155fef7b72de5914892fe47103b1f82b91ac79f776516a304b8f92460c1f4658b6f348ce68a91f0fd3594c15896ec4b0148870c1f1cace6821b8daa478c0a518cbc9934b9e7d64a5c28df35d769df77b6d83af3460cedf5d51f11d12a0605de1bea3935465ceaf2051aa276496959fba831909a210a88fb73c9b95a3d7f7e224efaf444bec67d14cce15c081e7dad0c1f1a4f34c21ff88c5da44e0e7ed79567a61e4651b3146cfe0e9e117d428d50263ef2c522b3b0fbc9e8e28179c4608aa3c89ec013b7707bfda93f3e343ae12893eeb65ef33bed40becca68d49828a070a8e86dea53c23fdd31426d90bdef9da8a68bd0c6896c9df77939d26eeac04b9431531c93f3a83825ae1a4fae4ce3918597af7c9f7099bf02f6e1f3b5fad3094500cb6e15c7abca49132afd6c8b4ac369f668955162ae78bb5bb07e5a4b9d247c3835121c690c076dd04bac77c0010331dbea87510d7d4d009afe934b2f9251a91719beb12b0e09388669aa9be4650bf31dc38d4e97906cb410ae6524538f7ee4b4e3235f3b6e2ad0359901e6835fcf6a7a710f897251daea3c32faf4badfd5a0fdc07aebc824d2bb26bd334b40a045b8b5076f207ce00f6bfe02f727a2f0cf944f413d07bab7103d0c5496ef122f72a7016e3a8b2af27103ebe8b98cde38c90b8afea3b09eb12c060000001e2845ac32b6fdbbd8764ebf6f4f30ed80fa06f0971ba15c64b12d7d92e887e155ee316fca29c1fffe3beaf5c3cd5d166e63d76d7727412165ff94f65fadd76598977c0005850fac65b0f7d5c97f2b07f8c5f4f6401185dabcd151f89d9c62c965dc402b521d3c21adacc0ceb5e0f410e3683e521514c206ab831d11d7430c012d80ad383dc9747dc7ed616c78acfed9adfc63a61df5f8efc2e822fed65b63fbdd856448d30dbd280937608dd357b170cfea86939c8ebe220e694a25e680009d31c52a85ee8b4f1540c4b92e07f275a6e66bfb6df1a5b20952aed2e42c06f1aca5496d269d939b1652f05d1fdb467b0b69d0be04a69035498939cc60324a98daa62e2671299edc77340cc22c60436a37b431652df7e23b7a1c3c9918c8f31a356be620c2f0690b8ee3ecd14b5cbed1b400db8898438c73f7d3f9499d85e32b9859d496f448dbc7a0746f0cc9bdefc9b28f1b2382de8ef3fafe6dfd1d9040a5f0ee0fe1666f48e9e0450e5ef14a22cf6871bdc9d9bcd84ca1425de63c5e02bed362edfab7216450c0acef733e4c08c06df4ed9ed0f544356911a992ddd7be68ec614fd41725873d33dc2f73f3ba9f3c5b86bc1fd83244b1c182bf00329e7ccf81b672c553af393abe4f2b3979c0ccad4f2c4473004b4bac5331786d4d15ad95f6be2c19d59e06260f2afac8a2d37fbb017c7c4c3d772d5ac8cf2c4d76c3856fa2167fc6ddc1709dc76869bc9a5788b84441034f0ccdb4abfa7df774703b05486025954c30ff76dc95060aa72d6be9c9b4340202c15e2a4450c20041a4a2ae26350a0eb48565b0fa06f145b4f16250b6c55360615a6e81b3ed70ee7e94d36720ab0669dff81539723821a7a066e016020e5528723357a7fee0d9a90984bbefc4a50298d2b25ee4b8a8623fc77dccb826d539479d3923dca4b65fb50a20a1f6706776661580d9c41cc403a42dd35192fbb89f8eef2f28d54af3564eadef8d3565636f210f4738f4437c383932cb6f921ff9c9376f1be96eb97797852d5b87521ee9690030b4b48f8729d461772175e70761bfe7d512999e5a4ed6a7edfbb1976804b9b0809adf7b20a991b0b25f9168b3b405dd26c708d030107d3e2f9e01bd6f25567075f088b19e308c9a20c08b27c058320e2677b2d3b8028d221ceee1009086a5dbb26aa35d5fb234df42e1f103bc2191d99f2e621787162c4660e46f2f889b4b7af6c2c2cdc2f51f5fced1ea8a4d8767a7978ab2898728aac03bec0f8c81aadbc419465c2ee23e3a76a001e1841dd6118484d0079dcb896d88eacf4e721ca98b991bd639c36df731b1aef6814665389d8904405749581c9272d11b469a8f996db3f8fde51d4794a57892a9f0f89b08bec333692ec4e56c0f914944bf050dcc2c052e765107ae9459ba3b87957693086f404444cb5b9abce9121ff773f2c19a6c2f2fa666c78ce90c0a1b0a4d8bf0689756f8f133ce04ef443413a8bed49e8748a6961dd07c777de6a92ec9c4adeeeec9ed0f3acbd6ecc4c0cc6711c02841ba58dd33b5e31d04c317bf25e637ad3277a2b1a692e789b6ede32e403b9ab69f37aaf971d412d454874fe7974b15537446e759a12cd7172057dd72c199f8f6a5942de77e998760c297f94b5e14c364b4c6d2a3041e11447823c0513b2bc0a4e2db52c141d8dad01dd973f834a30b90473da8b16a6169d9a3f0d3a31066d66ad67a930c3e01214591b25ffe7d533e66b88f40277a41d1b4e08198c82379b63a8ca44be90af26af8caf675705d2e72142a4ce45226db823ea3a0b6f1e60aafed49138143072a12a27e9fd266c86335ade9f47ed350c3b872857526758986dcf08d5df05e9a56566a07c4b5d14b9d002ea9d06dbed33efb386e54c5b90937adb0ce32a89a353cfee48fca8f0a28e049f6e275b0b89cba65d82627a8bcf585a2452bb406820e279b6280c2e709a3f8ed5510cfc4c6d5d2cd9180b54249e308b177db5c9f3a3aadb8847918cbf28547dd722a61a6e6ab2e5b67726965e3f799554e44713225ed35126df2230c327db0c492229c1d66399b96ab0b7bcea845abea6d56c485023f0bf026044cd185266b39ea337664267f228a0b8b854c769e5bf81dd3e641ce9d51a38d1e7e807963fe01426de12b69386cd8ccbfb9a147a6dba9102a8748ca0745572ee44b4391951699390876dc9ce5f05e0f5550fec946fb8e5e1c2caddded9634f77f83bb062e65e359a8e1eedf0d7a90fb02ab74f8dc986e05c91ce99ef01bbbc904cea0bab004c4a75cef8b2844925aa38d778d1c59c9015fc05a1a129c3d479ca09177c0284c4bc099821b2a9ae91b45601bc7c448641753aef5caaf559a9d758329e43a9fe59060bd586561110cded24fb4fb135b877de286b0654ec538149bc7158cc2c57b1c91f84947f4eef4aa2352ef9fc765ae879ffd0ebd2a3c262a278daba53749daf74371c8e8de3541f390bdaf908d57bc5952382301c9b6801ffe1d9f1b8b758e907a3e63e60f29e278eef942fe998887f8e7598f1e34bbd1498af0cf151335271487df32721bdf83699b792a31b48337ad64d88f68dacc133c12a78e2041716676d546507422545944557a92d7ec2eac097f4151a374d0304dfa54f09b09af2192fffa5971937c328ccf54212d251efa5a829ec2c4cd1fe496684207986122e5455254d4a87c3aac5f62c81daf9653dbb55d3147cebd109f4f34258c23b43b3e212b5e144fef38c08bae7826211047c156122171529a0fba27129aaf2f0f70530166c0a446c038c044203c6395df96f225aacb698b081e2d157cf90313a969a8aad3d48ad12a3bfd398579350de2796e3244a37821c446e470e6684eb1f94118dbb9c0c223a68a9dce03fc06c99a3a25142c9be0506aa694ae6a10991b7d171fab2b395e84bf39511e80d191502e8a55c0581652e5e4a336181adbd197d8cb38ffa98e3de41b760893986be12291f062e67d0d6aa801e6e3420f54c82c32160ee58f2c249f1963f2bdd88a576fa99768f60716003ea143274b9e1cc3756f2d7405b0d2b8c5c89e36688acae5f2bcd652fcaee99a1693d2a05dd16848305a8bfc0e2233816a4c9107c35c8aea75d342d52642110576fb57c764cbb7a4852bc76fe7347a541b180b129fef8492cdf4b4fb3a565933354c67e564d4b45d782dd37e3a35e471c5650d4ebf402e91bfb87fdc6042411219c238ab4419e636c82daa1a193522c982dc8366a64e7f2b10729c2e355e745347f023f2e3ba4ce7c9e3d9448339683619cb50d16c632a9a709f7c619268695cb10625770c018842f689936ff8e12c417fe6ad6cd88977eb0d8e9376dd89fe454c601b5fb53c057cdde847b1f25375d60506c60dedc02d63bf012c2973fc4075babd6f3ce885893e5b6ae1469b3dd36e8f21f9b4c2b01ea14c82f67a843b5d8eeb034344ee51d21be4b8866aafaa2ed5e90983adb07d636fde19034f6ca531da3b69ca334034457d04e66ddd4d4da08c56827b7e7862b2cad2ac074c5eb96bfd61fbe6c3c0b35730992964dc4db07087e4900f759e7a79a4a658007cfa01eee01b2fd8efe576a4d4293e6c6489974ed5d7b52a98b2e3c7ff0aa9efa48cf65c77f731b3c1bf34e2f4ca25340f1f7e72bdb1f729553139da76080f7dfc04ce250c6d6291b5514985fa13153d33558c2d129d11c801a3a570ee04a0635137a02c3032e330ad05c12196c357a276a0c54e6cd7eda327da69b9a497b31acaf576b8b59b0e98f7388a231239e9dd770b3e5110fa448f50abe69d86970fcd85f818e62666e5549d9a2c998a34e399649566e5968fa344bfff1507d87eea9de2c0dbe91084aac94391600598da294018abf5ca3c8ad5423b6737d249db72d2416f3cb7feeaf41454fbf98ecbcf5e48faf52d270b03c51862d18f083ca67cb47c9ed5cb2bdf8c4140e3bf443191c5629a5ea591f9f1e05bf53e4cfb70a7c0c24f1db22b46e3501f14609ae4703c478acf797718cee242af3a1839d795be33c911e731045b055aacff5c77bc8bddcbee501d7b145d8e2c0c945ad675a41b436884f5796e700ba976a5a7801c3097aa61f60311fa5d6ad16163ce65537cc97800458eb4ea8aa04f125d7db776cb397ef236749f355f9cbc0fc467a0d1775bea18b2c8740c3b2351e8be5c6e2b0434a93c34fa04a8cfce2e6c5aca351a8d870a7a72a73bc1b42c82ef77146c702bb83f6e70751727df32bf5514942d35d84bb2561f62ededd199eba92e839bbb8f9b1ad88074f281d4c533f8f5e3a8e75b35eb3018fa66daeadf87f681888681726f0aaeed10a2c36f65619d9a04cc5869370fdc55ac6576143b954c9d92afb39559b7aaec03ccf320c968491c8fdf8fb95a1ba6cfc4bd64303f07b0bc21d5f6c0a86e59ec0cc498b6194c531d361430194547f42c5cc074caacb0333f8382eb1ac92bb865ad544777a7b97de37e5f83f468b99aecdb99d977d65cdb3b0ee2a65609a5e896dba910bdcf49654fb2b1a6f498e14d36ea177e3c729776e6a311cf3949bfee51d459853b220cbf9f7c310b783c02b6c0ad8614250fcc6c670b781831ff7d205c8c4fe11a47ff51345f35a170e16d0db2903aae064861d632be9f0cf0e95417f0cc4f72b57d774d81add4a1048f794b75651b60170ece1d028a71eada00160ac52eb03b7ac9e125152867e7e03271ed449c76c3415cbc5502b3788f4eef67f6fb684f8511342f3f0a07857709957df2b03646dad876a2d4ad85e2bac56056188308efa16df01841a240def41d399c52e4d1686cb1baa37c2d3e3190f430ca1c90de095ec93df746068257f30e55ffc0c98273e8bbb1df0a761cc80968fbe2eaf3025ebc2859c513d20aa08c6d5ac6d72c7a35d5227f37df3b9c0818ea9e941ce40692034e91d058eba8a449de0f2c9f364641947cbb55aa7978c69925afd2ab9bbfd088fbf49910b435ec87fd283682aca665b8dae0f6080ad2c44c6354f41ad0be347a1a95fd26f32413cf191bee98654a49155e6da685e1e6549b676664668b4e2741c683775d2e7b0b62d848da0c8b851a4a1dad9c70c04650cf8e2ddb250e4d24da10818e315919112be9974cc1ea7e96ce8fe46d29e5ad0b1f6ce024981e6ac02f038fa2faf5972dc780efc04ad1bdd1550cb34c0c7844a7a20777c61ef99e402d8f32b7e14ec0715e3352812d645cd0edabfb579a803d2f7205f1ecc477f0a73e0627372ffa0ffb5c19ee0974bc60303e8fbb1d8a12ee46ef96634ca548195b4ebdd3d3e73d0daf9c0319761c7d47e0e93c8220eeb1aca20dadb9a73e285533830bd86627a49830f15d5b647a50bfd045d37bab680208d8ef09b933f2819e577e892045e0d430769c00909432ba9227cf24b465af480742db54082a66e2dfa763da4d9c4986346e4bab01208140dbbe399f9d4e0177e84edfa3878561088a801dd5eae0e55975e7035bd9bf7105b68a46c58882b482c004105c7467741af7aebb8c973813f432987db01c98723a75748d9b6fd7a1d157531bf08d493ed8f50417a0590bbc652c1efc44c09a69a02c2b37528e9a73512b6d96c6cc31c195ab124d4f863e658942293c1043e8b9e639e93779106621486341022eb1c8f980753df3571d7c911af4b9c3f12b2e3512bdb74b8373616544b01576fd737a3153cf20985802c8a58e8b709150eb8081873cf83d6696ce78a3cad3aa6e30432196aa09e9b9b1b345665c0c10dc456e64babf76de9c943dad522d109f794db10b452f5b555169bcc17dc88c0f8029e9cbe9aa65dc6667745282e6f3be146f4993d2c1a867b35fa590bdb8674d988d122a6cc162b81fad5ce79e7a55166f099f4918664dfd1952e914af8cbaec9bc059c06634b8c6e1612026161ed65112ab540cb539a9000d660b79e147510bc9caeb1a6bb75ccd66a247e6113a7eb36bc5edcf8e98da7797f497818af8cd6e67e7c7cf537cb809bc1f48f2de8f6c8e2e04a7c11d4a975978034730aea052ff434cdd5675ee698f12a17d64f47f7101eab1a2761ed5f71996b438528faba814db40b9af5d041d59f085e462159340904b724043506cba7563788a4ded2ea065f4ea75092866b04d18840482296a1a45aa0a49af9baabb1be714a4a837011cc4fd09cec1d0c5b35330ae22954420747d5e75668db39d3f61bc22a616eddba6d702a9bd43eaca04d20284d411b967f5459849012116184a41c8498d247f78160ad1714e574fd5a02de8ba21f5c630bb803c21f3261301d6b70877248b9c2c49ed80e4b575d34f5d21f03c5a5977f9c6af98b86d9a289f91cdb1600d3b87f98c2d1cb93bd0cdec56b2f5d7d4483bb8a083c2fffa867538fb333571b3b08805cab066a07576b5a7bcdc738ce535b16f01c79a55e66c771430e8e294164980415a70ed4963a8905a033a19f563ac5643b80487cb67e2bd90d458d817d500c05dea78cab2fe4d4b27f3e5094311da9655a2b075af06dbef7779d1f482d52925cb379d37d8b6644f091d8e86f4706304da702328218cce9f1517c9240142bac6f0ebd4b8416566b1faedbc95c8395b6b4e87d6c0d72562f74a3b9d3e67d34eafa858caf34a2d7e97a8e1d10e27ddbb22674dd5b4a175e9a295cb38b4311cd204de61e498d15d2959259abae6a04486bf2798128b6df9f391a71a20f59a1fab931589802707557ede3b66e1ea301874488a67c5e355859b0a9c1633878515564eb856165cbc2e4faa0ea1abab632e9ced363ecc1aad2eb13cab8063ed3415d0a67d5a9797f997d3c71b7a892e4ede137ff8d7010ec66fbdddf7c5aa214830601666465e307f856c91fc0939fa42a4abb86fe4727e92c1c5e9a0bf6fd780655fb0631961bd2c0d6da1af0267cf9f6d424be97b2cb01f9991ed440f5d01446f99402a5e238103f86ddc2cd5b47ab79d818f9126c16c742377d7870a5d10e2d94b17fbc632c321c053e3306de53686aa5b54530f8bcf07449e938ddfe1f076e4245416d0f92ee2953db755b4b1a7e2e67e994bc20419729a86866f943e65df701833756343e641aeb4aa90706acb5520526ca894794d640a52c26261ed9c972de0dcb07e1b493ed193bfe0a1e87627d9a9ecb20cddcff5606e6a4b5f44abf9800c64bdcf387186bae7589ad326b10cbe0f79cb0c99cf246dc58aa674a12f203dd24e3acc8294fea55660fc5ab718d2eba29b3c4aed9b64630c1d10ec85ff6ec88c8c24ec6318335cfc207b55959b8e429f0e8aefc7826ef6db60b5f206e7e2ce0ac94c53766b2e1f667c9eeaede92ebd7c1021054cbbc634044b09de63938018d029e7058b9565abf083be22b071569568dacddd64e2d0057a0efea5a21bbfcb146074fe70b4385e1f646ca8b813a9d4918ad33f906fca3f3fe2c6f6026dbd4817c71cd9fabe186daf1fd6ad9b5e4757a3ec447d0b0cb3b30d2b585fd72e8b45431defac5f3f4d5dba0685001fec5e3f228dba2a373b08df78707d780f7a7972ecb3479e8b873d8f6ac038df54fb4576ba1db1fc51299e099b08393af5688dfaeea6620cc099a8b4003ccd5db8fb629bd9780be0343a39ec13b0709a3506150af6d3d5751605bd596defa51e937b11f7f49c2a358fa0fe591fd266845c7504e44f95b8500cfe88621a183a32f48cf3dc65911f631853335d3639059d80d5a4403cffd296bc4be9e98731237c94fdf95a6b9ce8fcab3a7a05c1599c8300d90ee4366d6e6a4eb30d0be31a2f0be18ea9752e675ffa446abe31c972b38ccd49e6073c92e04edff9df0cc73c611155d3e93cb438cff37941658923bdf04d9a72bc46764bf003728a5aa0267ebe441121ed6a686cb3065c7c4ab053f2377a6b458f866ace34ff5a55a42efc7cf9dd95461b927a8a43c60cbe117b220bec5a311f137b7ac0f90aa8cbe67706dbd84a1399a27fb28839608376ce9aec7b9fcf7541ff2ea88bc3b455e6a625989b7e3a56b1167439e4962b99eb7b80cee64974227e3e9d4351859ef80d40ed834778a03e1ba08086b167e4977e62b366c62cdd56c9585b3588a446248e2c61d28174d6f9fc04ba3c93f22dcca0607f76f414d90a8f583666f2c9fad549c919f3f515b8466f5812b5a734dcbb5a3a3fe0da22749effa8647971b46a64c06c0a028122fd4577ccf3703b982a0cdb4f72ee0b91db9b88e769b339e05b00fa9eccd6136d37d87a20fa5e86c800aef7a19e60023b11d87b8dde36efb107cc66fa77053a91af18990e5cce040a6a5711258762de69d9438e177bee92d24f8c52458c2d06c213ae23bc78767aa984e6a5d685f7147eebd12e30069488ad2bc12447722914883037e48dd18f260af467a4a90cc5be4db343eaf1e195c84724962ea73b422796e7be841983e2096efe9040bed3c58d238b7480ef2847dde83a310bb7152a3ed2f6547496ddfda41a01c02593e632ebfd6d4feb85ac96b2c290372feab69e2bc454e48fa609e68a9fb2e6aad8f73744108bd6466d5cdc99efe81c34bf8ebf18fddcc9b46343cc9ab3f5cead062c85842ab17bb0bc8d8a3b1c908ce177b5e836f1877a7717a0043f9edf743a34d7480acb5fa218e79dbe5abc63bef07a7d86e34b34bf45cfcf9b3c129ff9d17090dac939dfd993190c9a930192193b4f2e6ae2d53a3e6f37a81b16675e8dcfb39a1725641beaf58580761ad03a84580bbe9791d7b56abdb73bc55b32e6a5e4d0ea7d8a10f22f3875e7fef641f3073fe314a80e94eb06d45e833d6c65572acabe3228c0432439f240db582a40aec83fdd81a8c455bb5caf7b1d7202a736992e4ac87d7d58c4c8b1e7c7e0557d49b7a20c913f3a92310377f6555c6486de4a090870e1d8ccef6fe653827e1b894303d8c03f5b4608d6a446f56c8a36804b7eadac0854e2b8e74b6db31adcf859a82b8555ea82a2016babbc928a2c97acadd3f2daaa38134c1d57d3b3fbb95937550a9de6080844752b6e54854e21f5a90ff41937f2d01b4be23e94924fb7b0766cada08247fc20dc8dd3643954d6f8c0121b4b06a96b69cef95c57e8e285d0e6bf66d2094db8f5d706c512168fe0b9bcedcaabcfdd4314b6e8b396ab66f686a3b682c3d46893176601610e3d29a1540d6aafa986671eec7cdd4123bd0c0133d2c870d6d3330f70074e1219ce4e03a8c7e6eb6f6c72d75d7e7870f834741323389ba7eaf5c8535798a03337a56741d9c92865473d83e5126e5d43fcd947738ec8bdcd2f64711abaf58649dfb2ffb2eed01d5dad0e05ce730eff22453862df9aed740bdbdb3d9b451e4369281b388e1d406cf0d69d98faa838f6c05b013a867d640c3f92af520630cf823839b38e5198bb9c810335adb410faa7b74ac32aaa663b70145c599026b783c35290aed95d56eb3e44e5ec9b2779fcf415e72693b29482e64afd9733c01ce2cc1469bab69b5484ec4c20b03c4cea015972842d7ec7d95c5058b0253922647dfb744763c3d3048979497d7e1e294530956f1aa76b1b233ebad758a94d9ab77416cdaf5121bb22832798dfcd2b5abb1f7cdb104cafe06181b10948b1c274deb41fe1a72d844172983ac375b6925e928e516e93b3d9624015686a66b605fd90dbc12a958008f216b4324282f3eb2cea9a8d24f25fdb463f03bf6f88a4f1170e4b1b835457f6abde6500457517e2a35cd17c06a0cf55ca611aba4595f713e977279ea377339e161eaaa0d1678665f607b053e41608ffab11504a9c21eaea39f9a0b85cf5b21e9de9e19bd91de3065703c034187f28e9f97ed142589e0261e128259badad58c1c187387446b48a1b2040084da13f2921160cd5741cf96e8362c4e017d5121f84581397ebb12c1c5c01239bd38aceea67904281feae32937c79cc92e2fcd69f05ed92d48aa1d8a0dfcf23c49155867aba06e21cf42c1c7a95b8ab27ae7b3d1173ddd8550dc69e558a0e4542da56e8ba159146638dba554f93c0a00795fff0ded1391448a9ef987ae833aa2ce3e2db81e06b086cd0b0f548cc374caaea14bd0f47180680118dfe05bbaa6f2c612075ddde946885633c0f1e2df346c8d747a9e02d032ac2fdf7fcea8e1f2d1b8ea288706f632894aeae987d70fcce512006387a23131b14f2e5e4aec3ad98eb82c91ee5b4056ade8ec0daadcdc9f8124910ab3c0e6178f067e76a9757d8d983dad6a7e32bd9fc880cf9893bc28286753fc6b7bd7997dc44b6aeede4077c34ab48c9531e7b3e41e0af943083ec3ba187bcd6005845dffd8e2921ffb192863d709d87d33d09a63bd480980d573c8df98e1ec99c7f9c4e79d5126374693a75f9a6b9dc7826b3d7a21c7c59333e14b59116e0eabdc0017514bcdddf4b60ca5019199b9a1670bbedb92665625f08afdc2bcd7e590c6ba0717c197e4e845c0f8048930605c2169babf696fdae99d2b4b6c71c8a03518b4a45b7cf991fcb0ac670b86d81e2b8c9594b85eec973990dc69fac8b030b2f9f588712e7965fccbbfc9ad7eb644a0fdde232c1e43e8404621d2a608b949dcd37600903a5438aa7ab528a8734a59ff59a2b49f14bfc31723c209fa4644647e02b3d28ca88f7f652f02f0c5eac05e8f8833bf84bcb111e20b44b447ffb96bc892210cccefaef833e29e216f96609dd1ee63001f293bbf126e2e347f43ca31daf0fe00fe9c865ead42c3f24f6a830d3469e4fb0e27a239be3a7e3b599239e58752c4fe8972e4870030658c1befa9b4ca0e8c5aa4fa68dc2fcb1bda26452972db031d24bf176a01d316172e0fb796884ec0999e25925fa83f44326137d1e0b6e93f47da4c3938e692b671a16d22a31466a46dacca0a73d4eb1c1282be7fbcd3d6ce35c18049c8e920ef8b637811c24209e13e8c999b03869bb394072e8b705d2dd108ca65b0b2d057b970020c54c158697854792daea42d29e2f62fbcbe67addc207d4f667857bc775ad1f9f37118a517a5d5c2fc0e31d82799aaf2918890f49a953fe5baddf873ed120d8e15494c08de8c9cfe52170ca9966842bde097227174c4cc3943ac4d4be7e0a65bd815946ae661c380a68e7537fe7e2107adeada1525441c87c1fdb4cdfedebda41126c93feb4383c2eaea64d4c7ac1666f39ab54185a57b275c1cea4b8cadf1737c1f3b9c565a56f3b6b03ac2fed2ef9eb7e22c382af795753422afd9ab8a4b421ca01eda9d0c826fbde693047a829987a0ac705e5d5f291c0efd958983dc915b43b09132900cff00d0b6b0eaa6c5a7a19d198b6c57ef3f405be7b7c775b09fb4f1f8aaff569882d05d7617428e30d06a79f0eee1bd5a3b9647e86d521353b77cf050695a235ef4b614b06c89d91d3a6e8ede2debab736273545e31ec6230a99a4b2455ca134099d4cf02c7ef69da4efc7fe1d960d5f03865a3d199f8ffc22a950f41ddd37d8082f25280a41951553a13a7baeb9dc50590ccf4dfc433bba5f5ae2fbb9cb3561df0c4d9d757e8737c29168036f13f23b7f745f1f0777eabea1bcce0b03b47616b5c6149496e7fa271ab741d6e70f6333ee4e0da5e0c76ce66c366952ee8420e0aefa4c618571ee0979df70ddaf3bc4d385ed5276c2c20956436aa8a0036de7cc458fad48d475fe7cd43059b31ee3917b5207b7603ac9e7b9d371cf2af6c4daa1c63066c781910176f0aa3edb49b31293af5e84c1202bf0048355e3bbbcd6fa116bf9a6b72ebd91d95be7313ab27efd1c44b2cb3f63ad25b1864db8fe563a7e4cae337986a694ea5b2370bbff7eb3128dcdb7dfecc194f6d6af94bf4e74911643339bc227c6621d080ae4b066462d056a70d1c4418f73ee78bdf8bcf17e228ac4f7628fa339c0783d7d4ae2f001f36b46c0da660d837dec47becf970a411e7283e4890ff631e13528d1cdeb6fa5f1bdc040a6216b7801d0a3749d11ca3f5bce65ccac645b98bd9292dd6ed4ce2c14c88926fd70bcf89c34941ec788d037168d7733ecd35e51de0eee5cf01ddac79d274d0627f17051849d39b5df6d9524c050dbca4a2e2ae1f07aba4166095e5f46d3ad368afe065d96eddaa2adfb9e52ea4614012dd11bb64fb1e5978972acddd39631de8bf005db53bf0a95b390852e24e17767317205875305400346f7d9518a34663851b7491639c47c1867ec8bfe351b3f740da9ff6a5d72ab4c7597f3e724a4f0c8d400d3e8f86a1817aa2c847a00d1e4e9a9b261a38dd1f7ddf065a3a0cc8ede4a4812f5b8c34f79929013137a9ccd0e56eb3216f5534568761c8ce8e3939e55e5d2771c9bb422c83b5ab500c173f8f67984b56aa516046be88c67f9841b39ec66a4bb51fd6d07c1a3ad2e60d0f3cd7495ef4279552df7a6d341bbf27a88b6328a8a8b6cdef71b356b4bdd222bd425e5d8c811b1ef4d709c1b21727e21d34db4018ce7d5030631b535a11826de5496b08adff62d6c509299b05f51a37cb17f107048070a931c9dd48149cb82e47436870ef200da6726f63e400ce20ba135fbec6f56a20ca5031670d95ded6ed14955d5761dea4158b4712df1474a63fb5debfb0210830e5f05f240176c457cc7bf7a1d89693c48f6957226f91130dfb81d1af03a19083a2b837efe3bf535be46fb82f30633f55c2ba99bcac4edd436e0b91448213d91a58eb4074bdb76bef307e2e97cfc9acfbbb9c1d526b9268bdf4e6a197e3453ef6d1f836b25b9a743115b1662ac2c81e0a8e1a6cf22d90458fc52d09c9a9073987e202ef0ed9433d53a23b69ff5dc179f35215624ea24e8af14f1e9313f1a3595699cae7574250c01c83326cd3a0567c617a263e9b8f9973c8fecd9d368c0ab2b610a4080cb2f3b4db662168a36e86ddf59d7798716ddb319c2beebd453a592591889996d824417f414f9b08bc650cb622448c58e0f22172c27c7bf2d4b64f5db95511b0d2efcfdded60605bd9ab2b640461ea29038445970df1fc6d62b42cf079e49199c0d77c77da10db34647f7cd4278cb00d799acaad489c6e258280d1c76d5e1b848924d50d12ca2425b8c3e43748a3ebf00dabf03d298e642718a94d42d930fc0bdf75edfc2fc3d3f00535f3f3a7de033effe1a4a043c208ff613f726c73caae60f7926309e85ab6acadb47869e4722fdb519429605c314ac53ede9143216cac3089b187e3c7cef2477f7743f95045c45a37f4e2d92b789203c3486706a5b1aaaec91e84a25369983067fd6ec0fc88aa736277731c4396741dbe9a9a3219676cdd95c83e67d6994b8c7910f3e37683e4bf1fb22183ab38038a5873ed6e8b27e44ba166811956ee0032949ac432eef68051f953d11afe140fd97da290d6e5ef38367aebc634bb483c09ab402903e0b04d74649c7d333416e8f5b0fda5fb3e568a8b09bf9411c9a9bf58dada9c9b25a25361984a40edd05e8a88116f7b15ca1c643942b6405e14aab5b8fdf692878a27c14e0c1522b93162329041926a9ba3d1f6c6f9b455f36c20052358109260777ed82cf7e81c4b7cab9161693d391cfeec6e86f05bd835a38f33371154d802fa5f92f84084a945dbb3b69481a7f3d38a9a45dcc413ecc11da959ad637b8eeff361e0016db1ef2127b4ee2bdf78148a52acb46614cf7da2c4b9b6e63c85e759e029a6f6ada12c4bdf30c9e008ec9e9bdca4bc450901be1d8dcc9a9e417a91d2e29071c7043d0bd8aaf6c3c147a02f8ade7e6c744a30abc173762560c2e9a003187fd5580f71bfb75d55001667fd2f30b5a417cb7767ff9925ec12285a3b50791360d61df8f618f3e59bf1b727f46f38b70ababc24110b4d7ee01832638ec2319ba8e63b2ca627e4f9a556a068a90f50bef0c89e2e9e7efee3bd1662fcbe7740a33de8e2678d35919a697895379dda6c628b79e9d175774dfbe132b4e67e3ac41f00031a9d40328a8af35614975ebd327462da5ec5ef03bbf667e1e41bc117b323b0f039eba132e0d3ca08e8497ea42d2589690734d80525ccc23df6c83329ef1ee5ec4e62c3ddf87c7cb5b52119cf71a9047c828fd027d8af3d61cd92d99ce9669e3ef174c646f1bc61408bc0ec4f266fb945717b0435c24f674a721ef4b0ee62e55c1179d2a6d27851a1aae3f76bc0a636349e4e77a39f09cd8d9e8980776020026340a4d21f90e2466f2f3161356a29f0eade558540409841e47bc367e6fde0864e6723ad259df75faf95623b4ea6aa9def517c09b94a1364c62fd53770d454c1f2c1b20c8ef10dbd02ab5cd085d0531aba1efb4a01dd0a9b726917172fc1a66a1cde377552a084865a6c452dd22607c081b5533e25a9c6f66f7cb8fc297db20cb3dc6d186867d9ae0a54bcbd3d8cfe4d74896d6a5b9fa9b8c92286873e33b0bbe190e746aabbb887d36bb556bef9e0b6b6208f1db3df98a5d9cae9c7a092eaf1844476e97fd039c8713a9e18c4e3ae9e062d646bce8c39be3e75d78bae45d0fcebf3ca03d6d239c75e731376fc8a7a4a88f9740b404bff208bdda1b93aa0422b7721d6f5b4038327f5a4880674c394b0924344b0f4a6dda0740adf5e94d8364ea9eac45e319d215b944600e2e21f94334ef0c2cbee5532f2af1a404e24e3c828119b17db469a8f6745934e780c2fb2b8db0e54581d37e318f928913f6b4eb306d2f66fbc69c32403ced9c6dccb7460e4f145a990c619a253a30d3d5c9f94adeda859b22d0b1097d5034cf25b3320e69f1c329c01d807c71a300a79cb52b2362b376197b61003b92cf63a309f0d6e4af58de6fc26fd32f6aea61de487fe23de355aa3adafaa6e37500d00a228929b3850ce622744402bdc8c24834ad5c415c57f7ea690f86b1e6c1cb31ce8920bd7c276402c223f3d5bb45f412efa3570f6024b98472e83005aa3cb0de642dfa2a713be6a41178fdd724021d83c4450b497fc2027e5b65fb4dd209ddaf7534efd5dff569d78ed67036d9deaffb29e1de85859afc62a0a088ab078ec88ccac9d92dcbed51a4d37ec1cc6bbb988b6109d3d09e26f5f67a4efc88e1cf746f647a31aa0a9459015fb9525404d27ec105006c7058e7b63eb6fe7c793cd3d4286b10dd1ddfa243a42a8fd93de0b62d13500ce3c988e3fbb82d4b16cfbf2b6f2fc516792aed142dc578b4b1dc197be0ede8dbc78d44df13e16d439c907a7efa9878a40c19d29baecc8dbf07861c20641725a25a4f7707e576c545d89e28cb7fb91efd8a12013b595ae4488ef9abc9c10c44c441d7ef0a784b40e0cbfe2aa7c3ba3079d1c103b21cc84b5949aa756452240f68dabac299512b0fa5cdabbd9e60fdb19348af02afe5c2885ce059dec441031001cfc0114056468fd8c75092f14b01cc377461e2706dc3c4ee22a1dcffa8143002c231116f088b20816fbc475f1c513e9ac04ddf2430ee277ff7d67359957618b50727b1fc0cbd9f92692c02d700d8d02a41f684b4ca3bc6a5f9250f17647288cdc2bef8cd75fb459836b9e435018e6531321ccf96e4f4c0d8fb01fca632029cac9fead284576b2b16ba125fa0492fe56a8c9e1b5e6217f75f3ae38f8ed3754dc398c1c33710609e7629e255a818d2d248ae2cfccd4bc726bd75cae5a9d301ac0227fdbf0f39d4be679619bf1a485606b19c41b2b873e87649b15dfa7d07d3609d3ffdf42be8404fec737e4e8c3360d5ff0ad0f815a6562eec350e56e597bc3ca2fd66849e575f4f8d3d711d93ddc0cc3f6645247527b9398aace8076fd4b5e00823f673257afa144215b4b6e5ef1002ca1760f41c8e505d000d95c2832c815453ad14a76437c891b745382c08b51f084b57013018484423427ad8beafdc84d919cfd1cc0dadfbc14c40339474d30cf2cf99bacedd4187ac1075aedcc4f72501f56f00155bcc8f2c99d7af7334e4f6ebeeb14a6eead6928b2f293935f1d550a052d66b7204f4aa44dea319f25289c1d8bef0228f14bdeefd4dabae1d378903518e90feda0bf11e26c896780bb3ca3ede28cf97ee4180c209b5e8c614c040756323f4526ad27e9f7351be89251ae7042db06a257f473aac32d2d9a52bb3966a3829c0b2650a98b3472508b46c2617ee8a29e170577e7b03f474affa04e78215983751686e94913bb46af77d499c381bcb242890e194a7d63a40e49555a94e007a27adf01539a92fc0a50ab4e1297f986ce0c4e77848663ebd84abf4d0b1f938f0f24ba322e2832e4279215e604a7416241574cc006bb9099c85bae53afb8b577906c1623e8c3905bae046722aa3c1caff81126ca8d559b1bfea374b29f9c6c368ae116e9bc0a4654e20038912b8cea89486335bf47337e99dada5e0daa0b49708b81d82476c50ecc108c97ce1f38b0c96cbc7d16374db58446d1360d1943f94c930a812850e396c0b97282d37b984ee7f1f7420d7eec4e3164b0652bbf531ecd559b88c575d1dec4062d496e406a854da7e1511ff1487d5e76c182955d1621b7805a0c3e25fcd9d242c47bc117e10935b974e74600bdb280e920aee1941b816088dd6f69a46bef8c918463f020d75d38adab6c9e20abdf1763b65200adf791e8200d6a9825f9ac84858e51663df98d10586a19941a87ca21531346e49867ab055c432019323f99d4048972015fd7aa7f058af3ba33d9999ab19ee7728304d33ddd7440e4abcc7f52a41e6d2f973e26f4b31bd05fdcdfee65cde57ce40bfdf4f193a064a006baf9cda79bd4c51e314b793f7e3ad203303731bf71fd798e295dd25a983c7747640e16843a0a6c8396d5954e90b302b3d5c3861f5edc3a2b742ffc0951cfde2d1ae2649bb3e9e0be8d0afdbf77304ab86ad0a66cd4063a20c72b68466d51aea45ecdbcc3a8252f9f61b08357ccbb2315febb405b1ae18706992f23f4bac744d8bf1b65aaddff6857481a96b8081db4fb19b08e87d3abce929d68bad0306813e87139008f6e21ee39411629b7299543775caa99fc9e3907b7504bd274bfae1e96949b802e1fc7df64b918035268a47f27ee025da1615804f1f062138c456e88bbf5459c2d8a8e615429a364fc7f7549b080da7415e946d9015d4ebf2b74f7f81362c5eef6634cb3ed0c2997c4138f44bf2f918a630348a784607ed128faf6695de413ae37688c87c61601b24e79712138efce04d2d4c7d13907dd6680346222420f3812672a9bb57214252ecdef70af61c7256edb7d063479cfb0689a65aba79074e3ef114e3d1bb5116bb01e521f709cf145a77d5b23b90b3a643d89e6f0396f1657f796ac8c3083fbc324d5d44e55b4340c802a0d8f8503338ad277c75dfc7c53f99d90d93d6fa310db78cdfdb85f2d60da2617f1c7302273cf1e32efd458828847f673d50f669413be9f7e934c069311c8db51917bdc5da0daf8a2b0fe1740de1b52af9ce8d5747884388e191ddb9cbb8787724c96be52993dd8592610d68909308704d144c73e0524a7c64cf50359972048b7487a85db579c439525e3197650f6fba2ab1cb6ea3a39fde1c1341b578ad903d9a81dcda935ce6501773a34020eea738c420ab6e0049d2ba66f69c3e37a30e24cf383479c40adb12e11f07778dac2900c000f84014b895d88fbbd3e1eecee977de5e20458acc7c4ddc51bc7ac683fa76b30d165261c5b702c8ebd7a9b93a8891340c1a420dbca78d7af06dd3b26264553b8e0236f1c7a52d23740d4f44fd9542423ccb84324b9c6531ca122b0fdc51bba3c61a90e7970e0969c7d9809e2f8197a4305eafeb772abec88fe02fb1e3a6910a587360328bb9714638a7f30a776e700d21bd59a6e902d13de46e1c573f414f968ccb295856843bd295b2d0fbc015d94ccf9cd9f8e59f3e9cc98d5bcffe02239e7bb592ea534bbc6e1cee1122f867a1f970a0e35580542e1035bed188fcf33835fdf21ac2f12c2bb19ffa2e9a3ba65b59e088b73fc3eea422f993009e163e55d4ab98139de78c04ff17503cdde406dd3a7b8a1412362a1cda86714914587bbbe6decd2f9e869bac74d14862ab28f299debc9897f4679133fbf009daf45bdac345cf8ec536d72b9312b6d8901a21457fd6fd2da015472234afb198d553ae8064da70df871abba1185102944b947067c5907f0d94a2cd3c76e3bd7f327dd24ca90fa7468788be012c3a9b1700acc2021c004c72aa2cd890e5352f42120fb7bcadb485a4120c58ff2a65d8eb6854ae689b43a7889db25f33762b34ba822dd56788c0b98ecfe43526b0ed6097c0b41ac02898dcef3b1b1351329728c981b0688dca4cc4793550d684975a5f56cda103ae890a7f01f66b3824adcdbaf57d75ef16c5af94dbfed45ac86967bf5d024dd65e3c54f5a01d3dfbed9688a05b6e2826b60173835f4f8bd1c9aca2706d6d9a18b59a4cd7e0f36c7eb0ab214cd692a936cc0b63906842347c569e64b8bc97465710cbb19e1e9f02ab98569846caaf8536082ca5ce036112b92a9fcc34b359312a61cf932568abd420aac8520d5600371e8e495f4fe1e777b1c1399a9c93fdf2847059167dc90c63611fae5a222c71882b3c1360626d7000d195c63ffb0a71e330f08fd40a6f1dbfba81d13c6c618cc2aa3f68ffb06fb62083c23a6ce9c6d03d7689d5101d3ac8b642e739ab7809e82782f74f453c752f5853f5a3cff0b67e17a590360f5be4b23786cda674ceee67ab1483f209433cfe94d2042661ba2298162d02ffddaf27ba8d4a1686e87d29a582555d8c4e060efde3b3bbb059fb6bb91ad7578fed7f9a14a352f5a360be3696edb021768310bee3deec944839e31baa63ebce3862cb674b678ea28bf7e5f43266b3831bda6d153bbb4f492bc7eb7b8197c962a84046c1c739c9db60ceacabc13af84a8270441db89d171132c901a0a9af673227e72ca02ad80e9d1c597e5bbdd4408f923b7f485d3aa77e20bf89e347558dc9fbaeef4f3d521b8db14553e399d514587054ee763839ae471bd2da4701c3ed2046abff09c3e3fa13e59a515d39b063b771cfb2af33dbf32b4b17020220f84d075da6ba95ea0040d31568bfd2434b2f8cf49479f5f15355769e742827415e52682582eb7f99b3deafb417c1d02e96aa50df6350d74e1da33e9cbd8e0f99f1e627f8ee92ed6d20dc4b8dcc3e034a615c42a8b311335820ec8442dc51e79c4454a89fcf6c45185703417d774a224cf1223fa7a02f3fe7bbad06baae90b699f139102b5144da14f243cf11dda6c011abb69dc99986636545f908614a00c8c1cdccd01e989bdbf699610be1f15163306ec32281a4922002f1664211294db6d8c631ceac7edf484f07ab99d3771e741a8d8bdc423b9fa34caed70d4505b90a3cb94a1fbdde1ce201304396fd8c0c78f9a13c0b161b5f038d9f8e06c9c059c84f101a89b59012048782f3eb8a97a79c26810e4eab2f487d291f49ec6368128cdb5101fb9fd52e5fae1a4d578eaf00373e407f057d90690d9e9d399fb397c331cef0a70fb3d9c28547c1caec878f1b1fa529690489b4c90ba4e1beead95d55aeced5d99a05ca44d221a34ecf5ac0d8fe4a39c8821a7273a5eabb3a7aa6725a7fca8fe0ea6cadd73dbbd2b819ddb6dab89f9a713df971ec384044fc193ab570642f9babeac94334e2ba3c1974f6a853e59c9fe89bf66ab0e051e0607c7fe37438809a74eaf7abb75c3b2d944db36fe7d2f6829062095e9067bcd6b7affa69a289a7e445fd825128040908221b1ea2cb78189268e1aca80a7283a338dc50eb5da7c28ca98baf20f2ea6b813691e2253894669630bd022fe442c9249085238cadf7f68119f24175dc5d2dddafbbd65f5bad15a5a4502e3d8550d947257be0f0f1c87191c62416fc72bbcf661bc8cc1537e2cd1d39333693408441c3aae20bf42f4730e29da05173deaa260caa0967aef8c15cb39ef20d005bfd04931216c1a8471eb4d0a4953436be1d6ac17ed6a61ca0317fd681556377e81aaf8265ac2680c0d5d06c4a16f14b171f1c3c3c8002f0658bc9613ef6e0413db289bdc0acc85cea0c011e1ede3e6c442af89e9a2b1cdca25d4b8e2461b81b8f0594badf5febde6ea960f1e0259375bdc195244cc1c96d35888a5f4a21cc09882d1789e8d0aca24e193ec11ae37eaf9104ef1f57a60ed921fdb2333e982424bbc1433b6fa48b680b104008c62dc67e2cd38ea447c1b44affe802d50b66487f0016d366d5f99094f831bc40c8a23eb91595cf42474e72594f98e65e695e21788465b116d62f7f9fa7c0bc8c903f7ce7c36ffb8db247a9c17b159f2e10396ec17b2078b93533abda0713f1c372a4d35613cd821f4326ea4b10febcc3b8ec11dfa7690128ffb2bc48186404f88d37015534f4066cf6941c6e9b89788a727dc37be846130d16569507ffb4708172eaba55423d464de0a1d1341e1739119586aa2903794eaf76b5901cf656ba0af28caa3270248602c21b9f6e9688b3971699fd85affa9d844c6f685e6940482d106a85417370cc40afad478cc16db34f2f243ce20c1972c4c46fac408464b2a46c551aedbec93a60e6c3d1aba3ca2940eead07567db9548248442504dc4e2af784f67bb93bd07d2df145c92a24a84a78f58c537974b4d68556fb49a783d6af0fe50aa6c3222353dc395a06c9dc740e7d9d8c8ce5694bfab1b903bd56663f9c1eb05823cc5a6b45e6319b98924463c840a0908fbe93d87479f993f212930147fbe9c6efa5eca84103118863b96eb38a073fb2772eedf34035b9f8ba72c6ba937e45b22a1d9751b459089e55a35f594c7915ed242b7b9c4fd0fccf9a249d4c8982662f0b00d5da1cd65f53ec98466119213ab0cce5238ac0782ed513626515bd5f308dc042c5fa77b247eca078b852bc3168be7c1d36e94c7d21c7ca1aae0057fba19aae90c136d42230290a75db71325927b28c0ac2864e7480e963fb408421d5847a69e260147120effa9932fb930d60ec1bc2312e095323078c1387c93d6d2593425046d9e1a530556a9a322766ed8437cc7c23fc42a59b5ff42ea805001a7dc25cfc0e5356887bf121536a8900b071ed880eb25bda2918e1bca747a29e720a7068cd7aab0903e6c09f8614bd8161aa7cbf6ce70bc17c05875de4d02e32214afd9cb3b65fc9fb46b7b97f9336edd6bd65eeb36af9b4318ab79b3ea04a8a9b9ed0bd3a11da95a2beab464eabcb4752107816de88437733e45a681fa10247e76a530994af73f550f0f14c73d83a297f4f3c3c042323cc1a8a34b123490b7e8aa89e0c3c35bd18fc5983412b6fc5bfda424e1c81c61b51d8c5b2d8b6a6220f3ad8c9803bc3e2a835f10040fec3831756bef1a9aaa3e94895537343931d07fd8dc29c22f58d7109718611caffec808d951f18bd88b2fb8b460d53ddd25b0d7cf3920585473697f49b2fc0850af253c32159af154baffc8e6b75c030b238322d3dbad504d9dbb334c8f0e221ab644cfa15a31a7c062203a9108c0125fa995b55ad9a8a3a25db224bce534f48c9282e5b47bfba3ad8bf2eb261c05cb9f7ca22223eaed551e1c70ad8de8991a37fbe6a4f07c5435a5fb56c53c0e057f7cbcf55e21cf5797014cf4295cb52bc580c890823c8d4388dbe9e946a0ed0a668fb68049d08faa4ea24d8a840af3d9c9a2f602ae2049623cbcdfd29edfa28c3ba0861878baa9de1434fed47e8d9f93694849acc2ddd8c82abee53ac2500f025c0e7fc42a2de70e1b472c4309b5366f763b940105e6174756a3b6cfb3834073f892c854fc6399717c608f4e3b9cbd2167dd4e1da66e7672c6c9ceb8b792a5206a4aa314b1f092f04e4fe5e5b0259eaab11aa73b3b7432a41c36cf592e71171f7a5302c628a76e5e27dada4a3ccbbe5ed85fcf59e7ffc05929519db6778d10d7599bedbe38c4fa664870e5275525ece78649589c7cdb323419b1dd120204134b60773bb07dae70a723700eab863ff42f69ec862989a18dbfb4383ec88f282ced0aaa05b4028b24b698a9cbda0e551b98f24c52c9b629d438e084a8e41a7bd15ec9891572e416056687feaf56fa2d4d0b3be8843e6f5e0d96f7d5ecbe981fb60e100952c8464c67ea7d3ee5bcf95701bbff0b665d4873b16d26b6b89ef388aa697889ad3896940b3780ab2a37fe4de461da7ddd03dd280d9842c8134105d9f8b1206df7a4bb48e401569e526bc4f7a5ab58940afe81aa0263baabd6e88df686835db18be4ff921405c7ab877bda072c8e4e310ae9e0ca971cc9475300854746421b60ce6f1a0b75fad4b6ed5319e05dda4a9cad80e09e532082619da3f085f82c637a3c7a18f279fb14ce4aa59ddb828f5e342f617e3a3a2307488f8fe1ed5f7c866722d23170d7c9bc45174cf37a9ec7591fe8b83f60a527f44caad7d66f5c5144452caf12510474406ad0beed525e4520f2e086db8c412d1626ed0e8261db4fb30ffda734e6bdea42c650c9f7878ecd406cb0a50aed691684e58cbf6ba5f798e7f7e29646c4656a791dd65c6e18a37f783008c37bf9111845192b5beeec33a3f7e70501c45a282245c6882ca0a8722b3d280eddcd5b8ca19b54f2f52cea9e0746b07b134f9ddc35db3fa862b56a1f7b261206dfb2041a2cb46df825b0046efd2313a06b3d77f42afc9a05dff364aa4c30afe294f1a51f40a10218687f17e37003183f4953e572635eeccda9a62f0a5ee19775a652e79560655429f194c29ceb7a6591838792adb451d5c487e8ab11ee4a29fd1d9fc1280aa12098c290a179ae295eab87c11eaa0a1d9dec4e167725660507a809964f5ca9f417aee7090e934e1da3089a557e8df4cb4a0cf9197066ece51997c76d97e9b9ee0150079d027f25232afbec3cf9a8fa2a3c61eaa789088950fac51db622cec61d9bf5b56fe3c99f08c94317e46817b71734c2de4fbb1ab46ac29bbe6101c14d62395be64944ced9b6d2caa6f820640bf535cd54e1fad4c561d1a8d6d986a5849cba0f23751607f67330d4420b823a107ac0e6cc09de9f336bc6cd1e6bf03275a3c368a5be47fa2f3fe2440d33bed5c9df6f4d52666f2404a7293fe71e953bffa801484026fee78dd0eec5554e58cbae1ac259bf5dd1364e23b140d3c7f94e46c7618df341c8b56354d14d08037ac89c3c57b5eb05c64b256fc4b31bf52859606f54adc511a6b1d89ac0b1b40b40240a41765c0a5c33320ccae4ac9ebda869fec0e25a66848737d7a4038912a0bd66a02659358c6ddcbf56e60e838826d459a8242ea9bfa37b93ec5832d48aca0d189a0d167c2ec9de4f0a0f354bd63cd7cc65a903a912239e4ee3d916da09f21683f595003192d70dbd7cb566fea953f764f2e3c043ecd0573f18569cab0e64bfff340004d504cecc2fd4e037d6e024dc34dce0b0aed53db95191c83c9441f2e926a3c289328df31a1c43be5d3b7c204695d277390d75b38e03ad118e2b5b14500d5d2948cdc1b7c854fd4a85f59bb8a71e4787ec5c8be44e7fe78b46c3f68e951457d5e4ef36b1475525571999b935dd1b005065d90ee4edb13dca46d8d0f23148d5d0489df18c0fb1314f23804b3359d38a192c03e98843b894b556af13d822220f114284dc0f262da6f894278487ae20475ca3383c9fbecebbc95e88b92ce6fc35efed5dca8066d005a975054f3b9ad22b2612d0cda937f6080904b7aaed6321d7d1d9f42284379e8ac5683b144d6002bb96e42fce08d7b87bdb27f18fe265a5a8e6079f579f86331b2f5dbca40c250fca76402a8123181e0c4227bb66eb6e01509f08facdaef8919ec9e1df0e321e008089487b9b86b9e574260803a9f25f0d74745563f717bb451e2e309b9873ddad5ef302435a32a9611aff3c1df8e0387ef6f0119f85dab1ddc9a920a53b5b84cca201361a15fd1d7201dd9f75db1e6f70f81b6a0d841e59a7661280774a7fe9832d666919010ec4802acd5b7b116d1623b851271686f78c3bde592522d5665ffc1e1612d05cdd69dec3da7402d73aa3f5ebdb8647f630192e3f9cfb59b3c26ccf70b5e3c5613c1834137a0adc854c613edea730668288bc0ba1928fbbb06d5d5da45e1b3aedc0561de4fb30f4a5b43f1005b50f648ea38fbcd8f6e01aa41f8bc2f0c33726ce2deb4e1264896b9a63e2f469fc0dc3b84b0089408a5b320e2fab8cc6b61740d8a662e63cb4bde882ef8a71cc6a2a8653f193813f6c69239e44f0fa4c262365d3ef5b397c1fb683adbb36c5fc4f249c9d486e28e890c47cfed6548e310d45c4077e23e69a0de83fb10696d41c7e4d8419aea2f768ba568975f6fe3f5acf77ebed4253009df7791df4c3873f9b3be88581e6c08dd19393f36cd5187a69d9ed84ae181fe78af8c30bc2253812b7659876567b5883225558cdf94942e2547e88300b46941ab83111f262ef593e13c26fe29357baf9810484752b28c751913f46c2c1d070f4ffff57b3ed80f510325e1022228ffca9a2daaae736ffa0097d7fbb8274029b88cfdfb0232c5fdb1e866ea4e50e617ca6c1945a628b9e1696e2864e81059a1ec9b4a374e9021bb376e314d7b380e9a3d53e6dc52abf8745b4add1b689a2c25224c5ef1cc1e78ae0881fa97911e131cacf9537ffc727f202f1b6047644a2411fdc6ca1ea3d6b72c856f9535190c2337b438d74bac317f21d7cf65d0911d3cd01badcb46259ffc55ce23131206286b9524d9385dda6d6cf10fe5863ada541d39ba9b75577033dca9f8f1e76d44f40a46334e95300fd061b3e140e17fede4c788f64cee385d02c11afaa24b29a297c54a1c1d804217a3c1990ef7a4bfe00fa25ca10c68af9c73517a5da9370500c09935448be8a181ccb96fdcf262d693b7e4f052b30af8a2cd45331ca8e97730277ac8a3a07e823a5c795ab4ccb7675bb17db76ff4329999fdb93ea8c819b7c2289f4d76c016a2a9174b2d0af41f1d094112e2541a630bb79df4950315472dcc01f31b99d3939956e3c878bcac09ad74a9f4e506b356b82bcbaaac2a961d5d760ba35f11a794c7f772afdb20019dc5c684d00055ece231d3872625b4d1e919be981c2dc84a335fca071fbfd6a2af511e0652abf4f9b2167bfcf8c174ca6590b7f8856107a772eb0224719d00740d6ad0bdc975379e3d73305aeb1ef53baad148ae03c417b7dfa00c716549b62fa84729bedab94fd531be18d34a4f364010e3329099b1dc627a0e0d095ee183ddf6475d6c7c0cd61c57392507e546f5bf7e04c725578ff815872761105ed6fa9572862983948f3295edac36376e301dde72d40ee5aabbdf333b3393b6520dbdbb2275ba1d2ec14b78b4cbe91d98493a080da83af881a9207a9e88ee4292d24b77d95f29f9d6d19080e7da414198434740a314c967580fc441378c45c41ef6b86dd7074d12b5e045374940a983be082c12556a19716832f474fd9c075e9a51328a2558a00a4cf6e315149c6ba36f00593efbb986e3c5ae089e2e51ebdb33443c8026c47367e86be089cf293034aa3870a1cb9525dde702fc08a1983c4f029978169b6d6644e9f98b27556ecc168ee9fa486b5234bda1c109372cda5b9a1a3f13fe14736909af3ef6358fb494575e155b299d05339cc756d06560eb860119b037b8f514ef927e4f9d6d7ee800054d4dd667abd6ed1a654bd6e5c163b400c9e76fc27e9cb86c5a60a306d13495f3f0e071631604115276e5bde876aa4006a426f1863e27d47244bb76c88107727225e2886a7be2466b31decd8dbc9794fe055ee48c3cb9ae223229e7252f3c41fbe1216e4a46754bca0f78300e35288b7625f4b002a54535300c47b1e907abeb6a66aeec812503db7b733824ce3e013038c43c6799d738ddbb4b4463c1926699e9a60ab461c7cc5e0f03d480718c712fe37a21b884228125cee89880fceb0835bdce1eacbc9c56aa5e01fa3abb6184ea79b6c704e2be775e6a2fcf759c80cd2a0d0db79ccd5952db0f9a906d443b364ad45df9d98aa50854e229aa0f97b3e32901773c828674478ad884bee02891fc3823a38feb435f6168b94f79b27d2a7550632e42d7b7454bb6c459b8652745c8b32df638b7ab144b95c334993fbda5584e6a46293a00457fdf2f2e426f1a0a06ac32a6de5af1dfd3fd7647026859d2764da989498b01f61d44af8911550151a6006a60a903266b5616573154f30d188289d550aefb150930922ea327166273274a18a4f12b56eb04f0ffb73b3a675afa80dba7fbc405b2a726832afe6cb41d9a1f4515c351b23f3cbd540251c81fb11f50e268ce752b32a37efb679602e660d3cf61a9faf5e9352b61ddd86529b4b363f2f1b00fa6f99aad004c1f9aee89c9bdf682cd8d652bac0784d195a395a5a015c4ff68597ddeb312c9922d5cd759c2fa595d7923aadc4be9605abedfcd9195d2557021b1bd9e19d96f7d4960e26e615f5fc419dd0ae0b33c9b49482339cc58180c59000e09b562c89bda573077f72caec002b6c275489cb6ba41df2ee7985ae95845a80a60daf4925dfdcd0a1c740a088b0d700dc25cffc1eaca2ee598fa7d185842bdd371443e27b544e0f72a639b5a057e7cf148467cc0b3625c04fa19d323533628fb055f4d14f89dffb3a9e9b665b6543e14c1f87da1930287e997200c528fa1e324811f50d6f9e1b6735e336535cdd4276e50e8f9871471f7e26c868228393c25488e2062997caf00b04cd60ab88af25943e284fbf1c766076fbf5f91b69a7f934ef35b0f9e2cb02aafbc2ef08d4ab7613dcf5231331728e8811baf48f31698dd931fe4fd2975a2884f689dd59a9840dbabd0684d4d77183a273ed85245ce9cdda5c6118141e02d92eeafd520320b7b674ef2f3b8a4a5b62f197b43b79491fb0d0da50eed27e9b97c5609a4390633b07b3d1086037fb69f14465977d8c2d33f19dbd9dbc73f74186031679de7763550ea6041ff32b2fc3df8b7ec401cbe661fad553a66b21a0685e1f15d20015440d63be9539af762db16bcfdc227bff53d165176fa4959d46dd5c707bc62de299b692eaafd1e0761adb1be032cff41d06d81a48d014bf07aab5331e3091c1b36940cb7cc7f80503568681a504b69173ba7482c9ac064b779257c90be561d7d27756884c965ad40dbfcce7c81aaadc9749aa2da14bda670d6282444c5261ca418624e3dc27515f0cf57fb78888c8c7b5cf677471ff4dbe0243260b05d8679eba944cd5490e92ad48b4470112f9956628fbc0b0cc5509aa6ce5eafd78bd8e15f55f8b832c82ea4ef5babd4b1b42eec615db6d27f6f2f66ee0a48c8d2def99a659aaacac8332522acf2421142bbacd1f86505ee1301b54d824f223aacc3e092a196071cd54326d0cd1c1ceb097845024383802d09392d62c462fb177a25544740e065edfa5348ca54a9547bdc5fd623f0f384103e64e15166568547e90bdcb39ef796b3e6d849e96d6ca47ab784797e27e24d9178ae65ed2dcdc7bd68db7d8080e133ec0781aafb12005984942ecf235223da7a6efb841cedc7e068dde79bccba68a46ef0a5137e18a1edb59cad7cf7f7b342659962b5531a53aaba79ceb3fad150459e84d9d90fb35be637cc7f6f4ded5de890de9cafdd6b12a4322669b03cce2ff8111272085797bec194143c94a33e6e5d9d1cf0302e5b4fa61a563fe6d8408a935eeb359e49f961e51a7b03c0ef81fd8ca6ab6356679ce42694e91e39bcc1c3ed70cf9c583cdc9cb736f7fe64b519b87c6b80996abef1b96b741841d7961c4920d8618a0cbffebb3dab2e70926d317325da9d296913ff0a4ee80bf35ca291e150b4f5025f7589768e6d8c8af8a4aa5baf6df15add07413b0683caab1f72023c6af66a2d1013acb9026e6079ba48240bb21021a79a591137c6a49ffd1b66ab1ce3eb42b6dd9b518c433cb56d0c3c198db35aae8e8321eeb2107ab4bfb8ba0eba63be3a1f924c2176759ce3faabac09b774b594436ee0d71f3522077da6db7ba196d99a9fbed3895c555d27030e8bb1a728f316499b0d185279a519a4972f20dc56792c4718807f38e46005f2596578b2c8ef3ee08d2bac5e92221755f6f27a95ecb63c431357f1b9ef50df35cd05e62446cfb507af6080fdeb97c7a0cfbe41704963a51090b00acea5c1cbb5553139a952294cca4b9d7886512a964ef9955f6a1f6374b68445fded02d3fa944dd63133f9c44ae83fb809962db4a11426a234ed1a7001071df44c96705bea745f029c77f7382828fb75f427a186919aeb32f576d92106ceeb82e663fa8debcda149434ebcd8215ae1f0babedfb45d813f11d99e1e46f5f4d936c5dc3d5fca132c12db3b1c9daea7e45f8519a4d1779986a316f182fcb597e38e02a3dbb8a1bd0f068c6a8255fe647fedcaa455f56a0069d21c1a31fae6223ee607cb017fce04d3659ec8b753ca31cc2078e82e10b82bd2b9b953b9305bef9c1c46fa03647db25c135d6890e1bbc903513d4b3916d3a9ccf3755327d3220091370e93c8cf7e380afbfa0a27a4b6b139c7f5a4fa747ab72f61ec9d10bcb7e64bda970678bd88dd19dcdf71c8e0fa56747b2372c48499a13dc6b4098306f45a4d32ce92c31faaa7953905c7bfe34ea06d25222ecfee67c8cd530f11fa260ff4911decdc1b68c76cefa92b50bd828c79f7c83ff278c0814a2c4dba260ebe2aa76df89ddaaf56434a69283e5982f9d30d901ac83ecdac988d5771f122aafd2e0d98a8b61e946331ba4350fb183df06e9fb0e3a10d7f61718834741142993151fce81b04599d0be51c1ca9b7f3ef2a74bce97fea1692b7ba351f192625772914e270d1330f979a5dcf9a66e7d930b4814004a3170006fc34d48eef655aaa68fae60fe708f23c3ad8a6a03100752b8302c356dd39f344e0072a38f98b096ee03343e759b4c6014dcfd05510911ceffc55004690b67e00f85025413626943ca7f04be0afa52afd63db6b2d40a7f5c82a69bbfa39fbaea240ae804f600b269b6eec1158aa13ca959132701ebafc1bd2d8751a243fc83952ab217abcd68cc5cf2abc7e5ae812b95949f16b4a759c4f34ba153e98b335fad5884b90757efac3663175de3d59b06fcddb387b31dc8a68ded18f226001c44d2365ef53fb44e4d1b22fa496dcd210114223e9247a6fcaf8005b920aeee2caf2bb76893a94479db3685d63d1cea8d866566fcfce0ce2745fe806b05aeb8afc476e4102f0c1c79e346cbcddb0b8c7b62540d959311641ea0c05dabdc0d0aae2777dd1caf1bb84bb7a4145a961a3c618472786050822c07706e91d7bc70e98b9adb0106846c54a406d64070f72597cdb75b369a1d5fac151daa3f8b48b9d015dfbef078c8c5f5738d5ad2c2eb5159cc825edd00074e5ed5ee775093fb0e75fd0977dca99f49d9f45f2ec7b3fa50b422383f9c2370a7ba2addf0ac03a7d156da738066df1483d5b122e56bf47505970132a89f047bbf5195934f41409a802487dd3f128ca1f939fa2d7afaab8faf7bbc8dbbf9330623df3ec316a093c5b19b9ae34a1d00fe1003ff716513b0c734c1f2796992a8880399881b17355f88cc3bd9830158745ccbb9f45d1a67dcfb07176cec93cc22091d2833ef4c487e0757486cb3fdd73be7e93638438a7922548eaf58d972ebd7e0901280f4e61d32e176debd70b4cec65e83824c5d6a9bbf19d5933330357db8f131c080a2f6ad43009df2693f6583ec7cf5e34ed2945756be824a8e795be6e5f6b133366167dd222383a298c96d8abf07f7b07b34ee30983eb0fe31a865e6a230abcd195e8ae07c4808d5ec2860385e1d92b143269cbebb1a3d01e010492d986388c706a510a44952a1a6e28eb22bdf7d55d911228b68d0a5a125fd9e07b6cf3777a220c8750827dd2d3a53314be40c45bf9a5a06625490099baa136ae1b77962a54f40066e5176591f31a833d80c92f94c85712c466eb7d2b3c1af10c185227993d6e2c74b112969d1ab1b1f86ce5094b0e0b75ce9f9ab52667ef4d8672c3c28b2a0cbf0281411608caca75d078536c2d1542aeed86e4f0d875368d1015457259d0505d73a620298d212639550e932a5f8433882b1e6f1448025d7b563afdc999c10c9c517058c7ba0f56018b462b9f20cb53878da4e5e211a3e1dcd1e450a27cf5ab303187cc3fb3ecd4c0f394defa5538979c822f83e99468bd4bbe460c88c651d39dcbe95f76da5ddd4caff7ab9c798a9777c64df7b470ec1d6cbf6d208e42cd043631c266f6398b2b98b3a2be594f2aedca7197cfcaa7f85547337a4792f76cd7d316eebefb2eedb42c88af3286dc0db2cf4c908eaa729191902c21a48768b2d07c02daf09ba06c98702b3ec578ab7eedb9f4e9018dabb5afb8a9b19787f43c93ebb10a2feb194579e2066bc22a516bfaf8025ea35f99d34e4d9acbe64c061484b1526ca6779eee87c01a74dd1e250cb53249e50c6b10731007402a872cc393a5a089c8f343f89883b8703d5982be5b6069154e83304110ecf8ad884a786e5c520b3469e8a39d8121ce147f4894fd54f9545f3f379d75bc1de0a4ce921d48c5fc3015f621714edf3917835f2cf34874f29c62604ff60c4a14a31a43a2a1a8f0874e324d86a24d7d7072920b052a85db909c96d15e7935286eb78f52dc3b544ec8bdf509179726dac3acb7cbc93be1b985a64ef58819b05c69c16457176bdde04a28a4ff449340c8a43cf048ee4405402cf1445a0319d7c141932d2bade996ce1c44794d7c6fdfa298cf3487666716a58e852bdbc3a0a9c240d46a5654dadc4ea071b80ba9fea4715ab9b739dc14ea7fbbdc57d9bc8dbb92ca52180d05b30d42d4f3455a0310f5c3faa42bdebea27e4c09568e1c3f5c920482cb6d946b5bf3e106d85e766967aad53127538835d836b88af1ad300927591ade424b8f9b7b9f54182f2d76d2a324f805f74c41417c0f6f162a6bead4a85a5ca263cddcb639055720f231629be82d2b1b917011733ff2dcb7ee276cf179ed678a44fc42bbd691e76bf42e2dabe0a874138c376e3e7fccc0357d5a3c65f1638b03591b8383c29a35b323bad4864d88fb790d31d4ccab6f084ae33d49d8b5a2dc4b9d6c1a52c6698b9b40234376b29abc83720e51dd5ccaa146bd3ab471020d4706a5952af6950f665a256d82e02131084bf660c118da3c0695d83e912ffd853ba3425e1937a1368737a193a7b0cd1df3d9817a4172a92d78e0de7c910a9c0e67b898f2182414cb235fb9a05e38c1df72436169be991d4768f48d97d47e2d7987919a0e8c583aff855508ed3feda517b2fe9df1034bb868da5923d859432a8009ec668612111ca0dd4c6d6074b27a1549ee7203de67e9eb2ace2b27c9cfea681ecfd18105ead857a195a1719806a2e052e8188f388290014ff4d149d5036b74d604c87dd43d2c1342d3ce3a05f79148154a115ec7f5c24d5ea6ec025a77623c18c783efe967058d16c5dcdae2bcd348b92e1cd04f310a49dd93c61dc27639d4bebfc72cf185652c3ed4b854e703f4a40b67a0b81f4137f916448c0b3138d0459db739d9bf26ed00da9498234153f3b7fe820b60cedaf458a061e64757c366bc886f9d8257932a8653b8dbc3a60ad2f0ab49b192bb30d1271ff053f16c28aa95d434b4c07dabf33e8d7f48f502940b7d99d128797554a0b955852283dfebcc8ef33a4fa0765a700a6c779ca8415656db2eb7c031c178df98d3c8d6ba51efb6b5476c55c91cd4ac63c481c6e6186a64d9baf0e52c998b11cbf9555a408cf699f520bd81d3ae52ca8c1b7be0f8779bbd3b91cbcf9ea03231140b4932c2adc019f3562912314bcf233bf116fe78485924ee83034c7495a1bd28b3071d5c623be9d3a5e4782aed6b80a1930f9b5b4749e2e91e1119345c0fa03984ad87a8245da7dae751a1cb06fb01ef0e112b080f2f28b2ca3bb5c7ac5a1bc697d3bfe1dae0fd3e6b9b42b7f0390f0e81701be0adf8cc50ef7d534a4fd0423d59be1f8e8585a5636e6ca96bf781c03200ce696b5ea319b169c23a044285c67120176001c8f5476f160914e149bf36c0a8028d7be0f4a6e2cf905e2c639e3e1b465188460b60ef4e1e6cd0afdded52db7b72980299b172379d98892714dfe9e8bb80ae69bc62e58b0a06911a74160591bad50413b5bb1dd928cd12d693069a90d411afbe6a002abceba7f0f1ddfec95e00c47c9e0fbff997ee97b96ce659c8f1873492538ee6eb323785b826b5c4fa1d1936868c5dc6a024776a4b8f7ec825213d95ba0a09005372a9f80c5fc126d4fd565d1bf04dac49a0cda582583d37a17c96566e07d5b587c8993d95b5b9189d64a12ea288547216fb883d6d7ac79402b39057fe662f110e6e939aa67c4e9a481d57faf5a6165f3fd1d5a0755e51c9d3417c984665d7de4737d42eff5c13293e179f50ae011f8d86d23f233a73cf068148fc6dc0c11e9232c7f327fd4aa2d12957ac7ba6811a6e9f8cc486079c3ed762384d3ff4c17bb00a0dcca19bf10435452d34a475c53e0611a2164a5a924c88880819d62d42aa49acaf302af459f5af82d0f59b93c582fa80440a75e4f33b5cb0385089a679d4db0d46f180cf7f2422b9a0e89b563a52d5346872fd7c90736d52663059192d187d6d3d8a54167a6f875e89706642da131018323f00af1254969aebaeda9f4f9f8e4abc332c3f2cb5e1a09166fad67c83139814457f2e26205e1d3945106a984428ddc2cf63cb0d1402503d854699d37cb79959519d29d37171112494597dd86887323c75b87b4a6b0b818762277c92955643241dc693bd00f833de1716b3b01a92b6e82eae3afaa81b2a353555ebdee4e9b7ed590f150e91e30813de06ee8847f8a2c5055ad62f9270cb87d8c7bddd8ada3e32927367914c653282b89b9846c0476e65c23011c457bfe443cf7b878927df399ab163455dad45d1e8f3b9def77655380882393cea0b655425655a4a3dbde5d6b8bed46697d6ac6906f4495828c3edb35850b4acc7793edce2e9baa512f1a62bdc2fc00b0401b9f107e05e92cf4498673258880af3f34746f66fc4958acd857d3249cb97fc6d0a6111aa02e5762a6ce0622e96912ab6c06b54e0080e9068610ab926b4dd72b5af9c778a6c9ab1065ffe6bc229e17fa613dfba3b08a1aef83cbb0911fd8e419f7e071b8feeb36878cbe1c13e99a7629e3088bc14a01e7cf39468b40f9cbd3700781365114fc64d1c4598c194731dbfbb5f3e9c22976cd4c4ea58857d937c9671ac8a5ec27bfb4684523f37ffcd9e81c3e35564c670250225094a80eab4c33ace9858a02c4607f56255c22e773cff8ad9c4c8950cf03fe716165a1d56e547024240612cf114ff062ceec674b8d9aa13f349491f79258f7396c774472ef05c8521f793f9a127b4d241a3b74cee53d3905a8b54182517be840350bd96cf0827e6ccca1b6059630862293649bafa34878ff771901fcea29b5ec99b41a57ce658477891fc4b47dfc19c2bccb63ac609d43d837ab1a13bbf09db2da3f1561f0f7060c3b6a1b8da15ca2146db45d2d4e64291e033479c45aba94224e446d6075fa3c376d5d4f4a94788b362d1d11a57ccb3a7a0973f5f11bab2e729ddeee19299f0e74abbaafa45bdf999a28abe5cb3f5590fb12c52fe98ad904719d8e31e25e839524526416417b881d45c3070366836128593b897a860c9438d941204510eff442dfef692c667124357bcf6d2cf48a937d6c346b658c6674202b62525d48bd549f31414c0c4f9e44d8bd1c2f31554e40f25776c24f41487020fcdf806454f436f04388ffe79b8ebf49aef236dd9fb6c839ddc76849a6396288e9e575374ab73318907fac3d55b64314f7b2b35856e8f212612d1cd2d128f1e1d5b031a9ae84ce2f46c6453f14298e05096f3d48496594dc76b0b6cadb3271c75f9b22772e3ca01a40e1a0a62a336c1eb2115e8668a8ff9dac2084e57b3a1afe8d91dcc1fb0c891fa674aeac6d9e92f008c8d78fb58e6656c2880ebdb89c1df11488ffabc48994b442e18a72cd3c52dda8382f57c47f9ac664dced4ed051c179cb71a1a37d60f976ec501f97275b813246ed031bb06cc38958a953e3f7a8ba7333fb4756375070399024569603ff103072993236400060c10514af89779199a318dd53a389d6e3782c83e852b3bc7d8c06b28314ed0d9e423e478ff640fe4b6ca6beebc9ba88d79a04a0a1e84a56a63ee9613323fe08d555d43a1750d4620fd688f721b5e63979078e92b19273a3752b9f73515e8a4958c5f697482910b20734afacbbf85bbf83542a074de365ecc80b0be8cf2f93d5f79ccdf10e36fdfc39e8d7cde03ebcbd90e86d18459438d8b6f84465f64c6122db26b212739d12627214833d0779b1f954aa909cc55667b0bef68951257f2c4fae90a2d0c93bdbb9e541612e96fc2a546304fd487625bb8e49814324967a79c0e333058bf879d335b06c12604cfb82df2c86bbdac8a711d7913e46a70365d08e39b20f788318252a5b2deea06ae71e6867d6c83d63c4b65d0e1792a03ebe030f0eb6b2a71e6cd2e95dad33e243df029314155f6f37ff41b8ab9a6d6d3fe293598927616b5d70e2bb983b6233bf37abea3c019ed91be2da07bfc00612f1885f70de80dd3c8c72d0be9aba413b1bb8125b956c54ea49f99d4b7bc5609dccdc0f24bc22306b87a83eb69c8ea099fcff1619c0d3a86f8c3d6ddd246703d852d4b69d040fb7866c839656c5a11c81f4617345b00ba8516808d838a6f1692d79f7939ad14e9562e3c1850d10a3540e07d2b6919bc1fe35a2397e681966cac3d6c07bf63d57710a2b0a03145c48c0858c8a0740b7ff1194f04ba057dc6eb09b8eec2b309a503580eb7b95e3b6a218cc90ac1fb785651f8288b010962f3b716f4978e01e040857401fea76d6c19d1108e7432ec41c6495a6f5603ed7910cd4416b5b92f34bf59887c1003f0d57b7f388579d9b04a1520de59bf6b53c9c37bd1893fc0f0c0ba961eb699e87f9c7287402bd2fb1c028d8668f690400ae42e1525364f8793593fd819bcbe5061237a717b6044513375209221321ab380292f919d8cc25401565349011803ff56629257af3f4fde56eeed1e878154545aecd3ec874a23ea4a8a6820d814cce8bbd3230ae1e41414ef8b233289444c07ef94ca3b120b9721a08aff382e6b644b0100081e8800b71077793864b8bb73faadbf17989aeaa81b9c295645cf3742e8bde0efe8999204422932045ce87ae66609d256905fc16a3bb9e0dff3deb936cfd9dd30e0c5a9c13300799460cf373bad5722b2a50a900639957c210c7f904a746de8689e9614cf372f5fa1dfb85a4b4ea35d9f4b8148841e82f45baa833ae88127d3055a8b61f866d41140dd7360886f964963084568f6d061702dac8b812beef4a6f94200f5b7317fe67d5ad191492e4e6394a756209b99a3cda7f32463a0eb22068c922e6c452adc0500abf657e5a6e58ab9224a3cf7380fc2c05d7e34d4a236a57630287ba54542e277979ba8b9323c164f580a65185f69122f2869b422ae59414fed3ebd62d4dc86352c588aec93ec8f10807d450afd0ea27f83f47c7e7131e18a2416d038d3932eddcb8b4d6268299f9906a51aadbf4d76cf1302679861c3afc80f141cd30bf0ea44f5e26566e525374fab8d0eae4b11b87ebdda8fc7bf76a57651605346ae92a8a3abaaba5e209f3ef4c98d28c381dc3af431a780e7cb6882464a955bea7635f6f74d382e9858aad22276885a2a49cc1b1192b9e9ad1759cc8834d36a2022525bc872cc66eba1aaa9742559f568262975f8422728bca8d4b334deeffb0bf55efbe32d50be50d71c43a602081f29a580758f376bc6888b2b3db86cad6e9ce6a7451d42bd599bdaa9e89a993211f4d0e8d95eb6210de605fbe8080b2e9b42949ce156bd610ec8490c1cbf07882e7db0bbdaa74420b1e149414cc4c3461c31ff95f1b4c3539a146b8161562f1f58bc23e3996d157e0179a4f060212f78dbd53a149b66cc9cb15c0e23616e7a9d15c5594e521d307c8b772108ec0ce145d1b03040887c5ee9214dfc0d4d1b6ea6758af8bb98b51ecd1d895c14a15b8689dc994773982893fa356683d6a4318434981d4139ac60dd59d7d2e4e01dd4989ea0c2a34375c5992038fcb4fe519ed6c3fd884c492400a406b2fa7672fff2a9527f50c234ecea3f59b597ae9439b81a56b5697e6c6dd0b5eed117c0a5577cf34cc9ef11954314f507e136bffbbc21465f8d7c196763502b71fa604668a7158e61fed6cc0f98e8f53890255cc05ce6ea5f1c63fc131afe1a34fb4da5acdba1ebc9eda311d40713181550c816dcb78b30e5b4e0ef8cf9ee1f842b8e3382cf2815964920622d99700915e0e76b016660f7afdc1d9b02c6c7ad7f7add511d1b73601b3a340d7e38ef79b99442a73330e6c5939c4849ccfadc87c3890265222fd66588a93abb65cdfbe6688c826c5485947315e6ee10280a2547234e5d2fd4b2b7e8f9ccd546bfc6fc5d6987dfde547431f4c30b7e109f999a86e1b1958b6d55a70b4055a549ec37c19a8f03ae75dc94e13204fbac59aaa327c16551531293b42124092111032d4bac97c7186553432a6b4b559f05edb6ba2648a7ae7507234b3875845d6dd7aab1e4a42d3f4cdd7eafbf81e29e38ecf6637c9d4087c9147188846d537dcc9bce92ed4d7cb3ca190cfa087b1c2e5b4ffb92de400365f8a513a46f9d9273a39428585c06636205af597ff9f69dbee47ce59b4062e670e23c8648bfcc42185ecfab6769affe1b540a3c07175090f567b5e389d806ec3c00539f86e71203c644a895b37b063f7a9d3e4619965d0cf6a367b98800827759fe562c85b7aa3f780710820ce43922932a36f37ce3327f683ac224111106520fda9e0d6303486c25e455e3a5e6255149d42210fe1d772661debafceaf08513ff3a6d5c43df6324977d1de9176b9d45d820e6beb9a0e6f7fee26d3774cafbac2f5287de22b710a324e2671fe4a197cc8e0353329532f575b467f97dcb952fc749c441c042fbd354374871860c00f61521009c4e800299aa5b8a16f8f817827ca7c051b21b4368362d637bcd2a8894b80fea49d55a30ea1f15fd23351653a6c62073faa57efc85ca8d7dd7d0747c6fec641a006ae922c712f6d8c874d65533300a35b54d9e86cf19c24bb90dcd95619e5591c3b71b207f83be275f379c86dab321ec43d53b48229d205a07d0d0f82993bc4c4fd2f686285391490216621fd1f70e6b67bf4b0ecb3d0700708dfa6e7c9e81525d9c4a17c816e5afaf0faf26e870baf82346249eb06d3d7b8fbf3ecc3efcfb57a8642e091abddf1dc33d316c031838784f92e508c836357196b2bbbac4883a3256ee9ba6562c0dd2f718d1e67aad1aeefce0f478fa543fbd2acf9feb416bbf5f9d5df169bd3024847a837764d5eb707e2bbb9f1d4d4fe28e8191aaa0159182ed0949705eabb5cb63285342263563c3388a701ee40cbb9124510bf894c30a1ef437a83a497b89beb2485e590fe9fc4bbbb5b08b9c63c4674018a0102120062446cc878c616a627711a8461154d4d2e80783ef3b91224fa67cbfc1d9658ba768523be2d989169dad7483c536d98f144dbbafaf5ea42b31f44112186e17cf4b12c4a8504c12aadf2196e840fdb6cdd9545f586d01e76678a8f1986f5ab11ea9bc3942febedf653f3d11e2890b26a4f9829f03d8e679742a0d706ed103df37298ebb575bc9cb904b5709cd2d2b2f889b48e4da36b35b08cd6f85b7565a563b8fe861e5f782e8b937029cfbf4e38e76c4643396996026db73f78bfd47388fbcf0b732d1c4955161556864a3c9c951913160ee3653a983f22153d5b56698cd59e0f1009e5286dcdc0a23006904e974f7e1d15875b768efcc288a3f574180451e451212bfbc92c279d3aff5276d103fe73d40681348f791fecb76818fe2fc1b2d0a067ebc8d09118e939fe191147564c6c89204264300b8a205e64a8d4a0a9ecbaedc0994d3935101bc56f447478f78f9943f568d036c54a579cf8138bc2e3759a36981a249158e520c76a9b994fc269618128fe9765886cb0bdde09c20e59a63abeec90f819f6b1efd151b2d57b2ab319f4dc8e40be1d442ff26e1eba824891a8dbe108de3a3ece88f7bbdd3757ddbc71bafcd3e5520b5213cb809b7e200aeabf51c5596eec9a802213bb60b91cf40b23577c85eb1e9f8ae265ae0307dca7e72ddc9453b951d03cbf70a2d24f570d7541377a2628d8755167d0f2a5d79e4b94d53f2baadd4dd65de07075ab9859c613051217c69001df53a632c2b13a369e7f511ca356a650152a8d899803b527b0504f5ddce5d90cb1c753855c244a0331c4f12f4985b0a12fd45c87a8dc48d2d3ac7b9b7e8d5ee8f6f24a863474467f5b69167cea1c42af689473fc5b62a89055fcd0e816420501b2f1347e661d5770ad72b5d7885d6ae123e53f2feaaa8e9026ef6b7aa2221b31b340844f91c7025a5c28fea4d20f782ec98aae3d0b282322e26872641e3dabded0c88cb62bc1157ae6159de1e7e5ca220a39c0dc81f55b806b7f38811071f099a7b899ec56775894a4c64508dd8b7db24c862153e5286461ed40fbc27a9e82b2c31a306e79791088143a74ce722f98628fc142fdc23801615f28f5af475581388404571239ac10237071b6b24ea2dfcfa0d8024ab5d5d26a6d14198ccbf6a838447df9ba807e5155802bd62a32fa824e6ba43cb046cc7b7fc9d206aa00c30c74a53b9c3d349ccf259b4caab07dc6182fcb405a8035c88c09518350e58de58b19b4c9de95bb02d27b84a14795cb872b759911ce0ba6327754eef06f7b7884a904354156ac63b079fd453a7fe0cc06305e281898170342d255123f8102d58348150622a04a3ee062dba5408784802a86e6c8b521a7af06b91ce0c346ec54749f8a92b6412e8a8d8e1f9db737deb9c4390b1ee47e92a92f40aa8e589e11e66f7947efcb3be508ec5ae84ef46c92679220086ce378b62c97ebb9bc4d79698597b763939668652a455233d1f1d8fe3db5936ebb439e9d5398b9ba30b0fb672dced5a86e5cf9a9c0ceb862521ba4ca7450d347ad6437b79deb4823d7fa8ee09b388bcce7046276a74b2f753af998296a76dd6a82afcb387e63db55ab3b27f64dd7c4aaba592fa8dbef91e54c1b0b6d1bab5fd1c9e6d9ac949f7790ead874be5746e07223ec20b3e8bd1862c923223b685525d1c997389ae5e096a5a43c5070e5b2e8870689aee6a0c2c931fbd11ad1bda81c36672f4e60972c840c09328d021bf8f7be9cee451249a6a5adc915c0f4cb3a73563118d142596e8e6aa673f42bf8ad5aee5bbadf3d957c1c7ca6d9b0d0d2ff1570365e2da4a140d9a333e5efd441e00fc0d52895961f2f76bc82e14d23d78f9d559c66b34a2a127108ea804c1b03a885fedfb670d35d568969a90f446246def635a327f6bd5f13a1c0f2058b3f16fa1a6aa6cea73c8560c0f8089ba2d1cba85b986383967faeac799152ec4879c45eba36a84868e65f9f697cbe28cd16896a5205f1a6f0b0dc29a4971b5be81afe9eb00815923b1c9403f68e4f6a25d12932c1cd11e7d07f31aae9972315c0dc0973d2122da48b0976d44ad6fe780cfb9d8515a95042054721b455bb95d6ad565e4ef4cbbd77462b43537e50f7b7ef6d6c1e2b0095692b249482910d24a1b5ec89319567ef816c44eb045cc28a11b8a6c70a834ffd23e1994b1638166ae0fc46d32f376b9ba8692094a94db999090aaf9c719cc69fa7bb2a322d4cc9df36a4226cbe5661c1fddd902d2fe139a535337a171eed3251f261dd6e9074d21110c5fcb450f7a57d5e256a2a97d9ee2fe364dbea563562a60d9d0cb49a52109cf74b192916dfbeafbe13d88d5c1f73a63328ee96239941abe43119d3f6c9ac5d068df678d3d7a2e66aeb44f6d7793c72e64e0408e6f00f8fa997f6c06b56720f742bcdfd042411f51482a87b3d90f81ba942a7851f998f33ad83c4786b7aec0b94b78b0ba74b622a1b082f0885f278d34650696e301185cd86d9faad7e7231cdc545047d30c617654619f267ad137dc004b27aaaca00bf91598c61ff0cde3faebbc5145031d0c7c5ccd461dd0c107f80e40d10b31a46ff1c143c4af04436085d25378bd6e1ee5feea7e8d314b2b61f22650a0be3a8115f0ba9ca3b3abadbc43d659152ea1e0d394867bbd79dd2ee4de1b21c402698880cfa5ea80f2b203ef2c9f138c74a573f6551c379811d2bee3735b698dcf09a2c21a07b9c8e21702e8fd8138573ebadd7331ff306a4c25bc13a351d81ee5e84a984260ee7e6839e38cd0c6fd02fbe74121fa15b1647955f308f0e7d651e3c81d5c86bce1b067287473dc63a1dff3b72a60454edb8e2807ceec0838437fda402c3f9811f7222eed572f599fcc972b45a64595a9b389637239752b3103ba009ff3f9ee6a0b4a8038915e53a302d5c40c0158130e8a5b404e9426aac0a2b352183d85af23ced5dcb7b023e24b9efe0a525f64b2f7173d2e6b5bc1e714e531ed3b180218e2400463c21bd2824a924e51b4b62b120dc979e4b919a22637670159d2f467c3f2efddb9019db04ecb5f16b73c8a5073cd0bb6030d83c27714a85fbe259d741f0fe681efb84c64cd0574bcb9238eb1f4d76127433dc84309f0c27602107c464dde7d7f2c877ecd8ac98d933e1c90b3f91c8b659e851f1eb9952fdcab660c5f5ce4c39be2915fb9204e2eda7487689d8ba5b466eb801c378236d5ce0401ac4fe3d17a211663ddad64497a151ec10ee143f697bb0415c75d8657d8d110cfa1a4fb0cdd2b2149cf69f0460d67b995e97251b16eb8f4c32dca157fa9524a9326aee9cbc4a24ed49022ab388271b6dbed22d9302c873a29d3edaa841d85a669b0d9ae2b492e2f6c6775416a28516d8bd01fef41c1738044e550e077d820e9fc42c831e39acab79695f9078a2b91607d80f5937fe5128a6dcfa3a2b9a0faa8a80bce2420b1ef4a7fa769c7dee6696f35fd71508060cd14fa721eee0aee1b26f598cba68423f9f670bcde92a73250772aafd2fdf80fb43c7b33bcd2b8357749475232e1a8cffb9bee2e3555f13da087121193955a386a103741e581e640331fd70507612e83bc0daa383832c0f010bc41497538151574090f03e04c6e63e968397e03ebf718f87c65730644034ecdef161354f6a0cdc652026b9531826cdbaf8e948258352af701600ed3946cd716d83dd47f58ada49f232d8a8d8d90dcedb96a3510ce322a2493bad9a7f18f4937a426e2f080753b60f4c41e2a7b7f490c64df316bc851061b6c52ec86493d29b6219373610ca1bf6114d97140d3ccec83632b1fc58df95c6ac2e64b4f70e9eb73622b4ec5a6138b5d9fface9356fc19d4ba2a7f8e245b7ec4b25f2e125e97bf20bdf7b0e993b3873a7648b63c65150d05f97c2f97e20fa519e453dad20603573d3a0d7557d4d8dead879a418467cc08a3192c0ff6c706a19159b9055113584dde1ecfb78131eda531c57894b6ee71f7f80041fd968add424f493ba27699d6320c12ba47a437a12277afefd838e5142a515ceaf98c36351dfe488af0715057eeeb0cb3a1ed774d3950a80fc04b151211ba274369e43a17aefb8702342574346d2b2d3bd796bf91c42208e134e4b9f1c59aa379c06566116da0887719b4c801697ded3e2c5ea8c65d6c390186ea80309127d75172292d906622aa40324ce950053c9a9dcd0b1de10f5fc7f3cbfb9fe976d674a85f810fbdb50f884c183547fcd8b27b1d704e403f5feeb4f70d0a17ac2c50caf3a8b396b98763537f780dcb7c7ab4f78dee5e6dd03b6cc2046063c71e2265ac6f3f3c7dd46ced8ade2d4e848392de6ef955bbea5163a85adeb752015d3d6b860269e8dc7c6a0c17035a5e53f597ce07f46d2a8b9877e3243d9ae5d903bfaf075c7abebc066feb68caa64903061a3e58383a460d912749d11c475c152bc851b4dc8e88c98b9b901efa5e79faafe1ab506341ce1ff2880635584b4b348f882a8e15648695e9f7c8d804608eb200b2d98b811a1308e574f3d5a571c54b49c96cfd49c289d6ca96e31452727516f1a1c74601424e10e5849166241ecd9449d45be20e5abf3189b506dbc9fe84ca83d156a86a813af2bb0b2eba5366b8e4b9f9950daa40afc64c4ba65b0a0f019c5e7dd043f050fc74b132c283b040ddc9e2d5ac8191c37f5ba1aa2995bee026d0aa0b84c5bdd2cb7aee9c45e6b80aaca61f91139835cc41354555c4575b5c4650a05e6f760839c9d42318c5753d72a334ec0676a644be6fde487562ae22d3c49683e1e38ad4bc05b660abd49dcea27a64d7391016b33323532f4e68842a741c916e83b3af18ed01a8e6d570f35c46004307001372fe8a75dba394394c078b07bf81c6485dcead914f54d7cefd233645e53ee3fd954bfe2e8fa528dcfefab1c552c8509165eed32077f25f60f9d8e687d4c9be652a27564cb29905608acfb0d4cfea2b02be314280ec75e36aa89aeebaff2847fa89abfa4b68a07f09fb4964edab6dce6d6cfca570da216dd04ecc046d866317ee85d321fe0a632c13cc991eb548a0ce2cedf2a96c9b9a4431f09458c0d8704f99ec9f145264184fbc9fbf8f035b9f397f3fcfc8cc5f434a6ffd6c5c025b1366c8ca519129e5ba5f1540b0e75a05b604bdecc08f9bb594656d0719bec02c71579059bc169c4e1192a4f77501f1950799221be1920253226c661b82d1c702aa2fc9796d3a2672cac098bdcd99a65729c8be741b4dbd1a11f82b847d26f2f9a8a417d6b36ffaf6a1d6620f047e20de19f9383e1c5e2d2b94d34d7263e63dcbc3420145585464f70830e8fb4e5b96fb2dded4e5b9293b6cc1b7aa0f2914407b55a5d642ed64e7eb83c03502d3fed51050c86bf61b9371be654fd4067f901ee2c72a1afba312c237d4c811418089e456da633201bbbb48edf2aa3ca79913464bf5b89a1fbf7652b2701b54529c9430be9c8cad7ce4513378ec19f11b5faabb6043c3090dc5cb6adecd88bb69b80f4970061b0db3384d896c9c7db41fe972b0f8e944d4eb4482d63ee3e9375d30b85a00febd65f2b6689c13d965967ac5d3e69b4068f13be01ccbabebf198dfe3b935a447b57e0404bf9814e56a3419adeaf4bb95cd9dda2507eb1e8507ef4daec455a13b4b0520acaca9a096e62ca214c1ccd2750d501fa914f4c9d0db22dfdbb1c3965bac1617e36045dd2392ca77202a1a8b17e9ece76a1e5f56a33483a46fc5726d7c97217c1e27a02c197ef7dde2a26e4273bbb8eb3c91b1e1d069506693346b6b72ea4eefaaf1c2f80c922e2ddd025421e985e6d58809bdb8b6bd428d78d4fe77f5a011cfeaf8da6001c85b8d17dae6a2a5b97e12eb58564f1e314ec0b7279de75261d4871a496b9b2af0316a7404c43e8bab62c90020b7fb4ae7646838df4dda16affaf44a4def65fd0c8a8dcdc1cb22dfcb1f37fa80776f627e3b6f6082cb5e6b8bb8b8101bd6d704de4275b8cf6b82075c916d7459050bcf92146a60663c32c4a8a58bb7fbefc832085bf70956f74b6e2939ea1803899c13b9aaf5caa8693cfca462d76e7b7e56fa019915d87148e6ba8ed3aef83bbf967c40c1a4b2ba4a7f94a202070f621e6fc9ebe7a1249f489ecb275338c151d6e5d4b574619a6f918f078788f00b460336c2374e1ca72004e272833890327474349ec52c1b95eb3b7a741c684ca8c7566191ed78ad10705a72097265e69bf51d6da2dd26b38921b9c07a38ab84577da8ab545b99f5ef472967a3ecd238512484ac4905cd7c4077b00dd46f2da6d57b2e26c225a690ac75b66d76cc0a2a51924bcf58b44f226c538d54c65bf3583b6837d9d37d421274abe0e3ea1271d01d650128ce26be9f40ef448c939134c99be4c31976a03e9db01756b4b62d02c2c279f953e75f02222242b1ce1b56a4bcf7b84c2b13f4b06f9e4a00a1df9062a36ab6f717c6692434e95e172ecfda0cc91c9b825507783a2fd791f5c5639d9e17d5a09cc49649a6ad3bc858b08b94183966d848cce31b0da49929e9359c91caa1c940ce88af5eb2089a5188ed67f7b1c984c4e27b3781c0b6d57c7ad86128efa554258df95500e095868012b06b5477fe4b5c31c3e76a49dc4142f9f36045e74bfbd31d22056da51a28623c62fe44bc5330b042445e5811ca4f0e043990dccff501ddbfa00535b5dbda454461418802c986a797dd8f1b29c649b93763b117ba8e42d950aa9e2f9eb0dbdeb96a193bd5a1ae11bd2ca2b03dc5a030291198e66616b4b99d545b6c2c66071f6172b9599fc5e18f827dcdaa9bc309565d09c01ff4a62e768b9ac3139a66f0efbebf6cda5ba54097168f971c64089d0678eeadd3cc3a22e30c8c6e443d695f6c1fbb3c664d4e42a5e83ef2e0d5fc8275f9296177084b50e831d35aa4c4a9cdcbf7044c34665cbedc128f7150d4fec9e8a105a08cce1d4d7edd9fbc4c0be04726af6425bea7f18d2f6c4b8be130ea5d9c27affd679ae78c9834d8bebfceb27fd61d0a8e3954ae55754f19a7a3d91eb53f8f5bb3f4b3724646d28218594671ce7bd0f75476332142406f9ac44a750a3654e895ea311c6ae18b27c1600be59e6a28045f35bd951c47e18c4aa8c7b2df6fc63bd75c4fd94b434576d230930168d71074598ef1bdec6047673d33ea42ed4e5641144db995e941c9346c4d8d924d5475795e38e6777ddf72e634fc9740d6d0aecc6a7edd89793862ba65369c51c5e793540f01f2feae10d156d885b7f3b5217ee968ac68b8a4c0d14fa426fdd35fc43b7adbf423861db7768a486bd1863ae2ec3e5f47fd428b6fc0e1a52be406bf84e0959a4faf5c3b2b52603671dc46225cdc1754ece7f5208abe1973b78cd1cd3afbcc47bc328c3038964133341449409a1340157c77ee33992f8c12f93b26710623ec26a6050d4fcbebd4522212180d44b294d255792f5e22cf28d0fc00ff62a81a4d661eb0b0cffc2479d123c04dc795f18d871a394a00e2aadd939e167112bac4cfb80254855840ec3a6979650ad6bf3d4d05a48b92ac9a06a4bb556c181ce4036aee2dbdfb30ee4118f3cd1b60c03bb59c6e479502f7d763ca3e260624a878893ebc5fa988f3b1778363726afc11de6785cb30354488d4714896dbf41c78452aa549f876671a956b1e27be92926102199730f8a4cfb04f83d5f96d949f75013849d476b738967c45e4f74c5fe14bd7488dd2ff3477cd05ac501208624f3eaa37a40eaf3557db9f231dc1924ffc0cf8789ddbe2fa855fcaec841a64dc9796f2938107ea82c0d4d5a8e6793eebcd807a0abc62a12a5789a5d76afb8cd443ec4253886b606cdad1e3c1e97c85c89b82e2f44a9a0352714d2fb9be044af2401e6ddf09d8d220334da301c7d3a5e8b60f615edcc777b9e3d164bb688edf7e9babc8905d2d4a64f308b078ce56254278bb7d8395a53e3f25751911cf13163d1f3c7de270bace9626d7d4910f06fbe018edc44efe40de8c40bf937bf0491cb915f254a4d3a80c92b2bec686e66839298aa9c0b61c6373d23ceb54ad00c1e461d2a060a02417aac25a942cabac2b1320e75cbabd6765efb15d17ee4cf6dca8091a18a462d315ab398b40f72d3bb86919f4d1d382b1e0d10550ac108554d33f002f5751c2ce7ecaacf6ab57c43b2b69dc4717ce28db922b96d2456bb69dc6d77ffa501c1bf1f686e9e941691b280c9aa4d2a5970438e6c75f29130c78318cf1cc7a0b9a12159a6713959c99acb2fe4801a01e40bf96b027c730679fb72ad2d438a105b1af0e4254d9d91e1dbbabfdc8737dcc9b0bc18a8891e5e473e98894a6c0bfafc75b412617e57652ab3a230bc3055cc77ee405517cf8ce56b7fc341ee69a8ac549aa3d3ed0c55cc22227a8d8ad483acf43919a8bbddc9e6352203da0fb88edd2882ca4ce481eb516cc0b53833826f21e5f2ce646864144d399309f6452dc69aa447c31a4e03e1c145b3ec36240f6050620bf11bf82623944245d94e1532918cb7700d7ed618efda1a90139c1882c7d4d1551fdd552ca96433c4c1db38d1e909f6ca285640435757886b6e57694813da073b1c74499262834a4b05acb9c02d3fd1e1cae27766f371f55222d31b3f7948a901adf6c012b7018717bd16743860b8a9719e2a5d4e3591a4098b8a276e79f8a5d0f720aa2e24c17e91088e9dd8e4481fdf1339da8bc629670d5f60bde88600af03997f8d9cad345937d92e30a5b361c5ed2147271b31148d76038d8f7b4d4e03f949e351bcccbf7a2b358e1f70c757e3780bacb9265ad6d7918b149dd81ac8fdbcdaf024cdc78f11c04ab644bf2bcf74c2875e7dc88b34fc056f0b4101e2db6e4545091b1b9ef9e8d1ca04198ecf541adb6b4ac0733b60c3eb739838c39efaa075d2cb9c7038c8a21018a1e91568fee05b2e644617824e007ee956ea59eb5ecd937f4a039dd8e769805be46af1bf544b4ea2ace92475ae14fed383adc80efd45bf220076b43f08cf59502a3125c2544d7993bfb7e9b6817ec238d7b2732dcb733e1f12033c73a48bb5cd521c276c213fc70c9c2aa987010803c3d0e73b02a01c0361dd67ad6424023036720f6ddd3265d676d2d8a16ad079b474952c8ce8f40fc4ccaf186cbdad2bd50b84fd53ae04a5b3f368298a39f279c30a1ecc28f43e5f18831a45f5fd55c74c34484f3b89206be7dfd00cc67918e29a2033c733c9f69551529a370426a692723a227fc3e2f977ae8eb0e6dda7e08baae065e9e8f675b82e28c569f21d6b39d356ef4042c808c89484c02b4f1e1b5002eb1654b40b72b334ce54d45a4bb005716c0a814c6a39f24d4eaf885d34993b2882ecffa90de493bf1d48d6ccd3363093af24086e141ae681505840057d3ab9f61cb1bcc51a7083c93a98804485843d701c1f696b9f5c66b2419f527af42ddc84037b6fdbac714003459cb68af61acd3746898968d794ad9213ae80b3bf1b075f2c9e81f42b9fe5431fb69113e61f3911f668e5f486e8810cf6b19b4775ed8bbc17db978c17b6786cd7a861cc356f4c4a7053d3faf79f95f048f49d59ba881a9e30f5308745ae2073c41f76625c7d4e819007db4975e8eb04ecc5fb97659a4cc57372807d57b2b89f4d940e7a94dd40649d6d079c06c081c36f3f515b9102fc1483c751c03b063ba0b8a0b829790fd8437d5c3419a523f17afc0b0267c5039e137b230409ea2c9facd9aad2ee987d6720aa59cf1f226459b1720a9acb2f0d0193f33e6b62af6da31f89db517dad1344d13ac149d49d4b54b6a2628907336dfde6ec10fbfb2c95842569a1a571b2942a2efa1e7783bd9b09b2aa86c10216d4f70b3eb8a2b84ea710dce511c7b178b99b41c72971d89109cce081c884cf4b97e360e985b34259b6cc6fa926174e45f9618a9d3798937e4b8ba3451a8306997485b7359e1d3279d9e2be9e712ef4038a149d320e09672d729b2a5834b6532eace357d1cde07dc4ea274d04760d1531dfa332f3356d6d2abee4c67f3cd804e0544678c1aba0be8f74598a32de86d67ffd2c53c0dfa33d892906c13fa8e4de0eb897e1179b2690101f8ab564b6de19a75f8608a86401c0015f049fbab420280d0e96ec8d0b718937d2106b8900fa4bcdcfe8ce03978c6e42ab7064a9fc30d3d0bb9dd97a1c2cdf2ae02a32c3e2a5dfcb2948044384a470c024deec164132dc956875445c585d7e0d00de4443681c9be22ecd0b2068a6d8d08837486f3f7f2237941d68e223380ea13f2a0cb5b6e32f1a1fca82b3d4409422d5fdb63ebf51ec7d7a237eec33424e1f0e900bd33bf6252963ca63c624602e6d3e15b2bb5a3c3e1840ef89b3215dd35abd52a623a18bb732fb1c6ec3d5f0688d55070e8f91247b6e94b31a06f7607a2f6550532b2d8465b53628a8fa943c00313966e572c6c15a5808952eb9e37e0cfc51b886038471658a5b2f2bd2b7571296a86cb499c377aa4881d215528d555488bdfd1e64b13efd4b91fc77f6f6f4a366060eef07b61652c0b6f0b9756a8b45c99fb88812b5b090ede51e55ef6715d2766e1d8cce4dd45e9273c4dc6cd37f092e4ed2d61561be1b6e30742d48bc7ed6162f81260d4e640da895ebe3be10805147a1c2d21e9d8ff2442b6b91ddccf291ac0947c512728d2955863153e8799002ab3e71653f522abfd15f50d61ea31341a91982ad169a588425ae60c55ebed301b3f1c668c8e5466096d8f07b58a9bd21731bef2f20a63c699679a9bbf467c0c98d207361332960839ce24429e3d4f9e53ea6616e1ac6b99afc6fd57f153a88a9ff17bde6722d8719e2407e24b71cccf394793bd42bcb216b9492b8075c948b8ab46e0cbe22cfe5e33ee4882ea3704bbf1b5a6c395d7f4cbcb484717daea671d6f203922179ed5e48a5efe6bcf95a313007e5ac598cc9bbc449da3f4f1aae7428b529ba76cc44526fda6cc3cd3b14112c0376eeea639b0593f6dea9aab662787fe304eec6e0a61735cd289df5c1dc2517c85016bef6e8af7a4f70dd70b739fc82aad7c2d2ad4129b31b9728d4faa6b9e95c585af8b56ef0cb8213e2d49491f0614300a9873d256779c160f613d15c0b000654aae9438c8f26daf8adfdeaab8ae4222ab249a49fb7b30a03acc7a4d809758d8c07ba8977a161c1a39692934dcb9601155f4bf8fb2b20da4d28dd4f65043d36d5ea6ebeb1bf6ef72ee15aaadb04a4b7aba2e67c477a9010141e8b7398cf05bff6e3f59c25055e7e4ca3887df1a8a79cb9553e8c11edbc03aa8a489065dcc805a4a52e9d1e66223606e6f5da6bd22cbf116b64a1a2804cb1a34516001c4d9bfc0aa55e6f1ad4000be045e4343e79f55ce63af27271fa15db99f8a5ceeaa35e21547a197b9f55db84fc3c6ad77304d3df18c5f26dd7b842ef4ded8a3dfe3cba233eb8e53bac474226e435890d5a11948ad1aef450c46d1d99695b4fc09b9044eb3dabe7a545b7bf00b109be77e81aa121b4772a5dd4f618cf5fd141cf385b30b0a2953422cd24eeb913bd110cd91979a99bf48231e4707f2161eeb0ecbdc1c5f175c1b12da8757e23ee830c58eb224c36be92cefc0a5beb756d7698fc1d08ebe090f5c62e930af088dd4e91ace4ac5018f4e7637dcce7033399532342456ed758092eb818fa3f5f4e98036343c020acdef85d3376ea1b138e1d6c58e493ca9b24f21613d3a4f662615305f59ac70fc9de4b89edf63d5b2755ff2f963a9c3bc0166c658dd55cdc5e70b1bc92fb0986752a31369695a5ff4b4b2c0707fc7242635752b5c887a2b8acec9ab3e39eb3661c6ec01b572769cb60f4fb98f968e40e6af3cb6ed3e003edbea1f208015e1311cdd87e1ef2846b1670f0872ac7ecfc82d89af8e9dce0a889a0f8aabefbe45cc36de98c814e24942abe12338574f16b9067ac9a0a08f68b7e4e241c68221eb3551bb951628f47c797dc92adc3a29a79bf1737b8d9ebda8dafb7c67f3e6fb2134216780d9a892287a03274bf03e980781e3cd0bddc2519c7f2c297d1bc1b4e2fef16f6e65bb06cc732c7f6dd74f315723eabe466fb5ea057a578f12e68ee4534fbb6b0fc7b8cc05e7c6b0845fec8728dc532243d91b14b1afe95780e67838162d2a1b9471bb6e1dca8f3d2eddddc5796ccb4c81e52a4fed436f7e232072bed3393b4f42b6c841b3666f9a2ed91b322a24bef1105ecb10ae10c1ecdac491f96fd1b9cd6998f75248cafd939b49d6afe4f91ddd4b1f737d75013292456d4f216266c063f2ee6f202cff478d2676db9dd7440180d8193aa8b00c9c3b55ad79836ac75e4e9653e57d085fbbc108bbcfb15b37053d13a9cc5d9acdfcfc7aa1082cec065241afc669c513e052e9dedff67b4f3a6a06509eefe8690d11f9a140dc3f6d7901abf8b31f63b79c6f7769e40d9150ee4115177622d835f421f5712487611409a307ed6198b70596a440f8792bacf1fe3036ea182d0cf885f792d47162413a5abdee4a570e8d3e5382305be8291501c5c4d8ea5fe409445c5d074255231793520a658a7cf5c5955fe08c48b056281c4cab123a6484adbf98c4c478559f25014de4d7936b7f69356289f375a1e00d54bc4a34644b990565e2b7fe084a04dae698d512aeea75f230cb1c6033aa87e740be43508d425b800cf4b418e924a5ac74b05a4bc49018fd2f198f2bd55ffd70b52f6383297a921976accbe2f04ca7e7d3946c44b67eb8de8a9122635021c14e9e01aad212d1faf9e65dc8fa82ca2a1dde48430f5b3b51c7ecaac4138aeb54138a7cfbaf98fbc074e020895ba6e9d07ef328a17aa48c4b98ddbb17108b7a4789f0c9bdb4044d7d462c42a24ca3f6776dd5fad819db000b652d012139f4f12a0d9dbbe2322a2a6df69e5fa46d87036c8b4bf6fe2860751902fac92e5aec7037a2eb0874a7321344060495b1c404e07dd03a75017080cb80fce22dbcea8a9e5e0739f726d52fba2c8302b382e0889636a2926c992f0196d626f92245e8874707dbe139fa20b3b68d6e004bff910088952e40051db0088b463c60d379c233fd306271c49585bda2af53e212ae5dce81fcf74bca896e2b184525a9cd577dfd3e8238331bcf657fdd68f79bdb70930092bc4a50dc04ec5291f0c793a822ad570c93bb5460c46ab9eaba305e08bb37e980e179c303a58043c8f8c973e2d601bf3bfbd530fe68c5b7fe86dc2a1812a5e6f2eec8ccc001a66c998d18d761247a0a6f16f9cec123e62001e7c493d619a8605f1ead3c7bf5e35bc6214c7bf3a0290580a679a3fa04aa71f6f1206f13d69297e404ac0140c94b192da42664146f239070a7b5068aa27f3ec88a9b5b1b5878b2fb75d050b834385b92a058d6300881aaf2d6ef68431e51b91704329e78e868a7e31110ebdd6fe8d7de0492f5510e379808af2daf5a5908453b0358b6465eaeb6d733e45f68ceacc7d4dcb456905d4bcaa250d33c66a349d87b26616ae1ca5a3737c54fbcee799a8c7aab48f1cdd176e1821b1012d4402d2824a4cb410dac5cce8ddb06749de42f14600cf9248d261e50bc5aea3e1d75f91dad6f7ea456239bcb8b98e615c18147e88312019ed4148b55475d8a568b35d4a895e9b53a8cbf8e1fafbfdd2eb29249650509ee33b02dfe8322cfd2b1840fb3980b50d1292596c60b9092caa682e59dedf4923e2935d8a1302cbf8db671187609762126e7c0b2843fb11d72458857b2d47b24ed9a4fe93dd8c2052a57657b2c93bc0e166863a1fb1772748a3612c572357e040d94576ccab4b3c0e9f20de18afbc5edb0b3c0400b393397a39e3c118cb8dd62694fa3ac71979a184edf50161a3226781c92226537f263a907309ad2154d4e35b4e8690209135e4296bbe8576a549791d10f09b26ba904f084f11851a0d68f1fb78aa0650960aea1760822233503a34fce6111cf30ecd75b7da6a4df3707301175febd9cea77de079912d61e25cc32b3a3601d739167ac7269eda911507699566208a7c6b541cb6503bbbac274e0a65c833bfc5363145ecfb26692628bf7315a9b27af6bb599f604fec88cd4f8462a9e0afd392b55717080637038399b4d41d0ef411463e7ddf4b3fcf7b30e1ae5ce67b827bca4a9536c263343041130ce74a1f6d324b6f1289c45b8958fee7f8a6e40fd92c9e82554f4963b0f39936f80b21780d309139109ccac8fa48bb0ec33b15125b572b0d4bd0d69cac4f78bb6bf43c3ae8c61b7404a94346cbc40d110df742ac7eb632bd9aa9e0f7352cab8325aa74dae98bb7deec774f2e113a44409f9d9ac3f9f61272d8f7ec6babfd7661d46df8566caf3c519aac8f443f10d1d5f6356dd03b71571cc723a530d59f718be2e6a1dc4c9218b03a9602a10e938870d90217fa328e87c03dc1b8379175e156d24f0de6fe7786f34a75bd2565aa120dc8e87fdb96e00240bcde0cdd38550901a45f74a3ab907752d2492efbb0bb589a5f59cb13c0c524bcac74e88164bf5362174f0c56487842645696cdb5f693938921f64eaf7b545479725e60307985bd85938856b6ba5f0c6e1d998851eb10eddbcd5a05439f1f6b8ccba955391b1982709e96413dff44626ec1d3257df213f33f7267bf0618d9bc13a90a5562620c0f51659bddef45068955c4e2716f6ef4d26a6fe6cbd7f6cb714d790b0e1ec26ca9e27f0fdb51473e20e6009b14f73d51b07289c1808d679ced69fa61c041c63e8a3417a02b603ac2eb5e5eb3169af8adeeb1c92084d1bccd7ce9f331aa66d1fd96630d97a4fea78d4c1b79d7e995eb7f25caa40dcb7661911144b5524d31b25259b57fce204b2ba7a31bb335997d3abd566a882ede59aad520a9b4a8d69899efd094ea1550b05f2f92b8f31a34997dd211ba88d044742188c383da640994d43fa5554ba7ebb9dab203d058f0270cfbe9ee243e43713c5bb66175d04750c07eb3e734a216e7b7792b2f08651022f8709241c40afaa621bd49ab9585b2596dc6af93cda565369873410b7bd5650d5d7af7649a6943b750696f580f5e5c5cc4fc8463165a84ee470fe0f0502332bc95bf59e9fe3d172f54ece3c07d6ed9ff94b74a1193400d72a3c6a9d6a06ad5ef57d51308b2d474ef64eb35d6a9aca69d6545a2f0d3755669f24d6dd4abfa5729957524d3f087d5500ae145a2c4ef2ff716816c7960200100c88c3c3e588bb3b37dcdd897eeb6f125d3dd5c3f43a172771ac1949df7ff61adbaa26e75aa27ae61743d948021bf8477c62d8d21f48e1548e6dd0e104fef628829b6d55e1a4828a77bb493e49e7f1272692193baa3bef133a689d383c691cf2dea466690a8cc8b931921ad33dc60fc77bbce3425c790dca84c16a15d15fcce409470e414de463c9a9f0d68fde03380febde4d884cfb5437864897efd55430acd28fc5464bbe0cf3b1ba995dd088d92ca726e791f7835ca9c20dd401b34dc4d3a855fc4248ee65ac2e16e81b6788a09a73476584c57b9a7e0c9c0baf22d1561e672b8be172281e401f8f535c344d50cdcfa7a3dbafd57540e414e3fb289dfc6a2927096a4b91a02b8f973b99d164d204f2a6c03c6ac82a7c58232cd5d5e3280f14166a94ea457bfa7a8cbd32acf2bef68bbbeb4ac51c3992953031e57d5671ac103d7d797fd5cffeada23b3da3d5d6ad9572b754e70a8a98d2e76dad4ee25cdb30b2ed1f50d91f6edee6ca603770c7e4939a4a6e3f00b55791bc237d563d7eee5cfc60e723d7740875070a8a9b10dbf1b30ed62e49f1bb3b1075c7f69a85fb2a5f554354f3db4b4bd3b8b1726717060e0ad2699358698e26e42bdf31c6e728c7542a796f2b378853d6c760d2263c99d998859840ad0ec8a3fbf10c6d4c8d861598247efddec6a47e962468dec643bc090cf504a035dc51ba324c45c1691c3c356026ee7b71769803804c20c8a1f2aaf013fe20ac9012e9d5836d8a46e866c3539eb2d5ef7e4cb3884499de401bdc79c7da7c653ba914a37792a5fb14c8c975ab05b5096221fad16d5f04c22f82b00ebfb5430e00078530b24b8db06141fa4e73614c52ba74c9036b8c7bfc7d9574821638264d494860c3da975cafd4bd7c63399d5017b962bb99f9555523633404a363b8a5cb9be5f3c9039a4bec20772ed4502f63b9cee5758ddc684449630d4dde9ad29e95ecb8c1bc631c7fb7fb05100363b46d1244b9f1d2266df08c2cd877d8948fb47d0c7aac8939b86d0dc5922e473b2a203da03b28320e6c7a5160b645e323c90f7f56a5637747945189594cca615262bcd965fd940d4cc1dea210d9123051e51552440898aa638396e54e77ba83c0949707b0041eb777a37377d17ca2fa4de1c904ea0161f58d2e28a963b5dbdabbe9c306cc78ad66a4a1cec976ab62b678cfa1e88fcc535f488196b363c45970561d21020c59fb35cfaa9e3c1f57cd23131bb907de0f1a3da74ecc22e6e0f3241d9aad2dd6bac73ecc52a8c5d9b3da9ee4958eea3bd335f5cae30ed24d65e7c7e086de2702f3e02329798edb9c78d8e082d637c7a10e1b6bbb0cfd0616d35217d7cf6505718542db3b256a16959d4462d05d21dff7ae4075048fb0447b4a4f0f8a619164c734c76b6cc72eddb0a5ac79b3ee1f4d2f73fd51f0aa285a959a4292d655c28ff1f9b516183dee6b452425e2c56a33ac4f7c54edf352504654b3885c1201724bc82164ef04791f57d6e4b7a72263b96f9b4ac877a927060238eb6e828f8dc88c1ffb83dd2a525029bac950a6eaf279ab512462efb9dfe63158264343ee6fe0ab631e319a16a371b01b89b5e47ec97572b7bd35e513d10e1d0f2a28722e703903d42337a02f2b1b00c59d7d6b4fa5f455bae014d94d75346deaf4a4150bc77a500af7da150c414e8109708d2164ae83318ecb1866b94518bf13e94640ca064f313fa98f392c1439ebc310c62e1d1d027f55a097203b84771551505e96297e74d8f7d56830cf207bcd57cb43f7fb8c9aced7abe1dd8757ea948eec82177a31ece985007137f0c58e09a3cda615fb9289f7918083d10560def2c0c221bbfd0b2cd0a44ac394744477bad1323c4521bdb81361d891e8729668ea6e9d5d3239eeb15b74421a8d362a4e5b01656d86dd307f57666b488e853c699b241ff9a375ebf9816c3b13677aaf3ed6342e6a73af4b00aab0a9a39230fad1edee9d1cb2c714100e801d55e109b9c9ed9d69f60550d8f812ec7b01d745128bae64b48a4b20e0adbef0070a33d0f8d0e673f810041758a74a7d9cadbf603d605c3d6139abb9dd8ab120edac25cf6e37a4fb85be2c4e7e3446a8a35abf3b88cd884a8abb1a312c09b13d415cec8cfa015dbe3d1b0ad36fa08b381363949ae28545956b46f329bd619698947956aea935330ab1774e849b69fc67e2f9893a3adf038d39a51b8fe705df89ca6f992c9b9f277b5f8911a25d7bd2f7cdd9ae2c94e450a1874b8a2f12d46482eee77efdacdf8192026148b6731e8adef7499e1db7ee21ce1c60649ee1683c06a7e013345845d47561ebb0ee1ecc741f81f445ffe34840254591d54e285f61e52db6bdfb142ebc9f13ec1fe3adcec70fe28486f72b6a5978d3b37b734fe05475cb52f05840d6d66149272f72e7245a2d48551d8fd7a015c30fa4919fa710f5ef9a9ac96a8a9f4ae7cad2520f7c70445d693b8021fee6df260ea3f3163d73de38d319db2a93ce0e357c62d122c01161b965ddb90783d1d86438eb808018955de1e092c83382ac5177b9bc8d15d8acde92fe0274f0ee8dc8138f752e03c9b9edb6d0def8650ac3f1557e6baf8778b0f1147bbe96411420ac8c5ec9caebbde850bd0960d3fb9a2ed836eae4d526e8f1dd7ad9c770ec90dde112fb05fd50613b768826f702dec065321c2e767d16df93b52a4f29e9d8a56353ff3646a2250737f0651f9e240b8c135bf5f030d9837a038bb2b1f03c3234177d18a1bb2929897f4c2faf1138ab6907ef72bb2d90d49c597b7bb265631babde828c7e2c169d980c451418e0b859a11801d5273b5e347683c3c5afb7a6ee849223ad5b89d7e81b728894d2543eca43fc5467b6da93aab1a4bb260116741e52ca71c7ef491814db5114eb59f1cedd2c5684d674da7be4e7106652fe167ff9d3f7cf8be0d61d11430583130c5e334675404db71a8f099513850afbb5bfc994b00f463d371fea98bc5e98d4a3e172e72358737fd03e07f668ea0000727f365bd0ca45aa04746655f8076f2c4f0a0920ef480562f3b1b2c7818fdccf09ed8e1fd26950da1f1adc079a842ced3f85cd97ea60a08296cd19c5aae30132a58ae8db782a74e4fd0e29db1086caf9a31d931d00e7c2bce1258d4335b9aa9c42b805f49ed6ed4d3a2df6315f55e9747fa7caf9866afa2abee345bb5276c9a59aa72ad44edfdf65becbbb12a8da1739c119a28120d4b03a08dfaca419adeec8b6379cf277218423119da8801202f93c2bd2669483e1bfecc22282c48c0f09b487583770e831d2d85bafb21eb4c7753c5c20208a017d63a101cf412a6a444aa98b92201c394bc6c09e634eb9f596e868e3bad435f66611ad282347cc09efe6a754cc86a48f29b8d5f06b7f5b5878866080e20f4ce6b2328149ceb76159e40f8ec55e01a29772752d40d1910d5baf9e99d9a928a997cef1bbda11dd3a93109067634b172661437162ac000e1df8cdf89b2fa258ec5fae77137249fafe2d259b29eb6c1b9d73a9296d8bdf89c0f3284f9ba8de00d16a8f5101f1d618ee2a69465a09a0268774dd84a68184c36256ab2d3050ca3411be01af506856379068d8fe4a7f3266cd5f8fca9e8e5460718dc3ecf6c6ce0d067f4857e582bb6669b191c55175d234033aaf7cc81406545f01dc091e0849a46d460d895868b906f8d6a6096fe06dba07340c8da283a10dab7fa5000ebffc6f24dff507250d4ff13f7b0afbea75525c86337f0fadb70431d0e12c402255c6bce901c60bf80744bd883985e82528dc6f6b1a24c746a178552eb3240e37bf412bd67e8d790a068b18c82c80b2a447e30809dd053ee2f438bbc206c1b094e850a3c44c869bf092d54f635f507a9846d69ff45e65906194f073cf6639ef451f1ca8ded0cd030f912a49486b000a16ba50559be312e02ce9d4c36f4e953e292643b89adf727f0f08f2e424fab9ee9f05c1e2973977b4d7fa96d4c340b6537f9a921e2a257aea34deb700334d1b159ae5d318e47147396f10c1c139f2168fd20935d5d39e9b7199fe939c889a9b713dd2be7b769250b996e5fd51fa67075f6ba05c908456afd72df43161fe95398b1a156e5b93cd580ae4c35288a6c11a4afc3a368925df9c724e3eff0bb4cd290824c330b76351d3a659d4866c96537f5bf023406346f2516d83d7e8a4df07c30d7d7ceedbe084bff014b299e1e566798a598e09eae6a0cabf7065d4734909f3fce07e302ab0069b05d95804ebd9295c4421549e7164014e8232e582a1c17bb3dae41d7183e4633d70f96b89ec6da14b42f055241e3a97564b3ae8e9a76f5c8befc43353381b18d1270a71c64c700507245b8379106de8d29a5b2d571584c5775045dcef47e60da990cee2b946b3699593eeb093bc9c6a09c696a03fcebd1641a603f132cd24488878dfbdea547797c93ea528214f4509e417d617e00262984a137181323e9d91f03b551bf09e7a26c63ef7ecf54c7fae756daeadf0566f67520204c4b5eede282bdfc7e9174692dda932944122c46f54c1bb9a66d89bf5305d929333f4962f35f114119adaa9502bfb9a372740c1ad7bcb3e0c352755ccdc5cd8ce117466a297fc91f0b29bb7e22f03653927d177067c3cce5c3b56fc2ab7fb61d05a843fbe282e5cad23ae01d00b85fa159525337b5111400d9756c18abf064637827d2af8ca230cdefc3e58761c4d04092bc3c32aae3edad59cc2371576927bd755c97cbb0017089f833c8a36c8345c4dea5a8eb902d0c604b74268c4921091fa0d39e8c6fb6265b9299a5ce7dd22eaeba6f658dbd69b25a95f8737bc382d570a1184556b0da899a78ac1abcefaa288b07083707da14bead07dc06fc1224df9a9dae5943125ba45cc22f0beec3496a2cfedcecf2eb5a6a5b80479acb5354f91e2c7d48bf4eb1751fd5c5a4bf481aea03e278b4d6320cf63c31585a1cff1d876164172de9aa9009c15030325794d3ec8e013e05618ea99a10bebdbf0e7ee62731aa33beba2a27adc01954671c457bf783bb7e1858b80aeb4c298b572788618b33b19a7166148f58f46c1d2fce09c51c9b7ddc11234399e00260829801dc27dc5b7634198e474a14fc3630e597d462e318acc3e358effbca0d68cdada5cce4a9aa10643d7daa24fef847e4a5be1b42a1a53385c1c2e58cf08d623c749a1ec11a565a0e2b8033358663472d0b38c4a74aa860099e842b879075e6543d623602f0327895f83f2780666c07ee2c0eb20001702a217b7b5bfe6f6a8e9c874e9355e29e08070571d99997709e05314fb0696ee748f460343746394eb0fae5a88ef25c54b2c81a7ac0ea91e9062b589de775a1e8bd48be0ae1a62f452f2d4274cc7d36505e4ca4de061dc4f10b3e671be47f91c0d593e22e464c67bb7f00d80271b76bc7ac22971f1e55c2cf25732def146a392a6604cb92b44d02a7231149bf40dca2d607c1edc8c82a56d319b1f3f335fa489d15f848c12a79a8eba6e424dddeeaeea95ceeceb482696dfbec4ea599dae2361a4540a8fb9666e63915041db94ca56d66af3b078cbeca47ae60d0bab5b66db13b34633408371b7d216d54a7b137ab32e619e3cbac8aea12405343aedd7d9471fea77df3ed300284531a7b9e27799c54446aa32c7717ea000eab283c04387a497cbe77a6701671cf2da16dadfde8e50920949c8fb71ae7ba9783f7220a99c47e5addedd4c3c6b427d528f1e3185c0de93b76e1c4d79c6dccb244dda3e9eacc24ed532b40fc1150d09a37498cd5a233d1a9d82fbbad814bd678a1a18b433f2a35a5ba95268e13914e0cbeb342ebbe09349fb3dd9ab5fe3b595744addba716e8970b8dea465e269c3e99cbdb069a6858a04ec84b5c26d9f632557964dcc11997bb2ba46ea98714b7d8cb73f8e8bb3dee08e16dc6c1a67ab006821c56772d2e26b5142262ab2ee9f20414177c7f298b8ae7e28b8d120ce61f07ae42c4a58b6345b590ea36c7868d03215b12738341131256d7d950de0db59ae54e3be3ec9af1608e2670c367282e408dc71018c602e038733b5fda33f6d4bfb35718bfbb75b02da3f8b2b6e89405060925d86ce87b602a0540d63722c6d37b28b44fb86aebff03353f3fe9cddd22e2e4279e6d97974bd50da5206eba4958db79aef50a841c3c93aef487a85e50aea61e60338cd45006ed0d126524bb2e2dcce735b3451fccbcea0be16e35801fe88fa1d2cd7875d6bf79ac93c1be3b3fdf075dd95e98ce878b507a7148189d3f5a48886c3621ed8b2873ad08219141b460aabf727bdadbac6e5642ce8b95bddcabdf343437b86efec52fa071aa9fb2828018bb9b42f4784cab44abca4dd6926219ef480cd75630c8ccf0a0ca69378c5304c478a252979895aa539739f6a1a7d45b2413d4092e61ae3df42b61b4df9614ef2d3e91fb3fa9daa0b6ebd811566fc3e7aad730fee01e14d93cff5042bcf5988bb3db59739b2e169662b9ed97c7079d67ebd01d11262dab6efded676f9609e46d644ed71999b1afc7cbe34276a8e36cf1da3ee425d5859ccda524d1959632f7f5ebfa34e0c9d229987226e7751b4601ad8a4e002fe68e273485fefaeed245961d70ca619407cc61dc5246ce6044d742218be6ad678e7c232dd72496834f9725f89e2432bdb39cf738c88ef5b60a2d6e627c7d24025ad956d266c326e9c956314e264d1ba8e6ed34ed27b0a4263c8a1949f41dd049196bcf3e76f80ce5aedfcebb283791105ee31e6d1a10ec07a3954bf7212bf14599f662a615be22102555a43f8882b3b8e2f5e0007513d06a0272b1efacda576f9bc13820d1efed241970abfb9ba6bb97ebcd677a2d83fa51437d4dcb7db6e7859ff6d6efe2b4987c7db56b19f6a238a8a2cfa8a34ae780b93e93be264ac263eff11337848a523ddb8539b2d0121c52bb983afaed4bdfd38f92ca45df47f05f4f38f5a128a7af8dd15d0d3ac8bc8e1ea530f030b201747e292945a6c00b9c63347bb1c6896f6b51d9c2847817548d65c6c362ee28f9eb84a52e93cd99f4d6be0a31382bc46c5fc031ec9714c65f02b290d8b90635ba6239a52da528bd963676ad0aba319fd6f1a904c8576ca04c4abd907cae5b9cea052d0cf49815233db781a07be41db615e0875484e61c3215d0a4233550d4ccdbaa8ec218f4bb33490ad432f31edd0775b4aeabd33eb9668f6572ec6530c5e4f0a74e2e20b0f5ec5f1a65bdbba59d38a429d426033eaf61d2fbee49b4031db15f6db28abf70a7d32dc29cedd8235b08002482a635c0343e34fbd016811b2835aa316ae44cfef1e7c8649b48fb9012e76d5f4420828c45c07e5e9a54a27c81b76638e834e1bcd8ff2b1628a735c23f981982cff9c7b7dc51917f31909f3aedefb0b8b5b3a056e1dfb9c9ef2e12d063bdc5bf89452f8a3609c8562f59307ed0e56e0874b5c8ab78cda8bc30632bbc2ca4fd5d9269132d704da3d936914bb722cea1086945e99480029280993d8af1d3d53036e4652141d21afa0575b4ea50da50eb09c1a08c1154518533853c9e555d51484b5b58e424acc4377fd06d4f94e6f92a38a7e5e45c68d6b84b38b0712100e05c621f96eefbaaf137d2daa574a80406e509b4c6dbd4aba9f3d71796e5db4af6fb7153f53a0f2b784698b9e1b47379c6cffd1cb4913d0cc3f0c109bd556998eb07ebb6699df43ede8ad5620d4d35fe78b5e1c3e9762eebb0803f465beb74e565bae0e460b816fe2dc8faf952c671ebeecbbfccdda4b26791bd37a5117a7d1cebb829f7a3d00b31240ed24edf8d590455eee0b476eb3b2b00136b574c536787a0e4c617c71be2402e54f5a7979dfc49e5b34d8009ff2bcbfa314a7a7044f03cc6c27e904938ed226933eeb9eb1c99ab7738577b7f2d127198d40c6546f0fe00a2eade1a6d50ecd78ef0cc3fa412269c54352d134ab38ba17b665e177bac444a6516620a399e05ce3ede5787438685202122267165a464998222e6ad5437cdafbd330012f3179be7f3bbbdc14052f9a133ddb2279c156a4026c1862628b6851415894174885cd3f18cfa283fd11734789cf2fd70d237cefd25ccab8bcb9c11796a2133c504e25851c3b55a723e57cbb5ae7c32eb59c7134ed36980f869e01ebe88c66fdf90cca19b546ced46ab42853ff6cacae6953f0dc7d87fb779887440420bf0a4f77c0ccfaa7c8afe8e69b5648568fe6b60f2cd437c57c97e66baf286d3a4d00c7d2e23bda7974bdda9d5efa5483207fe4511f5513bf7113181cdf680c5fe163bb6c11346545d715932448588cfaf9879437fa78bef4f3d0a15ca02b27aa9f597047457a85be6f985bbe2e1fef83e08fc0cf5dc655db7ef55d182d4bd3d18f74b8b8d63bdfc03fb8f6797f4e637e643717d2171c0c6da8b1124bc41e5ce1cecbe82f8d0029795792dbe5e386cd8a419e47336cc1b669c9b0295829ad78d172690e73d1759baa19425222793a6b6b3d291df5c5ea68a55425607922a197157866adaf145d031dcc7cb8a3a5d26057bf5495bddfa4a8a909c2acbc9fe83cb15ded61b7b68be00df7575a3c03e50d0b89d6a7151c194bf3c9d9f47252e9577bd225540153aec12c92852c0cbf3f712c2c9f5781fd074f5d8ad50e8d6e027d6d95562c15fc4d1285061303756c4432dbf46d750a7a88b35525d9eff0ff98dc6639fc1995d152151d6655de35b81bcd64b634f3dcbd89e2e600f611f340ac03d7e11996457431621fe79cce389019707703cdf57e993fee7007c091d04576ad77468065f7a0c56a2e0f46b7ebb02a5d3fa5e557c2c058890c4cabc4a9cea4c3d0640c5823ab30b52ed826f7d81e236a5cdd0c3144ea6a5fa0beb6d538fdc564621d3b4577b25eaa453ddebac20ceeeef48afb7ae70bc961d355b741ff3aa43a00efed5a00baf2af0fe4058726c0aa38e2dc65fa62273f037521458592c453836df7f5504e5c39e7477409da48c0c6a8548dc124306206bcef2b6052471fc580d22c3874008f90862c5b86f8bc3dd5a39e909f4763c0344f321fbd7c515be426f11e1d2efed4a2a37ab67e4007299919f5429486de5aebe1fd700f8ead4e6d122524ef8fb17d0e1f3f79c2526325effa31ce0640dc4a252e2f70680eae0d8b50f2a05937981890482b996ced32574136ea012d41d247973780e63685c62e7ef0403c7e404362892df01b07de4acd77d36758f29dc3dd7e547621a44404653cf150468bfcf1fea0296d93252ec9fcb8b1ea6b23aa29da626e64a0dab8a98975a306f89c89222401950801f8ed211580fb6105cc3f78203fd7176846b9361d8151092c0e8e7650d7d35ec3960d0143fdbc82bca63d5daf5fa444f2d09159ed8b928ee1e74b8416ba8278a01644732eeadb029fcde1d21974108fdf9b42930fd61ea77a6d37164366e143682e568527bbf7ca6eed71d45993cee1433470c72b6fefe3552a98977eeb73d956a0686e0ec74c35d335b0f0add0f296cf96c1741ce09224ed468e13131cb5fca10e2b0f7638f2eb6b7d615995b1d5429a87af18d319dd2787e5fc8ce7f4d55e27c6071836784597db9933f86c896485c2cfc4879c067504bc4e909ef8bacf8f5f21b6fda140e40e8d832ca9304ab4074a7559f4d61744725db5b8168eadc2b3390f93321e2836bfc14a38437ca71bdc18da6c8357d99de2479fcd0d45a6f035f1c2bac577821c8fef8f4c1f253dd753cf6509cda352d2799f298c1ea83e3d2027cc6bf33cc48fd34a89294dee296310c064a4588cc71a15d6dee696cbb0a24b26548cd82a955527d17a8a6e2bc4f6960e7c7e3f8817f7b04ff371b3411b03f40071e196b858f4e77195d4dcba5bcb33bd9f21fbc61f18f34c843983c61d038a3005607bb18427f4c0555abc1e92cf13c8b382acd9391a5da9fea5ebaf3ce2015a9216579919fd5b93910a7d073cb6ba661178ad4e6effa195f43e510baf84858e47deaf30ad6993ec959ee223748b9c5cd9d36f4c15b50abb3addd8a64068fcee5af25292bdc57949b4aab3ec0ae736d2c0a7dae25d07b28c4c76d04c4d7cee316f813101923ffe9c7f42cbbf9f5373180694d59e68a9b609550109e8f60265c0b7d556b5cb79839770eed005b75ea28185a154f5a274fad39b35dcaddba0ccc124d44f09fba7dcff3c208dec94aeaaed4b5506ee3c577fbc00c45850fa602dab76d7c05ffcdd83f7584facdcd10008fce3f0c0f507005090a0f784bc8d24bc31f444a1289beeed4eca3794298ba40498d9015bd36151e9e96fbc4b4da5d063444fde38e444b67bee245c64daac51d546f856d538e30412ef5c0208535d2544d6234355b11b869fad60b7c8cdf563a57ce0731ef38a70fb5b9f1a993ec3108a30c1f166ee4620a48f6d5bb605c7f18521353cf7f7d8aed1ca3b0c078734351d8f8e66a37864ad0f98c471e802ae7a1f6ef2c574da026e05948934ed20d00e1184147ebe852448c93387d69cfe414fe537f1e429c6062f6b9a01022197950ca23c2543d604b2d008e8c3293bc36b7658c546fbc3eb91d5b591d0fdd17096507bf0252d7033966d59afa30f3dc859448081df059ffcbe60f06dac79328376e7fc90313092911bf2998f72d419b584ebc5e19e5052a9d5a4e045af33ed8cdb9d97462f56908e82fb92d550a2383bd876f8de5571c1435c63a73206ad5fa1fa5ad9c90ee5016d73ce863b69fb3ed4218168dbea99894a9708b4a018f12cd52e7559c6dfcb5fed2f6c99b01473d9887ed629533ff03ddbf893157b1a16cf572287fbc8b0b76a1d9eec209fd012247b35fec52734079af12104290bd212f70f975c3413f794f16dc3cfc21565949b9ff33f469ab471fbc1c586d09068a7e8f19600a9d44840523ece803b26b58b5f41c890abc7dfadb4081e7ee1e881f420d246bb3489cc6483e29823dac4ffeab7a22e4af5dbf8ab582cdfd6dfc3c68bfb9338b2877353ea62470d7cd9889c0e1f2f7c2ab8e270fa24e357f6624c111a438efe2d8034983cc13296298f394be3f12f1b39f7320799a47f693fbbfead3dd7fd5134f494fa8f5c7cd313ca17b57f786537f7d23537874744484a57bb58df8415fad7823ee9aa1b291fd1fb6091fea9d0f17e8db88e9c7d45f142c3815f8d3413a4d98f8fa67c63990a450cee5e3598c0506f2ba07594723d02ec72ca7c7d49fca0a31f32a5fc2b56b11be68da2671e3cfe6034647f2dcd0b54aa88e1476a1b3b4ddbfd75ca8479db0788bdc0a59dadf188cbc76f21043f914f06a6777d1cf380a581ed836f1f332e3dab3a9f603346fed98e3c0b4a0e6c2cffe131532e6d75b62aeeac17ec0c2b8cc0ab4c1d5e1bdf5c5055827d7af1e5adb1e797129144f2f429e983cc1ed4ad5050ad93a7bfdd49320651846d20dc06a8577a2f4caa910beeab7db42c75db617c68828dabcde9d21dae31b770efae3aeea83651ab44056369b4b256256963dd5fe49af22bddbb74a83f966ec7e93e0ef8deddfa64748b7d3bfff50b79038412cf11c2139e8f2fc8c7cb374ef95155cb2f8d71ba170836693d49605b913b7a6109aa67880cf2021b98801147b2b3300ef99e9b4c70312525bf7b5fec62029b2e29d061eb5b784b922c7979f6fc6e996961cdaebd4f70831645539d903b7d5bce7669a0c5e62a5650d582b553d1597d1ca885ee1b684174a892a9f7d3ccb88b1ef5edf293643781bd8c74bae9e60621f783519ae66bfbd3aa2aea8d9951980c522711b71c46aca5486642bfc1aa70aced0b556d4b02570beb73c1502dfbc5384c16cb9d625ab1f8d5fb4f156cb4fc91464b8ca77b350f5f7411aed6ce5bf551baf793581132d4d4eaaaf0c739188fc194e3d9bb5603c2203f2d19dc989ac26f461000cae969ae23ddc1982f72951f2dcce81d9e2ad87e8d7ddf63537734908a9b8a784f5401f913cf2556975773f16e51bff2daeed42bb1f24745393216c45f1584dc586de341fe9add194ae65d0d12c23cabec7e85fa2a1d5d2468ad81c0e98854dddffb935fdb90fcdca19dc36c9d45333a1309e6f5e7cde463a4cb2206c383a71eac072a5779f2af88e12286132cc98690e374a789b09c6910a271bcc5ccc3274e5504aa14d5f0d8a58557b31eeecb4d23646414385b53c4bb42f3c84aab5339871cfa5c2bb0fd33c92f9b31e2a758c49daf127fe503954c8c28043db5b07536ea5e8f6dd5401efc39835cdc13df8dd81a6032525585bfe7a72253b53fe807d458fc3d424c25d9a0247e6d4e30f010dd4838764a2a12a226612de6192642078a80350a95dedb6aac45ac76a5bfcc0c550b8b229f963b62936dc2c99a9f1de69564046da44b39cf2f8632202cf4822386c06e0d479d4cf0e2790c2187b237f8c8105a0dbe88b8eb7109530967e80c1d873bbc992c32d398f6fbc7cd3639ce89a02d8e8eddb95fb623c1940f67e9e95ed0091d94baa46b979e19dead119412be654e63b78f19ae9f6855bcce39c4a5443b5d4074b446327ea50e001e4513a923559c399c51fa8cbf4d30752f3ea1dc5886048fd89d3f666d1825362ebd90b3f9ca9b2bd864b91f2a84598f40f4dcf2ca682409ff8cc7ba8ca30cc651425e61b9c541f44b97e1eed5510e47671d1877e2c5596cefe47b8b9a649ac57a445a119837b47741fa0990f1ce2480ccf4d90e6dfba959dd2f16f4aea9c7609ca1a6211fd791f1e438df3fabff7e630c1a36c9e79536db97924d49b899eaed64f83bed2b5af0b7782cd7a416beeab599cb6bac9e34794b37fba1832c3987a178c95242c8dfcad0d99092d7ef0ba3360894c3ed70af6339ede55a9de546bfc0abd4c1b8000d98e9177094b971084a9fe528337abde928a55a49f49468f696e86d831817c869bc3babc5d90d87c5e732060c35b52850724a1d631477bd46de4ec36cfa3e005efc3ba2067e8387f9858291b784d9b4db0d1a73708fd675dc5c946466bc44ac257683b5f95acf1c44360ab18e9d156d9d6960796f96d81b4f581c627f90cb0a6cabf03748aae08122ced0d5481de4f74e1cf9a4f7e2ab7fcdaff9757880c9137cba508b9146eb85b27d2bf7b451617ba660d3cfa63c201c1b10c5db8d608aa04cdc39f78332cb83ddb7f52acdcc920a2ddd64fb5b4d447be9b1892d0a0f02d6f79b8dbb6acd985f5d933697d3c8aacef7fd1b60fb12f343a63f39c545ee175f25dcc78c5002617d550f39bf3aa2b7a4c04f1be83dec4a047803c4d1d7211ef9e612a20d77133db2b3fdd4c5d31ae8eb27a18949df00cf9faeeaf79d8c61ddf30285d2320272a803d04e35902a66c2e19a92c8cc36f89ea2cea2b65235e42ea6f00cdf92cc4417968a3e0fa6fdea375dca51062dcf74526aa0930bd7bbddcd4ebae80a212812db96307e85e047591076e53faee595ac49c81f947a4fbb0073a8399b74139ecc13d33113193e85d3c6aca92fe6ef21bb5ee3203c686a376f85e81e8c06bd1f1f6ae265d388b46c33a895e04d36cdcc8f1b4fc089ba7c51d3223cf0956b177ccac041e296b157a5c17a73c5ceafc05765871486ef3130ae5d36eb913154437ea69736597fac0c9a2caaa65976c3fd0c50c0da56876302d503f442f9182d86dd6b5484771d19b5b0ef62c3e421816e102f8d1faaa88c9ae9750fcee95bc8b6876053d367507879eb71d9dfba1b734443eebf3706a1c54a897c6e6ccaee0f311b009c716c2a1bf20613e3df001aa851ed7aa90bdce338451eeda37aa39f9e98bc2f923054a3fc6ffa909d2132cb824effa20e2e9690a2f9e9e781b890b1c91aea36a9d9bb7efb01919d4179991346238a9e6fc675268936abd545a7b7f3809f1e8b17465989267b6921a41dba6b238e727ff37ef3b38739884d0921e32942f9bb2fcf421895e2672e0c648f53c5e7d050aedc4af0c85f5c45adccd0eb051deb4838d7391d324ca2dcdf8a6d4777fba5d404951c6bcacdfe5a9e2f455d6f830e84da976f0edc6328d356a942806799ad9a465462f408bb115e14e5463c5d74c7814cf6c5fe42bf0521cc384bcd2ed6e99b2f1f1034d4c70a8a40cd7af11b4d95aeb36bc64a5c9829a52c017db9f4ee7f5d625a716e60f0f1dba143af4019fc25d6d89cef17ed7d515ebf387a6ac141de60ec3c14a49285dff8a235d6dd199c8ca1f3914545490aa48904c4ca9e8e7040ce8fa60eca250eaf71a145fd9501f4d3bcbba8a352750ec8dd566b2eba027167dc17a9907cfc419a6a8a0b6e643dd36df5cbe19b8e6ab91c53e4bdd5255c8ff1044564dadb3eea51f600d533f83ec13bb43b88e2c5073e23b2dbf949a8823ef6cda229856afdf3e5e68b998001f836d5425e1deafa9cf13eb74bc1db9df4fa9b7a168f72491eb6856c6c00b209fa093085ac7f7bd39e8dc3cafa72da72af7b83d3a34d222836dac8b6c31b3e36e636869720ac7d8fe628aeb5c0cbc506558b53b028c1a8104750be5197417cf57805808daf0ed0b8789a8f97d81b61a9823695ba3845c66963a5a7afb09b82be5cd19a3594274915940f80ef3df48eb5e0b6b0f29b1bcf471409a5c09fac6edcd26604ac1357a61618a506bdf9bb74939cb7e1977666c48b4356d03a44858420c2a9c7a504d77f0dc73d19e456f51affd28338b5ddc60400e4edf051553e4f60b1867e8827ae398e9dfa4bd40bd934cde35f11a75bc3db51ef961620ab461bb0328fdbd68baaf2af97fa6d685e1b185ce836bf23c321d0944f1e15fa3dc51fd8e9eae76e3c8a17606e4c429c2131c9cfb68d9ba5f4caad8ec2e2a512be0d6d7e35118c20642f9ebc9027101ebea9ac2ce1005ef2768b344b0beca190a52318192ca24a2b64446f9f25383a50a42cb92b2f8af9adc18c9085f0ba025a420d562f1181e04bf6aa58c2b7304f5ccb1a6c202011e4e25d4855a46c711c5010824396dcff2f7d68c5a3ae9fcce2dc2450f73bfd7b22b8781146886d215bf54048737f13dbd7a188d11d03c9e6f94d3d803bfcd9a34a29ae69756f306cae352de493154bdf46d58296088ab24eabcdbf06999161a648c1e53ce8d8788a6529fe8b76b1f8f8203e568cc8f14be401eee439296126caaaeef601e2c18330538c3531b5b1fa86e45f152d3f82404aa8f2e71a1fbba6951f3426cca280b7ca6a6dee8976a7ca4de3c9ea1c86c0a10177b05d70e5a9851f872d43258f63c15845553d3776afd5d7a4cc9408df46aac44a86cbf838cc8ea0c862e696cb383de20027501cd9765109b4cd10d241754d078bfa43afd6b300feb7c94c4c549290ede4efd5936a67917783fc303ea34a2f11280f4caf2fe0f82755e57b009538f4fa0df8aee086bd877336b6a12c5fd78ee7f60acb705ae0a523d1eccf1ba2fa730ca3517e63952a4f39a178fe02257fe96e8beaa63e3dbbab5221478a519e536836d52aca93a55eb1cb200340a5b5813a5f504db9afb240b2d0f00557b9918ebda6b8001cff2e7d3a56b02ba236d2d0637351d9f5428b1f7dcda50a0efc113f172339d9a3a9badf608adbeec51958ff4833c9eedf4cc4e987ac8c30a7c621037eb3f1fa385a28258dc3e3ba04925be6e322dead88c98b1decb14c399cd69942a81baa191dd36c9c6f258d185a0578bc2085d061f0b257bfd3d015478ef0cb5aaba5778f44180b9114fd3ea9e4987cd10f3241bb0c295fc18e7403d428ad7e993adc5b59e8aab66cfe9100435dc2da11e4d9c4e0317e5033fcdddea80b47531a1140ba89d263e3d35d15919470ae98d328506b2fc0326e892dd0311135761c7ec857bf1b1b2ef1a28c955576399c2cebd8947b16134527f3257a11553d9830759c944ac02cebefc3b923238b8cd3944b2a726a0cbbb4987267c37ae84b58541148cdb88184225c97c52721caf4345104bbd788948d0bb09f923546c8dbae16df8661c3a094161a6b61165177c4fdf84a0d6d5e560216b9aafae0bbc03d1c903cb485870d0c36f6b6222f5b0bec4ea2049ded3f3ea5a6d1f83d02889b0205ac3f31b968962ff6418328a9218aa719fe4c6a711d39b5819c414b1f2969ad0428b4da3d528d58de541e7735db5a4070c0c27af81beb09b53054c164ef7e605d4d3a82b9aeb6019ebb4aad78d68a2f60ad7268cc3f7ad6b5b55a75af97e11c8ce343b0c371a5593da406876136515ec0751589585a49b9d404e79ae778d51ebf0891c1008346b2968b9ed880fa2d619da7562306efc9435b0d36ade9e7597319365a717880e3436980210a6b9527b042f5850a54cb2f4bc70dae0b0554f86baffc44c6feaa20ee4865428d65f58e5c10b00d1084c288839b0345775d4515ee8f1de3440a98c71a803e728a70ba5d37ee8269664e5af71cd19d74ad7cc161a7b81eaf2e2614c3a617b09dc6f9c2cc374a842df1f7de7a35e6c163c88fdb72d520673050517a2e0ca1524dda12ef033a70dfebf399488e0f0502265347670bb62cd52564ebe12e5d5b0bcb5ff6309e22626d504fa378b43230b8763765546c380e3e77cbc398e0d5fc7e3185f1d8dc991a2dadde1a296c9deaed230e65d28288f2b4e8ac8e6f10bf9ccf8ea95faba68294c60da9fda873c2378603f895e596652267eda880604cb1f1d01581cc9905747650f671945f4d5fa5882853c9a46b54abe0791669d978f3a1e9aa580ca8faa4ca38dcf745d930e0d44c170efbde5d0d80b20d7683aaec38d343608d0a7f0a08adda0e03a78433c91eb08da394b548b93e1539d34094953485cfdf55da6a0a7e1de0cd31c1c1c405086a0f7278dde547c19c2ebbfe1c0b8da9c0fb1d6ba9c53c112c5ee2e9420a3e0f525694e528167dcf4dca84a9dd3d2259eafa5cb0b52b4b8f4778eb2adb44db1f2bb8fe0c73d8d37e52810e9bf7b6cc56e31762a9ff79bc658be2b9135ac111542cf17e213f8881bbd3f153ecb529ec119b0e1d48d93a6025c5a5ced3845c3a083c975dd7b7a846c1f026f927590b67e27ad4bf39dfd7e60329628c02456d0964ed8b13e38320454eb2e81ba8217caa674472de242a63044ed895d64d17eb8b6d1f61694396af1f565e2dddad624663bdcb7fb932a2efb9af4169f26c4255f2fc43cbaead14401300b73b0acaec19415259f37e9316ec3f7fd10a65afdf4441d0381f12291aaa745408f629f9c5596ac08ca2414bee28cb9c515cd3c6d5bf496fb82167f6daa091b6bf7259a6d1ebd569115d94906118240be8a213dd591afc2362b20047f0edc2714e5b6fa449e4d2ad8d85a4bd228056a1d39eb24433cc6a8a716c31ceeabb89047270bb75341c57d18bde80e5c024e66bce959644261abfa362e48df462df5c1da4a2267140057ee480ea3c0085668e6e5e31753b57dfc71b4319d5eb99380603a618554e2e7d823aedce6e7ba5970141906b94dde992eddd9ddbbb48fa4c9b5e18ab76188796ee85a729e18943184940a1f47eb258e6702938608081974a1a3752dbe77d56fb1cb74883cc9075fe28448c259531e6321a6145fc6518411bb131eb71e63bcdf3b4450336d8987dff68ba6ba46d15180ac00ba2e0c5a1c4dd9d0e7777567fe7bb33ff0e32498af354a78ad1b7adac8f99a61847124f345845c79a5a6f0c2bd70b0d0dea48ca75c26c63e4967d777b48766b4789029718abda5efc28acaa1e7eadc5fd658627815fc37c0c7d59386be5d156b4c63e86ddeaf63c26d96b5c7c245cb62bb1122edac815a8a221897453f0be8e9bc60f927e4bf413f526073fca1c43f75a28a62cefdcb83b2934f27ae9becb5f5d0473bb46d579dfd3791fee656a196939279874b9b67acb57ba167c397e2c7a5550465b6cf569093264349eb69d57b0c5e6786b99b1fd417a989a19043b9de980e219c68eeb6aad4411e39d60ec109f9766c8a4e8a149ef86b22582efd1db5e6a67e2f5b5998763ea6ca79237871cd834cae985b67f76c9390d5af7c0f273efbb9a5f33d7bcb75d80e70a8f43ccc3f248069496b0989f0e87a8f8aecde3b53cf4e24474e5495dd45312e18e9ae8815d1bf7cdd39723d7825c1812cf828ce7582da14fceddde5cb39d324e6d57a5b7e7c3812940743a6abd216736bfb6833adc6dad08d17f424614808025ac66b1f09d78674b2d49c040ca1cba17d12bfda2f0f7e043a709be24d564123f20781290123fc04892405efa0d9a68e362b6094e1c91665717f5d33c35b238462c2dc9957ba74beb48a49f151b2d7e7db50c974dc3239bc55654a59f1ff1cf65ed2a0b8d32b18592f8c8748eabe3b98e9a270b19ff33b22437e699a649c5e9bafdd41000a6ce22746331427ef64fce48801d06eb3b77f4de79a885dae2e3697fb066bb9455749e2df12e286b2e61b1d904d1ac5fe99148ccda732b8916e020b0bd6c89037693d7d124ae946e424dbe3e76c5c6b97ee4eaee54fe90b95e9dd08ec3511b81070525330944f6212da09b3e843625030040489538720432d0d16fafabb9f02995507525a2e9475063e2fc69f9627e1fa865ee9862fb8864dd1b2bf34235ca35d64284c3ffdcda7be7769498c9fab8466b7b2e07705b4058c0142a0c5b0d69bdb4c9495dc03c879622491c9f0ae589cbe393e5d859e829224e0e761a0fb9a5a8b3edd8fd35df65c9ec6919d1fb6656cd9022ecb5a49c55a51fb576a0ff725f34cf3154ade7b4beb907b123a8a3365c963cd901ca43c5072cde03b840ee346d598661d544068c7e02255204cad331f0b6fdd4f7188ef5f99b7d5943429ffd817c721036b043b17d67f0df91c3b85290184e62cd40e23fab3c015895019e492be813ee3aab2ef133906ee6803402091773af7e320e0568fc7e6461e804e1df0539d0053c83895aee8235c14838ddb892c354578a47b9febd9b97805df934b44956983fd21705e4854d459dbf9c5644d6aeddafbfe565ddf825b03c12497df3fabdd0b99297df5dd2d552e5573a4ebd6ecabbd593ec6ac61ce42ec6a1c757427737aaf3b119a2646822e7d29d076b76fbd38540b92aca49cc4f41c3b4e6d7262f111bf5c2162532f9541084c49cbeb89726b546121cee9b91025a05d26079921e0926ed2435be6bc5abbdb7aa9b902a35455387b063a81f07728c605ee21ec1af9e39ddd621edad6aca318964c5888cd4e8810482af4b7e49b01be39aa8b6785118aa68e5431b6d32429d0baadac106aa485ac035dc72f724600b239364d540b4bd1fe931c9f0405e0c6dacafbb3de7a53b6f70739840ddcb6378e11d7a6cb4ea4ac4037acda3e5e4b1a777e859fb540d0c9f6ca67bcc3ecae1c04ed0fa5a4f98b0bb3788d806064fdbd848f3a14a06912648302f9a1c7fb7ed256f880bae6f656d7e87f375f50076d33de72b3389e115354260b15f6ec7516ee816acfbb230a4e2fb3c1915673543fe5a8200c6f7b71570ec5687e462d446f9415cea1862337652082df140a8605d543a101dec59c837e288223fdcc44c508ab50720e6ac01b9c98e7908fa81acc144abeee51ed4a5c5536be9a52d692524d6995d9bc6177b0b8188ab9c3071231c4bd4cb02469429d9cc4c53574776d794ec15f973e1c2d3c8f2ae5e2f89098a4c211c0e8b6dbe754f90b58accdf0b599470439a8e64c3ff3bdf0435b222c8463420fcb9a55e67c818a6a544b32ffdb430339322105b56060608023f480cfa1b1f736241e649058ee06d66c89c72a475d318f6a0fcec10c7975cd3846328d1c70a47dd5c09832e9f06e80716930196c97743816b6fb66342a0bf6016885ecdbb05891382e0daae3085c0ddfade7a220168622e6c8383fdf5933062c1f1ee02795793e57a030f3bfd08bf43fc730461d523bb0fca066fd45582c5c83ca2f9ddb39c600362464bc3e257f29ac28318afa81848b4885d5c15852f186d709776d8c3c07833173dab6cf56c8a7b130d34d48dcef578feca8f1aa54fcec780bf7e3b34808fa05ea14b475cd1b37930da378b6e5ee0107570a14494f08c748a5fe45eeccf9603c31b44c88b549ab3d50989ea1425676631511a00f09a3e99d825707e810045e5fc1019895c50e5d4962df71009e568b71f9abbd5274ca24c7582559e5f4fc2d38ca0145adc28616f6e02df18aa033dafc5f6a84922fb819a92a4450b2bdbdd6a9e4fea8e39b571f10be68d4ed810e0bc0bc3f49a17e15d1169c1f2b5b4d92b3e3b8801de5ffec32b4c58005e2d24d924fc60e39d1a7f50c2360da9c497517b90f7ca61e815b1440808cdeb7e288e514bc573084a0d221463340e868c0635b41673b6a7cb936112f0e305dcba098a6120d9f22cdd1a224f17cac791846ea9398a209f31c1afe8290859c16eb0dbe4d5365ccb9e36c83c60e73367fcba96b08ddede3622bc42c68ef9284fe28282d7a1206a21e57113e6e53cc4e5ea6d312f9892d488c3d8f94b7c4c6031474f203b18f1ba9a7cce2c1d856cbbbf364eee756c25703a888e19042c59cb826015ceb5697704562355875497e4a95bfa5387bf09446821d73a8fc30b249f2bf6f5bdfad70bb37acac62e3b50f4088fc77f204dc3caeec834bd93e9fd7b747f9b6738a48fe4214aec472fc174bb2e513baa713002979941556bdf940c1849b3cc690071758525391277215ddb04de975614e7738cfb09d752c30f923d571fb971a811ebc5d0df458a878755ee6fd0a2e392aad0d81f4efadaab1e4c4084bf7784cde02f21228bea20bd06f6dcba8de522498b4b76581fb98985f94be74fad8afdda5762fcf7f3b7655fa7b1b8382a10b52bea981dc2b32d0be16cc8a50c9b563e78ea8345899acfc45a6072c8e853f9c955b40f6a54189edf77c3b027ef1644fc44129ef0cc8712e656aa700560b5d9b985e5359bcdba1fa61c0f2ce577f7a38382792eace752d14803dd6f89cbc7e86c14aeaaccb09bdb347fd1cca86c112338fb5b07dc3a4b96783965ac2ecd82db92197e521e7cdc10312406d70ff5612fb0c3f268b3c810d4d8413b5c3d24f974278e32f5b24137d3adc6e993d92e2785032e7c7f3548a2acd967d565085fb2ac535c29d70d3f4e4c0fc4e129482b2e6bbe46d145f1487125153595f3af8c8ace03ab51e013f2be7d6228061291fad900d5528dcbdf9d1cdf6f484be0b759903fe304f7080ce4cd8e787589865ef60e53c1f5e378e3b0e6c0af0ced6991d5755e63e96cc707952fecac7397d3bef1d0f0e6414130de663eda293ca6c47b481a16f7c76a66d26b36cdf00f021b6b3d93637464445f447fc686dfd60af9671d4d952f33531ab33b0ce6dbfc5d977dd06a95e80004ec3e68cbc65918071c9972344a3ce32f3f71c27384182591be429b9b32b1ebfd1d398d91bc0c18fa05e894c26bba9d813c370fd65ce30802f7a6b8add10fa7bcfbdeb971852f12fc84c588e6e6d8322e590a84d419c7788ce5fb0ff5a7430f127dfb35dd2b9d8270ba5e90f6588a0235afe2a62aadc85a58efb6d49373f8e035396be2275d9534f4a20e50f8b14defd8681600dccc17e9f15b6618fb5148be0c9ca1a136f73640bd06b3e1beeaac2312557ef6abff5636969092697a960ec611bb1fa033cb5f23ffb0a9d27e3e501c98214c3c1413da7a0d66f7fda6551ecab8f84554b64944632dd49eaff3881b476e2babebd68d70aabd76532392f6d9d01c31d8242364985920727f98853d4dee10aae6bed81eefe86c1b3c868461749501946deb1cf00ba14eef10ceeca3eba9c58b0f9116a864d6e0e05756abac07ebc5343bd3a6d51a7651104732bc8dd88997c31af4191462077e84fb59cb19d24ca656f371ed9eb522a35a2fb9839b7b6e5e76c3d71b85b4c38340a28ea54ec172681e9be7fe9b551223e8b00b153a88c6de370f1b92ca62f77214bdd43289ad192b833a969ead54dbeff23cc136a79bd54b43bfd44687680633b1df4286b2eb7527ae473b6498cc8cda9785399bed4f5ce874831d4ba5f191be770d5bfb01260c99bf9a5cbd68948f20df3d34d28e6f34d642d289f30326e413bf2df87ad5b2ecbaee609d3b6f9c080e539fb5a170bdd6d281d39bf1b25f3c7d77d19812017350be143bae95bb48c17f20fd23b3c3700ad331d8fc4706c9b69a648e167bd2ef62d0a27b1bb4e3b7a274baa59fa504eafa84410a6ff67189c321bd3e1164a792863a5dbd2a5e858381e3ac302e8196c8fd60cd439e6a4293311b1ad9497774894d13125cb0d396033c5f0c94e12c47b6d569076e29c50ad463ec21f56840121c2eb5387e3c829124d953715c348a64c3a8e053ad459c384a02d9d723ca8dfb2a9921fa43240a989ad55a0c35192bd5d3f120dad6bd1853e8fdec854c36c3f0befa2ce18e9fca9ceec1784a3bb9331e6d914a1a8b88a6a4ef5f32e5e53e04fa29a4eca91e53fe05c12f2704c7a67a9a787d051414830c864d93557a2c8e222cc665d7d08b73ccb08bb0c42a8acddd1cb5b99bf0f461149015442629408ddfdf066a86c6bb4a63094ba88c51e752eb5baabb97001065fdbcc3937410ab0b3eedd52ccbc5c29e4e4b6f806d34a4d9950315a7db1f4080070e0567b2c0d73a5aa6f1915b08ed2e04ff3211a239d5f015f937dc8a167a744f300a4f260e0c8e438f5ad0e9ee5378135e3d2b635176c94f024347dfcad8d1cbcea18c84989f6a023853c2b964ceca49c6b5aa8905547b7b9bc9147d58befa089ea0139c25667f9cf9db2cd7b34818d3cb5f09b2fe8909e0594b6b1c70c516e5406a6beeed4f1eb424f16eb9b8b2c77caf3420fb60ef1612776fcc15539a76fa526997f3b4064746937fc36c2dc677a9366cea117a33a47858b61d852e319ec55560ace2dfa5c4e20203f635f0e49b5c38a145e8997f83dbc5347dfb29aa73c1e1cd82bc54296ef4b5175c66da8978c22ca154d9773c2f5734d59615dcea7450bb5d2087b7b43ce637e91f80cb1cce3f46831d51a003daa06774d968c9ae56ee059e8043af7e29c6b31473b3cbda253164a298b51fc6be4fc6c54b39985ff985391d95e8819f521874031e13473422cffa132f4f6b5be14789dd97d666ed28325da2f34c0fcdcc93baef9cd21c5b6c5ac77c26d0432baba8187f77add58e0993e6d290264deb380cd34cdc3221cefe0c860ee53bdb134b0cf3ed575cccf1a957f09d842e2c2f52fb32d117fcce3e5b2c1c36e179c0fd6033ac4fdb631cb50a932242f81b59b571306b12813d3fc916df292d66a4a740ef9530c14e92e7929217164bfb1c7b008dfc7cfa392a9cd11716e7ecdf2e034ef50b67d333e2d736cfb1bf6976c35b730a7be405a6fb80314db2767826ad559f143c089b7dfecd347436db3a208a8b6ba909753dba1af5c4eb6ad68c681bf8a3a8265f938385259847675fde6721a7cf0ca225dd35fcac0efbc03d80a2c48c35f0b2a08d09ca477e9388ca52ef2adc3043bc4e12f61fc56adbb3156560c7d9b3e6fc60a3a3954d6e4bedcff476544003b586735bb9feb98b47d1d946e9f1575d80db1f9eed3144eeb01b119d48523bdace48db122bccaf408a9f9448185310a8d915b468dc73702c4491b415e397db0053873152e858e3aa6964d2a0b155ae5ad9b7fbd0f88ce233e341921aa7ae4e4550d5c02c189721efdc0b614c937a5210ae33e01faf8781c5949f451db714329fef8f3184e672dd97724a82fa34d80cd6545e9e8728141f6ae0f3a57b190f855834e4e34849457181f37302c55739ff2ddbc8ef79f329448bc20d376fc1f8ba5da55ef4b78e9052001c0095d625ebafe3bbfaf22a18e347d4aac37c087f0e5e711929d37e020880460a646ad7be6a173256cf2ea75c889a939469fcae30eb82ec743136c2688631cb824d84e65174e78fd5f650e71d081408251fcfa206b4a93b6abc26ebd19e127f8833f945e136f7df8203d544fd7aab557ff7718ddd87dbf9dd17c250caa465f3a2627510a9338c87002db9d5a5ae9a4aab1be781561d955581af224a32beb9bd0c749c50cff32ca48196b4ad4501a85a3f6f5516ad656186219c035691016309b5c16b389d0dff865e39adef909a138736029db39aa3140f56584e91beb9685997845eb30fecb0222f80dc0189b9f99021cec4426d6d71618f27b1943b9007c0657b30cbb2daa0f0d1913b6bc8af8847948aeb78efc4f0385e812bc0568cc7f151eb309e6016a4ab935ff709a2d7239325e87394ff509261cf6b3e09732c783f26ca8f35acd039c8feba0a8024258e8ae784b09d4075b613602f7fd5e84687ebc47d0b1cd56c31296eee6aa6d0717b41d090da60694718251b818a59dcc60ee16fc5f80dccb0a18fbcf85161b12e96866ad5efefbae8c9875036debfcb666649b68c8e0d27420f5dbeda110de0b5d2add0b390bc38f676dd2c1dbad7360660a78386f0cef1c8a2753872fe0c489425f5f5ed60565c008f5f8db68a34423e7f874d68c79ec2821b709d327f814f856074f0c4372c638396de9a435704b42fc4fbdf3ebf1b83a812760f29b8b524d27cc2079a9a45028ed547604911e0a5e5051956e36b552658588205533ef874b546dd61064e080f4248a48cb740114029d247abf8ec9111509116e682ce94a1c7c78e165c6e13238d821768973f373c5a49de49b59a45b46f6ced2a03f0823260f170d1cb38ad3a7f14e867140cf0878fd12c67ab4188bce75dea976763eaaf18c5f639001caeb0bbbfce5d68e572fae53dd7589a531e4d06b08f38600b15437c9168cdf1dc37ecb9ba74da82c15c699247691ee395234555bf503d4adee742f09576947e4b819bf78bd6a6d9fd61e866722eefa8df1cb7287ecd786324cc31421c30d5193ba9bdf5dcc0f4323c70f418c6f48e648674e882727b87ebdac9962e99c6e2894bb3923fff3845104b3e2edd3093e9e315aa58e6a8e3e4cb04ea431a655de78648bbcaf2cc4eb4710855549ab059e1a4d3670dea76144cc3c27799d29ccb799cfb0d8433c12551d0912ae7ddd586e0697bcd4c2fd59cf3b1fe42007ad28859e37e98f3f325238b467d95918033c66d28b559cb4fb41ab4722248ef1cfcf0da5e99315ac3b1f7aa8525cfd404aedc7a880553c0bac32f30b9957575010b6606f787167926bb95fb399955dce37e57eb9ad6c4dc7e86cdcccac265ee1c13e18968c27325db05019cee78d39f683082b404b267d0b50092ce96dace5546b04b31214d0379e83829c94d33a0caab47034be49081d25cb7deb0915d67a8221e6dd40aa6968b34f52e8f7758ca8dd28a9ebc5ff8949fd7759a6ed55e454adf4c307e50058fee43b2d715c3a46290a0062645635477eabb2befbc9c6df5539beba14282dbf025dfb328dd637ab174b1ddc9b7b3dc62ca15e3ee6add86fd60b5bfe697a3a5a730a45b922d19821a78a018b8d7925b22e3dc6659c2a4941fae46d1db5d4036759a7f8ca05ec4393d28bf55c9f14a3c7f9f339558d2ff8498bef275ead38525eb57135cd23b6baa6b9c2f85ddd0dcc54ccee437e7692f0ac356e24d7716a059f35caddfef5b7fba331320f205838407b7f38540e664a4a5315af0b5dfe62ebdfa29e8e6edbca6d1f3d042d95177088de458ba8a7013785d4f5a58e1fe49367f3dd471273f5dfa660db3d2f82be34718bf57ffc12916f3b5bfe4898cc65d942637030b18ede7beefce39d5d60fddd6a0f7f3ec5096f48552c1010c0e96b9b75c58847217c04a565aba3c474aa2ea32e93c4a6c3e5b50667b0410c5eb4ebdd063def05f2a3211538c06ec97d7a9e38a18c5fb1042a54b097dc73a3a21c24a204747a80657ef0b96651468c6916a95c05ab5a54994ce8da1aa69b52581b91477cc71f024827b5d2ea79632dfbbe5a086aacc894ae7372e0727f4aa633a728e182455d0e10892d93a96990e66b2cca48d1b5d475a5e8b0e48a99bde55518641f558602039b3e6b413ad1ba3b4e70654c041b84d1c00ad8b2708b415c921b866aa264c402c674ce6fbfb0e249900cdc4b97dc6bc7dc2881218cedcee2f0952dd46d6af7bc0d6e4be526a60ae0aab9bb89d15a9961f811facf3c7f5b949bd24010c9ab44cd0cbc39a67839b344cbf57c3e8181545ad2bd937dabc2934cc2d1af2583e00920386f3f78c893088e85ab33ad3c1ea776860e4d216a8061bbe27f75561add5eb8c177d6c592d341324e5cd287181c287125e373add487f92fc4fcf457f0d382d7fc3569482f2237493fe5a597eb8ccbcb9b56ad4deb95be4165520b9f776e13a22e4000ebe04967f568bc96934272153c60cd301b82e3cecce812c10ae166e88d8ce5163237b5219b3c24abb346bd0a86b3fa8e4e15faeb7ef33a15971365df68c2c26f60476235cf507a3c1c3072a0d7fd5ac0c8fbc6fae89f42ca48aa9a4666d9f2782f267f13a4f8d9b56dcb9cef7f9867fb0ac9ff734eac382e1279885d3a037a10abb8f7d6eeac68d71a1c20bf02c89e2ef1b1ff47ccc19dd943a1f21392fe14aa0579d140abc5a74b02002e997ebba03bab7f8581cfd24977a012f431a0a6141505927f3bf32c9462f93de708dc3027a22e5f5cee94abd2a25c35bc9a2ab661ee2f0dc7bbffd539832c944cd8163bea201b7f35c071b549a4f2034d3a6c06bc099400f9f39a9e587fc1a59aeb1b2bf6d393dc8477f7ed10eae9826655545218eedc08be0a1509f2ccffa79fdc089f28cd520095699373b0dba24ee2d6df63a27704f75e60d59599508d5f2cbfd3313b514f0e202be2d59d3f3e401cc362b673a68da9651585cdd07d18d157c60dd24d5b43126b153513a589c2f5ed0f0b88dc6d0f18a3352b14954bcf632b206305f722991b41681edbc5d9ff4d63b287e5d0cf9b1f594706d651c973475f119cb5bd089854ac9419047db791d880aec7728a295e70e99c91dcd4e43ea67b2f22d501a0a63b2ba2d6093ce6f58ec1fb2d21b67dfde81f0a804cb37c42cdc7e75b467d5e8bc0014f6cd3e43a783253a146f25f95b5ca829a110ddd8322d87c2734c58a5d0b4f8ac236ed9d437dc4762f10e2489253cea46992502ee75fc6f3b1e8624e965f7e24f47822aae23538dd3a010dbf1338589575fc99696aa1f83daf036394b51847e4df5a49f2fcde6f0bcfadfafabaffce5baf8add05f95f62431fd367ba494e0b4d241cc50ecb53c0f28aac014b3fa4892adb875bc17111691b15b23c63537e778f78937e621e789c46b44e5877a1d918671cee84a38af9462e05c95b79d7e7a3874d5ddc173ce7bb2470777aba985985f261f7db2816865e106cbcf1861beb1405d17382a089f60e0c3ac805718522c49eea74d422927c0f2def3c43bb4386e48538479a18e4d2f4da6a2077d39a6bbf0412f9e0f5d80c4915a1d99571112ec4ce5771a9b8b041eae51a537d5c458ef3f56bd4d5d2e6b425e1be6a827730a96384cce35b79123c8a888b27b3de14b465663ca5ea935650b18113635ec5217d97dbf777cbcaccfb27900e05a9cf00023e0ae8e3d6e184ea66c47a0dd507704d9ad2965599c4fe3411fd8aae564ceedc2cac77e78da0a64f1b4365dfffdfc2f7039d30dacd92c69eea31fbb2d5756dcdbb5038b69d04979a57da1a673d766bb9bc6b0dafc68a92a685aacc22441ed325c3b8770454dd7abe300755c05a397e7215b9647e53074e229942900ed936019ac348b83e60d5ba1ca0c9bbfe5dad1ac047981fb01200bac41afcdb300a58e2960ae97594b8eafc5e2148046b436752cb149b880bc2dd5005a67cefb204231b536d3d7a4caac4ac90a7220cbd36cf74e32bdc4a5be030bcdb195e9be08a7b584ae0bfdc0dbf205899c1c48fb0830438f9cc958bdf60f88cd6233adb81be5fb1119390463076fe1dd1a773f0ebb55a35c759decf59d782099b88713bfa7be27dc2d6579edb51f3509758189ebd78f087c389d624617b21178661d5d2a50c7a7abbf437409cf07adbcdfcabe63a009f614913f095a0b1206cca9504e41a7df3f4bdc908b60227cfb4ce3ab24d1824ade657ae68a18d5a70e7a2fee87c960000c12e63ecb7d62accc6076165c6754092d60eab5a84b64d7dba4993e3c86575567f7761d3807db4f73d55d58c153745d58e44276ca6172d3d77fd697d3b0fa10d54519fbc67f8302220e7d3ec2a55f441854f331e82c588619ad7d95de9f66a793234571976ff8b4a7de921722606255b292c8172d57e7017a10fc4c4762dd044e054d9e8ad7901d1b633b03223ccadee2ea05fbd82af8d95caf8aace72c457f7ad87860806427836e6ac29edaa85fd36015f81c536b3b17bc3fc6b9bd19c033540c42b617cd7d7119e9b9127bdf7781d33dcde826e7de5cc4cca2d93647394248bbc9c1b993f001020c19a7a3388fab5947ad89ac326e3ed107ba6d2c43db265ca698a8ad0e9306a28d81eebe64b76ef8389bd00dd9a00adc743b83018aa0c52ea40048281d867e3ddd63b46c6b8d949c3bfb462d5000723a49fc21cd6169d4d40292f62fae95705104cf952e70aebeb57dc0f41983233d920f644f48d458a2d598896bbc08e5f181b5ea8f8ec17e2e7eab1c334874d91912825d851c935d7777b881b5c8e820206ead425fb2401912c11be4e055b71886fb83b53ece30e8da089c864229f984f4a2dd57cd70ed85e4c67ac0d27ac01de227a584091f87cbad7f4d8df7f27d90d0458168b8a4315c5c9295d0cc76d699a60473dc4373917f5c9f25a525536761b0c44e46b4dd510db04107c405f580e7934f2c60fdaa47086e13de0fea861f17319d01f1f6728fafa46b6dcdc2e15d432a60b0ac178bf04210c33682ebb93a806facc519489b9513055c9d69874a4ad57fcab727e153caf90b7e3591f454fcda96a88ec8129c84da78ba6d07176916c85c91c0e8d3ed91dbe9a699d5b90397806f1a863b458aa37204fcb62feeec60b68b3a7ebcc07c6ae6001428b7a6c51a06bccaa902266c21a33eb372710cceeb8a50da2ad5640515da0495d295cde99190d84c652be3b15c00917991078ce6abd483550e6c12962c0cd618cec8d80a02b2670820d0b012b8ae82a30736f579d5efc3702279f6a6958994fdc97146848cc3b87d8d47e3719e32c2713a313d92eb299eb7a3f3257ef5402ee4afda18b1a00290ecb8841f56e2708023ad8a4a9e1e4de4cffc0ac4680d3245a546bb46c104e2f72e508aa8df2001eb2cc71e090010338577443f26f3f61818dd9dedb629e1935b904e453b3babdedb186d4124a0abe6e447b528c92d091d74480fe5bf7c72866fab97f5323241274d82afa2056bec2f9a51608f26fae09669fe285bb8d7a68abf98e3c27bcdcce4b3fae4bca6ed32d9b50c8162048b9314b7eefa6efb77dff361c6ec843dd041042d87327423a20b119b52d10649d201c00fc12f81b76c82af3ce40c41a5d0a1d60368bb623959cc935bc6d730b1436a2a2862909c8ad1cbdaaa7e430e86fc5bfa84899ece61e6b6bdbbe4e4912de6033bda8ab5be8ce0f0107a3d0053fe0e6aa59160a0ed4be2e96067f6c50dbb716b240838b32b81c956a0382997ade44a3da39aaa7e32cae2db725356bcf9097aca3b2d9477597b40b0dd0751df82e360126de3562933728605a1cffe073e047bd3010262b1340960eff1902b77a166d14568d36d66354035bf54914d2f307e0506435beae4657ea135c3ec6e6683b5d08aa7a640f53278edb31f8e65ad671176a78c519217c438bafa712aabe9156814458bccceb54bb31a5b6e92cb64020e93d70df76b22a4db404c4c859bc57d9e7e4c8a6f4305ab87c8adca8c62b5c2652b0fdbec767739e70bc5ea1bb2e546bc506c741dab040464e8efc243e4590d7ed6b4a10d86eda307e5cb82124ce1d47f5ac56e220378b3ee993a621886b0913d69365c566154e5ebd5c174a9ba41c97172a6cf9588d73cbfd1a0e20c2191d70a75fc29c96a3c713e2453799e522094f2d7ebe1610e43681f1e9e57fbcfd125489c57241e5f96245ae7dfafb918daa0d01bb6ba3fd7de1c05872a03b85390cb450eacb7b1a1e06b3a9e79790390a2932f3172ffb8e3cc7e9cd2f92d032fc3e3b73545c57c2e116130a722a605d7388c77b1a448480a25cef7b992dcbe5972ce303aa6eed15109f7bce1f33fe23b2f62a1d173ca2bdc803a7d9a36efb579ecf0b411c9bad640f0332308cb2ac860f401e4edf5b56039a0ce20e4793332ab0a59b7bfefa323d99e91432b7e4db6376f437cccae60cc83c9075f3c82f100a8b573232defdcdecd75fffaaa0bb961d65a1f1d39590a010f016a3435a04f30c76507d6fa3154fcbccca24719b07506c06db6d7f2956096c3d918ff8a1494de13d23b7d75160334f4d5a8fc36557eec6391f18f992a80064997f59d7e159c510fa858f62d78750ad4143c70b5c319c7a8e300ee72a44024411dd0b88a664ffdeb75a608fd55a570c3672ffda8fcfe41559d4b0465fba4dae73ab22884f90a354dbde303c52649cc025cd7bf12cdb407b4a94c7c5d7ce708f1d3dc18355edbcce74e7ee5519dd81ccd6b6f84998437e75ea2742e74c8e0b214274c28eddc695f05ce9fbfb0320e97545b542e324f9a431f0127a8dba935baeb959b38c35e5b5dc959be7217ce11cbf55f864ae10905ab5240b663c9b72e3d7ca781814e5abfb2bc38b647d5d62d808143fd05cdc37928ac7c1617099425430e964f92e361839b674dea2b960b9cd332631c1c5f43805193a84f688a3367c4b80c556fd48f60a75e1d85628ff694effd62f6b83b090cb3ce3a5d6d2bf491dba0227e30fb1d1eef20ca61faa1e312273300ce00de5d2487820a0168ddafed45117e3920ae5f55a1dfa2f3b2607c862029cd19bcf781aa31f841220d93bc8c5a1568764435e715ed509ec1306e3da98e9fb3f44214bdd39dd84c7fe806ba05d42b80f6c3a8cc24ea5c086a24b6ce38130e179bb7b8d0b2ef34d30d734ed3191e2abaf885ba021930806559c06942f2260bbe2075f5f8e574fccf0e9582f0b54e36c04c6cd11f2fe0e6e7c3e9661db660a434efd4ce4a0f1a2d22b4e48a3c227e6a2317b74186b4881461e78318d96c160e2ea2c5f9ae95ff38740131b8ccf28aca27b4171c2bdfb5fcb4b2ac1ac589f80be7973669aee22dfd9795ac8508dca23198637030356a32ade358c1fe16a44a835a4cf012221fb73d03332c26ba220360ed1bdae73d2395753d69d9e2d5a3bc502d1c6f0352aef68400b704a9f228b3c669ad83d9044530aaae93c924cf6bd0f7260fa73737a40a124fc64a350029737f21c6f32a0166c4b7fe8e69b8b93882ee030f521afdc829fdf5b7c16c3b607cb082681d35103b5772e56d91ec9977eeab2743fdfae9f728acf3d0678bb39cbd47bca3cd6688076d45bab71f4922c06040693946cd99f31b122c7a9d0534af51a26157bfdc12c95aa7daf820fe336d462426184608e643da8bab4a389cb102701150f0012e5e275d2f76a1ab2a1541898e8b76b6645d2a2c69341f5b38532ea014306a07dd25124c9350fa497eef2805c3a75f930897ef28bc3458987a753e4d220690cbffe83227d5012e5a9f2fc7f149dce3871d4bdfc58846aad01b02d2000bd24e4190459f4de0594d4ff63ffb38f32a5120954b3b4dc9e8ea81c804959a91da8f9a03be79b3a86b5b030c9a5795989618dbaae9d091e622374a87184b1e505106526627da24791ec12bbc6226db4eb93a712e1f8b621010d72e91624b47dd4b80997d7990eb65204858b8162656999b8f8dc23b01f4657a479d1239c70a3e1d7ed04f824eca3f2002893ada1ad019ef473d1cb7066da4afc2b842b4f331e1d3feb73a2987425dfdec0bffc0f07a40fb10f00a14990d8f1ce1d13b30fdbdcb2cdd933312ddb1a00ae62a7bf4e3efce4dde46c3fb984e227d1f06b57df3fcdd97bae2af7573abb57201ba1bdf5575c584bf03dbeca3a0c0ea349800d46640067c0000689a016f9b756898016744c34ad6d2b3b3f48a303b74337f084bc98d963e1eae13e3a0213107893f6689fe46a50f2fff490c029e3293477a3cbf11d7f7baa418e0b1e7789e40b2f723aa08033a229143eb21ef96fde6a20758490f69ebd7f444c452ef5826cc5fc6e41701604a7974bd59695ef317a3c729154c9e68fa1afdf886abca15895065e4f7a4083e9edb481061ba614533d166003c24b4bb954740551595795d56e5877271ce5be343bdc2f5b216e11d603a1568f79c25220f41b6a4a9219d58d02991c406fda591e3f942edb4c23d686b1f1c53759e5459aec67a75f765623158bbb313ac3bf1cb8612f969844476b56b32b428f3a7705c6b53f0d486568a55805b33ced87141d96b75a57b6b47217719f2ec2c8ad2626c47ad32501145a128473fc4ef375e5737eae375105ac3a9a7817ea6569339ecca2d59c21e19bc426948e004a88c4b8e44e5b2765981f65605817fdb12d6211eb638be734ba03a8ac60ff2fb47ec2d869361e9da7fae701028cd256f9268709d9405b1e81fe80ab19178e017913f9522fbc70817d6d43e61adabf8e1692ede98d3ce82d280058bd72cb131acf75d754bfc06f17768065cc4e4c324292a61fa076e39cd296f9c7b56c4124a39ed6f94bf264da740f9dda8b520804a8d3c5270f0783ea0b5e68e0a16d56a72a03201b918df4e07752812f948f4c3ce573d9e83a3ce4c3a421cac4be7d72157c08496ec5116a747f49496f9494b0516020461dc99258fd382203c60e254a948f2141e409c573938aa426db0159a7cb1547330291474633387ca68c7857bd870d115784abf06cd3ba4e99e58f70e80032ed00dd76413c35517deb5ff7556217b7ad8c7c7f159fa8eb1c2a5fba28581420c49d73e481afd7647ef8567fe9475a2a63af8336e99da2e924c7a10d4f0f929f4a2b14ffbe5a09da3019346e35364b62617c34c2d98b6d6299940c0955d7707f48b530cea2b2618423742721fd9d384ad009fc71b3fbd1719f76c587022593144701be8f636f5f5709b4c405b7959bc17e776784857b1bd62acec8c3f7616177e404715fdedc863b373a21f9fa60508ee63f73d56c612580d3950fb85a44ec7bc854493e5501fdd3b435980ef82010645cc8dc845f0b196c266c4ac1c18ce82ef8835a573dc8cf9182cffab1acfca0514e6d19f8564f67e1711b0a127b4630dae4d8945fad780604ea5260bcaa0412b99469c9daee018f9bc886a8c7d06014ad5bbfc2e40e0acc7b7cedb4605101d83d30ea6a34a687afdd59ddbf82a427ec74aceb6a72676829887a620b115fbae0dcc2f346c2927f6892f95f8acb97203a6208570031ca7c548e2c7bc1b220b3fd319536e9f914824356a6bd0f1c9a28a2e97ecad7519a27fd637ec4db6a0964815d0ca5a0d4a9e4b70d21c893d1dcd7a08110e92229e3f1e73e3b7a1582f2cf039a9f048a47e4b492be9168510862c5f62d3e9168865bbaa8bc8d06b26d1f56f36bc0b9b81d118bdaf20ead6a8454b7c957b2df2ba327914a4c59d94854a6dd40955c91f05caf9b16fe60ab22bc8a54d97340c3b15b12ce2cdac01825862b005fd180cb2402a40da08b65b0b2909417e5147e6ef31db3feb07701008cb95df0143b384a4d929a50ccc45806b4213e70ac38dac1dde4714b60bc6fc063996df0cc160a15d15dca2e385bf7905124c47447540aabe1838d88e4170ead82c65c84de1c5da62ed538b4622d94d702d1470c3924282448e5a11bec22f14898a8ad22e1df826015a2720a1c731ed5abc717c3b04eeec80d4e6e0e1ee607f05004932776ccb5e92ef23d35d0320c9d8414348436849c6a1f3013a2e065585f44e963b8d8b779caf1152b6d078233a9b733c797e279d9f369446c3d562d347fde00cce98a9d0eaca8e5afba4c83def6f7b0a76c5119d2d70b87876e3136935cca9ed98f2960067b9ec29c35f9330c7598674d26bd64922982234d3b9508a5ad7509292ba1e11f3a729367f95ac4ce19b1968d2b0f579e7d81ec7ebad29a2c5401155c7740ee77b56b4d217bba9ea476c5980a238d99a1069739a5f3edff0f2268ef8f56b0b5308a6bd6b61361047112dcf2a7a38ca436c71d679f61cc5919ddc6ea16da73f2d175ac8c2e53818f64c332656495dd770d52028fc5d9464420c3cf8b8e0215c45ff52c723821ed67b1bdf17b39212863956d58b030f78611c4c42add5fd8fd80764c50f2d0073e31e9dd86132ba2d98b8ef0b66dfbe5f7b2dedee3b41a3aaf4cd296d113ae3c423607d79cfb81951183a0964a09c7dca6c81463c284b634dac5ceb7bb06ca0cd252b49f48a05e369f77e1ffae1ca3a05591820f55c27f34ac1afc0178bab5c7654264cc86b6a26df7382bcaa6eca654cde3dc5baf5214faf6ab71bed95fa8f380115a30f88da0431218cecb3e9ad16b990c3fbcc8e4486acfe840ae94137e713743021db7e823689c5acc4d19eb96d6fefa16ce47cc095056608b678a30681ac50a579f20de91cb015761c2f1f0a00896599d25019a8fc7e8fa1c8b2eac02b0e07a28ab016f9253d3ec66a605010e3d8705ecf33a0860c540909bd85121009c9a35c8dec6ec6d29a21b98c165cd989b16cbca3b5c6a2c07ec79f45e6e5262dc914a1b501f239c71dba8c5a7e49b37beb4fa4ca2091455675f935ef66830e34a7199f20971097ae3a68bbc18746a41d712d7a2042ca0e62f681460dbc1cd277c50ed96c26ec2950db4acd0bee41acb14de1420de582af56fe839f695fe51faeb8e9e641009dc6e08f9c42f59a3a05b7fc5d8c22b63f0b5a278799922b8fa0b81aef6c9de06b4869da8c412b56739f515f0015ac09f163440607bf2c106410ee688ba029616153c87a3067f63836134c3a4ce9b3dfbc27c48148f0f6033df0393ac414289b2dba01033224354b7135c89f6206353509762eb890069f0fde8576487c9493509573a2975d2a81198916252897288f7d3875f3b4120caace135ae024a6914207384a3a65d2f9461b032d77bece4d9646dc565546fa045463ad275506590e87412c323cad62c897059d399cdd373fe762a561748f4d1173f2fddd5831858d8edaf18e72f53db6f92fc66c11579709cf91589c5ec308a66d36d5f95400d41cc7b34a52c392ffa3b0ac6d2406000036d015612ac3cc9c2ecccc99fef533d8960c9d8f4f98b14703198c5d691a7c3ecd513a658944a73fc6203d72111d26177919ae6572d2578d949c1c5efc9ce9eb2389948ecf4ebd5a306a161bc49274f1c8c282f24b07c9b152655eec847d037ec2e42e16be6c22064bbbcd1cfb4a811e77a9a360fd1071c45aa422722d34bf00ac1ef0697bca71595dc2f31378a03c294c5a974c1a641782577bea6eeda7215f7444d24ca183773dc2807cd50c8d0c3cc48a7e937bea2439a998459b1a3b1033d2a882bde9a9438382d4d840629c75a52243b55ae552415d462af14778c635a27a206c4264e835d479e6a0b1c83d87f97137b6eec5bcc983255c24537e6ecb0bd20ff60e969929defc23ad484ab56779f3183b54268402c96d339c62c58f81253a8301ef397e027c6efc72673f97f7b1001a42dc471a432eba62c6df1836f7c36d0f44430c7c55c823332c9525ae90524d4d170f506d58bcbc5392bd65919b504c4ed3c99c471b937c0c739a184b8ce0285156e3b7c27bf347ea776fdccf57537e2cee6c29bb550dc317a08cdf64882a2f394e0cba9b71378c4dc811d8436f6a50992bece6db79a4327ddd6ed11974b2f805a31da63187f06f15fa2106633789095a7ec6748e41f97d3dd675662380a5e5e561b7e4a7c2a1a7102f154ec854491057d7e32523927165ad3a9514d40d71a79e078d9bf5618a59828ab7891b4eaf731d282a647f325e130808a2ddcfcdc0616739f4692692709d78f38e20503b2a973941a26f4007bc6512e0afb66a70ef1da7259c7161120307bbb7bd4d80c10e5342b5cc4622d001bb9fbe9b035030e78c98e79a8e14adedb463c05102540c92416698e76796588e494b20e6e2c1f0b2fc36494de6e771bd63109c0d3135d3cb837c9648c1132deb820454ecb60435252051b372f70e9322576381749c10f12dcf0164dedc6554090085db614600901350c46b5652c7b540c14f59da102a51846596a3dd8375788eb992c661777b4697e8fb12f246101b50e4e787aa1f59ae19acb206fb9b93855947488442920a1069d1c034e22f21a23ec54ac90784e38ef2e5ba0bdcbb577cdbc4edf5b1bb874ae3da929f22a279a0881376b0552fd2e461021e3944af3733acb41df56ad28683dcdf13f63161f1232cdec8c87b7ef7c0107c0f4f66d8b8a6922b94951b5341a3bfa67d1791621b7a934577c55948d5cf7732a3b1ed5115d8c617692b04e5f1485a2057383175721ec7023b4288ccc6736aa9926f59349677d67fb47358483bc3132fe94a627c5e137c58b4356aa66c8300cd2f732aadce2e93cf440a3f5d22609c57eb8847b74d6a1e7e1246c1e3fdc58dfef173a962859e902691be2ffe24c9b5d564fc016fa309022c15f4203c4908ff62b3e9f3cade039e2ad73109596c0e68f677969f5706227ff9092b45a4a0f2b4b6aa61f0cde9c8f2f4fafd3cb26937aaf39a1376a595b2742bcc22ed755c886f008cfb9dc09ed45e05f7dfa5791e94e4f856c155be3843973791b671c5215305cb6642122e2c86445c0b9ecd7734ffead21436c4f72d967d235573e742d566490bde5bcd8f37690659fa8171bc52a2fd2d77d3b1857325e16229df1e7f3527659b5e6ce824538860a2db38762c418db6910694b771f143221cdf8e830f6e6aa6b6927a2e113fef4ae4b233b341f3dbcdafcf651c33042c9b2478f9f18d5720bbc2623ed2dfd60716e3c053dd8d0141e62bd726a5beb39afe5dc843f4f59142e7e1096bf6f9b196a32b9c171e064e38c484993fda1000013d1889770bdf4a2f0e2ed13aca73b1140afb33b39d0442c1439887d2f4dae69cc0181cd6924534592facf14f29b00796869661d4caf599932c5fe669bb4b5e39df698279f0e68f272ab9261e8ecc9a162f9fcb31c41f34feda776b2355b78e37c3d6b79d6a7b337c80547e2fe88cf9cda96605e40b04321217b3bf932465d8fbbdb3ff5a590817d7267c2e7d215a1e4c77edcd54d04b6564ff08ce4d2de689abfe890d88bdbe422c8c475f1350c39e85ca70e09c601ca6cef3ac4be43c820146e4d6d2432acb1f7c0492fba5a90f587ed1975c5cfb9d26391f397194a1b685c5957fd41d22a53f6acc2b566575ae839b213b694b27c10079d3577c258e9ba5502d560657a5a34a5ac9bd624df3f536fdfbc1b55282c5c21ea0710f7ca302fdd7812d02e4dd0e55df930010530a398b0bbb274dec2d0930d7a88bad41d6ea38c86b98ea4cd28e22d64506c7977b4a4d721951d5331b4b9589ba5f2eab88ba78e805e8a02fc8eb4a36694c71d3d1f90caef4fcfc321769146a03bba4b0278cef3ce6124a86dd349019b9586bda7b65ff8adf191789d9be04348e41a6644ecfb8eb28189976641dbefe7820739106276b6d1522ad13f5aa96b781672025495a2544f7f5a387ada4fc842da929c268d4ad4664e07dc17e411847a8e08455e4390c6e617c2f3dccf6d17452787e6f3667fdeb659761fd8eb5a94f60692efec13b00adb8d6a5f8d0fcf0860b1ae2207b17f882084fa75f99210c09707c06d544ba5784b3ef84e6ae1a6ea41728ef487fbd6fe75d2def3b0b0aae59c4321169f9eebdf673e65319d91a83d5afaaed6fbf8e169d7810f6a9f32a276a5ff3be937caff3fce21489b9981df62aeff6001017e63e229f1ace039957629b27cc53061dfb17ba28c35bd2b3a3ebd6eebba09599a57eb099eebb535922ae0c37ae7d47dec9e9475444df1b3491960ece340149063cb4466a57078a3cf0adfca312752a21b20dbe03dd4e643fe8f5ca6f00d1f98bf270ffb9720b370434bd4bf98d22858a2d6a24b253ffc11ddf7872d0e50e386a3b59e3d76425c2d750dfb427c306b39de9e012ed02e241d3280a9c850524076626f2f43927b70e3a028efc81ee7a1c5282486cbc03055a7078959a786ce8af756c71978389579b1d55734556065cf29caa986aaf83e622ab12bf285aa74e81d2e2dadbaf97b857b8727765b84a8720d656cd2b198475127682c77a5407751e7e8e655eb7d4eb68760e21eb48687ea3ad528885678bcfd0d0cee447b1fcba8ea602539ee3b5151880f0252efc23d75ef79c4508ebeaa33b5e8c98998a6fb5738ec3e02e0d727b0225bbd8810ccc02d391c2248fc5799c975ac77a995051b6af9774dc7045db252f15eec9a8064d81fb99c44af93494c5382182d98f5333b1f7f1a5d59df8e865de6370cec47e062c4bb22be9e245df41129c30f80cc4e3a8c336f728d6b3f9362c6ef34122d4d39c432c22ea92541e8474a4fc9afc1d1785687041d83c4e3036e1856e937957eb3088f83332394e5df2b8048b056d5796c01ab3c84ac684f71324a9e739cf4d20210ca9cd643b7b25db47385b779f16a8fc8553b156e0e486745c4b81abf69493f12d8b5f3d5d7b72f77b41bc58c9da86e665383289b264245a9adfb6874b4fffc8542bc9400925d9917bcbfd94918b0a61cf4396a4749340f169a331a8d4aad03eecad6e5a823b12b8552226b9f56fa8e48ff19239e80a55aebbb435cfe13052549e641673875ff40d790676fce16817fb1e5c911135c453debb695761bd22fe0131f0952964bb67f7fd26dfdd14e56c5ea964ded9538ff4251c24f27f88fe32ea6d010a2fd5b7c14ab588b2c61e1a7895cdb0df079ee35c6a25b7d37b48fa1c16aad8efaa50126de82c3743e7f7358b5bbf969e3d1f0cd152a0a03dfa6e275d7eb22a8716ca8aee30fbf9e6236f8562d43d6790358c742bb1fafdcdfad1ceab823624b4bacd4a3e57a2af51cb58960ebee5eddb77602b0966aaac03ad725d143c81ec89fbc8e7169b8704c0963fc72759f26bb371e8964db43c25c60ca8951b5ece4d398f479c9a152b2c5a1fd623db3701d28b162691a007f6d0c0140b26dc5261f9c1774200c3c088ade4f2abaf4bd399f54b22f95114f83ccdcb0209dc182d982886b03e614d3c0c84885f14ecab428a4b43636093719d8dae18481b2d4214f4b0148c93679ed7738e0543c69ba27b52c797934a938f37d7b244f5fcf60526c69edddc55c584b267c9d5f1f56a5377a65b010b3424c5307e811a1e57c829effa950be271a260b833c242a7e0b58baa1489e87df046266c08d98ad679ae7d8ffc12e69d4ca8a9fd1a6cfdf602cfefba3c717192a9be6da309dc43b65e407ea0d36f3497066e315b5a00defb8b83f72097a30e627b65113b991bb40d7a58cedccc5f9d51a12a46de5215852207507ab3f4d1ce3edc26b6bfc44b184658d123aa26734eb5ee85586e02b7002e2eee9b128015780eb760362a5e18c4e360a8f0b51d5ba523151ab6aca2b4ade95e153b8b139bc9823514be6ec46f311a9586b4bd0c126f13b673f57d0260a96f6646a086b9d1805871221ed809449c0fbc2c759fcadfa9fa73b40573b8b3738c703297745c9ecfc499125c32f9672ade443549b9f46dcaa8f6a22d48e06502f988135d6b818874702fd3fb1d07a47972bb0cdcd9eafedd2c3cffa0de540d2851231c4416f47c32c94211a02d84aeda984f1074a34f925e4879974e21c2584c45384d670253522c412fb1ba2dcc51e28df11ebbdccfe83258feb422da9d42f031f80b5e57915d16648fed5225763669c7d59e4872855323aa344e08228367ba263ac55890bbaeb9a2e3cfa86f8581c044b0b432e7bbccf00c538b06b8af814d20e05203b414337c1c199da909b30c8299b589b09c4a8da433ea97e3b7403be715d0d853e42d434155764b0b83880f6b2c07da8c0827154def663ab091e5cf37040528b16d5bd21edec413978ecd3a86d48628b41b8ffeca41d7c2027bb134dc58d9373fb2623fdcae57af7c882087d18e593e9fefbfd0defb9619dafa03d2b5e9df346c441a7ed32e7464831a68fe1b489df69d9a8a37c5c40529d2f069d8c745fec6b5c687dc54bb028e93ac38d0ef493b6e512981ed41dd616d59da7a2dbb12651e3d033206bff56bc5949ffde5af421555dde9a0a0d5169b77efda761b1285b7ad7f40ef6839c9944f3b1703aa6fc86acea953fb81eed81d3b94f39f510fb5b536770ac43edcd9730dd7e9f1ceb8e2be8818dad101d05be6a75d9050c72ed606602243eb6d6a98a5610075ee0dc8954bda052d7c9526efc55d4c040beb50ebeaeddd758c5c50232a9d489ec622c39d4cefc7c5f48b194fbf8859b8d4a53aeb795c33cb37641a9e8a127f61fb28222784c8bac6246accabf250c60d2f07df8443c3e8785e1fa0b814c359490325c140b3571fb5ebd20054233460ca4b9271408b1fb750beb17081e767face1d29396278e73919a111ef3831072665ad7d9803383546a79b1a06cdf647b41f52d765859e619dfc331bd1c6999e2e0159b33db59e7c1fe3130d2e118a2c6fcc64828e878212bfbd18065feeda79fbb4d82c92699a0f8a83e3b03c2f7aba3d050ed22faa23ebb4935aa271e896fc55eb835c673b4f278b9dd0f043acb92486baba25101bdfad813cb1c18fd695b53a8d5382083410ecaebc1b63966a27467b93454f30a470e72280acea8694a32501a2360b3e4370785a50c0fb897c8affd656e2d415b1dd1c5f3b1aae5ea40a7a73eb5761f1ac2c50c6d59e9786ac3fd6b63bc8ca92fb275e6acd4ce3ebe82a30ae480f249a793c118d45346435bf82db4b33f5eb49b2e4d82a3cfa8b3a30ae108c3a216aa68c109338d9bb06945ab71f1f4ef1362f0ad966de416d6dc3281aff561eef668affe34e7950b764dcd46169d0b591c5095af2dc7626b7191c049b8a641d033a618691a3bafeeb81732e2513ef71202160e92ac73bc1d04c5d6c2c6b307e83a865a83c32733f7a86f7b72ce5e9a0acfb3157a5eacedfdcdda865e36d5c149305977e9f068cf290394471a3711a19812c0ba011fb1843f127ea139c104273b0a8fe53c8ec948e26eb39f23de65bcdcbaff6ed0f6d9858677269b4b984d5ebace3e8c6463a78655d773af890527d43ebbaaaf77629baa7e3a7a081a9bb1720f775b037c1fcab8f61ba2caa63266c7b66041585102c098ce6411a8aea61791d8251c99b1c7a86107cf66e73264ff4e631b89ec59947c4755ea8502a285029d68109463f77f0fbcf7bbf222bef0b24480fdfe15a5c2374252a2328422e1b056352542003a31dd261170989eca246f784f519dd9a95825c120c1d22486707c3c3977d96205f7e1409e71f80258b630b05e3b2c66f628f6379e86a972799b2b78937f65303ab5cf225f4d458a362badae35aa24e3897bc3a3e02a52fbd34596bbf7cf3c1b0641fcf7867013391c00dccc05230892ba56ba4f381bcdf9a345bcf8b34fc9cad57398a43fdd579c1a41b6e80c73af185c3bce909a341e64892084938114e10eeece63abdd0b410e636560395481cd26bd2cb43ed3bf83b3722543efdeaaf4aa5241a81d4c1c8745f2bc569c64eede2977d8b8fe12ea4411c097344fd24e2429871ef0d3e8471ab2ff18f14f834b637043bc5457333f743adee8a5ef78ac9b4181edb44abeace55b900dab687c400bb6e85e279c6de1c8ce3e64cb0fb81f772d0ef70036da438840cde084dfa3bf655bacdc6729b4edb2a04904caaa4a0b9043dc08319507c6ff20dc68beeedd396e658122f57460db1d0a1dae98fdf96cfdbf368dd63fc4a06844777f3cac8a32616869dc1e8d35f05b391323c23cba6f67ae2ab84dd7a03133925ef7a0206ac58689be05810f09822570f1f5bd3041ed735a138c86ab812adc6fb92a2889d89aabd71988a0db3520b96f1ee3e21fb90bee5be1ec37f8bb0bd27eadbb78cb7346b40a8a0ab3fb9b1e280e43ce39e034682ab99ff456962e0cbacef0b5de0b64e6055fe301bc0f204de15ca76cda01349ddad21f172d626df9c327a2cb19124ac40407705935729d0568c274ef3bc5565cc58c0860c7dc3d06a9deeaed4a5ca856603df464654628947ab19b294f1fbc102c860e79aef3551c4f46f057607cbea022500b864c58cf4837764ee412087415fd46453bd2cbd812dca2be5f592df5e2fd7a4997e94975788e0505e504ca52f1868d7e20a08da1b052e72be5e9029e62e626c46f477cbe76d9aa10061ee6224741dbbfd40ce795109bf52ea80581ad2579bafbc774855a3b7820b61e8bba117f1c7b83efbfe22fd0c29d977a5eead0a55dca73466c9f9a62720d7e687478a0241a0236ab53bef4e0dcf8966f08c859c04c80ea7f5fc2860b73d21b40974fc06976e4f47441d835a61df01c122b78855b7171c4f87ce2bbc9a00480944dcd4cba8e33010401934dfbace0bbd572e603da44e34c2e8ef52f2c2d737dd07900d33f7851971a06b9776df9a1bbb7bc94e0a48222a5001cc901d396c3a5aa01fc5dac7fe0475ec4bc86fcdabd28e70f78c0a45cd1ce9b9b08c88b306c73300833805ad0b3da335a3d7b156da39d02a2691ec9029f020d91e3724e207e7924b7877a20ac4024e25c8b182a19fa6456dd4751346e424486b12bc362b7c168b486829eb01eca66a64429169f01bcce9adb9eb69a2adda709eee3901caab01a7be2ecddb264657a07e1a1f88a9513dd3e9e75ff08b4de6ec816e243a19d406f865ef79443c073184b4b4901db05cd6475040d15d0403574afefb28e5b690ea18f5e336c00297375f8a99ea02f1753880aa7b6f5af7a5512962be9f12c8fb4830a0518b86aab8b373cf3d5f7dfb397caf8265049c4d571c1add93112f2cd96180cf9df40664d718b3d72f1eb72cf2fddc28183710055342a5d518e8b2c427ce2e3388c92e9bc36c6e0d0092a9587da10db11baa9e33b4842d6367c2c3f6b9155e0a1c1be18bba05aac83371acf4673f697e8c98ca32830e38eee00da8b5b88f95572ea581f802c558a0eddf452625cf12ad760ea8d4af7b6c250c8244e1edd06ae2c59a8db0d6d706a5b241295a8e33a576a6b9ccbd4e5e21694f70faa2c561e426ce19dec53897bb3e345a95f62fd204e0986e118ac7eebb9b6a20171d6fde0781b0d97750b6753c80344d1499f19a5be665ca163ccaa8082b28f222e6d9465ec980b9168650004b1c0414a7d14920c440dfe0d6c2b6adf886b98223dae7698e9753dcabd0d00835efb2a83031b5a10f8bc5b0b2a2262a90f88f1800c6a4c71a547fddf5b0bfdd3dfc2031108b15219ae8e717d30b8ed6a69659df3b42e5e3a7fa5026cf52816e41b1c3519b61cb61b4c1e9a9b993ab79574ca5a08e6c05a070420f174bf9f6027c1e0c940a475ba313afcfd94ae7afc34527bf13d15ede6a80f4641071f8241232197a772d7b2a1c3de5e793609f3e725e0270d7206ed2d0b5a765b21e35a2cafab70fd987c2dc1b117fcf10c54ac7a5d52f70c43c3f022685483bf5d63963684a17663b4f127f6928b1bd9bfc07c0173044418e76e34aee5774129b94d8979609c88fbe49ea270984fdab5ef0f448ad9de7d9a8d52609f46e0b0c155017df5a7469add2f5791174391fca42dfc6b19b4f118ba92c630a15e8e5a7bc5cd893268ee691922f8ce89ae06a65f2d5eb32bd59c4ed0935f930c1d92daeb6deb555d26d2d32501fa19e93b0b2bfc9c8e0713d1f17d1746477f29f29a68258b9a5411f93a4be3f110c73b4a7477bf4423695060ff1be06f904177f5741e67a98a5af77428b29f5215aa728302693d4e4a627a5323af2c135da0ad3770a555dd8e9d4ea8aa77f5cee122e44efb6704d07ef58c0e773566d681a7cb4b35d11501c8464c6a72db06a581bace179ba82fc9df8b785b426f94c15160257b8581e70641bd81e437acdd93037f7d37f3c090147846d37d25489d36510aba34f93ab6a9ef52c92a81430b533ade466ad709b699790fb4e148040dbd009496862383560bbe4e501e4d03c23b3deef94dd6f4b86fe842e0dbfbb3272a945a44f04295290548def332dfff49f64fc2961403e78fd4bc2546931a975e4f3761e7779c479eb7aa7262fc01869e0007d83f269d567a7e3f7db153f1c3c5b0da360cd8dcbbe6a1a6ef81a87da4c5e9835881cd33a031a72fb9c6399bbe03fab315f8f0d263ee223fd61b06bea67f7062536528119c5b0448eb31a31c85718cbe643aba0f7142833a96ffd9561e656e174e95985dd08556656ef3e9f363b899983e494294962c5f12848956357ba88efb43b06adba39f2cfd5dd712e1ce6dbf5e39946574e237e30031192823e75c54c63ee451d495763f87ae58773bc46b563e05d0c13b90db74af0d620e7449491e3085ff83617cd3152174e1a32a3ae931b5c2d03546a2cb6fdb77e73004537d2544b8543413dc19c5eacc3a94d0e7505b7023eb8aae29ee9e416454c3737ef3abd2f3eca3090317ba04fc6fae3c39a68fa34eeb1ca02fdaeab0362e3d77224e584cbfd55a4415ab399931eb0372669eee9f16ca8293960cd4d33aa1a1b72af7e83ac44aa33088b32161a270762281c4a1939e441e71e6088cf00194d701bdf9294922763eba298e472073755c9ae9319bdc9a86e5373113baa270ae0091b8eee17bd15040ee9e70af8dc1ba8d18c6b5054a72572bf8032a4b5bb869de57e16c9ebfcb2f6d29e5f20d93e21b5e81ca1d01199b408c85d7c0c47cdc97be2237169744172c58ab02e2336c497589aed3cbf392a62b432031fcfbba94a96a02a7c65b624e3cad2e59130b69e191a25edb10a4ec78711a7d1419e6a6514d9c98c3974052f696a5932e1257a6fedb6670036cce88ac2a2da6119173ac8b81abca95d0fcf733c1d1bf4b6f39dafcdfd11f114943db7e5597d01c12588c592d46427c9d4b052bb33b9005b0d61856a8ee2536fe4f30c1d012ee125bf4afe85008cca51fae32fbc33b5b74d94a0673898076f2926e4d2d4919db1ba12555580f26aa004e2985d9ee4ed0e87f0c694a01224d0b26bb22847d35d29cf4fc0f2d77a812676ddedbdf174cce6a4d66414f01c307851290ef400b2e40ce2d7d6eac1c399bb7f8d7136c4c58d17ad0ed3628d3a641d149757d4fac1a4c79769491b55b5a171657566f15094d75984c32252f06577087e5827bc7239524639e99688dd8dcce360142584997569ca0c1c579042d714731093c677927036883270bd1b33ad67ed845d676902cdf6530aa258da3962758930fd035d3543091f3b1a01f4d256f2eaa68f16880d63cdfda507576906e0f6a43acf3e8e9ab7bfa809becd6868b4d80e463b3b1338eba8a5ad3725f28e92513ed994731676964f13970036b3fea112e60b9fab262de8dbc99e2f0722f66d5aa4d92b440cbc6ab98f347ace703fac596ccf55c6df1deab7eda4d7f31814306c14056c521e67cfef82c84a027fa9c3fd823157a2c415866708b291aeec844466956e0db08f92c57f0edacbe3a7b0b939203e30525bf88754ba6bcc0acabc4d56f051406ce1d678e5b27333a1faa39ebec43590899ffea63427334f107663c95481864c9f50af759b8f958430a2559cde09a0522662dae443916547f1326df6d4c6856f2f1affc7b7903a1c9d485d79936331c7b7b6c2d2b4bb4e940deb89be41867b7fbefd55845d161f74a6958531c83ab86cb2df8c7a8131f3be570e5d079c0b86f46a3b1b41688a1fc9fcea716710a66fb32c88c9c58feb17488305b511d95a8a68118c9f834fe20c4c234610df141c568a683adbeadb32c844b3aef7891d2e3681aa6f49bf033871221e187bd6f49d1865cb0a788e6e05fa91396e982494850d8e526c5a767cd62520d3c616c91e40818fbf24ce5b858de58918dde851439fafd9208839c72f3e8a9fe1522f2145a61da8be6e428c365d70cbf782199ec1aff2ae127b74f21ac8ca50caefee15381e075cbcf1e87dd6c805497d6a6612641b549b76c4e0598a8453a88167d71ef2302ce6bdf0ca08402149c09ff2564d1fc499e8bad7465a3a1d6b4a2b4d3661fe76f2d49d2a3ee8e5ddd8cf4fb6d4b0db68bb27f3174a04371248883f4fe7733d120ba98195447a4480c440a502a55a7e64f411b1f3b2796a264b799af3c1cc8b83b406021aae2fb28f678781f7aa3830a63b79327fafa6e920ec3814905e20c01add0637f29ee2f9bc5ecfbdb3303eb1d5146ce41a9d173c6ac0760ddf79b9110cee1c8a7fab3cab597df14bf330754bd4c968f58fac01ae6d8f4e2df48ecb67c1d07bfac8c6d4bb86357c006757e40e5f38d35906e34f6d60f8cbbf081fbc8cbbfce96a5f2155567089bef6b2c855302734fc92357ecabad37c900619c9acb242d9bd71af0f568632146203d52e80482966c38d5b0e7057be9ec0cd5c2b2bdf9523fc3cde3e458502f1f625d9e0e7cf7cde25681e08bb5cb897db6b8e4e1b7ce6afba6d527017206690e1ec88d5929d762b8584c3e10c95cf244d2f3706738461e8d4c5c843dd10cfe4a9cf3b028ea4a50fecb751bd0cdda7741bdd4558e2a25dc50d56e0975556815d53cea35cbfe71dbc73c21b2ddd92fc2fd806a8d728ab2bd0b6a33666c5e3b75b954b8b763199a7cd2d11f9ac9fc0a05f73dd4d4097ce8fe484b36aca2542a0c2c37c3438a639d875bc3fcb636567849ed8f82a76f469719cad098a1cc2fa026dc01d0d54033c65eb5cc64028596bd56dee9adea4387cdec2e43b522194ec0ae80ddf379a7c03d0ac82a0f502d845de40f94ed1d4cb697b30edcedbdcc75065d2f0a5f91c11a4c3c0c70f20612c2834c9854d5d50737b2ab97b398c93550dc5dd5dbe08bd979fe95238f8b9a9e21e7b0a499207237a0ecfa5ef4ed1001109de4c2e215b9637ca0032ac4a05cae5946454526aec24b1854ca659abf3903c2b1952b8e1710cbf9e0b8d7ae6b67987c7be2b867165870c456b931dd0ce1f1bda494799e9f6fe09bae8d499c086378de353e32be461fa48204e006c182933c4ed7d14dc2efed154b9ac707bf3f5921c9006f6c5ac3835a8582ebf8f33c5682e1234aaac95a93fa20c44dacad50879e1c2085dab4eb8f5b836193aacb82df9c0a29c44615e10a9c050d34a78a92cff8496bb4ab6ad9ac5ad93b17caa2361146d43a9a92b425ef0a239463a6b854341847166e59715bb2584a29dceea07aea179b87064f99719a0a15fc225358332e27eb80ea09726fb3c4051087e808445219c23a0b7d884ce0399e7ed05e8a760cb497425ddcc1ced6f9a17e71ce4b560178763a45dc2c062bbe6e211a012aab06a8251ea4d5b5b534609ed2a7ad4e6e9632d8aa5da70f11059b4e748cabd78dc2e8f21d0929a1dd2a05416e88cfaeb2862df9ad5d0e8587b9d59c61419f81d1c7c456186b1338aea8a436839e1aae10a3f2d4d36b58e30449e9f852af17305af39f650818d8d272bcafdce9b609342f646337382de15f456d0d80d25fd1d24545710f04b579ffdd6e3c2b9f0d7f1437ea0df1789237a7efaf7bb417afb2d818790f5cc8dd91cfb9d7743378e6cd3a94844de79f9320cdb3c4955614586b99476a9ccc447163ca86274d9cc9bffc5b892e996b78bb8d80c514077b6ae4f8e5123ebbeb5783827e90fd617ece8b80c7bfa0053fd073ecff81ad78d02958ab20fce55d55a9dc03331b8df87037d81528e227bd2ad270895d00a1b7a4bad4e356382d56f7fd25f017665ecc7d2593600bcd269ff51cd4477163373dd2a0e93734e189f2e4227b6835b38bd2cee385ad7b8c2b643a0a08bcecc8f44b088caf5f3bd52d3886aecc3852e13afd3a7be357e26ef82a10494f5a030e415d3bc9c0ce493cc95eb1d6b52e9810ff7f3632865b2f6927daa10aa644fc0cf042758ec99b129a01f6f5053659036063c7373df5d185e291c76ef2b517dae94ee5af377ea72bf125f17e315c93c2cc0450d0cecf54315a46c6c794d60bb9bfad7e04e02374e6b188ea347c7ac377b3f4684a991cbe0025f335b210f1952e03512594e8254524fbccd4c7758029ff0cf789580367164cf5d01b7b88ecbf12385c28346fa78e51dbf63fd2e8d80baaa283ff6e716847758b9697d18056cb0ed90d27afb563020fc128cb20e093d3c50c71ed7734d711702d7aa6d865dc83a391f6662609f8d06c0598c2f55d4750053743015f9cf4479163cc4c970ae978750b905e3236413557667db450da8eae8afa20a951783a74c9220325bc0bcc648e006fc0d17227e9b2047459f4e8ec6cff6c00706d29ae4bafbc947c78a1a2ff7b93edb37c6c2c1bb28af943f9720bb9766a72dc2da7ad69b121cf295a7279dc4148ca731709c01b23e5bb293bd377799aff9b02641f28d932a63c8c2f0714f7dd5041e3afc36c855d7889a586b3e46712f2c0ac88149d4aac498aa0aa73283b2fc36b10039cf56a0da0a6c9a05b07179a2e920a6d88de2629b521f0f1d9e3b724c4271893df087e6135e2c1789daf65aaaf2fabb72407bc968f2114e072cb82bf4df171adffec06f9364ec2007e4c49fe8cf63f57bbf301cc699cea41eb481f52d15c8b21b50f6f240a3d19602cc110989f557276db473da341fe02a5da5edd4df64880f86a875a76997591ed7aaa5e75b9a50c02fedca52e165be61ab58ae86c646df1ee1b5e0e3be67682c5d48f9755189b69946cf17eb0bb1c596d78661818bd46510675de57e9d487947cae9e7bc6906c500f34431d03eda67a2baa492ce96451c1191b0c95d2f757dc0e26c1b3fb6d4f00a81079b3da4416d0f24484603b1c63c47705c2a235d4e30ebb0e1b4c3c0b7dc525f89e2ce022514ecf234c74be1b6cd3e82608d056f1b71af2f3556043d0be8dd1e286e315bc40a286d67cf88f92c0f446749e4b9fa55046bef356d0ffec7e49b099ae9260c220a06c64110e6beb29768dac8066d9058e325fb09828b30c931c2612320c8b51ac6fc4d48878fbc1491d1f6bbe11f4141ac7e7b338ecaf5b0cab617db2be7a31d8e775e321f4017b5e5368fce31c067c0ecba53f4e8e12f651b0163ef98bc6de8bfe3abc2b8e15725f46ffc61ed53d6c76cfc7af88ca47cbc60773fb1ba57d433abb7db682dd0d0f66cfb58e5762a7757fa0185334143906e5079594974465ad7d4c7ae21b28ccab3ee34fb051a9896a8781e7ab7df151d9459a12a3324948b65b9fbc1028e305800ac01301c0820b53b43b1a5926fdc7aa27fb3dec99a29007b5ccd4bd644e0a9ba30b504eecb341c287b89d9f53f5b2ba3d060b5585325f462cea85693ce05fb4efa15bcdfeb99792377631b5e83a6c8cb33bee34cdb3b7612fa950909d66de712946efb4ec15c370f574f1d02c02535a456fc3e1b3dd3c810e90e53e8dc94d532e09ebc5611a66943f7b547fc261ecfbd313e641e0e70edead799cc6e14551821ad86dab03c97e827f7b0450dd82549d82165e277d5ecfa3bdd2c2faa7e1b72fd9c9e68ffe0016cf7c72e8aa1ef558619dca67d6f166838d54fed1c1e1b91c5e5edec055ca167c7e62ed3752798813c8aea56247f1ef3dce7dfd7ccc46f1dd46e644700967245ea02031fd826d057abe6214500bd4a6535ef6cd969113a685412ba25b4b391caefd383e77950de69bced218571bad9da91078e8abd61fadcce8af25106eb9c0101e744e433c356975877149010234a9c393617b0271bfaaac8845082a11ebf861ed80a175295e1c97ae07cc0077f03b0bb3d12b6ec600abcaf1a2853a46c883382144c963e6cae7fb0df3e306b52ca1083eeaea9061d995a49bf0402a87c93a882d6e00b4be743ae3c47fa478723868914c03ac2243f0b549e2b95692ef3abbe393859fa2a72a841eb630c3e59d44b30abdaeb0957a3d453474de64ec4628a9a03f272f5d1e8fb1814a0ddd2e2db9b3a99802b08a4f23395bfb027ee6a5f87da7f2116934f74d872969db87e21e7eddd9c8381c0ac30f5a06a21c16525f78d64c6bfe97428043650be6d18dcbd146a922222a3fa06f9896c1a1228476ea2e16e3a3f320b54033cefad9df9b29c44094758d2e7aba9204f0e2684d446033e352d875994fb5e4c2481db229e648b060225e16101a81800f2161901caad23f5e0638e99e2d0fdc8ca9e74507b2a0f71e306624ad2394703017e54db06f63deb253dc6d1dca4dc29c8821c618132c18abeca3f594bd538f7fac93bd97c63474e3f7ebe83d6e7b723db49e272ac0499a6ccbd8070d497ae6cfe96428bab8696f2e5d3eab2b0901e7a2a26b75c21cb20e35199c28e4190d8bdb2c0b92556e887c95011a898e230286c77b3eeeafed49f109178ff0de524fae5cc1ec513b3a4b9f8f65a08cf387ac0c8e857a27245ec6b9c3a790c488ac73d4c831271bdc5dfb7e51e13c496a5d8ea58ab71044a59aec23a145197a19cbb1248133e7cdfacdc1aba6dca227e8793dab714d12d6c24535e68dbc2429726373f2ed8e67c90e563dcdd59a3242399abfd26623ee83793604dc239cee7a1225c41fafceb51a6a01fd19a7f92b2efbd28fedac14151e43002101bd4285a03a87dabf753a136052109bd63ab4f01f3a45f5cdf5f211b09cba350b3421a2fbd5d90219bcac65899bc3834a5e421876ddd9d2089deb38e438e689390c3738cdc11ad077befc3a70a6533f844629330d2abd6d4c9f7a0b61851767e305d1d80ed823c54e157e9550a7086ecb08f004e9249b35715c744b3c87c886052438d349df68f200750e4fefccd906f08ec1fa83c9fafa25e63680213ce3ecc8ed1d0d99470fde1e40b68d3ed7518f340e813f86c64f45982d3b717d173d800d4d2ab20fe2a9e8926346b42221bd1b028ef1809897e840088d333419c45568b9c40c5482423bad840b3f5e5535f420a4c971984cf32d28f07eb0674a6885a3b013f8c0852fba93da7c315c7e66eb3a9205892395812b0f77a4860b04867da0b14baae6e69bb6dece07e28cdf449b4630f524a5b1801b3ea6c2268cbe5784ae3596ce51b78b83bbc62e453b56c915dfc7405c528b318aff874fa1dc1a2e5b2e0f99db7b4c0407330fa2bc7b35f47c372b96ca77a6004b71aa713002fec0b044aa1f0e535efa8bc3b06ab4c4489960acc9868529d5e04e3c4f457bcbf25e7e73f8da01fb49d4333d64c3ab88df4492c0a4be0353b752d5282fde6687325dec7e1d6c54b45df6927239356d8fe65d25ef0a314a902f2e198f1e36d0067864f8e23bc05c5ce5c5ec3623860c7594a5d578d2e8532b1b840d4532b16ec18135775b8c4e2e38e6f259b652c7af7c00578e79238f254264b1aa8c4caae93294fca05e0635b4b947d6523747795efbe0d1dbd5ee69d2878ea6bf0591aa365ea029f2ade74c33b2421a915d3d43b4ce770adebdbbbc1e10ed001857fa7fa8dd814a0a6fe18f3a36485c3e9c9075a9d7f2b4412bf6c3da4f408545c2f6379561d8d751b9681c6f9e9c9b27b6505494e42900446399ac060be9a8c1d7a549ec6ef8b4f405d177fe7c626cb6383fae6f26ca67c0d35cfec6ef20df87282a5e72a4fc4e3a60572f4477ee6ef4232a1c58def852ba452de42670c54b7005711e0a878151d03a6199b6404e673fcb9240ee5783313969afe04f6d8c01b8bcb1f3f8ae0b22c4e2849ebcdc12da3fd0655f70153576aa2519a653f1e7554833eee18aab4c068e17627390f9ffc91f70425c53c25d82d6f9d508f0dfbc9a12746ee4062b997d6756dbcf3f89987ef5543a1138a57cd0c46b8f099ca3100efb0a0f6311c1b4d8518f144833e84eb47ac1468ad0be1aabe0db2f5e96fac24615d66fc78bf3a549228d6859cb5a1ea6782776b65152949c50411ef71ad91035e4745d8c338a523f00d07eb04a2ed4cdc7dfccce187bcc05d86a4c91dfb66c63dd1e97978a33ccd574722a2c00d379da2799c8e0cd0e261c51b36b1bca80747c9d4f774830748c1f9aa8c67c961c44118d5882776b4ad84bf01f3e232522d6d9fada9a9ecfab6ccd16fc02b4838c89623d6b33b700399afb299e6e3671a63ddc17d72bc926a67f5a18aedc1dd6225593c4d53facff4e577a255a42057d4edc46e6a752e16dfa9171b8f86bb06d50b71a6798c1ab96533ba17195084f47da4fa3623c08af3c86bee8c04d92cdd28ca5bcb3396a5992bb7938038ef84aceec4c5cbade100e0eb0996800798a244265cf8d570d85f5a91c3ab4306eff0225c4a1a3682c048b520a82b85617112d8f243b123db71a4fa4100605fa7e0fc886345301a8bc09fe01c654188c5546ab05d5a5990a752dd419dfe6600a6b597b58154639c495196ba60a6257e1c3e820d37e053bfcf8205fc65e39403196b16cd7bc18c5aa907791faaef4af8ab7382e551113419b70f4c0dc9fb047c7d0243f7c41f5cb3b1270f2438e88e66553cb15c70cfc507eaed3578c8d2e6a042c8c964fff9fed873e43001fb0c50394075213011b4fda38dd5caa9a1108ac73133fc875bfcae8b99b5d4c05ebcfa40cf43af1f5580f4a5b6588e5ce2b4913fc28e39f02fafec9008e5913690cb614afe4768e9e808877c5fa9d98747005b5bb180e599eb0faf24db07c181335b326410d72434718d03f6204ba38cf6aee2539e3845380ffc515cd74616020010860b2278b884b8bb93e1ee4ef537d7c3ceceff81c7845af2a59d91e5732938ea78cfd601a739ef74af4dc15d9df1615e36614d2feca2cfca12d78670cbf29201010ecaa9a553ee7dbaf5fd01786d6039718d12a1cc1bca6c7ced581794a5fecaa88b0d916d31f869a625dfbceef9020ad99a3eaf0b7d94f96b159e0038d522edc11b1a1f9bd70b289963eea6d09241a2eef03d2708d4738165b937f841131d3d64f6e2302821af19be2c218e29a449128a1f554d0240dee387084a9527739a6ba5f22ea10a4e59070f1fc10d84e6bcdbcf76e31f99c9d0d355d4256438775ffcf58b7b5de7eb1d360d8bc83b34585f0ff09233da93f4c96c067533fb23aabe227d50a2293330db0d54caaed811882d3a3ad9abcdabaae50ae7e3d0d54d429fd1d7cd864744caac52955067b2e2b63e447e22926e868ed443a46a14556987a29d71d8ec0dd2b1d559a2eacf2d71fec8adc5f7eb057e011150a08a9725f1f599b3b484f5fb66bf3af63bc369f07791120ff29e150e675829a1288a4bff92a8a4a2db0fd9c249f7318f09819dea03cfbba359ab4e7cd07f1cc2fb236ebf8655d0227ff618e3825a2600ee0fdf31dc765730aa12b7612076e0552fcaed3bd1d9d54f0a948df7f3329447f46b19c5a0c7e638fbc36afa79c5cd88f1cd39daaae3dde177f592f2200851b0f830b15c7f04424ea51b4d893da7940aeef3b1a1792034d9cead3a5af45096dfb5c16df3743b43093011afa8f275d8bf375c3c14772fe706f397d04ed59dd693c66c9e817bdde90992a2a7ee48da01d5bc85c7a6504b77fdfd0a31dfce424a62833132838f4d32ec65d9ac78fe9aa3bb0cbafef7c091c3af2e2b8a4cd9259c9a3dabedd0bdd9d251c2befdc21bbcb71bde5b50f01a16834b4c3eedc9388ad0922b9d6079093da94d27ee808544b45ba95d107ce7b23d233c5f1268adfd6e73415253d0226b63d765fda889647bfeae9f1114e4c3079a512cabf7760c8b6ba8079536b3cd795ea19de8ecc0ee571510722200f152047181cf636d00f123f863d84769e87ec9128598ba84a463305277a51ce8dc2b0cdec796a76598b130c9baec0fd9a2a104296630c408ad44b0712987338c136704738d5306a9c199ba66a1241e509084023451c7376d60ab75b3ceaab73f72855b5ffe0ae15fa3436e6d9c861532a568fda65e24843ea76d87e5059ba65959bdeb13bf339b8e6b64d1b5ba1571b5db59f500f5454fc9d17a99c8f0150552c2bd25deeebc8e651058ca3cf3f312ba15c2dbdc3df39423c246ee723cceded2abbc81c17f1de9fa151d12c9bc9cf5718c73a34780db94d80597fc281ccc75f4dd0734a5e133e2750168fb334a7833377c23715aae58e9690677487edf44c059d4071e1bb3d6628acfdb0ee9e2c9d02f88a99c55c1453213cfd5200da9787e41eb5ae23ce10926a6fd9923cfceba19bc2b2c7ab68ae825e536123885b75b8fa7ca7d28859ee5d3a4b1a1a0befd1bb01ba54388ab678d90baa37784fa89268b35dca3f33abe16e54d70a9df24db7645f5484d0169da29f3171659f5239d235ea5ba6df4c9af2ca0cc785cd972d7838065d433af3589c9e77a98002fcb0b7c11bab13bb91353679fd2df566bb02a3c3c0b0cced579926b79c427ab5b28ea8c6f7e07677846bac2143b4854ce8fff966340e54f45ed64bc5d8fc42d4cf4310bd5ed2cdfe7b33e44ad3602844d8ba6c7694bec9ae6b7d6009366db25bfbfe1f92d6fdffcd464a08bb3b3bf183a39ba942d1116c7d5597d1a09563b17ac65390293c0f559936998dddaa2da025e187f9c51ff0c7b09d66dba863e0c4dc1b92116c8c2bc29aa4b2fd18e67b9645a0797bfa29a8ad9a97ed256e3f3676b979f136b755a1b24c491e28ff5691a6bf7eefac1082648faaeb0dc579290b4bded62cc1789567e54908f4ab6fda853cfe4bb5d4f7e06a50255143dbfcad992da3a18eb47ea39d11e67b456eb4b5bb0da417ad4b6352bc3a9218a8ea54de0fafd2245053f46dd1016ed8c98e28c983703d885757d04fbf5325a2495483e09fc55baf66800a26098ecf99e3d276432b0c85ae540b5508f8c40c05586f84db44f6fa692b2d62f07cb06cfbc44f0ecc4cd0f89839763c9774d8714ef33bb30d229a99799aa2e0bddce7b5feb489e9cd145b6c7d362d13c655238004b09e894cf218a3b88ccfea170472ef2225057fde8e3c43b9404558d3e1abbdf97b0e2890ef3a7157586f978bf1346515770dbb9a7ca79d9b85417d531b3c84b416f50457344fa121300a79c18141a04029ef2c386ce824afa2ceb082ac762fab4c4937e826ba3d21c8eb37fc341de5259b23e9422a88e645cd97a5eea0a7a4648b459e334e9c1ae85c19a42ec1b868b92cebe3d61ab334724298a917e37b4278a12c3b1ba91e187f807d9ed33858100b408b38aae4f6addad919d5cb01c083b42b7379615399e4e789c7b9c05ab5a72dfc847ce8dad79987cda6036e7a1cf8b2defbcb2cc9adc8357d23ecc947273cd98878346cf284f849e402a30d4475000b5d5832dbf6819c3d96af1e59f94df5562b05042c4928b736d1efb71f41a664d247a6cea4f9fd1edd4e69906a1cc2c016e06fbfa0003bb300db31fb4ddf933499ce65b76c30b549862b8c5ce589b48075a3ca5b04721cc1175055eb9d73ef5565eca0e6b75b957344e8b4c80f4af85c111f756e43e448a345b4c05fd326e701ccfb1774a84271eedd90668f2795b8ac9d754c69d3561d5ee5d43225cbf4e975bbae86194ce7b95a189aa91bc38e6647b84fa138615d0397e0edfe2a5f098bfd1adb3bc26281bb9d87398a5a0991f4e8c5f235182aa31771b886f9b6851c98b19f2b49fa41313819e235695fc270b37be2969ec193462dd26b3cb0b324f777da7b9ce46af066eae32dc798fc075db2da069977e9cc48094d86857b03740739fdaed0b2baa853941f2893f0edb43b97a71b365fb2b9d481bd4b844ba4d96f0713f9b20dc2c340526775fbb9ac52fb5d582d25d9f23e5d9f526f56a96d14cbd61e07e3ba730c447c170afac282c946c9f6d81bbfeda72d405722f4cb8805aa8d859c8b91ee00c64bf9da003212732a9f36ab2d06162b4ced52b00d11bedf52111957e06e281f83a300d82939e55d6ddf863a585540bba88b4742ebb131de2760df09412cab816d606bb323300f8f72bddc84df98fa7f63091218289dc9b639447ddf133dd1e6b88f3f0798343a79f4ca93edda2e69d3f9e8e57651029f07cbfdac3c307dc5a6cd6e1882ee2261d5fb5b0f6781cbd4b8b2dcd396b8f88276622900faca1a330ad11c2a60a0c2e725cff4931a163e72851695dabe88c47d870294b0e1203bed8fd305c6a3f9b3419dbb9610ce224b24aeeb9976ece34d2f1b37c65f7323142e8aeebef08e524d02ca4220cca7b2de43b733f9874be67f9a40a9daf04c8c6b787a23f5b5a2c35a12c04cf69778e8a47f087dd3fd02184f51c48305d68b62f95c9c2e575a1d87bc6aa0211c4286462df8c1f6da4fd423559055515eef3903d80ce1f52da8a6af6a5ea2f1eaccc23a4983f812b791ec2ac198bdeb586f7583679122dcfe252be2329ebeb81a305075e77789b1f8fcc2c6dee79c11be3b15bd1158aa17854017fd76a2571abb203c3eb3ff371c1f1c894a58b2dc948dba75d5292bf75f299f22e53529c6e022ca2bf4147dd15b1e6b786de1e17703d331c911f65e14ee6a1ceddbf89bf4101bfaa2f80c037be1b4c462cc0244aead4a18862d08a2b56ed201e6cdff9145b5d5c66a8012b33a8b17ca988cf733f77a5743aaceabe3daabc2a23ba4bfc504301911edeefef111eafaa51c7df670d791a370c6102d8d0654fb012b3a63e38d550a1fb2638cd75db56885d365a5bcf77a23f53443354f1ac336be81794b59f2e4f8ec2229ec28389c4fc2a280fe2ef2cbdec2d93fe38072dc86746389d15eb557499482ffd91df993dd56e955cde3fd98002617750aca809ce5d0d28726faa26019b28aa2b182cc072ef1bb7cff65862118a477d9e1ba972571e0ab06013406b4500d0ccfc4e445aa2f78580cb037fc4e8fac7a245c7447a05ff032e4e3f125af6b68debfbd796f38ad8c3a62d43723fc1fad44e0d8572ccbe30b3671072315e8b5e0122cac2771cc2599b0b4af5931c498934735d0b8317c427b00cd665d4ef87846b57d0e5263f9e5fa7d5a686a1f3019e5e84812223e41c8af8626a78efb5f769574a78482c15778a2d93c0b9fd5c6cd3c47362db164c01792daa008ae8ecd6ea40bbd10e24155d983caff6872d8a0647abead428e13239c7e3f3cc7b78280a6a8f44bfd892796c9563d6dc41ba78c03d7f96c52b8d21d733a5c11dd09f2b2570acd16db43583ce5e8841fec832111451495864b605f1040e1d73ecaa3278e45f64c7e27409cc50fe4a1ee354a0e9d7d7eab98eb8426258c2a75cfdb944923227fa0799dab3fb7c3418213111c20da603da9368ad4dd7b38e8257a9dd5d4b3dfd78412f13d6da9e9847b36ac0a5545f837bd10597dad95cf73c4e48e11ce3742b5e1e06f478320c9b6512d79c4e8df39e71ef564e5b98a3cb636046f600bed60a09d521c6675ffc512c5affd2bb30caf7a16f5f6a7feb2447fa64d4fb9c894fc0676a4e29bd759aa4f91ec69d47e116c9d7b0d5f3caa6bb580cbe1ddf041ef06262af7ad9ebec90bea625afd15f2a643a6a86c7790a1e30ed4fefaf3f56dd7ea3b840c38fac1c94f7ec5804611732e1e82c04698a1e5710717e7e7b45e6c83a059f10a12b3ed42a360af981fee2a78d7cd1249bcac029b413ce152a76f1d7f53abe509164af4e024feb697cc7e071a7e17c8244ebc0d2615372c436f8252fac13ad4827ad310961896521ee39c5823e67eef6cff85016d345a5b50076803694bd59e05ed17469577dc93f3c9ef83cac637ad0ccb9bcbafa21bdbcd279a8490e348d8fd7de3ef87972accb4c58333931d3d32dc1b8a0d833d4fb0a9d7c148f19f3a0c42f7b22294a73568f00db1623381a9e6ab9aa9b15bbe39c97721e184574f21a74e9847b4d9974ead8bb1c597623eb050e8f9537bf631ad6b4fdac2619f829f6b3da4eeb7349a6447a8540b77116f547c87e4b7d26c4fedeb56766c7b10f16471729896268d221289e95541d071d685ad30e5d2a3372bdce3125ed78247d7b2019778c227deb1ad5d0148bdc64b51259eefd615e5dd1238b91d7a850c94e0da111de55c951e6787704716d7aca7345ff9ccd44c23fd80bcfaf5949a853e5a3b0192f16b4b0c8e86a1660727b8a0331792bca5c5d82d323b6bcbad2e3e0dae2580068c60e5bd69a36437e9402ffda654403871e95c1500db0809fbaa7b1b5bd74a4b1843ed224593ebf555010a550ec8e3e5c44cfb287ccbdee8ece6f982d4b98bb528fcd45318f01293d920774bf128863a96b014c7406614e00ea4f5034ac3dff390f5464ac19a83b76c899d80d743bc88d2620d7fe2c492cdb01bd548d91a6d8c8fa41ce74ceeca20b10b1c22adb22d07f2098fbc9ac4628d9269f3e7168b47f0ce6f56fa708c1a2aa3a9c070a1037650fe944e03f0981e334504fb63feb894c0fafc0abba88a1626d76bbc6e73dec8d7b339e03c074ac0651e8efe99892c498b022bbe18219f24758a70352710c09353f5da5b0de08bffbfc688b4dfcffdb4d1f70515f75251e630635e1d8ebc00d9310232e47637337a7ac83c5787c867a290e46f819c8bbafab742a1bea215d9c3d3cbe327a899ffe837bc15eba1edb569730cdeaf581919367330718b1d1c5e411476f547b18e4b49c683a076a37dbf3d357faddb86b8c26e57bb6a7ef4c9cbc0e4b8b92075f00c72516505ede418ef6582483d2268c3d2d762a613ed5b048c88b7cb3365fb25f69e98f7cfd0a8da0c3f28614bcf06c0207284066ab3151be77fd69c707aa250d01cfe2c65e1dee9e5cb6445833e62cde907b990cf780fe751cb9980f65fcc09c7ac322eaa6aacc9f7d7da7a522213bd0b864aaf9ba4fcaeccdbf8fe1f58869b92658eec046d7f4abd3fa459d58d5810a6188dc02bebd20b91c6a3cfd0bd0f4af1368203e4a2d8e6741619143106b32064743507c92643bcd64408e2d796a2a78c8c2bdc0404284bde2bbcde3162de654ed58c96ca9c8f660353e7c23b83ff3c4f23ed7e81e5d4556e7978fa7bfe6039dcfefed2ebfa633d573cb4c631d570244653dccd6f145f5d981c866856e54bb8c6fcc75dfc31e7c7b3cf2403688d81128bc79ee77a42737e128c6c1e165a9a7cc90367957325dfe0c9409c7b39d799f6aaa75b07a588682b9fc743951c7cb9334359a9bc3e28e8b5518816b0d41190cbddb173ed7867e7f8d2c957e2b81273c1eb4758159eda585acd47ab4ddef2020c594307898d5b8a8c0ba1ed560631d3b12786632a0840a1fede49e193c09cca78a77e732a7a4e31085e4cf9dd28828340cd1b7c66b072727a797b44b215986245260668091addda128c7706c7d0c5af83eb9e3dd5576c75b0492b059022dd8ce9cfb0d47858d611105cfe3cb1711a9f451b24369bb87adfa0c67062ceda17d23a5c96f5bfeb8e363be160d6f33c71d27124b80a0b84928b09d8b99fb790af20d46b58568b2e8567ab99260c6b76e879a63bf3fb5f0af5b1ca2756b9678df3c773c663b1e78399bc65d687fd54aa20d2373a2651de0f89986761c4c963edd6a895b4c84bc9a5310ccf9440c9addc6007cf7091a44b8cdbc092803ced33b4be2444d5faa28a616193ae03fb1194a787b6c528f7e6539e58c52356adcfa80366b1320af97e9e212863dac6f433eaa90dc3d8a2dab39b2eb5d0ecbe52d16a2ede91a09832cad683ba3cb25ee28731a29e1da69cdbdbd0d6c0cf4de88d6a0cd5ea211f8e6c1c0dfad4c37c04a06a968a9aae0b38e840da8e8cadcf0cdd8e471a5ee1c3d942ecdac118b26b302ccf721f671b1433969ad9793dfdb3c886f9cd11da64b4a16e964e4034fe8b760f02b5b99a7a3df598b61cc0bad4c29752e7b5fd2b52fa6151029782fe0cf3b92b237ad91b764059463be4d569cc4471b8cef6e52aad11c110cc6563d009ad5e4999b7d4616b076ed2af01c543fc1b7357615c013468fb855c843f867ddb53deefec436834ea903ce36c6e9936deb397e776d523c3afd27a5dfaec8216160d4799aa788946f73179d496b2fce6f174aac313ac742b08ea4114b4369924ae2b0b01a27b2fafc72376745e2cdf00cd3521d22113120f82082f9c86acf07db8feda67542985e2b9391847ff2f24b0d8e97ec1faea063893f66140d863aea2039495cd8314e2489a381a84fa38dc7ea46645462418ad8bdc8fa41e244706dc787c75cae71f839b86a97d09e7d1bb965e0fe40816d13350ad7dd21907c44f2b2366e30e6e1c03bb4facbe2879fc8fc198a46deccdbd5c85588e49524865daa1b151ae6a8c9213035de6150e6eb131752c75167d32360d069f2f72dd4b70eef7802acf453da8ae40ca0ac1ec57556cdda4e88723b35b52cbbfdca5f3146b58da5be62833aedd4037126a3411b4195e8d2a6c74f8e936799717df445041bf6bccbd350b8b643b88e06becf016d2b39ac603b1b0e22956f74ecc1eb80475bf9cbbc27da36407f90e4c761b4a91a462479d825c68d370bb8bd6eadf22a9544f12d38bd5c9f03eb70b4a0b00e97bbdce7af5336e705a1d06ad9b7a6639c0f8f4354de7a0a0e79be31895688a44398b755d121627bce5a1042715896512d8ff137679291ed4d2bb712aa2adb668f9adf02e2ea9a49124d26824a5fbc34237402b14d03aa527b21563c8b4489cda5395176df728fb6733b50903c23008fd99a3327398f99c2a7de5834d07251a54a340b9108947fe56850dc2f230629f01abea1dcc064f444447b8a37c1b399c6a816f7d3d429ac9c2b5a4e2906e777cef4cbf12ede8c27f9c248d877d6a8ded2d17a69dfb835705d09f8ec5c400cdb1ddbb7417e93431748d45165d22ccd44a3a0c774592758a0347924bb7191bf29e2896c4de710f935cb0f5a8ee3320e5e5d8f348d4e4d38ed035a5d67bf7e053b17b673b99231581edeace44145b1e33b05a809c339ffa6771bd6a1dfbf2999d81d7ff5a0b0cccd38fb14ee077b410fd533d6c866edbb44e3c87caa73714f3e3a1fb6ff21b530667044c5fbc52f91ba6025359bcad86de850745e1dd441f8c0d713734e10450d3bd1d3695cc3884c8bfd7a4a5b88a24d8e4bc14f2d3b9907299a04a242ed109c153ccbd557b54058aaba45cb76fb0eb0583e55e1f2efa9b2ae5546b4c5f0e543f4b5a668cfadc48243dc346c5dc97750243b88205c82a781e705d151739c0219a5660c73b10f1e232372b59c037e155669c2145e0efee46efdab9ca1ab9329e57c7f0c78674112ad4b2bcc5df06b81c733d9565766e4355825c4a07af6b0098ec6f3a7790faa5d34bdf11418ca0eeff0f1713d4c9370912ab126132a7f6e6222b720c26815b44fbfe46bb84c6c07d4a59d24bc4e4c9d5fb8a0618332ce75ec16ce17ea64807ea5aba0bf8ba0f799389e61580584ecc4900fcd67235a2a2ffb90d1cce4fb3845ae6f4e063253db71bf8517bfcc8af080673a5481c672f98916c13ae4c9c6daef6726290d09597c1e705c7fc3593365fe83c0bdda3c411d8584acb245176cb9ce9eeb07569f1ad6e8f74b49f07d0398615c77b4596e4b657772b8dce1e598a0d16eaf2783713b12d0725aea1b995d03239ce87b918c74b900a5e5b11ece8f9559ad68a126589ceab57306b3e0776167b33ae1c3352a21d76156416866eb5ca2dffa88cf79da98b1a9dd320c37b03ed1563cc6240b2379ad0ed00fb0d07407d74447cdf10d24a88bbff952ddf0cc6f3de9b2f4294012674885d23470e9d44f8f8a81bb724b545985a069b8b5fdc83534caf31dc1fa707cd40245111b804e4e2a9e8bc9736e53cb3caa924231cebc19f0ab48a0be8662ea81dd004452a6a6c53ebad3426c9d1f4ce8be2e870d75825787edef3690ecbe17eecd22a913b47bbee38493e825212d22c459cb6ed4ab8496e12f68d4ccf89a1f75483082ce72e483e2605a200c50765220b1529e09cb893f0c38d271ba25b63fc65d2660e098329969663ef6c12f386059fc86ddc593e534907e18f9b9819f4e77d24cf672cbe17b5d26a73a4e4e1e87f0eecea3d0778cf51d38825956fe0e6c473954868a8050842363c0b0785c6627b995bbe2e450bd397b825b192e6404fe325bb6bbadec60a9a579b0d6926361507917562a1ab7ac48647b8463b45a267cfe2469469e0f93a5e6d8d53a1658b3ba960e05a32828d9bd7178a38aeb95f40d5f704865ec883a618e809febca5d1f281538af6c6f8c33dce783a172dd81ec45d849d0ef063319808aeac720ce51241784cf4364aab2461fef488361858bc3b09c13f217e10bb845615f145a8a54c7dbc379569c27e19b180c8e5bc4626a31cf5adfe2ae721ab5fb8cbcd49a3dc04c2bbf1c522737623c16fced5c771a0c3e7241e98e91ee710da95679829e1991eec90dde5b54871414beab31369d81b62e2bb41008f04e3ea80251516cc1890dddbb8f7c7d180c15b214e8703607d6b4ef16c88d413a36f6acaa539dff663896ddfa0a91d3b6eeb3301145771e1168606ad18fb6fd248b07fe349bcae982be84eb37d95aa862678c4e0b1a0026134ee3e33a409ff4d60b45be56bf04a252e94d7926c5a7aa7057f03c58236254a1499cdc1e34fb972f89ba3dbc47d1e6f82815af23b5d32b25e5092eebcd758a14923fb85e661401751d6b286722b93425a097ebaaee33f5d886b05e37c2b4e99c2befa0f90f11b68d188a2a866bb7715436071a8d9218b7dcf775d5a8fa23548e412903a628d2eac4ecaed5813c4dee3ba0523046050cedbfa2fc36b5bbab48e253a1149a2d14d2dd133439036b297c379196af248ecaa74e41d7873d2fd9812d94aba847591e12882e4f6fae7d7111cb154bc797bccacb1dd631b1afe1bcc4fa003ecac5349f260f5b7574083c30481edf93c479e99d36be4ab5d5d841d5af8e629c9e801d0b13e5b33a2f42f126d32fedec1da19f37c73879dcd7df829fc390d0eb943af2750742651c23e5a82c93cdcc04ca5795da5c34618cd7d787d84a32ada3cf988f3dde7a4eae48206c79ede43195b512eae3f3f18d48b42aa235be56214b968b8b797970fcf1fb01d51a9720c6e4a3b369948326fd429aebfd00b0266cba12b7a14e3d0f642b1cf94edc932e337aca234f970f7f05ea7b9a6ae032bd5e643c06e4dca28c1f1b5d6c41c8034da4c3b9d662083c52c83f0c96531b6dd8dc884dc8add939a0210a29962ae50a699337e3c549088092f433c56a9022b91ead9f80f48f3f0fea379adb788ed5d527c611cfbce04220bb3e285115c372f0817bb28c4121b69e14aa12ea917f4cf6f35a27a55c7939714bbfbc28b3366a4c06d2dc45227c1e10cdad75d3493bc823456a88d1a226c58f02f92dbe3a85f30d75e406439410ea72de81b4d50f6fa5295d57ce9a705fabf50f04e9b718dd47a5907fcb3dc08bdef911bc9aef42a7de8c3a621ecad9d7745c84991f1aece54a2a8efbe4d8b23278778d4dade960d0eadee13127a298833660cf73cabdd8d5ead0bbdb2cd11d779f63967be8b155d8ceac2683c7187de1978a4fda0a93e80dda45badbb8ce5a8cd744f059fb6fc785dd2e2074cf88a52125df7055597dfb52bf6f0b1691efbb7dbb854a2610dd2f3cbbf7abe1334f37261a290ef9ae034691e98444e6597d8a73d4a13f5ea24f83d6df807309d08ad3fd88af54313075737080caab7b155fd095565c2f805dba6cb791188b401629e1711d4e27fbe24849bb56888ce4083f1cf88b14680cb2ee7bd3b22e5df42416488c62ad95ffd632a18fa8e5fc6503d6142ef4ba0022b1a10065a608a48be46add900f0a50652297bb5c0fa0f884eea27e1fdec8e583fd36be8e360941888fdf28a2ac3a371ca3c084cfa8b92bbc6bb86f8d8b26cc35c3bf00e678b449feb45a9dee7e7bd61ff43b07fc77ba159b9c61ee6193cc44d7ef0421785edacd2f771ccd1e300bfccdb7c864b7e024475e482eea6912cacdb3b3a00f946949da913a5738b5ce3a9bbea0cfbe3e090d8810a80556054faed758cb4cb17248352e4d15dd4d32f003301bf6d028ae11dd55184a461f06e4d87aea0c5a8ad6cf440d4bfdacf34190e45c60a1e4d4c245977f1b79d574a306b7f86450b91c451f1448cf6e3e66db105b6b05375b8241fc909425a0143c26c94986c8dcd2bdfad2f535f632119b3a862b561f3e07861325fd89d6c4b8e6d757b90149a9221a111c0148216247cfce995c69db21069e08bc9ddd0801b52a186a03b8d39c9165de341dbc18e4562551bddc6345a15e4007512ab9ab2861abef10050ca050b81e273d5bae9b109f309c833a2be205e792ba0aa2beebecd327ee9793cb5868a0e6ba9e4ef9c9141b96fe8e64d7491cfe8211b04de50805c1c9a0294c38d884e51a2cfbc60bce7ba1b7758bf89153a5136ba387067236490843e015d95bfa345814b6955118958548d897fb81bcbb22e7656d14488c3425e08e4aa4a5aeaf94d25ab51c111803c79f9dde75a070c4500eba6d90c7c4d4d47a6e0f4e6807f521726f50dd9e982bacc8fdf3bbe11764965fd4224dda36981661ded29bf003cac9c1ac5cbff442ec7e59aa090b628505a693d037e1d2d72e8bd158ecad99c688261f976c712afd26e014d01dee083b87ae1b87ad5f6a9704fa1927f06a3f10b8be3d0f62622d89f1c30f750c31763915191fcd0fb05aa44918c35231902c8793ebd8cb482cc242815155e269cc48d28e22fcd14bf4145f314efd7468f5d6707f484e082608e389b5122a645b3fe5faaaadd2daef6d628f81ea80b22a860a00cdad12a24df6701c0a93ea614a810a25e35cd3350732df67095837721e7e2c2ee0720e91b14b23a7a69589f3dbad53226bfff07fa435433f708d5290f3d2b6fa519fa64ad3cef872aed726991c1c6e1d58b656c70e856c1af7b8cda0de90c65665bd65e2a4c3aaddafb7fb3c7708b9bb4c2c94a23d01590eb617d7a0a4662f6bb24f37f81e6c89a268ad775971a924a07df230ef2b4a5921971c07ee42b8fb85c8721bf02c2c625cbfe4cf1b50df82db5960dbd881c96aa8c5a0458b728e9dc108b5d49cfab4756cf2c02823eb07b30ccaaac2f5de9650955dfbc734cf9f348cd6ad306fd8f64de56f8ed91483c6c9072fb8c34d288612059810db6b6ece5a94ba34a112c9f769dab8633796c234656a37a36db2c4e6438315c1f82a7d2cf48af4fb4dd38fd143687134c14a7ff19ae65396095d6ca8145f07e7ab432d26c42488966ca26625905f92a4ea9d510e437fa55c5c8af32d820e6de7463817aaeeef8bd71df2600771ff03f32369507269677db3a43def0bb5036ac4239eb6636b9f0445759f8b2986ded5fc95f9b5885a7efd6642cff5b3992494880ca1c91a4a0787f47d4c983b2789c5b9de5e572d1f9bc0f495dba2e7358f0cad00b67e4e07377d7f5ec00fe069ab19acc30c04894a8fa3109e6d5014e702ac4912dbc21e22d890aef6e2740236e5edb47723531eeb6689b762ba191fb88f6d5616cc8019ad956ebb64f9c5727b5b3ca2190d149f026ef8b0829b60679585d23a79c6bbbef68f00dd503717888c674b0a65e2223b733bb63c94b30fe3e0488a03451f9735e75a4ca8edd583c91020d5ac7549c6bfc4de2dfeda440114cf1f9dd3f5a9aa108fc4ea1e8d97afdc66b8a9501a80dac31c3f46e48b28f463562d5274eae4e014c295f5579605950c56411d3e622c4a113d625ddad46dc93676ebf3c754af2c0e4779c456499c29018dc40a5fce7966599f42e0829029eec1e7220b83da1deb04793e0855a9a21d90a94e44e3a1e9b35cf27e40839315ca6e5e9448be5c415f1d543d412ccda7dc574c3ddfd2c5cac33c88946e875e1144b503721d7922cf01c660eb823c9af2a8ff35ee2919a9bbd0f6cdc0f82aa81bb0a93bc01c71dbe029d2540ebc0e083df2f070f4e3c0d7b9b02cfd574bfe2606194a3a876c37b1d7fa1d60b55921b698fb7e332ca7da7564ddfd62d8ec6d04e98ca80d283f5d3d603c09deb25d0dfd7460cbe00f17613c37d6eef2465c5cf337f3187208b061b17260475e03e3d52e4f2e5d1b611571b9e406571d3380cc86401ac5ef2203f01a79a1a5d5820e982d87b09efd2c984dad5f6fd3743f01681c3f2f3c9cf2b64e471a1f4ba89503b713f839aabce1cf60e9b5b224b151b518e2a6730aba8e8c15276d00fd2bfd4419ca72266947fe602f57fe511642f2d53b1c45387fc4f8f097d52ec9dbf8b84fcc398fb478eb8e6411fe2892063e18811aae787cd01e25f0daa1ba28557f530a701b0ef9b52e855a836dfe297ef5b6044ecdd16f45fb27aac87d57b4e2d7d6826485ba0969db1bb12c58e8788227f7236b31330b0c1fa31758df4e4b09fcee3ae1a8841e5934f2f3fe6c6c9bd9c567fdccdb9e14ff960fb843af1608d5751d2a50a29d03fab419f0a8d2425002a26ddbc4cb2bc03bdb2a23541de6ec4426f84d2cf77e9c1e0f20961bcce02f9173fd50645c5582a0b64c344fe621b979641f2fb54262a9c0de70e100093890aa84e096c436a020a96701df5b0fb041bd8cff7cc9810fb6d416ef5b725e1c8b3e287ee2a9c6f6c50d6ef88efaa959db7e5cde798bf4d2451b729f22fa43bafce816022dbf0b5ead7855a117b77fc61348e88ae816d2c68bd9e6b4fd9618cbb42bc29b0d102e910be9348294a6e531a84234b9f4338f0d56f5ea393a2eb3d711d52d79aad0a77cfb86efc8e6a7aaca3ccadd84b08edc86c3936221e5378e07c842adc4686b5785de5aa0ad6627d70a03be2af263fe9ab2f90569e6aafdb83cd2b4d0c321fac3d393c5fbd448613059e838f26d2dc4507a24e8f9dc199e3f8a32b4345f82194340e52a12b63e5fd626de43736251ae4aba9135ebbad31abc75b79fb296739713273c9c5f1ecd7791389ca4dcd4a101bd7b0945db7eba0f0df2331e639eb661e36352ac585621be3f5749edb5abd3a59a679b309828a04d96545a063d9e66c135bd74e92a51fa6008585c3699b2da9c8d814af2ce460612bcd760befcdac218781427ef646fa256b600cf6a8d40125c52c1e3a45768982e9e8ccb9ae6d4a5f0bf3d1c95e6adeeb04a5e0339bbc217a249d4a04a135d00bd591ef0e5655d74cc299e942e828e6f5a8cda290b33e9ef18c91949a5828cbb971b80334a500c80cddf87e8f120a926f2d5fa8354f6867a9abbc210dfc0d91e5f5db8df44ef3853c56d611a6b1594a9bd9ab9f9812ee720d4d58faa11da8e9bb6aa369dff793ddf9230516518fdf3f1b280a4100b95d87e84f20e190a9b53b50174c17cf8105e97bea717db5b49cf41169165b456e1e62df8ea33a37cc5994ffe50d97ae95c1b3d67bedd9d1f08cafef5a45eae3fc6d63fadc6def8c08fc8f3360bad555ac9e46eadd39f2a3478b4b59c5487c58ec23af4a85b27c54637ac1d28d25756fa0896da792a6ee994b3abc1c1a8acd7d3a2ec3ec563cd8e619889ca50b45ae296be1aaeb88d20069271396ed634c3433ff96f3db0beabe72d343d6525058575fb082b02997fa36b35f5c603a3718f0179e9e8ebd2f69d8d36b0dc471a13abb78b3a77cc72ecb35a1e97b24130111b5f3a06de11dfb0a7d8c2ba7706ef59fc12445ebadf946e5ca709f0b0480c10316023126e8bbe22e57d025d312aa34ee124a8b2fba2ca9294df39b608a2a3d23c58727b53bb23add409638fc12f64c77c26df936e0dd2e648068644df12dd9219c59b6d76ab51e62a953496c58a19fec418eab79bbf2fb2bd5aa87f3753cf665bcbba1056ebd662f89066a1c8ffc81f323ea572adc54f140aeaab0798e6ac20faa5bcfc98b7449c5448041f5f008494b10b567531fccb416eec72490280464843fcb4c5c6be62d188d08ca28b689737f9e2a62b158f0a788e006cb65e44c0d7430aeb8e22b37250fec9f45038e13b29fd3489190f340bec965fa2e2432de4b289eaa77490e445124e8bfdfdd45966ceeaf9f16c05330f056338c962a440786a238f9602c12f906ac6159f1c7de8d8c0731036f8bde1d3f270b5a881c0c657111dd31717e533d76ab6ec46d4efcd7186cdd7afcc8a34f29e74f318b5660dc0460f4fd87195bcca2d3d5857ec8961c8e59258ad7df22ab3c99fdf306aaaa676fbb8f8f69a24a86dcf90887f777145773ba44a87d3d807c7c099f903c83417f2936e13a80b8998ccc52a21d1adf90fbbb4d0eb6bade518984438915afc8c7c82583fac13f722df78a82cc9cbab77a3a4eb594e98b938a75b3e3394ed02592fa7184797b2f9b39b67704be931755a541522ceeb339c2ff4295e6dee04edc3e21b8da315e555839de5cd6a8dbdcf74d9a993942a7321ce6e0b964f6fcfec772d6840f31be296e779ff65072943754d1536ee55abec228e80682fa5e1125083e716303f7d4f0eb0e54a906d4a4007e9a921e2df5c7e19fedcbfc63be81911ec05020c515a1bf094d9fad4b8e2c387a8d8a30f402234a0ad0af8e8211f9f06a6af9fe9748219eae0dcebcf98fa0c3a9d8bd34aa7158218f6822809ca70a87bc2af1fa56eafdce1a426c12b2629dffa847a7f898db12d634630f693ca54a5c427b41c4c3fa24c4a356c41519219085c1226344a4b8568a665e9ac5770faa1e625b9bd870b720cf5e9835ea55ec00cddbb5a6b535cc4f97a73cbb59985f2a34ab08fd83cee5506f14df3a5c76cab9d04183dae1a51c9357f4ad04775bdf0e8fc4dfd85877b40bd129a461e121761e9e679c0c51677587d69c07ee01f4b3c18b1068cdf6548cc5619988c981f32b1ab06a8eec1b8950e9f81c6eb149c1a91e0522e5f74ab4c39db7d164d87f728f6944d8cf9734f03e7980db61509a46d92d171f446d2cc848a9ac5e16d71431e995cbf7c726517b44b4249ba14e379c6e84c141040d2c7fee32ea4e170f88ab6af4c0d2a821b0843b324b9dbbe197be034d40c3806e91ab5918822a2498b52cc2663e1839b5a33736f4beca307496285b673711483251bf3f040c33b2423b2d2b128e9d0cbfa5dc91594a71c0dfe93933fab3183cd9305d58259b175fa3a705b711797d348cb41e5818d92cd58577f25631f2ff14d38a8a44be551b4c5854bf4138f9eace1c081ab879f751584803da132c8e4e1cd2b53d2c32323ba52d3464a7b5d77cced4f68c5fbd67c2a3da19c3ce9ba96ce185adcb9dc58332d49cb6ee8746214f96abb4b93cef5e300f45f43050b610cbdec8c35e0c4453265e6ef115d09520ee727cbeba4e0ac334614f2b0b2a5082bdc32e1579891c67aa4c54ea8c3b20fcecc4b2744efa51709144c9ea939edb8aa1d97313b0db8f11cf6e577dfb2046730c93b1731d43a32527e0aad3f2f7bd08626481dc25e0f8a5a3af3dbbaef39aa56bf2afb1f1f177bd47d6a9873e5d69cc48358578122dc3c36bba99622caccc81fdff75945e9b95714dac0b6cb8a8b7d29d06cef1334db5f988f0f20b3e12766b74910d384bf8d357c2cb0523fce8d43cdbc6ae29320e4c98f7a86221427213ffb95bcdae08584895ec8e5372eb0f3dbc955849c447bb7cabc99bda08a5d607bd1deac759f0f207febaa47480b04fa6958f53698f191bc99c20559711d25539a5e056408b22681a691f966e002873ee195f26a2e80a9780523304655189cffd25304433a3e0e5dec90935cb4cd4daead40a8be066ebfd73bf2d7081d11ce498c6fd7c9039358fcc44c37e396a6d925cc5663b7c4a7ed43799863ab9ba040d05d5b58175f89dce499fb596623861b0c00da5cb8db5636a58c3b2df9d4a4b8c575d57587b5d5165558c15dca8b431ae3d8989e1bdb402ac667384774d5a128cd5010082d2cc05852809c561c82ef2660f41e0526add5bf5b2fb1e9faf32def769fa2f525701b025943f3f67d040978ab1fb66241027df5facef7fb42199e4cfc65d5182b8870fc45756fc660da542c3d29a0e937bcdb77f41e8fb6227c2b3225b92417f2a190b3ffb93a10abac6ff92b924272967bf101d803722071d3bd7c57156fdbfac67c813064c5666c7f1516c872e1cac1d5f5e2d09cbb48bfa44da671646a7650a9873e4e4992428d8057e0e57bc6638ebe7c38d72e33e340be5b822a5a5e5a9c163c2343b43b436a3560a3916dfdae13e9c830d6771b15d1105d3186ba7f471c1a54983e6984dfcc2365c46ee9d7346e2ea4afdbc0503fea53999999bfc085e897dd884a77dbdfa3850b17e69381daa510ce70f1fc500b2f8b43d7e7195cea1be4a9d5df3e734032684e46f8197b00c391aa94f1415779c507f50d1e3025bb7848152dc9cda9d8685ed6b20b5782dd7b5e46d49ba53f8acb21cd420000c0076a91b5ac976dedb2ed4e3fdf5ce2c768b4daf9198b49993229d597ca94b7b0f8e541f7af4c98fb76fe9cd6a75690380cb6d76659ae7c19f3665f4859c3ac08fbdb232b57532d30fbee657e0f02ad2d7b833944a9dccd7260fde0b008e53475dd34431cc219e9f6d7f93c69deab1a091ad54ce0f0ea3f7a55cef3c737ef7d445ef515e850ae18dbee7a4f014adf9ade8be26da86b33998ce99b376ae7672ed266c4d1ef3fa48deac089e3ab302209d0e48a6d1f46a01cebc4a190906cc01901bd9acdcd45d071fec6745dc069577a01de43de85c64b17b992b7a6df6d2fb9b1e66e9ef99f7317508516ab7b38e609c39542cfea4bf249c8718eaf713f01e0b6a74a6a1ae797f761a5b03d8e97e9f3bbc4acdef336593f3d8bcb07434f987a3d6c8708b138a6078157341fcbd4d6c998ef459322bec31ece4b3ac8d217c3afa8f7daf779e23ecc8720640f3b681ec848dd31a2c4189557c40fa0da963ac1910f2d55f96dc0e410374563fde975e5be1a5723f3e728e77ebc53016ff48aa77055c10f908d2efcc5971c0a35777d06de8b88e9665b87e9303f2775ae346a57e7ce8edf4338513a47da4896b0a33b17dfb3c35a35e4fb4f3f5e2618f09878dca522c0e6fb1851183592d5f66ea49bdf600e4d35e156ac8ca98a3d3a3a91841019c9953439e46905e4a5609594f0dde9724995715c80b140eeca5020e61d71956a8b625a393f7e1144069a6f0c525f3fa912f7db094c64cd2280bf9069de1e191a9a17588062f12b31aa25e92290f8fd9808de7091a9bd1aacb9f859f0253ba3cde9609c78e2c4b02ccb7e09241091c0f155e829b9676a27289ef1fc310b63dbd787ece0445bdc5200ad0ef46baf0ff724dac6c1ded3e6234a2e8a9adf9b27547d58a9c1b09d783f4815598fa5fe9ee1d6c420e9951a784193da1dd56d87d54bc28473ac665eaad1b644595664e786453d473e173385e767170b88f9d1d1e9e0e87df08a0b27b4d9c61e3f1a0cde55408e1d040435238a2ccffd5299500a1d7faeba3c44705923eb78b2b1fd9e63a2d6017da18189264e2f3cb9030f3d899d20d80d7bec7731930d3961c44aff084f104fb78f6b735e65fcb107669e67a230a424b38052d1fbd540085e19525d4c086b4ea2e1b557df6c52d63a12db55f7418efaa714f6e64724332886a477aa0240215c68d8e07753792381edd298523329e055ced7c1f370bb1e138cb63924e73c81720728836e35344a15ed576caba3c9ad971e42458461a5a1f5450b36f25d6881d9155f094be5fa2bd70f7c3c90241691ce62671a185875277997c6bc2ce217c013a22201485d157938fab04353a352ade0241d2cfbff12201dd20a6c6298e62d9ab0420bffeceea3c8aa5a2a840749eafc40017f621c60c787bbf9403bcf2e2e70ee42a2320341ef2201b40240e0d500655f4247906cc7a8c5f1ba27efb7ec5fb5aaebca8918c3eb538f78642efd6ec4a8fbdca1e3a33343b2ce0ac8762584c46bdda6beb0e936ee4369a09a342ca775fbeef9ac641d013218b57f81079d6a46ef8383bf4439a534e38895ee227e1ba9af579bd2319c122236380299db754e93bc1a40fcf93e2ab66761e8c98fb58734812b3b25690a44629704583cca1c0e9da4fe7adc5a9430c5591fe192e9bf8487d6e47111f6454ba57a7bdd560b89edef22ea78ab3058efd0d5da9b76cc9a89146204a80f054396e06c0bb7ca2e37f671e9c74ee5915755c91f4b4b8a71e7b5b0dba70ad1204f24ab1668e50db31948431fdbce177b15f3481be824c06c2f778c37c8d67bcb9823857733e91c7181f2bdbea6f18e7cda3ba2e3a548597d9b2154dbbaa8d894a0c230dd6f00cfcc050e664c03e0eeb99ac8c58b8f75e41c761eadd2085273758026f5495d8c4edbbe6c4ab59930efbad30bb52cf2551055e23a114353e17070fd6dc7dea64efb83ebf18afdd56beb6ad358ff6058081260f07c43f25d71c3e350027bc2a0c43cca34c65aa6e397b35f31e55340f65742c99ec95c5c039b78d55fe732e085d28e4ef4f0e0ed37f18b07a7166b9216c6dafae326ab5a2146a8071fb27acd4481f9ef74053d1a421cf5b32ea98c731aac154e95edb749065c6f77d0686b95d5317d311e17be331a1e01f59317115f8c0d43edd331e88e3be89bc2afa97dbd8a9a1fd4d79084d2aa88421531b65e1ad438f88702eb116a422ebc413fbec572de07e3c8598275ee3c775ef796205e48e0c583d702b38d5f2c25fbca85b6d5420418f9e8562f43d2c9f9f681560ca56f0ada43190eb2ced7352cfdd7192aff70d800a514582e21212d3ad00c2cfec93f88554c9d7220c5779a21a19d0792288dbef005393913e3d0abb4edc66ba8dc23a7cc387fa0286f22ee25e11cd0a944ef40286a5f6045491d30dd6eff86cfdd24e17050631b5f312baacc0398a6aede14344b658bbdead58d967e566aba141b4660339efbc037b5c873bdd6d8fb080feedbb7d3710d280e2299f7205419680c990a37adf347539d2e70e15c218f4a0a32d6dff0f3b1711c594d6cf2665c6ff410a324afdefbe6634bf9b6caa01168bda379504e2d5c58cb9884252e737a76a0801f50d75388fa670e43280cd8185934142762bf17a5f8bcafd4c3f26f162afe3705dc0cbfeca6646527be9c92374b7809091a197e035de10ea15ec558cb5bb5e7803d44dabdb300b79bae5884295e864df4ec41d53a7b627b6450c4efa2a949ea48774989155a4e0b6238d6a195bc3a859d84896101b8e3eaf61ebe26328e789f5bf4acbab73930897700a41f6df082c0816bbb9d3f54c38a653a4eceb88a0569409b26a84905df932691a4415b4d763faa2120ca71af77bedeefb1e1f2f800ecd38883202164e916c910f19f0ffb154dc99ef1530b2eb54c9a79aeaff9cc945d89e4989cdc6e395cd15763206e949607104121a20c08cb7d234605acee0338f246c53e734503742710e1c4f5414024fe5aacec17e0922412d653ca05a793bce0b202e91c2741fcdae96d9500eaf22f38d63e8f387ef6f55bd93a65e5d458bd3e8ec99867c101ace99bdb4aee4db4df11547b0f56e94d9abce7802d76107ce01788523c012290d946eee6c863c988a63de7c527d9f6ddf733c84b1fd5f11b6a0900f3dcbbe6eb9aba028dcf08764d7b36bf94f2c2e7074a2bdd0966e461bcf899d7ed142977099fca896c3493e796b005af3566020d08e10290709e3a29cc1f67d18856eea38856e37088c3980a6731e767837e2380917a595d2fb6671dd6f4611dc868096a8b87d1d6fde5255ed721502248ae173455a96be98d0dc3a0b89080b52d8f4e709636bd385f9a2ae4859b585a7ef7ea1db6546d8db5c246548476fe8d4a1792d413ddea09b0572666f40130b98545c750b6307442c489dda9d5a952313a33a769df7eb238ab30768270b5eed969a9a6a8ecbaeef85e4294c25ac3691dcdbe8e888d273c957549aed7f76c9279465bf01ae672a35d43f59a9fca534478f8f5fb1dbdf41936b1d10e36c4d9688f325601b858b13f45f24a87d83ccb9a06687154ac7c74269313abf8ba32d5d78d4b820ab291a9947d3f75dd26a73960c985c382c5d2d88598f46d00449ac49a3a5ff096e31d436ae825d01c3ab672b387aa34fc900e32e1179cbb361c83a2b0671c1294afd7964e71b7bf9f37dc2c1f7e6f8c7578f024ba32d842980ad4f8e433d805552eb9400bc955d94503123af602468a6c37c4e4a1390bfed6bac2a8e5150ec88707a77c0607eae02194b67eeec3d16f824ca3eba61d2aa5146c0e60f4e870e1d7b5d2ba1ffdc135ecef28ca68347df851fb29288029de22e4d989067b2d87a07d201ae6693c614d1e2157d239b09a9239803168417dc854d9ae1b0cf9b83aa8c5d3fd76af987d7e8d2b28ac4768940af874b1f5841ec7713602beb9b39b77e39993380c7b01be25e765f049e322aa4d1110e0204281f69962729bf6e614e16242b0d834e05166d2b2893b7672f37c815a1a4c1e1086f63738fe63d8b0a88cfa292f48c81baf81c6a559fbc72f99e425a951f2468f67dccc8a30b8b192352b72239843e0b4804a90ce74da5abdcb80c50334af10a820b117400cc601b8e8d8e922e7b5cd383c80223d508219a8587a3dd37a82de8d018b55812945b8ebc46fecb0bf3c7e38d49180125db08926e66a4423752124c24bdbf461ae919607839c0d3a68f79bf017bbefdb9ed27d8c4eed2af7fa7d60786e6bb59c875b8133cfcfdd1d4d4d496965292707797e47346597cd08d894c2571e524c2f6b2d0e9efdb23e352fe9155accf514c0be31d2dd72eaecf84bf12173798590e28043ad6bbe90ab6517254e50098b08e89b061fb1ed8d03c9ce251ef1903758fb0574461d346f6d616b5cde8fd29de8b6fc47baf24792161efe6e8b0999873e8c5156d26a4245d8a909893472dedd257a3b0b95625116b66e6be7eecf2dd0a53228e47c263bf387ddd6c86dcf31e212455ca6e18626fd74d95cc3cae69f5c31a4c120e916d6aa0871e1bcc3f0f15b04e45b9921e6702a60d361b11c4112f3b5ad1377814f2b5df7f9dece5d4a0cf81e4eb5b789dfc98c83eac5bdef47550e219b0a7db3e0a4e3429df1dc6a412d977b145204edaffe1135ad3bcc04a0f12d2a3c3c1fafa641388e0c284b6dcbadaf53114d5bddd17337186ee765eb3b01da2f4a90c75954a4f9e56499d8e006e1cb6f84a4f767a8a2461205e78309e1e447244b7d02aa6f437c9be5a4520dc72c5e9e8fe07fd3c21db7bafedc5ab788d08d06094c91880236d7dfd6f58dc51742f2e41b9f443c2cf44b6658b481ec1e63f5301dc19679bf0a3f46da426edee43e87ce8b4eca65e01c14b971c4a441fc46897b51902ea5f29dd3cbe16826e9e726ba1196dc87a5ef6e35c0998155920e895fba5775f4430174108bda74a612ac36812b4b37e61210a8c018b8f799a187d70027e1c593fa15db36f245f09677975d5760b1fea1e500f8174d4723baa2f58833abffa5def6184aeb0ffd4994ccfc51181d108f5e1e49f57d3ef6b127c1fd78b9bdb7c1f81da3318bebbcb86706504b30726110da83808442fc6e7d296f3fbb8f1eefbc7d595d1fd3b1bbaaadd422300ef7e59ceb2a844089cd9b9b78931198b280dd5a7286786d816a5488f0a7c175f8548a231f7c7baac9c99ecd3ca7e5fc42bf48f5a4941d5bd2b29fa6171264a533ee8a95d96dba1fbd5c532a1ea4bcdc9d34a827b69c8d386f4ddce13df9c199200f4a7178276d3e58da21a95589fca24423f74f3ea3e903a3afcfccecb37eebec5303f4150afd6c2e2397b9aac4e2530a3596e419361521b183ff29d9526d02dfede004571f1590136f0133169621484d2fa69b91659e0f04f51d869d982999dc0c50c36c3faf5d11541fa05efd5a93c10a7ab65867a87971de6ed6cb743b8f12b45be15869a53f6738d909f00114ad1ae3b1a320a4af5d2f239294c5c73a2fef2984e389cba3cc6d74f2185a3205265f5178c4ed134da40a5df2192425570485374c33bc039d30e3cc0c95eae77c5b5d473f0b74b91ad632f91009600790a0ea606fbf6420bdbbcb82a90527568a7a6d7f185ab16f1f6a7c3da6becf65d2a8e353a5eacc989084168db3a1e0c9d3ea57ce053b2b701f333cd72f6a8ce52eab04079996a4a3807cff9a1bd4522c533311a05cc009a6859306fa3e6473f26ce0bb85275fefb0d9aa9c3d307ab0e5c0ce37081586c3c037b5ef0d1af7d2dbc0db8a104a7226f5b27455da9b92e7e723b3a0d1bc56a8f026a301067da9f3a5183049178f91638e1c1ffa8e1c17353ddc0f3e9d019032d45695f81967c864a5e24dfd4e6ac464174e42acebaba78fd1448891a13d522180b94b23245f10e45babe9c0f39a999c5681937cea0e1e53f968b25e35097b7d401e418781920f5d7ddf0d8294c557d765b74584481102071b6823ee4a6e96669ab58c69371d2e871614674340b54d9ea0e88b2ad989593ae0f4602192510ba76e2ae33ee6df0363d4074d7253844bd79f3272332d28690909476daf6e5511d4d22f4fc60db297247b53eec514fa3c3a4ef47ba771caf1d9f5f78003d960b5ce87374d1445cea6b3c0a0f528365a93aa3fdfb97710ddf47b81c1513743f7d482e8fcc00564932265a8e89145e27017aeadf836268b61aa5c650a5088bd20865338f949c47da3d7ecc2d18500268ea0acc93bf1fc9b902a1c307aaa2d3d312215882e89b85a0c8dacc6dfd02b328339dc05de2ac4505f95a9665863f4f79133489e87b0140b7318e33d0f2ba5036d42645074710d41548b7fd31250b97b920a8e3bb9a3c613f4e8e807212e2840cf00d19ee80e115ad0738eab503d7bba0781e72d32d70eaf3b7ac04f33265a0036336d8ce820e68d742d56f910dd039723847e00f080656575f4323fd629249fb16e643b60010b901c9eb88e64f9080e3515d440d01085f3708b2fb2af36d1a869c20d252ffc9669359c942b4ce80ac443b05b3537599c8ac76d679df42a6f4bc830533133d3334388ba1e99ebb63c467f838b3bf086ba41cb5fc20e7ec9730fc464f5698d50293a1c1d9ad78505683f7890b12dd82a1b19b6f673fd45dcb79b135af4e1dd52a42098dcd9f9db61c16d23978fe906c45e4ffbfdee2be9f2cd43f216dd47bdc5abb1cd378a36964d58147db5732ebff809de73b3ab02246c60866f4535a5e505dcfade475196a18a38d4924e5820151ecfa702b8a3a653cde4728fb49603adf5626566fa9760a69b2459aac89d48d4549822099fd8abbbad7c972dfc346bb85288b12f8c8d8d4202540c49f49368e4a7b200b453badf8bcc8d0d51ce89c12b5f9063c5fc3c5f621d2c1d9282a5eef0571e2aa9a00632cf3e78b2f822374ae4cedc994970eb68f87298e75ab1066c87d9fb72038e866c33995f32a1d9dc0076132a35b172bfe0467afdf64205d80aa3a740f02d91d233ee793b19fe83d2a175051e49e94335bbec47380ad2911f8e38ada31b9e5e197bbaac117ea6b413e71b2409449d10023074389f32093fb91dc7de9fd3e9696527b811d78576871a2a912f439a77374dbde47c87b8b2ed33fa1f023caffbb301cbe0a2ce8b696fddb5892050e2c8884035223e1164ac7a32b950e287c51136980f4494e81be4be0a5b41ca19c4310eefad31ee3177c678529158f204a5cc37460c5d93b66791dda5b027c272f7ac00015c069cba9b4d65a2467c2fbbaac8284ea4a7d61ee15f7f245ec0e1bca09e2e707e6e1fbb2779af2a0340ae05cc56d3a428439d92174f86f4a0ad1cfef8066365c7c5ea1d74454cd7a2558e465a2f9c0fbf5fe7561c24fbc4d7d3c133891e3933164ff8ee5ecabbedf4e2b997d2f427a3a8fe6875e3cc72d0b536f53308cc41594754d0c3a7c150c634f31d263c93e7a57555a329d62f1d8a7531a89fc43795c936ee11182cda360e43839c882ff7fbf107b145f100700ff76a81203bd329bc6ef164edb07ca010eaf2b8e2b5531e8fb10294c2c872fde1bf527908478da5ca50bde6a4ec336fc9c30847ecc98c1eac678c86d2c5839c2b393d6fee409a3842902bb50c7a9ec1cf8eb88a44fc3748148723ea57b6654a25ce337f7b00470af0349a79f2089cb7cccaf7b7fbdc924f67eccd3f25a6a0ba713ff83bd4e08326592666e690916ea95165d72696b0cfc524243b2fc9187aacf6bb2e6592be577f9ef6b748355d27d1d193f7785447ebb1d63991e53416427ba751dba0e070e75982ed1307621c62763c002fc3947725ab412af214665661fb04d11e62e2d87d17aa06188d7c3e55c171438e00a78fec3f882ab650e2b7fd472544f5d3ce75ed905b4495e442e1988172732c0bee11963e0b58e393f3b1e5cbb45ab6f26dd2c51390bbc3c31b477cb2266443cfce7189bcdb62193854e583615a3237150621cbba95ee0a517eee23ad2ef3dcd9a1c1f71ba806c38b10e0ee51fdc2a672b1719a449cdf3089e91097ba38edc78164f1bbb25582b1cfe64b845f37217c0203d59aa923fba14cbe2a479db4b3bb1788ac6463e39c4eef284faff552177d4032df40c85d5194bd087fc4e732f0281d9490fac6ec35bd41e7e717c720cd98e042a8f019cfebcd366a8156fc5886429a5336777d1f4b23682da498ebbdca95ba393cb7737aced60f85cc65dde8184fdbf6406fb2db5fa3543dd1fc46d26c2e635ffae99ea687cecfe5e783257a4eca5754c04d2a2bbd178c743ca225ca2a992bbd263e5c2c30b67bd9b6f32358c320433f1f400900a427174b9afd6e6aa89e10dd465a730c2f86a3c24f9838e67cb96cce83c82673725a091c25d16662d8de368be1629544dde4e50151655de525d5f6c831c2debcaa8c14676020ee0e86e8b15b294ac2ee97f38039fbe63ba06d0121b87c23d21856ba0bd1a01b77cfeadcdf008914860ca7f1da0853a68eae60460dd756e93e731549bbdcf480dfe5ade88c8e69dac85c43b2c23b6e42a19f9a9931f3f6a86f70f4ef8e1e31184b37b6e760fdcdd01026d916166e924f2732925cafa125840651464d0dfb1023f119fa51a6ae558cbfc3c4d31b9e108170191dd2dfa227e675c63565b992880752b2654622d033453fd12cdba3c5c899ad0bc70393c30754f96e03ac04fbb20223726b2b63f592a8491187e4ae0660d6f23dcffd77c8a8eb46862c6398be6cf5393f02891a6577ff34adab4940ce5259ace3948355eca86fb2c0c4b80ec77db66eb202bd6b9685f2b731d2a6857bf8693e72ceb0bd2bed5d8311926a5161edd37a7129645cacde55275841576b9132b71eba7854608a73a609a7c0eda73e78a1f6a7ff70022c2a5bea17604c9182d4b9bc0691ec03d66aef0110eff735eeccea4b50e4ab29a319278a86686bbf0ff6596d15c122739142590a0276c2862e1283e0516dc5b40fae70c983965eb025c0652e55c6028ddc1fac2dec835ac81b76895e29f5d8871fd05229b9584c0c727c3f0ca54a970d64b1f0ec74d84a3a7b9945b66ace52bb99421acc0993243b641f723150746e277cc57892dea04e5652777b11cc0c40c809b2d1b624b0f95e06ed4991f8e34698eb84a5219d882ba866539c5217a1c20a665e016380f83dc4b07cc484012707478a090b09a714acfcec21eb956c82ef542ba386ba480d6fc28bcf65a044e8b5e1dc60abb0d3e2a7661732fa05722c7d34757b539987623eb78ba6b631c8cab8e3fc86f41b25da445e46543b680ba989f459a93b417c59e368f717c90731aff717da289ca1647f700e0ed682062cd2dd0eb8cb01b646f2bda01c96d6477a4b149d64c02e1dee92f27568330be2966acf6eab1e65cefbcfb02bd1fdecda40d8fbbc8d52091bf1c2a0f4786f1b901e6179bbbafdc8632c273fad7b294c9067af043ff7453076c897cead23057ae537c90a4ad6847519dcf8eddc968dc5634b78126d141119137ad03b2c86dcb063d493c815ee64dbe84b88ca9c33daba9aeb92727f85b4094c18e7844de53e2ef1bb4cd94fe74618d5a8555442d8c12d19e7df668f95408ee382063287d2f1591bfbc7a4d5aac83f555f3f21094f3c676a3922956ed2a82ab365bcc47c3c888547e14da01832ea0cbb352a7fb80e2768e056fec9c7addaf7f7eeb05213bd5380b6bab5d403e91b325df2d54fd3e6e76df575cc9e87be27e1a4d7e5a7e962db702c9deff316625d8f92bc0295ca6aaa445e456e807852d83c9d306a38a9ec503860ad5e058127a118c535928b76a87b32ab16ccde43fbdb403f42d85bfbf43b7ac6597d60d959b83f59458dbdb40e53e107c1d1161acb47d7c2f55ca91a3771cba644eaeecbca0a22f8fb9502c29ab3edbb7816365f1051bea3505d15c8d4bca3fa30fca820ce29385aec8f6a32196ff3adc87da7c7c0604cc76c58c970048f7956c9ae03b23bdd3e445f7348eaa237de42c330be540cb6a19cec94458292a04edd720f9ac2f134c6f00ce44d93f9593038a0cda7f9d0b1cdc0dee25e1b84167f364238784bb4d6f59b1d6e21f826c479bf750cc79ef491d5f3297e7087a19bdacf0b6ebe37e42bcced17c1f4d5c6b8d8fe781d1f650e82a5a21fad11e9b4aece5bb5013f6b8a5b8d671f97e3ea848a1d1172a939b84f6f881af5f504a77a620e918225c5b7db50e1f138bc22698772629253373694d8536f51cb2aa3676e6334e1d80f47f45391bb690143fc293c0a389592cdd5541e9ea62e43ed5eeb2237df76630a73a41e8a63270c3573057627b91faee1db176baaeebf8e625e7cb29adb4cc88710c8784c82e07dc4cb859443cf6bddf20005330daac098346247bec6a60534e0cbebc50bb2abead8e134db8f4ee75ecb6500f277d1ca9772f9fe520c960a700fcb925eb9ba5fd542ce8d76dbf2085247be0c2c3e11e750269bc3f874e14d376f8ade0b77d67d7c3664495c43ff2c241b9716b29c74532d38e18d7b0c5de32dc0bef411bbb6bd8bae68bf053060a73448037a91e5b68c797802e0408d34cf3077ef9fa0350be54b8565e7cac9b4e801a2e8c74141b29e74751152ea5a32b60388b902aa579da0189fa697919a01426bf427e0c0bdb1638f07dae5b5293fc881704648b66e0eab0c4a7a0dac37b8be78d1fa6a4d8c6befe68776fd15a8952822ed554261b6ce107929c7760447e160f362708bf48895f5739caed47133f341c96dbe91279c4b53d1c4901310e1e4fdc0b27e9d1507274947e87999a4b060c18e1ecc80b08c2510596041441f62b1cb026d33d08956bfbdbd57cfa237bde4da723c76c5059c8474dfa8c99fcf39040a98b213ed53484eea8da1f0d4eecfece15453eb3f91f8e917a70f3fbc6937c4db6b1ddd5ab910f1afb504fa59322867d6410b552eea4ffd6dbe0042364fca9fb009671bc9683e957897449b424a11e978a98ed539d54fd366c556ea87d7bc57172dbfa6ca637b8bbee3680f7bc783e40660c8bbca5236d992265cc2b2d551940ea728b8ca89d02b1d02d36c96d43dad37b1088e131094622d2698102973c3d0a35096bb0f55a2e04a79f033d2be4ef61e62a44666ad30ddc3df6118fe7db5a4516e10ddd13ad03aa1c7392d3c113a805773a1dbbf3474869150b669fe9d9cc1c2c602fa7ba7aac95c387324bb0db1ad03e34e6ddceabf5938e615699f98487a2b8dbdad581f7c902849005eae587f19a0e470193ac594ae44c376def8b6a4d39dd7a2bbda5dd660ca18da5137f14756ec0f787f543ad6cf54d0f764856fd397ba1fc77b89a5f428822070d300d77eb8aa7fa0654066066b0e6ae27a0bafce0d1ac6dcb06618f4787ecbc21eca5e15ab6b6b1f1a8839c61655ef4d27afedca2b539f3fecc029f534343f7bd7793520f36b6b075bed81dcfa7c766872f6dc4cfb29db7523451361d5c8562d3eaf3d570f91017c2b69ea11158bfaa4351a11aae79728fcdec3d18f051d0d456d0deabd8fd048a85698db99fb775d987c5ff7e2f4100e4d4bebed0b13cc426f3f71bdd05272a10ccdf9d15372d5d56987dae1e03c64d5bf63bccb2fee2fca947e533b2db0971311ac5d78102fcc66e74be5f945d8a7cd88c6447dbca47ca5d4907a96be8f9099b7657d1405db831421903050ae8614be85be0c13aa56ef9a82b503a0ca11e4cc55007002d6163070a4246f04157577412b7abfaaa3a02dadc8a90ef89353055af2b4e087aa4255745fc56559a97dd5bfbae97ed025376f633f06f48eefd021d3dee392e1b49152d6f39b01e645fce081e1fd00ebe6943c653af2f30ccf6994e7c9536b8e0badc63abedd068c421437fcb6a626c516f56277b29c098395a0e40ae1f0ee71c9763b1970db9934dd54bff66491e344880826385fdc1eb7f5a93ef0ea17a11e2d72f382c25052f35ebe3f1c3b53b9b896794191dd01ecd27c7738fbbbbec1adf056c916433e5640db32413e4cb9128f65188c522b8d643a5040edd9137081d0e088a4e41e67d9082d372448babaa7bf9f641a4eb7353c0ba26fcf38402d322b18779c2fc3a867859466b71efe33103c804178cc1589baa961ecd1f6345f5960d8f3ee1a435be9b2058d0d869464d4e62713f20769cf0bc9eade4263275d836b6ce45dffe1d355dffa2ee0c77060f47a9697e5f6e41bae04dd3034c560561df008237157d8bac982bc8643147b9621c59e1e20c67494ee2627835f10c8a70b9982d990b21b01d0512ee4814f3899fbfe18b2a9ea8e77a6fd68afa4e6210eeca535931ff22bef119ef0ca7b16616ce72e9267c7913506e37f56ce80d5c9920ab86eb5eec90ce962afc437950f9725a217bd245caf7216f9d3ba36058bc17479d9951eff7e800e1e8f1603ca56cb2b644784c2a170bccb5fb93aaf43c6ce9360a83f7e7b0cbd07037feb4bda42d1a9e2b2736fcde10bdcbaf5c47c41d16e3c9566487d727d3a12171e62e0006809df62a81b50e9492c395586403ae20af468a200e56555e22b3dea664e33b7aeca89831e9d049ce95e4fb035183b7fb2c79c0511ef2c12073a6f28d557ebb7c756b479a00bff9237452d391c6d1ebbfd32608ea0ac839019b3f8103dad58107f8a1fee3fc1ff858ba514265fe272d5c1d8383a729cbc5ecb456fba466792731253a88a6cef89ab4b126ccab36f684b537365eadfbbf53bd93e6c86d38fedc04a37b20d4a4304d59a2e7e3cb37ddda7bf2716aa21eef81052ab5b6133da2d7cfa24af5535e8b06f37c1e911cba7649e6c6e61a832ca8c2b9b3082b57838d26db664b197cd346d90a51ebfb2709d66287c52d1010b38794339183d8f6279d886408d3987d819d06819857412d4e2cd6988086a283704441c1046adad007212c4b81a384ce0410cb0eb4db60259f0a0fd59ce9fecf2f0e0bb30c846faf681667ffd49f7d228291b61d84b37dd057de0828219e6fff219d58c90437f49d24c3b6c3e078101f894ac3a08b82a73f3f638dd197f2d634df0927cce1663fa3b405a16208346c9b65f49878eb12e38e317923744bc021c59fc192115e8b25665a8bff9e10fbcfdf6a30301031c701fbc356864cd177edb5dab3bd6b4c323cc229201b16532282b660bb51916291930ea82b638b9149086de01ef260421913cd05ca7b59e63a3945647dc0697154a02aa84175ec48a077d5f5469f6dbeae99cfd0efe325b4b4f4a6bca808d8e1ee7bb4c3401625150fffad64447f607d6b79f0139debfcc7c41f32dc259055201e8376424a38e10bbcbceb2ebdbd35c784a38105ad3bb900d6e1bd63273ba54b2128438eab85202f895bbfe79886fd2bdb27f9911834a089b95b142c689625b45877cc73100270236fa12930c4044a6f88701a7261a36e8d164d8dab696c468b0286478c53121669a0a2ae1751cf2a53a516284704809fee47176be90f70b2a4c2f30126cc77c48f8b67e424744b5e8f0361e5eaef053836f3c95421f624731f9bb4d015142fbab8b015db217f6631957d66dbbb33d1e0bb6c48257496172e2672ea0b78157f1983b06f075cae17885f19a86076f6d9452530954f1fe860bbe40cfeee525795441c3cf6faaa8de357ec91166140fde66bbc189a6f55c00026bb42f7228234a21ef4895a27091f6728bc7cb4a4835ceb03ff7426a4eddcaa4fb68672b0e57dc0952818adba9262ceb94e9559e0c5e79a586d98f03ae5a76ac8c3a502a611e81a5f1d4e29fa3023d594371da78f43555e80979110cfaf659bd41fefbe23d1acea3ca61101f89b1a5bb316472c9d275efcb80e95db1c8fd897b6804e1a817921b975f7db58b4b838a72f5d8b939a63ed65c59a2c49ba69a0e595309b3ba08fb30e172dc87c6fa5c01c056125415f2a796ec007d1c3ae0a1173aab6031b7fd7ab885b9174887cee34f4453f631f66a949f1200af97632d481a3e0a03cb9fcb3f3465f493841a57286dd16b19b08dad659e31c1e0dd31e5e8a8738b79291f1ac01cb35517f62f17a30e5547784843614c0e32d2a9c29cba36035f52862da91b6f021c189475eaba8b3ca5666e437520209e5104ea94bab88bde3407cd7916801e7730027beac5f85520e5cc9a3a0aabfbd34142c561038129ac1f9919a39e476eec0c34b2f873f442875a867e6ad3e2e06c611eb1ef276b8d3062574b0aaf1a1adbce21b1384edd7980404ddb88c6a963bbfe60d46bcf24490d332d7eac31e7bbbce0304f65205769b790231cd5fafdf1787ce5af7a0c94ef493f196c4b7e8b5f5a0c664d2038d367dcf363f1d86a8f6815ffda59761eae137c30b5081d3f3d13536a1e213594e648e42c975f3dc396ba0ce0e500b3b4c2b3b60f9d41de5eba085e393cbf672c10da00cc13e208bedfcb6c40824522bcb650446242102b96ce73e7db998caa4479ed52dd80836e17dcc1d7c3adef51d2f5b772280d4b1caf62f1c4d0dac02c23e44a491850c99f9537f3e6baec48754d0ba2ed31f064122f2b931bf2bcc8ee718802c6333fd5458b97d84d94959ed0d0db9b7522a9c5f06eca1a73c61d95c8e5350fcc9f04cedca4b2ce322fdd91f034db6e7ad5f9ba2716a0d593d088d8448f4883578f4cf206c0707e16706355ec9ec9db88596a254af21b09837bda13e5e3e8a3770de5eb065b8795c0aa0b75205891c29d28b62fc96e0d228f056cb889c4ca1dc3f77ec06ed1bf98cc0922d97a0a77b1f910462c0136b26ad5ef5341257d1f02de34baeb1e06993ae749401a5cea7b4ecb19f4edcaaee00ba5627e447478f106caa26bc7589140e3520e6c2e3ee59823fa10ad69c1a2233e3eb68e944ad045364164d7a9b79484c75411ee12758bafc5961c86174f9b4c41d61dcaf1154fb77ddd9d619c886a8360b275fdba48e13fa241f7c6a2f4b6a5fb83aebf92d72a9621a80ad914cce8008e481a57c80362c4522b1bc075fd430192eb52e2ab70dbe3b40c0965d1ec7f17b87822388f97b1364bf27cefcd42c76a8632a4ceb62959229b07f9963cc6b88e7e07fd468d6803ab94945285def6926586e9713beaace1b4803c09b24771b45991efcc322a3a97388ad2511f3515ff383df3e069504267c0d4ac4c25cb013a8376cc127964a047d0f881d64b0672b18a1328e220ea595349d5efdf3e08e1355d55ca13f21a507e293d9b163526f7b363cbb725429d590de61be20937681dfec2a9eb85a9963d808d6d2666ac6d5ca6e8d16e89cbbef76d3d7a00531e27a04c7a004bb94b2fa063f27875e3e1019ab3399fcba20cd98f49e7539143d20fb2ad3df3e81445af87c913f2510de3f35f84828f79af710a6bdce715022dbb51bb8c497710b6a07365412830e214eae11c262f0ee144451d885d51a47098fb3a46902517f2b76d74693985e2fd782bd95cd42171ae6d589e1dbc313f108e5e38582666a5b9254371f45ff884f0b7d8d4f139476869d7f240d8f3d3ce8574a18d769d5797187964ec8dd36bf0db0f6ec378d8d3898112f6dd46063d5bbd97f99eea5e05ae96723ec127af9d5b62d45e234a15e607647889f9b7fdf61125a65dc3047c48c66c78f3fd98983acaadc738a5e3574058e21912a4ec91adc7a873490da9137d71df008d63e154b570df15e6fcece3639fa5eed2fe2577f90f96589f7daf93764b642b1c21d89fb4ce24ba1d01b0a9bf445075eb2e79599f3d556dd428e764710d10ac4a6028fe409e39e9f304b821c69dc74b9817eed3e467f5bf04186a960d6859d3cfa6be67afc58c156c96011a7a58c6063ff70927dd2d103c7ce7de5d68b9c78ff0c640a9d16f2553b77f4cb1e71037167e74653d27bf25e85269b2e15be277c8895a12f04ceec5ef74dbe02813bfdd53a52ab3d61a1f9bbede203925e758a67afe2a0a05c89fe87fe6f8c3e6c5f944f45ae56bc7d51d9d4a35b32476e4188540d9c6a54bede8c08e1ca3f54666ee02583f0ea3720fcda648ca8789d7213187c2c19d90d1d6c59da79f0761bda325a6bc24f6aac7723a61c7ae9cee8093fc62ddfafc2b3fcaece5c12b635f56c1be274348eb3c4be24f3af1f18a09b9621afdbae57ec1e0b575aca1215981f0aa2ba2c642871ff46994db04cc1452a1d4a41b33e574d52e3ccca07702abd28f206d0cb5e5566178e1427af41734f2c14006ab7815d6579680573e230b77de3830f9eaa83a1102b014c2a6073332452cecf3d31b929c7b2da1d330ddf311b43eb82cc2a149079cca77cccdf367bc19d783075ed858b11344f74bccd48d47ab6c4f7a8d775d514c871f2855abd3a55ccdc477e5b555eb50501af8653bfe5802d1100e4578f0c0f6991398f74bb2ad07cf0f0600a90057f3ec80902585973ab1e899cc79c05d1318476443eb6d0814c5a26659870b28c29f169d7ce18952be7c642d1cc288dcce94230db32a776ee02762b96859740a80cc50e9ce29df5f8a84cadbf2e970c929e893c1d9b4dec4ae3620766e462e6145bc70b56bbe1c4b99b1744f5e7917833ce414e5107d7863c38ab9f873537a5e0e199f0571f421a513751af0abe036cf55c7af75f2d9eceeaba5021ad71b24d9ed275dc4af737429bb4e117641a4c1d0a1b37cb2b0ebe890c910cf391f298a191d43fdd91681e8520303548c7db7e0bd818639f30b47b197a0fe4da8ffdf58134f5d717a53195386fb58a847d4cd74beafcfdd66d4645daad9a2924f9e5b2909363f7b7e2c761496b519ec7fa05bd48b5fc28cc5a65c4417072047b87804c4a4c29d2e8cfa773b66662a54e67e465705041bf51d09aa4c5b91bd1e91fd0f097e718655cfecabc0295405d90c68a348a53963e185e16c71a8af41f74be2895a46ae1943cb63e6ea82a0f71206bc27b7e73c3bbebbc87e31f466723ea59a4a5d05c5391087ee5239e9499ac638141056182ed4a5196676c9bcefa9f912cdf89088fee99280f7b803be0b133b7ffe128dd7ea031beefe4c41a2381e5364b36bbfc881400f09d08496d2a1b85d697551bed1adaae5ba6039b7df9539abfaa464683cbf5afc21539fba7e7fbf076289b2b75794ebb87afebb232a271eaca8762d887a6930b0ee5d99c3e5e742b7d5e803d823dfe80dd6eea8265aa8b82c985dfaa6626f16c7dc6159f611034cb68fb50357efdc06619a1652824b098aef0b959903e6ae1de61c1dbe694d34eeb6a31742d8d19d95f7da5bce437bea98806bf6c4901a11b3faeacd05feec069c7be1f63c6a861b9ba0df24a29036abe4f6debc86801a67ff728edd6b29b0be2e24995d48672fd8d22255f8dc5a7fe4cebdf458ea9715e09536ef43a2e0255aad549ebecbc1defb4a69f57a6a4f800ccf60a02e5754ac3e9183359bde4f3be19fed228457c8618194f1a9ef8d79fb3d75994acf7881e1346809d36169c8d7aa124f5cc4f57e898bbc4ccef0f42bf12255c8cf818a4fa23f7ef5eeb83153b3009efb0280bee88ed718bd04da72dbddb9eaecf82b2744c1537d34dde283ec47d84b33073cfafe23bcac7170578c30ba2017662acdcceccef09b99edd547f7bee2a58894050ce88cbe230dde37ce07a443e533e571579a56312f264a02576e6dd8696d32e8bfd5fe1410599a24d89174cf7c5cff0d5dcb5729c3e0a35f5ca3575271103a68c1b8a1abd3368c4bdd7efc8ee44c463e194915379172040acaabd9677a1a7ae6df8676267f1d415c38ae71ebb9d8f28d734d4340d51736abf95d3a81c38a530228786cb0613b357778358e5941a24710c2867486ee7aeb225c359f7fc45bc739a653ddf55ed0adcb7d56af454945486c8ef391ac374fbff705f457ba2434bf75926bf7aa2ad8fb9952de10d4f60d7a7f36aa007c3aa6c7d8d613901b7743639072409bb0e33765bfe28f86f8ddbed467f272b20b65cb1eb301cf8ee885c786edd2be553a46e6f9ef3bd1fe814f403b625d0a5c279b2bf2511e44d4cf6e29c4a24a181e1b45ba3c327818ec9279c10de192f4931d70ce4a8365e7fbf70c49892678aad75c9379b2ee96367ea2cacc03f820de973a0d1ba1ac251b017aff6c289e7edaac005bab143135ac327ca08ebf8d8515a33a83f324d826cf8535f5ccb371effdb05b67184254e6bb6a4c6e4b367f0c4043a32bb20c009f7b919650f3b02eb72142c5141026d3f4b36505914fb13d475f1fe205b7962187a32eab1cb32e1a6f0b71376a1d56b5a5c57fe9281a0bed960795925a18d4136deaceccd8fdf9783f2808c53e1b2f6cb268dc6e533e85519721a455e397bed9766039efeb1589751c27550beee2bea858f57d381b8e3034ef877793ad174e983da22e5bfc692568d3e809f7600a5b24aa3df42b0ee7037b95f1065b5674cca2adda89d5aae2d5235a294a76212d99eb10a3ebd07ebb5700db8f5e75cc2bd5cbb60aa17508783968bb19f59c24da7598a2f0076fa21fb90a039f20d965a4b5959f7a0c6f57dc740dcee740e52102c42e92e2b7351a1bbc808e608f723c9a0d2d46a4c85275cff76693d1687cace231ce97cdde01b4ba72126751c185180d35c2dd2f2a1caa3ee836a9a14d3e033253ba01bfa04b1baf32cd1a177e3520882ee2d507f9f971c29ddd8bd6a765d704a7d6e29d70c75dacb176bf50ab696a2f323e24250995706db871a9d506c313709a1c5df281ea864f71cdc86dcff516ecc288aeed10053fcbcf57d00f9a368b0ced366bb4f220c5f88762935bb0cec0e3f24fcf7cedbdedb92e4f18caccfa704a10d4e195254e13668cd321dea952819f8740f9239649468d1571493cd282950f2df9f7fb8a3a03d85337971b7cdf4aee49cb23e1bd9b647b9f3338a3d10f561bc824464987b4be29df3c8ca957df2f4f5b1f59d2d66743f0334fb50107d8d935c958d37991cc298645bae58312ce136181673800c21609217ec0493ea7fbd53164fedee3dbf0016dee1adab05fe83a654ebd326ca1beecb22d28cf1c82021e3a6c34bbce120828955db7107cc546a016d5e7f952a93619408feeb798cfd3b183e12fca6ce4999d4980270b8897ca9ae0251538e22d07070a190ad56a4947c37cf4d524ecefbe3de9a480e0fb4abff979deca036b4cb1ef637d417bef73b2eb0c66112cc785c7cf0032f6b7be597b0e4131681398aac3e5f1087d38f7d5483640c7b3202d2a9d2ef85b900d142af4f2eb3b042cf93dd3a96af05f509b6b7001260c3fab7c513b1de0e76ea754e197e637a13e6f5d2f2692e35326b2616435b0e92fa2757cbee3c79bc421ad18961982f915c2d798e52e1cf3c211621421e34264a9666b81643fd04fc78e4db000eb698e89b9f619f38d2d965fbfdff278e42ec3f0a5b425514516636cdc6ae6c0cf27ed95a988d233e56be03662902496ce9eb397467c54bc0fb44680b83af86ed919d1940719cac0e6dd0d0cf562bf34037966edbb19ef3136bc24cdea876d199da8731b85588a4a88275efbe5713d8425f0ee3adb0188756b31e11a18c1aecd7e87b4d322418b5895ba16ab7b24c4c60d039120aa47fbab0effb936dd7ce38357a0a27cccd56828c86b0de966cc82f6bc2c0e58854119e1894610151595565d73c64bbacaee0ad007109f8d6f28d94c511c2bdb9592d8c21292b2abda189ad4c61e364416d2309807e41cef7e67a245e62aae17a5da71ac86a43c45797ada11f4a2eb49b6f5d09d31c8e9857b69677907c3dd7c2dc00642edb5cb6f3e37f45221588a5237b9613c94ccde33ca1a7cf8faa1c6e7919478183c43bc273d6664f4284e6842ecc02083390a91c205abe6e0ad4224501a52d9aefd92cad66f31f78954e875f09793c0891294c8e674250cdeca7ccb4a6dc325841863ad50410395de173a7eda3e4d815731451858552d68c54366e5f772a997abb2e690e90892425b453a8616b4d1f68339b2cfb15f9562256dd1a6be38634aa0ec7d51daa7e16fb632f1cb350cd074a11fc384d44049734097a9f0e94f36911811d34f64ada5daaa4f9f13be4ff276f8a861d4276b3799de55503b3a837a45675269fcdf1c3d586b1e0385b848afff2c7780e16ecbac94f69d00fcf16cf4ab0957d2a092765a2e8b4cc22a4cb62b8387dd3fb7a1fb496bd44b078d4c753c42971559554db5ae203d3f5b91c5418ff970758f7673fe304fe2e649452d4fe95d091685e71c0c5f4127d31de2da966dbd9f092d8a2e9d51054735c0b7e166d19818046f7cb9835328155af0b0fc0ed480f6a7073f5d51586ed206f2355b4959dafa00c7639c84994b2f667139575a5244a03eb359ef1b8c54d1ab9e861799f98618d00caa22c417bda6c056318734babaf7467e23fbc35098e294e6b04325d3c260f658cc099166fc20b26e558a95fb810b123bdab9e32d894ddec825f394cdc117c59eb009d1dcca5ed21ce32542d74f3b57bcc371b0d3816bab5e1ed89be2d53f33429720cc96dea5954fdeb0939ff3693b2bdb20a2780c8e4c4299b26d6cacc80db58b76a8b224261bf7a0e5a8aba7a6b72902b10195ed0803c0022abd8876c90eb565136c6bd34ea5c599e2aac132f8538a09b0078b884072a277ae87bbb065d8bc741da0db29d1de206415b016822090364f175fdde5640b831c3004f73371cf72cb004f79c391541a7a3f5f127e00cab2ec46fd0a2f6c3c4557b4092397a8177e601c49abce00423ae3d83684d7fc30ed0b15b37341add9a500ad0696b6286535c28aab90e4d5943ba3929c719fedb9936a12f2b36033983a0ad326b7bd17d56c716c65a0cc00caa80eabde8a5e5d40d53c9a7c286050dfd1559f4aee1a10e13ae76abc0b86f6da2b37009426ced7e8054d796bb8ac370c6a0a5e632b836d15e7246565942a347f9fff6545db576135c11567a03f8fabfb103af5110392bdb019a111eb462772da272f4cba2bc2fc5985aca2bfe6cfab1443226ede8048bb5649e20af9ce289a9fd40670d7d103292c8a3b0de214c190b881d0c640b595ef742ff1a879da93fcf7b113f1d3cd44c521a3bc55c8b521a39e257694a196aac05b9132207ce6c24f1417b7f12daaabaa44352a979912798cbc90ba976b42248ab4235edaee88df0c6aca39d96fcc2ecb640470be72fb81942024c07c36cb5b8814fbce48d81459f827fd8a7cc1d6e20ce4722712d90e49d7c9606964066f38dc5fd127ce333d9c17b462428d847f3198e1db4ad63165c56011e5eb817511b0cb072a8fbfc7f8dc7677246a1f8f1743571286031c8b3106b251cd6c92b4845e3e1d8c2ddde7ac2a249b8b118a1f80329fa2a7357fe546fed0c66d24cb9d8f353dbae8a3527be66f4d39756d4807a1decb6458e85a92b50827c07a68b33226bfcfc7817335d133da0358225ce972b865c1b05ff97375fe6ec3285be4b4a5c24638bf5401b2ede737fd04cc56442135e49cd7485f6d9cf5def401f1ec6b9e22a708951ae47afb29086445585c1837b024ece9ad14392550d45ca8c64ad31575a0fc0066fecc6f30a838845d7b27850777475df17d53af58a2560843aa40c5253f51610f981bc1a65ba2cf0149854e2a0e1ee693e26ea88a8ad36e7bd6c355e1d8ae93ac62d96e757897832d4d761cb01c168b86f27e9defd5805cd49ba5c4a36501e620c84d9661e0539f11b355e847af208dc964fae77b9d34c4f9079bf25e2ee5b3a962e22832b3730075b82f2957a72ef408c4a771bc170a35e9a393f8dc50e5d67976b833abd26d1ec0fb5ac2122b34d9ed58ca6873fdb97c547ac8c4553e890c2e3e656c946870b515282f39a44f348d0a2a04fc9019896e05cdf361d2e5ee6be74faec9319e04818747a5d9d92518398e8376b6c7594d11dff002be070bc015f3533ab8cd11a9deed18c3ac88578a6aab9c6a416cb62b6dba695f5a296ec73b7ed078d2937d61df1eec72a73c047fb9c1192b59351f2d0e12db2db70c3d6f45204c9d3ab3bd17dc32c437cf48a22a23c75f00ab8135e6f1c2b1ab9481c4d25843ec64930d71965a80671974bfd41cf7d583ea2606550775bd352922f7fc99c1f0cbe329203513477ec134a036d3fa412e5b869980d0993dd15bc6cd7ab2227f1b3fb1ef0ba650735a71b74a68e71f3a521d2799024aa39ce5c7a07c465773ba8f1f5048be77ab66dc72ecbea9b557c6c80ffc5df30afb9127e8f062ff2b32574f55a54929b7341c0756de85dbb6a4515e596e6123eddf4d3b396770fbed7d05ea5985aa10aa24cf676c368cfb1b305292774be01fa39e1fe482cf470ae27ad60d93fe651fd01682a4ea06344805c7b080a4ef6d8587edd9f30c01151e9f80a75348a727b7035772bf4583dfa59ce9671cbc8eadefe5247973f0acb817c79956ebb79a5de6edf3bd196a5277cdb94988b7cf453c90e331322fae512093f715f11e6ff5ab885a381e2181d1dc0844d2f7078fb6ac77c8802f1bb0f4a75fabd094fa3035826833d1fa7bd730eccd28b7387ca2ae35b13347aa41d639505cf38fd88d1736de0f1b20f18b3ad9f3ea79410c7af2abd5bd0fa9065c51e1b644781e9b19c46161f706813c12523e72820f15b64267c1ccd5a5cdec4eb0a088c27ecc83c516b20d342e9a0135ee914607d91a501a6c9b8eb804b99ebdd0e015fe66a4b420c12907f3682a9fc1b8a413fed8da53a8667f2627f4c452118fb136af88d327de8275092dcd630d54d34902ae0b6603ee226f235d4b602a53673fbc3ee0d03edf43ab14d8e0a7049e8ce7f8f3bc8deb6634bc96c94aa2d4c2bbb4ed048ba985abcac482f869d38d745c00fcc0dc621fe57ce691b3246f1a47ae50cc38ab7e548f9ecfa85fb07b682909cf16ad4fa50c8a61c730beeebb64e27f110dfd0415f500e8bb0fbce63a43f4fc24b16a070bce16f7924efa59cc643d9173debf45cf3fd0bf7d45a1f16869cfc0495539461499b14ecf94f14201a4e433be7264f3658a6d6836048ffdd45252335d694432320c2cea987d80bcdd3b6bddedd39152cf454e6e345ac8b55c34bf3ae281915f3c723568ed7093261cf64d1c2dd21e6498402dd9cacebb3d83b3b40f0b7333215ae740337bd7b7ee343912ea0c2d56d78bf5edb229858a475cb984807e0b63dc58f5d8721e1f1ca750bf9d0208bb0fd58bd4a35be6e94e235ac172e7d6d6f582b9831ed8b1340ddf34fb6dc3dc40de7d1f3a29dcd65ceba041dbb4b2061a4d7043a3a5e255f062232b2b0daf0538273d7f99d0ce1b82075fcc191f7d979161f89d1cfd044c5e6744d8011442645b7c3fde8ce407c94cc3606e49dc757791287efba219a934c244e6ee5a6ab22b141512e05cda01a300e06d1e3fd45a359865f249982a6ecaa82366f2e18ad999c670460b5545e0710505773abd1e6f1eab4e43dc57ebc1501b0be103aa493c9e09ed44fff02a029c12e547fdfddacf8cec1ee18da026276d5b7201251e6f3a968be7f5c76c111e1d96b51e2c241d15b46553708f019a6a15b957b8e868a00eb5d9db755a008b23e0e467eb94f05ca1a65ad1ab9ec077cc825513ca470cacfc9171b65d5c1af4578cdc041e93548bca66500ce9a3015e9c1c171419377c15e9e8d6599fdf02af21eeaee624a2f879f18df10395e5020bf602447fd71ddac6bfd39250722e8e6539c972b55b6c7267958de244613707ba84b17ba1b2d120671b799cf344fa579b53a66884f4e328a8d77d87be323a1da1ef321a0cf5d032d6d926081c7c8db7d6909ddf39ae694e8a7ce7db750a26d51dd7bf9eed21e0f46762bbad7b04fd2178f789492316f8f0872d46b32d114bf66f8fee14788f12fa8e34fe48b4d6597d90a6eab8c75fc1d5751ececa2626ec0924b90f644064cd57e424a7bbae6d7860f847d523f29403b62a272b56a1a8bc002d3515bb03cf1f0e8daacbcc0b23074c5c63b713283cc75593e9a90eefe47054ea2a060745a06d0fb4c44914636286605efd0376d14a776ddf6dea9c47cb833dad53288374b0bbbf3ca9eebb03a15a36f14bb1085bbac88c714d9cdf84751b96185db61cbfc6065e329b5d33da3cf96b654dc652234d4a3a9547f0579119be8195bd2f5ae053d735c4b4681cb6821b9f93e30ea8c974f0b61392045b93c3148d1e28a3e2ddcaff662269abb1167664ac2e1eeda17b976c4db772f06e7572541a9a14fa3cd7a542837cbb49182b1cd12382ed0622ba682c066e989441f98d39ba41836cffe63403aa8bafdc89ace50d4b81709e76911af983b680d421e3eed03b9a53078116c17e55aae0fc3838c0226525a342b605c1ae7873fbf40eacd50be0e24ad62a4ef7f3dac702b4f69b26d0db9f27382c0122f4062f585cba7aba866e3846ebab55055989fd6f3e14ee51fc1ec43c742186fa29afaa32e30b86c01ca52f5a9dd2c50f0dc802f70ae041173cde77429278bd0173cf01939e3a93571b9303722b2c7f9e6be34a440da245d8c057be82f00be89f07cea9d8cc6d79fc5e15cbc654ba376bb83b08d15a6f194fc3bed1cc06f6ddda4f96fa8e3c476150f6a144cce7890e7b7c3d2cc06508bb6b73b9c77675a43e5a7d6c4887bbfd3e42ab99d74da11fca991f10c344f66b24e794a18f4a86a0f02fa7a1949cb07ff537bd96a39c43982fda8f8aa620859ba549d735c3835576730d9a315d51ae5f97e468f973cec5a48676c4fc02eb1ff41704dc074cb91757d57dba1e86e96b9a6999018f077b92d99af35d9529bd7cfefc038c1f3e89faf8178ddc1730c1ca844ff6c2def17887aa71c52f6ac7269c11e2982ad7cc3a74bcbd0dcad0f3c7b45d011873dea785f31a46db5839e767bbba08db30728859d7f33eefa13802dde38c23e31abb5defadece4c58bd54cec229f0019172f090ca7702cd5fd769d3158e321b90f6f0f4be0f81074a79af10facf5ccae0c27aed0fb54c0f135634918639eefd6e3c2752167c6e904039747c57984b628fed7d671f9b1d99c78b731046f5d777950fe78a05743fde11428a09673358492fc9a759d12001520e7905991e14cae83c8db3345bf0e1ece32b73d7d15d0a675cdb499a8d173131d707a679fde3053bc2aa4c0aab0629cb6af336eb035670e2ac444e9b5863e493b5b9fde4c884fc4fc73ed0b9c05d3b7cbe5fc74c3e3679340cb14d6d3205440c4c86f9107feb6426bebae56985001c798736ce74203cda37d2959f04ddf814ba5f88cf23bf66ca1ae122c0bf67e598a678e4d647e14fd35f50b66d49c2f5d38e77610bad0be30812e674f30f3d258e7186eb6c558b74a263a58c5d08f820a27a0d21e0299047d44b3b3ccd81ad721cf3a4f20983226218e3a216bb698fef934060e9650d75d767f0db4e5588bbb4a79d7d9be9a94e33cf98128072ca07584fa21fa1e2a4327571ec58a61b8a8cf485b8b8a418ee04f1e4a0a82f138ea216680cf04889829f7d7e4ef13bbc98d0f6547eb289c01104d9251fe5e23d145bf881a5262f6c661ebc6904b44f6f5cef170dfa2e4037f4987fcac7b8897c7c4595216d18b2c7a0978ab0769281b6e21688377c226987bf72c468400d03c3bf0396d2b9ab1209020f219d807f8771184dd42f1f85dd9985fe5ad0b6ef245a04e0d0e1a25663dc460794c09586fc914e7e4283d42a2b7baa93b12abb405422242ea62d39afc4cbe8a0ac9ec51de1c8bbe59f1f7dabaa92acde9dddf6ebea06befcc6005edec53ac19462e520837e4fba5f66a781ad064c315d9ae6c266ed4c7d67989671b75245db64dae458c21e8e765763d5790f0840ba5b522b4ae406601199c8e4ebf945641e056a9dcdfe06455d8b28e20ae64b273d481c43017a0d5d00e08697213a3c0ca3feebd65ec46bff78e3e9807edf9bb6a4a323181ae2ba6cac5c23e24468c5414d5d378feb4e0479092a8fdf0acc847dfda7e7bbf97d0b12c1690259952dc431ae0629c77bf8b67afecd3b28b00d789107c047dc1c37b668561d6eba36b5f1e7340226698b229ebd6beefb269493f808fb99990d107a3706129aa6c503cdb8a9a51e00086feb89eadaa96bda498dca2c530b38c893cd9485fcb0f40b3ec98b1ad6ec9cf1ce8c4f7a87c6cb2ad570b7c3df20e9dda047bfb25317e8d01414ba8aacdbc3a46dc7013bf2e19c1b4f24595cf9e121129cb0326bbb0343528f5d132ad5514ee77a38c441652ebbb60beda84e772c9b2a0f8f54a1a7b7e1fc76b7ff05e982ade09a011be353f02478c9f2202a10e923a4dbf0480e7dcf48b31925ef81db52d38815bed94690d0a1eed6ae27d8fa39728b63d84c17c972cae9cc952fdd5aafaa962f9d31826c62c974376124274e47416ec5d96b7bcb79a78efa00ad530572e7c3d2b97863b9eccecdec88688a507dbe612e0a1ce432099f51469573fe798c0aa7cf07eb755aaf59859fc1cfc56fc38d2cf972610beb060c9fbac72a21bd97823cc7851e6bd68b30b1ed633be62ce20151a3b9e0e5d226f01d360b8efc2f8fc90e92d7235e305790ad108219332ac0e677a66f9d7cbb07a5b3671c78ca7d53251bb9619a38384d6317c8668a3ed438ce528aea1ad7039efa2a6c22bf7e1f0c42b297d61e94ee90b6e0da3e2eb6c8589eedbb17cc794aaf4dbad6712da8e21fb531fc3fcadd2d4629011d88772fe0a4930207e34f6262657ade384117fc1db38ccdc15bb8ba8295cebefbbb9a3066f468cecd7dbbd19cbd094dbead9bbae7e752c116a8d4972909837cb74fc6b4c9526097e5a90a61218a5ad69f5b37d23b84d0c4421cb1be694f874a938d093b72d4071f0d311bd3a0402f0860c55620a074346d989292556b4f0526f4a683095529e20581ec72c7575b75911b39f3f3c30f5c2e0b3fcf23e7c25613cc354dac25c2a8d042a6f807195bea8e96cd9b127fa71802283a30b329c63d308f9acb683109a34db870c323c4aec34dd86e6eb30425395d5679d03f6b3eda979412ac379ea9ad872dcabe97e6cf03c2597a08dc87a28d4c8f27d90e80a4868e5e78996250db5d9e9c72b2a2ef20e247ff6e4c16596142fa56e05a8ad77182c43ec743d7a240ea7a3668d2cfe4e1d483d573d1cad78546183c11f8ee160958caf7544741599f62bde826c0b1d05f85696be888fe6226202b11896aa9085dad94757084611789675ec2626058f21c9e80c1bbed48098d02630cbcf11f3777c7b00ba5bee317ab22ccd12c2063979c3d8de91950cde9af77f297962b9864659ba96267207bb69024d144c29d164c1ce01bf08d5f02c60466050430b2a82509e4d41140540cc608581afec24117ee667a1ca2e8cb0080776dfa79027c3183d75a597ec0236e6da1e31d5f30e227aac828522f22ab6ccf5f5eb1805834d9d48aa7460533d62c233ee8f72755fbd97f169e4266e99d92a2486f40ba9c455b57bb9ebbda0d15ca3b7b0dd18f50a680806ac5111848417d84e84417862bc5a0651c93a532cfe528997b5ccc8552a1ce50c191ddf4209b7174fde0157630b30a7f7ab122ada1a1f53b368b26f92dafddc009ebb4a395ab72b8e812d25d9af8039c5fadaad1c3dab72d2f1e45e7f466af8325950f63cb573048924724e9d339a02e8ba1607c07e902c4969d0d0e20d2b422ceb856bbd7c5b0bfc7d945031306c661fb1fbe495dff13682c14086f3b4739d21d0a002c4c91a5d51fcc0f9a1f27a719b842e35f91b1dc903120f035268ab6d67abd99aef6b95a1197e317a9e82772def582e9ab7a2f8c9e4ecb93bec565c53a79cb2a5051bd9ace9f858d01703be2f18c3181c3570c23b32754f9c68af37fcf2b8c63a2f6463ea63f37abfbcc178020d716361bba157206e510ac6cba4f0c998402047b51467916f4a2dfd058c9612a6a940a452d9ab5f7aa127ba9ce917b452acd3b88b1097b0d56ce8df78e0dd9d068e0f4747a199927d4992dbadefda336bf2dac33d52ab4903bba55a9a6130dc8170cf04d42643c1104633bc8d5c07d05ec3142e9a1cdd64952e163c1ffa44ac8d9a5f72022c47597e43c495cd55265c701a99df75979c51a47ae5bbccb35b2e031ab16c423937cd0ce73b727de297e5095e2d692c5be694c5994ab116269717f4fabe5fca4bc413f159a4223780dd7ee92d5ac2cc79ccef820f3a388e1e217b97af7ab6de238035dac6e265c14e7fc3113e5f30c1be7b1a595d52875f1847392e92c522153bcd617d1020f92380e4bbaaa82e22c4b42a8ec2a43d8db854c2e11e3386e147defb2f3862d02994949e3eed9c191e2eb38c64c0246b4162e827cca0ebb4d13eb36e9b0eacc69b803920d107639ebad316530c0c0d827608b25007faed07e739732396f221451b552c487d291f573a6fda74599ddf788df6d0f1e2209996d2343a2e422ebb21ce15beea5210980806d387831b2df14d0a52093714f91688fc6df576b01b112de7b78fab5364b1f09454afc3e8b629ebe01f2b82ed1d6e5b4501186cf1993892f39941295b2f8eb2f97e2e4eb270bec8d6158e28ff5c1eec57f4731dbb4409dbb1e6601ba52cfacb273d148195c1ad594797e981557bf2766b6f9f543924f937c4d719eae99785079e738fb581510a7dc0e600543880c9a5389817089874db02d8aaf45b7ba193b19f26ad7c8186022946ba3c2506538c550f8477b8d393e5df9d6f21f8e4166e44088cb69b074028d3bea7d75104d8c2d1303d0127522315935653b4a62040f03a98ffc2a85fa917781ebd2efa7d4bc6b92de8dfb97a4716132959fe00f35726f4772832695d5c0ba5fd421fd6e546ed8c434d7c1eb07080042482190f400c7b632401374fe515b3761ec935b38750fffc6add611e8ca61f66ecc129995978bd0ec6da897aecdb403a8afa3a24cdbcd84a24148b8f015991da087c01a61f472aad478cccebef636c0feb99beeb3500051b42b41bf17d381803d8aec907dd037a74c3fb1e23e571338b5e2163978b00518b7aa02109194d86e10a1816e0d0818833262ec22f23e0d5671474fe867ac1f9af9e2e03139a6bb472e689a56c42eb50a471d53bb058971786685b7f43ec053e3e4b0ffc551d4cfe14cd761d7066a6fb5f4b84635aebc492d0757c6312e965c3be18eb2eb06cc848cc305cb401c284fb294eaff18c23d861b047d162aab7f3319daf10cee5814d51e2e6c9086e9e038bb6b087ebb79e62ce7a1ca750916331bf54dc2190b2f043a8c005a3c9778b30afd93a4fd506f5f3740a0cc76a7b64286f24c0457fccbc43a02c97a04bd7a285172b5b93b452ccfc6a63632637e581c8575d3b04cd8298cad89bc3df3446abb068df7b3e75bf94c7a02a2dcf5a63d770433e5901f502ab8a134d582b82e5634451b64e3559f88133225bd0ace6e8ed7e635d7cd72981eaae3bc14d907630cd9da42a91ea818c316475b9f42a50befb45819266b991892c81fafe7c47282503e65461becd80311bb03ea4cb142b314029cbde6d5785ea26d20647b90513a35dbcdc757b5314556759822a1b43f1f9a2c56cfbe6bc432e4082a7ac7ebf7bad7caf7765df9b11d70646bc98c50d59058954574380f93d1c431ceacdb337c207d86665dff06aae16410586f766ef1d2a9c5e885b4bc3a8f87b8e69c59b731bb189e483108ff0a3852a47fdf686f4d4a94e676c9d3edf844f05f94f49db946445a6caa4a81c1b0ba7a4952af532cfb31740618a48be858c9b039186f75c90b5082ff79424aca0802576f815d11dc99d928328dd72ddb18ce0a4d05234389129d7763fcd5faf775328ecfbda2d663d3e821e19e1192e4caa8333ecc8e88eaf840e2820d2930f2fbe2ae0356e3bb3f2b331930e3b92b83bc0a27d527c01a7a7c32bb3bc572575741c49bba3b6269566add25e04e71e788821528b3947f2c2a24c796025a79a5ba9cab44abcea5d9a198244356f3397fdb72ccdad1a22b218f5fd928067a07214c3ac537cef308d5857dbc6fd5384439519a4271dfb95af2a0738036a628d2aa17d09a329b056a979a0a1f732e1ee33e17380c7cc16feb1814544f4506e5c22429d919e0390ea35a92806d79ade287c10fad4f00835b39fc8fb6fc7c6519f10e420c03d51e86e7c166ba54fa140b0c2c25a6e34dc0023a9b710b46a0fa96d332d7ce70fb2c399e51e34e1d1f046356e75428f954e6ea94feeac8c9d3f0580e8400135bfe8f801591da91cafc2870112159bf853e9ee2bf5343cfa5f1153a5e05c80c7d847f5a625d64f03afa7cacf59b25b07d736754b17e0f5e05b2890549d6146a22b101b59f7a0dd8fa83483e3c9910a7f20e3dd58ddd08f9e94133e184fbd33c9d055e69bea906ea289ce394d1a382a0b61278f5ee5cb173d9c300bd674eec9fd58637fbc50c4a58251e0762f9c4225e33088b6c8465ccd5109a3405cee0b7a92df8ba7fbbb2940fc82dbd89ff1e6f9df2f173f23a2280242764defb77eca8e9d1e968385720b43b72487ad48d716a43b0f2fba82fac84751ab4c02974c85d2e5a2b4433b654da1478b8614386ddce8a3a1758aa91315149bb3870ea47f3ef7ae912bb0cbdfa6936a4a1fbb8697ee65833016fb9053c0b489d516c9b3dd68f15bad39d2cd04944af18b45f1d0c4d7b919d10e7d070dbeeafe4b90a0bdd12a779e88106b076295553e10f9b10d269ad03b3be2930a6df6a3059ba089b49b5b4fa0ed30fdb50501e239264cf85659e48583d5558d164bf4bf8cfc8a0ec7f30c1963fa72dce77b64f6a08729d8d236d1e97e5401fad97ef919155d8f51e254445bbca6f26be1e4dd73f0aa53eba6ebcb4f2eecc4d42036069624e6507e8ff4e5d82d1b018453e363190df53c5ddd3cf0fdd8778993190754ba10008b6f75edf8f66edc4f87bcf498c914bd915d341b3f915de0f21d64fe3d66b77678e27de10b0a3b59383bfd3b77915abe1f9938ba65ad514ed0ebd39e11564ab37871ab48399386fb001a280e16125a214d4fbd630969d95dfe966c959dd77704215b6b1e21b6d2d363154f73e86e8c4f38b320c33307ceaeeff19d00e4580c755c84177fd5e5170f6ca33f16451b4117bd06f54c221f711fa568690361707bca722aeb8956d711eed4b719dff057ce43d9073f399a4012ae8fbce63645924e1541568a81731f2c2726059115dae6b896561aed1211e86006b7b678a6cfe8e0d3a2b38d3279f0510188cfc66f6e64249d0214663b2ba5c6bdfa8574b99176decf6c4f6f2ed94fab8061fdb2d9b0cc317eefec9046d39a788a603a99b5719e1a42406e935b7a490a8355b95d65784668ba014637738e9daf450090f9a1d7df5737ecaba8d8afe8722e956fddabc8cade9ffc1b71c4a2574924671492d78d3014f5aa89ea55e6ec076772f2c839c9d77afd43e09687a8eaec5d7742ab4abf20ed1b2b6438da4ab9945af470081cdb6c2035a1dba8ae4f0ef4f29f6c68beaa41b4f6975778e431ea3193bf546a5477d91e592ad5dde15d7257c8e4fa7462322fbe7e6175c8834b90a693b3fb5a9912f3adad2070a09c0754ca013f65ee5e6f0a1b33fe618ebfce257228b30a77614f6d41df78a38960c97cc7a061e1c1e9ab7638f2cfdef9173f96eded13bca2d2eb4d7503c7560236f34db18eb2df259c5f34da5a2b4d2ad8587663d18d24a36e2d517d1e37f949aa52a547edadaadb2aa3e52b6c2a2066785db4e6132be6b082b56fd208c6c05b00daba211415e39b9c5deb2ac36ed3ac2484c2964685e640835cb790d9507c075d41ac2a5752c2388c343676f33be6181308a6adda023b3a4cec0fa5b64db271695f58cd2568623c7c5155ff80039e557206b9a3b518d2bb206abcf52e13f835f748dc9bfcd3ac39d04fe111db59be6b7d03d66c5d64497a4e38c64c52ae4a989a614e5d7ec6404ade213766d91d6dc86cc3f96a10995c1fe7b3063e6ffa699432ea712c3ed253a23164822ea51d5010772480f2833fa3be7f586cbfbada8329e22658e81257b17fc44d73b3a4b23de3d6ecd0f9ab6d59a29511c17b5ffcf01a6940f7d47392e8d0b54bb7002c184e6f1ff10b4662cde4daa54d364f33aaa33deccb994e265c01fb1dc8f6b6d8e51ae83ce565aa251e523cfa202546f19ce146e5f16c6206b3bed81b8c3c7907d0bce1078ff9dd718f929e045e80d15f6d785ff32c3ee981cc3fe74d8145754671410f98547d4623961d777caed149c7e247d1492137c68fa55528afeec61103c08ca6f80b9dac7e3ae4591d234def883be87cef3e752a26dd5e696ce573af3dadd7aebdb22da42858b0826bdad380e31843345711f5d8cbe5828b693df21a8aa877bf3564bf260e3ae87a0f7931b048f5a2c7d27c0c46cf3235d23e803ef0fc1deea7948b40a8584b9187931e53c8f10011213f199e5f38544ea7363eb51f6915191150eb1ed0f9488a3b97009f9f1e31c143f5adafab81990df5aa6ff334ad53597a9f6fabac952751e149a79ed48954e3da84785dc7a85563b23a5e252af5ec852dbe1d1bb3cf10db4fbb95075093a098d07617cd871f5258f3814c623363082659c3626499dd4b38f0ce140df81b21184e7664046345baf4327519f82f9b66836b2956f6ee40816b2e59a381418682f69979ddf9a5242f67f81b0766bf1a268011a2ee82102d22c501edc5e40a7e58fc946b0ca3b46ae62e3de2f1154bccf189c1381429f8efb988434aa66070cded892a21db7cd2cf6f0a413558e08fc8850adf9a3b0896b5e97126174a7874d9e75208b9895e4e41a0f85fc05abf44798f99b66ab9c0f7105ed750fd38ccefbc1eb43bc15373f02aef2549b47e41259fe368fd1b1bef4d786c6d4fed7ddb4a0d76ddc28e82b3d8539057cdc1b2e4285d621d8e746197b64d25da6a5b6f4c2c9b1ee9c337b5e296532254030d6e4516bb7c8fa57e2a9a1b83fa1d87720a68683cf3377e9b6604050fdbafe1f84610aa9d5b3c57c9cc65c039b95bcfbb6d6b49df3cf2a8d4cdeb1b51c3348ef1c6b50e5eefcddc43d72276d6df91dc0ff57d07f7245e9ea14b3550d6dcb655b12cd47b0293d8750cf092192ced1e16cd896abd496e9f65aef553d43d3d43d1bdab60a0bb4b94e7e7213888ddf102b33c1b8150b6d6957108d40b23c20942f3fa98243aa8b5501f3d33e415741c752565016e982346c2b0dce5dce59a75c0d809094df7c732ae40f52cdc24ec06627cc76c60ccc416c18ced631e77cc23aa6a59ded201a51b66d313b62c34ac0cc686360a213f35ce2683b08988821685835f978847b44cee007856a10a9a9d406336f3ad7d15c764317e16a4999ba051e4853eebf645e856b30ba2bbf99b1e5d12ed00ea8d92545c08d14a8707b80556f909c369e48fbe284cbc1754d8a121eb8721603e555579ab023c8d550bad062dec765dc3c1d5fb149b1e30953e35f849c49a869d54cc530dc9fdd1a7c7c2c810bebaf2ccf00faaea2eff49b2198d707c89dedc2be8f5737bbd7013409b019bfd269df2f7c1d10a61aeb7ceb4acf75276d9e226b76aeb810df12e2235f1d5730cde627b6a1d907112c528f9331d8700ec6f252ef82ea27eba25be4a71d920c6b1ccece98237efe60da118d3ba8ca6163d0749badc3ec2e968c2f0120514eda2e304d2e4dd91afb06a3144185954cb513ab5c6283c2370b3d1f55c0d2d8b22c5807cb39ca6fa9aec01e3d90876c524ba9ec81c61eb0fa73dacb6f81aeeac87974dd3da41cfb5f20f6ea6f315a65381c51161c35411338cc77aafe848eccbba9af044ecfb7338cfd542279b0ab1dffda19007aa16957e0896a198436f31c3b54447061a3d381a69b429f511ffa10dc125a7d2ce83ee098bfa5235e7448c2232a9ac88e2ccb399ac3eac9af203ce06c190ba6168c681e97bf02187105d398cab2eeea3a40102ef9ec1c0836b96f03dfed913d4d3669cd2eebc70c7ed442f9dd996e79a8e3997522482b044a0d8070c887c7704250af8461841796b49201cd1406e9903947e7de7712492e144b0a90184207dfb28fc1fb520424d2fc5708ccacf3c8331f3c0252483d98aa82883359bfcc27b00e5cb1a4913987109ca2608eb606c03b7c2ec7af823758ffb1dad2fac0528a29d1d46c61179ca0bfe53794df456539ee9200d93e41db91b69a8abe330a7dd0367eddf33d0b6505a6923efb8dcc80dc18d241869687ba01b8e79347deccbe833dfc232e67525927441127203aadb50e7cbc42a1d635651d1555963588e135c9fe752adc59d75f056d4252e479aa961dfcb6de7d7522763cc1a03b755319c990f2ea3511ae37baaee27ff1aa0f44650fc8859bc52584f55432d8d353158fde82166d86241e0d8a970ed29ad9ac014fcf24a260023976b46617aab36f89a6b03b5dbf99aaadd3a6b835b6da1b533f07a37e74ac7ee53503651d0967fd0b9ebe54bd83dfee9b97f67a17725ca43d46555482e0e875301643ef37c1bb4d17a214b47b19df979c46e93f4d12b0d79e2bcc692e4405720aa99fceca84cc0e0fd3fb37023f872a6d8e8746653f497b0fec3b8ff8f4fa5f30ec7dd2c33f3ca1f3e4ca233b8ada8ba2272abf98ddc8bb0f7d9bd94d3ee8eb7067f8f17482b6ce51f977d6cb67d3ffc3e8ffbb761d4c53035e710cc6d319aea8cd66df12feb71aabff20e5153435b903575f5cc2cf467ff9748a86e07bfd27754bf11712327652fc564a394edb4bd3704d282b22933bc3a882652f2279bfd4a9337e457174e8f1d87eb03183d2fcbda0e68628c22502bd60b734edc7cd4eb5cd573806456f503245afe8cf076768867064e0002975fb2d9bff9f0e14a17abed8b33d47e1e1ba72eb89c282a0668c6603dcb95ecc7e5b5f01bdd0f08b427d4f020034369a7e3b3942ffa8e1968ea9f89a2c2f728f1bd042f9e8a3d209640f4016d189c1eb0aa6d36e06baf2b02ff0d1da2a7d081a342ef0cb503762f33dc2e9fac02f9a645cc585053a4aef0b7d925e98032040eef5542d5475739405553480cc55ae66b1765db79ac16010eac6484ea78866254862602c6bca58b3896b8308281dfd950acc73dab3cf4f4efdeab9b09dd7e1003df2f8d3f6e4b7936cd19227e9e4271234d0d99ec5fb77070ac89e1da85d9643ecd7fb9156304c6931c49bc5956139f917d7e8ce6ba5aea64b123f5543cfe956af81f4adc6b077225490f7e97be65efd2bb7347efbde70f61414f16bd2b1a61defd47f79919cdd915a45512048399119151915f7e9145a61ffaf64f522dd3b98c571e8a3ce49f7b7e6ae99a1119816db8b6105c8f75b2868a5b2e70bc31d006c81d0c71f9f2782d88ce2226ca12ab62b086d16a8784034b3d3d7447d997fe52e527564d22361873a9cf3c97e96f253f00a3b51ef7b8cfe9684bb01e50b541ec6aa8067c5cac98e5682542a70f090dd3f8cfd6395efbdde8c665023f2e2fddddef3bb6f1b7341e342dde0be43481f4788113b8282c3c2d7ee7f55d97132592f41dd3124530f23e19c56d5823bc9ad59ddb33c49cd4eddd32842ed2dd6f30a614e5ed54037dfeabed7be2204c3101e3488c265eaea888eccadf95a0baac963a6bec4ac1158d943d504ec8f561d30d451f7a4b98cd74bcf041e6239106232e6c0df849b6441177c1d34267f35fb81367fece07836bc4f76146ba7ba9524e80605d910c313d00d432ca20be9eb5a52f25af85384ba39484e546b5c57c806d2a029d699845ce95c75d2138f14d7192073bdcbc10efb6c2ab8a1f26e8bcd0931c96334cfdcb5cd7e4296bf4bb6407d906dda7a16e6674c0ed21a714397118fa570eb1bd3a8d52a806209b3c6b823db872180b1257fd5a00c6401a2076b1457cfa45e0a2a3aaa9f22781c751268744438bfd31b44739d73e5ea7581d5facc3320933c7ac10348134db625931ffbbdc3eb290defd98e24198c2109ad38640befb48924548a00060e3fde88a70ecf387f1e97b41303ebb0c610aaaf25f47b28fd56e0d48578937af7b7ea52a90fc5c4c2f7e227b53099ab9910b29824b4f0ae2f719052850df3890d8a0ecab6b2da8b99996198658e8068ad07662cd0f60940a7c8c4bfab4a8bce18484f1c542d1fa4cc9874a90825488c3d2b0a0dca86190e30cacf34d6afdafb6e459d33523384d2b04d7357a733b46d815ba7d1b86d085fa7b8bc614665cdd62400f763eeb72220456dee352fec9250754bf78d16bc43a4a443a580439b18810a8c8188948189a081af3802de073e0c323f4cb0060b97f90cf1d9fd4211e2a93ec952e783713f55eab1abb52cf46f71836c87eb0cf0c3e36233626825856a3d5fb05269a80204c1e0b93937ae1f7c937807e8153a5f7793166abdac749a39be521f2eed3aaa73204cfee45e680e9e5b7c2aab49be54bbfdcf4c64832870e5647f419db46459541de7eca832feb943cf1e03a9d75d07c8d5bad8640815419c230ee9d48f2428427ab8f44b80add7177ae1ef5281cebb7118ed5ccd5462ec21cdf67598fbfb8b7d906c4aa4118aed0a208ebceaf9f0a17beeee7801794b6e4e8492cfb89284d55c0b6732a48b5950608f6ef41b3dfd6d46b5f2649b9dac2a8b81a9d7dcf0dd40ebd70e918f080b5f9687133742f65d471c20da6b60c522a8649c424ec10dba7e4ba0548c6739ce6f2ca9e5992997c7bad543f529eb1fafdeef83e1456e801ad940eba289bb4a068664045e15d9a83138c66703101acb37a9ad0370b527035754cc2d7fd969f16e5869881635ca9ae77c7ab85b2148d364d93a246db819e8cb2ed44c8d36d070134123180810c11e8fb5f7c194422ac2e08d5438ca472631189a1b920f60ed647fdbd801aad415989635c49d4c54d7f619facbf2f4d9c1807c21ea7386aea2671304ef9933bacd25ff34e768e771cd6d2eecd353b4f779dcb61c17dd5309dcf75efa9b21a02112373b3adb34ce2884d9df0e9ac5e44284e243f28a93c539362f8101cf94dd355d45717d5b59ec31a92fba74d1bfa59f951c5dff561228e0c18943a1425726138a769da5f77cb25079b38ce2ff9c3cb12c0dab91bf6145873612e1a128628ca7db79faf9ae6d2a31a9a6e61bdb0e5fe98af9da86a5a1605413f2f4be680c6fbf7eb3298df8d63d5be73d57e72d1f2efd7f0b8bffb9ac5f4bc6e1c86df3ee2e01c2956f0b2c023c243a50d5390446eacc2bfe6832218a3489204bbeebb6d3f9059dbb1d5b5c7179f16a319758a9c3049253a4c38c9bef60c2f4278d54d7df01af18bfe6aea344757b41c3c641b7dc470acade91cd1435be66b8e482d2a98c878aacea44b8d99784b4dc1300cdf74d353ea1f0ad58c03fc307f6d0d534f8c4ba1ab1dd383bae3039a299c77226b12742b28b190729aed105310fff9b02ca1e6e9a2fb9fb5edd30b75733ea7da8795879e82ba5dd4e1f3bc00318c9724c2b0d17e04a117d8ae67854d60ca5b60a6b478241c41ed5b639d5867164da299d7316254a617d8f2ce36866c5970c54a70058353776b54f546c66854982dcca65e1577a6967a9a9733de2c21821a4fc50455d9537beaef7bee8f22223ee7b3892acd561aecd39e0a4454c9d64869cbce47f041d3c3d9cc68ff10d36be17d6d7e2d91f61ece6ee5f29a904007d275b042f73becaf82a7454a66f26941e88d27bd972abd575902d7fc337ddb016641831f1da3309bf3affb2475987fdd27e972818cf30f335e376fd2fd3bc81855183d5598bc7f822c44bcdf7dc6f82daebf9bfcd619bd85735568a0f04ef0fd18aad6bba155e363bcc67d4c35f4a7ceaf9bfd6563f021614d03e9e4be25cdff0cba905083b44eca69df336121e756527e2caa7b090093df716d5595d7b4a4d95fbf4ad386a2127e7b1571a3d22cd42cd1d567b14770eb8f3177ae843dc416f37842e2c48735059115b2addf8a41305a2dccbee28cc3e5709af9fadcf22007dd2796525bdff3edcc828f5789903c62bcf4b0fd080d321395dbee10edf308c0db7134eea70da1a69e8314261fc4874d367b478085ca5f93f8bd76b761a7ed1dda9e58ec27ae129862b654f3393061cb83b888961d0d0f64ea5ced1da03eec0f29a8693b10c5f91d4e9abc959e91089d8d14a9411081263d851e9b1b65b87186a47fe5cd80f1fe853bd644f8bdbfffcea3c6f8d7bdb83aac308aec587852782cb0217a3cd7f2bf8647888cdc956185711087c2d37e7385f8175fd35f7d65ffc997f0fcc557f69f7c491dcfb5afa574883fe5634c7feca29ad7ff66cbda165e4f709aac7085738453e86403a81cd6e03a0e6b7992b4eeb75e4871ab2caaf4e891b65b0e31e23c189a66f47e209c95de3e565af4c8a204a7b979cae489826ef6eb5a037d6b5f0ed4e8a7e97167a49560a2dfeaf6ebf2dabac097cc66a7751537d8c642968fa827baa3dd5d6b7ffbfae1155a81f0c7104e622a12f8956671e9fa34e274aaf8be40e9dbfbee56b5e2b938bd7cc024ad0e763a67832e40430cfbef9a6e81f0d98712decb42283d414d2db4caf3a1bd1ff7407b7c6601e8a0679be050c289ab0d00b8b0c66c4f95647b219bccf2dc0f88b509431e91a5a66880a60afac558af64214c6450f11a09ee9e217f7e1c2f67ab56601da76714a5719c5e99b5214aa8db22bfe1507dbec65e7e8c93362d13b8a612b4f983c2793dce90f9775df855c724c9327ed58ae20d1f258d2dbd11ff8203e92f9872fec414732ea59c848aa10946bfcf166cf07fe241e5b41122478ff85fd83a06f8775dfd55b84d0de9919e71d5d64927a11df2ac7cf5d636a9ff55ab7ec53472fbf58f3a8f348cabee6fe774cb61e1c3d930cdfb6b2ce76aff1f35ffcffaad94d7fcf7334501e1eac5fdb56eb99a99edf0895b3d3f8734007c3fc7a74e5c6a75465500df3a0ff02510453ffd5ab94db4fe2a133208b5b8a89ffb7039ddd9da76bca1b42de7dc0b4da5bebc44a685f89220a21f1ed652be5b360af7b67c09d9874d1906c5915622afa10c0ad2a0b4d2bbd7971d44352f2570927ebc30e7c8f098c6d7964bbaa3467cca9306c307851a50ae3b9cf24f6f7fad65ab52c8cbabb48f7ee5e290cb8b1d39711961727b6115a8abb8e47dc11ef7a7cfc9c6066c0658a039cd551c548b7ccc6cee818aaf8325ca443a28af8dbd4df0e3e83c087c9d8a193f1f52131759ffe4b9f09ddba49532de6c9d8ee1956c7c055d4167a4e6e37e414e0215aa7950ef590e0a92278d7ef80cba1318840b0f7931139c3557217f0de85734918883075a248b0b0234d107f4041677719706f76c3a61814e6f6a5fa9bb94bf9cebb2e6f7f7d334165a31cf5dc148750c92ad804fb124ac2f164e3d73cb47531079aac303dad841c784e521aa7362e9d24eeb8ea1a0f7b08215e13583e468a2b55da8aa982c2b98eba00fb6309fd29557a292fcfacd5039fa0a014aa6284ed35d5c1cd402e842fac6dbcbfeb888b2cb60d9acaaa072bea20a81b5a48ae6294734a5254a6687e0bf4461b902e646ec6b265c47629952688231effa1abb88f8eb2c689e275ac87c2cdeca12415380a90d9a84c1f81235d35ce1f14aa143d49b3d7e71c27ced89ea7a8edff8b6c25f1684135580bf16d9b9a5d4c0302b787bb49798fd3d4bb7515147b2d24a312a08e3a6160bc2cd8f964e22c9c92672875deaf8c94e96099965756daabebcf493253c82b361185e8a4baa4337c2beabb859e80b2b03c0cbd3cc2e443c40225477b2f234139c847e165761818314365cf2a8074c41b7a72f87fa3a38456f70cadce7d2409fc570abc188d68978c2478c633f906e3136880a506324eb1c553a02c154e67563ce5b7137f7ca32b63f956519a84f40d33e0adb555ea33458935d3b970ac46c2968db43f842360e5113de3dc0da4ca3727e830f50cb4717e104e39568263c9c6a3f045f02b0b51bcaf8e23bad42121d189dcfd60d124c157d360797a0d5177a5a86240af8a3086d42e2fe6ceaf2e506eb72afb9b771042c0cabd77f490a77649a20b2ca5c38b7c4e75403048b32c57a9558be0c0bc1a806281b47ed8df523dcb829c235624d49e0506a1d4e60bc16269f72a646621b41040833222a6704e64369d1f7854e505cef3afa0457fe05f72fe8df38cdb3a6a7d1ad47d4caf0eb1f2708637673f8bbc92facde674736275f87ab99572cda5fe7c430593bcdd8725b6aa166bd1496c5b8e6700c6981981d7e348b60879ef396a075c520255b8f60fc54881bfb6c216b414e96ca5fcf40213633fc444df525eb50a3fb68068aa890333ecac4d425bf96fe51f8ac20385c335a031decf1cb104c94e1b671c60e572b77f6117112e1fd994b371c6b3845753c55e9bd34ea56618809c248d70e13bfa500725d346fc8ee42c871735a9a2453c8c7a59b07df9c3867d9de40e2fb7c37fec56ceee5d15e9a5f910b606db6bb8af296f4299adde11585b96c29d0356f70eefd6883be79992b61ae41bba7ccc1f37218e926b9b2560a9408a9b2508ab88677040e444b967bc476b4083cda66ed022200835ebaab3edf9af05bd6a08edb11eb69416d379d914862b9039dfd05524970b204b03379913efabd605fe60cd930d843abc9dde592aa794f1a60468c498bab9eb4aa6e4d381e9a9864b6845e29707026c89b3f84e56dcafd5277dee8f0e44e9fef7043b7aef6741b67536266f720673c62f831a921ecf8b8b306456bf2f16b41c933f4423bc174bb09e7dd6a6d074d89df6beb0ad5a13242e744090bfdd9302acf1b5cd55d160e9ef2b8c7e7c5732c0f4920784746028a9dd7d43b59c21e4e3572d2da199379b2e7da412719d33d159799f5b9d59913e31dbae35a5f6bd9601b9145856282f30382964928ee52b829f88a5ffaed400ac306b04a54344c83c9d887011e3e42bcac358843e00dd802ef82093b3014259b0069f9387cd24f343edbf991de135f640c27eb2607bb113c36240011d75fbc1a258925260bd7f47cecd8bbe19cb995c4d61998132dd5c0fba8dc32521db9f7658a8811accc0b87a47b1433d07c84996217e9e3a4177a08b170a3fcd0c0d18f588f1a992cc8527d35c0dbf590bc3e3a64e7d01c0c05363e6ada612c9730f43479ed83ea0f9d3de70ea9c1ab9b2792a043ae343ad4c4f87ee144851713626b1b7f6d530ab0276dd2e3962c09b46863a98d64ffa8c94e14f15c2310c194cdfb9531b6b32fc2949585292fcf2c5decfa3853be2ebcb29401cd8db47878ac21a17c4438e581a17983f84d855fb6c1432610b73d5eba070230791c39e33b446e63f6d112b8abbf4e8118eacf7ad9fd1bee5101fb94b53e239c9cd1b3f6b617ae5de9c09e55ae1d143063d3a2419867fc173ed89beb5cc4c3f68f8627cb07f4720066c81cf0b6e2decc4b439e8775b0339fa465844cac5a3a82599a6c32f080731aeeea97de588f4f5c3cfceeba6372cfefa8ecaaba1d47ca4bab10329cdd5e14e62d866e619b177c92aa0c73520b8d1c3d43aeb04760d199edd3ac7e46e1d5aaf5eb3ec78c83473c7b618ec1a8168542fda4bdf68a730905a9dc91d1544355b25e24fecef5e4e195c06d53d6ce08631c75048429afd2dd32336555a3b5a113ae010c8d9d850553c6f05c8a2296e9af3c21f81ed3b45fa7515d65376a13f95a45b4441f84f595de0f06abdf3e2e9c48fbd0e701f3e3e78f25dbaae9f8f1c7fffc61f7cd8f3f7efcf8f9c3ccc6ea97f4b7bffdfcd174477be6ff5ecc23b8cd73df55ff3675d32703b7fedfc6f3fe03cce7f900b37daf8e1d3cbe60b1ef603d4fc70e1ad5b1cdcb3c74fbbf5f735d23bf66e8a67afef52cab23eb86fd9738fd39d77fd1fef963efdeeac71f308cd0c8cf1fe35c563ffec010e8b7f81f47f7db0a8110f8df60e4df10d247e03f50ea0f18fe7782260188fa03827efcfcd1edff5176db8f3fea6cd8ab9f3ff6e7f7947cf5fdf1074c90248920e8cf1fc66fd7280a53d4cf1fe6d04dfd8f3fe09f3f9469fef1070261048422d8cf1f4157fef80387e09f3fa45fd2af40dcf29723e8e70f3b2bffa368e6ff807efcf1ff413f7f5fffe3e70fe65790fb5215bfe6f47e3d6002832808a761fae70f73ffd583600401111004fdede70fe37fab4fc00842c3ffd0276812faddfef6f307f7dff24f22184552c8df7efe60bbed68ff1fe7f0fe750dd8612efafd97d35f72ffe7fa60104dfcfc210e59b3ffce85544dbf9ffafe0b58bf45e7efe2afdcfc8fbffd02555b6dbf17e2d7dafc0083bdda76b09ca7e63ea707bce6addf97aca8c0adff3bccfe15653f7efe50c665de0e3b3bdabfe0f59fe3fc5cfc39e0675b531d7fcaee3cff5d32b2a3687ffc319dc3f0f387776443f54f84fc7e73ab6c9fa73f75a559ec866aff87f69f33fff395af967fca7eb51fff49fb57d77fb230e6f2fc35dffffcf1f7f0ffcffbeb77b4ddf4e38f633bab9ffffd84fd8edc98cbff667a9bf9dfc7b9fc6d1456dbdefdfef5f0bfc3c46f0a587e47fa0f7ef8bf06fcf7d5f87f6086bffdfc516647f6e38f1f25444b46c3b07f7eeabb0a86a17e8b6dfeebfd04184660fe4fcd86522914a0421a927c92934261d28651d253701aad2918a649198fc3dc8a610484e91cbef31441612295612add778f24fb84fb08e54e031a8c73e8a095e2a302dc2754b293d0475791708d24560f08823ed3c27cabcd7a1b5140c078da2a6cd21ada622513cb4c7e6b7954475d600877c29362c055cbcef581aa9723fc2e24818adba8d67ba4de3171648e2b9d313389d5095cc79905caeb239e47da1040c964f992e0bce8fbc10aaa3af2fe5305b97f0a5ea788ce28cc4db076df4a5cf22f7d7a49661426a37d78b199a90219b6624d0c8f7b0c01791a2660aeddf10557307ce16288fde66e439c499010bd3dcff5ad37587590edd52ed6ec6d36afdc13cde0a8dcdf63d86d647838a360015dd16104661313ae7a32f514a006fdc22486b1feada3cd888c4c70817b260404e55d94abfbcc796ff9470d062f001114732eafe520dc2701c8ec4a3a762d268ea43bb2a76f9e6e478cc278c68054d32c5e7a57a5ac31d6293c44694dfd019c2288d6b6862afd03d54f530d0cdc8a73086686ce02ad40604eb6171aa2d46e9c70f8dcac37cbcd2f51ec811827cbdaa5e258773440c2a9a2c51b31862485db4b0e1399d0354d527c55df565a120f312f139d0ace4ff453a3e970aaf7512b4f3fab5fa30fa8668010c4062c633a1ff84cecab56056f66f6ce31d7c10cb1a67dd8bb032f4168605d8954671083ac7355d5a92112a266cd8b75f86360855a48547a2ee3ccae432e0513b46e84106bb411f8a5a0f07d2e61c078d77b9ea22002837a7806aed7f556b281b1f40a0a0b824d0733330782e8ce7e239e8e06cc3e8544b9dc55e0779d6954e79409971132bf5318265015477cc4960d1b4e332347ef75895766ab6198a03f1a866b1c76632b8edd8627cfdb60d3141edf2e41612d1f95b14528ca534992cdfe10d23770f4ae08efa1e8a416b1f94645dcf3ea04a546de4513f1b48bb30dfeb02a3232ec5540765c480750627c52a091227dd4e8fb4ee57b733cc3448abed3af9a94865115bb21961f628d72997cca89747750bdf2c39a482db6087e20f272c99e53c2f188f7d9ddb04c88b4810355ded1ce6833ddef10e72e66673dae69048659b881551a369125d667bc86d9ba8839a4e8499ede1ac7263ba492cd2e23b11aebe21e16674ee69ac34b1ee495a199e49e1a5b280c1363e1b66d4087dd404c32512240f6da6088b7c51a392a6c719267f84204a5e31869ef1ca17d76d7657bd709dd60972349624d874c7a2ecfb521103d4ced342397dbb88f9cb9b008dd11c2613d6868bc0e77bc8e990bb78483f9ec32183345765df1370b92b2ab66ef51ba0ad7dd794533b18bc11f4f1ce7f6833279523de9edb042e88842e89b42e8868c138668f774f17e49288e38b3e108bd252873f354cb8d7f59a3f7866cf5f55e7397d058c6cd598d1e7ac3653f8e8891e33cc5486d23a7a91babba926afbe3d161cfbe03e30fd49129e603ceb33a7c91c1ae1e2a3c6886ca36c2bf8efd10faf8f09cba1a182ea62a2aa3aecf9baef4d101c5529e93fb629edcdb17e458e2dc341a1b3469a32a6ac66e4c6434ad1a728ab22a8a740909e85c9fbde93a41093055ea032ceb85451299aa1115fb928ff0e947ba2598cf6ac8b365143c078dada73ab6289cbce2289f91d7a5eaea19ce7395d0af64507372e9b1e65333b1b0bd14d886fd5028dca4edc4d4bbbc639c4a0da0c73eeb642d8c0548b0c2e274457e88cedb5d94b3eb9a1e12b2d2bbbb8c3f5729b3528bab73e9e25aa9308579151d686e9d27335b7f81a2d1bbd5305ff760fdc2f5b2c31230a10e46905acbd22f04934a54d77b5015b3579cb13e498563730363a1025ba493a1e84337ef6faf34cdbe6656cc6f30e83ca7bc4f46b35368982c7b9981799e1324e3bfdbd42ddfb3aac638485f90969da56d502ebbd12bda75c615b7afb0a46158af616852e523715ddbb7eb68a850140d832092c89e5e3b8914b4eb4f12ab44e4db4b7245a9c4176415acaa77dcff00fcc4b5eebe4f1eeeb541bea6b83874e3e3cff964890502c3dd817c0b824fd18a66d917fda8044dc2bb4753045481c0530a0b5180b1dd72dddc06b5360e377416468f10ddba29d0ea65e31153d6b0443ef2dd72f4202dfa51df291a461afd66199591b10102ef37d836f41d0d8a133f39972c1576e8b234a1fe8a17cfd50fd1990e0652c7dc8d87cb178ac392241050cfeb973e40d74283383fdb13a58cfcfba9517023abed0199cdf013c6fbc0b2d36a01f0358b0ef2e0bc256ee17de3de134d4519cf6cd189ee907cab776cde3167583897b5d1e06fe098e080315be7b9854d9934eb7c9b74e6f48023bcae1dc15204038d761ceae69355283533f6bd664516fd23061f9b348c4e4bda68b984d5ee7556821f2c43a7b564592136b729f48231c9a9fe816fc46e3e95e2ab9070de1e5eb9e6639894799a5d57ce4fa8dd1f22c1e6726578642d9eecc3baa8c2a943ef75ebb8f8c6bad88e6d54abb8a3d9e26dc47cd42eaab2836ba7fde41d444fc26b3d2c464b7130ed3232e66960d57bdd9ca502435686425fe40176eca6b58de7b62bd08a62618f0483f3e46d9097c9d66633cdd2300ca32759107c9c6d0473c00e873a9c0a39bd7accb857c4b3adb21baa6f962b0da6c12b1a5a7ba428d8232ffeceaa89d31af3d3b8f2c175c5680a0a256962016699b35b23915eb8415e83be08712df4a725a378800bcf6c71c28c678d021aa88e41fbb75f4c07aa4e2b1a47add4bb91d8b8f2adeefd03214fcd336e119ce753563d9756786f3705ff208254e5b134a5321dc66a616c8c6fbacd28a84d84966e421e7b7e0b88d3299bda97eccd150bffa91d800005fd0bbdf9d7009d4ccfea2d2e8ce18ac915899439d09ad9631a71f604a355a25d718fd1b014aa646980fa2299fb0e0b7fa110417b0c82006a55f407ceb357eb585f6a65a86f8c241a325d2e8c38684749927d1235fb61c88b2d1bb7512cf6c99f76aa5f287bbe4a21e479cab58ed550c229e22bcb4e6880481b9f8323d386342971b7734a7dd485eaa5f44b4c0d5ad60e2a5ace10a8e444c27fbe1d57522689c5e8adc44d57f7fb0982a49864c782469b9c34254eb166a334dac372c38c055531a95eefec5c8ac630edd70949f27625fa94459236713c725d2496858c002afb799ea810b012c8854a9a5e4a1d7af1f7fb9a2e2582c0082a280502f1055a920c17266b036f3a7d6308248a7a1ad6ca6274050c932dbb8c480e1d94a75c402b90a677555aded4ee4d92c30293c292f5ee5582cd0430aa623799c330542649eaa3d4930e718d62885ccbccef15f8add23b5d27a841d209a3e560a91bdfc59d1a8155d241280d33c17e3c2397ae226636c64958ac763b61509e620ea2d08052638ccb77b93ee18d1d820a1f5f230820ea42d0f7d20f690ab7dde8269f47cd0e7961592dcf6f9864691c562bf2c2d39ca312487e7a09dcdea716cbcf11522873c5f4856de41240fa14bdb3cc90783c17fde7f35a96780340a1df39037efcfce16416513fbf4a54b4f4593ac5ab1f2a7991612960c0c64edd97127c14a9f5d6da15e66d8e76450b226c5cf189991cfcb540c64e6a16e0fb2fe1e359a4403044de6657149c03a94fef268c232a1c132cd70c1bed1529b573a871402ea42e1fdd66c419a7e4cda6c40bbc90e59b2bc82d696ad0c26b035d2ad5f59db47c7888375a215de1c58fdea5a1db605e847b5cda63dcbf2e4f7e3924dd2977a5277fd1322fc8e374b59a22e2255f3320d04935b6215c7f5a44fe43674700fb142a09e489d2f549a5921946c18ad6e197e53f145eb6a5d2677d192d904f2a6db0098d11119f02ccb90ff53108b2cd727136c8160c05dd494cb4a42c980aa91a028674a489e69ebe094d4f2dae5c9a20279fc2e9475c855cea66e3b46e7193f1b0fc15f0be7a61a8f75225307610ea04564ef182802689c7ae5558c4c3d39545a9a58c4e584e181a074673a93e19c08a5a00073edcb1e799037752240fc5884ff241be78d08d2f85aaee4cbaf25d1b4c1473ce44d99e441b2156a58b5c86b3f81997632901a87cea069f133563ed2c695a3ef73d4d4d9be44382a3eb2abaa9194f8c9824184d05f625499f261ff0ab99509dbb86a71214f3342646ea1a4510beac85c2ae6aea3d47c6127d36223b93226368a692adfe2d51e796930df1d0b9a5db0ccbc0f98a1acfffb818e37766ba482a1802e4e5023c909ecd2e308ddb3d4a9b674fe610bb80c06e700568f27e27b7ea062f823e3736846135834c58f17decc38d894beee1d22ae1de528828b4804d1b312ba059ef0e1b796f9c15726791c5112437d3d1e3cd6af006e6a68ea8c2dc3fde2eecdfba59b14a335d00594d4fdfbd5e61d41a247567c12a4e46643fedb00f2b58476353e907395dcd14e05431744c00b3d41df18101d4a7ee8226afd6aea20383d071ab9382654ccdd99a531e48ce39bf68110ad90e26f68ce6a45b365559d70084d6e2cdb44fef6a2ae46b2211be0afa84b2d417df14b216ada92d7128b68f974422ed4e81448e98cf28e5bcebf9265a1328a57daa8746f4222c2046a1221dfb946e21901ea137842f7f43c65c80ede1b43162579109c174f35ab41121a2c491885ea8d058259dc14efbfbf5bb5d75f6be9798c03a939ac36d55f3d4e14c0a4f168df0734be0dec7f54720116fe62a0e5405a3fc9ef1b2f921a159214f340114ec8366cf02a8c92d55829f11a801c15de231360ea9998c72ec748876fbee5d44c0507059eb8a171a00d819b617db36ed1c8e902d03c4b242a60493e5a0d965531b658ef4dd61d111e6e20663cf923087909e424f7d29b9f6ee52c4f84ac8faa63741342c90635143a3b0a3752d73b5b7705852fa341a2509424f0576e28bb4f38c18045f885aebe61284d003058fb47757a1c556ca2fbe3717e407f128c97b721dda8756de10a088c9cbb2db188639599cf67aa45c6785fc0430b32952d398dec7765b711d41c66d086de9496da2fa90d76b3f8af633dfb46f96a3f00b90187d3a405d7ed16eb7e9e9fb813cc1b9747c4501f8d9c32e17c6b50142592b4fdd87cacd1f992ee086660aa5b3d3424d5e275b4c6a0b2fb942c5ef3c28d46353a246ccea1b51a3d078d1c84abdadabc6e55ab5adb3259c97d7e9c1bf8df466de85045d3e8d6a014ac48c7672bfc0cda2f173bb7126d3adfac86e6d65e4921f284bf5e185cd8abce35a5cb55a0d91a1bf1bf60c8a2ba507059e5bfc79244e557ba36217ed3b30c443802a8ec7aef110652f871345b59cbbd7942c9cdb45b36d012605b258d2606678bef5fefd60ceacc8a31c6071e79be317db58f9a449e7f01358eee3d0116d559ad3ac32c683deaf256432d2ca50e1536261a2d2d17e7e0de279db336d928d8add2f9d939c7fba485cd559ffd9b8a61ea360e54f87a3c4343f6ff28d45c567ea84b770dc01685a6f615550d94e6cd83765695bfbe6c5d3a4aa3b835e5caa78187f51e8c246c2f54f5eee018d7f311cb870a18c6d245079e11686de622dd764884ae9becae6b0e193486e4dc53a81c569c99d812c5b5ecb2967b34e9f786fb48fbba0d0d7455ced9e77dd25a8c3178ce09bb4cf5bbc48c7872938f34c5767000f449e74ce6ed6e5a8567975edaedc36a53a358db381b1f297b1749529be9e1adfcd5a203787b3b3ff99b3c18d9c2b44ea98dde33317808d7f20e8b383fa925689fae883239c63ae48d067865330f3e63dfdb2c5b145da8a7113bebe8331d025b6c3a175da59888e8db60b22907dcfd7487c1685b939faeece7cae311cbb99515347a33a84cfbf7cf4295049abbc4f4857fb99033e062657bfcb5c8a0c7ddf2b5b8284f4b10315fd09cef00144d1be480490bf3c980644a8d93262c1392ccdfa98ee1ff40bb544cbd4263ced69eba72ff23a93dc956a6ea930de771e75c8d12dafdce0cc3877027bb67941d1ebe608e1df7a342a2c2dc663687782b7a5b88d90fc5a82017aceaa5e3d2f028cfccc0e00302644f7335f95cf6104df1e221571fc2a1bd7450e781d55426dc6f2565f760dc5fb3c1202013465cecc8c892d2fdacc622fc0390b81e72c3330f1a56caab4a038054caa0f6a54a41d7a865c398e313ac89c73d0e665273beae771e3501bb4fd66fdccfe894bc51042d333bacc144e38bf49fa30805c4e963e5d5c5483e52684c89b09aae011e9f168468bcab7ea2b49b6b35b8c7395f208f88f62bd816fa59986f4232ceff3360b3a3726e080e3607866f2da3fe2ea9b18892b65beafaa9687adde4da952518c3760d3fa9e9966578c0bcc6b7b0fe85819ee7982abcde314d69d1b6de5c3ebe0e37156236d40c773b3dd3a08f6dce19dba2933966d6ce2dd38d79bf836abcb3e9bc38ad298a245198f1cd81343f294937753c33d992114b6121efe861531035fb966efc29a6c7efd621bc0b6d51c73794fc31818b1037204bb508689ed035e536687463911fc817ac6cc2217f6fc9bc8e92c1c6f51230b3ddd2e1abe4b80c9283b8667df4a01192ba005ec465efc445dc127a1213bb49926a9f84ce3c2135ffcc5861af4d8db452cd73ba43741be84bb2f00894ff9b724577aed525297ba51b7958de237a48c3a500d4a93ea85c22788b9f3fbce129bef02d5a32d92afaa9da0296dda7452cb14dcc4bc8fcc4587fbe09a5a956e71d24c432c3af8f7fb09e746792fc9617d37a08279c707648cd4c76b1fadf25376e5ded7910ea852e8b81b1b4476ac8e2d1f962b361656c6949aa90563e2c6fd627234078094f702c9b8421b3e1f65610342660cae77e1906f3f8bc3c26df5bd787fc7fc008f346c78ac4ff1f52f04288fd043a72223233e67be52d5b8ebfe9d714562cf1289d038cedbacf8b236fa89478cc489adfc149c91b1492f66249046afa24eae012fb95b938d265cfb68bb37802309ad14cb324743716e30e93d5b5f2ab95f909221b7387568d0ab3e36778292c87c3ff0feeedf4f4c6e6eb80da42e810d328d92605c1b11653cc7b6d4530b7961ef689077e0de81090603c735dbb56ab38e0b491a3574239148501591bab409b55c7047128b6171a4865d6250eb2f2741eddf549d4a4d44db9869576521a3a56191dbe45513af18297344230fd92e219a41dacf8f9cf0b264554cabafdafe1277ad79f91a4bab784d65f495580fae81914cb413724056d51f707dd3f9d6b2a0b8141ca45517b77240213343c204a3bea3362d5a0e1de92558dd67c800f2abb302b9f60b0802336e4e82cfb40d54f4ab3194e668981b7953a31852d309f279eb93f61280e9416fb65ae5db586848770ac2b7abee6633358944597a03190a054f8a02293b833dd897535b21443122ea1ce122867e5d58b19dbb943591e226b331c2dc24559f66b5c97b7ae944bc0bfef64d477dbae0f50e5f0528b4ea228cda9fe6d451bc9df761f20af41286889b378275444f8abf28f135811ed44706454afb41127203ab092687e50cb2ee4864484478503147dc8220803d92520273807a18da252480616df0e97844a7d7ba5689b41245b355e01963dcd417d4365c58e4de2b8929cbfbe39d09d9ead397a2da9224318bc499cadda9f2d10a00b289b81691e2891e04679f54ca466387e737702d60f474723442058ef2b8803ee9fc2917b13c153c00498d3d66b77a13f60a44350de75615686db2c674406c198f0212cca87af0e6f08ab2a950fb280946e23b7cef76b9be877da7649875517db51b294381db4379ad9e12f66194be7693a13b2eb8b863826eaf6526d5e0dc09b425c82381810c3fe09b7230ab1ba557e565283255d1de7272ebd3a8c526e7a5eb2daadfb70f294032152ef0b1d0918db8bb29774dc6e35da7eff029510336045df64b7701aa29413edef679405eddc49b178d231ecf94d795c3b040e3b95ad7faf4c754e140252879a4723bce4cc6e187aefc048467ecc1234f7c62eabea97ddd4a876b953ffce861486d08b83b4bd5c20a67f8c8cf39164390f60cee14e3cd1cb703cf7836d40d2f61ac7447f76eb31d744c7d8032fc52d61536edc220b92f283eb28f66197c759bdf82652cfbbb109fdd969bb8976c3b9aef97b6652ac711262640270a0ef8eac5d7cf3e63c629744d7ba4df454e36e7ee114de194c6a5731d594be215585bc0432f0b5e2f4b48be3eec2fb35e62c3cac250e2970e2b402859669b90f46754dc92da7ae93856b9345ee947c505d8a3a6ec78ac84ade1430df045e4c6ef66710b124c2ad2cdaf8e394af408adae70676aaa10a6bfd1bb0d681d71ad890753a63fc74064dbc87dd8a9a166c28fb191429bf644393ed96f8d7ff2a43cb3a0cd86c7a3bbf4698754988940f4bfb63552ea072bf13b69822cab52daee8fe062c18e20d3c5acad69c8bc283dcc68796b383e3f67af9c48a10e1d12866068edf63d29411917af7a05e996097e695def67d0067968f28567afed8c446996e23c4523ec0cd75ad9cfe36b8cccb6c4326ca1edc39b4a3f457df90e483568322596a7ef3ebc907eac61759b6bf8009b42d0dcad297d3859b67cd783be28bcd24048a6056f3888d9d78f922d6c3c5376ac6b96bff681850c05e2221b9f564cd920b13fefc2b2ad5f8edfe5d221357ff42fb3db1a8337627ce4e91301f9c67e2995d112c0150472dc07f606fc9e8bb230b3cee0a3186ab6c4eac2a55fe32d5313bf6bee83a707505b740d9e1fc299ec2564c8b6e860b32fea1067662dfaec2f45e942f97108edc8ddd47fd5cfd56e1491d5f6ab7d096af2b7698cdf8eba245cbd97aadfc0d5db0eb14d04aa345276350af17ea4b1c120765ed68edd39b28670e858fd5b56a4a0f3c4aae6f6c01bd1d40d7ada0d265b7cd10d12fc7ead34d5bc5e901ec6a50dabf0ebc7b36a2164d61297c8c3f49671d89a08633414752485c48e4add3e7863e2b62159d30c542ad765d21d3c9501ba45701a03f0673a38c249ad26ddce34ac814ffb711023af1bdf95f2b1aa4c7cfbe6a0752ab828d56369a460a2abeb7ceb16f030112b7da2e66c8fab11dbebd404b8b56e4969aace11ae6c393c0785100b16d52e98dd5496bedc4a45b05ff0bfb8d23bf2de996eeec305b5eb21c7d92851311ef87255826294497d53b91f3529bdb8ed01cca89069820906cd65665fa222a96dc0f4937fd1a2a2a40e1c179b4c7dc69498149e48dc9088dc9c709974f9ae51d9879cc39662a7b00063ea1c2a654d23631b8fe8240a3d1c8b9bd5cc10ed2da920ce0f0b277ac996e25d658b8191e00e26c0847ef9478295acfa344f43cf10f7f8112d8e296cc114171bc1787b9b1e25d7b65300aeb6da83079f8a8cec7d0ae0901b7249819cd57b37bb78082fd2eed3b83814340b40a6dfb9aeb504fc56e7545e0d49ab99040672fc2163ff2a5df7cecc3308f48696b31ce83fd8347121254759754839c67d268929a1dc3066235b290430a9b222cbeb0ab99bec0fc8277b1bc8a793c352f656fd104b76dc13bd0ad2894a60f77ebe469a0717ff6252a06b15d382a8022a0645c3c92336bded350fe28b48c0c56697cabc1717afcd3a7038392398750491a4bbea2e79af93745198154c6d6dc51d733c4bc7da10ab3e3577b6e9ca0a40c7c4a97d3b84418b54813a97118de5d2d20739d604f6c51e37f5d2e65a84b5cfb6e0c90ed50d003556781db77256fbf1d52b74aee9f55af53be7165339130026121c661061f6b85df21bf8e98e2c89d0060de1c543c16edf283570b79447eda78a7c9311e0866a334aff78700a85e91e9577988f436e23093f48a4bfabde4d2f9f306e80603576a17925bc375582f1a12611a6a4eba0bd3d488b633eb08bb182f61dd50412b934696eeba807bfd7a498aac2e0c2bd6e8cedf31daf65ec1538d7029dfa3add1c66a02e505fd18a17a680d5204a830211d6c183b5d90a94277c3141bacb4de9c5c1dfd0079162d484ce36842d48135bda4cf88f3eb572dfd345273b04397c79f6f11f4be154dacb21a7aa2cffa8335d1f2fa56ec6b7ad2f9e12e44bf327ce110f0e48f57931c59af16c9a164de3b1c55bed84215269814e3d0f624deed9d8fb3848d082481b09d79b58f76d5f894e836b4136f609833efb5ea18db88101edb0a8b9bea011d3c51202a7da9bbd79bc964d5e489328d2bd156023121f7778f5a339a88f8885186e0942d6a6fd57aca245b875cc65f036be1920041cb8864ad97db8cd6504c5d0ced297c45b407baf5d9d301fe1deb4552a50093661018d8edede1e609bb28c6d90df7798e11c974b37911add3bdec02281589cde3283254a2cc29348c99ccff975dbf74d5fbf76328374105715c177adfd9d65dddcc3d1cf00eb65093cb526c99ccead8673b5a2bd9092ef46bd858925adbc07b4a92575765ee0304fb5266a5822520ab5c2bc2cc71336acb3270c11ab181bbf405fec9483990f061709e467fbb84f2934e981b650eb3bd1bc7d2a3742d5981ea87e2645efa97c720e5c6c243d716e826665e2b7ad3cd9508f482ecaf5726b0253d2cf94b6121fa865133325389d23f1e459cbb94bbee146c4c391e5e181e22fa39f185ad7937141a230fe79052a1e3424fd06a9c3f6f89ba163d2eb3ee310a3019b83481708fe4acb0a5797cefdffecfd678fe3c8b2270e7f977e5b7d4fd14ae200cf0b393ad19428da7cb0b8a091442f96488a6671befb1fa41ce5aaa5ae9e3d7b1733834655494c17191919f10bc375423aef9f94e5067af15166f1bb88f2666fb61d805e4a480342fe44fa4afec685eb0f935dd00497f7ac611ff4c5598f8c57843f9f25d3f5271886b3c4d1e0315ea8726162cc0726ec2076c1dacba95caf25bc4f1be298d6faefe574e7cd207fe8d6db059e54d56a4b16ce4c92661f52b6caf5856c7c4edd91ecd0c5d2d3d54c8891b8df1fc5004f868139da194b0d65450ce4cbdacce4d0de7cf8205ba43e4dbd95984ef4115fd77c2e4ffaef79fef1b1287c79bca28431acab03a1cc26811fd73151c5db2c4d8c400e77d1db3b6e6303b3502b41cd723e57aca917d5ee04deea16fdbe86f28ab47c83c377343da6c5fa338c77385eb07afdb9ce97216e7c562b5b9dbca5984361cbbe67f126335abf2fa4b2cc555fa9aa114e306f29348f294e19937357ac99a2e7a996a661315b5654556098028d83c1925f92e886b66aac2af2e1f21dab29baa8fb06e2586f0504734b4afda0053d10e031a1f2aee3e5b0b6f9e02529cf1865baf3384e93e18f915a4ee054e132c4c443274ee0f99ca238817cdb09e87a8ee7564edbaebadc65b01af295bd511973b0de05b2216876b6fafc9c474a3987eb45812532a53a3b9bdac044d42b48927cb7e71864db2af936374866bab6a114b33f7883ebd9aabdd4bc38f046c178d41f980309a256533fdba454f9a1c6736781b9b1b80afd9ce13e229363b2913e5b08449d6d67be3541de8bd128491735a292254a6fd800eb51732654d9389ec88319eb738e44cc3dfcd39db9e684fc4cc52d434ad00732a844ae72256f5b89ef9fba03d362a8ea53015e0e32869f4263e3a3b7799fd7b340c92641f6613acc6c51c345fa899753d6e3e598dc111b7425c69045aab331af4e997c64fac5328188ed879ee02b6c1938a566c51b63c91613c615c599fea6cb6f6f51305f14c39c59176fa3813dd3dff1743371a312b749512b448a9c176392d37bd91411e8d5a7fea18e9db7c548986b7d9f59bdb3881581d4533ed1595c8b0344dd1ab9c0aa1f31fcb606983f918468f1b6f5b2c8a43e616bb4ea5584f32698a445e3cb54a914b5da7a6691867608b16f630a6699ad641712e241819b0e6db65f7fbac2169af7df7a06124c79e24d52764a31c3c634871639edb2c4205106d89094f3f7cfa5e3e034ba1257a253d005a30a7385a3aa0cae796f52e59b0f1abc531c78a73652808e1c7b9e78f57ba14ed8295966dbc96a339b896e44f4489818a79b20a4e56a18d4f0b267065a34cdc709399a7a9034d77bbbb092a6e345dfa6d6385a4b4b0c292795543a94b19af533532d50579df6de638292a70abfd668ff839aab9b3798fe6011d8fd745758bd227581f9b47cec3d989043900d693b1ea0893146730e7638822945e7cd1726198b298ee155f1d2f2f40dbe42236eb972ab0df74eb3955226336d382700806572d92f2a7ef99163d39ec485b3c146da79d5272ec2735e90fde07d95c2ccfba73662c8f1e7d4e72d74ba4e66e2461b430baacc86e928647b495d2f00116f3888f5a6a84fec5c9c58aa6f131c0d915cff84b2f715fdf1068f57efb936f9642551a0fa01b182a1f74f19fb90213754863ea15332677268fe896d6bc8fe9066f5385bd098fe5184f0347833b0f956872b3bb3187663d211b7789f4a858064eb09b7180f2cdf99f5733073a164a90f3330e86f51482c745f1e635b42022961cf15cea96a92c0f42d3aa4519e31f541b1a837b9b1d06c327ffbd03203438ddcb1162b68cbdb9ff86c6117e399b1c9e1395107fd807a9f69f26ce0bcb96eb29e876b7332dd2df51cacfd81c794f60a057ddedd6ce868c8bf8d6668b2fd18a1fa6835a8426c58c115637ef8213695676eb9f4a97768a3aa755fcf6a87a9b3080fb9fe87f8e68f332f994b0acee36fd672b3884b0ea77c2db716d12c9a6fd148e0b9d587b1d8bd6dcdea33d5eb5dc62510e3c253cf58ae6d72576a063720c3a0625c1c75a7a49b5698ee0f559aa668c35f83c53beae0f3d27d83f19e1d2d661f22b1a549762159eeacb715c9fcc3652361531509ebebb9014d06b4402ad84c522763b5e7e2811269288b622aa11076ee90fd39446e7524a3227fb85bd602922ca82db20be66eb9d034b4bf505c7529665be5636269213b5a3225960b9fc4127cc24636dcbdf7cbd42e4c3c7677938da60c32918b9dc25e5a9033d4c9a4e77f0628a2927a112d86ef3bf87329be1b8524f0b9a74459c6c9a155e690b361cc245fb82afdb955a409ca6b8462baa3645ef5b4824ca7136a3917dfc03677638caec40dc716d0aa0ca8243199a9004a2f57c9dab224bcafaf138c5c5b1fca40dc940c2240ec8ee92daa64ce6f43c37734c9c77c17f92017cb396061027ce45b3496fb7469d9c504537262b65d92563ac833790dbb7d847c630b8edf2d977d665b8adab058c690bdd540d497590a1bf63f436c1acb1333084734b7da261fa368c8e590b90ef3849f969505e485c79ad39db920a9d546b26a895af45315de6c734f4c5c7b61db41d6c7c26006f507d24662d7562488288704854a07e382cef1cf7729cf9629cf72dc5a733fa05c542ca46070bc58e8dbd2c06aac37c878b14cd5793f029f909baf36e5500a67fee843525565c38f47cac2ac6bd9ffe487b10ade37f27be08c579660e4fc5c0091880bb26867ba6f8f68517177effe284622a476bda55c8e7b0ab3eaa1137c1bfb44b9b0919077b6b370315284813508b115e297cbf7d966634a6a61f31946d1f8e863e80f3f064378ce2e68a350397a9c0c59161bbb224d6ae614196e776e29bf8dc3d4dd8e196800c3ae3546dec54f8ed5b759e18a7295f36f8e5949fd9ef73e5c3bfa4a24a80f148f57d856b277b53e5a008b81314184f1215f269b3945cdf06ca98ee080add7fd6004d9ac9ecbd84ef0fc1d22ac0c0e85180d59ede242ac704fb08a3ebcd3059f538b4f2431f20a594e568cb7e9efeaed9b5cd693056a5bf22e5cf95b0aa4666f5c7fcacc34eefbda672ad6c334ad3583d949152149338a711645da9f0e463c2c43b31a023063301b642561632590c1929fda5c8fa2df7d7eb89aac073b2a334cf78d169450728a692068432fa4d5907a0b99d9dac94a74157d2c2c0c723c35f4b93889b751af9e8cfa58e632fa242dea614d075315577a083c5eef3e85888d04628307592a62b1388cc71967a378452e4c4eed611094427d6c84aed16814a1dbb724ea09f81b59d33859cbe860a3bd69a60ebfed30b61f94216dda93702d4c17f40ee13373e769b39a5c2b9ffc7b64f47bdafbf20db6dd15032963849d661ffd1996641f0153f4961bc29747da5b1d2c20e86d9e18ba5284d49619aec18e7e2b07c827814efb8bcd46dbae39099f475b4575552cca159dd3027ce365bc24fbb34ce483cf595563cb158a461f339726a6db3e81eb735f7e7f23255f903275bad2960424005adac5e8d85129d34decb79066a8619c6cbcb49a736cc401e55da61292886ad641836c5cc8f07c41ae422830d9cfc584fddc3916eebe39193eddc6f15ba9b0e9e2730e0784916e1669a4be01c14a0242a2aa4d3418d66a8a864859387ddf1f98031d1dc11ba3d256be1fe6313bd8d24c3494745f783376434730a61f137530db8da71311e5395fd1e3484a3d49c9455b20896ca624f87819cda20c968c615ce211b184025a1a26c32dce4714fdf95107910c4f4abf8f67d1d8b30d09dba982990cb754c5ac93772a0a56e2027617828d732cb3fe083e4966967ee09a1f236f200d06e29cfd1c8ee10ac83c538d433361229c1e91898160a422f39ba13a83f370e84e6077169523d875984f8db7362b615c2fadccc83fc61ff6c25ba3e1a88247f56c9b7d523a4fb19ebdde2a310f55e378a16c479b7491982b72ec7f8e045a1210cf496a692b50f2d05b0b838cd7240ef17177382705c427dc22abc2f9fb56a5693045a4b781ee8e89051510f4e76c6a8f149c13a7528dab1f1fe16613acd81d550ef36a358e612630a74ba44c504d7515a18fa1e9a7a0f4a46444eca8e99aadd80a31e2e5889ce7d128a68743c84718dc3005c9d015b09a20883d8d8624606a63ace979e80b9f65aca5d49be5e86362a062bb15375ccf8d141eceb0e10e9ad8e45428f891b3d8f8ea7cbdab466a6263d4740a80a12b86000ac1e25504d7dffb0bbfffee9ad3c274171f40f05c2331300a194b10a3f8f3f22329b1e51c26516121ea33d5cc071150d6f3a1ad7f92bb227923575c249165b694724d05114fc2db5da5015f231510c27a517c842e0f6cd828e3cd6430f5dee6993e33d9680841db902d84825e53e5d2cce5193f525c96eb55ee06d483de0aae3ef2cc67fc9992c140e090a83fdf8e6d02522a6387ee3cf14d9cc2de205ec73622ebbccccc5dc2d455811e2f398298c63313e8b33e86a9ccb0f03f03713c651d86dce4633ec9d63ebcada4409f5268b1ddf5083b24b7e2c69deae53a2e074ad8af3ffc390f6f66634a0b9892f6c6a2648c3d4d34b70be33decf315370f5926532a66b5936567080fb09237b277c3c7b8213ae127352905f1fb600580b1db9503cd724af16dc364ee5acc02dd09b67e209194078fe4a16f7e7c0edc69cc4f728c16fc3808e97a330ae0598f28d04a4976208e2257d28cb092cceda7ea42963479ebcd71bbaca79c2220bd7e267d66e3d495d41e61c89e30937ba493f7dd7138d0c604ed0c52fb43b43e287b581818fe8eeda048a32256dd3ad960e49b4809a3616cf5440fe6fbeb0d5a07ba4eeb2c5097fc8c9e4c022aa5c88f64b371b23cffd41911f988662495aa5c5091fa06a8661818a1256c0233cb2ad70438db0b20082ef5de56d0b673c02652bf8478235de2ab62377a7feff74618a9cd09733e994ba32c193a6038c0e74c6f3e45ecfc7d25ad742e2cf1012de7740f9f56030c8d6b6c10ed8c0156d178450c37e3c968be99cfcc7eea44dad8b347536faacc5d224b575cbfe4059631d2e56caed812178c5d367517c9a7c0d8630f857896cb43c771f33c07a312efe1b3b01f6fe6aae3fbaeebdad8fb70edf963df5b8c673054e1fdbef561d149ee787645573391e13f3f37014ef360aac97d711e103db1d8eab30119051e34ec5161de9f0dd7ca6806bf8da9d59294a60cc088898a951c552f5d87083c65b35df6de087c4dccab84fe98f2e3cfed6e37103d187a1fa10ee2136512db7ca00f628613d337361dad43218dcc4d29e55aea01898e683228c3f120ed4bac52d69a3a35f8421f0ce79a9d5b2529b1fece2b3ff871a1bd192834d010dcab58310edd821e939c8043b342fec4f39e576cc3310643560913ee14a299a89054c5ab4c99ce338f17d27042864c61f78538df8a1233fdcc8abc9ff7984f9bf45384fea88b9de56e024f89a0b76af30197a8b7dce9852fe20efd3ecc0030678377d24dfd529da4a2263080afdd34f4b7fddd38f1a73cf40e6af963e46f5669341596564c02828293382b436194f646328ca932f75ea3c538a167b5e490f3d85c909f861ce3f4bbf259ac196252be052649d89e8bf0e3b152f7f96ad88fa47cba6622bedac23ba3476f485f2e4cc11d40de96d73e94e9df925f1f995efcafc88bff65a7e9d759f5174f1e33ead13e3e80ffc319f528fa6733ea71fc98bd8e613082f5fb10f23765d4a3700fed6110027f2ba3feb007c78cfa01f44f46fd3f19f5bf93517f71c2cf79f4734ad8183a5b037dbe664255913c0863fc7437f3a66b2b222a4b2353534f422e126abb1a21e2182b387fba5e8d47c2429daf652af48186d760311a30949338940b1b1eee5b08b4b322d5b790d2b52b22b7503633b43259464a6ea042cd8c373b9396328bce5253c3434e7343537336ce645372fe14162b18051abb35f579e6502ae68ce1ba9d87460666acd6cd73fc6418ae347607e8b06f696405903017fd1161696462c55960ea426151242e466c6a21c276a5adcb250276563ccf6c24ec017953010d3ab7f5304440d48c990cfb1615e660016f8016c6263deff10bac021a4c9834db372202e374215946610eeac4b7101c021a0e711abb5b4eb2739b49b67322b50251b973ea0431752131a2325ce9a30ae859d4b4e334e05a5a982ee524b3107c67a323d74094d4d21a9a0985a109a17839e7b29987a1679ea1095b80b23b47c3034e1376164554622c558686d7364556cd9c561ae919316b3954085994ea2c1176674752687bb067a112642150cf8a881cc819047417e234293410a2327429b110acd7f40d74b6dda33b7b12004dd8d91109991a918bb19a034aadf6b41b054dff409bf79f7f56220cafac1d9add5991d30711913be366cc3d3d8d88489b362b4dd8014a494d840d385a702d7d747c36323438b1e8a0d7a51f47c13b2b221a9af8403ed0bddd3fa5c76b6ab6d2858637d32bdec0f8b14ad8a8ea71b400dbf4653ba156421129132b523293521380b890e80ffb3645d4e6817676a4a60d1d9d48e9377ce050a16f68457b0e0082f58c88ac81d6f4b11fa7d91b87967696bcc9389f819b7db651b558a2d2ce9e349fa9a1a5c389a5390d0f560d2d385d80965a198a11de9c37c28855c8a1889ca3c2dca65588a388c2a19cca42d582a385d0a254df1997ed5e1b3a1b1ab77c9858911bda51085df35d73de6ed73ccd7959b9387fd773582204027436b22802156390d848e8595467aec779d1071ed4f73c0c1af92327b985e0e14acda0a53e0a3f34166e691442a9864ab84d29841da935d02587230fcfe8026c4470e290507a1c63d9e15d431f1540239b317c20279ea337e700278efd1ddbe8f2a6c769f06ee9c1918508b05dc18915e1a1ed959643870590e10ae842e8905063ae6416bac94044f88ece67a686e74067ce734455cfd242e88b3e0ff3c01ef4c53ed873a56f5364009a73546f8a3b74ba1c0f65132bb26f687739a650991a1edfa1e7ddbe8ef4bad7c7122160876a79a6c7eb238ca1a486c743301e8d0f74579a3d5f6920015a19d8880a2dd1910b28a9e9bbc7f93c0c3468cdf9f6e1a75109cd99d5ca10206a0ee8ccb3d075cba3cd7862d4956febbe8110a98532cd771ba0b38933e9dc0bb1e436f258446077398651539320f370af889d39f0930c35a910020bf8204392e37d46d834bb03281bdaa8f0cb33decac1562e937d0b05a11d81d442ed9ea1ab9085c2479ef24d4af54d84dd2dc92e8f9381a911adfc5eeeefc2766e279ed8df3d85a149414b077f74e2672b56332352ab96f7742734a22c71c647be6bd614e6dc915fcebc9d3b1aec019d75447f933988ea994808715ab39f2d0f16a68665a7f3851cefefc475746977e2435d080d9df54d12ee77c6766d7ad47cee5a91108ab1142e692932353505cd9da94b079d8088402c84ce6493f1f108bbedb33d77a7736d23aa6b47c2e6f20ec31f8f7b909997eb0389452999a38f520b2183135de2b4f30c59d8543316991b88d23bf1ff5e5e9e798d8603a04baea995f51291121b1da5861ef48ca8dc1948d6c884ac919b4bbdabab94898dce3353971a590f010d6e3e87c0c533fb796b889b004a0aad10ee032aac6daa74974779b9c0238b52b1eeb8202ac3250de5edcf31dceed3120129d0d73d7e312c198a841d8a20b8a8fdac913bed3e74fb387ec669cd33eee959a083d08ab3764cd19fae79fd340e6a47647118277350d6b52749fbd9718e9ce654a626f50fcf0766732fa1fb3bb439bf8e06e7e2516ff137a54dafd73642a4a6365f3b1159cdc650666882bfd7c1f67ad04c6ee4021b009dc9dab3a3abb5e861a5a0b3a1255fea4e620c5cdb5b679c46fa06a2367a44a3b7ee6c0f4e9b7d98e950deea9c54182d1770dd9c6187ce3e1d5d804c0de0ed98b114367b7f58c3e1998b76a11549fdcedf27bd513cd250c383d502eff61b36fddaf1fdb1dab936fad0451b36746827041a7e7facf8a0139d9f23b8884c4dcdc93be3b91615c69607270ea566769db4b4053a4b70118c715acb279d3b7fb8decb30283fe87ac7e78fbadfbe3fbfdbcf8177e35bbee6620101155cdb34db8c7fa153191a5b5b48093b94d277903070a875239f1fe9dc1b539382fd1a5917504ec8e9a3b459bf49ed75c9fbbcbdb71744044e2cef742f4076a4662b6574d2970c44bdd13b99a04c1a597bd09fd70a42e676c5f46d94f5c558adacb1dbb6b72b823735363ceac3fbe7e0b1859401173b3b1019d56c318ada7b469f6f98c3678c17a48ecea633aa913552cd41ddf170b9d19b3885dd59d43c771022025eb0067b3b0e9a8d59d44240c478c18d6e2dd4c3e2a4efa1126e514aef68ff1d3fefc898da41c8e2ff042d16bad4f08eff676822b10ed5f03aff6dda988779fd876873b90e9f49180aecec08769df1da3b7ce6cd16256c47c5a61d9be677321536f7b9eb50e1ce0a05d78af9ec8abeb7fd784c725ca3831c75fe79c14f4ef6d041170da146e731eaa33d713e5736eab8360d0fcf3410c2a3ad05223233b512173df6629d0cd9cecf1351a132eae457ebf82e1d5ee387c9df7f56e4c67e7d821ff6cfe1ed5cf93bf3e73d26e1e8e7dadf395bdeec642f3b477c06e227c3e3fc6b870ed3b33e5c1c3fefe8d8026ae823624e9df6dbbfc53e369e44b3bbe63effe21c4ced884800f9fa7eeffb96f672e0db7c8eb7edacc96ff27900870ecdee6c8a484d9dbfb74e01e85265a1a39d4585f56b72efa2efff384f4b881a9a88b433a0b0d13fea7b67f9fa99d7d6dbe82f596021026b20446eff1fe063232282e51dfebd9029dea8e535c62beb96e77421b4a3305a2df0185084cf696a654744a5c30464ea520a16a56f21d2af65e214de59d1c0bbc0b31a3dbba15f056f8046068dce75bd0fb2a6427644141652267675352739a92c8480b8c9fea786ecf5e7c6ce078ded4835fc2139cb0aca4c4a750fb6a66b20596c47046c45f31e53cf4b71027c514e334e7343436bedef038d8eb8a4b3697469b182b296860bf84a07bff9feb2bdc7d7c2447085c9b0cf2de02356921911e99b488b6fe560b2f18549801991e0b5fd1cf125ed8409ecf57abf796e8a09118f37cf5954989bd5f93b9e9ac27c1dba37df79708be13a941a881e8f0af51c3722a3994fbb7f3774410c18f82012270d5d5accf2c64e113d21e41105051ad3e9e7be1dd23c0b22a3043edf3ceb1a48a3afcfb323c6c1200a0e3421047efad096113d2112290307d1f4301edef046ca698733ea091e1fb1ae51b7df470d4f3436d4359df9c8a8f95a68f70b44c4aec504b43dff1ee7e3206ed2e8e9dd7eae690d22e0f23579d54f9958517aec2773a2b0d1ffc366dce3f347be65c6b86fd2ecced2a6a918b33b0b95ac633b4b230220c3697bde4968cd45c2c68e88ccd0b3d3f8a21ce02202bb76e42456635b466ac64c46c4beaff9b9cd62b4df9b5f9c93ce7cd6064204e0214e7fb4390f7cd1a5ef38e8daf39e4511be59dff393cce12b8c3617276a6bdf3eb47d75a86737741e0f7303712b0b815d668ca7d6010b636829102390d8b1d0f0e8c6d4ca80a1f678fbd3f45d0c738bc221436353b01841609244a6ced60d2f9a549882f1e820ef4ee7b23234297174beb1df4e737728a2e0b43204cdfaeed8f0c7e78c8868ce79f6f0d9a7d68c43e6697eebe6fe7979bfb9a8cc1d8af42c4a593bd4bc67c5d2e648c3d9a4d1551a3aaa1d1cb7b14943d8ae378578a60564a1c3cc8eda7bf9b975eb6cabaf74facb79596d7d5b276cb88253a00148f4b0d6af70cbdf377b963bd43a331037b1a8f9a6d12d5b7e5e0c73932abec30b5ff45b9e6cfa164fa8b3ccd0d9d8d4b0cca2d4c839fa40e42ece395ceffd22e73d369bbda1ca96260c3daac0e21519e136edf67f8f47851d29279e599ee544d1913f9be6d93d3fccdf6c9a0d7f4366fcb28f2e26ceeff9e012afeefa58a23d8e776f8f81ce56aff1b45ad9f1595e1ab2510af51415918bbbae7b07d560c2067cfcf0cc05af9f29e92eb6dec8872b9cfec82f5d39d2e3e9afcfffef9df1ee396e31b5e31cbabcd9c5c84ecf37bf9fb02b7958b0f20566d5e2b2e21dbcf889337b57ce7e47868128ac6c747e3cafafdd6957ba4e73af3b949274645d75bccbee62baad5cb8d17312f1c23fa486d66258dcd107aed7729033c59e17c8eca817650d8d3eb4bdbcd0178fef88a3fceef8db72417ba42ffc52eefd41191a5ef3d3b5dcac1ec9fc57657923a3efe82657b2e8916c0091813e3a8bf397e9712113c7c35ca4d4ec111fbc7a064eb2fecca3b940a999783566f3193369ee20e9919eb17d6decece4b364ea61077f38d9ad28ff80df4c847f6d2f11e11b63bdb65f26227d632cecc5b1f0df1f0b1dbe36163afac658cc8b63b1df18ebc5fd42bbfb3587c517c6b2a2176cb1f679f2349643a9ae75ffbece0def25d99d1b1dbd859f0c312162eafbf2812d5e3ba36cb1444eb8042ecae1033abc761ead48f806cd072f8e453c4573307e8de680eed01ce1613051835b5cd52e1ee864b9f9dafd9c9b275b3e291c9d2d2c4a7d409f17edd748edec45f0d259b322e3c5b1c037c67ad1168bca6f8cf59a1cb6a2ae1c5660e1fefd983b2ff29873e2b124377480df3fd338f2da99c691d3998ea5d0d0cabb34705e3cd34ee74c7f71ce1050bd440304a0271a404023d3bb348841f2120d62903c4303fbb5b9d667592904bc2cddef1379edceb091f39dc120f352b84fd7fac53ba3eede19603285eed355f05fa3abe03f4303f0a22e0ea8f2291abc28c3ebae0c7f4c03fe351c21e6abe7f8e035396d23ea5334305fa481f9140d8417cf97903c450374fd1a0d50f7291ad82f9e05fb527fc24599411ef042f9222f94cfd1e135596ba35dfd29c0f9c910e5efdb9bd96b7703dcd5bb71f1fe3d96bd286bb24bfd3478708fc1d18b738d3aba69f15037d55ee3314b739fa2c18bfa5b66eacfd0204c5fa341983e47831775668d788606bbd7e64afcb64d67a1f66bf3479ddf1ecb78edcef72feda3f5b59f3dd9c72f09f7c7425ee34d03712fcebdf82836e9be2cf0add778d6b72efd87d8a3d8b0fbbcfca2ac8cbab2f23768f9a20c35ae64a8781b3781de899bf8c51c5ec3548c0b4ce54fcd61f4a21c150a105ffb89efd8b1aff15afca22e165fd8d36d8cce436c3500f7effdf845cc3b06faf598aff0b7f3a27fc9e9ea85ee23f9035e9409e05a26dc97d5f18bf7556cded0e6d17e48d1a3fdb05e93a5b18576f870b2c61ed0fd450ccbe96258b020dfc74dc08bf203a0c2ddf8d90773865f9c33dce51543231fccf935ac1374b14e64fa089b8aad17cfae45ff3aa7f2be3efddabdee74f8c38858afd36760e8ecf640d30c5061d69eef36060d76ed280b2cd4c9192acc9ec11f00455666b5ff9cd3a4c46acf591b7b9635e3008a402d6fd4e62782284c1d4aad4e3936a77d72020be1dbbc171391760e829d3e33a9f0292ce876ccd3671b53c3a12502128b9642db3fe4c228a30c6852622c861b9b664310a9957d8ee9aa0dc40d2d4de91dfcefc9b2ded3ef9f98b77f62defeef8e7923aff5a473fc83ce3ef48bffbf1597f65c3c55eb071f9fe3cc387f0adb919a89b7f9f00f9f7d22c6e0ffe198afbf3b368bbcc8213fcfb5138f35c12fe2b1eec463b4f19b22ea24809636a23f2df8b17227d7f62eaf8576cc76f5008497ed52a81f9c935686cd2b30611fd215d0190274163235c1b5ce3970cd5e5fe46c77e24f8b4e9ee32f625afee7c41f2d1fe8c8bf88f369e426041641f7ec1cec2eb2588e47b5859409188f104367368fef91e0f7e275c6b771772fc41addc881e5354f1ef6e510b3dae31fca1737bdcd1d4eaff7ef118f4620ba6f0fbf1a3ff327e361bad85cc78e7fc25ec8fc6fb40dbed136ff46dbe21b6dab6fb4853a6d21e18c1b3dd116779ff1035ad1653c8a3801de03bcddb3e94b2ce5c1b8fe37e6bc7b6eceddb816c117b4390c5ef28187a7f636ad563655deb7e1223cece276afed1d1e7da36dfa8db6f9339880159f69684524b27ce4d78f9ff251fbcff9dd9da7fce89d78902fc6149ef31deb4ff900bde7fc9a4f8d1958cff91d83a7c6acd9e7fcc3cfad73f3dc3ac3a7c65c3eb7ce2bf917e0bc0f1eacf5b978001bbd9043053fb11fc4843de9f37bd287f79c3fea491fdb933eb3e7c67ccea7f5fbf71081fe7e5be15b7e1d93fe8e9f46c8bee577a9c96fcdfd8a4fff84efc1bfbe83ff489f14f8e3be1a701b2bfc58bfa51ec4d274e3422e7c9dcff9692e735e1ee2d79b67e2404157267ebd9e00448fd6d33da76b4c7c805177f7589015f8c1bcebe5f33199b1d391378646ba0ffa849ef3e394bfae07785f0675e488e01951d7ee965c3b4af718f9020e4c0dba8b339b1a1cdf60c3e7b5dce2e2a7cfdca4d179ae31ed63db6bdf458b93c3709f5b1c73b26fb1c42e167bc6981f62899e8548f82d06cd433c3285f8166b6577800eb2c3393bef17a2063c32c7aeb0e16b2c1b1729d6375a0cf558070c3e634ee798e40ee67d8157f6985a0d4599f505ffe6bb0b2c539479044482dfce676ff75f62e21e5f019f877964fa181b6eee3ddfa80c9f8d3afddcc70fe48dcf474ccd4f78b87df6068be62bc3e70bbe56eee1cb9d3e8c5a9005f7305eded6a81cc3495b77a0def886cf7a86c6979798ee359dd988aff91ab4f4033b0bfdda67f0001bdee7d1c87c79d54f6a6af8f6946ba5b7751621a0cdcfcf1fcfd58d6fa5393f99f33bb8f27dde876ef2a69fc4802e786126dfd670bd577f529828a7fbc5d49350f4304cd02eb0dd8758eeafe7ff7f692ef32ff7f07f22367de3ef6cfd975fe5e43dcadb66c6f8c6a28f7969474cf384611dc6865a3cf006c3d29ee18fd7f2849feae74fe3db4ff3c81fcaaf7d8927ff53f8f5eff0d823bf53d73776bc9b925fe0d1879a8217beb043ed3a7d843174c32761c0d05fe7d2ceba7e96f60c41ebdfdb874e6eacfe47fbfc1606fe8c5cfe63b9a8cfae8dbef66db92fcbe3dfc2d1e58e4e8f1828f09de8253a756cc966d5a2c6232fb5bfc0ae4024d4a12fc4afacfb027bc78c48c14134ff854df8d439dd5af137d7d68d35fcbdb575e3d722e0dbb8518397d6e074ed728a0d450d042fe92751575f530a104d51e3a535e0dedfb43fb98176edd15164c88ef7dadac077d796fe5d6bebeedbeff09e1577d7e67a400e23f02b9ce299357731f53fbbe64eded999577f85ab3d430b270aff265a7465975182688abdd8deed9e6f5e03ae48bd44b3cb9c329f8c0cd97d893697be83df584324a5df5dc3454ed8eface1c217f15bfb107e770de677d770e1dbf8ad3560df5d83fd5d5ebaf093fcd61aea6fae21ebe2786012d4c00f5f6adf3d4f4634c779c4c05f92bb5a47ee226c20ca4224bea4c7c19befaea1ebc3f99d35985af9dd35ecbeb986dd37f59e9df34dbdf442b7f019948fce7ec4a7da5fe408189550b3aef092bd73e1234278dfae8c935ff4291af8bcfecd355ce4ebfcd61a8a6feee3a50fe8b77468e7d23ef087184fb1afcc2106faf3b1f6cfd01520ee977ecae7fa08ff401f5dbfcf1c1226366cbc74ce1df84b5fcf737da44b540a97f43c0394ea5be8a1cead9fc056248576b47fbfc9aff6ebf7f207d8bd9d4ce1a18df21bceb7e1d96214db1189db88e05a94b2e17c26f9354d7f9177406791a99510d0999e8d9090d3d6f25536bc8735e3797b8c46ca812ed4b33186098b9098537008a8d065c66e61476a0474b63ee3ef826f526a06e4a45dff4c4ff7f4a62ff205ae7d1f102faf11a30e2e7c47973e9d64ff2e1af9ecf3b98953afe7b521cf8bc77905820fb4790d26ebbf3daf40d0149c8f78e4177905385f83c840f8c77905adef44a90df9abbc02be127cd6e32ff2131ee5047ce9f769c6f3f87a580bf2577905d7beaa7ff20afec92bf827afe09fbc82db9aa7cbe6d9584a0c844c396dffbe1d319676f653fe8e5fc4abeb1dfe6fdf1f79c82b78c67733f9551dd9c1edd97cbcceffb93e932fd6f267eb7e7ea756e7df557b53bac84761c618f6c5b93efb6d8ef9181e065dc8877d1f504bdf832f433cebf7adff4240eec7717ee5ab789c0b706db75cd78f945ec716c7cffb191ec7fbff625edd7a8ed776d3f8791fc1c3d87d8f87790ab802f22047e9227effb7e8f225beff454cfb2fe6557e7b5e5f61f30febbe3d8d955fc7a60bdf9def6fe1ea0f6bb7fde63aba31a7d7d8e2f398f8753cf817b8ef75bcfdb3e37f89675f8f2f3d3d3eff05b6fa3c167d3dbefbf4f85d4cf017e37f81235fefe9f3f4e79f1fff0b0cf8ea2c7f81735ee191de633cf23a66fd0bfcf63a569e7e7afce4d9f1bfc45eafc6b7d067c7279ebd0bbec44d1fc7cf5f61835fc4ca5fe390cf639e5fc5c07f3dbefd0596fb3c5e795bf3e7d967c1958ec04fd685719ffe2f618db7f1e2cfc75d9bfaf379695fe284b7f1dc2ff4fb5abcf6ff098cefa558ed58701dba7daf5e389b30b9b008d646bcd75bad48aded6a9d8b132559e9f0c6a1e0eb77c097423cc244a40c1d5a3abc2b99f40ff643cda3234c4405df8e88d41ac31ed05cd789c2c69ea92d8dd839944b98b4945963fc68c74016e2c416a564261506805273662c1ce6dd8d613fd00c262e70471d69edb1f4cff6d93ef387fbdcdbe1ddbc652b227270a031171d315269071027058b435d9bf1d03ff04ab76ecd01a7155617fb0613fb3674374638cc5b7e5cc0073bf58f8ed7c61572940b595a919ff0348a88015286dca13ecdebb4cf6edfddac3d1aa3ed73cd207bdcba7bd68efcaf23ddb324acda67d0dfa2514b933fc99ffbf97e778ff7b9178fc6687198fffbc6689f79e13cb4bcf63aed892e2f2556b48f953fc6bfee7d01e541ce5dbcdbb8e2e9160f3cc7d15630269eded1bccf3f39fa80ec682ffbf7efdb270a870a33534f429952635363138b0aa1a5dc7d5ffa51a6c23b0b9536fb7664ee506163cfb836a20662c3c7e826b35001bbffbc53197a581b089902f9ab77febb87750e3fafdf95df792ffb865f941bde2b377c556e8471b91116e546881fbc23f24cd3fdfbcd91e3fbb2430868702d46c7f766c377fa129265a41c707332b1f4d1ce8e25d78a25c278a047b4bc718af93c616317f91d331d76c5c86df7eb19df9c2127277fcb39dffa88973df0118c43a2cd99ba875d4670c31b69fbfec988dc82c3fc4e73bac2a14c0d7601d2d6d8ca8146569ce6b43838d0706846df9d47c23df87c765defa2a12912eef5127fb8be5b13e3b80fcd778b6169d3eb6b2cb202fa2834f479cf8a060d8f17402321f13e6d8fefd86fdf636f5fbd47bc7d07fc243bbcdb5e4aec48f50fed9a3d852d0deb5b5a98777d1bfc648498939b3d3fe47d5df882922b8cef9c4373a7c6d8fdf79e8e8856e6c492dbe8aa767c8d21c2ee727c920dd841369cf1e3f1681f637ffd4e321dcacdf6fdf45fdc371dbc126850ff9cc743366340163aec71feb4dae76508901d110d6f1ddb14a7cfe4c47774b66af867bea74babf35993dbcfbbef8fb723356dce9913a9c4d9ffbbcfbf5b3ea0eb831a708978738eeed7819bddf1b334fa23d0a09b775e3dc81d4bceef8e3d8c1112abbdffafb87effeb4a6f73a4d2dee91c9fdf979058911bda51083decaf4e36ad5f23fe4236ddbc7396597351ebf33c63db71cb33e7f7f2c77bfe38b4f3ec88cc017d2523ef3d4312ab7ddee64ddcfc954f86ad2ef9896d71f493df3f2291250252a0af7bfc7858309329b2f7d35dfb13edbd4fee441fdc75bc516ee8a083db83ea0aef3ebc37b49dc3fae423bde9c37873b4e2cda282b7d9ddbb6674315f86c25dc7c7aedec12675f07769674f3697e384c4ea949f78a3d32817fea52e5effb08ff1707fa6bda37e098756ac7ea96774d7a0c3c4c92fce8cf1365ff2a423e96c65a1ceaa95c3e8adfe75d54f6aea42b766d1d15fd2ca9147eb1291326968d779a7750ebaba89aed6ad3f095153a009d0914e8d3eb7f460d846dafca4d0a254df99ece57ea3abd8d583efd07bfddd5f0b43abe9bdf5dcf0dffe6cd6ce78949afa590e73be5a1d7c58c733d3f0697bfeedd68edf9fc93bfe9aeae01bbf6c871ef44ffd977b71d085d5378b223da0957d03552b1b6964e168676a380474f6176d8ad3fcae7237d17beb3fda40cd7c9cf1ba67206e682059a3a35cf5871df5e32dd0c346eeba80245c3b66770e4cb45801377ebe6f472b6fedb3bf676ead4ffdb6d6d7cd793ada21e771683c353436bc3dab59b86ce375c84047c8ca8e0854dfc73ea54ff4095fca8f7dfeede3b50b1bd0e81d9af4ad355fdd2f8dcccc380d764d0d3bc9ce43ff176be01670666861fe11abe94754261f51e91a51f3fbf4ebe762a13034ec9967de8c07b8d9755b0b65bb75e3dadc5fd1c36eef959058357a8a1d07a7f16d4475ed48d8e830d1d81455fbaef9c6e6f0a7fd9b9ce93bb15db3eb338da88d1cc7b928ac398d6cf450042c8abbcf1c75f7d3f9d085d0d059df244ff3cc4d9dcf0c4d804c1d845f3cd733a9368ee0d7d8e1852cbea36b7b27df5560e80d8fcd5d53830b0b652143c3efebe7bf68f3600fcefad2f8449fbab1550cc43dd3283ee6d54bafee4761684ef8c0ee3ed80a8d2d62f7f88b5817f25ac6b7fde830718c033bf30e45c6402556677df6a4331d63907afc02ab2ef8501fb90051573a72ac23709421c5f57837bade9d1cfecbba0855485ccfeda8df32d4f466de9defeeedc5cd3c8cc517df3d6fef26b7b438e8c4717655aff9d8fe617cca457cc95e276cf7ef5e9cd621ae0a7e48a3cefeb576d1957e7ccd07cd9a5fd1dd8fed1b197b3aaf5736716269640ce4a4f569183a9301b49d7f68c5f3cd71df2fe33a83f4c1e7d7766bd6b5cbf8f1f06efcca11876fbe632664b1bcae9da3b3a14da96eab7f55471b5ebaa1e941361776a42262c486a0d98fa33cd7806b6961ba94131a68eab6e185456bc7f2fd96a7293577261bafffe9c94c7c977e19a7e18d1cea191a68749fa34e13191a9c5874d0931035349b76d021361469edef868e3d26ef6dd61e7b336743c37d93222a07655d7b72d8db73adf3e3f8ae15091b0bfddeb93c8e75259f6a9e1e61b7e783cc0dc4ddd9de21a691ce0a0b6dce5a8b71b8462cec2c5a85c06d6c53c6fb6ab38707fe3c62496508e2db3d3bce895b1c6c3efaaadd01637d3cbfe1118f38610e9c2f5dd989d35cd8cbe053ddc0c6eeb4d1916b478dcc3fefb78536f687b3b3a37976d813cf8e54d7ac60b4b1efafe22ef7b16994e4da881b82f1d017270606e400b9c04de2bdad78b7ae897e39f639a68e88385dc2ed6e4c5a7518f36abe5d99684ec8c7b6a33edad9a874967ddec83ddfefb7dfbd7c0fcacfc9a4eb397764daa52cf6876b7ef26b3fec2d4673a74e92d73d0f44ed347a0c4542a0636bf18778bfbbcf2d4e7c7689672cb02bf94ed4ce75fd18fab2468ce88fbe7e7e3cdaf0e779dd6f4312ab862f0105efec48edd8c60d4fedf9ed8455dcf24bd5d0ded2880a2c46ae1891d1fe2edae324202233532b71317042a0658d1dcfee6b2065ad9ddfe852a2c7e59f0ce3ddf016ca36fcd3eac797f7fff59c95f3be77f490bbf3fb820fafee9ffbbae8dede7fa01f1e74a2877ac0a9f6d235e67a8de39e62f61ff1ddf1ced761a2d159b27b78578b73ecb1d433ae7661531ce673c4f2d0c7f3b8a4cddd79ecf1fc2fe8fbcb1c8371e75c1dec9a25dac1ea1bd94791ad2d71e695832d313e9da94777cb012b36f65831b2af2172c0449eb80383339ea75f619597d8c8c10658f7ce67e1b61e77574f60fcccb728d5b5fda4d1bb37376b6b314dbc7074e93a16f8467f146ff1a1ea22bfc0df9436bdbec191efc43e3fce91905fd6739ff2533c5ef7bc67476ae9686105b4f9f68eed9b58f1086e65023a4aaca8f5513cc6223afd779eff954e72e295532cf964cf53dd98f83dadcf7e9a2f694fb3ae150b85d1d0349e77747e6967dfc6ba3ff2eddcd41113e4612856300a34766beaf3ccd0f0462f3f9c21a130356ccdebfc1a68640d16cdfa41624561b356d78ac2ec782fb6b4f186a55d353ab210328d2c89c2bcd9d39532ecf86bb370a981cad0e0d0ae46b54d85f9b29e16fc58ed1fd61859289b8931bb73dafb6f5d0bfe28009a9dac747868222a0e62d6b534b566e8667e78bfe56f3ddbeb5608d8d9511b3304ede3727884a7a4105421716f4f5bec93ce5a7bce88c28607f1936fda7fc4bb7772e3c6c11776586ba3619c2e6c0c4dda39f5a668ed8df1b06ef6983fbf67e03a572ce126c375abeb4dd8e6f9e29c87f0d84efc156f5ed4c13aca82bb5876b6cfc5f187fd56178804d7a2f8cdc1cfb965c6fbb633f9cac7876e32b3d593d63d3ebe9675ee094376b4b2bfc79e4f98ca1ee7beb24d4f67e93a47a8ab9b9ccff71effa6caa4532b2de76ff1ecebf9b4f85fa39b5bb7fe930b2cee7aac8fa84c664867bc8b79c38fe778f059dcabdbc43f682b466067a06acde94ee2506ed2793fd5f57a7293226b4e731387e6ef6180ed1cb8c875ed0ade98ba548bd101c3d3afcec3fe9ef62cea8cd583d6bfc276fd21481793e8f84cd6e7dcab7576bc938489dabd07433b66efd954d8958c3cfcfd9ade7d98ebd177993ef8fc9e4ff3417cc4d5bc1b9d48536b1b21e36e9db363edb1d606bcd7a68d6fbc87eb8c6ee78e4a894395e1550c217489fbaa951d11d5de2f268537f1a011bbb3a846e73ccd05b210a1597fe8446aca2da092a1d5b4f977b6cf5a7c7d65512a02b422e36466ed68c5f1df89960e45f80d4f011d84d618caf86a045be3eebfe2d198d071cceebfc7e32bddf19f9a8be05dcfa5f3ef4e6c56b79fae2d71f8fb77f824377463dde244e32e9ea0a45c748e335da2526568f809b7e27cb6661a5d0f51b216e7405548bc7c26b3697667536ae5d041af7b7f72d4653d4a8e22da3a880eddeaa6a9d5da7c640e10e5cb76ab05eeed6d27a17234d8ebeaa7a686efede047b98034941b716b97f976ac6686d7fa186fe337ce743ac7f1c6f7727441f71c9d9f7dc98f7da637b78073a00b10d0e6ebeb9cc21b7c94be33ae076556a4d60ea5061f7e921afaddf6677cfc6e1fa30d7fc69a2f3ff71e7c5eddff5c183ff8fc41ff7762d2900b9f53b7bef564fab6cfab7d30271fdfe757de7d07e4bafe88dabcc9f47edff32ffb16e42ffb46f67dab973af164533f69bb5ce02a9c6fc340831ed8ec17e3425faf49f97a4d077a2daf6344e8db58be7bfd1bf7796367d3528b6fdbf779a16eedd4c8b9a91d624444dad0eefe5aa777d6881feecdec2bece3bc271abb6b6b7fcb5fdb35371884d6bddf2ee674f02b305fcc2d7dde57784fae9ce2a0a0c6ae451fc442b63a2ba385994d11954391b933e9bc43e3502fe3e2fb7b72e06aac5fc45fde8ef94c9f77f096539df7f1af79ee182bd589df3bfa551ed7c2beb3773a4c44a6e634df5fe43d1f74f48eee78f04f3e7aa7c1432ce1a2e6c33e5f5a7ebd5e76fbdcc39a05f01d1a357c071280aa15588c9a35fa863e6a79ad7b6f1e6a2f64064216fbfdcc4ecf357208504aef14cbf7abdae65fe5a1b7b50c98bd4e393ec4e5c8d7fe91437cb1ff429df0976a3bfc924e6dbe8ea5915863d3746b209cfc156dad00e2be1cdcc7b1948e465c62ea072c5abc7cc75e3786ee8857e742ad5efa518f3583d17bf9ffb7bcf68cfff5e19c17c3dfd25d186a8f53d9baba7328652d46a57bb78fb3dcbddf0fbdaf45b0fcba36c3cd19baa805815cd4ed490d7d540339e9fc7eed53b8b4112fee863bb5300eb2fbf88ecba35efa702d0c2db53e9ee56d9d9427f734bcbb6fa79a2934b376a8f9dd7bfff219f7b2aec39edfca4772b133ffeaeedc1718fc944e73ef2ef346a7ba11b67f553722c29247f1c9d77d735a99389492dce749b75a225d7dbdf5c79eea811c30a527f1e0fb7b6021c57dba6be51d7c887d78060155ac012d3dd483ae31a82bdcbe4bd7c01a8f0240dfd6da78bccfa3ea9eacba4fd3576a9b5cc790dfad6774b7f6d155cc71ceefef0ce811fd6c9a0d8f73bb5337e43ac6e89735f53b180666536dfcf66b32e3cffa2cbaf3db989a14000def60326e61687870f425bf7a761ede4972e63b3a5bb7ef7fa488649ff773c68d96f4c8b52269a59fe23ba49bf8d17b79130fda57165274e249d367c739d6e9b97afefcfefddbb88f8731988d4caa6f6c6dfd2227e49cd7e05fc63b3d7857ef0d86fe957e7a5993e884fb77308a36aebfdfe6dd8ce13627478c9dcad0471d9c88f4ec16a3dac72b3f8e5f4f1fde07776a7a1dea0fedf11e9b22dbbc131111603b169ab35f5848983b5d9b4d975c23162ef6ed287bdb77b25dddab57f6f253e7e61e0f1ff6eb0b1c6d4f9f939f7492f826a5fa26a206b3ea7aeefbd8da57eebf47fee6df19f7f6f3a7cec021f70aeff2f2f13d3087fdbdc1f8b3abf379eae398d7d0d0bde3c338e4810cf7f95d675db9e60ef9291735925a1cfe2cbb9bb3e068706e578f62bcd82f62d10fefedfa3af7ea553fefb94ed8dd3a5bafe8d91d9bf184a10fbfcc1b38d69c3cc622dcc33539edf85ea883bd1985b949a995a93f11277c1f17e862fdd57d7df0406bff416cd2d9e7717a97da557cc8cdbbd54e67f9519dcd86b6e73a2e18f0c3c8e8e46135b4e3a2300711716d236517ef6896c9d0f8e27de13c62b475836eb007fa7a2c62db39ff7bfc5aebbce793e23141e61fe8441b1ff86c042803e9d405ab8589e00a1d6cb3adcb3ac6514367f3663f1e8f274420223dbee1a747e34552646806f4c47881a1e1f13e16f6011d9139cc4f7ef55e4aa3023ef3151d33a0b399a185c14d6c95c7f2a6c686470c8c2105d78a798fa3db9f998da895a901e2c7cf1f89b95dc6d98fbffef78f8f60fde3af1f3f7efe10cc68d9fcf6ef7ffffcb1f63237b7fe656fa2f7ed661378cbff8abdd837dfb7c17f4579f9d7bbb5d964ef669a2eb3f43ddbbddb69fa1e6d2c2f5cfe2bf2e27fd969daf4ecc5ab4df3d35966a617b61fc5fb31ae9efdf923f5eae58fbf0628fcf347b471963ffec210a8fdf5bf33af6d814008fc5f30f25f485f46e0bfd0c15f30fcaf1ed17f83067f41d08f9f3fbcf4bf1d6ffbe3af9519a6cb9f3fd2aa1d6eb2dcfdf80beef5fb7d04417ffee0dbae51141e0c7efe10422f0e7efc05fffcc1c49b1f7f2110d68350b4fff387e2393ffec221f8e70faaf9ad9988e4341d413f7f7c98ce7fdbebcd7f433ffefaff433fdbffffd7cf1fc3669269b2b49b3117cd0fb8874103082760e2e70f216d3e4131bc87111004fdfbe70ffeeef33d184108f8f87c8fe843ed7ffffef963fc54ff3da887e303e2df3f7f8cbc6de6be38c6e2bc03a3706307e98fbf06cdafc17e6b3088e8fdfc4186e63a6d09412de3f62797369cd4fe3a3ffcda10e67ffdbbe12277b96d77a1d9981fef4abadca6efce265e97795cbd179b6d9026a6bd7cdf0607beeab2d58f9f3f9828d96cb30f33732f18f4f4fd6463efbf90cded7a99ed7f97369bc36fbc99d9ee8fbfe23c0c7ffe586466b83cb147fb97b434d34dbc7f96da905eb84c8f4fef473efd395926a7dfe5659a5d3ddd7c74d582df387933defffe7198fed707aa9dad17fff82bdbe6cb9fcf13ac9d39bf719e24ef7af3af68e3b48dd4e536f5dad5c3ff827bed994fda991e05c22f277cd88d2744c1bf7ffe70ccccfcf1d78f53e16b5af0ed480d2d6f6f5ccca80be0b916dbcb33ec5f26e1de2a5f427c4882e906cfcaa058de24361e8da2af14f8ec26b1fb14c47156ae73e13ae86f719da0c5364a7d705d10e83a60c488d983211666e08b24d6af8331e0abe76e13aa85ab846a217e10b0f0459003ffa8cd6d90c351f129ee042e40a62ea5a7e489fbc9db779286d83670d74059d8d298943b1a726de17936b12e418a2be5f61cd8da28a6967e19ccb45a0819d070b8bd80af8d661a6f93f998f14d3276cab4c9cc4a76cff858456dd2e1a5c17c15c076708ca5862e85da78bde7e34548fc46bfbbb6b0942ee17bda43bea5a9b9d3292ade4db0bcc3dfbf9bbc7da0f357f4c3ee24fb7f37c1fba608d1dfa3cc24db659655ff956cbd38fb2f3fdd3ca1d3dc6f72546d60a8512dfeb3ba0df1b7e9363d88e8e37fa36ed3837b308222dfd36df65bf08f72f38f72f32de5e6fe393feb385cb571f74e00095ab689838d71087fda089133b45172fe30e7c7a337866a833c61c3c37d0b81762d20d21a8d59b85c10851da9904307994db349a3479871238f476fcc1466d5f188373521b4622164c69bddd8c3dbfef76d876b667cfeb7ac464763766dc4ecce41b03e4343332e4aea36c80c95da825ce736a33e431d0dd2d1cea24204c8e97a35dfe4fb39c0b9a3c15e23cf4f6de8747d325829dc75e2e0620c23227616a5ba9677770c0868642a5623e2bc0e1cb6a8e2e13a0015b609a5cbcb7965fbc273c307f362d3c6e86ec789a6c7362d40f4681c9b562b9b2a43b11a1deeef43024aa3b752c55a980c0b4be7dbb51a8be3dcaf024e2fd75a5b140901cda90c3db8dbee10f8724d23cfa2d5d089c2868ed0bd359c027c17576b404ad7a1d4b628e681c65785e7f67b64222a7e41bbcbf1132b921243c32ba0cd0f7b7b595cee3097da69f835b21fec415bb8706b52e4d63cecdd5531c2f3fe6b6c687b8ff65f0d6d5ad82e35367534e5abf9781642a44023f3fbf369ed11d8d285d0d09c0a686afe158dac584dadc7346adb5868a3d73be197fd686d41c347fdd4a656363c70675d23f7d4470b8c3fe2f5c3ba34a232103701933bb4a6aef8e71440347f897f9ee45fc4d48814e8f778e76a4d75e21aa894389172b9265a482c1a84b6dfaee5fff737e97d5e9c3d87615d3e7ad4f370a8f79f56f3b0bf4dcd436014ebff8d6a1e02f7516c00e3df52f3da1df847cbfb47cbfba696d73dddf710ac51a33541cb0a6ffe865a6bfc1c0e7c2aad71512ed11bd53645e6c7724f97a161f3e4a2bc54fc0522742af371a76cc0d1d5361602a0291590c1c3108f25ea6c1a0d85d385c2d084508c4715581cdce01dd739a737dacab0b70ff74f3307212a404337af3dbaefba1ffacd6dcd470a722734e2d2d57653e27c5e3c13ba7a787dd8ddb42e6351de4df53e9574bde87ffe7aaab72eed0cf4506ae96e8a49bb97ddb4bd0a68cd8dda68d54734ea142673b72ce8099ddc8726140d5f591a9958f7525b75e8efb919d3ac7ad6bb73f9e8c9b933c070ecb5bb71f0c7ef46fccfde8d387ebc87300cc6fa0406c14fdf8d8317ef46822008081fbc74370eaedd3bfb3d38de8e70bff7cffdf8cffdf83bf7e3e519efde8f2797b47fa74c92dcca504ac9e43d8a7b2c0152db11df7374369db5eda59a8385462ea76001f36db886b22f7fc445eace19077d1b657d31562b6becb663d81571bfef0a0f2d74fece206108a2109b2d466d2a9ca1cf372ca26646a4068052034e238a3624471f856c15a4fbb948ae434d7bfb3052e2545edc418808f8996f526465232af4a1ab10f0204c4458d74614441897013f0969254a715505a438254732a2607385ace70a399a2b2c2c04e468ae36bf3ff12f9016261cc6fbdf85d15c99424b551dcd35762e436b6849851c4f26b41a28c55c213f14dd69db4948fb73bca4e02d8792ace28f1652c8c673650a4b8767c07e0c76ae488bb9422e1452c5453a1ccd15696b04ed77a40db5738ee549501b30a9cbb104b469f319210bed4f5600cd33fac813027c3e57705782c1466bdacb6ae8b4ed4974bf1e1c11e8516f1ee03b437134734a8e240a66f6df09fbf56ad9781eac77c284dd3894c4347dcb7080edbf032d1d5459629cd8914d8dd5255ff29bcf049d3d8cb15fdb3c722626ac8ee6b10ad49a4ce70a39b574b7fd4e46db67d80512fabc12e28b298b18b52035f40347fab56b2327cdefcd1a8092e0220d0c6be26a805c97e6c4ae150a5fc881202f1436b61496951476aca8ac64522e358f04691192868492aaad02ce0e41216921a6a0a342d5c94052704a424763450594824aae433a85148f16aacaa6aa926d4d254c168aaacd03529214295bc00235d7479f4e2c054b9fac78d4912d54f0d48ae871a8b29d21eadcac855c21471f1a2db940b76b10e08b65381acf959216274e4f820d5ca841294076cdd721664d00c76b89e7c8123e83d8804712de0aa5509a389f961ac2b662ec2c9da43854ad0cd411a5c0898428fc9414367434389dc1892e47ac2685f37aa10a73b1e90f060aafba91143a98434a1fa61e2eac2028165106cbb5645a6112c9b2ba332216d348b6a7c86cc5417c612a4e6a227061854e61fb4261046569c4203314120653d637340c3655b6302990c9819bf132ebce51d51727aeb7404877e1bba85dbb188813d8a6ca8a47920f994e0440c1851a959f4e9430469c8c0555324d7d243a88030953c95b068e610504624652a404034ca11944f38554a200ebc86122d4c2c68af91a286520d0c64e9e3a2187cc216922940aa5e65c3d32ad989d03d9c0058a47971301992f52ccf49d9e35113620524a515633c39742be167a4ecc97200a05799cf5e449f8a14d24dd897077062be8320091e91b5b85665099066330912a27c802411610259e6f1d1a545295d61ccac2a2aad47c380a0d8d81341ae8a20c7827c0030e61112782b6c0234ab5ca3e0534a9409840e2d4ae79d9890cd5d89afa1033106607226c2bc043dcd10c441c0f0a302628be76e720dee01c444442c0ec6cd4c0f805f1e9f801cca1fc4e94999d20f35b673128947136e65057e120682768c676e90d2a6d4cd05cadec6610b6e32163675703cc581038f03203f8aac8a14a3d43044494c948405879aeaaee3c72771202c75a448eed5a12c19484f8a90439b0044b13179503696491216507644f24479f739df5258d8ded009e68b48d4b1541f3905bcce37925207358f60630a08cad102bf50c32506be2ce45d9d86a63227168275d92a4ea28eb9da387f1c2174c4db1511b252796976e01ad2072adc24230801d197c08faa3bf09778648a113cf774e0830aefaff587b9f26f79cf78df7297513539f2cdf8626926ea3ffdc4defd06a842626318978f4a7e65b67737667f15b58bc8aa2b9b9afeb52541f3736195f25dca3381ced109eaca47b33abfde20598fab6b49a5726b27335abc0a2c366244f596a0699b0caaa609711fba271e55be722133144bd62b7111ba95fecff3f18d771bb2baf4f296637be33f9ffe5acff7fb967d723b7c44ccd9e2d36fae72bd77ab9b62f9328043e78a0b64aa72469e7133269f666097fb7031fffcf78fa63f3c7deff1dc31fe3ffb1fe3f63ff7fecfdb1fdbfe3c8bddba108feae475efe5f71f5c7deff78f83fe2e9e41573766563f66e07e215c3f8825805d4d954ea0281b40791f49ef83cfa75997d88d45c9a49a15c162f96300aa951b904c67cfb6b47e6f2f21f527a29cefbbf80a5b7bd9d974978ea70d9f94e51bfd2614432624f3bb18af9aeb26e7182c074c1c6e550f99deb3d737de076086f9a84480e36a0beb9c27bc5b964931dbf0f323e61ea059e29cd572e47dfa26ab7b3893a573c696c7edbeb7f41e16eb896ed564beeba78f3443462b5b76f959a522770cee3eda13e8f1a3c38e7122e6c678575a62af61eacec29db99a65effb273361930838ac68d7ac1cb4eedd3a800e5aabf8a71a106b7ef33da500efd95e9c3de4c993065b84b175e99563b1ddc6f1d594f47e12220c62c3ef914d83b4f5b9fa9a594298febc99d8c83cd8eb0d9d96d76c8fa76764f7e3d1635f4bb1837d724e45eabe3d45dd7a913eb5cbc8fcf62e70faedd543b36490fdd8bf984247cbf24ce68b3c707f04eb8c5df6f391942a55335e64a4e2632030ccdc072e3e896c71be8942095648fb367ceb9ce2aeb1dee79492ec568df76fcefa049ef9bc4082afb07f5c96fe3164a55f0aa4775e02529f8f5d8835a15c4c11bc605cbb17d9d3d5bd7bbad0459ce06c69d277865a0f6464221c7c33b4f383bef0449dd078d46af4ec35af9cb044976956958d8bffe9d2c2c5707dcbe1f77a3c920625e18ef481b6def6a7a1cbac97ec8f180ab9db026293639f405f3f02b57c7bc40e8dda80cb109bf2ebe617fdaaf87936763bc4adf7d54d372ea5c1b4814089502d349f1d493f2e588e7fc73edbb4879ddb406acb47137bbdf660a762e8e054bdb7b05e189e9c7d33adb1b695635e173ebdb0f33b143e7d4a19b59944719adf6ef773bc5876ecef63c5da6765ab41d8358cfb7a04d46dcc9de677ee8aa893fc5747836b87fd869fd6daec79371e1a7d6d997ddb3a59b48cdd2d86f64713f233c9d3dd2d703af3598bef2e2ad9af895a661da94f1b39a7005b3592fb8bf76231f2e08617b5dafad1b5fb22c0239e21f5bba0f29b96cfd0559e95e46673e9ba0675380e494513d2e15df61b79ec556f69178ff17d8f8f53610bfcdf0edcbcf87cf09d40cf32a2f97b5c56da0a763914bb2190957108f0dfc2aa87d3e51d75f2ebbab60687d892b4f248b665eb0c9c920e5c54f83497ff6edcd24f0d16aeedae91098c86e72aaf6c2574fa9f9c8f0a2aaf976ef06f6e49f8fbd9d82b775249589a9a477db0dfe7eca09f9796c5f76e8c32e35bd488d577bb6306558e7127ce66eb889aabd4b33dc4ec7ca8c475fcecb077c3eee35fededbbd4f8d74834ee0c34c14a9881e9a61f4e41c8e0c051fd5dc0bb9db0f35ffdb1b497de3aa3b9fcce7797757901437f1e6d1f2f6ece6fe4dfd6ad7097ae612f68b07d75c3a9f9515929f8ffb9f07a4aa5f9bb9789ed1e2d13dfb84b43a00dabc7ae0385756990814256da0e7be665eb5b1292bc1c5814afacf8b77f45ab50cc23b6d36b1755766d766f8b78142584dfc5afbdf4fed9ca398bfaadd5d6d6968e5a13d2f89c7a7ff90c4edd6eee62a4ab531e88bcad953ebad50ab6c6a07f3217d7a68aeab56186e2ad9a62efa77689cadb93b05facf8f0e2cae06b5b569fb66e3ba5a14489a40a44818528f1b1a99934917d043b129478a0b768c0eca339a91d6152ff6b9feb2f2f46af0826c62fa5cf6dc96c5410d59ad22b7566576164990d4de3a814fdf623645e505fdc5fff7ce4b765731f5d86c5f4d12547ce68643ff43f5aa4cc9cbeabd2a882cd1e9f22e7430f11d4a913057277f3ada6e7ae87db6ffc30ddaaa5a86ef5a6fb77ac87ebb841d446c5e00cb67377da37662b999322a34f36adfcc463fb6cbfb785749f02bbdc5b14105ed6c100c76a583cd996395fe5c0393f2954dfc8b8e3d029f4935702cd0f2b0499637331c72d55715eed316f354abe3e3b2dbe18297957aaf5d8cf847cee6a1e70adb92798043d324fd473b1a6e52b7b079dc5a5cede0f1bc1dec5797e0d54e26b449ec77114c95ccf26e0e493366bf620a02b1bb9ced5077ae3db0d9e5b5179cba892dc5c410f52d55c9e3c554f6a5c7fe43a5fd9393d8b7b399ebd86a3aad5c0c7068e215172848c4eef479879dc6c7979ca1627a2999defc6eda1e4cafa74e566f3dff65627ced74fc3ca3dbd6027f0b92e53202a1922512f2cf532c6fa91e9e4db69bf07b254b77adfc1b2a10ffe571308838a8cfbe5b5a9d0d62ca580d7c6a81df6a8f7fd0997a9573922a730592f536365eebc68dc7eb4a139c6b777b9f71a6c4b45d9b78a5756a91f2dd5d9211cb723931cdd6a6bcbd6a71840bc269f13e121a07bfd473314808a8841f9a8c083cfb2ac020186d2db16106f75731552f1d8f3ef7b2df5cf3530df65dccfc476bb3d1c19de510bf280a0248ccaf99b39c22203536271565b14d096ef402c607bf7a1fab9a9cbc6ee2878e90bb9ecd81efe654ccfc6e76f8d3305fa02d6d7470151818e8e55d4996b765bc5793f2bb99ef3629f63c091e741efd4e056f1b93c3191b491d8b18fac6da991b1d785123f26b7dd7eb715daad1958d26447959dea5243ba305151aaf75c9562ac3b2f696ac9136ad5c2f3a08379bda7b5d2e75e36788c63d1553f5e6e5bf77b593e1ec2fb500f32a06776213afd56c4a958603f3b3b2de39afcbd86723a91adffe1683dacc003b8cec0b4676b649c6fe86d10c2c90137d8b88a06aa26ff55e2739c48195fd4169b61b2fb843d9d77c0c565d864f5a826967fe501e9eda81691e65bf85ef30574761e3c06b627aafa78d551a7ead977dd9eb1ad8c86dc2734ccffc0e4326ec44865a91c0601b1492fa22e2019dc8a199cc4e95c5952a9e5dcc281dfebd25e6b5198f4eee59d0ba3015ea104867f065ef0b40fddecabeaca7aca2885f3beda89eb68f3ce5dafa6e03df9d986fa01a7b684a9614f8dfbd1af1d690d63bbf57657df7ab251ce8747a4a14503964fb05b38f3cc11f26413e1b8fa548ff792c2135946eacc4e3ce11bccf98d70c6d931c6cdca64bdaa6d5ab505cc0144c56018299d78d044a13fa569a2fb56689d06cee1c1cac64e75ab15d807a0be0a22ad98f1ee9b39bf967b567c2a2606f067e6bd25e9af8f16ebd65a00e1686d6414196e7c43e1bd9d7951eef0c2f18c68767a07dd732e35cc36013d8ba947fd2e19f07b39d8bd1066d444640db41916f94eb0cb371434de428d35b9dc75bcc46f34bf77fc88c8b92932b853f628eb3411085e56e9099facfaaec5fd285514dfaa0c6ec5aefdfcfb3cfeba20c6fc5b88a3ce17b55bac8a078873f0f35c441a50b3f4f5895eb157769ffd6634fabd9bdebf7f1d146bc00b268aafadfba64aaf26032d109a932c66dc477888a807a996ca00feaa8da1b021bf7acd3a51b40336cc6ff4d6f227318b1997bc12276a9bdad0258783bc358cf6cab30a96b6262818e1741cc2407f2d7df26294f4fe6672fa58d33107ed1c944153af842662b2470cb35246c5e9022edbd29c3371dcdab4e8282a9ef9d11b759391ed8d4c7e07d7b1099874e60acd5e90df1ebad66a3e4c0234616dc4c2c6be6beae66bbd4eff547a68c35d318b429dfd8c42b39f4bf670f6d79a99e6aa88202316c1228cd103fdb948f3a1d9f2cc9bc6a5c4c17b9533b90a19bdc573d2db1c1ae2810fc1ae52e92645e8117d6c57da94bf3557bc46b495fd1cff565afc7070cb6a65e7557aedf2ebed1a0c16b3df36e890103646ddf2b52feb767c765043f9b2fefd5ab3dfc2adcc96f000e146011eff5ebec2d714be8d3e8ac87995f7392c53540cc4bbb6ac27f9af9862029023584b81e3815eee499840767844f9d381646c1d024cbd2b9f1a5655650d5cfedb8ddf3145423bf9fc677a54ab6b028790109e6d42d7535ad8cebedd72a7ccbd5c1139fabc734ff3523a78d26a51d8c2a865eb72347cc3f1dba24c3f5dc9f55f2f0a18c117b1f1f72506f439613f3174f2596f331f8e2d7f55e8fe4432741568d59aa13beb71a9f85b73e150ebd4e1b68d5b282470f0d31a6f232d1786b5c4cfd959561a6f62a9003ffe01264ad5da14a7793e5225a383d35593ee8bc549dcc62a5577ec186b281cbdaebc76e66ef9a38af53f021869ed0c9ca4e1362bceda0627cad2656d668f96c77967245b67a8f5f12e025fdf80e18528803a5742fabd2ed5cc75b9bbab5534760d84ce058607656c1cca9405c75538b947659aeed66a66a53d7e3a573cb43a524d32ef42f7b85ea647d16e3763651ef44191239938bf2cde9824faf5a93da78eedea4594d61013de2412658888468356e4f86fb57a14c9a27ee93137b80717b155e850c5a2e3461199fb2cd4e4bd80eaea8304999e4a81b5f4157b2caaa6cb0b24f8a9227d473ef4a575b855ddea9059a124ecdb8a17a77139f982f66fb63e34554089fe8f02f1008d32edeb24a43ad3cb776503d65dc67adb3c4421f9fbded2c318bd9b87e54faef1ea7f74692e8e2a1378c4cd7e37f8126e6b3c0e657252fafc6ed9327fc6aa42ba87ff2d8f48d84de54f53e229bc4ef7a88fd6ac48a4216b2eb71a49fc7a5815e837aa166a71b1dbeefc683571301d669eb75f1f16566b652c2bea8735028ea35684514d94939d8e5de7a15ee2b9dd25dcce3b31abf83c687dceac2eb06ea0b50be1a03e888d5f5ceb23679bc0b64528efebbdb1d38c4cb81c68f3b95ea000909841c5f3cfdde2956af568d87c2db642e6d455d4fd94ea61ae062cb65e0312b658c6f92d8a549582264f8911377a96636d573768609bf4167ba268cdaa4f59a8179363952aabe3d3d5a4feb6350cfd59ec72c9089c940bae1f25efb9cb0172d6304caac9a7cbf54da9f2ec83cbbc1adb02b9f7dae410b6a2fae6ba6936f44fdf060bd356ca5992bc79e82b839972dae94f9696738330fff1a3fdbab81c439895f1d31a919fa89257d254928a8ab9e4d12dc618051fa7fd9080fdd9c29ab5f1e2dc38f1a6d67ea88621a164196a29eabfb05c5cf3ace5ce7166814e4622663ad1897607ffe8ea3a11f1ac9ab76ea275bf65c48d860e8af7cda3caeb7bc8dcda921ee2246b3768aac6a603f8d2cde1d98ac72c42bf436835f6c8298ad51a7c04e2ce85cef314c318d5f5be75c2ae58879ca8820e1ab458fad8ec657edfa9b9059503b1ed0282b5bf90f73cc6e15a23bf3974d0eae9611935dd4be2c69778609d0d82d7288515b56c846a6a7683576b69c13d6b7130c42af7b0b1668b22aeec2a442d56692f5a613e5891828f35020d03190eab1b5efb5b2b27d81728222a7ac7f7b411c5ceaf2fba03ca8a41fde05f0432eedde92d3066a231065c6a6e46ae645f25d058d583f751cdc6bd97a3ca241474cde0dd4e31a578dcaf662800feb9d5e5d7c5446bb3b9d6f9bc5a7402be443722ce474d89ad47d1592dfad3601459037ca7ed0697d9a84f585e4318c6cb74e212db99049bf55637c90ceb066c87698fe966de76e91daf59342c749cfd50e137ea9d425ade71057f645c76afb5389260ebed44e1e6dccab1687b5498155230f1a0def4efe7bd1719595e23e53e09f91fba91026cc0f0f5ae3dbc537c41057b460bea85408a6ef2017472353a69a11ff1ad2fa75691e051ef76e8effc67c683d569a04c676aade90f4322f43af9e8b3be8ff36139bbe75e6b38d0c160379988122e1675f17eff0d4b1c3722731d5a74daab532657855d29d9a7419cc14140d3ae6e01bd53800f0c395efd9572bfe0ba8c7824e1d031d91cd48f360d3f6965e7cb78e27d40f7ff4c4d35cb1b99919abc7d7335726b133dbc49ee532cd5c9e66d519679390509b92ddabd9d4850ede429210603c186f2b74bc4cd4ebf72e713b4d784067221a679ee79dee365d063164b318c20fe5782a538bcc75adf504a328393a6346b5ce2ae6f1bd5041a17cf56c238a2a1548969a7393640f3e2f4824d9dc69fe94517cd711616714dcce7ebfd1787c36883d2e9ef19b3d0b9bf1f6aac43129761b693057392d3dd37c3109be9a893deb28d4dd1cf6707d2088f19579a7979a97570eb78042081774dcdac15231bef66a32bfad3a565dfc083a7087c27733782f5c970bb3e5f2e2133c78147aedce66a157bff64fbb70cbcd0ce02ce923c0c5bd25ecc94bd3b749858ce7743556079dc24be9658319461bf55827fcd768f352849c6bfccf13b13bb5f1f7b32af9c0157a41fa7d68a4498c76484dcb0465b8d6252f050e5339b895837b75296476fee78b31f815b325c2f18b9256b6293cd9ceb2620f4be3b245bb90c9bf2ca997a1f1e2b79afab726eeb786ea00ef756b911bdaa9af6939de15e2bb9afb87f16d50a9a5af46426bc88c7c3f108b6137d8acf5748cdb297b825e91f1d6af3cd9b0f59c3a2396da88ef95d7eeb0dbc705e1d9b85320c4316cc66390c7c8031d4430b9479b98b18b33dac4156629416a0f4753f22907fb63011e72371590909bd12985b2a84e6cd97a3d011d0702b94dfcf5228f2490c25269fb12c9fad603bfe93133f5e71189b2677c276931567be54e6f48c3b74568ab7d5276a359db14fc8e40a64b8705097183986bd2cc09b2b0c6b3bcf1dcccb1f9d493bd811fa6cde85e46b1a1252c329a7bddb8893cf946955bee32b23bc8f0c7f88e9b643d2bc28b7ae7b97484b51a3611ff65bd7e2b10ee85ee538bb052bb098db23725c3398fe39da664eee2e03357eac5d07faf0628aaf678a725611cb3da8c7036b3bbcbd8a0a65c2e5d0a0b7fafef2e0a47eef53f7434468ff862e4bfbd98b680c5e6cee3d7b321ac94e878a9874c34118feac804c2236fe11830bc48a50eef4ab3ab04f3e814bd03e1998dc101214c4ba2aba9f76ab81d6ce96618a154ce8962728bc206591fc022fee6096479098693dee3bacfa8b6bfbafcf66dbcd5b95eb996a430b278a99df7c6f511c4f60e31991ae462916ca340fdac464b54ec38d398d9dd26b95a4433645269861b6776399859bd1f2fe6f56f8ab37b03276c4ba31acf7e76654f686a7d234966f1b2343e4495eacf85269fc2fb6f2f904d6cbc3c73e57e282c9148c95dabecce9549e8e7faeef412a869fde47a4d1b07a8c6c5bbf26c2f6300e9c1cd8ee3bdfecb5ab1bb74d266466717adf95378db0f95ccabb4bdd291c46636a756b90a92e5241222bacfff821a7acad4016bd507f5682f4d1aba7652af363e62a1979bc5bccf93a391c89ef84c66aa58a6c6e20d40ea4aad5719f3534becd9c6fd5e28f835f0efc926e3f33143b934658b8ea64917a895913466579e90b42e7b57493eda08787d5d7b48fabffd2d06716147aeeb9167dd903db9774ca4e621d33d1591357cecc38bb79d73c2528ac92c348fe46465313d76139155c7db4f9e9ab955d50146f323caf066627be5257c9e313988f7b16c9d3d30346ec2b3918ab752cffda9d8ed2f8b8c67c5aa84fcb71974f4edece65cbb493833573224addf7fda3880caef7d9dc24feb836e2589784c50e3bb40ed2c10b2f7ea192ae68c4f1326e948df50c62f0d7d5943563763f62c14db9ac44526729b1c3722cae5d40e3c2d3442dcb5a82d9795fabd6fb5fbd171a66bc85e3c269c4b104c653f676c876e8cef666ff766a7cf76b7e88c0c03450335f10450f0495126b532b99e9dacb4ab993eeeddc8333ee1b34a59d65e8fbe142b98b9c7d6a31e789933ca7d1965b276ee6b3bf7693db53bbd1eef6c3cbe35b1ab450bae34275a1587f3de0f1d642743b2af8b6f233dd177e3b95a4cea6e4662acc7f76a64137c1e2578d997f0f96ed3ac522973d2853348563668fb6118d2dacf78b1f771ed29d4a9c3bb2b0d93238bb563779eb287d1ccabe3d1133af800f4fd363e78673fe35a91b898c943c7eed5a436cb6326a8335c7aabee92e3a8909dac72b853d9223c77efd22c3249fba6ce26b5c661379a130ca66f30bd5738bb77baf500df9e06574fc07c97322bbb240b613c040dfc0bd8e77faf6676fb79674b8397df6afa7e77c02f55692eaa0cdf208eaf8bb7fe16d34228711fd5b87db0dd2dc2c1d3267cadc77e68155c8bf1f861237235033f086f8bba192636f4bbddc909b07b5f3059048431805b6b3ff315715903e603a2f09a13f3e468d175c93f40afbc9a36058a3e6b1296ad0662f0f70bc6fe838e6b5f0ce1a7d56c35d3f150cc706d3f1f3e53fcc3942e109a2d85eb5ff5687ecc0c453bf689920ce80ea89ad45b68fb1089fd6cc6d74e87f0837d3e829c2c71e5e113c5fd6063ebebe4f602051ec7e4d47adf01f3c67b5d3a09d3e2cec80535dc901820d19349f40c37adb1df9130e48efb0cad938cf92c7c33b7d87c5ae236c0ecdc493b763213ca3f6d7aacde9238215070ae9df9d4e0b81cfef9101f675bf251936c6ae765e59aed3c32942626eac6f840153f5cf037b6c3b8e9d2ed663484fba66c46f8697cf86a22a2cfdef14215dd7864559302e510be01ad1f8d76a8534bc292fe2a883968adf6333eed750a2fe6db0713eb53e13850bb8da90b6f356497caab3631665e2de32785cca3d2bc6dcc912efb59e8c2ef64a86a6fdc05710ba000e5f17fefae042a3554155aa34ebbcf6a663b2ffb5ecdcbb589edb395fd6c53506d0269131f6bbb67d2961c94c21557ae54c8566cc4e4829839a32dabc7f100930bc49ead85b48b4c8edcf8ed2e122e9b38db85ef3618ed2662cca4ea773a18a8b0196b7d444dfc0894b63785d8a6a6fec975ff9b27fdbd89495a4d7dc5c7e554a9be6e53f868e2f1a97c96411982f0b257add41d12171ac53e459ca526e1cfd6779706b1d038a89ad9ad12c25f15f5d505d1ad7680d968590dd9dac2e277ce4aeaad91d27c6edd72a2d3f151cff036c99a758955cd5c1c0a653fbb98a0f31ef602ad8f4a9a91c5b70338f596ef6365f118480c4f33dafde2ad91dddd810f8659f5ed57a3fdd26376561e53eda8822675c0a4f2a582078d5cdc11b299d8193a939bc5f1414ef8a3dab337bb1efd3621e762c46bb5f30f48bf911e7b25c6e0dc2468336310163b9c2dc9342084d91e7a7cf8173452dd79dc2fba0c51ad5e818ab3b3d5ffbd3a4d14440e69e94ce5dcc69ce1260e0a98be5f3005b54e7b441dd74dcc2e6d740a68420e759a3dadae5ec639d5fa8655325312dbafd663291f48492173420151a8dd1886871cddbb18bf713b90ad2e6dd88dec45d32551e3f7c1eefc5d78c75c039ba4240ff15e6756deb09ad652291709eff865ca1ebae4e15d3cd653e0b296236ebc85b4c97a68b15be5fc8d0d84598bdd9da263c6f1a2f3d46575142662779766ea5fc5641f40fedd85fcf7aaddbf9702127008911afb44ecfc99c72c10843f99c73eda915ddbe4f8db7aecd944fd062e1c0d32bf0a7f3f95470a119be9ecc39b47a7374b0d11c971bdf8f6d98ee073e5f67ab241351e2f0db64e01b9dac96652b9a1999c6ecb0cd4b40620ff1d2a6fb98b98e46d62f7c6b31bf5f0ad4be3579db8b772b6feab9b48d5a11d4dd2957d29a66f64bdc2d3a93b9b044fba5c52931ae8242888d822d0c16fd21b961e0b0b65f256c5af33360c9ccd0b497883c98ff51d6ea2ea55bf579fede3d6a2ecb3dd1d313b092576a140bc52e4f6e425bb5bdf50e10a5c95e64796ec607136eb08c0eebc2e3c23ab51edd51e86bae479359ba88010537f7c76cac48cf42081dc40679bd0ec56e0a564233ef33d0cf9cc7921fb0f36650826a69bddfde631bd2bbf5f215e5e36e97d00f8d1315b6aef7b9700ef7a5a0957e4d9a9f593257dc212a229c958a7d9444bb6db98946a673f9dfb7ed388ed17847f581ce46d5cddf3787c76a53dd3880506f58acd4436bab84b690174ffd092a136fede2071179ef05f1afdf9f4e345205b72cf9d1ab49cb9cf32e6159edc6ddea21e5a198634214f5b66ba5381a131171cc2ad19fe6d7cb4b999f0abd5ec9c27f4d5e02cae1d51b9eeaf85daa63c661fa048ac07723129bbd525d77a5adee0ec6cc0dee5fbb82bbd16853a6dcd887f9b146e6a26a9f402dc0cac92e5b23054bc39e63f3090aaf00259cbec615110dbbd5ff8b81652735d4c3ca815dd0ae883862cb29e61a9c1008ffb57f15e9f6a82282fc35f15833c7bb053a89e3422173b4040e116e88824dcb3aef2f8deb805200d29432a30307a32758bd684aa84cd66e237b9931f4608b4b827edc86ee0f7a502b77713842ac98c56ec45f5e9594f2014f40f1d9f0e32325f9af4e5051b4527736609bce0ba52506b41d57603857d0a3ca6d7e3b5d547dd8e50d7c9f79b266ba8953998b9ffa2bec13cc1275dbab2d17c32f1b6db944ff5c430c5cbca81bde9b8323ee1508c5b59e0316847a7c49c0d32668f568eb88518b172c9aac92885808bf875af6616e4b004cc85859abe5fed6c131d9b3bf59ccfe3e3974ad98f91ee2d497f6e5cb8196f2dbacff570f1d9e9b25b662756ca9d17f5846b753d066272a14acd93eda12ad471e39204a6e4949210ea3d7cf099ed950b911eb75753da0a1c3fb75156286dea16a1a79c60078fac8c905723f96f7d3d06f59e0546578199bf03e93165d2db5dabbee7aed82f680b6abd69aa336a15a90dd88a46fdd8cc6c6863fbcb11472d66d220fb71f15bdc26dbd27af62e6273e84aba357f9ae32fb76a1f0fd623958ded48a559ad0ed2e67d544aaf331f625ca06c629afdca64bb5bf47ab138e0e7dd6d67af57ad2cfccb7b456a205e3b9eb626359826056213c79d3afeeab2a7703d967adaee0d5ad67667211f579e47d90453a0f3340e72d9df6c396e4cd20074bf9a7813021121b053799c7d5573e131d2eeca5b465e2e27a602dc8d509f7df3a431a4129bb740c7bcf2b6c2ea15c1758d297a785a336912f34b133baa641db474678883bad019bef8a1a609dbaad20e2aadde7472c2e8e38bfbe64c5de69aa9f79b04efdcfd7b71b5b862604643e86c69ded277af3cc1073bf460e7ac34c9b6d683f9ec06fba2895d6c4c1ed22db8f517a155f18674c9ec9c8d42074faafffabac3adc2ef0b82cf76b65e214d50fba7a7884d5c4c4bd525594dc7936f4bf6d717d62eed4d33f777a68fc4f87dcca262e7c96393133b55d7a33b6350146d973ae28f76e01e9dddab294f073192a82699f95b6f4b728329fb6993c52bcaef83dcdd5bf859c5e38098a4da6beff5043f049b2ca9d1c12f8d839279fd15bcbe920e6613bbbc41f61390d3666267704c8a29fb95de2a691cd462ca243886c0b3b77a6f51a75d0f917977259b4d1c680dee0cca2935dddedcb39ac177c063fb166acd1bbc5474b071a1f0a0707663b87a59b57d2a8def3c211a1486067868e26f9f39fb2192edb72bc30b05fe73f1b2b59e5826247bb7693f5cb0dadaf8f6aea7e32c91bb49d90b3d982faec86c936a3311cf1a3f8cad5e8d51f8da46e1d8fe65f0118023b332e2fa4e02d2c92b6092ffd8986c4a330f302bea31988db7f985849f3679a1569d02a5e8e18c595c796b081ade62268766828789f193ee7d9893f1d024b61629cc625cb7668ab1d4a480a8f720ca2231f0bd46f62c5d3f37c952349e2b45ec7eb81f8e796436ad692011543090b91bcd878e3321e385c89deff5f5587423498503ae5ce69ff1370245a4900582e4843a6d9d755900838bc5c010a071af665b99e428da28bbd4096106e1a075fffc8bb7044dc91f74eca176d9204a77d310aaf31e123dc1afc2ae5068517942ae6a26171842c9c7f5dc12fbc92775109fc7d5c48157e9ed51a8e26d07f614e5c92f505fd769ffdbc66ce0315046c289273dd40909d5846531f6b59ae3171b5fd84ccb2aa6632986e2ddaaded7f1ba171ee6c578f369523debf7b16f527815237cd5e9881be5709b9254c4760315503bf591d8ddbb7661ca240415ea6f796a523bfd17d4eae5550ebe2e7bf8e4c337a6a35929fc0b6af5ed99dd7c54fa706009df99e6ac2e8bad913662698105b13756867907f05b47d5b341dfd8eca6d429515a035623dc4494d5a28443a76d617cf7f957773d1d8246b1ad8bd822a38c157e7f30b3addaa94f8abd37ede07e2fbbf320228588d883a7b73d2f0d6df521c8d38cb663bfd51aef4d19a675d4c72cad9e676cb2dac56f86b2cdec2e2ed4f2c3ff323d86ab1919663eebbbf9df6ee22d00079f6d69021a99d8eeee9726e651f8363510262019b73be1628a3d352eb84b78c5d5f8123a0ee80488c5fc64519fb4d8d04a5b29479ce489bd37d3e26bed44e1d1ad49dc285156575a6dd4a348c684579a00cc4ce8a9bf31504f46d88d4932b4da5c14828fc6cf063a8c2f352fbf36b2459390a88eaa97781fb74ef6884b13b0c44ceafaf0baa1ff6a09092abddeebe910c06c1e6c62b4d96d50603bd0cf35a27ef86bc66db0ff3bc7ecc57d279954411399d97a19e578dc6454bceb811b9a90d490f060f476b5034f4c9c09ae616478312cc65f1273c3fdf89027c7a142db897ad9af1a9cdfa020aef1bf27f88bd7ced9473390bb1ed9ce7cf76821bbaad1bc401ce35ce1074f580ac87cfdeffffea167c5f5c8eaf178afd03a373e3cf90c091bfe3d8567a33cb1079870241d77cd400a895bbf19c843ebf86de205e725c96a492a31f58246ecce658b55da628338aef5ebde3a83ad348aceb630c9e2f1944baeec8f7aaf57a3176e52e2c9924d308328469753ef7660eae4b798ff50c91547cb57817946c9b873bd3e84c25f179cddf284be9ba96752d9b2c076a65ee6e77170b378894d0a4e8c0b13de7fc8a4e6fdb74583d65f3361de68bbb6988479e43281faa8d0cbaaa6b56888cdf2781dedce1f6daceeadb25c95fc8b2b53d7e00e75bcee0a871f152c6716670c46430d71819efa53a7d741a586f3399c8b117becfadfc666f8111e1efff73c4138e9e9850b4d7a2dd6c84271e0531056de31e29e1b2add7a79acfc26cd6e3a7ea0462f97d633468e988829f09bb4f79976a198d01b14f698b642cf5652d5be18ead706f1940eb071f5dfb3919c56bef9e92202cc5b269998cc209ce73179d56861d2b155c4eba798e0ced37ffed9ab502d6dad86fec031cb3431f72631ba41eb42251bf48457eb65bfb5645f34699fd2f143ed87c27aeeab8e0deb74268d87b6022f9b0042b92b5e7482be468bae1c5ceb11ae2a0553e39e31d5270a15bb8833c6deeb589561520c86313fe37620079320bf9b48cd3527c22fbcea7a7cb4e31a550e3ee5c00bb5db3b9fb6ba4126aa31c904e695d6a7fbd9eb7b89f8a6f46b93a5bdf07249990e7813073f86645fccb9b14b98abbc3e6ac7e5d1cdbd2b701f54984dedfbf8a093bd9891fc8a986d02b7f74eda9ccfe483cf61a93cd7b71e7db7831b0a6d8488dcc1a6dfded977651eb902a415e6bdaeed747cb2817cf0d22d56bbb5da6d5e0d66cdcb2504622f5c653fa03726548ff2ff7d5f9aa9467ea34e9b5feb05914ad8eb82886bdf2be3c478a6b4a29bd65f396d988e7dd1a0e3c1a265a97cbae7c988c4d46e1572d28cc7779e5a9fedd96214f95069f8eed20c9fd16dab1077cc5ff26e22ef02fdf76e31bb1448dd2fdea6e9deeb66e7524d2b6fa6c7ce7d904d143ed8e71a40ccb0f249dd5ed7879e56694bfe691d996bb74c801940943db932b98814a6c9716cbd65a7b3957a0ade0d52d848b3549a83c4fd6735ddde62e4bff0b9e6309c9e5499bbbcae1f3685075cd7420d4c1458f94adb7b3771011357a0f867136349b11d39ce00465229c467b9732ea23ed4f1c68a31d884c73fd9e446e9932fa19cab77fbc351ffc122729009c99a789be8744c2e3b8f1b6dd3da3b1c341488cef0db6a5628d22f6c321f14c155c71bad95b934b8ef9bc196d20b48a583c5a47cb37ea6daf1a8a10c23eb71c9cbfe5d5c8f2b1ff968a17f3509b96b99719abaa0fb5ca18ee043eed43fa3e3174d6ecf46d9839eed8f507837a9f36a67094ff9da8e6b9ac74158a8fec1128c44421e6d1463c0865a8db18d5d5ca3652a10798a9dacf67d74ddc4399b2b4feadb6e864c0909bf30166f8ad0bd529637a57af2319b2959485b669e19bff7c291df469b839e482a1d8b6cea2e8deab7c68b3da97add8c8ec8d87e5ac555eb133069bfd11220272ca3c97f4824d9671bf770f148dc3866d4b4703e905fe105149c23549252eef061e387f79711ab8144c2fddb60645c7c3e9ec223bf76777e33987793b4484c8780937e6229dc1561c448431509b975766c87d3ddcafe592977af9c5d00d9a0d6e656cfd553bb8c8084c428f5ccffea32da1b9dd96223fe346acd65ea76392d9b9cc867236dc255f0645356dac4ad5dea7eab712d20ed27438c82d21c3a70ef3a810892edaa3ed7b4458bb6fa81b55809c5dfb849ac0784f33fcf27244feb78ab01056746f809fccc740ade6dc22606b7b780f0645c58e8f1b61befe037496fa8cf72c0fc57c84c56637fabca1e14c9a4d5e3a62594225177852b5f4dd9a064b6733fd3adecb14a6c50ccb0530987f3fe6fb303c92e383c5069cada652f3d195dc7c7be72592e097f99818c2c41773ab85da4a3277cce2fd82679bc4679629e35769cbbec66641f7763e6e55156d5d35173623910387709140ae14f89cc1da0af9932a140ebc0a65e70c4055310578855546d61e1f7832e2bbf2d8157602385e06960c9844f14537fbdfb98b56326200d35d587172f17a91214406c57e1836867f6d50d24bdec246324bc43ec908e8b27857813d3e99e43fba273a82a450a25ad6ca6a3a465bf89c87c0a604307e1934fe6c170866db94c1ae2433bf1a4f5f9c526dba39b482550f0295392b7d889069c329f2b1389f981eb7a60d86ae6554f137326352b720d4f11935996274f96c4bff8a7bb4e5d65bdcc55e361aba66da7607f78ba40adb3a4f57ad17adb0f1d6c2ae3202a342b2e5e4621b150eb206164093bf5383019d60d565bb3f388a6ca6b81790d319fc6b9804ab815e352d449fc1269b8d553466dba0077b7bb0232b1d2dd98473e953398421fe6317f5be2ae2201ac47f397a383760c6a3de2be9396a97409446291520faf953c066c4229bf9f527d6fb22cee82385d69f257bfcf3c59c67a070f3cfb04b4bdcee8e857d3d1ab77f29200174eac57681670172652ffb7992428746436abd75939e8ebcff5abd60ad51e7d291ddf61e21ff5d427f56c8b5c6789f1ec7446852f129bd5926f520509a4cc15330d6c1abf6a627a0aeeca26829a9854c51ea36a80778bddac63c78466bb8eec1326be70efb5e931205c1f655bb2b5c08cb7bbfb817109f4583dcdd07380efa042d9ddf8ec8391cad7248c8557ec320d8d009e7551ff3e7b8bb9a018c9182f17df41ae8fa1414725602900dc4ba860a03eec220e349f4caf64e5b371f41502601edb2a306796f05413fb52f1b6179331467d7b56ad9326d99b6b3709121e3a6df60bbaa13c8583d4eef7f23efefe697a13bb0b07e55fd0f12fab571487a29ab28c79c09ad24d6dd96bb5b300306726e2b5f4d69ebd8f0f98b689135be6ba1f6464e396fcdb8403a99c4b5b6fcb01d88b7b6c3ba36c6d92a3cf1d401e155e1edfb626e17993ba414d9669c56291e02f96da2728e7b7495649d73f6b151410b9b540dbc01dd99b99155cf32fe9c2b14298f3d85d6b696a3e30aff5dda435ef3bb7e86a8655291301c282928c686dfaf31e5e446aae6d4cb70bae7c86d855aa20ac80df14e69f3590ac92e4ae8670b311f456051f66727937c2bd9ef9c37a5ba826b2160012d2f8d0a43d2f94438c3038efe1534fa40797f96ce28bfefc0f19426a3da2c0b845545eb0148a3cad8347255669caf169c68531ad02998652ee808cecaf4ae31f8bf058693e3429c1854f4433848f763f2188d9da2296d7403ce31c66097e0bd27f087478d511f9b128cb94ce0eadc2b592246c06c278c49376eec39638631149abc1304916962bf3fb97bf787a0b6ac46e8d8445f92cb043f6d6e3ffdee561bab38163fbc3b099ea18b829e16212ceed6479ad1c347bfb324990587d5c288455b13b092a9bdaa4aff518d46c30b11dc6a098e00a733614ba27c56e32ab0c11a5bdda78bb770988265d76a521e56370001cdfcd78fc6d1c8b2ffbe97df1eca175eca1d07228fcd8b3e4dbeb626ceca43696aa9dee80d49eddb576288f4f3e1b78dacd852f1d64e73d7342f56585f9605258db1d645b3a6a347e49f877c855201426b2185780c8d43c19b7a23c1d2e7e11c0ce2f56bb078fd1cb1292f1196631f057319aafdadd3003b35732abd9ec7ca6d72f96ac9ed1cb59eef6d48dec97c7ad0f4910280d3739c69b8eb7bcc64615f29f5fccd4173ea0265e73a157037bb833efbf8d4f0cb4cb365a72bf29d967a51d617b7be7a9c385b28733da98dc5964a3f0538cc1ff43d2d92db7eb7a5dfc964063e797c3af55342490cacb463953716a158d4d6d62bcfa67fa7fce331365c35a9fc5e0e6ac67ffe8465157a5a0d2885be17bd9220e17acb149c787d322e7407e5be22fe720eaad71a60652710f0799d89b4e57db2416c41409d0cef3ac378adc76e9091543f5d2faf3e152cc65ba6d1cd980111774865fac8e1e9710be8bf15837617f5603bdb73efe95230eeb009755498187fdbb19d76f9b79d4653f779d5361cc621b0f9b9a84680d3ad423afb4a64be745a206ff929e96d7f4f6ea4a9bb2e03302703761c4a652bb37f9b229f0453b2e5b93a20794715495f1a94b97b936a26a763b0b20bf2cc0b44eaa8027406b135dcd04ba9b3016411a74ded92b11633d4251040b55638a8c3946aea4b83045d8e07eac33713b87cb432aefab3ddd1de6ac32e3d3a6d1c072fad34e4bd022f22676001990ac42fecedfd784676b6e74545dc13f1a0357963d373dfafdaa4575c1f14793564fb1c73f672ca80de075de495d07e35d97eeccfc6dbfa65eaaaf1f5ccd164cb6a26ae603a4d153cd7066c0a51d295453f5603b4de4d75a16e32a2b7d88d8cc635eba810fee5d857a67a3bbd4a3b3328f3fe075fcf3ebadcd3083003fdaf2dfb35205aacac5daf0df4b69bf710373076d04a508abc07dd8b00d5b00c9a6d3b3d0702ae076b8a0e8f71c7cbec0c0ab49496a533aa88487757a84065b2e329c0a631f264f5fac74a3185c5a61a8db89689df5c8cdb4fed37c93f2d7558bb7c2f85b35145ba3b7b776e46f62e62f33fa576d78dccc7dd04d8e57b30337c1af48ade7250462c2eb19117b35fd5cbf1fb3768c726dacd1e372adc6f42ed1f17935fcca064a44bad93ad5986b178ba15f6d485695d2879bda48651bb9043c75218d44e8be4dfa0cc0ac378644a4f4edc930d52c5b2a31f75f952687ced33b47c5c37e1d558b6fb856fd59a0edbd1a08fbe3063ed07739f79998c87c2de3a11eb75a62071679de627b715a0c3a25b4c6f1544f7da1c872167fd9085b6343fb6d524a60a48c114fa44983a28c154bc417d3c7b84dfedd1b2f8c1838e3ea7367b3bd03c25f57bde602d34403090041e2f4f6e5721fd69ee7305781311c3bd4d386b8af6b7eba177a89544e975abbd526e9b3f502371a781bfc77d7e678b059446a53a06ae24547fc7ad5ebabd178319a045c7bede6b8d659cf6bb3d63a17ab4211693272e8c85f2dd6b119fdc3126baf7a313a05ab100cd76cab2a7464c6ff3b54e3d1ba122e52d13b90987288832e137f99c737297d57486f36fc0cc4c891c4fe5c819b1982ac4e49cc88de54b6bc29450a56b207f3a46608457aa63b371eb501aed5840731e1d96afb6ae531afdfffdb648ae74b58608ed8a39d7ba25415ca6c35cd1087aafc7768d14f50fbd82a1c43a5fb870817562157b8d17f68794cbbaf2335c4bfab9dc4e0adadc7f5e4c0252683a09805f06c21ed4e6f2e6fc396c4cf6b86ad29e1abd0f8d0197c76466c45506048fd643cbf5dcd27aa0de545b05c3990b041fe2f0b7c7324f626a03f2ee579e36f2f45965225e95d2524ba6656b72348188f7796900dc655c3ec1785e84595366ce75e5c4bbfb5933843703cb41364063eef82d08719d9abd97becd23556198de5c03fe4b4fa76740cf46d53985e60a2a00c20ad972bc7fe2273faa8761f59f4df9dc935aa82e5d426e3c1a295f371fd81895b37b9da9843a4c6db03325a19a0da12ff01d936e9d48b4689a81df864f4ed50614a752674857a5f29f6ea66589ad43dae992bdde4ce57b96e5c1e7df775fce800842c9787f24bce92386d02fc25348666e411f32e6b327c17293c99f6579e1ecf0e0113f884d4e07286225c685f1ae30590cfa702a29c62a19ed6ac9b5dc54362b816b3f5de3820359baaad00889bddfff00c67a6a4ac23ecee10b5a068550c7eb3c9bf6735a62ffdb5661df9dc6c122762eca90ead648146b58ef24be8b6461ea150e35307fdb5527129535e73040f3ead440d31d86c8ba0a4671bf6bfdc935d1b726139bdf23d3e341949e410bfb4f6498b8a806551a2f476e39946aa245b15ba4a4dfe5b226e780aa10bd64decee7609fa0feb97b3c92874335d8a80566e8ae805c3c9a5fd2c472f8db78c61b1a8012e96e8086691c9d2bf04f89aab78659ebe84b70c321e0ba06f4dee6c15387c4db18072f915d003cfd2a04ec137134e6cd9bf298827366ebd1d8a578dfa4b37d27b1bc2550efda8135b09b350a9bd8299ac4cf919c6ed2ac3851723568d8af515d297cba24303e45b8fe42a15993b45bf2c763b0f1dd22afe510166adfe39a8c992cedcee1d7167331def004238e03104f8a4d27e8274d9bab4373a03a1a71fc4767a2d10a65dbe7cd9d7cf93219fe9d43e992aa236b5a631cf67e53935a3f8ea32f7de999e32bf9c0ab4b13a386a8d4e61a38f0f4988861106a617e232b7ab212e9cfadcf5ec121de85de5b496cacb02790be9e2d57e7ab4de19ade14b65bc52a67dc2ec8095f4592b586aefbea4395e8b3d7dbaec88ea5de462c255a39cbd843da82456ed1c8f228d88d2e2d9023f74d9f2dea61b33a933dd78fc68907d5d337fef52ce6bec0f7ab2e6b2dbc42a72ad09101df43b33cbaa95189b117837b8a7c25040e031f7fc25e7a5d0ca5b365a3043fc0e2515227706d0f8e0834f74c611cbedfb55eb97d6916e11d9aba1975de991019aea699526e96d3b515678f8380736afd1b2098093f3e9e1eff96b2dee7672a99deddaa6ee4740fcea729ec1780b0acdaf2cb307ebe32f9881c952ef265d4f670c9bd011d7937b67a57848d3ffd6be087486b149c9cd0ee466265b5fb3ea0026aa58180fdcdc0eb5fcc1c5ce7349626fa7db2e02ffa3caff9dbb9d5b3f3eebe9862aff89f550613dc3ab21609cf90c1bf04311a0d0e6bd6c8940da8cafcad0da25906adfefadfc79a93dce24f1cf2a88cecdb89c8b99ff76990f19869419b2e8895415a2e7731005268b2696b9a231b83823c79521991d3f4349c4b72b792c47b8302f9236113f126d59eb1d52e9f62b7c1a4a587e5a454e75d062abe249295f75894057e3fa2a5c3e246977e59727cb096e677d68a10d54421296d357378baf33a62720fe2e70cf6508590d227201ff863cc5a2fcdc440a13d3eba1513dad7d9fcad0bedaf16753d87ddb69359c2cb3f95a8d19a3c355115bbcd651be1faf22e5df35f46759f6373d7c0610f2527bfed6666b2e4b9e8a2c7ddaf1846c68d74ae3f70b12524e74b4b31f78e20be3f5a3463f811901d513a7d5b49c18f10510522902a6993f77ab69cff3fe20f4e1d982886ad35b9d1eb7063bca098f64bed41af1e182dda206615db625bc24dfc594e2ce908f624207fefa41328ca9d4bd65d35156812f5b005be8e7ab9abd66efc70b833e3a63861a43ab76709922ee5904168121aa1effd73fc3dab1ffd3a7a8c9bc32e60717618ccf81975cd31f97a147019e5d731dba99e7403c33094033d267a39777c86356fb45d59aaecab8d0a6fa5984ee7cd582eb49783353da10fbcecc7f7b316d891d7d6fc10ddde8b49dc7cd125f16e0df65a25f76a7aac0e3938d2704faf02a42089527df10fa83cbd6f365e7bf6eb4a9439f074ec44797450719c68f462fb44eb795191fb5e0b81ce290e9236313da84e65c8cf452e8edc4e7dbdd411f36fbbfa7d582a8d4f6cd4cef76c2f7aa8c75e1ddc0717f86d7316e73b8cbe0b09f77d7bbb0b88b1d5e3ce8df9b6079b425d47272dfb55fd626c0bfe7e0b880ef1ffafd680a0d957aad37ed6d0459ffde9863df19529f7721ab8085ede86aabd247ab75c8672a65866b97fdf76c26f2adc35ba430576d22ca2ef199d2db64b2e3a9cdf0094a12b37429aa803f58e8098ca7bd49e2c339f02f562e796178c20d0f3b88f33a1387a6a45f5780178c78d4e318da3dfead534ceb9218e92938708f765c5f46db9f6a5cbe5adc2b3e6dbe337e37845f2ba49f225b6c5bc6b1c37c7423d9b8f9efe532fed4dae74d495e5a39ab02f7aa307f567e8c0acc1308c7a718a3bbf16ed1de9262a21b10e8cde85893f9f58cc91b783ff2b2d8aad2ca66e8679390af3a88b22eb1ac36f6bb56e9bd339fe135737ba578eaa68dd4e10d83b7b9f3cb4b94ced8d929456e2f4708eec8ed5907185419af7cdcee9af44b97d84d05e26ac3db6e1467752ab4c2fc4dc9f5c395fd1b8cedb3067a01f4b315687c9d03aacc740b2c785c04382ebe56596be7edc8afbc8488854ba18df895a1b3907aa135da6db01c78f6f32c1031ccbb97187d60725855123fbadc9522a1499d8c5b97c4b551e4558f7e5533ff953a7d9e436f1bb9ced61c233dc15c9463c4b058afc9bf83ca96bd1a8f5ce4d6b6e5bfc8bd8e4f1178e34a1f4a6f251bfb5381dda1d1d1d064fd5b11fa8b2631f9df19a5d7f1bd353cd2733c542ae6ccb8af027bad079bc118f5d514313dbb2bdbc5af0e0957231881eca24c5ff08c7e30edbd9b7964a7f5bb998ea4c9fd20537e6f11d9ba2cc53c3b822b2197726595f7a7ae24ec4a16edd09108bc0456557b8d8e290fc9af083e716b04a8509033da5e8da1c4a87f0f39fab01bfaf8122ebfc5ec9036780679fcd6b3f75abba2082c3d872c9021ec8048d9ccfddd065e9a727914cace2c75b30ddd9b42e409b953260526944fb4aea21ae82f33eb410c7dda6410e9acdd99e7876efe3c302d1eda88830352290fbf86d08595f14b0762b561fc64842e6eb05165f82cd146ebe978e5137987c952517e469288f98cff851aff7b8891fae28f0dca766b13622e1824646232e9da7729477c878f36b3338318b35124106aac072fabd25a6e5a2447f8d0c6d68522df2e199fad2fc2abe14666f4b7d0d19786d32e7c81ad8fb5436d544cd85a6f451dfaac193f0f6d4eac83e2a90052466e1b4f970f9bdf0291bac14d55d8befe436dd9ded9880e6e8aa046ce14c126adfe0955fa7c88b2daabafe3b955fe5a679faf3670311bf8c94e0831b4fdc04026b9fb80ebe521411fae491ab99d9ee59006e0ed02e56997898d6de64c97116abcbbb9bfdc9b1d770ef06a8df8d392ef46d994c9635898e76e67f25584f10142f2cef6f6a54677a9e618b19c4ead01d5107296665346b7484e9eca301636ed77a9c407a4a73b4cffbdb877b4094037ea1458ec7207f4d7e560eaa03f1b68713b03114694101c6da5c89b9c608054875cfb85870eab922b19da83f07d6f523e354144cfa1c7226da336246f75e81f56795de9e3ab9eda4805dbab825ee850f86b32be743e1e74c69ff5ee073bd1c0685bd4e9a20b2d4e6aa44f17fa8ca32d3603258a080be8c81a104c119774d936d741b159fd8c205c6a16fc3c9d896c6b80cbb27f36e31ad49e7ca8b4c015e6dfecb5fe42482e85aa36aeec573789be56ed4b943db2a6bdb799e8d54c8236d57787d2c095b15284a26a5a0615e0a73218aa69b914689dcf986f7c88471bbaf7d608ddcce422823eb7466891f55ba34f8fcaf8a7317d7c956ba2bd3b0b1dd5101cfeb2e73747b810ca86a2f482a97f88253c87403030bc6701ff55e3561acf429eb290edb106436f3008a5669fb272a13ae9698d8ef5798f131eba42637f063d3e35b89f36b5890ed69f62d24f8b2d75843fb55c97daa7773b10621515855e9eddc4f32a10a232f6a326e4bdd5d155974b65a671ebde8f73317fa24ef1b198485205dcc89caf6d6e4390c75f41fee142dbb54662bf02cfc157872663afdaa44f85f86fabed818d45501bbd4369773df56fd78c1f2e7bbf1b43eaaef4756d84bc26fda550fd8f4dd9e63291e8f033aa877faf8e88d2edfd77a53d9213b505aa7628d3a708dd97f5fead1be257352da6405bd910d8eb80dacbffd7a8af47b8da11af9d8f43a371a1cac5dbf11615253195f9d98a30be582dd67674876b02e24f7774bac6bc5c2663eca5356460181ef52eb6266f9fd7340a9b99442621f7166d294bd76fe7fd133c1145c8cba2a495c2fea786133e87febb9be3b9d8ab67eded8b138a85d9de6c0e759b8fd195d8d9a47814a1506d9286065c58197e868c26ca8bec6a70d4e6f1d6ea9e34e991d4c6bf89b04fffdea552fe6cb54b1c21d119a77b4bb89423a73658ce0ce81b4ba1ac416f22733f628a666bf08731f0db8e2bad317fbad2fe982166ce1c768b05e946f8eab263780ee9a51dacb69e2e6a249b488492f3f2aef7786089d8e46bbd42d23e95b66f2e4c0fd528100c2257d93a37b33f696405d32eeaf2b8eccafed40e3697d8aed5f4796f7328dbd12612ecad9b462cca7f211f8f579e9c7619f6755b029588ef3a49f70a6820f2e5ac03b7d489f59a8867331d6fcce05ca23628c236aa3371adca5ba45febad219f77b6fbdfbfdf0bb42095fa0f9e93830ae0c6bcc74d26c2c63c3708c0d7411132e3663d1e65633e9f92c48b343e76deed42c3cb181a8a144f22ddae967ce26b5e6d05a265131271de79d086e2a4b2e3d060c72526c535dd1e0cc8c594401d269bd6ff85452976397223f55a68cf0f1c216c87fe6ec76554689da422a9f9fa79140a8cd1182a4d4ce36ddd6611bf660277245612c4fd1cda5a2574e8263fb33d0e74497f54ce7f15e62027bbd6190618fbbc45aba9ca62afcb45c954440a6d65650ea8198f0f9b91ef2e895f66fc419dc62133ec5e4c6cd7d3f1da424fadf9dc544ee23abfbdaa1116d0342f74ff763524836cdbe5e43404ae305334378442810875a61feb1d2637b27b81366a7dbc89b40fea89183791c88eeeec12a0726e03317b0d3b8ddac9df9b110edc57874af7c821cef82c6e4d42b1d3555897fc43836530d90f371e51812870ece63aeb5f0cda031f57ac72f7c3131d75d973eb26b1f3d77f071bda5867a2647af9160a0a30fdb308fa914dc2cb94d490f50f354521d7d6b0f1bfd0a5743a0724b53941904356803bb110be2ca27d3d8a1cc22585d42e1c0328640d531e6c00af36e88716f719cf3c567b1f0b44e72e5bab0e20aba76300190f5d0a211bc4dcfe6fafce3339c0a5dac96009dbcc404e2eb4d155e337499682e1d8749a0485a10cc6e54b99e3eb9a2d3f5c11ac9253d0fd71ab16ca0c7de94a7e32badf4dba7a1b92770510d6b004355e0e228bbef9446e9015cfabe16badc4d6e0feabc0ee22416f158e81194c19b19b246958e9e753bcd6af6b268ac2f4a9fa3a5675e89f7cf7bdf1d6a8890e174c5f75689f90a7bb20cbb549f1071f18d203f9d2137900a6a23642e8d07ec8f7e3074bfc974a1deb08bfda91f40a013a63fd64e8bfa732fda1f0105f4b02c2a7fb25208bf62085ef1f4d681393fea02ad816e7e9087a3da8c4abc28f4f931dbfeb529c6c42deba745b98ee7f584869f3fac140fa2f115a65485fd9e4dfb323f0e2b8dd2c719b7c1d6731b7cfc657a19bff6d5d5aeccd4eaf6a3c5e74f6b95dcdb65c8d0d4cc22f2ef73f45c92f67b49d54662b9bf515c750b892fcba099fcec1f162a7c3f312b8d8eda783d2cf47830bac271e0888df4d2e9e268be05a3ac3b1c37cbe456d5e4560b0aa0712c9ecb85d899bdd601fcd74dc5d62e36b19a3734892cad35da16813659c5d139137986318f9cd0e5524e7988b91976d8ae955c3723590f0540755608d1cb7b30558eb71515dae5fca93a919dd4da0fe4b60f2569722bea6b4640abea417f73af5a22d7dd98442c0b41d208d2e4d089bf66e6a76d07a7044259e3188efcad0373d8c079389abf3eee0a62de389b843ea7e6d4951b33bc4a6e356cfeee6f602f3b97d157b3feb32feaa0ca5d608eae44a2f08ff5cb5a7601670faf092a37bafd567a8889d3be33e2cf44c808ff91c9f64b09eab1105820015254f80f4b945c5cb0664b0fe86448a023b90a2cedbc81884eb9042976e7dad69d406c474398b2c149b4cda908fd63bfd1948bcac26b75e04eb77f7b5662ea0af425100e4381fb783d8ffe18e58cc523ca9319a58b0222e572531cf5b041a8ce899efc525d04f33457901ee6fdea7c2c0f739c0fb051d4b55d24512f26174fae0b0bcf1f1f801baffb613cd751a8dc50037051e354a9c15129827646abc2ddae0848b011e8e90aa263111b9f5c5482ca838ebde7f9e12915822fb63cb6ad7b8a76e5c4a698ecf0be29998f9a39d7a214cf1901394f5d08f75029b2cc95c80204663544c8bb290629df25562df37def53638aa7a743f36a199ca2c32b9a83476a0d3d376095cc406a0265bb84ac137193566a46f6ca70fb7d32fd0f42a3c0f6b2d0a17585a95961b70a2284f5be7c5bbcb9659a73ea83159aa319a54d95f6bed6689702f55ff2c4cbb89acbf68f0974abb45211cf3bdbfd703c9ead2db2a885eba749351f4bd2ec5556b2c3ad21bb60bd9a09f03cc76975e9c587a889c596748d7974ddd2f98e229f4ea255acc792756a47413b943365d233df7ac29ddbdc13de5c3279266d11c04eb74841be34e9cf8de211a292d4e3270d2004fd484b99bfb6757c22fe0f6d141cc3916bbd43f418170dce2626b521a99c4bd00f947e7616f090bf8081fcadf9e36d44f57c61f97f0336ccd31e9d2fe978ffa21b5bf59c2f9052dd4cd420189b19c9d3c23f26806922bad379510c67632a80cbfc1d8efb5ee31cb16a3144566fc6f77797ce681f50d3a1dce3b3fe9098446b8af708a4c76c42e2333337dd012bad5694400db884d2b30709b30c237d3e259125f24c28bf08becd2edd484defc7196d151ad3c9daee042f95a17952d494b886793bb9869f991c66386ed85653ed4b0c4122db8082931a3c85befee3a74fe9a796f468c9476a3d4206c624b28fba449f59de7366c039f381ccf728f8d1aa3ba237e6b32b657fa38db3d7e73139d747acc8a800c6e1e43352ecf4b08a320f4472af886f41317e8585763ffc666ceba748b34618f06c45c873c28ccf6bf1eb0ccdb27cfb916c6bda9d45d0153c5c67493e068fb5af786f4693b90aa4db7ef96c4d225e383874e58b4e14ed12f15baa5567eaf717f60417fb2791c34d90f0260bb55bee283639d865f31d394e57d5d4c98b9347d31ef62113a540c2e3aef1000d24f358c773d0bc24c1b2aeca8d8dd7e46d15d975075aae7ed4cbc04f6eacc31aec6db8b257f5e6f6d9b6b0c03511774c23a84d279de6b12a3f6cf9b7c7aafd0169fb13d1758df35f887233c33e0bedba43f178a9662ea9522e9ce33b2b0b2f7f548d2aaa427d8095279ffc1b2deb0bc2f9cde44e79d81d2aa6a163f67c46f0af4d38c746484d70cd3bcc13074894be49c0657a291cb051763143bb39c8b293295f92f6a95fb65033bc801ca73e08d0879ac7257b6663bb7835f3b83af6aa471ade2abd63673e3fa55052261a3ff6143ff06d3726807d895d298a9f46e118eafaabfea204ae46c83c68b59227d309a452288723991ba1afa6babfa4c06ae66fa8f23447d46ffdb2f361ad89fdec42aa770d97dc43c7bd533658d3c3eeaaccf1b4cee2d16d9b5742364eb59cc34d429b948207f59f957242e17bb3f98842632a05b012475da7d5f818a2675484edb179ba27305627303252ef4917aadf282acd4536f1a002cbcff71e61980593291c4bf3a69f1358f4f3a4b0f8de757c8fb5c7dad8acda22860d95b5cbd6c6a458380f0dc0e3a848ccf42d6bbe5979d7a3df5df00f60961bfd9bd7f57d8533de8bb9bfd6f6df8ab0996494ceed425fc4d8d2217885243ec2ea7a8e7a9a557206b353a2a092091582642f156e35be8888f65626b3e7f1e00c3bd3282bbbd38b0bddfa5e24f08c5d4a26dbcecde76d3f1603158411c37c6c662e6d6cde4de6551e9c2e5a72a4508d9f1c3065674a32be4bc5c0a039a4d36e4b3c821ff1730f4f9d23e7d49241295f6b29db6b8da6100e2ee2ee7cc66dbab4547d3964b65831e8a90e40c4e4f9ee2ef6be97303fdcd25fdacc27e708aab2214bacb0430e05f72eabf65d0afedc490f5f6ab0eecb31a57537b7ee784dfe44ece2ef5f9550b50e4f3a5f234528155c2ac6fccfb85057082891705f6b4018aeb8c8836b3af4ef7070664e5d30109e4417b385fb5bf6b6d73f9f5736fa6e3a94df917245016bbd86c00b3d8e397fa3a5a4b3ea37a8f0f9d3e85dd685135f2739b435ac0bf97d29070d4460a516633aa0b65ef4d1e67f5d77a8280bc7312df75e80f301270a1f8907e993ad2ffc8d1e2765c91435166bf56ae731b16581869f0074bfa5d687aba84fe8befeec402221a244a8e4e9b32e35f16f45c916f1e14bb20f0db8d42b1c9ca338abe757afcb033db25f42fbe13de82f53ad87e2b33a276a6b1186fbbf6b6be2a3bb1b03fb8dcad3674f27f77cd7dfda062be0545707b3588df5bb4054a471f50b2974b8f1198c85425fde05944ed183d5ce62f2ef159fb5a4701fd8f9dec2eca312ccc7f4f19b85d8338354ac45d7eda5b0fa631223bef5550a778e5436c8d27b762ee9fcd1e134be2abd29f0fd8c5d6f8257298fef0845257c63d433e175aef17747aca919aaea4caf9ff7dd719ba81cc5a3bc472f2dea66271297d696faf66da7893dacc66ed537b4a5de6b198486d83e261e58a14a1be2afff2167967afa3a875bf15bbfd6ecd96b6ded55d6e4128f255ef9fe812f6b61e68dfe60b2d06fbcb82e741cef67a4145a4e7456918d139d401942ce2693f1903df7500b97aadef15f89a2392dbdda26ee47b537e86ca1c426e04ef667e6b8d7da8328dda4494ca4321f758d5418bf90eef1ada4d870bad4bbd89a07df139be9ad9a93a65914dc9f7959ca26bba8134b8d440967ae0fd05d96fe5ad85af630fa52375ba3cd42e5697e2584fd12846216aecb26b4e4f57704b31460f1650e306fb06d37f9bc86dea904b04b8ac9e4968b150ad160a667f010d6b5bdab00171e19338d772fd69b58bce788c5c695739d29f26275795b8484f7433237daf3cac8ddeceaebc8562e875331d2f15261f57dd933ae35a4dd48b8493332660c992dbec791084660c44011a5f65eeefd66cbf9d12331b89d4132c82b8858178f1811772dc6c05bda8c6ffa26aa237b1dbdeeda780cdfd26cb7886008f4529966b4619f8023955ed5af3d1194784c18491e5d795bd61a1bbc1007b318b814dfea5c8f2947a8da4591317f477a5dcca764e64e962f5bf1e7176e67b2c1ae4e7ab767d3173ad3c8d8559394b053441a40abdc472a2f76ef297667289c922d2298ad40cdfcd04390b2a64f486f4d0efa048a40cd4f2eb2805610786a96cc3dba108c5de7eadb544f6bdf0f1074b3f3728e9579b6d771dea433562fdb7f6385aa9c9f5abf09f9b0e7ac40c2c32dbc67ab63f804f2f991d4d97f604067f697115c1449e0deae736e51f50f20ba0ff760be42431dc04e6575d9237303676e1e75d84edc60dbfb43a9a8aa13fe99d2217f63f9d76713bb8b51ea874436c64690f16135a7cad6f57658b62fc0cdbc9d7868c2f198ab1cde98ba375ae4b3bb08cf412f5d80687484dfe43a50bb503bd484d2d84edc34c7c67887e34b3dd4caaffd7470b72cfbb11c7625e4a491623327e6e5317b1a08f8b5d879539bd1a4c7b395a23c832eaf033ec74ffe3f4f2b4f3bf975524773349eb2922c50463838e86a91eba0ccf35e15397b5d8cc4528cd56694faf6d66f756ffb188e5b26c110fc9d2862461a30d2b8d9f6d7a2ccf7b3fc05c2197b50fa658d065e8ee400717ec98cb1723f23f4f1b830ef87babdc5e6b78b19472316e5b97dab5ced3a7188f9a83beb3808e32fb09f4d8467a641810192ed815d538be6a70af3a1cef85216b15d033cbfda8f3cf5d273eb4bed72d594689e9a1c663a0e7db53643724862ae09e165d497e4db61196d94a653f7ba72082f933e481fd6a760ad792ffb2a0bf40e2ae4d66af2a58659bc42f37d9d0a6fed9cc275c21a23bb3992670912e63ed667b6d117974ca423df2a0ce8e89de79ccb268b1cac9c208c9b57de3287d7629a90aa07d938bde00d86ea40f5ec64f99c2ca3c0994f644e4e46183fec2f3f869920ad598f72e4bc33aec7fdc2e7ee54cbd9ac856287f90437f772a4e58491246c04b4c2e0d299e45906e5d49c36a8e0f5d1a193d6e031bd78fe6cf7bc72562c88f16ad639bb52f5142af037c36e06ae9c78da5f68f634a36ba4bb1fb9567f48fa1029ed2d4a544c8dc5dcd1f9bcf8b00150b33915d2664ea3ce402c09ad985e7e01888c0aeed14fdb6985ec1a4cf2ef792e5cbaec9b283ea4b08eca1f34550cd71dc04dbafd3bee6e6e779093d03e0ba1e7c5f2b12147b7fb5691a19a0b69e8abb9afdd401b9b429561de94993bb9e7bd79bf735e5e1bfbb40e4d798eda34da39f4af1d521104c1f6385971f81f92c61dcf9108732a8eeadf6d4199198f1746f82a3d5a5ed4510bdabdca366221fc5bc0c0da922ad11129908ba1458a529a933fa6bc62502e59e7c741f52aef51548c9a6f5c3ce7496333f58bd5c74e6b302d9ddf9db1dc6d51753b402f08a4f3dae06304dbaa6723ace15e827846480504816eaedcf671a2d881e6806d0df2ad383c9442409993b43ad0ac8d41031caa478e83016f0c7cbc1edc5e6f8e272e22d12a181f8d1624fc0f77933aeaf023b7255f46acdb2c8b21feaccddb4b1e812c66040783b8a52e47070c66a186dc482a3ef34e645197b5e0269529a5e0d9d4d421686b6b2c0f6d7213a1a1fa72dea471df8bec2b0c960fbaef5da6b6d4f2e4c9f6220f7fff57241f6a6e57a2e421b327daceb60adafe5e7930536b703392b03defd31c2106fc2f4238cfda3180491a5461a1d4f5239dea6e3d321bfb28920638e4b83286e53f75b6b2f5829ec25e084cd3e82b1f7427f1eba09df55ee6f3571872e73b2ce6111e8f82666bfb623ef9bc1b26a1e9fd2ac6f4dd806fc6b8dec583d58a89f4dea3eba5c5cf93e6ee7b008ebc45ea55f1206b135936376e054ce8eb5687b97f9829dde429b45910ba96f08890a052f33a1578168614acad5a4912edbbbcaeca99b286d71cf65e6adc55c88e0bf3b4c22a983edc1e6859a949cede8fefe6f6c74a459b055305265894f64b6ae4c1ecf66e2a51db86ebed6edb2935c66db8f259f0f971eeb16dfee6cc2b3314f546b0c8c88ba95c75a91cfa7d6eec381977c26b84bfa1bcb36c3ca2a94bb273cfbef79d5d477a3dbc5d83f4d6a7df7e7dd411414231d65d0a710d244ccf6dd79ff2b83346806bfa89cfc5e427a033586f56c473193438dfdcdaad3539b2587af63da115bba9196b6241796c3b555be6c752f0bed13613c6f467f067f7aca99900a11c542f1825d9876e297c617513502e103a99b900300bceb647c15638badfe7c150888867e9086bebb90c4f5d77f4fa5592882232a309cdaecb43b481f208fbe190f4f9189d1be8e01877f416ba24a8e706842bb75da7e98749d544e3298ddc6cd52aa849ca0248f1aad5583e30f963b618638ae53cbc424269ef32f558adf7aee79976db31c3e773ea5c88e7daf5fc7dce67dd186226208a20ae8b31dc9c2ccf1bdcd635b67c5d666116d8ce5301d87364b1f3aece766da4633dd4215fc3c1572a64236b75edc54ca63357325c3e259a1252a90addb40146dd9be6ab23c58b006dd10ffd89dffc0cc0e6d4036171c63080812890e60723b782f0b13598e52241489dbec98092cae62205aa3f6d918b735630466729cede20a9a9c5b129306ac2dc2c574d91631ec1e0a1d27162e1716e07798e843221df1af756df49abaf216314d84088e7fccf9d10eb49420b0cbfda5d06e61633f569e7e35815f8b49bc6afd0c4163ccc298b746247ab6b126a7c806c79f0bd25b3359210208eb1d421556bb0c5dc9477eb5234f0df14887e2518d74321a1dd8e46e3c67d88c51784ddd6043abff9753775fd809ce763c064d3e06add2b8237ebcecf45d8c386d82ea21c648ca603de9dc05edde3f9a516f4dc619a47c6be05f548769544ffcdeea7563e592fe3107077290660964d6df3922a432f61b46423442771ee00f9d926fc896b5cb7aebc688d72a2e2fa1ad1bb83ddab41fe52cfe7857bbdc7fd91286fff51f9d7ba215799319572d38c5f067204a983acf9e2aab76966d82054bcfe4b1d61a0494a757a7fdec0280aa244acef6bb18f15fedae4dc63060ceae258f2a4f7b957022329fd43a0a6cee634568a035beabe90799e9a874e076674e4f359e82162fd4225c37484c4d4972d056d4133d695dbc5a8d87c2fc6c9d891e6af49661f2bcec1c78e652b7db8bd66e6ecce7abc9f9d9005d2bdc738db96e3defafa9bd294f1e8eb8a535db5613b2da40f42cdd1ea6748f0bfeb78b84a33aef6f3cfb6f7733ff301379013a6d2e2033df613465aca4de9819fea186d8b825151601ae55da3ec4eebf58b0ce16b507895ca576920be34e623abe9984063a648152fdd868bb337ddb0afddc6d5e213ef581f05c0aefbc2be9b9f234ec7c8ceba18d147cbe2058ebea8f7b12712bbcb8561a8c4e482c338faa919e05216f35f451975170a32f45b0fe3683172e07d9969f7fbefed419bd281dbd29b4fe70e8efbcd42f3bf6ef5a53519922a80014047da9667a55d8de048aae35590a89e0173261cfa117b0535d0747ca7652d911a49a84d441cf145e347b3feeedee2e4dd9976de2a826824b63832ab4b53251c0d3e3850547cb433b17fbe9c9347ef0e46ffdd344cef45da69f2f166c81d4b0b520fa46dbaf6227b534cf50a77d5f99e8ad415b5e137fb159fb74991f353ee1b624bc32825e930af121be75844a5ed24ac3f2aac62d6833ab741a7dc889bdda6cfd9be3cf628c68fd5a85cc7e0e466fa4d63f07d0fcd220b141fa44365d2b48dc6ecd726225ac5d3222edc7479b1d15f731e719ce542ebe8df2af332e0e665a8933e95e2b7de7b33db0f76328c23e04127f4b452e67546d30d80bccf6220274b8bc8e4cfa7f0787e3e29a9e5053da5d95fd220612b5655fb5bab83733bfb7bbc84d1ed7d75c042c2199cba283283fc36ae7420ce4e550148aac40a0286abe8ef2827cd0e2985665bf5c95b71a934d617ea9030126215f4cc3685271b1bbf83887f12854f5fccb3f2aa11f301707e7f94306ec0e25fde3362c554c58e062bdfb170fe88deb453b2dc21af9530df6d1e496d53abad466d3d2307c0e63a6132e0bb455a22407961d135bc26f3de1bb49fcc36547ca93f62012e29bd79128dc46223d964dba8ddc545111f6a81afa1812f290981d5cf8a779e2e9308db4775f4d8abf8a40e46a3e4510f0bd1babad9b3ff76eb27f89331508966e74c6959e738393b6f49585f1dea6eda1cec4b9d2b4b284e7acb4f70b5e7e1b6c17a78852a3406db9f4da2c5f1586a84dacb520ca42f7df3af429c7e4a615dd351937477ac24a31e8693b543aaadaec986bcf0218d2dd645b69219655793bb419e53aefc373407461d6c735775f8d8150a97e6b30bd889cd642b3fd5ac2ac600c2afddcda6ca36c060601fd56e6f4b866eeda255689314a456e2f12d9c735ed8dd4e860c6f5a13cfdd31c26bdd845bac4cd4cc766e2894228a8139eb486a6d50cca946320bd252603dfceaeaf7d1c022c2b78a86c6eef9d4a0f8a88d7ffee22d9e35ce0185725fcf90e6a3238d5586435c4ab3176bb66eb7713c648f9fedae97ee1136580c8ad9b7806a5980bdc5fd594ee4d9aee674c28371169a6db5e21fe6e12d86ab0cf665e6299eab040a4629edd9deacff58477317c86858f2f7ceaf756c3cab3a8d201bd7324c2abf269e3edc27581f4c0f13938de61ef0b182ce9d2edcee1f3a58d5bdbbdbf1a70cfdad36f93c43f754a34a4bd81b227aeb4a94cfb77a9c97e553497a14844eabeeabc785a255e4de97f21ef6b4bc8f582801625df2fbb78e9d7baf26ca5b58a031d3ae24c1f085c044c5370c62ab7ff3b74847c99ec888ad98a4af141a3c3df186c22c5bad9e389192701c8b7996e4f311daf56fbf76e480f75e673ad7cd2e2feadd36bd5ccfeadcec84112215be885f3e45762f7d666e82035e9eb72310d814085e49b01cfe5b4d655c09953625765ba37d926af397982268549fa376d3e31ece90b02fcc1672194f9efd0256c13984bad09627a534e8b5d19c19a297d40e21331c765e13ff70a6c2d1097d54ca198c657977ede995e9fd5103f38e109cf811713db4c62b5cde1cb227f6a02e2d5dce76620ef7fb9b4c07e13e0cba25c0e92d8f11cda8b9df9db5591c20dbcac09794aef9facec539d177b3d01eb0cdb1adc4fa6a43f62e801c6cfcd9963c13dd5606e1b478b826cdc6117c8804b1a727b689c6ec59e1e0a8d118c7cd7d327aa037f167a3db5d93a55d87186d3bd99d2179f96a5f83a1295d0f736f135c77d2e957baf277b11391ff44eaa4eb9a21e68a6473ada744b0080b5f85f780527db6c013d92ef2683a0d3fe8be52d5619f9e62a7dc9e1143465bfa8afb5b2d0226584503959cf58dc8b89616b7c0cb3bf34c666dd00d84dd12ad47870e4f3d0ccf6432490563ba50a45484cf6d506f8aa767b2bc2d3eb1cd00ab20a6b234853c652ff8d2fc2ba253629bc1bf410bfe9fdb45f13aef888fb623c662e5c5e5d0a639359d686cba4a76267799f98bc4005725331f26f89dd49a01e2ed8af7540491b88e52fcf40c2bfab39f6626a2300fa6499ffe686bee0f5f3d42939d7a5cd60a6f6ff383a9be57479308adf5208d2a9cb97424034b1e4e3096407c4292501a95245aefe9dfe97ae648670cef9c1939373623391f561a9027951765095ff91288aed16670ced17a5d40e862eba54acb0559f9d023e5bcdaf3aa3b7d62da61b8a5a1196b643bf5e129658852293b1c6a4c1a3f958be05f4a956dcc88c71e1f6234fe2c06efec65ecb9d9142f3894fadeab1d6c1f988ed72c9fb3bc3ec4d3bf8e432e642164bab8aecace6a756b6ae477e06c4ca73ceb5d6fead7c2dac4921a0df8b6e244bdb241ebac41ca8368b96203b1dc45d5a1801e4740cfe7bb6e961a7b55f2eaa08388683cafb8f0ecddff5660e4a45582a5ff2892cd6fbb8d37eb0398d2e6aff0d19ab212343371d369e1a4c51e49ac17e526daf521a04a1579d7b0fcae13f74d6730d7a3df1913c9aa44f8fb83736f17d83e60842b6489f6236fd17b57f9c95a6eb45cd8ca56628b7f8d5393396a12db98b8e5df2f530c1d7b3d6f06a3376d5839dced27c4b351f38369b18606a5e7b2f13385fdc32d134f2109883545e0351b7d6c7de68fa34280a0c51a8ad54608622814ced640881ccfb5d8321ecb2ee516e2e82bc78d5f22bb45baca8261a06f52cd5fbcad5fdc591ef6d050fa8e29d52bbe85fd7b12ed6162dbf0afc566b7bd219c833310dcfee58a74b74cefc8748170d1349019b334bf8152ab50ad44b5a99274b97234b0c3d6d3e37e1e161428e2e8ebc71e55f32e014fc1f3346919c66a6b2fe13d20519c56fdd48bc749efce983f9379b630e1d5e7211da5d19b207c7cfe759d6012017294d2696162343c12fc3fb9ffaf5be36297a69476a951585c8bd81aa7706d84f23e3f99c9959541c785e22e9e1da69fbdba1f47119f7b4cd829dd144b0ed4f637b6db2fa6fcdf70aae01950a3712d60bd41b1dd5560f31a35b512838bccec4f6dd60e102f164d3282f434b2d8e7e2ef22f23950f8e977333f1a173cb5482a94f417ca57feb1ad9971c835b037570c9d07aa9285250d4a522091fedd821db68bd12b67dedbaeabff518faa54d3dae25bf19b17036cd5412156ab76a9a727749ac68335b534fbc9086369abcf1710f62a201c34fa4521f9f75a19b94643cf1279db2a0cde3a4043836ae68684e90ce8ab91d8ab0534437790c6dba07d09e8bc0f47cfabae9b4bff2e010c9805527343baecbc7252f12aaa2c1a60e5ff22b3ea7c187f6f6c8e0bf8da9e5f3524106d21b81f62715a6dbbffd8c598759de33333e1fe0192ea7bfb45cfcda9c06a0975e8d269095edd9066f6540c373b61a9914cd25f55827ff2198dccb86655857856f64115e148b9acc85a5ec704be06c73eb65de579de346119681231f6d0efc929a1f9ed250f9fefb92aee77ab343890a24c76269bef72fa8e601b2804ae96e825c5f2de69c86f36f9bf1bc456ed7067e3c621ee989ae4734dfdbe01ab621ab78754050b9d048fbdd80397699751098d006fc57a9196c1a9d3bf1beeac91674040d30ff70554632619f0c772fed8b5265cbc6071fd1949d6bb52717b7bea80e3ebbb0be9d3314b46efe80e970ebf0f305ce52e64dde8d3e87bcc878ee765dc0238a2cc0e449ab0fa8c4e4c3bef6a5a8d2f5ef1a9bdc6d1d9e3f4b00dda44b6c5174e8a4b9f384edcaca0bbe913303566bb77b6aed35204f3b805e4dbd6615a397cabc998c3c2c62d5255ba580786bd31edbeff7e7255b065115739b46d7d2d7f818149bf0dd53681619c5333b756189fa6b537955e2626d26b2c2c752f0f119b4cafed29195745c5336d0cd86fcde8c262a3d39b7e3322a15a51d9e3d8574ebf0b2b12cddd90abedbd4c74ca63793922b68d3b495f77a8c344f4845abc3e3ac574249bc9a91dfb964cfd293514df675da6cc906f656e33e69863f26b2dfe08a87d0c1d885f14b4bf836612f1a4fb1d9d8b599f8ccd45e74e952b5cee0b3fa8a3ae0b8712c66ce864672a955f469131596a15d4bfc7c76397d08dfcf5dc89b8b74413771dae6879bfad8534a2c74290a6a5f3c6b7dc5b28295fd7120c441830a75ae8acca2fdc482e22c24f96d47bbb429cc263c2008404bb41e3bed6321f9a9ade2175381b73a282eb2e7355e028ba346f83e28bfef010bbdd043bfb6a44497c47b18d3c8a6b3a281fda62ef83443efad676387fa4512e6cbc99672f4a4d4f0d16e0637e4bfb5c17cbc103b6ad72797712f3a923ee4c85ee7747f6fffeeaf9e8f4d30abcea91b1ff76529ee4fa997b2fdb8079698e884f9566b96946191a991bcec70d8c4b81cedc6bebb89214d62ad2411328cd38bfbda942e7716baf5e27dc1c6fac6fd7f8f06af98113e5e14cf54429636874a7acfd5d60bf6b15f2f3063eb2caa953f8ba12899e38b9285e3e14c01b3f48883e52fdfea0116aaaeaf8b5ecbceede712f791c56c3c6b565fb288ebb44878e5e939b7e125e5f545cf8149c86727f60272b8cb30be35d8343ab5ff9eb1169be4ac5550fafe476cd64b447e64d05331eea756f68d209eb24aede4443eea699ecf7f79bc72010f603a6780a93ae053401e6aeb1e6c8b078ad6becbd9d86ad3d7aeafa4db0f22a9574e4c46b7141d03f3a6270e90dbb993e4ad7ddd6f25d45b97ee43aafa858a3d3d2b9209dc671092d1a4510d41cce86b0f4aec599745f42f674a6f329372dac81ad7783f7544ad670d8152cf5d9782eb50145acc2b99f41f625cef97c1d26350de8e680fcc2d3fe00adae2de1be27f20e08f8b4cd773b67fc9acf7542cba766495030b6b60251b2dea88f176f077aeeb9566d11b8c6cd5554cfeed0dfc58cc39e1cfd61325c14497d188237e62bab157e79e2147f476c2feb31d2c158417473c3f842471e3e88ebb65a4297ff2dc7e5c72f2129a3ef978bf35e3ee01cae03620fef8da6b9baaa0cb662791f9aedd2ce80465a7c95fa60ad4341f3bb4ff11a3894412d7a790fddac99f19661f120cb261a1f438e36e348175e0ea010e3c31ce403f9d537f3a611a406ede1431b3c05c0be9533970dce2809550cc3c3bdc98e39318fa937473dd78d8a9846f9db7451da867a9a3d0ca025f32f6037ac17aa86fe0ea4d05b0d2c0ab6efc7b1c69d8eae053273e6d27faecf29e9fb51f95eafd39550105eb553e1fca708e5bb1bc35849f8d720fabc1c9c066369b670bb3e9069f73778dcab067c2db11f00ed3acf736357750e4d4025cc5eb1db569b75e348f21393c4dea7340bba851fb4213726ac5fed8b9e0c4647c6a2bf25d4f6c67d35d04c1d7436711bec89898bcdc5dc0dddaf1104158dccb8dbe28bae233e911dd7cc552b69468eddbacff0134679cf041f9e2c946b228e20f1d81c5ba550321470ee6cd0e6c2bc3f8aa47a635c48d4d4829aa38e4c4fb3a285fb53201cbe30cc2e2d1a9e0de0cfd9b49fb9c0eec937dec4f16ed47e1497e19fdaf2185b269f4c32afee7cf4de929668aeea8f615abe06e340801b09ab4c6acb20652fea221a9ac5aa508e3bccdfb853a33ca11cc45b967837cd2e9af4da44bd1a666a0396fda90fcb2901f8f38aa94b35e4df0c133964bd9ef54e5f3362b3731461fdcbd23a5e068dc7a6d7d3f34810fdbad1732358752f61f7a7c477ae4c04338d3a1482ebe5c2586aa216a2d1d8373d2ed9a809cacee4f17b19c8cfebbdefed76033766e395c86fee75cc19d218a4c1699dacf418b036a083bd0711e858b6ab515a321ee46d3a231937552d29ddae057a551a9a759ca697e1d110d9aadaf2e842d4c594abff7d0e4f6213eee914d69c86517b56e5172e357a30b2f2646ea0110dbba5de30d3fab6ec750b07441ffc6139bb7f9fc10be0bbb346ace8a9816f76ba7bf023382126a2e6b044fa9b9efd03e111b572c34a61c67612b13d32dfe3857f4051fefaf72b3a254fb0190419d5e4e3633298c3b64f4fa60c0d511dbbafe5e6a50c5b5cd8bc73923bfe0e7e99215cf8b86b7b6324583fb416298055e7e4f387a82db63a3bf0289f7551718d36d3430e28ed8443ea49abd4e580561ff6927925c7c511a32df2fcae772b3c8a6c567b31d9e14cfa299f846c9f55956f11b450b6f91a767b0f531e87f3af1fe80304ef9e4592b996fd2fdcf592c4721eeb72e49035ac5234b58c3bd7b687dd88e81bdf26cfda8dd7ab24971a2236fa8787f98ad3f5e46b3b1c08c4c915149a2caaa882c2a86669caf16fa3736c5ae4b0856431183f44465f060e1bcb339d165c538a87d59baaf5d0364a1e362ea3fca04f2cbddfe76ce782037bad9caab86c049b8f9d7eaf5dc0e304befdf402f860573d06efe00405f2cb40ed2a528c196a099b3a36f00bf877ff919a4ffd129ab6a6fce5cc3c34087cf95a75c2df726e4bb8b8707f77656697aeb3c73263f449d5a394f08975930a9b0c89b1090aa8ac04091f1cda60d7a225ed58fd2f70f81f6b825e661c77e2c2b481b548736294497cfbc74cbc25c9f37418f84bbbf4c56cc42f25729de9f22f32fe6d9a853f56cf5015b5df41ddadfb85b9e9a14b8792dbdd52c6069faa4d89c3a449f97ea2ba48341269c05458635aadfb866b8c3c52cb13df3105e6cb220f5cc8ea1ad142e5c53150d28bf9d82d99f90dd4934839cbe4285f80f75909d706454551ca9346b3dae6785ee9198ec76492d74383ad9d75252ccefac2a23a3590c5b5c35687d825e598916d4262434a0820e0a30aa785ae0d139f55183d89bd88c802ca235ee9f6dfe85ea81aeadda6fa7b0b853b5a0b2fadad5df7b2fdcb271fcbc9d02585a14e92e9b9f6d18e7266191d52e64c8dd4462ded8e6b3722c1f9d66a7523f03aa8bc399c4bf90fb070bbd69127831bc8f4ab532c8e97ac9faa9cdf60feda2db11cf4b8bc1359e2c0dcc2f3bf454e614b58afc34c41ae65950eae05c07f46992f8d3425f304f372ecdd20ee4d706f18e7a56341a6e4a2dd7b332a1d8fcb1cb8259ba796d707fba0c716220fe1163746c242302ab5709fd95a5f6433adf284203894c5806d7a8c4f7b0f1bd139aad17577c4abd0f1a4fa00bf9aef364661b1b587088ba71d16a53abd4e6dc49f6122e4522676f42efc5bfef6738209def42a9f9d1e4e94d0339b380a8b3ea639ddd4309fd62134e3b7958cb117e984c9f5ab2a294f05b0f7e2a51f16cc6e8018aa24be599c487179bae0fb615078b02c7718065f6b73e97cfd3064864b3b20ee28b5bce654586668349f9c3ad1997dd65e88daafa97c204e97cae4bbd7b34cac4ac8ac94517814839fad7a19dde437005a395bf73b50b01d5511b901132a34d503e14a11105b31a5f48ab480f046e1767d76e6093a9ca5565b6a75b1ab1ad57d2cf3b3692071b0354031bcf2937e2df8401f911d88ee2b5df09b1cc762ae67623cfc65bde0dee091ffbb30a39b3e95c70c45e355a0873a654835fcb8a1f58d25f6bc7140bc9cd20a24f1b2945b6bb75843e2d46c8aa7dc9a72bbe0cfe430fe6de4afb61733e9728f8a1295b38f1999207cc2b2841ed09cdc99b980a4d13525e5c9433b0f71abb5d37dab20999bce89e731d8dc2fbcc0676a688399a14314ff7d716b145e260adf1da741fef3bee78ac303f6bf0526b3f9553a120f1e75ad6980e87d58efd27c5fb12142cc633a265b11e11b9d1d7de0329ea364d77653053abf7546726aba555e7acbf3588647a8aa1c4eba3c17ea56321ff326e17c61325bca769fa14d9f26871e1018a0fe5c89b9184080f475e99a8dde20a5c31020ea2ba62799778720aff7b5e062b40cd9fcdc433a64c2227b836419c52973e1a357b96beef6a691611f02b75b0d692a7ecfbfee2da6754bd232e41593cdf75667f5adfaf723c6c65c07f007f85adecbf8fa19ddbaaf869c378b1d92acde6950ae87a4e48d80633aba1ef69f6c46af0aa710be584c5a7e0706b3313d2cc3e795530ea49c8b2e20702232e6e7988d496c6dd1fb69a0f5cbb9d74c5d205ec0ace6b0d736e4971b0924d3ce34ba7e615424865da3fa9d8979def290416b76ae5a2b2be038edac49f686556a588aa817d3613fbd5d9fec9e0cf8bc9c74596a154665209d76228ee663392eaeb13347a94cec63461cb25379b76fb1e54fa3c6dc537d59ef0c4bd2861b74ef98a05e4780cfc8f764b5506d7b51b0ba2f2781529cc4a936f9b9b3bcde68395ddce047e16e93b3aa7e6938dd74dba5dc4bcdb2436891c69c40215d2801d18b0e58482cfc6fb6727f6c3a5ba629ebea38e70a580cd72f335cf08657911d1d7fe28f4c22e83f590cd079dcd3b2eed2f737540c77e9593d7a7ad58bbd00e0613098109d9747dd2dc174af7bfd4f5ab18eca151d7d7095f914226d1d37f0f0b96965b8d043064b3201189daba816e4cd21d6480d4f6dfcbe6f1bf99c2232ebeebadc03058ca3ff6231577a4d04a45fabe32b1dc98fee7e5a148eda3c9986b9449b462bf622812e3d68d3b3bd0c98e5a77cf16fc4362f601e36eb3683937845cffb4f818928943faa4497ca2e3be6e3615351e8a8e30d426b05d3253db297ed871adf86b59fe3cd100730d8e02b3c108a1f11d8650434cea49456a4c77e25faffad7ad9140f45f6642e9430cfe60fd7f3b9d702a33e6ba54bd780eb9f0f445735e9f13fb4393d87429daec60a70b70061e40e7f1dca6fda71849d30d879718cd5badfb3b54fe7119ed9bae8ab5dd7c2f37fa2c8119fadab32e9d0f74230f836ca449313643ac6c3e4756fbefd2f7fc8f41d4663700d6c3b87fcad15386f7b42369a09ccf586e4b967a2e37bb63d86d3ab18156c61c433bb5846c1cfba3205f018ccbb976ebabf4e44d8347cd507c97983cedd437f5bf6fdf2516affb46113b89a018655a68937890bea8a92e7ceda1b0153fcbf40bb5c87eca909f58c20ee7340aa022779dfbe5b491ad0e6777dc0e9bf6c5c6438280a8e08899d1c957d06e6c349239296d60d328ad717453f2eb6994ef6505359022ada739651b7dd6d063aaa26faae6d9a4f67819d9a90d7acec57eb6da5ce9c6222516570eb65621096bd54fdd501825fbf992b24a8564b188f1d6edcd253da03ae0bdae9866041e7630d7eeb54f4f689de9e46f8ddb071cea6713c62338a8a9fc8a3aa09857fdcc811cd4f8be768e3d8e3820e0de03a3a34fe13dd4814da42f2399aedf54d9594a174acf9dd1f7474bd426b1a71cdb9f4b4ec85f6612a9edc5e87625bebfa4db1f2f9e8ce6b5f7b50eb0f2f69bea5eb5da78a3676a377b0767fff5e29d7017b13162e7949780cd7049e9eb18f0efd6cfa419afa899c8b5d97cdd6af22cb7ff5e2a5da4c4bb47abe9ce2043b82f28e466273ccfcac04ca7d06c75583e680e25e43386ad5c65f05f64c69e6be276a5db7f74783e94033775c01e46d94905e69b4ad2d3c0bcda24c534a81f324fd7563f6f3430bf46c3c6c7c201fcf948796b7248188251a4fc2ec0a452ef07f5bd97673d9f3b6c7d13d2f08881f0d43d98e4872eeb339087c0566eedfe743828a64e9a07d587070cfda9d4e6b749fd89a78b6f257c8ac13c2d50a4bcd9515c903684171d7a71daf8d0a57ba8c5e2cde0772a64bd714102235fb4f383c2c12785a296d2475ccf95ac7cd526f6b3f3702f71af451af12e858a12124912ef4acc3fcb908506e054ab058367524f5f41adafa174fe0d36a3f518191b32d9ea7ee2ce102389ecdcd74e00e9cde827488b99c9be6ff08cdb801d0ccc35d3fc06e97ed329cf4b671f1a7ad34df1ca1c5c75d56d7fac506bfe6313f221269f2a0f8d08202df5f521118b60e41ff5f4b5abd13504dc7f961b31228bbe6bb75f44ca816e66be8c11ea3253d18a955d9aaec22d8154ef4fa3ed87569c5da45d3abdcfa5d84f17cf743398b4ac5c588bf7b004ff4dc572edc242411abdb181be402dbb16f3bedbd4936de9ad41bd8070e67cb3575b41d065cba976ef986fc560d0da435a3029e9ae947ea7c6e26150246dceb821c5597d2fc939377f81e1a3c9bdb94cbd37c485e0f95a63731003d7ed06673b9a5c229b36e30c6ceb4315ccfd11cf8c635b2b6c1309e038e11fc6d15739d844a220e27f249fa451a7baa81ee21324874793ed0f976c0de9443ecf00a81c20e1e912401013e5c9d8669cb5dff767bbc5ee3230d3a0afa756336323444dc86343d2a0c5fbfca20b72560c35a90fa4e27939f4c7265ba31adb379dc405f8b8efd2e864a6fe4533f361b2faa6137896217372841b97309608c865ea9e26299f972466149333c59635fa1d51079f5a430098ac52cf8bd8fc19a4e5140892dff7a8cbfbf3c517920fc52fdbe0c5557a6b327316c83f2ee9b23ba76bd4213368e25f270c572abb55a2e22c2766c4668fb5f3c78b34b319c93755a6b215642a6314f057547ad014e697aa882ad1127709e919cc6f34ffda757a7db338d22a5de22689e9057a4e13cbeaf070ab5d70eaf2e25afa033acbffd065eaaf350e1c95dc8bb07fb329679cfcf728354f8436b5d1fba7c47b47951965babccc54be3a98a75616ab42e62f5f2b9b59615094746ec194f4b54955d856706da659c8e11089a0e702197dc441a653d0aceaef5a1f304b0a2f49f1d924e4976b7397d96eb38ab826e43dc7bd3068fe84c0de9ba97027dcfb8be32064f7b25ead667c0fb586d745da48682f9a1126a6ae3799b36f059ed6e33ee51539d7f0b56a57203e42c275f0db86706a499f72bc477c2c44a378c54971a0a17f344991c9813c44d8d76565cfddc8b48538a3e819b59b1f05da9fcf990dd5c40396f9e1f45a244d415efc61c7b0dd4edb7f4848834ec19c49b12f6bcc12edfb12e4d7d34a8bad2bea8640508ff780e5fdc813700ab1ba097c6da63a386d7d6972854ad75730a42145efbb06a140eafe5aba22e195c25c23d4683b19e45796aeba8142b6dadf618a318ce40560b1d2fb53e74d658302d515efa5332babfa0ab4f9e061d1187d5db95b5f00e4d9229006fb42a0a53088dc2f8a7391b2638d975b0b56d1a9dc4eaff747bdf19b70bee423ddb18d95f27bff76263c3a06f3c242d318715fa94cb1fe787fb4a12905da8fa55ef323b669e3a02eb7f2d688fd07101f88243eb1bcde0917a07a8bef6adca16ee348b97d2ab2e569bdcdeac9ef2c0ade54de271a7a2d72b6499f3eeb702642b173abe1aa26f025224d8756da6cf5ae09edd6a267d06db681addf31e0bff0af8b847b0dc54889bf36553f71122f52d701cbd3a81c62a77dba996c8d4b983fd4e4fb33a40fa18a23c77b7e4268d3aec647dc4fa5ff2f308efc692b6e82d928cd4417148bdd3c9c30894e183df8541c98ffcb681651670295f4a2c3fcbb437b5c6315c9115e2df1be99cc0ad27e7664aebbd17e3753bfb0f1fa3c676bdda81583af1f9d3ebc5ab567369c752bf6f712ed773a5b2a967fddd47847e0be6ecd183d9957888b3d31e82ba8917a3461710528aa76283eedc7fd71c4645083ff3043d1b3f1be13d07f08adc24ebde306a39d0ae1f3a2fb90656661236f5855460abc60c317fa630e83fb47a38856f2eb46d3fbb3cbf9a880308a00ce7911d743bf6bc2226ff17bc0c2392f6519b1896c1cbc6bf4f5653077362f238beea8a9f84b2838d86cfd2c758fa964873a98b9d0c10f1dd9a1196c6c52b336894fad8c470e10f3a09747e4c7d2d9e684f625c77014593f8b017e4091e252f9468db36835fb29dd3a5f46504d153f95a72b0dae3b03c5e3accc37f5705243ecce19fb5408a8257d74d186cb8d6811166f5a31debef62721ed37757c12b8174af9bb95ff4534b5d129e8033e92ef6e60580fbda907f82c257919ad6e174ddc65ecd53138ecd860c10cc5c38c969b9c78ae1c92d8042cbf063c205ee6f6cf53874b1abdce049e6cdc8305766fd17e91b2cf4f611198bcffd03eceba71592edfefcf4ef64d1bf4ae4b0b54fae243e5fd6436fb549ef4ac225c8cab5463b42bd11faf03e93cf91624be714c6e9d0bb2d659d7215edb2a66d2f9d8faa212d99240d60b13929dcee6a093fece3f968d677375d1cfa7d6e6700cea8dc37f0814dfece6978bdb0ba567102a8a79424e2a98533346fd718b9b066cc8b52dce15270aa927cb56d328105417613bde5fcd604fcdc0b07551d1647570ce8a57e3bdd4e0c266b320c3d9949a0d94c0b30dc806a98fbb807f886ccda8e4871a434553f710017f08ed9120acb9a874e5f99fdea4880e31b9a4ecdfde16ed59d1e965a0a13fb6a4201798777570c52ce1314becad99a061c8672cf1fa88bdd7d227b532fe9211a1104517496e357cdd786a1b89be9048ccd54e7ca3499c59b5db996cc6902d13287b528a0d4af7b2544c1add739eed1f5d40028377888666c7c35e53bde6120c30a956e6f887196d7696ddcba470d669ff7d4e672c1c5d4b3c531e904a6babe8c772e5a4db9583d901e1211fef7f7eb0f2d47f34ce4e522c929322e964bdc2563fbb7fef438911eebaa389d9c1606e6dbabe9a74ad38f9535578bbe8e2ae81399aedbd4d4c7242859238904c9b9a4de54b2696d3cc7edb6c259af0930de3c2121f34e8ebd565e4534bdb978e3c9bac370de1d77346300b0a63327f9779baabdd2c5a757f19e00968ffd364fc7e4918552a8dba0c1c75e4a6a12f2902d405575c56f3b949fabb7541c6c5fdc6a7eb93e17580aa7f9881a90615bfc2c19126f5c362179cb6786eb66e8574e61cfabcd97ad94c2c6ad13bea3473eab5ef8584bbdaf8834f562a440e5caf9fc291dca8252c83fe9b8fd12fd36696b86f58c8df6870589bc19a3abc3e2fd9fecd3a36b6e39ec931d860e04f4005aabdf9be782884e447edd993497b54c4084ed828517d6b2a129eb662d7e0c25f52fb946476d273a9900dadb7bf222f6e35cc0fe55c24333fd9d46797aa0874fe1f323a5d79e53fed00a1a9e237a96da9dd7cb7683e88842b93332964df7440775ab34f20f1a212852f19dc8cbb4614e6807dec8bae8aef4aa9870d2165faf92a15f752ed0fc205cfdac3538516dbaa604d50ac654043ed592fb47d30093faaba3ea957cf0bcc09c3ef6be35cc447fb09b97931574626a9233b06500ff1625c6f1ab49fd996460de16fb6b20f9dfa857a982f69819a8f7d41a7225723f9b4ae0b24fe7a76a95fc159d37d2f75a7c8a79de0c4d0fbad9505b7a3af6cc85f979c412b8b9d75fe65f4faf3c74f46c6275b59750afc1926e8cf403eb93fbc20634ca0fd9b4cb86f26e67960369d9ba7cac84368b453b93d9efe7554918fcbd06d4a2d673bf98d8ef6bb1d4dd66a3b28b4246a2ac27252c8c0e155fa6bd0e2a86f5dba2b9daf28b11b23e92a557132797fe0213422b19fd2dd5f864048f5fc0475df5ae71fa0d38891e22e94d1f5f77eaaf55cb3247eebd07ca86589cf6068a9ca480ed05bc44619fe1776239fed445f3c8d86ee7b7fb692f74a1547eb8d6493dae818a116ef0fa63a4416afb522f3c18e6ad56e5d4465cfd6b39348d8adab8ab3cc983ce72e528e6ff0b128ee58de54ac00efcf342198fa3eb061f91268ff01c957c4c2e2db8e4c5860a6157b754e833795f0ac51f349a7f4c652e30079279d5fe4c09eb5e26f62f3bf97247d896cffef1c2598fe0b2f8e3ceae02b848a27ddf7fbcb68f3ec327216215b21891333f8480ef4598ae5c512ae98524f9114aacdbbd7654871a3fba8833900287ecfaa5edba198e5c0cb5ad60f9931aa26bf097940365d5ca3cd532956815b121ecc81927d66c77dc8a6f9438ccb43018999530f86d9b5cb0cd7b20f6b1dfc3455112a62d3b3ac910a6c291031975c3dd5188175f6c3647dd061736a09f8d6f50157bb5b1b0228bcffd49a5c3b05a8cdc89365fbb074f6bb1cef4f402b07477e25b05bb715a4c3c1c227622e59e0849a911d1722c2af171d59df8d5fa190fe29b762b1e03fe508b21ce0da48b22a5dec5ad53717bddc84f6e78e1022c1452dfc17ea6c161728f4bf7eeec1cb5ac6b24dfd2caaf95923d2b71560beb98dfa1a6bf0bb4e93a851fbbb48a1d495d975a33fb75bfa3ce1a53298933663079d13046e5f0979c0e7ccaab662a75a320ce00fac2a6e67d56196ee0f5a5f7747ec7355cd940ff1fd9c454422736a86afa70dccafae4adc54e606230fcf327ec0c03f850eae76637d19b0871d037c265dd0e4d7ad5333eb54308a8a7d2ad2f336ed42eafa1dc76cd7eaeb7656735afa19c474bdb5a12f6062a7ce71ac42567257e8123a5c0e4c09654be1ee9b569ea9c00f421d2291468314cbdc0ec5a984af956e85b6138f6542bc9187a0713b6cf32e3805e4d588f7b5c98cef5c347529f71d3aec2ed97e687d1cd00ade3440695d7038bdf65791c158577d5856eaa92613c8cce74aada0a579bba47ee67ffa3d70c3d3275639f9bda4a66ef402dccfdf62324a48306a9c3f8e88ed40afd96564ee52cd4c12783ba2fb8322afd4c8d753e0a9c5f0d104fc051929dbeafae890e9ad66994a51546ff697570453981b9313d0124c33b1b1d6cb554d5f2b54d6d53ac55cfa94a94032650a209028cc384c3d130900c37b060e6d46adb149fade8c30f380ef6c3e831abb97d2ac97aab84246ce2ab1a552ef58a6c151219844d5e7caa70f3512474723c5f7fb0d92fa75da78d28cddeeb8f1c765e4caa8c38ee6f11d46f26cf272a519c2cd5647a2f2c030192e131ccfc9d7e30c7dd08d8c33bc7f71dc37d45d1f4adaabc2f3a754fdd562568b217d50620bfedae72a5711541cb5dfcbac52d237935f6905191f21a568e9699e3e2cf44587a293f8f337b1042c9b793b30d46ab59361b9630371a78d7d0b49c276308bc0ded56a3d3569f06915ec447e7888a95ccfb9e197a9f8905b7ce313fbed5414b6b27e2ab447d2fb633dc5473579d364c5916efeb3f33353d3ecb49a03f1c7df01f3f0f1fe34537154f9e1c17caf4b6c911ecd914d04d763719498250cb3cf2e8bb66e80b2748be6232c0de1f736878057fec90989acffba359bf13a81a19cea5d0df0cbb27dc6aa7aa5d515f19c53ebe61a927213413c0a0267fac74b434f78e64f7a349f7fbc23083f5bb47e2b677e5430f72a85ef73ca1097bed6091cbbf4f090f210c9ad5c95330da0055af775532828603cac2ab0bd188a0f1e9295bb1a9b34584b15f44c16ab48cc22b698d1a47853f9acec6bdf28e271adfd5d575670727d942af86988ad5500234cb6b6f26b551bab595abcce89fd36848634ecd35691031f0ea109e9a30bfc83f9d850543e382a43ea8a488696b0c05fb942eb113f9f52dc772a2b7a2ef9429d1dca0d024a4cd4ea62e5939f643537ad5a6f67edb91a8d2ad16115da853a5dcfcc1b7a1923524fe4b345e54de068b9f898708837bef569579180859ea9f47aa3d9b208ed9dd2d7d7451609d7d7488d246b3dd716f163e7d697dd62c552ba02620fbb31df865dd08e3d13be384340ce4c9a467f2fd5258b0e36ec4d537951ea6ed7a035d6539175699080864d00e95bc2598bfb12f26b0424be9acaf41cb93f865ecf558fcb2a661d61f4a2ff187ebd9681ad4c1a7c6849ee276c428b59de28b671d44fa5eac565f05c669640587c3488897663954cef01fdb83f6bb1c497816306fd66f1f56195851ab380fa42b7f9e1211d5f9458becf4024cdfb170bca488cf31b9334e46a8e5b3c7fda8a5f9bb1be7561cc5b6988dd4a6cb27d78c470353efe905bf1abb65e42e51e4de05039163b3ec26fad9e378a882fd50e33c70d20af4c5630865952bf9680062690aeff3d13bbdacd7cf091950d6265171411c34409642543c1512687b541fd83b962a9b1275d72d8acde3f9bd7027a02d96cddae0e4cca36eecbadef8df657e320b1caffd8d7b2982c7a8abc9f3a74bd51ed830be19891196c18ff0869ce226388f9af270d79233da944d2f7970c5e4de22573bb4864bb47a7d84b8e7dc1265b526d43ad01d984c5275ce43040acd03c1ad227740c4e1d300002b8766c6847fbac318ba0622354ec59e259d1aa484ea8af6555245ca551f9bd67daf5b321b357ffded5f565e366ac50b03469542ab4cf9aec101d37f2c3371f74e957d4b9fbed92d85eaa75b549ffa9bf17a632935367de9a8df49d2e4c5bf5b11e57a6d368bb544c9c1315d1c4ac26efdf5a370ba3ae613391cd90f97891bc52aac8998e5e75d80f161741fdbde8ce5d57f858168b5d78c4ff3abc4399fa9d52be3f053d2911fb54a8476a4bb74647eb092db5d8385c5c712b151f04f645adcd41543eb16a3e9bd4142aed31c3f0d36c5fab186167812156cd1bc3c562d322d483df9563f4a6ff124dbadfd468623b92d2a4f65a0724a51b7c9e5e0be119dc0d5e6aeacc8d8bbd3e13afb98bc22e65a942dc1b57344de2394b6c7e961e372339d6deae0cf313f7e6dae2f57ed1b3b6a4888f21987f7b6527389f8171961403277168abe22eb6a20465b1496da9067f17aa8f3b441aeae6c60ec5abace057867c00b4deb5f71b553c94593453bcf08b9bfb2eebbd755cf3206ea85a4887c9c26571a69b9fbb8c8574ea17a3169060af8d2608b2f9d9e46a3509ab28e2bf0d5c1f7cac6f4dc2660829a60a1e65c51b1652a4a7b86ec0c6dadb970cf8f992cd21752b02649e7560ff747fbd4c87b041e4d561fb3462b99a30361cfe7b9c2bf8b089bb9dd0fa76f1852fc5beb75587850b1e4c15c753e87d83fa7b5901b519fc427e7829a52246f8c63177ade39fe67bf99529af35d897addc6603c68f887cb28c1dcee91a52026193f4850caf0f06f14da01509c7391f393fcb220354fc769ed1daab5066f3b11dfdd6fa6ba0dcf52189b94944ee0a2fab1d522432b35a5cb02ee9efe78ffd401380d6fb5323cd558cf755a62b4857a42ca81f354a9f4c93d53a1298ca7c50ddefce7a9612af4aa1d91817a84b4a7e551263391d7667552010cb8f45119189bf77157747bc54905e2339f649193ad4a4515e8feb77e9fb5e617ed2b2f8ed12bb336311d97c96ad677713c6397376d1be400a3f1f6ceb7682c4732d8ba44da16e52bed49e1353f1bc43e6c953af547a7f6aa7c29678750c7bdda0653d677d5a8ff6c8b429ebedf0f71f57a6fb4c8fac9413171dee110f7aa293de9cd325d7535f53f415caca60067083bcdbe9948cc7d73e38e1e513129343f86f963b2ff56ee58a3955fd3b5b7335f2eb25705ffcddaf4b167c32884babfa1dd3b3348425905e6fad647726bbb551cf8d677ec773aeadf4aef65f371ab251aad5358acd429ac54e5feba55248a07dcdd0fa538f6bad72b835435f736c18c766315971e4d806f0dadf8e013089ae9893af97c976b766e2b1dac8a70ce6a748779124737444be300124ac022f065898f3554bbe5e742b7abaf917b865a28a880ead3bead300d2a5e0213f1ab70bf550bc5a6d6236d01da0ee2506736b33b298217d8236691b74a11acd41e199e83c7d1abd5ec1c7ca6c7607b208e4686e2c39843add0f7484ca6c6e47c9fccd0272b2923d9ac1a163106395d44f184dcfb7f879c2e58b627360b2bfb5958de8c688cc8a3759f9854dec93a177f497212f9579586fbeadf4b5c485e954713b4bc8db0a2a16c6df34b7580cf14435ddb59ab176dcdfe976d859b52fcf2ab8f1893c19b63f97814fc7ad9f205b76c6db3718d297d0f38ee67d2d331e5b597c1f5f7ba15ef7970afa839afa14485cb7127622a891450bee50f17b216508b91d4a889f4ced0f5cd73b45ca4829e378406a8e7bc732e3f5c406d0fcc7664b61930302593e15cc3b9d31f5efec610d5c6645580efdee88fba609a0e429dcca50ed4affdfad1ed753f7da17f6f5e717448a84dddb711d64d64514954fd8eaad4b8afbbfd9a4f0ebcfdf0fda45ae9eeadbc5a18d116e6406946afeb015cfe9f615b2d1bed8046f222ca8c5f6652026223d20a80a6306f36c2a85da9cc82efc8ad4563c99b4876ef3a1c16ca52944f548f27a7391c06cbee4875057740755b17478f7946846a0fd50fa741361fc23b328ad7db9b3c16c2e8efb6e30ba4bfc9bc81677d173d54d26860c3dda841decd63d34d85860460ce6619b2e4fb6d951bb85688833a9de6f2a8b269bee22e3f6a6737e30849d24f69f2c9f5309709240039d4520d1720280e092c79f469b467cbfa34bd6ff828f599b16af1a986008d6cbf0b535e37a6329772d5ea65adbb3dacc784269d4f87ee3e86b939e3840fdca15efa98c770278720af9ad05a82f09ab754a629690abf050aa901096f040a55163c5926be2d7bf75c4a03006aeeb69eb93a62a9f17e9b64b6e67a5d8a11d882c47cedba46854f6be3681df8ce30ac6a86ad4f2c312ba89cc1e60e8d3521e7033f93fcd412624cf4edd9fb5631364c1dbe9ef77e6c9f98f78317a9dd3a204b11cf518bd8c368a3aa0422f8e6374e30931123b24b17d3bebfad54a3ba8d0fe80e7cebae8cc70b9bb54fc0968d56d3eeb6e522f2129aa5d8a59003dcd6d6914cb6ac98b0b318ca6f4d939121a6d27ad7c29c7a2b10a8ea5365ae42c55213bb59b426c3a046dbabe899c6035eec36ef2b92676e390be20e8b154516665f163123f32d9ab3370c9549128d46bf01437285dd9d8dd24b06f8122059ead2540590671aa063b37923ba50e58003b34138806edd60eef8d95853c61deb0096a782da3f13166390bbbc1057ce039fc317c92ae12756143f8afca0c93605321fb1fe17ade644fdce424ae9ddf818e34d57cd419244c47a3988ca141b952b74e54f284ab0520e5d0a673a8b268ad95c742ef2be1f69e0671d28dbbb041f6a7d46bc9bdd91d373840b65f58e68246b24943510a198747c44111b85fd22890ff93747ecde9fa4c147f4b0948a75e7e290444134afe6c20774098520848952af2ea9fe9efb9d71994ec9ef309e16c99ed22ce0a335efd26855c2764ad2429796923aa82730d0af3f1802858c464afc5ce149530b114d25a3929e2c5350ac4d9c36b3d9b73eb6582a7cbab7364a26518eb6475c63b32864fbe9016789c4562e0b5963d9889995a3952f9965503e12282138db8cf667295b004022f1f0288b308deea98fa62ee5da158c849c8f404c2c67d7c466bda247c37880123cba8bca327631ef2295b2b8459aefa6b5df61efdbe07c25905b3f23a7d347944aa76e657936c7d0b468addb876ec1f14f5a7c6f57b850e3731b94b83b2a91839a5ca093301d5243c70977d36c972b362f59add41058cd0bd078b8b1b8da1522319ff9f7973df8d58bdfa757cd9e174139e0a9a915ce5d433ed32cfa24c14da9edb181424c6ef4af3065e7f2a3c02d25537eb05c5c5e35041ffb41e5e3a979dea69ad855e3e8b99fdfe975fa7d99d472ee15ef06688bd75dfc7aa4d8e9f74fc7af181dc0b3f7c0a14240dca322a393a7b416d11f5b45a4b315a73f6b6bd9ecca94946cc127468fd2230da093584a11ec6272b33250839cbb98f8b016e2aeaaff0bdae2225634edc4b26366a271c496f91adfe6fefe364c08c628c5fed0c97c2c3819ddc0506b8716cb91a4cd4687c3fa3fe2950f671de3968c9b92ec903e22051a973b5d7ffe8f2df53261c496406ae96874817e0af35ae95b950b57ed7f372d1911b8d267353fedb0b8d17480e41832dabe7ec00a3314ad997d6ed4dcae251a953d04d7483d99da96fa99896ad26d9473d5698a7567671b5b725dc85743f6c26bb52dbac30dfb9640292356c3df7d1c53d51ba7a2aaf3d2869463672aff2f95a4784b67bf823bc4db6a47fd831fb6591ed75694616b3ed821676f147ac81bc1872a7ea7bfd9009c6b93c2196f0bd8be2579bda0b9b43d0536f00056f660adea833c4a4e45a8dd927f7eccae79055e88eb45e47ad3053893db0996e725a40288e0c218318ccb52a8954f12aa42e5e0a6ccdd5f5a9a3e2c523fea3d4166b929d746c822ecd866ec2cf1a985fa105b423cf6674bf9c58c3923b6e4a92fc973dab8f0a3ede83a6cc86466fac93e6d5a04d1b658429e1dec4f02122cbcc1cbe448c820bea9d1a9f3b4be083698339f42f06e14ccb53609262cba5dbedb404623a05677454ddf7d114733898297b526d9921ec7946d629b4b1daeb9fdc874b036457bb21e0daa79e17a26274ab9335b291c59576a38c8b8da66ec8936283041b2b56aa9da9dbd1a846b9a719ef5862f20db10d8d674aab8eb9c4ff0e671f509bd01b2d437246e36ec7ab073e04622e6e76c852be17a8c26e2fe650b0b87f99c9fc08d71fb446b72ec6d8aaebcea7a3a964e1b5f13b6271ec196fbbd4318b9b080a5a32a523b3a90405dd18ec34654947ec6ed55a48d4eeb5777dc27814521def3c65673dc2c10c2ab8205c343edcdbe47968caea91ab189dbd4d5d3cb857e870a864fb30837a4a6ffd6d35f794eb2f8a7c05569a4f91f0f48261d6e3185cf05299a8f0e4f4ee59c748ae83675df6df160ac487766bc77eb692a4c60f9f66faf3fef6b712efb776b4bd44fd813af2299575796c6e363e62337ced9deed71a6789817e6a92454b55dc24b8ef4abad546c651ed3e85b724b966d0f85970f696379a662f818e975c2ddce2e56e4a86c16bf7660f67eedb9b748b9625bf0071252f63bf288b4dccfc9727e6c74cbc921fab80c97d748e8d22edcf05ee0f05e24bab8e7dae98d6494614515b8d33c6c4dd53f8cb97b1fdccd310abbfba46f0a4d29d4db2c614dc95c9f8592853cb28a4c53c3e0b793a349e7b1308f2768c3d18c0513861fe71dfd4d80b3539905ef1ec22dbd7ff65903e5f0df4ac5266e09e395875f501c1c6e72f5c293cd84461356e25d3f7034b824ca5bd2b6678e4d2795a861b43646b065388c45c61560788dcde12539f11b95e3059a12c50a1fffc849d0be976311352eb3110d3316d13620c3137987abf8ed49ea77c6bb00da5765af857af51ff3def71a6ec0b1d918748d6a71e8ff74ab387d0c7d00eee21cbfe37d7db37f7d82d4fcd4063fecb0873cdccb42eaf2f3167bf79fadf99ac890daea2915da897113b6d911c716e47dbd7f116767ff7625c8d7cad073ac3a9f5de6f85fbdab4b3eee2414e49f6a12337d4e074ae8ee716dc83a5ed4b4f84306c6248b29e63f76223a1b584cd6a72b140a4884764d0b8d7b32dc540aa0af78174a6a0ce7802b3939acd9597c52627eee969b936033bd3147e9b910cad783f1844aa7a32f71ad943a3db9dbe8eabf1492d2144340da1d6f6c794bc6ea3d82f7046ec1e164a076931ae1f7620692e39971e7ed4b07c36e929901a618e985f78fca39d02548d8ee7094ff504883b85d96c4aab5d40f11fb3f6b392646f93cc13a92d3a7d0cb5cbfa0adbf5bfbd6a6c406846e5ece08c9693257cb73ecb8dbfecdc3bec1a4e81713662fee815aacf2a9f22e1b980459c70196e620e3d05e650cdeea2137e3b7b7d5083cbba983e29e6773ed01b936486347ce303505031169ebb34a51b0ae85deb2d50e9e5ede26d9f109b1f0a952f8859798c9786842f1eb54fe1b2a903f3cb4bb71763ef3498b99beda3dedd5478e45bc5c6509f3fa9b7049584add9bff6ca377de5914f98f945a5d63329898b92ee3cca708de15321bba9e9b0a9b97ada88c706ae4f537ee10bba2381f91bf3d6b75693421133e7100e4dd2e23fafcb4b96e989185a5e7731f080a238684677a392ab5a7eed95326fccd9007c93c82988ec74fce56380f2643b29b788d62f0e8d04d48977bf9e49c9077613d3f638a3d1d7a919e57c7dd6bb2b6a3f7e542e7bd929f0eaf17dcbe3edc9d1f3d1e2eb4d96e19926cf9b89d7838a8faf6ae60f40474aa7cc59d7ff54b341a0b697f48b8dedfd9c6bf8a469ff0bde92b33dfbee86f0c9675eaad20eec757c14dec6c4105e8dccbccb5ee1c6cf4c31d1a7fc3e569cfcf3dac9f1cbeb78d365bc55fa1d9b082eb5e435078573c87e6acf0eb547b7e6fb08f91f03e065c965868b79313c59075bf6bc99f0a5f5411408e64a3f91791d951dec68b5c9d5047d17b38feefb98d0c8f9c667dfc2eb6f86588fa5fdbd4d7a0443bf83671231ae7933917b5d1a24864cd8f8199884d7d627bf2ad95ecdc08256f3d7d9ebfd6a6e5f6ca40fe9c3035cbf7429bc01e17d3182aa461e309219b9f3b5936149877f1b4d6c0a0e62435c44fdb0305ef112f19fd2db37a9dca59d5c5c4da62ad072d7e321683c7b6e24f9943319ba9293cb0e67a6fb54fe79be94e7b4cc0e7cb7f7ba74999ebf8276e2da4cef4f96fef36a65920a51dfee61c8a3f6d6c5812f92634db519d4c73ad51feb4525f607761315b8d8dae474aba318fde91c28169ff1e294de325b5637e1aefe9f1e76d362b4debc663abe789a3dcf68d17667cb19651b9fb6a45314cb28de5a97154c425e0109a86f5c57daa09bfb4397f0424519e58333b2b47d85700cd29eda9294260e3e6ba53044642f1c3fe72928ab022adc921640839cd0bddd398718874ce385a7368174f928d476a8e72b2e5e47544d148b087c33f515c5e1adfa3e0e1287888fc743a7b245c4809a841f6a498418c95be11d9df5ed01d2d083e8f4b0914535b8b975e3ad26304072f519fe876a6f0335053f5c676f12bb0bb8f8c5d5fa61a7d30b901d72e2eee0d4410de42022b7d2941b016ca6737168106cd2b3919cf9568c2b63233bb5c48cca5b459d2c771e9b2c8f185c7627dad13d75ca4b206126bd75d03af6c1d9bb1efeed80b658f9d5930fff1027a12c46f3c374bf03a8fdecd107d7c7a7253d3feff6ad2d4956a3fea146b41523046c2e0ed5dceb36b24fedbe826ae2b121a1eac6e7a34e8240cf66e565e5c9c1fa178f0f72a78f4a3a6c55bbb7babfe66a7379fcfe50fbb85b147867643f2c268548f82f47ed01f4f8d0131140be6ef5f771622efcb68e1df8b48c6db9842a2a5e0af7158d32c3128b35615ceed9b3562cad77f3d126f8ad1dab07c5d9547f1c7f5abce4ba8c9fddbc283d9f6e859f3df5b4de5b97053584cf7a82b97370109aec52ad23970e738f1d24b0b388ad1362358cf48f5673b01822454e373e71c230117ace04d75f011bb3d4c636afe57863d23ecf7effb423f6da8438968e1e4b16aff582a255dbfaf7fb99567b1bbfe34e57b77682bd4d4fb71caadd8eb035111badf7c7dfe4c7ce6cb7e2882b9ffd8884213d936f9bb0f3d927b925ee576bbed5325cd4b4909c5c9fb9cc668e16d3a9e3d5261ba6f1a6c4f7f16c60011e8fbe8803614b237414aa76e7550164369862e1b1498fb0366588b85aa20bdac6625cd24af65935a9c0f8e0d131601c67bb7696b384a434e19fb03b2dc6edad8d59c4a7bbdf7d1caf74323bfb5e2ff50e73352f0fe19973a79c2cc618eb698b8abd0898cef276b79e728cea944335de5f4d023f663cee66273e289e8bf974b33e71d2f1b19685c7481fe4a94542c2d9783cc81559a50c4d9e1c76b387b5dd4199c8ed3ce289f0fa6be1cce3ec7ded302fc077f66867f669c4f147253d56637081e4fdc506f292d37ab65e20e5b4454239deceee5324f75be52f753d41c0a2501b4d3c818e92bbd8a3affba35247a6d262335eec753246cd60744dc867372d538598acf092fcf969199f5e3afeba51422844fdcff9f57ee013bb4877f5bab8676a86a25657eff23ae6b5425ebd135cebe30912e6f4cc44fb5fce7f8c287a7f89e4ddab643ff1c91ea8733b9457dca0ebc6c8a26a74ac3972bbf0e121c591e472c412f55b1bf575adafbb1ac26b9ec2a9250bcbc1796a3f0586c0bd1ecc5d0c162e1e5f64e43c88cd67830e88ca2c97c49ecdf875601ea90a9cf56206d24df8dee84c37119bf4d4673ae23d575f9b20fc61808bc2b1817b7ce533bf003602ca85b673a6daa14f74f2f48d0ab4886cc2a3cc17f1158b349c8ab1424ca1ad702436919d6d747a7062de74ead20bb20fabfb6f9df6bf360e7e2efe525a1f0eedb44831f73b8c2611f1362b7f495814d2569d9ec65b02a1b8bea0ca076c514b6224084bf338fbe9b43d5713bfb2a83ff074f46a4c8366e44583c1b1d48976b0e75a1c4d9e3c3751f68a8d70d783bbd6d3f229238273084dbd6791f0cd7f0c2d3478c699403b22ce7bf1382378d1efa311c8fcfd5f8f761a7d8517ae1cb95cbce302a83a34897ae9842467fcefd58d955f4fdbb7550b6fb47da8d186d59edd0deaa52285cfd4d7cebc7e6c0782b5cba005a73bd2af7286a8180f1b9fb383c4b6aabc1eea92d5a0b66f31f24beb65a99e29e6d02233612814aef90c311bd9c69d9135369bc2fda346dc37514fec9cd576fff22c81bfeb456aee954ac39825d98596965cd05ad710e3069f7618dcc446fbb2087f3671f0cb92ea607490e8e1eb60300be5844bfb7d04007eeb52eea9e9ebc6fc65ab933e36dfab2a66732fa6a5e73b7c0adc2ba582834a96a9554bcf469eea7489c4c82215f5a7f36b2d0a2ffb30135126cab49cffdddad7bb4f657895aefff34adc4e5f8742b3b92dff3d0a0d238b3998eff5c290f1ad229e2c4357ab23d1917d18f8b7b798bf7593e3791c6041cca9d25cc8b87714e029135e75c0de5a5261f9c7b2c0cf8d262ffbbd26f53c06cae36fb067b5d6db8d26fccd94e4a345d9a9913ce1fe17ea2418eae16b9e38301fc7a09afa52b885e5923f8ce7be4d4a924aba5b3dc7afdafd7b5997d540b21b2026720597c637cc7ac1b99ec9354f565a6bceccc4c7e67b3d7711490d6e0f62761cb0a56dc2cee0ad8a47ea59cdf4d94e01f9efddabb8ddbbe18f23fbc196e6a6ca7f819ef853287b110e8a26719b8a38353bbfda64c9a53e1e185158003f005a83368db756934b4e32d2caf8c955f68071fdcea5a98b1dc6c6b79540666df61e5a157c16f21434cad490f23373ee624b431822a24edddc28f7cb09bb56ca1128955f8ceb094ae23765f8c10722c574f295e21fd2c51ba4216de2ac6f2276bb20dcf3d1b136218b5585577c1f25030b1c1ddf2e3e43e79d3cc4f47c1967cfb5e72a01d7a7c4fc0669468d5a4649fab0d5a72d8ffaf4b267d1f9b57ec864fd64f392b4323c9978b92bef389f91bb538d8b6e369736ca9eb5bfcc22fd7768a6a3d0718684c245b587b544ee56c7ef1b53c1527b41a515188adc02f1f82af6ec2193a3cf1378cb35ee85c267fbb17a5d54dd9ae4e035ba4fcd1ca6da7ded5aab2057f4a6539b3012faedd04b41e0d220776ec0293db9ef6ae2ab99d94f2bfbc1a4276c76f2ac7d139a1d5027896a67660a05aaf0979af9ffcdb6bab53edd6a3fbce5a90a8c0e32d0e62e1c7fb4441df8049aa6266a47b8143333cdcea25c86428fcc9dd116aa71f9ac80277feb502a42749a2d677ff1ccc7f1832541ade6d6a709409bba4fe3396053a0aa7191676fc4c223059bf9775e728f79a4e6bbfbad0929e8d8938bbff0c27315dd8b5be139d9f8b15f3b57d5f372297c53586716561a5d4fc7a28b59253ce3a99255421d0315f15011d353f4c4663c66543161707669a7fb4162fa902533962cb5885500c039fbf3f7cef495639e54b66c4a0bad6f0cdd796871bfdba44f29e60f9d6643836c264bf221952bedd83ff9dc5715c087dcfb431e93f9e265535e8e371e93a782656a63f22bb4f928c6eca0228a95225527c75bbbf71f678ff922bd0672ecc36eb25c21466a67f66a2020f64c14d252a98e7137544f332ea75cc2cd12776e1256e4315c6cc98d28496f24d95a74085a9c55a2344fa1c78350cee38455e64f63a6be3eef5f9b9d5d5aa3ad96093de8b9176286bfb5a20b71f7bbf1ddef22f83ea3eb4de20c6cc2d766c46fe088963b996dc29c9ab317f8eec111fb167bbc333052a9eba18def5b43c29381027565785051488db72e56b9e5ec43ce3db469b591667a4752d9822215b0e498b1b8bfc2c75176d34a556aa7cab7c04b7292a95d9a64edf5b4167aea2f2aceb60673298015b2bc3ebbb84fce885188b29bd1e6c977ba496dea6acaa89abeb099ee8f0288eb62f8f39ba28b485d8875a1c8d48d74b8f1ddc03d638a89840c2f655d8e8f4aad591e0105940d7fda6287ec293c8a9ad9b83a22b321eea91446b53aa6959f79b92637362d5e5566b91cecda60eb9474df6cdc0a95b241a9eca6a3306c9316d9886e260d8576a099dfdf6544ea6e0a40b9115553f64d4b37410c952ec3881387f4f00fc3c81f3662879664c4225b50c512a969605eef0f362eab8ae3a0dad98f4edc4e47ea41c2904a186ae260b3383b9c115e256abd462f82c6d7bdc6e36ee245e889a775c99118e02509f57220b14c97bd4e29d2400f7c662b75f4c5bd0d003d0393b8ab716ce51e86da655ea1c84b02f950a379b2e9fda022f08bd9f84c595948b39c31fbeeb41b73b59ea124e319ad6f208e54abec5a7b040a6c021ec33d8f21af860a59dd73aa8f520f15a6a8bf304cce363e3a53da4b1799874d8ea76e7211d54656435fa9d77100cdfa0e965f3e874cfa8b938ad579740a0a45249b9dec4ae39fd12273ddcb66e075bd33d546d94f070b15a5b92a8f6128afb76e3eddbac99ebb086235654b27dd8bfa2451e0e61c48587caf94facb998ee3b399dca513eb37f597c9224beaf9df8b798bb6b89f79b9a0566d3ec55f0791044e95e6936b32c8b1af4454fd7d5781e2351ded67572eb14efaabd1d9a572c4e725ffbca0e3ce87af274b8900755c6d199e8c871f5ae317f78e9f20b963c3e960467e97917a087d78d51eaf8de642c8ec53e2fff694033ec12e67125aed16862caa5ef79b5144758a651c5bd1c576d7dfc737eb676355f637066ea228f8ae07c3cd4e80c67c34093322fada9afdebd0e8f5ad56bdace3a357cf5f2f5d5a46630334758b888f8695a7ffb2617342d41973d74699310997c60b88f049cc113ef338705c56bb4c4fbb95ea299335c863a894171f0aefebd9954eb07271745eced20fb94510e625bb300d460dd915063233cd7fedc731cf350b1b02bb997825123e01e2bf4a6304ea580b45b41cb751e923aa14ffd01ac7309817f78839fbc4b0f2eb26a620ad4a12d798e4b5e4bb29d92bff38fe6ab57df228e475dac379774cce0ca98f23d42afbf3c60f53f658279633bdbd09b46402cc55e265a4112be4b4124bfaaa9a49588fdc349e5be91efaf0b1aa6acf384bc35fe9fa432e7b65cb2ce53213f99fe69002d569b5e7aaff648a2223f9aa077b96f133e0a4dacdd8d7393979dc85951ecd8146aee07b3fc0b42d5442d4c8b05703f9661e6cddd45774ce842c4dd5460658b2691981ee3ed64a931ee729d4dcdb7c85fb81618819b1946a7eaae3c015109ef9ae0e4d8c098fedd3aaebcd7eaf2175053291bb99b4daeaffce4bf571ebb97ba32d96d37aabc01d9a996f06995c470e41fcdca4fcc2cccf1ead86a9255f5e35c176c60ed50a50e3d4463d72b1afe3279f6d5c8c871b10ae1a71fcd38eac76c5068e1c20350cb41dabc95575e9925cd9a973ed0d48f8694a83bb8ffb66271b9c71e577e9d7410f3d533b9b641ace1794fdd824f8d4fa18830cd79ac00783f8a5f471af535e1b8ffc5665b61ae88b86b04b9ddc51bbb3c8ec6e161e5f6b076f852a1eb5e448ed84357376a80737557ebbfd5d33cce124937ee8e66cc9158c90544feb99338c7d61dc8878e4e2263de106c28bf2ae5ea3c95688e3c4919d0ac986cab3884e0ba7afe36ac722e03b3f73e2362b15a2eefa9273716bf446cf7b9877737f61a3bb5acdef8582a79e97ba1d03538cd70dd2d3a34df04fa7f1853a660cf9631b5e5b15ef565d03aa82abf4c8cbee7d2863d06ce6a11c985779fc0e7eb5694544a702578debda2a1ecbb827c2cfd2f3ceae46bdef1c65f776327deb886724afeb845f2ac57e9bd2264243dd2570b6437b6b5de88c0bafd54ca4d5f821a745c3d06e2239baaa74ab8aec8f9d395373ffdd0c2ed2c4c6347e3e845ecf3064a176c683927fd8d7fbb326ff361965650eee5a9561d68cfde3e2996f15134d215b18e199700b57657f663b2bbbd238aab247ed1123bced0e32db9b690b8ccee2c6e32b2dc31f95da67a1f8a0765377715febe1f4acbc658799243a351f4dc9fcda33614e6c9e8b63a1d58a6ad75f14644f95c09b88b79799ae582978b42553c23b7979024c475f87b37f7df004afed60f702f808c946a4d7deea815d38291e32713b8f80778e7f347e56dae478a8a723e53a4bd9488356b30cfe3cfb88b01eeca9f1fb8318b7b21df80ac9a6ea84becc88cb0a3d835cd28d27a4d74900f5eededa71d39610538feedc22b28a89e579649849ac2f9325ad2372ab253901eebd2e221b4b96480dfda91bd78d45f6c5518029e13b9f5dd449f6a6a3706d863e07455e3cc9de2ab4be2ceafbc6b31f7a04da95fc79f1e022675bc05e20b9b31fa31643bdf12026e657d2b26a345a29575ff022adee7fdbef3f0f063d95f1666416f2d2fda864bbd028ab190a5299bac42aea8bd7ba5888119759d996cb93a12c127a995a49ce007c6947eb557a19e80e690be6b71bd94733da33c55958e07054def857834f951c10fb633458629a406293c52fbcf5c230fb28d4f6acf5f651954b0fd8f802f18f8e3062705f15b88f5b38f9469b81c62ea1c45df2888d7f3d1b4838284d7835935b5b9e9049c393259cb490d13aa55e31f1bc89b313d7d7ddeee3ad7184b62ecc1b747dd6e9c27964fa36e95f30679f67df7d98b47f19646431b11f4bae1e9fb60724cbd3e0f0693c3cda9823b1bb494df8c778c668f975307e98e931307a56af0a67050cf1d625b0560812ba6707eefa01e26c143b0b38f04045ff3ca14c5c63f361bcead0cdc52e27f00c3a782aedaf52664fee2f49a38ece2a3b48c296aaac5e8d36579896de46316e5fab695430c9091635666f22e2cfb68443a52d3f23287404a09c1bc5b4a4ed1eae306e8446fffc9ab4af4605988d6a6fa4a94099b42336368a78e0fab776e82f545b2981454dcc52b6c34b4d59564cf0cbe6af8d0379363153d45be73c06daceec0192e81ab54f884f5b4b7a9197d98f9c407571f6bc78781783410c05bf16192edde8d11d4a8ef087c286f3819b3c869e7faf8b4982f2bff981b0bc9a217b98d93edb918736e68fc2155e9db44f3ef103cc71508bf7974a975cccd96f35b48f021d9e8dec3d4bacee240c5616488cee57ee59cc89cb8db657aad95a204b1ac4074b96d0a24d1653265b95953509e336258efbedae63157473afadd7af54158116c7ab9cb28fc6f15e25ce6b3031168d480019f284bffefa45339ba785d3934fd9b326acae13f356cbfe83691298c89ca93be16a776fb5a79e7ceafb06db6f3198979d96b22aaba0890bbf56a34ff7feb3d6db433b06d42300dfef1b9fc901a443676f1b21e214265bb38f352c3cb380b39f9573e73ca187cacf28f86ee2623dd47348c4c0a552c70cd4f5564df85594b668dc7253f1e2e8b86daa2467c026a1295fcd407a362e9942577cd9c95ee86dc8358e29264f888fe7064e07a38e3f4a6f8e9378b7f1b1b7be4179443c3a661b27e1d28db15f4ffccd0eed9e9370e3b29fff18b41bec3d576ba4a7f5171ce961ca368b49d296ec87978c00029d6b88600ad662da1e06fa48f96ec8b57a82cf53a91cefa41130f20a9cd19d3e12858dc727ba29fde5c9b1ff6d23f05bc74b4bd8b39d216a86d31fc3643421114d799c2b3ee7fa18cbb1ef8b897dfed5ab250b4865ceb9342fa1f01d527b69b5ab998b5f170faa7a5c1e79c4fcaa6c9f62c492932c57b1a1543929a0ef2bbff7ab9d1d723d6ed66f5f3659df5a6fbb09cd8d9156e8997f7319f25a92a02e4d4f932c623b30e105bfdd683fb854c1d90f7f0a8f247cea0fb2cc90d5d5067b3fb2043d6ab56af557ef607493f08bdd8153601f005c5342a6f31e22ae9daf23fbaabc6013a87fea32f6548cb60b3a3d6136134ccb2b4fdd81cf3ca451963274dcb406fcb73eac268316f79b4ef8646223353879414764d1f1295dffc1bd206ac7f8d90c44d38479301d478932d20d8636b01ce81cce541fa192bc97e8709368abf8087b43ec9d4dee6654f0e85cc86b720d6a420f4ada81cdfd594ceb2677fea925c15c6679ae98cf9325d22589d540a48ae38324969e71e83884873c66a849782146828c7249e5dd11c8f0075c7fa53bf9d3c21b4b8906a2823a21598d4149b5668d8e6f1d811b68ba9ba87fabc03d588297d6595d8cf6c45181aac9bdd543e537655876b13bd1896babf0524fbd5129794a4d743bc2ac21f485628c3aaea9775c69bc9846ac8b4299cfd20219546c745ca5d0ed5efb1658d217f5d47febb20f2e9e2b855b800dee655090da186a3a1ba2d218173a33ade7e226e9055559a5e66233911126765061f653f8195075bc15d3f351ef616167bed493f3a5df221bbb1f9ee0d8924550cfdce84e54e36d2f9843530cb12fd07ae32890d5684e5cba5e4461619360e8dc15d51edb00c2bb18e9534dc89709ef853258e10584a2af8b1fde95fe0a1a7c7de5295bdbd825954f3633c3a1f002ad12f72923c8c0772120c2e5ce6f10f7a98e2dd632bbd8d86dd2f1aa734bc5ca1851b1ca8bcf4a3942aa07fb341ecb44acbcda2d7925d987f1e0b71d21adff7b8f2b90ed6ccfc2d9ba98fbcf36c9663a985fd0c70050af5bc79eedc0866ae2d7bc1cfd42d98b425c9dfdb066334592f4877a72b24690cb94ffb403ff6413da8a697c7473752bc615b5235752b20fa5ecde7eacdfd5f73b16c97652f1c685ce0a3b3249f192369ad1d677d8a62ea61fc7906aa22ffb886dcc909ef85693ec4740f87ddef94d4c0b97ee7a9029bfd811ff8a34dbda919cb85f3c3bc85e973d5bba92f84adaa7264ee7c0be55996da2b4bf79c9f5c5e73a27261009f54442f4052d98ea253f63138a21bbb55138d0e88fd9375729e8195e3e4c04ae9ad657abdca79ec98f1af9c560c31836a892e4afb75cc56e7b40e461809d0acc02a1edd8414f9ad8042c062ca62ce986909b145e32626be3fe6181dd7246ebcd4e4bc1f6fedcec84568ebd0a7fb9f2091f8c7fdd6c4466e657bb76c54d4de6cdceaebae065b323242d5ade2ed87e0ae5701e155e17b78895997ff11c6ebf8fdf2a25df7608035dbad1c61b6e64461a17ea66e60f3ab0a11bff9b05198238fee4ba3a147e15b0989d9857dda4cf1dc766ea46bee9b478d1096f797cf01a6f75b9cad256adc4a2409cb1fdd3c85acb18d5f3c98732934aad4f8a36c2355e6d993d382246497bb0aa3fc9e418b0e9143491adf3181d6adf952cc1a999af37eb2f547a1b67f8ea8931f8ae67b676e3fbad95ff6e7f75dcc6e603669216f32269d20662ac5e52f392c7ebf382b694939e5b497cfb713c34089e751cbc1ab5490eccaba6e5a741ac2fd069d37190e9c9d510c36821deb4760646f326c7a394d27c5b3f4b3a923da8643f95c64f31f71ca6eddc39c799cf4537060f36ba4f39a940c62e50c8155665295330717dfc6dfc6c6ea145851efd6ae85debc2b58bfa954f5cf188e5469a95fba02062ac0298f21893b3b79e1a587ed98489d1d9a903b7691916d56b7dabe3af5ba5602c64ff26270376774f9b4045519fb3c4c5b9240b551633f575abf7e2665df6696576a6980f85a34fa678aad22c81794155d9578690f8ecc3392fb3810df6bf7d9ac66557e1083713270dcea26a0f231b43d539279bd7bb9f93ecd110780ae81f4a9f1e54155b53f2473592554d9853b42554af57b65728579009f4fe143ecbd944ee62308f0a398f8fdbb7f1ec47a73321caec564df18ba2de3beffcde46e1c2e6306c54b02b6f7d16dee6c9b4ffcde3e3478302ca70bbdb91109bf203f316caff7aaaea759e5821f4d2d7d8fdf2040e14fea1426f5786f9b5d66c05741caccfb898dcd2ce572cca25a8765e29c7f505f7bd003030b5b7da671fc28bb7164cdaa4fc294ab7b5922fa65c66495cd5247d60a3f6568d786c213ed45effd6fa61d620f75b8fc7c0a0c3418bf5a1f4a675d407501ac823427912e44dd4ff1ae47c1df3dc90eb9ec7cba91a97cf1adb04d05653605b37f14dc7bce27f7d7a5e989ee152210c76e68eb98cd63bc9e8887de14ef84fb7b964618558de91703fef8577c1a154e9b23180ba96a1c764fb6812b337919dba94056cffb7ab7299d8a86e3cae0ed5c422e32d8a97455093d32d07975bc9bf614237ea157ee5993b9dd6426896757a29f4b8bea4b720987956eb2fdc8199e54c0ec5b8dd9557dc947a0f1ab087c6410a737685c4dd9a04d005e18740e42027d88d7e22e9b7d83847f5c4a65c2a5f008c75643298de77bef307603273620a1db38b9dfbdd68fecd4918db34fcbc786617237ed944055a7eed9d267d33a8ad45d95be3dca05238d425f7ec0c679104e7027820c7ead5425f9c3db64a7dbc29d453eee1181c575a7146d5120a5ca09a706011091ad2b3cbae9e30d88acedc54a37aa821db79bc5d4d09bb2227dc4dfd1b77f671f6382f26fec364f8ea92e359267fec1e6a9bf41f94983107f321d365650944901aa707a2eaa8a7353a21ea1b5cc91ecedef5d04ecbdda835ba7826b3137a2a42323d649989fbbc1d2aa42247e5fcef56617be84af32364bb4b62b33f8fc4461cd9f2eb2952e272e8b92a4f41376533a4196d3c57b3843f80b8b09321b4c9b617830da4eb7b487aa506726d62fbea121ed889cbbc1c6f22b10718795feb6082814d2dbafa150ef76e7aee0a65079d04834dc3a242cba7d681ae4a12dad9512bfb944e595e131bb5b23f701216d2774ea74cd828f36b9f2f4569930a5b5297901ab8fa54c2ad9aad92de76e964df9f7736da18a6d62b1ecab96ff95a57aeedf5ec2d17708b0065a4204e0885a74e6f9f427d799517cc2c8d1f45c9379ab8172dfb842188cd6487a65c78bd87f70696ba2809e13e2ff9ee8445c1a61d0b416d8f2e81a05140ebc4c55292bb91f181cf866b4202b56783d6ae60be231a58d6cc59cd54f194b83d2864b856d49783f9b53bbbd6a3add4a87c41fa0d62fea3fce5dec97e691393b7a51174341597c6d5e5f81469e1d9390b4c396ea26cfde67b9dab72f1540241f1bdbe0aad5e5abc6f7fcca412875992bd6a04c8b8ec6e64ff6dcbfe69e320b6a543dd4472a108161e1c64b2f96cbc6e6aee7fba71fb6e47c8b93856763e05c6db4a488282ce64ada6e378f689e049761118e6062dda4a7bfde33e355d6fb964d0cdcecbb5dbedc79a9b29fb28769b1b9df9052cc0d318b57e3f3531ce2bb5ee95c29f6afef26abd3033fcdbd868ab2ee92bbed317557c56ba7f35915152571e1dd98b79fd00b35de89eddec94edc5c449a78a972066ae1d60ebad23e0702d140bce78c90cce7c5e7e6d46b3a28e48c6ddd7ae6312156acdb4cbdeac588362e4219fd481cf3d55034959e27eebeff5263d0c3c712f3599039b8c11bb4d409e3ce9f71b4bda8d4116e72549c00f9148b35c25e34d95e1a3706cd4893955d0870c1b50e37293980fc25d71a1bef602b3acf0ed4fa76c560079484250fbf1ee31640fc5684043f8b468c33c0e420dfd524175d0b2ba75da6e4d5ced8572b18d4da5c9d2ab916e06b58149d845968b272519ad226b51f66f5d747ad22428edde7b3a86baf043a546986b58caf36b0deb897faa691b2536b589edb9f08dce23b7d9c4bdc9292bcf882d3a65898afe58e0803866358f3709d3321ad49f2b05fcecdbbd8bf10b52f26c217e8921c372707e53c6371d0707f55a65ad7a623d7c2ba66d516844bcec535d3a574d7881391b843e6676ba3e9a787c89d4de29c2b998d8557afcef7e5edab2378cb0998e304049ced6af7c3a12c43cac61da16a916d24a5b704db8d8b37b03c06dc23924e683297eb03151850c59a18e1e80fd3423d12a5e3f8c4f0e5d4c761b11568f14537f79b6a341ed9feefd6959d4bf84df3fbb7999e8141ff208a27a72570e7c2dd40a35b12928fc03e879303b1cccd43f0db297c2cf6e808259437ba0ea8e1abd8cff9d7542f664e3ec5e9530e5244b18c9de986707230da1327bc0ce8a0bca9824fdad9b1607707a99996d72680fa6b4091bb7caec66a3337c4bcd282fc3a150c4d5cabdf179214d095e812d96cae97a3a2e4ddc6e4a9937eaae0f91bac512e6eac4fcd8b9f7cc94654a2fa829f98f4aaf4fad0cd789157c20a31ecc9d4afea2ca7e37eef464e3f2fc2f1308f555376511dbedb3f5cd2acaecc0864c2a2f5be868f766309518e0a79d4872c6e15827d9553a77811167dc236b93f66f1278a46617da717b53eaf8b0180e7969a58cd8af9d960b2424e3915b0da91e7267bf02d11ba06b4049c8cfbb4dcd9c7dd8ef6361626e847f455d6205f363cf44e4d94dcba866f3a676726f8670e6734fd84812eb2f098d392e20034bdc8f990da8efbbd74ce4c5caecb3f0964f39de3d88ec6ccbfe5329e257a3d9acd77311e3935647d320ee1543f6c9a6ebb39ef06475ec1713c654f7af8e2c95d05fb818cd4b3a206a86b552ecd692d863ca5476e7a219b2430bffe51be45a1ccba25c80fb76639e2102f3500fe69727665584a7026ca94717687dd8f4b47e42496639910b8c3054d3f60b7386db695959ec2e345ea4716c6986ccb349c6b55a039ab8b4f0e90d0851ac5c5c81b86ea6f1a6138c15f08425d950efed26d42abb090f79423c31d99d439629307b17b3956a103aea0ff5debfd9d44aad7b0ddade61c297da73948d7fbe6b0d4c7cdc61e2b3185c79de6181697dab930535094f28100713cb3b6def2db6299bd95a287b122a88a9c6a19c09cbcbec039c712c72a823f6c07d968bc81d60323d94230258ee672f78143329da24f8e123bbaa880767cfde4d12bcac3be1fae3e8b730be6ae9de0c3117b133b0def6d30d7dac2784c47f3321fa8a4df822bdc3b31ad4b3d959caf7ea5023a218420f28b39388b37b9d58c55f47c3761ad4c8d4adcede84774474e467eaad7f5e85b400abddabbd45c71f96daa25346d42a7ea8911cce7e187069328399b4c45e7554ec72e299f48e919afe3e477c191f9e2a5998453852d8e452550ff0b968a6eb8d3b76631e53d433bc938cd788271aac00f7ef41f5d70e3e53b23444786e5360ca5cb74812cbd5eb888ad9bee5f121a8248fbab2d7c530ee7424671d3153a8e5ce22b2c2f0ef6647bed2314bb45ac6c2ff7aaad98d74342b8cd7a0f5fa92435fea291b595ced02c3a876cb2a57ed7408ef32c968352f77932c975c9d76aef08ff18e394f5060929e326243eaddb72ec63e200e0dee9942666c7cfe68a2363863faa2986b362f4931debd6202c766235ac92e1dc94e561d3168929b0479363e6d3c36f76a07cc7df868a50b9b190639e2b099f9818f7dadc0cc8ab00b288c0de2991cf8d446dcd55e30b77e3f32d9df6d690ba3378fb95ed72aabda987dd0985cf9c8e246e3900f4e1a3c7ab53ef82d0121c17df389275af1c86ab65865a84a7828a75541b2bd15fe3fcfee9cb7695f99bd2f4c69b18dc65bab21aa3f8eabf1b353bdf7793506b898cda52304b39d3c4d7cc2daf5373d99bb7dade75cf5be50c1a78ded508f688734fb911a5f00c3a39624b153666a72dd8ab10749609468a95be91eedde9785239b450ba6d351f10487723fed42f73fd5ff483aa3255579250abf520232b5bddc0801d18421241dc81d106a2309c8388c224f7f6afe736f512a4df7b748f76aefb815726335863325e4834761dcaae0c9a75f2d37acf5a4312b8fa916f645d19f1dc83de86fc7eaeaf3a48d99e3eab876eaa8db897c3488bc8cbf9c759525c60bae35e6631faf8fdf78321541129f1f8a64d75690acb0c1c4309ba40322fc7f580aa87a596036d39ddaef27381a9894a5b55a4fbff1c6275e17c8053d211cd2f3a157c341242cbb78c72f81974d7af24145f8024186be5a90a948defcb743c77df094695d1e2f7dc4cf4ac6014bd637fffdbd89ab9b695df9ff67bae30bd2a339fd39f078bd35a97c50471a2ee106a0eb268594ce2ee847f72dd0b1ea46f6cb810fa1d8404548ca292b0ae04f21a4574876cd15ae3bffdf9b213835e8a835368a4948843c36d4d35282b931596089968c8da666fefddd57c5a38ba1e1c931cd93352aa7e31de2c536911b1b9c85cd5863a32c6a13f621e59fad27862a7b0f8a9954b91c0288b79ce32193d29512b4eee3ec24bd1a1593114ab25b81740876e03cce923ee64513bb6b1791197c73a55eec89f4fc6ee2c3817bfa8b299dd7fb40f424b1f9cfeb9ed872d6219030345e7053b763cc2ddbf9ac33136567396741091c376a2557ff1f2ad050d6f2df5b4f6b0eb0d82e315119717c41819fc75c37d170e3b3a95a3f7c94026ee54c4ae6e1aa1e8751cd600b747e73e150a30e3baf74da291319fbefc0e7bf01b3c30738732abce521a6e24125424a65593192a1b3e4d04ec743016c69908ee814e4bdac1f0d9086a1d52f77a8f5ce7de99bfdea6d94cf8615951e5ae74413d397a8e05323702dce7e35a76820ab4b2277963009aa3b94120fc5ae87de0e6b89b3adf1f5d328f7d5c6e42663b8885dcf7515968db73a2d0c94843ffaf8cf9b020417a449930c63e965bb20fa5bcafb4b833be5907df1289c4dc531f5ee0719bb5afb85c7a6e59326eba7b1f84e31a8c6d75301da76729b58ccac997521e0ef0bd4f241e512768485dc3bdeca8935325e431e3ba4d321aca743d055b0f6237c1bcc56834c2631fb6e136844caa59a9c65092b45ec683bd917f51992689d0000580a77b06b517a59a0c0e93c19de225ecb922c5faa822f4dce2feacc67ed750f1887b551fc87227792929cf4481a11afb68ce05dfad947035d60d2506ab7a8163bace762979169248a835a0d8b4e16d7113ecb2a1b54a5b94cffbe9a78c93a448a8bb7e45c6ed056a491f1eb5d804924311e9ff44d2b92e7a91b58a5a74669dbc7c1531232721bdc4bc55f79ec30f3eda677321752971ad9204f862a8f717945e46dc065858d1f52b091bae5a4a6c39ba17f1e5743ddcfa1ed94deaf7e58e584df69ea3eca49332365d021b88a1dde5d3cec7dc54620fc05bbf1a98a9fa5bf2826ff7bdffccd8499da88505d65da24e6bb16646c47469867ce6a422f6d6b5f55f78389e297b08bc73df96830198a49039f8e4423f7846898593a9ca53a4ee5eff35e2d592d3bbfc14b402b7d2fa72d10e390e95f76db87fd8a745affe781b94c85947ba9cc45c7c5b37559a5d1c21a9c7d94158485d26b1b135ecc840831445a02483f6b0a9fbc1b47142726a0a9ce0a18867674b4b1b8ead091709bc514130b72dbe578f64a34bc847092c6ceef3ca7e57bddaf5e30d5f2f8c92bf3e6bfbc30911d9255813385415af4c9104ac74f8508653d77819ae2a093ccc2ce6b33ad171ed3ad4cfebdf4b4043921d6c4c1c276ebd3f9ec03146f6ee541c5d9b741432c621d89093c119f7d9560a7ab30eae4e077d1404a186231157e63755ea8a0eca7ef00a27f2f8df48b57ff9e79c4771e1f198d863b8bffec85dc70af32a78403507a34e58a013bf61f53585de4f288fb041a4558d043384a7b0f188a1f46651fca664d1b1f3f280e2711f3a1984caddd10423cecadc79f4c98ed82dca9f35d225d1cf4497de8a0c012c2acf45dceb13c68efcfabd8cd671bbb50d9d74b005959e55c33654b59fdfdcd233f80b64222e26a117b062d0924f7204f638fcf4ef76ad9f238a0c21a664878827818db79812e8659ece697872e80ea973c1d81aadfeb0675e775a8a842cc45f8d03ef97f2f7acae68b1708fdabd9e580a9b32f96bad1b8652c27fd45777d6813fb6028a89a99553df015765ed0986c34b501f5f95d11120815545c05bb96786a47f7e6e8751055b895e837068dcfcb6354fa3c61f1f22e5c1c486fa8d8b459a506dd24fa5e4f581553b01b60692b372e5440a1e2badcf56262279825b646dc5175f43a675ec602809ff97a1a781b998425c1ad53ecab564b55c861a151edb33dcb2492ef7e1eceb48af73ca6888e7f7d364324aa7bd092fa508cae6056ebcb6ee21a77cf9270dc137e95561f84b41e2f8f1ff5ed8818ae03e3b2374fc9573b9b41e261a93d7c13937cd4d8ee001a6bb93a8ac3aa4fbe1f351e527a3b9e8c35099dc88741c70743f15ecee45caaccaf2b56f3f77a2ee55030e93693ead305b12517196fd1e1513836b53e79b672cb397af930324413a2547c7cd7be4554d8a095e79dcde6daf9ec224007bfecdbcdda03acb1dca18019ee5dfc8d453a0cbd030c297c48614a1e314f90e5d2cdd9a8c882d9f4e7cda40bf86e2281a02a45e6a92ac497fd8cd96c1c4459dec6e6a74d963c97c32051861adffa0cf8c251bc15fef052e2bcb5d50065346474fc87aedef9499df694cda816436ca4f35b580296fe3b70f427e8083f347ef86926b84a39ac66d21f06a02a4fc75127f0d6c2bdaf88cd578f91da5faeed4e4e7cca0a25379c475af7d5dfa099d03317c357e9ce01b384ea6965c5ae57a6b25126f7a772e0f7d3502b3254351ac60b22920ab7b7f618d6fe5f5fa86d2e933f0fee43d3ee59aa141fa585aaab606f44ed8b1d16561e7733865a0a4665b5143a39d64d34d4ad854cee6668934c988925a6326f962e2f0d83d3b1b66df9ed97ea97790a04095bdad894bd349b99395000a6aabfb853af4387b32bc8e5ce5456ea2ae4bdcb5c2d2095588b9690a1f687a4f58795a3edf59f17d4c898f4b6872e7f9976f901755ca5808bdef9d6dc565dfb775c38e983234f207a96ca7c1495a33c09144dcebe56d9282a7eaba77555c95674a077e362d4feb2d50ce77e865c258b5f94ebd84fc34d3853964467e08a40087894d5f06c524e6a2065ebb2888b4ccb890c7c67a81c4d06110bd828dfc66304d22c6bbc41b138f802e576199f0f85cb4e1a496cecead1291b210a9548f96e90de012f412fef7e3dfe7d31c53ef474fc6cd1a69a347b36fe209b58dfdb8939f0f89796772f97ace2a92ec1065c8d992cddfdc1d09219f40a347143fd5e87ce379590c7540972a1983e4d9439aad69fd227bc45b075157bc1ae6f803055b3db9a945ccbc4bd615a7c1daf31b33a81290bd9dc6da577ac2081fdb2f3ef6237553be1ab980d2eb17d4a42df39e88acde6d0da7f5bebf31bf56bc454f0296eab6e527600a4efc6ae0f9a863f34d5d4281d75849fafc8e276af51e799845ba074ff8b9bf1fc82b14646fcf375e5948ad85d2570e6c95afdf28f94b8a2b8de85c83ee0768436a59bb4dbd2d9cc2fd0ef3d8606885b5a497235e1a4b1412225cc5c69ab05dda8c8ee4d54effdb4a5dacfaa6eecde6c5a2fbfcf3a538e374efa2ace123633dba67c928ed3ceae9b88b744269b2ac70e493c5888b8cf7618ba91bbcbfbf85522ccb53c66c52483561dde6696814a97bbd8f944d1229418becb91dd5a35a09cb0ac98b3cf125829aa018cda3e586c7e0a0b37e174de8eee426df128a6ad84ddfcf0541e7249540ff10184d146bacf5cb9379dff3e8a514ba1828047d955ccfa2e49e1b7a27bf58e5ce8e85283e143554b29fda52e933f411fc38581f32e5ef6d909b2f38860116fa19a8e9b4949c966d7741ee3399cb71a0856335fcb2afba95590a80407b50a36edf4b3b0c86b09192f384b1a451f02130c6977e8240896b202227de393193a416459515f037fd278736c868213931430342aceb01e09d6ce8c45b94e902e1718b36f31babb49e12c3d7cd55548dbf2885b0203447f0fbd42af92b02157f1b325c3494ccb0e767df68a341dc24339919dded6a6b6eb9d8eac9238accdafce54eedc21cdc4345cda5937c6ea99b9336eed3235b73f6fb0c7b41c3309b8f07b751c5b7b7ec974780a1bd41dce9c496cd0283db0888f9dca14b5816e46ba739faf850817e36d452d78204417b409db84cfc20219504abf05719acbe5dc45e4d9be8faef3971f33eb1f706c2d2ae04dd56155150700220a94bd4d92cd9de79852f441e761d069882fef756d46b20161716137d9574c8be48e4c9289c60daa976095ca44518588ce24613bac22d29f20ec4156854f95f9060f0e754592fe743cf124bb52a4a9c671c0bcec538bf0434cc7a511c4b68e85808904b466fdecc616ebaa8fe3cdc49b354042ee9cc770f832c942941c4483baa7b1ffdeca6a2d2b8eb88343235ccd764db9dc2e57efcfb35606eab108f8dce116b20f93eac2e0e2d0b9fb56a6e19d573c1263381acb59e167e76e7602dce2d515abf8ef5d195996abd5e7049c41f193ab5f9e5f9576faa35112f5320ea4fd7eca9d79dc07d49d8ee16ffdea9d913a59650ee6dcc45cf4d37a6aec72aebdac84c97c818782762ffc0696dc24f82dc830b5d638e3437ec54ba522fa966491ad5a4ef5443e3a65ce5dcc373a1dbdde0dfae26509233c6c26be481fbe8430b70b767b8bc3a48f865f5dfa59b8eca0678e4bd4791d593c29b29f42d4cf5612c6e5ea3ab936e0938fce2e413dc16cf6702ce6bf2897e0b1e408bd3d7e176a7b77ce7a3de1928de45ba5c30b12103a61b926c415232739e8c3d5671f8d5cb194c3a917590e24840e112820bb0bd21d98bfa45d45f61ce4a31650329b7d75c9721033cb5a24fd06b9bdb45ad3d91166e54b57c5d6cd7f1f62e273eb48251dffe0a76fac23e7c1cc438134b9a03fc1d5774359e92c8f974a23bc52cc44eb6d9b21dc49089d4e8ab749e8af6ee27c24ae4b56c677f7aebd40339fa342664c8a0177bb8b6a753ea8985f64ba5ca5d23fba3c8697ddbd1a5b1fca78c84a3b1c24aa0348024c953b150a1a13677339054f19419ec7c19d5a08a13a6f0ce167a98e4b81b3838cb248debe319d083163f891c724309ece4dd4790c059f6df98d559a3ddbd41c1892be89f555017d96f67babb18b7239340ac8ce142b7a755c85fdb7494c2a86b27b4f066a3c830576232817768a35b5e495888b4d28779251e1899d6ec65b169a000647408c64e841138ec8ad4fd0c18c1d0660d7ae1a803bf2e449fc2894ce398150942beed3f3a3ab86ede2ad29c3063ab90a45c2a49e9d309edc3a7fb951a85167edbb94f20d96bd69e5b0dcc9a3990aaf513c9271f669a6216220bd2b5a669e921338366a74402c71a99ae100024ae3712a804831f3a4995d7d454126bd8c5d3d339b945d68ca4b1eb9efbcb22f2d200220a0146fc01f7e8c224b17bb9547e78ddbed52eef6d1477f5f328e9f6087530e8c324c3d23086fbced5b4e10f6f12ab4e2693da1b71e87262786749081dc259668fba17899605ac24ead565977657238c3c846c0ccd5523f04f98760d48d1cc95b8b90f5b3bbd51373b970154c1b6eaa256edcc06bb94de56811adc2431b5b9fc3fd5d42bde54a2f06532c1c88660f85b0df7ee7e96f1a65a8d97962ecb162e898b46ef992a9d6dd9e294050d259679d5b702fcd0fa8f5adecf2a594a9f9747c82370015eebb4fd8aad261e67efc603ef772a971b7b3b4ae869fc64153a6d0747130f078cd5a490231eb579b4ac4e72c903b90d251bf19d9b575bae9abf075451bd382af026731f50e4103192b63179a3dc4426e33543cea950e4a02f7028667eb05533911ce92ed594fff701e19c495bea864b9caf8f8d296ccad277d8158d5a6f0051856e9c9471f0da4104675e9d268c43e6bcf05854f3e8d3f242235a8b6ee568e3abdfafa83217818fbcf63fef95d26c37845dbb9b7f7b772f7fde2436a3c77563313dc1f46053a665efd2c51b75d114417eff8539ed6a119d9a5f5ce9b92df7e23d99dc9e347ef9ca7ab6e538e7dd412bf69b2369dc2b1767aed70781242d71c412014e07eacdfe01d8524aed012ee570f309bf553c3d993003b43dbca9341aaca050598aa4343ad89793673f8ddf921a22328aa962feaf34b2df417236695cadc25363f720a828bb76e42e10ff3fe837bb9f15a70d7c5ee4338576aa1d73c1a5e8d3a3a1eaf4b33eb92c332d40a4f1de6458d02d20be3ae5e3037ced866a7af1a964b9f64530bf4d928a785629fcdaead02f6e682ade50c8199c0aa04be5ba9650fe19027fcca7697e50999a0b20f39767b8d07c46f4700075ac478649201bcd76ba7be1fbdc55f12d5bb76cba393cbbd73ae6850f068bd95b7d65cca11cefd7fd71a8851c79f2b369f146755219d283cf045c29e6682b2d8f5673d0e6f715b87fcf4c72b84b931e1ca5c1eef2c72d1057def1d425b3ff2aa4bea77e793074d59da4d1894731577305170df12d8f38a962f3ebab7be1d0fd20f719f2c7387e191c787439e04496357a6d230cc05f14d4592cecb2c772e69a662ab3dfe93c72e31c285a60a1fbf9a9efbb0d378288bf11c00904b531e439a72a4d5b25cf73096be1eb485a2a8f8cbecddae77ae3530c47c5240f9ed831aa606fd0b7aa7970eceefbc32bed80def9db90b304b775be18a97ad4585d7f97ae925ece5686a05cc49025fb5b5af6e1e703d659c4f99ed154b9a7838a999fdf024f0c46985abef6e608f1bb5f526279777f1c6d49c35fdacd35c2d4d69d9bb91c78f320e7c48ff7a8ad40feac307f741d4a2f6fa39bb31147b32c9beba887c9bdbf18bc7b892513637eab595a47e35b87bb7de1943cc359f68c09d7cd5287bf4c44434de263ab91fae0a4fc8f343a76191835bdb895c5972cc842c362d376c241e4a15d4901c5efd5c20eac20b9798167ec8990f67a3025538886b313c74957d404544898de2583e986498bae52a1247b52285aad8b306574b39dc181e3477646d64fc6cf7bfc8d8d7b3703ca049804cb5ac90eaa4ab968646d91724fa4e25bf0b51a33246b813e1f98a5c7af5c967ef86ac06e769197c7569b7cbd9bef20456e693c18cb157e38cd069a8af3e3b51cf55cdcc77eaf34255d956dbc356cb4034e59f83561ad562f06b0bcf3e6257ed8a470b646189dcf8c8b35fbe621e2f5a19349d5ad61ceaa799ea003c2d61d23726c857efb246f81c9bf41e488b6fb9825260c035ee0ed42b7e733cead437ee04f9ea76f60df132e4158bcdac877634b650c54111f92c93f5adaa0235d5929b544ffcb41e98ca3e7208bf60d6b6118e3284de57b4bace3790ab4c53cc098585f3bddb457c14dd1e8274e6ab256e05c1ad1eeb8049b341723fd4fe52951efb68d20ed53e43ad2f5fd4ea8d8d90e7a9abe894ed0acc4da4e4a4d4f209e8f06a0483cef25a498672b9004de58b59134bb70c30ffc5cc330b9dcd9546e1d3ccb5d7927aebe2e003a66ca82758d574f43b9f04a50a6e9d973d6184a546f5bbf0efcfb65a2c93c7a18ba0eac93da8a7e5da4ecb5d4af2681c7805144f43f4a311ce2fa35095d5f03478190b4572d8c16bd3f8cddd90e649b7cbdd3db4d393ae3a8f297a28846610b38754c7bac324606a6bc43e708d48219d2e59eaae855d7e2839fb0db01c7c37c2443ed448aa66e2be8a613331f13bac7f0cc0832b886a49ae3c5ecf801696c7c7a798d9572f3b2ce46f9c658b4e02a5e4bf431b9348a44ce5c9aa7b70af12ebdb7fb3a0c9461af43af48ebc05f04f19b1b219e1d079f78d56fa5022ac0bc564a1f047af34348a1e7a6bde42f0e88ab29d3b7610bbf139c91ea5c7efbd5b9a72778520cbcb54dc2f14db4af927609284b5cfa62bca662d24d2d2c8165c5d6096d1d1852d614a25c149c9cd6f2d7c75c27016c7be56bceead7e99545f84082389e0505b5795c2dd9a0a6ee067972635236012e7311b65423d2eb3b7899cf8fd4e3a1ebcabcf43ad6a5400f96e634e855ba2c2157e21e04413f745aba1807411d242da26ba2976fb10f137ae25dd8b3de457b484ed787e09678818e506e2ef4b20fc306a9dcb5467bcca6ec5cca1b104a4e5297867dca58347678a6845ae26291eede46e668cf732d55a62ed5acf4c903ad75af2ddf8fc0af6e5f522249dc55710dda1dc795e882c51723de964994b08cf0665afce66cfc28789ded6a9f5a967f66c36fff544c2d64659a13d0df476bce9c41e1a4f43f3df2ee7daa7f176af6536689c9db824e7c2ca673f515f281632cb66917ce3defe097a6b363a2fb49cff21eefe0552ae548d9041faf7ddec5ab5d5f0bcf821c8f8fb0591dbf968df1cad23f5864ae3b377f51d2ee4b670553fe40c27390d3a17eeaa0894e01dde1ac2aa8d3569d531e9bcff3c8eab86640fee4924c14d4a80edac299b88736dd743a1b8a0820fda23b376cb472983a5f5964f5511c2bd414980b873e1bb75f1cec8702949fd86db3ab14a439f1caf39d1a29543d513776a766e5b5c3f45ea62a9d641c67863d3d1826291f1b3b389b3b5742e52f28eebca8d32862c4f9928acd32562fce273285180bb8acf6c749fed6c2a8d0299ffe7ffc6df3d1964399359b8816a0fe3022d5eb103bd22894a00514ff7b7f18e4b170fef4eb24858b814e8ecd70854396db59ac11313d9caca7139fedd3a1b544cc287c64b689ccec404275319cdf0e2ae1eb8ab4f363e0e0f90f1d3fcb7ef4a2b2948597bfffcd2db2a366739f74c5056594da7e18bab60049fbec00f6daf869aface2f66e65f3dc75b7594ede928f994614ec8bb84bf07658fa990a610c90b1b1f3ec01f8ace81e078f9d2ceee7c1af2b262578d59224776d53278371e4e3a609f72d25f3c62a499d9b7deb3ef6264ca8c319644efdc06aa03fd60d6942cca7ed8742c69959dcd0c37250c31c9728599eba23219af7e3f473c130136a35b2ee8f56609448c149bb9ad218c2129e43250659e5c6ed75c30da4ff5bb8f874a4ec74bed42df4872ad27776129bf5f3c1eb3d18522313143abe2989c540c9fad0c862692ef628cdf060880b77cb7a4f04abbd946659fa6025e94eba3f18e3b13e40d1e9420efafc2cf9a3e365fad0f798b3222e2a592495618647ec01ebf645a1c7ab7244cf2b19939178a3f1a5f06a5e361ed91aab54b29bc332a47f66d08a1e5ed97cf597df1b6867a7a6b2c0ac4643c2eb241dc8e259def1b55eb41a060a1bb8b5bb7bc35660bc8f85142d6883d7cf63613d291a08d4971f5dd8fc68ba7e6fa656233194c2ec29e8336665e69cdcea36c2efc1a8959abc2fb736877a21aa15fb55c4a1d0f738720688549bbaa4379fc8d2ede56f52a7e74d390f3ca31a9d603b33c31135cb95c6481968a0214265e43ed0d94a93b2e6fc7673bf1b74eb2aa95d9d6cf7a651119b9ca263a174f2dbb67316db9de0b940b92f06489fb28d42c3923e60fbc80302c5c161b28bc7e763fadcd360621ce93fac91342b51f3e28f0d0c410162a38943b89240c4b5eae015426abe537962eace44e5c9b2c4f3d873ff54c3c5d49d492e5bb8cb5287793d4de1670e942363b5978af0010bf9b78f38ccbc22bd25a589696137d978a1de4f8f751c6595528f714bb09a81d1e25fefbd655ec1723cb1ac42f52fc6a7cf05b84abded60f9eea1f05fa534bf212e53133c966fb0882abe7623e8263fbb07756476dc46c9b38568eee539dbefd5c1e2749b214a6e0a34ff5da8ef6c0d5f0a3a3216a4876aacb555032e09e143e4bffbd40217cc5ee4247f229e2a32dc095dc5bf23cce888aff3c3a9f3ecba908e454bf8d17540d84ef42902107a795e21fa5c2692beb67490a5f0bfa2ce790e7890e28065eeface8c77aef4e470ad8dd8ce80ef56e6e25c2f72ed92e79cc9044a6e876f71282077426c420263ac54967cdd44461d028667f75573d86a451abd523ff5063a8a4c748136fbaf6982a11737962ae5471af4c8d57dba32b50f6a9f7f09cabcd07fbc73755f8cda5d625262f8982b3061df188dd017d1f1a1b6c54eae1824d50de8ed0fac3b599c953568064e5d24e0d7b9bd47e236cc09556ddcc4e6d649f790c5ccd75d044e4a3d9e3570be7f7af0ee913e6b1d9fdd07929850c1e6dca90940150b43933ad1f022d75618f8956e603623d68b5205e99b716ddd681790ae4be9b78b95372f7d9e4463deaaf666717550da489c20f6d832f36b10fed832c27fc534398f48a9442b0b8754cab913edb513e3a0f27c20d432d68d0eed94f8b33a9a489b9ddce351e18c7faa13d8a3b6f895b7b7e53899e022fd2c86dd61edd3b2bdfad459e9958ac21432dfc3b50889fb43ae33c65b64c589a574b4cbde50deefc50f3796391fee0fb10ab29f8c96101551ee7c6390ad678e56ffcc8f3bb9181ec49f6a669f86e253b75f3806a8fa84e745e29b5e372a9e928df06f49b271a43e4c696e877ef16803446340241bd5574587f369ef3bab87e801858b75b5c2af24dc5af268a0fa66261add6333bade7722742c54b520af9620e86360d07e6166847a24c4a3c1e0f3f309b5293eed1c4c16850702867f81693fee0b39bda69a94a37e0dffaacc7702e937883bdd8da84630ddcc19efd34f1fa666adb9a998c4d82b5993a3f57eb17750e83c8e6ff7c08ed96a9313c83d00f70266e47881ae0a24cdc87f1b6c315c1d62647d98a21d5891b1ab7bc79f27af19dd142126c44b61b947db284c4a53498c3726b22b64ab79cc4942530ebb788dd2fff6ce0bb804d19e9bce52d413f8d1dae42b06b2f58ae66b6b51ec25492efd6322e30b9321cc69a8439ad86dcd8e1aeeccb975ec0741456b2924f16659f1c058d80f3d6389d50b5f81405a8b4c1d0fa4520d4fda5df475dcfe141dba5ea1db93184633187a189c80715baba78db57e32d6791641e4bd652c56baae2f591276cd15126c5fcd7973b6b586a6e2c5e2eb91cbed87b65a5359eaedc9bc142a5a32f216990a74b6e1c2bc518231d6f7387ff6d7ae2d776268a4abe6b3184edac6f064019413e6a08233665259f61d13bf704704bf7e205a34e741adada5fee7a72755f991f53f147811dee2d5e7ac23f68c229abf45b56cba782c5fee691e2b62ed4654f0a26613bb3178413a530cd93e57df1ddd255cb9befecd661876ae92878f809f1e29978fb61917d2a209626db4a09abb423a8f47f992d6c980763a37092c76468e4ea9bdbfaca15cb0a30a9dc4da6548172324c7cfe87a0d2b76ee2b348f9c87e393421718b97c2c474eb677769d27068d55195f2f5e0d35119f527684ec71bb5fa0c980c0c2dab06dd94c9305d107ab4318e004cd8c975343e1f74b278ace2df5492e1ea653ef3ea178bd805aabbdffab0b53238977b96d7c0c06023ba84ac8640a3a42b7299952a65a73c32e7d6ae53e1f3e0e29107bd1d9522d2536ef135ce32adc8074ca6a92dded84edecccf9448dd13a29014ffcdaaff79350e86ce8358a47a3010860a74a59dfbfd9f47f91bd763f650247be7f11650efeecba4f64cbc7c09581a1573dca6e1de91c589e99f5fcbe1d50b56889805f05eeff5180eede43e01a1b792414cad46cd787e961e4c0d981717262b2c7c302f7e94c9f1abf66224bce22daa256f628ca95c4b65f949c7f0d9f92ccf139d3793bbd0ddbd2874cf263a1f74b2051a58dade56523afdd1279dd7c6c3471beb0f29b21a94ae686a56094b5322b8f55516c8e9f812f1567423a9dbdd441de89b9e702913f721926ca67e8675aa431d7fe3c20d1ac480d9947d9633fbd1d83485d2a0094c3d0c77eabaa7985e0f765bcb2e328efa43d6f9cb5b4e84abb446f5fbcf4378d95e4cba61d3f9d5e2857672f1982d9e5cfc7b99841e9afd2f06f87be0ea379eeb1dbce3bbf40a6494632c3e16a53a46ad37346ccfae0dda942245203d53f73179d68e7f97e5aa9534d097c7bc21f641d500acca449366650d4bcdc6814a0798269035eff5a609dcc48467f088a393d964c228a4352a661a14729b997abd1b546386c3cf5c52d4441dcec9f9ad40fbb9ca8a5e10bf9cccde2481866923da67a7ae3c7e73ac9f2622b44047ca7cd27411f911fe20db99222e3297a75af453801a9facc5ec8adee9b5072d94cbfccec1a99e56527adb45227c2d097c086146218f5736911d26f321d1f22d7ceab72878996a6944757e76b36165a2490d832ad3cc8a84113d02eb3c1d9ac97d14e8dfdec8add292342a664eca209071b1d369d0a53bfbda0daf6e06da470c1bc27f72f26fa7f6b5d72e7b37bf79bc5a1c1bcf6f35616baa45896a70b9a02f69f1a3ab8a17c51dd273487a185ee5748c741c60d8b34dc481352a63fff5a75420ca2963adb75e5abb883695cfc272ab1c0d8c084f3ca9b1549c493ca4e51806d22ea32eff3c99ef8a260e6aa6b86da544da0e5b391d213f1d77356b6bacf558ccf1d573a524437945875daa634a159132652f8887ba76995f7b4bd8aae0a7b06e6f9265a6f16b2fc610da2a8bbb512b3ee15d1228f3c844257648cd211795d9580c40e73a907b38aad8842ace9a3e5d121d1741b7c77b390ecf62669b88fef9ad184eca928f0e0faf2ecef666da7c2af4378bf9dc932c1029ffb87a35d22a3ed071581bb2bcfb8970ae16018eccfdc8e865e7ab564ba65c9852078b8c9907098eeb99bee80cb289cda39d1d746a094bcb0a3317cf72e4399beb433db941570b4877468dc265eb861353cc89cafc725795573c29e320a4a32eca91bc61621f8dfbef3c8c70790c0bf8fb32b3192eefa36c919ee4bcf032addf4ac883f0b9ed27169989346dbadcfb895dc16685f1630c1e0f6a54bf72250361f5ca467dd2a346b9d252133e14180eba321e543ce0d27a2df017455b26c8f02a14fbe89489b85d29f5ac2f2abef6117f502035534e377b36b6ca95b575874ee9a2f329cee12fe6d822a91654e34119743c5cfc6c2b765373e850a920e967f3142ef3ca3153dcd361793a0ea542a8b0475e542462d3f1a284be19c76a1a6f2f3abb0f98e1c66338e99d5d6187539fbaa94c82a08b71d9cb606e4eeb00ea58e989d4661fd65290a68001abe9f8f3cb96cd1e7bbd5a5099d82757eb2aa4a132ea1e7474b742aecf0b62154c8b031126b4d287c2a73eddc307b5fc5df83a28102eae68f890a763c91188d231544685d76220a5189c8cb7b09ff853fa86f6826e9d2df6e2bfb3aba5aa11e83666ac76ffdea5182639864d1767c0aa90f234bc8868a04cfe79835dea3c05d48c4e3733d4d2337e89e826817f43c41310703723f901fb1dd488f85ab29b98ce814ad6ad4c96a8919992e3c00b8536e39ce0820712fe05ad5d36316551470829773dcb3d5c9af78aa880157036b4d66462e7137775c027e278a4235dc9b7f1cda1f5b027ab6530e54a340227e55a307f78f6726db8da7ef2c4a8069b88033c1bb7cc2dd119b7eb479f7cef2d1eae4c64579de055eeecc1623eb2112a2eba77070e69cb0f22ce5c59b983b10b80082b33f2adb7819f8369343a1602654e0ac23bf2f705554898184e79bc7eb3693953196f52849e998e4533baefc6f2a1c12e36e8ec77097f73c44666375fa52434b73f985bee9a2418ae7899d4b472d8f953c8ed50eec38f76dd0e9541cce2ba416e91ea28385a972ed19ef686774706dd38e3377e4679e5e27ab20fe969d97ac357510da5f4cdcba0f5d6281709e7ea2b222f9e1658399682cc0e2af9870ae94e656a129ae8a29c33c2d2e2ad097cd6583f54826b9ab2ad893955f3191715f992981760b7c410f073a53f583c3c6575df1b4c32199d519b1ca7dabbbf3a608522c3a8535694d5dd170827e5b49d85f7fd6c14ae7b070f1d3b99cb4cd1f48e3a20b7ebde6d8d7a1d1884b792b8bb8c977323742446fda592a3d74d5951fa7fb189b96867be3515a3b50fbe9085df787f1e90d8e08af0279070143eb3300db44be30753db625070e9e4f94181456a5a1f420234319e2f28fb65b6a7f4878f56664f404155ce1683c7ee4dfc7a6b315c44c4ceffcdf38d32a0937d52315c7b37fcc069a5dcd3e7c6062705e449e3a5a60ae74545beb935b28bf59bcfd9678b5cd22b471821355701692a932919fc74ca640d324be9ad25479be8854579e29e0582bdab861fb0f8a3dc87b78c8dee603928119e9847d63c858a4edc7568cd1b459a968492e36c6909c5d2694ea7cd2fc56ffd838bb49a831c989ab6ad7510b43ea17c0cab06994a25db979aec4147ac68d5fd5958f852ea18f7ca3df9e8b63c61d72e8687dc5d5d4ef57ef1861f8adc6eacc44074932b1006a10357c3da28cc988d8352105f7b87478bfea1ae3c36526db75a69dd4de780c7586b49662397dbd5ff7b80e4bc2bd9bddad14ccd38e4851d0ab03ae2a73f3b4f20e9a7ec4bd98c768e5331bb1715ec033c102cae03e6adbb7e1f0f22316f39218f61875545c69cfc7b83dc86ce235fe56e3e188e0320246b54865432486e8b179bb244c6aea1ffed20721a6c860a6f9d5a37fce45566b975b76ecf48ab70dc44fa43cc1a8b4a0f85d5baace89b8deea05252e782abdf7aaa2338d455bd2960a9f1ce6f33ad174142d710e3ae7829b535939643ad464261821713c381eda65689b67db29c9823535d7e3f7592895cf0541193d094ec65c5f6da67b9c01daedfebb944c7a2b11b658a7d4bac6fd4b9f857b7189cf97d620fe0a1771367a8b52c31d89520b703207d6b27cdca51bf35c225e03830958bcdae2f6df42fc8a544a6ca788d9693f0e059cc21509087367509f3be9faa5c2b8e98a6e940cbf71a4a1b8ce6b6364d340cb574e762e6dc886112d3f1d126db49962b695237d736fb2e51763109a11a9b05ca6365268e73c13f24225bafd8c2847c4a997d72cba18bc9a47d8861b6af0bb26f2075d08d66623ef30cdc9f79c5f34e69cb6c7dd076a894d307114b8f12f6558ef18b57ecb3f46102251f7575df38d25f79722cf86e839e0cb999fe3ccbfd8cbbf8df96abc0b26409d9c4a6361ed6d6d39f79bc24d4bf7b74aa519964ef3622be1c87571ebb7b3f0d1fa5a70f351aee350eebce1bd2562d42ee4343e542240c8bf434e7885c983d2229e9a1942cbfe22c6a477e9353e6f3d42cdd9e319dc47be17874f5e04bce61d3247f1e6ae47786a0ea27d7d0f8385dd1aa6945f4d55ff266e44cc766a764f8d4ef3f88c2e28ae9cf437bf29d4bead7bb913087732e873d5747cec5401aabd30e67a49de052fbff5e1433ab1d6c5a0d756b71d68eee59c69930d88d1c676969f957931a4955702dd1b6d4c87cd2d81d0ac9c75f5dc82658b5373ce8f4ed894a8f66946f11c368ecc6fa24c0f5b46c7a0a0a36769e3c1d6328bf713d15080477b53fc417cc0bbab397b605be22b7e8b87eeac9fa6d65378ef9a2d3b028ece1d991413500ef5a99f5825c95ab00377b06ed38b03e3a3fb8c56fa30e9bf00eb8f6d8278dbf0f7c24aa977c9168bdd5de72e63e198beaecb3c9bcfadbd11302061dfd3b9884fde8694d9bf41faee596f576093b9f67ac1a3e1bcca075ee879302d3e9a8c01f2e4c9a8a6192f7b7756b8983c2a381b02466e93237e2efabf360ef634815b0acf387a7416e63518d40816c05ab0b318cad9f55b56209f866363b4b54c5bf4ac1be6b8417ee4159224edb597b6274948b9099b178d094bd7912ef0d5902e39bb348cc27481065cc3db81de75afef34a9b9d94dd9612ad1f2d096788ea9dc664eb137280a8784841662e0f5ebb9f7d957cef2c72afb65c1b9878c5a4cbaf3e7f32b5ad65b20a36b38cef846bf75fff7a01b7e3218f331fa6e30554e0b7bec3f5183e9a581eaefff9e9b92fea77018b862f2158d879e6c22776696440ae380cfb8abc8d3d1e0ae49a46d18da6a1eb882e8ded5ed45ba3a25cd5c51fd69eb0536735ce93ecc246fb66a7e36ed2f0bb542eca532678e29e654aa25e1e2f5d156e2ccab61661de5aa6d99c6db9cc96bc828d8fd95a3afde068803e224208f3c5d4b21bab5fcd7b658dbc6f90046533b9019c9e3a7bbcb498fbcd6f5d5304b74054310f7be9ee9e485d587bc3d248a0ddce3efad9b0623a9edbfddf538c70ee2dffe22a80e6b4d6d282d7b9e201c8156a0abecbd90cb5afeb0206af408132538c3bff1faac77ad36e3819a545e1b9b004be08cba9ac34b4fb70baf8f655cce7a798d9c3c4eea71dddb9ab865145d9773b7dbfcc4c4833b2a824262f93ecdacdc0cc0487c2bffb8d1aeec50eac8dd9933a931b49bd5a0e091526a92758213e869d8a5f6c24359fc8a788865497eb817adb3317ff9e6ca75b33eb4721ff3caf7ef610112944429e02ad55e9b200e20d5367eeb5bdbf25e8244fb23b45f0d3098a75725c641ce48d97f1767af9b922159d864beb65ae8cbb07f88cb6a9abc5983d44ac358b1932689820cade22de363339ae1c547902ef0b7239add8de5566bafacbad14fa9379786fa6fbf33fef51723f80070a2afd6a135e75f3d2fc322a4dd9f5eab36b6fff3c7358becb491e5a616e22d2e77ab72fb61b4927feddc50329909e3a092731315c7acbb525ba10894314eea8afb24f3d65cdd51f7e7aa07e4fea371fb30f8e606eaac23392bd1b49489760dd4c7f021dd10088239d3314f0ff483a9fee765d268abf25c0d8d32cbf46d19880156150762a9e5a4563539b185ffd73fa7bd66e40c73bf7e39f3bae2aa863665c1d244168636e98bedd39d8eface45fd5b48c52ba17e8148bbd22c2abf65c3bdc6aa10bb29e54b449a323c4d4ba34d37690c8fd282d0e3579f79b3d2d845ad326e1b14d825c2ab35ef73463dafcb654c417cf123d3b4f24666d91095a69bd0b36d04270bd105b310d3b68d82fb842950737a36c69fecb9af2cb22b93d5b27445e8a987bc0baa8baf3d771519427dce351351bd49dd6378b3f9fac0c4a36ae852919a9d10f5193988ac972aed36f16d9a175ce34ea7097e8f3506b5e36fb796f89817ae6bfb634480ce2976937558a2f1774647c105cd21165dabf647449ba7825394a7926fb6fe6a55b3bf7a11d224fede6db62f152da9d3335eed28973fd75bcd79a3d64221e75d9fa06db5f8684f75fe64a74cc6a65098f5a624a9318ddffd595ce8b35d0b47796d059c64b5c50711732fdb8227835caf5f978bb33b581f5ac808172f9e75d267fd15fc7cc127c07645fd52e92664eb72b592f52a53f174f6d16d3b49df045cf2683e9e071e47fd4d35a37a4871cd9d705f720c99254ce247212274b5abf2dd39bc534e103232aa65c4af38491de79a95ebc384e80dc5b3d6dbff904bf2c71e7ac743ad323ae471157da0a889f0fee412f4fc75b3bf18ca11e4cdc2296b0278f5292a3a3bc90b4b644bce944846d8427311d3f142c94a965c9f45ab2d115c5e998700453ab8edae2e0041e8f001d2fdc2dff651a3365f2761039686eaae2f86b62f1dd122cb2d3d1743a7f5cf7fc6943feb4c9228ad03aa3f98ff93af63afef12b6c8da2eade6a33337546868893f43e513e22a460f425a54610f39d69182b7d384897eebc1c1f4d92667c373d2067f41cdd99ec7f2e040f2df20f66c45fb5de2286ce2feb96f315abbb1cfdef62a69b4efaaa45d15dcbf3438e2d2962c15a4c775bd29f9adeee57efb637fb276ac8b675632a749cc63a3c13012e6be2f7ad403ff706f148c73eb31ebcc4d44f16e143737a7fe981d6c2732b8b61ab261a15917f90d39ac8307dbbeee9f7d5b37b06b4e7a1a14aaf69e18cd0d19164cadc1a7cde5b075446fe2280fed4eae7d1eeee873ba35549bf8adda06234738e9782cfa9a72357d63a7a29b27ac578b8d7923f5928a4f428d70a40ec0187c15ccdc4bcbcb41fddd7316ae20a17b2ff2d508f0b99f6c2b30f4183a0500a09677f7964684e6e77b38b2fe105987bc18dcd54b5f0f962325894a44e8ed5c380bbabd331b593352c04dfec2e36a553fc6bbd0bca6553f68348525624816052b096c0391f9d86d8f2c673ac53e2da4cf6c4a66d3191bd0ada5ff4b4987ceff34ab92c4bd8d65251b45af46c5e36403885f89d70b27cb4931d8ae8c7e7a17b54a53934cadd5b8f6eb932513da54f51ba105e2bc94a530a100f3e558f9afef33a75fcae06e3e593f86d497a6dd43a5bb2281b1d45e1c6471d89b79a405e299c807253be5bd17ad1331fedaabc7e81094ec29d4935f3b256f4c9e37e66b3d3360c2a18d541bae5a5a3b327e3db332742c278ec857ebf33075b3e998b88a9b09e195a54ddab09f3ca0577b30748aafc2e3db319e80d0ba3bd781d358bfc25d3f6a987b490e47dd343fa5d9769c015bdd5e3f151959fa87014d5681beb99e14e1f36817078c1416d27b7b69e7970d9be2a75f698ecdfda983e6002cab1284502970af5a1a040ccb41caab1afb2d05c75ecbf89c97df050c8acf839089d9ed91044d28bf62be9934ef2a1718ce484be04596311d2b589d2558cf9a1952d1689088d677981b69ea3753183d58c2c65138e5b0b153649b567f1923342afdc1b11d7c7871c02a847ccd9948a46a1478b68d8cd69c9621a8b283d436cbd7a4ab5f546ccc603baa0cf47163ad74d3049fae909d4bf2aafbd77934f3949bf94d74ba97ac908672d7a3f54c8a042a67141d3179f0e58476c6b64caab29bd16493aaa71795992ca0bb1b395d11da6e36626e4cbc8ff65eedfd3aacf9d23ab5b9cbea4171c0c365546dd810f2993caccf5405fb0a7073efaa69d0d1132a572072f57d66ba17a35fb3fc2c97868705f3224a00bcd2cd1f66b345e20e197ace4258bdff72b0e7c36a5cf6a7c3e2e8832156f53171fee760e56ab3fd1d50396fdf9b4e1ec579a0e26328f6aac48457a9e4569d2a2d5149e891582c57acb47372de74ca6831dd7b48bda9deffd5f3d456af29d56eea15cee7703d07aea93624a2396f02897ff5033f4a119049292aff9bc247cce8995ecd086bcbc7ae220c6089958fc88d06809cba5a1902a0d0719daa28dddab2b455ca834aebdf4a266a80c82f315894b13a5b41ec0ef2408abfc1f1683166ef161e0bf4ae32f912cab423dc9f1f2b2a535225a6f4ad34333074297fdc8c00c355a692b5bd4a96d6c207095a41f8df2c3060be824550dfa39480a53f53a16cd78e47a30b18984af307875e488527ed82a7e32922e2afedc4562ce764a7f64a41e055a0d90e56a27cccc6b1d0bb538398016e4dde3e39fbf1d3d897922c6add4aa3779e95211a1ad51a9d3d1a60b9c7bd25598abe394ef141ad217ca73df99f2131d1f977abcdd757cec15856f35c0d412b7351a3ecceb98d588d35af94cc62929e2edaef4c26c483d1bf18b3e1da18dde1f4aba57a1fa3c03f8d5a57bb4d1f92566978981de58bc8d354d5f2c12a8d29b6e7647557cf3b93a623e80e6daa90a6d37183794254158201a679158cd88058b4daf344d145a5e391641abaa8748dc5b4e9e5e81f9479b043f4d1264301e5e42dd0eff657084e2213d5e99788b32ed048f786d3d2e2f5e7468348c4542bf0b723870c447fddf375d4ee55e30379016f5dc83998ee48240f1ddc68c8802d066205ede6419f86d684d0bb767477bbf1d6f5e5d2e900fca6fc15e0cb4b8c5fda3538ce408df85ee7f3209bc8b0567238e4df2b9f352781724888eb65accb77bedc6570eb62ee4b875a7553465443889fc2681c2a8f77beba9978c97d04647d4ce9c33cf7c73f96fab60f96a092fbb781d8ac80ec5f4bed5c32736f493a8e9e76ee2fe0c494aebc9483d7fa2065b918506375a7cf0693b14e3f6cb13d86dd27fa8b8a7dde9b858999ed5d7d1182fb8814b5116f51f6ca4075546cf76a2d11fe736230e154a73094b51b9a0346873dd78de5bcc5f4db45eb3d2215ef65913a33d2b97c8c4ee9243ba3438588a927e307d4402f50124ec5939fbd186fda94bd441c4fe5e4dcf877dad8501776513bcf1e87080f0136bb5ad0dc1baa69f7e9bb4b84b82b7abc7ab42afa7daf5ba25c8d7e34a95fa53f4e5d9129fca88635095075efed0132e8a993debe870674e204bd68f5661a942f7d32ae7d5e3528aa9f57354f906f1af4c0a510fbd2fa8f956d17156731fab79f92d88ef1538fd66cae2c2998f6aa4504438caa4958a7eee627207a6b69c23b7eaf8f3a9bf56a6a7dbcef451489793423a53e340b0e17ce822ff72c537af80052e64c116c66796a45755aadd10ffdebedeef42f9654dac57c726b7aa57e274847c366f354dcf17d2ffb65e3fe5ca4e86fc1c9a796135b91d7402b89efcb4da39b9221bfedd3f06ffbb4b373e64f8b973e2bf6999e6c510c4d56b7db45f3f4f793a728b3935c9b2722296cb6e9e8ce0d1a8fec93dce0cf082eb8a64406fb9da8622e4a89a6cd5c63ce2c0efa0cd5e4739ca123ba8487ce5d0b34ac3dc92ded3b2677a4e0f760e6e3c46bb8e97b4ded3732d9d6770b5732c86363e869a7292977da4a6f3438f7c96e3065971ac456c26ed44c55f472521da55bc850a5a24b1d35ad103730b91c0ab76b26f7529743b477ee159d4389ab6c5eaead19f21f6fb569bddd2deb1a97d290f7235d2878e7dae14fe6133e58cf2572d0101657736a1573544a8988eb7c25b188f696c137b9265101449fabaa2c3a31944a1a5bde5e0bec013ba400b06c79f9912da9e56cde7d193b150d213bdd83f9141b486987a05a89774fd9ee9fcde45e85e97ae97335fbaf2f6eaf4626a05bd0c8ddfcd5c492c36733a3e9986bcd941aa446135f20f2b8330d7b088f8706fb47dcb093f5df6b42c22f16dcbf660e6a0ef46f1d60de9b38de00c3b5d0549474353ce6273116475cde43fd8b804d7d731e1d13128c663d04e30d869b998397d808a48835c7add5dd6442912ba7f64ca5c38d980cf7c05693756f6bfa2744a867fecbef885076f96d8bdf07ac46361ba11e32231507bfc20924fcc4eebc0411dae589ce06b9d6bc9b045fd397769d20e23d2345d2b1579f9c8fb6ababdb2e8f66c3d8120ce51a3fa49d2f6c569fa6677be1a742c78bc1daee8e7794556da39086c226aab30cd1d2d8be99d34651a5b48ebba747b113f5f0c894d8729548318bbc455ca6b09683102ee2b883e0f5dc4fc8c461e8b3ef71adbdc62e035883b93f6994977caa4a539b24c12511504cf0af55731ad5295b45643e443d4eff9e83f325abd58dc63a0b78786206e07e1e7bbfbb1343829cd818f4fc4fe6a7cb0e9657799064b0d7abe8c83f1bf67aa216833c3b7d6e690c5b412087f88d26c2a7ac7067fee9536bd71266164d1409e882186ea30e51516d7ca3355b307271ba50f196d611d9a558f7d28111f8bd94dd56ca7bab4a6a14b69c6ed72c166ab691f1760873a6e1f86f8d045a3577b62d540a3a674453172a2bed69b404f2fc782d40a9faede5271087e0d75fe85a43715d2b1218ab451af9bb27d1810a4da393572dc385ede3a2d461e3a7dd9c7bb9086682af2ce05c496d1c34626335f47694b85bad3cfce767b63a12dba81ed45f173d0497faf46b8d5311debfdbc0919cc462d5fbc782757f48ef3210dea983d3ae96a51d20d92f3bd56cb3d97e67ef1fa431bd3aa2e7e5e57f47eaf877ee7a35864dcfab5c603e815d54479b5b627333e7df33ae6d2eb7fd5e9c7e391f2f86e550e703089817cdade9a44bc09797e8824bdcbc9f540cc0f57cc079c2e22da2a8ed83d0bf9b370e3ab1d8f5ba10135ce0e36b41f995a3df6b5fa353a9eb3846e80a0ca9d7d13648b64097b27cf0fe69c5f9450579e19eb30f8e0a4dd9bc1ae62fa7cca78fb6f26ae1cb74d2b9f16f0e98bb1f29b283a4869e50599fc4a3e3da97d7d21a9c7c274c8ff9b7bf3dc394158aaa582c468a6cfcf56fb1f62b43f6de40edde9d80b2ff0727d385cd0fbbda3dcb3e1e753cef9330bd3a995b467933bd9508cc5e90810f6f905bb4bed02ef8aa0b21a113d9e7721d9c3c4dbb9851bae87c86fe0e6d711be72c4673961c64875d0935b0bf5dc2a025f2ceabf9b12ee4db2bc54e4a845c7a789b8d611ef858a3649fe7c8a794824d68a88d2e29e346a711df09f4ce5d88e7650b1f8ea34c322044f87f0cb08fdb1afe3cc469ed74990561aaf05b5440de3c384ce2b306c1904218fc597a4ffcd741c3ac7bf2c52f722c6cf7afc7c15d33a718fabebeb786ebc349432dde1f47e97a87f13dad50ca7a5f95a2b487a61268e153ace92da2f19afb4d5c2e31e879ad8af6604b8a02305e50f90b82df7c4c1b8f4a223856a9a068a1c9141eb7e41d675d33a55de125fbd253161fa00af8f2b387b2dfe636483eb84bdccbcb8962cbb45bc67b2ddb43e3fcc6ca54c84cc897b19b2b2ca05b49b6cd8e0e8c143c7b258dd994c17392fbb49da572ead138852e951631c75aa1442c574aee578e77bfaac5dba34737ab1c48d308e44272953aadd1b10932a2d2ec2deb509155a6d97363eea6ab6a2254b61557fc94e3f2f9398072ff347215bd2811dda5808adfc4de9db833bf86e943d29e944bd07b5d6b8ce3543804cd2a868afa6239892ba6adc9c22ee27f714e188de0a64861647af36f61f7648f1052fac8134a83c612aadbc0af5bf7ffca9681a567bfac7dfba5687473e7c6e4d98262a4caf7c74898e370cda4aa1dca92ea9ce87202b425be6087f1872344ca6819cd3ab74b7671df2d305f72014bfb1f8f8ac71c01bb4a57cb74c6a7eaa5ce0009c502e3f28c95f592412be7f7a994e3f74f9796862370ac7bf0d363ff54c3ff8b42aa95259eb54188db0196c28347d89dd2136f7ac25a21792a37afcb9b3f1e05b68b1f4e8434db0b018f7954c433bae4f869617a7f46490b9e8843d65280e1cf761e3b9b54bd8a345a6141eff9511235647a488fb3353fdaa422394e3d702479ed8838789452d9225017d3c9bd0ee6d691eed10918298ad89ddadd59f0f4144968f2b97431fd8af6352033d7503bf65c5f1d986fdef05395f0e10a9841146f933033a2b2f420d01d44cca33587c8be2dd5771ba6a2dce80ad6e4fc7ab2da92e3cea0b85af8ad8538eedb7d92d5363bac10c490eee47699af184bfd5d3fb81c5c78f06a55c254b211245724ff472f4bf21a45e0526b5249d0d5a365ddafcbf7920b1e5f5e8072671d826e29197ee927b76c9f5f19a93636830bd0995a650d21f90b466bb75fcb5925a5b21a305d76ebc57eae8da923f75c87699186c2618b250e16ee02f39e69e24c7578d5dd94d36b5210715f1a91e0273c1e22a265733fab9b5283ac8789b39d82ba03452d3e6b8465b33f9a249ac01d5d35645770d9c5e30cfeb10be739dee395a7847edaf898ff7c2c1892762c935f6e5693d33958a5adf9e5de4941d9d81e8f8a3a36554327acab1c52aa4902bff61140e618e36490172e25f54e433d0ee263c4ae41e14acec3deddcc643716e0885c6b19d4b5164219f2a2f3857d09730b5e88a4c25502a95f7893399ae705a4345d2538de9c2917d0acc8d99ad57411008e2a8f5faad92305c76ba17d4ca8e528f3bb14ad5ab7aa09391e937dffb5fa9b6931cdc62bede0f95a6b776c83d33e1a19983502530fc97b74384ac86d4639ac6395a36033c36733f37b13d435cf94c8ac81257d79efbd671ba5612ca62a0a065f02c30bf732c100301cd948e178ff64d997ed981863a615ba1d2979d990f6510e5c87c1b2dfc7c36a78642a6637f69633a0ba90ef52422438cafe7e52a673300a2631d6f41ae7bcc467a6965bfaaf81d7573f05f26783e07653df57f9c949a718bae68095a48b7ff6687e9cf4d9741c6b5ed617651562e4311dd1e76f28595fdcac9d953de82340d0281cdb980f4c1b07be52ed0921acdf5f88471f911b27785637ea74dccc2ca3324bdb4913915239c2bb4c57c3a1f6c8c73bb9b4568f125c927e9cae525939b27925472321ebad10d6d64ab8254848f2e6890f8e84228b3782d65bc7ca851fc8ac89557bce066e8af6d69bf3b759c2bc9af6a6cef021d39d3669538daf9105070e22249fe2cf4620a24621533529454d631bfb7a17d09758c04a41f1d6dbd3f0fc28b3597117c8b994f95de16adaa0d625ee5d2bd00ad7335f987768e48332d0fa116107b50e7c531b37b10a978fb6da7ed2021584dc47fcdf4b9576033e32d54cea99393d5b5da123ba75351ac173e1d4b360031b3f372d9a20aa1578e84e433f47569663ed997d174ab3d4732baf02b71b394f4ccca716ba6653565ca4d181459bcc6526d2040f4452cb276826b5b525ce84fd4c5ed5decf6239f36cd14fe2822fc0b0a61ae5da6c6e35e40ff96237818450fa0d3a099b60f99c08b3bf7d30d3617a3188a1dbe99a27d5d724feb45e989cb36869d6b937009977c08fcd689978ce84d42bf88d9857a5c1ec590465d9492bab46197f4654efa3e8bc45e4f4bc446ecd4c8363bfa8e8de9fd82d21b383775312f72b73006d5ce5fabe133afd858799a8261aebfe992ee7aa6dc86e266748a4dcc97ace4df727249773abeda999f1904224bd2bda0c16fa157ce313d1b1090431f65d13197118e2cf1afb5a2a5d046e6aac5b982ef4c4194957d900ffd5347be6fbe7e0e9936b8d9e15b4b17d8509cebb27a18dc3be3c4f7dffec518e1ba7437012e2b085f8d73f385b4afea6bfd32584499824dd16a8329fd50894556f3404eadaf687f50f3d98721a099ecef2d38d9e2f151ebc8ebd4f29411fdc94733d7034fd464fac299079f834737532588181a7d1c2ba8763104a18838c8d77a955fc74b0e0ccb71fde032c79567c29ca451e3b95b13f96f96bcfbf5b46c8a9a37d8d31210222dc9bd2e84b30051758a3d25cd51a552cfb87fa82b83fa82fac79560ef825d50e3e5a68b7566340dd5740c38f0ba1ecd578dfb458cd42fe68a1802339374cd4af16093fb2e5cfa213c500a8909708aa5d77b6c7698ebf7871e411aba14c6cb0f2afab917f3124a85b11ed788cd7ce56adb75081ec78bd7297761d1bb77ddd3af2b667eeb891b43e3d6ce4e647a9932b5b066176105c6937ffe285904c3e9b3d67dc023902d5a7f0b6a27a144904fcfad5374eb245d24711e83e50ecabe158a7b7504aad5222c22f1a18a75945febaf1897a7552329262e59d2cfc6bbbd58494b78bdbf6a25b0a4bc6f947d49d28757625837806f4bf761a3f65ec758d7cadea54c931ad3bb56eb773d8ebe9916d1c636b1e3f62d62fa7b258bce749f02825f234d60c69ee66abba81147cd64bd561f3053fe4707d1bd1de9d04dbed785b6d67175af20dfd41cac1d589aefffbc0296a28de80334873f8daee354dae8f390ebf19eabf7a755f8472a33d58339886849f3b9ffcaf7e8d052e0d50e091fcc996bd8ec9ca6c2c15a4df609086856a6b12e7b5487fd4beca900224a36d8a92195a763ce040eb0912e6bd506adb61f7c180f45b99c0d3146219be7737f32d2d6b6846b4d5c6da7f7575ee6a8a3e2213d1758dacf4ca6007ffb1d17a3c80d89d7cfb38efd19b0bb01f0508138d829cdda78455299e482dd5946477cf12c35b3f081bcdf8bafe3871dec990dfcc021f2ebf0dfeb4ab0ae263b5bb2fc48d5e77cf2a71aad2f885601c43c8a12aecc8d5846cb96c172af47d1e7e37212fb7ffa7bff2f27343a2ae54c0163855404b75ca60268f0ccc77586d8b1623649a5175994d4e79a521d066066786b149785da120542eb69a555e9c6dc835ae060b523184b03943b1ed7a37f694b4a3bd9ff8abd7f3384a16ab6b2919673f47c367b4eeae9f88248a4b55eb30b3a9a86f485c0f47e25d14126f62b57f023a3f5294693a8d8dd7364671b6ff482562ec3fe998f3fa408cdc420a535a58328a963f1b1e0b84faf24c7cdb45e3bd73e8bc9be94b46937f2f9b273c549aa4564ce8dbbdd5549194711ced5f290047fc364892ef9a128f95717d3b88e1d327b105d517f106190b5bb899a9dbd8ac9fd79aba49eb6b39cd533d34b5d8db78388ce4fb9d3a172cb359f20ad3cd72b69a4d0bc94a5189a692112fa5f51a65533f4458e8e5ba517af454ba06788614f7513b2e7856c6b3de2c2e065b37459ea847f99dd0983ed067b8ecd0c870296c99294c08809442655c43a19adb28bfaad48dc52697ae69142058857a38fbf225e7f8c34a98a8f431df2dce2a5e01eb83686b78640a5a4fbd3266c87b484d24c9d3e78ad5e3e8ad17e30cfec62773877ff5e95b65f52c2dc39b135617f2e421715d372a8e43fbfd8aba78d856465fad545f0d453cf759cbe2abd5c72024a117bad2793e888213e88478180d6c42cddcc0b3b1ec7da83bd7336e7528cb997ea8af0af4cd36b2585b3920745e962abf813bedefd36f24f4dd21341ccdc62fe12d2d40a9935d7d6d4e3ba76094dc5949e2a842fb597d66df9cfabbc60bae2e0223dfab45eca3265c7469bbe4056cb5da48ce0875478e5e4f92ab4ddd96e03b58b7baeb65095366b35c6597c23752caecdc0fffcfcd924412535be686a3fd8d7fad6e8e5a23408abab831ca8d784675f81bd74d3f1da38c7f9e436834452285ce6f2dfb328e9d6289c08707e13ad83995a9c45e6bb8ec502113ad4f88c945e4336f1e0e2d1933cadbd1dd24d6871d0e3c6feff0e7c8bcd9cfa19e5af82e0bba4e94b47e85147f40e615a5a8279bbb7af66e73e2f6fc47a15c91251c19e32369ac90e2236f1190b09b8a6ecc07785587c434c6f61135548cb9ec9418cdad9a998b63887cf5dede75d51fe9313fac129df39e94f7569cf62a0229f6113543035a75533ae2584ec25a4eddbe8af97e2abc4ee5cc7cfa7a60217a5d166ec7f6cf9efc5cb7cff2f1b137f2231d8b39e36fda73dcaf59ccf9c5cb13bb511bfb5fab8f179a9b358681b9abc46d614f1f628f4cf5350bb497c4395848ac1f94f3fa66a32ac2bfff9723037005af2d731ad8a63c9c97262841eb2e878ba20fcd6856604edae7afcf13b8d47332e5597f0071bd2989581e906f705541c8ac8b876a222577051fae6b7e3ea15ba47061d872c3a7e74521d721045b573d6cde9a976e9ae865e6897ef300ad5697cbf7a626ee34f0409a5f5486733737425e2de8d3c6c1d2f5b8f7fb0c42036b34d3bfa6a3da039a6078b106ad556b71e5fd59c068d13ac70f05b84c10f446610e3f1001ec357a4764ea9df0ee602a8ffe0b395e2ef9c10111bcca35af61fe0fa2d1fe0b7734659b5329bc0a0e0df06d0ab6670b41857d420ae5a22b898a0047278d57f6cee9cd7c5fe43847caa77e70b729c00d28511bec83d98f90e3d0cd583911c65d188f59c3eb3e4d387681d94747d35f66311ad17368152d8bca48af6d66b912883938c7ba65c5a68bafcd6f8f395d11c43294aa5e8aa80875d9c9e7848039ea473352eba1b792f1cffe1e5f97ec1f9a198e19e95c1f9824c65f4fa6874dab7534af2bf3d4487870d0592e3fbb3f5c4e14afcc1e8e3594adbd752b08a88b5d60e89993d61e4973afec1854aa322a2ac98f8c4271b32d20be18c9338fa638da82d5d02711fd734faebb537f020c8f493d8a43fe78e976a17d7aa586b18c543951c55c8ffebafe766e02f9d8031727c09d9129980ca358dcc887339c178d92133bbddf818f93575ae42c7b98bccebf23a4ef5e998165a78adbaed861ce7fa75acf5244e153177e31973f1d2924f3c2d705a31a8507d5a6345f0c2711f4a727ce4a319ebd809e36c5a2057b63b5d6deca454e7bd19d2d28ca2b7dad7b5eacfa07dd4cce90d3c07b53e4e8af41edff93d2b97a5411bcb6273561806f028d13af719f17f0deeebeb9ef69517f83ca6714369d1a8ad82189676a752e9f39f664d2a143e8bfb1846382b64632905b763eb0bbdcd90f0caa8beb4c5f1a1e3d42f221ab091925ab90347d5bd0b533f53f66af4b65c77f75190fec094ebcdd8bfb5233f3714aa16ff79ba775f8dee51c747659531c51c2cc2834c002d58f1be9b6821f9085c16476d501a1674f9d0c5fb9da954c81d78a6d71b90ed549f8e5babfca441fc579027f98f03779e5c704f2de5a51dedcc621c76327dcac48a26e91f45b4deb4eb4f35b2b5d0ee2b97e264a2f4d0bafec1c872d5a1fd28e8e7d3aaf5d17a5449a05f8dd7975dec2e0579f7ec949ee51ee102712ac64f8f53bbab84ef7a3c3fd40c453df54b3bbaa1f02011da30352df585b8be98fa6737f9f4eaa58b7aadbc71e73b38c373482f8d849dcf9f1e8b475f9125b273bfe818fa0ae8d62951d8e8f02af6d1b7a59dcc50a14e3a9fefee878fe24b8e7e6613fa21dde78be9752dc87fff32e3da7d922659784b69dcc47e9f0f29cdb4afcccc75a5d673353be8242fea081ec5bc30a35300a0872ce94f0c7f1eac7ef7002de2baa75381cfa89ba2a7d0bce60ef68c8aacf244c03494c52ea001b19a289d040d088fe14d975c147adc0a999619edab2c84733318a468ca14e6151fa904a5eee0a59b19d1d32a1334afd5a8e818d911e76c5aaa2212065cfb6ae2f76733734fcf825d3de6d5c3b8355a8c862e6fb90407143c31a48172ff50ed055b472b5fa22deb123a31e58375cc8364445cb25751bab918f857462952c89cf272d9aba9f55bfd49c0c1ad55e7975042669a875672af886fa8229ce57b7faf118d6bb4ed0d113507e7e4685e3c16970be6b726e9cf263a9262164fa1da57a68ecf0b5a5d93fc1d373716a5e48ac555a11cb70e4e4dd47b9da619b825bd10a1190437168acacc3c16c4be99996d10530adaddffcb570d6d9a95fca490da60b46731f5512ea387f4d259be8e1fa6e41f4656b8517edc24ee5e4dd4a9181e72ce4917c35e63b1488d3920462e446139bedfbb90ba3a42c48ec0d5b44ed2a56107205a8ddf044acf054a2f994e2b3d6db22bd6038bd5b349283784bdb4342100dcf201f24e315cc7b7dd14c7eb753701530235d2965a9983567ca823d173f57cb4a178d60930a050b72e7f76e3a7dfa09f5dc7cb9339980a5d3d0ab72ca021e77bee8ba80fdbd2063c5ae70b59a2b604cd76f1214f472264ba3789c376ef4f2a72374b8307773656bbbb89af75ac67282ed80a50a9aa49b535e4f3c142a1993a1a36f688cf674f38cb6b55dd73651fcdd41f6adceb220c38e8746d26f850b1c135a15996d8193c086b30611bafaf6e86574de8818dc7d4a211d573e5757ffd624a4789b635d3ebaf020821a4732e45dc7ae60238f7e470f678e9fefce023f76e9b0af9a38829cd21dd8b714b20c6a51a8f3bc40eb50ac72ae9c3a2143f82aca48b8fb19ee1a38b11368a02973d97f28cc42c7e5a0444c71c32bab8bcfcb7b191ef5dbc7cdb889f25b5a722599c54edabd5fea486eac592c5cb4bf62c148cd60bae5d6cce32de12398aa551cb509cd6ca6277a8234b215a26a6c458fcad0dd2482a852a0517a18ebd1c0fcfc2739b09f3830cd5135cda176185f33228f9e9fd6f9d0903eaf3e8d36fb4ad0d398e5dbcfd66219557d4fb4070a6885fc9d85eed0c112b8e8bf252c6d136b5cacedd0caef1c6a7a1eec6b028140e5e75986eddc4eeaacc7df9e78d70f432e04435f90f53fef3b5746fcdd03b2883484ce7adf60cb12afdb123ff85381daa11568518e2937b5a0f2e5d5c6db567b3863c1110c1f4fcef69be7e50a1d541cfc1239f6194a80f2cee3173d033da7f5be27aa59da763f36d307ce9c97f75238e9a52043a3437e984ce62ff00a5b8c2983fad12a976c1ac479c15917dc190f64afedbabbd0f8a21b8cac8dfffcb264c6c5f3b776a89ff25144c3556078efc7316d2a146c209a044cbb3afa2f45097e2db44d57ef1846ee61b011057e5c45d2416899d9e650c3f7568513d89dac63cd783c9320519dfd3ba216bdad1fefb4acc4f439e7b07d5bd95a692e8796f625cb7847f74097d54589c59b99cbae9462ab431f51fab0283d25dcd9fa678ead12aea37605943b6bb210b34c51ae67af35b95462d4d1753f6858e9c2fe5f9a942f13208916affc4ddf4f9e4b11f1994723e1dbfdac96a094bcf885d99d7df64c263b63b9395cb2cf74fa22793014dab2cecd336b1bfb9cb5f0d1173f3fad92e0821030e67babf5693f836b37d6b90a864fcf9b2de72a9113e5d3c4858dc7b3aa6ac18539951e02db682277d281d8d1ae5ffe8d82506cc87f182733ea56b13bbb220226bcbfc65886f20c2979a4658cbded50aaf5de940e98518cf3e557cf41befe63119a84cdbab98852727b50bd9f32c14b19a406b757475b4ec577254723a2e12a73ec82064d28df9409fc568df6ae0a7765a43e6c419282d2c496511b38defd143c9e0ad9ed6ad2efb88c522a86351cad27ed8789dba78f3ccf4be3763f4107b0f2d11f74af56bbdb77baee1b753e247ee2366d17611b15d39880b1bfaa82a2bc24eebdab9fc99457066933803888ca34fcce665b4f1f1bb192865e572cd4afaa1c6f5ab8b7eb62b061f345f0bc5bf6bd29b6672719118514c29ce475f59d56388e837ff5aff288657bb753cf69d1982d395f090c5bc80ddfa2d760ac8112aaf8f44d4bfe921cdf8f06fabe53fc4e71b920a8fb563bba1f4bb737060b1f862a3704242ca65e0d44ca5754619386f3962cfaee44496a9ee628aac12538b97bd409f0f18ec03201d5a622bad7e9e968ebb9cfefa30f30ce26b01c0f5a8f62b595483ed3d839b0fe8e9db91c632424f558a1ea2cd496d0b365a4fcd626fbc5ef009cec2b55b1b835f20931b6dfc62377e1b8190893df3e898497d6445d4dfc57474d6eb5f2ada5416bb573e30544de7bd912eae8774b4217c4ba29e461f9028d5a3f6dc09f6f46231dbb4e6c64af7c6d0d16bd40df1afe35bb1dba88df97245c7ad4b785d28ff4b61235a9a7b95aefcba4c73ee60ada077172fbfd7ce06b5ecab66fe3c701aa17ce83fe4146141b0c7227aafc7340475649cf0b81db8df2496649ae7265abd6e4ccf40966fa6e1c522f4320a5772ee0b3b3e0f3af2834cfe7bb6513a2bed8676c2d995585de8e385e1fc20a723d5d1e2d75fc7934c4c96bb336e62b3150a1e9cda9c4dedd69294657a7988c82f32f5f49b3d786b465a149159843bdf8b99ed59fcf32abcf45b8edbce10bd88f9f3099188dbe893d471ff9403ed2fc81989732f1ff9871c5d5195cbcca2adeaf479539eba1b6c171b9d7d48cc49128062125a86e9b59df9d7f575fc923aa50db2ce4e39111edfd5c80e56f71fcc2d67235bdf24f424c9d3af23b85493fbcaf4762a3c7355d2051dd8b2412915f3e2aaa9e756daa89b7324c6e3778effddb3a45f40fbb1d8dd9d3b31c8504cb517a18a986b83c4ce889d19522f96d8a28efc458cc7a20d83879c3f9f626eb7a614b21ed79b288dbe7a906910b19e20b87af9ab995ccf1c8fecec068b967b43fc0727ebb5f2826f3d56f78b67793bb8838ed2a720b4e2e88fd379900f4ee8245df89c7e88d95c34a4774eaa5d83d859c29726e2a3994dd8fcad67307935dd3c08fba7199c5f4dc794e1fe8b21b8aa5d1c78c27728d6a098d3211fe8dd50b8b5b2bfe61abf99b88fedb844966c7551bc6f45e48872f9418f8e5a341e94c7918e9f5beb51bf0bc55ccceec9627c69c1e62ab62a8b97bcd3a6cc4bf08bb2c5c57454edc87fc5086f2236613dbe6f30891b8f68927bb001b293d45bdcc43cc92297f20993d6b9b10118eb383df36275b54c2715998cebfed296c13df76c56e8dbb30e1d65b17335eed30a986f508432e54a286969c8f6e4da0c2d399e2e049f0a2abc0ad37356f67d8d20cb09fe62d85cbb62d5b5fbb7b56ac4edf8f3aa357526128f263e6019f3aa2be1574dae34c9e7ab25706023bc8a30f8d1639a9ad1feb212e642c1d79508dd3a2afe2a23fbbb36c9f8a8d13134b4ffe088ed8cf61ea0d667047e6befe63573e4e5e4405abdf8ada681188c0752ddbb78f1ff345bd1be68c64f047ab932b0575e8e7b171d273e9a4579a6e4aaf5c189b72be63788ec64cbfe8fdf8c1ef1b55210b4ce844a52c164ea94344c4e8b52a3d172ecc37c4c7d4de9a12a6f074e1db43a3d99848705e60f339ab59b14a9c7656043ee8114b98971926b7a6591654a822fddf2a321f0ea900ff9d74a98a34e7a36a908c84e9f71ae5b6c314f45bc54b55b700d104062d34c5a4f6bfcdb425fa8d21e72693ceb2dd7023d3748dc0ecefe16914b99475745a102bc94d5f08f30b57e34b12f61321f50465e81cca1d1a35f90e35dcdf926a67e2ae2346ccbd4bbece6cad04aaebb2ddbe2c820fadcb9e4b551f0d5e925cf280f1836273ea407166f9c153fa8c6622dcafe033c7161917b4a9766807c937bf44ba0f74d85f460633773e9aebcfc442a0c16310302b7c492acaf02f8de4deeab185d2c2564c5b465f974a4807bd1262e31d8e0761070f1521fc2e055ece966880bc510e866e86fb5f2651de3a1f0b89453fee473b0170454413fef05e25bb1f7b270b7ed4ad689799f1e07fb6c64b49be868bae8d8c34e973a5a4833a56ff99e6e7aec8518b7ad51e69aa9fea3decdc626f3d660f0ac5b342b8e9328d6b59e6f9b9afc1f4066ac8bf5514467ccbf8eab0eed2f0c696a12f3ba20fe2576732d8ae39dbf7e36d03d31f17ae593fd6631bdc832d0f53e9222313f22ea515b0a06a57dcbe2545f518ac4dec7dd889e225a021b09264a93768930224c45076e12b1ff92aa255abf7b62b057168b1f1dd311469eabe8b917a7635f47d4e962bd5ad4fa4d095be582a945eb5b352e7ead4664218526b2aa26fe87f4aa7b110aaf50fd92ef76c8a47d88a14f1bb7a4b51245ee2d8376c6e303dc9ba49fb4c6cbc5e39521c257707b15e3f156c8c0d325f46d2c2e59182ce0b91f70e25c0dfcbb71cbd578cbb771cb978e17d651cbac1259ee7a4f87fda972b77b8e8ebc2bd5d6123a08720cec583d58690e1a822dc7fc978f34b0f1e1c912410449934a577b0e236abddbbd1eaa8750e7bb8ab63a1f840f71fb82dd511d03127b9075114d013869353e5b074985f8b9093ffd6a0e98987099c9ffb2d73f58fc7ce632c276a46f0cf98f664abfe4688d44adaf42fb55ef7c82c92c92baa046162072bb44985f48fa6d087e6b227ee593bb09c4dfba21223c3e2ab1ff3b34d8e52254f7621661173b07c4f7cdb855ddb4154cb99a47cb4f97e498c97ea926c754749c254deba61487d6eb89a19567a274e7512f78b99ce508a1ddd5abf2ac50845f24e69948440dc4b1c6e3f776c43fd25b488ed5d6156b02c942245d36980e77367d2216553e60fb2bb1bd74637fc9347d56f33fccc3e82ed1cfa6e7e55e20f32ca6ed87cd425f70ca72b23146c4ac0777bfeca0f8dc97f960673d075583b9672231743447ad6abd4e1f301fb960d3b85b69b1d647bf403c2dc2f4907b6ee591b81a27621ed3df5c236271be838cbc1ad15aec9f4fa5c547161ad5685c0165f77a879f2b1135a0e3c475ff0d21db5b77c302cc6ae208b5af95b212c636b28a0dfd6f1bfe8fbd776d6e15571686ffca54beaeb5275c4c62a6eafd606cc01083c31d74ead429408eb9084c0cbec053fbbfbf25b0639c3864cd9e993dfb3ccfdabbd6c48896d46a75b7ba5b2d017760163d40143d1b0eca7c3edc0633f8e0c42cb5687467414fe8e54c4e7432ca9f2895d7127d099dc859f2ecd423ca3da43723d3951b85e62a5b5468cf392ab6996e1774d184335553137bbe429c06728f3608f5c1a404dba6d8ccc8c391494ab52faaafa1c3538151d1a1c534ab5ca71c5158b477abcfd1722580c6724819ce42c6362d3cef64e0688c938327402a5b8f045b601db64babd86939f2adb91c2fa8726bd1ba6892b2f744301b90430224dc4ca3ac91d644be99e9b425788ddf08281475ce12d0416d80aa98d1ebd2b1e89545264b535ed87545afe612a5d96a1de4face73655e31d599e5c81c74a3bdd984a445e9b5416cb696a9dbeadcde063472025e57ec8c9d02e2b07f22d694c2f38730852a9c01cb4aecfdcab44935e148cf56798587919522604f5959b564d174ed4d388bb8305b1ffd4c1515216aa0001b48a3194c47b59f44843383bacaeb91e15453d3428d6255962114739f063b9594b66acdce02e26829b4dc84361a3996eef98d9c1bbcba356979e7a7fac62248649a1302a68c6a082032c54a51d08400823e551d86843385b09ce855b1857465c9aa99cb923dad72481c9f0c4a8eadb96c9b8db005a4dd2814cbb5b9093c3201691bba20ec7dbc2eced1c236f5fa89967340e94ae854823f93b72bc1f6d446383a29e29c8c6774b27875046d14a6b6b7b498ade958f5522c96c62c92bc9ab5438ba47511cd80a06ed4dcf6005fa5d0a904cb0574204003ced2addde8b161a7db27329200256b50647d401c134300be9a562524543e7039cd9c69b59723514f7852b7f9adef00c527c80713a9b46f73c8a7bca39145a56ae9b14aa3918d7d064b2fadb9ba5d597c63a4c24227d8edd2857bdd19d7815d8c9633ee014e2b0be6207a6af4b98636a48522232436478be468d38ef686a82283079149ac29c7919ba580163ec533cbb9ead8062b074e3105d4f1556f8444a58ecfc061c11359cc7c9703265eb34caebd93c6b7e44d40c1512868cd2a8333234762c0179e6daa659820624122c1126ca05330334c8b5c39686151681a12c7272f07ccd28aa805c5a8261f25060f1d67263ce924270694f00c6c85f1c935a910850ec468a6f2c77c410ba6ea4807c7d29895252c42176630d7a7be096ddf8a1e7ca2aa9702da01076c3d536556bccc07b4d268a8b01d53004a233c3b593902ae3652b2ca52b3a3019c4dedbb6ab9b2d5bd91c126cced5c1711b048583a7381096c9069e991369d888424889673be8148d517a44aeb4465e9149c792ee7021b0956a3fb5a2a082b517db01af561e58cb6908cb8273a7a5dcdb8d2b7d507cdb43d35d519cf8cf8d044cc2a5355401da39535da7b99d5a8095aae7856313239371a8b7e226dcfa464d1b08a839f23391455ddcc64522784a795a53e68c836a055d576a60aab94e42c5b7e3549ee2174f434b4e48d99818d99463a685426a08b7d98eba26f724f70c61fcc997058592c19a488848d6d2d68a551eacad0919d7a48d74c3aa457e69ab4787e044dbe5653e0414aaf4c2ae26d9e393cd1f0c998a57448e9be42b1cd13cdd52aa9d3c0849a461573c544b16ee98c234a35347942750577e9024b21b979e008db55a2926a8224dd15d280b66d27930e4f949e5864b1b3f8b406b65507165319e9f818981cd68b943d13b68a512581c8788aa047a1ad7bbe857495e6a63ec178ba695b8a20cc6d82395a54b1000440760a0f56c2938ac84c550bf8bacd93ab4cf0cc9ccb9cacaa8151a53e5f3ce884e0f9d488526de9086999f31be41a94bcf1edc8f72d365b50fcc81674411780a150d084142bfb22d0c0cc563413ec435ba50ce278f48842f512b571dc096351fc11e4eb2d9c7164200ac9822c98a746a7d50c151ec1d7beadbf424b3818715579b446f9ce310d1cd257e9c231728e5ccd38020852a3d950589a32f20861e3d870af8a87069070034dfba8f2c4c82281a3a760a934e05947b6e03ba8096740324d5507ae451ba4be0788a74d52573d076a20d32d5314a455769c5a84c0fb7981a0bda975016e6dc4d1268273d5d246be6335ea4c369514cc97964ed86e48fb89503b33815ec5d5ccc96c03a660e45380f0ed88f428ad511dd2d3726dafb988f113f5794181d2c84002b231bde2750f66da567110156480d61bdd084c89d62c81d31cfb6925164027e4dc4985994695a4d2d81bdfd22887afa8301336806038dd221fb48cd96b9620f98e0a9454de3a16e401c1d786554c7d5ece1d87e4741736762a3c68d6b1326d81d32ce51012fc11100207ac62e423347732048cbce02041d69a0b919fea9589d75482e54c9a8b977364ea7c79302d1dc3c49a8bd425af4e350b29466a3fe9225985c4315ff288f77981b6c4225f3491a6939cee58d183e1b04b3f1568d322653bad38cd89644808bae740dae731fe0a09f87563d30ab3e20107f2f0a85276a111d0095cbd5939d59331b78e2b53008605819d56bee1c8aa9d16a6e5546095aba22d824a77f59196812c9cd99e6e473b8b6791d7a4c72007da72664f61bade2ac89e5a4d14e9bcbcb56d7564896819f2baa5396c642628562d62bf4211a33b507d2253c6a2c68c9fab239db793501c51c64cd52d5b7fd04ce09894ae9816932ccd680689a367b8f6d62278c674aaedca86b1e30a7bd3216323ab5c25474fa150f84e261f02d23e7a8e103b0e6651d0f86e6487a6ed2ce7b6e1e572a239c2060845e424e1c14c192214ab66654ab59291914aa0c64eab52a3392bccaa45c057af305709d3d54960548ce26e1a9504913f8f688557e78aa5bfc20c1df5b92c197c9469a49ad98eb033f863a49369ed590c0f5d79648bcc0e8a720d28761bd236f944544733d7538fd20e66032b25f148954c29b5816430879e9aa9a4424aa43a1704e00263418d474b5735ec29ebaba6450724f4b45ca65726506c5369829cdbadaca80119d06cbef015331d2d1de5a890933d6c26b49e590448e02698c1a92116ae6ea3294002589a51ae590232f2e8d5b1a00148c4e9224a54f13877e6405af24cb9140ad2c82a6059ecd4a3f92d9c0b736ba6ec17f578af92babcb2485ee541a28b308204c36969f460b9a83ef3bf954160cc37c482de503a1f6d2c5e6bebea44913b16049a83168625f89a553c98a99cd989bed309a6c0321458f2ab2f42df74a0a44cab836647aae6c08715af3efb047c329c90b678750e5c790a798dd2a72cb5a859de9ad95c2042c1764242b3556e9580dc4f64dde155cde77564a505b091ae6a14abeb14b6b390a791b60d84c9c1b4041d12e859a791abb9026113d228a0a3dcac59da49594d6bf4074030aa415553d58239a4a0b71247232d87cf014572a60b1d9314c08a2f246506789386f9720e05cde69e74cb9eeb580f590267e3bf2ec775f447a99fac8fa125bceab6bdb1cdf41008134ae5edc8228e754094c40a1533d3619f755e3d588442e846c50456c5d829d2b594f4012aa2270ab90baaca150a561021422354dab674d94aa29dd284b56a09a9ceebe24a50b13fce1b82aaf81610d51c094a8e362b1e982a2938ca949d19a2cc84b65afbe931d35dddd23385319da80e5c9eb0109a079650284d047c724238d6f1d916e542e7477bdbb51ad306fa2a93459d8653dd61249390372661a79a5b28366ff301751869b91efba2cd8733bd81b46c044665435bb69d98457e5c8916e2091857d1ca8d0e6ace194b217ab61b8b5825e15ec9acbd25a02414ac91d7005aa13945a7e5a5eaa003e0c111663ab213e0d929b1575c59d7c982f45c8e569ca3e7cc38694183575f2c6933b7488dd2fd50902b90c2d15204ba3ae7a2400491961714480527e42bc722252248e1129045a359474eb32446b304fdd948d72063ebc01188a729a4030a64729d96d095cb2711ec835c6f16a45a042e570283547c87410b0b2501c5348b5c27407c559f08731bc1393a00232c1673bb0ea65116500c11d6ace93be42110adca14d10e18a4ec51ec2eac990666616251a80ac5235a58c722c8acca70d47d902b8524827d9891119caef39006b95ca78f206377704ad2c041b93fd71ed4d9e4b0a430ae5a15d23a1388d643d0e154bed855eab97ab4705a9ce1329311c617b8558bd7c20151e0a0726516b7f16b2a5c8f000e432c3381807369034481f00cb2c0ef9fccaa09453bf29b6217500c3ae30129bb0054442c13eda0cc4e7db9200a331405b9f686df92d6d16aae55702e4741ae66012d57cb8cd90799f51874786ccee354cc12b71bfb14c27877e3a5c87d40eb1bdf61f26526eca088a240445148d9e9b226ab80de5401ad8e6ec3c3da7351e35142095c62e7639ac764e4d17a1150a32accec34a80f1fcaa1c35c950799ba0968a95c6498c6a3ca73e53aa0c30a882c1dc417b83097f7b0264be0006231655afa2d1ca10e33965eb8724baf8fe5f6e15226474084e8eaf98247ec39a30b0e99502f1c75e3b932d1870fa90ac169af8eab6e81ab5581c84640b4d31e2c0ac443af3d76efd7e43e14ed5d0fa6f61d3bf328a101c6a54de8c871205a97bab91d7bd91185751fe6185fda51a34054b1ed4b5cd111cf8bc3a49e7b5d164c491464dafbb2a247ebc4738ee5c261c9de5813cf219380965370dd5e055c39eae1b2018ebabd7e268b90d6ebd5658c4920b2895f5f3df769809f493025d38086bb96b6d30fefc8503cee3da73f0eb60a45a109fbed62dd91b1e5c2b177576dbc95837d98c328bca207bb8373791f4cc983e7dad7789debb95ce9b9e9ad3a35706111dc6eaf81a250f7698a65c477354cc71a5c95b33dbe55c9b0f70eba727335cfb45d87145b2f1c720fb30bdf002ccb0edb1f77eabb323ac9611fae068e4af80ed6a77d5835b9e0a01721752c7caadf3edb7fbff768e5f26e2e4790b2ebdefb3aa02797f7583ec5681f64767381b1a330e736580f8635190573ad074feea1d8fd0e29b2e8cb077018146690e9b5b383995d0634876e96394704e73a0a2ffc8e821ca040640fc0782fa3f6113a42e9bbc515fccae9f5ef2204a86314d26a5f4633e0f4f501280291b8d4c950dde3ab2c1085bc07bb0fc42bfcb2803a62b9ab3ce7d8d347a0f61cb2374618058e75e137f1d86f23f745b6e9f15e1e886cdcc3e1f4fc8eeeb41c81b91d4111ed7bfa210f33e1e04ffbcfa837d6280a323df69cf0ad1d5fc473abf59ed9aad7f726a0edbaa3e185877c87c97aebc416f4e42d100506b8728f77ae7913af7d3dfd52faaedaa3db71ef51650f16eba2f7f37edc030abd7bbed2876540f565948c008592850ba3beec078e9007994d5cc33105c8507f6e2acf813bdf014537c77a7a1b9eacc13b190f1ca18f43e1d1f2be93ab3e0c4b86d4bb675a8f3c2aeaf10e49862dfefa755dd76e7c47a9a0c8eedef34690b1446f0e7701ada36e9d7b2b3b782e87f14e02115df074b92814edbad5a1d81ebc94a320538be042e383efa80474e53e4c010c32f1aff5e8c1efaddda1788cfa63c0cf2be75884b4d62f237bb27a0828b483624f5fb9dcfe4a7fb95c0d5c15053d1e0ee77211e457727a806ef1d0d74da16ba3f09dbe0d333b0b33bbe9c94f0d9cebb52cccd8c4a77a7ce3aa78ad40582f0357dd42b1c77b97774de008359c773af4c67bc273e412b8bd7e289b80d84eecc95d484551d8a75ff77cad7b5c75e33b76d95b5b1a7f6e67203bf6fb2d566d3d95c03af47d39c8ed32989f71bbb413506ae13907bc86145e766d0b85149bf8b8ad763de1e2805edf7807228fb2e38062b7bd3ef71e85a2604a12d021e3602e7dace7eab4efea44dfbeb9bc437be8eaa4d7a70bcd21e0a89b5e1f07acf3038a44d7bca4127d1b2ca4ed4328b27dfe6d561827ea5081ccc674eed390099cd6767857aef76d57c273e5bc3fafd81f08a975ff19eb85cb1ae9da9597631bf518f5ca9afed8a1ab62d9cd804346fd39389707d4b10ce8f093726c037d784706195edb8e7b78c19d0c29bbeec922856d91be7d0333b684789d33f91b6537e01c3603177ea2b12d7b451b5ac67a66b33af95a20132adf39324b74db4f5dd2785e85edd9af3af98f0d9ca31298c50efb5c9e7318f42b6126d4be23ece0ec020f457b04a7241166c22ea4b09f4a60bf6e07ccaa6cfb7722e43b7003679be3b2c6edca5b6c2b9efb0f1c760fc508d3f9c1731802f3a9ef080d7074f693397cf0321bfb88684561ff58c7faec414247a4cc26072927aee6a4b3438e7bd81431c07672663fb6b68568efe06c13bba275506652fc625cf10fc6af0c4496ee7cc4377ff9e207c77208ccc941a9e5f7785ef863b04fadd767ab07362b7308deebc1dfd69503781e95e905cf90526be0d8d89e45215511013d19a0297fecd1f41088c20e0ce169f668e9307b28763a6c10b71e0dfbebfa501d75faae0e35c4173cd91b436ba700571b82a77af028c8ec1ad0e900bc74b8827758e26d1d705af9fa9c5e09dfa317f64f94a17eea5e3f671f0a8f9f1aee43e9f5a1d6c3f32d11fd3eae7cbbd9501f56bf8f8bbf3c8897f75eee8664bb3f874d28da0860fbdbd551980cc94dd8979bf3fac904b44d40471ee2b1c3f24a663eacaf43b8327d5ccfb6009cdb95971deba13e3de3469f3d5b60b06e7cabee9b8d31802f97dcc2b767bb0cd54dfb757d11a1401c922d0ef5e13d5a46c019555014e240b489a1f181b82ff342dedaf494b01be44bb337ff4eb487ae9c07a2d08443bad95cf7eac0da7374d2735bfb774867f4e7bcf35387f072fa727fc3e71de269a7af6341116643f323f4e716ad1cbb1b3f653743fa15f4781f380c856dfb50b4aa80e65030885b5f0fdc88570cd6ede9832ef638a4a7e8deb862cfd1f3611dd89f5361e751d17e109724ede90d18e139199ccfac379f2e401ead0fb79ff56d8ed6e64efcc1f67b3adce5c8555e0caf2b59dfbee06adf61bed059725f2e0fd8b7ebe2fd9ff248dd97c79e7f3ad087d25f27b1bf3b047bbc86ed7ce8017c1ae55a3f1c0661fb36c7290e3304dfb7377c6c03897204867448d397035806948c168e500ef250e37da83388536f0c2097b10e19a2e7a847cfab58dc501fcbde7a04325406433c47f5751a40c019e20535eeeb25cf950fbec8ee80ab7c8993d71f772f063b54e74a9f613f72681ea8fedce9b5e7c261bd45f5e7ad8d210f8c5bebcb402f96cd0ce14f28fd79e8c5ba07ebc45775ba38fac0b8d5d9959d480ed148edfb2f782c2e1785c3e3eedb6f97bd99c13efa7455a3403c54c33a43a33ff6617f31e6f5bb3edef6a086fae9aff5a7bdae41fe23fa769d97cb057040e2b9ea907c137d7baebff73658a7eed7119a36fed6c6e574344807b13f9fa73dc24178eb0a7e4817aa627f1e85a48bc3633f59df0f8c85ecfbacde89df17ae8c80381e981babbf6ed06166ef3c6ac8f6b5fa3e151938720d9c63e90de839d554ae7c77cf553743e3e8af1d501486e209a4dab7ffcf31b6a17930afe2021f6392037a4b35c30f75cf71ce211caffda288041918b44554b36f4bb5fbd15fae856adf3e3ed519c2e9caf739c59d07e17b72d28b6f0ff0899d5edb23d85e8fa2301f5ae3ec2b9b0a384ce23b4336ad9df5e0dbbd888131507df9b8b1c731d08fd797910aba6ae1d524f1450c89bab6af50bbbfdbaed943737f157b38ee87630f5e3ff6500614dcc3c1388d47be832f06f9bd1f6ff8d256f5fa6b49e93bd5206d9657f6215b0dd324bdf22ffd413b09447dbfb2ddb31c929bbe5fd1dff71da24bdfb7b8ec910fe194de88430dc1f7e5a0977fa0129e2b0fc929d5f731bc8ff909037d8687db7db6390f43f58e9fd48be0f07a4d2bb771c5fdd09e2ba78375eb9b75d1176324ded93b28c8f46870aeaffc12990cc4a1790ba92b1f1bfb0b5feabcb02f37e77ca7615bb2b9f2cdaf72a18668d6f74dcef95681686783ebca958f72eacbd1f77050f7c3f83ad630089b7cb40d876409a6d773f8969f345407bdab83c28c1f82efaf2b892fda893f60af2d6793be4d5c06943a14771cf57d138f3aee8763f1ebab18f6871ca981b95b5efb276540dbe9c2b50f5fd7d3aefdb3c1b1df8e5f0d8d5fedfb592e1a86edfbaed971d06e5e5ef926a77c9a01d95ecefaeb4a84bed0ada3be4fd2e6a90ce122f6d7950a0dc5f597e2d59a5f045939c00f517abd860ff31a30fa719b4bcecb609d7771e3204399efd8437178e6cab6ead55938423ac86b665fbfdccc7b19a045da978dabbc93415cfbb6ac281c802b9df34786fa22aef6f5e683fe2b73e597886c973332c48b577e49978732d87e7f0ce7dc92413af764c395d1973ae0da074170ae17410607c77cb517430fafab4be72a9e7bce77f8813d6b74b5f772cea1081c61d0a75a3a57fbc75198c1417f7dd98fcbbb601fcced0a18c47168fc7db9e9e52a7c3e1691efdb5c54401dc9c0b1aa8002d9e7fd70517ffd68f7d0f3a138d204db67ffdfddf7bbc2dfaef2eaeeb7ff73f79caeef7ebbbbfb7ea7fad90afffae73fbfdfade32ada05bf869bec7ebbd9a4f1ea1f799c27fefd36fd47b63bfe761f6c36d5bd5f96abaabcaff6f7705594bf565981708371feb2c17fe1aaf26354e29f79d7f405ecfb5d1937abbbdf488a21bedf651bb8bafb6d44753fffa78a5b688aa0c87f90d43fa84793227fa3c7bf91e4af0fecf81b31fe8d20eebedfc5e5ffc0787bf7db8b8fcad5f7bbb26ebb9aadf677bf910f8f8f8f14457fbf53daa6699a1c8fbfdfa928ced3bbdfc8ef7752beb9fb8d22460f04cd90dfefac18defdc610e4f73b11ffc288e81037447cbf7bf6e1ff84ebcdff1077bffd17f1bdfdff7f7fbf9b6024cb6215e23e0dfc877c181163826149f6fb9d5ae292c707822028764cfcf3fb9d7213fe81a428963cc33fb063a2fddf3fbfdf4d7fa0fd11439023ea8160fff9fd8e8bb755f43bfb307a53c0a14d989677bf8df1cfb49b9c11c13e7cbf1390bf2e5b4a88abbcfdbb2831f7b43fb5d34f4c99fffe27e69c68b56da701cfccddbd55aeb6e53ddce4ebe32eafef0f9b6d5a167eb8badfa6275eeab3d2ddf73b292b36dbead9afa22ba67c7b3fdb84dd0bd3dfae5755f75bdf6c4ebf14bf0aa3bbdff21d42dfef8cca47ab37fe689ff4955f6ef20e56dc08315a9567e8aee7b7c7d9aa78fb6daecaea1d342e7a5743d9c01deeefffdc9dd01f16a216db38bffbaddaee56df7f9c602de6ca06fe2079d79b5fb30d6c2bd9ab6d19b7a3277f251f5a392f5a4ccf4ae04b844fb3f1b9f8fff3fb1df42bffeeb7bb155da5c0014590596b29d3513857e21797787a9e0abc49a896637382244644e01cbe4d93e3068a6429b5eb6ec84a99bd93622ee9f69a89d8a3d832a0a50a8a6c0ea823c27611f66f5a186c33c76415503a7a36e4b2cd979a4adfa679f50845bb5dcba18871889087f5be4b3c4d93631c503af3bc2e1e57b48e82d6afd59134951b9885554873b58f9f73929dae376320224a12d5d273d5e6d990e930130ea168d79288d78eb20a1c36050699fa0e113faf376b697eab6f1d85b1ccbe689bb5343b569e8376bd365bbd8ecb802bad417644ab299705a23d5a3836059c51d7ee74b25ed11501da734602018c49ecb96a0144ab1d177e2fcd0ed1c2202a492423df19ad4351c88131a91606f16d1a4f701befc793b779fc2e1701ca7aeb07c34906512d0c6e03b0dde64aeb201328694a540b73f47482593f8b7a017b7305287defd5e4c173207249f6adeed5985c587bee64ede776034594ad0c3206ae4e03a79df7a2a55dbbcf44c45e2e63da25616e575e2c9dc770e93bb9e0d28dff88e770ed75b9e4acd4ad8deb162f923d78aebe91c4a800a28e82966fe42210adf83939922165ad57626773fb7319818488250aa601a5be84a240f853e9dbf3b4cd97c27f713f57f8609a05d4a1d7b75ce3f17bb44c068ed4a7ed055e4cbf3d8bfcfadcdf8296b70bda3b2e689d5a5098cf8e8547096dfc5e4a46e390e6a22061b870ce95bea37679f9c961df958fc60b8ac7b895bef98e2e2dbd8ec5733c1e2fa863f1292e73f5e039a335e6ffc0e5ea809eb052c6448163c5cfa98eb0bf00447be7d1e97841b7b0b7fb9b1df60175b89eaf299bfaae77299b1df698179fd79b0b3f4d79ccabeb371b6c7ac5bb787ea330d70b8f3aa20f3cec90519855ad3f2c5df3c5999709dfd5cb77f2f0237c7c3aa3d6c9bef491e7368ac1156046c440b4f1fbb52eda07e03029709864654cc60b6a7dbca2f965ecfd76307d7afc83794fc1f66ced536d9ca55a380c0a691d81a9f481f7dec9f506ebc2406c73516ff25e38977b349462494429a66540907bdcfe8a2ed78b14ee4d874da539c93e4fd94398591ffa5d501fe4f043d9f3947d9bb7332e7d7e789eb2ad4ebcad3fc13ea0dff4e75bdbcf53f6a4c771d9692dc9ab474cf717f72fb0735779b58d573f62ea5e419ead5d9a79a47e9fb5cbfed9d6eec3c39f6bed5217cb9260d907e2817afc616b97fd5dd62e43920441132cf5bbac5df69db5db4dc14f6bf7a7b5fb2f5bbb57a2fd99c16befe05c2e80fbbfd4e84dde2d443936d8b8436bc88942edd75ddf0b472f02a35b88de1ba6be6847001bc9b83dace04f06e965716b8313918f17b4b8330c251194c05d57c005287833f6b8f7f846218552609c8ce99ed110384211c45cbb685f19aa9f2cac9d712cf50d9293f17c36d8b99de77a6b5cd6378c3f37a0ed17977aab7b352648cb5138e55ea1ab12be03988523233887081bf792885ada85197b7836e438cc30edd41a3a64fcde90f96034e0f1cf550ad417dee982485c8b974b731114d76b5f442936dc160eb9f73254e2713fcfed0618dca83d2cd9149b30b3b367434aae8c656c54d276034cfc57a540f3c1f8d907d31edf0e18ec27786c2c8e3d833bf7b70fb3720f137e0fe7de1ef35920a2e494348c0df3261485dd3b1aed3c8744d2df6608b7f2cd602700e3f69c1cf6b8ce47c3882dbf30fa6e184affcb0d608721c23c8d9f634e0872bdbe69fcb63c3bf9668aa881536e0f620e6158dfb11b69de6d6c03475b432ac2ced9dacbd83d9cab44e778a31da8b9daafb9e86aee63cc9f936187e347e8fb392d2acf95b7dda514eff99a7b5cd55ced390c76b6d38e06c85ab91c5a4cdf9e15df550969b661a529235cc6dbe9c70143fe9d7e392560b73a7982e563a324cce3aabeeef764b06f9456166e3aca9bf07dd9bc7a94e6721464587f8ed66f41852f1c94568fdaec8be730892fb275a7eba46fcfe2ba79ceabc7f37857562b3fb85dcc130d969b9bfa4c94dbcdacd0b5f7781d7bdf9f2fa21d9c72459081fd075eeccdf18917d7412654c038acbb8b65b828c8b43510edc6a3e5229cb77ae6bd8e7f9b8bee70c507a7e7c4c37a1be0b851effcbefeec5dd7f6fa9b7ec2d1c4389a873d2ebbd5d789fe843f3bd1d2e0da797e9eb2843ffb48833e8eade34ea9b5ef726d2061b0ceecb087f31b7abb9327a25dd76fd71d4351de83f9073d7879ff49bbe7b18159cbc7bb8e2668d9eaf88e8f894ffa3c8f31bde2335b6742f1c467b4fee9fc74386b2747b7d3e9fa3bbef8aa0d8cdb07393aeb765a3f3ba8b7de455e7671867bedc5ede62c2d90d8e9fd281b377513e1397273531644b40be73621cd5b9ab0522e4740447be993365c927d4bdcb904caa44e864c22c6f2b0706fcaf4398040788e54f569daf2b6c1b12f0671c0fdb64914948d61df7edfc6fd1879995db6973825837d57ca54faa027307c48b22f8128c4c039e035096816a9b4c1a9aeec967df23b8230dc4937eb9197ab2fee65c3ed56c005b77d08b39e3ecbb91ab83ab13a1d3291e6280a9cc3998e376561e176309ff2a3a8eec195cec4fe0524f13abeb011675ab87d3d82225fb507521b22762c4135bbe066d2fa149fea33350933748003b20833a196e6a7711913569a86638f6253605cf8aded97b6234059d5ca11aa60ca6d02b168a4983b5db675f2895087ef731c6efd5cdd0789cc780e593ecdfb3c402228f298078aa73a1c2fa876fcdfe4c36732cfa501a5928183d77e2607ae2e04a25de1b542cb910ca6ebf836ef926ddf529cee7c87d90157966c1ef312b10ee7d896d799e5277d623bb1d329dab74f8268b70382275de13bcc01ba5ab77e99441c6642ea3be3f8a38d70c58775401ddeec7e09fb320e8986e5535afb8ec64ab91e7931799bff4cfe9340762b4fed656e5fe880e380ee293d4746c154fa26f1856912234cbbaeec06cf7d6da7115590d90d14ed5412af75c2c5fefb64adc33cdce3d9f31c77977e68c332ea144debbbfc1be5c840eab319b7fe39e11964896dd167437eb208762925a3fc893eb56577bac6c0f214334440b4f188cdd55c3936e1b573956ee5e6b06ffb3547f9a76bb7a8ef3dba93a1450611e4ed123824b6e9a72b0ba54fd3613a3d194c11640c0ad3c832adc3fad9e00e616613709e3e7e664b2ce8371a8e17786cb7fcbc1bf6ff27016bac9be39bf6b068efc0947b8b350c967f6ce3ffd640f8fe8782e0fb77e91e8ff4e86f0e808f98bf2edd83a446e3114bff4501709a651f1f1e588afc4301f06e0a7e06c07f06c0ff40007cff65f0fba4a0244b7fd6481d58bcb5f6e77a8517f1e72e00be3e1b9f5d00b49f09d106b789808279205ad579075312d57d2076b71c02ecc864a78078327aba197c9e763878199baecc8f30210df285ab1ec20c11a760f2cf4c8f7f67a6c7ff6381ed8056be0a669b2b57258043f4332ba24f82cbe7fef68341eee1fee641cd09410e8a306377ad4334eb07d03f06c79fa7ecfe9d217ecbc0799fe571e2d337e7f8c3868ae7ca84efa865dfb8fd2ae87a0ef2e90e43493c4b0157a67cc7a6dff3edbf14503d05b34d52899f63ee239da6a7a0f6ad00e6d7e36d835ded4d7c1fb2668e9f06d83e0d267641c167abf93c78d8050185daa3d6e305ad6f06da71802b375f0409dbc0a595b1647b73a0ab7cd5a6d9dd7acb593e7640bf68d776276b5b449f07436f07285b1c6e05639fe79f07e13e0d745e028af380b07730453b908d773ac13e5b35c7beb4b869bfb72e1766eae68b80662f2009f798b78df616d4cbbcfc8bf58d80b68976b39550f7b00d36fd4bed747329e8c55b20ffb3e0683fa04bb1587ee42003fb05b20fedfcda2a11c603b4fc7c9e3fce27867d1fa89f1df66f7ae56d23b827afb3c3bedd306e75d7874de62ca05802b8d26903ffa4d392c3fe6c4f3c4fd97603bfdd50a7ec1d9893ec9fef686db79bed3f32bf28e27cfd232ed747f88bf345feddd9478fe33f39fb88383b3a2c493c8c099a1dfd55d9470cf9f848b20f8f7fd0f9227f661ffd74befe90f3f551c03f73c320bd70ec3acc5a97290ae75c1164e1ffce7ca49f49f83f93f07f26e19f738f5a9996f83799fe99887fe1bb37d72d70ceb942d23789ff40b3759b1b73835637c3103f903334982b32e0d67d9117d1e588d0f2c1abb959ab5f0773375a776b1ee65c2209ed87813e77cddedcc28880f3c95a6bf77806f34f5a5c8cb94e8453ce026e440cb9720bfaa6bbfaa99bf655fe087645c24cd801ca5a2fd2cb3c7ec851fa219abeb9367528aa2d5dbfcc33e9bb33783ec896be5fe7875cdc4103b82aa1757b78832ee4158e484621adb7f4feca65fb84e69fef570db954a7dc961b618aff3bf7b45e369b6ab5fd011fab0ff876b483a4ffee931df45fe75b3d520c43917f956f3562a907fae171f4c77cab76067eba563f5dab7fd9b5eacbf5673ed5b5ae0219bb87ad0ff2defe39c3756bd07b9ba6b3238422c870ddf67cc0c936273fd835675bf07d3edab96f97645b5b5d4a466b2db78b60aead2185087f3ae96d45c81b38d70f61b3d92f28b8f7e7761ed44c11d4377288ceb823f6a5fb8892f4cdc0f0cd61ef99a3b5e730e917f63d5edf6becff7db10d73817b67cfbfe5d59fc274279b6cbca04eb8755b7e28c874f645fbfffefcb5601d573fb010bc419d57018a7dfcdbf31bfee4037ebdfc06921d3d1004f3e3d759fcce6580188d1986a4fed832d04dc1cf75e0e73af02faf036f62fd6960ad80d3ff98fc86a7e7b3d3f43ed896ab14a8c9269ccb053c05a7de2f44ed418d3987c236f156de9efaae80882ae9f6bec83998740e768d4f87ee7e64714330ebedfb7f700484c6774e01bff82a58d005eae66d70ec6a2f75285820dd3854f57628516422187f08680c1e6eb9d4bdb1608b0519d27a01f2b4f2329b80948d3eec57ffbf1a287b174cec0ee348dfb4eb837effb69c07dfd5fecc80d9fbc0d6db0d5d1f83b442dd7ec1f4c681a6dee182f8662ec15c2fa078447f38b7e1c36192f5f194c88c56a2d07e41bbbdbd8242041ea33fe3ffca0375b70fad9cc7cc633dcbb57bc637c68d79a108728e84538e680f421972ed397a11d49f1f04b9dc0ecb6d7c474f3bdddc0656bba4f75ca9a0c314a16b23dfd17a075ae466e1da3bdf1548e0a074614eb0be6ebf740c1c8d95b2b7df3768fcf1104b58936490a12374ec024cbb43315f27c4637a4cc60baa6beff71c0c3a1fea69f9f2e6419b9b7593ee163aa6f9ca49e9f3e3490eba24ef5bf336c4b78edadeae175c1fa6590f27f6df3a34fe83fd0de500c5a740b26867d84991042ef2a8aa5d83060f565ef8f3f09c1c23697ebe6190885d4a2e3d87d94af19b63d606146d572ea539c94add41ce9d250a894f09f93950e8991f0fb70ec9e47bd9b433bb0e29b40fdeaf79bf8307ae78481c3c147573d3ec07fbfb2cd03ff667a7c32919598029d9e7e7b596cb2d7ca7b3da75ef539ab437df9c02b96ff54eb7dbdcce63f9f460cea7368347b5373eeeae0f9a701f36471606b9036dce9f76db46fac1fe060ee0d6271d56f98e56f50fbd48821e81bacd63ab3f3b887b09424c4ec1685ca7e3c9f0b320f42732f13b0e63dc2cfb776d1c792e57b43c45db7598b5f3360b28b2f25dbdf953d7c4f92707403f3f543c94afb6794e51fa65ce1e6dc77e662770f655ae60bb267e95d7c7639fe0b33e6f1e8c6dfb6d93006e6c9e7db2f9333b7e7ac0168a5a6b8f4251a8016513cf86fce2b5071ecb5812a31a381e2b759b2f76981dd62f2eb1f728b60a1c442ce8b6fc3cb772bb39629c6fbd52f78143169047a9e6c8f1394fadd3c35fe7bb69a73e30bd7f3ccfeed4e75c4761da3b28ff3bfad35bfff0ffae9cbae9fa2f08f0452b1ffe4084ef02f6b6d143900f7f73888fa1feb29d1e8a20c72cfd48fd55213e8679641e2892f8633b3ded14fc0cf1fd0cf1fdcb21be8b5c7f16e3bb24aa3df7d6ab67b13b6ceeb74910240a5dbb8009116b6feb3cd95dbe125fe200d87f046e449c36b11fb1dfe8b972035c8db56d5d5c98ebce469e1d2be0ead1c51f050570e121a065e25d7bb4efe8843f2353e082c2a3ac0a522885e2ba9444b4f35dbdfd026d48a951205aac628ccef6ce38e80ef69e0f829f63918d47452870acb87766e1127fec12ecce3876f697c91846cd597682d708449cd788b7385bae5ce274b3e3f9f0fbdaa3e57d48abfb3043b9ef8c5829137601c530ed57a86b691dd272d23f37837d35e0ea4d175f2a9a0555609fb95e194ce53ba39d9f2b31b65dcf979bfce9fd11ed5c118b4c26830cdb9dffa67e294cf3aabb642d238b20665ec3baf56bde2e1268e97d3e483ee59230639b90626bdf81459010b1e730fb20475540db8d14734d9829ac14b3b55fb39462b05148ab08ce95f66c929f2bfbf68285982482babbe86091154d7746eaeab0faf83c664954eb80569b80960b40a1ddb3817d2976b772c83d7495589aabb5d7f4628454fbe55c22ac5902c6ec6b58b355409198d776818376ff86fe0e01dd5e62f76febef7488bd3a5d1a507534fe37f1102d93a7afd1125d82e75fcf435d3cc04e0779f6ac23dab37c17bfe8b98b65afc3cc2e9f0db9fdda8214bfc5f68ac0117260b0a385d3c6c8e32fe7e76cff7f866ffb85110bffde8534c8cf3af21cc70de92b1d56fa0eb395e6320a66441cd23a138876e38b368253e9ed620e28da23386571dd3f8c9f47abcd8212ca60daf10b7e7ed3e3edc63c5703e7c04ab94aac9c230aa90801578b2f17fdb4096a6d3b78fdf8626e3f9c59bce627b5096b3681ae4a0414f19f804bbb2774e2b396de7fef3c9dcf9efec7ccd567bae7efa715dd5d40f21f33777437271ff13927f183fdd519cef778ce4f5fd0994a6bcf55d8364928efcd6df7bc87149b8144fa93f80db7a9370b42af030aa51625ecc29aa1030a64ca5bd2d1953ec5fc500694904a3117b5f1b18cddf5e9da3db3e736be5c7f3eec015eaf7f988efbb6cdb9b2d7291bf994bef708acbb996691c33dc8bcfab68ce0bfc7bdd7eebf08cdb32167d8f6edad05edf3823eb5f1e7c84bdb6658b38aefc828ccba3d4cd36177c17f305d4d11c5c095bb0308488d825cd99df9ec3f8f578f8597d975b7dfcb989ec3340b4bde07a2f6bf10675d86a250faceff367a23c2738e85f79fccd38e4d84197b08a86371a5d392c3fe7c88e22f4dfe8b563efca144f03ee0393ec8d2ecef090f3efee969e0a3bf2c38f8408d2986247e340dfc91207e671af8987e601f47bfe77356fd3e8c0bfd7fc6067fc606ff506cf0ab34f0aba3a4e34b66d8fb6c8633dc8fa7817bedb1da51e551f6ae4b2d1fcc2c7b7fed62051c866cb328baeb1f6fa477331144fd4c98fef5f783d9686ddb52321a435745d23c6a57ba65765e91d4ee569e36a263b5910d0cd746386890f733a55a6ffb8257e7e98b5de65af72d62f8e26542e2d75fa69077df4826d9d873d4eda737fa7cbcee75ec7dbc69e694d928bfb854bb1ade5a6d09185fd3abcb347b4f63b96ed3e43f9bd36434f61d32ffac9e4bb245e0845f4598ce1191b83d163765f0dc618bb98433229692d1da4acbca16bcf5553a7d6f77cf7b974976ced66baf71ef68d2cf0abdfd0da1a1b9ccbbef500799dd8424dbb6f535ffc8757b7c5c645048ab2fdde726becc64fc8a77e3d63299eb3be0aa0d9edf5366edefc2e5ed5b4a9ff3f6bf429708bafafef7e2e2b936117c4197f7f3dedf713debacbff4f69238f3d7ab611baa0379bba3e4e1ed73a014397a1c8d47e488bc6944d18449d0bf51cc6f24fb2b3d661f19f691197d30a6bad568c896221fc68f8f6fb61473b1a5a83131feb33f96f4664bd1d403352246f4f8535beadddd8fe711fee85d913df8cf6da9c731f5c0306fb614cd8c486634a62fd7953cf4be0c4afcbb6da9f7f6d38faee7dbb47bec8cab673f4cfdf5ea97b6f497b8fcc5ffa5acfc2a0e7f79c116d02f87280ea35ffc382b7fa936bfc479887670f54bc7c2279038af36bf14e97ab5bd6da9fdd8584ec6dc7fddfd7af7df6fd65cc79fd7c65cbea97e89f3b2f2115ac15f825df58bbff763e40768f54b9cff12ec62047f09fd305af5cdbeffbaeb86f53f2dcebfae37b897379beebffad4cbfc6d1af8d5aabcef06f5df67fbf0bfee82dd4bbcb9fb7e17d4d50a1ba8e1262bb6abb2bc7f417eb5ea17ac9bb8689ff3ca8ff3d5f61ec565752a581ddb5fdbbaa8366f3feefdaec5ee218c8ba8a5e7e919f65fc2d2bf3cacc2eb4748314cabaaae0beee3bc5a6d731fddafe0c1dfc2f23d18427151c5e1a524cafcded35bf5ad9fc35d15a31bafca5d50a1d5e5450699cb03aed77b0a47bd87fe00cac827af9e28e6e1ea9921a9def3bb2e2bd4a3d39121d8eba70bae991f6ede81de17698c397195871b18e7ebdecf7bbfccc9fe73e097ab87d155499cfbdbba5f12adfaaddd27987d7bcfc52ac38fdbed668b1179c93053f4d870bd09762f2f3edadc47abedeafadd7b161d7af975f53e558a7218b448d71d69be84b92f2bd89238f2cbe8f4e73edc86349ebeb71eb124f968dd2f0a8b5dfff125abcacdb6ea17e5abaadafae1aa5fb6295b52f68b8a0d42fde7f755b6ab17b40a2b145757c5659cafd1ea05c5ebe8aad7b22e431fa1fbd57115aef2fdad57bbbce5a0b7f26a5556687335ba5d5efa2fabce89c2e59bf63ff72f65f737de9c84abab9661dddefdb90fe2f5e567eb1fb7bf4f8295e1f5bffb739fed5015177e4bb4b6e075b7a956b0d8c67985f5e4ddf7bb7c5575ffbd8faaaae8fd6cff73a6ee5be119fd53195661c576d3aa2ffcbcdbe237ed6c6fca9640772777b3fb738fb5eee9f944f5f6d77a752cde7edc97755ef9987edb5d5e75c339fdba0fd79bded31b31fd6a93b53aebc39b13e13e94635be7fbdd89a1ca6a1b6eda992cab6d9cafdb57751e9efe5c9a3fcdefddf7bb135ebb3c0eb17df4f6eb7e57bd900fd7cfe3f6114ff7ddf7bbfd2a879bedfd7a83fc7cfdeb66bbbe3fde9f957de487914f113f06556c504dd204f30574fb074bd78fc29d75dc10f06ebb5f9d178e01b828852fc3101fd78c01e02f468c1910e625fe97adcab2b3973f037c63f1f5ae15a12fe18aede6587f0148dd47851fa6035031ccfd81d7dbcdeed3892aebf2a4126fbdc592785faec2dd76751fc430deee3ea5660b5a6dfdbc7cd96cb321a0330fe3067f042ec7edfdf7cfd0d957a1b3ce997b0b9a75e4f80b5ccafb002f0abf96fbf5b0737901bb7c82f7e261fe2df1f9d15f96bc4b3e3cd02366c4fce8f7077e6f7c9e1ed38fe48818317f283edf4dc0cf00fdcf00fd1fd3323d157009d23fcfd851e01cd6f07cdc2d21e236fd35e65090a97b20a2f648fe39edb6fdd6a4c3a49e73dc0799c54a19b39792f1b769d2a67eac355a469edb1e69a37d57df483cdaf9b49a782e87a469d4dea9b28cc77b48437a915dde2d32b606f5b890a66dcac8537b8d7dfb6d286e1438c75dd814a9d710719b463cdbec17344786d96117d072bea0f46441bd7d3fa75934fc4e31c6711bd89b47552032cd325393f39d2eb87fafc3b380999d041459b529162d0eec2eac95ebbab99c82a4df37a461cdd04acdecc32cdc2b66ca2c8df14189c7b512933510bd2aa4d10e8ac268e1308d544b6dd078259265902b0f6d00b4874b4b8b3c3cf53fae95d9e4d006e3afebb152d6de3bf7b0a8591ad2e10e364a37fe463a28b3491b5895d657346b024a2f42914d7db38f7f3baf07fc6e91ab7be8ca0970c03ecc205a640c825396b7796d1f526ceabbdc1e8869a54c99148ada3b9a5ee6efc3783ecc2ddba6508734177994dd2ca81e5f74389f52b4895831a5d122b188a529518143747d8a116a83b957ef43faedfdbc4dfd9e06f49a9592c95a994e8e4ab2dea9a6c62889b7eed739f547bd5ddb6e48c745c29ffa698ffe35300b09d5d49a136c116455e351c20198055acdb97d986b15c850099c53ea79cc6e028a440b5ade06994de0bf9e6bd54b73422e08b908441d85319b796dfa39bb5b984abdc8b9dd798e7d87d986941a85a2f500dca84d615fb8511a8a292b25de4e69a47a39d38e6a3c048f7e08fe4ad6a72346894784348dc820ab76010d774f4657a737ff0f406493f3f70cc1393589648b200728ccb5ab745020da5978feae5b47cf1438a0516756a3d6d27ad19cd3862fedb76d3b7afb39827340be3bba2a472165c5e7b2f6d8a6d35dfbd16e6a65ddffa5f3868228efc34c4761768151138fc2ff3ec2b007cf510b38c734e377ca543a6dee5ccd777b1c3268f916112bb3a5d9e1d2d6858f97797b34baf145210de890951229be8ce542ff55c6ee03b3d5b347d59c344b7342dd6c2f534798375533dd2933a95192f0667b1e8df19768d518514aa310cbdbe3e87dc3af3d4a4fb4df433bcbcf8736cf4739c9d273110a1322068d755ccebccb5c50d11e52b0eee60944c15c45b7e9028b20d3f7b0267b32ee1d3ea137ed3b0ca65fe58b76bbe9f36c482375a6ddc41352680744965eb8addc7f01d3d269f4058e95e74645e0a087f69a82848fa5e9b877944568bfb778cda39772756611ca6583781c667ab64432aff7af5611d56489e03ecccaabe38d2d6c26c4016de331bfbbd6e2987a4d9105b45c79aef6ed9c8a8de5ee898eaaa03d52a83c808cad0347206ed46d5301df6f02b67de6320a29960c33f54a8f8773bb0ea6dd1a0744650f44b5f2dd360d6b6fd17a118847b9db507d93e9b7cd3c8ccbf998cbf3946dfbef8ec15cdd8199784de106b4bced6db8e1f5f3c14a75f1723cd2263ca7fdfee6691ec25b7c73fae62111ebf86f66ad15e3267fe561c692a1f8766550b472ecbac713585f9d789e7fe3273897a320575bfa3f1b321166c22ea4da6b78360b536116894628c9a4591a874a9d4d766aa2d06ac2374f976fe58f41ef5b9757fa9b96f7d0e5deee026ffb8ea50b3daf70bae894cfc66f8a02035ca9377ebc3e7629bb5817fbae7a08448159660cb6e1aeeece0e333b8193fee62cd7c0392abb14365406b3cd9b3e5d52a008c44375d18d9be39256893063b7c038cbfae6b048247a39e31bc59cd0d2d5c66fb771def6395b3757f8629a7747b4b00c124a3c2297a6d7d36d273a5e74c4519d293b656651ea2c8caff87c8edb50a845921e95843f28f1751bad4e6fc29d628607355148299eec7bfc985fae4e0adfcf49ae9afc48edb737d76bcf619a560e4d223ef14d7b9cf769c663fc465847abf1e1b848d6a462ae29354eafe74014087f72834eb87c661d9599753d3e5163a594582bcd7ab498f184dad28a1f493cbf5612ad5e2469ad3661b39849988e8c92ac69c5981ca4596727a9336ba7ccc25a49c25269d6cc22b18e4bd36aa437f89056ea43adcea4ddd294466ac3e37a5dfdb64fafc136843a4b6b259e9ce168b551ca73ffcb59783cf5779030fcf4addd66394b77aac933aaa9fc08becd72b62e1553a31689c528e67aedc45c25cd26a5624ed69a31a995a6dfbff2beffa334f3eacffb57fafd371ffa37bafed544aab1cc2f4da996dee03a3a9dfaefd1895f2ba6452e9209ad2412bd9829a3a5312215332595fa47f05546cbe9e1a89ade4e35d3e372caf9efe4e8838c9eeda21f94516cffd64b73cd2c67de0719ede99824a0981d705422a0a50adb08301308e8cae8d9900eefea9d7424f62b0856cad5c4738ee86936d9298947a8e6ba511aa5e8cbda27bcff47c786f50fa334134a9d59d43b1cdb6b3ea419d60923aac5a93e10d8be534dfeb034c3b5674c28a51e1d94d99a564dab5413ac63268c3293de6460617acd22991c96b39054eac3091ecfa1b23ec18fd4c622b19cb470e6a4eecbc2c7ba6b5a8dbfeef7d2b657f670a0fa6daac61b3e07257e93a1ea665d531a2935f72089c4ba5bd3aca3d2f0c4727ac0fc4d2f4dad510c6e23cd4266914c6a359198e5948ba499b6539af4a0361e81c7b0482684d258a4da6827fec57270382af1e8b0c4b23793d6c6b41d1fd63dc7e54cc274261689c228b39052674aa9c6a3833a5348d50c8993dc61792817265f2f92c9484da4831277b82ad343ad4e4747b5e147b84f7f3aa197c6e8a0241ee6e91f6e5b31a59d325b53d89f97f875475f53c33aba96447ead4e47d856a7d5446b16336fa7ccb446352d5a3dcbb831392ca6c4799cc7a599ae5758374d8903d655ea2c3da8460fd724c5b8924a3daa55ac7f1b05e3da2c92f54169424a49d65fe39af01d2de311a99a13acb77eb88d1e2d8fd27cf36e4de9ae380bc46311ce55a49a7ca3bc5f7bfbfe02c5ee02bc8eb7d731aa64988308ceed1ab4fe52cf3ec476eac9ff5b50619b58754a08fbf3d3d2bbb0d78bbf8fc34dfe0f9a3ad2d4af45fe4504fc23f85baa1543fccd91f0bfecc2f211c38e462c39faab32d56996a046ccc3effa12efc7487837013f23e13f23e17f3012fe51c62f11f1d8e696fa817812d79bc96432510d2be2adf5643299e2c7c97a3a51269309c717d256c4059c0839d3e2279385f83cbd3f469c8661b9c410647532e11ee4f564b296b4c9e479d336f230994ca039994c96056ef5219b4c26023d0d77881fb735494eb179ab85ddb2ecb72dacd8ad5a90af6a546da09de6501e6f61c16ed58a7ead48fc77fcca16795ee96a121eb9688cb8a88c96c998c972a83fbeb2c5785bbd4e5e2b9b7dadaa97ac12a65189a6d118c55925b3af6c717cdda9e3d72a6a0a168a715989715811051b3d6c2160b715aa3615e062a5a836d09f6cab7af25a1d779bcae6a2104da231da6f5867f25a7d9b146a451615e4a27181db278b2a223695f06dab22210e2b312e8fdfb6b04873a8725189ba7f6181ffa21caa8faf159a45655b978bca828fc668bc552bd4c2e3bec262935736bb8585928415869b74b04849948e16dbaa3a8daf60b75541162c688a0a76f8e2f2b0852f36aa9ee5509db465658172a873d138c26d2639d45f37aa3e697109d12667d5a680b029aa08d3abc37b5c7cdb56d5a2c5a32cf033178511c663bc8555d2b63dde4ceeefd96e7c2aa67121c6ac80699de650e8f039d3a1c5c1986c59f86dab16dd3c9405a6d7a860a3d989a6ccab1a3d6e21d815104c4e750f05f427af1535d9aad1b1a8e02c1a77e37fad56932d2ce85715cdbbf62afa555d4d7296fdf6ca56db8daacf62a5a573b98136eeb7aaaa8a7d65abace527a5a5b19a8415e6afc757b6e58b6dceea69aeaadf5ed9dda4fc06b8a8ccefefefbf2de7472dc032f14aeb868994092f502f55503fe6e8f0fcc43cb0bbdd73badb3ec027ad369b95f9d2c8bc2c8fb73a118cc162bcdf1fe3435abf3cd7476ebd3ceeb6c57ebd5b36636a7adc2fe3ecc59ce52a5906d5ce3a08ccfa20bc8ea9fc25d891beffb074dcf2d17878f066affb52c8fd30ca7ce5f9291ec5f7bb85e83eee7656cdcaaf282cac0359728f8ae14ceb393f7edabd36a1b68e4b7a112f724805e9cbe179713c70a3dd9edd8285f1f45897f1e354f2bf3561cd4693957d186fcbba5c06d5f65eb4b5cdc8d30e5cab191c79a1134669536e1d1f70013a18026af0af6f58273ca7dcdcf3f835fe3d8184619102f7cde2e793742a6fb6a372e3614df0cdb074ce9e258b17b040ce41e67809ba47e751084a7b672ae66eb2dd0b8f08588fcbc79d9d35da3763c53e6bfa32d8b9ac52b2cd23db2c036abc9434428c522ff48e8ae98d1e8acc44b1470905708899ba0014bb7e582e8bed96591ea633a181f48cf2e8ea7921d2e661fce29aabfd7832dfced69ce6172f2e273d7113693a62b56f61bcf1a713831fef72f1db221ee96383df6513439bc9eb487326b130795a3ff868fda0692febc313a7ac9f98ea29e5971059d56bfda4f2cf51680bc213f92a4793a9613fe9561472f966b325a6f6460e5f6d895c9806f9a8650454f7ce6602a06895eb2c10645da94786952a0bf595da24faa34e97629ceb8f7a1c6c89e8db517c0ee88717617ccfaf490dba9c74c8388f6a2675bc8f129ba3ef538a99be66995770deb7a3bd752a61568d83272d988035cc1e56076f91ad150bdd2b8bbacec7bacdbe6cf88676d471f42dfcb6a749f67e45192eb37f2166d0dfce36d4927a6ed20772e57d5b3ede6b2c80aeb20bd46dc6ee1e99e4e17e373f1a0ea4957dded40ffb27a3ba5f31d68e675f6461ce8c9f0a7b717c7a797c2093477602209914993b0fe037cc25b2ab0bce5c4f3d5747cb4cad812310409b600feab83027c4c29446f66cc22c9349bd4c94d15383ff4e0e87972258b76b964de8764400512080595401d51e8b9a28c9a4560ce2a04e897a296887a5b93928c9a6594e4bfcf7a02ca6f9a819611400e46d0f0aea1ee43aedb9329accdbddcf4b54c060f661b60a1e93838f2bd874613973ddf0dc701dcee57dbb4b667407d125111da0a84c26f3381cdd4bca742e384fd3e4c91cef1563651b9389924c6b26991e95842776a630514c893726aaa2a6937ad9d8d3d982524d09bba573459bd7234edaf09bdd64b97179d7acb5c4b15b59e49160a6c64ecba6d3bfc8aba8f65f27d39c60cefec38824c9bfd77f20ffc24c9a47921eb19f9fcef883fec3e3e378341a3f8eff90ffd04dc0d97fe8aec4fbe940fc74207ebf037192ec5e1ecd5ca540ddc5e9354a3878f6f8d8e5d0b4d78156ede14c0ad6016defda2bb2339b3ec5e248c5e4774b5362a49975548c11a32469dccf77504dbe9662aedd1bd73276d4c65a6793b56af2c736566cf4da882f7914a77aa75c9081fc95647250bac370f17372cc4fff4e9f52d058292308d5d476cb99d64833fea04e47b462dac9c2e49b765f66e6554b637458ced6959278e422e169c520984532192da744b334c39dda5878bc9592f03bd55446d28cdfa9b3f0ff67efcdba144597fde10fb4d77b9a41b3924b531491c10164ba13c89251a94464f8f4ef8a7800c134ababbaf7fe9f75f6ea8b5a560a3e438cbf88670886e4196794aacdaa0de65dedab0acf749b16795c579baa355529f309abf2e269a32f0aa58929595f9472e4514a38ab36bc58a8cd89d033f228395a4c146d56cbd1a116c153463b0afe56e6935289bc93d29c0af0a022bfabe4e8c0a8daacd968136aa37b274557e07713359c91f16bb35a8d0e85a27bb5c8c785c29fa6302eb59eb02abc3f074f3aa195e67455b409a536f64969e0bd1d2deb8b891ccd68359c51f08e1a1daef04ce56316e848c64f4d156dd26cf4dd49d16785daec6af81de65b79689faad5665728faa99275b1507591d010c6ae8b25e6616baad9e0dc163dedda35c9a9ca5e4251c03c3927860aad3636633362283713926b6f73e06ae415aa1ed322bfa33773e06912c9ba026365646d522b917855318f2c5ee56847ab1af28456f8d3558e6ce0514b8705d261c393b92a384ea403a386544b078fd0419f311d1f653daee448017921bc9e531d5f192237c857569d13beaa21f647c1dfc8d7c6beb67c3db534607b1a603e74375543aa50a25d2df276b1d1e35a467e1d08ddf9d344d626cc46f7ae8aae140aca935d6c78efaa60ae5c64441ee94d41dfea7c32c1df3607946d1975713651e7b3a93a9f342ae802c82a7fa2447e31d9ccb16d94970dae53ee68d0810dbf9b8afc829623af52b45985b4d34f27253a151b3e863e29393ae11c546dc2aa91ff22866fe9d1acf2ad26464aa3504aba0cc4f0f55fdbd55be00ba713da17ccd54f58253a9d147d57ca91cd6e0405c6c4221d436ad2ea67ad807c35875ad6817ea789ac2b34f2127e4bf2d98cda202d6859171b943918eb7c027200b46036bc7d5248be9c253c551a459bb19bf9a45174a0c5ac501aa582b9aae184519a56779a5db1d10f480b35b26b915fd4982baf67984757f4c54989c4428940ff801636e8664dd60e405fbbf9cc269dbe76f311f953a7af83f9ccbaf95ce5e8c4aa1ab6552aa09b2007fae1a444bb428d4e0c99eb82c2b1c03c9ac55505196b1613a2bf30478aaccb454a6bdf144a8e62d40f39b219784ed6ae41aec442e117d76e3eb2decd876ae733e6ad9d1af14670c2cfbc5d946a3da155fe74527918a3cd28a60236b852a2dd15f543a3c09ed64ae3813e568a0efd7a4017d0c7426d9409c9ffdb20f713358a7b3927fc3b50201b84b7cab5e5eda4e3ad1a522d6f771d6fe1772d6f516e3aded684b7a823c8db8dd6f216db055ad8d38eb74addd1e274bacfc7aed510fd43adf2389f5ac1b55a988f37980ff819f0a33b5ccf06ff24474a85fcd326d03f856bdbc4174c149e8c5d8de2d306d7e6d1f682ae804e3230c6760dabc6bd05fa8281b928d1ac21be20a6c046a8305f90814604ff4881adb9f7b11ff17463ee23356d793ae79ef9da46e5bd428d3c166c31f059e18348d663468e9492d8b219f0a6dae84a41d612614c87ab12c5609f264a48d172a4809daad47a3255239bd00ced2efa10a0054d7c13d5008fc1bee33a347f6a7dab0db23d05b947bf8e7452aad637c1384a591759259c50c8ef70526e74d021afd8f022e807234736b6af6813067d65037a2536b8f7313a4d941a74d6a6d49ac275edf637ac5283ee2c4ad073157c4c83e307df7552e7934a690e573912412f59391227e0ffe4c8039ab3401b90838dae50e0b7c00e77bf51ea09bbd12816d78343f88c1b750e9fe0fff1ef520dc1278857453f141bdd6be4289eb67acaa8f35985d800f4429b546ab43ba18dd5bdabca1fc0e754046f0046a2a8cd9cd87215d70ae3d62e7acc663e9be27c4027d1e7db40af09595f5c10796ba0ff1db407739910fd88a7b85fa0065bb43ba9b8ee0aed9fd04f8bfc8e91a319d8ce2962a07ac22835ea4db3e1c513ca00da69f0f52782c19a1de09c92e823c834ca17623105f78588ac0b9fd10cc652cb91c22aa6526cf819e0b342e5ed063e377c7c52359077e5a4d6937aa3f77f035dc87a37e873a35c010bc0b8e4c82b558d2a141dc75e28bc42cb807f614e21d8b703f06e0afa897b1b790f71a6c2abb9acef0a255a30045b2c1ad554e8562e6b39f226a8f3843e136c3b82f1b6f689f7408e6a8507ff0d726d33643d1df488e0824d8b35d5e644a37de177a41d1decd1027d9b1c2953c4487adc88bc073a38253648693c9449bb5251cec0aee0f7347cc27befa1787bd07b5a413a1ed086a888a741ef09ff890c02ffa98effd796ffd78effb2def19fa2895e7a20f3f44607bf3fa3e5482c150d6c8387f643453d39d532d82e3e063e3372b4a0d539c5a8a83b41043814301fda64c45e0afc9625be932ad4266e6de6815559053022e0a2ab120206f25a9feab1a09f4a5a5ed508c73c1579c073a74a6514c45b1bf0fb201f6093413e23b1c2bf7585605a907f5cd35fe7b26e5372a430300e884536188b00569c816d2914c07d406f1ee8861896eec7587763467f761acc8fdae807905db067571c6fd8629cc6cfc1c72b104ff136a1a3a95c01fb29d1819623c03c5e097106f829e807fd3ed804fe74427e415c837608f80fb8177c9748a10e35608f3d687f0272b4e16dca6be07b8542b942bf42bec7bff5056b378b0a78ab44a7ab8af615f45a9c804e6de61485730d678dca8b85d2ec18e8478960fc809762868c5304bf8a311cd9230ffa0e580c308c5d2b353e9b6c78e5d4d97f91071f03381d69c328cde2a4800ca17e61fc55cbd1ae01ecd0da22f041131827fac808e240a542df5077be077c03fa9e46d645a067bd415beb511b8d02ecd6a8fc02e80831c155051a02ce073ca0c72d5d6388d11a42d703da2435b2a784aede94d00ffccd82d9e07e10981b890b084d21ce009901dc4ffe6e7d502982ad40bd473bd9281047f033c00218b3a8730a62d909b18fa74a09c17fcd1ab59e35686788ff6554b3bce2dfba0834033e4eed9a6aed3bb17f689375af21d81562e043a1463356ec6d33c816da51b4a70497c40cb1e5a0e38ba94ae6556e70cf1aea36d0b5409f416cf395d86635073d97f5bb5d57f8598d7aa6117c86be00ff0f3e77566f34f02d22d240d541aec0feee28827717d5067c574d7202e01b11a363fc6c5304a72d10d740dcad6818c381ce773e6c72b761331207d614f1957cdcc6c760534eb89f07f901f107fa4ac0599f6220880958c09b6077d45469b12ae03b0fb007f869c4f6e06314fd3001bca8d44037b151c3c95401dc12821d8a11e3293cc62820a310afd5102ba39ea07f82d8212ed4087c05b4b59ba8adace17c50364f8d8878e000b463d57002b2ce20163b2bf88eda80bdc258617a7f8722efa44aa586930ab116dac713e9933fb104ef1ec0f775e3b9dec783b89d019c03b128d0bca305604182e59516b7437cbc60710ce05f75c0653306e45ad52614d01ce70db17e03d87e06e39d0296c3f85d87df032e071986d85e84d895de681873426cdfa898cb00bc3443bba0e880a5176d7fd0d60ee23cb4711883937e28916ffb59655725021f7c9a400c0ab2a2f0fb48d54f10c311bc4162c392f8ad5989b6086df68e253c10498c013a128953823f0fec660eedda35ca4d0d31778bef2394f71275ac9eb12ad875dcdb3983f1b3882f308720b6b12df86ecc55813d99121d06cc7202dbd4e25de8837aec07fc55857ce7ed13c9ed786d6c29825e4fbabc8f8ab90ba0ddecdace05e325f4ef80a1001f000e84f80e65cb6ef969637ca0cc41963c62539b5945fce402736eaa0eb627aedbb8b66ef127e8f96443f27b105b4d30fe0cb1bf12f5e5533f33902fb05560ff4a9433f26caa6a28d7e89708e6f0aed8cef982392a99f1da38a9db27f61fb8be343c7fbffcc2e5a5f7d7ba159d97e9e4f7768451f4bfbdb4d17f6c4f1847530cfb8da57f7d4d87febddb4b5fd8c9f485a699df5ad3a11fd674080bfe59d3f9674de76face9f48afdd5eda549e1a4af6d0db6e542a7d48369bc2d4552b7fc5ff3a8c21a6ca250056eea71626a14e2f8d6d2dc65c5ab2f706787a912d96c6f53c41a45584fa83ffc838b3e73f1736df2417da57954b5b5e7b2c77a718d9f7a578f7dab8f565b173c7aa87f89f55ab1a6cb89dc1449fa96cd7de6b687959ed64e178cbaab33be15e8e0684e063747e2eda9c1d19c265e486a993eaf31fba9be5de03149ec68782b6c7be086d43a696ba493bae4c39ab83fabe7a90d6f1aed6a117437cabe15b6658f6aa1ff798ddbfeb7a339915aa16f3f7c4ba58ea63395cd75e2affce453ed5632d64fb5037f76d365bb28d3d55abeba26171e4dac31fdf3db2e5904be7f7ad3e656e0f241dfa197026fd5da37e9f0799d63ac0f1e3cbfd9950bbcd55b7e3455729f7e28fe6bbbc23ae127903fd77aab5d76c689291e920eb7f1b8de797fdb66d4d68964aaecab1aea72f3d3fae63fad9bae99d3d46d801e6f811b3def673be76e2efff39aaa4f6a9ab73276afbbfc285f7dedc7cfb7e70e6a338b4f6ba1b607281fdbfced9ab68ff277e417edc1556362a39e1fc26dd8d60dff5faf61fe50137f81b6f7330db0fda4f0560675af09b30e1c21b9fda43638d684f352d0812073843dd8a65377b0fd739df1b67ef2e73ae757652e9e6cb00fcc35c11ab8ddff9fd0fbe1c6e9af6aa33fd820e853fd6eb5b5cbb1beeeb8fe3ff0a53df4f9a936ef53f918d5746f6b1a3fd1a79fd767ae9fd9c22f6aecb632a2a31efe37d4d1ae12e7bc035d21b5da7fb776b6f556125afcb57ad0835a5b667779c57f45bd78d001b31f0bd0f73ebfdfa4f1bd6efbdfa6f1c2b1da3a6fc27f491df8f616ed075a3fcef3f7ea9bc7fba4abc787fcfacb75e13bfb7f4dde2dffe6a5fbe6bf42b60523c5daf1c379fd924cbf7d7bafdf6adb9c9e1d6d56688c31f519ae76566a8f959f62b5f3f59b7c461e002e7a5e137f75fd260a4681f5bb9fb5f54b7c0a6eae793819c65af9afe0d3671b24ba0c9d884b43d3e7bfab13401ba3ab9ffe2ab3b32ffce3d7fcef7ca786351fdf8c435c3ec540bfe4b3473effade5011d78e9357659bf9035ba702c9572ccddc949abe47d4e273ec4b0cfede36fe3cfad70aadb03a5e446fe397db787d16434c7ed9cbb2888d1bfb4cfd07fb92535ead7302fc35ae77fdfeeec6f36abfcf7c8736f7706f3fa0b76672f7091471bb5bb22b1ffb331425cf6cee605cafaf3180eff816e38e63416bf68eb57f4413797599f6b18d64cfebfab1357882786985c5cd0303fca36930270d05fe1db984effab3ee3b92e7ff17ec7e7c36a7db319a3f1ea362e7da6937c95b9e737da9ff7750e6bdbdc676e2dfe3cf6c12a3e7d8e25bcd70fff14e7852d8f9ec46c8b4ff86c2bb4b19ae0dcbce8593c49553f894d492c07fc5fbed52ea3261eabfc9f89f10eec3ef0cebb932f24ff6db19eee0bcb1a64ecf817623e4297fd017ffb777dd4d228c5d53e03dcf55f69f706f3fb4d1c60784bf89da1fb2bf16f632ec352138fe42cff1be8fc14730de7f8dbb4668cdafdf7e43156dae153cef4ff228d73c77490ae7b2a59fcae8dc0dffc6ddbf0b6de3fc9c1fedfb3bb74e63ccaeae1f7698abff9db345d2f77874afd6f88074835b7477bbb4e6cb3bafeb64f4b8dc015a8bf6d670fa971feafc96176f1d6729d38cc5fc8a325ddeffeb64d7d33ff1b72954fecc0ceb8fcaeaf7a33ff0d79609721ebddff057eea49acb9bf91b5f6dfcefbb6bffb6bf4fdc23e3c7bffd93a2c60eacc66aae453a5c610ff7f85d8199fad1ef751383797bd57a2eddadeceb9764f057cd7eeeb385fbf39e634fe6e51d27f60d319a977f3ff6191aa5fda7ef6f907dd46b46fafafffcbfbd0be71ffa97d68afdf98e9cb94fb49e5c7bfb70f6d3afdc67c7ba1fea4f2e39fed43430efc7335d93fbbd0fec62eb4cffafdf57e345fc0182c974da3f6528eeccd8aca60bfe0786399ecf6da1bee49037b765cedafeefc2db7cde9192f750cc5f1de2d81ab656b7f73183f7734badb8376eaf6adb926173b3a609cb69aefe77d6758091ac770babcda2917bfeb13e9711f99c73a67d9524b2f4da876cfd723de421ce06115ef7de0a539e95ba3e3a34985cfedf9a8b238f846b4fd83361143905caad8fad7e7d8e571bcb6a5668e70c03d77a3b8a0ddff46f69c8db0d64ff0e3f8a2ed165bdcf1cd0306de0acbda1792c8150e9ffcfc008f3dec37ebd6328cc20fdfb67e6ad47e9a247efd6c6fce3a7719f5c3b38c9bffa48fa390005689319f6c894f729da76a1b73376fa50488c93ee76601a7d10a3f3b69e69472ac75619be5e9c0c0988c5a5c10b96df1dcd3dca6c7eea72e5ed20e58c9cfdc90a65c76f6a2e846f9ce5f01e79f8fe6e46aa71ce50bdc75132d686f75fa264653dd65d7f5bb569e6c737272b042ba783a0acb4614b8a82d6e10cbf3b735c40e980799bf358eb5665046c8fbc156583fc7437c79b3d3ea6633d7ca3739eae152fbffd7d8e4dfbf213eca7f0e45a2fc7ea9d1eb5fa93fcd30d36f53e675fa1986fc6efd697a5c807afa1f2b16c6322f13969b305f170b1bc38a7e8abf084386efff6a01ea178aa55e9957eedbfd8aa3d77f0a50ff5380fa9f02d4ff14a0fea700f53f05a8ff2940fd4f01ea7f0a50ff5380fa9f02d4ff649dbec83a45f97fb6fa7494ff310f8e1fd7ff718bb39fbcff4f1a9effe7cfc2cb673fe8e24d86faf6ca72bf97ec66feddc96ee6df7c91ee3da29b4c18fa856327df7e39d9cdfc56b29b61a8e9eb0bf7f2f25bc96ee621d9dd31a10b3427d43f19ef7f32de7fc1f63cb50df7a4b75c5f827938fb212ed48b6dad2939cd1afc5be82b2147474c94665df564499c5f4efd21a0e882373cc9d10cbec7673b862bdf2d721046e445bcb1424f93e858bf2d5cd62f8ee601df3ba446ee98cbc6317727df9cc68e259e7c2148c405bd36e678e83571cf6a721fcf5bb3095f6f0e9350c79511caa97a73b5c1f8a8fb1c64669dbb8c7873cd65e30b462d53d57a47199b0375285c7307fddfe6e132f5cd69440ee50494645d33273c852eb3fee1982a254614e7af92d231b954148c892770b5bf52d275b8a6dd749f38695238e62e14751a37c7ba8c7d724d2ef6cd2a914cfae6ac8cdcd1a66d35e37db3b5761749bf2658c555485269be1ef42f725bacfc69dc9cf0ad5b8848d75d3fda3470cd5de608467a34a789b4bcfaf26a976d1823f718e39b34ff7a4c5d75d62ddb56606d2e21d21bfb3062315c0ce6e9e72eb30e5c9e3bbb0217da66f9229e8da2ebd7998bc1609c8d6356e996551357b05f7c21c8bc3a2e764c1078e71de7cf4fd9778bba3867a3b0593c507991ac6bed587bda4b27a7c1f7277f1e24b230c98f5af26df8bdad053779a564ef0cd06b59980ce7b77c0a1ce37ab3b4e49b9f2e6b5128393175683755c921a921ef56ebc4b38ccc037a9efbff7f3b9af645b494749d9699971a946fad0b51282f6e5d06ca3cc6e75e98f4e3f5c2e026cf17a5a45f191b6455a70bc7f24e7b92ccbe88b11ab8e9f4e6cfdf8056b1287432303b8be1f526d5e2590ce36fbe10d42eeb9d7c6d1ab59712a83ab537f485f15d8fb98345395be3305d8861457fb79cc00bdfe2ad39755d9ae2de995e0e5fde599adb3086ebd2b4ab2ca9c26696b93b0f6239eddfc987b4f7e71dad261cd2cec82bcbb852967ee789ad05c5f755454916953bf36ad4963faf3a1e71777ae1b88aae42b6c7d229d002fb5989bfcb93dc6da872c3bcbe1eb569ee98d3b32f9cbeb975fe21998bcb11f91d7fbbf7bde4a4555e6d92eb488f65e190bbe1588e8e5aa7dff889fc7374ea6685cac5641657275e5cf7d1ecba31e86f0a4b65eb3997c9c28493e949242daf816c3a6ff2c12e653df1df1b8793b4ddeda855d956e3debdd40f6d9df3a465d54861e04a35ed6fe92a96eac4f3ea4b6ead941fd232ff900dea0f4bd87d4806bc57c1b38b59e7574be73c679e67f81efffa228fdab97aceb22c2cad7d0efd90be83affb1efc666e7c1a834957b1359ffa30bef5e7b1b896b0f7e484fa908c32f9cd31d55bedf562adbc0f497bcddd8676957959cafc9b2faf144ed1aa7c6bed0ad75c523673ba381ad131779e7c73793a379ba5bf619c9b1706f1569f7d73f8ea26a755e2a63e75e4afb154e7994b5f634ba74bdb5a37ce2129fc79909bccde9798ca759654aee876f6dd049b783861db3c4dc9291df8827a9184492659d77c6b56ae6250df9c94ab2561c729fc35de0aaf852b1885c3ee2f1b66f721d5c90ddadd5a6f81775613cd9c529250161e53653673b8286116cbbcf8c399e7b5a495951a269c63568da3bd818c8de679d4e2ecfd2fcd6bf7a11854b66115ce1396b5c718822b70013e6bf6be64d1775f22949c3f9f5e6d6b1f1de74120811dfd95f91d8036a7c24b39da4d7717ac72a865ed389cdc6596942454ae33cf2b4b8bffca586a180bdada33a9dc0bbf271bce28ce5d42bb9d8d9db6f232cb9525457ea305b7ada9baf89e416592b54efc9551bbe7819df9531e1e2e485f0dda1669756843560ae7b1d5abc2539cd770b4b45272655e56927ea9648173159ae2bcbaba7db7e8818d790ba4d58ef824f864d14627a08fc7959a3fb705f165db64b1637ad996fe89ce693fd3d7f837f4f13577a3a1ec1fb20d8c579874e3cd3ad9dea7d5cdb6761737c9a9a17d35d9c3a5e5f5da3de3739001a04fa346b34c5ef5cf3b5928cc66ed4b48e745a9cce3dcd78207599a024d339954132e25ada2252169f474b9918438db368b9723f97d665934f7dd1cf88f95883e0ce4e2eecb0e9c4c4f2f3eb3fe87e6ff099a0baf17f0fb43dce6a75ce6cc67e556a73847b353493870dd77a24e71fe326f2c9da3cc46f537d12293e7ebda61d68134173ffc655e5a5a1ecaf35928b17bb0c31f62589ec4f04ae13c6a3117e7e287a3e5a1a4adb9a10ff76af4edd93bdbda80f0deae6e2ea9e37c4aaa7fcc03ca6cde7cb9015dbf540a3fcba45a4cb04f6a6cef7cb43fafb5aa1f7e10dae4e15ac3f1a8b6b5bfc8e7f50db0b2b4dabb4a42dd94e8404b11d2f9430c0f385649305ebfc3739a7efdce2fa0af4c3c8fec452ead76b9a32503bbe3dc8ee6ee0476676b1ed27518245babfd6ebe80580078f607a1e5a592b43244dba29d08dd9643ba2dfd7e7e2c8eb31fdb333afada1d23f5e35910bab8665248fdff97134938e4fe3c8677476d008def388aa6e4f3fe7660f7f5d19c9e257ec148da94726903371aed9865e368a76cd3f3ed2db9fbbfb2ded6622986d764931a1cd1690562071a62a501fee4de193ff197ebb39d82bc5667c7da8b1e53059b74913b8c411d523fdc0cf0e6c8369bf1c59f0fb123c45687bb3f9f970d625ec6a0b4959a7fddcee237daf1c3cd59c4ffefccaa3c0a8b97e778fcc0213e1de07047e712d41f900bd267b6650c908917d0370f70ac16ffe118201f19e332492cf26f9c2c04c9fb52a53c88039bec31beedda0fc55afce8f444d2ae44bec1bf32a813b5a5259cbc5a9fede4795b633d7c4bb6fcb2d5012a5d9ff1f355d1b91b91fbf8453cafcf76f8a5eca2ac927e89bc62dfe952f757ebcc4dbd17b7ae4ac75a47801b3a397be0d158bf84c3ab6255afa83f9a9d123d2aab2dab107ba65f42c0ceff8bb62313cf540efa613346e10bf7b97a7575f198aaff7b2c33635bece86505f11ac8ca3a74f073cb2ffe70e784479b707df198f24268fd36a47565ddc7dbd9de04692f048d3b188f3bafc0bffed278fe826fb8f88cf8cbe313c3fc326c0ffa50b405d8d03f5a994a36a1184a9d1c09dda520bb4fba779795c0f5e7d3c61592c8d14ea5cc2be8073744e72f5bebcab57109b177e15be6866f916406ae4d5f53cba038e74ce5efcde145b5685fe6c517937994cdaae8ece551a72989df65b2b0003b57491037990ff68660cbd3d19c36beb02c6c06f32d758f7fc3370ab1c57c71217997b7cc3dab946d4e23125f8bd9e05dcc53a0cdd0afd451481af9ec042e1e585854f26a7f395a4ae1a7cbdc378d660bfc64c417b39901ee282d0de4b11cffcddaa3bffdf1fb916b251f9b2427589e7c17b8abb78bad5faaef7ae737f2d06b75799c1bd8fd0172636b53b0f11afaf8d52e9374ae1dbb9af84b27705746e2d527d46331449dbe383a1dc8a99ff80b90e1d66eb2647e1e6350463b47698e7a11121d411b5b74361bfb029b81749d368eb5376db3a21d4bb98869c0daa1486c5aca85c7d488fcf9287747ad437b24a3a803f3b8f0ced5eb5876a7b563eefe78da0fda4bd2cfc36ff2efabaab5f7b360abd3e04b31d7eaa646e335cf6904d881d0281bfff6ecbc7e5f0d70877968e5e0f07c5c69d0f8cfc7c57e1ad7d9bfe025853f1d57c7bb7e5c1c999392aecf238c54d86c12b840c3a7e352afef668efc942cea9b174e4b2fe528972517d7bd334903bc3f9a633b30b25da45dc636abcc5951b9f788278636637597a903fb1680efef78665bebb36fd2897bde2316383ee2893f6b270d1a77feb41de677dbf19f8ee737e7d5cafc633b36434f8f235c701a628201bfd5d236d5449aafd12e88611578a94fbba651f82b25fbae5580e3dfbcf33a78d7ffacbd4e76a6f01be2ab16cbda4b97d33f9b5367df64a0ef8ad07367ad6bdb8a7f452640ce0af8cd77b4775f8d177d06b5b5c67ddeb1efac423f389fb6f690a364a4ef347299690431a1c9ee0a1bf1e2d297f48c3c3fb7f4a67e77aea017d70e4ffdc531bf5132caf617636c65dc3e3c1f1bc905efb8075a0ec6bc03bae6b89e93aa10d3ba3d7d0c0ae4a3a5d5977876843b7c9e7b9495cef75c9edb8e65ee0941208615256915fe16e6e4a546fc390e7822df0bf5629bd3c231cbde0628f33687ceae13c79c7c8d3d06fab66382c04da7893bef7c5a59c9ab1dcc3f8479fce5b184642cc73f6903fd164f5dfcf981531abb94f4b2dc360aa3ccafd4e6bccbe42fc64a7c4b59b6636d6ce409b95cf4b7c7dcda3e452363260762f68563a9cd5f6eab9dbfc72c81e6e422ddb3fddb3c01dd1ff0843d0a09e5e0615de52fb4f5c05f61191d99bfd556ddb645f4eb67ba72d701fe282c0b373572c443ac1dcabc98fbf3849305756aff05b9451b55dfe5df35976788d97eaabbcfc7d3fa8a9e4653c7ac72977d8c3f7e634cad1cd86915d84cfed7dba95b7d128cc9d35874145b2c8ae17bd2a37d461dfd59ac3df28101bedfbd57074f7ca2983ffa2c62a7179d9f0d7e65ccb8ae64fce57e7e1eab3ff6d5c5c0cbbfdcdf97f1f250ce6c6d3a7ceff2c4b7e78fb190dcfa86dec719bfc0a374143fff857efcf097e46af0de27b9424c513df7835af2655cfc40af0fc74a58975dc7cfe5f627ed833cc753da35d78917fd1adec036a3815d58e6a5a597af8aeebc623e402f5f3798eb58fbdfb52af74d3a7353ae395afb4f9803d7be563fe927ac92ad71f56561c229fcb5d8ae7683b5a3c9875477b9b998f397d7a2cdf37c738c6b61e974b6e5a942e195a9129dfe386aaf95124ea64a94b5799fb79b5f9f2e472dc76a5f92f65a616521adace568977defe372ac54c548a981393139f22a55177f3806e63eb0c2a61266493bdff662ed65e3f39f6c699f87457ea415ed9a49e1b26ae6afe28ba45505ae47ae8cebd19cde3c26a1de1ff2b1db740231f7078c53d25e2f6e886387d8b890ea49a96af1ad7f8e7ed9601cb3fc329fd9cafc7dccf3c7fce68453eb49b5add76fbbc322dca4877f6df55da1eaaf21fe1d8ae177ad8a6d6bfdf18b78126dd67d4ea77aa3c73fdaf5067ac37b3fda9c52a5e8bb1f24d718df14f3d06cf945bd597558e34b7d08dafe704c12fac869e2304bca79c4d3835c91cfd3aea55509aefbea65b3610e205b94c918fe56176955a39fc535ae63504ffdd1207f01363104df486c89cac902c9033cc39b0f7c19d9a2a11c609eada1c9e779977f9503005ce5683179ce523916ba608c2778afcd9b3fea20b4c10fe4c1007e501cf9cc28f9f99cfb9c4d3fe7951ac0d86d6bff04dbfe72df20171cf9fc8dbe857d72c79487bf41f3a52feb347efe0ecd7d26c87ce1b768ce0eedebafcedb07391bcd7b9ddba6faf17b7236d4cd5f96b32ed7769733769dbc5b6a649b55f23b7641160e9c1c299d3d2854621b889dd517c41ee84f31e9a79c9cc91c7247ab126b302e9ba912db7af4754f6cf3a798f44ffabcc7a6896c1e7ef8f37b9f2efb167896f11fed5362c67d7a2947fdb6aecdab62ab0509e6f7d95db6d6154619eb5f69e974b1e5677f60dcc94c5edc1e5b7c91c76ce3f4ef5a753d5aa7676b124803376a69007e7c5e05fd1a2bc929fe2147871747abeaad2efeb035aa928557ce0d3b1c73ca6433ee7026f8d166ab9d2e5e98ddb63a755574aede84412d31af995c9f2a89157fb8759c49cd22931b317779aa9247798e56bf523f9456ca0f37c4fcef45d2aeb994c685971ab1348f73afce0a39f56bc7340a691e7fb8f32c1bfcdd3e5fe7be79e87f6ba715ed68a74cd2bab107458f29e7f10f5bbb66c3bf257e71b5b518b033e55299ae53933fcb8181bfb990bc5f7573d3c3e3fbc4df913d829c9b1aacb812f3e32719ac82ad39b9e79806bed2ad715d2593ccb8380acb4667fde2b05adf203e001ce3d671ba0e036a6b26ae4b53b9985c6f769a2536bb3b913c5ee28b11c581ac6dad2b375c939653357085b25d475de25ecae19a8fa45f4293e9f2f96f1bdfa443c75a93f6ccc31fb671bd593a4d6db010937a738543e174fb3ecf06ee7f744c72c1547ba9c7a9cda3bf90bcd270cd78ca412c269fdf6a97dddf70dd43c37d51916329dc3b0b383873c5f33a71e6622eb6bc17c332247c5efb98f7e433574c03dad1c45c3cf77e10f811caf3b6d095803985b05fb3a9d717df3cc0f3519e06da6ec71bf6eb39f77787b90ef87b98af0807eb3d21e6e84318331d38b8aeb980f7bbd8fdfedb1a31ed230daeb615245e437f432c97e480b973ac00cc8bb46ab4b9f4246fd488ec65c13d2fcb3637fef47b6ce7d3f76deedaedbf9b9795d2ee8fb12c2a7f583fc0b5a1ce277e5eab1bac0d7e96f70265518821cec8c671460c58b0c05c2a13045ebca42421ce2cc002ecde3799c47fcc1b3bbd7edba9244c0a1bd74a5abdd6aae2995c0d6c3bf7a59d0cc1363ed8ee95d8f9d24e3673b7e9620c3a7817e01d855374b2aff6615db194e7eb76ac22b7d5694a82fe87fbdf85434f0bc95cbafe12e7775f871dd00a6daf69b8febcdb171cf864ef3bd9e7395a8b32ae949ce25980377f7e2a2583ea7854000e77a38a1aecbf2ca43acf6ce34a5924b64bc6fc9864967e6d70fd69b8c771b46666b85e02bfcf4b0bfa22be30df5a6b9853bb0ff3cb383320bc9efad08e0bb12660ffe6ced7ef26d06ad1f921aeddaf70b5add345995724e64ce9cc0d4f953cdc5764297fd89dbce859236971defb76b06bd6eebeef5d5fb4f8e9f067e3a5bb3da3b83f889fe5dd788ee6e4e2d22d1db5aa9f17f43ba0efc3de8843365a5b9fa30fa825731780ccac43fb621bb8373623eded7d494059c906f164a0ac3eebec600deb6bb98f68c425036c3a5c872cbab5e3a1fe83ce6fc253e89e8dab9d1af5f89cc8047c54b16dd7421e7591c8f614f06b2e0987acc331639c1350b230e9f2edd9173adde74a1fecd1a7bd06237b448ff7fb0fd74ddc88cb202edda413983bfebf9dff8b2424109372cf71198c371e8cb7fcfa7cc9aa3d8352dba9d4ff7fca6391c688ae25ad1aedf9f2705fc5e245d14a6a13ed394b2b9bdfd8ef4f644aab0a5988735ba7077b7baa1af7d819645f0ee03e9213c03c4fee35f440af82405e89b95bc7b9cbf7df07eff3fbf7be4ee723ac2794a87f8e4e959b146c4409ffbf78217d93348ede9cc5eebb5aaa839b6c2e32993dbcb80dc5b973b26f469de7175b039a70b4a49517471f8ee9c428f32c9179855100d3f033dc43283514d9272ac49cb4523edc797c53c2aad89a643c0a9f61ee4ad5395aae835c62956c733edc245ebcba73ba91b4ca7534f4853fdc907c1e0d9a7b3893f3356dc167605c55dd90be09f56fa025d8228a73f9d712c6eace2f95a32b37459f01c6e6bc864bb6faecc50619e6b964ab05b56cbe223dbda8fd4e173f24e11530efcdd701bfd339d81647a728a90e02d912e1fd4c9e07c9ddbe2585c4dba5941e728c4bb4f85521bcf9d8ea4877c0b779b757ac1b13c4876e5865d678cff8ed214e720187407c82f1bfb0e0c631e8d44519069fd2f243e217640f593c189f7018dbdfb00a242dce08a6b95c6c9daa64fdf177645fe7d08f74bf7b1873331c3339fb53052d8fcb4e570013e01c885e352ddfb1cf815d0dc6745d5cbdb0ac64f335573494bb64ab9d2ad9129147243e495ebff3b3dc8da88ba2d14447ea53059fdf576589320eedd4742069aff04e2059d5ab32af10d721dff073d27ec6ede7d21fef712ec7eb3f4bd5d51275ab87d386e4f0fdcc39c7f0cef877abc338e731a44934a249f69426494ef83a9f508a2e5212ee433afc4b8e6694c2efe86db7df50e058691e249887d50f99dc2c30af2cf362a1cee317a7cb3f87f1871c29b4dad83fc07fbbd1a450f85da9f2873f5a5e972eeb5d2461f241f2d1f14dd1b0cd5c092794a46785dc2c6a398a6b09f322a752d52e97a34e67db7052aafc8c5275ee9772dc9b34be29ba586c7431933af99d77f9ee439feb267966cc730fdf2b153d6ec87b8b6ad3beb7d10fa5aa6599f4608f467b91eff6889630372a7236ea5075db9a4bb0f7608f02b3590f7d7e2d37d454055af05eeed6af1cc6052be5b6d517e5663e996c782507ff047450f8d344d5ed114d51961b25db445ea13627563a8b1f8a6edfb00abbf0cab90df06236d9f00766c45701e4ffb591f40b2b47de44adb39bd42c18b959546a08baa4803c941bfe44abd190f64123833da8e317b59eb01bdefbe1d579a586af95a2dbb9a353f0f9c3ad2968a7d8ea07b407c4ff54d95617f16fb7ee6c3ed0ed41be056528df68d36461917b616bdb97d40dec22c400ed5e588ca15c9ec6351ab9599410f338e1a9dcea7433d88f5893dc7796cbcb6b0d76df4ba86fe80bd3f28ab2cb97e0a372293c55e8a3d2f2c3abe95c3a2bb86fb2df6ba85f07e70d0f8059e92daf7cf3b5fc43d2826c6bbe7e207d43eae26b54d5d9f0a3967fc842fc2f4583ff535790133504dfb8f8c3d172460a8342360f9994c62f4afbbd1b5d1a298d5f95884ba4ba7d1e9e6ab951ae472dfea1465922033635280eeded591c9d551ce19387fdf30497d8a52c4c46b43cea035aceabde863a697583793b5a9ca861556fcdc3b595c7d41538c0d38904324fe80ce3ac641330a542c696921c901b6680b9f287f77e10fb1c238e68dfffe6b17e46ceb52cb277460d20f652f86ce0afaa5c16387fd33dd3efcfbc1a6467f02cba3f73f159757fd68c9e352097dd3375d09f3baf6ea367fa682c3779a5fa0fe7b6d2a7fe8c603fb0dd9827f07a7f8634cf7bdb8d36e1c079f535dfb02a7b24e7dbe86db400ecd5c80d4dcb4279db5a874c160edc981f27464a5ff14ca9a2d139d0550db39b6c1e728821257e913a1ae6b7b2adbe0079021bd6484c0cb6fcead531ee6f770423b52d23f7f92cb22d351179fbc5c6f315b31230a51b56e7adb9c8ed886e36ccba76cce5c7901ff0cc69e8421644ce6bae589cfad85cdbb6c4172fa21b59f0a09d706b2ebed9e775629bf9b7b68f06faf0eabe8fe2b10fe04fdb47037db8d1631f80c9a07f0fda09b7e6b23f4b6ca2afcc6a72462f3bb79fe10326b93ee3616f8f9047e2d81e35231d6adab335f8ee680d545f5c87584ad1aa00f5c15232b0412def1ee26d91e84a1d7f008f8e80b7c6382777ebcb85609c2bda5aa24f24af85d8043f1fb1c5ec99edede414e7e5452339bd0de5743c2fa550a25da9865920d554254787466dc41f5e985fe56837ddf0e027aa62ab51c546b7271b2d0ba466516c788fdeccb31a7107bfa0a5f415e687fe5eadb1ad42896614fa3ac4111eb4d361985269168dc29ffe6831c68fa1bf8418436e10bf5c1137e8592245548b63205e99fc691b6ef8a98d62d046b635e33f6de3f8791cd9a08d712cb018e73d1c2dce152d06ac378c6f0631cda9c4389e5fa01d1dcad6430e07b1cfafcb86fd13d9e8e3da5eee87187c8873bcb0c539c2eb08e7d83a1d7c85736ced01e7a48b3bce59899c177d817356e223cea90738e7b6355fbfc239b7479ce33ec1395e38c639246ebee39c16f73cc739abf839ce895abf4cfc03c4b45d6c3358d3115fb7fae90f5ba72e2ec80d3ffbe185af5385570aa58e5117a58e56dd7ca34bffee0897af103366842625d88adedf13ac38b9b5f96aa007fa18477bedf8f9bad5ee3c73f49ecf3f24e1f5a6c23898c5b5e395a4bd123e3497febd916ed5afb4c2cf3e6c0dc701ba047d4fe4e834519a92eb78b5d1b96c203b3f24016ce16badf0b3677d550a7f2a36fca9e9625132affe37b952c75fc5cf939fd8fdbb2decf238a3bd269d7e2e29db9cd480b9bd30ce31c7d9607c7f53c256e692b7b5a497e53ab42f6e9893e730ff8e0fecb2f6e7410d36cf05acae55aead81bc4cc732b57c7dd85338bbbc433caf8dcf511eeb5fc8a50ce672c7830aa3cc2f7547c7c322ce1d9deeffb619ae9184187d961776fb9254b04f593be6e4d39857de78cc0bdaf5973437bec306cf06d5e44c438c6724943468fc280b70cf5784fb055edcbac2f7da7596a67dd6ef27dba425f9ed3998be4719dd3ecf6d537c71e6e4b7aea05e7eb2e77722093b5ccf23fbffca9a9cd750708da81dd3f3757142e7ce5e067d1ef08e1dead6c7de6941f2c1f596cebbfb095ea495f863ab8bb9ad5d382f2a395c0f8ec4ab17e27a772d31641d98c4358b1be8b7ad817c7779882e3f31edf7d02bb847e3ebbdb26e1d44783ea97f1fcfbdfc642fab72b16b227764cd70c8832f699b4b18fbb5b465ed96b6275c675370ffccbf91b6c2849378ccfbfcf0c0e79a0bfc941bbad8f254b565262f4a0898f1c03924bf53c80d55cbcb6b9be7ca92f6b3b0da7332bf40c7cb808eccafd01163b6968e7ef4ab743cf574f419b1a5a38deb925fd0f1aeeb5a90dec7d8ebd997efdb9fdefff339e17d38644eacfdcb73b2bb39e1baaf82fb36b3ab2c607ff5a7f34ee3df6792408d7fffe7f3ba76f322f684d898afcf73be5e5cad9b573ba6aeb8fb4fe8edceeffddcdfc77d762f7e5df5b4f905beb14fdac1f5f7afc7bcb8f8bd9ef67b73eb4f67b5c6b4bc4968b3919683f1fd39df9ff5e50acb9ff5153fed8bd8efaff7f60f68f1be4a5e5a5929e515fc8ed87b3fac26efd6e5cfedfdaa973bf85d0ded6dce710ee36edbfd2e0b55807e8439bdbccf2bf86ce795e7d0fe9f8df75d0b3ebaf192f7b1dd2fdfb7eaeefdfebcb0bab5ae01aef399b847e7c56c444a9997b5ca9f10cfe359d8f31e0b20933d7cf80e0def280d60ff05bee3594640ced08a98575575c3978565e59bcbab6dad333785df2d6ab52edb7d128b1a7ef77e366a47cf5c88f9c6bf5d2747d34f705f050fefef6899176bdc0f91260d8ce7bee7429cc8fc62aa26f7f31283f3bda18b679283c41196b96b7285c3676ebb4fa381fe141efb6be78fbfebc690fba6c11c4d2e77ac1d8cbfd9cc4b4aa9cb5a891c785ebbac5f6c92bc52a343aef262aef26bf89ef6d20a74e946fa126b995f4cd47959290db4ab068e6050b83f46cfdc0dcc413fc01c18b2df2308bcf3be762ca341dae822dbd206cf2b1f052e72192c1202bca8c87e9043ae20fe576f5ebacc7bdae06f4fe49c33bbc65c9ccf1875d7778bd1a90dd0a1f1dbdf4f9ba3597ddce9bb9bf4b467d7996ba93737c27901cf4a99b7b1fd7773597c96817de0a5577226ac3b63ad2b53abdd2f8d7b70a02da44d3c7ae6305cee0846e1a55c0c34def03b784ec9fca2eadf61f18ca0abe8f614e8b7d1ca4a8d92aedfb3971a49df3ec142edfe5fbf76ac1878dafe06fab6fbbe8f4c101c197c3e81e7106b2afa8ced9e0fce0ab930e6c779b94c95f9a9d1f7bfe1113fb132bfbbb7c1ae0337f5ef72acefc8fd6364ec372f552f4713e58e56ea92e81cbfef9ed78ed9caa4560e7fd7d86675759909c846a3d465a5ea3036b1eefaf51823e8cefa99cd02e4b9da80beebbbe6fe0ec897d1f18d55c2925134e0514fdb060b23993e9e49359b1d2bf3de14fe3db40134986e929c52eb92dd6825bb315a1eb07bda3b2f699749889ce3fcec5c89667d1b7e9adc5cc1a050c7608cf08e0eb1d33e71acb7f2684e07720af324f4754ca3f498ebb497f379596df44567d3e2a3499ff1fc27ae6b216f68c0652a8e2db9e2de5da21fe47b5cef4179be39829f7869672f14d41fb5b7194ee6a546e8a54944f66c791399079955284bab5257e06adb6ccfe3e9bd1da289cd051e3a370f8b94927d74b81facd38d0678efd03613344773f1427290ed3d61306e6699b9673574d9f50d6882f4203a8abaeb30c1cd63f783be51afa94d3f76ffe60abbaedd5a019ae2ef467a582b3ac88a4dcbbc023275a76304dfa32dae37cbfb7952b4a9f83dcc8fccebdd347257e058e46ba3b4fbe690779dbc7c6aef2870856325b16379773f45ec13deebe0b2fbb13c10de4d706f9d398d8fe612f7ade21cf843bed1c57ca383bd4e0a4748ce6e93b92af834a4378c35615c763d7dd8db47617bbd7d20e350708e388edcb69cc44df789873612e4436cc858a1cd2af053bca3146db0c79c7a7aab6043a21d4ddaf08b818ed644be44e4872b18579799464721499d942b06e3437b0cb2d09e45edf4b7a5f182c1b12cfbe711da20bef3bf8b7a03738f02bf3b9fd1dbe748a4c676bd3dbf31908d014f6bb439643cd5a0bf4e566a05757151e17363f8bcb5d7fa0efa037f5ba968f3dafe3abdec7eab75f6803cf784a440bd435e2d264a087aafde9f330403dc65c4c6792b493f86c63197f77134624e7478c10ee6d11cd9a4a72dc1413306f578f0ced83e2eaa0dda4f1b7c3dd859b2e775a562d1bcbbbd59801f6bd410ecf660dcec3e71cc6ac04f68276650b7ef63efcf9df63245f01145faa393817f2ebbefee72d6ca8f5676f328c8f79d7d029e2af0bbab6dfa897bde073d1d7b1b42075eca117c80ba4b7cae6b1af1d132aeb6b5a46d2c769b142dfea8db3e2b15758e4e1c21a15d738cc788eded9e71b5cd0419622bfdc4c8fc89eee5a8edc75b19b527548456bc972bfa02faa936c377467e10e580451e21dddbbe2cc29f3b5e121bf407a8f3c1f0bd12e7c4f476bb6ced7aa5eafbc17b639fa7827c45b329d26040a7ceefb5f6aadae831e80b600c909debd1dc1764cf748fdbd18f003642793093c217d4da3197d73b866e7d0df69334fe2aa95d567dc0d1628df6c3e4229b5936c796ffe80fd01e9f007b15b6e504c7947bf46335e89bda00fda6817f8e3bfeb536056c05e0f33686805800c785327573858469693c696dd1fd7b735f43fc65368b52054cc38b39c1d2e04fa7e7fb18164c2bdb80830b87315a9c847300acd73eebb09558a1cd03db1a2d404f4adbac924f3eaf817848a93b3be009cb1c74bbe57585b6393a5432bfa0711f193c7fe0b5a27b746bd388ecacde0257e8e28b7d374e6227a03d82654adb7a0bdecd25d0babcf30a30a7582934decb15d84c50faa693de9f2f26187318e4de2e1fe983fe103021437e37b2955325043d53615cb96f5230965a416c8c3802f85ebaac1f3bd67a6c87886f40bf32d43b94978ef7ab7562a706c854e95bebd2c5d865512a6149631fa073ab75728fcd88ddf052ae7937ef715687530173e11c526e6adfed2243701aca32f8d1c636f7b12b001ee3586293806e182b4cc9f31e2bd364acd03eca41639bd378d077ad62fc6153321f33f07ce82754c0add8f6896d9f3547c1c8dd7bac49a10e21dfd5cc31a705891dc0ee9c6a9947bf0f7117e35828e753e2bb400ee21a9f3df7390df2788cd72bc0d11bf4c1336cf7d11741db64ae3b6af8dcf9ea79daf9f51e67a01df1d8373cb332c27a449e6a15f833f65b2cc15680953026a56c625f3086ddf03d86a21c1363d831262167fa28b78d7bd5b0c3f40be007e53274e00baf9dae4f21d6009fe0834c5ac6ed68a9444640ffa21dd0666269d520be277803c71729f08c3d0a46e0137c34b06f892fafc87d51cfce7db4671d1bd7e43e5a9cddf35f053fb64a1257a86e7e73c7ffadcd6afdb73fc04107eaee93694e5e2adc3b4b0dcf8c2f442129c405951de8ab74a0b88d7c6ecffd3349faae05aa49ed7dc9a0b8fd8acadf59da97f9dd2fdcf946f62e7d75ce8a9c99324677cd79617b26caba06262b7e88c93af0ebb5ffe90cca3d4f36cc550defe6fb62bf7a7bf7e82fed575fd60e6b5c2146f770fd3171fd257571b484fbae0575772fbedb50376959b1521dd7ede74d4e8d89632a172f8c73afa16f64adaee45c3aaf2d3dbfd8c6b5b1743a3059d5ffbeaabe7dd712d75d529c6d5c6b4ba7bfccbf0d69e968c937316def1c18d75348c85e5f9adc7fa43d9e13c0bb3bbbfbf3477753f5738ac8f983fe4edff9badd1bea85db61fd87c11d6fb8a77e503fc08d067bd58405a7f0d7602b4c06e72b16e43c10b3fc742fb79b5c03ebd319b2a0962cbaab45f070c70239b760335ce19f41be696ec31e0a6fb5bef90287e3c53318d63ef9bf7c4642b2a8dcffc4cf2fcf6a3ddcc1db9ec76ce7efcfdb7ef08c9fd3e0b9add5908e6a7b46a93f7b4a3f8cfdfcf559aba7772330ed790c52cf42bbd767189dbb22fb8747e37071bf241d98ccd42772d99fbf188fd5a2efba6251b959b7f70674e7d9bb7b7feef7ed84fd9ac57cedcba973f362c042a7cba7f98ce86e90fe1ef4f1f3d9578ef6054327f3021e0e6d0ad891785c33c55c72f22a6f3691ca595a497f75f6433c1b8da3bda14edaec2edc30877b4d8a86fe669ba0e3bd2feff20293cebfd8e6943a5a4bdab1863e087d16c641f80ec4596d4eadf34f5d9e1e0b869bd316a3799defc2b8c1b632da4b0f0ff915fc6de898c9f9d19f2911c46cebcc6397f4300ed860be0d73e478febecffd2e498ede4dd58b63ee0357a06f6e3ac839115c83fd8d72c6ed18e0bb614e1070b9ca2b80f700030c709e4dcbfc0e701560a7d0b7d6f9bbe5df5c6647702d6007924f867623dbdc27f7582a06fc4263ee01e7476af578a9417bccc33a06c9d7df6c86c33891e436666dee49e9f2eec11d07e26f27e4775ceda60ef8fb413e919cef547988f714b6cbdb7b4c92dfb13ac9d911daabf5d1a49b16c3d6182bcf4bb28e70cfad0ff948f2eef7bc2860aca6cfc932e42e2d92b353a6e367fecd15f6897b5edfdad89bc25c0560a6fb3b1dc67c9a571fe70467c3bc759ff7eb7e83f9fcbeddebc536af198901e0f989c4e174f7bc3fc33bc8890fc7cee547cb19e43a4e24af5b97d4bd8d4fb124d5ae2175f9fae828243189f7949ce8dc8ceaf3dd6dac8eb9dac1ef863927a55172453ff43927920757137b184be25ac369d2c538ed3ba33c84da88b94af2014ff2edcb2ff2ede35c93ca7bb9dac4b97acfe983fdab7c93cb889ccfba18a3bcb7e1642e53258889f51dc9ef44643d0673eea3985224b9719c8391782bf5e37d98d7d1e3aacf5d939c7bf045ce3d73efb149d9c7783ada89d865f6e7414cda10fdd975f29e1ead75629fd71959175cb09b790932dba84b2a7752cc13e4c3b54d92379b7579e5d465d789c70e7293cdaed50d92d3f74df5e231c9935c981f1ccd6963a75ced36fd7a19d151d45dffe2b22a35e89be4e2ef6baf6797a9e2414c4fb739f4b11e92581f62df0665aaa7639f4769f32fc3dc549f5f21f33a0f6212dd6bda9884f0aecf4d3eb617dcdcd4983a82c1defdd420472e708ff958e4dd06e78039f7c03d77313ff03caee19fa555999bee33878158cea3dbb535186be6a75cfdae8fe2a676dda4b70f7d9e12f507f3984bc62135dbc89a5897af8f0ee37c3dd8604bbd0cd63d4bf473989f5eb26e7ad751123f1e6ac28f2a01fdc69c64eab46ba3f7751d22c36d3ebdcf23228d2186adc95a43fb1c6d50d9f9df7e0da4cf170b9d7d16db3581deaeb7cf07b2318e33cb7e3cfadb309f1efc2c9f3e5c272439cf3e27d0f5d7ea65f7db45670fdafcf65be6a679a757d586c77cc630ff4d304074cfdf9179af0739fb619e96e4e0d0370fe8365aebd3110795405b551fbe33b28f95a2e37a3383393bfa73dedef979de9e724c231ff093c13d08c0cfc1d8c76b227d9ea056497efdea0c315af7dddd17b4f273c8bb79b8a951dcf1deaeecd77386ebd15dfe8cc8c5d5b6d637820f88ce1399ed72e99ff66894240f08f6d5c35cbf63ee33dfa41ff018dadeeed970ad7aa286e544ede5a8cb7bbfd1def92d27b4dab198a7867ef46498431ffa41940315f7042c9a415f2d7f7abc542b35f8835d97b3e9dff3c879c8e11e004237fd400dde7bf0791eae47e07e087e98b76ffd5e97a3d463ccbf623e95c67c7aeca6a335b71a6d13e672411ee8cc3def232f3502f78ea15b5f83fcc83c884d52ae79c0d1b512e1dac7cdc6732b49f1b0ef6582eb1ee992b1cdecf6e8c79408d7af9a36673fbdefc1409b02b602f0791b4328dd3e1b2253b887e1d0c90db145fdf746eca5cb90e41a3db009b5cc23966ef3eefd18706f0cfeaeddefd0adc1c21c10eb91671db66ad797c97a8d7acfb53ff83c6582e30c5b3b4072e9c3bc199ecd21b9e575f7fc81d70b96c41ca74e7630f7ffb0f652133b01e32158c61396a56d2501d0da1bec254299c13cf65b6203265819a973f705b8ceb0c1fcdf5be29d913e04cb344aae46f8bbb1adc43585598379f79571256bfa8b76cd52acf17ca8c0b1dd5af2dd0e11dfa010ba0cf4ae5d8f23bcaf1d739da04c0d73f6bc98ab60c389ad1bae9db4b5f1d6378f4d0671568b53714d0673f8b77773d9db45e43de239b2aee431cbd8112ac063379fd824a01bc60a1bf27cb03edbed1b581039609685b31af41ded28c43df312f77e8dfdc48e41fcaf9513e41963041e1324ae500ed6db0f1ddf9ba369146e8ab103d89d89129614196f92fba951933538928bc7b512ecefb9cfc175a9d5e3ba21e0e8b85f9fffec8bc46eae1499eb68efcc93e7d351feb8df5fb07abe0e897216f9f07ce4b75412e795dd3e095f5816f718f6d463285f30480c3bc624985bf289ecd48a6e7798be027ef80277b5adfdadd3f58d0eb1c6d297570f6ba088a5700da9dc405ff7f8bec51b640f053e6382c426b97a6a60dfa696f6794f4dbf57a1cdd57b0c7d3b12bb44ddf98feb2ecfd7cd9754def9ef010ea2d5814ffe6e753975fb8b9c7a1e3ce42a33c9cabfa8db3bb9d79120f52dfe18e797e20bb9639fbe61ce97a733699e70ed7db7f938579f87bea526e20ad702227f2e8eee1c79b80778e268d3c05bbde5ef5a50f866953fe6ba9edc5772df373b7fa8e7d2d638f8be2a87f794917cb641855b9de2f476fe0f3949caa5bb7b95db9cea6a978dcf792f1ef6224f69572883adb54bd7e1daede9ba68fb5dfecdfeda3a7e6d3eb4bd6fe8703a9a30efe47ea7cfe87e9f6777693ccd4753e3be94f1dc9eaf0f500f741ddfff76e8be1fe7997d81ebee78eed60e28c9fa54f76d744fbd282485c7ee03375571bd600fb8cbaa5e8777d9e1777f97a77837c5e87eaf6c6b5cbbfaaa4feec1ca3f2466921db56909f19a241c2ee4dee3aa18df5df7b90edc432db06d3b8ff15a431a041ec5b16e02f3005fbd9fdeefe483718ee81675b9fac19a5c816b72c2217348ade80ceb152cdb3bbb98a93fba5f18de99af077412c9fbf301ed1a3a19d5add3aa58120eb9d8de95a433762869762aad76dd9d685b27c29a39ddf34c5eed3f9deb97db3384437d36addde55e3f19eb4b17beb58fc0d68ce839b421e76be25a6fd4bb7e0914ada2ddb3d138e6fee032d7c43d2b2f264de5be39a53dc6883513f8b6c3ef5cd6493ccc817a2fb22eb67b9f55c5311d4a8767d1a59451c7abb57b7ea37d1edbcfdcf6ee36dde40a5f38bdb8672377e7f7eff72957bbe692da848b4a5e198d63add7dd33cc81b5ed78cceb8ba82ff2b64e654ce4f92d007bbb49ae88ffbd34898fa671dda4686b722f7522253ad54a846db08e697c38c272aa9b49d3d6d17d11f5e5436d4aef99dde2b6d6aeb0d8b7b4e5f7774fb039a0aba455949c70a5737e729e1ceb740e7e7faf1734a8fd87e71f7237a23f06eb53c5b379cac297ebb3e80b44b0531a9e170f8e96bab10f131cab33c735a4c3d1a413691e67ebd049e494631c6b9d82cf24f73c2d133935aede6a3f5d8776e068d347deb5ef2428b747736f75f46cdfc731b432f3f8aee0b2ebabdd7d7f7ec2e7b99d4a73f8cd9d8fdf57d5e8ef75e814527b2fa09c70ddba0cb9dfc08cd375d4d579c2758046178cd45fc03cc5fbb3b35180bf7596fbdb91310aafee6b827fae0d9526674de0682f8c7322b78bbbed4c93667f5edfde53a358874e6f9f8e962a7829f7e298133c577297a3f81bf0e268a926d682e2e9c19ded6f309fcca3093d7e72669f3bce03e0ebf09ef59ef75b46b93835ded141497a76968443f694d63c1528f32af97cfe7b6cdb6561416a69d74182e3a396aacb60ada66ebed9f7557969e7f5a69b1ce2908e46404390f9dda1c5419daf07796fdb94acea156ca1c5c49ca34dbf1fb5fe597a7f66e33327ec9fe5f767253e73ef6d7672d18f8dd4836bc7c37638ab7f9f7a4fa9fe5d7f955dc97bfb17f73e96cca38dc3ae4e5ebfcf03aaff1b6c7dffac7ff7e6a44ee358f7fe5dc6493dc668e9c1a5ce594d06fd974ed8b75b3a117d6ed7a76f60072ca6ba010e70b4fe9ddc65c0c71dc8bc050eefad96c0beddebdbff4b9927b82fc08da872c34c5e7de6f078e7e24d12169c635cb3ade5a3afb3da3e4c26f1b7e6622863d4d3b3edddfd9cab7b1d1f8bd9917b7a17fbc0170e974e6fd00ef11c8c3fc65a7acb7de69a07c0c928cfddef7bfd989f08fdc89af57787a7b1de20da438de880043e4f072c45e35e0cdd3c70a23ecbdd704a7b02f46f6c5b5eb4edc4397967f18055c587b36c9f6a244ebfafaa5ecfc00e75ff7fae1763fffd3e7fc0e17c5976f718d88c91118c57bd2a7c7ba61afc2c0318e5017fb5e7bf3b5b20b1bb1cf97bbfcfb5af5f0976e8684e33e0417b074cb1b5b03e7e260bd34fe7c5bb35efb63e456e8fee050cee980ef046ffff38f7fa7b2a9621ee9fe89fd1a3f7dc06e41071620638f1a85701b9ab36beb8a19dfacb6b6669e4ded3a341bf7e9f2fc1ae7e97567bf7685019cccbaa8304645382f9a4af1f52333c7b7bad9f9d3b17f505ee2791cf2aedadde6ac7529bbd60945e6a44e45ee3a9655beb02b09a57db29debb2c18e9d19c26ce5c0c06783e729969e33255b20e9dfefff2d90fbc7492ae077738fbccb276c35338ee6772c2ef11235eb0fee8033e553b7cdad50811f5e17966e5f2b0c70bfc602787859cee136fb54e6c86dcbdac09cbc211aac40bedd40da7b163bdd58ea9923a557110b8e93e772cb1d54fac5106d872b8970878ebe21d6780eb9b517dbd812d79c5ba26e0276c9d0ac5b0fc22661ec4a9f4f56669c9375bcb3931a90ab3163fdc3a0f2d6d168ef6a991bbbb07fdaaaeb2a432f89d57e7e1269c8512336c372f2de3da74b5c037cc82b38777ffcea95aeaefdb5d70c3da8326c3f91b562cbc95d11ce7412059342bad761f30bedde03dec93fa853d462b3193d3ec76342717311433a95e7b6e287e48c234f1ebb7a5775edfbc30c6b8cd6672bccb05b0e8a0d670615b6fa50bb6166dd7a7fa868ff18ddec94f67737fc2f7749d4e40ce877a20dae6347605a36eeb2be707c670fd25e862c0229658aa7887f4565b940f7d2ffe3426ed6577fafa7d3e8cffef3a6b913b9d9fc77a4fef5d1fc739bbbe963b89ed80a6761d7cfb8e7888c8b64bf63e2692b9bb60de07efbc5eb47129d895c505ebf168f11f9290b86e4271ef2c95db7590818f94577bf82e9305e57224771227ed7dc42f1ddd493d1f2eebef5f4ea817473072c7da272269b3bb9f98c49fab5d46625e8c3f837b2cea0452db1ff8b723b9eb389256574e6edb19c6a7c7314f76240619e45dcef75a1c9f7dcbee538d03a0b92e70ac63ad79db522176f8b64f713e1c7e8679e8d56b7f7b7012bcd7d71afb3d6d9c7ffab22e2fb48572b670f09e6c5fe014dc6b13e3fd5f17c9a0fabab0a3312f169feed819d4557e46db8ba3d36b49986484efe4fee196f75fe623f44eaee835917fd3183ddf8feb63b8a3fb03854997834ae4f31bed31a7cb3b6b14476bf7e28655e9a5c9cd4b13ea5dcf34941b8b1ad7b43fab37efbcbbfcb43e36e690da76348871deeaa3c9d5476b3fc5bd6f63b9d03ed7351fc49542fc2caeccb6756075f94bcc8d6a55219f8dd2013c76e8306d8b07fbba2e4ab6893b0c5781bf1bd3f5739e07e3aa3646be483ac18b66bd3e3bd62e94ea21f67e0d0d63cf8bd12514c3f8c331a8164b8eb18d31c436f3691f6349f3385d9f217ed8bb228e5dfc20f144d240bbdb7a6d180b252475bfaf89a505c583cd733eefc706ff771de121bc6fc93c5c8f776cded35d5aedfeb5d5677fb8d16b28d5e28b18c23f0afa1bde875a0dee636fefff5a64d2285f77ca00dfd86795f2c2532569d7b16e2f26833c51a72f0beef855ad6c01f16230dae7faa996a10ab8ec22595426af3006df38c695b2743a90b48ae0f1d4701d727ffd97fbd34d2d08e474597a4235ede46b541318ec2beeeb365c25a1329067c08bd2629a10fbfaf39ab55d7c047103d65e49b9da1192c236cb8b7dcfa5b7723bda8b8e352b1f78fef2e8e78027787fe59cf34cfaea7974a55bda6bb605ff951aa58b7b524f372ba9dcefcbca5fcfb9b33c17435c1f38af138f9cb3bac874e5c98c97035618f34e7c62e376459bbfbae8427fd77db285d827a2b3411d82642b4cbe395afe211d805e60ef687fcb10bb07fc391ad7c432a817fcd4e9ee4ef6a10d7adcfb8fb26e6b55bdd5c40eaf0580116dbd2adafde6b5d4d00b68cb36a80cfab30daacb6727102f6e52fc6ec0aff5380fb7b49fd9b9a1fe623d778db4f789cf9256390e9913f9b4aad71db9bf94fc8d77b9c42ffe7cdac6d3c6c2b6f681348f211620f5badb18f64106c4314e9f706a6bef0d8cb1978dbf48005b4d483e7cc229733b8567be60b435ebf2cce7e911ff0de6907f7d8f0bb4cb150e85316d974b83775ebfaff69ca45516c4feb6a5521aee9f3a71789f914e555fc6f08b436713002314e8d70e8089e23f1eebbcca639f80f1ef9699bc380ff6fc187eb2e7b1244c0be0f7b6ed03731a7d0ea64a06f98c6c932236d61cd35fbeaf6617e3c9dd66c6c39a96a705233a8a49e5410c2286f158ff96e5c55ae6d9f765e549cbca97acca33ebc0b592cab796575f0a13cfb22acf9a9f0a49e3ce0fb9d6bcbf476de4378dd7efc2f4f5bb90bc7e1796dce358bd4feb6fd3dab1de7252b79c7365a3bc59cbea7d3dbf7c6c6bb08b956b2de96fdf0deae6d465682dcb78fdc91e789fd760cc76bdeb8bf323fe1cd71b38a4bf563580e5114f3e9c816965016d838577c851d94f6a59066e72a5306fa4d30f58f2d28d7185b41b63979e8e476dfadd6fe84c4e38969ccfa912781fbfc7fb7b17d9f7079a9af3bb3feff1b666a7ce3c085cac8964a7b6396dcf1055859c7001f8bdc75841fb2cabc3fc12d882444e8c431b537c285a594a5a4ccea3187b9ebc777ae04d7ed72912830ceeb66e712db135637cdb9ed5e8725d2ee6db83e6806b00878cac5775f935fae69ef7178f7e0bbcb34aea8df6cfaa9b9bfaaacb4ca9e34addd9d6ba413cda9d7549b8e62870b5bf78d246574b885fd49b3aff386a49bd354fff3f73dfd5a528b3fdfd819e8b06438f5c76a322c940963b81561050a631009ffe5db5ab8aa4f6cc73ce79d7fa5fccea118acab56bc7df3edb9594a86591d579e9caf1de1f8437ffa475dbb12e9953e70aa5f52fcfde5062e48508f71a9127804ef7e48aba6e4ce7bafd037d248955a173f31775b6b1e0dec4985d1a58be4cd62503798f40ff3918d576d69fe6481126996c7021b12dbd2bc62c5c1bcc796bb0272fa232ff0feba01737598fdfb646063cf52a92968689edb1ae31b9a8fa8c5beb88e70aaeb57cfbd37cd7f59d7ffcf6d97cfeefc6f273db3ff71bcf43976ecc7a32283917dd7b3f6be96941ef249e6a7b6c273e4fb69354e6b92f47d87c4bfc84debf89ac27c9da9aa0bbee976b1795ab7f662ee29f9c473ea2d9cb78ee400fc2cf8186b6b0e799b63da683efbbd85c5d422b9419a28be3b16bcf4bb4e74117bbf85b19248f881d2e7274ac1fe8db89a59e9eb9d6bd4f2767536fe9ea85d135703ec1166410db04e5bd45e3e389ec76afdbeef1424cc0436eda96de75f3c0b7b5ec129756ae2daec3d3020d9a7136cb60bd23e1a920d7cdc09ca88688f9587bc4edf8d05353b352040bdd671995abc9bebb90fd66c039e6c32bf0db3aba73881fc2a2474b8411d01219e7447a52977af6304f91298b5a47f89cd6d1ba48ff77fab8c23410cdfbecea0fa04f0c6e0bcbf601da0b0fe3c43cbaaf87903309c99158c7323b6f817f8da98f0ba2dbc97a2a32240f7049cbf9092ef770afa4d609f18860a7994b89cb58239f3f444e7488e4a178dda55ce6458768cf8b995c8a19c4efe962cbc6d31d33adef453bf9c373628ffbb11f83d9bfefc75fd51bbfacb76b13c23ab28e2e0478f749b53c6edfd56acb76cb8ffbe519c9d8706be323954e9b4435c03673df2f0af4fcae4e19aee77f94052d3f0fca37505ae8571dfbd76339a3635f2ad429b4fb0fb49f26959626d79da325f202c7d46a8836cc9364eb8867b0a79cb05eb0fd1ced4b7fd8e9631874734cbce0997ef2518b3b76c53560ac6ed3608ae5a4aedd0afc162c6bb614503db66d853ef85c6c5392afacf70ece55cfae0d67afafa719ca03f3e235798b2f327f18ca833994c5d8e975dbb3ad139f659d4d64dd1ccafa25538c6ede0d6fd8f6c329c27acda2e206b931f47c284761a218b34c2e513ba3cb4e8f93657929f19a23da14b7b13427a017aad824e0c372ed6c2eaa1e7ffb5556ad53bc2fd7253cff562127967a011b271f67ab089ee75e0539587e7da1793966a52268e197c9a536fe7debe5b0a802fe890d1070df61feae5f64ee719918d5dfb555a2efd3561ba8ac23a27edf9665fcddf2bb3b78d5bd580f62ce2b2f79c08721ba77ebfa8d195e2b23bbadd3e259db6fb280be6573e8f389ee61cc7703667d73c77eab7afc2e779fe53b0370db7f05032bd95559a62ca08ef76d4f9ef5169b077e9ecc07ee236011c36fb40e50aed9db6182e93c9b61cce6a05377e03cdc938d2eae93db6ef3164cb3cc67c6a11101fd791aff8ee43b571fd73e4e35bfb2d8205e8fa1bc1ef12b923cb877ee85daf7157bbcbf5feaed5fb52719c1643ff5df1b1fa4f80d789169d6d54108cbc7b3897381419e819f787be0fb884ce00c83c4b52ff1d6499ecb4c8fef81cfe8f1a94e7f2c5dd98acdbce4793d3bb8bbe3c9b2cabfe5419cf947f62ccff3d235d45cb5980cce851e3698030977d9d9e387f6da720eeccd81167e39cbe5ce1e9d7da2d3782943f665bc79bfaf96b7b3187a47b7d6eddfcb68adbe3dca7ea7a6dd7f2da3a55aec0a9bbf92891efaf0285ffd755dafd6ffdfc9494ff747ee9571b61eccb06d707a8e5c418b5dfeafe4d087b355f727fa0bf9f561fd9bbefcafc641f358ff58df10ef2febe57afd2c43be5ee73fc8bd76727ddd26dd233fcee3d333fa976bf0ff6ded60febb7ce3f97f2583d5ba2aa07b2ad0366f0afa23b6e5e79dac8d8f5fae711f1279e3dae889ee85a3c748de1d839c2cc48ff486017f222293b5f243376bd593db20f74caf4c2d8fe55e497dcb916ca636fe1b7a915359ce8f62c07369ca99ed726cab1c91a9266d39ad6acb691edf92e7503d4db9febc54b51cc6821c967b73b04714b250808d45595854c66341c6332e4ff68f94b8036bb4b6bbba7131199dc5e8c2d63e26a73be808645dccc5348e5af7c103adefcb6badb947f5275ffc936fd1ba25a42fcfeedd9eacd75e4fec8fa9e1ba891f1f2aaf39e15de6a52f9917bf3d7efcdb1b245799972662147f8b511c29bc94a1357e56273e27c48e30ff718eaa7f354730cebfaaf7f6b2de5e7e38389f2d9907eb0dc25be04895ccc7896a4893fd74d6f55f130286da9910df07f1807cd1c363ead7497c454d2d0c84d959d6c717d791325748128fea7f9a76e9bc223ac7068255619dd483cdf3123cdae913441febba2d4ce3ba72d7e7833cbc7ee6dba1b76d22d21ec9e28a2e66ab5357b715c0f9ebc46e7472c7aad34bd9b1519449ad1f41b4d64734717e29117df2879ff9ced99cb1ad3daebf518411270ba3baac5ccd03745f78d1b8f285220bf803ee1be6077eb9c6e8be22be6f3b831d235946392df31d1a0bcee555eb1ad077b29eb472ee60ff3d2972af8dbd76847d37cb106c16a2f191ad8f2cc88d34679eab3397bd237ecb43b6abe7ebde09a82f6d9c387cdf01c6d87ced2597aba36fd34e7e7b90a941aeaee3d864472bbf9c4bb6b63ec18eb24da55259a0791bdda89e5429c56f240f6e4f9bf34e4fb8ed00dba5d15ab5fcdb719bdd7d1535fb0afb6bad3a36c6edd93bb237748fac590ef6d2ea1492331183fdca14461c6adb14465767308fb627a9eb77dbdc832d5f4934d6c676bbb147b07eae3e86f181ec5cfbfa831d2933cb43447d426b3e76e826fe09ed7f13d129d61f98078ff8bf377e31d4773ba436e6d5d6661385075fd27467fb99b8d06ea2b03c039e8dfe19a2b3f505b19ac9d52d3fa96df42a0ac4879eaf73a01339c03cd3b530d2f9c5d5ef87ed80bbba697292f54fc44fb09eb039788371fea57f46aefe09b13da280eef24f8873276d8522f64da46d1ecc81958842c8048b8f77a5e42ec4c7f937c619636eeed0ca5cc1aa9452bdd5bead43f546e74ab1e9f827077416d118fcd43cecec71ea9523447faf6b9303bbb09270744eda3a79ea7f9428a7cfd04fad6b30abfde1716c02f0a30cac95ab8fef5b47427da43252d0d2d10b5e7279ac077c8dc317ef18c40365caccbdda031c9303f10d64be9d5a9f7cb9a2755d9d36399dfb556a71687cf8dc8d5ef6af1977d0f87ecef09c907b6723cf10bf5324b21ee75a0a7b32956217cfdb0f586a78ff8fa16fca6273adf705d875090f43da6a9dd5d8b58b2410cc03d9fff913fab2efea01714c8e14b9edf804e25f45d76bbcdfda52e447d8160d7111948610da22ebf7b015ab7930057c36453b06dd168ea732b92fa2eb6af947fc0aa638af58a343731f7d1c850bd3cbf706fdd8b67553d136550c90cf4e303fad3829e23f78b507dcd531eef7fda220ff1f15aa0158da577bb844ef0a7807ff1fcbb230f6fc741c28c2d8f320a690aba0eca068d583fe3f2a978b62a21e37e0b30ecff46d2a4f3f42f83db4ae0ee4aa9a716b7becb9c238d82fee40bfbde472f412265b0f8aeb0aed117b1caca79f93bd40fe7f34c7eba105efd077f41dfc1fbd1b68f06e3b68dec1ff8ff178657047ef88e4ad02cf49c2dd82d42a214709d3d6f9411efb899f8e277bc1fcc71fd43e9715a2d32ef8c38df74d2c6100f2955fa239073f7d8aa979fea93c8939bb40ec874db0466df72ad3feb563db6cf3c14e160c372f735043de697ebcdfe945beb6a46b8d315a2693fdac68fdc63a288ff2241037185f77cef2b6d667774530c107676d25d7a7fe587692caf3e48af87ef06f23f57a901312edf51967a335b658c845b8339810e45d8b7e2305344feede6ec519dab3967d14e2d9ceddb833540fe9fb3caf1cbde193a0bfe6f8757f67e367fdada0bf439143728d9a207a2a1e100f6fa475ff49cedf0bd7a6d97e0bc714f32261270e6eadcf0ad961c106bcd3b729bd97ffea3b4c9372bbd2027cff1f426b30baba4e986c4bf25cffab7a6e6b5dda892788f549d7f6ec5b5e48688c88e73f7bc362023aae5942e88d95235ee061ce7bb11ec1b3fcf27a512ac224f7cb22571626f7558a078d614df071e5f3bb3afdb8836fd3cc9a59bcf82e461f1775bab9abbc988bd1e7dc6437d12a120f8af1c1aad38f48e1c5c386d1c8f7cc7d69d0ef9746f3fd967ebfd4e6f5f703fabd612d9bef2bf2fdfcb3d5be4fbfdfb4da1fa1eff7780d121cfbdaf3c7e243cf49ee99a3673ef83d09633f9863bf279117b38e6f6419fa3e5b5472193f7fcf8e7d7f58f87eb9c1ef2388a7e5bd689c7c09d611dbeaa12f19a29baac5605d232f7ecb5313d35ad8d374df4f70fc4804fbf85d8cc47c6b3091c67f2e0d933988517ef692bc74daf176c6c79b9824ae6dc507345ff0378a73ffc844faecf0eed94c2497e115edbb7529befb436ad72fa0ed7a2f4c594f4c96ac1789b918b337f89b68ac8b64cb24485c1e7e9f03f43b76cb1d3c5f86012f05f600f805b0c3a13b474d980c62ed665af8a51f3287c81c30d6c65ff8ae4c5588af725b772fa1bdcf62a621c6ee87f35a05830464002fc9d9d61c35f9dd8f59b536201e375f97e241ae3ed0de8e56d1e1ec4d99c8b642c74a2cd36425cd9c712b3b9ef31b469b6b7120eae6453574f1ba033fc7708dc74368d249bb59cee7bda55fce146356cac6fd8eda5174d8b3df8836c9e8fc0eeebd7d34baaccb492e1e3f22243b6f2117fbe1a644a358291344c7bec5e3c75d7cc83fbe79f72b96b507636f69b14193bf5c4bdc74ce7a0bf29e9ee784e5606e0cb65248ec2b9531513fd496dc087bb96222719eedc4a8203428fedeea97521e4c72dd21fe0378bd4a3755cbd5542cd11df497b4c8e8d974dfeb7383fb96ad06e46e019d7538c4fa2e127bd98d6b477771cd3f76dae58be57ff8dd5549213f06e39a6ee90d588c2f30437bae88b6f612e7cad3e36c05fc6637fe541e58e8bcf7fcf4b4b6dde989bf4c6d2f0b01dbc5c8aeddef971d3e92f0e9e4dc8dae5eca0dd1de6bcbb34ac221b9cbb266ea1b92256a3fc28e1dbe48706cac656e88cf16d6c9b46dd15a22f349b042f20a9c6d97f584c26d7c8aa02cf6b9e2c1668aedfdc407a927836f5edd4358df0bfa0288c1a0b1813b839d127d277a3ea4b1b06b1c0b1b02cf4befea2983f96beb72f3122695128df8c1d431495767d0e71f679c86e516f45de9254cbec37f3305d39b78eb246b378139fbc77536e7ad9e4cf604a7a5f71ef39f8f7ce4ac5586039f2761c46da1aefb9df864b5fa15e7ad71a0b34ad7a39967f866eef91093307af0136de987ab87391b58c1aaccbf5d3da97faf1d0974c3d82f1fcffd6a604e96d52591cb3c23fd491c83c5fe3e761b67628ebe7d53897d4635ce777c36e0f92f225f90b6b08c019807e45b242f48d116b0e6493b31acdff1a3f51d5e674c23c6c9d7429b6d9d18df0df89b1ccd95cae3b973a70c8eaf779609f8b60de6cc2a4dd0ba747d451662777f401cfe36253816d4e76359eb2ca1fd4d3ddf869d5c03474bfcf29029f5f7b80f5e6a8df05d48fb3df73c24ff18e2436c92b5f85146c8bd6947a7846416380fb23e5e68c362d2f8268f9d56ec78a2c466e61f99421126dc12f86d8d9105f3aa317ededef3fe7073364e9bb3acdf0b65bac9889f03d854d0f940f52ad359a6f087f3d66067011fa2ba73558fb3f5743ed90bb37f9625c4f1e410af695c20ee15f1e93dd91bee7825d56e4189fd94db323be8dccb71ec0d633c170b936bfa06fc6ab61a8c689f4e6e59103a205d1db0ad3cf47ba82c4c6ccb291b5c0d571fc7eb12c69228e926c332e8ec9f65d41e43d6cc636abe810d4d1f27f25004cc1417cbd2e85df73b3d7edf1a6cb9b7e389ea14939d31cec1beb41073af8cdf5ecaa51513aad3bacd7c3dc0329e3368e4cbdac688e4b3e9f9ec57ec0dea6ef8f98636a4e360eda8c49fa5e8d32ace2fc71ddad5bd73b07c013a108c89013a01254e0c839d8c96c78f0264b4f6bb441236ec04f801d9b9c0ba603f4b3c0ed766efc102c799d37d5efb5f9445b5d6c5481e020f907b53b66a6100b040cb406e9c713aa6cb291e27dd3b71274669bf283ca7a68145d89631113df38f2cd03d850fb3b51e56755c95703efbe0d79f4cf6f34b205bf91de27411af58b155878f5da86dbe107882966efd2e452ed60f500c985972f5171643ed7f5e097944aa5a87ff50df256b631a047aceb5e2fa3265364eeca114accb30a37ba599e3d93bd9677dcc256a8b2c65bdd8ca0b11ad018d4daab14ba4680b32f01feb302e4407f28081c3793ccb2aadd8fdf5f1239552dccf1ee613adaf22f77c4874559c6a88a914cde06e207d897676207a43ab24fa3f5216cd777df7d665d60ec5cdab79d63bd8e66d0d781b53989701d1c1b463f71bdd4e8307846955f35b69d374137cf95afbb1350efcff966d2ccecd05e6a3775837c4111d34e65909ed1417c1a34e71367fe25fd8e329a70ce71db9a4e629217ecf2a77b696b9368be765f8f84cc6fe6eef2d0c95cc673f97884eeed07d9326953963ce5e84319dd6d3590973aee7689d324548c0ae08b29d534cb08e07fccedf7b31c1eb577c20f0800d6f9536fbff41567cc0f4023d584b07f514c385f0365bf0a19a4da05cd4c4ca6ef5fc5b76444ee58b64ed6ccf5f4326073b7c0b5786f21478ec2d1e03ee7fab722d8ccf031842473c0e7b300f4067037e0a0cc54829e50ae3ef3c393fb91fa179fdf88d31961ecf606347f4517d577fb0bcf9a9c9f9d1bdd679ed9c62e21f0b127f1e737e545cd7b689e601f0e9bc5331717b314f1ab17d629f37e0771ad9c39c61fd9e8ef1a5b606cbcaf34b42ee5d3466ecc30eb82d5af8e5a0fac7e0fb8f64831de05b01ce56e69d2cc64532c8699980ad8027cf8522f307d6d11b8c638ca3ff222f3bbf4d9ff917ca7a41e48c2e8f659e3a3c1696db16f1199d41039fc70ebe01e01db57938c1bc6e6d2d96a7b35c4c3711c84f0977759d10c93be30eade9ee77b527f3821e83da03dc632766afe6953abc91534c9c21ded71edd8f801b664df68b368ed828952291f8a17177797169e3a4bd8bc627271be797312c146f6e8764ef2e6f76f7530bd34e3d04dbd0360a13d9e0e08c7de9e1378e7589df65e10e719de40c26ab344634e3cd80fec7efde9193309dcb1c22db017e1dc5af42e716f51970c5faf1985d5d3ad69d1b176cb71d3ecae35e34be7a43ff0c78193cf417f8a0ae0c6d36d888d121938df38b3875f3cd2463d8a1393026e7fa0c3439b8ceb0feaf626b17d87741b7c7d8f7dbf8801873721f64ab74067387cf60fcee972ffb9cadd2d1753b9412f45b3b4937cfc4fc8596ce734f90c2ed207fc02c696338229eab8e7d9ab2bff66dac52b0f9a0bd3403ff3144276461c279887eb4f639609900b68188e3838518ffa6b25bc3bf207ac7b4bff55ee1b8813de3ded0d28acd5b186815bc1bdc515fe039d8d0e11cb109fe8ef8d34cd99b32971859b8f7eed031d38ab16dfb8cb89d98081ef48b9d78fcbe0f01c5ac23b6a19a264b919bc98205f841c4c604f9c764fd1eb67ce31adb09ea134ffdc1461ce018e845b83666bfb6460b030b304e67996b5d4247efe14b44f304dd3338ee7904e709f29e0de61d5c51af8b1dc913dad4c210a9716c33373a60bb97695d9514c7991b0374efa1b5a6fc8586e47c88fb30d2f94a5ec0ef56bcdaac68e32c7947063036092ed7dc6bddbf7279c9b05ca1799a3df676161b507f8a4e7d437c8eb4b4b8416cfafc32f7924be634d85d8ccd58577b90040ec523c33842aff078ed1e8dfec4baa31192f9c0977fbfb8df915ce9eae322b0e7652058e419c8852476ab98a87c51a2bd0032e7107edfd06f5700ec632437a0f267c473e1ef015390fa454df6d38f3c001f04722fe23a63d85f76927b4252b9f6f2e6a51a2a5bc75bb5b01e794c8bdbfedf45be73687d2a270f36dfaa6d56f2c9fc5ea62623a777f25bfdbd3c7ea07fb51f1cf8a955ccb757e643f9243ec457adf54b2857eaef9d9e176a945d1b1f76f00b033ca3567c28bedb2c8e69fb786f4f56b44d8ba48f25ab13bdc80f587976d05dc779f00cffae640a39eee623548cd96f44630d7bceecf871e90dadabfb887ffcbb3ef30ca2e577c893d0c317c1f90ba7d427dd62b60cc5a839c01e12a33ceac6217d607aa8b30c7ecf806d4666e3f3fe84da990c108d54a3f8dbd52faebc18ff13f0e640e5efa5ecf4f4cb738be96344c8681f81cd90da1540aea875480f791d819fa8e395ceb230f65ae7f2a25a2c9687f51ce202a8acbd4b47206ba3fed779dc0c66a0f2590676267672de5979d9c13bc2fc7db8ae3eded1bca0beec10bd037f6536ecfaf5cd7b638bf36d8f47db394bd073cbf86c1e2106593f406c8e2cd07be90e7121010f581bac6b72a98cd61edfb3ddfb5f67b3163ef219623e132ec6b91b318ee44e07fd60bbaeef2d60c53c62410256b21ee73bbd690f9f837b1feb63d1dfbbaa61fe567a7934fb18bb5f29776d30910e9952cdd85ebdbbae4fe88cc6fef7ee8fda2f9c608c523d2d3dcfb48d1e4fb1d83cc372cd7d24fb209e01efad7a4cf84cc76ffe91fde5392ae81d7a74ad52840d3c07da53164bac4f26f19743e61db08e8cc919d5b1d78b643dc4faeb609a957d19c2af5806f1bc5ec55a2d5b5386bef78e4ca4e0387dc8e78ae8c4ea087dfff5659cefa81f4e19deb09d21feed45c579954cce1e0bfae64c4e47b967647b59e0408f2deb88fea9f89b8146bfb9f855b6976716234fe7895a6637accf8e33391d73a46fc5bfeb5b26077c78b32b298038b419f3ae9f36678fcd2b8c775e0c5771c6a07e414ea128cedd29fdc6c2df0807facd807c73a9bf61f1377e45bf09e19b3dc59d9b329c7fe44ac03f8b248afbdec10101fb0a2fa57eca5dc434b98ae0c720315e29655ef459122c3cce74b07ed78fc65056d68b55c087a572d26e48ce901722ba43322565abb53debdf8195b210af86c186756c74093177209758506f9c933d974a707eee5123d7609bcd4e7f2177a173db3d4b729f07c458773d7ea483bd22e6e0678ce3b4e93938d37835241ba9d3ec2aeb59d7a7797679a0eb5f83fede467b948cbb3adff71ddfb23a9ebce14f786ca7c077f7e12cc39d7d3e531e47e6e34b2b7631c37e7cc5cd4bc1773a7485cdb9556f2ec6e8de1a673e334f113f44b05e2e8a3daae3dd1561f4b0666bfd9228fa8551d265ee0dc689ccc758b6165adff1d212ecd15d7e55fbc98fb783e786fd8b1f309c7c07b018b14d314daa4d6a412e3f902107234e27f1b5e85c225e1cfdc6e5e327e360af0ff4a62caef55eac984b6bbe3288d93c5dfafcd8bbca17b4ccbbbae8ea2da467f1352dfe83e0f4d738597dac6eb85f9d6242f79b3c884136304bc82f40fc6cd17c8d2279607e8b5178771d29f3069b1cf0e821d7447cd839eaa185e199b8fce8600a45023e090bc85dfbacae2bce4321e6e2e233f1d3e4e6f2f1559c2f1357ff3c070bedbe8a2637eacbbc3b41eedf8b3208d89dad257e39392ac320f4d371e6a541a50ce6b1cbb399777213ff84fac0deb78e147aaf7d7ecbb53dc23865a0ff8a7344579fcbf7a33779307af7a2225c5b21602bec0087c6ac31511bece965173f6ca12544a6041c21b2374b8cc1fdb03f6e6bd36230de36c417654826d0605f367cb56c5c1ef633a29794fe6e9d6282d69be8c13bfc09e1113afc891f6580f32d45ae83fa2ac6a0238994d91d6822d6938a993c98fc46e3f6cb6d6aea2143dfd7981cfaa592d3188d13705d1fb13d36b9372c267e19f7310e921e3dcb7706f323fd91d11e4d6bdf04f4aea663389eeb913eedf47b44e7508c3a319f9cabb3e17afa81e8c065abc7375998a13a1b9e3145fb2b84b870b1be4f10dd467d644359079dcf4379b9ea9657ec59a6f0cc79a75fae80b5dd9551aeaedef167eef905e2bcebc194a3fc58ed978fe30ec47799cade7a886529f049d9a66d1c1db8bf0cb696037b3c6186faff10d353b7d5c51cddda752e96953cfdc8ede1266fc5f5052013f5f1c852f3394ec1f1d15e114cb9aac1f3047c026cb73c9e118f97b7700b72d7189744a752a2fddc6020d778a14d9bbd3e7983577d023b6a1be72243bc2bbacbfd08ef4734463feada4c57fdf923f8005ef90a4ba2e8e0b8c8c2a4e54b40efe45a2e8eb1ae6ff2ccbf03e76fefd0201c0ffff50a834f2892aede0b68544865718823e7638cd72b80dda67576e69e9730d836dadd476c830f826d06188714f4e5908fbeadf34332f27e718fc4a8f15168c54ce44d5df40c1f22d96862f55b71a1447f742fd4e32593cb3cdbe2b8705247dcafa3de73db6effe336be89ece4d136e56e9e60855e2fbfd2ba0c6b2c3b0f748d2647cf2bf8dbd844e646fcfc11f4e77900fecfc55f7e47ee7083dd831cb710d1b9083b3e13d5f9be6af2bc846b7bd48a4b28100f93cbc2e8db8fe264591699c24bf1d689ebbabdb2c85b7348b0d6ef4382ab9edb032e58dbb49ec9b37a9ab3dba569c7ee3cd663d906045fbae79fd6e781bed776fc7bab3f9105a97f94d394217221d443f8a6d6f7847f84ef24769b4af903769e103e9c15742f105d50ea09dc0df05d0c9a236199ecec470c7017685c4b3f35dd8cd4e9c7ef809f14cbe9f6be32ba381ceea05f7ec62c8f1fe36599314a85befdecd22bbb575ef8197f76eb40aeb01e6ff2d91feb1fe23abb98c8e45e40b428b4875ab08ac7a171eaf2a8c123ad6fce9b3e2e5dbb08032119b816e64f5c7427eaf750b44718dfb97b26c76d9a42f313603d039213703ce9d660a39d1ea23bb89279a9227859dc368d913c17fae521f2200eb2b8ad6d29938518e6474c0f80cfe5579def63f85eb877be37f0f76ce7fb530cdfbb53c44bb0a39d3eae10af6497a80f45e820becc28e0b914b99e785ad6cffde39d5375287b111376b25f88932f21be7ae499a78bb98f9e0b93c9da98a55292473b5e0af68be2b65ea0be1ef033e1102902879e57eb2953403be92682362a683bc6cfb4588c8a0a3df7a675db4b685bb843db067966e862eecd519fccbaed2f1ddaf6c4533216a38275dabab7795e3a06a2679aa7b20c270f37ffa87c1183cf395ad7b4c92940f23ec4bd758e8007217e9f0f7baf1d2f81efc33f63e7123a57ef4583ddeff4f0951e3c53aa79a296e85ee132b9a5b7c63cb9c83983f8dcd777cbc625593b87b3bcd8705f8857acb677598f6fcbe307923192b5b1bd2b8b0dfc5de13bf6b6b647a86ca95433c4b3546b474cd6c6ac84fd06fbcb44fb89510495dbe9c599eadcb6ced2a074b08b5f72789385c3449d4e22ec670e391f36102b507137b9945c8a552e2fd437bfccd15e26e5c27c3db87f8bf18662fd9d03a798b88b62b2ad26118eb58072ec7a687e8bf1a12ee74eb95846fb87d62da86fdb328f4c8c279ead2269a3ce36d1de81718f5cbdd8bb7af1ed1aecde35589ceb51efe620f407dcc535b81fde657d1f80b6adaace9145d68fda6cea5889f57174aff14685d1af1d8d2f1262b073b9d8dfb3c34302c60cc8726ddcc5592bf7cdacd8ebc5d0855c282456765ee705cc5c07e35990fc3fb93930b9af21f3cb8bc655e07c2219baf2996e0e15ab8969856f7ec8a7c1b5f5f59a60e69b81999b82c969adf950d24bf2e5a86fbddfef7ddb74ed73dac641d4216f0523db44f7a0435e179a57b1930f6caf17a66bb0bffcc1fce29a5af8659c239bd56ee88e168539e3e89faac58b79ed4b41de7b3657fa29377c28037824f93bc1e739d883d67bc0bba67524893fd4121ff08e3ec360ce1c8cf926528422f487185f6715499e81be9933078c85f3e96d1d2d10678589e8e2d66613cd2e2ad73847062f71ca2c49d6ce45b5e6eabb98421ccdbb3f540f1b5dcc8df9863ec3bfa7e7c830999b36dbdc6c2b716df46c767f07ec57933968fcfdd03c2f548cc1ca2ec5d92617e738766737cd2e9efef92946854acac4a89f0ac4febc287b62f28d6d720a5bc45fd52c574fcc4d9971a8df6900f4d27c077d2b6fa17be7be7596cc2a1213bffc0cddc1245216686cb3830bfe2f352d8c94c5b242e55cfeb3e6bdc4a8b8ac22291405eaaf23e6684ec4c88aeb678e1a29c2e15d4ce788afba058e182942782675819dd32fc5dc9d9ea3adfe097ca4226831790f781e62542c493b2017a1df86718e247b736864f9620c65307e5aa42c9231a903e433bf44ebe7a279e094b984ffce8a64ad4fcecefce23949e1397ae63b7a3291e7852f1b93b3cd8467c7662ff26259c90637316c6e6298cc9b6170cbf5b09879c362a6cdb4db7ea6cdd6cce64d9b7213b43eebc1e66d2f68b7f5b018da036e12b0ccdb7e1e78deb0701c839b98f6e46d0feb96b8b65374fea2e77b2138c9427072ab49b61e160bad0c171ae3bfa13eb84e31df0bf3c9c629cebb2937d16787b7bd70f95e0f8b8b6770137fa8beede7cb5faa7e1fef9d62b49f8793afd3f96d3fcf76ebe11de389cf831fc76dcc35633f2bccfdac50d7ccfdcd9872136f9117ca54e3f0f70999bf31febbc892b5cef92e3fc93729de7b8eb0b92973173f5fe4d55e9fe4ba40f7a5c6296531770de66697f9c531a0cc0095d935dfbf296561a1328ea0f9eebc7e56749fe1bfeb72926b83d6be1f3237659ed1f6a1ef4a596c7b6d16cad445cf655ce7e65b290ba55386cf6fca7c8eead9ede7f9b762b1d0deeac8c15f6510640aaf3dbc97a793775a463626377780e4f611a7b0a80cf386da92e7f7ab236868adaabd1ea3b125de91b9d9d5c7656531bfed32081527f303e3e3be313e2ecec2bc2f4d5780bfd5c75db10a569b06829614ac768cef2acffa81e9ce368c0b7fb523fac612b4d8121cfd32b1d982c531962caa73a0c5aeafb0ccb73c2f2af9c87950ef11d7ab4e5d414b986fd941732471ca20cebd7484f30fd9f8af9f8e38952f6ede912994c5f2ba36100d1e716a59b0de91611441bbae0d33df0e46dc322acede91192a827b5d1b87dc1d8cb8cdc0e4368e546e9db8974bb7f62579fbc3fb57f755178fb6cebf41f15820be05700210ef07312b105fd2f2236d78d98bea30bf8c08f8fd9cf2c26ac2404ca418fd0907a7d64f7eab0e9329b3d199e07fe72a7fbfff9047f5258e4e0f53b8c652deeb710efd34ff17f5abad5c394ca6cc3767aac314a33bc83eca6cd27e3692f5622e835da6f8edea71aee9a82f4ca40859a2cca484bec7cffa390d7a3926283e2fc6c3235850240fc0cc3c937bf4efebc1985020ffca7ab190e7c0f3a2355c8a09d3cf0b90c8ce25c1780aec1e7c7d8c79f31dba7bd11cc03c4bc18bfc0c8d0ecd1eb57d252f5d0c72aa8f6afceb65e342f55fe17a60014ec3da069ffdabfc980b970b164c4664890ba21fdafc72d3e6cc9b3c2f3c9b1dfb365b0440e39dc2f7cbf81bfa6d4c6ecae2f3bad625796b8fd9ad238d1dc64db62789fc9f0dfd74797698f9dd4f931cfdfeb23839b0c789c364acb748f61bc73a05ce9271d865e22fb4046c4109b7de0eb5db36b54a8719df8214e3833a8c966c07042bb48561e49462a62c5cda8fbd965a11b49d709ffe42da1bf67c0ced25a8ed02da84f6e6d0cede48b901d45d8a0d9652328964bd187b4736f1a22282bfc7cb4ae625578cfec64787c44076718cb995118f57c62412a30be299bed15f72e6eeca3c8f6c2b8e94a9143ca9bf2fab521b06603177ebc03ce172cea0f31be1f81c11e886ca171e8eeb4ed0385847bfdf155e82bac4a857072e3350f8d9bd5fcee20fb4de1ceb2b8ab55cbfbf17e49cba625428f41cc3d8bae798b451ec5cbd109b72c08f46ca3c4c9499d529db7b0e67a97ede2ae3e845e94571ae95877a3e9e9ecfa174750ca624b18154a67b43b208c602d5861ea365ee20616a4c662383f38ce61cd71f3fa5212e8e7de37eac0b68917f16939feb78e1877e55885f80b5086e9a909c768e06b1b39d3c525d9a0d7d97cb10feae8fdbd1ba9a8dd5e9c7bb9a9a95ec30242e2ebcae2df12cc64d3cae18414e76b8c78212eeb121fa0bf7d829b8217a86e3e0f05e13133f427bc9627dbca779c9f14a3117d3a4f25890c1d0be31655e02fd337c8fbe857ba22983be83bd591e68fdf952c7bf77cef266b59ea1fd83fab44b4d4ce34fc110df25054ff797d57e9f2069a2796f47a1279e7cd4268c0dc6c04b8e55fe40a30796b7d3c755604b55b010cf2a7f2fe456ce194257f7de91fde50adc7075fcc85d811baf8e2eb762466731dd806f9b986a308720d7e2b318b9027ed7c5caebf91fbed05df531773b77315a1f8c19f19fdef14f3077a97d0cf626a295206b3ea397c1dfe436eb60ef3ed49dd07ac5ba1cd021f46e5ebfabf751fd1eed372c23629d2cd0b27aae00f3d0a4e5327fc0d5183d686db49a67c1655563867fb7faa04c6705a187fdef0b95ec4134eff51e4c4da08b84cecddbbc0facff1ff893ee3a8f1ff91cb2ce3fe55c749fac678fdf9937eb59f4f22cf5b0144f0f389ab48e1da2d730261ee3192bb4ce27fc533fbf1fe26fea38dfd303a62cfa067281b472a2d73995b6069728e986db421ef951f62cefffdad19a3ef2781f28683d7ee81bc18aa6f701e9eb05f1224660832d778f782c54bfc36aaceb2ce19935b0622fb52af2fc1ca0fb01fd9f71cb9dad213ec9d8c2dac03eebf32543efc844e6d0ba3a0c7bf312ce0c6c0bea84ba2c4ef0d3646f0ee6cc039f346371df2c6ee9b19c19589ce35a9cb99b73829f70c6f6b12d83f04033f277dae28544312a3c310e4531ba978447007d0ca55f3b1eee8933fa8bee09a0633c7987ef90ef5dd97af7a31c44b13e93c97e2a52be29da09ece5054f5663be8bd1250df86e7e4419fc9e69ee94569cfd54ccda75fb43f5090d6ef74f8ce481cbf4f23e66325bebf63b98a46a147fdbd46650fbe0ab6759c7bed758be0bc156f3409bdb743312bf49fd440776f8a1cd9a6e8a9ecd567ef9bfacfb0fe3110246e6a590f00fb93bdc9cc5781641fc0ba6b364cfdcd17e21f495e8f9a6b38ad09e508c8a0bda3b882e6e7431f79c0d91e30e6dfa796ed3cf5dfbae877ddae505b09dabc3937e936ff24d4d9ff15a5876ebb70336b782d6a3c31e2cacf66fd8378b79cda7ea88a6a03e244cee814fad7f46fb1fc63dc8a37e2c62df3e09fc848164ca0278d625c4e3816f27e145434f4cd1bc4a9f2f6856f63518014e8d29305d7a4a626f2116153daf637719900d495f416edf41cea6e77d75094e868373c5125a2b652e03ebc9417c209a0fb4e6f633d9bb1d77dc8eef62ca1592638571b0b6c047aac56f1519d84bad0b4bdb6ee2e843fc0ecbbd4ddcb63ebb53febd3ee37fdf1786e4e568e2178e745de02eb8fa430b7c00e5e947bed3e34c112c8c5bd8ebfb0e9d11dcf7f849dfc33ff59decbb1ff7cdffa69f71d66ef3ffee7c251cb5d19ac228b7405f7a09fd39eb2b47eeb266efd775c965ca2c21f20dbe53286ddad823ee0bf3d1e8ce2e5789962802e48c83b8481a0bbe8a9344116a1e02dead2249a27a155120be8f429d9f17db34a202fb77c558e7650ca578678f436f8ee5b8553c4f94859478c29cd9396e6209c9c535b2b5ab37febbbe30cabbbaadcd7b908e7292ff65ef4545c3cb55d977e737c366de315b769e117e6f750aae8ad0e00f10beeadd12c69c32e3ae585fef5e89fde3bad6b92f67a1fe96f9c3db2a217aeb453ed83b05fa8beee78b3c9dbc837e9dc73aedfd3cc03a6fabf9ff9eeae01705d675ebf1795d9dcfd6e27e90f5b0d18527a0bf47ef489dd0ee5599b3becbe7d9ba8cdf646392c9f38b2fb3f78b6335e5d7d81e90ad01572fdba172eb72735366c5df8ce3bcaeb2c656b0281c6a33f8b76368fa4dfb96794a5404a0cb873ec56fb21e7a0e7ff19fdb01b809eaab1dc15863a52c1cd0f79f0a4f2ed9a0aeff787ec3ff079b80eb1d59cf2e6bfdc8c530998b3643fc3747bffbb53c3197f65a292c93d36f14935d2aa63613a3fb0dca2e9e965d684cb050ac8be35881a398887fe6c81cb24e5d9ee702659e47a8ac56b29ec5b20e92c96bbb8e45f648790f55abdd076da6f1ed72e8ef92ebf7f3b18f935c34e6415baf65982ca9ab5eef425d303747aff5634ba335de157d1707688cb8cf4c6b7ca8cf60a36a8d8dc5f3d0f407e6e017d853f959d16a6b46d602d5314475387ab1226b26ead3ece21959e5976350bb92fa7c778af724de4b9aaf24452c97b87d82d1f8ee0fd51c7d6392f97584cd7bfb5b65fef41bdc97ba6ef20ddf29d72f43e62724fc65afaf2d3b9bc38fc126d62d5fbc2cdfed23e5bd9e94c3fb40c47762fb7dd3b7fa390f73fc8ece8e93dc6f6b9c8bda97f9d057b0cd2e530671be49d1fd313aa33388e4b8fd1cc97085e3dadac41242763f73cb9d5320596d82e43159bfbf390b355b97a1ef4e617e2af4ad9eceaffb999b6c4fc572eb48938df359ee676cf8e51472608f27fac9caf7b339eb0e0bc3753e27c660c9ec67e35b702a66aead66ce42ad69906ce07947edc8f3f6fac467674acb4ccee41bcb5a140bc3d22636634d0deb33b0d9e5cc81dfb38b6ee6173b9d5d76767ef94ad809d82c2d7cbe643d8e95eaf247bcc2b5c99c4512cf282e3e4b6fe866ae60c5a29054a230be053cf87a8422f8a270272f4dde5d7b73306377aa1e0fa51a7ddefce85332191c6381ee5725aa633d00ff1df106814d7d2ba1ed4ac418048740981c7627f5407d9715fe73b81392e38effccfcf2f3ea0d37073fb5f29d3d8f3cc13c6ced65e90d979528cc738fff8cfc941bfa0324e37c865eba3904a955fa83e4e69dd4ab381bdfbce853d7628c43a930896194381e0130e753360c16ea61eb48892868993f58227e227401937e7e75515fec2217052941e3f76c6e80c6beb34787ad3d3a04cee7d11bb09997fa07cf9efff68622f4d5b5e795abb7e35fa4c44dad12e3ebff7b0cfbdd49bde0bcadcfe3581ef57f8f5817189725efe2de95e201fd25fe5ac0237ad15832196ebf9a6eef6a272737929919f45ed7e2e51ed6fef8f01ef3ad73f70afb8afa3ef190bb16ed23b4a62dbf252b56f8cf6ebe82940dbfd09e3b2d19d79ec74af49fc401a1b6d8cbd6393cb1cf823e97599be346e6c7fed2f9d6914e810d6b52756c3fcfe2614f9b6b830b7ac8d6c3cd04ca55d8277675dabcfbfc01e65417469ca11f22da7f998718e9113e638d9f976b6ff25eac14e8364421416728d9da9beb7fb27f501d8a8de67512f57506d85eb0e18cd3a6ef8f19fa69c0c2fa2dd4c758865eec512f2ff25b301d43b9f510f429efc134bbcb441789ee46f144fc7478a9c64b105b3ef94acbae40f5b7181f48ccc5b4f137126b7c20f2bc154b2526ccafdd6973169373a480df629ce3dfd98ee4e5c736ab48cc2581da14e05dec52991cbe957676f4dc86203b976b0b4f153027910c1e2cb2cbdab21899d712a5a35fccae6b7d72b6d9fbb7c3b301e63d37993208b2d5e0315eaa630be2935f7b221f5936bedb1c9ec9d6e5e16d1585becb9f33bb1c1d1c3d7e93e1de4d7cfc3ccf807f9d9ecfc0abea21e6371a3eb480bb343a5c6483dba0b232cfbc811f8a7ebf3afa39b3519d4f9e1b2f9e5be5f3e71a8f9f5b88cf8d0e97359bdf1523ce9584f92d9b073296fe73e6f9734b059e5be227bfecc5e6eaa623ce3a6dbabe22f39069f4c51bee955dd65e6cce804f426d68b3e0bad63506e339cd63971733659ee1673c5328bc84e45ac64fe7c7801761ed5cc14ab78e95073372b7007e74e2da3abb347476a6cdb5861f64cf91223cf9666e31dbeaa7ef2e3b4717099d0d9fd0d922f452ff2ceb4f686df429d574b54777e51a77a0b1e1e0fb2a48021e9d79f3e0a13b716885eec0acf3baa0fb12d3d6d1c142779dd0e90bf17938f473cbe4e86f60cf4faea35efb3a908e7dec59cc5bdf9e6564dde73ab1dd31c4669e06a75ac7fd87180990c3598a816c16eaf413eb5ea71f5846fa6b7d776dbb72fbb6fead6d9e519fdc815fd3399bdaf9857922f3d2c91d0427b714a97dcca5b67bf816e418f8b6b651f5be5f60f9ac6daf6deaa86d666c4d83515b3ddb2d2d7f8f505bc426d6ee6baef6edb8b4bee98ce86cfd48995da86ef6d4f62780fe7775b730de8eee968e738eca854db9015acfaedf018c17ca76fc0eea79b40533d76c3353e6e7b35dd23aee11bcc7eb007386c78beb7aae2785f8a5c41ec41dbd971a2544dfd5b295d17a9fdb9f712cf0c0f2b6d6dff8198cce6232c3b6e6640eb666dfb142ffa425b0ee68ed4e7376eb488c8bd754a376f756b97c59e2f9327531ff8279f671bdcffd1700635a2dcf67ac13668ac6c6b101ff00907db17fc00cfb0760dd5963abd5129853beb1bd826e6d1a9335deb4f5ff20d777f78076fb83cd92590fcc1a231bfb44856b3fd5322f9de724dfec640ff1b1549f5760df2b234b6adcdb173a3d43b0ae3be0816a3dfa0cc633dba0fd51513f154d98bc9ac3aad675d638b25982b163892f08b9d3f574c499d181c65a43ce35f03188b1ee04b5adcd40af51393aea8356cf79830f4ecf71e7594eea68ecdfad774b6297c175178bfa4ccd70bb16d927b87db0fbe27efc68a768e7f8ae6dac6097f3b01f25b69125d8cf89daf0287d6a7edf214e8bf81ad67c9f6a10fb51cab4f70fd4d9ec1fe8f305f3950c5a2fd68b081f36bb101d72cb4f9d871c2b2b1c2f5690d8acda364afcde37746fd7bf151c5f86cf1ae53da37b417d5afc8e4f0bd89e1a3b16e2314f2ad4e1039dd0aeb50edcc6fbc1acb101d09e98e13d91fcc1ae791affd3b28fb6622611bf3e29d4e947d6f63b3359f50fbe6be37ff61403a8c767cb7c7ca358854d7da00faac8dc7563abf8b63fdbd2c06d6b3ffacda9c6c7efc67ed9aeebf0d02eaecffa537d77f9f4627e088d6bfa877570cb1feffd8fc235d47fd1475227fba73a37ffae4e187bf8f3d86d93fd5763277d5d597feaebf6c7be9273dd6e0fedfb0b6022d0f3dd96dfd01922321a6a5f1b98e4ce42721ada5f885635f660bce7e099ed52798bd7ae389ef91083df051ecb2f491835d8d35366bc2ab5ab5c31a89d4cd30fb1171532aa03fcc8790dfc2ec4631eb770cf266b2346f57cc3bb2859a0722fee8023be030eb047645ebc2b91f81df07123172eb4aca6471d3c90d6993f9dc999bf4718d70bf01ea8dfd4fb5744fc0278e9dd1b8c490e4691fab0253b831d2ba7cfd21b6a37c035312ec90ee36270da6094bb760c39a05df07d11b9273e47b57d70bf285618bf6e0698393b8a23a103fe5e19ccb894fa6a119c9556dd92e00da50b602111ec14d92926e269197ab635077ceb08701153290a67b260793ee49383bfdd3cd5429cad52fcfe514741642a3ebced17c52b5f389079bc5443bc5649f00973037288c699ec30645e0047e4a5fc48f182f178124e11ac4c49b5cc4db70ff30877245e933a8fc39ff42b80cf8cf159c93cc75dfd5319866bc34d96fcf9bcd3c76c202c6b8c39597f8e3d28ebb57f31b7c67923249c9faa98d47efd478223dcd6d3905c1eb230e15cbbc6bf81fa5abc26ced13398dcd686fa4ef53d6b92df5516d0f3590998c00b91e47f660157a3a5d3c1750cc59b6a9bd52a9288ef8a49318c4ba57293e5f44c75434d79f4dc3863dd11edef42045c97d574cbb886f98e65ab9ce6e53ffb1160b80cd4e96684de633c20eeb63a011e7f8663dbf17e40fbd818f4d7b62d4fb67097f590599b386fe47e717fa0816dd976057ea3c0ff01462e602e4f99daaf94d0d7e68c010efd3c76f943d1960761cccee68d8e7175da64d8d6ae955b7b49f41a6c85f5be05a2032939930f630a16c504f264d67a508bd996876cfd4ce701fa8becaaa434df9446cf7a4d87d6d6b6f1677dd4b33ef8c2fa025705427d96137a26dd9374f33a3aea47d9e0f95912092e7157878b691ac68f6fe932b3351b32f2e2c27815d133086ee90d987790095a3a87ae0e029daff139b0d9106c26fa2174f5f8fdaf63d5db6334c7b7a062ffe4438cf1f1305630f8da020d3a69b79e3f79d70795f088ed79407b6e1b619c96ae5e3799ec313e72d69dd3f8cd5e6cce5f03322f646dd17cedf546af24f77c8501432e0d59cf9e5f774e96c8fc3c79d0e53474bac1f427b622b26f198ff9abf961bc32c47716c822f0edc97db2df5b78b29cae832fd40cf77d093998b14e1bfe5feb9e487d751f37ce6b5da35b521fc67193bb7488d77be72c3f5d443f8fcff635c114b4458c573acd562427448d5bfc142b01d1737bd4596338078f7c79eb1e9800d6f8034f7644b256fc46e6b48d21f68f1775f1537bbf27e49b061febb464b68ec460cce81eceaa53cf07efda2ee42e78c58f784736827888e18662a8366ba81f9ee09926933d3fbff6f6702a458ffc29a2cdb260a27d8071e4cb87397b77f598ec09b53386b530eafc5e119ebb854986f88eb51b410e87ce5cf5e68eeed7cc67106d43347df48caf00bf663a769917f1fdad87d9da466316cfb22e6676f519d0fed6fb0df6d8285b45cdfea9b10f179b1ce7f5d89ec528a698bc8543f15fba3889902744741eea07bea7b5aec6d6669367b4a9c17ffb8fd6b54f9bfeb4aec9b33bf9c51e47777217ff17e339f53181c9bc34f895fe50437cd1d3b5062cfd7434a9713dfebc3f1ee6d1184a3fd08dc7fbd01c20d900bf6f78e3a4dad82ee33a22395f0f6dfc74169fd84b113f4fb1e18a49fd9c91122457d5edd3bd4d7377da2f74f402d3e3afc1d6c1d902965d6a8c567b9c90f7ed3b84dbd9262e67cf476b33bce2326ce61d59db8ba00fa083ddd9e3939616a13b545fd2f06d19feda431e20e22f4ee6eac16647f634e44b49b968975ac780ef6287c9761bff9e1510afb5817b27ce77908b06e8418d830f18250ebe8300d75e1fb35e9a308e1e32f660eced2ce61ad8e30cdd55ab01cebb89da0fa6ac84f3ac13b98bbd308edeca5ddedc71e70ebe1bc1b4c4fc444db31fefcd6190817eb3be37935fdbc1bc7275125b78ccba31d1d38f6c85f3b0b6e58677f20dc17214df3b7877d359fd0d8927a3e55bbc6f8673a1e2f80bfa1eeba2eb3e907884561f880cf1fee027df2a53eb25693d2d9f79958fe9786b3ab27aaa67d1a0ce26cf3db175639e3d954e2d5b14c4351dee48b66ac5cb11d9c0eddb9a90bc7d56f5386fdb02707ce436a5e322189915c5bc47fc0760e674df674aa5365882f88c3636cf29bb236786f19879e9a7f371ffdc52df02ec1751eb11bd168667dec6ec54169bab4bfd80161b920f08ff9fce3bf9a6a5cb2c98477d641234bc213973d3beaf0af103c134b7deeb5f4324a74ad5eab421b9f10e5983a19c31ad78fe1cfa6aa0678467d70b1c6f01e568bc4b9cd7f129f87baa6f46e5ebfd80da6b743ed0660fcb397b18272ab72774271038f0637e4d3b5bf961168fbc8adcd423990c67040b2943b4b547ff2077f9137f9816ce20f8d274d7bec3f361d9b183f757c75b43cec4d6efd17865c4e335bb058c59eaff49fd596d560b5a7e8f57935d1a369b056214bf6b7c0863ede8bb603f2486c1d2fc46f51dcf780c5dc37e9943b64a5aedd736f98be998a1b84ad9cbeab4ac14d095826d3e6b6481e51d72d6f4d604e7ce7a94bb1a2ca91a77b9910bf9c34d8e3e22794871c8e26f31faf8ad9471b4a27b59afbf8b14c1e4c448fcd5dcb9f82ec43c52c8909cd74ff54288c7a5ed078e76148fe7da7789c62cdb295a4f31770d26b2a35ac7785deb92274617462efdb39830278cad75e77a71ef358da3670c74b068ad892f30ce5b4ee3d88b706d9bdf129b47b2c59c7ed0f35d6598971fd6a814bfb77a231bebc9726d3cf8b1fd05e621fad65aae4d82150df2cec9cabd457d8e5e9da13e9fd4c20bae7507916b8f22b9d1c99038509cf35d9b6d0876d467cbbff8d3d318d674ac6c2746747cd675e71c5eb6dfc7b3c4e36af3b193c23554ba9f6bfef3258da931f2361ddaa210bd648d95477c9bf68bfbbdd6afe25c55993718834ee4551b5f039cc78adeabce20cea9df69f36c9b535eb07956e75e24b9a2b25e3e8ba242ebb51d6ee8fd5fe371501a8b3187d911b9f7d0994ab6cee763cc7e97eed2d8ea7aafd7b4b6f199f8410721254aba0c3de15eebcc94b6af0aba2b160ffc42fdec212ebb9b63f795aea59d6bb7e1cfdbbe26c7d7fa163f35bb3afac526afe910a9a395dfa713670d3189fa9da9f969ca171e59d4875a07edffa0ef69e14677f0591b7b6893df40d62755a373a27ca9fa5b5e6c2eaa1e7ff77922a9390ff8d9948989ae3ffc72969247fc085eee87597d0e1a1ea8d746677f5430ee21ce01fc30e63a67e04f71fe544679c4fe6799f5c0a4fb1df0d197e5f91cf06c82f84d97171fd67e6d5b598bdfac1eb12a888ed7a93117f17a92befc177dc073c024d7c7fdf7c0cfbddcf7adf6f31a3be954e7bc67e8b9407fbfe83dd11aaf6e8fff70de8b87f3ae4c67f992af6d4288cfe0f414cbac10bb6ed3fda33ed0813ff30a9f142b88a1beb6463a5fd5baf63a3f4f5281cff7b0a1d12ddc7074ee6aba47f207cd902c21f7f3c7f2332e984e902cc90226fa0b3ad3e84000039f516c93e4c58cdfddf6fe867cd50ffbfa6ff9cc70ed6c300f5765abad39aa733fd2352034e57b59be3c232d5ae76792e1ffeab5017614b7a611bdf1343a929bf5ff613c68fd9bfcb24d6e4b77d1d8021fc7d497ddc93c74e72459565cb24acdcbb24cb8a7e521563fa8f76dcb9fe7151dc2f4f624dd021bc961e10f7ab003b5695d7ed20b53bba1dcd8ed32b99afd676b84e4497c8f10398d95c85d4eed8a1cd60f51798d55c87b2a6f7244c743734769cdf72d9df0947d7cb650b94088f1be77b4e353ff6ee217d8ced7f2905f6b514cd4e9ff6e3f017d799eef95a1b915699e1879b1e12c6773960433877cb84e974fdedb58d744f8ca707b52cf011f4f54639b4ad13cc3f963cfdcf2f8d1ba8be60f79c55c92cb441b52ff80386bf206927998b24cf38cd036c80d4ab1ef67b58c817307cd7231853c7a90833ae0b7a9cccf935af79970c79d30473451f292cfd21b04a5eb2cabf5b09697738c31ce960a2f5dc408f894506d6c7afbed200cbd3448747bbcf153ee0438bec362d2604713ff6733b99a0be9e60ea5c41fd631030fb9e170bd38b6f9c7362a9a1397941bb27d19a3ce83e71fb305bdf76a3ec3d18e3f604e3d9311ef2d1b1ab6654eff687fa37d6872c93da9f3c99a16caa2d189f9432b0a1652b81d6eceadfd41d6968e9ff08ed8f7738768cf3319bc3e07a47fc122bbc8e4bcb5cf68bd7e43eddd8335c7585a242f3b3a8bcf7306d563891bfec4b218793e4f94d6bbd5a07756cbaeff46d0dccd9de72a8ffad1a7dd444f9b86a1cf209935b8bab606d8032f68ce5fe5fe437dabf321b6e7868fdf559eca268f7e27b26e0ed429c3a97cc34b69f3a5f92719b2d7c63f8fb272a343eeeb2fea33ddd76b3cdadf28cfcdca7d9f99e65e571ff7f7dfe44becd1b5c6be6bb5da79259b87cf78be5adffbb44e95b34f9bfab7356b7eb77cc5fea48ba8e98498205a2cbe8b91447409d9cd4badd583cdeea9fc4fce6e294d3dea730d39c13e2d2f4d06ae23555bfb7e007c04bdd506f0c65685635af0ff45617edc0eacca1f70e59378b9ab3887783912d3d98a938b0a19f21ac27d4e72d1d25819c8c3f4196e07cbc41f2e6ffeb3b8c4e8d322f1314856247965add0e5c55ce2e3461f705221b68ffcffb0b59747746f7843f1694e348891c118d59d3abf20e7229d67f3215e10d6f0594ccf93389ef6d9f96f630771bbcf7ddb9ff11a322f5544ef1589ad7c8f70df2e369ce23434be4b6337904f91d0f377e5191dc6b11544f7a219d67c79ded92eda07305f3b67393359cdd809491ad431ccfdfdf29fe696d3aa80672b5ab7527ea6688d3d9b2b010f9fea20813e887ddf5be0d7bcb29543b5dbff075eea49995aa7fe3564e0fe0aa25afeca143e64d66641727d8df75bbd97079f9ceb1de28b132e940dec3b82ff7f79d526f794b6a5388e78ab178972d26e04a319c91dffa80b3601ffcd162d40f4de1c84997bd21277ca84eaa3cfd7bebf764dbce4385b5b1f9d98bed5609c619d18c67979c24377b06c287f57fb792617c669ecd1fb96cfeb15e729003eb6a5b3015fd0b71dcd25467c1c760e937b29d89daf2ec620105efad0d1b568725df7bed1bc60cee4de916de55a1b9fc0d7c9a4be751706cdb7e57cde5d479a6e9d6522f349d0d26924fbc53df48e5cb26af2f53eadc731d8ab7292125f28c2edc03c2b0c387a4fd03f6da64d703e04eef413b6a4725ae63b7b0936d97d9397ecd5d810bf78ddf5fdb81e62cc1fcf41a73c9d731aa7f3177c675db69b7735417417fbc98d33e5f489de816d63ed2c13f2ece60fb5da2fd21f98d0b69f5af9d6d1b220b520c7f2b3fdd7c17fa632dcb0870d645daeed9c391a1f86b2c185ed3a56e90cb577f784f9d1d50f37c9dedc763ae080e2be40ce0b974573e63ef585a479685ff681591f3fdec494d481eee3d367e80f3751af6f57d9e0ae90df231d75fbe4a8a84f49dda7a73c26d64729c28860b38f004721e09319e4829b5fae0ef5b961d1bcb04477bff400cb1030b0cd5fcd99c5f1a79047ad958bde18b84be0e966bd582f139dfd24f14e0417612e252e638d7cfe70feabeff5718578e8edc09aec1b59f4451933934b692246f98de0fb977b7d72f5071ceba7cb7a9e6abee447ffcccd5b3b4711cd15dbe8f1083fc35e5ab6e92468ec1ef47dfe90ab087871623bd92f8a8b17c557c473818fad3189a85d453c9e917c1322da89f96f29b087ad3cc116f3fe577d6c6c2eb4ccb5536f6f5e083ed6cfbe46d3766e263a568269dbe427eb62e6cfff3457f87b7b8068a496f890e337466784d819d11959325b7467d8204b448ed5ab337dcc0d45c6f364ed2886d7f3e74aa72d0bd32bcac7b28466fd7407ea45a82c44cc33f4fb8465e4f997303fb6f31fe8e5d3bc9919c90dd89f57bcff9db6aea3d73feb1228adfca35e1a2c3bdf1aace7e8b52ea682759a3dd621ebc5436e47c81126ccb81d1f7a6a6a568a90a0725729da86dd3ba95b9f3d4802d049fda1ccda06df09ddb583f9d7e2e32c26a3da0e5fe7fd1266b9188959fb4e15a351a4f0901b2b92009f0262617e1ce3dfb647f6d279ab038e459b1e474a24e638479718036e06ce53776de9babaeb665d3207d64ee47e1a1ba2694e832ddacf4311e2b1fed006c9bb6ea6d64973c2bbbc109ff65be1a50ce7db1ba512cd8b8463386a3dd0d33d0479b9c68c0bb6a70e4f9de1bc98b43ea68e43a96dbd38cfc4bfab8f9f5f5b32f9e3785f7cbbefd3398cb3fc830df8f999d29c30dc0e376fb250eb0aa3a68c94b8036b244609baaf98ae0d39ce5bf983eb75c4f66f926b63daa7d54b824d1dbfffb13dfe813e903ad9c88b5a7c221d3fb1b3937948a553ad077b55e6fde13d7e4e79cc1ebdc77dfba38eb3bf86a635dada4b665d8631a583e2c37c88a06feae588cb94c59331e03df6a779eef419724bd3f9e4a57e5dad3edc5fdc37b41d76fc74ee9ff589dfa6cff607ee17c1e726fd7b7567f5d663886dc72fe7bf6adb129d21c42c5d5d811b3e7936a6b6645277ba73249cf7eda97deaa94c51fb407c91b3e8a649e90fb519cedf0c6dfd5157d6d80d03224334b8e6ff82a76bb03c1b7fb47d0b17de0bf831f875223eebe9fb8767a037a4b2e8bfe2e988ddafc3bfb4ea6d78976133d67a0fb49e3de5595af363d8c9f5a7f3f8ac1df44da78f4fda4565da7bae8d91fa6fdb2367e34ff38fcfc502efa3d673cad7fc84ef9b6ff5a284bb64f1a4fd17bcd976b879f0af017e8fe4677cd2c747feeca11d13725236f421b95a8f6379e4d1e63fd7e39eacdc7b5e26abf36e4e7de2d30ef6c6706d1fce7625256a792f1c1dfb48c802e5076abd7a1ad845fed047b877dbb9ee21078ad3ec85bfe3b35a7bfe071e6bf42646f1b718411c7bd68acfa4fcc47fd16e9fafeae82eae88af538e9357bce565678fff9bb621e7c8bf1877a6bcdebfdece62114f50ae75e94b8c88aeb19d1fe4397ff998a3e44fe51836f3a2073e74f837f3e0478ff38bd613cf6b9c7bd1362539471f78c7e77bdcc2711898f632ed7cc53b03dbd5a5681b41fe8c3e6f3bc4e37dbeb7ffc8dfc6346ebacd9bbeda0f54be0d3abe0331f60bb047ad3efd8bf139ec03bdff6b1ef715fd9b4e3a7c506bafb6f9b0f34f7c58fb6cbde0c15a7be539fff5bcddfb339a4bf92ea3cd77bdec4397e76aeffde7fcd6f0616eb357f7deffb5b9ff918f7cbc7f9fcb1d2fcbbd5c8fae2c606ad7e73482ccd90f32c97f3f96e4293ff47f6c9d963b7bfce77382686ef2c7b3d2ca6df4727d9a325376fae2cc3cf6e9d5b9817efd795d5af35edb277cf673f99a5794ee24a696914bb897198f296ec1c02a3710fb75c8947479de3ad267c01fee8daeb7c9c9f11c0fa4c58b1e67c57a307a134f9f17c4a79b33265aa5a337319dc3ef8dc9447bbd88021ec709288bcbcf7909229aeb5602bfc8fd62c9ec8571bc5f48b1ac4ff2c696f2904bbdf62f968c767ef34f462e0f05ba079d3284772a3f29543e7e130133e45c104c8dc81f6ea2d591e0729412c44bab15c6e3104f528cc61308874876589c138fc474b6eddfe4d96b7b7a8d39497115cc966d7d142982c434750738bea0839b39063c4aecbbfaa32f00ed4fdbdfb2dbd69c63287ed7ce8eb9962f5cbeb563ce03ec47c0ddc8fd94fc3ea9885fb9ed0cf682782cc03b5b2cb3b5cd2638274e9c7b02fd16f0c7585a1672ee091a2dbb048cc801ad1778c2f3ce60ef506f2f06119575d398f305c025ab737dcb7a716a7d43722b891093b6763e139af3079e2d3ee93392ab3bce035a67ed6b81ca25b41cc9c78dea93b2b5896310fd9463bd74937f0931f7355c56abe3865116eafb726ae69e7166967a715e1dc5521136efea719b1bc6b9501d267706dd39de0de2070cd8d6befdfeab38e3b61f0bce11c229c22553d279d4f5c17ff43b7706b0279ee9ee7af17c6cd6b699f47c455b7e70d82f7c67c71d3b15e8f07aba9cb59d3cda424a1c63d9f74585fa1e9f43ac65bf8fad18d74e2c66fdbe89696ce2364f751b64afb4623d5bed535b11fa8efad39077649f343e7dbb410cbe9c3fea568465d2b159806dbaf8eec5aefe14237facb15ca0eefb4585380058ffc77807ac077e8233d3f0c36d7f7c05e31abc5a771227dec25eea610735784d2cd3e2ff93f6fefb72d4ef9d3e192d8f5ab2d48bc6f65bef894beaea21c45750bc6d8241745da5a39b6a884d2c77cb6701efbb4bd7c75b0892277b0e3056be7a71daadbc87b76579c9946a7b5f4ec364695c3af1daad72cd38ea3238b7d8ea54e3ce954b3e4be4414c309f68b91a2bb2a96f3a6396d38fdfae8eda7693e594946df0a65a650f83e5f4e32ea7d087c235541adbfd80ffd1f88974e3a989bffa6f578fbf77c625766d370cec02ec7c7eca0d494ceedc3f49373f3a44963dfef6526ee8459f10cf2ff2e277c0271cd9bf21f0345d1a12eee83bb639db7e1ae3b382f92588615fdb5c46f7b04ecea73fa8cbcdb0ceb2a8cb80ec3954b9c06eeaa267d715ea67100be357ec91f4e3af6304bbd8f92f686499933d5cf39d585fd0b79f9666a146e77269c4a56b6cbfd56ac6c25e88b2fde3de9c146a14438c0c99d7fdf66445dbb478f06b24fe56d41723effae3f7fb5adc7a6730f72bb66fefcebd29db1a8b16b6eea6727d64ee52e4dec8df0afddd2f8a723d25cfa7e4f9143dbf9ffd28e7e81edb09e6d91d98e8ec7d7b659c7b157357162aa7f271ee3da1ff7e64a23d9d075376242f30be9aac17798bd673016f0e54be48d69003743268eaa27bca4c96c78fdc3bb223199de9e347a608f79afe7b91592ef9e22657e8fde8a61e378017f8c58788fedc643dcefd32e7b67a71530cf6eceae1c9d571deb49d81faa5225a94290b35591bb312d58df362b137f4fffade7354d4af31d98be4ee5c129a1d247d7adff51f2098182ff7e5d20bf83cf24b2990f9cebe79bc53c9b9689dcf745797a57316903386f101d6364b7ee37bde277504e4fcbdb2417cd5b135584729eb93219235d0b7cdbcb8b8ee13c634583b096dbbc6dcfa4feeb3bfc63033fe149f88eea6a4beaf45077c40db7692548ac2ebda36bb7e4efa81e8fe8a2be493d3c7776fb864a86d431646f4ceefc6f2576ce4d2e7cf9e31996130236e9b9a781e3b783297a77832b0560227f98326de1bc92ebd67aff0f8379e60a13bf210805ff0434c794bb6f8387b29c7ec6cec5be9ea9fc7adf39905c23cf7cb18c938898cc701b2ccda0aaf1833fc50638606f638fb22d8bbe2a9f5bc8ed5160946f1a18ddbbe15a382a9f3b13fc945dc603e7773ce004d2178011a9a3b87e63f6ff2117efd8bfa300639cd9dee26fe6989bee1c4a378558dc3557dc8139ffcfa42fccb82391ba70de41776d311e7da90e7e6b2eb616875ced70963e1535c2b312a3c471f579e901cddda0f745eba430b6442bfbcdf65e01347185fe8e5fd9731905b9a99a738e7c9bfa837e586afe38a618e7019a6f93fa259f2a0c1fed8c3dc59ccb662cfa84ed8133fd047e3b421eb08f13ed7daefa8fa91876609b653de9601f1f74945fc3e7318537dc62406fdae69c894bdc37a2dac12e3028c381b70c8c699cf10b97dca420e8d96ade64fba9598f6cba3f9eef1771023d860f0673f62bdfe29574e1723e340c6dda51dce908e05d53987f55c9b80c1f6effcdf08be96c24b3d7f1c32df3fdb5ca99f58834d289835969cd8fb16e34a60cccf9d3d4e0cba760eee779dbba65ed3e7385834eeaa87f5f6e91d2f349679ed2517c621b8b7c660ec0573e6ea0c96372f7533b78c735918113fce8fb36bb0535940f7409cc918c32bf14e9a4a7441f4fb9cfce5bca888c066e1105f751abf6072577ba8814f18ed236ddb4767d21e33f5d8185c967e036b9e5ad76046d6d9c81ec6e20a56ee3a5a22cef037edd86adc0ecbb5cfc4a3aea1dec71b570fd71e598f077df4a37c0b36e746aed292dac798e4f468ebbee93a7bf83ecd119f60d9e32c58a89c0e7baaef438c65417467fd60631f78832416a71877663d90b25524b5fad98d3d050cd234e60212e386fad3f7bbb684b0749de5d91b143feb0428162f3fe3d64e98d1356ee796710d6eb4b32e8c639ccf5f4202fbc4d5ef915f3638bc5f427cf5114fa633858c6300c9d96e6211a83fed0fb8865cc0a3b9725319e823a63f0a3fbb7762ed8ff7cbf238895af108d12a1d4d1463f626a645e80f358a75765d4f3fe8b3d9d689a19c6ad06fb14ced1def25e85f9d90d10013197de7bf89e938f95ad0bace9df630fd68e385b3c94e2fae7b741f2d2e9ca3df87abe4f287fcc58772a5038e00e23b136ff19920d920e00fcc528f73f47e59c6e71de2f9f5712d2323d9499e8aacac1799125bb90b79d93650df3282b28927903b12ca6eeeb86c7245f7ea96e41b5c3b9bb37a3c640a5a3ba108318e3003edaf004bec50a93a6e1fd5ad46adff97cdff977cfdff4a6dffbffc7fe4fd4777b3ccd2060affa03db801058ba1ad80244009449a09b00d02241ea300faf5dfeaea6e68826cdfcfdeef3ae75b67648bd874a8ae70d555ccffd5bd8f55f54c9eb99767aee1997bf9daf5cc35abea9a9cb92667aec9d96bd663e67ff6bbc6ccffd5f1beac05c0d5204fa2143016f3ed59d55f99ffa7ccff0be67f95f97f0bffaf69be8371f1d7c2f4eacd8dc701c9d9c97650bd677f67fecff1ff309e77776e9c90be8be48b23c448ef2d6469da1c3ba423a4be1407ae04bccaa922edd1bcbe23d905f6df78c9bbc03f1d5f1d735bcf431362c095c1fa27ff2b11c46bb88d19c1bb6c6176f5c14f62641ee69a61e76e79fe43cb5f54fd75a8eaaf99aa4f87aa3ecd547d3154f545a6eaea50d5d54cd5b74355df66aabe1faafa3e53757ba8ea76a6eade50d5bd4cd53f87aafe99a97a3454f528538faf43f5f89aa9c7e9503d4e33f5b818aac745a61ed5a17a5433f5b81daac76da61ef743f5b8cfd4a30dfe70f5e80dd5a397a9c7cfa17afcccd46334548f51a63e5e87eae335531fd3a1fa9866ea6331541f8b4c7da843f5a166ea633f541ffb6c35791dae26afd96ab2079ffb6af2395c4d3eb3d5241aae2651b6d25f872bfd355be9d3e14a9f662b7d315ce98b6ca5abc395ae662b7d3b5ce9db6ca5ef872b7d9fad747bb8d2ed6ca57bc395ee65ebc9b9af4ca2e1dae27d65f23934852e3d240bb11d44e276e3c58ba321f9f476f34ebb0eae99ed759b34f2bf5a7b5dff8a651717da482685396090fd31e6a3fdb0782acb06cf64d9e20439a6941f2a5c0bb5f9d6d49d39255af276b2cc1ad8afa62e7a554e68bfdb8b8b845caf2d325c47607bc6fdc18b688e7d185c86e6d9ffaacf7692c83b4270f51b796a4d5dd00d07b06e36da32727bc6e9200d787ffc5d1ba7ffb336ea527cfd7dffe5a99bec4305fb53393207c40f8bcbde7b68be4d8bffd9d8c66f37579a155b6b19dbbf6ddf89b9e7db3156ff67fdb74f66ad1a1edf8c6f619b3ba805f5bc6ddbff5ddb8455e0cf5b5cc5dff4dfea685b3b5cd7ecf918f3bf1e63527b03eb067bf049227d401d479977045d82077d2516810b60912ca16fde8500f8dad7a7cbc51576f13a5c66b6b98cddf15254e62ba2b3a72fefd359dfb1d4a1d9bbe0f863b8c4f16a412cdeb545867391fd9b778ab78eb53c221dc636fd781df6fb8ab40cbcf82df69215b2610247d80f95639451cebc7538bd2b925f1ccc9d8a6c30f43e7a6ed75ba6ce14ad05e381aefb40b2761ebfbd4bc6631d5f5eb01c3c872e5a5be6ac589c78ffc3021ce6d5ea01474288ec878395229b3d70a74fbf3b45fbebfb7891d956907a8f73f8aefdd807196a2fd40744734388614eacc365e8f6769c2b70219a67effbf2bebbdb5ba5309647d4662341b2877e43d58751a848e04f3bb9bde5602f418eded5976627473f5fd7e33cb4ad65b39f078a447964ce813ace4f5e124720732c75f84e3966a66c3f9f0375ce8b16f042e431b1f58768beda80a3f691cdf7622762e14846b1172ea9377f8b9d096dfb12ad25ce15c4cc97e23bea23c0f0421deccb637dba70076b879ef13c87535b8435ded4248fddc4e70e93fe1df4995976b7b4c1409766a163deffb8479e331f6fbe728a5598a7933456923cb01323f38a924ffa3fead84ec8bd785c2779d775a52fd685e7e70fb3b773d519e8639163053ee0244f5c86cfdf87dff82dce8e067cce019ab738777117f8d2ece158bb25b461c6d1f78c3e480ed51af84fb7d7f7296e1be4d1986284e6036ec367a848b3fec152878b5314e2b9fd833c4f5668ae17ae90678eb57c2868ad1f794e89caf64c5c61c0798998b992512889d1f791ad370e5e1c69c6d97b6a9becf630cf93e9759f18471fb884f25891e2ebc1daa5b699a7efc97ed8f02961ff7815a37df1c798ff12f5cb5610affe7c7973a53cf6c2c1dd4b44ceed814c6ce8c083c09bbf65ef5a70556abec32893a5bde886c0e7b672b09f1ef36b99abaf8dd9070e38c0bd589823859e43fd86f4a58d36bd7f6839e126da0f9fe4b5435d4cf20d99adf338ee32e563c2b186635d387710c9d5c24772e248ae9b2d79d4b7c0a9ac737745ea8bb656f19d3b7a7e5d17d997a3c5a97232eec0bb5cf6fbf66c1b97d8d272526799b6d59851fb709dfc821f409a8a076d703c48b3c21fe7b78d1941dfe8a681f903e7aa88eb85eccaf1016ee7098fe610eff57637d7ca47ef3d2ef3753e5012f10ef3eca45e197971f598b9b1ee6daf562fd0b1bf88f60596a1bb442c34737b768b417f8b642c174f819f3016077be2d722edc1f7ef9d9b17c5912c8dae48861eacd57287b9b23f1c3abe5364ef187df46d64bdc079f2bfe8e0e7838c7727fc4b751f5e6feb934ad6e4bd5ce33619db525ef03016a1db5b468eb5d40f427cf724235a27f76b5b368a99922c6f5eb28bbd78f575b0deee8eb91dfadaa075bf82e5e409e384d09acc6fde3145f7771c179f1c4f0bca6fbba572662a163b5ac3681c3c3aef0bd1dc82f5703c087ee1f68cab335ddd5c492ce4ea5bd936e16f8af0351ba1faf6ad20666e6f31f4cafa1e334ec3f273e345b466d2f6ec1583fa73cb36d49e932a12ed3f3f75e6bb33dbcf861047bef4f9c71d97cfb20ee68e3b4c7ed50fb5e7225d8a1917fc1cf0cb45a5df7747e7f9d48f5d818ffdf97250ae3734b74e6fa99f88c0e3a2cc9beb7837774cf1e258bbe2bdbd07d67d4aa466dcc6da425cdf918c4c992fe87a30a15f8d15ad3194b90fbec0f26889d6edf66005b13bc66bda031f7c70f3927888e4bc6ddecfb29667688d583d2c973ee6794b4ef9b05ed13a5cf12e7c07d2db709feea5b88ff64759aad699a3459933e9b827c26bb2fb9e3c93f54ba024b5f689e8db619f12f622ae4f0673f3e16879a09c3e45ef215e37c208ada3b363cea275b2bd629dc82814697a7dd7f9c746a88ead93fe1ff791f24a12c4b6b9cd6cb82f3e1de65bf4ac4839ad60efa2fe52f40c1fcf2d749efa7587ce78f0385869fca1e5ad71d0cc6d73ef6bc693d93daa9261732e437298ac1122ebe2a826d33bf02535d97d0adedea5f8a1ed77a222a17124e384e5e86fda5597b1cc3b0c1c3b2ddb456af59c2a3d067fff6fda8bdb039c29cb12470df396cc117c7ee9508e60744f6f87e4d504c924ff197e17e357aa7503f50c83c03b6db3720faebd03b8d16ede1cf8b81f542770cc2d5a4b0d3ffe146a36d8ac3e57e98c437f9ce5689d993c47783ff6a23ab9c41b69f422179758d6904e39adeb21446f70b42885791eda898d399fa84e661eac556a27792c4b7b5c97489fa2f6141ff37b0035f7ac45b20c39c0217b05d16ba762224b7de09cb0852cfd98e7ecb714cd98801b429dbde3a1978f14fcfc8792e07ed205fb5c9e2f22a8a7e51583bb6fadceec3b187dfd51eaebf3dad8e179d21ebbce7908efe35637df2475d8f41999d3583635e7198b61a2fad941e7afdd638ee606d6096bf30a64e502f507b1fbf21be673009da85b7e5aea9f03e8700eb74e00237157e67bd11d6767ef21a6ca89ee57d1f52019a923401d339cbf38413a604b6fa5f3acd40bfd491e23bdd01fc737e5f4c67bc2e799ec0158c64f9d1b95c9328ef165fe382f587edcf7de5bfa2e1999f7486fca1cf3ceae933bf041ad4ffbccabafaf80dab8eb047079e8ffa36fe648df1cdbd692c8bcf2994f6d398a2753a451e615a8bf086655e733923fc029d25674c7b53ec8ec073adf9261507b6463ed3bd6629e6c4c225f1224d3895cd68233c42db1dde53a06b2953cd12e9eac7b9d8f4adb60fe2a620edae0d45843a765e8d0dfc146e72fa4b6d175a3bfbeb8c79c43e3e586d1f9a0f33c9e83e59ac6df28f553591b84365abf4944d7117af665193a69dd5e5b3c93c1e8faa392c4d13274788a3900d93273524f8843d4676e08dc96c1d3fe1106f5fe1907c966f29a2c93e9489de723e7d81791ed6cebfd3bd4d39bbf7e6dcc69cac6f1bc236a071a2f3c27905e8fdbbb3f7b5837f9e6fc2591b5fcb1d1829b622d52e5b1c8de7b782ff68a3c44dfb33e2db2836404ce24bd2912f88c62ef98dee49e7a534fbca848dfeb1bdfda46489f20f35399ef91fe426c25156423aea7c0cc17e95324dce1444ee177819c926c74cf1dd6e55ccd9c079f9882e12b12273a556dabcc9bf057caffaccce19ed84db62f0c8617e6c2a608d28de9fdc79b8827c57a1dfa217f42369cf3c8854dcfbe388f141d4fd761106f8eaf689cd38d169c14d3711d8dcb2d2dbaa9611e839cd7b81ce2cd3a0fb12847cf2f8a3ec573430b1253d87fa90677710a74cffd5ed5b08d441b3007602ffe631783cacf67d47c7899f7e0033981d851a7ef4f91eea22c8dbebc22ba95fb0a91f3586ea647d80bebbe41242f488d03c87d2df57abdb79cd258aa2ca960cb1b5290dac2e5ea58ab8732df23995ed6e9606d0fbb185c6c2b40f26c7f90e2e34118c45e4fcd546d7487fe2938d12df293fce03339f9cc9c221365e97ef1719fbe78423c74f494075fa6b01f3a454ef450efcbd772f866c75a0c9de2c22b0ff08b455e32eb3dd9bba8de12237d9fea2dee11d9dd9d723045d7d5f43f58c3d3ccd6c93da5cc81fa5160ebd35ae080999de07dc80b0747db1c0836e68c4dbde9ac704ca4970c8efe1ce9e7c45f808fa7eb9e3a721fd997dc53d383b55adbfbfe99ec61dac1f4cfb4adb2447426e3f2b0b408e921a9d95b215953d896079cfb60279c9cc02b06a84fb283f5f6e62546204b7ba4abf691fe87e4bb268902b293fd79dcf21db6eb43907d05f7c7b5b4efe7c031d1f21358a033201b0bff061d723c38fad68a73057ef431bf88d8770e39289163de5f6c24bbd19ed1c3981062a78a9873dd89bda8d35ec778d8c428b61d36f6fa54ced337dab6fafcde5f0fb81fc61defcedc3027f61f79073e7e7ed256b49e83960d8ff9e3e11d757b9f6dfbdfd9f84ed527b57729523ff3f0bc59e0f3c4d7204d5bf67fadadc456ef682bb1fbdb6d253e82bf6f6be917e8237bb1ed17982f63d71405678fdfb7efed064d5bab831793f8dfa84fa9d40d1e666f4b72ab6a3e622c076291eaa5b0f6ed9ef1f025f1f231cf5f3eb4869f401a35df55ed5f49e98b000c42e5d7bf04ddfe243e7de27f7a72fc47bf4bfcc4ff7455a4d133ff53e75c6dcc13a48b37fd54bf694b6b5eba2dbf54d41e7ff07334e6a41035fd52bf99738d7945fba1f69c14fcfc73b43730fef2937a6dc5b260cfe8f0f7878081427ac6f95d68ee29c6d2a9d9665df5c16abeeed25fdbe507f8f77e105e9401ab90152bfd5cacb43ba74ece9c3abe732bfdccad00573115fe0f63a02546a1231e0835535d093063582fb4d4e17b2f781e7b0cf35a7ccf4e440eadd94598a7cee41cbe8ff9e01df5adfeda8c0bfe144f049bb37c8ec63e07f5dfeee60a3977b0de1eebd305f0d6b0ae7aa8bdbbd497bef1d5004f39f185b7f4e60adff7b7b12db4affee61ea23370d407c1f2b3ba21c4c7ce8bf0c229a700c7fbc659a88c49cc6c8fdb2d178b6c315e7c1db44121178b7471e2c57f1927a31897ff2e562689a97bda66d487dce857a69e14b68fdd231f77c6967a0b34af8e877170ad7116939ad88e3668c585f039e0d2fd6fe346351b9dc8995a4cc87d74c7776cad16df79d0b853c3171828a798f830912d7547effcf012e3e10ab9c0f8d037742f2bf9d4cb581cabf3e23ec3f6d7167c3864ff3c6eccfe1fb768f850a25d6c0bf1c536ef67e5b84fd7c908b711db90a88dc466fe0c5d61f98f63aeb87a1d8cfd1f5f87fa33a80f23f05598fd3f44d68d91ce899f753fcb7afa78660ffb5a1e2bd2366dc4cd6e48f65bbd98fe7ec06fa18cbf89ee18e25ae5fad268bc0b1f27316f3ec6f7613d61635dba74c3a13beed419b3667c8789b9d03dbc1983c9da319620f567cbc09162de7ba0f3ccef22bfbb427cf5672bee1dfc4ff7ab076b6787757f2d2f6c7397fa963a748fa33b9c4f66d1c1321eca7cf575b05ed17efb3808f11dd91b1e3708f43038ca563ea2b6ca611c65ef93f4a8cca3e161ce65fe18d9ebce0d6a6a68f9a3d44763da86676b95d5b7fad83ee8bdc175dee3d2ade31cf927b66bff5bddbe5b4fee3fd1952057aca107fdfcdec63876da126ed8d28b521c43afe92a62a5f3d474adeb13bd3c639e4b7420f8063ad6a21b96ff7fb921d1d16332677a5ce625c6051dfbad9d58c67fc7d4f62bd71192a19db61d6a63d7d874f4f5b5ad53b6fba8fdcd79ac9ce8ba00defaf2fbacde32f60431f3934a6eebe55cfbd1ff4a737633c8292dfdae7791d41bafdb20c2a8c4ba28f37d872dbc45f73db127de6e0773c02912c41c191f2b6dff3e3b4cf88cf13766ce91871af31beb826d9549fa50608f9ad198414c7e23b93e74c77953c60d5d1afb987399abf3eea2d3be58648bc6b82cc27bd818975001de8f27363c3ca3d30e66efabc93be026c6f352237318ae3d583bf6774dee2d621a47ea8b2ab2f74caef4ddac85fee8a0675fb2d04f9df8126c4cde7563dedf98ead9ec19ae6d70993bbb04969647a630f32d2d3fa139c1c46812669e1de5d9852f7f17f979237c5ebd634afddb993b2ed75ee694ffaf7c45f270bcf7f42b9dfd690ec57fafb3ef6ebee99fdd9381f4e117db1ca4ae8973cdd6a74be026f105e95cfb44e440f7026ce1ec7a3079a40791fdf41ca81697e1715a0cdf41aeef878bd32a05db58039d38760490b3812be5200b9eee0d901bb027b9019fa7cddcc816d22ab3add563a32d4e48573d98dbaf65c1678ee9239b2cdc845e555fdada9218071afb3ee3c302dcd1b5c4a13c203e919631b7718c634be0535c88eae4526ca418f06bcdb8925c5c0ad964da28e5e9e6983f3c69765dccf13cdc68cb9acc534ce2ab0abdaf830158ba0e99b874bd98fb5a168bff6cc6223c0f7d9b22cdd0f16499d0770681d95bfa32d457c171adc5f17e73a5e83f8b90c98f96ca36869bb1c8bb937e08f724e9ed60f6cf8b107200693f0edf05da37e90b8c97b544e38c6d85b9fadc37331e34b90abaf181c99e1d8f725d6e840a33a8247ce08d0376be376a656c3b63c12a8e95c43579fc788318a45deab3b18f6537c462ebb279be177ff037407ce3196ecbb696c7f2fb4f17ceb1026e9df43327893397d1c9baf40e8cffe9f26beecf6ed1bd771eb43ceaf6054599d74376d825a63eb596ae79145b1824faae862e932ad2b603530418e2a77a2a8b67a2be1c5f0b6e6d7d364272b1a5bf1ca4387224e3ba4ee2879eccd6b234a2b66d6a69f1e8a3f28fa79636381fcc5de498fd8ce06286078b17653d752de09914af5b214f6d21ebc29b825ee3c2774e918c8ca9eddcf203129fbf7be4eec81e2fdbc4dae5bd7c04bcb525eef672dd4811921757590b828d39ea9cbb2ed205c9be0eeb3c0c02e6f795f6c7469b751e97f5cbadc43d6ae0efcaec9ec1b93d6483d5f0cebc3ace0bb7b70b885fe5a21cf7ff107eacada6e5c783b53cfa269f38d632769355bc3e2ed8f37f894f667d618b10c91a82337e8e61aee187b7953e2545e2e278fe5c8497b8e9f76dc725c87a67ee67795494247ed09a546e18fd815ce190e6d87fa632c8e74c3ce8e9554676b934103f30ff5cb5779ede524703fb82d41c447b49b59f929cb50f8c035dde0fe63e54e697a36fed6ebeb5abe3cd8f6f2296cb46df03aee8769d67a44bb2be130f78c549cecda4c36f89daf75ffa5eb6d6f288d7fa45a73e3b2f1c5c5d41bc134c09dae39fe153aafd54da235dac11e38f1b31a7ef62f0d997c3f8b21c8bfb4b7f10d5db2334ce6c4c8ee804a54c477b4850d3cb93596117d8efe241fc7f7ba1b815c56cf99a3397f8b6fdf9eee66a7caa9c76376fccb765df7c4f79e92e682ff68a3c93b53cda5897fefaf89abdebe7fb87961fd17aa8c52aa54fb49f75ce2345b2e15c6b0d03f7af3d52c314c782e3b76569d3a1ef3d2d6fbe84f5bea5f659c811e6a9da4f918dca89b2e47d6d74560e9ccfcea32f96bff5d145d5d3d366cc97cfdf3ca643751ca5b26067de847f799fa4b4d6fecd2b8293ace58335798f27c45759f2902e22c0f793e3b6203e64894b95793424ef7aa0be7221bf38129dc71df015aede17016f817e33dfb80c6df65b461b93cbec237fda4cb8eb4aab5d57fbbd99f0978f798eae2beaf2d14ed4b0cf379ff93e81675ed8eb943d7b0d3ffa90bcd1a63a962c1bcfb01eb45de7fa738efb7f3a9fa54f9bdf90d7daaadf4557cbbf36e6e74dd55fefcadc13df7b9fc3f7098c158b09b82ba7cf7fe4f9ebf57d72bfa3713b1451e68783be1c068272fa1ca99351be4eb214c62c1efd51f4e9b03677c783810ccf89ca6b95b97d7dd7ce673f1c0c3693d73faa9e7e014fc994c3edd047391d67d79cf5e1fde3337a567f73a4d7e7026e9b7d7d9ff469db603ed8c78efb35b87f50bf3fc2f7ebd5fd1f5aae6fac4b0feb2f67d4e7675d1bf415cbbbbe83fe81f1666b34d661b0524ed1c52f0603d9e25e1a788a87c2ab14eb9ab963515792208658fe18f0bc2fef13bcc7ca53eefa3ebef494d327b45fd1ca677fe167f36dbfc6a4f46507efd3bafc902595e81fc0557303bec5b8b44d691b83f7f1e7d9d718bf0abd5f1b15cae435259c2a57c6c62ee5926d7d9e0f1311c947de978c624ffd858fe95d1da76724a740ef2e7d4c2b95e8faa22cf5af48ff609e7bc1f8c041d54e8c6539b178cd4a37221846fcfc1bae87bbb337e6f6fa3e4edb6d42ef23796e2660d1a27f5afd52e447248f7d699621b98af634bb079c11b12189149b18379f8decc88e6f697ef33f8e46b11c8313f1af9c9dd2770e7eb9faf7d7c62968bd5731fba58f56a7f8133466f3329671a4d815565f40faac6c5de2ae5c18d075210fa60b63bf6de9c838e792fa15d8fc1dbaa78ef09ec3eca9dea396df82f644b48f12bf01d20f721e306b491e3ba7ed975b0c0ab2666e6a9847700ef6cdcbadda4be1dc7163a9570ffb23501bb3037a36b37fa13db02b0fc779f0d765e864553b0c0debc1fb3fea24e59424481d691763df78549b1b5b212eec9e717112a370ccc1d1d18284c5fdc9480e24abd44b56bc6b3ab19718575bd8dfe409bb67e2bdd40dedc41d0f2adf0ac625a136a4c8f6701366fce7af3f5cdf982f73fb271bf6858d65fbe3fca5859920ed001b6846631f69accc68de4f8af6725e16a6d57a1be78375b2fdb2b5729d3a142bbbc571dfa15d406dd53792077956a4567f0d9d226fc8b1f4ae48f53e592755fea01fa271c07e0645da67ddb946b158d68a9d47352c12b1ef0ac7e46f7e62d462171893d84f96c866277e31e0b1811aa3f9489e63eca977a2dfc4519e98da7c4473a98d359b118c61d996ab836c7bdc57d9bb3660fa8a1f50bc2339fff5dea1e3b5f3677ec6d7404cfa97f9849d7102ad5e03d0a17cf9a54effdc5722231bb52d7f3bf31f7de098acf2206af988525fecc04564079dbbd76d3e23b085cfb31b9239d28801433de449e93f025f308d7bf9e378f401f11e6c6f7fccefe78396b1bcd2987f17d97c8def6ac98e1f3178b5d835eaffc09d30b68f0eb9bc41d5b6e84f4daf47f6b4b04f914d09365a87eed0b29970de652d17441de7655d5a9a6f84e3d6d45f9adfc09e7be4c55a187dc9458cc6c87579ae8a91f6eabf9b3a08d21f0e3a77863c6441f4955824be16b1fe1bdbbec9c1f4da3e17fe12584fb067ebe36bba09837463eeff73d0c5789d44e946e80f0f8c2d09bea29f7df0fdff3b1f3ce1a6985f1e0749ecd11cf385fe9a79bdb7c08dfcc09ba3dfd3b68f9dc8b9c589cb3c8c0778ac4f97fed60a62ef91baef78ed0e174995fffeaff033521cadc3e540312177faa28e97a285fd21dffa2c98df9f84578fc54675c755815f3cb8f91cf40b92316cbfa41f561bc7e5622e90dffb3a40bf6cfb3be01d1a8e9195b98a33dc87b636d8429c69fc53ae33604682ca7f983fa8dfafb2e1abf8219ac3e07b26bf3fe6b96b697984ee2158e66b191b2ff223d27f5959eae2369fe93b1ab890471d17628b04bbd1d48d6259b233671c91d89947f21eee4dac249bbb9128a75dec628ecd6479221c6a134edc98366e97c19cc77b75ea26c6de31911d2f5ed175685c3c01ad29e00efef068eef238cfba301965bc129f3f1ea43873d05e77e47945bab3f80c889fec84d9dd7ba489725add6d7330b7adb7c746b0afecda72c683eada22e768fbd09c28db771403e67b874fe2f4ad6f5424b5f68d9d7efe64fa242ed07d7c9dd89dc73fe6f9f1093eb4892d6963828569cb67ef34edd1793eb28b56ecbd891b6de34d85162e997d36beef547b76b3dd13db7aa3d804f6f98147622bf577cceea5bec3bca77c86557f5779bccad59edad6ea8cc7053f7327cd1e8789c8bc1bcdcb5a1fc13d640cd86bb2da33a69457246d3c2bd860dd79fb87c1cbc23375caed02e3def1acfab8d4ee29f3bfa3f4866be334fb903d2e3e399e269dc7ebfd2823f948fa1dc7bde01b9dd495eee89b92839967eb13c3b568da577c9d9890eb867681af43f68303f9fe985f05eadcf77631f0020087cd1e3df3e14b06e4ff633ea8f40956c76ede9bd94575aface547df5ca63687b9013d49ccb07d3958017e15cd839e111eccd512f2a7305f13c8641df84550bfad783b898f1ae4ae2cefae90635b37c27bf57379f1ed7da89ddfb60d7869191c167066eb48afe2f9ce3894396ae7e38f031e72d9a47ee6b37bc011e47c56617e06a56c5c864e1573da2fe3f724c6eb1dc720f05e3957cf3fb6c7325c37e6ae9e140b6e6f7b2ef3963176ad0bd3f53c8e776ce6b13ce1d8c098d24e195ae541b7f7499c1f54c36d32b1f667321cb84a3ab182c06988fa69da992370dd583fe5b54414e3d7897dc3353fd3ee5c83d04e64a92f1e9ee4b828d280e40d635c523377e57f3706b5e756b54fda7958412b7783d1e3ed16964c84bcf1e6bec3f479638feaffe43b393fbb17db02d1b09543c1f4713327c23dd5e779637f7e1e1f2536595b3764f84e0bd2ce566cbde4e0e9b0a3a72dbc1a633f533c684b6f90f551698bb6fa875e63e523cca3312bbc046ab596f3b611fbffe33278cb27792729c5ca35b19074be93b6b6724c503b1ae341df3b748f7cebdb600dfca58f5491a6994beb7acc55aa6f977e89277c40b78ef90e3600b5bded07929f15f6ef3021f734f0e25e31183078f1e4b95d1030768187daf943be13eef3758fe54ade97fe6926af5bdc20594faedf97e7edb34fe7478961e619fc5c94516e8585ce89be3660717e75fb02bd17cf9f45ed9a3028dfab4971f96e74fd81f90d39a048f7f81b8cbaa4feb11f358c7ab031fb7f0ee34e8cfaadc6e362e036995a7044b2c221bc4b34e76763daf8b7417f7f3ee165da7ecbc704bedb7934b4b51c70dc80f1062e2506c30df8198aab99a6ca9cc19397b85958afdfcac2d65816681d78e57c90b51ff0e8d6dfbc033f03faaea81f93b5bc1b874f72149eeeaf44ae56fa31b5ad68ee424d3e75df53fad33aef21b285dc33676c47d6f62fc74f7c54b816061fcfd89cea386fe8bbe76061a915fea5f26d27cb53e7f1961eccae0b3446ecef8f79fe932cee5c6f649cd8f58b31498c5f94f495f323bfc07cd194a794832d6bf955e67b2a6f1b9c67f71ae79903fc212ae5a8e0591d85f079c4ce38267a30a9412ef5710d72334e6469fa04ff1dfbca18fbcd486db662d3dc6b896ff7a04529e12f4d96a745d53e22df0ee616c6f000b5b7f05c3192f871309799039cd8d4dff429ea27e362274621cff75d3c15412d56a55fce9bc9eb1fbbc84464cfab9334921ffcf9637ebf7f58b087259bfd8077cd65ec41df609c8f23045c9967338e6a9868f43cff29af8afae584d1f0f9f9ed9713c662c577b47f2297034e66703fdbc4181e4cd0ebb02f90e8a9754cff67face70d22ee6dbae9a1f6c0c968ded73e83ab47649bfe0da7cbff0ed317b692d2eea033f108cc5e86376f1715dff67ebb4f44fc1be06dc2d499c61cef3673514664c7e06c9e541f30cd7feb8f980535b109ea20e59f3bd2d9a7ae1e0e161ece7c4b79682b3e76f6e2272ae3088e5f93e5d0b5017e0b3e471821c913d83bfdf8fdc63f6250bfb14d983905f56e59304c8def17a6fb07eb63da3f093fd19c7a10ce1608abcc7c59c637290e72557b13334268582eb142c7dc9b8c8f37de66811c3fdd6ddc7ac5feea055f83a229bb6e57b79c05c55ed28067dcc035f9f7bfbf932f693f8e65b2b07d91e5ef95bbdbe6b39cb4d43f62568b38dae7513a3ef8fbb9faba373b308b501ea3328275c7ffd479d0dc716aeb630bbd3f542beed41787762649b83efb4b2cd6324eb08f756bab10c2437cabe947fe827d0cf9bdf397b2b1ccb49dd9ef130c77946e2fe901f41b132dff77ff4f373a136ddeee6c1f34bcc40d773d7a80fcd090ff673775f7fa2b6618c9f74a7b8bff4bbb1e96c1f1e5f073d03f8ad24c045431e33f839e6cbc06fcaab7abd58c26352e117fd26df1360312a9982645313e388f11865dc2edbe8af786f9b2fca5a054a8d43a40f1c228a3442f2ef4cde59e73565729464cd4e0e4c4caee4298175f98ca704bf43d62fd966aea2f996c9e6cc7567dc15faa5086eff2fe63029f3eb4ade92f8f7bab353dac924365f6198b2df714f905cb1a47e3fe17a78c243f19c3fe5177a5e5ce979ff0ff1a89cfebe5f1b3eab6fdbd7cecd6cc543588e9a9afeff6ffaafcd5bd17a5ffaa1e59dd894bfc23cff7e1da4f575d0f60781dec3e267187b9dc9336dc402fbd4ee63edf46bd33fb061b06eb296df983cbbe06fec52376cd9a538cff677fe32fa0de9333e158ac7fec63f8d744ce0fc6acfedfd0fb6659476f097880457b8edf4adcdb7d901304ec037f842ebbed4ebb518a2a5ddf3b59eba9dbeab62c923bdcd83ba922b6e71ac380c488da560636dcf2b8c3da4b5995ed8fc06a42b7a11ec3780652035ce4a5e0f185b7396e915bf07e6ced9937a04a74b74b05677579a0dd6e134ffd09a9cfb042f26cd0aa85d40fd0b5326674d8a917e1abc939c445f8a316f8700f582ae5b6b7770ace50dd73ee0b27f9def38e7b23af6ab95474372ea7693923fe4f174df722dfd52e6f12d1f39ef8edf8eae347b780f2e5c16c0e711c985777125e3e498836871ec9f68ed54ac1f600c28e6edacec51b486dd709091fc3dd0190f551e638a7500901d05d209bc639e42ce1c9119a5de5e645f5e18b36dcc0e7a7f04364af8f6c0fb32d4cfa9d6cb983fe2bde77c92059c47d9b59e208fb1f0c2cdf17e83e7a16fd372c86f5c864ef94edbb81416a9e50a1caae3c54811f274132ed25ade21930fe99bf7ff2c42b8e71f3457e4f102d77124fdb83e5d68df0cdf05345e504b32d649fed177fc05203fd99c14adece7b2dfa0fdec78943ab6c8e6475e6cebf5dc81df85f16d73d211dd0fb0dba3062f4c76b78023a4961fd790e1f71ff31c7dfdbfcc733ca9ddb2b3d77d7c9ddcbfcb73e47f9be7d8e2443f8a8f569e2379572bcfb1933bbd96e7d8e23cc7df53c74cb8e3ee3cc73637faffe7f31c7fcc6b5c0b55ac5ac675eeff0ff30f3b729779864b89ad2fb2a7f54578f103cba46feb1935f16a3886bf043b08c91236e7a1c65d6b051c9253f2fcf20c93f6e6256ae64af1f5c097b5750a2519dcdcdeebff3247aec1a994df704e44894bc37eb0869c40b286cd133a68d4dee753ea03c0b138a8ef73811adbbdd7742db4f22d6a3929b274bf782d1cd2a8f86d4e8b5b74e7cf6ddaef85dc2939195d9fe4d3e6f47dcd3c8d8d16b47354cc56bb5245e8138e62e2dbdd331846caad2ded5bfdd1ce6d61784f386aeba7cc3adfb7fac4d17ef30c64a3e15c1c9c3323f2ee89c9d7a9c69cd8fb18675d62f1ff6fb9b6981cd36efefa9257ab1e5b853d9299bfd9c652afac3ea8ccf7a2ad510ee33c2af7d46a9fcfec47b35e432ba701cdb5924b8b7270bf4f090f739827f07b5ffe3e813fae551f27bf837e46f8ccbd714c63dcb7526eceb8f4639e5f98df2c5efd4b163c9203618b1e609f607de31a44382f82ee2f7fd4494ab9b7530f382e57f1eeb4bcb9b49d11ebbf2ff7ac18e967f691176441fdc729f2fec65c7cc9f36d25e71faf43bb88320b38ca9b7af5e8be3eedc9be11a3f65d6dc190bc44bc6c491d0a96ebabd6afc0875b627c39657e69d9b7c0234f62e9d4c65d27fbccea11bef6d33ea33ecef5e9d25f279fd9bb9e26adfc93e36bd6588b43f7287eac4f51c326489fe61bf9c73454505b49ffaf93277926ba28ac4f9f65becb8ffe0fb0e77610e7a175dbbaf33602eeff3ff3459eca9eeebc91c9532c512d9fa48addf481f7a5e4660f07b16daeceb24479f3f3463dc2287d1788ee36df3674b73db3fef2ab5c5c44196a23d76a024c5ab9dadfefd58d5c222c9759fb077399cfa87ce0647dc4e640df1cfd8c6c5f88c7be3f16fcfab8e095c9f6be3e6eefca64cbaf8f5b1eea391e7f5f4f94ade5bcd2304e8ed45b2eb0df609fae85aa86a0876b4ffece4f706ad4d31320a6317cef3171f1f9bfd4c3480dcc6fe634c3fb5aeecbe59e64409bd3408948aec20f1c96ff1b3dadb62fd4398ec6a43e079eabc05bdec0ef3fa80faa8efdba8b2557f9f7b124641b56bae289c8ce1a2688c5bbdb095b2fc52b0610db3398f332cd61a87205d07525ce94e81454b633fe8d6df6ceb7f2038655be6d4e730986be967fd84290bad2ae70ccfed0d6f20f57126f1eaeed48fd99b539e5326dd8203ba4cc037882316e7f47c6e265bfc1a9741dfff3e438d8b81dbc51a30fa99b43a80babd2aaffd5d4a53b6cdd8f79dec147d9c6ce3479a55bb6f6316dd9e4b56797984a8c0777091e1c8d01c194b339280f8a2ff7c875ebe48eaf1b77e60edcba7307469db9035e578e80958f583ea5e7b903a366eec0ad993be015addc81ec97b903b767b903ee933c00ec93e9ce1d60bee737b903b727b9034f8eb3e35dcf1d60decbe40e1820cb699e26b4a3d453a2acda93ff4dce3be0c5e25fe1d619ac49a967b4fd064febce35e46e592fb22677717d242a77a9ad9131f6cb0ff18a9ca7f8221a332f39b36b3afa3e6be8cbec1aaa622d455d5ebb453396622748df6fc473d07555dc64cee6778c6a78b20646f4d6851d5b86806ba0713c86ef96bfd5f96ef15cf897b9ec54ef7834f2daaf9b9e5ad967c794574e6007e0e37bf67894317b029b1bf6c7d62ab9cfd4a6a8c7a95a7b619efea407e35cbffade486d102626fd87f9ff479ba13dc6c886b8b3b1b8ce7de8494cf7cfb35c875fb7a313ab89dbf4cbfa9abfca3ffb8bf6b4b1fe2deee6286bfa81db350fc416befce7ba25a3273879da1ff578b132273155b27fd90dfc2cea871a0657ffb1c643b946cbbc2ec0d9d48ea50d5eeaa0b64e1f62e3f7efdfd9c494bae316a6346539b99513f05883dfe620c477f85ee1927a93322780c5c7f5596e6b1617f65ee34679ba47fc6073d2b58cffe2dafedd7627c34d1f7fc3e742e34157063377fb2d66ce29fd7151b6d05f531677a7cc17187f36fdc5b5959c4bd7685d3dc7c0d994ef0af899a6f4fff80af39ac5c68d734e39618c29f825b06f186330bec3d8fdf6f9f0cc0a13e68fb19fb9ebf904ff55f317b33e6cb7a0183cc0e897f8359fe0c530a6a51b07f65d7b09fe6f00754a28460c7c34bb9b87f1560cd73a9a9fab12c7f27f5a3ba791ab72d06bf5746ab573d07cf0183c4783bbf94f8b7ffc6759d0c4cdd06781aff86ff2cc1a6d21f89e2e7cc7b77cf2d53774d6a9faebefe9c451613ceb7f8ba37ac24f7f145b5cf27f518fea5b7cd577edfe0dbe8ae9db466e7aeb5b7e5ba7fa27dc55573bfe2deeaad4d93b384a3aea4b043ea97dd088cf638ea232efabceb97ffbabfcbfc925e8e4c57f88ccffbfefc36a2f8eb29aceffcd5a7a9213fb84eff8e73a6edfe5bb1e30e6aa132bd0ce0f6dd71ac0edfab76ba2a92746bfad85d5e2e663dbf117b5b03a732f1bed28ebaffd022f56a8bfc78b119c58890743f615e74b46b108f3976fb9e1e7a53ff4e57d5a72d034386aa6a132a75c3680c908bc70917992f838601eb8e1a2dcdf97a2a5e5839203476870d7688beca75a53ae64243e70dc7059c545633cd6e134ff3faa0fc5e2147e53a3e9dfd7653aad8eb6b5e31cecf76e720a831ec9c606702c60f15fc60216c2b3588023e4373b99651df507221ff8e7614c72475733c79c411db175b88c6d6b15eb3d83db5b069283a12289d7fd7c79737acbd8ebb13cc5e2752b88174fca631ff330c0f15ff55dc47016427e70c52344e4efd03d19993bce8fbeb52c1c6c13c5dee47c57a401ef1ac061f1581fedbb22198127c457e7710e1721da5fd01a5ed0fb6f2efbaef8ad7005bf70acd5639de0bad4ae307823f8c4d415061357e0efae64708e9e5e7d33cf3eb05e1b30d7e88eb5140ee62ade5897c44b661767bfe3bd84f4ef71daabb08da0370d4d1e72126eded4296c938fbdc7f9aecc97b16719b1d72bbf3570a41dd3967e573e34c4f9f15c98665ec8ec5bcc187b0f1cbf2f630f139e53a478f4310e38862ff2ea3cb840855c07ee0e75c6ab9a022fb69e17eb22fbb2b53875c2e0660a339fea841b9d13fd715cd5cf03df16be6663a27938a2f5146259bbe7c4e755d52b38e1367b8991fba6f1f0a74c7f45b88f20762aad2046eeb2e78f4ff19e05f8ac13b2d79675fc6b639135e3ae6c4d0732f7a0befe8716bd28fa34d8e87c0c39d658d767e7015af377cc6d1ec4ca648a6b2196e330386db4690eb916df7ce7b7b5771f179883b8bf078563cd78c75a71d01ee637d8aaf57748302fcbb8b08ffae5e6177903c3b5adee9bf0f02ef40d24de3e3d983e9a9f67d9e252f88efaf1efed74692fee80377f70757b1ee52b794176929788f7dd6919b8a6f1d81ca1def395da704e92df30d6bb7e1db65f7785db7bc3df66a962f39aa54ec76027d8c027fa99cbc89ea6dc718001da5fdd44ecc9e3a8d516f9c19d0f1a1fcb9ac829091e9fdd1cb0ab10776ac8010677dabf2f4387839a42b0a6d9753c206301fa6fe0cc9da0331eddc115d839e7a4a9a84e2ec1468a181c717cdd6841bc3163d736388643767fb57b46e12506f8aa1ceb55945bc7de461f93d754ee6d01475097b7354ee6186cd6d332063f9764dc013f75322e70ed5c05fedc0a3b9821f943e571660afdcc31b8cc0dc1bf5cedef05f0f35eb78cfc62f69b0cd7caeba71ddff21fa86950bdff8fdc7e7f5dfe231dd27acb1c6b172bb34b6ca1bd16f57553266a79caaced00ad6d593f7fc9c20ce9761b3b49631bea231809dad7517b3dc928fc7984e62d2bc3afde7c79f32511b8ff94f1921d4bfa9c50995f4e8ef5437dd21ef002fe37ef26d8c3f84ab14748377080ffea895e35676da21df68db4eb11d4fc051b6bd7d281d5a33d548f765d077efcb739137b9a3351ac718d1a4e9e6cfbb27ef92beec46affe0ce4876e1b8524470e8340760d6e46da9e1cf21f65fe501917cc1aade065b7b83f010b27e15e079c63c9cfecab196275cf3c2cf5c6119b8e33c357bdb2be8d606d4062c7104a4ad993f6775acb716a6be560390600b3648f6e3383e739e2fcfaf93fd95725fe27c01624f1403cc8359409b8fb6053612ad3d7b257c97a99238372fc298c50eac13b97ee53ada2075665cad0d1fd4974830c94a2c96df8cfad297c49b3bdfa5de7cc58eefa757c078d27513fa927807be006b37fa182f291e3684fd74ce63ec36d28d4e6f996ffaa97b5251db60bd780fa801073865ba5eaa6375dd7f63412e23832bded6d7defc82faeae1cf97bcddd837591fb447389ed64224021701c945c131bad9d1b38cd44b0ce0e044efc2d84ee0be4163f4a87242737e63de01fb4639f715692bba63e0bc26fcfc97424962c05ffa661c9118f0d19f7f8a5ec1e4973ef80ccb75f1ea24f16963c275e4197c84ced1776cac3d3a1778bdb7d8eeed3490430f9edf08db9b4ff469f08957639db27ce65e38f8b04f4682397d771ad93bc4853e85b6115db6a0ed29f14447740c6ad2507ce3c3ec2dae0773e76fac45a613de192541767d7c758c37a447c4de693790e78b6c8163033fca61a849c3f2e5923cdab6cd59f517893ba0f986e4371aa76c5304a8efafc8c6b6cd3c7d4ff618e3cbd41a92f514e68c2b00176ce12562218f97926dc699636e3f7d69f469f790bdb68b171296bdebf0ed689bfd933f7e0becde8c3f584b740ecdd5f87dbefd744ecb9babbd710769ffe908b1e098fdcf83b58b5d0dea95a56e12730773961dacf427bdb4aa7f3c46fadd2e754e68ffb9877662246e6f196be620f5c70bf061a1fde4600e02c2b18e647dddaf2c19604f116e0a3c6f0a9001e1c11c443bcb01ac948ce301f51a8ebdb79b7b5aa57eb24f9627d0671fa8fdf2787ac73aa371f57a46e1100e208f0b023f31963b8cabe69464c91fcc3c223c4ef41dd017069233b35dea612c17d21bb983e90c909dbe4866892f1945f99df31db257902d5d3cdd4f212e52e585a36b096613dd7f3e582bb4c7726eeff5b92ef0c41685f5dab495426c03c9c4a70ffe576b85e6db0f318d1cd78baa70dc29a9eb80db3e87daa317db8cafbe344bdd68f6f024e3e8cfb05f01e767d58f7dcc73bcfea5512d06a48e73a2633a992b88858ce428c4f066fd83c9f3ae41eb7244a9ac4559a306c75d99d6ed06ef28de141c47877c7edb0a52d7322e1a9151e43990b3877461526304f01a1f73b4d6689d11c0dca5c8d63a68a5bc8b9513f1259aa3eca00dce8e091c06a2c3fc0fb9b127c2ad545dffb538bdf51721738ebe6bc23fe462797f1f2f321be9cc686c9319c66f23db52ea3f5d230b6b5bee1fbecebff8345faac8697b865e8f7b61d7a9a3dd43ba4e1661eefa064772214a9ff7cd8d97b127c44347b313a44757d845f1baa76b4cda673ec6873ed05e2be35a1c94c7f95cbbafb6560dd63e9a96fea810f4c6d83dad782f21f8756bb5b02d27d6f6bbc7b73289adff8a6b27521d83f8fffbd531fd12d07c0a47a3fa4cde91bb043531d17da933cf478bd3e705cd27afe0425930441c1f2a9f33f8fd73a2e673ae80cf0907a9037eeb38fa98df43a29f416ea57d325257da95f5c2ba6cef92ab01d7c267fa03eadc531d4d7cef71997784fcd86ba5d7d9893c5f88648f03bd4e96faa50e8879ed0ca2bf4657d79cdd9ff2e59c2ee5bbd7a76de6cc3bf9d2a3677e66a4ffd5df1dff0fde5df9b79df9dbcd1362ecaf0b97105f5e9cd0fe1ce19c23dcefc01f45fc582f95ce92967da6483bcae90e311bdbcc5586dbfd51c67a301eb6f1bd2c7e61599b4b5e589b4357463f6cd754ebc4cc2eb0bd00b62d6ea3ace519b205489f32fb46c575b81544a4eb16be89f6a0c5d92d081f0edac390ce72aafa4dd6403e42dd07e6bb405e7ae180f1fb43ee74f53ba43543f6a29b18bd85743f432ce184f4b56dc6f473a1482b0e7065c98a7b1fe7b41633b20f5e0ec68547ebc4d2795e99efafae69148e60ec0fe6eacbe3ca3e3a63fb9e198bb19d40bc8bf0a1fbb88e4956ca0663157b2727b585fdd53677a55e6048a26a5bf1cdb7b6c417188b8a847507bdb734485e558d1fbfc599d5c69dbbc00f615cd83a8aac4c69610aea795f482fa67bf788f21994987b8c83090a9a970573c2ca478e56e9b13866037c6db792372d1991f903639c2cc1f7b38b212fb817773dffd6c2bf132c3d8e4993e7e93cd493226b8abe0f7333d4f203e25bddc65a94f9aab4fe9317462fc89e76680e6e47ad46531851bb19e6710d83398eb903b2d18ab7ab63799f3b6b59a039bf2c162799dea765a745f8967ac5dbd5ed6d3f6ded8d603ddeb05d177ae0eb6ed822f03c771cc4ca7c817385e8f7d6bf0972451c52db04edc76c0ec493b943f98b5e6c8de075e71d71f1a2994fd3873de849ee70a3ef91fe8171b41f386f90b4ad6517e1bd06eaa81b5c235f919ca331bd57649ba1f51fb812d2293e995cc41f74515c4f9a5b8676377fe87c07718d8dc5c6b5524e91f2e0fd140d6d6b79f249ae85f998f918030d71894045f3db64f47a699f2d9265ec2462e118d4165b10fc73f52d18d3332d39024aff32d291f13ebdf1628a73abcf49791c556357e63f3d1d3be0ca7b17bad756c7d8853eb20fa762613431d6047bed68ac8e6694328ddd7f0ef57c2c1cb323e32c8f63b18ef5ae6413f05735f44cdb7438c7a2f2718feb64c762e89b0ee46639b365ec22d972145bc7497c4c7c1798f8da697b75189f7c19bb44c7c9ff74ecfdf120b3ad74f0a1a7316a3fbc07be8767708879f06e8a7cddafd992d52f0b1c0bca946470f3a53879477af978193aa673f392b21f4359437ad4f6ea4ab301e4350b46e127f191d58b898d45d608ad5b4a6a02513b45cb9bef0a9cd32ef662bc57d3f15d844ffb9c69138bbbacc6eb071b3f75c2cff61a01db97ac11e6594c7beab10c9dbb13ddbbbd977571e359db8a47bfc4f407b1ac5fd8fee0cafe88bada0076049de3e57ef5fb3cb0062708e6a813df0558774337cc29e69dfbd0b3efe548d547e51a506697d4d222ccd7f4649ffb662d55bca5e5f7e6eec12031bac440b662dd07d1e6397f4176dd2211c343621cfdf142dc58682f366e4ef8167fccef6747e75f98753674b41cd6d23a99154e8fec517c965b1697b2f28f5d9b980f03d622ecbf1d6be8caac21eaef0b2b0e56e0dc636ccf5aadc3762ea2c08e41bff4d1ec499f2c304e888d3ddda0de4252c33264666f0731a70fa21741bc95e1e43a687682f330e2d1c79ce5e48a686d879b925432abfc1eaaf3ceb7b578973cbf5c7d9387989af7389f0f563e728b41b59f85d14dd5edebea6857f22ed997f2ee639edf90ec061c44516120bea9251054d70f62277162bbb77b9842f54cd04bcd56cc2d03ce3ba116772371d4594f96fa67e08f019f36d7c4566cbd443c215dc27ba4d0e76c9cef1b1cc603ea0c3ef57bcd22a7eef3ba2af33d6026658b8fddf92a5e487dc27d08b941e75f8cc15da13ed56480ec42c6873740b205bef70779f2027ab6846c4ea803703d58abb56fe619b21790fc407a0dd92f4415efcb9c97ccaea58d85e4ce789a030f5c5316103feb0ebe6b0173169e254d19ccfbf286ec66a5652b6f2917645cc7d1239b660fbea0d2062ee340fbaa0fe9ff1cb3f7838c646233744e7c23c7d079f03fcdb0ecf2e7cb00fc43dd388f5addf3d24fa9e35a775db652e92f287972fba3839e7dc9423f75b441ea55ed2f73df6509d9b04ef73e20f5d396bc66db0c79e1755db1759ef293724ff6e18e79f44476b2fa47b927781c7084a23d86b3b4fa5eec1e7fd74f8a3e7d718f7d519d6417c5fc4d5fa177fa158f29a977f3d3fe556f6b5caeab72dfffb95e07e1667bb6674fcb3dfba0557b768919e3b1ef649d18e2ba68af333764d659a97b976d0ec81ede9a13746d3574b86b87ce52ae019becdf0e6b4b4d671c8e7d346b63b031fac515f26b2c15eabd3b421e531e081f30543e5b93efb1b576333f69e75c36e25c808bf60ac2c942b154f36df62e907a49827104bfd61c78654e35db959b71e61470a1bf68f7caadfcaa4bbf6a7bfe72c07cd90f64f3616ec26fbe67eadc3c5213eafb5acbd57b1d83a933c4acc17a7d8ae8cf41abbedf0da3a1c9f3a41de538bef95343e8e0d3a9d7654c209f83e5082f6d01657e49710dac556cf7b6c385fe2696f3a16ef7fd2a76d38595077f6f2c5e1ca887783fbbe1e0c3350dced6f997b2962fe6a9c2c78d4b8c7d6c6c5dcf7c24775ec313ae0912e7055d778ab18fd57a26e76aeb85e21f294f0efddda7f5562856b3e2f2afb09907d2474f799e9a761d230f7da85740f9d449fe58cb1eaf30918e9e5fd745f6e56831c1bcc48f726c664eea0971e842dc234a96a7ed97ccc449fd39d4bd6dd71cf855dddab66cabfc85cbd01544a41736e66dc593b22966715587fb1c90784947bed2ce2fafc37594ae0ee8a0868a79377fc028b13198248fe1fe29d21d70ae2b8d752239ef582bce4bc4c1dfcded41ea7c3756688e13ee0e0bcbfd6499d0ffa14ec3cb0174a496dfa46c0fc4b024033062486f64eeadb5bbd37686bcf5b21614d6954b1c05d65f0e6cac8cd8c6872e3f6f976d6c46c88e79a076bfef9bbac93e5df716783f427d98c45787c824aff82439798dd833e1c5f5808f64f620beaaf81dd7e43afaf34fc2cd8eefdb98781d9273225ea775fdeea0ddc3b28dda2255d05c427abcf656c7d2f09714e406f0c98a50e76775dc2d5d73767ace35f846b16694fb9c73b15e62eca3fbd5b6deeeee3ca258dda36d0e04db5233d60788642af82267a0a3ed0f562bd65e5b7f6b81d16927d8b7eb8f077b8a4d92e7970f8a5977301f4ae09d764bf7b4e26c5c973a56663847096c36cc21f3c1c43962160bc1629ba0468696d73010dfc740f318e70de6a9d7db01ef2ac12c5d6bb6f218305831de3783c04d76a0b794fd37ce032ff179e237447670e91b6cf0d890f955f317a6b275b961bb0c9fd781770cc912cce18cf19c867b3038d13de15c6326f65c38d6ea8e9e7fb01cc05ebb47be0bb74c701e48271841ac86f4917ab0569c630ec0d7a78c9714f310521c29bd7763f6c10fed264ba41b623de2a7fc631c5bfe70cb6f5aa23982d65de498e03ff86c9e57589bac16bfc13c176e552b9fe832d5f8c9a07320db9dd848340ef20d777f833f23b3b5bc80fa05c751d8e2fdd716c3c5a993a32c5ce3bd32403656ad46f9e4126ce60b2493025ccb6207faeb32749eef5952d4ce851d37e4707cb9595a80f5603c960bdb1c446ed39ff5cc7757d95dbfb199705f8fa9ed0cfc894ff067af59eb1cc5de639958ea4e8e3638933693e7834d987e4cf8eb3274ae4a42d6db1eaf0d6ca7347d87d86f45747f6acbd1bc0ff1595bd818e24680790e7e2f599aa6eb04d92a480f60b0ce058985f676378ff06156f7d4f020387f34acf96018dcc63d50c711dc6f094bde4980a731a27eb78d36cd3bced5f30e809f26aff75ddb46f916e7403861d22a47779179472e509b7cd2d68adb9a2b0ec91782cd7df8d3197a8fe058c0c19b2d12fee65babd8ed191cc690120cae2ea23ec4d702c778cafe267e836fed132c03135c87f6a0b57c92572511af648d8e3ea4f25baeae30c079b361eefae3c1158d838f6bb907485ef989e183ff66bcbcb83de3e158c67d114eabb683cf77951dccd557edb8958fdc707073237c0ecfd392f71863ea219eb9bdbac90cfa0df0f8a40f71bdfa3cf07abb37dc8e7d9dabbb8c15d5e4cbb9391648d700db0c627311f35db5e7d1be03df54a73c44eb9c8e8956f535702ecc17e2c29c5e6d6b59d8563cf32c2370e7ea997957d66c57c7f789ecf51e6047724e896a760d603e957956acf473b1d2eec57a722ed6e33bb7d2cfdc4abb73ebc9995bcf795f992cb8757ce994e18b93f170b437a44fa5766f1b96bef632e7efdb5c3b16171ee3fc42d8fba99ef28ff710395cef7d56f8520a7c74a5ee50104e78a45b86c10fb907f7d012b02ff170524382794e0ea6cf7bc90cd9454390a3485e9a466183ed730e542dc7f9b77afa52db53e34b6c593cc1c57c83250799d817178988f99eb5c517cd7bdb5adbb33a8e904e6578f337cc4d26eccfb206387834d7637932c5355a6797d8d22f3f7c631eff8befea8e2bee71cd56e5f456b8bddd0dafcfc103e79c90bc2d8989b51411da83032599dd3d291f545c9fac6f3aa27ac63763da8ced6621d3a7e146e701dbe00af6a73fbb5c2dcd4ef0df41e0cddf3288bd815e1ae1790f7a492bff2063c7a63edf20a652d52204ff5dad7db8560dc9c576c22096f5ec0231366b912c9388f0b2ac6279bec8545c8b8adae8ff51e7f9087ce08958ec705fd4b010b275a9f43434e690afcad8284cbfc9162fd23dd72c96b01616e13df424f10e7f852075d0fe3c5e42fd365bd8a3ff79f7b43a1f4c875bc4dc735ed723dfe1db2431e01a5682f63792630c176fc4f83918cc517d3ee52f155f6f933f13db72dddc9ac4ce63dbd1d6315b31453764f34dfb57a69eea15f35c5e287e91e0b2c04628f74acc974bf70aca25dcd4fbca3e8267fb73aec9fff96ddd2fa7acfb50727d429daa2687dc5a803e1037684faf6afa622c54f55b74c341e9a7fa98e75c176f4a1343896b81c4117a37cdef24f851780eb279d8df489f297d5ff37c54d63fac61e1cbfc1c8c43859a1583d4297dc0a5cff1271fce377c366cdf073ef1fb827effbb1cb26e0c12f5ed609b80b4b75e7ff91b3f72fdf9b4af914e4ff0ee711bdb81efa962edd33bd81cd46fd192d9f87a82fb4996499fb6f983d8f318676f7119cdc9006cdcfe699f77d994a51fab518f80cd514e96c920f60bb497577e876a3ee46d7eeed3968e97d8ddbebff02737e544656f806d03b8b73078a17ac03a2973aab30e0ec1b8834390c33efeba5c78e2f300ae84761ca85cd798b3b7c90dc9d6f49b2f4adf1bb1753964eb3a3a53d76f72e136d21ed9ba9c6c2d5d7fc6895e7ce12cac331fbdc4087cc9803580f50f6cef313e7e91ade1f73147726f5538269271e05b64eaffb5befdcd4d907dd79977d9accfd77a26f61377f15be33a44d53ebacdd4317078124c529beb136a629375d2c6b8fd3856742ea55db216e95fb48f3ee6f733fd7f635c7c59af387e163a27da045f555b8be36a1d225d5d96a619e10efb20799c01e6fc5ac65e2fbedadc933d474fd3923bfaaf63d18d7af4807d61eb4742cc84ea29c0b9b016a6241e3d4dddf812581df17fd0efcbbe825c0c86bf7557d8e68062afcf38de07f1c95ff0b697eba4aabb446c5fdcf6b24e455ad5b5dcd6dac2caacb236a58e6b3acbc525954df0f195b8815ff23fd575c77fc9b166d7f9d48a67dcb1dff1222973b55697af9b231a72263a393b9f1c1fba60e377f27106605777f371b6f89d37d6a2c50b8dded9e0edbc414dd006a7980d366dfd79b57750ce24e61d94d79a7907e50babbd835c577f07adabf7ff48edd18e9a8b58f67f5bafabaa7152e35dcbbc07c31d36b93c9ed4060dbeab0dba11a6dff1e10d3dc0dc3fbf5f91fa995b04ddef0ea35499abcd3117ed669dcda8dd96c6dc013f60e7b930bf2ad2e8dcaa0dd67837e5a06bbdbbe4e46abdbbe4a0eb787755d7b3fd8e94e87b033759fd1647ff6b7b80a9051837ebf8d17a800c774eba11ca183cb50dcf36b2e1cc69ba4ea6ff3968203f53f7b48abd13839d2802b41f5e0ea007c5574f300aff992e446425536f103856dc23ae67e386344efd44a718079c2c400ce4e6627b72eb03c77a630fa7fa79bbad4fea8050394df7102e576abe8caa5622fbee8ebcd78efd8a3cfbf4063e6be67efd20c5c9335dbf53ffc1f6fb9960154167da139da8734f6aeff3ad31f6593d2a698f1f7a161b8f64faa860db61a07dfd9bef39988387632d6b79176a3d6e57ce4fd9a2fec9273e03ea5798f0c0eb7d908ce260ed1e98af8cad5db2ff377c6550d3b45643c4ba7c74e0b1b33a1f534472ba085e9ec73a37f67bad400f7fef41de6afa0178fe0cfb552df0a70abff6a732dfb390a236cfd67c91b945fe50a47be66b79a4486a7618e789227962c52b7089df21172ea2f5bf45758cf40bafc21ef61623f7917dc9bd457a30edb3f7e04f666fe9032f437c7958b0570681c7893de0292bf909d414f0d8c6e561e97c246bf7b33be163b3b7f22107cfdc26cb70f981fdf92b579d71e9bb1027b83ed4eca1f7fc2bebc3f40acc0386eedf98f75499ef457f86de7f3fdb8fcaf7e78c23b1e60b041eb0cf10f3b20c4e10133155fcae7170de98d3b3af4529e4234a71043e8c231fc8d23695f13e9b3ae3f8857c47a2247cfa3e0ece509bf7b43cd931cc9dab537ca66b01fce8a97b32e28f12c38bdeb3bcfa261f3ad602383cecc24e0ed64ac27eaa3d7a7fb24ce2c70e732bc4f06eeb027db5b1f65fb2b4bdf85af4cf41071f2e773007bc63e1bedc983bf1c302190afc326a08fe564e9e6c799cdfd6e678a8f83e28662dca2a5f46c5a5d0f4d936f0082f2cdfbe5bd4ea3d01de8ee18978221f29b68783fabc9e140bee0ffc5c8ced8e7419e1601a3d34cf903ee52771ec3ff8424956481ec532c3052ee35cc90fcc05b6855c627ffe2376b72b6e47f56a5c07311671ed34a4ab9bfbabd57352c7f21879d04f964788e7729b2228505b21bf80b47d63411d28b01f6bcf9b00b62d3b6841a0cca15639b611f5f319b5817ceb15e293bd15071c4604e7e240de4cc94b59d580383ec1a79c2efdf589fa8a28773ad439c0df5d71a40f906c45eb93d45dfb8e7324f5b801ef9a4bc033349ed397353bf9e19a0191ff3746ce17ac9c6ff035de3077d3b9a8d7adf2fe155725e56b528ffb5a8deb6f6b4ad564f2be85e164b06f20c7ddc4abc72d26a3f341e7efb6b57c38fb1862f0ca647a97b53b89236c99f8c267b8d41698e741e753e531bdabe334564e6f01e43d4c07681c5d37e652594fd38db5cd0eed78078b51626b8070cbd0011fef0238fcec64910c6e6eb20f179883887dce0dd71ccf0326df3b728515decfc78388daa5069ab3457e837c6ea45701bfba18395afe40f69a83630d176f6e708eb9ab6ad3410db53cfbe69a1bb986df98fdb357449933e1afb2744f154915f59371b113a350e2b7cd9e8bf79ae1cc2c2e5eefa278ad193b879129fcc73c8f361cc3c53edfff71b40030b4b6160ded228f36c2feec8ef39b02f804355d87cb2b92378b13cfea24dffa5e54c03675ea9618af29ecbfe422aeea67b2f9a0c02dd7c6e340bc4b071e2ad6cf2cb23c483ad64dc46fd6ed857079557254aae54edd2d2dca4c9ebb7a1067dfd3383babc3417ceb5de0632ff163af2e57899e52cd17f7c15fd1375535c962c03c2ecad8c002e2191b61808e8b5e4872def7f8f9b234cabc221ad2ebf11ebfffe3c697d8027ecdea3ab3f73d9740996f3f57918d4839081e96160d3d8c1d2e1c01702619a99f0c75273e8007093fe3ff657d0cfa0fe15206fdc3b1f2d182705390bea232eaa6ccd5cc1da3750463c0e4a0809f998cd3fd4cfad645ed741fdc7d2d8c463ef80447a93be153749d2988be325799fae2351ef18ce4d1670b125fa2e356e3db38b2bccce85d7d11dead31bcac09cc8b92f302ed9b0b131de35d97e72aac08e148833a9cf8dd48d65dcbb6e2637f98f1a9cecd2e657d3b263716d9543836b8a7fe17642ba9a922e5beaca7ccdc2bdb93b9e358040e00edadc0b8f6e5c9b11667c29f99d91ae6e346ebd61782d84bf662474e5cea84c0c7f5d8022604d90051b28c3ae3f3c9c1cc39c75aa4955cd8425d341f63a6682ee4b5c1e95054f8c9566e35d2af52c0dc901afb3eceb1bec25a60396d27fc9b775a06ef5abd2628709a11dfd7a6738faef1472568efa33c0af83cd79d3321f4c51a67c251e4d6499ff537a41bfd15fb5aab7849ba91a6c4ff1b03be8cacb9ab32dfb90783c3f588b58a3ff850e1b32ea0bf86b88db866887f76ac65dcd011caef42e3a69f8ccc9d8a8581bec9b4911d863965352e97f57a2d6337ccf2b5108d705d11bc4f1cb4ec8ba903c39942ecaf0568fbd9d6a26aac25e0ffa463b22d6bc1f0ff451bad6d65a7b7dacaa1b6fe67a3bfbe1c34eef2776dacf4bbb6edd2c24e72c05fdb657f8e970c77e1eee6858b74436a7e325c314ff55787c18d60dd9fddab63a8cbd06dd3201b70c57927e3e843cd8301cbbf99d6d625c4e86bb8876be33cc4260f803978a203cfb7c0f753da7452833f15709afdabc58b0fdf7a8bbd58fc40764aed1a6900b206e779829ddae21f2dc7c9a4f56ddf02efb48a77497eb3ad2d923d4816a41ee7800d89394a614d04aec4dfbcde8e62d65ab20cebc8651f119eb459e81501a798fb7443da679bf9c5edad3843086eaed42913699e307ec609fba6eb79276f57c5dc8f904eeb86977873c2fa916bcefaedf9c6d89aa765eccc8da3a3051d78926a7c495da958d6456e1d31f57db09f4854a6d4de19ac777bffcd98c6e6ce10977ae42cf528de9b44ee23ddf3ffae3df1b5a33d5b9d5f2d9fb5c713e253d5afabd411fa7f9ece11c26d07f7e0dcd1e73888c9abb8d1026ea35db87afdade88f3f49b9cdf1f58faa9fa97ccd5cc1cbd592df39bf398fe9bdb17774cc257c1d3af7d18ed9946b9ef0fba177a0f7dfc86f553f4eef58bfdbddf6b81ef1b503b3c8ec55675a236aab69a37c3d794de9fd3bc938798911ff74bfaa7fde15aeacd38cef077f32ae110ef5d70d5c87a52dbfab38a4a30dfa8ab5bdbe8f715efcbbc673ca09ea30d0b1cc3da889995e6521fae7a081ff88ae41ce36fb852c45991bb236c562a4687d9ea9238df684427e706c6de954995f0252fbbc50a4aa76fc3aa1b2be3ab645cf168cd88df13735fba731af6b6d277d7d777bdeb9fade7b216b1772dddb0d72c64fd1056a6a4d1669259be2c0e3dfd277c9c8be5b6f4b1dd920af7fd4c9f9bac2f782efdc4d8c896f2d05476fb5376bd469e3483dba3f8e9e72ca7c213ae09feb939a7462bc4efa154f64c7b779e1a0af98d3ae6f2bd0b7d91af936642b135e7aaf372bfc71c05e7b534e9f177816ba96cc314f127bb23442f3033d2b53211eb617bd6274f68a4b266b79b431ef3779ae7eb9e328b31f7c2a8701b213c87eb04f378fd7a1af45d96102e7a2f29cb48573ceb89a43efbdb7c2b19cd4ed190fa8af7f5a5cdfc7fc510e71fb6c6dd097b57c00c7357a1c7f23c41bd07e886b7416cae9f3eb303e9fdd82f64f94bd432dc3881e1fc071a457e3b19bed67aba53e15d79b7d29ffca631ff37bee685cbe1a834d7707fb63bfe2bd9313eba67845fbb3dbd2c9ebb9748a344576d1d99f03362155123ef0ea984e66cd0f5e68cd69266e0ff97cbe3453d6c7d7ccdd6750d71c73a28d9a76590c58073d7f903c4fe0c0817c571ed94a049f6edef15c1bc7981fefc8c748bea26b147de653fca42c4d45f42c459fc239f9519e4b97a11dd8da80fae8a0aea25c719905245738436378a8aeebaf05c80184efd9e8e063ca3645c05c1fb1d70f644dccd6c73771610e2097a0d6fe8988fa53d998d533d7e12cf898e7ccf3f05a43cfd41ec0e517bbf35da03d884f13ef61c003e8983967efb3147c5bd80ffe3898fe5596aae7cb3a79a7fe3ac4cfe4d87bbf0e5af51ce5b114096f4ae68cf3a3227d62db43da8beae4126fe6ea45055b799f1e74fe86fd395391f675994f40bf779e8f9a7d0e7ee4b66e7566da91a96312cf8b8ced9e8b559deba71b21babafb4cb4f137dcd7b086e1d88dbdd7c163a928ccb829e3e05cca15242fe67b2427be6af217645334dae810af396e7495eea30fcf5a72b2847333511b7c2d3dca09f37c690ac79d71fdb8ac45d43e4dbae77b74a6fd2877f4d3b3796eeb3c190bf1660afb2fd5e0680ef715cd7337ac3f0bc786b8333baf15b39a9befe3e8a616346fc3c85a751f6795cc33216659ad1527fce57d3a7b5f7471c214e6a5ace541d7daa46db66b6d8e7edf665cabd2ded4eeb924ec1cedae991989b5f52cd8ffc0ba29a82e03cf5dfa927179667f965cdd4731deb0797c632edff476ae3ae386fe8ccaa7fd7f589b14c92e7f76a9dd63e92987c799c73a6d553bf4f7ed987077f46ec60ebfa07983da81e7d67e84f4047f96ddc9fb2ef47d6e121f1db4dfb475850a93dea82753eabce38093d1de8af40876cf9e4cefc87eaaec9b20de08d148d5fafce6311d1ef4fb63f358a0bfbdcd633f5491fcd2efa2aa8ff27582d6e9e28f7a4cd3cd84e3c9f994ea70ecf3b1fe5aaf1383ebcfecc5c5c928f34e9c3a2757ef600e22b7e7b56c05e069d4537afedb9a4a1ff3bcbcce178cf020c4dcfe97d7bba638fcf5b5fc377570ac7ce4032e4bec2909fff8e199cf757bfa8cd32af667bbd4350dcccd3abee78eaede56c7d74ad79f2d6357c2796bfb8aabf6b9dd8bf50e11f0f5497c3a9883c025b9cc80f19746044f866be518d2ac7030b617e9a645852fdd66b87603b237b00d7d3007a7ad90a7506307b8d7805b1eed239cdb338e07c978ac055cbb81ae41247365a92fba33c0f41f5d298eddd3ce064c69fd9823ebe733e6f75a6507c0907fa2b9cefc2ef7007e63d57d0f5e88fdb03416a48c9777dbdc419b15136a078768ed38131a5b7332579801df30d4ca27797d6e710f3d6916399063ca736eef15eeb31f7f751fa9010c7af8f9efda4ab9a4e1de6403b5c6800bfd82e3430ea758fb8b5de427748ed605562cc8bfbf2be6f67298b0f2aae107190757742dae67c8f3b226267232a25cf237b68ed2ee096ffb416f3d3365de9f2a82f78f5b949cf2bf7ae67bef73e886f9609dc46265e7123f5a324bddd38ed6c67cbaaedc0272e62fb6f57921df132ae3259d5f047fb7489f3c7f51f2e13ff3534823c81574cd595f3129d7fe225bd0f9392d8f31ef807a9517dfe49fb5bfc417d4e3b67b9c076eee6bfe7a9bac3f821b2c6d7c4f9a159e602cdd536b7ec5dd6be19eab63184b36d64c640ec636433ef7e92d70a45dea26de85ccc3f25ec02a946b9370819afdcb41c335c8499c167cad506f815cd3f0c551ffd44dd6c5a0e69f42f653817d4fb5ba0afbb2f6c0ffa42f697d8532fe41d6ab0639eef5750ef5075af2e1effb92aedb45186568bf55706e3c9dab742e5edc904f91cc26633a21feece0c0b4fbdff627f9a6aebd848db9b075d5d0f57fdac70cd731b8a12389471c9fc639a810e39b0116e6695c1f6a624a778c559e55be7b822d393bd4f758afc3f29ddf97636abd4d91ce6c0bc6f6ffc7db9bb527aa7c6fc31f681f34a0267298a0a2024ea00c67028920a07440053efd7bd5aa2a28c0a47befdff37f0ffa6ac358d4b06a8df77db482d8257c1e1bf330feac790547d1b36b90fd0f318a09e4edb0359f1cc355045ce7354f11e488d41c4529c3911128c93063b8384af437f4e3fc44310aaf6e089c6ecf383602cab101183cd077ccb3e0dc92c677eec07187734bfee4678f9572715a8439879ff1162a02f6b3bbb288c6acf26780a9f3ec392c9fa7a8c89178c47cf0344795a98b696a161c6156dac9ec02783d7211db03a831bad8d632b44d3f867c6ff970263e93d7a33e4a5c61c42da0ce103022ebe762eeaaf1f3fb27189f1ef7c7567470ee173c6b63ee497ea4866cf13abee9b6b90b604e31f930319b0f037804d887d18abf3a7af4cbab70be816d0117c81ef8ae2077a480d8ba83f308528fc3715a45dea7cbd0291becfc6fdb013910948f86c6f1bbcf02bfc09fdb907eeab14879badc09d2f5a89d342e717ceef10f931bdec61f33b8c77ab01fbb939c57ca2c6d70a766aecbe7bc75e05eddb2c92dd6a422532cbec97f18800f2e77cc59e55bcbf8201f865d79ae32f915c4362a37e6c1b559ecbbf972fc2905f4385a7fed674a41a0d0b52215759cdad6a3549d2ffe21985aa217122cfb7044f234971b27c2dcca0692f5569f8fafcee3315a791d14db3eebe911ec38e1b839137b1e015e90c3c6a3095e395ed7943f3dfa3ee632df9e181e31647b4d308ed46aee41cce270030e89f916e9ec17571643db7c34b2baa9d749ff14278118aa202239147b97e5dd0b4f21a9d5b81d2fdac94d446e213ba01f2e74c23145f61d523f436b4d7e8881bca735169529268b2991bbfc7be0cf77b1970c7ff993b4ee1bc0a3b9ac021fe338c78a34e471cefdf2cb318757f53cede5eb92fceb727d5e640def79c3f5b89efc35d7239b0f97f672c219fc91cd2087dad60fa918c1ff16f7e2e33c12dd318b00b03f0e0c5f0989d3b17c81b6def619a80d5612f13346a2466ac77ec2053c12aee423e64ae6bec3053cea518a9f3bc5f9e17ad0af3521750ee8da6e9dc95a98e21c72a15ecb15d4b8a27b0f7960197945f361b1dff67dfc29efaf5e198b9f8c4f66315f74f77b97c578c4fdd2c70c3e9a23dd364717d0872f27346f478a6e276e487042d07cd7a3ccbdf4f31a494e4e2383f67f8a9716f72e2fca33798075d2d1f873fe5dfb9afdd597b0fee7605c51ec979300135a3c02cfd6345d0fb4b1771e5fdd8a77fd19f024558a9156689ff0423b714be65b013b427cc64149b1ef9fe69b7e002fde5024fcd21cad833604fbbab844a1c2e215b5d70d1b078b697ea56d2e2b658ed6029faa9753ba3e035ed7ad775e47e72374be1f63eec7b7825e5c6bbe8078d6673bff35637c7cb46d29708349d1ab1b8e90ed06f314305e07c0a345716c32c22104d72838eff4c6e2be6e800bba081423bde3bdf711687a81e368edf9c137fbc0f8fa9c6fe03b1c1968fb8f6bd70d230643f67b2e15b21679c078a0f5a7338c3bb930239ad74ee24776e24814632722f3699baee3dc27b508fc37383faf04f3f7e563b04a496cf87b5fa81941fdb6a217e5dfae29a84d8b97810b39774324676f68ee281693d356e7ab459907387e0b9a6779d5a407709f63dedbc78b2bd5f8cb041bb68f8bd0c9f30eea761bf94d4d004f58a473e573fe083fe6d1ff3e8f98b5e6b33832b0c7efa9cce8721ed1f1adf703924f476576aace0fa22a2d87aa09ed0e7fae757a506ca1a718c09e2ca67d0ce8b68d095887321de75854e5516c5bcb1e4ffbffd0c765a78fb38d39863e25582f755fabf3056b4b670c4f7a8173465777efb2bdfe6c7f428e46e998d3aba2535c35f237336698776158e7d2f53106a116a43f4ef248047cee1a07ea2dd3c04e3efdd45f25b396607f427bc7c298b21c9fcf723c41c69b33b29ee68bdb871401cf16c9b5e514c235bc4f663747d8e31c05741dc618af363a602fa4ddbe5e867600dc7df25884f8b82c8aea3cfabffb8603f30dfaffdd373ca9e91bfd3d461aa9378945a8475dd45cda8bec63d0e28c05ec2ee0a490912e1e0bce9e8d4330bc43e7b7cc35c1c7191ccdd17b9be318f8fd628a1f6a96047f0fb00e00138afc2df28daf73f5b5081fa12f8bbc2d04a4f669912d2ebbbb6faeae80c7a92f7d55c635e0eb4b7e7723f29bc45d610f30ae21f01a26870adddfc54c57e5efbe67fbd0e6506f3a71e5f87cac6adc6e9a7f4d6c8b6be8257e68eba7878ad688f478201b601116753dca2e116fd4ee59878bf3ea6c0bfdf34ee09a71f6615cc32517c4eedc897d393edbfafbdab10ef1b27c9cdac7bd6c21f9ef5e1207aee4658b39b25bb4dc130ee5d1b443a69db22b8cb8bd10bf38c6b5d0baef25be43a82d192c73db7c84ea7c7575073e70357a64ec987af1d74fe0ba01eea4978f41ed6f7cf918eceedee4fa50e74beceb3cbf65d40709f3433e24fee4faf8c4f556dff2d033b5783fe566f5f360257c0de50a6ed5f045947f7f9bb5700761ed688fff3ff105d91a5e9277ff4c9eb0fe51862f12c9f383f82da69c344adcc17286f9d37ed853e7db9b35d8e51ec584a8f818d9cf1807e6e9fec3fa27e38d307c417bdbc6dc23fbf8d6ce3df6894f11b5757af305c27f2e44ed77967ca0c622e75aef049764fc72d44703ea97b6ebdfa45ddfe8a74827ab7d43ddef1a70e9a7f5846fcce05f9da606e7e563c065b6b98bb689d8c554a3fd1aba832046fa39b215ec441c3a9646e4f1fee65c0e993ba35cc6edbf3fe7a04bc52c3f28e446d7b1d6d1f8535a829f1f3862687f99cdefcff9e3a136efa57b4a4c38ad7277e0c4dfb6bdc119c4df50895ccd7dc3d8568e1ebda8c6f495d85d37ec3b22d7e1fcb4b3a3073775324d3ff582c179fc865382f1e51df522d81c004bb1ee17821548e3cd681fa0631f5a481737590c89b1a84df23bc155be2b6624da87fc6e41cefa93bc7c39829a45e790a716d4dec43e8b0fdded271bf890f2ae5dded4029811a923817c12eb281f4a470fa69dfab896df1bfa0ead016b272a982b2b869a0f648b5bab853b58a61f4806cbb34c9122062f3087186c2baf7b3acdb6659491f8d80bcb116e94c516ad0f77f0f6a24945e80e769c2b702fda1cf0151b5e3d6994a03d8ce2d4d8e774a5ce4f772d446b9bd491cf1b7e39c03836e31bec1d8d7fd3e8c89eaaf67ff4bfe917e6fa43721fe9ac0eefca0589518ad13a9a66be342a49fca17b3e504ded65abe72b34ef7d597c6cf68b0ccf61f83e711b229d8bc6430b09308cc87ea318d72bce9d71b88d7565dff3a20cb634168d8ea37e13772170dde3b8b8c1cb0aaf651f48cfbee0bd4cb178b07f95169f6a836148e50b8943e05cb7061f9a73f97a9fbcbad2a88e95829d6eed49acbc38a3df648cb3e384e7d5cbeeee4945828ed77178d91321ae45d7a644389ac328730d3e66e453b620ed47e7bc49f71c7af62255e776f779b48f43452f461b13e60e961de5232458a5ef5e72081661f4ea86c105b0cff4e2a6c85cb630a64887bd7a12e05e676e1808aa342d681cc03ef3816a6e73bb2c861b6b911f253e516763f1431a97aa9c898a3ccded705c2afaf8ea347ec42fb7b13f5375ee89ca7c915b657457e66f4d8dd0c06e7eebc56a632eb27dc50fd5e95624b11ec22dea413e992dcc38d4664f2a04a5cfeb89fd5404f3e6c9fc7e75cf63ec4fa79870d08fad791cae232ef3cb28db971ccb839faec300b0c59af59665561965860ed791f516653bea0399e757f6fdeb6498d5ebd348635546f2066304d2bede56dc439dbd899a54ec37c65ba603ae5a8d83fb00fd295905be143cfb7ee2f381b8299dbf4c7d14f6f3eceb58f5295d739ac8caa66d09d8d0b173d9a6a81decb93dda279af5252a18c315efef65c3b3eeead1773e988b63edb6f55a6263f3ed36239b784f73de409eceb6c027e70ede52751ab5daa5135c2e9c2303fcd7780f9d4e45472a361b53cb7667feaace16a273cebf6d33e4b134f3adf70d5b3d6b62b9730ef255c9b8e43dff3237fe82b902722b68f5952735eff5c3ce7be76fbdf7ee4278ef95d1adea67f9616f0ee84ac53772b6ddce0b337ff26fd70fe492424de0dab102ee4074de9dd48b41b27571a13b3801c60af8cccffc2bb51f58fb02ed0bebc86eec8c782902dfc4e5cffb18ce378cb2adc147ea742cda65216fcc53b63ff349eb1b7b6331fd762cdc7e1f6ca0ff088f2dc6daf8bf1b1b629f68adb93ed5f2adfe782846feae54bca64ec75fedb5f0961b259c87f13ad0da90840f3ea460afeeed4c932268dba12cd03bd9f34bf5b080f3b0466691e885bc8c8e1948ceefa7b951e5eb8dc189866e27a6c1899bc36afc2905ccba79e64ba9f3129c569fc95cafcf9afeda8aa6d59a9f8fa7dc8e6dddfcdae453f06ba57dbff09fee9f69a289f69efd908ec7cbc6dc7e194847314f5f87eab9ccf0a428f3ca28fb0833d1d00b49a978a32513a0de9b691bfa1b728c9afdb8d11da7f5daa03a23e85232d5715259e15722f3bc514f9715f68ceec6f260921c41cc67f900bd8b6903d1596ad9de3f8f8f632c47bc6e7bd7d4f297e1d2d683953ad320a7e0d3e2c54fbd7865e2a89566fc751cb5ceb351260bbec160b15b182c477df489716797348e1daaf3fce1ce0f97a339aad6971ced0dd98f582d83edcd930bde11e29b57f1afd6e03df34d3f752f1a70bf59c22ab08520d6cd2dd2dd4bc7f401ebddfb1346502c36ede0739f91c39ca27feb03483f4aae2078da38de30151392271077eaebe97bcee839ce3e8e943217d5f9e1e625870b7008f538747b7c649fcdb7e72ee4e1d27d4a8abec3a0e7183f77ccdaa7be14b1b669dcb7496b7ca94f5b989d8ff261e948d917d8aaf221f07ab844048ba81913a4237eff8c677c795d7f14332eb55f7f8e39f8b66691fd0907bc690b5a9b8497e7eff88b32af2cb286fbed50d98365eacd7777efa2410cca07ae9f1a8700f3ad617d90606a4480bd661b7c86ec65b4166c7d44be67987dc701a9cc35d103ac8c285986271a1b66f4eb1160fc2a7a44fd1601633b01872fc48fcbba161e7d4fca6020b01c358136c758e4ccf77d3f0f25660e12df0d3bde1f032e253801b7a3b9057da337ef2dd6a6dfc59eb02a8fd63be70e96158b67a1ca53983f6e45f102d09a74526700396b24d7bdfe6e880d3036623d6fc086347ab8f3cd77b07a66fb3ee0a9fd615da54e78ca350362422c8704d7e401409fa58e54dc37840394f04401cff7c280fc30f8edb21868681f118abb9dcc32f552cf61e00554f4e2c6c642d19c22f60c9d5b2fbe54d458fdeb44040cda4f9dc67cf7ddf92c62ecdc38a2f39d91a3990db19146ee323e3fae699b866cff2de93be0d7db985306b32e1715abcd4fb33a5fcb55f860622e5af9df71143b9c8887dc676ace32b7cd27d6e238a4f124a8e74b70fe98d2e2206df967826efec1b1b18fa01e799788e5418ecfc73288d9e7b821e4ade51b3ce6f1a60cbeb9ef54283a9f2afab85c8741aad67621e4dfcbee60b93f9aab2f45dee79a1ea56ab548553926b58bb0df962bc0f781fd5880da53e25f57e5073a5fada4e8d50bebfd18e332e98bec43d8a5dee03db3ad08c7aa1a7fe2cb02db9da12a8b897359c5c0c7ab17172f8923926ff7d2bddf26f8c28bcbf26227d3ab263d4ecdbf61a1e80be0d3700e58ff5b9fa784af9ae0f69e215e023ccd86309a002e378ecb621e1c742dbf4b6d21af20fe3487df2bdb5a7e19348fe98c8ea7b19788108321feba174d2f5e1c6b7937709d3089272d4b4758060a8d3d4dde6eda799f2e42f65a8a67bc0b3ce1047ac74772285d0eeaca2976f0d4b65657437012c01e3dbf652ef9bd1b2c53670ad7a236174887ec3e8f620defe459759cd6fdfdf8d40b82a185e7e9fa9247470beddbb3117e163ebe27b899eb7011aab8de9de6a7bf68fab054e7bd3813d7e8b257ee137832e3f37180c67419a375bfb57647d407f83d7ceac6cbbb2fb7e295c37d227236992f2bb4eeccb8f412d4afd3827d27e8669603b907f8799d79631d3897875ae0cedfefb57f02c7c066a163161b277120bf43938a86dbac4a338871243cce3dbc68147fbd82f6a3765d725195f9e0487ed7f2f15fc5a0daf5865ed9ceeddd0cb46e6e36c47f54799fae2fdb9b6b1e026f70289d033ee7e8516d0bb3b95e1dbdb502ecd3f9216e61c8cb43a83b20fa35e047038e3e8e4da61f09928fa36ecc121d27f50ce06f23f9e831cea34b3ab14f5c5300350eccf5b26df2a93b8ffacfa7b1589dc5118077be1cf5a22298ec812ad3986d7a5765c8017ff14a9cff4de7b382f5b33bda4b5a7d237538c5596ee0cb8eac5beadb0e9ef61df6adb3d73d0af5bc007c71326f58bcf62bcd4dc77e10a81d2271ffe7fdab583ca7c6188b6c638ed9bdb1e577fb91d3a262b007c0964ca16e06af2b5f4376248e6da135dd3ab77707efe3cfc95b6dbffa8cdf7c0fc77670bef6fd5c00ef11fb2239221bac62accd091ff98cc8dd3feae0f8ba4fbdc0986907fcb7d170d2fe8499def2fba37dcfabb200742e6b0b7e2817f310736a82d7f4c66acb44c09533a622ce7dc46b1de95bbe34ca6d33bd7b67fed591e3ca938be0c3b8069a8574d826d6e6e8ef29b247147d89af0f17a4b6c00ec9fbc3bad661eedc8fe616e709d5ed5b22bdadd546a46b6cac1de8736aef9ed9efce3dd066f61ee045490ec82e8d0fcf6270681cca16cf2389ef373196eefdea0c6361597a8ba3e4af6c25572a7855aee728d8428e34a2dca7071a3353f422023f178ded5adbcc013f71d0d4f2916bbc04db145ed9e0157f08a083c0fe81fd595732d7af0f66ff42fbe40dbfabb8bb891f7b831dd4536cc106dd8b0ee0058d2e8eb5e2a0e6608af55d126f8ad4641923bddf39ac627f0af5be374f807ec3df70f9e638e152dd43be669c3be6a8c273f794aaf2b6ee73c8e5dc17a96bc61c3de7c807ceb19639d2519e9db74d87c37ac52e30e4383f5abb0a78bd9b7e967c33ce1cb22e811766c2a36fe18f66111df07e7e5508ef8a238d02e782f48ecef9d6f7c3b3f62e87f50ae0944b0e257c737802ff8e83fde582632d39fc8c557dbd5706197a9f2391b55b367d04d7f24836c31e3e21cfa8f0fc85ef22eb9d2f559c1b1f6cac05939f1e8d6d626723db096c6c29e03766e11e0f5cba1900d76ae8980fd145ba00b5990cfeb5ce132d0b2203c8ba6ffc0f911a8bf4fd193b765b6196d9834386d60cfe86460f22ed46ebeeec435dc0017475462f6acd93bf78161d5bf9085c07e85e27c575dcf59c60ce91beadb9c6e019684e19472b8d3ff5028f79fc6c7d23d9ab61fc447919d84276edf3ecb79fdf9219f2b76ba68bd78739d5db3cfdac9ca7df6c38d66e7a84fac4157e7f4b46fdf13d1d0cf2ef63ea247e0db548b61550de0f8ec4dad0dce358ff2bb93e5d837cae7deb20ab3fea9a62740f924d1ccd35a97db3b4fe10e707b5f76f64afb27bf341161fdd6378bfa6edaaef97682c5f9b7319991bbd3efcd7fbc437cf793af698834e3b9a7cfa84dbfc6fc7bd25e3daefd9c568fea17db5fb2eaf1cdd5c417ca832e1b36665684fc7f8bb79de96c3858bb9210037f8a9ccfdaf7bf016739ced898c6cbda7f5fc8b767313f1ee49c533d9fd6ffbfbd93332ccbbb8f25b3ac60fb2fa3feb1d3f3cb33de6abbb7b41b622e99fe69e3ff1bf414cbdaf3fe6685d427fc25ac6df8df4ae8722ef6fbeb502ee5eda6f9ff32266fb11e7436a69234b7fd8237b3ef2bf94af7fdd3774dda1f6ad7817c974bc67ebee60173ce70ff8531bfee299616b8efeb4dffd0d17e5d99f9f08ae6f334fc8b864de994fb19f99e835187fef6a635c7f521f3cc636eea48569d6f25120bb087cd3f305cbefdd7a676d0710be248f0bee5e12bfa077d8e6e3aae87183993bdf67ce84afba3a26608c13bb559d438ed5535d53d18bf3c684bca49ffc80df9d7b283a27ac05ed9fa36427ee0430d4828f19e39329a99e6e8b38676a1938721c205dd595229cf341714192d5dd2b8344d18b1a2bd40dd1df69b4011fc56c5863175879a6eadcab7d59c6b6998bae947da9b226fa7a1a91dc50346799f9c767f55a89fe5fced33feb50cfd78a93f6e34e7fbb2690eed59afbc9f18f7cab500b58eb601b2b27f16d64b350dd016c16a895004e143cf75382fdd3b463be17ddb2d1a5d1bc27b8f89a6d2e635742736a7c73181fa32a9fd03db54daccab6f87c6e1717b4ae7c1df2deee6ae297477387f3d6c93b0d73561eb9067bdb098380e6626c4cfb177e2e93af259d00bf19cd1fe277cdb18eb5ac637ace65db3e46f4acf5a575df0b9ae77639025f30d9ab7e215b4f95a7b53e85daf0dd75ebce3cc63657b3de8ff5fef126ba5210297a5eb5e591d8e446c98c6fa48ceaf7af05fb97dde4a47d6dacb717bbce91c9446f0e798f3cc650057f67b24c6a9f87b0b19ef90ab17c74fe4ea68ce019843bc3101c3c2fc85c50e68b549517a27adeff76ca51057c41f3537b8e91bdb1d12b3d90154e08b921f57bc9de4431720412bbfbdc605c21dd3677a96d8e2aec57ebc88430ca8e554bf67c2a7a31a8710a85f8a6ccc6a972b1bf683b954bf46587d7eb87ce158a9e876b8119f77d0b23b933cecd75cac0fbfac05cad80e381f70cfe423027485e1a47fc9a2bee432a4aa8bd933d7cad1465fb8ae47d0e764375be74bdb08529578f9362640fccc332ca600c18d90cb19faedeaf3779a2807f5fb2750ae29712715f5a957e29c9e24b2b5b7abf4eea03c21aa306ea1ac64c4efcf0d7b14c43a5d25e8e656a2895866d976e1bf6dc5d0bb30ac7fbc8fce689dd73d0e05c93db0c7960e0dfdf0c6c519ba48252f14345586476837542739b5297f8b2a8ef078d0bb1a3befc30eadb3ca687e6c18ba38fcb567bb83aaff882f6a98f647fd72e90b715b8c92e73f6b5efe88aed2b2a9fa66c9e729de3d4acd79da8cabd67fcd1a674cd5989e3c8982bb86927b61dd95c48f61b0d8ce7c531be2e92b7fc7874ecc2bd3b78fbf639a8af548b6d07e461669a143db519bf7b0e39ff5416ab93b7f49b316073d79ed9a21d794ff390d03702ff34b6b39298fb8f76a97cb4b62d9ba56be37feb9fc6f9da4d8e02cba1dfae2569adcb9e6ec0d4a17cea457bfffb537e0bab7bb2797098eb1eafeb198e55746a2c08ef9e46f0ff8bcc182c0f6eb28b49fe41838f9eccd6a0f7b6f8ec18fe2ac94e1626c36337dfb275d76b7b3f24f9c1186f82704d56ba2c96472bbdbb975de04aa794e437b7f8a8d4cb29edc60320968de30d26f0cb20597b39a59fe621f384fd09de45784088fc1c31ed69383a67786e52dc29b88ecdf3207942649f92ddc19272c1579477bb1357c7ed31dae7f1f30fe83cc69bfafe7eb07d7ae3d4e7bf885bb50e34464cf366beaf654937803541e427fc6ecb6f45d8f7e4b6a2d798f8b0e681878edabcb41e480f6e9beaed45d323e027024c85cbf6cbd13bf26a92df96a17db5f54c3ceae392e6b87a84c3dbb96c29ae30e60f9682406961ed64902bd7d311853d2bbf70cee5f91de734409cb196d739eaa3e61bd11acee3277287f5e5c6388732e7008fbc0ce2dab75b327b37e02bc1bac3e33c75ee5eb48b6d21ce6df3f1736e5e85eb91be591724ff8ebb36f9d2f0bbb317b4be03af7d297a3e0e841700ef17791bdbb1852bfb9e2a15e4fd553b46be2852f4cbd17b7af88b36e7d99c71b48f7cf9521a3339d138f72e9955ce01dba47f8aff3d5d633acbe5bb0c3ce1408e9f20b6d5bce389ecfbcecf63c63715d7e5a179deaacdb413c84b7af76769ec25e35fda248d3793b764990cc7da44bcad933d6030b8e7e16323ec5fb4399759c28cf765d1380af1e3bb354df9ba20cf15b70570149face1cc050e989e7f83c63033bf852355447d3d7af1548fb6db7a7484f14b193cb829f64b113beab75d1609931f95619d8cc464c1e7ba4d9661106ccc07b6bf704c07fb59d17740edfc5e5c18d34c914f5fae340a7c6b77df0b79ea31752dca65ff8f1736f3dd0b7bf3bd7c32dfd1bbe38d31a572247165f1ee85a7eb51ca333569c6a4a993897efbfaf8fa1fde95024eac6e27be310a089617abcfc4eab48debeceb62a0e811e4e011ee6b7e2d0cbf94324e37d6ce75632e53a420de9ca7686ec58e317c7cce8bdbd2dc8b1b03e6db97630c45cc1d3b447b24af1ab3f1e7f37d3cadf3d1e0fa5decca07ced1dfebe3aa6cd3fcb5b48de3c3e1dca8ea4fdca81192ad4dae20ec411163175339073218ec501ff0f368ae43116dcca83797ed8a4f6b3b92c4af3fe745a4ca27c0fe6372c632e78cae251c7c382e973915f7c031f5beeda4ca1cd9437afe8bc7c6dcde98dc2124e33e99bfaf84fb8df8d94fa962a48447b08999fae7e7b935c8e67718ec0175be6770d820078672d2671f067f53e42dd8da5ef99447ef4cf26628bf3ddfcdb321d86c29b2cfdd30382b7af1b9314f3736e76d239c70df73c886c835b297bd6852f105f2e349de8a1362fb943c3ff3f56ebe4e8d2937d898c3ab13469961f03ff8426cd61782ece3aac5b983f65b325f19bf704a6a08b36dc58514a716e9d747bd65f752bde2c5d149cda9c47faab337b1aec5045b376ad9ba0ea9a950f831735fb1efdad8bd7741bc2e65ead5f84f751a898bfa6fb017d256edb980eb36c8bbe8f34167f6cae7b5496e08f5d15d7df956af77aa339445a6ca5ae68485b03187349efdea61cec51b937748f067ece4a88fee241f0eb5f5aa26247f70caf8f32ac01cbbaa975e5e24daa75ac7e93cb13bd76fd91c45a948d0dcfc531e24e08557cdfada52dc9c696b6d5cd5049e41e3b025e0ff34f3f9dd277804edf579ba917cd3ccc3fbe237ebf874b3db6de7d178333998a98a7de6cfd6edb57d6d40730fd13a0a9f7e33ad779c47991d164355ce32bf2c56ea749a196521abb345664cb8d035e3c8918b781116d6465fe6477317b9f23e546791e830763a96d11cd541d69bc3f8cb34b28eefa7bd1e9499273ad5b879c7f91aa239bb080b6d637abf9ab5740d6de1704336f9222c74c04c40739b1ba6eb30b0e0da844f1d799739fae28559179931e12f9b92d44e3f794e5d6fddaae39a5e21774e3edd9ee5c72e43e7c1e2392946feb291a9de8bf49087c8e41613cc982854f4e24541e39fccb2a339abb0fef9b8ba6594edce04dfa99faf5d2a7a1ed13548c74f9d47e2c7841f6cf653f1232cc2cd619b1d2b7ea94ec136055f8b01758334470efbc7c8f848eacc1669ee745fe6a0f7f129e0719ec75763c29b6c1f52b9a84e17a2a9472fcaf4211ecee3faf83aa4b5ea8504f34087ef33914ca218f4db735adb665b52aba54ff84091f7991716cfe54369279ec4e093e9d1ab3e29881df563bf2fbeebf7fd7fe8f76d590c3787b7ccaf789a8b916d8d064700edafc78a5f6df663519ff3539ae3f331d80d35231da9f3dd4833d2509def86da391dc2dfe7f44b9d9f8af5c5cb3e8ce98ba117e8dcbb3a8fca7534a639c5f63ab2e96f671d2f3247a87d3a7755f63322175f5ca9b8b8d3760eb75d768fd572e2c5098bb289795d734d4f0d9ab7bdbed819ceff5bbcb821c94f0c0b0e72d7903d64a275b17f3994e49859a48e307c31e61caeed986bb4fe70daabb504b9716ac53c14797cf3849980ec2e551edfd85c7c5c8f4e6df4e2ae02eebef8e51c30c611394ff5973bce8983750bf20f6a5aca51e558784e61590b350f597bef4036c528abafa9f3ddf9feb5f41cbe27744c3f75e377a4a323fdefaa26bbd2b67ca2dfe1ef036cabc3ee0e793ef35301f817f3a8c01cf5d0de3df0105c76432d849c9d11f0a8c944d7e2c4db96a9a524df05183107e017180d35f0d73e7be6097cd71f067043347d48fa1b70b464b104bb17f2b7eab850fa21b4c7c69f2f03f7b28238271353b1d5e6b783df817565ec5763f2c9a06d185bbbc97d1587e4d8cb0789a5a37739499cb9b3669cc99cfc659f5301da023127b0db61dc701e45fb58731d9205feadb906ffbd66700fa85e4374a656febc6236b9b8ee997b402ee024bf917d00e70296d9971bc677a88b970b1c879716a12200977ea649450a18c91557a8e7fdef0f1dc794d602f639ba25702d67047f3a26f2ecd52d47a563ad3877b08c1529c6f5a961134ba57ada562f36ead4163509ed750fa433dfb533e877b9b2079e00ac8f029f21915db5ff26ba6b61b1f9a36edae8a4babae7eafd749d50fd73f165609fcd2bf05493b6816e01efe9ebae6b6e2a1a935ac7feda87f9aad681693b0f8b9c3c17ed73640fc8ae8cae9bd7d80fd502ed3fdaa6e46e2b3dc5b674fcbe5c872cef642c22b9605b0ee427bae588f392d9cd130ac811467dd999c732fe7b177fcc77efae1c5fdc33c7ea17f41cd49d810c335afa149d17b8a6c1e0bff01c87d8df80ccffac330792da6621b507644e64dd3981e6ec51c2f1662aab142bbfb774d8c9bfd5792106f444e6febd0edc600878f5fc035db2b187d654bf53e7579119cf6c7b7eb68763197da0b98f02f74b990ec58f338775c9e776588d9fe4d0391466e23604fd4c42f6c0a1e29d8d4e759ea7cf20b9deb51e931d4a788603cf00b9866b94f648d649642fa3727fe66546d8ec3148669b483fecc8635c030f5c36af14575c3bdb2fdad9ceb46afba255dbac551f5ffd6ff5f17f8177d7e7ae37f8d73617f6b2c2354c0d8f3dfc3d87fea8702e3ae487ec3facf71e4e17a95d7aca81edf13967198063476ba009bedbcaf5679c6803f7897873f4e0467db6e45d93168777bff6be5b8bdbe6fcbe68b7a33cab8c817fdbcf97774f3e94fe3cc2dcc24faf87f6bcd09811f1e1f7f8fdfb3edc6e4ca9b9f62906da7c9b6e84e9cd350fa523ecaf1f032e3385887281d03af7da9702fd77e0528c6b5010dcb0c39fdad5c698c3b185dbdfb40df492b0f37ee0e2221ce452d07a8e39d8f92ada5f2d8cd547c6ae3ac8a246f128dbb8d5f1ab5de386ec69de51d5c6b9001eff0e7edf90cdc16431d3323764f738fef63c063b44d7512c3bd10dd9d8abdfe45a2745f0618abc3f5bc5dec5496d617fa318840aae5b811ae44f8bcb3eaa05bf3e2f7875b2e5d7e72dff79e0608d9bc2b3f59185beb58a1773e02038fbd282d6bfd4d8162dcc0a2bbf38c8864a66747d82dcb17bf80e2d0eb800fbe4319e1d6056e0ba31c0de61fefe479362d0a59863adfdde3bf3a99a8c525b38ac7d13e24cc0af85fe07dc01639aae8521d22f6e4773151b9743aecc17779a374372a6720deaa6de52820d7eef721c92e7dddd30faed864545cfdbc22175910e053e74a477a6379c2711130c44741cf22b917c7ae0fa39f05b515e54eb288b99a39fae249693e3fcb961aa0e5adf9db9e1b8700c2d25f5f3b8be2a847a678cc55373a57057afe4ef8a2eded6c24364de5573b0ba52d189a33d52551ede35735f2986d83b47f104c9f76648aed73526edf8356afb2ff2ff8b5b4698ef614e30d78de9ab6f1419d2617d3dae9fe19639af24ad58deb7cfb7add32ff2ff8b5746990d58e8e2c5b696a92f07f9d1ec623ab4e79e3a5f50ac85f4695de95c13c19ec1fdcbe0f69f0a8df65be264ae003c1637f46ecd78a3732455f4086acfdb311d886f608e77c0949a0d151d7035683c2b3e225d1acfdf3bcb57ab196f992b45e9ba825afa6a53063d0ecea35e7370c6d0ee687427f1bf14f6e0a7f379b47607b8cef9195fa7027c9a780c503f7b151f3ce3dd24bc88dff68b5746506fdbe98feaf93ba35747165fbd9af7424bd5c9f4816c04a5ccc11eb50dae502564037ddfa64fcbbf1e81d76c3876e7c51863df3e9265321dfbd447296fe938071f5251b563f7943b609baa73e0ae4a00e3d8da0106f4fa92637fa9d5c70f61317a8fd6eaddbb2c830f3de01443e4d6e12254063b91d4a9075d7da15d733815197ea37fb44abc99d5d257cd910b3cc07156583a7f33ab777fcdf251c8d3146272976db0313ae342f64ec83fefcc095faaf92b4bc0a024e347c62db02f1ae62592c7e2225c80fdaa49c0c1d170a6e85c41c7a3e1878d5ebd36ee179b2757a993c543d1b10d80ed66513e5a41ec4841937f87de797e0b19f970ffd48bcc15fcc04b62ee28f3a95dfddc97be24fef55a867869170bdfdafe82369ca1be36f89c3f4a342f6dab18af00176536fe6c38b062c86b64f3250d116aa47648071646b17bd9a510cb33aee1e242f76a768fdeff973d1af0306ca3c6c3281bfd3bba598355ec4ba790e2ad2cc2e2d597c5bb3bdfa5de5c7bf9100e680e658eb9c5580403f0d9e43fe1a2b771336682632d0347d887aa1c83cdea098733e06748b8a6c419e07d65dbc7cb20bed5e150d117992fc79c2b1fd83a7cf0c1bbf23654e7bbd4978b783f780f6c21be39d5b5a4c70c925bb3adf1c3edd6b3eaf786abc449ecfa59d4bfd8607f2cefce3c363c7976c6180c8bcc4ec4e863cfc432cfd77021388913d273c4dfd3f8aa1357102177efe977c8cedd457b7cbc7ad8e60ae34534f7ac48cecade1dbcbdac3acfea7d077d56d46bc3a8ce1fa8ae823a0f185c093bb38559d9aac947df898f410efffabccf6c412cdde450429cd33a54e83e17d94772ac3a562cb1e3ba0e17672771924558d4be23dcd625c62da93140bec52149176141e34b56533fd0d4257955facad45671a84fbd90d4c491f1fcc9d658840bc08ba07e0fe04a34a35fc70627f6459b500cd33a26f3501abd9303b93b58dc3e48cec946003c8a2189ebbfd8c6f08179f3b0ef62234f31978619bb5e38a2fc35e96793ef7763ebace01b2e0b5a0357d7e0b9c26ef4e438ce7d07be319caf47eb7e7fe00289590e1f7340b8b880778760a0d39c8479314632bfd9db302f885271e13a7c0b01bf17b02a63dc8e39e5a7213ef3fe3ec770e8ec9f72fe509ea13e07cccc050e1ddc7f94f7a7c1db103af32b19d631d03abe9bccce47c1c7797b53f6bafef1cf9a6ba72075f578dd7572a57b985b6cad271a3336dfa0a911a2b19045b7d6f1eecca3664e37f53c788d9f9b717612f18ee46cff19dd6bdfff23e64bb36ebc7074c63110a4cfb0784fa3c09dbf5f6d3d8815d48f66f138cad32be0b6257e681f184e3b962f4deef3ed606c8905ab3bc58a2192dfa38797889c3bd88d3c6497433e508dfdc6519c991ae31ee9d8f31e675a0b87d81a04d84f41b09aad418cffb68a3160c0119f07605f51de290973abf63871260d6609950beb64ff8be4e290fa14e7ee45787d618c97e805c9a30f8a73940c7fb9e19fafc7186ca797a35e74d7c98bad17c0e16709fcdd910f997a39651f468ada9fbbc22e76a5d1e8f329163b83594f31d9f0b8f7f303d86f6d72e15e7c69346cf2d5d8bd2745f2a1de67d47940fcdbe838f91d1623ba0ffbd288fe7eb2efa6108376e631bb176696d01cdb25b3fc6816a37532c418e4f51aa4183d45dccd43a2f7287af1c9bc93f8d2d31bc1406f1f7ff29c1a376826c27b996f62ff66bf0befb5ddb612dbdfe9e62dd538461d1de542da77a8f589a7ba8f2f8db8a3b5cb9c7d2b2feb93bdb6d37fecf535fe51af5d0dfe51660df01ed6e28ae93febcf7d386f3d07b094600fb9f48e7fdf4f3391bc93e84617a88546df4ae71d3edff45bd347fdbea47a19cdbf66fa93d4b7443506ed539d0de329f58e67964075b8563fe3ef4d9e9efb790cdacf6bcd63ba6fb0e343f012d93c3f323e51d6b9be198776bb601e3f7b0ed4b5e9c5277d0eb326685fd0b1a07fb7e635bdafd6f9cbe77a32f33cf6785ba745eb84f95b9557772f19c55e0c75c3bc876455d239563eb75fd07a7d723c73713bb90fa8db2c624768748a2dab674cd0bb7834ef535d388c5ae7a4273af485a9e524587ea86d445f6ec947560faaf5ee98e00f6259017ad18160b0b5f7e6479f3b2e16cf804b48ea348f06572ac9fef671a8e57f661bdc03e3a5613986fd69a3d23177bc2dec9f71d3317c45795cd71f37baf817fa4d6a73d96358cfa96dec4044b6c37aa07de11c2c823781e4a1fee43eac63357175ca77087142b0299a9a91f95ec4f5f7685e2d186e992d3ade9267783e69f5f7b3f2e938413a777fbdac85e86b633e7e3b52912a159f6dca20538d69aa24b42d07c60e7dcb8e7a26ba13c8e1fcc6e6c5d778657a56e5e86b6369bf9439f8b97fd37631b6f3035f037acad335a5e176f14a7282e7fac6f8ea436d6ada7c0f6bc3126c02077218ba3ceff1abddce3d079ec32e36a02f4575cda413c62c27d78de676786117330fb8193e9ff80e7ac799bd9ee1362763a91717c09efdf63d1a3cefa92e108b4f748d28abb9b7e5dedcac31793b733355650ff233918cefca818da07d69e7eb0378ab711ed4bd8f395f9fe39a7505df567fb32fd1b5d53b4ed65771c1d8f690f3f1439f002ff0e777fbca377b5bcab4bf994b21b425502a225f1afd32fb1810f9954cb3ba163de9f230ef9fc92ea2fb1629d6dd312e3dc12cf8c418f21d2cf9f9425c24ab18b843c345e6564c2ec639bfa99768ccd46bfd42e7717e408acefd73646ab998eb90ed7c677360eadab2b2c8d4f93e73a4e2acca2751c11cd5892fe535f6bda28f4b3416e81ce4c208d386bb481f97eb7279c63ccc0b5c5b5d8daf4fecbc46e64e1ee211d9eb939fae195d3ff5e84599f779e699daa331e61d83357bd72e7f7a26c4e5481d0bdfd4fa554b11f3cc7e1fc35684fa3dffd4cf987399f3d3fb98776c26ef22c8e81fbfc5fe45ea6699dcdfa5a8ce81ab75a818e3ab77aef38d325f0f6eeae504fe75af93b3b331e19e91a247e93a79e0fbb19ddbe4f6874584f980a12ea8dce8cd38a2fdd42e03cc135cc72f3c98b7b59fa1626d4fa2e726de8dfede08cdeff505d99bcc357be69afab8d8d107b65dbe535847d416fec0bee68e5e05981e67db5ab29c3a9907f1cb9e7e956dcc61dd46c0ff081b1bd099f0a5228c21d75d11c64c6d335b1bf1f875643990264c6e368d018541aa1aec7c5ba42ae1d0839a67430c948a8fd6c934efe6a9f986d8d4074a79b44ef635de825a01ff289515e2c6e0f926bf99b62d139dc9b55503e24a042bdbdca6b5cf96f916bb7a7afdd7c6d452759e0fd749846cfbe013305777775740b6cc9b68eb2c9624d43ba7b65980dedef15d51dc7a2c1f277c45f1b32ca1c1da27b9267bd81f7b587a2d1cd3ccc1be12065386f1dd96b89eb3e3bfbdd9d6fbc385dc9702d950bc6b02e72bc1eaa5fb32ebeb9995ce80708b965186eb726b4ca93f3c13f870197fe6587443b47fe2f816fe3d6d7ecf17f4fba5961ff6c75acd960fb0a9ef1f68ddfdbffe265ca7d6fa2e46262dfaf1c40bc153c571b85fe660e703c739696baf8d2d7f5e44eb38838d19b163cde003e555afafe68c4ed1d337289f754efcd27bc0f87609663ae07d0396c1e2c5e479712d0caf5e48b1f0f699ad8fdafe6c8c2f99297294c17eae03275c49f2072b15f647f073e3364b41aac2374698472eac759880ce0de3dbeb6bbee512eb3b22c6fe9d12ec2534563fcffbeffb30619ef17f37de32b14ffe0687ecbbb949e2221d7f73f8fdbab30dc6a6f9e13a767dee888ea826b387271723e0d1b496171f30177715e5cf66e3bd1b7378754bc86da6bf03e677f92d4727136b50651c1bc5fda02119c9f44301b829b5cf54b6f179538c1cf3217a25d4255ef03533340704472f72fc3770d367de8467f6de13b397c5d4d779552fe4f785cbfc33fffa3141c7c03f8bce89508353ebb8a71ac7a5d1754ff59ef3a917e1c6427bc089eebbb63a8f5e8ef59e1b8bb886ca6bb80dad3c5113116c357f1e891ad13d3f26bc6be9c527cecd5aa039b2770531f3e5f8c1e6513bd6b23285166e88afc81e5abb9f8ee5a0f1dbd6796e21d555329021900b240f911d916e4c8fc1b71d8e8f806f3b4c8f25cdbd185f1d3ebf5948671234c8d3477306e957c78aff823ce7399a733dae925ae7b3719e335a13680fc8d1ba56f4e2ac2631e798bce10e965cfdbcefb9f3d9e7a5be7cc8f7825812cee8ccd5635169d977598f67ec83f230ca5db950e32866ee60416552a002af6c6d93a0367fd25c1cbbb3973c894d7dff1c6cc751ff069adfcd9eae075faa8ccfb7f627c8ab04ec022213c036bd1ecb0278fbb01f3ea2cf823d07f5818beb07587b965ef3ce1c639e43e355f47d54a634edfaa0184b756e1af0fda3f78c6a3cad44e491ce6383be8d9ebb0a904c6de210fcb977ac2c92f6582cab8d7542cf2535d990738f7d6b174db4e07a88fd6c5d21463a85782c0b61636eaf4e588c36e683e0ea1509d46a5b7bfaf748d163117218f5f7f63a9c3031b07034247aafe849f56ff84ee6f888393edc5836d2c513f512897e381ac13813acdf8f86bb3061307c470c076edd4fe6840f913c72422a4322d186e735b27163da99a303f6dcd9b756483f4e968976a3f92258df7b5c6d1dbe3ff8d431afc91664d4f6a79874cda1d4f633d6c785a3791880cd8e752c349f26c4bea86514c995491523bf31354a817a3915e83b3e30cf2ca901dbdd912dfd31012caf911602af439d3f6feba3a15616817a89aa1aaf83e44c34f9bc7fcfb345ec1ad2b7246e31e16f4feca173cb1e924f6d7b0838864f99037177ccdf5bdb34f33716470672b53ab6c955b134d129f307b65b9a9a4dbb1a5f6d83bb1e0d3e51749e57e70bf108b959da978f6b93735f8f5e14792a2a72243a619e2b7ace5e9793ebbe7c3d7a25733d75c2135b9b73de9441bad1836063da5f8e94f3f45db69ef38ad1b679509b8e0677b5519b042e7724be7b3d7bfeae85116a43b931a7a80d19837f05dfadc863d12923dc4e734c738aab8d1edc37a6f7e549d1173d87757a5bf4ce79b931233417853a67e3920f35234dd5f9a95c27d3ec63a2bd786131d28cf40e3596172dfb30b41717782448bd5ecf7e42f30563abd4eba0e26fd4b78bf7ef31bb7fa7edfa20fe06183f4c7c4b95a37edd9a8e6ddc35cdd53387b7969f14737b64ccf1c6e72c44ed3a39737f75c3a731c400f38e7ee3239c6b686d3df5cf768fd7fe59a29ff87a11111c177e63bca135736778aef88dbc7d55ca9c574cda56ec4776f99cb7a06611b0f046186f0e7ce25fae54f04a05f97ccdb3248c6df7a16762f38dddb81e9f01c7171ed3a776961b16c876a5ba27d2536fdd782fc446c28e3f9ef841e05ae3e958b762c8477dd4ad9915c97c47e73066b0b5a0bc38240f03d9b7c31b1b2f67c7816967eda725f386f67d977f376dd523ca7bd4d74365b06ff7b939fef206dc6ba32b0d3bb67011d55cdf680dd435a231dd7b5f7d243b8471d7f79db56d512d73a5b879cfbcb1b955c8e9adefab1a5b92bd7f416a88b5f4e3f9dccf1cd38fdd84ccfb08f4b90bd13d321bf3ce428ddd3e399c415724f30f384430cf325b63266a68dd746be0c8bb701e0889f5f1796635f80bed7557dfbf8ced01e0a90ea126572feeaa3cc61cb04fbee5d9f39fc534bff9ae2f52138cfebfabc622734baec14babf85891874ff4546447143e5a233df962ad4487dae1adb1c2f6231a43e0ec3438760edcda767611917997a3e791b5fad446c61c55689f6e3080dcb08ef7bdba4ddc11f3d4c05c1ed631691a7f037cca5af6129faa3964621f7f96cfdf8cd1d37c013a1edfacf1dbf3d8fcb01b8b69f8af62b1f59e673132b7ec716f3f5dfb78de4578fdc35aeeb7451186fdb8fe0073fe106e3c765d7d3366185fa653f71a63d9d2cfe75301173882ba4257c86322f744e082edc6ccc9b52dac0073d8899b9fd83953ebea1eece131cd69c888af9c27bef288c568b52b64f3d4ba387e4737e7568828b6db16d9408a04635fd7e6bb527e55e7fb962fdb2bed84d6ea31fa37f843f13e5debc699226cf323da0f418ecc78db44eb6597dadc8af72ef53b2275becfc8ff5f4729eafabcab6568b7fdd5ffae0d99afe767d53ce131b20e01cc03393e6f0787d2ef5e273fbe1c8947dffd6597a82d2deca26a193ab4de11ad7d6c2780dd3e65c615e9ff8f2ff87641fbf1bdf83d05f99fbf2afaa31d5fb0b464d9f2e18f93e585d494c27cc63616f8bb74660f80be45effff9bb49dfe37196a39b8d64bf7060e703c866a8350f479d1c6ac8474e5b75c0c42efb931fbb8e8d0e764395e168f69338f6010ff24431cceea0335abb1163d3bd9279ce72e853dbe4c569611247e2c700ae1baaf308fd3ffa64ea97707dcbfed6e4d63c6edae4ad508cf1639d30c741f7efe771607e8b961fa37beec9b196ef96e69a8c3fe57d2dbb183d94daa94ceca3aea9489617ccdfc6ccc956eebc2247480e833d40e6c710302d2f4dce3e1a77a49ba2be61fc17ec33a93f27554116c33a6bbd13fb68e8bba6695df70c73b4f6bb30f743adf8d53647912b1f667ed2e5b37e86b737446d64fdabe9469f1614fbd5128ac01becde913cf7933dbe569e55fe94f8560977d722e1efbeb58addc101af296b7b03fe68438cd5580ce8fd260f75f79fb6b9e28e9683f6cd26c60ffea443e610fff2d6dae16f80dc5afeeec87bbc9f24f03b73c3285be8c83e9d956a82f139761692894585db5efb7f511b32db5a715bf25e458f1a1c60638af1e4bbdf866cf5a6ed68adc66e3243f671f43947ed58f1de00c9b1f8d579e657c57e63aeceebbdc422d1cf03fcddd84fb316f637bfe6c79a3e14e0c47f4ffd44e4405e580fd1d64743b276a9affbf6312fc6b63e1af58e5b3ccb150c5cef4ccc91f509c7de45133f84ba1ea85727073e09c043a1762df5f54f8b358b390af9645351938a7263bc111ff21e725136ccfd6b613f76cfd99722ec1b9b0b7308c2bbd03ee496a3ab6dad18fcd55a47bdab17fa1def8cfffa94426e96a5419c1bf09e2e51a69479f959f7c5088d45c72f19116cc4eef1e9dd0b612d219d15b0357ea853c178ab38976e886c45b4e6a1b694701ea8f1fb66cfc57bfde0cc2c2e5eefa278ad1f760eb1936fc8563b1a2d3ee8db468e909d5c733afb06cf99c288d463ef93e5650f9804146bbae1f7de8a3ef6df4e705ec212fb3e01834243b67e74b4569c6d8ecece1e8da51f3be688fa47af0eb6edce1b1962f0d9c6d432dbe079644703777cfd9e139a931c8d3dec9bfab2ab62e477c0de938a0afe6f8fc11ded19de80173fffccbf2dfc35ff7693eb70d5ce983b16eaec42886971ca64cb2bc84e8fc50ae9358b1a2f74917d088dcc595ff2c04b806398d169eb7cf6f419a76a53afd2aa5f616abe3a399de7e5b31a0f1617e1f5688e3482331ab889dfc75a6f6378f7ea6b16fa2c5e860e534b89f17d3ea447a9186cbd34e0ff105f661eab4970f7197d569d404c3d75e3a7ede86343b4f48d00cddf869f488e800bd8b176ef6ee267cede295d8127f333b8419ec4658bd663fc4930bfd5647673840272548e3a3377f5027c63de60077960f03ce21773902d6c8e2eaebc7f752745b52ee30c72d46abc1f52ef3ec9834df27855cc69be3116bf490ded5637709bd7c274ec55596aeb99a8850c7610f5b198d37f40974ca6e38df9005fd7063023e21b6b132c43e7be01dfb1c8830d456d85266eca2f4327fa64642b8915b7d7700fbbbf13d7c67320730cee8ab10c809b1cfa4f196cd97e015c24f70cd7a56ecb9f9d73dd7642bedaa0f1a5ae2fc846ca598ce758d1d31b5ad76047720c678abc4f95642492ef817cbd3fe9b164fe347c01745cf4eb1572e29befc87bdfa98fafec58297af45b9932b5e7f3ed0de9288eb5041c6bdfd2322d8c72b696bfdf278f12b821e64ff69e1e47d47763c27348a7477a0e69fbd75f7c4b89f4b3276dcefb6d8cee5a88c6ae3df7fe1f8cdbff6e7b9405d40f76d62ae417b16bd5977af8791cd2eb6c905190b73a52c1ae688f9f1b42bec1d36b8fe6e8c65e7bd48b9b8a752c4e4d56993b58c5354613c639e9f81b7a3e3cae83a315d7fe8898c675b65ddfd0373e0e721d7937e6fa4eef4773282e9265ec27876c1116bde70366490b270a78bf7a18512c36d4ea7fc486d2ce3670eb127c198ccb41f7c2c95fedab6043af2f39473988d7e19053e5a7fbec9da933a2fddead35ae7a35cac998a967e9d45344abc0a3f54de132f4ad1dc7d42f033ee43acefde6fa3646a626d5d72a48163735e27c4af247cfb6f52e39569ad6f27aae417d3e8cf1e41a68731ee3f5b1d83ce694e55dff69ad61df1f9b1b33c7b931648d6538c785da52c015c5239dd81bbc076ee407de5c437b5480e3b671e6cc97b11b8e2a578ecf18d3116a406257a6f94023829b781255634a747af48ee2ee0ede9265b265790b239afbe0ccb28785e688c460ea91fcf5ad307ba03635bad2ec81fbf230fe949f1ddfc373da989d76d23f16541d1ce4d6f36a5c4fe929ae67f75e32eebbfe336abccf22237200e603fb4d7a22a66e8ce7dae7bc3837cf466b7b44fdb8590f8fafb3ce5bf752d9223f7a320a6a9759197529c66ed9d74fddbe7cbd6e74ae50e75b519be4dc46deb6f02b7d298e37e6cef5675ce69ef952bdbc978ee5a4eee050e9d62e76f52052e7db9460f69379f8001c187f22a6ea65f575b4dec79f12703adc897f2c45f2f9a843bce9bab1b6e91ad9403a5700c624705fecdce38c43d75447217e7cce1fd723cea5cb35dd4e16d661fc29d5d73f7fb6919690df707102af6cf9ef6e4d7ec29eeecfa90a5ccb51ba169afe25f3b683b719ffc96619feb5cd22b079db519fc3a5af0b050b739f2ca3963e9383dd3959a41b56cf91f7378fea6f02b21563aea5d35bc40f41ed252cdbc15e722b622f818e3d6d6a8cbb32f99c077f21f71f44777df56a5c0a2df364316d6a1dafa12dc4a52d0036e6d3fabd27b57355dfae9a66ec77e2bf4581d9ff5f56527175070ee435b5ef9d3db3c9ca8e4da6dbe6e8d2cf0b607012beb7c76e7d7b6c88ed313d6fdb63e8b8deb3d36e6a12a4feacd6d36f8dddf680bccabecd18a163f61e6ca8fdcb11ecb8f8e937f4fc82648d3436ca3470743b69ebc97cac5e22a43f8fd9e38e3e2a497f7f39fae87ab4768cae1d937c5d128f88df914cec71adfd6c138c7a7eb59fec8b7a0ca6b5fdf7bbf51d2d5db56e3b6eeb7fd7f91bac8bc1e905c7dab09eadce5b75f8755f414d39abe3d4f928decf5c4fac9e5de738d3fcd8e8b98e3e5f20998dd7665dfff51099b1cb7cc8553a219d01c6d9aef83b6072825e75427b46ccc8f86771f10ea6c772fc39d77a3175f739af415faf965959d4c818b43ed01cea5e4f725c5af1463579a26f5e8ab157162d9e38825d39dc805e7e48fc7931d6f4e143d3d386775f1e820fd60d4723749d2f8b68af2ad4f35ba15c187e7d749d0ef54237f5721afb12c6bedd08275199ef735c6704b8dd181317e442f4f2f47d13f1bac1354cb9af47775c8bd4e0cf2b06d4b48d090fc0afe384bb3a120f35492ac614bf7be4eff5797ad326d3df78de41fd0c7c0be4da4e38a88552cd2dba0f5d9f33d7a5b07777723935e3eda124a754ada60f4d7a9627a15dd19eeecf97f7a370a035eb350ec951c23824751e12132ba3ba8e8df678764c7fbe1fea056c6176f393198dab507f13daf332572a7855dea68ac58b4a0b877321accf0ba18dc719fd35d617b35e4f47bd53e3d6c64aa47287d4c7b5f03e822eb717c9516ceec37eb6147324b27ef2ba6eead531d0dfa7dc033b7c7cfb90f28ac1facb8f909b0f392fc84ead1c1d7ca66cedef1d7217cb51685bab5869f34964e8994c7dd52bc35995425dcee5d4dcab17b7861b77365464d41ec04b0e3c01fb6da12de603b501bdf7cb9d37fe63588b93344672d99ba4813a27dccc09e074e0baeacb5224fa4dd9f883c754bf79f5c2d127f0a048cb8b2b8ba16d3e42759e37764f857495c3d997b11f667dc99feb24e188deff93dd896dd3cbe27b3daab1438147cc930f11b251694d5b5fcf798a11746775953ed7d629fd60f54da8dd666b291d5799475fbe14c5ab194f780ef7343f2e033e85b996b993e7b9bf7e2ff717e2101d9b3d275cd32d9eac5f0adac7743c3f802f0fe9b368dfd24723d56ad7eed906cfa339e13779b3772d2cca8d39fcc731c6c53ae40a34d61ad25dad66ff012eb8f97beccc8b31cda3558cebd581e721594a63ded8e786daa00c983ad9b048d1f320666d4c33b7823c569ecedb4d12fdd28c6bfef37bebbc8714c91cb27ece2daee8692b869ebb6194b1d88e479d0f143dca40ae4ff8689368bfec2a8d68bdb1a36757fa7d48be789578552e8b174d8a32a7e26f4a79aaf33ef0f9717e94d2727d7e4b5599138fe87e9c9718008ea970faed56d707e6329b7e290cf72c73ff1dddbf166c74cf05f60f83cfd15af6900da523dbed0df3e89936b2252f8ac5677d8cf44727bfec1bbfd9131bd8effbe9baf675b4a69ce687dc75f422b0f402fd9fa2ffd13c27ff07d681cb3e0cde65b9846abc4192b7a34a4b8259bff429769c21d857af7c3c1423cb3583133716ecf9a38df146f33243904752f4ea4a4d4e901d670f4b2f42b39af98ac1c44be6275133f2e166b27dfd90b22fc544365a30541adf01b27943cc07be74b50307f66bed5394b7c93261ed59a47bd3ba827fa7c362ce4ab437007e9ca8caf18dda15dfd709708166e40d472f910df4fcd1e00352c30af8cfa4d61c74a065e8709b099f52bd66193af10678f930df8f63006632998bbcd8d4888ea06d8463f76fed351ce73687b53f80cd0dc063b1106d3db8b1786a47f85be43667be243c00c9f2b21d6fac05e53a7a710cc0e5e2b0bf6c0fe7e83e85e36ac19fecb1a68f98dafa4dc36f8bdf69527ea51d7cbf79f843dcd09c12bb87ad65dcfe43f91748ff371c1f754d05cea3da83fdbe7d5ec3887dcbdfc6738ea4a65231c6577f8274d113c4aca0f65e18521de4ae85d18b32df8a58c7cd6fb58e502d902e8f755a366648db682d63fb4f35a04fe63791f5bf59790bf69a45e7feff8d3df8f98dee8974ced5e4edef75ce36e6bbd8d20fcad1bb97684807aa5661db07ad46381f1dce959d73c43e07b9559dd2ce3375c78478ec0564b074aad6d83f56adced76a153eaa5575ad56e5a35a4faed55a7a546be35aadc14fb62dfe4b6c7f35417b27e42cb1df7a76e53e4e33f055801f7c84cfc738df1af04b9bf166b9f7d34fbdc07b8d7c8820777af2ac6688ea44383fc60b9b7c6456a7f6d075d52255e75af778808e630c7ac20922efbfdcb2b8e1b8542ddb634588f2faf837f99e8e9ea33ec9c8ff5f5e09f9bcb5cf931eb775befa8be77cd97ad1bc579836b129b69de4f8373990317d4eebbdcc7731ed2c7c731679c98c3b9aab896f2d697fa07e8e15610c3c09a43e09d9b93086752c0438fb19bbeefbf1aaebde991aafcc019df414bac2f2379acb8b702a42de9a29260bf930fe94966e7d6e1aec8d7db174cdd9c5d9d7fe071fddb3d10392cb281a68deba8977058edcb077ffc43647826dad66d4deb074d0b508ffe62950e4b83292d95a9187e9e7bcb86d26dc43d1e3576fe0a7be0cd844e98750f3a7befc10378579ea868f873a61f21b70bef7d995c5ca39b0f720bbfa71558c3cf4924370acf233d2c91717644f635b688131cbda7adb7c0fb55a5a99de6abcf801b20d4e95a2d7beb6cab3969c32d1407efb8cfe73d4f93be8f67aceab95d6996fd1975b22dd76fae5ebe3ee3c42df976b615adfd7cdb5f5a53ad7f6d54673c7cc5e6d01c9f2650963724ea38d31a558fec6feb0dc6b617a531b8eeedeb3484d45aa9adbccd6f908f5ad233d4a25d9b663c83f5cb716d0fb675f6b6185f6b410eccd19b62f1d731bae2fc43630879db615d78d19e5c0996d4ed1ff176a3fecf9997e982c7ebbe7fcc918e1bd88f8bd6267466b4f8aab2adb99531617e09608ffeddc40cfd9e92e92d3c956d47482df1eaf76fb785b2ac9307b3e3f99988d89f3ac5999057576c2b637171c9227db9d038ef42fdb9dac4a77b0aa9ecf67562e23199377e532bcd3c57dc5cee31bced3edccdf90b6b99d6fd09d03f66079f7062bdc9797fefcf3dabcea758e8b5a6d53d4cf6e5d77bd4addb07fbed3d60abe41eaf63bf886bec8f1eef55fdf5c4f9fd3eeffde5c5971b6b578fa6ded77a1b11f76fb11ada15b7fee0c9fcc9d9c8c43bdef9edd81766de4df9883bc9786ffa342fb72ef7c7b1ee45e5904aaf9e88d2f3aae088feebcc95bc73bd7d3e774e4555746c137fdc51ccd9b39d6cc5145a8fbe6e771498023f4efc6e56fdf61f19d1c15c21131df92fcf538b74d3f46fbfc516fe13ca17166f09b90ecaffd3019532f8d74b5b32bc78fbebe4f6dbc6dc357f95c9ec31ea0d4fcbd944fb678c28958b07c87e43afaddf1036cebf9018d67ea4d67a5634efb319b4e2c99f08becdda79c18454af8b86fa81f1debfde1102edc26077b497073a08ea677dd32b483a3558c17a43602f4149c3319834f0ab851f7c932897eb5f5c5d150c5318b17f6b81ba2e37b5c2f063eec77762e801d07369c91dfd4cb2e76911c128067282479318c7e17fd7230a6229a2319b627775b2f39084753e43d1eea4bbae7d78e1570a654a41b617fb305f1e6cf977777866d94fd7c19fb497cf7ad95b34efae78de430f467517634c41be69643fb7481f5c629e070d9802ffffd736d558e7eb9e137ed32d2fe73674dce848974d6ba8fd2e77d67f122d49009456c5b0bc02000db05e9b0387ea1b7ec13e2a3eee3f0f5e7bb1b8edab64d83c97eebe2003d59cfc8aee3b4f395d32e60bf95ffde7ecb0127bf1b9ffdd40bfe687ee34b98700fc6efd1b1b319acc132173f218729ae8ccb2173a76279005dcafe81fb07f852d0dae13ee775fc0fffad1735e7eb3ac2ffab495c6dad65695bd12ff27f83fdd4f7df507f47680a627884fe7ec7d71e304e9d41ec02f5f25eba83dd1dec0e7dc4b93cad0d25b85a58d6a51e479ed3afe96930fed1b7e35c998eed41ee9dfda7773fc1957f266febf168f5e546d8bff8732efb8927f41b1e48c667f434469c326382f91867796ca1b5856c27bd683078bee11d42f6bb2fd9c98279ffe2cc353620ecd1b3cc956206a3925d377bf41ea85f7ff60d3dbb93c4eb3aed4ea1f6a5626a40909e8b7986cb8d39ce35232f3767b41616b9aac731c56e71c38233074b5f9d2f52ca1d8cb9dc168055b391c7af5e987d29e69ee20dddd4f9cef5622ef34216f703b789ce0b8827e2f7df377a506df6740e8fbe1c2b061e02a5c16bce3cdcb6b15be5a552662992dd18136e98f9b3bc426db4f402fe077e47f8f69872ddfd890b2e7371fd62e0cf8bf1c23c8c3fe74dae1aa97fa26d69f96e192caba05d87341cdb14cbcab4afc015238c7ca8e339e4374b2fca851c43ceb29bac6257b04f64bc9265323e1d4dc8d5bed9c2e1ee84645deba45eca8c6e9defbb7a617157f47a0e055acd991527ca1cecff7bbbb6aafefdc07a8e787be2237e3a97589fa66bce1e0aa94175937d8aebfa406e6dec24253660947e080da7b563f04826df9e8db9dae63babc71dfa72b04851dfc15843edc62a738551accc77ae1be725708f36322266387590bcfdc43ca687f24feb68631e704e62c5df005b4f687f8f17a2316a1f734be00dca1d6b7971f400d6a2ad472fce0138499bb6cae3946d8bdedb3f5ad8aa016d8b777ede165befb7c50b99b6ecd1784cd15a841a5bdb5a6d7c61b4f512f1e1584b0e3005ad62acc8f01ef1d870dce29a04998fbda77539455d3bd6c5353aea6d3e73249f4de1e093982d1ddb7a2e77e70a33bf684eb088d6987b29c61f032e5513dc26ef528c8f509788fb52ad651260c0948a0935a6a27fc84b0b727518f9d3f0ac671be32df32a0ec947da8edb51388c70fd02830d2f3cc65e85d6f423b5f5e00eb815b42f98b80dda8b489b96ce53cea37a5ed6df42faf4b599a3d1cd12c8774671023ccd461eabc961e8c962095863f04d80a93a69f6213e65715655b416810f26d83867fee91ed5e4af113da4bd67a784bb3ba17b029da39ff07e3ff6677dfecc8d1951deee8d17d5bec4ec886b0771ede57e46b86a02f61ab1d98b9f9ddf89ea3c172dfdc1fd373eea6d896b0ebee3a865731676a28a7463e1b074e3196f9b5dec891656f46f34ee8e39ab9cbdc8fbb39faf57aded6f65becd71be227947f4e7fb94f9f6bed187bc623c8a4d39e495cbf6b73fb9e6ea79ff5b91b8dc97ae575fe24a45e70ac0cf80f6c4b7ede010f639513bed97520e740d6b151b8303f7a77b50fb37c6348536485941efd5cdd1c6b77613df5cf6f818199d0bd9dea27adea79bc9f4176a3f7abf72d9bee06f0938d540df01c7be5afd84c6c25a7675bab6be7ee97fcfde3a04dee5873101fe5d4ed4f488b625d7f427e3f3e3bb034eadb8db4a8fc69a31bead70fbe179eb101d871ab37c632c527a5c351629d3773bdfecc719da18e6e977dfd78b997e3f5ea45f9939f297cfe8cf3fda9ec9f5e9f7f5c76f95ba49bf16bc9e8b9369cefad5d09c667c67645f8267a1796640ddcff77381f559724acb6fb94895eef70bf1333d88f63d5e67348746102b85c9f9f5a5a8335f90ac1efff09dc47ea9de5e5a5cbfe1a3d0f03a2e3adf3afb98bfdfbfffd6b702d7468c8bf5799a779e996bc6db6f5feacce7e9dfb711e79c6c7f69c6b5b776bf6f7f84d7f364f1b43daace734aabcf56a997fc28a7fed918d35f48e6d575973816542099da19039043476b79fe8bf9517897ed55d339460674fbeae7b6b5d7065eebedd8d43487f58064b3717d7a9e593ba9524d59b93003ec08397ef22d24e7c298de56d55bb1324e990b9c2b80ebdbe3afd526d7669e84c1ed73feb8ba67eea695517684b607e9c698e21c886a9bae93bde886ddba57f23b99816f5bd3c554d11ff9911ec7fcbaa53a993e94106479c1c6ead03db8b6244273838d1ddedd304a59b9b6330123e4d95e42ec09ae50cfde4333f64395e20a1bd33fce61a44f22bd523d03de0f92d7d7237a960cdfcb29461a6fcce1bdd3be3a7f03ea5827d3fb11305a3adf2d718506639d32f2e704350d8a7eedf4a57853f4ace8caa2ffa7df7de6c4667eb6c77d35d9ffcfdfef4f1ec54688be9303683da5354737ba4f02df77aa8427b66e3e558561aaa07dd248d336a7f722538dff34977eabe7fd575b2e2f035bc8bead79d0f4e1409b4cf9f5a4b3e786a7ab83c6494fa1ed2d5de9890fe8d938ad593d01bea3fd5c45d8a74a35ebc89d7fddde967ca66dd7f4eceae857743daf9df729fd0e251cf2eb70c82b21d17f4224fbae576532fd52e4fd6f902bc682574026e6b1a267654bb78498efea873df8ad50cde9add68da710873e3b3ac8ec4e3ffee959efdc6632bd6be170b032c603f5bc1734a23bae2fdbb1168e4bf5ecf19bcabbad0cbb443216cfbf21af568bdbaada23d9fa85aec1d7d7c77fadca21bf3a2f7832c74af5bce8dc1355ab6affd2bf0ebd07bf17c6b01c8ed6936db5aa0edd71c4dffdbd7e71f2278fdb0aeb8d819ad4f395f65789f60518abe4697f9658678dbed4f3a1672f7e0887c4490e677faebdd816d43fa27e4fddc49f398913db835db531675d3f3cf75ff3a8d6422b7ffcd59745881be93586fdf7581f8ab40895c116d9c701e4a448e287228fee5ec207eefc71b5e4ed973219bf58d2c873a42cdd94d1d59b0763c7e4c74b3dfaa5e8dbbb62609f1e92f38b84dc8bf17f6f900b6b31f3f3bcf8ed1879e50b3107bc5713eecb8db3d2d28b9b59ad7cc5a231e6f7e1e29c32e3458e87fb707dd9de37c6f4a1cd7986c7167474cee59b9aac6fd671467c914cfca0e71b815c766550d7023d00bf61b0a5b999e3cfc95b661bdc57534bc3c331ef0cc720f715dd4764bb681b7cb9d17338a6ce73ce1dbcbd387a51921cde9b2a9398a49106c05f78d9be78218bdb9607ea9c72092ebedc0b2faaf365ec0962e6f774fcb66f8bf85d211fd9c6189e226e23f60fd94651aecbeccbd6e3d40903a67e0a7c359c29cc7ccc9fc4f06198fb64192e99f9ba1037d66ee4c9e047bd43dd55c5dfc1ffa3b76ab26e808bc7f83add32c21c5da6e8ba3197aaadf78cd366febcdf3ffbf12bfeefeb745beb84fa28d8b50b6bfd688e2e786d69dd3cc933cef982fc4b4eeb6000a849cd4782f11520969c719a71e534fd81db1c3e38adba725af9e056932bb79ac3377c8b8fd4c98f0cecc18c3f5acb782b8818d3f447fbd54e800f0ab719b0f0086714d451297a01f9d918af0de29d80e1bc382fa345188f3f21ae56889f16977d0ca09d83ff5e13ddc29d7f607f16ae0fc03209b0bed1dcb8b564d1ac889432bad6f267f03e5c4a63d6ff9c6eb811ef9a4bc0d0c3b9f729996fef2ce7d8c9d6bb39e390e305d80436e07601ff0c07df7039708e7e0a69cdca82e04f3dbb86e434840ac99137078ebfb1f2d44d62ee68ceb2f525afd7b1ad17842b2b2dd539c1b1b8e435dfe03a19367ca37ab3feddb0ce97c828bea31bd6b5668071d6e03747a21b361c869ff3476827c5dd16b2506d62a5253a8e31fe160c6e361aab07fb4decda8575ed4b94ef8bbf2b160fb90dbe5964801d6f01773d7a7e007e6109f3e201260ed4f935791f4cbeae583f5382bc0506cf71567932e4d40568ce7dce1fa562e46cdd5a45dbcc8cd52b5b9be79618639c9edf585ada8a59b4b80c178cfcdcde6c7317ed301ea076b4569c638ed03c831a3ebf8c5bf3cb2d192e02c84981fc26827d58a4de6017bbc9a12439b103a5cf099e31f9b04c9e39f0afbff852816bb52669accaa300631ba6c1e7bc80fe57e7a797d6779fc5db3a81f1ce3eea3501e3986e84e80562cc73befd0d52678d98b9eb4b23eec37a8f2dccd10ebf91cdeb49e063d61db3f8ffd87bd3265595755df4bf8caf6bec5d805a2533e27ea8424504ec40ba1b2776d0588280320b54e0c4faef37f2cd4c1ab5c61c6baebd234edc386bc58c512a4d9264befdfb3c782cc63d2744b727413d7b119ad7f8b2879ed238477e7ff7dec1fdfed4a625ba4f9f3bac5f73e0eaec73ae7aaecc6caec995def191ed78e09bc71c21d43f0b55a1bc29a745e25b46e20fb61f5e9a14dbd322f4da9cebc03547b137f0f3bb1a073cd6f9a6e140033e0c8b817ed4ee333a42af2724f6b8251e97303afaa91106a2d1d413cbc222762d3b825e4b2bfe924ec05f5178267f71adedd58fa4dcd599a8c5811cbedae6a2f6b8920dc41de9b13cdf5683edd5877f498fe5f1fdcd6eb96bdf00472175726fe0bfba62123ba271590d70cd8c634905c1c3ac57e9e8eaa5bbb7204d6ad75c649e98307b3d3bbbe63676cce1db3e62710e63722e543d077d4be4ebc51e2c6b03f4150b3ad5063cd2e5ca3659641fe538ff314afc38dce9bb1bbfa84bf4ec077c9cca4b91ffe545f9493191ae9e5d1c413a906bc36fae969fa4e370ec88092711b9bad616b74e6f47689f96576f6e308e5e50bec2529dbcdfd07ffefcf0d6703e1da737fcfdc76d3f29c09643f3846cc1d5f13d5a1f6f57749ff6df6fc66a2dcf7e9a5cdceabf65ac953a794f561cedfba29fb1ada84ef2c3b7e38b7c62fb02b71fc60c9a8eae8e68d4b8e76cfce4fb5980de9f354036a6c1f4ea9284e4cdd646b53d585c3db154a1075e9f254b64579f96473fe5736f86d61c533aba9d7bd5d363af8fc73a7ccb97d1bf9fa38d3efdd4008c1264b7c8428fa3b892c5692ed1eb0952ee57a3c8c518a0b994366b06d9a2952c8ebf3916bea7ef0c1d9bf43939d5fbbeb873302b382417e5f9d60b1286df0f984cd690ec1fc58eb5d8f8293fdceb0f3ca98c92ce2eaec9824ef3e211923148670e179193e0677ba738fb9f3dae04908f522737486bbc66b5cf201d8375962c4a597fec873ede0419f77e00984009927b1ef4267f54de201cadb821b2176f1487de7ac4a1bfb6f9692653c46de289c81efa78b816ad99b6ad65ad8b49ddeac6ddd98efa3ac079e4f3e19fcdb1224e7957833acc6c9f1ad5dadc9c032dbceb93c6351268ddb85696f851d2f117c35a1616e4fc5d84e612e4b55e1ce1b9faf21dd76720ddc025af4e6b2f2560438a33f4be193de563472f12f40e91feb5b5d1cdb6164876ae3c6e0bdf2b6972f139a36af8bdb430041f234d2a7fb09dc01e1462e0116bd63bf495f56c85d31d76a81724ecf8735ef0a4a7aa999715d77f2f64fcb98bf49056627bfbf411fa60a3a0bdbf4b17e9b0ff4c5a63cb90f18597bbf1140f18a2c2e8d36ff0c0b6579bd4242ae9b272cc19d3f6dd6cced209cb40b0dbbae7215b24e16b82f97151407e8eff94a6141b2dab25e17cb5c461247380eb5c3bd6f623986f2bd75c201d78964e600f40bfaf63858cc22d6bbf92d07aed8ce90eaffa94ec6c3300dd240b8bb363ce903fe4a93306f43b601d7261e6899bb31701f7e5c3f78ec81f31bfe2e6620f16896d6d13d07f788ecf8e1653eca61bf635779932b77929da621b4fcc6a292a476b6dd17c563429b78fec48ae1644be483d5b603fe9ff669ba3cc336778ff47e5e7dac8a3ee7718c7117aa1078eb9f8722d6cf3d818535a070c4b61112862ceef07db6b602ecfe49c578a13ee88fcc08ba43c1079d6e642a8315f458bc21b1835d9e39132c7e7a27135bf59c64d8a4a8c5b231a15e15e6eaf4bb998e7d40e59c4de20b8b4d7de5e036ed8fdfd9b7b37bfb3fee41c7926cffa9cc1fa48eee39adfc44fcbc4b6bae7f26cd0fb9d6783f6dc6b606da24fad1cacb569f84dad6ba8ea05e39f5a79dbd46902664472710c241b3f12ffb41dc968df0a8b1b928faee5245254be399cf188a584ae3b6779196c02b043bff14f0e91a34939ae2145fa8a3ddad616386465abe0bb7517b210a78b53d1dc7b154d6f0ff14c966ff0d257d102f71da167303791a4b3e00f789c7d08b8e482d6c322b223dcffe4645e6ac4fd5ebccebe137fc9934ce732724e8bab67150dd7c1eaf87e59e9091f88fc5bcb4d702e3f35e9cda33cafc2e25db182c44e8b2c10d82fc74a523f9d158ea51ea4a818cad5e24d8a0a46ae16fc462c92bde95468bffbd57b240f0e5fd2298fe4c1e64b3a3117292a22747ce77a61bb4f86aff87ad2411586377532ab575c47b71fcff87ad1fb4d39bedf544b7dfbd4a00ee12f6339e00b558b9af42146ebee5c4f78666d7e2bc384fd2e89918e589dbad88ef63998b00cb2f9dad80fc5d6031f99efc48b28d6c1056a904f9b0bee1b2763c5b125c036f638cc89250b52856cac8e5d46e239e41e35ce09cae214db5150cf9581effaa9959563e2fcc42f625b0db6597b4dd0cd893970824e7c093e235d8bd7d7edcdac1634d600f20ec71a1681923a573fc636cef37871cc7b49c1587a7183bab67e4dfad9d5a0ff81eac79eee0904a8057cd04981807d4365fede72299d1a9cc9b74fadbce7abcbf68d2f65785ec2f0c11ce3c650cec90ed7478ce631107707c7407613cb2be22c76a60607fa1cd95f683d3c72323d70cdd33821d49a766c255ca79b343e859710fb4c1c35f6d96a209d5dad4c14210c719d5b9839d612e9f4ce6715dbcb06e01dc772b5f894a222b1f407beb38b2cde904f0d350c7253738be6bfbc28a4dffbbb78cbaf6a2add87b57488a8bd88fb6c766d8da87638d367051bb4fb5cf3827f7c8e225c44ce95707f84edb8fdb38b393e6e4adabe9bb525e5fe7ddc68c25e3fb5f2ad8301ccac267fab1eafc1005e4e3a18c015e044564ad2caf8f5407ab51f6a207f9bdf1eadb7a36f19999f1a8d6c78d22bf217fbfd9021dfe4a97e7bc06960723f3540fffff5b1683f406d3099d35dbe9cd8afcb899d2f27feeb7212e039d6ff3d9ce5e5e4bd8bb3fce66a4fb1aa6ede1c7a7bead5a9809e64b42ff703b00d42879b318efe1ddef09d7fdc8da3094f3851d13a4ff802f921de1cfb7d98fb17fa6a71ff04891d02975584f481c44bda2c7c8ab517c5b9a44f491cb96ce2bf1d1f8b60c61c425c0f23b5f5c6295fb96690799104f7757516f949b5b373728f9b31f25cca55fd1d7a80b6588627b218670dee668a8ee32bf41d60c7b6f5f891427af0918e4376885cb59f017f566713998b3345989e5d9de1d726f24fe2b13a2fc7ae3ee43d5c73def6e8033721e9eb2531b34e5e32a23634edfd0d44fed6fd1dd9bcd291e634b3c44fc7d1ead4f4fd5d219f680e9bf33d88d12517e998757a6d174cf339352e8e20bd7678ebdf9cb697a7db97d0f7abb58efed430978b63de1a7c49a277b2e6fbc1f268b7fa087a2e301e5159ad4d8829e377672d45d71c6548afd95d2e1eb13da67d0634dfd317ffc876fb8a90ee837b6d28ce2270af91f824f245b965e8898640f0aa5ec91c408e613d90f8eeba453ea0cdcd72c7d85e7dc02e067cb9e61e86c8df7abcfe66737dd7b1165774bdf61af0be5e492db580e6bfc38f829e23235cdda1cf197d1e9b34c6f6523aab1de323db8b468eecaffb735c2b4c3ce1709f23ad90dd84f69484f7546f7fe2ef46c345e4f4ce514edd9a7e89f010d3dc582f3f8bae9ff98c03392ad283d0c646a08f22a93591af5c2bbb7aa76d88b1ed8be12addbdf8c78ce41be25747e7e16f8cd5d7da7d60d3f5e24f8f360670bbcc8ac422d890485e9a9c81b97184d9a593f70d31c7cee14dd2a7e859c34564136c2ea9adbb8fc250d6731cf71166dde70bbbcf67eb149f03624ba1f58443cad5469c6b2d333b2d93de3806d2c59f1bb52ba06b96e19af2dfb6b50868ef756323d77eaca6d94797b5b6886d6b8bd601d2231db989f6c9ee05fcb7c9b9b7c71c2d4136143a37c23da0b36a0f38745b6417425f473f9fa5ded775a68b68c610bcd767b99f072e5dd26b942ed229ed2feaf6ee2710433e1d72c7c86f16c603bfaef5e99b5797d9aacabfbc2a798ae18dd683c98d0bd56072c728ae9646f85c7a7df623cfd698d2825ee6e66f7c0f735aa87a715d1fdfdf148dbdca96d4c1086d7a7219749ec732b9971457459f05c01b71271f49eea9870944b080f2402b63455473e073177dccfdddf6f7ddd01ae862f30747d6b3b472b4368a4011255e15ca61c3a5f5a47fddab991bf0946b792859129a3796ccdb796d0ecf76cd2626b7e1bdca28ac96272056c43853449bf7abf0286be5696da96717f8f9edd4a9c767fbc87214cbdfae62880fd1cfae1067ab544a1727e058bdadab3045f2a47bbc53d9e95e1bdd026b7996c54326ebe733ac91b99defb53252e6870c3ddf7e82c66ff3268bf1f6d07e5a71d0bfc229f338b7a372f81d4f479f5f63dac1794978ca83b5e780fbbf7ee4b2efc4b3c9790a8e3d124ccb32031e21ce60b6e28c41f23b98b249204ecf0ee125c2fe695237bfcf9ccce792c8c3313ae8f972e86f02602f679eb8ad1c7334fe9c1501e644eff0144ede3b7b4d7a79d20fd991b32592c321f46c114c3d6a4b7db67e71bbcf7f81f50d9806e628b6adc50862c03a9f28a7c32b890165489e38da6844f2c1cff3a9ddfabf1392f54dadc0653dd85cf613cc3183e51292518037305aa509708075386a3267728ee0dd624e0d8c6f10d3f7b8ad0dc293d7f30bc4b8dd77c0290d98beb95d33481e83ac54d2f61a9ff312adb526bea18807a4176f7ecadf6c33080371973b682f122c466fc2dc56dc6d6c93de3267c2623d26842cf4c69af1d3b5e20971d6de7783d60cdbd8d2829d06da47e69d089f15c4b8a6171dc92fcd4e65b47e07cd9a7ac53d7bcd33988d8e116f9922822dfe1a0821ab88b71ced4182f5fd8a7c696f92b1c80ff0ab614ce7766d6e7227a27b7493112eba1cc91b6f521e418e08f1d999b0a9c995b88e4b24fb6ec25e64d146f37c96918cebaca1b5b93b3b489608a30262db96c47b5518e31e02cae9d93cc7f481efe42e1fe0409fe43654a22df573304f60d4c61128062df0f1a7460e7ced559717650cbc28ae59c67e6a5cf0fb2f63b4c73d7376f381ab5a051e8d479cdf05b2f37fc581102f22e7b8889cbccf4ddfd529cbdcb53e009b5e164156613983714232658e6c60248336b95f9547451c538e15e0d56eae73eae18b80dd8cf6cf670f3b70735b1d37b72e6ef552ff7d0cc12677261caa259675c83fe564adac68be61c5c5c8ce4f02e110d17991a2f2cd138d13c4eabb7549d1f4a6ccdbfa8e5544f9b31dd6134bcae513aa4259399693f8a765b28aa6a5320f68beba747435f7b8d1c41393677dfc9d9a935d2b7309c64007ff9ecaf6f0dbfd1ac56fb636a275097c2bafa6175adfb0ae66644f4fdb7bcd97c8866a8ea1b533ae36627d111dbb3bcb16839e41829a096a078b6568a746eed7d99b9df2438287ffba9cbce73ee58cadcfa52a94278849a433c6d935e7fc42a6c3f8bafaa4c5a9d0c2a42b0b6524ef3b9f95940d7d21ecc5d1b0edddc8681297d911aef85bded5c5abd3fdbd9ec600904e79b6d73c7506fcb04f79ed9bf94576e837bad78be21cf3682d437f92251daef086ff89e0ee60cea77477c711543ee107ea5ea7c70b957738bb5e3b5c615d8ea8bccb4bdebd1f79dff91d96f1eb13ceb11e4f03ba468f3f452b1b7f00f7e322fdcdf20ac58d4d8a00ea5fc5327138c0516efa8fbfed55320aa8e3c03ecbe1b49e1bb924e25cfc5a934ef2607371cdcdd7a26273c70c122fdd44ebc8a77a84d639dc56dc701c088f3ab8cb754af022b02e12fcb127c6ff58cf9737db1cb6f52fbd75b4296c82c1be00bec2e7fbf11976b45cf950e70276f77178c2f6e5f3f3c9fa4e17299d87f0af8e85d83a99b3682df0b9ab0fa36eef79fb9cd2581918f93a92e01c37e5332f3a4412f0cefe226687de51af4676f7601f06c28885b84267cdacb9a60710e308624cb1eb7e46b8a6ee7ceebb58f7c5b17c745d95bcebf39e5b327bd817c033d6d45d020e3fb13d1c8bc956dc18f0949c343905d682e07d019ee915c7b017d7bd80644c0cf34075c8daa4763c701de4b6955c036bab3bd68273cd658274bc1f8d309e50a7f74489c91a9f3cf0a9668198849e98bc3eebefe81c4bb8d5360d66221d932626cc26e5878ea582cf42f9f2bd817172c5111b4c81979a97f4596beb18c60dad1547cf6a65defcfdb416bad1bde8ba3dbce451e498ced54f0da3d127d0dbcf86f4fdad2de8dd2f6c2b94686dac438ef1d320f34e2a0f3e2ae5553790dedb669e695c7c0e6acff1354fdf7c4f30c476a037938272f8f915e6c2b75323f5068b647332909f837988e6f4dc058b6c2f82c95d135e0f62db3ffd8d3eafe8e2ba2de0fcc01cc6f1c5361dc6b1169ddff0d88c86431bae51b8e64877ad2cf9d4881f9174de85f8ed3cbcfa5509b6a90b39d12559d7bfe027aa217ff310f75a03df4af37e80efc268318731078cfe0e3874d8d6619be365e8e1edd53977df6d4ef85d7855289906970e743fc5cd83faae1be5a3d7a1a69301dce3c6b660a17eeeee3bc23583c7d59cdfc458f1f7cddcaeada6cef0d662cb9f6fc82625ef497f98cb939a7fb35e80e72b3093dc993eb3731eb0b531af6adb3f41e4705993f8f3658d633bb9073c93f9d9d1468fb654557a8d4d3e63f24048c04787be8f34c9d1da82be14e0f675326f0ebcfbdd3ddcc3aa72705c92712c09f0999494d61d81eec83eb518e337369cfba3c6f6c57555c0fd59f9dc8e609852bd9d308ec9d66b73c42b225ef3cfe6afb377d0e7d4b5bec356239c1d38f6d1d6ce138c1f724de257353d02b90f385520f7736c4b13df68be4332f9094e5719af2de4e38c528f1b313b2e79c5fc878d2f25b6df03cf142b231d9bf25d6eaa0ec78a736d6d9f3877279de3a74ee89949be7f72fd6d3a2b5cb31cc95a99a27541af8ff1ce4212ab039e8cce9c875980749468d4382e073d09cdfa57e6efe873e6333d4e9333e9e9b8adabb0f84e06786d4f03efd5e3529d9c6f102bd3da3e89753dbdad8eefbd63ef6441a688638c6155e1f95d9b76ee3732cae61b0c47b86f58af21de5a8e081e16d66dd636f1b0ae8398c89adb7c411d22d9ffabe3fb9b5fe19cecc62c33871bf20d27c65cc579589c9b807bad35e2e7cd255aabf0b08efbf5a9c3dca57e3f70938521f032719bab1a15c82f496c6bc9faa9b1839a117148ea49625acbf0162405d7fae04c6969452573d356b6d5c34ebf08f2d1e3afb5d97f4e65ee7841836f1506648e52244f1db6c82c9d6deae3310711fab7e9afcb9b5af074cbf7af75285483f95a5b52ef7ec8d6ebbcdbafb545b0ce2976d3910d9553d39b98ef27b0f7aededc283cc207e4d71037fe447e6af3ac55f905b2ba666eca94e11da1885683df7c17f34dcf1ef9cb7701dc6777efa22a96eb94697a6790fcb4aa9c77aba2ff3c028d41e59922e6489f0dd690c3cd1bcc7cdb3a9cdd0a389e0772cd2e1531805a963dad61174ae88b44e7921ea9acc373120357d26cfcb536f3bbfb3174bc5f6b83e73bfd49cd9e55bafd3f66fb3c8d4d113b593041f6c49dfe7fa8496872b7b02fa0b709db8faddc3db57112dc7b45f3c60c4fb9243a3aa3adfb3f31f953bea73b5de91d7bba32b77524d71b1d78edcbf2efb8806f9d3d54b2787fb4fe2da9abeaea0b3a0e245f9b589d3b612be5f4884ba58836ef0a61a8a420e3a9ff7bbd97e524269029a2df3d1ecb6471fca02bd0f7b256166bf3d0ea21ea9f77b872b71d9d83398fdae3a9fe78727dd136d9cc9bc7508beb47cdf5310f9de8e79e56de64bd382ad02bb9fdf0c4e4e41d9908cb1629b7a96c4d67b563623e0e29653347dce68e06bff7381395e30e7dd7e7d2d3d95411d5bbdc888d8ec37ac1b2897ca57bda873c0cb645915fb7955c6b2b788330f1ab7278e777e6b837e98ea3601e679ff37244390ad09828e733ba6f97bbcf15eeb9fbca273cdf71f3acc0156d1ece942f127d46bae6094774869e1bc7627af11972cf36dea3734eea7306d3bd4e9fd7b9bd3ff0381fd9b32cc65d6ef6bcc3b7dc8df3b463207ba13bf626d653dd71a2e1fbddbf47b8e75d5c287fc2e94c6b2dc3b50e3511ed580d2abfd4fb7813c180542f681ef466ce0ee9227df8ee7c3f7f0ff326e03a766a77e3bc1895298f7188a6d672c29e1a5c11cc5b7055a3925d9bb77bbe83786d6dbe0264b399bbaf402fba3961e04b275c4467bb42fe2bc16c6eb8c3cb5811edecd3c4d8a8b6558e3bf3ad11ac53b41647783fd0fdd3f02324ca3cce9d2a466bfb8e0b1ae9dc67589571071fd2c7fc7456fc656b05837ba68a70c5d1fbe0de692fc2fb1f7aee2bc06aa671e8741185c747aeb4bbb5a6838c68b0da31de6879ece4b32b998be1daedf323ff22e191aefdc6868dd766fe42f88ac05f95ab30572cc353670cf07860feddedd517fa7a1dc6a69f6f9f7a86b97ab1ad78676b01be38d287fdef213ebb7b55e70c91573eeff4ed86373f1a01e62ecef9f76cd85e0fce5d1cebf86847eeee6d97dc3fb2239943efad00de4807b89a54f4ef68c5e52f5e5554eb238beb726a36564ef1d7daf27387d8d97295239f29564e07fe7edee83116e1b7f2ab62b0ee70c512fc0338d783d8e69dadc7163179a741cfb6adca7a6d6e2e7be40f3f791f9db165cafc70f6aab25640662d48fc12d9b4ec957e0e44feb6b6d4dcaa42e07d04d9af955f6b6e73d90b39ef47bdebbfa2b9916b76f089eb53cfb6398a3d91d6a2fe05d734cef375fccf98a7fd1c81f54efbc0a1867d5d2d8e9007aaa4d7b6a778cad3fa1b7a1e70236850ebd5e82c2f1a5dbd38bc22dfbaa9cd39112e535cab4caf1de2f3c831c7eef9cbdc35975f9df331e72ab2ad4e90836494538c79a18e43824b0c7c7615f0a9b57c7657e070237c765e0ddccb0dbf2eaef9a03d8dbb6731c89ce6a5916d463139e4aac81bff5e676b932b715dd45cfac7daa25c0676ea1f6f04ebd5613a3c97e9221dc3718403eeba9eb02c594f6c1b5b2238c7299e0b5c9f17677b6e7869f274143f5cdce58130bad8d6360bd25d8ee7036c8d45201a85cf16b9057946265427849762c0624e26dc370332edee1e388f16fd5bf7e8d69d85e023cc71fd019d6b296a62290b2f4d9e604ab6b5591dbb9ce643de1ccd4e698ef2532bef63b8bfaa49e9e018103fadc5afc639566ef722cfa54b83630b79ba6e9e9a9e879e7b7cf62ae02c485d3360fd14720621deffd376ec359bc87a467bf0b3553a057c15e8cb44fb6907b17a06b855dabecdd697043c3e1c97c2f5d4f775373d2c8ff6bc4941fa3dc2d04bb7b9b3c375ed329a370b302aded4e3ee553dee72f568bfaa473befd4b5b3eabf5973ad1eeddfa9b9665c6b9b3b7af6d6e06ce8e750d5caae2ff12aa58bab276e9ee5b7f31eb6d2717a51a3b2135ff9264f3e07fbe0558aa43ce0e8b98b441db0fc1d060d7fbf9eeeea7893be5d324a82ea8351926d16886522cf0be49701e706d452346b02f9d2387eb94a0d1eb83d904e4a9dcc191815beee347735b059903e10bcc1e1ec60ae1824dfe0fa1b8c23c2db16db7dffe1dee4d960b64cfc9393d9dc0ef714a4a3ab3778ef71331a62c200fff76ff6133c70e4d7bd1c4f02f91df1a95ce54d967d96bfb9fedffccdff31f99bebaff237deffcddffccfe66fd2f1b7f91bef317f73fd2e57e1dde52abcdfca557c9b63b8f4f57019420d678b89745d9b3be467757310999206b9c72d424f7888012199021c62bd78bf7843f7efe0e73771e897c6876b6a1bce25c98974627cdb2bf6afe97b0e2fc49e6fd606f2d19c091baeb9db9f81965732eeaba7f540b7d5607371ada5e40d16d91e8d559ce5b210bfc873b5e9eb23eb8dc418caba59571336466bd3af9a58678c7cfa16e308af73aaa7305f28dd03ea33ce54deafe8dfdb56ff83bd34ceefc7f9cb7df84d2c74f52c76dae753a79c3df1433de1c33d4ab0d7ecc1163059bf594be1dd5aeac54671fc64da595b0fb5a7bc17fd764cf208b5dabf1f933c778fffad98a4f82c26b9c9ed0aea374f6b4beadaaf8cc7f4d623ba57cf7651c40d70c53bd5b8baf3416f205f8ed4076d724c69209411cc3b9143ca1cd628919b45d28b0beaeca5cde751cef787e76be2858ed6e6bd9ec731c6670f300ec2a162c5987f546739996372bf66e1bb5514e66b6d01329df41b5d3af8482f7bad2856a743e16925bbb6ec2f59948a20423e3cf2bbd1dfe5ade1e19cc67fcac2f7d7523482e78aeb7c9a78a9a38d183f9d5d7cae041b01ad256c432dae01d27b5a782336552f866c134e6e296a7e839e231c836122cf4c62472c136aff5a351be2e33684bfb823cf6663cabb816d65e831f07975520cd6b371cbb551e55f4195d0f786632933de0b58265785f24b01bcacfc6b6dfa9463e8eed8718e799855c021f553a30e44be225c81c8b67d73cdcdab44ecc7dff4c5ee74c088d8ece05f2424aff5ccb6ebda7361e3a3a079ead41604d806456b26bcb36bdfbc7a8ce6b1c3e932062e0de23fd073913e79413aa35f133585fc8bac953d2c48af8a5f719c7e9cc97a56130cbdc75aa8be7f16e2b96ffcb3fbb1fe9e4f75fc6d9fea973e08b5c1f7839e6f43e31cd127e929dc412f1d606632c81e97e7c5c9b15a5be1973641bfbea2cb0f729f3323350dd04f4ece7d62f70d36977d6bbf30ca29a1e3c83ee7508f817f1b30b983e6d85a14a46694b17765e69909f37b752b4112d0fb5407c2079e5c480d27b10dd9704f6a99491c08f72ce8535a23dfc32cecc50e4edbcce6205f9b79919dca38ced6f0c5c8f3bbbd622ebffc0a38ca09bf683b1605f7cf5dd6dcf095d8430bb88e40b9207f79ff702ffcfefd6d8bf29bce86dfdddfb6c2f6fe98579d77a08f9ecdbc18cf97a591f99bb08939e85e2f0c3e3562a7cef0187fc766702037d2f8396fc8868731d7cc8dc4283bf3023817ed38a18ebcf7fe5e1c3d4b9413c4d012b93fdf79ff1909f67c7b7fd11b2cc8757f510f4fd69a0b79dede1e21b9dfc7b5dfc547edacfb7411cdc235877ba27618cb1873046961d6adeb859e24fcd90b664cb64a917d9c1cddc1d20b0474cfcefb21cfb413932179267ccda75caef899da7a7e5cc7df593f575a93ed1f294f325a7761d6dd43723d2d886f49e69639dbfaf8b63a4e336532c5b9b12e8eb0b54917b89e1fad3f86d4813ded7325bd4e8c728aefb08847e3cf876b528ef75dd6d137d9139900bc5ac1041fe3d7ec5549097f2287f441fce6e84ca16ae8baea8b5f67c9a7d970bcddfb08741ea16e8bd8f2571fe7ddfe94c5dddddc747038458805b272cde64a2d811f8fedba82f027e05a7d79bea3f85431ba07f52b948194db351bcb519828e8bdb56bbdbbe64234bf7695f38e30ae703c0362cffd7b886af6a995483fe03ee8a973f513b48f1f31f8ef75c1d3f546b17f88bc3207db40996fbe884fd2990fdc6347f7a281f9b3d075f038fed53c474a73ce65466d4724a3647177b106547636f54c67efd8ae530563323edaba5a59adb5305c734d4cffb58b9dab705d6cd54db136a72f3447b14a71dc5f1121e7c8283a5bc1bb1642663d616e1d1e1c5c532fc07bcd640dd900edbe26ef86f4bda3b9beddebefb6561dcf31c542e73f3590aba48fbe890b22fbf004d81cd642277dfa235fdc9da5741906a271f2068b911495988fb3c19dded57f071b5f3dee708f398e07037eb33c511959ff5bb60ef603a292e88aecad538ffa0a7ed96051d8d6163d1bed3f0efd13cb93ba4c15f3a091e7de2d429febd949b1636d131fcd3fe4e8b7a12e26856b6d1f74da3dd6478f37b6e619e5147eecc5a4d6761be44f274a9ac4abd3e6b2dfcd86aeb55c6c890e73cd2ddf8bad5625f45e75fce56c0dd8b7d0079063ec82fbbe09a82b4d9eea206e07f281e04520bf08d904a41fab9183807d047d42e6e61187a4b2535ba33962e9594e18727a7ed5f61112bc8629eda5d14d83b1b5f022eb45f68b7ea37471223c8f3d7c8829e0e4d95c8ef652bdd670efb80c1cd074dcdbf1e75c6d65b255f02b6e4a6bf4aa7e4d9e947b551367f86eacc88760d746816419da1ff93dc64520ce8e2e67c41d0c08f4ae6b3aa63537865c835f916359a6e94d5122a837c1cf086ba1f4028341cf979b0323585b05ad49e31c03d776f975e6595a7971a0aff6ee7b8ba1f52b31b956e32707a98165b3a522bd01d757d251e27033c6b59c84c8de9af06d36f360608ce1dc81b940365858a37f3b6b01afc107acac4e6e04e4599004331c4bc5f7025cae37d75aaeecddf06c6b097a77f85a4691594ddfe008f916b1c925c1dadc7aae81f91d6c5c3b7a44df135e0824d3729cb324353273f5c599a1e398529dbcbfdafaedb6e6969e6b305f6b73fa0abf69396f0396156099d2b5922b0ffdd81dacfac73905ffd306cc9ccdc54b8d93ddff1de977de065b60083d7518f307eca90b96836ce61dd906bfc7c1c7beb83ae59d423e47888f8ba0762021b678ef1cdb3abcf8c7ac6bafe1e384b242cfd8d4ed7cb397bd081d776f3f35f6e8d2b1b6a10cdcc8dfae938aac936b6f9d88c36fd64907ebec37d6898bd609c4ae609d5ceed6c9c3fc917f7957cfb2b588e520b2899aefb5386ffb5277602fac39f2af19bfbafa2869fdade67bc08d43bab5b94e0f1b04fb7c8bc80ee9b8e9776b228b57c7f7460edf9f8bfcb5fb73d177745cabe394f64ad1ba901dd285bb7486ecb135b58764c81fa3f904db47754d367bc4f6c27eb4f2adeea13e19c6f77ba65f646bd3d416e3f50dbe168cc967b0ff8e7c1dc8f760df858ce55caa5a49d6ea3271cddbb9c5cf1bb3aa10130e6ea3a963b79ff3965ffab1e1a7fde5dd9e88b760c276f7d505e70eb18d88f5fde6e5d973ac8ed35269f8108dcc83fd45730fc01957c9d047dee362a6ef69ea5a8b04efb551e84d97e8fb93633dc463be8da57ccecb9e6dddeb6df9977c5a3a3e7aaf27fbaed7e7fdd8737aef9b3efa1058377d57e701f6185e73800f4230bc80cfc78b30a701cc2be1db05beec39e042255eba29dc4e1fa8173d8f533bb8261b6ae51a9e0e81afe4280c1533cee8bb247db08007bc8ac2048da789ad9bc3aedff5a72c229f37ceef6cf704d7feb5fcc0db94af9ed9eb0fb974b2e79ef897106bf8c6f740f374f68e3ca398a40e89f455e31c0ecbc81adfe3075708fe975ca1358bc6ccb6df6959f83fe9036eace52a30d908d9e4c81f04db4d2f188a07b6e38c2a489323c6f00c0033d24f085618f0321f2288bf9bb3aae79734380d2ab33aaa4c1fa761f377701a9816a7e1f77d1457a3bdb31b8c3962ceaa1dc14b4336ee2f62b2bd35dec761e9eed3e7f8b38e3efe72f48c51c85cdd71593f5cbfe1b426713824335c717671c43201d9cc2e422f0d12bdad57f997fa05716c4a05ffc181ba8520f3e21963a646d5d8db22d2bba3da35830b8dd3510c2f9f4b4e1ec6b50af742fce61d6fb745e484ebc9fb0b8ee11d7875925dd6c7f774914effa10a985306fc1bfd9dc64aaab5d5e3c882df3fe73d6c37b4f659870b12b4d69c29d855d7c7f366c3bf382fdc4f8afeef60cbf10cb1e9c8e7ec2fee8dec8b06e78779b8c6fdf1d06f0ebf75f51843ecc327d7bf8fa1115b86c471e9e73e26dfeee20f8c93c31975201ab16ece8610afa3f612c96d77af717f3ce01ea3dfbaf118128b86defebbe3652dce7dc07b1d03d631bc57a86d2236d85c6ad60189537fa97a3317e438a6c47d9ee8bb769c24df83cefd922b643fe31af08db505cc419c8b4073c5144d4c0aad67aafbd35db357b662523926dea7b6594ee07bcea8d13136aecbd891f8c4dfd93fa4b7e8ce7603ac2e89df73adadb24a87bdbe2e35022c8082e067a07f7378af297ebfca7cc938d607d849abf42967fd19fa6dad307166edb1f85d6d139fd4717c6a68af6ce878915dd6f4017b834edc250a2b65be815ccc5fcd9d4c720f6013639bf7ec556d3ec2a5fe5305b9dda6c7775de19aca5e8f2fd16bf4dd03c699398af1e7e442ea896ac0d69fb074df30a01727741d217dbebc7a27741ff23ed9ed95e62c9ee638dafab8e499ee437b84cc19e5463ae31c7496f829e18b24391a476b72386d8e07f06c5b5de2cf17d740e471dd76fafd58a9dc77a09e3cc1f9ca7af3aad69b5e9e72f9b76a3f5b4c63b5dedcf3607e17c37debf225b5bdaf645d9f0aa845b631cf2cd47ef8291b06f36de2435f3a7fb2ad45168861e19a4bfe1779cfff9e78dee4bf359e07b55474affba023483e491cf37ef404df05c7a89ed5d6e4dfd88e8d6f4af907baf10285f8c27aca63dd5ce3ef49fc88a5f6b8cd15893329ba7c94e8d959cc1d89f1dabd3b4e1a8c930ed89f6ca757a47a1a4b1087d96a207d174bb890584206ff76f2a2c87e80781ae0e5ef7809743f03bd53cdb8e7e53868b0cf36fc7ec0bcb94d3c62dc8b7bd85a79a563f5ebefc63ace14f1c69b03f582edabf21e3f97c64fdbd825e84995c62e5fbcfa1c4951d9c4072d6df4a707fcd0d2458ae2375c3bf20c976e9c2d228791e76a067aac13877466456e019edcd6f3660c6fb20ce493482c2ba439cabb7ddde4c96c9d8d4dae040c4519edddc79c24b283339f19857a1456b2558efd0aaf51934b02250d3347dc26985f7ce6b906c3430ccf2ac7aa5002fe8227e23823ee2ddbd66b0e1fa7eaefb7553ac331394b022c874fe017a7ef69933fb7b95b7d003d8680950bf12ee657f134eff8349e76f9553ccdd69fc6d3c26e3cedbb75e54565b7fee59b7535fdd51e08bbf134f7ffa7f13485f021f6ec4bf34e460dcab1ab97243736ba0633c085cedafb8f56de00db72cf62747e85f602b18fe1dfb889c191dfd07b25e3c3bfa1f3884d8fc7dcb5f1233bc5b2b5f531d65598f4ec72cc8f5faa42798f990e3a4cd5df9bd8a0ac81dd4ad7e1bf74be6d1d32e0d4d7e25799bc97b53e6d9e4fd5dfd17cfc77d9a66f10c34cf17d14118d37c3e39e33989f95d83e6b737a819e146b1106225ff9d528f7b820f4d384714536b3abf0d2d8870f3a2c197fcea58b9f1a1cb29d1cadad63815a05f025a4a6b6664df2e0f09db86bcfd3a196acb117899dd9b5fdd07befda7e686dbc223f85c4a4a8af81ce4bbc94d69f1f901d7cf4b811ba0f43629b3b8ff90e6b07c74b601e599ab761efe279a47e058f11e728ef38356d8ebf205b97f806b521f2b4ae84f263c235ffcf8b07feb7c593485e65f977e38eb90df89b04c701c965e22f203b4b1e48cf75a056e6f7b5bd2436ded889fe377148ac9fcaab534f6f903343b6a9d6f90ed9162477b8e6a08e1ad710446182ee49ebc4bd23d221389ee9687c284761e7ba6a06b520442e78559c117980aed7c40db16fcf8f3fc55b778f10be0958dfe922edfdf6307eb22f7af7f3a3be0cc67ca92a7053e0bdc5578407a026f7eacbec8104f5127235bca95106d897ddcf72351cad842c51b8e99f5df9e75771e16a48aef8a52a84d5bd7e407340ecb017efc8e61d5ff1c58fa06fe4d58f9a5ed15719e7ae3bd783bebfee3dd0b3c17b69e2c2b8f69d5ea3f8ad77a39fff7a5d404f62470756315a03307f5ecd576dafcbf773dac4b1b5765eefbf53b4bf3db799228efed5b83770ffd3fd87eb19e83e983ed91bd366bd756b9bbee931ba209d43f78ba3b36113e326f808bec80fe4c9f4a60821a398538a47f4a71ff117bc5f86bcdd89b33bfabd2ebe9dedb6b7b868cfe5db7b6965f209f9f80de5b5e8d5173b1cf03fd118f10ef9efb2b0b8d38d129aa744c65cfbf57272ae97c28d59ea676669413dceb77cf5ff13f538dff298f4ed844e8ddbee629ba393271a10d7403e43cb850eb16ac0966863140dc6cd4b8b1d4ff54c8381417bb35fd5798fdfe1573dc418efb5a9032cf11af926f6d5e967ba7d87a9e6c2ba7ac4db918143b483b3367fff16670d6a007e758d167bed611c0df65a93031bbd01a7a89e5d1a3efb34ce1d72dcea24e570cd49d6f4d1907cc219fa20e752f6f9c8974139ba5ace0eadd7ab95ad07c56095a23dc4430c2f20f81b01d853e83e9b1cd9d9ee24bbb4b5775922d7d3cb523b9fbd2e9e9716ffe958cceb7ee0434db263ceeac05a60be4e21bcc82db7da79951afc23bf06c4aa721738be3a3571e04b205b7243b86a0a62fb6589620eaf6a84c6b57975b4e2a2d40b7e75da8c5dab1c0793d1fdb1c55223c7c238f15e5fa5bb1c7ac8d3dd9717e5ecdd3ce69d7599011e8950b26be2b73a93fbf87d934bae905d4b6b4ad50870fcdefc63d6f48f29e20db0ba56a74d470f49afea9cc9dd09fbf6a917045790e215917585de4dc2f7f604ac6b8cc34a64b4cd13bf1f30fb5d9db9adb878ec1c8b4caef26ccf016e15d85d188fa6c3392fc6c09deb1fd92bf06c0cb64365bebbf8784f31f7fb9ed4f044520436ef27c162c6362dc49b0d38666dd13c9d4fef8dedd9e9ece2702570532922f0fd321eb34d9cc122712cf5ec5471a2d6f64d99bf233faf50c4db652f949572f27355b8952b88a9daed6f5a5929e9215fe9efb97af46fb25edc9a78b2a85e3cf05dd58b37619bef15f170010c1ed8abc8d6191d959384b1664e12ef63bf21778551b5367d743faad3c6763562709d2e604a357970571831f458885da7eac58ef0bd815304ec92f2aca412ef54099a1364876b8eb965498d41ddf4a5f5d724db93954d6e26817c5cb3966a296fb1c9c615e46bd36d655b41e6a501e0efd3733bf9f39c8c6382b96317787d08879b3279871ea5bbb1c43dbe8b08c7b482793956f503fe7b326e7bb28e19b39e4c87ea644cb1be5e258201229d7ad73df6f083488f61174b5dd61258dbb4b6c48b4623451cf3aa3664e534cefd9ab9ad06ead8d17a7820b54cb98388ac738ca2b6a00ef190fb519cfb51ce7b75813906e777c792e3d0bdeee6e1dcc94f8fb0bdba1d7f4ea401fe1bea51460ac41e0e57f5783e079361b5ac3f905c1baff4771c3b698fb9e31db77b5c9a1437ee3b1da4609ce8b6b61ae3d7855e1ae4ce0e723bb522ded0777ddd5a1714df8a6035b075efb3003df58c9ff25f8e4130d570fd5cee0dc8fe9eefe8fe9eba16e1f3d83995c7b1744d75fdc2eb935a9817e2afbf523f5d116d1ef20f7a913debe9c37c7145bb1e441fcb3f8d29579cff0fe00daa98827090d74ff0f80adad342629c1d1eb2f0a4cc31cfc33de790abb5185381301a6ec83a47b27fbf5b26c07b1cc1710d5f93071c4ccc658fe3a41deca932bbe7f6c1bd0bb727bdb5f62fe4b79f075aceca80692a9d3da23f286f807fdfdb4db1e0a1ae17743eef90fe58884377f1f3ac98ac41e91b198ee4dde14186db11e088f4f0521d211cca5a7996e7875fe88d2050e676a688ead97daa7b02a27b4a4e116da2a38047e79ee73da77612e5e3a27dcfb87f797c8f2fd7a9559b111e81b0676b7ad1e848f0182b459f668a38bec3bb6b6cd40fcabfd1b7138777d87412b2a1f23ede4d50b9e696dadf47d75a1c03b30cfd28b93e62a08d2fb6b54072f3b29fd2b587e62c21fb4eca5ded76532612c5bedf685a9c03168ec8d78ef18174c119b0e8e91ed70e77357c2ab52b32273a90daf28613eecdab48cd4842aea537f876241f4ef0e8dadce15915ca4cd68b6b870b2d07192b8c46d47ea17245d50b763d57df022dff92cd5fd830f31dc660e9f0a47902da77c83e88dffeea993f1f79f93b3a0efbaefac928ecd4a8d06febc106f93338ff34613b380a25b7b6eef85f44ca6bbd7b95f4f7bc9f47c579c48db5486c4dca7bfe577d87b5239478fd1dcf919f0691ad1d6e8af0defe779c66525476f1165f558bc99dc12273a65807ac4e45bba68ee710fd4ee2c4c83e3e7b8300efc729f04dc47ecadff033b49f895c417afc64a753e49fb2ca446297daad5aeabb5c158683a51647dd73760d3e47fcaa46987bc3992faefe8c62a805f6ea28e5bfd71bc2e43dd931575ff75c23df618e9d16c3e255d5df7bd7fd453c13730921ff3826f74a28c7e6ac76bad83b8347dc95bfc2ede8638c0fdb7a81baf815cecaaf30541afd736fd7f5ec40ad2713f8871ea68e0f43f72ff8cbd8c7f13a6368edcb199329bf5bdffbc4a706ec8767f6297018d135cf674a2d15f25cbaaa5171215c3af7eb295ba5f1553dfdbbbdc8349f3fe4e93e57928ff58e49769ae1cc2c26596de364a5195b4711e3f6987834db32b387633a7d2cc9b3de9fee5a01ac4aabadd77eda675335760bd4a43ce56faa80bfe9577d1e49879fb25a6b05f32c6fe0686dbed18f7a7d1ee17dbeb1ef8b483876a0f7fa4f2b64cf436e0f30e668ee07f274a4ce46baeca6bcae19db85111b9fda6e246abbd1c298c52f2a70e73539a4de397a6ccc37cfcfc9306ef52fea24ab03cd43406e8dd490ff459ffd636ecdf92eae047e4423831e6d305297d5898fded7053ed4b793fdff57f5ed64acfd7da554875239eefe74b418e715bfcf493d9d03dac3f95dbdec5d1debf739b6161711e7fcfa721cc9c4efe288856d41eeb48791d38f47b6bc4e0473b0c550983a579ff4673ee3dba33a401e74725a77f9a427580b3d1e24c760e83e612ca82d779ef46f3cc131efc53adb98eb9aa375bff16ba0b539421fc666c401a9c9bbe7427b8ac706354cbb8b27f02436be247d143790e3dd9a44471b554adb1f9dab424c31896bd22f52018facc626ca69437f3b7a0315707c65adacd71a7b57832115aed6cd69c5f7e745b25e846b9339db38d65ae0bcf098f7705f5f8d7ef32bf0a100e70870bd90dda4f7627277fdd89b4216a75f3e60d53cf400300abaf640457a266bf1e3882d9de0f505f824517955e6d077fd182b79cccf82efd1a9d7219c4aa02f895e6613c59c5e00b79e4b2e0e039c86809f2a738fdffb357b79f6bd073c4f547fb3d9936b229df0ad9d208b6332374548f294d057d7f8b24d5d04994f21ac65ee86e6eb0b7cbec13bdd673dbff03197dbf6d7c8d1a16ab0afa7f195ee2d598bbf64925326bdb39d7d62a777f9ec8e1cc031bd0dd8cebb97df3cee5515e28e5f74ae945ae5d439cec16fc5a40ec41992a9a29ff2059dbf6dca57444ffe15de22f000d07a9c406879b4d54983019a3cca695aaf446b56e25e7ee6095e48b7ae969ecbc85a7659a1b548ea5cd0679a77bff79d7ec53fdaedf7711a7ebdf003e24a106f21eb23f95828b5d48c753f38dcf7cad3beb1ab5f8599ac6589ac1517e51436beea9ed66dd1b5467b7db8e422231b22dd6532376cd726f4883ff331477f81a5d1aec5b676e2d14f0d84b2fd7d8afc8b6de8a5cb647b5a5c3d3a86b8ad5fc0581678fd10fefae773fc0dbe0aaecd19d25a951efee7d33855f7de13c035ecf76fd4e3db2add8d55c14ebde3edb6e686af8e3ebc2d22e7b23ebebf38faf906e3fd0dee8cbb9c618ed76e3756817bde3b35b24fed221c7bd93dc6b770fc12c738698d0dcc3bd6d964cf9e552146320feaa97ec7bec2f88361d6e6d08077e1314fd870186cbac7530cb92731349aeb833ccf638e0ee3e0651d3fa0a9b1eaf3feec725bc378d2b63ebc7dce910e6ae2a2f43db03456f91b72e9dce0f230b32666e1b3c0d74fb8835b1b6311d9509f6b6b76ea00e7fb300f30766df68cc3646d496757fbfdf8a21385571a63b42b88b98441ba23f1976d659ba3dac3d86e4c571604c268449f0d1fdb60c0d5444f3f8d5534f5cb13f6fa04eb3ea37ef68a1bdff184c4842f735b79838f0eef0a60b6619e04813d237fd4a5fcac77f10b456059c5bc5dd588cdbef1557357c82b39eddd6b43314a4da1cce55afaf39beb3bb2c55e7f817d77fd25f65dfb2c146330064cc15eaee37643cf40e63bf107dbab8fde15e0a5c5c866ffbbf501d922725264077cfe8d3e423f9dc5ae39cbf5b69f70a4cceddfe827f47fbb9fb05b2be16a8f7a42318d6e7dc5c1eed653e09c556eebecdba75656983b16300493b5fe9e53ac6fc2f79aacc5e19b5c15896cce3c576719933302cb6a6bb12146d87093c759973fd5efe7ccaa879c99b0c8315e8a0438a1ae558e258c4109b85b0d6e7f52bc0562520006d7fce3ead7e7dba756d2ef2ee4bbf2d3a0f9e5c606c6f970e082dbf068ece45943f4ac7eff59c3f55c42cf1aca5a58afadad671b4cb64e77e9e2a48ebdc84e1dca47053888709d58397db03e7700dc055b676ec86e768436a767eb65b5aaf22f5b4bf2b5b9f56c2d2f2dc0b7457f33e8ef1afe36981e369b57f57b123cc14efb36cae1ec09c555d6c695ac33fcda5a8e3fe70df72d9d9b1acf4d866c35c8037c6a5d4ca1fe3af1aad61feb701a201b1be613e6aceecc99c0942b6efc8fb5fe9e2ed2f1786da96f243694adcdf1975f0fffa142efced673d1b35ae598f48b54f09dc1e49239cd1a3b8c2baf0d1fb718bffa2706635e264562e9e54536c7bcabe5258df903af811686e8bdaed361cb01712a720f3db31866abd3825f0d541eddffd3629b7a164f1cbffa51797675ccef7d1753af9ff3c38c9b9e25e21fe55ecd239f265b73d30bba66302bbaf353597ac698f547a0ccd587e3d133de1d5fe2e367016017b34562696c05b5aff31def4dc6672fc29f658dcf01e761c29c7db6c8f07149206b19db89d3e0efb86dff3d0b8f5cecbe38ab7ccea814e0901bdd6c6b513bd662fc89eb852acf9c311d6cdfce5c49fcdada8e7cd1b83ae85a608bc6afd2897235f67e6716911df904d7563a323cc4604c3e95c4f8c51730b60bf2052431b9501bd6e3ec833f2fc7f27cc3a363649c87ca7cd6093d318965217e0926e7a8f38cbd3e6657e73324cf57a74d3f6f3d6ff898d19a1d91bc49ee4df9ca40be8309986d59ebd3c0da6cfc8d7e7c679b79e62e77751674cf3735be97ae7c74b5fe33c8803303be6eba486352abb15d03471bf533c09e20b62a679f652d7e853d357fa87b7858bf98af08c99b5d01bd5d06ef790993073a9b2b276c9b3a13f89b71ac8f7a85fbac62d9ba8ffb613c0dbf1a9f6531197f4ea6997cda65341ff69d1ca47c3926370b14617aa63115c74c7279ae5ee5f9ee4faf8ab3f584cd642dc6b2b88bc330f8450dc6c333e62dfe2d95f9667e7149aed4c1f9fa703d570b55cfbf646e8a79398feca7c9159e6db001e997ab03d1b8f9355fd179310712ee579dab1d8cc859b03a1df2de3309e145317799528557f92491fc2f79be764ebfd07c74f6ec9739500bd5607b7bd6c53d839d1a821def563d7cce4caea7487f7f3dd7df492acf78cf4532c5602e9e39fbd31b489db55d78cedd3d9d4e7c08eb80c6ffc9a18f8dac796fc28e9ec795d56e5f2f708c796982fc97a6d717c935e914248e994718f7ca4efd6a94f91c6f39a6f1e588b39122027f788b396a66575c4b3e8b3cd18815f1c05b6c71b1802bf61dd7bed5ec0dc76da1670deb33b11c7f0a61be36374d3d9f0dfcbebb741185e9dab42faeb5bc1a9c91b8dc36dc6b210b98dba6ffe4fb38778e6c4ae33480efa88f23345ee9985d64ed76766af6f4fdeff1d8013f66143ae2e6ac129e75347e0778f5ecd4d5ec54b2d0d86635ddffb0872ad25f82de3bd4a58d2fc82e97e7a37fc842982ae618adb933d9d37f7a429cc9e92df7a2385b71e3b1531798cf1db0a886996c329407ffcbabba319cdef7b9f7a46ea1b1275b3e58b4ff72c016d7995bbfa69a6228da69a7ee09cd7d48d612c152b89d71df2a5dc7c372cd199e6a30af2ed84ec069967b48f7219b455830aec922bfa15284c5cd1ba891acb1a0c3257cdd4811c7b974fab8fa959481cda4959d7bce86f49e26b7ebed69cc01d78cf51faacedf1db30856e9103debbf319638a7fca8c836225ca8f7b59ec55dbc0b6a5141ded5ac6711d9eb1d999b826bb01ad9eb1dcb0cd9a05e94802d8664be7f6442c9dca58b74caaf75e6cb17c250d6baeb6a07ebaab127491cd1d64abcff8e59d5b325451ef72503c7f28193f5e2b6d6beb5136eebc1fb2bc47d457ea0a4ecd5338d0bc54d0d8e0de7cf686d6dcecbc90eb82fdb3c26bbd0135edfec701ed3981af3adb1187f0acc489dbc0f543d1ea9c71db3ac37b7951e97cafcd03df7c39c3d397712dfd4895faef4b85aea9bc172f23e5ae9d3dcaaa11f2df7c4a476cce5d54b37af7b8e0ddd94afa0d6604ef2f65a49f444e6a9daad5226bb5c851acff77c89fed5df6fca446255e1c6aa938f0062f3bfba9eb9ab099e42bd4af2529948f952bb95aa70abd519cb2b229b79278371f4ec8dc8725caf0175da67ced13739d151af663dcdd5e8c62a93e94d99a8370b705978d63f3e3db75ea63bf6fede6a75e394c9b4021c6071365a9d0ab20ea0d6a306cc87e3815b8a8fe72e0d9657e620e3bbcf5ad2675d1edf99d593f3d4eac6a0fb79267f09c4c3f3793adad54adc710fe7b2e89e3316c95ec7929edfb73e0c97cfce25f7dd9b46f8dd1ca9fa8e71f480ffd4caaff58e8fdcd43806c2e8cbb1925a9e8dff264e41c391913b6282fb2b4e46834d4a7d6545c4bac0afcf11ce9b4b39f1f7dea81d0fcf29125c8309705f81eec5cf8fcfc7c7d0b84722e2fa95cdaba44ff39ebec3dc59856b8e0c7c8d45e19a253a26016c7c018f1762a43b8aa5a0a239cf3cb1cc7cce387a1cbadfe2bc4ad962755ad64ab2d477d5472845ed3e90d2c3ab6732affe403da06742ba20b0b6093d4f12a7912286d7c0925ea534fc90a232861a9a985deadac7548aca01b219d05c7982d4ac1bf2bb631a892345651998b32a10d11c2dbc9dc16e258139a0df4c4d22effc1ce1cf0bf47e5b2c58cb603c76f9e55aef30473ec7b37eba44e30b036b7b95a24636be39e628b4d33271d0dc630cffef30243234a7ae39cb316e4a3ff60e3eaef59e0562587903ffe0a5c6409a1a958fec1961312179a33ffdeabd90a6448ec2e78fa337307247f8b87883cdc14e770707fb16a1344bae81f65104d612fc2c9b2b5947dc1d5c0b1d87b982a429cd1d67b534df5ea539f4fc30aeb83bc05ad33e30eeaf363c6c457ee0a5e5d5363707dbda1cdcf996417247a9f8c2e3d8c43b6dfff481d38e89649df680b2899f0609c9b9777005bfef4dc5388609f29780fb0c72f33807977d6a25fb8cabefaf709d3bf6c985d803e902e3a017d0af83f744ba00fc93e515bdbb809b555e7488faf92d64af90b52f7c647ef5113bd647e59880791c4be2ece2081f95637de4b6b94c1ce123da6b1ff7fe63eb8747d2f7582c27c285a18d427ffe91ef81d76d563903caff4db1e27ab532af7d5cdda49babbbc3c3dd5d02dc430f755f5093f56f6080fdabb54ec4e7a8909de4235b92e675906fdad43ea9bc273cf1bf272c0bfd13909fba659ff372a888361f68e191f462e7b2558eeda83ce1b820f80779706c6d28e0ee42ebe4fbfeb0b760525e80574548381a030cb430a6b516946319f0c9c55be31bd36bcbe286d43ce17bf89cc1f883720cf81aadffc610ff8d01ff4ddc7c87e3c0c85a02f98bb5f9e4ba6cc158e4b332076cd5b59d66c099ecb1f9cdd262cc612ab25e80313e7287f8f05ee7991d12cb74b4a45e5bbbb307f1a932473e129d031ff90946c1584691583a5be358ddeee0543876aaa4b39b2f9623a8038fc8b13acb35bde993f78c9e437e43ef856b6364762acf6dded6420ed9ab48bf621fe8d0c30975859233eb8f40463e610fafddce83a47b3da6b4a0cfd46f6c7ac07ca8d910eac54fcbab7fda9c5d2d466bab5bbb7156c400732b8b76bf26252a4f26e7f7fc08199f7f463eee7e32fef28543d6f50da514f99552b64a0fe057a2e3ec23392e352e0eb2c98505d27791ace5e52ab5738f6057dd3d772a6b65dec379c0752d67b99ee6c8b7f484d1a7dbed6d857df5d8efaa88b78b35d8821ec37b053e679e69203fa1f0e72abfe760bdbf3a55d9aeb73a2b14b1c129e03e7f131b82c61ae87e27b82b183b8f603210aca24e6dea8d6fe4afb84132a1c9f36c49dcd2afca1be6046bf00a26b6f511da5cc2ec0103a5e4d6e6ed1220fd322fc77615e670dfc4b8b8d626b7b5f2aaccdf33651ef3ae80d65d19c17ccc0f105bf0074116889017e8e06f61db40b68aa36d2d1309cb8568954a68fc9fa05fa0ff84bd51bc9b15b7a81c73f6b5e296a1cfed222a43a46316a1f1dfcd7d2363eecf033ba5925e9b3ad6093adf3ee3e7b071cfe75ccd3e813bea10913147b85e7e14417e61aea68b54eaed095b672388658b63de4e8ae86e0fa1f7c5cae28dc8de18c9de107a7db43027b23743b2d7ab4ae03c747436eacbba1d96755a78599b0bc05f581fd9106a0026ec751139c34ebea5a3bf6252a73925bc9c07deabca4c4978b079d7968dbeffc476fcc2c0dfc5e4bbe4e20d16d4f6e59d59c1591a9c8b6db998dad06c6c0e924011e3764fe0fcf2d377a988538843e2bce2b672cd058bd73bb92fe7a478afb027b9734d657e20eb4dcd149139ef8572f43fc327d3ab0f2d1cadac608f9135b5881c662db69fdbf7c4678d3e447a4507cc29ccb9f75d7d612786bb871e5fea2f61dc2119f7c73d62f28ae38cc469ae1e5732aef52136f65814566bf376f6a332945b3bed0c755e1c8ffca11bddff80fb7822bd030c799fd3d6ce7eac29eaf1d013bb71da973bc041dcd493a7c86e054c73ba6e88ecf0bbdfd1b524209b6683eceeab07f505bd78dec522beaa81e491d0e2283ad101e2a5b6761f0b2d63e8bfa53e8760a75e65a73efa0f38ed6eb90d793b7aff305e0fd4d727eb1ff4a833e1d9553a6d64193e46427ae9799c17ea799b9e85dc15462cb26137ed77dddae174cdd967bbc279b455bafc7d1cc43b9c15576f6d36b057703d52d75eb9107b256b6c345c6f07f347d7c7b65bdf2e8490e3a6cf099849f34d2fafed3e7221ad099fd16f61315b5c0fc3e5a5c125079c235a1f896b949e1c7bc7ff32e5fd2a4c9484676cb0056f11decf521e08b7c817f95aeacbca2f2f3a9f9dae0caa08b73c37cd147c2dc2cfb4ad291e8caa15fdef495facfcfbbc50dfd4f9e29c5a971344024cb0bbfc37f4264fbfd59dc4cebd80ddd9c309032ea410d9ab804b477fc3bc1f5957877cf34ecf7683bdfd91ed452387fa25b437eabfe0106a31568183ac53238773e6a74db7ff97d682f6f186621a330f13f025e8baa4796b5c2789e77ce75cfd048ff17bfe7b824b7464d1fb3c7731b1bec30277f5e7c736b8e0983f345c23bd5d850c609f7343a859057e248e3c03ce97a581909732f7ecfbb8b85b9715d90bd5da5261cd06e22cf2c41d8d9fe776bbdebb32e626cfa57e4d3de1eefead7979d23b017380f10eeeb123980e7644b8b662b42f35dbdc66b639aaa18fd29c0d7729cfd838ced7ad61877a725b03ddd1ad750ffb79e2ac9207cff174ef3892b9bfe24896531eaf6552c3bfe16637db5c66c13cfeab1a61b406900fdfb589eee70abdbf27f6f7a81f2fecd614e33a43a27fb662673fdd00937ff29e13cc499ec41b7aef531687dff36be97cd2d4d0a5bb067be0b18f85e2de4daf2ee0d7fe8bbc564d5e67983b14ff96f07562fcdb5dbe3c9eb94f888317bc32cb0796169f9755c2cb7afefffcf8f92373bff6a7e2c71ffffbc73a3efcf8e3c78f9f3f966eba477ffdf39f3f7f1ca222bc78ffe99fd397aff3398ef6ff718a4e47f7e52bfe8ff452fef1e29dcfc58b9be7fb227f29ae2fc71cbec98b2f37fbcf343afde73147978e4e9f67f46fb02fdc2881af4ef8260f47fffc9147f5fec71faf036ec8fcfc919e83fd8f3f861cfef3bf8a08cee2188efd0f96fb0fee4de7d83f06e33f58f63fdf98c13f98f11f0cf3e3e78f28ffaf20fafaf1c7a79be4fb9f3ff20a6e39d95f7ffcc1bebebdbd71dce0e70f152e3d18b0e3f1cf1fcb243ac53ffe607ffe904ee71f7f70ccf09519b0e39f3f7651f0e38f11c3fefc21a2bfd040b601ba10f3f3c7da0dfecb3f9cff8bf9f1c7ffcbfc84ffffaf9f3fded120f36cefa37b6ae81ff675c88c99113f1afdfcb1ccd137c321f7fac68cdfd87ffefca13e3dfe95e5389ea5c7bf310306fef7cf9f3f846fafcff2f478f675c80d07431e1dff117d15e1bf780fadfb0e3e92b31fe73ffe60b931fa10e3173464f8d79f3f66897bc86132c4fd09fe5572b4a4e0cf0df9134dcefffa275a4ee1fe0bde047a393f5e76f9fe2b7f09cea7437939552fb7f3579c67aebf7ff98ac902ebaeaf1f3f7f486976fe2ad66e11f6566af3fbe4ece31f74f7ebb02ff0dfdbf399fca5ba851ffef8e37449929f3fb4c24df6cd12814fdbbd9b9f4ff858f13c8b927d4e8fc6776e3e4ef659f3b7becf8bbba3d1577767a8e7e082eef7bf7f90e1ff7a67c168a3d38f3f8aafcbfee7ef4f188c5c3d07bf39bd87f37fa6e7004e32f65f79044fcffe27fb0a9b3f839152c9f09703266fe37764c23f7ffe08dcc2fdf1c70fa53a8742f47e90a30fc1e37806b9acb6f57e088e9bcb521bd692109e83f9f6e6d7e7abc20549202eaede605b07f345e80b10dabfca9bf34112ce870dc7dff616814d994837559f16eaf1bd52858f9d2bee0e9b94bf0650ce3abb49d3191b88e1d53fa907590c9960fe51afa2f1d5e112c69d1b11c08e6b3c13708b5ae1baf7e44fe87c77ae5ea13d90a4cabcc1a2a6e3d0c5e4e898a3da31378700ca7ea483be4b7677cf920562c8da117e86601e447ec5479d39b8da6979b523e4c225178529171bc658ed985d86e76b2c4be6634b8a945217b797f64ef6f38fab7fdad68bc88e604ca69379a9114bd1b4530ac75e9db9913b3a9fc862039996fba95106665239da21724f33d6b11623298a7bdffb227ff345a382b44d1467abef4bf5c8bd77e902da0b928ba38d42cfdcbc38a291bae628916779d4a4302b2997d2ac0c4ca3da6b1236bfe61f891f8dfef4ab45a088bb6c855cd9f986974ec6855ec311a4b0734f42b15dee9079bce688a93203d3eb359897639f3372278a2f76678dacad828716d9043f33a445c873ca16435cbadbf937a1e5bb2515d97dbb177a2f1eb7f8d381633be589f34dba88168d4925a50932e35f8249f6d609b3319f16dbd09be1120ae4b2000ddb93f2d25e99ed65adbfbf79c7b253f6525c000e8bc2eb9986e7251866dc3b1985632d7018ca8c91ebcf7aa651810b68956348e1e2d6d6d43503d68752298032cf25e242c0338831728f32e51454ae45c25adaf4266b254d1134ef72375f5cd19c07f3185c29252d92bd5666b2c53e2b2f0577af9f6252cf81d04be901541d2ef9c2f0d2cabc5faaea437898be9fb0eaa4da437fb0cc1c6e34febca7d3e35a4a7c4767ca15b71bdbd6e21498908aacbbe5719df9bdaccd4e0a8d2d12ab0bef21c607d71c1ebc2869e6a54f8f10863ec30fbce4a3f2061f897fda8e682a0c53ead9a93c879267de4b8accd212be0be520b7a93c126eeaa7f37af401da73ba5a49efd0a903ec760371405a1647106e7284d16e17cf560017b0e3571663acb6427fffc8567141ebe013cae396e0c67aa6710daccd5916fb296aef548e1d61c4f869727238a332e68bd03bd1b62f425f85dbe9d1fb3dbbd6926f60f3d9adb6d98da09d5e67469fdbdd68ba8a1691cfe2761bd22237f3d24d845d7063b17da4ee8dbd41c1c835fb8fcfe8503aba4d5b252ba046e398b3ac257cc0859927eece8ec81ff15a206d4a669940da7cba1869501a18775d4986b891ba6396893dd822f7a7f23876e689f8fd7cef52e2eb6fac2d9a9b28b0b6094ee16c43c5da867e1a24812065a4cc3601a8a04a0248f006d69d52b54c670cd57120ffe78bc489d0b93b088d48911a4198e4c85f94139275cc59d6cf91746219ffd4dd87dbab4dd6954274c80ec95c73c940184d8b5f1c1a5a80d4f5f27c272349b93ca1b0e9bd6be4aece601e70db21ba2eccf3836b89cb1a366df865f2deb89b5ed5baaee002a6cbdaaf0e51d0bd57c4c601c07e835ecbd0faffddf31cb384541b722949ba5df4443e0c80660db9f01fa17f5a265ba4f7adcd5daa21197f8ad317921aaf7db1cc02e110298294e1d4c810a85b1fbe9fcc12b53a9f1fef57e052fb1d7241670c7267015278ce20bd9e7a223ff8557b725352392561c33993a37502f44cc9c31e7a780f0f73066b2738399684dcdaeef909da83d0d23f306ed82659eefc7476a16da35b80a9eccb8666dea68babc795896d0ebfbdae6b2d7fb1a71a1d00ed149ff3929181166d8b5baf2cf4dcc9cdd92dcf8eb9fcda70fcc54993d337a1fd67723d73a2f06fcaf6b62d14cbf63244bada3598dcaf217d1503540a95334218cafa38729acfd26b13aed4c27c6d4e33240b7af661af55e2f62245d29737c9de3eb511e3b1b4d582c255dc80ae02f6aec0fb7e157ab6c6be5a5a9e295c9c417bc9697bd5457ee0588b896d01243cde93e62809aa0fcd3183d97e0e50d29740346a4ccd8b6cf2c535a83e2e8ee51fb6d6a2827914d0180cb0c736dc0ca0f4e5ca7f95a6243414bd478baa40df45d21ccda19339a2114b73b0010e52e47ff9557e92a28f28b036076473227904763b9499c0f95774be12f994862dffd44a6497c43b2e0c1d911fec90cdf8a81b803aba27f39bbfb7cd7a53d21903942fb3e5d936b7d7a0850d3b102a6b749d6f5b4c08d49786fc063de5e3b64cb7811becfcd6a3d14fee5b5dfacfc327b825aaecd80b9b836b8e686b2db2ab75579cc5de20807bac079b576467d9d6023de30aed913507509117873e1f8b7c29805eea1dd7092bffb9b38cc43f2553c7da125ad1e17d6915ccc9f7ebb46b83f4d70eecd95d53c6d6f5394f7ef521db9613eeb865e55a1f8c345f24be65205d514b62b6c53ec8f040fd014964599f94b8b9e6e8e8cd8d18ad9db694adeb3706b534cdc2209de9f66091f9f30d50e3d016f7ae3c5452e7a2343e4f2bd3252ad34fcb9b27260ca5d78114c62cbf59faad5a440eb471ad27d01e03b47be89c45648f00626196979666a7c12caf2cfd562279867e5f1f1946b6b6673fe50792087b71e69f1690a6effacd8b817ad0d219671bcba39f26b7004acb66ac6b2d12bffa0803e1238730b5f041de637c088ed3cb4a1b9692b860e1776b594bf3edd93687e0e7abc2f0264509ffa917b1929279de6d9340349a520da5f74e4729d0a55a408d9d3cd87d1396bd3b3e0952284fac7dd138bae62c37b9cdc5982d3ef464b930a6c95a4ff8991e6f83b55544686fc33ad1cf7d1d0ed0b452ee88c8be08c280409cafa205d3d5478e398aa588d2e33e4260407b795fff5d0264777306d22d19f249b0dddcca8240686891d7767a6e609bfce8d7f6fb27812a738e0cf27f13ff84ec59f561bd999c13400ab6bfcfbabe2383f521861eb1b8c6c6e20302f107f007dd32bd4e2a01e08e44be76f46f4b92f1f8133e6974f100d2ed344572b138282d447baa919fd07ea495f4dcc617d870e5d5e78c197eefc8de010a2a0a67b0011a08738464fd59b6ca3149817dfaa901d0a51d9d894b09697a61b04cd6e69d1fd29dcbd322f14c9e737650f240d3be9fadcebd45f649bdd077d1197bf3dc383559f20aa4b01e9f796d7e63f79b0402a3b1ab17007fd0791668055c6bd3b2ab07a0b5e7c8c61eb76449192f963dc6128de918887c05b01d5a092d32de91bdb6d010e0b7404981cf217d7d889474963bd68291a28494a98dfe3ff6deb53b55256d17fe2ff36bafa727604cc2fa364314c1435490d33bf67886402208281d34a27bf47f7f47dd5505c549cd5cab9fbd3feceeb1c6340a455187bbeee375e177e9511d4f7d85b5b0c273d0fd3e953d4ce67213e267ad8e957164cbf5aee896c8ee77f07c36e7faf5fadaa490a8ac7d3b86927c80e87c75e521e8fd9e107cf967a526b3e0dabd6dcd8aeb9c6418399a923236574442b7ac9e3a28ec8d9afd07a5a542e31977dbda353fc9d1129631c0bdf662f619991bc6e2588b8e8ec9f300436134f47bd496e8983949d586f51c39164087f62beb8f8cbd8374bb91faf55eda6a0d6a86a65d85ce84e116605d597b81c0033b523ff4cefdc0958d33b26f8bbda8018c1d378945aa5ba8004b9338812dacc4cef4644add03d0249bba9f82ce59752f60283292fe84658092a897724f444f6b8031884448a967ee710945e25852d9f7c8d65a944e2415cb4f0ddbe96ae8a4508e5da4a147f41d195af6d9616dcd2ecdfd55a6c4b0b08763eb80da85546bc772906e56a6dae0f478d2070ab3c68b13f9b4f7a51cd32f0e0f4f6bc1e8bf85aab934541dad3b25cc77f5f41486c6209c490ffc643b0d3f2cde47b2f003a0752b6b9a914bd111dd8fe67b6dce3e27ccb892b13ed8d64baa84a79d89d3430f8e1c5f5c33be7897f2fcb3342f5b432a6a41dd8aaf3907a023aea5a8a96fc487c4d2f97dc71aca5acfd30852f7396f8765e8dcdcb45f97f4bfb0dd98a7766f513f835be51abd776e4ef1bb109d54c3906b896dcee2e2ecbf54d6e8d1491e8ef6cee07c593c4e64eef7ce7c0afb04103346e60c86401b69501f4084f4fdfeced1b9606adda51f70aee0ef5c7955ef0f8197e482a9847dc44d9f4ba37f0564b8d75bec55fe407d5f5f8ee0678ece85f4fdbdb3eaab6738a708ec4f3d55883dbb5bce45c94fdddd0befbfa64764d798d8bf2c2a943e3254fdb1e6615f5b093f72b6cd65ea629f1b9265e81e28035f03b4a3b15d0b468474f9ba6e80decbb666175d8e2fb01f21e5203ea2f3c436674047a984510ae3a563b8fe1246e2e1e8e1b55bfa144338afd17c0b90ca220c1235a9ecbfa0ed8c2b9f158b50b221a9a4dfead7bba404cc7b256a58bc2ff3bdf1fc2105689ec06fe2980b51b11af388f48ac0ebcda66b6bc6612ae065806cd0b1a406688df8c92a0458063c5797b52cf2aebc7c8114ae61a96f103a66420b59bc5b3ad64aff317e07741d6e134338cd78ef8cec8f95a8e843f1a3a58f6b7978a9fb5ad7d68ca4442a29b2b1be338f4866413cc55c8463382b5689ba6b3ed76bfa78032f89838985e4f7ec82ee9f48c3df5e4393d1a2be161a6d8d8b7ddbb636e04c8a09c411d2d9ea7bbb22970a7d0cca489acf9ae07311bd2be70a0fd775e7d1e26809d4968c01fec94986db9afd8163750da83b4c015c8f3750b9d0227b48bcad727e97fdd40f01d29b6d9d87f3a58c8b007c18a323a83c9461860a8607900747d025cd3c5a0085ff7255da370140f5cecd874cd911b956ea06004d339690de16ff5f7046d3f72229eae6f0b4d694ac21978d075129ae4572b91e5badf8b638db5251bf2175ae45378febfab6bd5b1e95304672a7665bc0b558b7b166e05721d762fb05622439f1c756e321f5bd8aeddce1c5e3f2d4eb2d30ada53c4cdddd74afa07d2060e80890d11093c43650090b5ea316c0e9677ff5dcc1b1d63bfabffe46ff1928114c193d02ff35f6b50c4a9d78ac67a1b6ea2f0c63816345219237fe9b6da2b56a87fa60282d57a79050f216bf7d8cf24387be4529412bba37b2ed98bd902951fcb61a1a2b0552d11fd07becf46478c0a972513a49d0be56898cefb37b9694b2f18127471b3bc9792fecfc3d9c48be4bfea6b2f07daea9c5fe47fae6b81e2b6eb57101fe90c4e7ea36b5cab921f6ffd5f65edc26839d44dcfad6349c48e23bf9bc5f9b0fe9fcbc00083c0ffb60c18f8c64c418d3423072cd4fdd64f9e59fe97e86325b6c7353ddb1aa73d7ed2386a262219a3c77f4843c65e6eeaabf6161e6d9b831aeab523eeca6a1a5fd827daa9e23389fa7122e752ee17756cfeeb6126b4fe7d6d2750c0e974cb4c42155213e7a23837b4bfa5fbe14b8584fe5c2b51c478e6c1c95984bd533a6caa07adac728ff6adb5bb610c440d92e29e95c886abacc3072a4ca59f958df7bf43cace83a16cfc49006e89d2f732de0a02c8c9432d218111b7b68e87d119a834d6127f9b2b87304a45f57d66d8aecfe723c07cfdee51030e39911b8ba2765b73cfbe60a43e9e0b8c38b3fa2e547abbd920ccf6b737040f2c1035b1d8dc9e9e698b8d25d63d258bfd8874ed6ca96ef9223ddf784fd5757001a221ec60bb5d1f44117f2c04d44747de2caf1b6ea4762f3485e3aedb0b9e965ae76dd8ef35eb9d0168667b7675c1cf3144e86cfa282e5d2d6b6d42fdf9ac5aea464feb66eeff55d6fc865f6967f5ae37605db3c3dceccd565221fe27753fdb22d3522f016d9da5cc618aee125406dbe85ea1e8db9172a99df5303ef15a03738b7676cd7e8f308e8402a6d2b00ebcc878ea53edb89f8e5ca46e08651587d9e1aba829839e6f0a884f9c5457b4cdf876399c66cfbcf14b26dac2999270f794f58a1b62f1842d6afb63df2cfb6f50be02c48cc379c8c965fbe39db579eb5e3b2a5ce3f1903d158709b477466a06b94305f2c570f8fcaee059d9fe264e4ddb28d312c0eb113d7d63276ada948a006a96e9a6218662770090dffa4b05789ddc5f8c0eaf77a3c9e0307d9731afb3dcc53ea269ea8e8036affe039297366aaed91f75c6178371ba092d8fb06cbd81d2d03f3953b957d9c7db989933a97c23f8ff6f62bceeff230355edd4e7ee5b9f2fef8e8c8f1d6b6965fdeae8cb3cf5beca876db74167889c87b82914d4cb6ad29abff93f79ef11ece7344e31522bb06be1fe172679c77c6e4a124e5e7c24739ca9fdd6428ac21be239e09c5041e370c2d7d996f8b71a3f45cb117115ff6aacc372860860844be63a9d8873dca9f8bdf225e5fd5da60de2b70e425be679003ecab9b1867a0e5b0ca5c1f366780f5eb4f927efc3e6af8935ad690fffc41e7ab87f7ff5852012a04d9f71379757413e3c11ffa7bc7ec9b6b6b96e2fcbf76b8ee5bbe99b7f3903dfb0955ca43a2225bda9aee956d2ad0672821d25d557a0de88fc866f57ad3bdb2c3d42f6b334ffd51148eb502fe1efa8eec9f0986b088fd6d5d2617ebf3b212f214a0877b4c1c08be5bed15f085da21f15b9f6ccb688b6171c8be2be5c06c01d7990b51d17fa593e618dcb3d639c7e40e30eed269d3f61bbc57a80045e28d3cb816bb9dc2b6cffab690c7636970426728fa6c5baa5ac8acf2de528e49e59e67643e96352318a7edbb39cbbe374e83949519c85ef7936106e5df7fb54fcc6f36c9cf99249567042d7d4236539b0cbf008d43f1dc4d45cff2313446eaca31f76e20b9b38ce794cea4650fbded98df90ce9fc4c57c317280e4d37a47e6dd52b22639b71be689d0d1749f37f7f9389523d5c95ad66158d0d96d2b6784eacbc601532114e5af1fb49d32261451385d6e5ef8b850bbfc852df3ff18e5dcfcf5570a7024a396bd7b8e5be230ec7b213ba68fe41ae819d82f51be4b8bfd52f54d9f2176958ea94f15ec6aa067e2183b989cb3f8cc8698099492bed4f65a54fa985ffbc7f999c8daed3e247bfaa92e87d6ccd98fc61543ab40c9d7bdfeb58e317192f1f0b91eefa0fe5e807c6991e199d2183f66ffb5eb41740dd7bfaff9ee4e57f6719b5e54d7a9983571f9bebee526cbd4168650cfc1c485696e525cd37f1a314b26574af4c2e0e943cb43c83f9617c7b63cc1f1e857e64b791ffbd5a07d1abfd37d01d99ef5738b504e106819db542f747e7c59e46d21183866ced9c686e4f70ef6feeb499ca1bdc352dbf75aef79ead407e5d53fa65271be82df0aad6f473f9d8a3805d637f6382eb842e31d3903acd380af19d991967ae9d21b48b96753e60946df4ec4c04beef247a3710ad13d48bf725beca371955aa29ad71a8b9f8e15476ecf87df3e70ec95da3fb0dfebfd2376c9dd7d734dd833848af49bfda3b285f60dfbb00ed82644e72492d1d7655b35c6bd38dabd780bf9e9c40fd4382b89ddc0c4a3905ebac26ba439bf54ef82f927baf312c793c1ce77cc7eeceda61d713e26d7a2d049a9dd42f27f652362d6723d865dd2c0cbc6193f7791a891e102fc5a12efd6663f7049bf291d8363a92b0c71b6fc32ac9753999f1afbf3de82ee131de032861bb1b52df0791b477fb87964a87b0bbd1e741f89da68d826317129f3796dfaa99b0c33d25ffabcd80398acfed69563347e363af3dded7ffe9d91de55f4b59003ed7db591bc35fb9c29f15cddc61c577312b04cd3368d3dd5ba9fc280ab9ca552c3be4dd464866cfab321c707c71479e243853e94dfb5de2b02945971cde61b7be4c44f5f7f7da2396ed327c75a2cd6f3721ab1ac86ef517d71e5d35e095959c0c359afa03e02642f961fce480d9c1ea1e8bfb1d76b6752bb7f1ee935a57e515f473feb394f5d72ad58efc9f2cb171eb0af98f55749415d4f65742ca25f69f91d3acb03b2cbe81ae63de9860cadd59100c50ad417dd8a37637f64f15e214ff2489574aceff7b773104036577c10df9a2f7985fe6ef1cddf78968c74b7d5adf18f2be35f5bfbed7203ef2bc79a266ab23aba3d357584f8689b39c9cd237b4c362e1508ed527e523d439cbea6457b4bd9c87c796803f5e2953621f7b994b187862c1d71c519f6bdf14236f2efada152d739c4ef26acfb864e88ed1b11c7eb4639d0bddb40652da66c2c86c4339938559496106f8ba32f04a92d6cd2770cb7b6995ebcc7ae18225ddbd89e40ba6005aa6d33bd4437efc536e906288420674f30380de9f62b4c377625afac6aab5c780ee90e48967b207bfa5f8ebcfad91213aa5fd315b768f39584632d7a0448cdaa1d52a55e68bc8bda5fcaf1d92134a1f3969a6a4abba160fd36c45485793ad754183f882f5a0ba0a5ecb27f1d0c53571d9712e2f230c5d4f1fbb5662753800f129f3fe407a453a2f3311803247fcd277beef7bc647862eccff88dd21f6bc1d7f8bca1f6249cb1f33397bf6d07e95833bafa51c89e890eb5039779af6a939bbd6e1bddd2d3ba8d7ab1c87897b561d8bf48ce16b15e3bcdd61f76fa1224c8afbce96bf84b3e0d3c5f95380ae9f35ed9e17768caf21c8d1fd424384312c745724e5ea65e426a19b6693c919db32b00a500e75ed26315cefe76be4d91af240fd2893c24b9d5b3d81f50fb96f19347ddf9b5503752dadad11aea2ec5b3c79572b28853b7c4176fdc7b65ef96f96663fd508fe11731be059cc5d3bdc2e6a75561063be30b9364b65f9b79846449b966812a11ad5b0c632805dcd8e09edcd04e2ae785fc90c2d93fc07952f55823196f580357e405a1499852c8b1ecfe98077ddf165d3004dadfceb50fbe4e1d722732c65e2bae5bece2c11a9d3de59ecb00aad6ea1c237eace5db4a5ca3e99f21be06eac70279f8730c32b3c5a70d905b4ab6d62bf1cc03c86b8d2771873c986b2ac0c32961f4d8d516e828a3453891a3f6dfb1fccb6c9d0be9b5632de7d5d0a9ea995a84f3f85ad6dcd86af32d95f9958a0c75d48d1a147c6d5183c24fd07e05ea7ab2bf87459e75ec489b540d1d34677c7b8cc6030c05bba4f8c5b108ad3cafef9001e83dc9fadc546b8068eca9d33fda2adbf89a6c0ba86cf342906dc907a5d3bca98f0581c715fb0dc782716d44639e6c7319d1795a6b51e680bfd2c9dc9e877eafea7e5093caec6580edaac8587eacf503475e92dc19c0cca079d3a4463ac6f3d7520f4ff253983884924e5e07a7b17ed8cdcf41c357543c7750da8bf3e6b95ef45f2bf6585ec6e8caeb98e75e8d1588ce397abc1603f95bfa40e1d5f46fd6b1c8a77a3e61f64dcc88c61aa99f216e98858aa47cae6beb87dde7b575915dcd7b86b6709b2e92c93876a4a375bb36fbbbb906741f57f12b3acefc2be7fd06d91cd954baa31e472bea712a63e34ad7cfd7eb7ba3929bc3e8d9b5f7fe960e836c936991df4cfd2c70cede99c3cbdab1a44fb16dcef6e38abdbb61f0565a314ad8dc5dd60ec4780dd497df8e6f42ee8dd2b7b3fa456af92b75da8e6627e3b29d7422036d1da1bee73aa809573f1d3d4d2744dfc4b99cfde70f2938ce71bd3c95a5d9badde6ade51757e4f911e9b84ad2e75d53c57e38062f6a0cf992cf481f7b22eb086aaedbfb39a0750dbc4b319dcceafbbbf121b0b46bb5d8fe9b7b7e3938d672ef0a8b8d8bec5f730135fab696ed94d04bdf84be6b1b1c5a1be4dc8d581987a90b13746ea0b17ea07ec4fd58cb8f4cec8dad9582795b582fe902ecd08342fc94e78a5e57a1acbc5d63096b02d33ab370ced57d18963527c8e6ab9e5951fd3cacac47daa6adf3e7f1e8204e9a350d743d5e5d13004f5da1116f3ddbc859cc73ee19e9df534c9bc69e1dda201f77d7d7b5e6eaa2f56aa3e79fdbdebd6bcd46b026bd7344285a9abe8b8fbfb5268dcbde8543fcaeefc3f2190ae0cf74e28dc8aaf8617080273596a26a0d23937b447da636acbbaceeababe517ab6e652e0c2e538634779ed8a2d6f2cbd294cc47762f509d0c4feb15cec1d78a5af16fe4f876f6a5265319cc2bff95772dad8ffab82d6872aee2fe609f775907a0a60ee4f832731e733ba03cec82d916569fe373676d86eb185cfad6f3dacf91a28f50eb53c8f08fa61f9ae6508a687cdb72345bea054f96d6c821ed755c777439d0a7d07c71f5f868bb9e40eed5796132ea783f8bd0520f17684cbf5c390f3c2437c3fcb5565b8dda5a595aaecfad03cdb5c6b463f2f00cb5f8a1127e68f95be5f74a9e25f1dbbdeec3f188e0c2f472e6cc57c5c9a0918b76239fb28af353ea5557ea11993c83c20f24185c116f97578cbd54d487bd783b3578d7ffeafa65ea0b053173e5e1c91356a1651cf65e6224734dd9aae7033749e2687cf6424bcb5bf2db99798af9e277e21b169570ba1bf716c7b5b9f854a17631a294e0d46ff69f7907c805cf53a06abff04706cb2e9dcbcf4f6b2dfb64cea5a329c4403dede05cf04e0c33ecc33afd5e7dc0688aceba646de69c6329fb2b71f3187cb623c8df81734101ca113b7125866213287e4a5b9a3e6b6e4d0b5db7f06346c3b3970cfb14dedf463a05b5a17a742fb4e60ac07e9ab33ea921b95edaa49486bc198327d78cca1c45b0632c35b557c3a33328d74d61ebb6e4ed74bd475bae19ad0928fc48456dcd9df9a7f4fa7a0ecb8dd868bd6e8be229d031835a0c6d93d2dc39fcfb06d71a423d72236f1bdbf3983296e699003ed33559a38676f05dbfc55a167b3867b5782f8273b448d4ed2f71ae737ba74dce8c6a6ba7b3264621ef0b39a174ce5337f142b009933843f27fdc1d6beda241676d7adae79f7e6b2d07ae19a16b5909235cc7dcb2cedfaed7f06e5d21cf6cebe5826c4f88a755e979639213964ea4c19ee8f5d5331ec9735cab43c7fb52fa5209358cb6c1982b8c3c1b6b11d0ed59427ca9e4cb029e59c4ead85d3100b4ce8e8d76b1de7f33865decbf3008c6da29b0afe1d3403c16c9a60e7bb890f38dba30a80d2c73098b3a27c8bf407a23b2e3dd5dfedc1cd38a0eceea0e203fc7d48f58f8b7f139bb847c8afe05eb2e35fdb76dff147839a5adc3ae899a1fbef80dd66fd8527b20217d2bce1ce370b174a68ea17ed6b3ebac3d6fabc412b2d4b36d45d7fb6a2ec2b1d60fd03e29eab04de3c103dddb8894f0144ccb3ce48b632d1bf20672b0692eed2b177ac2ec8cda57c26c4ff2809a787740f905e7e67e0a390d0a3d73ab188923e38c6920faadf66a45feeaf7e48df6e3b1dc86a1b5c81a38ad55fbeeeef927735cf3d7316b71047b301c63da2c26b766c6bd9b796cf666fe5c53c2891c41ad7c739f6f8269c35f5cef1f8b4b899ee71f278d3d71db1fe7dd5cab4dfc2b53c8fdf1593dbd4baa4862f0fb46cca9993f79c7b9e6dc9cdf4a2c6447c7396ec54a6562077b262eca8ccf9d31801a4e9362ae807692deb3a2b94bb211213bedbd110bf4637f00fe56f4bea06bbc35b14b8e5e6fd97765c0b46ecb7f477b47022a3a393e3a1ccd375181b6726c1c8e969685de68134e64a84704acd4d6f7b9ed07adfa568b7304ad4de5866c7ca1ba4603afa4a1a332baba1306e97cfb2b65f0bf83b9feebc9d6f3f44d1894b63423d7ebed99c2d0473afb4ddd7e3425f5e7708607739dcfc655dfeb6fd92aae047a42ab8e886b71cbb5ed9dbbe58723c1f9c2f923a5a84f75ace06403aee4229c48837c6cf114e7a61ecf403ad75ed17fdd5c634aa89031fdbf4f362319d47116e58d5c3ca9fa9c661ca1ae8f76ad6fa47f557057687d57539f025fcc15ac4729388f31cd75dc31478dbc87abfe056b09f17d4c2b5ec72bacdb2e77d749b0b2b061dbd5eb1e0a1bb1f6bd53ab47b8e2c768d44434cebecbf76b1ac6654d830ed4740c66d3a2a8c3c5f9b7d84e84d82cd8850b5c0b5fd48d1a52ce4d061877bfc039646577a35eafb586fa8eb30bd3302961f4b3f8bcdd87949249d995f960ab62dcdb705f5619cd497a13800e9991738d9828b59fd2f999c5af6cfc9e5de1ace8f41d94d8b0982abbd35730c414cb6fc94abc8a051036e3d4f459541f5deb5c1b5600731ea93efdbd58bf9ab21bf73adf9df8aff2a015bba005f364817db56927d623e457b460f7c8ab6cadc54f6e788fcf64417c3224c76150f75745e964887914c60c96e4ad76afe51536710e5b7d0a4f4eb7cdd28a0152ca516c7fb84897b6969c176e421bf555e3e3f7d14b00313b49019cc7c98df7ff4bd8a32cde9b2edec41ba5f8d3ffb371e03c9d9b0f57fc067930b794fd7b8fcb56e7fc58c6d24eedfc2df22a511388e33ed15c18c58c1215684ea97fcdee8aff266a28c2fc7fc841eac8ab02bbc5d1221c872b7c6c1cd832edd892798063a09d363dd0532a3b8ae75e8b05dfc4db8e21cee2cbc1d9ed791b78f610eea718d23b3d79deb8a6c1ad653152e47ee09a46a448ca6e2cac3ed5b3b21beb8794625691f86c06d8a3b83ecfa571382332b41517cff5f0461c8ef247ed80faeed3b1a247a5a42fc49c1eaf753af0e28cd17f1febaa1cd72e4cca2ef9d98677a54403926fdcdffa960a72d52058d193dd32703834962ba89d6fc75e2aeaa45a714a4bccd972efd53834584cd3dfd3d7c3a83e86a0d35dd99b5cc7de047c9fcebda93f87746c956d1a177b533f0c6ec4a6810308afbb56eccf95a5f35d6d34313df96513fb73b568bfee77b13ff9a53f5f4db3e50deccff5850b1de04f82da84703218b4607f1ffcc980c88ca11a3b9cf1e0499b707a099e67af2fcfd32df858fe35b70e5f946e782ae5892bc727c08c91d52f241b6c4bedbf85eac5eea9680f2cc8391f4e466aec24065abb5bc054a77314e60565e75ba846ef265acbf15609f393dbc3f568441f79a4d802fa857fa234ad6fa1b27777c6c14e8cf347197364d653144e64275bd731612afd55f654f67ec8a5edae84f9d9319d18e951760d7386d13543c87fecbd6436922fa5fccc281f5ac10782fb9ab9a39ce607a548f77caf630509a53c03f98d73e29bb5d2d682c5208167d5ed85c2bea8f847a81e069c33b45dd4265fbd0e8d8351ea3d557c8537db7242db524aff896c7068cfebc950b093e199bd1ee9462df59ffbf15fc385adf8b918ff0d83bd69274a8b1cb9166baae0e175f8bb4a7d1f8dd1aa535fc3f581805d3143e38b71448d228792c4ad82a9148b5db12ba427b214d57342513d063cd201c445ae8ec1a8e6dbbf1dc3aa6397b6da5bf09c7ace74e127647d7387b363e6812f1b113db7de1a58a6c8068c3af391d178e2b37579767b2f509b8df3d7f20b3a0f2a31d4babede863fd3c48abc547312a374220dafe66ad7d71fb32790be77331fced69839a9f26e404d2ee5b851a21a87885c8e81772eb9379421cb8bf86bbf1e2d396f347d9c9c45224b95e37a373dba3d753739472566c76b0befc259a5361ad63d1af6252bcfc56c6e4d1f1da99f32b51ffbabf760ddb52de79895b9dfb38d132371509f13a477b1f6f1e97aff0d6c234fa4e6b9a5b4bd7b529e1d753f7ac3d7b87bf9a2bea589055830a97d5698fc1332675b8c0b5b59138c1cc77b2d676b3916b5f31178e614a048873acb0bd4a94b6aea862fac9d557e1e147345e2d27cf35d2af893fdc04fd4c00bf9a36dd9e1b8db16659f17bac2b23f064ceb3873466a0c5c2e15cc0251702c259c601f714d47ea7fb9bd76fc248a69d986010c7ec05a2e639bbd0bd84ced3e7a380fdb6cea0e6e87cbd56b99b8c6351947b02a222f114f18bb02d9e411c9695ce1bc87863fb2527bc2603c9758adbf91c7503903bae245d7cf80f2ec447615c4c5cce58ae4313d36ceac11e01ab4c7da01d316d733577459e0398d44f04b33febb76fba5e223acc724ab73140217c355be98717d0f87455dce47c9854bf934a27d575d3b1d43aa1337c731afe7cd5eb9963dc3dab953288e69cb791a8f2187e9efe7ba61e7ecbefa7e27c118cc8d7b6f6206411bd4ff5dc69d4a6c037c1656f273e8f9587092546aaa4a190d790f787c784f46efdcd0494b1ca188c8cbb2562f227c66544f80bc749a8b565f3b4ced5ed13f4f98ed1d73c9bbb26190e7efc78cfff1fb182bf7e13ab039ca95fdd7c413e8e40e71b4fec597c513e6f21dee70bceb01e47725af4c2398f1dfc759a2185b15bb7b52fa7ceec004a0bebc9c1b6b7944780a5e01e7972beca6cfc9a8b0bdb695fcdeb05fbc33d4366851e68fcaf8828ed66607df4d5d9fc472a18277fe6d198773862ab64a0796b8c2ceeb013f5b49c7165ff7a7e27e596ccc240f6ca1c5377c3f1e64116bc01c8511ce3d4d44ce97c503d69b544ed91eaa5c68accd86fa3e324e4a18fd6cf773759c558cfc9b405f56453d29f1259d262670be0146ac27f144af521edbfb40b8e7a11f45bde9c1032c9c45f846b922aacfa735ae700fae8d2d9ff30dbb93d11b78d05f2656d11f9c4ba7a9a1db5b72aec01d30475d19bfa8dbeff7e5a0b7ca8c0a8ebe4bda53c212477abe7d61627e8447b681994cfc80d846c81c9d7ffa28fd02dd7c980d7d9db62fc693c43936eb7a58bc5472ed684a650afb5d56c5fb21df4b41e39a720fc6cf1fa38338d6f2f8434fcbeb5af282a94f6b221b0cef1b397ba20283b7638c0e27571e6e29e7319b8fc7ee4fa80732c5686d3aa963a997b75de9cf63efd1495f406e2779eabda64f8ed9c7fae06bdaac6945d78cb8acf43f239d5ec51cc2bb4388736986e7b56930987acd76ec4444f672e0ed62f1c3e2ca35b72b6ca756fc351cabcf83779223c9bee324199e3c39efaf201f6325be0bc691f8771e157d88e606d75095329d8da356c7ff1cff9fac4964ed82f45a2da09250aefa6a1c672eac1e291eeaed5ac1baafe5afc487fa7f477ce8588b0f61cc30d908bc087c9597c6de2ef9cd2f0ae696e8ade578bbc67c459f8e15f31ee62a8a0b4ea257c8658e273b7fbf46f3a5c50cdefec3dfc863c08c2fa9715a438dd34074c3b2c669ade7c19b1055f3b26ee802980b3acadcd75acd21febe123fa9e9d7e7567f5dd277d7062fe235077c4e5b178d23e18c2f799e82f384c4c20a7c17d48f42175889ae4475f4669eb477eeb225ed44d102e0a9a4b136cce9b1c2989a9a9d4c086fc3c76819bf8f96819718c1442838a4e39257a3e41741769c921ce277cb38d5db7bd3c9df0473a96603577851bc73ceb45fe68e3bafdfb467474a3d4e56f34b621cd1ee9cc8f8f943dafc1eeeb954afc364af57bf9c5194b2982ae3c24efb861f4746eb88ebe6adaae64b874e32cc48cc3dabd86ec989b1bbfb05cf64b3de75d5964349fdf3b56ba7d7ae65f3f5afcce9326ef3e17821c60943b6f58dbddbcc552b738f6ec769251647e881d44f5c8bcf82af83c4246a7a38ed6b514b4af1cdfadd35d2046ff6b7f6a2fe7c996ed93d173c7fbc2abd86dc7e5d9ceadf4d2f9b8095d9f59805700a61bf5385175009fb0d9d99d553c7fa3ed0b43e07baac5cca02168b8b8917256a386c8bb1d775fe0a87521927b92b8e91d6e32418aba83dfe04b5e556fe3cdd7a95f1c1e775f01bb6fa2920ed89d5f13ed5e66e9316ebf055e9cd6bf355eb7f1b06525bae043357b8eeb1ca01eba0757e81fc4a8cb9dd3a17e53e2efc1a6189c3d096dfd0d2bf02c7aa613f6eaadf0106d1a39b88dcb812978cf077af29fbddbdf55b4d7ee324be8c914d8ab1e7335a4b05e7f5eb2f34f74189d356ea11b6d64f01e3692026b0be2907b99e5dde5e2bf399a8bb29d4477a67ee30795d9cea73ea5df280c5825343e7323e679977399dd0b9ed5db8d358cb03b337f32764ae4097fb3f5eaf9f8a1f5a4e9f59f3dfdcb877207eabd6bf8649cdace71bbc787a3587c3d2bcecfd866cfeee33db6561fec0626468b4ad2808dc64993996426339441fbcf68c17a26f5fefc77b2366de9663c5ecb1db395635b9d1c229d889830979fc5fdef0053d2f708421590311f4b3150780e4afb6da57924af57f9ad77ecdbf5ac35da8f8e8364e229e5dad0da3b4abcf4d5c549afb33b7361d75854d0c8435cf1d1782889e71f6b10e21be4bedd7fd1e2716dc2b2e34587b2df95686483000170d0c83b07f708565e04ab936b70ea16dce3e61cc305f155a7fa12b0ccf0efe1bf3fe5de0339c996fe1e0f4a1e5d3dabd9d7c540c2e7d2dbf08cbb73abf157e469587ca6bc4f3aee6ffdc8f6dd08e8d10adcd61e60a9ed88589e99a62649ba78323c7812b8b951a4b3b196ed702da7bbf5af818706d5c159f21be2c12317a5f95fea0268643bc7313f1ecacd4c0160eb05731164fc6f25addc682e8cdb65e2266aeac065e8cf3fce7fa8bc8f8cf4f5e22722ee6c9acf0de17b2e20e3cdbe23dafd6a21738b330e79d39d35887c439c1158cc100ed71a44f32cf6dd4b57cbb8ede498680a907d8eed7c7f5c470badcac7f266b269c8c5a737dc47b6a9618fbea38d69aebea63941fafe5e3d478857488a76f8133bcd83b10c7e1997512d6b013871dbf09c368bd332efe6099da66fee59ceb988bc6c51686276745e3f9e59e41b6ee2a312e6b2ba598b79db1e006c67971e6219b814fbddeb43adea55f292ab8fe3595c8c0f6b38e5df778eddec05d2772a0c65d41cfde8e7ed53182aab50a8d1863b2da2b090ff856bef5eb5870f6637d82bc4fcb59277473a7aeade91ee21ae598823d8cd69423f4bfbcc4900a193fc0e30ceb1e8d45150f1ff6f0a2947d5770fc001716ad57c66eabe2843773385af89a80fb62d19dd3ddb23f6a1c56cd7a3eebc67e667c52741e7f03cba075ef42fec9b57c8a2ae64fb977f576ecb49b355f8913387281c5709fbc63e6dbb196434f98055e81dd5a97136aec09f123bbdfafe9fe4e6217f6e99ad43816637c872c68d45976e48674e75214fa792127b01ecd7f39f2306bfac2a8dca3f2aeeeeba3fa69eb3e4d2772e1d708685d50b56e13d96d582ffd76ae4e0796bfa305d1245e6a8b555fd78ca5aa73fd8fe5aa3fb8ce39d1ff80fdb8c2e350f04224c6c1c7e758b54ed7ec476379907e9846e609ab22d65869036cdaeb3934668fe2aeb5e4aed5c79ee78e48d75f9ac3edbac651e25f89cb16eb2eacce4db3bea15ecf02f38c7563213e5e5b27f7e6ff306bfdb7b9c0e839d4c871bf4727adf38a5933c915967dbde7209b2273613e1a7de93e279aed35654abda6976079d8c9f06c0871e4cb1b962f91f2e31837f28a02474e79afb71c103d7ecff2192c8a7ae26e3db6a85d0bafe5b8c0394f74ba45a64b651e4b890550eaeb95bddda8dbadc4f1b1ae7b239ecbcc69074f7a2d9fcd6075c1ea7a6fc9f5be8147bb4ae19cbe823b41f75c138b9ec96921f3ad913ae379722bfe52703c298e0979234fee8ec9336c600bac8e6eb97e9db95672a4b6e6c426d83f0c3c5d523f70e405e85c685fb3b9c96f9427fd77e536d517efc22970920e9c827bb033be830fcd5d190b52c3bf6a1d8f89dc7ffea8f5e56feb07c1a99924a57d6cea5ca8ec6e621e54db91a33bcead76bea3228f9a62ea8eaa762dc9c5031d98e143bcaabf4e1a35cd37f38d139b605131bc1ed457f1b3beb6dae2584ae1fbe121e71cb8e3917c7d6dd64ed538660aece9ee9cb4fed115d03cc42747e7c4f90a73d32c57f9505f196fc6507cd3b9e5f063943772df71fe897174063876da3a1657f67891db023971f9972d6461ebf554476c8dabd2d8a4d2feacce782c3df72bd85515fca206361c920bf22a9c482a9dbf6e3db5b42d2b7e8aba0f6a6251bb7c1882ef54b393b52ea6931df97eb8fcf25eb953b3aea894c3862c9e00bb32b4930a5f40532edd91275ac1242be2c9cddc33acf333b9bcb19b385f5e328b9774dfe9f7e0ccf9353dac9d67e603e339d76cef155b5f83f5bab39d546d63fafd26c5b9676d7821c03f5f8fab7663da5918dbda0d690cfbf4bbd837741dd573231abf5fb50346d31bf2f154e8f5deb9907bf5f9fa4e3ef577f46ae2ef69b7115bf2ac99b607384e47fc6dc0b3c5c83a122ba7f1efd65a9f3aae0fb2a52bf140b6d667b7e8383f38ca470d3eafa535dbda50c7d6e4796a8c5bafe1fbfc79277f5bc1d57a9f2faae0ca6ce796ddd662d5afcffb2e9cf1c968519c91633ded6873d9cc6118e5cf68bc6fead121ce852f651a1d9ba63ed2a61b619f43c149d769abd3f3ddb1969a63cdd2f784f83caee7e3b6f86bc4ea9a025e26b1577043121f6875dd5fe7a55d13dc72c37a8990aca39cb76fd57ab3de1ad94e3dd8ff89d3f92cca498bce426306ef7fe73b36f0faa86d2f0ffb734d05bc2d25fc561d5aa1ab4fa48aef89b997dad6adf797be96fb7501740ed6793b6ec554d0d953dabf35ff439d7785c518b213317a6fe5f2223ab6299ea8ad3289c5b363c158613fbb0c35c117c2f9fa81e6d3b1963aa9cfa4b5335765189be751ad792ad7c358236ba247c7badc8b8d5a86a6bf21513b7ca3acfd5acc235b5324b0cfc1f8b6ac9ecdf89abbf2c128a7586bdef03d31a0f999e8dcdb7da86cc14fdae2b775aedbe62c4773e59d585b777676cc21c770ae430e945fd145cb7b0bdb2c191ea01e82e882cc73c389fcc0e8ec2df73236aedbe9db2cef1b6bfdc01bbdc46eb25cb9e7b6fad5bf2b5ed3f0455e8f4780ee76353efac8f086621ee564c67b68cded8a5a4be06a6530e2cae754b0f21e280f309af708d748e710cb246ba08c8977eac8d53165b1ff8a5a5869c8157c955b5cf3e48671992b8f73b7b8b154e25afea6dec8f6b7c3875ce9ef153b3ee76ed8e369c94953a9c76ddb4b4cbfe27bfad5e0a0a263f956f8d8abb20a74302a77d9b89596837e389662f14ebf58abeca0fa9b77f926cf57dbfb75f8892a32f49a5e8f31dfbaf5fad1b4d0eb6d6d53faee253b01be182c77eb7ed5abfa6aed8cc736e82088d7a6bff75ffbb7eaed0bbe74ea1b7c3b33eb8553bf9c513cf713e30cfb0fb060515fd95abea69fc0938711c6abcd6367b710aff89d3f95ddcb434d0f68f38743fe011b3b6bd1834eb6b904deaf15ae75bbe3b9e5990b7e0773f92fdf9a71b806bc615fb58d37f699ed5e907c49ddc49f3aa6c301cef33de3c3e39a38743d99fb665e40970fdb6ce4c4838f7481eb96505f5e890f5773cc19966137620eba39e4d652ff0c355252c04d1298bf4f5fea9f613d49d133d5a527497c7413838ee7d5d842a506acf9fb9eb5d5d8df6f634b0737d66aa9a3fc5ead8c727492f8c1311707a8bf947e157f1735a1d2afe3da9a1ec8f79982d623b2ad7a11dca3404efbefd6ea2868cda4b670e84face59727b573d43a2df13847cb59beaf63cb5ad5f09ce6414d6f3b8eb5fe966086906b3da616f550e30e2b6b788a757de6c97a5132e038ec816faad89f652d684e382d9dcc1586809939ee2d5af3a730f6786bccf0d88edf16c413f981ee17c0512c6215e6f0ec08f191c8893ab732bc13e9f301e92d6bf3e1aef7a7ed32ef97166399f08197f8a91b9663e3c9c3b32718b22b8b812f05c158e391fd71296d0bd55a9b4b6e2d618c6fd089ca3c84a67ff7fe396ec545b977cedb6cabbf770d74e7d115ebe0f6fb54743eaabbbbbd17f03d13798b6dbde11df2b60d17f61a8e6d9197efa4efb211e1fd7bda147f9bea973f5a7eb91afa2ebe4c4cf2bdf4ebe69e473a7edb9eaf719637e544f71cd5fd9931a3eb0d48dd67cbdc91fa8c8ef3d7dde5cf4aa88a053fc75f90c3bf2b07ef1d93e6de8d9eae603e1deb38348ed62d33901caae727b4c803ec4f6aafc16d5bdfd19579e9ccff2feae7eafd69dbf75a4b0ca94bc6bcf2c78fd129ac6058b7e8021dba2cfb9cad9718487f66f0fed4686dd9480e715d3639ab774c4c3eb6ad19ef25ab70d27cf7a36dbd9c1cb31f2d842075655cabc6e4e65ee75cd0fa3d2c93c1be25bf61d9c4f04db58c5b51cf47626f8b14eaebeface1c667592d07b80d5f5aeae41f6ca9ab2e73690afecea17283a7f37e6ce12bf8bfadf5506c2d70e1a790a3143db30393f826b6ddda38c4bfcbf5ea145caf8029bc77c382c73820f88898e715e7591f69dc0163b8e29c1bb347f07e6367b88a67aace3ddcc0fb55b8c976759c9ed5d65aa01bf5479bd58e172d8cf5b2bf726eb7d5ca103feeedfa1f3a3796e6b5d47ce01c19e0c7c4f39d7e87a716d9784e55b769c1e38ed28e586545a657f3472b78bc6d5cb5f137b86a010b99c14a2a6a47d5d00e17863a5c684a89f554602393dad62bd8c8dea5f93ec0a151c19e6c8f5990faa1ab5861de99e638576a84dbf39a1b7c490fadf57d6ae81cd93aba31c6a37ff2b46fd42541ae13adb168af0fa2ef3db70677d6083dd0f96fd4097957aefdbd5aa1e27e7125e5f98d7a21796e6421f62bf9c4de56322599a53ece57008e4e253c856b6b19bba077c0f7992bf4778e6c5cecb39201a6636f197b21fa3c3be3ef826c6df63fdf92e0ec98766869f9726e65e138541ecd33daef481f46cf5aa6705f12437dbb2b0f012bb8cc9910df497cc7b546dec1d2f6d14488fd893c40ed503f6fa5afbe1c7324dfe2ec807cc8a1defa2d3ef813597934792eb377e45f41ccf0f7b32f475ec1778e1c0bf83be380ff0dcef8df4d4efea57f5fc8bf1cf99727ff92fb23686f6df2bbb7380bbd9eba45fd43ff7a82c1a1cf36c8d24a9fc9b98ec684f8cf24d59fc8798adb24fd1dfd82b6d11ec67f4ff1df028fd634fedc7b09dc6dea5a5a7ef14d857c679cf0f5800f70742ef03beef7c880b63fb45c9a6be2fbf8f5f911fd4770537f7ec87cb03673ceede5893f7a79f66523fb909dd49557e9db2e77ad709a4c2efb9f96b6dfcf2fa9ab9c9f7f5ad6291a6bd197234499f6ca7d595876e1764d3e7004c39b9c373fdf12f5e08df2ddda749ed7bb97d8e9e5fff264ffd993fbbb8fd1327512e7d9178cd093e2673f8923c714c97dfcc931fd67d7fac57d20b9dacb7b8ea91ec6561ef8e63275f9d3177a966bfdbaa0df6d2b47e7c7b3db7be13de08955034f58093329772d79f139110687f798fb9cc33a8b9e18b9b63134749eae3237c4f8c3d3574e9c5b8bb236de2af522ec4b7e48d45065f66d0523e6c85c0f6716cb59bbd6b93dd657685e747fa073fc026c544b49215f6b378b21e7d0a0183401379154ceb1026e22049c4b72e9e72b8a7dd3ff74acf842645c9b0d9452ddb4cb8e1c874a0a18c335ee8e32a725126de3c059704d846458e4ac008fffe8cbe2d4edf9b117cd02e0a0875a84cd610ab822cfc7b5d98f1c2b983b6100fc958e6cc05936d92dbf7459ec3996fa6a5b33e0ab67c62eade5ae31f155ac57af81d31f3836537767c4cab6c0f96da96d277c202446ec9da3ccc3fcc15b57e86f6d6bb1770c24c754ff6394a3bd039c7af873f4e44afdc4eda9c3163f1037b6b26b362177e39d61cd4df401c62d40f32d1b0fba60035e05cd1198e80371aef372f5f7f8f96350d462ee7d89e4ee25c3cc37c10fc521fd7d81ae1b2df09c194ee08e8c7892f0812fcff6e3c106e93a0cee4f243a5d3cc3b5fc6a458ed19917b8c90c74e15562ec965670223e34710a7ea11263e24d787eb6f5c3d7f89ca5385faa7fb0ade5762d05a92988fe582b6263c1f4f5507e467aef689179e83de4a83de64fdf0faf498aad98cdf55f689e0386172e9b8f942757ca3ec7d674ef56704422e26feaa76ed28fbd2858e9ab1cd7550e3851d92dd158736beb5738197a4d6e018ef72743bbc12d301ef69fad617e199bea05e9b9b88d17cf1a4e3f01fb057092f7a279562fb6d94f7d397e74347456fa7b743ee3182f9cc1819bc41cd4d7250fe8fc9bccad03faee40702b6a3ce5e86c7f8138de5ba8124c7f0f7d9ffa721eb7f3012c9f99b59c2a615ee48b57da40ba1d701930bc04329547513891414ed5fa53ead8d56717d7a4c087c0e0bb55b808aafd2af0dc943038fa261f3a96fa5cb6c9ac5b4dc90a0ca3c43877bdb75df07a019742003e5273f6c9e2ca55efa57cd24a56e2b945ddfc09a372feeaf5d2c5bcaf9c23c39f50e5771831ebe1755fdac92d1c12784cf28c9d930f2db7e7d6e1c53096f3b7500d7c6bf9a584f94ae77f11cc47255b45f1481b2e1e955de13f95747eb9d2390ee612fb14954c1f18b281fa00188eaa381946e2bb303ca2b31fd74640ad39e798fc09f090f5fd6e2e2f533f7cc13ae28543f6d2973b5aa69ea46cbc4404db8ff9ee1ff5eb6dc089f7c2f9f6f48574b9f9368fd696bdc19ccb53767f1ed666ffe8580a732df937f4b2225f06b8d100cb694372fbd8bd51aef1edaf6c3d5a1edcd77d30d5f29273790b7f57d72b19c782b763fbabb6f60679f7da5281674409f30247f05ddf17dcb8ab82839a592f3aaee9afac1fcaab2e04a92f1b8091fb160f9a3c1d94734a5a88ef5ca02e07ab47b63692998b4c1bc483e5c0787b0babfc85ec352b2e981b973d89d983ddc7a135eee377d2b58168e95bf2bbd0bc5f5bf5f5a5a1ae96abc5a392c4474f30cebe6c446093b2b277309b6aabd9e42dacf817d867c93a3733565cfc0663cae6a156da71e60bded075de5895d789bc2f35da9be9bca12f57c69b3130b4b790d606429dccb9d92e3f378cd9501f182f4684c614d7fb22d9e227f5b155c5c9605ff75b32fbfe85a31c6ab89ea8e23366f5ce80b117afe10f868b44fcf2c14e189ed4de7453f46534dd788991fb667c76b49705c3a5b019cb01e78f5e2e6fe1f35789f99d5e26897876cecf29708094f1dfa19b60dca7b9366079a953d734be7c6b2132b5ea7ba8ed89a10e25aec6b687680c04c728b08fc4f71e778b0ba68d37e66e2c0934dfcd7a368303998bf4184b051fc43d580b1447b42bbfae3e4e188395626675e36d7b5c81eb292afa10720ca8ef69596097d6fd0a656e6d790d17b4f505f3b3507f5ca3fea516172ffa023a5d336faf891bbd30962f1677189a5a33a7af25a7abf08b39480fdfe5cfc08b0f36147e27bbea7bd9b7f2878d2abcc9688decd07a2bd680d488fbdee80bc609c53c8b336e6d39b151e461f6b15cba70c1d5dfcff911e74df968bfbea0b9f613635572c5463fd1fde05fb3884e20e5c7b19ea2fb90ee20385a40f0df1f48be8fd1c93f0d356e727c2afda29b4e6e61c60e135c218e9462fcf2d8b69c98f01c933d1231f9c395be62bf2bc103e8e6999da177391bc0a78fe46fc94bbf46e76acfe06a3efdc20658822f36a0f18a828bf6f6da6bcfeb6bd4ecb5afb1e3d270867abcfcd038c3e9c899ecc6892e6a8469ee7a138fa05caf4c0ef780c1a262e4550767053a8b3a72725919d0e0d72d6474ad46b82aa7ebb5c9f535beadb77b3777449d0ba0da8f728e6bdf17b8d195e796f23c873508ebbb135b9aa9db4dc08f0d9c40b7d60989cb1679f24a1855cfdf018d05a90bc0f015561ba40f104eff8d2b3c6c4a7ff74bb16ebc32efb1a32638e8e001c03ef9493c5374dec375c1b4d6d19a596b6bb95f804e8a650093af5991e7ad983b4927877dc1f1ea48e8aced472b21081c59ecad90bed1767f9d070bfb7282b5d9bf303ceac7b9f0f058df539344ec217d7ac9e44894f1a7e5b08e31c0622ca0f975b4eb710cc56cd43e5f68ed739b1c6538e20d6d55ecc1bafc795bacf8e1583f5cdaea25d6e6229cc8a7b4d9e796da43cae12e1b17bba7a6766244f62eaadcef111d87cef3849165b8668fb1d7c21a5625d490556aff68dd6ac1efae30588195b869fd39bb97cc3667a49e56aceed7739fb59f0a8e4ab866346de874633dbd767fe69735b53b3266812d0424275729f8eb3187f192b3cdd91ee7ac524ee415dd7349834b10afcdd80b1b3ca9257e79d7793118ae168638591a3417b51e7f62d67e73febf7ca11f7bd1adbafa9cc603534f8aebb553975aee7f72c7b955620574bd17ae793b32b6db7d9c5f8d77cc2f151dadce07700ef87accae658d16f5a9bfcd0ff61fe6f7226b6bdbb009a47e597762f653d7c4d803a4c631595b4125df7b5ccd29f9c07e0c55f7c1d702757fade7750d4ff5d851d3ca5d3f53fc37c8d3e8191cc11227b59235ddf05aee3dacd10e2ca3820b66f37bf510b8edd67a03a40fdca87fd8dea87f28f10364c012b81bebaacc59c0efb4b65e2a9ca3eb8ebae88eb384e8007d455b2d87c0d55d5b53143b89d46456d78866276e48f9e9976faeb08c21ce7e23e6e2e29c3c8c5b6af6d13b50db01eaa9199945f3fbee3ab7eab2c8d13ae410d293bb6410f151b15c5390f75df24cc5dd1c588041b62f6ab96fe87ccc5e49012bfa9a3e417c378d5c872b78edff83f20bea4809d61d9aafb312127ce22aafdad11544b67e33a8dbab940fa18a79d9f0e1d03aea0ae6658b8d8ce5d7b6598b5fb16fdab135a84e7ff92eb68bdbc86d7cf85b6b72cafaef00c67ad5c318484aa8125e5ce3e4800cafdbc857f8dd76751bab7fb18520764646e618a43d8a6f92c41703f50feb336df5ea45aed7a2888750dd1dea9fc03f3e960877199cbf43ce9787db35ae65c5f2e0d290856d73d82607eb677ae89df9c2173bd1944f74ae80aca9ebe1ddb934e5b9f0ca979f3bf8824bbdb58c9f8d813b95d1af3046d485f0b671d738c1aebc2bf59b000e1ffdbed4d9837add6f67fe72e94fe671ec12c7f35be7adeee76aabbbc3f56f2f441ec5c476364a5db363fde0d877c6c4a6064c3ea5f1fc210d63120f07ee5f35b40347ebff0be725443f6bfeda238ebb3cefebdf7bc2f0b8b696e97bb2c2dc0fc66aef6879dd36e8ade598735679eaf51abe60a60d43066e88d1023f0f72f522a83775ac0072c7283641693b417cf36723c78c9e9fc8de4ae20be0ec8d90fe671cbcd1b23f96cafc60dcee02cdf5437dae1de0be44df6f28d604593fcbac211baafe0bf60cde35ed468c19eef6909c8d8fb6793ad01ca531c345ee8ff2e7f168f10d1b0faf2f8a155cff9ee6e4dd61cf71f08e353ec1552d76750b67b8c456c01870ef3dd6064db989cc7f39729cac4de3ec5dd292677fc7da7c94f70ce936985bff5d50e3b53c14d6a6786eae89f6b8de879607de4efdf22fe9533137affb70920ccfc085bdfb4d3eb172ccca7821e8a3e271d1536388fb274dccf472eef305633bc3d952b1d5258c9d43b129e81cb0efb61082c04dfc18e349e65f6e4ccfaff40616e59d6d5a5c73dfd6d6028b0b48f9dcaecbe23c9e5b07b1cca7efcce5aa8f33cd39f8e968fda48aff57e54173347aedf2427108d9ef268457e906bf5eb94facfcf9bdc7414eff5bb22a38f4e89e6fb695c7356e51ce36e3a363295de77d00f95a8df618bfc7566ce8936f09703435ea9e5bef0fa356ac9b8e6b1fafe0cc827ff1fafd31c3bbc8ea274ddea142560c0317c97c9737c8fa1a5e90de6431f5a36c1cf046fd6843ae157af26e7672e5981b4bca4609a34eccd322e65be5014bafd9f0f89d3a6dc5577d10bf6a67e26fc2fd2af3196e60d4d01863814d2360bd16f7910fdc9d11b88463aecc7fe3688e05f8d21d5decf62d44386ebe5cf5574b037847bbdea388ef4fe4485412ac4b93f1f979e53e12c7cf870bc319beed169db6e432125f0d6336378cc5d3adf176c3df1b4f4bc0f903743cc19724030e0ca3a314b87fd5dcf92a9f27c7c403635c27c2438e7b1b6eaf46646fb316917d373bf1a5fe7e6d2ee331e8db37620155aea912b307fbc7a09d1aae5b115742bfe910f7ca194e97862ec7e4dd88f5980fe1b5acc983d181cd5d3bd8669fc7b1b54a1e5af881743d1abf4ce20703eb4325de6cf95d2756428d93958953f80d3f3fc1b1ff823a38b31fb8124f741e257d3b37c616d7dd57f18d8aeb3f464ced523810e7d682c500bf8acf74a51f0dbf7bdb7b147aa3953f2b0cc6cd75cc44ac0f2ae12944767a813db75bd6d623e464339c6137fdea4f63343f56dda65b1ced9e71069d7c5862e6e3770f8e632d7efe908298f28ab6c5d3dadbc8d938c300bdb3230c396755e00a3779065af2128ab881fc80745eec87c2d8fd0dff8a792e739940d6590bcce1a83f87347fed2d54b1df24547d82f55ef7ab75d8dc6dbc6a686cc867c27956f35bfc6cf815758ee6103c8ee5465c3faec5f4e366fe0f7d36d80c74ef478e89396f1dadcf70e11a996d91fab88b58697b0e75d7452cbb51c3487da3f30edf28e533c1f5466d7d21bfeb694c6af5f605c616f183d773e99dc2affd703b3746cff68ecec7757ebf1b6b281d434de4eaff787e8c1be6319c3f920d7c6b4d3fa0ea520cc8228e707b3de764cd5cc99981fd8cb972e372fe01cfbb5887d8875d5fb7d08f6fac3becf3ffe6ba4bd0f309976c6ded837f1ae782003ed584f8bab16e8b7351c9ef29b2010a4c46724e15b1fd662e469d77a9a847f1a59794e1fc69c89cb1c9e29e35e7d01f7225ffa1feabd46f485e5a113b6d707a57e223b7e290b46e92e5a36bd6be24ce9717b5d42c23bbf7cce58ace89ef21c303384267a583e638f6e5d5c6310e9c05b860a790e6b4b33e8ff16841b9d23bf22e8a77c89cae3a661c67f8e9bf421d734ae715ce6c89ac379d7fc2322de58a799761de1f8b6bd0fa905492f7ae5479e125ea43c11ce1e49c16cbef918d436b8b369defab14dcbf581f1cb37fbff234660d3a8a2f8b3aa90dd8a37def487de8cf4208625b38d0bcf4bdaee5dca42b965cf01d412e25e6a4abfaf938d6273b37567bf0d1d11c73d476a56602fd5da999009f28631737cfed6ede7991cda3a1fb726c967bc9d198bd54c890f8c65a59ba8ec1957e7d7a1f7f882d983ff85dacfa407ce01867f000e83b81dc73e365ea11ff79978d7a7f7e601e23b90cb55398bf2ff07ad370ac15b53be6583f30f1369095150cdd3a2ea6a3f5ffe50af1712c2961796692dc3683c43062c60f3598ed6db3bf6b89af56fcfa93a4ac472af8ec438687a336360c7755e0c8d55c11dad74abe309b2f021c4cacafacd0651bb1fadf880b644e7d3d9cfb6c9dcf13c67bc767668b7df030b1d8be611eb406976a33fe5860d3d77d6e6c4e021bdfa3675099738474bf1bb9465b1ed9a88077da56bfdde05afe162e452b1e3fce350b0b4c935a7e7f94d9e8fcefc69d003fcc5846bac5e0abc863b5726cd79e0bde64e04bc6d70529b529481f321be70b77f4214f91dc5476542e57fc90f1f876fe7f6a0a863fb6967bf029cbf06c88b12ca16e46d9ab5cff4b91f9d897832f477a39da261f3bd2af503d1fe2f1d90bd573f484f12c36e9c7ff055813a6c58b93117966d47fd157ab1bcf7b995578714bdbf0c67db5b9d8b1cfc5bea95b7d5547957bcce5aabfc279c6377875c3fe9567176704cce3ad3e68bd4e6c0ee01ad50d4ed4c20ecc04b9c62f1a1f6696d67fadd8275b7edc71ddd1c57c3ad9da9c357cefedbc4de45e9db726837d3bde82c5e13d3df044c022207ec4c970df527be9fb93d192237b4e734c7ff83efab557c2e0fd63987bde390ebd337f727b2f60bf5ac35c1f034e017036c4fe2bf1210df6a51e22e54f5eb53eabc01c636bc828b7f6442ef4a1472554325f360ee87e5f5e3daa977aad5af93eca0830112af5a58dda361a2bda3e3c4f8465ea6f1f9ed7afd3b6f60e6bd9081c19e972e8dacda55927575e8beb5d957fcc25115d53fcab42aca15f70286961bfc6179d3f95bae03e1c8f88dceae585de5eadc154911d9dfaaffc13e4e9e87b8c55adc1fa2fe6450973455b2d07cbd5c3630d4384bd066ac9de4206b3a4b23e708e1afdbde57e558f67c355bc1c2e5ff7e1daec5f1c4be51c730139f89e2c9eb0cda9640b2e57175cf658e164669f456ac834e86f95d3806d87f1273fb2766fb3bdaa0f9cd68e91ba8a46bbfa4a34569c315dae86261a5392c7437cc1b5f7de7199db6bc63f481e61e66e2b75676965ef22dddf7a39b9a3a8c059f2129f2758a610e34667f387f920fad269efe87c3ad62ab551a24eced702275b0b8e93ddcbd9ed2dbfe0bcd5c02e67efa9db08a28375ac0f6fa47ef9b2f8615df863890d1c1dc9f7607b30fa71f09dbc97aa5e86eca54df17e6c3c0deb6a487f1d74e61337e2d4ad39f5383fc32bf3b8900d85db2c7223d5cbc42af7ad121e8077d76ef1e775ca5fb626c22a3f377c4c35dd8f9163a97979f1d9da8a0f2d0fb06fb9735ca98ffceefc1f9a23d5916f826c3e1cff9314662ff07bc71c46680f75e5bdbc557304d8bc6e3ce67a16327dafd8d4604bcb2bb1c09368e60456f2eebfd16fcae184731ea47b727106f5bedf5acbf7c423b6744d83dfb73db61abbbb25793ef8768fc85e246bf42fcffb04fb28027fb43c63ec30c0124a0bac8ad192bb626bfe638a6356b5f10be249927eadcd87bd122aa0d3ae3b70a36e72625fb53b56b7f1f018393fd6f2e35c53bfec248ded5e1553ce7f153952c34dec0ee3badd315a10bbc360631929b53b3a78013afb36013ba603130f3d0b6a4037a16f429ba99b1851d56632c02f78a50679a727cf1bd734b8b52c468a0cd865912229bb716ff1a99e95dd583fc4666fe903c728c1f218cb51466abe5caae31b91a1adb878ae8737f4ecede238d31e2eedfaf5e2965d11fba36fdb22a3bf608b3067f6f76d91b5b564edada111016fdb1dcfaeeb17ed761bd6ff6e8cb7dce73e2cde473adf87168cdbec9125cf896eaf039fb2819f06d73770d6dcdea281e306b640d2ffc2b18b3cb57bddf2b1eddeb9b1cf3afb456d1279c8cd359562295fbc11e07b70b53a3d64e304fe90cbdcd1427c17486eceeb3e9f4a39c5847c549221efcbcfe16444f9cdf68073eaed2af7943eda90b9b7f4176494c3aa1ddf6491a2367dab3116ad58039538d5a5894dcfd4d61798ec657e1a172e2271606a98f3b4c4275cfda4f8ee6f658d6ec121d7389771dd4f5ce1ab2e72009a5caa0587d759d94c927ee0873c60d54d24e5b3c15757f0a767a122f5b3b535e3262660e59d2666cc392697211debfa339667b7f78239b9f03d4cdd6e91c7259a7c895940eff72ebc6bb5e4d2537e935aed2d5d67942f559c4aed3c2d8db9a07c2d94bb01635b54d7ed15de6837ec83ae6d0b063a4bb90a5ffc4e8d9d9d1a7be84c64ea76bd44dc3ae04fbc0f27c14b8c0478acae7354953ed1723c4a9db7c4ca6c19833ee5cdfaa914f971ca23d8c1c447ab84701e634c9c6d9907c7f009d23df7d3a139abccbaa06719e423b1ed42dcfce1671b4781218ba7b1143d4e4bdece3267d038f84c4d365eabb5b5d4e0dd65f7cfb0c6d5216dd2c9f07730c683e6de0b23d0c9ea1c59ac2d69eb942fa5ccb569f0e8925a5c9bead6d7fa120601c495a86c1a4d4592cbd08da58c39f12f931dc64ffe18e5974981bd48b1c6fa6e3d87db14fafe588a8e3e9a1f21ca6c831799730d6ac9917de6247106f95b57f68f3f027edb8bdb53b9fa75939a6f1b6c2bd370a7439eb4df9d17e84bfd0f9a038af405df9a213dd19d0e39889b316be6e88d8ccb5a0a62f332f419eec24ecef6dfe13da76bd1ebbdf43b39f629defea0c26d08f547d80f427e1fcd4eef5a2bdf5b975c1c7671a917674b13d385e6d5d5db2cf760ed1e467657b10dcab83839bfebd80775de1cfc7b2d3f17f069eafb89728893339ec1880f0adf9c3b5a644a42e3e1d5fc653574b8796ff1f8de837558726336f276170c0766974dc35e53d869a903f8fed4f620f556ab7830968775dc8e3dc3e1954e1264872a7b8c114bf3454a8e2f259c8663c160f61ec90f59cdf68e39fb2cf17b86dc64b440fa125a3365dec190e5ccbd511bd475a6107d655ee78c1854f893778e11cf291edd9573883e63e5f65e9afd2cd7c7b7fbdae0661ae5cf846fe7605b9b164e8d7e5da7c89c5b580af567486c8e353957ffc23b54c7bbc047a5588ca4ddb47b0cc0b7a17e21bb14e9be0bc23db5827db1490bd94fea4a0abde63a1e48732d499b92434468d406b07aca8ee172a4e3bc07dbbfa95fd0fb3f1dad723f5957cbf27ebd82c1549f47c8bf2e303d6a3ada7ccbb3bc3d05ce0ede73cb8bd96be81c057ee7441ffa65fd624de601376fc47015e2df31976954c1266ad47c327cbef386fe3c43671ad36ee5fb7f4ca5b8eeeb6ab45bc871c2b7c7e603602c873287c3bdf08d7380c10efd9a68dc1383c555d7dbd9facc724c05d18777db36dbc6bf5d8debb6dcf3fc3935f8e78fd1e299be73a10bf087af313ae7b51267878c47e0cbab7de32ce30f5f96168b1f24878cb9b61927e81a5f8bb5e5f218384bf55aed7b457fec5f3c394f7d69134e24a55597ace4cacbab4f8627809cb15ca89e0fdcf8ec859676da8d05b806b0c2e71af523a9bedac33c8f359cb1167c60065ba3c1b9afbe80ae5ce6ad644a18a5632d7a72c31a6fe048fdf264e0213e00b63af08f06c75a7e3cf0013a109b42efefa46e52ff9ee75cc1df610ef82ad7101d7fd0b3c2cedfd2b7103db7524b4bd6eb0afc8f45ade2688a9e7db42d3babdbc24a18613e01d0d1589bfad7d1851c2b7ee72522ef497ceacbc6015d5f8d5b103981f439f9019d95678c6d44db3b6d2609d4671e9c9efae55bbfc231e1a106acac642850dbba56bb5ee9cfb5e776719ab6d9ca2c972eb3178e4d1db78b979e9e8938f7b9ae5bff163f51a947961c15f7da1f521ffbd13918e3638145baab8e11ce45bc923fc9d69a54b96789bf7dd568ef03f31db7f01454654bb52e86c6559a764f17cf521bbf4bcd1ec1f80b15ec407adf55be9946ce33e0d969951c9eaa2f457ef84b7c326efc77f0c9f4814f06d700a1f578dafb12c174181ea83fd75c1aaaaeadc4b71bfee470263df093ed34acf8b38b31b9e507cea91f98fbd01ab8492c9ff9710cfc13c3a8690b563963eaf11764278f477f89476d670ab82e1aad97d2af0b1c34450e648963be3a4cf4acac4da96158421e967ee0bbf2db0a7e92303f969c2f38ced1925f13f8434ef4adfbfde4b6b5f4275135df746e195c47dbbfc947829f334767c5c8e8d8e7051f49548b03029f892f0fc389ec34e2d52c3703e013b470a3ceade57dbec57bf1feb42627700d0b87d1412bb61f9c677a22468e46f0f7a1868113e72b8ca1b35ce5437d053198379d5b0e3bf01a2b1cdb555c2446aeb6c7eaafdc4bf1648d0874169a738fceff760e2ff6fdea757d1d3a428c74f1fb7c7ecdfe622e2fc6afa7c4c614fb4d599e09e3f94352e73aae9da8f048cccfca3f14394f95d787cda41cab4725ec17face9bf0208e6bb9a148ef5c0bc68bb7538377ad8abfb0c6e7ebd101dcb4283585878a1df461c11acada7119376c6e13679b4a38191dce0ec68889a8defcd6584f4b71ace5e7ae36595cedce3693be48ecc30687a01b56708bb27bb8de99ebcf63ed1478e1359c233b51ccd3716dcd8a58e18ae21ac8463496a2f45d1860bc0ef39abeadec6d2d4aebfe35b0259b6b345b53ecc9517b7da6d381ab55cb2fbb324f8bfa1ca557e7a8c0361f861d7ae2f1436bc119aae26936b0da2afb92b976adc5e29bb0fad966ef41be54558e65be163dfa90e37b0b97b7f28e55bece9679c07904cbc00eaff86e47b7ecccbccaab4b623fb6ceed152c030c9dd498b332400ded50e74e14eb0ce430e670149b3c9a8065b63c3b901352ca88b19e36b9de40066cc279f892adb55fff5024e67a0dcb3defc2a3bd16d4f79bad75e1dbe559778e6c74b47a158ef95757e04fae6c700ef0140d3237a4b87a8344dd4de9589dbf8b756537d6e0e01a2619e68993174763a8bee8f14c3506f15c8fc5a11e2d32173863791eea708c4aff87c8b6f54a6ec36c4cfd865defa937ea800b6e26642b3431771a7d66e6b4f075d5eb602bd87705a684a4a03966ed7024a3f8cabc1bd9c9022e41a77166d46b5d2af6afa4828c2135a74d6c1ec28d3626f5a75d98af3476816c878934c8c7168fe47d83c3b7d30e67fad18a11c4f4e31af66cad1fa7b19647e06f4cf22fff1c7048e7afd98a5b8a4352e6b501bf5ffdbac091177b5aa30bedd475b1a4568b5afdbd5ecfdc9ccf1223aece5dddc0eb667c3ac5dc3b6110d0f305c7f2ebfea4c115ce66266f80f25e6a4dce6164d376cde187b5c0f8bed5ba9fc04be260621a0f1e603c209def144ca558047cdf70f33f6d9367c00d5fc933c3e703965fad7532e027626d79728e5eaf8fb99993061cabbf979326ac684e1aaeb16173d2468bbf2527ed373955d13e2663c5079e1c8513c977c9dfd47f282a30e6aa3f915e5a7e7b49b19d7bda501b98e2bccc3515f47c25e6762d392268cf9d1dd0a59685be07b56bbb2e5b95ee8d369fcaa9e01e68b583437857b1bbed26df26d897753bd8749a76306efbb77939d173e6e69243b6ec0d3b78db6e078b81d75b646bc811ab70288525279592d996c1b902ae03aef06a155c5c653df08796effc57fe89addb7b0b07a7893ce47d1963aee0bf29c7d1ea341d71997b6f7e58dd5678e5190c81a296b69e330f35c00e834b53d4e43763e6b13fc853afb78cddc4387b67a4afd2fced45579e3fc562e8c469c138bcd5b836c51faa70e0ee965f365afbd47778cb4eaee9ee8ab9ba6e0795f1c31a4606cbd3d05afbd9ea87c0b53d33e07a029fbf549eaf25e77b03739ab1f5aa7e62aac7d031c1f832109fefbc079d552c86edbdf60b3ee7fd636ddce1594cfd68b16e49ad3cbb762e904f4e71452ab20ae31ad13ad50fadde2e5eff632daed477778e6dc9a7416c7c259dc8305e80d9d7ba366eb549e60bdb8e70b6dd5a03a57df44d9dbfcdff72db07740dfff6e13afe6d11fb5d6d40ffc0714698c7fa7a6463c39d6b8c8d5f14fa617b5d3bb3af4bfc29665f7f674ffb12ac9bab9c114c0cf40b78506fd9d777c980ae35c3f005947beeb66c60d62f3d6f5bb1bd183f68c953436be096a927f0a9d79b522e33747ed531bcdb397a58ff6a51033dbcf8d25df95e058f17eb4b60b9bcaed57014388cb59cf1f6354ffdf277e17874e25d28c57afb0eee05c961aa9f8137fcd8f7ec63467f8cd6d6ecb0b66697eabe3815b110b46e5d33a65c8d30c70d4efe5a8d202367d31293a26ded37727b1b32fb96bc2ce56fcd16acaedd123b5e6a7017e2754b30df6fc99efa99c8e0247cb473aac42c27cef7790cd8f7d05bf1b33faa5884ddfe19f0655df1cfb8a57f262efc3375b954d789efe3ed6a7c57f0318d3a7479bd1b5795d6b3357998379df1386c5fe4e9dcacdb9564feb13d9f7e8c4e7b64af3a96b729de456aafd1c2b5676d780e20cbb235b261a4922fb77aefff2496435070b0fdc763c1587eddaa8bda576ba9eeaec1daa1fbbaf10d0a3b4a74ef8e9516f734eb8aac665d119591bf5b5b44ef9f9b336e22f39db622da170b338fbddd425c4b488f5179e0ddddf207f84d189e31dfcc49f4cfe8f7d9972be781379ac5f3d502e92983c2dfb5e51fd03d185ff3247ae0ff296afda07eca97fa3a93c320fa167cb722f6367c8675fdca1f0053292e700a440d9d6bb1c1adcd93e848f99cec95625dafc077669cfd51b4f7a55368f162ec71fc177013684a86f6ac3b32c016fdd06271ac454f52f8fca59c5f2e6ecf38db8231b3ad9713b23f0c439dce4df5cbed2dd1be0a3ca97f589b0fc735f0e60d4f3ffef891ae3fdf77871f7ffeef1ff368f3e3cf1f3ffef8315b27efe8d3bffffdc78f4d78088eee3fbd7df2f373bf8fc2f7ffda85bbedfae767f45fc931fff3a7bbdf1f7eaeb3ecfd90fd3c7cfddc663ffdf56794ecfdf77f26e1ee9fdb0cb51cee3ef6e85ffffdb00e63f86a879f51bff88f1f597879fff1e7d3d3c31f3fd00f3ffe7c1038f8f8df87106e113881ff2f5ef82fe14917f83f7bcf7ff2fc3f9fb8de3fb8e73f39eec71f3fc2ecbffdf0f3c79f1feb387bffe3477686e7bdbe7ffdf8937f7c7a7a1284de1f3fa6d074afc73f3ffff1631687bbe8c79ffc1f3f94ddfec79f02f7f0c8f5f8fe1f3f56a1ffe3cf3ec7fff143469f5047963e6a88fbe3c77cedffb7b7d9ff37f7e3cfff8ffb03feffbffef8f10b75324bdf3df44c0dfdc33f3e70cf5c5f4437cf32f8a62f3ef28f1cc7fdfb8f1fd3d6eb1f794110797afd13d7e3e07ffffee387d4d93e2f16ed3f3c3c893deea1ffef3f7ebc849f87e09bcfd0ca197889f75e94fdf8f3197d8cf0d43c70e2e31f3f86f17a93c140c8ef3bf87792a1a5041f17e4231a98fff56fb48c82f74f980534313f7eaeb2f7cfeca7bfdf6df2e3eefcf3b4ff8cb274edbdfffc8cc8c262d7d58f3f7e2849baff3cccd787a0b2428bdf5ff71efe415f7f6ede0ff8f372bf279fa6eb8317fcf873778ce33f7e688775fc5e2c0ff86bf9becef63b7cadbc1f86f17b46afc64f2efe7c7d4f8bcffa7b76a85d8dbeaadd31ddfb47f4bcfffd8374fffa8e82de86bb1f7f1e3e8fef7fdc3f60d0f3e9debf737837fb7f267b1f6e32de3fb310de9eff27ff089b3e859e528970b3c36436ee9005fffee387bf3eac7ffcf9036bf48bcd7230d4345e9ce9dc7238d7d4c8b6d44f25cca7daca578c61f17d4651641686b1d2cbeb0b46766d60cc963a17ae47c6ce3df33bc7343e1d59dc025b3be78ff481f1a1afc4c1d2988ae699de770a812900506d72ccde1e73d56c9a12c11b579255228f14cd73213a5a15257122f3c1fb2b1f1799d012974fe47efc8e2b110b34d139ba0e103ff16f056aae94e5632d3f3a56c07d6841e08d5eb27763b947da7d0ded4b54f45fe9bb90c7bef4c255b204da19efbee6c672bee4fce9d2c0e3b8828a8159e69bcbd83b07992bcc02770859bc812360d6180d3273033cce5a94ce85fccb1686d9aab7fcf292e18e44e7545f360ee3e15259026be33e040fec59796a8f8ae168139a075b1033b7a7149ef489a67cbae7287365716b9bb9eecbe2d936fd1823674076ebde1804437db5cad075b42218d8472f22538555456ea0cf714d117bfa76ad51a1ad2be45f5ec81f5c61192b61fe35d6f2f86394c3d8604dab7f76ccfccb064f069782179fad18319711ce9a588205e66016c470391067055bcd00ddbf449a6ce6e8dc3fde0576eefcb864a95a4aefab381a4bea0e3d63622e032fc98a7740562a4154aa6b5699632d368ecedf33a799ff5a4439f6c6401c2db97c6871fc7c3930f489bc4adf9a737ea9cff964585b5bfc81431a2846c289576b649d699b608ab3f79efe131ac8fbee9fd9fbfad30bee52411a57531d44e8f7b9ef29210f7fbb1222fee79490e787c7dec3b370b712f2f03d25e451e48467e1e9e15b4ac8434d09c153f0ffb490ffa785fc152da4b1c34b35444546a1f6024e07bbb7d8bd9d83bac30682a18a1c1fbd91c1dd4ac253cf332ca2ad596c5bea762df1a9bb7be17dc94bdf685b2335f67a46e68fa6370ab8373b45f02357981e3cc108bc64b69f58c5bdbbb18ec53b38a57992ccf1ca73dece88a504f71717b360a77b49c4a2ec550103aaa9e73c7593981beb07d24f288ec1c9798c23752cf99f8e15f39ee465b42f63bd0a7e06ed4050a27ff22dc699dd3c067704ac7c3791e3e3da5ae0a3c584c2bfd41b2df6ea59fc97771671a1cc40ed4f74fb6c6fa727db9c5edef4c1d135e3e324492fea397a72653170a0d8303ef9d2663711d2cb447032c70a2e8e393cdbc2e6609b0b6e260c78471fc68e5618c1bb49cd314bd5d2b5d98f1c2b7875124f7cef71c5f7e00c338cb3fbca8513c138227584cc334eb84ff8d40dfbfff204f1a86c52a212ce12e7dc47f328be0b71f416faa923799993c4b12b2f1ecdb34f40a6bd4c150a80aa9da5e517a4f6387aeaaa3d0ccaa59e4fbbf5488d9dd0cbd41e254ef3fdc988abf57d232e933c7e1fd2fef5b75e62408223f36ee95b59345aa8cc2b32bf1a6987b4f7042ac36ef6e58601bcab61a95965fc647082a7efd819ce14e3075f76b217e7bb032d5e40ea47bc46ea0e4ffa37888f8e6c3c6047355c9fbef538f6bf31ab96176b508a9f7c484e5cedbdc4b8f866ce79e77eb2b6d48b3f98edd7661e6107d38c7747cb0b93f8867f2bf7e2d149e2b3d75bbe42c194143d7d2cd2d40937015dcf7e32cc7cb3024050b6db59e01304de99dfafade54509a14db267c918cb31e75df8dbe352acb380ee53c13673ded14ef994248457da3c17205fcfd34a6252f9bedd41dae1656206a93f9a8663fd204abb8e7b8aa042e57a009058cb626f4512fd21696ea4f29020557def627f8f47f47da19d6c2dc7dc5cefefd7565930007d490a79cc39260fa01f38080d01f1054e505c00880e928363eb90407234d91b9e6094f22a7c21f22150d0fc8cad032697905ea030af6a4a1100462630ac0a79aa9ea38c82c5e3e2c582309caca34ab11ad9830603e2e65f3c797854cf513a19cd783b82c0c9efb6c5bb92978ef543015a8fccc74509407f41e71424b608f47d90fc3f5caae33f738b718ab9cceb19215ed7d113f4cb2a0032609cd0bcd062e54206a1eb74fe567fb3b5e6a593112142c4458b05d9232550ae985584a48f015cdf79bd97c00da1e8e8e29b2aaccddf6dcb374fbbb1163d9139c584920c68a012177b21bc3e86d3bbc64d4af03a660b09f1d871ff4072a6d877b5f7c0eb237afad06251620927e57a9f5e0247302e0550167bc6e13e8926cfe1823099ea27e89ed5c615ec0d00355853560f42e32ade18c7d09581a0faff67ef4dda9365ba76e11ff40c02a8b96498a0f4284acf4c200604943ba082bffe3b6a55d1d9e4badf67bffbf8267b14a334d5ae5aed79a273bff93271a1ab9af3d710e91fad5c167edf5fd27175f59c69a220f3d1a4f1b3fec77b428ea1b097b1cf9128cf9e26cde64857f84e944d11ab79dcf88ec742bf8d191447af99e5c33a20bfe37d6656f1f3e78e75379766491fa482cb2171a69b93b6b8fc718c60bc89eeb82d82a39da1730900463b101b72cd84527ad7145e57f7e7a69fdb94c7c43881f3a8c199190aec3964da424b1e9d695724077d6376d93590b80609a06d206d700f900744a27db3817815ceb72e9833b80e7d3fd4158fbebb55908ea488abc66b6a4872f472fe80de87dbf87d0a27f24141632cd86745f0b348589d701be45bf73d9c679f686d66ba391bb61d743000c93c6e4fbe333ded90ee72a0fe0345c4821c7b4c89bf0370a61506cc1ce933a480949c0b0153676a5e5ffc26ce70022cda7fe97ddfa020d36256cdcefda49ef52f106c4a1289bebaf8ab8cbc119d18e9fbed670816f9ae84cfd5c1f79ebb9a05b9c6fa395fa2710f493bd4e3aaf16ef42dccb5febb9c3d83eebca0fbf6ddaa07c2ca8735d9b61dcd37767dfd5f71e31cfe397ffd34ffca8733beb475e0ccd9e99ff7ffbf3d38f4ffae0767366bbd25d329c34e688a9dffdff2e0d0efb3d96cce50ff471e1c3207ad0b87c6fffc3f27ceff73e2fc0f9d38e32dde7b70d4e6144b02495d303e19ad99d2ea61f9bde73e4e5e937e1b99f6bdcd593a80f43490d071906fbe83c9f6e4bbd237a4479200013a5924f1fabd239e1d35671bbf61a1341e9d301277ba70093f4ab551812a4ba643c6fac610062b4a3a942f2012da30be97bf801fab02664b23cdd377e36b3091a9f0c63ef98ece86c11d7db239f9c635d6b8f4fd291dae639d876511a3928e650b932093d48a149ddc75e4648def6adf9ef1d95aa7df1193513bee3396069a1bb26a07e96ce89decfa88ffdec3364843c8e67bd8aa1b81a91a9ec04b0d52e7a5e3c84b97ac2703e802511ac0e44759c40fe0f12d3657458d8db8b6d4a83e02fd4f5ec7d1827d9d32c5cdf240e0a90e0e01f529ff854a1628875631d2fc205067c4816bd498b2075384d321f35dee4c4cb9842c7a93f1cae040ffd91bf54577a6433ab0323ad0675c8ec54e820cf5e7330b8fdb992a2cd928195291d5a5ee2c5b58943695a450c5940598bbd76961bfc2b64bf98c0e1c390b93217cde675b3e0a69557ba39efe423b4420c701562b23e57b641d45acbab4d80d78c45a4da33ee86e854b1392e555455ad3ed146b5c7d0e98d9c137c9e7360d06fd2f8e03b51ede8b659742284ae50e8dad119f756736df2fade2859541b499b6c46a8eb5fd050d7b1b436548df3b67faed35e909cda13391a3bd583f818687f2bf87f2c0304971e9e303a56cdca802b24ea667a020e11eac9b8b725776f9e0c112e6c57e300f9218de4141019417d03cfb46994887d30bd904a5c2af68dd339d01d84f528e6415ae5bcf0732ec7df01c0233e1b1d2413baf8c692d25b579b756ee02e990ae6742ca570e1ee1936fd494e28ee738e4e2ac2f4da162c9b17239915b4f5782e6e80ee21eedb1096a6f5ff2c257e87f39f1e22ff43cc3cba10c10200d002ae1bc17af57ecb5427decf6c21d4ca477d5714a73a5611abb4c7169e8836e6ba3721bddadfec1defdf4dd4fea3185e9a13055a1854b3b5d55717bd9b872e3b9e94bb8f2b019512a147be33105f1d51ab8bf779d5b736d81e9a11dc66a619fc9f8c511865c5805be4db3aa88e4586c0235fcadb8972d6dc990a9e674862c5be5059daa8264a33992b7005fd5caf136c51960071dfeb05b3cbcabbbd76a535b0974bf0f299b741c8eef393f498905ebd99a6cc112b49a59e5b91f2d55cbe3193f906dfdb95003242d49ddc6678cf9321d93c00b0ec6b0896fd8baaa671de5992b1f098ce40da79ffa45785cbd2e896c4b4ddde5498334e43a0e27afa1eedb74e0d0f8ae3478becdf8cef46fd7df8fd531cced6b37e6a375570fe1b44e3891c56ac8185d7ce1af6dfb6fdff51d71dd7bb2d07cb93e0935459b98539f75a3ca9426cef4c5c75bb4385d476bf3499bb4c51597071f6a4aa72bb27766916b16818bc7f4ecbf4ecb6dd741e3bb3e39b3b723fa90d15e71a912bc868b8256c5d5253c6ede419f99c8942aaeae64cd210b1f7f76a912ed892f719b05f986b51a28d7ecfe7f0af701eb785a86495da8c2bcf44c7a4055b40a349e9eef812e5e6335a3a675876f7ca2ff0d220d65b0a062cdc41ef761b9e550bfc0d0d557d633ea78f41cbabaa13305e92d6153febc2c2311f8f95ea04e1ea6218f75b76215a3be81bc86672f09ac797d530daa584fb479645637a5290b0c69669701b76415c162877bcd99ac22c5c8724cf7dcca7389058a5b03d270316412cdee096d7c2ee7cb5837e906a822392f0f132f5778edbc73579b40e08b206dcfc7b8c134d3294b643bbaa685d169142305c843dde103a03eb8d1703e3db9f6ac986ce09a45b1176b53cdb39b25d4f1ce99b5badf2948d2b7e05020bdb200da49019ec90ed6c429e0ea8b2a4a8562164cc064a9b4f8e8fae1a1fe9a346ad3e0fce05995d72019cd7766a92256d99788eca8ed659d747643a23471ae50741c09dfe730e7917e5f610f9c9c615a38eba4d2f55265c212e8ef85ec66e576ec8be9bb647e943ef6303e9c634fed1590bb483f64aff7b211f53da43f4bcfc9ceed99f2a8bf631b4215a67d3f8defd8477a4d56b5250cdfedfdae01102a975ef6a740112a1918561afdbf17afaff4ea5370a099f65e80001feff3163ae28ede3c456bacd5efcf8a49b1ba732da07f945d85e276f6b7fe11a856c86090046b403dbd1c504f7fb2aa10950123c7c1d2663ce7fa7e2f6701628641fdacff04907066bd47983e08ebe82e05302baa00518c87fb3bd883a46e74f303472c41ff227074c2941de86d7fc2437d5e4fa41fa5c9200aab9998ba958c4586747055944adfae1ad7480bef28679e53b52539b08fc384ec6327cb156e5913f80ea2c3da41985148e6c1b314234bc2dc8e77b75ef6439f1cfec7b7f826ccf9d9dd1897d1804215e98a0e4dddeb5cb10e3a6a7c553afa6dd4e7f4cd027a04f908946eafca5e4c36f06deadd07f8a1b6ddd3d28772ff19ab0ad9f999aed8cdd79d3d869ead3754bdced3761c5ba818a43381cef6ac8f03b84074565283b313cd25b26bb301e46fa3a33d95943f8a63073ba3fc7189cd342a3befaea70b55b0d1fa6b7cf7e3c5baebe186c303d08014e8bdc16d98605bc7bac19fd74c3a0f6e5581e4bd84ec08bb2ad0f58ab164756799cb47a987f767b26878d6874798efebe318d41d04343923590dbdaf8b3e7fc0fe27b6e2681d07b7ba593373b48e5b1a2eb021d1fa0b68aa0c9afaac18789fb7d141c5acb2405c659200fdbeb47bb73fbb523682f6b3113aaf036c5fc6c4cf70da8d647788ce4a34bef4ced9bc6b467d8bdc4ff023ad8f198bced957be006b92555ece9648ce811e9155e697432701733defdc6d16e63c154ce44877b7417bad9a6794efca7124b0685f969d7ecec95cc0b04081262d5b9beab3f5797c6f07761e59d3df5ba028efa8493b59dc9e0112bf9a058e7c0938e91c4e3e4b64374ac947a2184ff47766160ce53ad001367224652013a880aa2f1163371b86bf91724cb2b7c73a535fa268953e572768fc77467d5205aff49b7aa28a561970b5a52eb5d2336a5e15bd326cea832aa6a575a39290c9debff23a9392b25672b07b979ebbcd54f103e896073e911fb4c6c3037555058a8d1c0bd94d53ddb533854bcb8d49d34023bd9cb6bf2d7fb7b12dc88a005d05e9695c5a6a2255eec0070590cc7ac4cc365006e5cad4975113ffda12e02283c947692e7a5f9631f86cded0670221ca7fb04f643fd6ab88acd490dc70ac013ce8741e1eaa73aba3f9767576b1bcefcfabc139ad9a481f915829c7b406beb39df7d04adb398e82ade618fe0367baed318cc73510f8d91ed3ce360153dff6c236f373bbd90b3dece35e203077c7ba08193a0e21f19bbdee059a0ec46d110a75b617d8abefcce6e8ccf005f61c88d9bcf39b427b569710e084ea956ec881cbd753edf019bae236744539748559e80a7e2425b5ac1bd249bf15a1cbd7a143d7a12f2c2b3f5d56db8cfea31957666f483fa65126faa426d7cc46cfd8f355e88a61e5ba75e066d7ab6ad7e1d722ca5d23fd9192dad50d3974f9325128ea474a4e2729a964a5910a65317f97926aa534d23f0a5ffee326dbb9e4ce22fd4615ddf78bf9bbdc7c77ed538fe81da81dd7a36ba4ff2846347739e984ae43bfbbdc6c0eed83cfe85c3d152e27cf154efa318c32518c6cae90fe28e83986546e0f54b24ebe138542ed4df1bbb8ef93c2854f9f2bd354a124e971cf5f1385fb7e5be3f69cf77cf505d7f2d704da665f13c5bd3e7d86c265684e22d7bd260a1da2f7fea3b8d7b39264a1cb411bcbcd0197b65ab97ddcbae80c47e357262a2703b487bcb8fb9d93bfc8b8fdec3918b3afbe4d54d1b7638ada4fe6a34ca110a5910a959f63a8655ece7cca9e86dc77e22664ac926b3b7f48bebd3fd03667d36e7e9ddbf4679fd173d2966e2e519b6df3499f8ed7ffa0df9cfbfe2cbd42e5bda76d4273297352a12e43f68bca96ebfca13d877eced1752b6d63afccc7eb66683cba35096d5cf2e293e7916be4b9d314117e266fd9bcf4feac7d76939616bfe26d6bab3f7956a2501e6a936458f5b3b6bf2b644f93acc07920f0b748accf9110cf83e3f6a43ae0672954232610ebf5c54ff0d9a918784da2fee3b98b01ca662fb0a92f5e4f0a5ffea8363d578c387485cd3f8a33ebf744f2fdb64ee24069e868cfa5dd9cba7c9d2a0d5a97ed7745b74ea51cb26d1274be3e1b37fd764a145a426b1cd6da0e20006699ef6c6f243b6c1a2d8a576bf99f763dad47fda8b3d0ad8f915897edb88cc68aebf671d707b4fe916cf2b9f40dfa93dcf7e5fb4db7ab2f34363297a27d56007d2b9fb22a155ba6754d55262d2d93bab8689c4896f35e24f0b9620d196f9e2b679e5b2791bba502665ac81c5ba8cb13abd2b3932b6ce019c68dbab859f5f545533fae58856153840e338b315cdc671835f3d23990f724dac9a1eb896a533f489eb862f8a3b875a826710072d7280bc5d85c54c1ce74830d94c92c529b9af2eff71a27ff6b19af60b9d1b87c7d76f91ac9f24eee04f93df4dcc0be3a5089267e270a63b5b0f927cd48abd5c1a2b59b37f41bcef75c7cd6171f6f16815e5773bf09187ab113f866c3b029b24d949b47af4c8d51cca2d5d5ce3e40e4ac4e9e2b2f000a5298fe473f2caffb85456b87945117cbab76d0f2e078a55707add138f0c935be495d14be0a358e0ebf167cee8adf133fa3e76e42bdb9c2a6d8f3d34a16bb336caa393e9c63aa5dd3db149dc8300717bfa98b7bc803f51ebaa491430d431f67e873e4f8b99f6f92753e1817ee5a69e88cccea504aaa4ccdfb3e6d2006d1e9f1e8ba618ceea4995ea134d2b7743825e8bc511864c3b00f103d36071082b16fd2896fc4affcd8b1b640b63d86bef11cb9f49d4d2e2772be73ecd217817e8fbd8770558fdb8b29b013df95179ebbc230146295ee5ca0ea1bc23b26a4f8f05dcaebcc67ecb3cfc9ac62565478ccfe187ddc92d2ad796b1b5ed178ec9c3a05a86e572b54f1a38582855854d8a465c457f7d7757a9d3b84f776e983e76e0f3b1cc39174b7c2ef348bde9ebc8bc9c29c52d78e46dd376abdf7a1a4c5fecec78bd7400b69d1eb97aa28b1daa29a809c3690dd34fd51688a8df8aa519a0ad980437b14f4cbbd3b5c5f9f370c258b6ce5bae9e8808cfaa20a4ba4dfd3aa702dbda6cec1decfad733089cebe2b2f07fafc15c7e08690e7a7198e394ed9e008fe83f23975d927b517af7124d6730dd9b1ee472e1fd25837e9ab9c7835f96ea42b43dcdf957239892d807c152cd677ebf9a6a97985e40568e6b27dc62932e99d9adb53dfd1606cc16782ec4cbbac5d72fd1a74f20f9229b83c79b01e9f142a0a69a1183dcd5070c0f09f6a9ea5ba49b1bbe16f499bc5b8049f06f1dfa0eb73f0479a74fefa1d5efe65c4992a2cb1fdfb6f9f0fd09731eddce448713b992175b118f0b1401cb7cbc40b2979660bfc1120928d98528cb4c4fdfa46f63ceddc56402144606b46f76138d215815df6efc7ecb63966988e0653bef6f3b8fceed67e90d47fbbefb4237e21b0a1b8591d027438bf76269b1f6417bb10ebe419584bc91d15f602af85bd38f0bb274b90493da4bc8564a0164ca22c4c5731407619295e0f82c6461cacff12fbea3ed0dab3d5e316a0f0232e9befc513d2356e1832362dbe9a38d71d3bebaf4973f998658a60ddd10464f3bd60157a4b61cecd6e1e83ecd47aae70f10de4e663112fd0ec29267bd35ded1ce636b2fd0ebe1137be5117be91be3f870c066abd9b6e6b4083a31b71a93bdfb027063eae56965c54832a02bebab826750a6ff3446aa49ff0764ad6c7d521987c665292c2d82b933853843a0868aa58331a1b70436aa48c8d44793638bfc66b3179417323401bcf7ba7cd5eb58a2f6a7a8a380c61ebe7d9d973eaf2cbad203e6235101b6f61c99ff43b4372aff77f363135f4ddcbdc3591174bc8ecc6f1a28c1d15cb3b561753023fddc0b736ca4206593af24f36adef0ad30b4b859e4be81c3aec045b2367702e03f4a04df9c667e64ca473c8c4857fdc9c149b2a7dbb028a6129a3d8e0488fda1500acfbd0176207164db138e63092f3687d0c63858ba73923b95ff84e9d868c0df94fe3b95bc6201fc6e75d7fcebb74be73667120d4b3afc93d1d06f8d37fcff71037852ab6d0f0e37efab975a70b221d01e28294c2c973a43b86905bf4b08e1bb48ebd0453541a00855c670e330bc28c8e74773b7a4f283cbc8702b9264a101785fddfca0d1b208e72f9b0c4d4d6831c22b8e7b8ba44ae7cf02d52e90430cd2c1de6ab8c54a0e15841d2cbf4109f2767c58dd09864707e2633884f594c9604023a3f33b806fbfcbb7b2b6db826cd79bd4ea87a943f236cb33b18bc973954a432ac8527ef21f48d477f22ee2b8c058cc39d7e71025ddb7dba5f4efe00aef16fefe97decdfa3f6e15c16028b94609a71029b8e7354ccc77de333d669ec437c95ef25e7c144aea41cfcd46ff750f172e2c5ed9a18e8b76f525ec75e6e97ed7d77ff8ff786c9ded3320c9f05fd41bafdb3ef76ee6ab97357b18774df055055a3f364fc3db764758347eb38061980fd8fef84f677702fe8d0c37682be77ffdebbf9657c03e0cf7bbd04eda1a15fb9198ef39c559879797fcd431ccd599e90ce38ca77c210e2cd933d5ea03deedbd55977e56067d340a3487cadb1226e8320a358f81f7228325619f761466463bf460d2fbf8364bbcb177cd0572ccf893a3d68ef407c23c3f18d0d8b2b4aec6b28b04db4a0710cdb5d656a9edd9c25ad3de61b923c5090357ce5bbababe7ac32db96655598b2488f78d0c3c57a0ed07e4fe85a0739627ea79388f51c43c10ff69d5bcfa514fc1189e252a5bda06f4497e8dfb378c8bdc4670a579f919c84f59cb39320b79b6ddf16b42edfc3c52026952cd94de3e558f796c632f5283ded07d69ba9d3e646378a318829f414bce5d6a4e29d112f14a3be4a26bd80b8c0019d771d5cabb373ec0992114132a38209e4089ce1bae47995b8ce4c5f029f44ce0c2a63a4a4be40aeb291be07f8bc893d26267430f0aebbefbe938099d1410e602b09b2b1150c1f8a7540933efc62577f7b8f156399f2f8dd8b737e5b448904f4742398fc6439a4a87b415be0e592f3eab7ef5e3f1406ba8480dfd7ed5d9102a8646fa0d786b7dffbeb1b2d0427e8ebac94a789caf1d963aeea77e20dec12a4fb011dc52f7b56775699f2f20c40fbfdae5268a975d5811b86addaea4029498bbe4dcfdfa570e0afee6c780219fbab6da55b656b5f2cfe6663a171059be198c9fee2bf5a4385bfa04d95e39fbd0bda83ecac4df3d86662439a4a27b7e3c1d8cb33c3d9bc2982d4d155aa69761fdb1bc9be816d43f9467df647f1dfdfe6eb714dec9c4d82cfbe2dbb37ea8450ad9e0d6bf3cce7f8482131dc1b221ee3ae3214f72d9753abf7d3b84faf398dfb307d739859b4ceaa68ef52c53a8971bbc46d16263379fb42d662fdb7b75f22c12a837c980bfca0dbb5b9c5bfeef77b5bb3d5dd1f296a6c4c95d352be0ffc9340e172c4508eadeea5e2393ffbdc639f700cfb910a73545371b73f606d735ebeede8e9bb1c3ff6f9b548ef01ddfa42e6f684694aeed609a6e9233623e41e9c877df13bffcb0cd9bb7f70ddc3f33d02bea9b17feea23b591026e58f6b64ff4b6da03b4a7c87a659244bbc04d317a9d9f6737ba37f977bcc2f71f5d7facfb33ef7cf9cdcad7b71c57dd9dbd827be1cf04f601fcedb4b9a5bc12ad647ffb27336df9a48fd9e736557912aa4acc6d597873df7f86eec3f4c4ec4b6e95136d05c384cfaa3d0548175fae9834e42f258cee3dc9adeaf104ca87efc531c176c61f9476d22f454585e7af9ffb1fc79f2ccedc05778bf27eecf17927378c379111e00022ac2e61cbaab7874f63ca7c3c67e36e1d919dae6ea2d1f110b8cf4bc73906d2b4b36d2810d69ee199f85bfa08e5252994a231df5c3f5e299d32e074212b25437c244a1b51f29a1c330ab43b9f9ac42a87c66271ec35f911cf24dea28dfa6f360f2496a47daf565a3fbe1b9ed6fe873fb7c3d9190cdf17c4d727210b8ab3810905dba8a43118dadfd859ee71a03dd86f3f2a8f5cd7272a064d3d435a92e56a8df4e477952875276c5f1e3977ad677e24cfa768fde21d6f3c13b463910faadc0082a10ff87d828f66bbda03297b2aaf0c5294bc6bcfae53dffd181322ca6744b7b8a8ed0dae58a913e031f3c637dec8af42434cef7ba07f59776c2fd0fe3fd722c0af23e1cebd54771e810722c5c0ec7e55fcfb9f4ee61187f24035fbcf3ee9a5fe6d33334b276cbb10e28d64ceb279492e9414d2a88b5fede3688b9e6003d3f586fe3d82a5028954847b8f7bb6060cf5916627b8f950e752c091825426ec2efa1dd2f337d0e11da572ab3fc8fdeee29ee73e847380eee3bea87fa128af0cecbdd3eebfc3e9be629ba05410342bac553204bd00d20e62f64a92fd8e7d76bea992f1cce8344e5e4e55fc63800fbdba4d35ff6f8689d394df1258bd7789f516fb05f1684a2f2d5ba3e14599077b4bcdd9a9013bf5f13a36baec97a4ce55bbed0e387f3126bdcb52194982fd7fa60ee925e87ffcee5a347cebeef649ddbe7f61af5e19e5ff66f722ad7c76f74cd60ad5fcfcae19400d0a8713df9dcac02dfb260df06e873acd190988ea0b19ed15fb317eb583d4699975745b4a42156e0bbab7edf1deb39ba3e9814abc7e7caf3bdb03c07d4ebfbc267bf619dec995d95623a94d505ed2b6fb2cd7cd226ddd1bafc6e15db7fa5d7d71c965256dd247466d1d4fb17d09f68dd784b2695a84b0fd31541ae7dbf06c7f94131a3e6c565e74c4fd2f10ae832e18dbefd72fdedfefa6841abad7fc843f6364383bf73e0c7d90413422d94a4e59749537bb1bebba7a5754cdf7ec9e5980d7dcb3866cc664f817d1705f8df494efec8ff3accbb46cf43f32619df31fa8b63c743bf923ddf73cb53900cda7863cf23fa1c512ad6b975f618b6021fadd5b7c71258429331cde5c39291ff7e1dd4c72aee53fd15d92254e7e71737ec7ddf204e2d82cf35eb63b9cb6bdfe765bd37eaa5ee6e9e8d337a7e761723f8c6f9b1d76b470366f019f4df05ff73efe3e33f2f2d35896af0d4dfae19ccc3792f5e4f9ae19d820375f28dd92562d019d38fcf5eacc107ad889ba73ecc884bdffcbfaebd9852cc53adb8f55c7220aed244cb6d06b587e88cc234a2bfb6592171d7e0c066ba492f50bb1efd961b1cef3da6a79043ed9e579a5950e47aea2fd7538a39afd747ebcde2625a45f6a0fd718ad0fc98a7ebfab0c983037a1eeac7cb35f2d739041b93ab0bf0978c626ed81ebafb2ed6810a04747d0ad3977ec73b18c77931caa9b6b437d55cbe470b8adddce6f53a4fe1ffe0f64b9f189c5ba19bf465907f70f50d6ce7af9929eb9b9d3d7c4636d65d3c3c568f7617ff0c92f44f70a0a9f564140f1bef13573b47ceecb613b23cc2b659fbfcd899c811c805ba6a5c236b94a61ce489496fa1609d3ca8b3a96f502b6316e41efa0af524c755106610f37fd3ccd315c9e0cd842a43c63a070e4f21bd6f4cc5f490af7583bee39a99961e9482dac7e133e8fe2c7e96eb8e6c561bcef43a55f3676712b2f7bc5cb266018e33cb100391dcd57ccff1b7411e02aeed727df43d33fc5e71b7cd57ef5f3a0c6b815b1af9bd58bf3ce3f0fee9f77997bf33c6e818dad483f536633d8607742ca49b9a494c018df02066af2d6a9cabb4d43a9a55dfa6863e6518d3012ddc33bf5e57bffb523619382e41c67b46e68055c555a6e63c1589d293e796ffee796637be097e962c79ce2c0d043b7856abe11a75a33bd35cce4fadfe70771f6adbe37d8ad9ae9d6bbc35d2f728670b9ffb189c1d9fa3fa487d22bdfb1c8e9113ffde6d2f5ee32d9cc9f7be5490bda7f0403ffe467c57789df98d7a5c5d7d6755f87996f90bb669fd58ebbca57d42636adf90ddfe0bd5d309f01d92f449ae4b3b2fb86ee6d1973ca24d6ae97d136b92a135329508129aca7dd2c151ce3c863d0679f6ee3b9b6fdf8daf80f4c600fdeab7945459bb6f236756201bcf62209ef7321ed6e2b8807c26b581487efbdc2cf5dd2dda3fcbc8fd2c7790e762df54d162bbf38c5f51a057130a708cf3f27dc53a36d44b9fb65c5a0603a4d8684167ad0f2b82bc4b3bd8d9542e277103b2b6adc332d21e5d36a12a059d1d136847a60833a81fd48c8ced65a5d5d2ef6580eb02b1cb288bf82d903bbc88e997c1814aa464584bd7e74890b302fb7e17904351ecc52be885e83cd24cfc5deb0b0b492eefb866fa01c9727886ddff46ea312da4778e9074d78cf5c7c7edcbbec4adb973e412bd4b71a63fba33079c9c3e7feffbd6b67105639c8ede89e51b5ee72ddde5687e2612cc4f90946cd0a0bd34889d1fa95211241c2feeed949bee5607cf599d7cabc3d3a035ae6eede64dc8d8b42fccdf913cc067caf7fbb6a947392feb6305980b41be79875af4dc2e3d1768ecdfbf1ae93fd2a1f8e30b59b34ee4d1f92a25351eab0560d39452f291ac8fcf7371f7c635511ae9fd8bd916e1e1948440759b5d2277d58de9c3f38ed3e1f31adff58b6082ecb436df4566f7468df6a2b0736aca77a5f72f0ad747bcc605b103cda6581f723c678def7e961e5adbe2169dc548ae67ce6d15e9460c7f919c766e5bf2d78ef6e2f55edeb4f127d45e16ad41b4b7b40cf6167996043202f2251bf419fc0addbe55179b626fd40b639969db5f703fa0cd269d39373e7acc834e4b299f513b92338dafc1f569cae2a3d49af44d417da7e9f97e2017e13b9e2a54c10e563cc52a4d0cfdd5193b58d9d40ffa7d95d1f3fd6259ac0fd23f0a87298abb7ea2e771f2c517484e905dde5cc8c984fbc9f3a24861ec60cd3fbf769da3e750b97c7cda2e56e53fcdad6d2fcd57f82b8067c167cecd8fe4c4cf9cdba8ee5654535cf3d2ea34be5d5e5d237d03b9b5389da01d260bf7a13ead503ba1fda8bd52b2cea7b99c7db7beee33f8b4c50dbbe3e233e822468ae69a427294208deb482e29865406499f4f1f716935f8bfc0b928e515cfe9e768be222e2d7dbb6c5c933edf7d8ffd887d3e3f60a6ec8d3aeff600bdfddcbec6aa791a1f7cb29efa3dd3c6444cf605bec7f27a9f977e179f1fe46fc199f56b3e17cedda2d9be7eea551c980ee0fce746f34d213b337aa853934eeeb1ad274b1385b17ea484d4e91cafa9624810ab084027ff05f78caca141ce3a3bceffb98bdf8c7213006fea652cf331964af2ac9e91f5a067365281e551c622fd63636f2deb30c600520113ecb77cb69662b5d36191de7a1e9f3d689f506cb49883cf09eca6c3097c298ab8f9d10d29513909cb3e577ac3fa45fa2e25cbfe3b6e89bfcba6dd773bc3cb359c5f36d83771a198a74439b4ef61d13ea934b31ee2c89d76067afe66f4ac1ef3eebbdaf53e4a584f3bf394ecbb6722dbfa8aeba631656b2bcb399503f98cf397870457425aac1379ae63bc2cc00dc1fdcce67b7133d88ff5c0175cd618bf023d8f4ac83e7d26e74f2aaeb93faaa2d7cec94c37e47324809f8fdd71c3f3422b548162a51ceaf1ee7faf565c5a7e2da82460bc0af421dce6814fec037021fca61d7fefede57969f0773988f63d2ee033ac80d233ea1bd4852fe8196a5f60ce9320b7a711bf2abcbc06dc07a44f84b9cdec1c960ee9fe7b55d0d8fb7c4a55f0d82feeefb243153f5809d945093f55850d2b994bd0adbd06dbca5fc3b82e97fdf1605c5a1fc292f5ecaac431f878aa33cbdfeb00606ebd771c135e3eb75fcde59fc8a44bdd902f415ecff0b9f98dda47cb89f73026fb813f6f0f7e3e8b7518eacdbb637858e7da196a0ec9ffae515772e25f15b74a7523bee946dce8465ce8467cd18d38d61dad7068a4cf5c4f9e5d99ae49ffd91b69e130cbce6631ac2dfc1ed015f85a762e4ffb56b6ecaf8d911e14b84686ce66b4a67e902d87740d243bc3ac6c5ca38e7557cbe55c1bd74dd1d5cd1df85f74a3fc091b2ff70c2f873107aca00d1bdea82bd0a41b507f7f52703e04ac576fe81346677053a572e2c76dbc7e675727d7a4835d53df54611bad19b9f11dfe67efd2045b02702bd0599deaaec62aa204b8128a3067d1dcfb461658a0cfc4311a2b8cb394059e31a3833cab23c796b7a0c3c497fb716bafdda1dff92a52e05c47735de6f251463a67a1123c169fcbfedb71387d2dd8f8f77a38f0b1e56b9c7b1e0fed2aa51b33ef14725eae70647d38fcff42bf29d661cad2079d6d897dd38ff832279fa3d82881361ef7629dca4ec8eae6472e1f3ee6bab3b9f8131ac9c88d45d9f67639bff77d5e063a5fac3bd239145759e46c2f215d6568ecbc04627ac41e906f0ef364dfda773a303a938f2b3a143f2fe1719bf9dce7b5b59b244efa19e765a1b1a2de3c23be28e6a9d685651797d39b98d2ed2a43b25c4aa432a021e763d49e6718a78af0b4c6e8eddfe442c39840ceb0d4634b74f22cad5423cb1c66ca5a5c9ca9a28c6cfe6298fb1c6655e11a19abfca2bf79482702dd13ae8bf780cf46c6fd56fc0972965ae7f5ab1c8f2e0fc7a1a932bcd139d43a7567ee77aa7252aa21fd6b983b432319c596f7b1348c773aae47d45d0d7416a0ab16a5d2a1f11a1c62d2b432df33a84a4172d16103cfa6880e5ec5ed987836c5ee2017fcaff8420dd2d975c72ac3266e3a3f6e52178a5193dff07792939e4381bd2a1c1000963b81bf3d8cd7bfabbfe87d9d8235f06fd2ac62d483d855713f6e63cc40c031796203bcd47ba95a47ebe7b8cdbec4ed02bd87f8302fe83ae58e0874efa2f1afe3200fdf1f72fe93816ec17b9d4d45f4d8bfedcbd27366c735d2cd9869a1629fff131bfe895ef032ff687b013f93b861b14f13b7fb892e7e928e71152c0a6803b4f5495ea4c2c9e4f7def74362784f7cb1e87c98cdf78b0f5227d4ebb7415226aa2115fb360ec8c5d9631c276d6b8c46feb3c13e8a35a074af29cf959fe2a5b6b916c82eed893e21277d48fc79f2dcd5e93197b3b54b97a44e7156f8225586397b897ef36340bf795615304ecd2f38d310e3da34b318b539caed51bebf646967b497b6c0acb69aef97c3ffb513b6cb9731c857a8c7aee72dc3c95eacff83f447cf916558bb1cc6b024f90aef3e639d247359a8038c9c751e650ad8fbf56127d8871d83befbad3ee337ddf1794d55c479b98463af1dcecf9e93db5c99f135c73e076c6fd43712f3c9fcdfc6fea14ec97fa8311ae00a91b1b976b5fa83dfd078011edfc31860ec3258af2386b14595ad19f0b13eab5b1bad617de1bdc6ed135be6bf97fd8cbd6446ce70f6a6e6b89d2497f1e43b7ceabbbff808975dcdee087b00d9d864ae5edfcb2f5fdeeb1d6d2a12d8f3ff953533ae73237577e06f683141484d1c5512ec9317fea1ffb6d6cf4be0b9dcf0fd80034870f828f0713fcbbf27366a01317b3863da7e3d91992e55e235b5798ff2f1d9d2cfff2cd078907ba5e7aea8f5d1bfd74d46f9ccce645369365c9f8566c13cd73906d733d3b9b660cfca64f31e64f8be28b7cfafde33c212343ffe04879a5a33d31fdd940ab41f71adfe74982b9f213d2160b6e9bf7be6f2df3f537c1cb71798838093122415b53e6ee6c101e978d33fdae2caaa06ddac9b2c6b73b5c2211f8260a3f138468bd7e338687ba33b83b13c943fca449a478bb2ef8328ddf50174a85eef6f66e748f866eff67bad8a55e339db22c098fa445ecb97af05fc9fa33315e3ee7fc6e164350926720aff0b59e53911fcb637b2443d7ede7cd74e83c92af06d8af5059c2b4ee245df3b67f6279cd849e064147e9e9c858c4dbdba7fd7de3facd5c635e4a33ad42f52bf3d182b0af01f0f23fcc74637a4643d41f353514a5316615212fc5ec29638ce471fd63626be11dfd421a6a708b239ddb952192cda98d7a6f46e74b9176b5a153c2c6bee623b609b37f55577a51fe5363a6b483ce701e3047316109ddc37e9cc99d811e4352d1ef599bd58e7839c915be7731ae9398f7932585fc7eb4c15d2326820c7e547153f238241527c75b69285c68d6eeb2f1eebb9edf95ef00a39f1fbf7f779f4b126121f83f8f479f5434e1bd2451238f7880d6eb7367836b4c1fda736b8f5c406af4b39f1cb7f23ab1587b40db581e06ee23a9bb8d19d2cf068aac07e9d4fc891d935e0dba95d828532b48535b021cb86e40b9d767675704d3a5670ece2d5588df4d3119e02639d46feeac5723ef0e53ee4b30de75877d2471b5894900d8c7399209fa75d7fe94bfd629d67707e0cdb6593faff16337c8cef08f8e101e44e991f65648ef66849ecc05877377fc25b4daf27da8fd2a4a7e086d63dc6505104f0599e15614e9e5fcf15a1c347bd90f9a53a99dba4237bd91bd72d2f7c234e55e1bbf49b9a51c5b41ce928a287dec5a075067eec038dae6714232dbf0c2f97dc2cb068885fce740bd95529c1df7db0f14b52dbdbce41e7fbc5f90d16d8fc01b237fbf138e80eda4b4f7dc8fd98b6b911ee6630a7d27c67560dc83906cf0760228fcfb9f3de884fc89e541288bf0df3488320a3de83a40e5c232dfd0315fb623d074e8dfcfbcdbb15966fc40755d44a9ff44b153f58ffc6cef6e2f5e49b6cbaceebf95ef40a9daea2f571f3ee635c86a39cf84745f0cab0bbcf2bbe989445eb26e46a5a316a4611d212c623a91bc05979b65e8579a51ae9c933e9c26158bc36c4cf20b2ab8b6b53ac64c4b933b18380a623dd59168a4b83ee4c7202677b11d87fe133fa8b7d2f7336e41e7d214103be9058773f01a3454efca25d5f7e565d601f9bd54c21be8d7081718851fff6cebf7da607b1969d49cf74fa03cd59ac98c5adeb9b007928a85f94c3646d9fda9c8aab6e6f3345c4f6b13ef918e4a25ccbc1fb8bf5f1a350c5f4edcb88891f6883e6a251cca2c79581ef1e6afc7952e33fd8cf69d9d5ac0f71066e7402d824024fed5c3f7318885163dbd2a6900cb8ecc57a7c0dc66729c31b7dd16fcb778dab69dd917fad29c6392454e9617e2bb47f7ec351ab34b3dea0b585794096a5647e14aaa0b1ce430ddf204e73a0e2a041e33f9befc54dac9bf444c1d84268cf15235b6cd2c9be629d5fbbcf43f9b3336932ee32eb9ad54d17a53fc069407295bd64d6f84e8db106ed0ae41eb15122c5416d9533458c3245d00a55dc14eef85ca274a7af0d46e31ed2ddb8f77851240f099edde5426a856257a63bc05c579aea768fbffbd03e6636681f8e230c64ccc237be6b5dd472f948dabc58cec3c6cbb1de3688d5891ae0e8790c7bf6189e52c48ae865a7446a7335265aa565a43fe61cc9ad77299159a8957ae22785b57dabcf72e2c3daedfc30a206e79a2a4ce790f7e960ddaafb1dcd99519f7551cae5630cb57d8a4b1f7a1ca2615e17ee571f8ffa44ba04e68398604c175ccf88fdda235f7c83f6c02a8b96a45ef9a8613c5581ce54e11b72982281fdf19d59f1f51bae6352777a1b92c9915197ba1bf7317fd0e1aec5808bed4d5b14e5205fa258334bd61f9c476027f4f94203bf70bb3ee6c07b15245e2e1971a3dbf3b3efc699d7c4b182f9371a82d116f7e32e831c686539da479e91963d5b2df8bef1d81bcb5a457a967b1a3c17f247ceba3bc077427296cc0b3a5b716ee4b4c46ba46870bec818a74ae2484dd7b06dc2b46f5757030c7d2fa07f5684e4f4b88f22e0b4e772b23c85079a06592d4a442799b261d2e6547f17aa90b63aca1fc2168fce57cc6b96cfcb3e17ba68fed236c2db37ed780d86f3eaf572f8dd33d99b6fcc08236d9c29663145f22d6cd2411c1ec9428f2579bf552864e573fccc3657de2bbf8cba52c56fd0bfda73139dd79e497f3a902ff291b479f168bd4422e43fb03bcc6f806c33ea0906cd5935a84211962cda8f118fb16640c767bab14367e2a59d6fcf48ffa0eb37686f7331a33bf33230a9abcec533dd1960b271f554373fe6519f53548687873e96641fb57dedf01bc19e5c5089c649c8c6cbe4c447e77b8ef7ca071b35750aba9af89dcb7957a76f6dac10eaa4d133d17ede3525dbe688848b79bd4eeff950d0be99d6aa10b2fe4067c0fb0dd6fe447737ac6eade67b713bdf033fdc159d4948afea3804821b9d3a4c1d29665522b98dfdf6a86df3e28b59227d1162124f6b2fd0b3b9d8528439c40d24cb2a7a1b4163a3ac8a011713ce2bed1434f0ac059c736ed561b5054dfaa75d9f3bd05f4a76c7656c003883f14537f89b9cf817e03631a84a851c1e6da0c76780551819251b7010b3477d632323fbe399d475d8a62f9bb4c9d54e5e53e7c46e817dd2f25c6a8b9aee31c1aec8d639a031423633fe7b45ba5ce99a74dde6ed87c00eee816eea27193bc0426d54c1437b1ad90719f0bd09dea0eed0ab75d1faf91ad5ffadb22e57c0c6b9c761323847f0fcfee8ce7719dd68f09def8dbad219b0cd8af5512a484d7057d3e70f72fb3d972afd1bc11a02fff6232607c1e5fbd3ea6ea3f3c278cdef07be6f4163013334ff466765d9fbd4d906d723e1fa0688d3f055a462ffc4a1df83641e0e57b43e0f38eeb782f3a09745e9a83e544ab325e481405e068bf31c5b7fe9217d8619c7cb897fa77bb28166773a50874f1a2da8538f33902d910dd9d79294d71739af1492ede88c42edbfc3312d71ae13701f0cfd3e185fb5d375e28b7a5c9d768e4f295c7a2667c1e04ca40bdd0acf416e67beb8c2314437eef2e97c234567f7e5158617c6db5cb2010ddc26e3b19840ed279c396e9f7300fe88c8a4099ecb16e98c10ef4567dabf1c97cc37dafa52b6d7f50d82d929ded750412e58d162cd06cdec160a780dec8c6bad18d758112c747e0ef60fd2c3e623ecd8c17ec4b6a430ed64ce00abf21488f51ce22680891937483e4896550609c6cdf52186806311801b8bce9ffb5a4217eaeacae04801be54309129e07ccbeb0c381d3b8e11a918d4169c77395b0409e01aa1f56a02b6906053680f6f451b78d93cc06ea262c9b99636e80a8ff578bfe32b7dd4ffa696f2459df81047ba502026fd372ca70cadcfc6e0b72b734125bab0fcde8972e61fa8a3d484ffd13936d613a99412ad8d898c72b29e620ba1fb13a49765f3bde077f5e97ba8a7f7e73bc12e7c26a6f66254f8e2f624250f3c2ee02b6d75a3613dc143ec19cd3f96232fe327608376b85783b642ced6ff747c3016bd7a9b26aa7017ebe39ed4d6931a9f16e7416a635539e67b24f81fcf62ead8663246e3d87ef7c08f886319481ef26739f1fe4771ac819f391be2c261dc8cbfaea19673ea699c6b540fef52053aa37d2336d4e7be3062a7637d3348b23bdc743b8878eaedd91cafa1a6e7156613e01063cc9ac967e63119da27a93e91ce9dfe0e38ab54a18aab6c6fc40bc5ac4c8289c5fa5c6daab93d0d45898539eeeae235c2c1f8d9388df42e652dff1ee0dc9218085cd3fab34d246b908c697dd9bab319d74fa1771d491d11c6a9b1e0ccc07c839e69d5cb80d1d06f4548c72b13dad6d76ca3e70d6afea07d21b38a43c1eeeb230f74dad799919ca2471caa21c732d8043b931ed6c99d3bbd0df234606ed0593393eefdfeafe201e4cc403aa5d560acb5b089cfc31cbace3737aabf9259957f8a5336e21f7268ea8f6f56198e698c724e8ba7d8b5b91563ee24ffdcbf7718e79bb1aa50f6734cfc2d6a7ecfb1510d7d6d9f4f389a86316f8c23ffb79c5b77f3f8bd4bc3dc9907eae21eae278759565f191db8d9f5e22e3efeb3ce301751c4d78d2bcc423fa3fe51ec2afc5a485757dc8661569f5dc18f94ec7ad16fc01f32773936d4ccd95c3136979d39eac752e971f17b5d0973559a6a0ebc6e681e7ea9ff5dc641d2e33c441cae07d55d9955cce23cf2bfd1dad99fc859c8fd5a9b8031d592f619a7be2e6e84e5367debf86505ab7c95c7a09a107719f2ef413de8de48dfada6f321608c76512af6b6d6f9e71eeb9487f28ca6908e39f4d7430e9e4925eb7c7689b86f529b91268a716df90b7b7d09e73b350fe3836dd3671821a730417a3c1b8419f5eed01469ff6c502f0df983ddbc455cfd3affee312ec80267318fda301df285c23b7ee1e044b6fa3d2f6f4178a0f179ff9c176180f9f0945fd9047cb90e2b301ed7ec106e4cddfcf8132dea663dd910bec978243b1521035e56cc2b3b8c957db24a17ff9eb2cfb88221ff52dcb0daa2a27451fa1371e58f62b77384d6307e7630cc1b582ce7e18135ef6dc92049df4137256beb975cb16763b1ec38945dc235612e218704e7acfe9f3eeb039eb573b5d7f94006dfddf7aa66484efc9fa11d04f2df2c329c6b0fb8b13d1e944b1504dfe11f555cb22a3d05cea1b0399d74be0a23ba765da3fc8f62575f7a46fdb3e7063c3e469aaab7f244f8918b20cfa85ff76a52176bac473dacb92187c72eb9beaac1edecd2f040257a579bf81921bd4c27fa9fc30c784b4c1efd76d317437e4d36687dfb38cfb68ed6c765ebb3ccb05f96873a0439f1a9bead3c85b1380a8c6b64ce09b671daad45c52cc81e446b7f4585476cfb03e63cd6793a6c40888193731ad9c312d27f27db38c857983bf2c662d976dc9403ae53fc7c5e035b31646cc0b4039fb14d953d9f6c17a37c821db24576e5fb16c7830a75396dedbaaef6c26a660ffcbfc07381f1a61bc09b16374540da83312dd8feb3b845f2b1c0dcf71ac6df4d904d49bebfdb1b7d5c202e74cb7a8a678aeb4130ae04c8091a6a1d0b95f07e7779f3e6927cb7621feba5411f79c37b08fc2a2cd26f46727341d56ac7ed4fc11e6a710da0f608623b7cfa65b26715ec689c0bb8cead93d5c07956794e95110ece53fb7cb0198f9f4d30d95eb0df9d467af059154eacd5c47c8bd9602e086756eb1f115773a86f46df65f63912b272bfe4cb00cd5d534bba5b11fe34390b0e383fa9cda90e71be129c23243fa9f15def1df21206f13c69396ff53ce227f92679345b580f2dbec6b026699447653f9c5727ef891c6bf383914c6ac75845727fe0c77de0e527b27a64278d73d63274fef8667d5e33d6f3f387c8cc88af32b48646e78f4b951e535f42c6bedde7318e7dfa6d0ec178bdf57e7dea858e64e572a6f598a04e39f0a360bef4612ec2e82ca4abc635ab33d29bc1afbba89e61d9804f719cefbaac715c695e69661db7b9e090c387759ef39d4fb0b5c99e62c5b49cc98a5b75710574de3ec656f0d8807f1a7025563fca62390f7a8efbb77b9b4d11e6c53a9f032737e407ff9aeb3d7f7536bc75fa250f635d7632c248dfbbdfda33d798fd83b113d3375c335d74b21b9f277ef7f9ce4ff9467414ecabe1be614ffbae0fd873032cbb77e05815f8f43e7ffa9e67ed99ce75afb73cc8ff3ccae0ddd0d71ab880601d3bdb7493f387dd63bd765faf81db1ffbc2e6d4c6597c22bb495f5a2efcf7561f0b739b69cf81812e98e11ad40147b158117fe0ebda80fb9cf1711d40cbc535c2ef798b1605f842f646dddefb5b9eff09b0eeeef20a015385ec9b90c672f445ed699f8700387a0f381567acf33dcd7beeee351bb8f72e375d2a08c604f34bfb75d2fe271815703f3c73e3d4f7ed7f1c833b9c11e08214bbf5fa0bae05b2cfaf2f7035321673e16dede0b82d82c7f53dca6f6e9f755f9baa0ad36e2c6c6746ed5e71e63fceebb371c11cec62fbfce8b7f56129507f34aa439eefc58a55ee7db038c77f70bebe9e6f1b72f447be47b8b73f8b5fdfdbf292fb04d7107009fb78632e1fa5d38bdf0abdc3a2427de97ddaeb24fec4e3b5cd02f7b3f45cb476217e067e9bee1ecce731d43103d7a8b37bee42c5a5d991bf806001105ef3c6fd251eaedb1a3a57aeadfcdd19f5b0ae2821f30fb5e76132a83defb0302c6403e672f29ce71fe9bde8cc1cfa12709e685a6ae69d7e87ae5dc64198d1f33dafddf908e3b362d45a6b3f8568bcf2e919ad51df95b14fb7d517c732fb8cc6a7d5e1ac057571e8d9a33fa8618f23bd8b97eef1644679a226ce25a376a27c899acf6cc4b3b44c9fc52b31971663e5720e3cf919e89c0c5d848c55e84cdae183625e9359466c9378e75cc13ef6316e05e0fc45429c0549da9fad5dae7441f57970043f1de3a47571ca30498b11af1a33ed72ab5a7d5a057d2c6391feb8016c6d39f698ea36b223fb7cd04c15a67f90edf7540710a5371c0fabcfba5b611f8ac3037f58eb9b51f88f02dbc1cff9ed239e62b14f02fa08be69b4477c2efeb337eaa69ddf1d8cfbb3dc54aad28cfa70cf618a75ba25ebb9f53c4c661764e321bd716752b1b6a8e8419cb2d40daa4673aebb569fbfd3d5ba7fff28cc751ef6fa542161fcaa9bc3d4513f275b64db94118f6cccd63fbfbd844bf6bccdf93264a096a6d4877aac08f806c5de95ce816357c1449e61ec132ad68cb484b61a750c31cf1b4d41ce6a22c1b9ea1fe83f48f718c9dca15f56d4601fcb8917e33c872b3be8031a33bacf1b4b47f5959280cfa64ec778f03382dd52a1750c7107b29fe5c4cfa13eba89211edde54f899b620d327533cc4518e9eeba1b622ec57c0a796c8a4b9d3c573e12fbf9866440db17afe9650270f40237a0f5febc9668faddf7836f7c22abc3e6996f17cbce3e160075b3204b77ceec333ccaf19711532ac9d3535c6d90cf3a2d35c821bab201e7e5014755fb56279e50a466f817df6f43d53a3f7a4fa68a5ab13e7c0cd65efcbc66ef71de618f0cc6a8c38b7e799fb064a33607deddb05222756d1fc4bd5e8d718cae0b04f64e0f1e620c7dc6ba8bf72c3aff766e3d87bc9d0505b1c4f65df08cfbba4c6ee48f8b012bc995339bc9a8ddefba7e4cb08402df80bf1496455d9ed9db0073a6581fb748aeb4b93e9462d448761d14b43f887f4315fc22fc65adf9c9ac6f1b476c87d1baebfbeae759f3db984a0ecbee477c941489d16db320df9cbea86de643adf5cb3ad68b6e578194cf2e9190e55f8604ba5cc0448defae6e52529b6a0abc0709b21bc3e63b69e5109a13ab992dd019e421fb66a29da49cce02876dbe00fb5c8e54be4cc2dcbe054ccdf8c0e9bebd04b995a0736078b6289c0cf2571206f7ff9b6b161fa57494b39061cb28b75329a34aa7911bdf015b29513939f79cac7cda0f6676f08dcf0ac986f0083c09ffe29a6bad72edf3b799cfc9916bd4856ec8c06f4130ee62ddad6e91c053bef972ad037f762046f1d79d4f66b856c286e803e3f571f673be08b8380ef38860276bfdfae364c2d1f91b46de92e81124971eebd4d71de4748ef715d161d8a1ac1dd887a69af66b6c8c7720155f7477de5f1e63e01d7f0f8b741b67b20d563c0dbead9d5d51ce6d1bb9667543df6b361dddfb9af0bd164b6ad93baeef27fbe98fdfe27e8df42eb48fe54be064183f60b0ee1511b0c3a99de3cf7a9d4c3af76bb99b83463dcad92eb70f1197be875905fe61a591dd9dbb3d491985fda24d7dd6e92a73cd623467c04788d68f833151159c7f5ded3adef3edc977a6a379bcabc7a1c1cf36ac35e4e2ae46e715f7e690e314c64b9446f30b795f4fae47e7fa9af8fb77664db7795048c7233c045d4e13c63e988fc658714798ace0e7daba72134ca49394a1becee00cc29c2d5e45c69b26b97dc57ab201ae64240b883f6464730087e160fddec72a085f291ad332002c5bf6a64f363d3ebf703d45467d5179a9447238009ceb7969a2b134d27745b47e94a6a606f8c8a5225a65d0d4063a8bbbfb97d4e87e2ba92f6a2b63eda8403a223c4f007e6a83f014b6f9066578a031be3117df20dfb59771b0ae94768c91fd276ed8f0c63eee5b6c739cee387b47fb15e9d21e635f617cd3f81230652e67da792bd8b9ef2239b739fb6e7cf05dcc976308ec65077ee20dc4453ca6b2c29c3f806fcfbcb23ba3c43e4e63c9ea164572de3b5ba4c1f8e3691934b35686e2fe80bd94167b97fab333594ae1d27785bf6b0763e3bc35a6920286fd81980337bb81ad476f1bcf59413edb6ff7c039bdd48053c416b2ca77581af37667eca00ee2b54c039b890d349e0e349a025e4845b89e34885b51c8be7a0b0f85a1e2d806c80f7cce23fd994572ece97d1197be458bc2801c73ba6c5cc0cd24fe40eefb0a1cfd38f7e0bc4ea9a28b5b605976023f5abbcf7ec1f9e97c1a90c3d0d951c035bfce791678a0dc8a1dc9f7dc8e3dc88b7ead0febee36d032aac4b17f3b5a337c00768e0db119d48f3224721af5e94eb614ba2bb3303e0d9db976d9b803fe92c1f7b787efd13c64d41974c2a6be20d9ebdc56919ad7178f290b55c0dc9d607bd114e4afa1b51ad2584e8ffd23a3f3199f3b3cf52365b05f13979c2d802f7863dbbd4afcb1f5f3b3585ca171b8ba4699e0752047ba33c5ed0039001c89f1702e91dc687125b17f5c035982f4c188899ff9bb5a593e6cc3c886042c298b6fc29c9f816f414891ad47fc0763dd33b8d1e3f5cf414dc74baca1071d23ab28d724e70ace036035b37eda367dd271a38cc66f9d5ba56ad0e7a7b20ffbb890de8bf3b61714c81c03703de7675f60cfc04b0c79ba33749e5f02d187dfc2dcc6fe728e3f2bc635015e4f81c4eb4dfaa21e579407f988d97c2f50a71dd4d9637dc43566d44eb0cfca305625cc891ef53da835d854aa91c96d7e8507f978b81f444f1872228fcec741ecdfd50df64b59da8ce7d473c39951be2b9fd1672be7915c9b5b39c8b90ce9c47b7e350b8edbf84bac713d3d6f1b869111ccf3cd654dff45a63fe331a034f047a2b147eb71d380af139dc7997a8ce2309fe6726ee572160ef1508087544efc0589b75f02c13a470c8fb9bb33cc0f345c5f9230388308d6ba9ad3593859c53e63018e32f6e761ee04ab21b15e6b78df030efb02ead3f86d1138f625721f644eefbf3332968cb970777e9c94714e1887ced52d5a53e04fb01fb882154e5e9a14dde16799021bfbc0d354738a512f7ade7b9bc1bf673790c1ae74925a2ee025b67dc2dc8e7d3145e7378e4993b8f623ce7d27b304a2dba07d184839f6f3211df47e8f3e1d431837aa975dbc368c1d17218ddfbf4e96b52ae2cf36c317d1e2d4fdff606336df2daed09b6ad066db077c5f61aa7976b3703f0b6487e31c07d24f637955708c1bb0031fee17ebf936e9f737b1a77995875ad0360686fb49f6ae6e7964bf5e139c735e6711c9a5c6f3caa75f3696017bf19a04307f243fcba4f9f6fd48a700ecde84e79ff21671b334a057873067cb60c13eacc5be5de9bbb2b45ef24b6f97ec6ad3c511d0fa4036a7546e92b4dc34cff9aa154e6e39a939c0fa477612f7aaa6a6c5726d63811a8beb9707f93ac2b5abfd0a70ae721290b823c6e60d4f4192e218b9a8416d25f825c1d7bfc1ef12b532c8aa1be43a71f505f40d06e3e343aecd209703e9098a90b292f981749e86e024b0b8e6f98a74ca586fe2a10ede28464d110c86620d3ed44d79cfcdf01803bbb6670fcea783d8570ab5c938a7e67b80e590518a0035c96580ecfb89f41e76b99df8fb10c9a7ee9af4ae761ae9e7d7b788eb7cf6c5fa68bd219909f16ca8bb6659959fb32a3dad0257abd4a67ed78d79a5f055acba45a418f7710aeb9ed7e41b72c569fb1a0a7daef8283ec17fdff901463ccb7b9593abb0a11265542b732a6d2363617df0de03dfc320bfef09aecbf591eb0bd9684635be6e2c6745b05f709c3bfb123fe320df5e906cf6ddf80adc274d25aa47bbf0b9f2676f85e7c8c952dd5c96db665cbffcc5ac628f89b3d7785c7670ff1e77306f6dfde7d7842aed04d7d82877794bbe5d9158963d0d816f818d7477f3dec7e60916b83dc2032defdfab7675e305a50aab4b90fb853fb11bf0ab9ac09750004f1b70ddd8f7b98d0f797d6d4e8cc7f0871693e82ee77498a348294e1638c816b2619f133cdd716ed9ceae3c45940aa4df399311267bb137ea27f88377eb93ec73c8f95db06d5e1ecc11ced77a321f48177e32c60e0df5ecd1dea8638f5965e1e43eb7e92156ddeaec507fb717215ef0226eb5c9e5968318ceaf699b6382fa4878914ec4b733bbb5dfa1f7a95dec6d09f7058702733ee576154cfcfbb538f48321fb29732624c7aa5deb34f5e75146660fdfa1e70407c06023f181591152bdceaf4f3638decb43fd08a5db38ae83e475786091aefa1eb5f9d55cbc69eb055fd53bfb825dfaee36934439809a679b66bbb823608e6f2196bb73577ce07e525f169b60fd376e483dfc180f9079b6173b9fc87bf73ee1d91a01dcf593e7ae969ebb8dffebfd3e1a4f2f97eca7eda714976e75465f77c09725aafc1263202cc3d238907cc1acfee3d0f5c4e5a348c96a76cfd7c1e0ff483136177559b22a5d7daa7611a94c38f2e5398fb529e50edb3dc3b57c86badda7752871a31b728ac64435a49f881bc8f565594a0995ca50f7f7846be4a99c88cfcfea8e003bc0687d4e53563a6e9bc8c17a153acb83249befc1175fdf7c037429cc45065c50d704e3f7b3e08b5ee729ab9bd4cfce2813e930ffd99985d2c6fe7746fa66642bddc43c7037df880bc52c8a3b1f176b19e33dd972f10c7c6ca33a9751cc8489e39042faddf2570c48c0211578ca837c807aee18b36efd111ccaf4c95a7cc867b28c592bbffaf676314bfbd97a069961757648ab0750a5cb3c6bf7831cf4d59c3f788c7d0b9b6e7db12acffef59dcec33b011b11db2783b8bc8fc6c5bce3a918d646800d5f5ff0190539bf80ad2327fee5ae667124e770fd0b917d781ff77523495ce8f612d6266000607de432cea9f462c7c0323c68ae49378716bcf32641ccb6a200ebff01670cecfad8996c23a89b071e4b89f5b06f0078804738c95cb7efda9a640f620824176385744dfe740a9aba51850c72b015b3f2c156e0e28bcac9dd7a82bd76d4927b5ebc5dff79a4930f6b815a7987e3db631f71bb4fda1805b2ffd649f7ff2bfc502457d05c0d65d0b07e60503707e7d116e746c6178c29c4521dbf3f3a230d7416c1389c1503fca0dd1efd9fb41dc7b0200f0eb0ac7ce35aeb23dfd600e709fca0c816c95864bb629bfc2f7bbecd7dc6f1acb1df905e9edbf3bdcf67051c2ab23ffabd11ba761639d6af5886b8f6c21ae2deb08a0838c1f91727154a23d79163436d6c78a07d32bee0b75101670ef3e0927c777486b5390367c5641bdd4ecf9eb33a40ac0bcb2453cde978c7d8fd75468a6c9c0e675431ea0662e32e55fa828ddf6f3e8bad6f58a4374bb93f950e9d6fd2c4dcd07686df97a2769f477551ce74888d03fabe3bc1f7808f8ac847c52ca1de37ccd92370f461df1decb11de6526a310a4ae0b7336a72d6a0f6406d21e48ff5bca1dff7cf2b54619b05824df9c627f80483c94739ccb7baf3259948c727f3dac9e2a0490b95e31b24d3b05cc37919908f98639ffd5dff9ee9ce5d9cae9b732bbe044c75930efd19d2ca34e0f5c167d1f04c39ab6295810e6316ff22c6fdd447ef77be2b23ce54bea2866b30c8281ccb7c711e3c5bf3437bc537a9a6b725fa7c42e9493e61c4d5946ec03e287dc0fa7fe15b16ac37ab999136c67dee38e41a3dd1ed6f6d9d108e773c8d7f9a8375dcd62f609c5253cdd8d1fcf4bfa7e568ed25c06f3fc8b158629e359e82d85bb7b7da58b6b82172ad5b63ffa58c7af2ec4e66ae4adfe11beb5f3ebf5beb2ed9e780b788f398491ce3f55a064ec865b9331fe30cc1ad8d1b2cd9bbf3bd1c73ed7e175f0d552119b7331e7c801795afc0265837cfd7924ff8dd7ca3cefaf8645afa260d7e3ffff89d0c388300af31e8e5ecc561f84815ac1fe938dabf09d835f9f4ec3bf43512c1c66994a62c836486f71fd95b61930e6b756ea8efbb61ec9f702c101b23f34deae23465e59a73a805f4b922548fd7c215363fca62feee3036efdae58f6a536fe8bb3d9722b975895cf980c6de37efb9d2e42f749fc2c33d85ee5e0b85937e7c07ea72716d7562474a92a652724d76069289b34cb7cbc416d82bfacecab3e34e841c1b2e986ca980a1d067cd777c0af010738bdd42ee04e1df5edaa58ff3a3cb9d738f0937d4adb5614dff536e5d92af72f14dfa0ff6e3b237dfd9e01aaa894cf849e54b306931f0bdd3ffca3b81e778fc6c456033a5ad197ee034efe6307e8e4dd6c9bc73c0cc3282199481ed2c58053a7bbe1ce0562ec2c967e9b919f015125bef1689c81e8798e83510f8999cf805605d1a5e2ee533c8b542d75acdec80cf822b605484421d7f195271e777bbf9c673fe15b41fb5c307da838dcebcca2b94cedec46e142e635fe6e6a1719eb43a07e6b553458b0d9bef02fccc8997075979038e2472ad79b42b2fb71ba477eb8d049c624807221c6263bea827f7a0fd1c8a98632d4067c804e253946fccb22fc13e28a336a5b81e5600ac9440a32964ab968a5bd1ea8d6aa08d623df7e8f2e61af541372a7a2f5eebb1acc8cc76de886e7550986ba172dfb5eacc0b25f9ae5523064e1bc560d1fd67640be80bea8aebc328c0d0526ff465cd68ffe8a6545a4d3bd7787ebca62a016b9060560d7217a0d6debb513fdea49e2b137bbe5f00ffeed9b9f191ce683f8a300b349bfad18cf49f00709d4f3f01e6f502dcc330815a304a77ae659840ecad8916f44115a5b3efcc52dd490bc87b7471fe11da8377eba86de7086ffe29d62360f041cc211fc61cd68c36f70fd54169ca02d958be5d1d202773b29d05847300b014f1ffe77e4dd7948e749a9c3d134e3c188f8007ccea567e372a27777b06f3bc106e1f741de49d3e79b60979a8854af61f8ccde3fe8b7d236eb09fb80e3c1ad988168b6cdb411e4c0cbc6dae543cc1b1437bac18f17f7131adbb36c6918658c89cf58c5912304897e4af10c326b5318ab03c7b1339f3dc6dd6c7a2e21bf88da1b675856cfecbb8ff908f33e6e2ebe294ed73e785ca0d64940b7340eb869ce0dc0ba95045dc46ddb50ac5002e457c3de83753c86d779855a41bedf7756bebdecd07d881c51aaf9d836e7efcf16e75be66200e43b002697816e1763ab84f64a1eec0f8ffad26f6b613d8c9eb9ce7bad3f324f303b84576cef6971ce9ee7a742d1530d131107ed1a772f9123075e639d3711e9bc9663af103874c7c899aefae6e7b276429c9457eadeb317cd70e9dd6888d9cf6cfcafaefdae711de05e28b5e65aae067aaf899411ec262feee3171e63155124ce27998f3e9ce991732c782ada41bf3791ba772e859a8d2d7abfe0c8fc540d7c7f04c59acbf02874d23a7ce64b10ed5e6fb6d9d177194f373df59559e91ddbc895c842260b31c7c93e6d57cd5f80e4f0d71c2b64739f619d83b2705e7206641de6254c5837b3afde324e5db224aa44231ae271feb29cff0c5909e4e03b698f10ceb0ae370a99c8c7928c06ef4338c8b3bc685226307b15ba9e3fdd9248a5103bffbc3b3711e057a3685f6a7c75850a783d62ca96343ed2e54313d93672f02813dfb267dc07cb4ecb9e5e387b869be2ad19ec3b5c9dfb1c6a5236ec99e8b6803efda3933a4c7008e816e4873c0f9813acde57fbe16d7cbf07f29a967485e6d98fa12e4f6a2e54dd28d650cedc6df635d09b89566c0d9d261810976eeb97619f1183b4c456bef01878c25791ed3b9ca749f13d4ff6082f358daf70dfb4574af233aa32221ce3c67f3eedc96a574a831bfbe394d544e9aab2d1e5e2247107b5b1481965c135d24df1fea43c0d4c73067e97041ee61569740889a60625ff5031a133e0904eb3f48f78d44e9ddb949c3f7cc2341bef862fa1fa43beb1c4b79399b7e99d3f1bbc56dbaceca1b7a7efb3c5ddc82acd70f35151ebaf636f89df899f03cd21fd7a8f7dd98a27e809e754da48c1ee30b887e76177f1ac8b1292b1d6d989b9d3343eb361e73204759afcf6f6f9b6366794e04e795cedc6145882beecbdec63ef0235b80cf2125a744314f49e4cc52dff18b20b7d3bbfafc33ae05cf7a1caf942f83059b61fb5b9ef5f83f32d479f7cf2d02d7a89fc4fa7c824d95be0deb2a7d1be2f5efc1983b65f654873950d73bccf83fc1a16ed6cc149d4ded7986b1c539f918086ce239351fe57c2911ccc6d657837182af89cfd4172fe7cbadebc701e018d247e02d83f5813ffbc0b7069f07eb10ffef913c2edd89486e339faa02fe4cbe4b87fb04f062d13e997c52fe44be44ee07dbfe0fcfb1cb1aadb116af5512683a10b74528d4996e4455e4d4d4ce453a5ed8aee516b715adfdd6dea990cdaa8bd75cbab161d4947fd4db48479c0e6d0dc02e1e8ef340475405adfcff88fbb3ee5495ef7b1c7e491b5013b94c507a5b7aee04928080723636e0ab7f46adaa82c226e77cbecff88dffd5de514028aa56ad66ae3943e05dfe37dbdf5cb13fb941fee471e84f6ea6bbd929a75cf0c8870add53ee5b05d5e6bb002ff00057ce89490b7cbe36e0d1caa430d40fe42b0df52678ee2d6af377a2675085597aea3945a795e19fd2b5274fbf95e0c18627d2d37d27dff941867cb6f8c61d43e483621e9c0be4f65ad0e2ce40a3d7e59ee88a363c7aefc817fb561b34477a7b2061de89deb6f23cf0cbf08bf34edd9e22f9b385f588b9042e8675e2bd9b0e3e7a029c0c5d0d786f5a5c055cdfa051dde9bf0dc62ab026b84f1bf773dfd07e1bd87c79df937daf3bb9b6b48cd6ec62a9eb11ec7c5b17ed3f9843e018b5c0758cb9e8e6c02f027cd05aa6d5e18ce15b56a6622ca3394039a0b552cf1e7aea2e80abf7f2522ff39ed3d93ef5fac2ca55dc79f0bb7560f3a081f5e88783bf4cfd978c68bb4c00970a39da13f8b59da6c68d4f3de4dff25cb5533a4ed74baff1a665a05ddfe5e3a72c6f7f4962b10cad39bf3c155fd6b44e048772479da2917b0bfde61a0905ba76fbade071fa52b768cef1dfcab60dbc641aaafa25968a690035aafa62ca5becffc9a72f13fcb79f3fabe27a36a4f15fc3bf56776b7a86fc4886ffee3aec8d768b81af6ccb83be6a4778c433611dc9277d0dbd4f2f9ba5bc074d87cebfdb8a81207301e6517cfff639e0143424bd8c84254fea05dc9d46c8df3b7b54472ddd17e7757c7bc4bd3158116abb6e809379cee9762635c0f65b6dcec0af436a9ac0cdec9d0acc6f0fbd3d75229f6ebed55c580c5988756028ff684b79d3d7365faddbb45a7b801f61fa2df2378adbdbe19e99a77dfad17e7adcd97c8bf6b5ee9eec63f75904bddbdd353b8deb9d55546bc72d581c9fe6b1d868e71e1b7621ba0a9529a1fb7d8963b50de49f0a61897179f3be47fd09d6fedbcacfe1c8adc219b24509bf033dcd94fc7f233aede4907805d87e0338149ee6f76db3c4985cb394f350ea72eff5ce42f3610cf1113b5f37b8d65399cab4fa12a67f0c1938ce39f41e7798d30d7a31019f29919a0a68eb9ca0561c8f3e91bffaa6d9f37a0798a6a6885f60fba9564de73be071a83077f90f7028effca51397c52114dcb6e3ca118a846805b57dad2d3f32f7758b91bfeec9353af65b6dde613c15b49612b42f512ea202d7c13e3771295e03f80ec79aecfb8ff7fc8de232ef7ab3a96f44f2fb791d67799dccf84bcf3f41f9814e950f3aff1ad48f99bc3b3d17742a9299f8704dcd9e57ab720c78bd18e71d067ccab8dfbe38459e9bef902f8131796928c8c4bee435d640c17361dbed9b3fd04b82f9735daa5dd40ef82be8fbeff9343abd0c66bc39fa8e8c01be1af445d07c91c9712c8e118d45cf354fc7a985de41fa5ef4c8e38b5029d03b7b7847b82e97bfb1380aa66658117eb9c7b93a5f16187f8ec763ed9f884f7b7d4363fcc02fa06e6a5c6fc43c249d769ad5dc4cd5a923a9d99b5843abd32e5bbb39c66ca81b9c7b9503c0a57d09e373b72e325cfb437b7894e5cce74d053d863d1728d63628fe852fb47460be4519b60dc827a6ff079ce908634b91bf92d8bc409f3f6e411f865ffbc139c478eddbbac385515fce213a45c856a6293a96de2fc53227d9e408d83ee5979ac4ebf8cbc6dc60c45e1db6edce4b0ea1af17a18439e130979dc8d834a81f10fede5e2b6bb0466d8abb00ae8d1aea10565a60ddee9c7090fd1c1da9987ecb75867cfd27d8c01ab08133feb0b6d2dbdadd227b3b0ebdc531744f35f8dbf22931dcbaf1ade6888e41fe25fd8d9e8b7e9c1916e6aa873509b5df407c6eb7b6c46e3539e45585e0c17eadcae01ca0f920e3f5f4ada2f9f7afd7db13cc31cd1512cd9b4d1d8df42ae4e15a6f614b705e078db5e3675381fde78dce2b53edb9db56655edfeb24ac4a326ffdf41a6714873939879e9bc71cf5d736d43704ad21761fd949937f907f6748da19f341211f34bdae7d370a650efa2b0cf5434c50dc033c0e033b3f8b46ee399971575309c08e25fe47a967f306f8ad33c851f131c5afab9b3ace9aa3a9cc2bccbf29e7e1fca1a705f83c9ef736a4393ad7b09a12efb7f07ee158ba7f40ddc46af66699a651b9ad435fc3eb52456b68c1d800b26ebd3159b739b2017f62a9d76688a5498e625464e743677949509cd5d6f502fd865d5d3b5d9e76b067d3f81d8d1ff41f7cff8ae3fddfedde00436805656f9331563b41764f7590bdc0f7a42e503c590366ca4ab9ffcbda046d9927eb3391ffff599fc57bb8e7199bb4bc86deb2c263c7038f9749e6deda4adbffba467dc2c31bdf78b80fe4f30eebd8dad13f34b12f8d2b2d3b1dcdb2baecbcf1512b9ad8cc7efeacb2f13fbe7c3d7f4b7966587566c84d6c1eaeb901f5ecb918ddf8eb9371ba406c7be3af9e2026a624577a161e34d0c09d5cd0fe4dfb1808f700cc3ff23dd94f9a9b9e0569dcd23cc0e21c95f229f49757c0de02e75050621f65c1ee5fa59efd644676c4bc5b8766aa0dbf8775ccceeda8bd36b04e185d1b3d0baf660918a6038a973782c84787cdc944ebadc3f104659875784ea6077e81fcca14ee5f1ae02b4b14a707be9e47a304c53329e62085d83b8dcbed2511c6cc757e6a669f43efd3beef7f032c95d408dd1ab7f2bac79513bb45f20098af6903fd4509e464e85c637049cae62f9ec7782da235bbe29f62b879b2de183c2be041c1a6680addef3558f3b806086bec1587627d57df24587082bf7f8e43ac4cd561f7a072e703073f8ad98e435fff9a517f03ea95f3d73e873722fbbfcb633d2365f17c9f638f534f22a9b701466aed3b7532e39ad568331df042f46b056b51f3d0ebcbc463cb289149bf82c5d85c778b8e299219c1f748f21e782d9dde2ff956af643e2dceb1aa17db7ecce99c22319983736ab037a331d9f47bc161717f2c1a13f42c5746bfa15a7b729448f55fe0e1ca641efa1055fd122b325a2f55244cec4411afb102b8a4ea6be400b601b809e5ee592ab344eb92aba3fde0faa0fbdadfd3328ab2e16f591e7f0abd6d85d6e66fbf9b589396b51bfd9a9b9eef3fbf3f9662e6a376c2fa09603f128bae4b771d9447316a1bde2c01ff2a46ed04e396d50146b75d5b3f2fe2c6e9b9f787dc2e86a4cf8ff5daba3dbceafc4f253fa3f911616e0df03530a61a7ad26e89d7706b1f63a7935731994a623af9218eab589c74d04eaed168c931730a6bb629e22d99b3be31f13d707ccd1bc081a617f1c8ad1395174d853e877ecfd535ece3e9fa2a7b2ebae4890f622a571172fdbe8ed63a5937411949435c8b063544c8c951ec0f47f0ec0de651d7f944dd5eba3eccd9096bce01aef154afbdeb909f18c5cf3886ecb44aee7fd390f47da414fb1dee7d2dfa5ce41c736e4b3d17432875f9fb0bcec1cf21068775218ca7898d7558d9f833704f15cc2b7f1b45c85f61f62f036bea42af276806fbda83ae18e1433bee289737c5de4b698d790231b73bfd9ee2c2415fd0626cb022473b972bf5724af3bdad619f2e6c6cdff3d49dd03d9e56e5b5666cce5b34e2d87c6c4d7aefeac46eb8ffe53a3dd758cae35eec25e62b86f9fd718f9f2d0cff447981bb5811db13b74d54c8f33ccb27205ff53df426c866f7fd8598a3bcdc79091f97507b7cd3ec8f3a845e43ccb97ecfdb116694fb5844316815e13a1670a0327917daab01bed3ce9ba41189158c3b4dffff7c4dca2f8fec8e509c718d0dd9e613e7fb4ffb23ab2faedb3369cd11f224a1af735f3dd6b6fe12dc33daefd8310804f11c96c521f175cc9107bced49bbf3b7ccdf54c3d5c538681ff8dbc6bf71fa79fca0cfef4f6857d8bfedde1bf4e4d744c7298d66d53bf4a4a37f4b514a3c9ddce327607877def2efea70c2b1da230f32e9dfc07bf0b7dab03ccfd7ae668562cc4e036f732676a7d4f3f93191ae9dd616f29f36a03777ed6c13e48bac6bbaf0b93a51d1bb495ee734ff1fde07dc830afd5044dfeb57eeebcefef6f3ebb3db3f1309db5ad0fb9426c42606e5c64a3993c188e859d8e529cdde7622bff71374dbca7986f97af502d9e8d077cff45ddeef434ffa17999ed27e7f84bcece33a21bd950f9f9fe9f3b9382f899ebd0dfd251a9feadbe7c56febd1477fa11f52fcc265011a4f344e7e12fbd31e37dbcc5ffd06d1c323ebf24187a35b1f6cbd01fa30bb6b925aff3be1d28177b86e5fda965e7302e37aba3d966a59ecfce53cf4c2148dbb031cdc2e8a7b72e887ec302cc0838d9eb708d566caee7721f8c38fe7834f47f0c377efe7cf4670deb65ed72b4ee7293b674b7dbf10c9fe8cfdd2a1d608fbf990e3bd74ce80e1115c8e3ee3131fb730cb251f1fe03c87fc26bd1fa2a7eee62eb90e7906e0b50ee935a49c72d6e377809e47c2f966da7349fc2daee77106ae0c3b51e4533ce349fd81f94c6da65b45e600ff3b8a8ff4bc3b7b0abcc1a6bc3877f35fd52f8922e2fbf04fc06793a83a8f75e2aa6eee984a71db3e7ba7b34a0eada68af9a1bfe9a0f3d5cffe7bee758de1e1587e59453e19b3d9315d10fef581af3bbbe791241a1bfe8b7d7046fbe55f3d073f0bad06c70df8dd0cef438235f3d4e7feb69a1b8a518671cbf87e1fa7fd32afd6db7bffbbafc6e73fdde3b37bc17c68ff52eb79ce73e988af7c95d5a8b303af6b2d05d462aea1b71137c05d14949adf9d67ef3c9e8fd0bcf536d846fe877a14e51878fe9c3ccba9fd1e780d6709ee04fc1145e78352af437f417c18f91c086ecdfa7be07b0a68fd8a3cd670c79f27aa5ef7d7012dd72a9ac177d86ec99fc7c05f62bf47e1d1f766e8e7f03be8fe42f787f93ff91c7afbb6dd7149591409fc1edab7d334ce34ea6be5ccfdb59bfeefbff4dc9de04e98cfb3c4df72680ec2f907974b14f14c9f25520a34e7037cafc84742f78faf130961897c450f3fdb252c43e43b854497e7b2c3bc5b7a88bfeff013d8b6c267b760a417a137c1d75797fbb8748ba820cf48ece2ddf87211d76151c97183ef473be43bbcf6dffa786f7fc7ed37837d069f2f056550f6fac0645fabd602c44129d61b48d3385f82864a08581d3ade556196a7e2cb81efde34cf3927425a41dcccf6eea2fde79014bdb619f195ec69a31f367f16f6b1857f6f470efedd1fafb0efc0b552ec6fb075771ce754ec9c0e4b719fa0395c869760e4de76de383315bd4e7cadfb2c1ab99c76e09e71903fcf49bb9cf8355a229ff3fa12cb3d97995edec60eadbcd66c5934555a6fd35ef2f6823f8af7b482faa20ff9eec3f65ea705e3743cf00bda55a693bf4521f4b5cc54f84be2438c9c26a5f3a695e46ff4ec593f374398b3da9b76e8e6ef2529dd963da6bb067b8cbfc9beef39f8951cf70dd2fd93c621f2a9f06dfefd31879fd74c0eff6d673534fffb3a6fbae70baaf51d7abd8f11a3cf69dec811b31d3bd7493d786d7731c4536da928c3bc629dffe76b4caecaa99319dfb2f5a5df7026a642ebaa3c70cb7fbfe875bddf0b593d88de573db1738b7e2f9a80e17ea6dd32d421dd09fdfcea304bb339ee892b835f7bcb4d05d796885ffc648f87cfd9fc20137703f695fdae06dd30a6d6407d41c39aa07b39c6d920fff827ce981a8a556766a6fdbd3be66d784cd3b2b92153d598da1fd91f7fc36701672be4a62ac067294e45f778747f5837c28d76ee6f1a78b80e0a9c302cbf308b5986fefcf44cb8c728feb8c34bd139bb05dd947fe9d3ede3b53b4e81e64cfb81bb5e8df904fa2f6261d9eefc4fee7bd6e05e18ff3a8d94e2bc6bc5ca9c038e6f4fb1f9bebaf807fa46f9b1e8fb5711fdcdf4009c719f4605d83ff4dd5a9a43dfa9c72de71b77fbe9cba7a96971d5b7041c37892ff3f0f7ba686e46b6b984435c60d361a9fbf1a53a3898ef39cb21ae5fd8c087cc0d7881469b375c1b613480249d8b3388b989162afe1cc52e86a463ecb4a555deed33f9569b3b8d16e8cb1bea9e9398cf50c8def842df1be723b4ca40f3b6d5fe7631e29d468c057c5b2c9603f8702eb4bf7388ebecf405aee60cf392133b43ef8be50c790b7bfec9a7fd288675ffbce23dce7f909f06cc0dc6e70dc69de4e242d0ebc07c38c710f336dd3acc0e8c3dad9591dcb392438d8eadad41bee6496dcd54179db61ef043fb4bb40e19dcf6781aef71eef81e9f94484d65aae8781ef2c72b7efe504f3794a938e4d701cceebd86ccc5b09a2dc592012ec1e787d854c539b2b8d078cf1f0c55ebfab3a12793a9f5afed8f3a1cf25b5cd75e705a584dbef631d66b37e34f8642304f4a3afd9ecda76116942ff8d9204ff0053e9abbdf71b89f47cfc2798f35dfb0daf6e767384736ef1565932246e3649f8e804d2d40bb33bfab8100d73760c325e02cafd1582452371622c620a625d46966dc31b4f97168a5ada94cd0733ef6444b5714e39e4d655a3d687b751c82039d2b5613065d1ff204df2a7a6f547372211aca5c049d4fffe348ebb9d4266a595edb8a5331797fb6a7905f7b4e1db4c89ffdc07d8dee82f42d39c704382b4197b58e5bc85bd0de91d454916d46760cf9fdc515f78ae50c57c8240a78ae4eac664fc6e946f45aebb5274781c5e8edb8cfc60af3b2c4529a9a7334a71bda0f79ebef5d86df6070e3fc3d6e5c63f95ed0fd96491d093ac4b68177cd08fe0fb4cc02af38c76d5a9baa436b6fb7b85c943af247852d1f290e60130c95d829bf996acf39c4fe38ede43bf4c33492dd36427ba70fdc894b721dc03bf902701cbb7179a5bf557f09588f697580e351dc3afd569ff08ee19ed43db2c9df56531b7695c17d0d7b01588ecb7fd0bc003d19743cabb3af4c866b9e705c81efc4f4a6606ec5cd9f3b5d33d0733695a9b8989d488f2a778cf77ce5096262d8a70bb261d1a199622d458dd517079ebc00fa4027983f0ce695069c3b775a97d0fb4cfafca1cff80bc51aa5738cb3c17cc798d1812669b76fd0dec8d618e8fdbbf73c685ce4359bb874e973fea227e242fd01d9a47fe3a534ef7051380ebdef116ccab557604e48a237f1654dce11b17b1bda4fa992f11ceae096fa9ee0d6ee784731bf70bab4e7db0bd695a67bd65c446318b4791defb9aba9e48035c5762467b154ed5ac9dfe3acfe6bf80b31e24fad0ffd367214175cdd69a8f575011130cc339e1ff4743fae15e4cb30b58f05ad7dfc49a8cd17dc7c0d7c9ee4d967c7ae0642b90d34dcd381e64b8afbae1bc0ab620e52998fd4ad873946f9dbc36714732661ed5a62a72e6b4f9c7ee35e41c04c057e33bd1f2b464bf63dde37d56aa421dbb40eadf4e28df4c45464ac314db0e236eef5d8b3fd0d8b19f40609d05b34e89dc919fb8f7b684c492ef52cc4989fe1b1753002ede06e2d3dd45298b5dc61f6ec67d8b56b1dddb8eb6a34c0419cd79e1b453c7a9629d535f6801f8bd42ed7de24f2ac01372519d71ec387f72c0d639998cf77eea9f559dc6e8f6d02bd8f55b1b8abab6cb05fa2f61818c33e9d3d3e1fe4c1e9bcfcf62691630db955d11e35f8ace7dcac5ec5b8a1e27281f7ac4ed5f91f16c331447be79feab00d7958f4017f9aa902e6f5f5f1d24baebaa79cb38089c6385adaff4e6b13849fe7a77ade1f52371d9ea21de22468cc82f3dc03aec1c9d373805f02c77ff73d6b98338eab7b2dfce7b8b16fab217dee2fb5c1c0677d92c7a8efc712ef47a48ef0c4863e7be6d5d373d01ecde6ccf2c79e75f27cb1aa17d02ff750d7e8e6cf267caae5f4f09e3bfccab3715e601dc687774379a91f9fadf78f633687679f38b32cceb1e0b6c99cd46f714c0b5a1e5dffa384e2f2a2aff1bed6fffaafcf47754d873e00e17eb8dbdfabe8b02ce2c3560a91ed26fe0bd5b94773263c6cefeaf1ffdfdd9379a7834cee91f2d4ddf159f4361b9d8f7c60aa6563d09a0d7fe27c2b7f4fa4faaf613f7291235f167c5cc54da31cc7b3244e4817688f571efc465103cda9bb9c90d5607e85a7dc878c5ea3d7e5d94bbd845c23edd7e3d682f39648741cc0bf7ff54e6ccaddc0e60bc9581d1385ff456ffa23efce791103767aec7e33a5782de8031c72af3d70b062bbc7dd6b82b37c95030e09ecc33def3f841a9933616a0880933c846ecdf63e17ffa9f7d9e5aa2f0130b530368e8ad66151278adb822f39dab65ffe09ebfb33b90578162be5281f6d54f0547bfa915feac14fdf40df198a49ef7aabc16eacedcfbb7e549ea3fd799413d2907a5b49b883a92e5ffd147f4b784b63a5490301ebe23caf678e458fe798fdf5b39b4743bdb7177cd9fe93356d9f6cf49c845bb4e78eb5afd7576b8cecb5582f9a8dc73a7e218a71c8e1d919de54d88bbf04d25f2d6f2fab4ca77b5f8675d381efc5896ec7acdb57240dd9945be8ebdca674cb68a417ab4ccf880dca4c85da72b924b5166c1b33adeeef4daea3d931ebfec6ba6d4f6a24739cb32d275057ba5f6bd8d723bcc7f87dd4f19e279a13b9186703cddd0bd8b6db55dc91983199f117c28f0d7386f2fed0fc04f0bbc88b635c00e76114b8a0275627033d3eac8586e28c7b7bf69b66b6ed3918c72eeb45c8b9e358fac9fcec273304b7305aad3266d334567faa8e2fb0053ec00ac5d7d613be3d0673f5c8afc7c4233bcf1db1f789d68b598a57c00f1db026c3a6cdeb449a1c427f3b8b04fe9a00e6a4e35d43f3c87fc2b937e452070eea0efb5e519d83883f553ee45ff1f53ca1484cdc3f3a8970ad404c64740cb6253bebb38ab2cf76ed8d192def8633bce139f8ba8cbee781abb7e5fd18a7e7d0a2bd5cfa148da556e6d9bd1651dfaf3e7c1e13fad5fb7befc731c57c71731c57437e54d2702e47998b510663d963225d8c67042e4ab5397ba32df08feda0ef19fa2001834f78d270bdd5ca6bcdcfcfb1528c43af91a2516ae35ac4e2887ecff6ba1c558afedef6f5690eee47d5c4b89d8c76de16730223ffd22bceae50e4c0db7ce361bffc92932a54b747531d7c8fce3d057eeac3f933fe661ef0716b6f5e07c00ddc9f97d073b2065db38a0a7a6c5edf5de702fc698c3640608ba9d16ad9aa1c7218e8ca3d87c1e43dbcc7a2526c9be71c0daba073e1c8e84b8809d90f5ed5225742c74f4cf691a448545efcb6e47bbf89d1ec7628be16f31976dc92cb5bcc434c246a87cf4b2c14041f2367a0bbe66f8b95d014e161f366daf36661cf9b58fd7927e3f7b6dc7f5ebf66a713da4f76def89428e275b597d167d7c0db8226ee6afff11e207f18d9dafd47662ad78e5f2f182d6fc0e731e3b258116f3b82272238b22a299df79e83afc27c73b753168d7e4eb150bcc1f54bfd1297c87ef3e8f377141fc7655847a3f82d16966d2434f54a803e952ada5769e26f2f2b819cb33fc2f3c48a9c83d6d3ed78f77c1fc56ab4bdc4b363a35b687f78e4e24a9ec43a91947798a24dfbca4e5dab953016b5fd9cf0e4a1f5205e4d75212e6cc253a138e7c893db5028ceb6e296c8b64752c777d7eebce488c60edda796a1fd6321406c03980fbd0a05d09f6b879fe3b96e584dddcd03e6ddaf2d3d0d0ecb4ba4a239a6d53b9b6b1698bff81849138a93c1eb439aded0f59fe41779e82326dab6839a94ba19c6f1733e4d949f735c8a7c546e8ec8df880557891431050c34d51fbaab5d99ea4bee36c2a1d3d46bc779c289f893854a216859fede8f2568e0f7f3b294f73b01f8bdcee17c59effc0f512bbbd8e01494e258cb9afa19b7daafd7c8b4facbc23e529ce3731d7cfce3f5d1987bbfded350efdb6ad03a1b3b645d38a55bef3c8c637fa9470e5c0bba68aa9fd597e2d61b743edeb36eaf790e8167e88235a3d3229259bbf1eb39679c076a2ac0a139644de6d8befc7e8fa0a78935d514fdf2252fabafdf74d6d1390ae1f7570aa833bbaa3edf81cfbbac2261f2f07c64bdd25e5e562304c572e2da9b03b6fad59c229c6d19e891bd3a46d532e06efd7d5ed60cbfef3e1e2d1de879b1f46b345a5698ffaeead7a87daa432fe4561907f679e17fa2b9c9f5363e2da89d20df9d9f7db7c2dfa1b57ccfa3583ce156e49e7c76065be32c70ad46104f31ba3f6f6b13fe5a648bd2b5bd989235ae4787cd31ce26c7d0033e6934179ff08f227fa549bf7dd0be3d52ffd4171cd16b753ff4f4bf3b1f7ccf65343a6658c74c4f4cb57af9aec838d3b555bb9e237e8db8a1fe0ea9e353bf15f3282fc1478af95381e266d77391dfcf72a423dfa8c0be6455a0589f1cf3da1f76ebab6f3d6ab7198233e0fd88f6fc37cb3dd7f14765dc09f397a5c5da15817fce186d40dbe9ab64e272c5150dc2636df83c8ca15b629e28e0ccf5095fa1f5f347b3f8bd27b8a96fe567a3cd2fe63c013c88697117532e8ab57f62e6e2310b3c9d68753b99a986552c14d9ce6baa44cddfb432ad42655b449956f77bf9310bb04e2f8aa9b6a1cdbf239f06c5630ee080602fce16925687a5784ee484ccd363b69c7d5cb5c3f05d596cbd8e609dd63ed3dfceeaaeaada1fdb93b91df083fc1c1752d302cf99959ebfd5ebd5b0f2bfc0c9c2f3d36f09f34daf0edb21c64370ee7514e9efa66b4b273e2cdec3d7b7f9db426a6e6bfba34e6cee8a6bfe63a80dc5fb69467d230d8d23d57b042ec02e9773c531cacf7b605fb99530ffbbb6b54a2b89fdcc7aaee3c4aa19beefe66c089302f8eaa5f915b873d0fa6c7fd8df61ce1d7285773e51abfd8d4a17c59635e06fadbc426b8cf87cb8fe84b90a4e503b277cda5ae79775e7839e32f23db40cb420095770ca1bb78e9fb83025bdf31db5ec740edd534ab4232b63785f29baf7f5c8f9fb3fffae5dddee7e338b467a1efa5a46c70c74fcf17bec9ebb8fa7e41674806698d70a8dfbdd9c5a06fef66896cb62e75d8fa15b67146fac65587fda3c6c2f2ef21bfb3ae0dfbe07f0a7315cee14b53c6ffa8b93b97780f7688162fb2177d9ee492c285a10a7e5c8773ba298ec855f703480c7202ff5ac7bfedef7b81b53bce7c2b8d79a3d070ea7e8c6435d7043d79f0ab81e512bc532044c8df6176b603fb16fa30d6bdf202e1ac688345662799ce6ef81cd6581ef7251ab77f57b439227267b8f7cbfef1b525eea258a59e509c69a3ef707e0b87c0e731ff669d0b790f9449942df6d80fef63fd3f8b02cb6c876f99b6300f94abd8acaa6fa17be7d3a6615eedb4a8a644ef1e87a118cb637e03d63b02e3bf49cc436989e7ef9c26bf56ecea6f6ceaf20af6a4af306c65f027e79a82f12cc56baf6409bb4221c8c583fcd09eb48903903785c90dd3b99dd5c3a345343c9ff306be98df14f33d0b456b53ab0f2bfdae173ac0df953a91e51cfefd9e773a0c731f487fd3866599c77bd661bd854c23dd5d51dd15ca45a395f82780dbc25ec2f5f425224b327f9786467599d7a472ff05ceececd981a7486fdedf11f6d3fcf56e544fc867ebde52de6267ce4e945bcafde036f52451eeecfb0fc6d1197f8ff846383f630d489c70f3e0bcba28ee6fd3de3cf9ae26b8efcf9b8ff5b5e1e633416b817a08c8409e70a2ec471b887216977def613c53cccdf33b4f7461eee8108477a15cec1373c45b97b26fd0b87b82cf20db93767b44d637a6fe87859bfe07e0c7c9c538aa3ad37c999dfb0a25162633d0038aede7993c252d87b1b3e1fb127f4ffd79d229fbb1e076f7b4946b837e52b2fcea1e28e710f457589048ef6b4de487fd06d753821ff1fe7b49e73efe0f70db5cb45faa4fe337ec08458a487087c53eafff71c1ea0876a35fcda49987ed0bc8e664c7e0de6988b7c3e6eeda685a12ec057a5b613cfd76594c83cc6f9309fc57c8f1921da763d67016878244522e955947da68cde1af0e2ed807b95e87e91756fd862b52a1be0e018e0086dee18dd18ce47b0f769c5fa4711b64b95779381573fdaf39d1e0870a5ddb82c22ba1aa01940ea6fc081b327fbbfa49f138fcfd01e0a3ec1a89926c07936febb064ed582f85429b661745d15a79b6f4f33e4ffc4ea0fe0389ec7c818d306d73ea0bd107a50ce3b6f92877eba0eb39f6c10234b982f27924f9c6f73d9ce9b1c435faf12d00f41b19c7e0bfd4d86ec241a6ff65d20ff2ce87524617e017f9beafc8924e0c31af48f630d67187b11fa0e7cae46effae55cc53689e189f819faa87376ce1577f30b6c381943ac3785b54e9abbcf9689f1308f82fbb97335b1be1bcb994df5d4ba3c730cda17fa391ae9a7c0239a9dd0130db9ef2dce9fe4a2e3b9680c3a9d0cf49ea2fd14cdbfbb3d07b844aff4989dbf5476dea44a30a7ef1f347716b30af43d51dcc7f404451a8d59915f4672595af1d0ffc3e3fe1f763cdc64ed9f9eea14639c1fde2fba77e086dd3b78a5a183e6446891fc1eee35b3426fc981a60dc3fd408e91605e22df9563f77ed02ec031c34c24fe9c03bce42e8e33c27050771ad48899e309bee2bfe8433b05c1744d45c8d9933c29f513917fa667c120aec3ef7cd2c77d1968995cbed5e68ce7d9200ffbe00bb13e28f8e1c03dd9dcd09e4be2291eedfd01fadc3e5e991a508a75f48263dc72d4cfde875e01faeb035ff3552c3d6263e92231effcb89d7be27d2b3f75f7c1c403605fd17cb5c63cf072b7b85691f4f5690e73d840ac08f639263a46e01b6544ef98d693601e429f48efcba990e330a00f00adb7b610e9bc67fc9e612e78c6e5a1950e7c5a7b902b6e5efa449ddfac0ec76143b0d3c39cf3609eff3687210f65ba09f8595fc230bf077d702ff375ffeddadf565e192d1a67fdae464cf3fbc74ccb9abef6906999a974b9fe8cd48aeeebb8387ee787fbf3ce3a5da0cf8d60e97ec512027722e19edd73cf75c5719f2570b725d24fa6495ab52a4e856f9fb8f56c83b12bde04fd2e8a79391fff3ed1b16a5a6fb4392d009b003d04030de36fe69de15a02ccb9a1fd13f2bf11cf01bfe3daa90a83dad5a126cefe99963afbaef48e73f75fb1be301e01cd79103e34b32c6e1d7ea0e70e6a7b9b948b89c460f5eda65a09f3bf465b5cbcd1360a5c3e6163d34426f901ab69594c6934e29f6a7b477bf15ea3eb8c3983e85adc001609adc385fd5c5f126314ae47435e9c5d3529426f2c86fea6320fc85fdd5e480fcf7b208867341712ccdff716fa9b1af6b9c77865c83d4e71898a7b5af71c1057e473acbd71dd69e3fa4b14fb893b8c6fa67f9f19ee93baeb69578163ecb6ee391ca8be5787914ba80663b9e4e3ec87e9559be46b5fa3e7118d30f1992f771ef872e007b9edab7e7b1a07c6f3ce8fc19813f4d9608e038e0af2ca5463846a1cad4a97c3e3fea94582f8376e59cd0396470fea017cf40bcff6dabbbb16dfe1ddd067c9037ea2247a3487c53954dd96f4e653dde56b345a88d8cebb692c14e7905eaffb9b6330714faff54f685dafe66cfef01ecd12cd6dc2156057f43e2ff18de79839738e46b16830efd1a4b81e1c0356c661f377301fa4c7fb8947db229682f2e11e0e4b2ef43f86bc7b84178ff97d8aefa9096726f2abff907f3b2ceefd5c300bb1e34c61b9be29df07ec8f386f30e4f6e8de215987d6f5787fedb57f6275721eebf40c0eaa7fe71fb4af00d6e51053da506db2023f3f1fe1fe5af1ea5b41c9f4e7e3733b6c8943e7fa1ffa1df3d99bd1d51d4097129fab90ef41db27c77e1ae4c3201fcaad4778af7dca83c52fcee1e107bf4ff954d079bd7ef139e0e6f673124fc37b1d627e25f96e8fe9eebdd44b5a377308d71f89b5dd53003eeb01f7fbfbb6f83866247e4f6e156bab2967203db7261c307f430bdb2403788c7a7fd65590bd7cb00fb760a45f22a501bdd2b57fba3dc604c5fbb3f78c7377781c86585714ff90fb739971c5bd292386abe386fc82b57f82fc49f06f7d35ea7284310eaf709e63de7470fd3c1044b41ffe43fce38d65e597c561c883a51df0f5b403f0cd975f33beb8e3873bc3fe04bd67e198ac6fa88de1dcf29633950967aa3a672a05672a224735e212453c8442537cabcb63344aa6585b2ecfcdb649931977c1bac12e79079bcb508f6ac9a17d01f357fd604e24c7c1fa748a7bd6b370065c8cbe5bc4a3ed67541627c299a9c4a57c0a6df1f7efadf49648f9dba685d8dd81bcef08ed214b0edecbe1e74cb81084c0bb56f4b30478bc80439fcd6ff2893488c166609f64e028ba24fe837e36d7f78403bf3afa7b1e40fe65029a7c037c84d2700f3dbba4d7e64ba0f5daaaf826f833b47f438d69766a911f1967b5b8c878cef08a88a911fd3594b118952ef4e2f8365f79edb0ce82d6dc1077171c77d6e4122bf27ee76f276b2fef7053505b188ec9becff90e708f2deea70a39f3b01d859e7b0e7d9de62b80871cf94801e404ee8e69b57f80cb5a998aa09be9e54c6ff0741a108c24d19e805e3bdabf1a650d68f6323db1ed708c43ce50a6f59d36756aaa1afaad6a8de29803a38774e87d3f53054edd79e885457cd08b5042b1be5c27823c89db7b2dc60eabc5131b27628da6474c58d0e3c1d2057db7949748dd4ebf55c070a2b891d496f8f44bfab9123c551a1ff0bc36842beb3f9c805378cf35a69572e6e0bbc9f47bf651f5cf7c3d27e0cb4e6e4f7bde98efa1afeba0f351969e599f1beff7db2a3c14804b4663ec0957e4db723edcc7b5d1b3b0427b94a114d36f157a48b89d174e18fdee1af93b0b99ab4c157a9e6e91d00804837b8cda268a20c7346fa05f06b07e9df6f8f10bf8b2b9b7a86d602f89d11e32ecf92e0cab413ecc6d55301cffd2fc6aaaa78edb764b6c35e49e15e2afe16be1ffb37ea6ca81d63bc3c5d5e507779e7b5b950efbdd9afa4fabc3a666dfddeab0e5bed586c79a23bd7fb73a6cd8775ad3f7b02a4e89a9106d3417af9d5fb869d1bc7512c12da22cbda079138d3eb98e474402bfeec670e5c8389e4822e089ee8eefe20c164f5cd3b5dbf19c2ae3ca542690b7bfe72f65f10f0bf0bb21afcac1bd316b6db5ffb85f1b3f84f303d6476073e96276e2d6ca98c4cfec1cdd9239fad30cb494ece9f1d53c5d58d7ab0f399ea7baf2b5a9b88961e56f98ffae2a82d176707ee87224665a02bf4f70e36be20bdc480d3ffd4d1b9f7288134cf2997296a031d8d93ce78d34d193d2b3e1727574e3b1d6e093b83a6a498edf13a305732cfc8dd68e324eb18e1468e8b6becd5f4ca5b3551843f234cfac939cb23b8e15f91c92bc32e91725f70b1ac5a4a770035a691dafbb02fb0f8a71c9b1503be9ee2d2ab81ab4116dbeea74d7d42d3a47dcf9dc31689b1ae2126417281fd19caec79ced3f853ed6473bbe44d7a2f14a0df9f7fe9aec7e71329431e66893482ea5109bc473f9d0c163612857ea8ff6f7043e0ed66e8f461f629461ee36b3d4818f38ca7234f6034df4c893af86b2a883d106f8ca232b659e11c7687a16de7f469f01ade30af60055bf84231db82efab58cec62d242ef3fe8f14f0aa35fc7f0776f0726fb48e0af780ee4e7b0942b1823f2bbf8ef1cd9af51e01737e63a69a426e997bf60fda653e86bc701cfa3d5bcc378d9d5c554e4f30ed968a9c1636a577763e88a06da2f54de3673742c8f39f6f6839a709948cd3b59efc0a1fc857c867d15bd5c63fb2ebf31b099942fb4c7082d0bf4febb78431d6089ea086a607cf28d7c3964b3cabb1c07b1bb11706c4c8fc0dba63822f5695625708c129d9774630cf6fbdedf63f15eccdc863ee4186a1e9b73fffc4bb47ec4c7cfa816c09d7f856cc7c13d636e3ea83389d053d3fb3c6f9ef0bff5f39b4a20763599b22078389de2fb32dcf3dc5c29477638e3d17e0c7a9d148b17deee6bb7a0ab8ef66c81e19ea9b5321c634d6b8dea85b7d8a68ce91c024e26dc77c7615bf6b086f1758033018d053e2f07ad3a145382deac5b84330e70d9c8aee15e61e02e294c657e0e3dfe9aa839f4820e7b4e90ff373f27de04ffa6877cb8c511f2ae0afbf9e6afd136d7973ee4e883597343bf71708f127742eb8fd8205cab3afc643def493afdbebf5fa2fd0d3d0eb8f7bf5afb5b6ca347acde10f6517b7d0e72cc8dbf7cabd78cc67e184301b823716da58775ab83663ae403c9bb227dbbf46fb40f55dfea354d0e43cedca438b5be55002fc9ce9bf0a17d3aacadf9f5dbc3fb419205251c83739fa48e8f6210adfac678487e6dc936f0a0c23317942f1df2cee837811382c37d7836e10f032e1d8f9d4f41a9ef9ff79446d904f8f5c2b2b924373eda49ccdf6d73344b51087dbd8c1471e449777fbba4d77bc6898672c5cf93f51af698c3e8ca68b5ddd51ead6b06b84d0bd7f883219e8dd5f8877a6e3413f76beffa66284d61c8a70263ea867806a21556077e81fcbdfa976bd691e21c3d01fca1ca947eb29d37819c069e034bb4ee292eea44b19e80a36a493e4c9a8b11ecadc0e3523c62ce70ad98d4cf78a27d43f6b0bbf8491a68ffa3188bf6dbd6b0966ffcb17f36d05861c68edfafa19f07b01bec7122b26191529c438bc7bd272df0b29cd9f7087132fbde6f5c46f3165af6cbba167ece4caf8a38984b7c7df5adbbf932e307bfebdde4c454d86b24e1da1bb37f478b82c76b1bf9c956931b3ed84481accb3cf4c6d826033f5d0cda74e4f36a7508d0dc63f8b3903d496f3b451c6959c3f6e5d4c8d78da02e1a74399bb5251f0cab3920df856a6d43bfa2fa710e1534f6f7e3c1aeb964faddcdd3bcbed7eae9ef03f4a706f59c386b72f0537daec2b1365ad3f11fb015f6f16aaa5a1d4b791d67805d10401305bee3a12f2af075ce5462987366e99ec319f339d61c41fe97b84036c4c57c06b4cff869ec35134b9c63a35c3afa8ddd77432b7f0b313f75779d3e86723afc03f277436f23fec6ef08fde619ab63cdf45a636e91611c6c57ef81209e62a52912c5798b40736a5cea87edf45be1703f76e9d44cecf9165a0d8dffde2264b3d4660adc881ef49ea273c5d5a0873d1c9ba558867bb1656b166bfbe34d2b49dd281b681c0e8e83ba7f36c9135f279a96f0de687ef20a1a79b7bb6bbb349f8dc66c7bf3461a9bf7485607f66f888bcb2fac6b5384ea82ad9f5526e505f435bab7967a867550e28cece1800deabe17894f51c7d9e412291b741ce35b372df095fa9fb097dee782222b6dcd52ac43184bed1c09cd1d2f1b5c17ff2ee6eeca431ffb00b4bfbbff1e6a5ee2933a6f1978dbc255a6ffce574a6b475d2fbd5c1816ae49b0584a73f681e29e23e6649f80cf6f589394e4620b433d75b9c4d5612b9a8a43b84db99ae22aef7815b8fe18ec7362ae9ea7fb39f2456c3a1f0c7a9ed5a40f1ad2b4f678e8f863eed7056780fe727ddcf98c663fd5e2829ad3f2a8512c2f8ef5a017fb9bc93304c847f426552cfc8881d580bf81b9fea7749efce9eab81e5aebf38af677531f2e6ae97b6cd28ed77c583bae608c7abdeadffaae211665fa47e9bdd789945e0c9fa9b73ed7b1c67ec40dc7323baba9186d68e8a123cf43ee3945cf0c3ea8299f928edfffb90633e18ce78023bbe7cf002df6bf1af171090e2633712e8bdb793c8a53eaf84e2798f0ed7186af4789cc95fa01fe25f17c5006560ab88a5edb1df61e0ef7ed68555c9c38df0a4afc2f1e3714872452a74f82de7d6aa8705d1a7f70b0ffd2dcd5687332edba8af035a096d471ea8c9a29f5817656509263c8b8cdc5b507983fe8bb364b8895c9bda717c36a8ab5356f4cc84f7cd63b6f093c140b2baf56ad8ce2a50bc6026e0b3a8f3acd68cc1d42e7e560ed076ced09f31aa544b33ba5eff13fbd43abe17a5d5f5ca307cd73f9941aad4e9e514f806b84fd8cc4645ac1614e2eacf9d0c66d73597be33f51cf95f0b698917859ead79866433f249d7b04a332af3d9eab4c55035b4adf7fdce56558bb8afde1d0e659ceb7c2b4b877c32b90ff82f301c07d02cf059856f439b5fb74cc762ef25bb0ed63ed83a9e4fd3b531cfccef0dc29d6f6c77b68379795e0408c8f7c6b3d0be15fac6755dc7612cc15746dfadc83dabb619f40672c519c9f7e6c52f19e53c36b752e129243a4389929e9c497ba62bf15bd9b3b6c4f9c75f868d82b23f0974ec00d867cad173a318ffcf4d053a15f22e05119dffb27bd3edc139e920ee350d27c90738cd4cd31cec87b23bed01d5ef43d169a2a54dc79344aceabb2e18cee79f39a7ce7c6b3aa4e500c03cfaf55a6baac77b03fe2b8969cd78d996135b07f5ade78d08ba0e1fd0ff065e87b7be472ab03b3ef65241e3e707558ca79e86e2fa190d4a15dbd47b8ef8dfbb28f7d3c7de0c567ef82bc83c27fc17171bf7777fb2b70b3d2f743e6045d67373ef22d5af7dd5681508b2fd7b7fd51432eae3b97ac4775230eb4596cc8cdb336f1afd1e6c7d0e631a784f5d3f14b00b602fa917a7dd344e24ee66c5ead84fe1ad8b6e1da345a57a49edad557ef72900ffb21b36f50cdb7c2b0fa6b223fdf900af1495d585cd88b9afa8a043b7517c34c38c09c1f36608f62c02ef6d7c2fbf7e339b44fbe3f0efbad6bff7443b1de6a1f5c17525306fe925bed35f47f06bf72e416f4b9918fa7b810bbb2cf1d67cd80172f863c6a38c65ae28c1fcde37c0a3a7e0df933bdfc923adc17b5adc523f6afaf313dd4d861cee6ef89846deebd3fb6219c4171d1d7cfa38c70a9a9facb5eea5e03aca992192f77395da7d3d7386a943b5ea2da93d03b8ffb8ae7cfaf1b8d3e09bf7b5e01ce81f0836b84239df4fe4f2867ba2d8c452d833c569b481301f369a2efc56b2253ee7a375f7b05d773d9bbb929a5edcbfb2e0b34373197eb0173b1ac2d9dd3b2a6a59a646b4b6f036f5b452d700ae0fff3ccb1c0d980ee9f68d3e118f19a484d4e3069e358d5ce81bfe5e29ce820109b3ee8bb42dfef7fe33bebb9c69c769226ea96d8986bb37ecd6138e031ff854bf2377f83d12b93b944d57ace3ee4e7d07da08f79d227bff514b73ae813025ff2e706d8d1362857a0c3362df53dbcf34b5f33d2f908788c8a73e8ddc5de18dfcc72b6ff71089eb3c7a01e8f243e006ee49dbf0c6ca79947c28272ee54901fc3ef8bd4e3364f78d0688f0d7ebf441ffc1c94e22562fcd7f5e8935b757a2e68aeb33a73e33f74cf46ffc779d9cf87f186da8a5d01060d7a5bcbe2ac29f95027c64adbb59703ee98c4659c61e57fe2fdf118428fcd605c8e30162de649a0d70ed96b9794a71f732c77bd2ceaa6326cb15d51dc19fa5d17e2d67328e17949ea3cd59af2bace2a1c7f3263ba3a10adffc3335c18d492d07c48efd71c8c4129e73b0ff78b2612e80416ac4e2053872afa75c96a112c5fe90e607c4186716609d1f08bb21cb469596dfacdcbf58afb203bbc878ff9d87afd78dc83bba3fc7e435ee5aae31bd8f39537d2fe1a3c57bdd223c0f63baf637583b5769ee29d07f106ee95e77b8e5b780ee0581b57abd281f933e0ff56c6b40ec7ea60bd9af7b768e4b681e074cf6bf2cdc868c58371cfe9d68f55baf6b65cdf5b059ab278fded4f39e88dfe278eb1276b94c5a9e35e5b3154b751c47335f9578cb3a6ede3e07997eb5b0bd337c2118beee1e2634d9a16d93b62e38fc98cbbf8d9cf9f15d947be55b2efa80de8e7063edaf73aedac4a97c4ca54920ecb17f80df0481bd6e6b21b728f095897b4bbffe3a08e8935fbab4e8b3ffbc8eeb07393bbf39fd9c60eeb7dc7f7be8f14f906baecea35bbeb393edd5f976021901dfd8c0f7afa05b558b15865afb9281f9f85c7f14ec6f0ec8c1ef5785ff648c804cb2efd5b3f41bf7e41e7ed51ff6b887fe97246435f8aa9cf019725dd63b665314671e4b7da14fef3bd118efb7fb7377e601d1caca130e461f731a7dfe05ef19ae34c1c6fc2e77d2f2df7b057219ba501461cf028d57dbf2cec1318438eec09d903b437e8b3b1f9f3aa843ad481f683eeacbe4645f72f5a771e9c8bf98c3b5c39da3b024fd7418bfa5f70e5cff626ac8983fba1b58cc5236cfeb09c39c8b75a48f9db4eddf41a6f0cc73cf46b8d5e7c87e7f9312edd727dfb78336d19ef1ff01c6185ee5b2bc30beef9071d00251a6999d9afbf37ad5cd681bfbcd980add5c1d67f598039b143af298211d64035e8fca7987ec6ff7dde8b39c8570e354bef39211f388837f7fcc3b7ee5ee6784c712ebf114df5714f1a68ec0daffd8ef67243dda03da80ebd25177a5bfc8ea5e6ff741fcff231ddbc81be56bd08bced3a2a9b8996416fd7d826b602fd1d086e1dc9a0f54fb81ff47de835b5d373a3a06b5c121e1d33c6ef4e68ec5891cfe8fcc45f16b6275fd1ffc3839e469e2bf5fd8e3ad4dc4117ccdb5694d7cabfef41e5e9bb0dab2f99f6c9dc6b1b1409e1d57dca251f78db7c2334e97dcf59c2f071b1b838535d301c3a506f7ad0057fd4d582776b77b9c852cec3399ebfe89d0e7a5714a7feea7b52205f8af98bd362edf1e037b3faf18c4f843568470ef84504af87f63acc8985fd9bf31d7e20d324ed6f72d81c7756fe17ef95a7746d7ff4dc4e80db9bc335e38c68dccfc5d290b41f2d3b5d402b3fcba70b989fdadfb537c5d7b14f15d669598809706c41ade2fcccbf0cf0f867a6ba6075ec29df75c7eb076bff36accf303921aca5403948db8647cf81c62102deafe2dff72fdc9f42c7bef703f1fd1d1389e8eaf45cd893be2728afbe09878ce63d8f391f7262e05f32cf2f6919ae1bfc1c439b3f615ed29cd9a393e30e6acc63ca39ce1bed2901ee2d2517bf206f01ba1844f36dc83501ef651442ef3b7e6fc53bf4468ee875a762e89e52b826fd2d896bd6aa36e0384073266a6be81f357c4d8cb3491bfa9f75e0a1f5c6ce8b2bee311572bc07de78e4bbb5d0ab5c8e1ffde9debe43fff170bc96a2a9925ca583d7ce705fcb991cd094e979cdebc01ef6c342dfe013ccea8ed5a3799123467638b0456e3da279cdce7ea0f3df7a6d6a66ceb66965d8d5098d3b3def5f6dc461f8ac8692ff662720364ba442ec73d4bfd747a0c6ba871a556af8a72e9fdafdbeaa89910f76a1b30521f4026fc01644d9e418f84bfa7cc8af3d33bc79e49e9d6a558e0763145a85187acd2db43e19ff88c73d64284e52dc34c2b9accbb77a3d1a8a23b2f61074ee995e3c53d2bf7d81f1055cf15bcb005f4ff6837b7bd3d5081fe27eea53a0f3fb5a69fe47cbb4b7fb1aaccf8b78ae7213b4777dfb3426c8f20a6b30a469cc3d9ba7bdff65129ce56ab411616d0a0ed8ce7e3d76ebbcedd6f9eca91d3f2decebb15bdf6ac181268c85d7a849fc395b0886fb95fdc1c4bf72afe9a8a6280e8be34c3cacf887babd1078d7c15ec9c69ba1d55426cbedcfd6a39f71c9cfa6689f3a0156fff7fd93f846f573bd0dac2543f32e1c7a6f51f660af99f515a6a02967576703ad674bcb5659cf1f3358f33391336e5ca6ed2b12c74daa98c3f603d7618323ce67829602f7c867df734f114c5881f15ee87deb808f32540dc51942e035777dbf50fbc6f13fbae7bb3e65c88f38680e3a4ff508067931a841b2fac91ace8991f149a46b46f23a99c1eac4905c0f6016adbc5a1d367f9eddefeb7bddfca7fb0c5fdda79582762eaee76e6a8de4add05a5b0bcedb73cd4274ce86de3be85a323a6ce304f7aebe757541e819af8a2e1fa976fe71e72ba26bb1fc5f8407f5ff106375f77fcff19aaefdcd9f6456a17db2d30a0a2dcce7437dffd5e1d7b885faabc073dff549e3b8f9493c3217fb1a057fa11c729db6a8ba10035b84790bbd3eaa83febe18b7f9db8ec186134d2931ba5dafeb91f3868e59ed3fdee37dc3f7fd103f4764d340670a7a64bb5866faad020ef202bd1ddef81c2ac50db8403ddc8f1965c3580c3092028a0bdc1cd9ea8d959eefe220e0594b14e062baa2b9d26964b9c0370573c390f27ad0db333b114d821fc0a33378fca731db5d5eb3de0146b7eb5bc798a0924f77824b7340988396ed25ececfdfc645af9118de30e3827d931da88a63d070db92827b647c66bb3e366217523928f6e014384f9f7ce6b6b7e7dccf9398ff1e48c3b01d7eb88171f788f0e7a1a2ac505c77fa003073c3bcfe2b2febe9611de0bb8577958cc09f3829b83e15f60b4e7b8d3c26e063a200ee8e9217b74857a2cf43bab393d670dcf2b3fbd2fcce9e0fd9bcd8635719f273c326bf98f568a676443685e1de3da9b89d96bc78be818ac29bfaca20c7245339233cdfa9c293d7e5246c2928f470dfe5710f9046bcf57ba34ad93d13d16137ac6a1c609393c453e107ce1d1f0b977b617a6d7b36dde916f140a49f124673fc4be31b195a95ceba06d4a53fd103d6132fd9ebb89a96cc484eeb938978435816d916a09bf8556735cfb41a753614a3aabbd8d8f2dc1a7bac560ab7bbe1a3303be9a04c7de5331dcf3e9da1b037fd7d6bae21ce05dcc83f381e3a1b65826671d8e4ad9fc65b47dd13e720805b70d3dbcafa335174a83b8f74cf0e0f9da4a8f6b6f83f134fee6a86563d00ba4b85ac0721f969718fe9fd709e8dbf6be98b63f6644b7268b847166081b346e2806c33504d0d41313b4c7618d8ec599eaee85d2f595de78a997a0355bc53c9aa7c9214431da7edaaef60be02b60c65bdc4954eb039e0b38fd23e447fb90db29700d86f95b981449fb69855e227fa91f472d4bbfbee52636b33c33849ff3ae14ab28fbc97cf97a3666d33733ab625f9a4c0d4b4331e7117dfe2d6daa6eef951ae0db8e472eab5b8eee83c35afc98cfda3c6cd318d9b5197f067e738ff87afee68f27b8c9aa803eb6bfa1d3f96535ee0d68f6b007534d73dab3279f72aa3b1503e67871eed601fa1be3cff6e6a11bc34e1383d40fb1dd928087370d902fcae97c50ea8043d4fc1fe8b52398f2dbda5b002e22f49234e9393b725381fa3e70bcc5ed2907bf4b998a513bdcef0cfb7459094f3ef73f2886e482f795298ae9412bd22cc55154baed5611f7c4ef9e7ecf1dd0faa47b5c604d3a8e13b72c8a64d44c833eefe9a3b83f1a25d3eff9a2faf67271313b8d806bddfa014e3d4fc8211e446310c29c835ed33414300eda196d2fb1fa093dea86178851db747ae70bbba9d6a3c55bd04e32f43b54372f94aec768c61d69cc15b5d70cbfbfed4dcb8ae9f75ccc7625f257a8f68273c47329af3caa5fee72a55ed09cf9b4d64a822f80be95a08ca44e9fe882f620534aebb58fd68e1825e08f8635c582e959e819ca14ec01d41bfd251fa91bf1f11a586b9f3906ea48b1aa63fb32ef30ddc7a1f66da7b99e9baa3efd569cf3ce5fcee97b71e8f98a9b1b5231fd5606f8f052cfb0566230e41da2f776054e1ee9a7025e29f59aba597a46f32c41e360a5674fd8e29e5a3c6791bf750c001fe52606d1e84c5c4e24635cbfb0976288d67259dc867bcfc446fb510cf79e977a19403e00dbb1ed62e723df6352c4599a9b6a827c237c3f80a7fb7d3ee95958f63907ac596a2bc50dfc755f3b8652334a7eb9df4e2f17b8385378deb5075a6abd4d52911fb1ac221ff4607ed7171ef68602cfb0d34e64b2cf9e4d95d4f54ba7def94b7be7f17ca4c8c8b703be5903b02f547bb5b33bc738237a6ce8fd3de74ceb9eeb59ffc7bfe7a7b1cf466d646707890f40b9ab0c9fabbbef285ee7813fe6b1d7d5bb7d923d9be1d1965fff5e0478ca82d67488ef539c710d9cf2ed611f6995e9ddf75ad664910a7a6abdbf24e977f8c5f1004bfa049b47e7caad7b3f18b3784e14b945f6c464ee3d2c8b31e84310ff8a9e4b391c009b0afc3e5b3e7ed01bc5fafd9d96e9bdfebada4c499e237ffc0c639c3b5d758a71538127310d952d9e77f3a68a475be80f46cfbe233d77c3beaaa635a594c31cdc35705a248a9bc6e5f69208e37b8d138293a77dcc4ff6183acf1e3f437b7c6896f23e105cc275a755a63d7f4f66e2fde77522e56f10a30c34870736e36c2a39eee992fb7c3d190bac1f4cb43a5cd06c9bd491b0243d3ccd2c99f1efe1c8adc25935e4c2b11a197cf1d9f4b2e2b1fe602cb881ed5c5ff53690bc3fe015bbdabe36a8ed177758e413171f8af764c61dc1b79b2fcedbb9b874f06fb506de836fa113b691c0dbe49a981b5e71c789248e23ef9a193ebf277801d046edfa2154867b10b4efb1065f87335497d297bb4d43c85fa23806f370c6a5dbc6a5d86a597e8777c59f1b92ae4728be518a5c93d3a53d3bfe68d909f2addf64ac9dd14634f926f2652e37dbe62f8ca5aafdf195f1256c9bcf2ece392cf9a0e4ab44a53890c974e7f16928b8d3b874d19a998625f235f2dc14f2da3e6c402b647dab309e496d683e630a6302354f79ba13dc4928b867c312ab01c7d37ccba13500f31d38e109bfda8bf833b4f2cae9ea44ce3dbf2fe02dd0d8f4b1c4b85a0bc43fb4ab39d4de5a3dd2b2faa895d4676173545047a6bc6da0cbaa65c84fd613d0cf817a5621f63d22456920ff40eafbeba09f0362dfa2c2cf96bf93fc3ae94f805eb5c270e0d9ff6a459d19a3cd5fade0325301aee49eeb1ef227f2e9114bcff2400146bbfae51811ea6db6c81952fe96cc4ead37d2bab9e4db7c1195cb4ba8b8ae9317a0491609131cd358f95f6dcf6586e09e0301c56bae6539d0a77689c0aed25e7afe8cf3a7e3ea1bf7d97479d51eefa165afdf6b817d2ce8e9d127c877c59890cf3af08a73df87ed5486dbed9743ccb154bcef688f07c4ab1ddf21c1dfb2ef6dc8a5b25541371d73a7607e73561ba68ba1f44c43b6e8a1668dec03da5b767e55bcd4bb92b1dd0a3ceed8d73bf42af09aeaaba4b9a89f8af03577d72363f452d78a5ceb14f81f2ffaa7601eb5d1e8a3ef57eb6cce221bf2e088f7b9b182d6afbe81ff83f6fb3def9f23f7827daa07bc2ebc1314eb3375f7e26648da1b935bcc4017f2d0e15458adee0eaba2393237d407a6c761fc35e42f25f98a62566c07c01fa81eb59587f9c2b5dbd79a492ef289e617c5c13ea93d207bc353fe96f183ce32bdd6970063f1964838f6375582fb2c0739f1bf8974cd7c558f2334ef7cae5a1d4e70fceab0c13900abc173dbaea0d687f57f9de36eb4a9b5a2697d659c615c098edb582dd71db2ddadd32e24f160aa32b7b6a67b333ba2fd6181f60343aeffe80557f9373ef2b33031b2696da9d8de9bd9f18f61579126379c6f1d8f1e3f89e3a239fbd6b1d225f11059cdbadb53f24476d546db3af2dcb0361753fe044ca12f89b1d94e6be7b0014e60dbc7ff5afe46d4b2e34583fed8c93e803cce3133acc67f8d8d9fdfeba12ab87f9199db0f7b45ddd7a0b3f9305f037d7b4e1dda5c6680e6f71d4ef659cde411f3c8621d488c9e9ed75e11c559fdd7b7f2cc68b1d612f2c7d72dfa6ecc72924fbf25ed1f2dbb1e231ef88f2ec83e518ebcc49bdc764a51124cc29ba100579208c752cc2593371f70ddcd75a8db90fc219dffb7b57f124dd511931927ae1d9e1becd5ca95f1af34961707b4cc48af1dde9bd52de607c31c332ff7a5444a095f4cfe6f7da628d6e0bfd506386ad623e78f0618bc71d5d58766c7e3ce9ae481bf4d71de62c18ed1d9b09a1a6a9a98230e340efbb57dbd3b77099c5828368ff93a33323dd1b3b036e07d14438d5775f38cb34b74da49ba2be5b123b85ca214e7708462c4264de6b416b1044df101af97baa9585e6ae0bd025ddeb482e7169c37ac77aca1b552192ecc0b0eb8b958cebd0c30955d6e19345d2ce87d2ebedd8433cbb40dbd4074d5cd79a7ea45980deb6a81b7e4767e58acf61f75a4c8b764ce5f42a528779e9b13ee3b2ef0e237e0f2f6aaf44b5e1689baada232b9ad0e273e2eaf6fccb5f17e90e9ead6dd64a652dc6c45dc07def58df88e69508ac8774c63f5731af89f57d35f72d14807bfd3ccea1389ab6f680e7d2b611529d81ffd56932a549202c525ba34a57b86d3f1970acb4b24e575283497a0946bac27f3d94610672d41b31debd4c8b72f6fb2c7ffa79a465b87dc37e46d761e8d53c4b1e927a3a4e5cb68a49f4cdf6d912f05fe91b779d794e511e2047f23baee5631ed9fcc54208eba266ac747a52712c65daf321dfe3547d8d7d132a2e34f3f17520ec515a69a9ea2d931839ca752ec491de1f2a5f0b5297d926ba4a748d2eadd618935f8ee8e85cfb3eb0f8957fe09fc308d8565bbf33f39edc0d59d061cbacf11fcdec557f471e43571904deb9dbaa59fc13d9a6df34f2c88e75526c64159dd226112079988b5e8479f688e17dbb22822658be6058a8fdeb443ff9d37e717c8af26e3d086fe12f99eb7d0853a6b662ae89ae3c13956b15cdb992ee2f71416f161dbf37ca9f8bc55416d088dcd3ee17eb5fd315d48dd6770efdabe321c4e5c9924de32253cee9a0a63f9e6b424ee73d3a5ad72f5700da37172db08eb1f618ca48fb58f40efa55b1bee131c7531c0f2223b426c896d96f23f819fdaa1bfe5d0fe44f0446fe8fb2776a5064e0705ced9f49c22dadbf6b0393a874d45be73e2523ea3718c0f1bf8cef6e9773f4f7246f5eb7a46b73f76f5018c3151217f4fecfba20eb3e66a223f484236f1a70e5bcc0f96405eae7b463eee391626b81605f3700cb995ac390d3e035c633ee49c56f32e76306cd136d4bcc23c9e9013aabf66bc6de6db22849819f29e7580ee215fa691d26481b7fc1bb73f19f23742ebf3147afc253ee4c8e718a1df8e47db3451dddb06ad7152a3086ce029ebf64cad5ca6510975fb5ccb1a678d7c0f4fcebfdc250779cafd478de27da7746fb1229e63c1d5d0f78ff9ba610e6327f59a775fc218f32e13fc5732e3b5449a145f8abb37d48fcaf0265122d70de89d70cd251118bd9356fbd10a4e84dcf1afc7e07ddbb07aff2b91ebd6b70a3199f167c8e73ff83e75a6497ac2604569fcc7ad05f09b91af4beb5ab526411c05b5db4869ac6edd3b691178783dbf8a777633f18afbb908665bee389e5f8ce7b00f83e24b7612f44d89317f2a9e63949751f8648c7cd03d69524f00cd968edbd3548087a9dd79dbc2f68a13a96dfec2e54de3891fb49e04d09cf7701d6aed39fd7555983f7ccca118fdf17aec5c092de06b3b1aee86e187732317f7267389bf7cce6fa13855c243df4304ff5a4de18db6098b15c31c15c8a6e9603f5e62f4fd669ab018b33628837682f6f816fbaa4d6dcc3e303e12aec98b5833ed07b0e39157dc422b750cab11cc03b2addcd180351e9c135fafbfd506edefd0ab00f32ecbd998699348cdddfe5f67663bcdf0f5709d2b9126a7d0df1e23613bfd5637b8d683ee3b633f0ff0e7e8bc729b268a0cef26be71c724637dc5668ae393c7b982e2cd44591e0df9a3427ebb96e98949df3bb26923fd82fc9048e0d31d5adf23ed957e79aa412e599f7c8d34ec57ed793c3ec8b6127f2ecef0b898eac3b54577d46922ec23e1fa57cba6172d3bf9682ca3d192d36cbea51a098120d646ab5dcc56fb8bae89beff06ff07f34f7d8d1eafafd99f2270eca9c13954640ef4d332780f900fdf92cf5ef8f7648ce7642dc0ff45b2f7a691d57d5627d984839e4a5ccb4a2329af4c14cfc83a67aa418ddebf61354786b7d5213e7685e6baa1c4625f17807b3c448a9805deb502fd56e01392511c298456fd17f7c33fd68034b27f617d0cad32e97cb1793acf909d7463f593b193682e010e95ea668a9a2376b90cf46c688e195653a2f981e63b1bd7c7fea6d632fc5b3b4546fb11f6d766623f7e8700de33e4ed39f2d9fe03f800131c53431f473f778778540dd758ab80d4f7ccd1cf29192523d30b2f71c99dd03d851ebaceb608250d632dc97a40f78cdf3d833f572ace94b4bf5a06babe97feb99684f324e8f1f4dd5a23f3e030f4d5bfd5eb731da56ece412ea8346edc71eb7739a4d2b0a7999e696fda1ed981533797fadeb8eefc9af49d0a66b94c0321054ec770cf97ec7bb055f41e360d701efefa5b75e6dfb8cce0969c5926fc0e783d4f97deb6f1a5214cf1fbf4c265246cabb02c8a10ed4df2e27c1f7b794288e250076b0b3cec7b472d2f4ad3e98f37dd65857c120de2bb268d47dbfe37e453e95ba416abc887ff76edc9252a9d938dfb65335c77dba6210fd7aa4c291dccc3c11c958292603804b31cc658d0d777f7996105a58b75152dcc65b6e42cc54d43c56d0d499fd1796ce27d36039b477f4bc6fdc9a60cfd59c8e76a12cfbd2573e25f643fd906ea749f9c96ddd977e05904bb80eb71eaf6e68dc8fcc0fe26d44f7d1bad391ad72da3e19eb08c16329f18ed4f6660ecfce36fd8d3cc943e32832b38a3d5de35752e2ea4f17561695073581d02524bfce4680e82d80fea23552fc747c9919d3ce277a7df3ca14808ff9560967a1196621bbacb222a196d0db41f952e8a690b4770cf61d75b93d7aed40886df4c772cfe4f463e868eb154f8dafcdad2c93eafd54136494365436c4ec7215dbb94af53457eb54bea8bf0791978450dfb87afb7d148ab4c65216e709c522759c399f28662461d13f7c34d1ce49b2b8eb8c0bc92a767363af426c8278fd073a039bf93fada9f3b43f600c7ff60ff911d578a53e8893cc41acae6097fc930ffed4ad4bff9c9fa73c1c715081fce25f1379561e31ae36e06dc9b7be87d2c37c700f944c3ba21f6e3fced312ec591a638ef91f4735a58a0d34ffb356a43e21a53d25751fbc9c676f7b9d0fa379d51e0699ef1dc4a48a7df527a5c5bf3aba96c4a3d5f9c03a129025f679e7b03efa4c369a81f2260b3320dbdbf41bcb3b63fa6a13de550dcb3b3b97631fb98021765e94c17b78febb77abd2d661bcca1ab8c91ddbebde08c7ae0965e7bce99c955d409607c591fadc344a1f5877e83476bd6f01d160bc8ea9b02ef7dbc47d7e9fd706c97126c0f69fee1171b64907eb3382ba0d6b7b3a0d677833e117519ed5caed40ff02fdd2f5a03f9cec0d9bc3cee3cdc0bb6127434967fb13fe5225b82ae7336bca9087a96c487ff62fc1a8dea954a323cebb7da14d8a6d21cc932dae1fe13ac89e972d597301577f62943fee66e049c6ec7c0e62bc3e72fd093a5c822e4b05ba656decec5b58fee093d8bc3e6582f182b2426dfc85f93373570db4b7285fb6186f860edb0dcc7657145b662683b17d4a740be0a8aa938acfd42f332f4bc3b8e31a978077e89db33fe85979859ac4778bb9b3f6da7b98f7b3d9565b470b90a30f5ca9ce8a80fefcff09a2878162fc2dc1cbe87c0e5dea31b8fd63f7ee752dfd315619d0282771ae6d0d0d802df62717af9bd6ff39c615dd3c40aca3883be6e18db2da9dd91de18fabc0ac9151d13c08af56340f0b11753998a414bdff14f057359d2fec17d7bd32abaf1fc4a70eb58707e204f911d710d1ceda1c05b3825f3728ee656ed8d704f9581e689dad4c07f2f697f239ea31cdb643e5fa167d65017e2ee4e23d370ebc6a7bc38a065df440999dbb0b78236098ab7000b81f76b2bafbe5aac2f1cd8229cb373b937cd867eb71aed9184cb128e379541fde0e6dde404adef00f69d13ac0b726e8afb3de7a55eba9176c0363b6ef5c4f0376200b5f74eb7a2fdf24fdcda9b434d06f9d8d013c8d60647245f94e938efe8eb457cd02f71a6d5645f7c0b306705b2fb740ede8886511b091c7a66de68b59f449942efe7b7cf8b4fae7f4b085649cb1a9823abc35684b5ab2ed09e5f195653ad5be43314a5ed89f9ce0b2bd2ff714c6cdef9c5362e027fc9b1be28e51c77da498dbeebafb78dc202cd97bc36544774419f71fb9813ca7e32f0355b8c173558dfd3e6418777b1ffe0d684334ecb5379e36c30ef0e89abd6c255d4cac9a5db3b24ed6d7123e7d862bdb6f47334da9e7a3f5c7b3394ab487410b910b85b16245668aab50573fad661712c8871d2b577ad35d8eb1ab4a7a2ebf6ef10e3cb8fa1cd5d81271df9a824bfb8f69c9ac9d538c8deadad9443eb04e73a9a6a3dfa79d03ffab29a286a9bda94b789615763641b00db22f7dfbb52539b0a9ac38d8339edba9cd23169f33ab93158ef362823abc7661a4afea78b77e99cd91f33c86fcf293e09fb57a692ff896e558afcac20c39a08442f6762ca27c7549a04738007c7c16f483ae4b5373df77406c7ab616258d793e92eceb42e45f04fbfc4e422e92fea3157aeca41fe15ea074ffb2a86588d9edba3399b928e6b0559219a0a9af3640f7ada7bc4f25c531e2ada3bd770a6a4df82915ec5ea267bc2f9007c23a6a45f2127f3a8618efc5f1bd9aa67be12f6ef18bd1ad20b19eff9f65b6dcec0b92a351ccbd14beb09c690fb056a78a1456a77655ef7f18ff31677f66253773efcad3a636c4c71739426dd79938e8b99708657fdf33ed42a8eaff29ab88f6d43f7dc2ea631ac9e93c2f4b1ff8539b61ef76082131fe63e605fa6b1d4324a647efa2d6919d540f6055708bcc68dcb7b8c21e55767df33d4508eb8165415a68ac749cb13d995b4c1d8b17e4f20c8fb1dfaccfe40367112958b37cd9eb3f5cae6b1ce75ef0769f7b972f1db6a067bfe53cd4ff21b5b3f4ca35ea70f732c3ee2994771295f375e53ffbb26ea678731c66b3c2d30661df46d98fe5f5c6387de1177d169dec2defb8061dd5466e936c6eca332cb650df1a334bf1aec394f3857761e60acb80d896bd9df35d50dc1e9fc8265eae288b430cbb08a0fcb1eaf4939233d782e64e76ec99c6252b633386fc6e04f007f44f8267b8e8a9ae6d593919ec6f3e2fca81b341eae6965fc3f7016246de07fea5149b0b9036ee3a630acffc84f60b33c04c0c3d3ada5b8fda956a34d97c35b8f3667fc2cd04f7636ecaa609efb4cf8a6613e0d9e93c56161dd80ff80937ffabc9fa0f7b817b987e7b52beeffc7debb36a9aa248dc2ff657d9dfdcc02d45ecd8e381f0401414001b9be71e209816e4040d98d17f0c4fcf7372aab40b4b5d75af3ccc4391f66ef5891ad5217b2b2f2565999647c3a84673fd7a0bb1fb3cbdb0375c8cbc909e9a07ec9e66f965c3dcb41799d4fe73374704db82ecf08e8faf8be10c4f10feb17633e7c8eb2c939621c3a90d88b5aa655209945b8a59fe5004b71bc07d7aa3bee12784e1e8eb4635c16978dab00fd2e3ca8effafc99f5f3be65a07fb60cc037886b3961fb927c27901aa438d61de96fb3502ad03eb00257071ae9f30b903cbaf77123ea2e4572ea2e1e1ff4e5abed49e2b25d81d6acb94945573fe58d2efdee91336891a5565e7dc6f971cf8db6952fe86f7d4ed56f3be3618cce9b94b6c81e7b43343e522e2b4b48dfa006ad32426b688c942240baa354a4e15c83dc606f3ba37eb3705f2bafa2489b5eb63a73250d77fa391c29b7bea36bcc33b249c177d08dfb3e6f5e700d8dfcd339d140972fc2f2613eca3e1669e5e6fd3b61dfc4e484f6e242cabbf3ad8a9c23559d1f4c45bf797a119138da0dc4beeb979861db80cfd1e7f166ae481bd7a983b946ece27182f3a4ddfe86ebbfd315ac6f8ef4fd268f209e0de78726b53baaa1df45c98296d4b5b93f4fc5f52f465067b50a2447dfb834b95b9adef4816c17b5d4db70a45f4c893df82edc5729dc56f155a7a79b22e069d89b70eecda75ffc4eb17291ea6b21a5e239d7fb5cf11dcda27de637efe28a17ebc3e98b3bcd77f99fc1ae3dad5c81857a216573f25d83fc8df5ed95271f4386f81d6734c2d7d56f493e47a59306f302db2eaebef7ddc92e58d3f8ee12dffb6ac107b71ac9037fee3e23b626ce3db07ecdc29d73f04ba7bd89959ccb57db6564ec35fedcb7035e3bf85d1dfced401c47fe12f3e97b2c1edade1ea1e9d7f72fdb74b13b32ce5f04798efa9821527f9ce84759f1f4eec75dbbe26d6e7c7f63d07362fbb6aedaa16fe57d5dfd803167b7dfc37ce6541d6593afe218f68b2e57c4601d43c40f25e1d17a529daf75e5beeee5ebdd8f7a181788db8919e22768dd0674902ea13e0cf1c57ad8d6f799340dcbf8535d197d46e19c23984ed6d8c6f5cb9ff9bbc3d62f7d52274e85bbb149466827eb7cdc5136b980ee28e59fce81ba58cbae46fe03dff7e9eafb76903e4bdeaffabc4fcad73da9f1def35b7b5037e9533e31c6bee7a768af1583f3a78bdae9e8e0a72f86364b1fafd49fcd5caa1f5d0cdd3566af4ae352ececbc5a96eece547ffabbb30ddd2f7e1f2587c0d50fbed7fb42d941dce265b93b746d5f54bac916b3d7974d2932bed7143e43a78bae9dd864ea88c4fd954e0b75a62ed50f19e73949fad8c0edf3dca376db9d9f3722c4cc233d09ad19d165b09c1fd490843a7fa4dfacf9945368e0932f6ece60c176d0f7500fc682bba8dba8642f11659e4257acfa3cc860db5199493936b2d7076b373c23b9f13f3fcb9db42177591ec891634f233897d5a58f37d81d80ee1fc6fb6de9f582975fbbf75fc1d93bce9b1d6613b266389f45348238b3aabbbbf1c6f471a52f8367671b7c3f8d52e77aeb5faa23c8f239b235d05e55ea90117359ea7d34f7f784aab7917cbda787647b271fb00d75e5415b9cff19e3f795d266c68bb69d9ed50ee7789f88d8a636e06e3ec28301baaeb18f8afaece13845e05bf7f7643616e20bc9ed1d41cfa8ddb9c1ba34553b705f216117cef9fb62f6ca2abb73bef09a68459fbfab97c3a7fd09b1aebbe90bc4e591183f39c3f1aa9170fdee7e1e9dfde7ce8d6324b167b8df4d7472df9de4615b675e2b7f1823e3087715f9fae393edcb38313e47739ef3a5cea70431ae93f3fd5e7894371a7203e133f442c5f1b6e04b747683bcaea0cbe5df6580f2935c4c5cd19fd393d8904ffe917f496c48e05eefe2d983180d05f8bf9c619dd4871a30040f84ceeecfdb8775fbd1ef787db999ef36b55f8adbcd853e2ca407dfb7f9f7c09a7c5af7059fbf3cfa5e9584ef817348bd355db88c180fe33e9c5d17f7716817eb7daac1f94637e614cb11c07bcd2e04677047694247e5b95ab572296ff7d9aa95ab05d3b7c377ece0bc9b9c6b76bc98aeafbc12c74267de7d3dd92bed9d6eee85cee50f39e346bea72561c952b204ef08eba24a6ca88934ab4a9ff1bcb23a5f6753ad6ca88d5d1b34d442bc97bdec307fdc3bd4c07c56afb6bba381f3f7d96d3a5b5cf3c4435dfcc55cae96b98eeb7a43fca11213beff698d569ef1609d1b3fe6498dc439d4e43c295900391e952ca8165257e7fc95ddacafb56116d6391bc4c05790a388d400b14413e7a426b9435756b2773c8335ad4905b5faf0bb937b017ddc9eec08b436f05dedf13e524ec13c87fd84743ee87b46652b09f6cedf563c0bf70956db86c0f309d955e17a9ca933d0d19d989f6cc1af043e2ee79ab30ffb71c9fde4d4fe7c2ffade67f9e44ef49a0dbdf57eff55aecd45e743b68406ee18cfcf60b33e79f7ef0b3e6d21ff9f6d1f372ec481002ec99d84a7b85ef032e4ee79548fc52fc50bce1b427256dbf63194d8ee9e437fefe4a92cca20671e6b5a10bf9522dd01c9988594b3eb8cc4534b76b558b3e135a7c9201e532ae03c18e16ab3a6c75d2dd3986f4e84ee4ed7b5f14bbb4d4f8b41bd52ac93d04554c6c502ee48e5773ea1bcea64208e7b607b9f6c28b16930fb798d01242b88df0be225eef2c55657994535abb9867857bbf2020ae720c377d0d03c54ecb7edcec3cfea1c6ae2c2d902dc59f38c619e2084d7a7f54631fde4ac5c702b9b36b285753eaf24a1f71de258cbc7bef40d9ce93df0a797e47e8c04f2ec2506ddc73c85a5fde94c21bcd0c35cfbb56f4de05ec8622e7fb7db245b4966156fc7d9c2825c2d5d5eaee1be823be8a4ee03a2a317acf7f4f5eef788961ef863d227bec2e37d7db370d4bcba383762774f00ce01d11a070e456a73375d2ee6beb64534d78bd8354f507b9fd4d7bca313ea5e6f8f4ae70c39d8a02e9672f9224f2645f2e840cdc2f7410e643c07e2079cd13f902eba668232fa9c83f1eb5af1b39bbad2e770a45778de380e0ce7936bca95776097ad023e8d8dab817f22c4b1fc5dbd78a4b75d36a48eabbc538a103deb0505d477bbd0db7ebe7c02f2c06e71ed529ccb01ce0eeb787d339f3a7003f0f52c7825f591ec993b14a9155d432dc4b218e31a3f14a9614d352b3e3d2d46f6bd0e45c7d26bb658bfee7d5c87600bf9809882e8a039e41a8ea01e0bdcd32f71de0d8125792f24c403f0fdd6e615d76dc17797ccb239c17d0dab787d9f4d2b5522f577b3944232b3cff1268debe1fd40c8b985780ea9918d64029e03c2ab7f841a5db866c959f534800b4618d4c135c83cf1f3f0f78ca6100f0c76c601e7dc0ea80593572aaf406e98a0855c7b149c17e0dac183f9f9d5324bae3ea79bfb47783ea01b64132a1c4d3f5696727e437a0dff385f6c90e1f1491b3c970b954573a85fb925eb5c2eac827d74bf3f7c44cf5d9ec427f5acaee70803ddc733707dd7cbf3331792f3e6149401b2f58ec3fd74cd0b8beb59917bc905ce5b3cc8ed331ae8ca239ca7d5609a0acdd12e9d6d3cd7f6839cf5dfe11e0cf663f1e1c83942bd004aaf37884f8a0a9ce122da007abccf89c3dfe52b6b9b1f5053b6b4099d8c8f9124ee02a7589177aa317d5405a18f0fc825eac6852b907d3987bbee686d5f34be81f55a6e39f69a0b96aa077bfcfefc13728a76b8f89c63fb8a2755cad937a8bfb73fab12cce5459be37bdb7219546f9293dfd4a09fcbb53cd8ab729657d8d71a17b1a09c6277926fdcc9ee06d77c52e1f828e707da132447cf80ff8cc19f17339322caaffa8f8ad784d0816990fc6fafefd27898c7a7d749ae394be17e5e41f2cd6721634edee74df7f99ab7a83fab34704e6288a32db69f6aeedfbd2f9c9bdfd5c2c07572207f71a96c05e2bbb9c987bd5fc09d68c809dad1f61ee9774023971b5e9be1ba138a1d8e386fe39ad48697ebae562ae633f50dcff64bb60d24a75da3dfc8f9948c6b805eeb17107a82f880d1f4b0b130ecfa89704d8d36608aa3033200e76522b4daf3329c6337a0d4214d94a05754610ecf642a2f9cb14fb2b95b3fe37f92c7e3967644b206b3eb19f56fafe3e7be06e7d5cd6b543a9feac4be8df46d54b27528e0fd22efb834601cbfe35172d65cfc91720aa5c646f826bf07fdefbbdb9896986fae35d0104fbee515204f377d5d59f33eeee561cdc1afeae193bb66488ffb1e6de962b9cd1fd22b8e05ee72fa99eec675467731c3c71b9fc4488178425c3fe8007c17d99521d3d48ef4ba0f2f6cabdee16a598eebf0c21e973bf99e4756cb127201b1e10eec8a427d5637f1534e6024b7114d625af4ee6b99215cd0982ebabcbb6141b18a64233beebcf1d22214afb4f2287f03e28f313fccd14cf3b806e8b85205c41fc87d261e6c7db4e707fa5c02b90c162dc86cd0d7898f8ce48e38c8815bec367303e9f6f85c99976b8729f2584a5ee41dd9df777484f448a8ffd8d32997069289f48a1799d8dc727648af7e72e3256acf99bcdd67e1c8a190ceb060c4dbdc747319eaa893dabaa707b5dd06310b0fd707ec2aa41fded45218f8e120c6d2535edff924c5fe11e7f59dc771aaf1ecb5e749106f47f8dc4d9e72beaf59ff954d38886bc0b48fc77abdb10b7b3cacd9c245fa19c48dc81f3ea26b6b203bf84772c40ce592e80c3c6eb3fc5c3310f2d4dff4759543f5da15a90d8f78209a23965d6eab107e7246eb13ab7325c4be7bb60ef138f5e0d94eb65c9fed652d7e362aeacc27f219d18307f9f387fea9f1f7ab6c817a6370979cd8161d3f813c60ea5cabc32d7bcd51dfd550bedf93b77705ebdb38c53389a384bc5af83e5aff5de7b7279f459d2639023395c44be2bb3a9feb73a37d4ae8f6534dc2077207ec4355b29fe5b3847cb04fecb9477d15c43620cf5075ec4e9ef4f139e606e9db501714e723a650fb6baedefb3bd044af7b50e39ac89782fcceaa73e7f8937e86f20472c73eae91c15e65317a575efe0bf204ed06f347f63abe1bfc979c611c6ce08ef8d7f7d33b3d201c3997c0851cb32d8e3da24fb107f905d2b8b449ac4dc1def04ea43bcd9d5696702ece0e42ec24ce717e8a3d23894ae7b2f1aa02c710a27dc46d43a9d86e5a2ef7cba6fb9bcc01724e26a1cbd211e3d011df7d0fbeaceefb538cf8ab44e63872a8eeef006a65cbdd7375e08a4c6071db8d241e03c64eba7cf7f29ce41ee4b98fc02b726467c8d2a178f3b816e28de16fe72c13fefd363711afa5e5ecf66ec0fd3e08afb5d18f8ff977bfdee727b589bf0fe8fad8d135a973dbd504e96390499d53cc77055c3fd3a59b8b377724d30e246f9e729a487dbc8b8728a21bdacc1dc92c9ab1b1e6e2456b9c82cb81e46b4b275fe6fdcb1a5287ec71edcace570bfa08e4e7867c1d47f0dd413eb481ee023169607bdff8c7b42c079fe8339d35b0fa9cc6d4fb9cd4f799cb7086e13322b5983fecb75a609fd92e768b1cce7a20e727d2b7627ae39af8bc8d9cada9128e17db486c1d88f8cedf271d9081dac9e4fe599c6e3ce36371a9d6dd1d418815c5f16f7daeb695fd290fe1c0875eadd7d498c5b966c877a0035ff3d0ad6c81f4779dcbca2563d0711596e629bed063380367c443e036905b62e524e8197c1fc18bd0dfc770140d6be4937e27085fedc6d59ee53865bb7ea0ae534fc7b77e9315e46b1fd208c5629f9088c648d7681fdcf98fa0be097a5fa06bead3f89f7358d850936921d91f70d63138333347f8cefabb75ce06fddcfa6724a7dcb89342c9821ce2044afbe8bb743ef8bc97cbaa895da77db3e4daa56f75bf1bbfe6a8f78b04f18c9ea96565e2768d099f33e326ce3f2cd959c84c4ac4f3e2d9733969b4e31ce1ce6efd7221684765469b31e4c4867899bf6ccf29a21dd8126b643f0cbf733da352459d55f9afea81e37e3705ce63b3b2618c35b2bd103fe193fff5bfbefdf1adda7cbced0edffefc3fdf5679f2edcf6fdffef8a66fca37f4d73ffef1c7b7243ba4c7f0efd1befcfeb1dfe7d9db7fedb2dd76f3fd23ffaff2d8fcf93ddcef0fdf3775fd76a8bf1f4edfb7f5f7ed5fc7b78ff6ef75b4afdee2bf6f6bd475b67bdf2318bf1d3659015fedf0209f9efee35b9d5ddebefd49530ccdfcf1addcc76fdffe1c3314fcf9df870c5a311443ff17cdfc17f363cdd07f8e5effa4e9bfffa0267fa35effa4a86f7f7ccbeaff8eb38f6f7fbe6f8afaed8f6f750b43cede4edffea45f7efcf8c130a33fbe69d0f56844bfbefef14d2fb25dfeed4ffa8f6ff26effed4f861abf502334aa9dc5dffe9c50f41fdf24f417faca8c5147d41fdf569bf8bfa364ffdfd4b73fff3fea0ff8ff7ffff16d8a2659576f111ad342807e1953afd484458df51a7ff363f23a1e4da87ffcf14d7bf8fc0bcd302cdd3dff839a50f0df3ffef8c63fed9f66bbe7198a65c7cce475fc8f3fbe71d9c721fdcd31ace11a70c53ecaeb6f7f3263f4778ed7674cb12f7f7c138b4d52032ea4b71d40b54614057f1ae44f849bfffd0f444de9db072c045a9b6fdfedfaeda3fe1eef774973dcb5dfcffb8fbcae36d1dbf78f9cd0d790bcbefdf14d2eabfdc761b539a43784daff3edb47f887f5e623793be0bfcdfd9efca56d0e51faedcfddb128fef8661d36c55b4f21f0c97cdbd4fb1d7e56da8b59f156774fe391fb8fb3b7aaff7bfd561fee9e465fddb5d0f6f1118df77fbe91e97fbdb160b6d9eedb9f878fe3db1fbf8e3098b9b68f7f11bdc9feefe53e8646cedb479dc1dbd37fa75f60ef5730d38e31fc74c264357e8525fce38f6ff1e6b0f9f6e737b5dd2f647e9fc852c755b9b5cfb0e7c0351283d6d7f29cab6337aec2649f2cb269e280e60496f8056978d11ca2af9036da222d3db0b8994d6b49c4e8a7487272591a5606e4a8b0e5ea8d0b5a612a4b4a1d32fa872cb1a53cd7a937b72964c92ca05a67892352a2331e37965e13dfe248d6f7a0f25bf070a5b82d8c0b27d56ac605e1c84e7c463cca925847cc6b82b45659e0aad0c373f5dd492e4b741148452a4b248a6da741b4f375de786eddf89bb94945b3fd491dc5a3b89d8cb476728acae8e488f20967d1b34f11e31c7c77426d5cfda2e253cc6d2c21698cdf4d757bcb18e11ce35dd4ab103278d22978e9ad73a2599c14b84a1bbb62fb664d5b6d26347c36fd0bfd9379ce8918fb85fcad84a55ec76e570d5c4b22a9a1c1bb005915ed6421d1555892ec213c5705929386523359585c1a964682b5b969aeeef46d38c2551f64893dca1244b65ee7293455e816e4947f7259127a502d4e09326e128eec5d54da0939f94942cfa963a938a33984a5738901a7776bdb9e138771b20d5320eba20a9894229191135932aba00c0af062f25c159669119505e5bb936d60e0b1657e400f4c41bd595c1bbb4d11b55c1995ec81d0c509ad419471c8d2abd05cd48c5364c93c85594cc9d201696849cca42765a42551099eaa23c6eff4208bfa29741d88e28d5a8eda484e1b5888f66ca4e5d4be575ce439685bf0de60617bcad1779bfacde2205a0fed25ec6d702e1bc929e2b9962ce641e55bdc142228460ad5ad079aebdbf5fd0ed85bc6ed0264e531870a57e618276b880062cb58728eb2a4d0084731cfed4964c44545eb43d6083d1b78da4bff4e42d1ed990c6e3633c8d29ba49021c96d26d77d6d5ee4597389e7451d58dc85f085bfa93c8e8a93e771154ae7e46aa5c7552ca5609106120bf8f0ddc904595b6119613ae2a9c4c69e976490b51af5017429cff57d3872ea401aeff0fb04852ce12a9f81a725be6b023e113f40b80aad71c793ae9a5e29d61bcfbcf635edf1798e4a36f35d05ad0d1d81b5ca1e028bfbd8004f604b19471d24fea06aae7aa5f559ec29707b289ce7b52cc5c5c05bb6063c795a82f62158c33c0dde62345fe03990a95449fd12bd67dc86cc64375ca7783b3dea19ecf78bba9e52ea7a3a26fbdc229155b9cc1b477fa79ce2918e68ba0d3c91de780a89a4c13414954ee9bb9071b508309f45b471095ba0913676278877d7405bb0d782341a99a83f4c830cdb6e465a123305b521b8ebb45879261c97d63831dc06f5b7dda0fd37d230ffef68e84a2b84eeed241a39e74862db6e8e81975668dd03576cc3799e6c5c3ff1bd20ddb80dc24ff1092f840faaeb69a3aeb533c1cb7ae32a35648feaf875cb8dc291f2a1825743a76469426e7d705928b15bfc5e6cbb69b90c3c2778fd4f81641eb157a238ca625cf8e501e1ea10b8e211ef7b9192e78817d8988e89bc8a5a2e0f19a0d59e47c9927e8a90a53a32119d8d36688fa2fde629852c89887f1c62b7a1361e87f6151a9742b80a24671b4a62dbf1d84f38e087389027040712dc54e4b9ce3ab9ca807950005f62c6e89d4e5179b8e02c811d6ef434629c0be11fbbc0332fe08d29033a629c5c9ec7fbc0050f5681f89def2905197338ff7ead7d646d32680cb10c4a670b37b00077689f8908cf7d4655994f2fddda456d7eece49b7adedf9c96297c9ebc9d11df9826f2ceb9a0f1409f1819d9927cafb62c174806f1b4818e016376376207ba4d17c594f81ea2033b891911ed1bd486783e086f93d8a38f7e277c46c637c4d0da5d3ddd533cbec24f7a1cacacdb9b3ff2bc5ec0dce11f5705d974af8c3a591be15bd0d7e8ba47d1713bb287760b6b808b6b9f9d45fb83cfaedfbf1bfbc1b8d393da7276d87279e099f0fe3193563e932420db243697e7e6499e037e09bd7637f9a25e760dfb57dbd7c4b2ed09e269a8cfb044fa60df079c9046257b0e3c05c9e58cc88422427b653a788739ce540ebcd3813161ffcb332a89e70a1dac6ff04721fa7e8083e149c6a36c8bf9c6f3b3853521b26c7237bf240ba15a1fd221e45a9e4d6b192ac5df8ccda2fd124bfa5ee65392fde1e15c1ebe4b50225dd4fe628dba7d04993220926079be5b434a497de640473ca6ef70a454689ffbeef9e11a4114edc8391b645f2ef8fc079f0ce7fb7a3219a0ef361c39bb0dcf9d20bb1c5a4749cc031ed10bd29bd0faea55e069c3f9c209afd2e9ed332a5186b47a83bb69de45723db8f18b2b3ff20f7149c6c0baedcaea4f84abe5e767616f6d3cbdb35ff6a45db5b0b81bbc0fe7453cc1c89e2195d6931dae5aca5611fdba93f93ac1276a9fd6e30e8f0ed25debb05b7feb2a6f366e770a40d6d8b89f7bb7a7d84e9fc73a74af375f6d9147ed94fb9bcd7c4e2a220f7947576567783be211ce6fdfcb70cd5c9604249b20e2367027db37c4c701571c9669402fb85207912f50c92d4abeeabbaf387f53bd5e61cc026e96cff5f79099bc2bedf403c9e44072c6773435e021d4237a606ff69af553da4f11cff319f618a0fde5d2f8bdfaecf21a960373ccbb6fd7c2ecf8ca2fe2f85f48d74f70acb6ac187a1ce2bd29e8e89d5ddbdbd95fd3146aff26e9453407b97a8a4016a669dce9fefda98d01fa6e471fc8fe45b2f3f17ee30a9893dde96a09d97ff76b73fd874f47d2530827ff310736ff8c4a5c9afaeaddadc015f39bfd08b603d2f1f55334cf89ed80e5feb5ff08741cffc9fe84b9f026a9dc69c0ba11fed17db75f58e7273c02f31b641702af9c93081d7e5222feb2e0a3bf148487277c0ab5534bc49393bcdfe7ffd49e1eecbb917e59f0f1361ae1cc444a7b4e94367a4083837f5251ca0faaf8c850457ebab36933580b88df3ce5b983be6ed7b5ab6e0259d5893cc3b784fbec1a5ff6f9fe64dd3eeffd1b5a9985236e426805ebaa646c5942f2b64e829d720a2dfc1b9c5a61bdb6f33f1daf3a6271543dcc1f64a9b70b2ffff635c53a14e0c81b115f13cf1dff65ebf8251fbff228d9bad216be1996ecae3a4aa384655385e5333df6f13fa55f7b7cc378c1233ba6d86ddc491a0ac531049f5954dfd035b2ddb31bbdf9e7b438a716bff09e373846fbb8a7070aad9f70cd46b9ae173fa77fbc06fd092fd63b882c815b7c8932ea6efb4577b6c457ff5e4f571bf69c988cb3dd30afbfd8f66bfe703bc75fc26b42b29bfefcd9012d913d081533a092d86fd04c8f0301f4fbf4d7c6c5ffc08fc177d57b20bbd03ba1a3dfc0fff5dfc6f59385344ee435c5ca7cdcdfc8545aeef5fd8e9e5c661277fb2f2c5944d7ffd49818ef26b2777f11e78fff7555ed1edb4ce9517d30ffa73ada4fe74b2524e34bb2909c166cab11f5db7d3d93014fc6fcb5fe7f9b86f13f6223ffc63b4045c9a4cbbc72b7d77e93fea75fd8cbbf41bb44475532ff8e1ea6a592714799f7cbdb7de2846141c1f361364d8187b5d1b57df73ecee1e859fdefff3c9d93f7c4513b837d34a33e8ff7cfd3e6efd3a1c5910c18536423b5488efe9b68f3a7cf7d39eeb3f6d8a67a6aefdaf3dedeedce573ed9bde07f78427b4159d4a1d0db01ff94fdb6769d341a396da767c1994e69135f7bef9f25d5bee0fc0bce7a70166c79a0e7e12cab9d8d7ef31ee7db31c959c36883f4f8b94e85a369674ba4411914e0b744b6fbc8a154972d7fa60f2a3fb3d1a5bc969fc81e2c5b8a8b4d6c3b88027bcaa37e81174870abf418780a9ca5829dd246cffafb457fd8f01f4422f5fad9a04ae84ee5a7379fbfb0f53f7d7f43df9fe9f6a4d23a8568c2f7947ce00b4ee3b9d96e5c858ea56bd422e2bfd73571c2ce6ef6902c96cc53e0e9476564dcf63f423a698dcf4b3a1b17d10fc3d6810be7d0d733704f4b22ec77407484fe615fbb541ca39159f8ae71a3370e2b130e7d00647e3cd068fba55f3859f09f9ebfeac8e4fd9436c73a0a8ea885e8ad80cfbff629d37a1ac37ec37b0174e2b999062d37c826d8d9d8f85cadab4076b397a561554ae2e31cf08647b4ff3fd937784cd0bdab88ee7cf169f153bb04ecac698e747342cb5fea034a9f216368079d0fddbc551ef5456e2cf3f953bbfb33ffe6d87bdff427df16f859ef78598bf9df46122fdd99eaca523a1fefc563d8a377b9fafa229a3d85c56b2bdff5ed30c8468e2bd8fb125b0619f6310dfd63c1033f28ce5a013cb00a19445f90290e9fad494d15ddef2b1acea8f38da7831f3de06ff76cc84ce07c2d1c291f51cb9dc28c534c72d6e0336c053e6b38b711eb709ed7b7e7172c7a360f19e782e300c43a94d891ccf7eb91a03dd79d5f76675b6a72e3b31f5665b8f36da5dbeeac18fbdfebff77e818da24a93f82ea79c798ec3552c908e862c1c7b774d146c9a2e5aa5fb3dd7f4fef0cac09be9992c38dfc04d93fcae5e7badabd8e158ee4dfd023ff05b2e8cb3dfab5cc7af6fdbbf5339ecbd170867edd6f9d9e83332281cf5a29e0661ef6c5e3b3a2122a64d621c39e9ff3dea00aa58627fb75ff589730f60ab1f794367f789ea3f25cf1851e827ddf928dfdde92fd94effd9e7e83ffc57365f22b34f080e6f2e0918f89a7091ffb895ff4de7e85ecf1bf622f5efd2d5dd62ee3014d7e4d83b7baf297dfdf9f95cca9c51d5f742290d576a7a3641bcfe8749b4bc8d0c540873af86e5cf96d7fdef38c37ee02af8b8fc1bea48574bdadfc68bd7044bc5984deb4bed2f83909b373b2619cc923db04d34bdfefb1e76f226effc57a9c543a2ee4f98d1e975ecf4ad80cb2ef637985e406c4b0ac475c11954202f16c9203f18f3e899720956b9fec7bbd0e5ce7bc98d9e7c5ba4ed4f695d6241ad92f4528891372fe8ae511dec390d901b2b7f6e719fa3e701d6a107bf6eccce57abba38f2998f4b289c4627dc6cb1d5de07f58f6a3f58b4a71dbc71b75d5e948dc0564fc9f3b54e09a339bd6f1badb031cee108f7a8c9f58720e113f6591aedddf9cbfbbb58b6fe7c3ed3a3a969cdcee6ef2f5ef77c65541f907fa594f4b48878b760fecce3b1f0c9acf7359867d24f8b685059984c6b53c13ce3f97c187e20de991929e86ae536fbcaa5800bd7361583c3acf1cb6c57ee3c0a5cf2e7328de1cea91eefe2b72ba3f1b5b5c28fcae50a17cfa21f3d10b9cbd9239a13d47beffe149e30778fb5aae3dfbfe816e7bad7a4eecf3aff8d5d03eea6c19bb7448368207fb9de8f09d5e0732888fbfe2f15fc62ea81d0e89def753b947e88fe884e4ecf7e6bba76bffe8fcf19a99bc3b4f4c2a75fad5ba9ba03ba0b6dd995397fd4869f7bb2fce2dfec5e755ddd929b6a5fa73e02fe4e5c01f896f20db90cdbaf3adaf1db1d0cc5ff499435fbc49cebfc036bdc6655d2bca17011ffd54e718e2a88b274176ca80ae6af97e2c866d376e5c85a5585beea486db526d9ebccf7fe10c76f0af8bfde8eccc6e0ff43c9941b6fd19c752fde239d817fce2a99ef19c6ef079cea28b91b03b5b0367491dc4c255f8ec831bdea8fa97e97b64bdefe6f0af5a77e27f1e66024432ecd97883b5efee067c71f6ffcb6bf3fbfeb8217feb7c437d16478ed0f0c0fefea90efc65ecc3dd389daeddc5bdf59585b10d866c48a7f8ca0ff8f9bcf6e77e1172966f4035e9116430782a4fc82dcfeaadb4f75d95dac732a5bf79dbddca1c54b04e4eaa55efd52cffae32512ddfd8f6b89ab4ca73dbcdfc0bdbf5da3f7a2e59b5001f54239ebe3cd169bec6cbd006ec745389be3c979f5c1e838e3629e2961390eebf78a46b492685b3e89b55e8dafb606e40e62a472a0e819554325f27e1e39827920167bac71522c01ed92f70250ac8628e64cc8a47f3b8f9ee0bde6f2099718af85f386be86cee39f583df51d5a2b777f21fff961b9bf57ef75f87fd7fb59bb2f8f985cdbb87bbfb9acc8fd797ffcbd735e9977fe375cd9717f6857dfd375dd7a427d4cbeb84fa1f5ed7c44bd0ddd67cfdcf65cdff5cd6fc672e6bde6df0eb5d4d3e1bda1ed33d9c590d643cbecb093cec2f593457a6f05acb52738ae75a12327ed2657108dc497aeda339c52df835fe8adabc6faf923eb11f463ffb2ebedfb6b2a699cc4fb3deff72e33f8c0b52a97b1f32ca5ff7f283f874d0efc9cae2fab827f4ec0d4fc6f6edc92ff7c9c685ea89479f81ec4a5cb453d2b7afef41240a833341dcfa90917ed457354576049ec72fc4585d3333c59d7cdfddd9a45d7c08e8ba387bfe14e278ae59a27eda777f5ef8cbf3662674e82a45f4f3bebb2c9abf3cef1862bd915d88ec07885582f558215b0b6789f885319bfad9bb7cbd7e691a31c9fd5c17bdde87eff20dfd8b7de5de85c4669b0cdf49fc09fd81de80b36da03677f105737db4c1154c70468e47ba10dc9fb207f4f6245ee25af18fd02fd0760d7add23bd09e30357717e700ee24315c4e96e2389970d1fbd3c69dfe3c482e7fe3563767af02fbceb9aec15e0052aacaff1d47ec05578eb2f700c34b75b3e89d144ebddc50f77cf3eb51d245c8dfb811eb8f53dbdb8d92fbf301ebcdfce3cd99d8df0c559eecfdfb3cfd4fecb63cbb3d74419996decda3b79b64f142648c3b9fe854df9689d3b1df86a1bdcda42a48a818069fdab7d86fdf0e8f73ee312e61bb3e9539ed1af1d7d88efe77de323047ff8748fef05e4ac36ab93cdba41b4dd67b05eb65cb568f179eb13fba508251b7f9e51207f5ca6881fd003ce6c5d3adb1832064d59593c3c7a6ec07f9c3ab0ce83368f62cf898f19cfe5afd57afa4396f6afd7363dded0f71f8b87f11d9f71b790803f271a3ffd2ef3f241e6e5649971974812b7d8769d7ea0fd0fe7228c136e1efa993fd9421d7c20effbbd2efb9ebeff8a26485c2daed88ef50db4665f9cfd74f3045e1d3e8add1bd0d9def7f455cc4c86f1a91f5ff9e031fd3810670de73bc5e1e3697c60ff9e069c31002f73753adae95ff827704c3e921d70ff0fd9bdb8aa1da2bdafcf3c1feb26e01b1cca687cc6f1f07bc816d5c5189339b0373ac6173485e78fe404a9be214d4e5149a7a154bc044e371f845f7c4e20f351b268a7579a77eab3f7d4d7f8950ef04f8fff93f392873ca35fc36b16c03ad958f5173efc27f31be8c78bf64a1b88a7fc0bcf6d7f99578725db86ae08674abd4c9aebd4277f20d6b32ff15c3e862eaeb6a9d293d09bc790b9ee27f78d13a40b3cd127bff0914d7772167da0b68b36caeef5c35f9241624f03439de676ae3fa71fe03ffdfa5cf5ca4be03625aec6346edf5cf11082af6be8b7037df1112e6f6c1ab2e77a9be1b10e89fa9ab2b20019ea8eb82200b19fbef2d961fe8274aa07fcf1893e7cfbcc751d910c29abd3c61defe5a239ca59b777397679aed88545eee0aceb7f4bc6b262b34b7ecdf975f3649fa96c32f9f17fdbf3f52f4e5476f54cbdbe4e260c7632fd3b1c5fafec846519e67f98a60c16e03f7eaffff8bdfe277eaf9bbd7d93a00c27be12b87ae3ea45b8d3711212413f45f3a2c50992a67ba3cd136d3b6d748b6b37aed206929c18c008cd422de353c8c4352e8947f549add652b10ddcc905120ac1257f1907ef08e2194a535a9cd68da9f29c1b78ca0514df997cd4f8e91e9ee595fe19c238ff92e7c529b6b883efe538e81527c52017a77162aec04ba1dc285c349370aae88d2be2a4233800098269fa395a6398b3ebb2b42cd1292433d999e9c61d27bec56df125d63e19da754e92485d9387c1a55b2a9e4f5fd4961dc5a3e8e87b1c94e4544bb60d5ab6c771d4b29a65ebe2bad045752d1fb569978c8673c2b2810bf151e934b15bb490fc659727bec79d43a9d8e20b7b5ced7b51820c1ddf8ddbc075709211b85817b750eaa38c6a79ae9f829d39ea93cb4866859d0c0a04f790a096f6f37b215cde3d0b89cbc4a3cc2b9cdd728addca89918b6bcbd16ae85b8c154748578e63240e255a762e2e1da110ed965bd919375b5313c1724c654d4dd6b2c04ab2202e5d8b532d7b22a83c576c3c738f6804cab99710f0748a32482c872f9860fcac03d72674d4543ee31c91b23b4890374c6257fbc8d073c55d60713b28835d4e70d215c96943b7b8444c710a77f8f23ac6cf6d22b667f8c173795df0c9fea4b6dc2c64267d42ab80e7b2b75fd8277cf6fa1759f369501675e042096f66e33a238c4fa50898e202a50d21c8bf49c332a67d372e64294dc3d2ac015fe8ddc5825bdbe73ed18f2c7069ec997b441f685e5169662401d0c2169550195dfb5e4be231a0fafe769e95604546e42cb78dbb842f6b528e4e0bbcb488b2385e0c0361c4cf8ab84b437bc32e58c3b12733477438472856eb2c8e557e7af28afae57d36feee59f549e53952667bba5beece7f5bb571fc39d0860b61ee34677994291a54c3d9b9685b36bb5468aa96519f99bd5f5daac0b069ed5d3439b32d422fd3a3a8688ef7e328d64fc6a0cdc016ec9d679d13a4b82b051dd9ed5d1fd9eff4314e3d51fb4b6dbb00ba73a2b402faed2bdcad1d5151d679d4f501e5895d7a1279bc12bf8b4da466f95fe83b7977ce17d66b4d1cc8b5cc4719c2cb27a5583c187651ef6c5179b769d3b2ecc91ce38f7d53dae4fbb238bc2934fdaab451b5c892efcb2c7e55f87cf8de99d22a3f591f7db5b669715d18ddbcb768ce781df63738947fb6d634a71976b1ece6e8cdb58f5b1c72512c36ad278d77ded09925debebbfbd9d8fa093db16f08afaa451ddec5f3d1e32708d788be426fae446141035e7eb27e8f693fa37ed64e359dc25bd38ad0cdc5a59b91ea501fcba24ef0f83fedc3580ba272dd6fcd68d1b2f110279e95d7b258efb02116d5321f4f42f7bcf3fe4d87f1e5e6237f8bff5e66bb9f5a23b78f76e6c8f8c77832fe3d7be4e55f6e8f30ff5a7b6432e9b4fff178c4bcb214f5e3970d9297df3b8967c6e317ea653cf92d8be4e5ce22216bd09924eccb7f6c92ffd824ff844d72bbc31f1825129d46e5a108f8e94196842474c576c3e0fa1aa4b663fbc858f189b1a25954abcde446e5b9d966ae2065f614e1dbd48bc00dcaa874266a36ddafedc2be2a934ebe800cb1dc3e9e9be7e8b23fa90c645ea5fd0c14b7139e87936f765aff3751aed2cfb54aeaacbb95795b97d11943c64ea8257b9be77e58633874d93c769b623532f648310e470a15b5f98b3ca80b73db2fe9c7f2cb2e5a5d2dc5433063fbda006eab146f5d06da82aa633e7f89f9641faca96c78322d67c2a0dfb80e19250d458888fdde657f74707dc6e27dde80676f614d0ebea77c04aec1be8da8ea9d78b7eeea44556fad8233c48281817073189e38575dfd8e006a7383378e5eada73fe275435d3dca077ad1d6d79a529e19c60ef523cc2645b8730e8107d9608b953b3e062eae0f01c693d7bcca6ba10e613d27e5c68de9a814b350b259793dade55d908673a7904b643c8e4b254b8fea0e8c2adc9f259c1756b322d92efb5b01f65c3921c3229ee768ed8f6a7928de2c5ce3e82692be25b554da1494a0d59a867a20abd2ee4fd916965f2ee6063b38adaa964c708a327cca13afa9b32a8d591cc1474e0de746b51cd9af31c14b581c68a8cb3e7286352e8fefeef094e9b5aba9d3f5fb9c06447d12baca29e4fd32700eeb3797ce42e67cdc7866119522158e94f87dde146eab4c0da9a010fe63896de502d7888cadbe06da3e5ed3b45aea692875358227c5dbdc38fa90592fa5176ba84b494ef4af754816925dbdcfcfa8fde7da34505fd4c6f0499d97e03a877e1d48fd0b7ad5dfa2999c0711acc75862bbd3f6bee6eae25ae379acf254b358f7b52fb2b52be2bafc564aaf2c6575aded4cb131d47e04ba43f3a37dc493b66ca196fa29dce954b473b608676a09d1f72f509b9657d65d6dbf78cd7638812cdc70c32f53b841bd18fc9cd7bcaaf41829abcec66b94853ba19032bb9c9f1b7d77be6858919d85927880db7f7dbfc6a9af4767e5df7b1cf5b5446916d7c3695e634407965fca65172923b3c35a6dd79adec50ff4de0bc966e3aed68f3466b561fdc427f549c2ed78b807bebf319085e2455e73ec7277c84366522c33a151e778cf2e4b270cb3fac3f368f6dd33f751c98e48242d44a398f826eb5ece8b635c8a357a27df33e1b60fc9545b21a3d8f7cc429626a730a3f167ec74a9d01a4196746b128539e20fa4c61c385f944226740f599679ee183263c40f5b7056113910b5dc21f6740a19f170c3dfe2427b541cfc92add5f2ba6f3c2ba964892e62293d05fc385b78f4cd8de8c5a016d81ba3a411e33851797e2175c07014c2487b41bc8ed42603075b74a9b0f125c565b8dea71adfec0357cc034f5182397a7e5a6f242745ef65cf15244fc6cb4cce5429ad0226c599ad675d1fe09430a2d229375ef222975727856ac975e88ac78069d01a9dd539570492788ca5628bd74c81eca751e9b4cb121bad1123227e52bdc11a0b83cfc3678a1a6ab8421f3ac22fb5968a4b3cd7481b3a8d76880ec563f75d2cb11f813bb9e92766c47a439ba70d92fb1d4ee629dc50477dbf7b743bb81d7759b9f67eb1be9153f47ddd6f9771e2778fc8238b0d95edf96f3232c0daa6bef9cc44b5bfa64eee057f7ee7fdfdaa15b62bba192d2e75a5b68d809e5fcdc61918e359f25db6b4efde3cfa58b6f929681b6ae5d59992c92f7216a4a137fd2167e76cc5c3e73a9ed599cacb7f93b7fb4c29636ad9cab5d2cabb65269791e79cc8ef3bf83dd32ecb759dbddfbedbf6ae7e25c0309b5081a7537735b18a610da3906fe8854717e11c1c89e542128eb1e45c62e09bc5b01e561b785cedbb7ab1108c1af1866bad2487c57c2261d5d6dfcbe09868f2455bbc82b36394861a4f4d0c8b967c8b2e3dabaede797866b468f36a79793d054cfe632877dff8db1a4537e34bc9a73aa88367339f616b5c878962915c86bab854738a19a735207a2ba916ebd76c09eb4178303fd96e24b1353c63aff1f97779977cfedecabf77a7c86a19b42143cfe03786cd032b25f5b58a63cca794bad3697fd79db026edc23a377a9657cba2fb0ecb048349d328d74f8164ef1723e3188d9cacbf613113aac57a9fc93baa22747a5e59af7b6fd7845ed1849e55445ec6ee96cc504740b2bb41b8a3579e7d8c18968e4a1de97cb42ad92caedb27f77c1ded07420b5fd7ee9b517ba87bbed34fb1a76c039029f9e076477a567939d72cb952e748760cd70bd1665e873baa868c96a5b30bbce469bd60d09344a50828671cf1294d6a370e6b73617a137c56a50f6fde3c7af12c76a74a11abd2e3fc5d9c84be45bf78ce2155bdfd595de71f6a46c78b6df5ea15f57799a64e9bdbfdc3919a8f34a9b15df4757bb7072ada153fc22d9d072e5a27c7b1f3621632f419c9b37067ecdf900e64dde0425279395b589fe9eeddc53793ee7811f0b377b72817a4feee6d5dfd2a8d4bf1e28f942a9a1b2f720635f03f3fb70bb288d1db8dc751cb4c46bad799d4c6c699a50516e95a70db08fd3ee009787ccf28954cdc0d740aa44fd38f6af505629dc9bcfc1138f4eb3b9fceba3681957fbffe46b18155676a2bbf0cbf8ba116b67ceaea58f73a9d45415d4aa47b0c9eaf6ede71bbcf86fa9bdabe76fbf412bbbd1eb9d7f873bb58b3f46a64bcdcf28eba9633a391b3fc239eedd1dc101e29b5d4f7bea770319f9c1fb613ec41bbaa588c4cc45b101fac9623b37d43fbcd758e3ee2058e635916a289417bfeb5d0b6f62968cf9962c95fd3c1755d68b2eff3957760554163212a655bc58b4b15a96d157a191b2f32e3a44a35a2fdbd4b8f5f3cab7e5938508371ed59fb5c6d1b7165b16f0bf1f0b62ca88f65713e2d8ac39b4a537fdd3c772134bfa67f045e5af897ea2683ffdb88666f788d2043cdbc81dd47a973bb0eb754b364c6af8feb8b1e8ec8dec16d6c7cb37c460f6a2842cde66a4df42f5c2fd23ce1a8ae47d16d93adef3635590ba80f8f6c28625f0e6a0772c5ad2d25dfd952f48d5c54e9e615c9fd4f7554e7c866b9da76e1964a35ab69579ef1439b9d59d5a25b25f3334f3c63ba740eadb7ae2bf45cb81deacaafd93bc87fee15f17775a79f43a9a016fc6be2cdcfa785d51c910d0df21ca2c8e0d0eab0e08bd7f7b97dcdae6a35b43bbadaa2ea5a8c496dc33de8fd509f7a0acf5dd760422d906c18e18364b045191c8906eb323b0c9e6da8655bd05d64a59cc9c4b64d7e84db619f785d63c82e48d32e33b9cee3661fb0912762dccabbf3702f27f1adce3c1af064826b7a10a186f87442f85bafa764f2f650229b81d48606bb65258d7f747d6ca01e7ab7d7d3a3eac907cdca01cf1ba8f36f22fc12fb146a1e52eff3731a5b0589143eb48bf6c092e82ef8fb2a97ec5e7e2f66d33acce8f6ce0e60484dcf5229d11af6fa33e2bb85bad32bb48ec856f31916c9ee3ab02623df538e0b5ee97c35fbc57a9f0cda7659fed2b02ca88d5715484ff03d250d5d07d927175269250f3c88c84bf161b25ee10a077d659444e3c723750b594670b520c81268243eae660559a770559ca20e792e43efdf57e3215962038b2b63580bfb28434d5323095d168d0f19f29737bebace6738f92b2255c4e496756caa589a34cb9962c0ad735d34f9c921e0f553342707bd5971e3a379b3063e85b9f1aa59cfe8c16691eea3ad114de78db23340be2d2e74b1b01a6ab51db31ad29d2e7431e01bf482716ec6f3b09d5dc7e02fc274156d910c49dbc0f5eb0d92273bb38aa5a65831da1ee99f1bcfac032befec3d6ae53aa1e65037b7633df1bc77e926f4443a5e207d86e853b816ae9c829f02b513a9a30f7aa3482d66d3ab1cdf1dc077b2cc942a848374b98e4a71b4dcd9f506d986dbaa55e7785ecb32af63c919c7b36a8bf6fffbfa705491bdec990592b76ba9386e2e54aacd0ed4caebfbad37eee443ce9ad6f7a297d86af6c8965ceee43a960a2a94ec978dd540559be5cee8ecb8cbb21c1f37e466bf43be43fcdaa52934ee95276670c389828c4479538565cd823d38a701c76f5bfa561edde8bd36ae1f4bea1977b40235e7e732f8fd7ccfa9e3b9ce76356603ebc67734a8b18df4700ec9814ff56183354d32ac2a74283917b5ec6eb44f8a9881acde47909d6d5a10bf5871d5b3a6cd4ac2ebd7f1ebd5a8c72d44a7f76b56a2e76876b93b00ae211a7147b3eadcc03ac6e7bae7588ecd9ecd0f6c8cfbb921f957205989e674438b19f743b3ced4bbc5ee42eb9c0debf2bf617cbdc8b8cf4c9d2b697ca928f7c2c5aa043a32bed94ee31bfd408fa589f48022e0e58eeeba3ae36778879d768c2427c75503b5efc1ba02fe8fa3300bf6dda3ea989f94813bd906def3bac164fd49f5bb09c9f6d7b77bf4fe9dfc27f3bf5f73d011d0b3c4ff4bf453f09d9bdb0d8f709546515b57c8d6f5252e5958afd5d0768e67571dc3bd8843ff2e7595fb4a146672a596741add665619ae6d817e07bdb13f5ccfef6b16a74866295980dfa79797636493f5beb9a0f789a65719cee72f8187f4ed61046cc12ee6761d8bf5c5c3b6e355a7baf21b089a19f00508e659eecc502ba852c1f008bab995542ace78f4127834fb8e74aa322d7c5ce9e577d7157c61d81e77c681ab4126cace07d2f1fc58acdbabfe94ff505b2d575be21b99db9592f9fb604d8fd07bca99962dac737acf47d4ddd51fa66441a1647eaab6d36b3f575f7771d57b906d60b3d7fdd2bfe7dd9e318b686eee015fce953774788aad860a994311eeb41797a6d921fde03dd4146f92d342d60da80290d22aae4852c7c806c56d2b75ee74f86e1fd4197f8ae3289ba0feb7e0bf267efbcfbc206dbbf5875b0f1ee155385b6413bb2cf5fb3c8b6490f49c53fc5bbc6bfad72a9b7e5799f80076782f63263fc08e58efb39b79f57212fabacaad1dc9b02339e3c093bb77b1093e116f083dab97a3c53b79e7502a2e0fea6dffe45d21ebe773fe643547752ed71babb9a8d2b9f6ade6a40a46ed5fa866c5a767c08373dd638beb5eaf3733ba7f6f981b4fde17fcc4d8271eb8c68bdf3648feb6482758b587b3bad3b17d309bd6ea5aa8f0f3cd291ce9d88f2f1554e0d297657188dfade6bc72b5ef72d144c1bc6ed459c1221b68319a1e23a6a9c0a6823e94c8e3e58f6876f88aff23bd0cfa8b66fbcc6df71faa43a175bcea7292cfdefa8992cccb92e4ed32adb51185c6fd90b37c0ffe47f1f0e689cdd1b3aa5799df039f469f21304b9ac40b129485be7be78d6a013a17e8e44fd62a6d07fe0e34576ae5fad7b5b372646f9c604d0a0adb599ed1dd28a8cd8e069ec83e647768597302de00bc84d60237a0e0366596567dbf8c934625c882d0cbb8586d73d03d918cb9f2f47aafcf9a6a75115e36565e8734d8921defaf54ef96e72cacbc8e2e60d3d2646fd5b2cb22582a19fb26f3fb01cf63515be09f311977c1bcf6eb0d3e186bf257c814c74ebe2d5a80f5869fd421c35e8235956a7c735a3987f8667d8547ebcbfdd0f873b6a0900c4c8ea15b1c1733adde5854b3b0eaecdd4abe2f8bfaaf454b43b05d47876e3bae3c2bcf1656b35bad851fc1a5390decc81d9c4b035f13d8903eec3cabf9196da62b5778a22f25df5716a243935d5815ac0bd1e5139997ab85d5481dedf8565ebd8d403e359e75380df75bd0e6c74dc9566196649e34ced0fb21b864f08d5df015ce35727e2aec7d6b72095cb1c537970e6fb2489d16eb31bb41f4590a57be007e6158f38fb0edcf45cfaa14ddc9fdfc03e0f640cea6686171a1f05c18a15fe38d5574b6703af43b2ce61a2bafa7952a098fe8f46f2b37ff6ef2358bc73aa4fdbb4b79b5cc8d8f950574f2e17bf45e2d31cf41f2359cb1fde795259c97191b85d9f42f4f1a27e007bbf55dd6f8fc1ff1e83b795ec66508e79c6356a527914bd7c99b98c69e48256a4be49d8078815f2ee6322b1775e259d34c5e536c58a03dd4082bdbb8a581a209dd961bbb221d79d6f4436d416fae54298173f7d0d38ed1dcb96cf8f4961f8b6c154bce61a03f51bea77f2c33210db3065796659c1cd959a1c49e22c626e764207784772b47fb09b5fd5879761d800e42f0391fc429002e31cf7699eb9c6e7d47482fa169c2772c1ca7930cde410f37fc04e61bb5bd8c3980ec81f9d0c2a3b648deac5c0cef7f27fe5f0efd7e3f271247b15bada768df724b26fa58b4c5added3d9ad3bf314cd80770dde33463c949c1bd277fa12e6e7bd4d3a78c78026efc36319dfbf33f0875ea73ae2aab99ff4f5deff40ec48f00506d604f4e5774c9b3774acde8d4dd619f6d040dfdb133b08ce3d3fe970188fd4ca235510774e8d6c1eacb7d447a8cecedfe972e037b9d151a9d03ddfeaa773ae0dd6fb073af1d0e7e4970b5e3947257e57e069c85ed8e9dba82cce318ffdec4846bccfcf19c924797df6aa47c19843bfc057e382ee4ef0bab214f07b0523258da42453211e0468f2333f1f9c55af4644cf1b71a41afbe4e2bb68bd8b97c093f7b108b7785ffc3685b92daca618d0547895179ff4f0a2d3c383811e8eda9375cc03d7ff0d1f8359045fe8e2b2e4841a4d611ff8458fc1574453f7678a75e0d417cf1aec5d2bafd4796fcba13965eadc4c834b05f62a7ad7b5c48e024f99f99e5e2c6ecefd9213d8a14c54cbd914c9d8ab0dd0f9874a07e92bbd8f08c627ba722ce158ae5fc6c10ec775dddb7b435bb1a765f2ac9c753113f28b0fb811631cfb36dddf8f3bb06b7a1b756135692815bb708bf0a1c4b7e704e364b16ba2777efa97c2839c87eaba91d454319f9c64be82df906e0615e601a77abc62c8da0cf1288d732233ee75466cf7e1fd7aece23dae3a0cc5ae3ce3e8bb4d1530e301bf3f50849f17886e6f62d23a7b02cebec47ae3c6c7abced85c10bf8d2e4db51c691f8b36079b4ab5ea971bfd6fde8d3909239aaa56a39bcfacbc53aa80492979bb87f6cb8cfa5866084faf5d8c413fb63bd2e3c59abdf9bcb2946de0a2b1e46c8975cf17d5aa6fe53c3fc16b531c2e9e957fbff9bca6b25072ca98975f6ebfa7c19743f05121dcc1da5ce519d281cfcb91f6ba591f2e70aec14fda70145f605eaebc1f7e561fad099f1f43573cdf5630189cf5ed0ed84f5a229b3cc7676852ce22de4e6875e007b0596d76a05752fe23b6ea8f85771dcf1d39f12ff122873cd3a69dbfa5888a038d64199ac7f01d6efa6c6fe606ef3ca0932eceb35a8e6c2497417f075f38aecc1fc60e55875beabc64c6afd1350bca8f3043efa1846181e42c96bfc80650e7b736f767bf71d70664734bce99fab95e7db866e73324f151c531b87cb2c98b67b232947a5fcd037f2e6ad7f3cbde0775e3ffb09a3cf0386a33db672b0b641fe61d37e7ccafcd72dbfb4331af9df7314ea1378c797882974527e3f8814c6af33a20fc3592c4d677e3d6f7b8fd6ff87c8672f467ef7f2b73b1de5060bd01f3506c4790b30b6770762139b7feaeb550015f74a8a10d89e413c269e3fdbe1feca1fc5525e207c3bffd8eec81b8d79fe00357f5bfa5856eafdffa978ac3233da7c697f62615a9120afa0dec511cdf8af7c155872822464fa35f92a11d5efa36cfcf2aaebeddeed9876b8bda823cbdcaf3dd2fd059f76ef0fc0359dee124bdc3c9fdf910f824569290a84cdec7ad818eb6661fdb0837675bd5d7cfb47ea9d2e3578f67d355c656bdcf07677501bfcf4fc7b0f25af66ef76e34822cae680f5bbe17932cc078ac05d2b5bd06fce9efd2210be64d17f7532dc4e6f23e1b57bff3ae76298e483675644bbc3cc567a1a43185e95cc9fc93b76d22b585cbbdaf70dee4351f7e69be76f1450b2b8da2d1f96f0bebf7f0723b1fe1aa77eebed0c1d7af19e671f2bd7d826951eaf0fdb3f56c6edef3debffb785dbaf3ccafe6c7fe8fec0b8237b297d07ae2f7eae5973bf9f8555baf930b2aecaffa27e75dca3546037e4f7e72ee81e8e23cf4b174fea7d3ead6f7d2db244bb4f7db94bef725ab3cf881c9d9f6f00c6a10e3c1e785b6a5588deff8c104fb9aaef1208fef15f0388e0c57b621716f73f0790d62dea8e6f68ec6705c88bda923a4b78ce4d7787d68910e8878935c345127cba282aaa2acfee86267807741bc0fd2c7c1775a855ffdee205b8d3a84dbf379108bd75ee51ad5bc5b295e275ede835fbaa59a15bee752ad2c1cff82edd3618c9f9cca59fe5d5fefa98575b8f3071f8eea1cfcc7ddb9d85ddc5c735c580dd8b9fdd9ca8dfd38ad37563e3ccb43760c2b677217a3daaad298f4dd542b4bce3ecbe9277eefb9dcc5b0ede482fa0b2e21d35485eccb8558a3efaa053ffe6be19cdbde47278db18f4e1ab351013a42b5f21434a76a59e62c9c5bae590ad95c571a1406e7196336ccfab3c1da43faf1fc80edd62c3dae2cf66d75b5578e8b477bfdc637fc692f7c0fb3decfda2cd6d5f1d33cca71a564c17168573e93971ee35c7c463c079ed6c5230e622ffc72338cb59a3fe10d054b64ba73e9624cdec99adfe9df15e1416de0068ff8501f73be983f97f1089721f0dfabef02fb889fb7094b16c61be80615e859564aa3fdf03e6f6862c7dfc496456d0d3196f295b7c01961f02016176455691f2136e61a4396782dc41cd731d1dd863265b1eef9278dcfd787fafce7734622b7fa381ca2ebd3dd5961e0d2eb78ae9c3e9f7d9358c311b9cb0336be8de3712d38d3ec78e0531d2f840c5fec316827b52939f5c6a5eee5c151c9fcbdec4e428da65fdf7991bec617bcc2e57912b7bf8178ea79ca194e3336b64af426c8176f9ef23a7c2ea23741e1d067a3a5d1dfa2374f671a8ffe36186f9e0a4bf8db477f4be8ef783d6d8d8b48a07ff0e6f659cb8d0643fbac3a0dadcd1451173134680c4df85e1b69b88f8b7e31090c088c31a404dce725160894304c1802c7780c6d6c7490c6d0b470dfc65a2450c37d513e4de008b735c61a81066e436b7980e1058fafaf6d86c009863e79377bbc84777304f22eb4698b04627ce8b6df02dccaa48d4fe1b9fa0c69c3e8db02c3dc2130c0b01b3f372e04d218da1dc4f3ca1d11f71d48f8fd03c92c108c1a4d243083b146e4dd46ba60e0be2901f745c90d861a99672ce279c6125ebf58d2c967fc7d7226f31f6b6b0743fcee636d6b129802d46753186b39b3c71876f84b18d257470be3e52c2630276d5211a0209036e96c09303febb8cd44bb14185230ee445f730426b88fb5df10c8e03e7206e3271f6978cd27cb1947a04ddaa43302250cf3338117dc47c1e1b52f3842371363cb11a81088696069cb130c1501431dbf936dce0824df9b12e95bd408d4f1ba4dccad48a041faf4499f01f461aca734b41584b34120bca320601a40b0457d711c5e178ed3724c5fc65a3b13d812782190269021704ce004437b42c6a481ee048136f16706cf9be3302d739c7e91c958118561d2cd776c8a0492364bd8b308e23d6bd8021ed71639dc46e4f13b89bc56104863a85bb80f03f614c719b909d084f5e53873dd4191409f8ce1481862bc1adb0e9ff219bf9b4cf029137cca1d3e79824fbec7e796e0734bf0b925f8dc6a5d9f972581f8dd65823f99ee3e135cf03aac3b82649edb00cf731b35a4af918edb8e3502090ef8a520126893b6399957de92b6139d40329f89d141dcd7c4249ff1bb2b1c1e43e18027080a87e500c71bb64820192bc7346fe4061e33b7f1de131409af997626f39c69824e20697b11ce0492796a2dec35416b8dae0dec796e86f73c37ebf6ba71713802050c7dd217e601c685f00041c33c40d046e41d663ae500c4bc00c16e3e9817189754246d279806b409e6abdccc58a718da840628f9422059739d5f1288d758177a88bf17719f3adefb824ef63e3733ed00434c0b3313f80b276833cc0bcc19372390cccf20346a10becf091a251208f81274c1c170ddf581658939b3c7a40f462390cc43d02f2986442e9b332c8fcd59b7978d895e6048d64930f09c05638bf7b229283c81028644de08e60cb735bbf716c87b8bda8c8c47f89449f89449f894b936481f3685fbb0692c4f38515f039d88cb9948a042a049a04ffa4e390267b82f87d0bac3e9e4b38ef7bb88f93c820a813a8698d788c605cb3bd3d62802316eed6e9e8eb024d0207d9a02bcaba461da93b42de983f00e73dbb5f529bcdf7d6a89712ce9398c2f2d67096903f4da68b3296e83f4330c2f98af08677d5660b886711a6d063a45a3cd1c8eb4c1bc683dc57480f4910e1618621d4b38eb178e409bf495341882ec6e90ac267d623e83640f8fdb1a1787c01843a04fe16ccec8bc84802310afcb5aa68017ac650ad398d0ea828961f72e5ba06504c71876ef44f8eb5a26ba97d02e6729868240daa60286dd9c152c6b10c4b86b8dad436082dbe40a7ecf1ce813c196b49de9042ec978e62c2090b4c5bc0e41d2466b7402499b8b0ebc55b8e8db9cb489f1fa5e1232476d0cbc6cad7778bd98788e17b39b2315c07be9b329961b6b9f011ebff61942138c4ec1dc9825de6f8dbe2d00f77a4e74af758075c2752092b5674c907dc24823eba55f84064311eb32ebe882e927a2c8dc463ac85e61a46fbb36a0c320289236238cf368dcb5c17b4c1899a01f0a2353209fc99aeb14e8e68d4e11dd721d4b98d69286f431d680170863b2b79ae52c1a63d8e13119835c43b0c56d305f17c658be0963a36b2b801dd12cd7dd1ecb1b13430af32f61a2033f1026fa85b4c1ba4fb35c77e3159c01eb56f0648e1303e49a30e9e87f699bb00646378e2d34b0ff6ca1c56d444e5f9b0097a48db14e2618e65d1bbcef6c9103de61cb44f68abc76d101ea58d635c61674d2c6d812fbcd9669dc561e637d47e40dd0a1c44ed63706b6471ae3d2cd516b8177da1a59737186f98d3823764763609bae313a1ab6356c4bd9daa46b63e42281a40da5481812bdd3d6b14d69eb841ec599097482a043608021ee4be8e8d414705f668f571fef3bdb27fb4e9434dbc490acb9b905fb0bc1316943013fb17d226f44495fc7041618da0a8126813ee90bbfbfb9edde3fe081f610cc705f06f075041d0cb10edd9839c8150419d27686f11008dd3ccc994e20192f37790cbb750d08ee024923e3995b93c0ae0deccb569b4567021b0229e8633b1d2d09c43c443e2f619de5f312efcb569b15b88ff5b4257084218779f256688056b602c6ff5668b05c931b8c7fb9c1f624820181298658df6eb535e812084aa44fac5f6f850b96af32e27f00099db7dada9860688a1812bc6c85316e6b101921534b58439932b16ed7ea02e8e0ad7e8930feb7d104de21d7884daccc4cd893caccb461cd5a8372440cc11f80e00543e0cbadd9c9eadc68f50ed218028de5c685f42de8db1843b0ad1481ecfbd69ce50cc0ce56ce4d0e78456e123d5d110cdbc1704bda083269238f491bdec470d68d675c020213d206ecd7d6148c6e1c818c2374e398a05f2a22f63768670de3fda2cd60fd2f90270cb5bd4cdb2586176c8b6b670d74020413d2469f6168746db09e79994e4c1eb759da781c632de036586fb8f47ac385c33e918b40789fd690b935c4cf73d1d6a0af5cb435b18f2e02b68f2e2291ab5a63903626c6df05ed1f809d7fe72293f791298c0b0dd10b86dddcb60e6993746d30cd5d149ee0a025e350845f51845f511dbf32d606f8ba8cb589f7bc2d50269237b640e3360ea76f915d80a040daf82d9237c6daa7481bec734290f2499b420098776d02d18436510332d116461ac235825b19b7b924630c531eb7896706860292e300bbcf3486b0063692e70586a4afe56cda1078c17d2567bd8378fcb186ec5a801a6923b7186a64cec985b4e9de73ac2339670be3e58c8c03be4f040dd226059ddc58a7981fdac2d844fb0cc15c21d024107036e9f0bc5ccb3486ddf839d821c63a67c8f8139d82f1274bb0d91c6e699339dbba84db1464fc42ecda000f01e89336818860a70b18b60076b1610be43d454e47f60d403c8eb1467c1f41bb6b03f2dcb005a66f83f63782c8460468e3b6b62861283704d20432044e709f22d8b4862dceb40e16000523c36398484747703d257d233b1d41bf257d809fd1b0e533ec015be4b55940608edb6c39fcfe5ba1c16d64d0850c5b6ec9bbf020230026a48d42da90b5b165dae8608bdb80ff15c10b995b6eb718faa48d22619c11fe6e1b2363ad63087cc011740ad97808eab007906d8cf69ab9cd499b80037d10413c8e64d848063992b1c5eb69e6f219bd8f9913df921df01ad22710b44d027ddc762b8f315438d2f642da5e963c690b3487a0035047b6254091409d409340d2770eeb2d19b971c17d1be0a732738326ef222c114f43700dfb4932056d84a14fdec5c4ef9fdb23d246043f3f403c8e09be4b4732097f3273bf5962d8621a0824f05bd881a4834d829e05ba413a0a83db0420af90ae82f76d20812d892045dae4ba84a1d192360292ad081a641c53d0e377f48eb3e4ac898728b6cd19d9df8271e1780205682f682de05ad05a8c6b7386e789a04ea049a04ffa30050cf13e34050d6c5153d0b08d639b5847b54d419b45d0c69c21db1f4183b431464b6863c07907409887ddf5212e6d185f34f03e134cdb38636837b80f07af8be013ba34256dab63087ab623985b647320d8cdd51fe91876e3484ba04753eac7c9c95c736d8cdb043313c60904bc96a664ce9c2b8e9d7b1c17183f14a10541e79618f23d7e663a81096e43053cc6cfb4c30fe84ca6407425db1474fc6e02d97382398b390267aa7387cb16b759ae15024d021d02c9ba08c8c60588f78760f25a07491fe07f46305708c4ebd2bdafb9c5fca2f3eb98824f131c331d8e41cf43b8eedb243481238263f04d00cc701b2317af382eee713ca5091c137ae6082d5ef40ed218623ad32e06f96ce2fe673ac605f1b7a23e2286c009e90b7cc668fdb0bc366706e80be68cf07e01ebc0002902e96e3dc99a3498468db65b47f0f7a235e87021c8230c15b28e26a1375320b810c197866047a36be142208ddbd80d7e5f1bdb1ce8d90bbc9fa877e3ac8d318684af09f6ffcfdebb36298aac8da2ffa5bf4ebfab00cb2a996f5528c8450b05b99dd8f186800a02420b96e08ef5df4fe493c955abbb67ad35efd92762cf448725426692f9dcaf23fc7e5d9c7330ced530b6598cc827d913037ca0e87345d6b6c6cf081d78a0bf8007faa386879b443e0fe49908c3613423f338efeb989ea06b487e32f1d9d5783e5d4e03f8acf7704589e41c1635ce816d1e7d62bab89e11da305b34f8b318ff6a3f567a8c3f8fefe4931fbc2b39bb633daf4dd5ef5ad38a25c63da1c1dbe381bcab78ade90b861187aff1657d741ad85f36347c41e0149fc9eab6a9089c32185e16238cbb8bd1827c27b8f0bc18c26fb36f9b6702b7cdbe615ab5bad6f88fe510b46f36d937e041889653e413efc174d3d0763cff6a8479cbeab9a5258486809e82607e81c798d5b0b29eadea4f38f3354ff671063a7d97eee88476e935edda54773c64ea90cf007fcec8bc7a30239f0279768c79d8664ce8030ff63238f31a17907e8d3eebbd32c85ed9580f43703123fc674670427f279f8b1a5e300ed6b2ceccbe61ba67dff09ed9b7058d3f9b3131bd10081f169664cce5a6e6717669592592e19e1753c32574f1dad0434cffa89a862d673ca17b352ddd8cf1a721d4f0b430fafcbc869bd56d4d3e0df2e90fe06985718ad821d7b3f5fb9a9c27c17d44e706e72809843e6158d06b38dad01f437cdcf0e44c82219dc2f3d6f2e7cc2e57f5fed6b20145684e83bb2ba6dd3767b86f0496881d1abd2386dde93aaaf1e08d219fe49ddf6b3e5ce2335c954bf29de04159ef01e8ebe893c29f588e5dcfea33594ff199d4f60fb48f98beafdf6b7ab6c63c6106fe5ff85cf679c54c24fbbba8f0e7f2bdde5ffc6990f56e9e3f7a3860d4720abf3e062d1da2ef78f090f756f8ac171486e905ddd06b2c334cb1ef1c3d13080379e74af6e84ae4c26b4d87089f992d6eef64af9cc77b35adf172c52ceb4f7c0e0c1993a9f70e6c7b200705981ed563cd6663226336388ef1b2914fa60d8d9eae9bbdf918c8d9eb63346e612b1ec216b3eee3d76c396d65f6159675848f461eb5af9655ba9817821d64f631e5f1d94d0fd582279f317c12fd79f5bc041c593d2f234cf33ea60e79d611c8b323f2cc68593f03b466f55cf3d58fe9e1660de4db75e408cdbbcdd67778b3366abe3d2b077c9b5f4e1bbe56ae86e3424c06d08106ff093f669ae7b12cca37bc7423119a5cf35f638ae186c431817cb21ef06c426f5af9842234976ee455ccf785e5466c692cfebc357a047e66b4aef58859e7ddf0197664af8819d0276a55cb0998fe8f098f14880c26ac099d27f82dacf50646aaa1ceb18eec517326c7e5e04c96b365cdd36bfa336df0baaae16d7d6cc622fa8f4d644b87e8598e80e98323b4672c4d07673c5b101edfc1cf8ae027a5f4f172d49c512435eb59dfc9face3b91cb6b181b1159bee14f1fb53cd8f0b40efedd308cf6709a1ee827b7663f6ecb3b7d6e43914fa6d60bc8fc443f588cd735af209fcb5a6f20df894c3e5d619d768afd4d20b762de4b491cf9247af9728ad7b89c2e6bf9756a787d9dfa9de87fb52ebf2a31af5f95cb9a666e88cc4be66b64dee9b2d64f6ef81d56544b8bd67d3a5bcb4c53c237a6b5dc6990f734de3f6afe7c237232a1f3eb0dd1bf37eb69a3b3d79f04de17443e5ee876ad3f50b55e59e3cada18e027d82d7b323591ab82f75a7fc034dfa9f9a5b0223ac7ea46e4a668c9914fbe86f356e7588c305c776c0b9b46e7bf117a3f6bf06f2a4dc9fe8e9a7de587fb1a93fdc47a5943df37fc6c40c3788c6f86d0f2e1b89ddb20f8daf0870d433e6b7b055feb13045ff93579bf867745edbb0ce9f08a5a105db67e9725d1475bfa81ed6de85dee70bdc53b4a2274c82b6b3b482d53ad8772e57156e303d129decada0e42f6b15ad7304d0df58037a20bbf35ba305eefa65a10bd6041be63fcd810dbcaa66a75652293d6b0a113bd57af7544022bfa8ac85244e7d189bc8b6dd3e893e0e286226ba0c91a68b2069aac81266ba8655c9ae82ec496b6a1c9f34416df30e479863ccf10799e5f625b1bbf8c888ea17b648d1e55ebb564ae51fdbed8868f3e092c367b7920ef1370b55e4460f19de861fc4aafed7284a66c6a998927cf18dcaac1a325e10f1dded3da276f6be38ef734f0b33c0ee52663b61ed8fbd651c37399f59d0c46e48986cf77f1dbe18736056c975e4f17c77b3967791bf254e37d61f464e5ee5a4677b24db4b9366351431d6d53aef97a5d076ab02e6139e37d52c3efb5ae23ebc6b89e851be715a98307790fa2254df69cd8f4f1f83207620eb1fd346e56f95cc7e1d3cd1c42947b37fad2abd9c751a5225c59af2a03557fcbdd1b15ca21e412c37d90a333fa2affcb2836a375e532e3937292668e5966ee86bf3575177f9e2f50e17c01da709315c9ff9e5c5c81bff9335c8b1bad87d483c7b92c1c55cadd9e38a345f6c1907a845a7051cd49fdce14d4c732717ddde1beba31ae33e8c639453e69f2c9585a9c396190a966d4e60c0b24774118bb4b9eca5c2e67b77ad1f633e066a98c7e33c83d319549a17393f405d4ebf3aa2293b5cd0dd7783c04f2f46d220bd7423523387fa80bacd34bdb5aa74a42676e18648a109d5dae0864adec5ebf29429449ba58e7e6cd5473d3e6316be54d66a00e6ae45887f3567b544fb3ad01d4d6673c5c95f9e2dcd470e78a4cbecd9a1a8a6baecd897e9c3f6c34f5ead650cb2666f71ba87d5a8f5f0dc7879ca4fb1a8f3792a7d2e45e7673fabcaa686ad1cb4c745eb4f55c669d9cf65fd52698297c01b9c47b13e7ccd95ace6e9b3a91505bf4e609fce5afe7437e59ff74900fd9ab017ee9d435811e21b87e555b3b521136ac423f1f06f5243f45ae970396fb3a7d94e71bd60dedc4d1597ad01fa254e69b5e1efcc76993f76aff0c6a6d7aa3f7c00d87750bfbb945f649fc2b39e1e1efd579941ed6797404e3be1ed14ff2bed1fd5fe77db7f953e8be2f73e9e3af6b35ded58d10f0fd507318e7b405beb5fe84bcb4dba33cd2afd76e5b06e5320ff36be34ebd464ad5a4b7a6ee414c3d89091d6ccd92726f69285701ad9a8bf4be2e191db8899f3b3a5bd747c8e05d0d2a93f50c9ec1b5101ed10f58d3c33cfdb656f3aa5b7fe0d7796a065dd7d1a0bde4faa836eea09e0cec03fd251e9e8caa5b838ad0dd7085eb43416e9f6c89ec60af2ebfdcab39d456c83e4ef853263c60476ad56feb7c3d7cdf97676b31526033c5d531d741b34e3236ce358f02958cf55145afee916e7e57e6222b9efc915f3d93daff7969e993703b5f53de34fd542af1ec1eb3cbfebec642bfae760fce9fbbb5bb9bda209d1a47e87ceb33bfd4e7ed9e68bfa6032d2e402dacbf04eb182eeee9c26ed4d4e4fd692d819fe6beff4d79f31fc9035839e1de533beb3d704feb9bdad62b2074e5013ef5f7b68f4f73e049f15e3b640ab762774c53fffb05f7724b0fd09039ae6b8ae69fb83636fe5d9ce7d4de2876507f14f74bba40ad522e4dd55be6b9d0203afa21eb934cae26b99318179b316e5007699e5f95e9929585f7d74555b2f274c29af4f80063a171acf28fdd6d91efb52835e9b1e7c6d40fd9c0e3efb9c0b5e64b6f43533fd42af65ce82d9792baa9b4b7308a3f6c9efa81d741e37558b859f5762ea2b5d7355653dc70f9ed876ce537654e43af27ab1a7ce7d03ec4789d1a79cf1119afa9cb937e92da9eb7bd7638ee6eb37c79a232f45ed67c3991b828554252b755783ea3fd54aa12d7aa19f1b43b5ac7685f648e8ca13f1fd42ae8d4a50926cd3e68c33381babbf599c0beda50a33f4aa16e2cdad3db2453abf639a52a49df31a93d8be9e445e50252ab633df1e652bc9fe3fae77b809975e02546201b8567cd177f58f0b9f42c7ee9cbc7093a83894297de421fbb565cc25a2d9eec15d403a10bc71c536dcddac0abf7623f2d3d6bcaba165fde2c1e7ab93ce17ab6d727158d156613898b272ac7bb2b8dde3e98fb0f980b9ff544344acfa496b395b17eb7f8d235e9d2f3e892c00cec836719a567e9682dcf3ff01aae9f6a1550b6e965188e8b09aea73b7952c3f86e6d75bd5da8c74b97359c219809ea1a237b5c0be5e6cfe3dcb1303db42d29b6115c33b36217d368dc916290734d78ca9f4b997d3228478b7ea8d5db0fe536f903f0a37af7acf9da273849f0ebf7d7a5548727d122b50ce725d445c1350c8d09d04881af1c73960dd785c6978f881ed0aec8979ecf53fd5ac3f76701f88feb9946e74e4de2dc118ca48bff169fa7aec0878e79cd2c9e7a11b9cc738f93837cbc3ec90876119c6979a636e3a607992e2f685ff65c5d33354a49fd804cd6270dcdaa7194d4e77b71b57280af0182d30b1a1f8d53d304552b268a96670d1d0b0bdc909e67bb75a25e709d07c0c933c1eb54adf8d43b954d3dadbdd0fdbb5b0bdc98d4f4700ff8bb9e406dcb7949e19eb157784fb9a1afd10ffc2e88ffa59f565c5f9fe41653067662e41fe104cdef7955e6595a84cf802f3c932e7df005c5755f8e1cbd0beee7a1a79f00eb04a6c4233b31e9e7d0e24b5fd6d270cff9ae15fa98eec03b8eebef675983b33aeda1e7c7732a2358e1a24c1951af525d17323c44b8e663afde6248ce3c54b8d5a55e7fbf0e8244fa8d88b9c48df7f5f92a891ffbbc143b8cf12c7311fa2df4cd3277ac15ab54bddac911a2c11f16ed2a61eca3bd93b871beb5969466adc14e8078a96ada29d04d842b02d227aee8dc3f076b8139c4f01a2909baa78c7d2eba74fac0a5b2867e033a4cde19fece7aba1803e37f3a557f9ceebe6ce76208756584e733f00efe5a02bd42e713520d1fc2bd072783efa5278735efa29a1ae1180fa270f04eb84666672e31ccc9598d6feec8a86c6673164378eee4586bcd31fd78c781ac70b146ebc0b951a16dae232f316edea80cbcd33ab39932de0bfc6d6baee3bd003d422776c2df1cd3f9744feb49af66bd55862eb31eef856540649c89cd18485eabf6c2f2d39d239e519ebc84a5bd791939e89fb54632f56d2fac33db2c3f9d51196d2d69e20831b317d6f95e58537bc1c91cb38c3cc6c07f33edf84e129f7c4b8af782f38978ae772a137724157bc1a96c938eeb4ffc6ce02e348ab12c8cc37b81d41c3c9580e3887fee8538f112be70ac3247fbe326eb892bc413d0c94665619bf1652fd0b17b3226d01bcc849abee86fcab6ca8b6d39133761c918cb89cb9413242b3a23e9d3b7de27b5dcb89fbf4f701d3c7ae23106967d4f25392744c78dc235f96a67d5f4a3a4ec848dd077675e524ec27efaf392daa27f8806a24f845f564979a792f212feb81d95b4cb617cb319b680f54ea94f959b158a767812350af3c146f602982cd413a6b35253d3d74eebbf154ecac401ee37630fe71ae0822ff027c0b998059edcc525b1c727c55ca9decec0b7a259611eb33df89fabe717e0ab582665452e0d81b681ec214dc8b593493f9ff0359f5ccb10adbc89a1c7aad3f101f84f3579447bbafc00e37ddce31183350715a6214135c0c54efdc56b58f346719497cad461454eec8f73eaf0b14accc5f0ee770c03da83dffafd284285136bbef7c7f09c6afed45d13f48799037d0179c04ade3d22b37b6e184ff6274c7b1a190fae0fd700b4b13b37d46991c3bcb0ac6b496add1f86ebc1b59fc55c3c2239edf0f4715a074e85657f7954a2f926202b6119ece5973298750d148dba83cf3bb87bc073ba723b81f7deb5c1f9f6eb4b72fd9a968fe8ab9bb0956bf2b9ba11d3dd88ca253cefc94928761506af7be037e34f2fa103972b5f6b19478c913c1460f93b7cf79530f3acf9f52287b1d793716e701dc94e4ff2347d52b4fc05c9548467203c78512beafc8164b130aa750ea8032ceb935abe4b89bc1920b90dedff762e4d1ad81cf5f59b3deeabf458eee1a24b5fae8d90be47e4fe28dc6bcdfbb7f59681cffa89ab8d09bc3fe2a5abcb763e84bf4e0f9b16066b9ded0eee867d56c4b0d1d1863c95f410027cc1ba31f4ec18ceefc46eb28cbdaa3316c8fe035d18f7fb40fb9cede763fc5b33265c1fce0ff2cd105f71ef117ab230f28b6c50d91d3da9eb117222c21f74b65fe9401315c919a75fe910fc44d4a8421ebe37e06b2dcff1a74770ef304ea19cde032fe14f5ec25fb7533a9141dee85c7b2833fdfbe7dc95d5610fefe90282bbb05d27aecd3d9415bb30df3d0bf58e0efe5f38f80a0e3af5e81ed23ba019d32c91396947f4b4c6be50eb6d881e81ee1a826e9fc25c5d5df53621f68ae7434b7bf24a99d39de7102ff5603c11e95c9ce4cbf1b5d68b406640f7820cc1899f6a5c7a1e8d74f9f409f1a2ce5a5e1761c9eef9d2f3aaf4913cdeae1ff39ee6fba03e1c5a0fd487437417f8b155c62ef037e9d34dfc89c7d0812b94136f541eb7d63adecff989233897bdc087f609c9ca3c923da92dc8bb9826fb095fede7cbc0b5de275b468af6f3256d9fca1b9241b75619eee7487ee5abeda8ac7c531aefe712b59f4bd7bd2045e877476027e0cf3995a1772a47689ead3946727aeccecbcc35bdcce2cb10d174bfca53b59abdec714fa311dabf154ffd5871884789f7fa86b08e1d527fdde273d0b92d833acb46e97f846f3fd4e904ae7937d093ffc072e9db59e6f350e669a2e317ae087a60f474a7d7b775b2b10d8dc85db276b8c86134b897e0ec2d2b9479974e6540a76abefd1f9103b9b4a15532d1f78734a953e31be852e7fbbf2cf7ed852e5d7a207bd6b4e5eeb9867edc9de15e8b708c00bf607775fd473dfd44728acce781182e2249b34f3217fd90abd253b4e7cf8f633e51f5e7a7150f760bcfe2c77b7b5e4cf6d618f4f98e0feb05d71d5e1eb78251383a96dfad39aed1b69bf2893a1dfbf2a98c5d93cf5c2efa43a94ada4bae2fae06f8fd22c6e306dff6fcf344a18b40b1b277c5c87c932e3dff9616406be78b1feaa9dca9fce0f78ac676b9a1fd8e067cff546fe38975bcb771827d138dc7f1d0ef1d6c9b1ad0a8de7de41ecfe28be97ac66f5646e99974d7eec67a788fd07996e08b013b9bce7a6615e4b629c52ec22fe39aa2779005e8f38a6d04f3c559263d55117ea0df2d04eb73297692667f03952e5d5920b61aa3f4112e76ed4d4476742dbe40f8f984f1bbc076562d027c55aaf2d239333ce67412c09c3c95c9d88ee19ad0cfa8f461cfadf20b3b569a593c9665d16fb23ee9acb9d0492fa917f1d45c9bd43539614efe9a824db2ad5ff9b2634a1c6782601378c2f507f836c2c025f12f7b4b8bc116ef55992f6bf1c48a2760ff93f9e20a7e292ef365eb8a6912cd229a83d6d5895f21f63bf43c3a37badc9bf4782fc7d40f95befe68feae0e4faa51ee2d7e92edebb179d69779b4a608eb5ff3a50fb66bbed8e1f5ad7e587479b3b4c09343e8e7c99aa377f069c3750b6cf1edbbcc97fdf14ef85e3966a16eed9e2fd0676a71e919e900aad15947779c87f3513f5f173daef70baf439be45eb48e5d212e0c731c21f8edee8b057af9e407c61bb6f91bec645ce6c9613ca9e796632ab5f849bd66cfa369f01fdccdc997fbfadd9b75b67b5adf8bf7a01d6ff04e685cfc6e56d5df0339a6bae33c9e4f8b3ef71aae970e3e20e1ed2c6b01d2ad7db47f364fb736171a7da7326b3a43b877003a78126bdf0f915dae19b145135963923b82917f24546b3f0e03a433c31ca0db858727557b071905e44cbee9a95ffb145844e7100d3299b71f164d4f2c41dad7b027021e5287dd4dccf7467991b52853aa12bff7dc08c05e752436f7f9b27f3da6c066dced4f6d70bd1e5407a7c7272785a2512003bdd861ac567d1ea5545401312f9744ccf4c940ce9aa4d6a97449fd967289bef3c5ab88f885169d70acccaa7c3caef7933983dd9ecf49cd9719a55481678e0aa805b3d003c0253124fdb0770fd7157ebd66d6534ef96d0f3df8942c94374fc3fee11b1cb7d1e913beca7d9d0ac5b0bca866272ea7d34fde83fe25104775dc0a7cb562d8c8d9f0948cf4a8f9e6ac6a622256e2599eaf58e5b899e8264f418f36731cb90c95cafa24dc71e2d9e7c6944bb77140cb307af1b9e82c1ef36edd6c7a6f2c901e0778e1a3b14cf6a26a626071e251e23689541dc05fa568cfb9724b5fd529f5874abd03edb778fa609d10ef7f0e157e318c45649d30d095537fecc11ef6610e9d057fbf9e3bd993affba914fa9689afaac622bebb03fe8368b781e9bc6c008dcaf6c23bc6a9237bd84f4bd73a8e7df938f9039deda6aa7b5618d11af19c29f569f1a5279f107f9b7c3a55a977e57e6257fad23e8a7dd748be59c6080f914c567f47b259df3f51eabd78caa4e6737422f38b6e0de78b3bc334f8e1fe71bfbf6fdd316bbabeb296f05e682f1ec46abe7ba3552e26de10feff2373239ef293b90d37f9cfccdda96fce22fdf25f936febf96a9996fa6cecdb31ddc88a0b8e1acbd5736159486759947b6d82e06cef9874b035af6c2bc7a657458f2ea246d611e69faaceee2ce6fd753fa7ff50903e357bcb5a1bfa5bf16160bb6c772ec5a05f17dc955958fd35585a84fdf5dc78701dc950bd35a0b55e95a95dee8deef5d8c771228727d1c80b243b28081f129ef60596d46d87b36b63deaa3e3e78cc32754c3a1643c0a39bcd04b16b6e067a9051d8669c937b6a7de01e576236f0e7eb6a6b4ab40ff191e54d6ef7f2c5a2114ff62e1f215dfbe36ff29146fc16fb18b434dcf3cd35ec63d0d2537beda18f019d1dd247083d03fbf697be1374ce5fd106db5a237a1cfad6bade8feefbdcd9b4d158c4274bfca82097bf58fcf53290e37f583cc8189786d625ef93465ee7cb8305710b180e71dc17f5a912ffa47202f9fda24ec71ec8fbb73196a5e9f219c7bd1f4a27a67e289816121f35f5f9b57f1adb662cce037d43a2f11aa551e9115dc2b3b8087e93ebf5832f7f71a9e326e5faefea0b1f35e0f4431f35c42392fd85bfbff261a3bdf8ca87bda9babd0900c69bef43bb1ed6e3c4ee79fd74bc0de95b3b1cb7beae70d269a8c7b7bd0ec4fc276ba9f538d89f46af7a400f87be8c4d056bc4f189a77566df684e9e176cf75e655edc1a9d6c847df54836b668768265fd49ee9a71e408658caf4f20d66b534529c8e24427de54f1de029a8274a8b127237d0efcea8b4ceec8b8e83b1e17dd7b85580bc71c47885f7d846cfd5c607169867839fa8de828cdf80ae3b38a60141fa782f420477a1e5a6ffaa90874e60838dec20a0f994562d31eacb75d8355ee2cac03eaa00f343a40a9cb06c47aecefd6d9ac9f3d2948e6e38d8b83d6d15b23d6bf9df0f06985b3a77e0c0e8df0e6221f2719c2937f05fe1af8b96589cc3db241943719d1179ec85161ec59da64e823047c23b8459e1dd0698bc2bc9e718a16b6c617772415b679cd5b3b5386651c6b79b4adf7a1bdde973531174fe309eeaf3d845f36decdd7b19bac638727fc629a7e9ad4ac309359b1437c521befe58af6e52a78938d01afa3496cd0802f2a06ebcbf180ff69604f71e1376d92fb9694e398c0c3d347e250debc4cfdf9faeadd26d9477cfdb43876e28ffc91c53d831da7cfbbaf85a5159e729c64320d7154134bcb2616e17f4a55ee6df0f9436f241c3b74cb5ceb380994f0faf25165fb7d78c8a4983a93f89eccd2324fb6ae09c283819c70fea8901e983f89da73fe71cc7f5823743fd87923598bce4a55468e79053d757f7a7eaaf5686bbefcc3d27a38007c711f131d176c12639fc42ce27862b4277c71d8c3da8a9d3d1f3fd6613998e30bf9a7f0941bf584e41f6b5eb27bc4c7a9b75feabdfb98f5f77c195aa3e62c5e2ca49f8dcac49fbfd57f8ffc91ef29276c6b81fee9d3094bf473f0939bf4f8f7d785d6d0dd6fed3910ab552c85de0f99be22390ec98d5e2dc7adb828933596c5323ff84771dc3b9229daefb998dcf920883c04f80dbe568b319e7d44470423b2180c3b0f75a49314db6671ebe0217a3edf3152f59100ef09bd019f015b01f853d37bbc2331ca9d35c3d90fd6eb5982b4477a8f056772aded0f7731070a5d22b8f0b00e2dfeb8d38f2caaeee12df57240b8b86797f035d0b349fec9839ea54dff4adcf3ccbbd1aa9d64b13d5a5dec9114dbd63a9605c829cb9a3e45756cf88d8ef7f3b28218ac84a7ddf9fa76774f457a4026103fcedec788e3f9a19ff5a99cb8893112e769dd3bfef79f0dfbef83afb5f7d6b911edbaaee98339ea5c163257d4c4f16f2c23f6cd0d6bd254bd361c7bafd3af5b73bcc0f6eb59a908bd7e7ba4673c7bfd0867d7bd0e3d2bb1bff59676fd8375ecff4bcb0f4af6e33e16bf23834c524723311c372aeaf68c53703f3d58b76af47a65650f7aea21b887fed575cf4d5523fee2fbb344b256b01d2d9e709f375833bb69afbf0caea3b11bb8213930906750e742a9a6c1fada3877acc3a33c97c69e86e1629322bd019d912c6cb2bd56420fbbdd8ce453e90ff22c5a7bcec5b13c840f0827eff2f41c2d66093ea1e772f748d3cae9bd7247eb4f9cafd3594bf868bd4d2f6c92bbb9619d619facb8bcecf9b202bb19ee313de8e9bd227db4de0ee0eb26fb46ec399db50e71377a6dfbadd7f97d3ced5846ac9c96e9d67428998b5e658203f7fd7d57176f241d712f5172edbe472ac9795cb28af03c5c536f2f102e76729462458872372c6b1cc4fb33eff6d85a41ff4ad5287cb9e9fdf555afb7a0522db1bf6fe1db59e2d893ab818f2ffb188938d7959b3dc85fc2fcc16360ec44bac7072c3f9d96e4feba3fa773b72e44dfd15ed5b841faf8de5c868ebfec411dce02790eb071b4cd3297e705cee53966b7bd56560866a1b7de5c6421bfa7d327d0d7c6956d796dbe2ff4d37da73de600f98ea2fe96edb52883776ffbbcf5e89b377a07fee28551e61de9aa9f1319d0d0bbbcedc99d29f3cd05e05fb3139f1b5f7d6b99caf34dd6edafe837f98d3dda0bfe01792e66b2f53bef720d10cef87c417573b12d2d9eec07f16822ee3309795c5268d7797481aad3b172823ca2a7de5a112d80f7ca598c770579cfb2ee557c563509f1e0b3dff4e6eee30aa6ff864bf6b4a61f6bdf3468a7dbd7dfa0009754b3cee38a5ea17fa6f6decbd1ebd1c226ae26a8642dc6f0ddedff38df5cbc841f757a74e67ff12c1a3ffdef9f470fb67ee31d82eaef1bbb170bf017607775f1e6c66dcb05b4dccd4fff02375c21bef9dcdf7706be40e77fdf1ead6327fcfdb58b1aeed1e8733dd8cdf6f36bd88df514c3190bb04c68409d9fd7c5c13a67b0e61db80f6e713347b8d7b4057d277f710f92a370ce258d60c931eda6c726c2491cfb4dfd555c467b9a3fc459a378cc2f7bb4677cf392055bf702ff1d182231777f238c36f132fffe1c42c43672f3977ccd4e7ec143a187b3775a373db5bbb24023077025adeab3cf05575e003e9b1a0dd1ebef8f3d4edc91c4dbe632bde3af9574f14d3a742c3154751ae0d265ecd49fd2b1922c0357b8a63b06d740c03230c831c06b17d32beb7336ec39f119165bf339f5910caac5482fa5d5295a3bb9177adf467738bce04a5abecd32d9a2d2468ea9fb619fd69f1e99e3215feec6570b5007e3117ee66e8870b01b5b0a39dc0ddf93058cebf28d0a21ce7244705fa8f951176f709ffe2f78dad51dbdb5ef31c01373f4883f76eb29f0be725a56f68daef132fb3875e0502b2fdd9a22889e7861f3aef9efc0f56fd05c8cb7bf2f83a48e4e53e668d57b0fb943f7d42eddabfe5372c5e6e209ec55463ce53f46abb2aff84755e3a43ba542cd1c275bc8efde1c5c81fdf4b8f74f377c0f77d63afe08df4279245e6c2608bc08e22eeb9ebb50c7e33e8f3cce21fed32a8e08975da68c95c4a83cd087aed90723558ec99ff7d63af51276240ae3d8afde79ef247d7a6190cb163dd439eafc76ca1dbdb1a2fe96fb738403ad8ef94067fc420fc27bb11b2198cce26e7d94bd16834e33d48b7a7695b9087d97b18eb7c91dadcc94f902e3f2ad605c268ec4e91bc2454a0a81eeb8561d43283ce72e57068a3061bd6367ef86b6978a8c3f5bb13a23fd70cc25a52445bcb3167d5bc589f87fa0de4f9cc8d3b7c9baa51319e857d3e20239803a95b6fd8a7bb8f175cf687a19db9674dc3635082699ace7d99a43f72e73df5c235915d74daaebd10863e85bdead57a433762ac679286b79a97054296b11d2df3e5573d2d27fae6c6bd868796856e279a71d425b137337861eeb2dfd0ba3b31853a1ccb4cf3fa4a577f52fee62ec7aeb4434fe5fddb36eac455d5bc5ada2eca38affe7df93c8c91ba6c83c6e9cdbd692d270eda3ec83d4e47021cf7ec6cac2f3633e745fd30afb24cc35ef1a081e7fff1de52aff17de61385f1978a3b584eb2445afe49caa8f0aea52e5fbf935b5216e28cadd29152c901e796fb7eae9f4bfa1cbd7e7fb1bf681a696cfffd17a7fe34bfabbf40ff0fdffbefef158d747f44102fe05357cac7bbde32bfe5bcbfa0dffbbd1f443b9e3f7f4c0cbf6efd3c55bff34e2295fd0f5ffa4bce2dfdb4abe9019e97bf9c56aec182f7ff13d3b314b41a50893dcd6fe1e9dc866d8c8b19657db7cfedbf42efb24fe6d633b82f137da05da7824046f9b7ffb1d488da9d13af0b19f017c1ffbf935f85227b6a4bc9e1bd79e0a32d56a60ff5fb7cd9e709c85467887143a1dfbffa1a94fa7cc37ec429b5c15e119f697d4e02b65bdf8190fc03111b386beffff49f7fc02169ada7f08b7d3ad566e7edb5e144fc0e653c363cdd3157d962179d7d66bdad1ec6fb1d0a24c11ae20b7ff16bdafed4c3af8b6d03c407f86faabff17741cfbf63fa9e32c7ea5e31c658b66c93aff3a6f697d59d45e2b63d5dae448cfd83145bcd3d390c852a122f8b13fcd06b8d0d43f6bfd8f42ed37cbf4bd45b3967645722fc8c00836b71ae2af1d1f98565e10fd91422793854deea3f56178dbfecc07ed747dd0ed5eb28e554ebc701c39a613f8664979231adb8a10de7ce17bf339ec5718d43dcc7d04ffb55e7ba4527f0ef5623325a1035f58a632c77a9b2afd948dfc6ab5e305f73428c81c26c8b7a60f6334f2f27c75ef7feedecb05718dd33e073653a4ebd0aa36bb2a08f6b9287780e7f66b5d4adc0472d6e40aec04b97b9c9cd4f97be5e8cf13e06bdafb11e92ade8d0aa5ea6e0f911e7371e8772453643bae38cac233c88372e5856ae89de5f9e6c9d1b323da23b8aee5a1cab1780f8fd74f6f2ec56a5c5ec4631af6e6d59f71bd446603b5de146e7695b5e82c1eaf9fe4f7893242f78f3d379470edcb6edef9c017dbf1e5866aafaed0e60fb053311b3c766f8c766c9c3ffbe5980707d74b6cfc1c8fe0039d4fc71f7cb797b80e805169e6faa656e2640bb902f94914e248d5c4937cef8f87f91c4b5a21dd796b1dce2ee22f7303e17273060edef3540c0b4aae4478df8fb0193f5443f1e13db8fe6a500d71abae9927deeb39cf789f26a12a04957243fb27be88c732f58eed5e829fe3be2661ee3775919f597f3a095de61a7e8412ed72623be7f11acaccf3599eaf12e93883ba8c6ae51db09d76c58aa177f6b5fc2486de0b866bb177be62585cfaef073515325f308afbfab2f55989135788fe10c322962b71a2306506307b82333f6e05e3b865a4cfddd7f011aa428ce4194ae4c4b32c6c9e2488bd5e9e1d13ad593c48b714e990678959671ec387ae60a0330fc539c8c8ac98e0fbed847d1601afbede7b919ba0f30d01d7c237fc9e831a015fae73fed6bee7e8addd2792bb7f0fd71d7838923a2a086f8ea46ece1460a086afde35a0699c9dc073091bed10ce8f56704ebe207d3a73b4e711f90e7e8dbbf5201ef7b373f3e7fdf3afbf77c7b019231fe2368edd00f98d56ad55839b6a25515b4e7c114feb483c36fb96fadc387085f8e41e27a18af00ac1a0c023da7cc1b8bbbad8669939ccf359aac43fd07993fb10fe651df8a47bf079223acced676756dfd3bea747f2565482738e49ddc58b74ce2d76f5f659c7a4fea861bba93b7cfc196c438dcb0e7e90ef788cd0eb3d7bf8290ddce19ce827f158865e38f903f8822055cd7b3caa39dc396ff8bd85b7c831aff53a48bcf843be8d642d903b90be8a64c595f648f6aaeb946e1ee80e50bbcbf0926bee6848cf68f3b83e980d2bddca40c439c440a3a07e30a6531d7a0a7128b17ca34e22c92f26b08360e6246b25fa0de8b58fdf2fa8f7656bd281c3dcdba395f926db41fd5688a163559d423afbfb03fad1d6597d10030335c90ca37239c879ceda356f5e7d9d3aa9425c38d53bf80044cc734e62f81eb8f31e4d1ebe2bfd9377a5e51bfd357cd4b041dedf7f50e776c89f1d2c2b963f9715117cfe961c58c7db7f8d5782f16bdc23f7746c08bf1eefa738f01e13be8df6e99763fdcebefd02771a3a8068179e3b2e6cd3ff4a467e70bff4b58c81ce573058998b72fd36a0234cfb8c286cd236ce74193be633bb1bd12c8989631d6d7cf5129672719ddf2e1c5e3cc6a8b6269f6fad6cb8e6debe2aa7f5a72eb023c792a6b6b58c652eba80feabf5eb5528b7d2158deba7add12f96f6fc43bd3d7f3a4c74571b42a149be2be9c7bf98426ff8aaeed9be8836a3755c7a52350b71fcf22193c33c57c2c9cbc7edcaaa47f60d7288129c9366e158ddbb5c58af82eb8518c6187e1883d213e3d9e7978193183a92171ff175e26b6291dea5ea6f50afbdf68b39a671519220f02876e4c60847de63efb41e83dc693a48d7bc34f5c0192376e322b6f48256cdcd590ca950aedece32f39cffce781f55d49539277b2ee89cf3d8750c8a759bf85b7ccd37287681f54304bfb7afdf91cd1ceeed0a764ab083acd8dda8896da63befd0c008d4c4bee3617eeccfc03ea4dba6136f989206bb16daefb934f64ec6456e69d08fdf8e99fe99be5a3d88554c20f6bc7a1caf2c415e869718d57e5e423caad9ec5bfbdb7dacf2b872c08f2375e29cdbfbbb6bbc9bb389bb41f0d699c304bb4459ffeea1fd62fcd83bd2b02e7d04f1af81775afe5ce6c4f60d5a9eafb2fafe2636977cafed737f759cfa39184fc7babda37f1d978b688c6d49b7c771c00fe24db5d955d6bb39e89bdc0dcb4a11a2dcabca5c1166b95b95334558e45baebc2a829dafc3f2a4cc66b933855cf5692f575dc8d9c5b438abb3c5ebb6cacfb8dfca84758ce26cfd67fc522d1cfc967db43d6f8f2e3eb1bddff065ab9c88fa0c6491957ecfe3bf9e73e9ba15f62558ad1f0befb925e25e28232a77ab289342c7154f889f2ea1a618a913dbab1784ed1b622e123d00ae0d6bd735b51725889f43f7f4e3d3aec4a721f94a125f6c04c78271938509f11d459937f233b00135d7e2579be16f8e26dd3c8821165f6c86bdf8427cf1cd4dfd5bea85e28bc3e54d9dfe1607c7a9171eb20f66f9e99ed6997b32e20f661978cc26ecd4b9fcf2d9361693e09ec0571e6348c4e798baad3f28538409a227575f38e4bb86ee0ef163d2c6d57d81efb2d6c496002d7618a39275b061525b734c3b7a71443c55c43d5bc28f64756e686f4bd3b09ca4059f75ec905b8d73db1c9f609dc4c7e870d1eb83fdac6b7cbee0f8f82bbbc63854a9e6a4d1ef5adb6749239ee7eb65f531da9ce52ace1b79b44bfbba3ae44ff6a71edf1c197e276e3edf31a446ee310d165c4974c8ec5349b0ee88eedf6bc4ef3c7bbc275837362a77e4a52e17e5d81f8ddf0be9c75eeb57c97d9dba7e8c3613ef88f4cc3cc3bd32825cd5c4501122569e2f58b71a57eec8bfa1b9e5362e20778fd4f583799e6cf5e2829e751fc317de677319bb4293e382717453fb32829bc98cbfde07edc13e3063d8075bfbc99c96f4e95710c713fdecace4d92ab7b58730d2af4578cc8266bf014786b8f1058cf66848103c86734c573e12d8ff193a2b7724c1fb385cc9c3d9619b566edfe84f25293fddd13256e6223a1fb05775cf959cf9106613550bae00dfd63a76ad25928b3225696c4ff9fa485fd1be784c9e6f313ed4df118f3a3dc6c120b69922744787d409a3dcbe4daeeafcad1b5b4b70e861ace0b539771ae24e6a5ffadd75c40754d33b432fa6513b3e8efbc1f8ef714d5e08c4ffd4f748a1dd5b1379a6897722fb36f0f77f717f679d5268a75fcdd95917eb54792872e2f937eecd643dbb76d646bb75ceccbce91583d718d6fd617c56d6b354bed1484f4e5b5827f24ff72c0404a7b387700a765821a61c934ab75c2928829d7d308f619ac4a607ca6c95af1fe30ee68fc7ec31ee617d14f087c432dfe3441f56bee25fdd5c8cafe8cb6787b63ce493240e81f08219dbc1eba7df18f3a57e8f0f263f2ff4723a8c6d30d1758322fec43c43740bc768e62996c9f2b3cc1488befe4bf3ca7a01fbdcf402ec9c553f9677967d24b3de79398291d89691fbd30c64dab54e9d70cce1f3c167626acbbd855255cb6b9bb35489072cb7bc8f6c6b717013961205e7d337c791127a5dbdb0db7b274372a9cfc5adcd0474adf77bbfe50ce9530ffd95bc6cd1c4f7bf3aab1b1efa2e7674af68af95f1efc8f9fe94a6f6f37bdd05c7a505dd7e56ac188af956a73bf1ade50dd155ef56661fa305a2ab38dec1345c8fa672f181adf02fc7b037e727fd45397ce9d6f13538576956621be6f3037fe1d773421e043a6383bad80c8f6499572217b6310348b7d7ecc4ac24529769d3938beb1a1822b1ff80ac4cecd0e86fc7a4d0fdbd5e76b8b7dc95f47cfb42966e72c03ab27473ad91a59b357d9cc4b36a11db1617b47158c437dec8cab83efa8b17e6accfd5f9316dde14ced1ceebf171bfae635621bcc3f92379ea6b63a86302796a385f24ff028fe9168f4be88739183f734dfe84e453b21ef23d68f351ea3c14d06d1fbf53b3dff53a4f4d0cd463d914d65dcbee8817153897f656cb2946d1beb3517ca533f82d1dcb7d2eba5b57c7bed99c4f376eaa8da918ce2f55edfc5225df9f4be498d7664c1ccbf4afadb1e60964ff49ecfe3d3c0ce9a73b7d483fe9ff31fa295cbfa29f79433fe7e25935c743fa59edb592de6b109fdbda5267d714604c78eefb0ecc4de60b01d233703ef48ccccf49856d49489e4c653d3d6ccdf1d5b75607d27f23f605a31285f826ce81de2408ee1ceefdd30bdf71bc73887b418a4d3c9888e4eeb127189f4ef81ecb0f63590e21d457668c48e6a217b1f6afe21ac38563ad632f7ccfbcea1d8d01f411c9634d5c7b2faea45b8f8fd815844d26235a36afafbfc7bbf97b6c8fd6b1c38938ee9d933a761e91edac99467222e470cf372c8ee188721ff10c52ef41e77a763c7a3f2f5ff710aff45cfb1d2ba48f21fab235fd14e943dbf9ead59f4be3dd4864359cb30ee7245bf4d1b6d6c7eda00624b6e5635f86d7f71f36f9d18e8e7be0fa5c4c79a7f8d5d7c623db2ccf4623473b0be5e407aed0e67f7b21a23fbd6bd013751b129aa70515e2157b7389635f48ef40a79b5fd17f2f76ab9594ca3ca73e17bdb8c417a760bb1bac6f6b95936dab8b4e16558b175e75203d0ad7b12b1894a3bdd3fdd8986bd0c9ede9f8ae16a9ac37b928d70e5e3c7ae7eefed1b295d7f623e86149701de94cb95ce5b9c7189421c48563b2b4cf0503bf4594b6f9381b1c4353953fab1d10ab23e899fa427031001be2691590b9112f007f5aad7f40bc4913cbbe6245fd2d5370ce7b0a36488d2a5cce4ed0de419c9f45e50b2ecaf65a94633a73009b78738f4563f820fe941efc75fd62bf013fb0b63bf8491b1d1bfb897a300d7d5695848ebdd13270980dce6b8adf73c7e42196cdb1de3fbdd38ae4edbc536ef54eeacda49f0a83648680b621279cfaace9c6f6b468fe564211f1d7dbd62c63f7b4ca3abef1ab1af11751c0b44e14d8a33d427f1bd1c7f1fae94d9fa1ef9f1a8ae0d3edae11c99138164a24b14acf614ba70d76bfb9766b992c94d332f6671d7bff57bebb99980ee8472c6b65ac6eae978637cd1779cf5770a3636556b2caec0afe9f757b1feb68e5a25b4345c531c1cd383a37a6bd816fb9573b55d8b0b6259d7c938eddd3baa3ff9714b1f3bf7b2729d869410cb1a1d84611131b05658e0c5f35f9ca191950c7d3a30bdaaaf1322c2b75235e6cebfdeacea3b4f6d7287cf1ba07599545f22a2543fe42791bec415f6e1e951384538d4dfa96bdeeb5f2b815e2dce19b7cacd7bd45bdfadc57f1b6d726aef783b9dec9f948ee16f5b71cfac8f6f2349c4f2f32029b39a4fd5a1531e9292f5e5cc4b7b498dacea54fbfc2f542d69654a17d16bbb27bf87e417c559c4bb16719085623c443494f79180fc7f9d73a3389d9eddbef9f867a84178e615c4bcf30fd9d0f7504b2468362b73a3bf4c5367a94a3d38197f834d4599c2f3ab574572c961bf8ca4bf831e20b101b3d2d6855d8bcfa5a7e96ad35f8eebaf084e083f8e32ea4f6466b8baae102f0bea4bab4c83d52c142a758d57c7eda6ae3c09bbfe7bb5a5743b27332663f4ebdf132652ef66296eb1ef1c03f2c2776e7e5a4ee0d00b9e9b8660fe398d7440aa53a6f276cf249d133dc6f9d29b9f7bdf0ad25250a522c723ea9e9e11ddc917890985a97f042592ff079c0dca5af8ee0fcf0183c75f1114c0a71e27341d5cf8b885e3cba003bb79f18b9a5d3e8b94ebcbce4a33d20b6c7440aeb7e3e39e47234734cd926fe9dd41a7a6a63d6f1fed4b1d1a44f708578fbf01ed528aa7a1c4b4fc33a0f0bdbe3ba7b1bdcc5dbaba3263f5b6a720871ce4033a6ac67f7cf75e7d4a26c8f6d9a992bac6b7e84e74b96e9d62ca39a9775e1df0bc77dba51c5acac4508ef7b78f72817dd7940a73a7836d96339774b6c1331926d45e1da8353b19f1b5ad3a44cb596ae1753afe88c2dfd2e5ee27f0647cdee5a25b49e064f7f13471bfcdc6bd067bdeafba797100fe272bd3c8f444afa3e75c29b72e0addd1a618f6b7ed575930e5bf3f93018fbfff8fdeed22c7324f94ac25f3da11ccb73d0753b7e6ec49f664866bda84c343897ecb2b728e8cddfa70922eb8d206e211fc86dd88f3d80659fe1f32dddd83aaac13377728dcbf565c63a6785d0f498c4fc5377d72d0ae94b50936960db62bd2a4272cbcdb1d66aad53a373835cebd9b5bfc6416ca582787ce7ec6ca49b9813d817510b90ec9dca5a747104f6e2e8791f36b85646b6b531639b25ede8c5cd67620af17e9723fae5ec8af317386cbb93adda064e7cd1c7ac275fb955402909f19185b00e5a3537bd75b4f1aa9b8b9ff0b96f6e5ef5c1def6ec3dc235db9bed7bbad86798fa1cf6ffc97a1ec890b384748471e432e3f8a38a3beb8ad0ba2ecac909dcb911c3fdf305bbd57af793fd4067d2ecc7bd7ed5dadf73978bd93bdb1be289c7ec812e51fbc2cabc633b6ae4de8fe827f26065277d397a28b3f5e93fe8325d3a32b0a7f679c8d2adcfd6d2d97fedb99fe57c510318ae02ca640c1fce54835c49aac1d1e8fede8e2d32972d9a95398c17039bd9a3fa069d5859fa97b6993b7be3cf6d3534d48d4de28b63ae40e6c1b693c6de52e79b85629be776f85a664634b7881d6e688b3d641fe17be69ede699f7b077f926b1a94638987adb538a031b15de82d942936dc26c6d1e77af183088774b296da5e1ecb5a1e2adc7bbdc683630557c75c528eb942f21a23cf57a4375b5fdf52e6ebc97e5e20f981d877081e6f70adc14e1c529f96cf57837305781ee23ba231fd6b5af9e3811d38f711de313cd0294497911ee168e3c2b19637dbf4635cd365bc720523f098cd016ae08d248ae4811c7c6172d8ced794375fbc28157bda5aebd4372166a35018721642766bfee69e43c8f36c72dada386e6f3a7e77c3f718c3d3fba7cd2c69ef24c5ce3485bc04922b14cacca2bfc64a0c71ae10c4475fbd64f387782c6af888f716d8de56246688dd86e5a2de0bef4837fb827061d389a533d17d31f4f4d71af9ee4897e83e9dd4ecd4e05c719e657d76e877a3c39b552b45f3eb750c8cba99903e5f6facdce0df86d5b9a8135755ae118ff51883d2db6b06bae65b68ad143b3c7765f68cae0de0beb4d5cd355fdf3aef2950b52d07f1fc05ae09404b4807d810ff8f6aa6b9178ebbefbd85dfdb983d157d3786317ed60c3db7e9ca11bbb0ac70ac64c7de606e72ac57c0dc051aaba61f68bdbd3aaac65bee854d9c9d0dbaca8066e9688ef64ce7704f77ef6ef41af43c6b19ab06ccdddb3b7543e56dfd13428f8c6e4caa988b31bb77ace5d265d634f4b89c1784b7a5c1624e41ffb66fdfbf65dbf3ee547cfbf37f7f53a3c3b73fbf7dfbfe6db94d76e8af7ffef3fbb743580417f71f5e9a3c9dd3340a77ff750a4fc7edd339faafe452fef9e4a669f1b4cdf35d913f159f4fc7fc294993dda9f847129efe71ccd1b8e1699fa24f7f576cc3182e9df00cfd5bbf7fcbc3dbeedb9f63faf965fcfd5b92fabb6f7f3e3314fcf9df45088f301443ff17cdfc17f3aa33f49fa3c99f34fd8f57eae50f6af227457dfbfe2dccffdb0fcfdffedc6fe37cf7fd5b5ec17cd3dde7b73fe997d7d75786197dffb680a147237a32f9fe6d1987a7e8db9ff4f76fe229fdf627433dbf50237af4fddb26f4bffd39a6e8efdf04f4175ac8da470351dfbfa95bffbfbd43fadfd4b73fff1fea3bfcffbfbe7f7b438bccb39d87e6d4d007fdf24c4da8313b1e7fffb6ccd195e7e7d1f368329e30fffcfe6df1f0fe179a6158babeff957aa1e0bf7f7effc67d393ecdd6f7d323867a6627e3c93fbf7f7b0fcf45f017e7d0ba67f01ea75e947ffb93a69ed197081fd033c5be7cffc6c7db430e9b21ec4ef0a9e40898e0cf15f9136dcefffa2702a4607786934087f3ed6993efcef9939f9e0ee5e5543d5dd37394675b6ff7748e08687521ebdbf76f6292a5e742dd16410f469bdfa7a9877fd0b7e7c3aec07fafd394fcb5d8165ef0edcfd3258ebf7fd38a6dbc6b4004bead77db3c3de17b85940fe35d5edf8d676ebe4e7759f3b7becb8bc1dde8d2e08945ea5fd07cfffb1b59fecf710a561b9ebefd599c2fbbefbfbf61b0f245eaffe6f61ed27f24a90f0f19bb731ec2dbd3ffa05f00ed3358694d137eb960721abfa406fffcfecddf16db6f7f7e53aa49200af427ee7432fee15dd34fa59a1dfcc4a8b0b5e9ed459c8a97857eb82c56f837db32a8adc0565ef5f622f2ebccd5de2d976123857b973ca6a81cf3f9b06282d84bc6b11f5e0fbac982b55649b29b2840840de996c256f57c90896f8e6f8ef6f622ce68c97823d7c9b35b907ed9820bf9ae0616288298ed2ae9935402ef563500a90a491d48da114f5d8f62cf6b5810cafce49a6ce49be02d7df604b6f2e70bd60e9104f8a5f70e6904b8fa4e4dfdb571e09aaba77a2e5910b38f6476a9df4335c554b6a85a33ed5b012a89066909b2ec911653747e7f0ffa19b5cba8d1dcb1a727ef6afdb2d5d554df43599865bbd132524dbed7ddccae82a0eb09b43524ed2e29db1c1f1d934d6a6bc37e7e0d4da696708995dea0c0d2f7fb9ed219d2223b9938abd4ee651a118f95394ba450725d32ae3823f3f2ffee7c1b980f6ba422b1e28860c5b1b5c64b182c3a59f78b796f1f13bc8f8db7ad5b4d2de8cfe5f5df2d19d3ae29c55e1f7e82c1be7ee0ea1c920f56cdcd6f6b14c1e0bcd3c13a03d0a446ebc04d96801b6b81a71cab9c887151e30ebef66f9f6994da5a1936552daa32528dc22716caa3aabfbddab732683c3fd3fc2c338bcca9ab4708626a1bc5d1d2ca23d2725ad858f7e0765be37efb8e4d37000f49f0020b74e051a6506d1dc2ebeceddb591666b91dc675e56fa45d1db15555ccb661102ac2025711416bd4e9d064967ed74a09f77052679f447c7f77ef6e7488b4ea4d5d4d432b7fc882988bc43aa233760815b68419b1ce18aa7344cf34bf678ad0c76304038a20e668bfbbf8ec3122bca7222c7287bb060b2ebaf8d6fa88b4f8def35aaff246ec5aefd44e87086bda3d1937c76c2cde2fd059c01cd31e63441a8ee0806beec889bdc4c9dd91f7a2e8620e954a4ecb85633a948e7e3ba6570570bc9440a39ec2f8998bde4b8823dd642fbe7078c19a7c7b7d8d3b1751d0b5606edc1c4b92eadf6c6b8d343d18c76326d0c58048f911866724ddaf6f1f71e12b021d7b491c6d4da3f84830cdf412e7b8381eaa058e261f39a67176047eac9bf10dcd095d6e759eedc3f8f323bac5aae6ec628dde1372de7b4fb059172c5c65a0c4ecd539f560ed1370b4173533bb584c7c332092bdc92a0f5513cd17e5f68da69dda2a2834da4cef3d959ef5a7470348c5403ad86b51ee4ca9606b2d3feccd33acd5e1a04bc8666bd2b1cc41564ca8242ce35852e20aec489dbe2552c8874a6214de7c3d96423bb0c3f1f0ecc83d31c0edd65c5bf57e92fb610d046686f70ad04da2be7e7a70ce9c9dc81c7aa63dc7fdbcec7d9742e7482ae2a03d070b8b3d8288874835578974045a1d2ac932459aa12e18893f43ef29b6bf9d0cd0f85a8f4d270afcd4c9ce32c58b9dc4274d60692f8cf2ba024bab11c6b7f549fadc25c6450a9d863e6dada5e025ec8b83cfb58d201056afe82cb6d6d2840a00533adab7d9e1e87d328fc6fbd183c7f95b97afb12e17a073ed661e3667af3279ea8641886052d6b30b924f1eeef5940a165c19f6e799ddd17645d860eb0fa27b687d14bf74199041eaf7cda0f2217eaff75a16acf708ed2182f9d586c8a035afe7a2bc1e53b6ca09a2851613b17638de6fb5e6b7a4fdcd86df9cb0f92d6f7fbbc26f6e3b660d17cdda6a990bd633023add5d03b54ba8e65e7f9e15f8bef58bdbae25f36863b3aae2c99e0b82e63ba2f5cd6fcdbd9f4ee2dc1cab9ddf659cc4630cb21f6ce29c967167feab1336e35e9d230de7266b6582e880c5949f480e70b4e69edc65108fdbe0f71658443362592b19a7adbefac782c3167afb465d3f98c5c44fdaea7c1f0c442f47aae54488c72968acb8882c987383d76d1491a5d37197ffd97d7e8ae4ab6c37aabb5b946153a539662312f131eb74ee09f0fbaf9ee02cfb34e9454ff88f4e95e79a4ea672a76abbc5d45e32a8fa96e267a2dc6756acaa53c1022a57fa11ae7634bbf8d63bc0bb4ef69f8c9329f89e72201fdc7e2557819790d0015bb393f6efc7f0dfc7afa13c3c9b2ca6ecd2b6d6a9922ce3ad8960259eeca76f2fa4025b0255c2c23bf98fc6eb24fc432b0245584077e2fa9c1650f9494c2444a39218b27ed05901efbad11481af637f7d762d4bd46323fcef5583b33b59607627924e11ecfabec03e2dbaf715fdfb3cb44e804b678ae0723571f42292ab3c9385452225bcebf054a082ecb5f6f7f36b605776e26b4180becbda8c55ad4d8a6115f8d849aef2ce9e7ae7011f1e018c32b38b3732aede5c8abdd172e658ef95035189f1a71bfb81978c3337f16f48361675d04fba1e889e97c166d88bc7b0b9a3d949fbf778645b12e2036d54ee098dfb9c8ad13a46f3da0c4ff6b99ecf7b1139f16c0f3a52efb8a0770608963bb4fedcf30071d83adf81c3a8f76e5110b8c93ac75ef11964707a8971c4dd9fc72274a4168caad131117de57af2718cce16c97f0ed0116ff230c26b5a9c7016219277369039212635adefeb44adf77be93a3495ed9a28be3c9419ef2cc6d401e9c6ad77f18075b8aed7fbf6eecbe6e6ac9a87b3784c0f6258f4c65df0b4bbe5a9b3185ed158b16a6e3ad581afc502ed39ae7e170f22ce4e965e2475c48aa3c5ac5f052154458b3af7dd604e12cdd6d7dfc83cb5ee96c8daf887cbc41799c39598a00a5115743d541944a198cbb3ac9540973a72c1b1f5e003ed1ad801a8dcae06f0a311f8611a7dfbcb7397422750923e7c6a027f718432f6883ea4cc83c86424848ba95f0547592b9f1dbe082d446f077ac62efc95bda185dd816e2c34381bff9b3aea6cd6959772fb8661c9aede33b0b398224b74d017441b70e6d4d2b5698ab58f19f01fb392f6628875c0bafb99c52c3fddc4c99c1b1d280d3f5a07bb0d9b60f93850bd649db9099f138fc9c231c719b60b012fd41cd3e777f3b754feade7112cb1b4972ce3266329663fbfba07c1d69e13cf0a5d46bbdb2c5f9ca84fe5b4fcf42de988e0b87b4eab46bfc63a30446d57e0910cea4a0464bf42d94c533b44fa3ad25957447f8f122959213a7c840ed68201fbb71b51f9b60a622c53f0e85aa60879eae0fdc6fab416bd34f40a3dafb370bf6a4ae8fe17473072c75ac7221e33ab6d0b584f9f65d836007a7ad0eaec4e2493f9108f73b0fe7e86eeb8649cae1ce3f4f9e914eb6a1dfbd4a9a9f641ddc3d7ea8e4fd6999216c865c6c511f8ca6478bf736e20a3b9c93af0c2f1cd36e9788de84f674dbb3088649d8d1afb05da733debeb02b39e8dabceec4232e0c5a1904c64103d6bedda068574ca7afedc65c627d025370e74fbf3f922504eeb4fc37abfb6956c62bfc36b42e0bf3736fca82b907e318ea5d3c75e451b8a5eea1b7a82fead67eb8923ac2387634f3fd15f83a682ff7486a3cf7ffe6e8333b1d32edda99fdd9a10699239202f1a3d1c580f6ca3cd7c2329da9ae30022f89aea3962ec70626e0ff048ebdb65ea08af7aaf2ac72c111f661c639db926c061c7c69ba68e163d395a670c3deb57e6ac8c4861a2fb79b53efe36f037926257e0a9ade5c490756014817a7c7b12138746fbec68e20b64d78e56a1d587bda3acb3476ccf5ef4bada49d6e2737b6f4b936b5b1a86c5050b3630aafcf419a35a41b4ce21fba002d02fd40dfa5c9cc5d322b4745ac4fc6360539de57df9b8cd02eac90f2a8c09b885c609eeab31c5fe47adc7f7edbb8baedc0c36b329fdbad787fc2145f84de89dc86a98e7854057c8ba091dfbd27ea9d7e743c5b056d594fabf633e89f5ec23ed5addea2fc2a2b659876db710e3b2b5562f76555ebd24fef49298dae999e4f0c5d1820eac2dce229aef9d56bde872a2d777f8f2b81d47a3d13cd5d664abadb51e23dcb3fb32b42a037c7675972e1eaf1ed9a122b50ad68dcc129611d8c94ec6d501da51ebc084ae809c8175b38ff8add5272dbab76f1beece2e1cf474459d45fa716456d2c9b15648ceeae8ea93d030d653f1882b6cda3195ca7af6616fc6fd391a7c8c5f6d6ddcd864642e0219da62d6ae086b17cfd8fe10dfd0b86a2519c66c412a6e16a1a54195e5ee3e6a439aa76e72b0fded087d45b022eb6cfb3717916a36bd71f41af72063e00b395bb68a40dd209d32ead9bbd50db637d6fa97dddabf5e1d0ea24c893c8474ac31ed26316581feb544bad9c537c799cf23fadb56deb7755a41efa6cc537c76741158bdea80644c834aed301a548e5df6f6dfe0dafdc7f8009551cf7dfd12aa18878ad9e93820d8acad3f77f5e0d439b247b512cf70e6c73454343193293af085c3c513d8913c9d5d9519feee9afcb33c7d83aa8d3dfb3d1735d5b1116f92993eae1bda431e107d546d945acf6fc9d9a0230d22c2fb7c08f6fe007cd046746846133ab2c914414ca43058225a84f4a0bb68e316be36b2b019664674a38f334590dc059213e2bcb27095f723a273bab90679eea76bacc6c40e65cc6c6b1dc810a954f3ce20fea9de82e44c6bc0c3797b681fb9101b7daad0a55b773a57aae8c9ee57b6db597c31b1782a828eb621f6c9f63ab3f257dcd176a06b1b55870e87e55111205ab7201967b253777a114476c19547d5ecdad0c4897d2b42a4f7a2fd02de60504f8447a0f301bdc9d233f8540dc23f7a7ca34b471b7e0e3ab7188a4d07dfc5b4885561f1ea68f95936edb36aa568ac18c9def8b3f11be4b616bdc0b5aebc7bead351f397747492da47dac1e3dd9d73a6cc4afc4e9b92e886a505b666721dd10259cf022521b6cb0d92bf6629743caefd3ed051eb308081c6bfd8a577c701dd0ca10a4ee2836db1f61f819c3e2f83bd4564727d43aa251551af7b0fa67b7fa8fa5b224545a49cd6b1375a019d944db0a1b4b0859e45bce9c1188ab02a547dd639cbbecfce0c3b7c843110ed63776110ca3a1b7e243d39186c2e1db84fa464f164dfb270dfe31f6f514df7db7bd3d46636e8cc9fc81ca91db6f66ea5673f8e5ec076ca4bb14319cf1e17ece19cfa3c6a3fe45136a26f1d99548c4b4f0ca1c3f110c7528bcfb33d5f7a325ffab2557a6615b8565cfa165ff872187b96557a1677b8c8da9d2e9013fccbfbd549a5c95e584ef6c27ab2170c561ec8c1b639bba319dd359915ed2974e959e1ea877c9b5c642e9e9874e9ef46b44fba5f7b12670f65dbd0d686faf18ab5894dea2bb994749f00dd44113cc4e7885f6af09e081e68a01160c7051a4f6cf41dbbe9ab0d95fbd6b1c920bd96f655b3cf776ca6f1d790f50ee701ff4db66356176be4b10e37defb90f948e536c0265ccf1d0e6750f47da0eba03e13d9aabb91d1a1143a3f64611d2bc20c746ea45f58d8de74b118987368ab8edbbdec7740c7f81f000e2bb1b1595570df79a15daf90cdc0181492ab1ed209c109ee7161f664578d9e5a4055a1f922531bfb0dfde99ed629924d9404ff8d7585e1ef79dae882d82e03fe889aceece7e5a7a345175f306e3e87f079123ae4372463607fc13a00bd55937c9381f8a08b2f1c52d9a05e7e6b8db76c78cfa5376e7f8f4f0ff6385099c5dd7b6c9800e9060ff66499ba23891aaef5f1f36bd76536ffc1f75fea5b81ad7c2e7afa62bd5fac63f5b33d496ded4e8ecc1dad4c14c16b7455cc9b063a2b6418f0c335e248718d64bd0cd743a2b52176a267b7a8f7975430350abfb11d8ef09eeb0fc6a865f3852ebeca5511c9a6cdba5ce02e92cd4d11d67ec7cf7683bd9bf5e73199b5df546fedef59ea10daed0bec82f0f5853bf2632f82ea2769676cb0f5f4d767201da0b63bd5b0f9eb31bb3ec4db24d437f41277da119f907c031d0cb1bdfca7efa5085ea6089b40d5a962a1b33189f3806ecc2a74edeb66863d3e83afc79096fa06db9eede3247574fad276c9fbe999e54e15e58e3663558d2a5566f3f2c53b3dd8cffb674995907fef9dbe78d6c3f8bbecc3740915e5459d62157df6e490acef21afdd9ab347fec1dce976121de2cbc678b6cd6527a303e1656f4ff37a4c62e77d3c4ecf07fc139c62402eecbf9f4ebbd62ff0058d01be17fdedd5995ecbc511fb246b7fd600f7908e14fcec3c10fe41f7d55fdc33f40b88f173d874772170021d730615c3c5f03954883f49e2c45c4ca2f0b768c26fccd7d009ed4ec60b9550245d82c408aae96ac48fdcdab9fbe7661411745d47facc4fde4daea489158ae73e5da9f94210e377fdc91c3aae16bd498cd3da0aaeb2603f5cb7c24999184699222c1209f0bda1438dcdff210c19600ba11c6b496199b9ad3c872bced4e311fa113695de1ee3dcafc6e3f86353fdedd1fb7ef16c5f5f78ff319463c9d87d5daf8d8d3dd8b8ca4ed3090ced0df8dd4c36811849d34e157aec395c1e2955bd0631934d91f535240b74bbba8bec03ddf132e099484ece4513e4e54eac5457af5a0c631020a643e6a2dc019a341e3b265fa1ef369cedefdae8f290c4b5854486bd8bbbdc22193b7c14c38cf85616b4f6cd08e9c9b427809f4125f13f04ff212e93c805d1cba6e6079c8461821307b26dd98f05178ca662f7ce34022f3cd4b6d256ae1ad06a77a8177d413bd75610d8a3d5932ca4f55ac3f61e297618e3590ce3c95e60833e2f89729bd829efe4389ec457f1f8f97bf91af35084abd011380c7ed4fb28de8dd55903f785dc48ee512d297e40231eae490a9de02b1978437467b2beaf64604443e3dd30ce36f9ff66df71bc1b59d374a83b2cc95aa3975fce77bfc7644cfae6747d72f55ef4f72a9192d9bd0cffabfd2470d0c7013618764378a0e3846d8521ba8d399fd33d7b1ec8d35806483ab1ea21c4aa1f81d7830dcfbed1b9cce795a32f723b463a7cd37994c4a4f5e14416169877e1caa3b8fbe3402eb6c1e6886892fd78ac2a3862de16e54e5877587ccc8febb1c8faa3dacf03b6706d7cc36b9ae1b918e09b81ac9577ef59fbb06c0dc775a0f5832dcfe403f0e3c78dcfbd7eb65a4ec9b371f36c02cfeac557f0d2e7c79cb49339f1ec84752c8c34818e5e6114129e7c0f5b5d3c9bd25fc0f43dbef771e18b75687f791dbf372ef7d5b87d3ae109433a81f67e96a9b705b33ca6b7e5b1efabf6eeed5cf1724ab160c34c66f1427fbb22f97d312f27b6b6a11690b3425dfbf17dd220c788bfe32bc37848bbe3db00593f2c4fb5bd7c4bf680d871eeefebea7cfab55c4c61add8eeda8b4b3ce04a6448efe1e3d8b6c4143af4270788bfe85e47b0beedfb7429b4c68e2ff50bdb525351865414ecc4725551d77f1aa8d3d975c1d909f892383bd95a4b81746d4ded1062560d63b614d03866bd6f9a9dd821541919fc8671b07f0e46d7b686fd45536a243362615765ac6a87913cc2f6b7055746b2d6cc39b3ad2895353a94b5cda85d331dcbccaa58f4cf8e199c5d2d03268ae0e5db29952eabe2a898ab4cd2bd7cabd334be7f95233abf3d52a57cf37ec882582cb4e8bce58aee1efd50a7d455ad82443567c5422b4faaf51ec8829dc94c9a7d24e91f18bea32724f7db5a5e2a82c76e43fa0a6705d50bd1f5f2a49a69a6cc0b90df3e123b87dc0cc671f077bf9f9731f7eff78d2bc157e2dfc981e55146e36fb06fcf81aaf9628a64c1ee1c3217154e4895b23619c95a5e76def1a44e67609be88c8bde35524defbc1366a943f45659cf4eea29406b6be533d877f4fe2bd6a9e8676c43af61bb24b2666fecf302f6a5772d77a650d9fdd5678c787bcb22650e63bc3803bff84eb8d7cd55ab0367d0a517be9f17b5beddbc6b40ce858e6466932937bf3ff69d2c89cfa1a693b0b66a1cb923efc1b52853fe5feafeb4b7516ddb1787bf4bbd5d757600c729b3de251830066c6c7a1e5d1d19480c060c15dc80aff6777f34c79cb476aa6a9d7d74a5bf4aa518987d3bdadf3886a9679f866566fc437b9d2edfb00d1bfb77e947f66d19ffc84eea8e17c1f9f19d3c40a34267ce9c625d838d1bfad5b5b7893c477b823f01cf926dc67a83f9e82c9ab80dcadc9c2f574d7db7ffb81efe9e167a8c88e21a6cb4ced21bd8c9a3fba58ec0061fdac16ca377a79101a1f9bfc6fed13ab999550ff93efec96d644246d12249401480397f1db54df855dbb461db62b23612d7493b7e504fd2d5a49aad6e451150d3086c650c16ea5f6743fe6c9bf1f7b62d067be8e4755df9724737b77e605817b08ddef57de118c5a3eff7efea691150c4f68deb7860ad5e66c4c7295ea33e831dad50facc349552dac77c6b329681f7caede4dfddfca82f0fdefd4aeebd206bb03f1e0ffad5c9fbd1f3400fd21b3342fb0c6dcfc6b48bc83f68f76ab5b3a7833e7f916658f65732c618dd15fcafe4cb18bdf8be8e8772fbbbef8f6484c2ddda1ccaf7edf46c3d2ea791234ed675f9e97169a6d9d7dcbe2d53b5be560e2075095359dc149ddc922efc745cdf40d6decd1d45177e1c6524c2df977a8cb19ee1aead586e46d0e0c773fe8ff404bd7575af7fe8addb7fac27c076a380ac1c6bf56399f6fd5c7f21cf367228ef8ff40ef773ff959cfe2b59ff69674f9df1b8fc42f790fc41dbeec6f91fcafd7fdf9eaf740e8fd6fa977a8384f467f347ba94df979b7f91fff773f4bf3137b2fe1fcef11763fafb75fb55bfff74dcbaf918dad9165fd1d1fd0804f7edbbd7e52cff509773b76ec197e4cfcee28763fc488ffac559dc9493a1b1789ca6b3855cddbed0fbcc855026779987f88bdacda4d6e6dfa37db1ba6be35807e4011ffbf88c1fdae5ece39e2ea4471f347a90815dfa598aafb17298fd5a17f49fd4dbcabbbed4439db57aa813fa937bed8feac677dd3fe877527eb9aebed0450dee27acf3fa948ed5bb149fbebe1b7f93ceb0d3733b5e5f9e578fc621ca1eebf93a5ddb327607f7624f4ff4788dff99eeaa3bafef75570fd776cf6e6ee0e30ef6c0687f64ed7dd6d3ad7db91e1a7b92a8af8ff2e698ae73bbc8498fe7f5cff4610aa18dfbb462dfbebb7880558369db5bb176cde73bbf9b9db3b22cbe8dd8d5f83477b29a8ea74808da1df01a0f7df7116f666efbbcf5bddde5a2c723027f788d3d4e2a64a318ca98f82a6af1271a5b962f747ead2f16e113d6c934320e0d0fdb6019113a5e2f274a635742fcceb7a240b988de24e7bc926d2f619da4ab3fe1737b7d18b69ffe4fdbdfa293a2b1edf1e4983f5d3ceec3208245afdfc33130271a23bdb8313591fb914cfa699c6ab61adaecafc77cd9efee59ad1ee8c57ae7714f5f2308bfd20ff5cff0c73ab9fe99f4581ff7b8de873469a3874bd3c7bcc12f7470fd767ca12fea8dd343dd9bc17ca17bbb3f778577513884f359be8b5b5dec83f2a5e263516d47344ea13ce6777fadfbbce7a91febe4be4c27155fd04c231d68f1d5d83fd26d0ef475ff795f86f361dee938fe9fcec76a674fbfd28b0ee98b14f74f36f2afea4765fd6e1eba3473facd7b4c87dcb709f40c0ff62bb4ebf7e38fe88c87fa5341f8dfd29fb63693364d95bb39d0d405d0df628ede75fe11f353accd831f6e5c7ecab6fa9076067c81f9bdcc01d34b589faa88e6bdcc63a4730599ff3d7d4c74a9d5b1f5dfe79272d7628f998522268d1e3623e8c75dbab89f2eefd211df3cafeeeb58f77d1d6bd1d7c5eee27ebaf1b844be9b52ac6bf3f90efb82943babd5a916441ffbb3d3c716581ffbe89cc4f3fe808edec732939f77195bf8f13efee080362fee68f3aff671a76bbd3bdb1fe5edad41f6ebb3faf7f7c103dbb45c8a4f859215979dfd9c4bc72bd0fab27ec7e3fcee9cfb628cf6ff688ca09f7f546ef065b9c33d3ad6c7e23a77224b074715d119957aac66aa31f41d359987ba90dc9f587550efd1f954af863a52b3ddfbb499bbfaf5aacc5fcb7fecdb655bf5cede169eddd2846d9d9d3d527a0e9d6d0aef441c6561e06f653f90d7c7d38fae6c9ad87b0eda6f8f68a73800de87ca5dbdece48903d9e4f4b013857ae36cf2314685c5f465cc3dbdef81af34467d928e6f27e990c7264fc5eb4c7d9232019e372635a4b18528baf3e764f8476de9f1adcb0fe05b75a918eb326ca267ebf96a125c3face354e7a74c13f9ceffac4e5bff301bddb5d62973f4e41c4cdeca9db3c9a5988ac1fec3367b3e926a9b56be0960cbaad9ea935b4f6f81581521b7276d03fee7877b78bea27a00036c4eef5c3d4a3b3ffdd7d28d9376ad836fe51def161d96b177e870629e317f09d13554888aa61de85831f8a28df41053a70fdbfd9427f490c61faee9dd58ef0ffa21cc2f88d82fe58f7061b365465fbc8505783e0f30620b40e2672476939967871162f72895416655a19dd6d8b6b4c5e3ba48f12992f56be2ea51dc8b5c87dac97651dbbc14fcd7fb6b89db46237ffaa13f581c1d34c457c7c9939b811dc48bd3f8ff109fcd4d66b26e9d140abf4c95948ddc6c590fd72b1bf5fd861bbe49b37b3802a6956299807476ed651c1ce84869786113b75b76925c6ab091cc46f7005882680f43b4dfd059a53ddce1c62e92c8fccdbce1bb0c887476054c252f4b8fb20e11fbd0de3d7b8cb977ede7bde7444580f64816ec9b7c0acc1f9dfac74d3bbf46838326366d9a46be6d9680499c79855727fb80892ea15d2592c89efd45b27733730f5880dc1bbae3f7ee649902464e16ec5d1dfb2935754ac22af5741c4d701dcf2e63ec62850969d4ffa09e1d94498729a5300d7630ddad13d1bb04a80f93254475f2b2d9598208fa3459bbd38f664cd64ce767ddf2ba18f93ef58fdb664c8758933057184312f0c8481f9cdefedc32967f5f8e05383f5f7d2376f20bcf3ac580ac9f59e79027e36d510dcdf403a2631945a434637f2be20f9d6028ce4f87afdbd7f5bb878184c784d8786fea88437420d8faf221acc965ec2dc8b87d1129852fde6958ff24ba5e85f866b22e5296ec5944cbe1ba7a7c7d8b4743f62dc1381df9214acdbdd6973b0c7172616f0df712604accefe71cce6d53ca3d0eef6f421bcdc1c75654efc6ad294f216dd46cb55c62feabc1b96adad49e8df2685fdfcda7c136e3deb46fbce65a1c9f6d06bea780934d22af923c3d5fe747e79eb88cfb981cf8ece109ce42e3b7ea6680a1d8ec7d72b6117fcb3e1e62733e170a27443d3920d744b7053c6c12d1c43dd0f80ee9dbbf1f4e91369a7f722f8f7c2fa501cdb4b137f93633c73e94f1086f047002ddbe8eb376331f6cc4a69730b36a2fab2ee10da2b2e2fe1de883cd78a9635caf1f8b8afc7eae5483cd3ca338d84c88be55f81bfa3d4d5d3d3ad88c953a3a49af274f1e63beb8f429f72c6a063682f8f75fea613bfb984b14c87df1bb6c19efc196d0a54f8567d1b38ff96ba419a81d45ea38d50c630baefc1d6385b2c1e6b81d69af8de8f733bd36d8027f2b7adf8ae6db4ffcedd4fb867e3f4fd746f2b463cc17c5e04b32361f1df670c8bb4eaa7929d841a17b31d6442bfd5854b196856983d9e2318887039c8bb3c37438b7201b9fa8d93203faf1a492f4bef88bf4888f416bf000f352917939211eff7eee68c05e1dae036bbc0e1a9aaef4ea2ac7b8c049b93368c9d3a7e9bb681d6411d1f1d5b2ff8cf746d2442483334dc9d29b7fc358ae9af18aee0fc5ebfb101faac39a913ee53a45e79282ce6dc72a2ba72d37f5558b2a64e7946ae609ec80eddb5ba8881b564777404afb6a4a4580add944d59ad0a3c84f43bcf4d6df02cb6a59c9e049db535f05bcbfd6b618b557fd457bd587eda5a1bd9986f8e51be0d2c512e2b3a8aa6d7f13d1fdc3eee32fbb3d3c121c017988c74b45aa9eb280a9626fb265d6e800fe241f8eb6bab34aca21e78b641640477ab64ade277f548e77a3623b5ec259e11de854aea30cfa18279fb21842e47659afc087bb8dea7e37e643dec2039ab18789d7b3d355c47db9d3ab9f9a53c6121fae2c4e7a91e2d74f75fe7a5539a994e237612b6ce2752ced15e39552e7afb1c249fbadb532015785a3ae2be3f50a9800fc8a27f94feadc6cf2cf4dbacdcf34f90d73dbe53f34f969a3cb1f34f937bdfa274d7e53e8ea5fcf5fafd2912a7768ecacc8b152cb34e9e5d6e4d9b59d08dc86da0adb249474f3a41abad49cff800d34c0dba2afb94d4f03d9a27e3a182be0ec2cb6182b207e1de92067b9b35805415d168fbfb3efce623573166a8b4b82ee002333cf9e13a56e1dc5cd5de4cde9837d1342adc67a38b9ded3f84c86b5dfec8f278c6799c37a5fc752ac88262b259b3df8b181afd30aedd796dfd30efc55ab979e6da59e84c63585bf203f9392485a67f4498acbdca54bca3166f1fab8ba117ca412d7ddac99eb0077d7a5cbda41e79f41fb52baa2fd582aa584bec0df744b7b3afa1b02669a946ef3103d275ebd83f7ab28e496a1cd3411a889fd199c112b741ef5f0765e4bb54ed0fd73ea9d33f8ecebe487ab9db3c2982d18d7facb73e8c3594d7698273bd8372bece49f298930f85aaf314e78a1317bb6b70f5e6431617735a2e9b7e93bcf425b57160ded0d45d60a166f3d9e3f39a9860476d63be37ad56a69afe8785fc13e467b9849466beff9a4d5b3523ac03a221834fb8b123f274a9dfaaa407d4ab04f921fc3a888afd43adbb3bbf4047d721e453f84efcdfe5e861f366a3bc5ee38c0ae2f345bc5720382bfd7cadc60cd06ac14bfedec18b060d09994c88cf9e9c5a7a32256319673e2bbb3c3dba72275f187671323e57d1c39c3eef607e0838fed7281fe509f7004704833c49ae64eb097b0dd0eba7ba536e23de08b77e72dabe93cdce71de6a4d46f6b09e726da0bff309fab4f0f680e42d112838c3d614cfcade8da55e966c261077b3f29ee7cac45e9916caa87efce77d89907365e67ab918ff6702c077b569f9efd49900f71eba4b333b16e9e65999b1bebbbf563ff06c47334781c46eb73581d40a72d58e686c275c816f56233ea037f0e92966f70379292d445e62c1df105c5573413e81cf01d8dd6d5a6a12712cd4ec95ae4cfce2468ee6f127741f03dc6427c6243b7a0751f61fad8cd760cf62de9e379f7fd0460ae0d3a7771dc8188d0d709fe9b94f8acc158ae306687e9d5d5a35446f432c412187dc7d830f81c4bd98e7ea4fa6550e037eade680ae46ef3d772dc2e127b02f7c3a07bf3d11b67c47358a7a367516c6f7ec9b8273d1d857a37666e4afd90eb532c77cf2cf10103df316ce785e8b6eb84d06da43dcb50b33d48dfeafe713b62c798d5c42eb05a1f5e5fbaf765bd6ac74af077229a2ff70a69719a02f8137c3e937a0a983fb59f0fe619c7e8f033eb196c2e00abb819ab28750cea4ac62ed17498533a602c62cbc1bf040c3a0387f197bc78b83ec2457102fce4944d94e3aa19f7c23f5a94e7a8fdb81b68bc573b7b4a87a27593b9e4d4e4276d8068b45b1c4723277d45bc18ab1e36c5c886e5d38def30cb1a1d5db9e32a426b4bb88d75d5ca2294245c7c2c7acf6938fbe8e1f26ff534d30cbef46e1485e814388be2e9625b57fd350f3e0d2e3a13884f03f67901bd1eda1fb19206a58af1f9f07362c2b32c9a33d5a9669ef13cc17c5ac24ac66b81e55bd60fef30e2e541f7529e3d919d10cc96be0ca0b5357937883f1af1b780b6016f95fc706fa40d5978c47ee182efd956a888f97dbb8f41b98bb13e51d67be3946db01f503c4d142e4ab5f9dbec4334ff5ae13d5c683a7f1d601ac7d314db2a4b674f3f650abaa33213f3dde8dbc1058ce21dacc9a45843745d3ad1e6c2ec43dcfc05be3c35cc67a1315ff2b068ecda3a77067b7f96d00d7d04e3fc228b7b36cca0ecce474fefcdad41e7c447e9ee9cd1ecfdd06f6ab826112fd2c8be206e07d9b34b93623fd673f7aaf6642cf8de7e4b218f719747df26ab0fa021e2bb3c19c983d2475807fd8ceee7b367d3d77001fd6ceebe218fad237a4b6af8ecbca3fbaa9f60abdfe85174dc96116e5a8b43a8671bc497fb8e5e35b1aed21e06fe017c640f34c1bfdeb032c69584bc4b2e42e542bc139ba60ac267a3357444e3dba779775c9fcedc14a0d3ee742857748f91d82e38960d8f2329b7faec3a297773349f445723eecf3b88da1a695e1c25b20e7876640c927217976c2f7648a100dea4176a7594c01a1c8c31ff8263cc4cc7b1a3fabaf5c4d5517f3720a75d67fdb82b6e86f96b5c6e136baa8d58dbf4214e7e907a4097175055ea1db71a5adf9a9d9c767195ff9331d971988e2367eb4c33f8bacd932d0b8f8a2ea123e138221cf8733669ff5201b313b7b78d0974a09bf87045b30e1fc56cc2314ff85efc01901b018def39cbc213d3d487f398ed9e110dd8de55f4c925316fc8d9d8ef4739d49f528502b413a2dbb7f0774857d1f1bdefe9033bbd1ba22dbbf8013dfdace44fac5a63eedf618ce0de3908d8b96f2b5843367fde39ab8da1039672b28cbd589bf358c61997ac6a407b671f73be06d9e3b19a61cc4dc0f47819e1119fbfba03e1ee9bb7f441d6e3efba3e6299dd5dfc318819d393cb7843ff6688b9d4da8218d475cd98334817f7f073313e270bf23887cf016b6f4457a2b589e868dcf7ee19c71723b4788dd72ab913331cd1bd22f33a6bb00533f94693f57b17efaaf4605c5f7f7eb5573b9d3059bbccea12a0bb28bee6cd3af016d5cc3b5409c1fe67bdb83a68b684c601c7d29ba03b6d8481c16059d380466f62d5982456949efcc0b270ba908553dcde3b31c14ee0aa18fcf21cb83301ef059dc9601b11434c304c67a17d725ca5a037e1c87bb12a02c63af8cc14e219f5e3890e31b0ddac8d180db63bd74ae50003f72791ad8d7cf6a5611c2ec45b2da4dc13a53c00fd4f32e055615f36f427963313df4e1efb74e23dded27e9a4330cbb93bfcedca1de28563b915c6aafdf00e035cef9646c2f430b9c3d038820c10c7c96ae657b397b38f453fe619ba8f24e2b7c35ee5c5a91fd3ed4532de58d9c8bfc2c08c1bfa7567d0f1a07ec01bb7aec4d714ecf4831ab050618f21fe0dee76e0d9f758cf8df760bcced4dce392279fe8bdbd398b659f4651bbd8bffe82b15fafedbec57e2f5534e6af83accf1fe3f8593be30431af34a00f365ff1cc2f3b2e4a6583bd9737886617c731de17b2917f819f643e615947f2e2d6a8ac19ec7fd803a239b81f86d8ed7d1ba1365a3f05f800c62be087eeb09ca258671b8829e0937abcfacb36034632d177a7dbe3f2e29bf8bedc6642e98bcbc865ca7cbcb7bb789398ae6ab1200cc0d1ef74a631cfa2f374197b9904319584d90787e81cb7f4faf726172532c6124d097eef013fb77c5f4b93107d5fefce4d1ec796c332c0a2c7d3b13bbdb5d56777f85b89dab2c36b35c265b9ac1bc3b7267e1cebd5d5d58da3312e06e5c67f188f73b4fec24e4fdcfa5de13b8b27710b9bfbcacddc3a027cef46a7e5a6e5d5d19352b2a5f6eceec94481ef59b7b290a5af0a54e9195405f754ef8e92eb532adb4bdfb3a8732bd3e2607c23373da50ec6744d707cbd0d0bef7e11eb20cca4761db8e04f35bd41bce71693ba8fb571bd0e6cec6d2997b2f4b6c9ac0c6c21e23bfcd8890b98e6707f609a9fd0b46d9c947e3caaf96bdfb78276e37dbc73566fde719b06f17dfc8e7772a6f76daeda3833b69b9b99d9a79b63d9c03ac01e1f0db28e65ecb5beead88673106fb81fdb01d1cfadbf192abfb3e7025f61886d69d34bf0b16974496e3d288ff8e07ba5cf08942c0abe9959be27d05d7c34eba4835f8c4591986f3856533b87c6db08e3417a1c3fa5591f43dbab177788336fb831a68f863e1cc24086476211942ec4c745f7fd72f6317f45fc77ac1c05da759694d7bc83bd8065581f8beb15b0fd096f8e9f0316d305102f0ff13ab19221fa1de7dfe1fc441653cd54c4e7d9d2b9a10b7019252ae3b4b3ab72e7101a6251cdd479ebf3dffa06694e44e4c83d3fa61e9d11dca8cf5d5d569ea1fedcc525e3199b9f3b9d3c7339a3c2ff2e36a2eba4374d3f1de55bf0d38bc718462a2b33e6a75a17897ce36b39535b5b724f1428179db5038c56120b3293fa3ed971682f635f34f3d17ee2dcdfc6e81246be44abf8cece71fefa4430f96a7f629d3d6e7f52f52292f5fca41a058e69785c5e427b9adcc74fdac68d1d1ac44e98bf962a378a95deecf7c687dcd91eda188e2013a562b99686b1148147e359c5e6e1bba283beedd3e2a2bf3ed0797d73afb27ead65fd14cbf426ff384ea3a5e15e95f9bd9dea76744ebb372a473c09e843323a0ac515c4e05ef76dae0cfad0d751813d6283c562affc5e9c8d936ad1b30fe10471376571f33928575881dcd8aea593145fafcafc2d44eb5faef78cca1529d66d9c6859b47c35edc77e79853bd33bccaeeb58fac4be7716ba079ebc437e1ac54514dd381ae32cf431177b9889e83e51cf2ee06282df7faae9d10d78cb459503f605230d68a0f511f39ebd98d6a013f33888c7447b269b01be0d0732d25b1b0754dc201a6c484f812dc783589ee2a6940c1ed1c15d7d24dec038fef596f0246dffe63c2dc7f4789d42dda0e710d393e714173febb01c657d56adc6719840460afce7207643eb374fda8ace9bf53ff1653b7ce9cb46e46c5f6374be13f92f5ac30e03f2971ebd2f8d63b234f661240ea91063bafc5aad6222a7015b0df72a67526fad09bd3312f1ab885ec1714dd058135fb4de7949e2fda073ba7d47d617c46a6d640d66eb2b8afd03cd52cac08e19e848378618d17dbc59622b6a2d21063c13d69eb3ba697414373e6c26d0c274a670cb931427a5aa23ba2c69fdca5c268afc2c4434f526c8d8639059b760d2c71b5ee5ae3d3d7a667a3617cb8b3759a60196bffe21e6e71775dc1a3e85a49bdcf912b6fea5dea158b8c43769749e2fddfb58f93d9fd2de3a89f93ea60f9ad748d3e9a8bd338e16e5526d5c2628b38dc914d30fd2ecc7b802e37be2519eab72771f9c1ee7ebadad662e06f700e8c3ba316ee87b445f21de9ebcbf85f6920a32e11072513786fa35f6b13f353c8f7c67e3715cd5d6af65519ce4477752eb2fb27df1617dc1fcff207bebebfddaaeb1a4bbf34c2b96b96da2f4bead99913f723da54371d5ae39b75bcf83f72ae241fa74df83784b863d3a1bf5476714be5b5d83a530cf3dac4736f2abd2f8848ed68862f305ba67d1dd34f6c530b28774e7a8ec2969cf0ab0943a0ce13de29547b4413afb78b456b8e42f52f601c725d8176d0c88b959fc7a5db3ed7a907af8183b67c59bf4d6d88969168a56d23fc7bf4ab36ee99a130bf7018eb94ed66415698ed0e9b0991eed6cf7308c192ce7c0732e35bf7f7c556743430d793d8fc1f71da2c3a6944f0975900953994b0aedf0d6dc09dd3ea4b68625acf29ded511eb6a57980719bdeb6c2ca3499a840fcd68867d80c7906fe91ff7db61cdf2b431feaed1f95711cde2f239fab78e073f5d55a1fdd518d3c627caf8fce62c3bd8bab8ae5d29acd231e85d0849d5d329663b199e69c4ec1ad8830de499f1f514b6f0eef816750780af4e50d36e987511c09ae1b2a835544e9a9c1685d67eed9b7d3d217d39b67af2e7eb6bd69365face328d7ac6d6b9be8ea09ca7fd074e98469c6c8572dea4931f81715b5dd394dd707c4a715b42c46604721ebc54111f72fa11ee5a0a3d0939f6e5d9dd64733df09a0a72f10df12dc709e5dd6e4a16f28cd869172d5366f7216613b62947f4291b659ffac6d29a2fd22440b976e9d948651986e1ce5f66d15e2b882c18b254af94e282907e23a5649936765e13cbb7993c7c37944aac93321796e4d9eb580632ecb045f4733e84c635cf67d42bd7c118b2f433cb89479b5cf50f1ce7ede7b8897386e2f52969e2511eb833d83b6d1fde4c651a6e0b4e8fe8d65d13d87e20cdd55648eddb3efa8aca78f7957b5f4e2e90afcbd1a7c7dc0ab04b9df1b2a57d62bbce674378338badcb295174b245ed180a7ecc9935159c3bdd4f1715d0cd056a62efa221b011d31c033b9025e0ce01877f8938dece4201bb3eb3a530b395b8efc06c7fc18fd63bcb6d11a6dfabd3ebcb1bd7d7668f1966f9d5c81d861107dc3be005e1bec001a9b25ba87d9097634bdbb43483c2eeacaadafb181f8cd2cbd6dd019e9484447439ddc0e0fba44bf4773c6ca8c749219bec75f4d234fdce4fd7c520234f0305ebfe08dc77f10076b74dec70fe2bb111e10df373b67c579b677093213cbdf6fb4d59c67eb383a6816d8d201cdf5a81f8aadde9d378ad8e1586b3add1baf047485ef777294fcaa88cd5ce5d791ed8bf380d6edeb77c67cd818b71ff1e8c9c7a222eb6dffe97180653145fd92b2c65f6d5f28b1f4e9c6652c2fded2204b2f1e77dd37d898b2fe5604f55b2fcebe9528f1dbc617ad2860b03f59e7fbd62b0bb5c15ea6417cdd07a255ef6c3691f5e7bdc958a9244654b8787d516a96f8b56d7f02adc250176f62159e68dd945abd848c50fb597af626ea05f1478a9d9ec3ccaaa10dce5b1464c249a9b12f9b6fb335a23dfdccbb28c467dead218661e9cde90cfc8af42fb0396fb34ff756405c70e09f6a88dfea36f4b3229a1ded3d19c516ec786288e586d726aa1b70e446eb236037503eb63709b0ddc2dc4573d98b8fb566a4b1ac1ab0d11a1f848f05d87a64cb0c7438801b0d3c3cb6e7488672885326679b4211836c99f2b91b5f63ace3954a938b62855b828e448a934faf2e50bff365ecfd745159c22ba46fe246c8fa29c76599e0b3742fa3904a6f52cd76dc08834d481f9c9dd364677b195e8b8047152b1c7f1d62225e4fabc32c0e18e1e499e01718af3375a618fc9384e31302569374280edafcb579c7bb4e02e954a3c9bb8dde75e9c5bd5d6bad5eb63a489c2f7892b269fabe68caca07f50dfb51c4f22856ab7bac66882e05399189cea84d13fb02704b83e35643fc109a6fc48f838e3bebe2a6b7f11c09ffeee9688f2ebb98e9ba547a371a7c5edfe3e860335e281b2cfc1d62e1403c6df2fd8ec768b05a73343f5ff9bc83eed29e26e80e68e5b470276fee6c7797e2909769f4c3b8ec615a87b9bbcf6e40c7313ca1e97bfa16fd1156151a13e130a45b132cab31cb1ceb2a66f170bf6de27506317086677783afd9e0a1f5646f5a367c5e8f9eb5068faabbbb6ea128d421d82d8de57fe3d88deaff37c64054c7b2cd719f533fdb62fd903e906fcedc7af03cb2c5591e7a712ffb775aa2d9dbd90787f69054ca9c9463da770bb2dc761c2801f177358ef598bc481d9fd7dde340bba231416715f431013f93c983b47175908d3cba2f1fec7a466d5f1d46e717ba53fe27f3977c357f206f1fd9734880873d7a47305349f9fdf186fe0ed6a091e7ee6df4ae917ff5e40bdd39753fa79aad66cb4c9d357cf51fac83b1fe3871eb3b3aa6e5434d74d612bc8e56ced9a72bef63f1a7ffa3f288ce95cce3c85f4cfd128779fda08e3e5de9cd81ae6c30d6208e4affee06db58c34b575c9e7bdc48d6a33f9633627fe812c78ac23439b651c16b04e845bc0e96e8aea8425b403451dde1e906acd7c6c344b4cc350e1c0bcd711ac464ef33c14533d49741f9b19bc9227acfd74ddc025c069d805fcc71747e30ee05f1b5eb189d2fa86f66634b9329372f5dcdf318db30f5d2a3f7804d8ceedfa6bdeec9d393cb7aee529e61be48e0eb547678ba319dcafa8c51e79b67f4dd03ec00f6b83e6e72af4e0ad01bc4c98b9109ebe1be0deff72d57a5d0bfaf799f4f59947ab1a6e85efcd404d395f7bc518ace5842bfc543bb283a43b4898c699efb7c065f4a2d9f2015d88e563a79717241e382ce22e047ec7b9ec9d3cb6a502fe27f11dd66bb85524707f457d6af27593431ed3f7f1bf9dfa88fe491bd3636f64cfbd8b39fd13e6fe90829db261ef7b6324c6abfe5377bdb4a3d5b7f93f47971f28de216d46ffe96a24dc72a76e378303b1beafd535c4a3277ad5cba6b1fda37f5005fb29b47ec67dd7b065feba946ef7357bfc6d05e2bf514935e29e696b7e96da8f3fb17dfa65e82897a36e99561d34528c5c9cb7b4c62ab1cdf6a7fb2bd803c1bb0c853c3a01bdbb016cf9ef21bffa0bb34fb629df6ead7e995a1d3fc5638998e89fd13d7c7d54d495786499f76ce1843492c0ead6cf6819cb3d3c72e5bbc909d0d6733fa7e91e3d71607d661924f297efda9d449dcca69f5365fac8812c464efeec756d78878c84833c0eef4e1f9a5d55dfda1b33d209abac10f01dc85e32ab533348752e91ea8d88ea562dd60b2e84b1f7065ea209752ea88f6833abf3673dfc40a69e59e4d0c126d4ee1f96dfc3f0f793bc7525ca59a2e9d0c933a6df9ad6f09746f9d4e0d9356636c73511eed5a2a1c3db893f77a6ddc75f5d3e34ea9ccb8a3b9391d20a63d83cee428eec9a1ad10ed33838d14c09111687fb115f13edaa26f2f88176a7c175b7ec068e944b71777efae5d77b8a4c7b74b30d9b6fbd41dd1e2bea8de61523d964d473762ab368c9fe8607ec7d593e1da3358c38da31fa13823ba992a0b32f6b4ce04566ee3229af990f700dfd1f36e619d5c7b5abc67662ed9524b73def52d4b8136ddd9ad1fdd280ea0fa1083d13b2e2f7eeb2b33d2c789d3c35d6cedc5231d829b07359625625bef1e5db7c0d81723daeec964a4fc9d01d9663326947f2ba20f3d69fb268fe611ee982ca27d5b38ef9c229539216e71759bf3d844e70b9f0fecba1fc60d670f8f7594db8b8cda0cfe72e3585d6adfeef7c7c8879fd8cdf6e2de8d704ad6889eb59744afd3fa5ba1f5746fc3d3c61f1bb5c17e782fb5758de27c913eb6bece11d04e7a52bc33e09f1ce333427a19c4abe3f657d9381d5c67954aad3d9614af339c87dcff2d7eaf87c7b7eaf2601aa549bf735617f055aaa517eca7bc4cb01c027fc7f9db363458725d1bc09e4b6aebeb61cbf5d23476e06d39ad6c499ebf166bd2df8e5768d6cd48ee88caec305f621c170868b4a8c5d76efdcd13b0d195b2f4e6d33dbaacd3391701c3b698d9e04f7d4793f2ed79ddea326b62379579a5cfb0b57c17e37376ebd90a0ce3b4d5e3982fb402eb6db04605441b3fe27b1b1cde17995b82fcaa6d23d808e079ebec0456145a1b887742675e67d33e1a0f63d68ce30bf8864fac385c2c2377b2c955fd1afb0ea2cf46f6b18fe9af8f91ddd069959994dced9f0be61fb6b38ff96b318ab57618e8fbf8613cb0073c23d0eff238965a3db077ecfb859031f95ace11326adf3e16dbf53465a5a77e5cb03e5d5df6e3dcba3ade1fe477c35be03c2d0f0267f94806bfc9656b1c2bec17ed39e2586ca08becdad5d0d32f7d7d8902762fe64bbf9d04bbf2a5692fc6816c7d625fbab6831f6cd9c9fd8bae1f0b15ea1ce91748dec1bb7ceca3f1fef89cecdfe33d9a74448766f7b85eefd9b03cbf7e6883f306ebe35ab4e97675f4e343afce0d46f19d0de6683db558c659e7e739b2c11cace37706dbea77b17593b2a1c7ba776ed9dc0feb5e6c6bccbf5458bf7e2b46b6365563fbdeda470504f3f4631c83acee304555aef25d58bfc47e5da04a95bb935308e3734a07bbc25e4c950efb1efbe17636542dc66befdd9dbc76e033fc153dd8f71d1edb7d66237a894f0f2399728b1ddfdd6f1dfe69fb8ec138ffd8477a6c8b385c53ef229f8f68f952d5af63db0209af99a15dec577debf17fcf6d0cbac139b3bd8435fe3b1e03dd567b3e0c55dafa2a1c1ee2f97731ee70ec48cc7f1cf2dc3b90b88724a6a47b9866043b2b93f54a76eb87b163709de336655fb589be8b73a988018b68412fc6e30958b7d856bcc10d2bee6458646cbc2ff02f3a1921399fc5e0011e46bb2ef179d84bd3d0a28fedcd4e639ab4c5a8d0287c5fb98c55f8dc28be30d65917ca4dedf8839696c87357a72a593f0ddbcd25a93aa22d8d217dcb8eecbaf37b194377ff839e4a970ae55e16dae901b825cc03c441beed999568d2a3589b5d7f99968ec33a709d8e156e998ce52546a73b88316e1c4dcb732145fd960eaf678cc33ab6357b4c5b34369612c489955ea478398a2bf09b7cc9eae24f96c9ce9e822e5812acf3cef1d2e0b88a7cee0dec9a0153e938b287aac7f1201a9b187e8ce57e18e144c7636c8abe0f8c8c711a6f9e55e0b9189e23fa1dad38b661aa07be4d789f19744c7015589f833590865c94806d40378fe0f72e8bee1d0f65893d7932d827078876c4b27e9b2f877e5d3ceb3a606bdff9cdf6b0004ca63b0b5ad96f9c34fa471cebbbf1d3257e36aa21fdf0b8f253b671cc1d5246322ea317737f647fd23f7fd21f52b6bcf84c95baf6f328a6e52cf700dbc7cd40be1957f1c0aff340c704cbed056374803f6de91a54a4ead5511625e2af4383bc09e31ebc5e318ef31263bf19f773e21aec001323bce5d79e6f42a4d96a274314560759944a90dbc449ba42e7264768fc064b83c318ffc49f2cd78cd71fbbf975b266f680cd673351a8594d39fb47e574b4d018cbfb5e5761366bae2ff71dee81f05e26216cc9bb6b3c8a953ea63bdc6e4df7f35b9dfe8d5bf6e2088ceb4e0f3d9ff9b65ffd3521ddc7881ab761f78fda0071af46ede0b6700e8c64bfc427e8816ce0cef66fdbb36b1cf3bf49dfc7681adce8c4ebf82b1c3f55bff753f244371fc74b277cccc8ae07cabb7f5f033f336ca3c89f47df5b9ea1f9dec9023adea8ab03fcc06e7d7eaa577f677f44e22cb7dfb04fdaede11d2db0235d2db631d2ac15b17f4806b657f7e35bb21e57a48fec3b1bac955e1a6ceb89cb21ededf2b7b664faf4c33d5ab19b5577723f17300c86324da7d37fc13a1cfba6bad9eff328c65856b84a7ee11b86f8984b807db5896c6395eeeceb1d9e2ebaeb5b9eb447e70d7c691ed80e0dd66c5de55a1b93af19b7aae8de818cb0374f2e89451f90bffbbf34e36df621ba33f29efcddcfe03d1765f28d7a5e1db6e94a2f0e1e17651e17e5b27e3a42ac71e3b5dccd0157aa78b0feb3a581e8932ad29c4deec5b3ca33541c8fa44b83fdd1d0b9cf35fe6aa42ccc3fb36e6c322a571d50196e3c63d09db2ebd6ff6169489422069ff0bd9ed52b0e70982859b412590c10fd99cb373a55c4e0a4d968eebc4416cd02f464ce26df71b34a8d9372c7992ce017026f9fde343b40bfdb7d0f3ed464bf68f6e6914c2af5b8219db19aefaf2a5744ca8da75687d7e9283e56364eaf1a1b469d271339e32f9077684f7e24e97faf33e37bf1ccf0fefd724d11fc6956af493c6c22f3047916a249fabae1016e343d3c2b994da3bb05fcb6d1b9f9e9011661520e75d7fc13d8dcddf87addc96ee3fefa7d77d4cf217d0e6b705c7e01d807ce482e7becc5fdb9059f1ed7ea8f7f0ce4b3bd74bd7e346960ad49874ed6a11e363fddf894283795e9a56bf5df5d79afd56abeb9ca9904757bc6a649dbd9e674699f57870d5a2fd006d0a9338d1c7a64cfd3b577283f9d135e23930a99d9fcf0442b731dab0ce705b55b2c2f614de478ceb246b4a2945ae71d33bd84e0a73f2d42ee3596197e8cbf967bdcfea19d456703c1f662970ecefa4f32963f87e7d6693c7fa96a483fd58339553393916f6ab532d0d8ba3f43fd6eae2faa21617dff90bf28c6fbe937f15e22d0e58ce4693bb81306b1bec9dea8beecb7cdf09fd2518d1d7dffa85d9fffb05d8f647798e6016cfa62ed9a5376782755c9905fdaf4e2f7a537994b2eabb10e90dc973df942d73e7d5a7b76158562ca78d6b6f06d136c9354fd1a4936c82d9211ad87f6654beb35769126c6983cbbf612649f9e41d35e1c254a26dc646e7903fe18dd77b69b7b1c9a8f7de3a376d41c2b93c5cdd975d45ccaf6809fb29b0ff227387f32c86fe0fc3f07f98f384eeaee46a7da9c66bc787a0b6a37b36bd4860a30de3da382f7cbd8f3a5e3aa7b7fb8b2aa0e694f524ac35d1966eed927ef7c5d2a3d788fee4e3e5ba665bce396e1c7a23a6a0b2f53b23d7e27ee63450cd1fb5c9b5315d4936d6254c76e0e7527f8dd3691e22a87f7465bf70ad79d40dd067967e852b9b3d0fbbcadfb5d87ba7de9984ea5b8fae9f4f912baac1d03f159275fa5295666f8bf54aefab46f5b889fe0db68bcdeaefe22217e80d5e7689e2fe3b5dcf06b58ffc1d2de218f7beb6cc82b829f9105be419231d65bbc25f73ad8868fe459cdf1b2267ec4a0ce03cb7829da17791e669eef5a148bf8a3a0d565a1f4ee3998205a82aa64eca738aa5b48fe34f6e65772d8d6c682e0e8b4bafbe69ebcd3db428c8ba48d3b69f343dd7e1b03076286dc42dea3d1f9ebe97b123318ec1c4b379e5efdc98aead9268cfab64cfecc5ee4ed8ff5cb8dad482333d19cf0577c16dc6510e38ee9c58626b6efde819ef4f8ae9efd3bcf82bc05d38431d0773aa6ff3cce645787d7d2d5c9df1ba2f7dc0bc65473c1b68bb4f188d6f56e4e67e89cf074c0c440e740a48857d6e3aa536bd3e8ac8c568fcaf5e7817a92456aa6ce6731c6b3960ab95e6ea4b8ccbd1b7b94eba547f0c33f6571ffb4e34a7406917451a131c9a79400967b2ceb65be3b56b3dda49af9f3598c71df21dd4f8dc93fa564dfa5bbb19f32daf76dd9d7279f2b63b3c679d6f172a3f29bf8c3817ede3caea2bcf989f2e6f45b705c46ef803fc552fe643b0d006b893d7906fb8b6fc51837ac87e122b106b3fce9d92baa8b4189f6538beff0977678be623b9d53a2892a913d21da72b3dfd9cf7b37069b89a1fc3b3d250ec8a4a4de3ae4af9d7c8daf3ec83e0a6d44c36eca30030cb0c667641364ecd57396d4ceb66e38467a98683a5f298b28c13ea7fc399858d760b14c83c98aef7c58d28b9f76318b208fc89f3dd1ba069975809848cc5472ed69e28b56add93d3bb4459aac2769a2998defdbf4d3433c03357c5e67a3783cbdb828bd3892787cf4f4273eff926c99b5b892433bc20945ea2f12851712cd4913855fa27e625f015198aee3a56f8988264ff6aeb30d25be32a5b86afd1dc8f7933f4134607097067439b79cc4db7ef37bdf4bd759b565d8b6750b45ab061b4e51a01cfd4db538a9f4d15905b1d7cb17293da9288fa3bf25a83c493845a140ed0d61132b8b55e4db96e02f56e93a5eaad2912a37cc867da72ad3bce5f1aeb3217c93e24ab5e6e49d8e9fd731baff587ecbb18d7d976accf3d830e995a1bff10af7d6bde7af2f5242633b45eedad829e6100b80e763852769b26de2899b52e2bf4efba157bc37a762bdb5a9c3fe2f525c09e8fdd2dec40aef259ace06dea2ac94f99255ea6ae1cde91fde11ce14d4dfc28f5fd3a0964a38dbe779bc74d4bd6b871729ae6eeb781949a29786f55bcba7a1f7c12d47e5efbbb3552a7d238f5dfdade53d14913ead6329f5b8b7568684e8095426a2e5819789ab7c37c76511fd75ac889b1729e3f7d847a54a3cf29dc8074b83d483f530526998d48b145b8924b6f2cbf21da721ba8f6a8a9e5119a01f3baa68ec24340e1f7ab5247f656f4e5d64a1f26d7a1ad834f5d311a8e2838b02874b9e64e124ed04fae4ebd12da893a70f9ebe7cf0f44aa3a827c360675b919d6df92def4f2a7e3b67798dda3c7da0753b67136d5225fe8d9d85f4e9f2b108436d523936c3ce2c9a7afa10848b36a93c621b381bfc752af4ffe8d5d1d163822719d54305f9960a171a6a8368cdb64e157df0c26c27ee9f3ef848d226d5e7eec6ce7c9b7afa58ac6edaa432de6f7cb976e8d9fba2723f16c58b36a976f6819d297172f1ea4af965bff9ca3427956a2dd09a66558dba3e7d88d50f55bf521f3ae457c9f8adc8df352acf1137178567f1da13aa44a9ab0d7ebffda14ea88b2208cdbaa43ef45969661b56a1cb4fc5a29e509ad511a559b5f9b57a565a224a53258eb8edded9c377f0773ebb28427fddafd0ba77dafaa1edb3d2168775aafa9581f7a44cb99e95f6a05d9b4fa5be26a81cfb58f9724d87b8befc09fe72ec71a7571f77dfb9fdd3fad0a4499e14262c145148359d85341ad415054a5a2568aed40955a0beb99989eabe2a461aca69797475fac559985795e7af8a55d1eadc12b729fa1b5c558e0e427333d9265e109aee549dbf9e9c85256ef99588ffba90679b78c236a53e3f845310e278302754e62af144876343d48ea0ce9f6c1a95ebe2728d57669b78a15ca7688cea0f9d2d147195627fe82df96ba59af15a7a99c9aa7a75f40caa56c428d50cb5dcd926bbe2aa9f9e41d18a784a35c32d7dd164577575f20cea793d2912cdc41808239be6168759a37efdfdabfb6dddc53bfae11e1abeb9c12d2e3f654602ac39a005e953ec18200bead97c7736878a21b084963b7b06fde2cd4f96cc2d57525cf9e84c97e26bede8d7d8b067b1d28f7ff720ce6c675756561f7a525afa1eee0b8c39f5fa0b0ccaaf6c51c9d9d7c46a6ef5fa80a90aedfc5f29bf6e6d4500fb528ff7ad9c4e81b1484a43efbd9bef0b45c87329a162b49f65bdda415b74a934994d69301bf29d8677c376ddc5aa2534f930eeba4cda62c77b72e7fe7139243e32a231a9421197912c00cd5cc27ca6d4a3726212ef81061b3f4340e31bbb7ae4377d20f77b3cc6bf7da0d73df431f75b3d1af8f09b8d8eb487dd9dfc6874b29ec136ed48d7d973eed67dbe0fcf95660b6cc3fbf98cc92ad4d6f7a96da8d55160d3a7774738058e85ce7b7ae62cd442a6a0dd4f4a5d5d3d838af54c3887b650bf5bace8d9cb9afc5eb9cef2b013d8b760b12c7c013da71ffad13a7b162b877635752881f626d62d1458c373de28cfa663cf597e18cc8af299651aa4ecda9f7829f863a72cefd92bfc3b96baf8b9e92c96f5aa6adae1505eeaa650f7c7c679ab1d8a8edea1be29aabb843a69a80fea71a8e92584b2d55839aeaebe985238fe6f520699c9ba9959060cfcfd81f69ead4ba5ca5dafe37d3bd2f735364203ec3bcd48206e9e144b9fae91c7722d7dba683d09d8360be23ee1b3e1aefcf1be6bfc0796067f5517c3326c2b8995f93644fbb79185c3de9ebf9636f13340fd585914ea4b63673c2a83a489af912a8cd2f179de94ab70cb69b397c977882381f618ca6f6764df42df2ac3e32acde3c8775287c56c4ad3eed2111ad8f5b84a1fa41dbd77333eeff7a76bf73244f70cde6f5d3d833d8af5c43806a341e158271d6ff8e4b6f619db894f6d0b8f49296c6784f89b82065c3d1db781f4adbf87890dc50ae2586836df60ce9b21c3f23b3b2c421273c78d53b66de7e3f32826711f089e687a06bdd39cbfe2b3e8cbb2d9afcf6e7466249f32fefbd7eab07f528de4aacef3da33d4a2e55f459335ea7ddc8b11d4f8baa37b6202f7d9319c34f759c8cce2463f8ed604da2f562da135e7a0bf6a4a95528af8856bdfee9cac27acff50a05c7c5ff4d294521aa035bc92dbf2af34796eedb8c9bb1d699bd1ac9d7012c09d82e84cf2dde97fb7e8c1f7039cd1c700da1292ba150ef501adab01fdd0e99a99a5ef718063760b1752ae72d74ab62836d4f19d41e801da33e81f9ec84e00ab4764a7eb83c7ae693397b24d0cfb35dbc2f8347ef7680c3d117f1be26f8eed921ecbf87a31fe573bfbb9d513cbe4dcc1fe700fceb447fe17f772b6bb98fe0fe809cc47ff4fe9899ecdc683b2d3a6dcceb62389c937a1fdd6dabcb7df6599d8c060bb35bcdedab14267496636e9067e02686eb63a5ab354635757aa068f9f7b6d50e67c355e9f247fd59c8f68dccd86aec9cc3edd23f4d727ccffddba4b07f1c186f33c1dd22b503e9ee7dfd03b77f36966d6d173f63919f35d379f77344b7fbdc4fd791b9581f717e80cae31591b4476f38bfdd5d872d87dfbe87e7bb17f1ecae371d5a1870fdec3e5339fdc789a68b6f9e2c7d1a12f276eed810d3a82739d81bb05b70d6835f357745a6c33db10309d511f9bf333335988bb88d689c5ae7c06745b1fd6c24a0306de399ebd3d7bce0abf17233a38e2dfdbe3b240fd72e855043274583b5dfc7f079d9b8b30d5f4a581681bc366cf0ebda53d5c2694e5505ebdb358c3753677b4cdbb88dbe650f405e573e83075e86d8ef2a03aefeb4a53cd5ea6caa2c07f7901fec2d995ec634528639d4774fc12d31dc42f88ecc51cee8a2cca5bfa465846e4db27fe76faecbead9a6fb96f530fcebebe6e578a657a19b5b6968d2d3fddea1307be0c6adc9e1db96fd3b7a07e4ccfb57b2b963ecd8c6f754c0423e5d36af4f99ddd474e708bcd46afd0f35b2a307e313ecf75913e3d3a0f7b7b3196e2c62698d84971bfa8b339cb93e8e43babdbff6ad9bfeb8fc8e752c663ba40af4c44c76cd07e8133119d3b781d28b006309d487ceb4bd550c9d9c4c78a6045e47c7993e2ca72c919a90fcec87dff8cfcec9f91b0f686777cbee346bc23acb1210dba83b9a8ccfe733051517b9a72245883c2b6f78cd78d856856c20ba2764a4924215e7007f6edf83dd02ea8de073c621fb7019f1dc90f376d63ca012e86767b7df1161dcfe9c259c47f7116a53f5c6cf3bcf1473c2389eb13418cc77e0ca3e6bcc3b43460bfedc4fdd7e593f685b8acb32caa83b84c107b84d0b3646c1f96d3e210e93dbced033a47a386671ec4daf200c360e9ef103d0d63d5d15af81be66dbbb84f54a436e3d6dbebbf9c039befe2ed1860a3dcf9ca7054bd669610ef705cbfca5509e83553c05484b1518e2bda3daea8208e12b457d098e0b8eaa3be61bbae5f8ea3feff701c5b9ea63d4bfebcde1587e3d97463280dd64b3726fbab82e3a5c5380efd784c36a51a9376660fdaa9433b711b787417ad4046ea3a6fa1c33d3ff9061b2887d965a757bc67d01aec59f073934087aff056aa3927a033d1dd1c1c0acee3aad267a647d0179bde25c8e8289c17738fab86ba64a3e03daeba04d9b6f033a15c2756a288381e28f63189b4e61b91cfbc6cb34d196456e93adb22cc2cf035582761d261e81557aff5df2332ab7951797a85fd848e568aeefa869e5a1fbdc1b361a7e7f5311abc23f6cd2f216396bd18601be0218d62ee3954b9cd4cf67d42955b06ffd5459355e86910d4792ecf672f765d9e1cab4ade6f1efb21a0bf5b56d6a95cbb1558566f811c7d66815c7d73ea7e6f678d9cfd0364ed68aef74feb38323fb8d742c6ef72ed96bf74726f5c26aef7b944f5ca75f2241bb342ab93dca6af9f0ef7584efe21543739cd51baa725372b75fb4ffab17f5aa79d3ee043081bbdc03fec43d7eeb66d697956043af0b812da84fa200ba740a6afd08ea6ef1a1eb7429b544150173bdcd7cd45e10bb49e771f42f9a958745bfefa80751cb231bb28fc29d5ac534f5643303938a9c47a083af01625f3a1d3bdb9da5c1cbd9511115c894dac708d7ee541da245c6ca9e064d36168d1c169aba3f2f1182a56d8a657680af1f98b2d152e14ebe43816baf5afa047592da81359231785e3ab7e1bb6fc96efa76bf43ea376deb7b1be46aa4575f22c2b5d19262eab9b6ffefaa1b321a24d218d49af7afd7d6ebea1366f69dce67eff2cf8bb62fb7d23e3d0b5078dc1a2ac3ff459291942afae2d990b5446c82a341d2a7c85e72c1963a6a8b83ca14af09adce0b5245ccfa04bc2f5f7b03f2a105f93710bbc79d1cf5b3ece83dbd2964df20cd2e9a3341c1e1f9dc777c1b8ad7d5d9a92a2fd3a4a2f7c957ed4c686e6ba4f47d6608469b0fef7b66dfbf63d1e631aed9d77879b3de1f88ed75c16ae27ac3b4bd09db0f60ceae2c47bb477114f3643fcd88710a6dea232770b6b8678af0f01f15d9511dacf8532678300ed63a14a60cf2e54945776ede96c9b59f1074f47c1b17a0b16cb99610bd30fbea0fd6325877635db38d6f14358a5c1a2d2dcc97666642cf3c16f53b74e83a06ecea04da111dd645027797f7e643d0ada34a07343792cf3830f57d6a2f2b7e66a650ab46f52db103d6f747aa9d7f4ced5e96257d32f8ed3ea17d1fe2a647d735933bf8d29c6be73fb18e3e999fb60b1bc84599a78f666bf73d4bd9fb11489bfb40f32c4138480f9e1716ffa3651ebf55caa2591ad253e350cc039054c977387b7fa86f808c49fd31d969950fa0b758fe3aebf517efdf6336863c527a5b408f39dbdca2531bd49e2f412726fb56757856b2f4b4f7f8bdcc9f2124cd4bd6b57a5242e6b7f12de3c67799344e1ec716f0cfa8d78bba07ede1b19608c8b9b9bf4ac1ea48b6ead3409fbc9ef1b9bb4a07e8b82ccdc7b627a7319960e32e188faefdad3445a84852f5ef76e66a2fe9ffc8987fa5ef8f15be4c76f7420ae2ebe9d9ebdfaede4dac52588a1ada9ebacd23e066d9059990772d6d97e874ed9797e51183246627153b2d5c5d7d96368a789e7a817a96627aeb33cefece931a8d99f414de3988b8fb164ef646d0fe265428c42b91ec6d696e237f497d87501bf1c29496a18f4ec797578ad347bc82b7f407ce2a5b8a16730f777df893cc4407406b76f3195708c00b48ed09c6ed360b14c5d46a03c7b534a0bebe681ed06c663f26de119adb960b24d5d1bada57f8ec58bea526c3a7ae7eef5ae9dfe461adb93464116d230270bf5de277984493fc4d8499e5c03eb921bec0ed728ae328e5fb9f10cfa59e65acca95cd6a727d7d9c31eebd974a51e771de1154f4f3bfb79bfb3a7b750b4228f7bfe9fac1f54c6098dab32e28bfab8136e3c8d82c55bf9aee3d836ca204edc3daed308cf3a1ad99e471af681c636e2b7225a1f5f732cbf10d2f1bae97c43606f9efd8c9d6854f75be6921799e9e2257ee895ee19b4dfd34d75782ef1b5af7f6e74087123d36d64123dac9ab2871b788f6799523fb6a2944b691e2b60139994f8b9d8a1f2d033e8ad62a9741af9037cab3e7aba2b486ba7f92ff9f936f62cc4e021f14b0c5a70e3e8c3e3aabe7ec140775b4b6b3a15b943d8e3ce3845cad1ba029e8fd9c6f919c9d488ad9eb0853b14dd9bb23143b46aee889b9fb2559e2581827b08d1b6ce1cde7f625afafa82ee4719dd5fdc34f0b88e1eb7801e7fce153d7932117d1cef4f1ad8ab24a592523f652b29b4fac17b937afcde0abe48bfc1ef53a0af73c5607d95a3a60a370de538959abe8cdeafbe786f34f4f89a5ec54ae69d35538887762595e1c69d0c59738a0693cef60cda71e37da570cbc813218eac43de9d54fd1af770766219cdcd1dc6da861dd2e95bb3c3f95ba175f4152edbaff2f9764a356d741f9c3fa56b4f8f32973c38839ef77a7bde8ccfa31ee662ab1b823bfce8399b7d2846a92456919f85b46b87a984eec7cc2bbc8955639bd5e7b3240ccefbbc8fbd46ca2231a4ccbd8ffe4eacc863acdba37bee37d85f631dd9cb18db8dc8f01b7df9d123bacbaf65d06f7dec298fe8fe53d578bd1299ef15f319412b1fffad3f0dd119d9633d3fbf3dc8dcf2e831e1119d1da0f7a15b1d3fefd6fb187df398a03de7ec566f0f79818f19e86047f9811fa220ffa81d7d5d2dee279ca14c70a72b23e94bc43f3672df7e5b9539d19975bab9a6bc8ac85917525ced5a1d58ddb325803287725ce8ef50fe4bfa59391e576dbb7421cce7c0e600785c483bb03968c7518812455876bae1ac1ddf63531ee193d13b286bfbcf74c5755f57ac882b90f5923a1e94d5e1a8808d81053178bfb65768f403298f75cca9003ae61eb62e99d70e4f4ee196db66de7ae9ca558dc7c6d4a5d2c8368d7c75fb501f88fa9959a166a83f89adc149ed74b73cb687039e1dec07b622d80f10db64ac9325f873a5946c1afd3ff97e9d9279e6fb7a00e0ef87eb80f71fc87d87386c38f63260cf2458266710ac105fc07ac58f05c401bf8c657b10ff5d14a606e3ad407ec7b3b527a667d7aeb0accdac523f4b117ddab3ffda40fc822de83bc3d64e05faff40cfeba6a7632b43ede24f26b2555e9d261e3aa1b16d9bd86c34e366bc16584787e51176bde489cce50663ce6f617c40976db2d9609f0fdf95a48c4ef7ddfbb66ac71f955dd95eef19d56b8a9dae84d44fbe3dde27b2733ab47382f180bafd01760b14e81cb17eb0d139b6b41b697f8f96c3f109d1fae9eccee73c45d6c8a9bf86b0bea75d4378ce507de8ae04dba2346dc73bc3e36db4580758f705637e54a18d20db68dad8d19464cff568cca3dab4b1f59b55e67c63d372ebb711eba8466d44f571cb5b00e745d1b67149ec78cc9e0d7edbc654fdb57ef538fdabc3381c61d6e9b34a9dbf16fd3b0ee43dbfbce3a67f7dc4d1437c47c0f533c6e5819ceb067ae17b5cc49ecd1a913511bbb7afee57d578fdd9e985fb65edefeac5e559bf2bef2a1fbf189f816d1f98d51a662d95ab5fd212af108ff8cfdb48caa47f57e6e69f95097d8f7edd77dba4ff51df495bd7d6efdaeafeb2add89678e85f8ed606e090c3d9348e4770ad56841f43f55bd906df5dc093a1f585ceab8e96c06b0ede6d3c8ee89904362536e21f9e41c5a42f3f1ca68b0d0e58ce349bca370ad553d828ad5e79a80cf09b1258b0d7900ea70fafd39bcd342341e57cc2b738457b19e55bb975839724649a39cba564eca7d83f6b72b28faff17bc69e3d5388dd636b7ff1f21e133b076ef9e233d3d4c884133a27092f107b07ba1ef036c629f662c0f762adcc2cddccedc75961ed4c22ef004b8c5d8af8d913d3cc3bd0995b57283f8eb570a06fe4b99105b23b46c5e98fcb8b6fd065f33dc8d89381f87c9b3e28e232538edb8b664fdbdff81b8b9fb310f1b03afedd622cbf85739a23e5b5f131348b8d49ba36a682660b87de3b0ad1a7fe818edbbcf42af26d9375495b77ceca706d3a35264b1cabfe4027c3b4961624cb14cdb567d069f7ade50f497d88170a585bc4e3dad8bc69ce5bf3bdcf4bb1818debf76de159b3de529c862efc03ad793ad401b4dfce9e1eb75915791395dd903c0163519a457e37f1320e744ddad6c55d9dd30e29ab8d33a9396137eec4975273a2f61dd687d20c296b88d579a38ba6fffe717585bc76d1e6d5d395661ce8699bb7cb979377b49fa5cf9a63913c2d762b1b8ab83f44865df8cc147839cd5c91b4845e20e3bb7356aa670b57a05550df713f3bdee8400bed5cf5f997032d92f7ad1c49b351f96d1cfc9b669ec89c35b6f4a7083f832dded24f9af7157e8fed5c59d42ee087d05c657cd34ecc8fdde8415b821b3defb739a0d233699f346e77efdb827c037a59b3d2b46d974193f7296a7faf5d60bbc81ae2a83dd82e6e45da30a0c90c3217203f3b40b90dce0d4fd653436fb1780d133ae946efc8f7e60c67c97a6d62f5275dfede1d30a7efdf2d54d6b55d68473f9eac664678cf1f2dcabdd1b21b437998cf9fd30a79eee3f0b10639c776a270dbd855e131d3d4e3c14eaa897fc21ab6d48c0f6fd21bd6c8da679594bd21651701dd8b3130a7b783f7375aef3d9b9bee19cee88dbd8c8303bd26f3d89ddb06adf5e736b8811c07ffaedf229759a5c1647509e28731f0ac8031f798af7a437b93f26c215162a9b46db05bca7a785c443e04feed7bd75e1d3c6775f327d243f990d5c8848edbbc27ab8f15f114c9782e1b2cafe7066ff24fdb8b7d0bbaf64a7145015e69e69ee1bebb9765c178fd816e211fc549fe4fe5ea50af524ba56e4b4573bf0c62eecea1ade378bd0fc7f47f1a77d05bac28c569cbbe4822a25dde4ee8de4373d3e8b9006f21ae34b7c5665c659aa99e41e727b28083b16656593ff69b666e4a97817bebec813cde6a65965bbd3a78f1087fc1a04545446534bcf195ddd6900ef515ef3f83d65df2ae8f0da159cb03e43d2e535f14a89de3a51033d0a025fcfe2d0a265b31049ad464755c3fecd30dfedde1e0a17316b57b8843c87acce83de6edd99d3d7a8fed9859ff61395b6c733da74f2eae17ce6acd4923dc77af088ed817dd603c907569a6f0e89b83f315f85bcf8e5a33bdbb7788efd4cce8ee7dd3b72de95bcf3e9cd800d172bf9dd8861afbc969e6f48bf2da3e6a777929baf05392df7a23fd4a6f264fb1563b5e8d1d12c55a0c5f2ec176d442ebefc72f652846def8e3d61f7a44ed16d52d5c54676f51d51e975c14b15d572f6359708305e1ea6605986c06cf6ad8de0ce4b3ca8dbfcac62c869809071ec77baa97b790935e5412e749caa68974c86f24ae531c649b781d2fa91d27f5fdbb3edd098d75a584beebeb3ac9bb5f9f9b58b7d7c8a1fbe750ac70dba82b3bc4f48eb3cfbb78a858768ffd26be3e477bede9d398c3bac465875f2aba0dd670e41ed5d2b35d76676f50bd37880b9991672cbb387a07baf0388c89a48851a6d9692213dbdf5d93360359de67933684f8515593167c43fda61ec041aacede81fe8472475870909671d91db3e9642938a6d4b597a791cd14ca42c834fb046d22368185b25836ef60ad83ef5f53663fc6d562dba42377177a67659a89f19f838ca5fd6c538699cbbe4f56b7f56143290bf56535374bdfc8a9955ee5eb83542be2e6453db8a561e495ea5065c80cc7f85d74d98d2d0dcfe01e56f890a748636511654a26c4886672ebeab9e1db5c7b83caeac77460dd0cbf731d95f598e6f76a35a6a73cdb6dbe191deea79791ba6e4647c71dbd18d71950d89e5cb3a336dd16e394fe6cd36059ff4db34fbdb248ec61bb6adfd9187f81f5493bdad88e073af73828abc5d5d4ec6d82f3013ff8937cbfa311fd0c97d5c372bc907675d8a5ce1b6903e98b239067c0f56303524643bbfb221ec3367eb2b3c2e91bdc4567db94d7c6c6d11c01b717f141d64a3301bb7f7ad49c65fbfed13bc233d5a47f6d3c9a4054711bfabe53065d91b580f8b25b8fbf42b4c7f05dbd2f1ed0496749782b3d5b40b4120d319345766952ac416211e7728f7e94b8e8ec4fb6850be9a25412575120a6946b57375997ca20db14781c3ade17fc69b9562e01fc5ee3f3f6debd6fe37e343a75f4adf32bddc78a2874be9e0f7c9cb02fa67a76980d0bf15e09de15e07893b85e5b741e025ed3b552fb76d0c7fd03997c279f2671dbb19d12d671e0bcfab4b539d274a9560efcb372e0634594f25094c06fd3cb9e11cf43b0739fd910f111d806840d19f87df627016bda26fa4d87a2cafa5c152947ebbc73f6ac2902be6c4bdf58193c23ba12f58fdd71705fe073dea0121cfba191936cd800be23ba09d3819ab58a498cf115a18d59c094edd32016e2ff5b9fd31da275354b8077a3f517bba0a34e6fdb45abe76537a48f435b67da7147f5005d631507826f94edec696a3472128b8dd0fb368e73f3de16e27e3b821b7d80363ca08b6cc00444e3bb3cb97655bc6796e5672915dc6805fa37b2d736e16cdfa275cffacc06e51de10d5ae66eb14c0326baf8e2860d4448d3d998278d4d39ede136f5656d88a7ada20f3df9f1edfbb762f7f97e3c7dfbfbff7ed392fdb7bfbf7dfbfe6db5cbded1af7ffffbfbb77d7c8acefebf823c7bfaccf3247effaf637c3cec9e3e93ffcaced5df4f7e9e9f9e7665f97e2a9f4e97a743f954e445f1fef9af2c3efeeb50a272e3e3478efe86efa75d9cc2ab23ae6198f4fbb732bebd7ffb9ba199e98fefdfb23c7cfff6f73343c1cfff3ec59085a118fabf68e6bf981f0643ff3d99fd4dd3fffa41fdf88b9afd4d51dfbe7f8bcbff0ee3cf6f7f7fecd2f2fdfbb7b286fae6ef976f7fd32f3f7efc6098c9f76f2a143d99d0b3d9f76fab343e26dffea6bf7f938ef9b7bf19eaf9859ad0cfdfbf9971f8edef29457fff26a25fa821db1015447dffa6edc2ff0ef6f97f53dffefeff51dfe1dffff9feed1535b22cde0354a78efed02fcfd48c9ab234fbfddbaa843793194dfda028eadfdfbfa90fd3bfd00cc3d24dfa1f9018a7e7fea87c969efc6028fadfdfbfbdc59fa7e81fd6a1f7e7e02dcd83a4fcf6f7f30cfd4ef0fc3c53eccbf76f42badb973016e2fb11fe2a255a4bf073437ea2b1f93fff46eb287aff84894073f3edc92cdf3fcba7303feeabf3b17ebae69f4959ec82f7a7cf84acacfec2faf6fd9b9415f9e749db9da2c1126dbfcff3007f30769ffbf713febdcd73f24bdd9d82e8dbdfc7739a7effa69f76e97bbb42e069fbbe2bf3234e2be6429cbe974d6a5c73fb387f2fdadfc67b791aa546af4639d43c3ca3fafeef37d2fc5f6f29686d7cfcf6f7e9f3fcfefdcf070c5aaee6e11f0eef3eff57968790c97aff2c63e83dfd2ffa05767d012d6d8e84df3698ccc66f0f837f7fff16ee4ebb6f7f7f53ea5c96f8d52558a4f5ce0ef3907bcd3775b2df6656e239cbc265667b3b4b199fa92ed25cbaaa46224bfcb6c08187963404d55858e8b0aea5c536f7f4b7956e6df686981e3c7b7af3f4d7dc6f7fbf519eb33c3546b6aeb3e9095ad82b4a8388739731d1017d5498aa70190b116e3785a29716979c3908021af58d0e5265b129deebf0e26645ea4e36c73e90a7e744577fb2a482dacd9613abbd543c2e8834673b0d44ebe2c56f279fd9d2be683ef9369b8476952a99f51ca04b6aa1b221b72fd671d8ab33607b7913cff60a3f33b3251866a5674f9f46bebd796aea92179b629d99675364af8168d59a8315656d10fd81a2ad3c8291d5a20175097e0cc0d8f5680480eb664bfad4f47dbf6dd34ec3e58d62017ca94758360193bc7120348e8c239366f29c8f34834e956c7af144cb4463d9821ea6a790288f2e9a8de6293c7bce92f799154d18d23638a895a569585767cd9e41b09d0dc39e82854579f6d608176989fa42822e0e0c6c3566ea8702f5e20fc1892fb268f61486a164f1b40a7db4c13034f14c34eee693671429088832eb1cf2d087d987689e77227b0b8740e567281383a9a63d80d1a4d79fd867b6d31ee877332e6bd7a6d306c87b4945a6615e8f2480e27193b0bcad072f9da0e0e158e1b23178f65162b6179718d92e6f451fe498b481c601400034de2c9485c4eef4e925ccacdacbaa4b585757cd4ecefec44b83cc2bfd49e82a0b759886ee19ef72b3dc752cca9f543777b2bcf86235c379abe85d4f2eca719b06934d1ec4a79b3c792d34061ce8611e4660bbc5706eded265eca5ca71997aa85e7b7af04c3466e613066c4675586797b1d63eb34dd7d930a04b100fd7b88a8537a93659a6eb030f60ba9ec15e3d038d51350b460161020ef203f8bcd703c4f544f68003f16cceddefade08b78ccffffecbd4997b2cab23ffc81cebaab00b54a06efa044e95514a49b49520ad2ee0205fcf4efca4840d0aa67ef7bee3deb3fb983673d254d029991d1fe22a20df492824877ba5196ab4a31d8575a4848631fef82f748ebe4e75b7a13eb3969c0555ef17b7a8d93b8fa8c14b5c44a211e87dfe44e5263a5f243b1a6ac221cd83f5c93bf3c63597674709543f73aa4c7c13ecae5d0e9e810ef67f8adf3fb8dc191df5a43d59241b156e31f740e1532bd5fc94d959a2b9e335687d41e14505384e9708fc15868820d8ef842f8cc2ef3c22a45027b3f12a53f550cb6528469be4da6efaec1e2b99a7889d9ecff6e1d92c73e50077ff77333dec377427bc093a8275ed0d3ba4cc9da9e8f52fcbd3ee7240a37e01ff67e7e123f33579f25475bbefb2bb370c93b2d8f425cb85c04f4f744f3d113cdb78db228bc969563cbf87ea06fbc6fa079fa88271d9e9a75ac3257afa99e6eed7a2e75df6282ac999f389e3a8955e073b32b1ed70430f27f83be077cdbc1bc58e01bf7f098dfc363ed329f8b12033f5b9fad0c6a631a07736bf2eccea037b2b98a3523660583aad706edcb4684f05eb8e1eff4b93ad7acf99bbfcc63cc9f86efd4251f1d1200f4668a5136d0ac8a274dcb14615aacb9a840e0c8dff35eb2cb8e7a55f545ca96740341188bbe79118ff9c7dd17d866c7b0575fe0734c5ba449c401d37721872e85d7dbc37b329c5db0f1e958f11535413e2c948d9aa0500cb6d8a69f99d7013f0487c56b362c6a4b829c1b4a63a0811dfcad826c87b58bb09c5793e08626bba7b50579db16c4ddb16b63945cd20349e4d0ed1a6de1f71f5cb3f1d626f5366c2466dd797f1bfa9437f94c5561ceca93fd0d71089a9c6b8ddff1f3033ebf0dfbdf6bd772291964f2789f1c2d27ebf608f0adb49e77320d7e879d533dc2f47df399598ca2bfd9a75cddfca22374ef937b89dfd3e749ac877a406331ac7fb2870dcc587f3caf4eb7675a9e4d35da2851a507db24723a28d06e0daea18bc6d69d643cb7b2af0a53d6e3024ae5c81c2b3aa6eb2af3b92af50433f13904f2d7bbcfcbb5910d1be6c558df425cc17a61dea8c2e1ea242ce50b6ca9dce9ab924a050101b99472a7f3f677ab7b17ec51c7f78ce599a7b7ba59b77f757fdaf2dc3799aa6337dde1353e105a98b2dd31cda06f5ae3eb646cf42e53f2cd17f7376fd4307eec0873cd2275206067367253de94c6b78fd69e3a72be0fc5c7f4b22d48e6161ec3538a607a3223df50b28f5188bebdb0484d268e7ce19c7620d551d30aa267165e535f477aac75c87cbe48bd36882f37656ceb3565f5b45ca50a63faaac07a32b3298e4047e8db35a9c2a35feebbbddc274ad9daf8ccb509f95edd9a510a8cd5ca563256ae8ccecf3c99817d987b21fac632c3b5e2f428ee52a283cc5353602bf99ea5464b13b61e7db74e32d94b77991717a987e98d89af7253643215c4ed7a109da6f1396fb2a73c86c26bd8ad151ee7fd79ee9c26e89b6bfa4bac7bc837578c0aef8efffe71ff5d359b7cb71cbaa96bef971e4357bebd8f5d7e437d5975ac08f37cd060386bbfeffdc89d535d3073970930bfa054615e786154f8646de17cb7ce8ff51c3728719bb11ee70987ec6b4215ae5e7fa0843ca7df0bcce1da8e5d74fb05db4cbec056f8dcb17d97d3b3dda23fe6c4bbd31f27a3a4504a9a08a0f00c4edd2f668e7916fe7e0e1af308f1d5a55a1ae2656c37f54d10bc0b5d28c2a168f92934edf030cd727e417867f4e13533cc13be356b5a78cd632fabc27cb4d7f1eff63bbf352b665dabc63630c85fb0877ae7a2bff404008beb50b89e8b5987e1298739673e177fb485f32bcd2ee159db647e253ca8c6eff1debe4fbf365ed3f113faa626c00b8a6efef0bddd3baad61ce6f7a4d7774dffdd9ec274f783ee966fd39255851d8b9ad904788458cf5d7d7669bfc5ee8e21ae3dcfd58166af1f6b29623bbb5d8755bb2fc8f51d1d16ee48c7f67357dc67aab52b8ecbc1f1ee5e8e0e88fc77e727a16fc84b43532f3dfa70438af5f48056397f2a375171e4fadf33fcfbf19e14eb8675a526ddb8147b14e907af6a82ea49170c31cd78cd4346ae2fff868c8fa9444e9e65535d757b18db722399dc103d90803a6b282604e0180874cf7355a8580fdb527a5d827ede40639a27fe4d5d3b7e8f7959bba70b789eb0665b5e2678021bf85c50629e03bc3ec274d5ae3107c1938fa3ee24a871a00920a62bcd32e3ee6f95340f2574bba46348426e6913efd10e90aa5928fbc27b6f9947448ed241fb7fa60a70fdbbcb913da75aed781c7d5145421bdb64d7f39107cdef06fc2302dee084b312cbfca335c372935d7375a8262daf876fdbb16bae0a1087bfa9d3ddd00ff3d1de13e377847928be8cd739ee6400911364be9c10f66da959e7d26ff0f33bf94cb1478e9ea882d47e1fc53a0d3dc3bf5b7e526ad6bafcd207ef8c9fbf6cef193e6b49cf1e3a5450c9a1131c0df6067a74ba0f8ed6ecae0855be4de62cd19947366331f27540e3548975a1d0e91c0af98c1bb8a0ff0d3df7790fd4589effe66beaffee6db61db645dafd1815470368edd6f3998e87883eb66d6f7e836ddc598c6272fc245695a263bd15d3eefcea30758edfa393852ff7450fbe05b6cb92a6b4fbe7bbc7053705f3557bf7b65ee68522cc0b99217a1969e85702ef461c7d25f45d5ec7b454135e9fae4b2fec64e4f4898e6ac2af9679ae0aed7b2cf3e634b4599ae0b901d66c602fff3b76403776b036c0564ddd249eba16d1897c222b2b6fb2c95b5fe953c314782eb6118127f77aa8ce631d65a6084f0d8f5607a029680a64810d3cb0a37b3b7d7e12a551f3a3ffa6afe78731771f5ee3243233bb79c9a1fbb61bb60750c25f11be3fa152c52872ef4edf7ebaffe1fb63e727e1bfe5d36030fd62fb49153fbbb5ba6bc66e3eb4531e45ca9ca46b34254133c4a12db3f7e5d01dedb10d4f15ee92fec07c797bf92c084fceb01e5068f6fa6d8f752a230ff03b1cf580525a9e294fdcdcb57df0a713fbe3337797f44411aa0235d107e8377df3f72245cca6f1981a92e6884f13ee79530487053fa2b8cb15bdeaf80de63fc990dfc8a193b5f2ff1ff98d143d7a9727ddfe84f12a8d71feb9bdbacc13cdfe6c6538c53a6190a8edb7917df1d8076e3894bd4e22d951e6615d93ac55a659ebeca7e742c338ebdccb23553cb0c74eef5896516f3bea443678fa484e152e370b5b7b81759bb224d7d7512b4bbf358bea6462f924cff0bd442f5cd2b4c2b4d78974ec899b581276ac67d38d66cbf3d3b29d03d16165664693e2eba3984733b0771fcfb69d3774c91bf27b8fc7c1cf24ba72770ebf2ff0ca3a525399cc814133da447a4761fb7eddf9813cf42f6cb34da55e77c57c5a15f6235be08b7bb28fd296d70ba0ff773ae5b0f9e05fdeb8d1a9d6eebb9b2a4c8b632fcb2476f36fc8b2cd8bcfc6f4b7974fa025b5f569ab497c7505736a304e26333ced0bf374c4c75abb042d6946011bac6e5421025db0d5933e3abd7fa067f7769c4fe6bf44f0ff82554532e7dbb4ec6447d5af83bdebf48b87ee947e0e74a7baa3bdf7af49ab6fa59faffa56faf9b031ecdd63cdf44ea6f5cfa65adac1ef4774ba871c7be8df220d7646978ca22665fc65af33d444581e56ca08a833f2c916ae1e7c1c1973b64d4c56152169baf862303f5abd7f71c1dd624c5fb1a9fca44757c4b08dcffd105b1cc4a6d404ee2d5d7d86f93d29a269d0919ab8b927ee63148eefff991ea7bfd1e3bf34eba173b4ba782227d3d171fda1cb16de92aa34e1517c5163786fcd5357f2cdfbfe6f55003ed815f74d551de5e0431ccc95d20489d6a0526eca641ba2f4496f58777ba3b7b72fd4fddff0b7dd6d831deb7c34f5de16dd69346b8ae50f05f207d3a18ef5a861430529f31abc07a64f8de0d723ddf3179edf15ceb08e9639c17cc1e766bff8450e395ea7277dff36d2d188cef7fdeb3551cbbf6ca21b1e5fec82f9589ffbbbf162b9b59b5b1dd5eef7d18b8dac30d1c0fe395c3bff58473b0a336387bed6f15cee4673f945f4d677792277fea0568e649d2ff4e1b3e97cd222e64d59da1d9727d4c730168a12b3f204fee2eae71b914375c7fb5b1e43cfc16e64d0283eee8e8bc77bae49b34f74ba1cd0e90def9bae6988dc502924cf3f7c3d0659e788edf95932fdc17e9c0e7960a3e97ddcacf5b3a05eb71fc7cce6b92a7eb2e8324ffdd64fd8cd17bad38dd6b43ea57b46ce43834ae94d667a1f21e833f8bd64684e2ebdf5bfef59dabd937c1f344e35cbca3668ca9a2c7c65b2f75c9ebaad43fa6a317b5fbd4bc5d12cefb641dfb00e83ee2c654d36be6acd3cc7a4de7dbe3c28e23ab7f5fa4907df757ef6fe393b5b6e1c3b1a8195810726bb3788a341c350827b7093b8f005b3c1bfadfb62ecc35f4d616c6c4f421c7ef5632327184fb766916b9ff3211d01de624564e81fe4406c4df63ed82f93be68d2553bc0773df3eb87ec354b8a347c62d9511c681c177de2439f59ab3f74ba60aed9c38234d3371fcbbd14dba39b58597e16460871862be8bc4d7d1df3bb089276f6167f398e65135e0fca6a86b8141febfa5064cf636a2c6f02944c3399017c4bee26718cc2d9e3fae4f30f45c7c6f778c96720f789c953d6e78b74b02f53dbaee73e374bbc4b49a9897985027dd62e919343e685512287988fb53c4a5c5f518785b150e635b31b49c2dadfd5747143e2224661548c8f0fb004069d02ef6c791a6a869802bc9fe7605f60d94d0aabb0e31844731e37d04d371414d44be2fb5e30efbe28dfbe2c73d888e983244af078fcb670507d070c8bbd7eff9a5085038dca7d637c6c4fa1240e09603eff38e975e20931feee681bae6a55e8e7e3fd6b42b35be6f0db37b14657a8bd7bd7ae387b3b8ffd6f282e28c75eb2e9aff1260b8a14419c3decf2c8cdbf0428768e6ddfc281264bd806a235e5a7fb30af6efd2b58b6feb82e5de3f17e0dbbdf3f5c93b015bc470acdcea2a3856d4bf9ae266e71b4417f84060a08d31ff5f0edb405026e48048cd35d4de89b2bc4c9d1321bd4cc607eb12dee0a7b829d00dc0d965b24b168f01d10a77ffaae97f9e99aeefe690ee1198f75abbcc9a2726d89dd75cdd01ef3118ff6c070adb04c14eac0617a3b31fe69bfc0584c4c80dbffe0ddb4c64f8e7610bb5896307c8818b6c0f4283775ac999f7db3847eafa7ebc2d5a36e9e31cd532e80cb378d6b4182c0dbeb1ab057b3056563bebb0d83977db56b63ffee920ad6dc0f34c0cc96589ff6850329f43d96e93691e9f1588760d8d2d57fd6b7494c0c7c5a2d4ea7e7498331a6894cfc9e2f71a51d19ebd15858dcb156b3aa55ce2f51830a99f66327297390fd147dfb0af1fff3b4f3553a4c10a088a794e5678e6d5ed3c634212f1d7b132b5cf48d7571c045eae75ad1ebab667c7e78979a7a341f2caf4a530c64c8def362aa40173ad71a942a4cf4edddf318e21d9c8ff70ac11e5abb541ae21f87f88b848dbef419e15b66d9d8430c44fa886f802e3ef647493f352323f81f6832b072ed0d851276e65a3b56323e0bb3e98bbd0cf6679592229b718bff4339343d27f4d4ed9b6b575c7537e09f0ae74f557bc0a720fefec40353a2bb8ff6888ed2dfafc33a2a95cacd33df6ae7a88d4dfe790ca213fff19ace8f61fcf15993a355173b2608bcc48fff349e4549993cd9378e35bb43c2ac8e721bc6eef76d74b4378193d4f1de76632fddaf8ff68672ad19dedf99f2030feee6dc6066fd5acaa1fbfcae235c1324e75a2ce31e36d9d1aa23e5e97dbbe78cf5bdd5dfda69232ce86407985dc7360b9fc73202bdfb0cd6f7d8c9785caad323477e9ba12fdbd547f1b20aebd3ffc44edc26870fc4cdb04ce17df0f1d6399aec632f019db6f09afa0309fc1d3131e31a19694021caf3d38acabc30a89e715f6dbc3c57f43a57d3058d9873869e62fdfbb0c749e4d88e7914f1946fbe358b342b2a767a102bfa2fefc5f98d6b6ff2afe490aac2bc4f9ad9b5c98a5f934580b0ac480eefd074a2f3335d68d09d076bb05144a990279b0b4ad8c2e310d6cb680485934d124fc7fa6eda9eef71906b8887773ee0878f956ef07197d0e57d6fcd804e5bb9701baf6994611d772c4b4c06fc0854c7cff7f3d3936ea41d7a9e32d4a15e7587311feb659ec304b12b9a856bb673ae3fc52478e9d51e226bd1b8167df313f3cfeb21ee9ed703d3c4f5d95f0efacc44e61d6b93bdd836cca1dfb32f7b3c3cf7be77c06e3cd10ee8c4afefc0b63e18ea87b5642d9a2a06b8addee7de369bc7e762f86671c37b091f7a58f780e6f6631fada99ff3afc9587ebcd002e7248ab009b05ee4adf8ebd1a28356a769200ed93726da64aeb5a73dc134093d1ef2a735650fbd2ef2939e4ae8457992fdd618639fcacd8ad5ac4322877c8ea8596084c1931fe7902bba931ced8d70b46639d161c6639a9d2ff1a9f13ec10cba37149981c39cb3a1afe3812798b272833e540370f9dec327503d7c004dd5fa10aab4f5e1a62ae777fedab4c7afd0d4f5087674a0b96170c3ef6de9016531ac4fe2bb53569e2c001fe13e74851bf814f035ccecd9dff257a79b3dfb677dee57db75e04324e36e9b550df6f9851dc8159e82666e50cc2fb82980ebdfc4fe6a7c5c15f79e4753f9b30e879e7173d6504f277909bd6c1522d67be217e84245aaf8c9feea7f124c5615d72c0a83bcf3ed92d8ae947961e78b8f0ac7a0cab5be6235b3e8fd3fbd2f6dbc1e635b8c03ff2eb9d71adb07a3b84143a58a5e279abd7b73ec7aee89f51c35874633e84836a43774c98fdbf4b3f00c9a8238cbb22fcaf741627f79a22c57ac66afe375e8246b2c2bb94323874ee0714ee22fd96be7a75f1b79f7774e7c7c79a9085382d31ac4073c3db83ee23751d1e3bdc2e0dae94ccf7831bde964de83eef75c10ab2f7e9dc17a42619c01c68ce0b959c06beaabc00b017f7ff7183afe937fa8b515b02d7083dc85b10f03db90916b4b732f9c11fc4b4ae544f7e6f38e96d1854a1d0e7dfb5c81ffff701816db28a0db39b67c5538ffdc622acf7253a492f0d08d21115b9463649b394acc4812e499c4a16f14be5c77950482d791c4fd4d12fd1b4a8a4212e4581237344a0ea4b18035bb78a219b9fa22f7b945e85aee0d9f939bb2511a14c84dcc3ee878bc6fbec67eb0d4b566518b0b7b932704ab2ddfb39414167b6021c975793c96e1ff494c48308a9f61bbd5bbd0d9c3b60a6eca7d9503d625d9043e170cce9d2bc0b00c6807e83c95b11c8306db8a915fc7727fdeeb984f78e8d281dca0f34d8146405579e2ab6fc56091cbe548bdb050185de1a67f29fa1c70c30a13e3ef2ad092ceadbbecb7b4d40c7290886db7fc8438f678bf1f52a59fd3f5079af8391487153ff3af369748b63fd36dba66bd7b1962bbfa786ff3949a439fa324db52baed75dddd3bbad3d72ec7c85dd2a9326e7c105993bdafde57d59acb9b93057627732438d6ea2456a99f22a005f468ac302c94c2ca1337eb3000ae75c8fe0ea3f1820d04bccb2cf22608f3ccab6bcb2d1e1762cdf9363163e5ef7016dc133ef175cc1eb7b8c6bc9b143bfd6b681fa3715e9a3388193fec75b3a8d4e5c2c76bfd90db722fab891cf0fde1ba7a21e087e247d3ce796673e5dce6a85cfdfb5827b6679ba34591229c582e71033ff56a9721ee575ff743c6306680924da670f3e2c4d777b58959f047f3e5ddd69da48d5b57103718d1649542238c579ea775be4249dcc448e01be2675e845ffa62721462cad5177704b1a0e0aee85d03969f7cd2abb3c3b0a567adce0a57e5c3c6200fdff48e55e9faae84d05c6b6e8beb6fb5a9034da7ea36e6e1219e7ab7269f5704f9a550acf4aee8901f7271ec5d664d161ea2a93e6ee472b1b7e6695fd16b8fcc4317470d22c52c6adba4aef8bb1dac0b8a8f715153d48a1e0f63ac0134ca7b5dc7113f01596cd057ade19b6d2ae55ae377b1e2741bfaad5e810a846da6715ca2c1fa307ef6586719d92a29e1e5a6e70e9b07621e1b76712df48dd753d5c7f4e973d19b22bcdcc7fa5c5d912615877c9b7efe74cdb766efc8fbea750c7adc8327538a4d15164de510e7e45efc79fdf7d9583f10a236b6477505377eb3914027757f3d4f78b8a5131d581162cfe7a96fcd9affa570a8ece6c80ba9da36488e0734c58178c2585eeae158cf548529eb739d8f7c0718c4b15ed7e6c53c74d14ab3a5812f1feb94635dd45dd2f9832fa0526e304d0e63aa73d6d2cfdf5e18bd594d79c5bc671b9f332fac2b555c172e17f5314a90d7cb79863a6c8ec5e2b18a1e8361d037ebcefb8a91f5b6c4dfdda3dc1ff79058279ebfdd1bde0f84d715ac471795add715c12c51f8776debd1bbccf47929d0fc540e9d6c3c2ee6a39f44c7ec9ea3b77e3e7111a30b5da982c99282bdabaea85279b4a68575a1378ebdcfd404db6a6ca372bbee7cd3fa2e62d7e8aea1832faea65c834ab19d4cf2bacd08db7f1087b4d844eaf19f7fcc271fe48cfef1baab63bbb9cbf09437910a8f39b04f45971ffe67e1c05a8dcfbb821f438ea628e7ae007ed042a65cac3326dee49cda7a4d69c6e787bface3812f9952ee54ad60992dee6339742a6d490f9f7dc5fc15457cfa6c5b400c548f1e31d7e540a62f17ac826d94e4c0fac22191d31e1bbb43095b1eed4dac0a71ac59b358637ed4e1294d5f0d73a79e8a4313df0ef016f187b1533986784672c8147d461d05f3aa3c3778ea780e345f8ad99391ff82cf79e2a5e375a04e6295f9c4478565191487f12626f5a7e7a9020bbe85935e37ae41538013d45759e7bf5423dad0ad59e5dbfb8d6bef338fd92f3d6646b97640c9a11bfd8c73a65b1fe222d66c58cb9b616ee4bdfe59afb9f9d517ccbbcf05bfaeada2d777d7a05f314ea07faeb2ae38a863cd2e84de77b962ef3394b0134980a247500f600ff14e2993a94de025d098ed429ab061195d07d094cd5e9f1d7db8a6283fe975347efe39ff6286397d874e5e0d687f5e7817aada32d3b9cff572e5c30b8b6fc59ab33e5f5eb13d806d36ac4322f03f1db03d1f7ba959bab60c7ea59358e1b521d8f7ae110db6f10cbcae55da36be4b8fd6f4ec411ec3fcea4fe4dc17c878a4896cefbfe9f803a6c7cab565ea0bea19cc5bbcd53c1fe42e8ee2f69dfd30e0dd1027f7b959851296f226983f10fc3ab15ff13d536c6fb327fd9cabc253d3ac07dee561cb90c674b146fdcdfb8abb02ef454f34e36d32c7738be9ac9d970cd33bd68b92a3e5d3edbcbe4bc667319897d67f9c138c85352f5c9b2af07c3dfc41e01b4fbdb49e3ffb52a040ba4878812accd9b551de7ec1947d780d5eef016e3b846fa4c6f8b2f28679a072e8bf7b38a750e0d798f8d78328dfb0acf5c5080a9c43aea7308578946b9657e2ef9af923dc874d156ec7eb425638da50f47baa32d13fd977a58b6d0082f12c3bdb59e5fcc0b7f73719626326e53574ec25709ce0361fd7115c557b1c6ced87af6f78dd0393d4da1baa85e51c2a1e72b67fc6d03fd8fd3d1cabcdb3e9ee27fa437fdc6e7d0134343f673db01f5a9dba890a8739b05f94bbd6cdcf779981b87eaaae366b83daa826151b7b234b1da6be394c3939826d5a2f0ddadc9a2b53df51b5b6a34a5b3737fc36f42f5856fb82d98cae9f5085fb83cc1cd86694f264abb7d88d4633a47f034b2ffb1af3949f65e41f27a3bce33d0a3e6571f7f041bffaa79fdff561532666ed5be6ddffc9df2d44bdaf1eebca6d9c82eec63c5a87ece9d8d5c132bc8d8b288f787e1ffbd0ac3a56c49255c5dd75dfc5d7c47581c2a7d8bf417f3cc577df2563551ced4d1baf6fb12ce24bcce0dda269f6275c8a66617e37bf1e539e766d79a631a04bbe7bcfb1d14b57df22c773d37c19ec15eb82db64fa671cc89dfe38e9b5d6d6c4017e8c9a00b0c027bda6d4a88fef3dc5a7eb66fc3bfad5370f3929fa2fcfa7cbd836e8bf7f1ebeceaee75f13aa40e10883f136fe0db8e5f7af09b1797ec06cbc60a3ff8c93f967b869e25bcde3935ee7bfe1753afcb49a6e6e28ddfdc9eec4f6699b274e536a9b73f8cbf7fc11f3f68c2fc3b69617d537c7dae572e8e2b1af86c0062e17e44f719f7c80c5197e13969f791f0f02ff09a1db7edf757521c44ff6756e9f6392bb0f84f908b92e6ee3612f3141d49c9fe3553fc445e96aa04744a00bf025c1b4877eb7df5355ec64f82fcd3485a29773c0136cbc37cb6fd7c6f6d73e46937de34da2bf1f6775fec338edf71fc87c18427cf705f38ae9446e6a52d073a47f8f9ae9c95d6d2a326fa03777dff9273cc3dfbf337f7879671bd39d486523f9ce1caea6bdcf3d71cd3e636a8635c53afd5d63fcc263e4c05be69d0f3157e396be62933a5af55d15fcb1ed2faeb19cc4726bc877d9afc9108337c04d37f50ba68b60075f680ef4b29f701c2dd6f0da61b09ee7e9a4d7372f6e63c42feb4315c3fdbe4dcbfb5188137f997fb431917728a82d8cdfc34da6efcffc7280f918e1eebc3b4dfde0db28bccb0fc74d0af2679eeb91f4784452136b1cc703df49bfefef03fcf650ff01fdea05bf2dec58749f7771bbf7b62e40e118f45d6b7a5fdcfb00b35d784bfaa3d5a1de1dabad79c0d58dc5ecc16fe1253f1c9fc89e635225e2cbc0d6e3672c688f29ec6a2820ae2e403fb50779e9782f7698d2e1fa5c7e5e1f3dac3b1fd5fb5aa40a24ca2486bf6219d796134f6027dbb4243cfb92ddd7cb4fac8bb77c096c83c4bbe43fe4cbb4f13992fbf3038eb3afb7f4b035f5fe1b73fced03bced5877686b6a29c29c451cc90de96285bbf09cfaa21c78e9061a0ec96dfeaf9a809f18f004afb8abbad1ac88e4a8935a696d1ed28e3d821d50e6039c58dec63e59b94105394fa5f2bd6f9ccc28c2d3bbf7f1e5dfbf09b01f021f415d8aa6be112c68578b692610fc6684f50d4ca32c915de43d5053e7980e346b57407db20969d670b4ccbb66addab9a9586207c53794c4d4975e2763ff633ff78567d01f489473cfe29baf5f7c25de9d4eb0dc1ffa6df06f4de0b19e92c8218f65f4dd61f8ca35fddc17027db01f010b4ef2ab5dc8c772cc32b6f508ec5ad049492d055615db22dec29fde851afb288dd7bdea5df0fbb2afef9bfce3f7bd6ae62a7363b02d037cafaa9f9f9ecb261d06600b8d64da3c9bd177812dc20ef3b33dee0f189fde4746621756972fd2613d9eb0038a314fbb22e78e2dcf2046dbada58e3edc4baf9326aa407b3e4f11acad1e3d61ba7bfd3b5101e3b0688e16db1cedfd6c1bff806118604f7ab94553454fd3f78c5605823d726c3977edcd230ffb519b6a47b085bbf4a4d7dfae6556a6c0a6aebdcf300ffb6288beb8bdecaa3557773a159685952ab8d7914c7bae07f7f0b3034f7aec49f0d38f64c5abaffe39678ec4f4acb0ae0672a4b3cd7b79329623245f132de73dcd6cc381ecc13266f9a38ca97e9131c3dc720fd1d41c85c195c817cc1b7fdadbb2e7f214fbb88ebe590cf8d16ff8b7964a991797775b875c8d1fb1e7709ddd5f9763da38e9758052f9e6df1ff266f38ff481611e21a97907f88f21af7ec10ecb8d3741789e9fe9e3c79cd9a341dfd4e4918f4f72d8bbe2f7a37ce69cd4dd0b724c2f3ff2efd6563d3078bc0de54da4eca847856445c37ca48f93651688399c49bd825fc61ad5de8806f51116afb93bb4bf384433d988d0bb242cc85c639ba2dd3f0eb7287d7b4301fe4320385c496013498829d42c3abe7e76fbf8f72ac53a489b03d5bce08a7ed0c3d0b0d68eb82ed09dae06fa54a4d99f4fb90cab47ccfbe1336afd52e39822e4f92ce9e0b718a77b81735d1dbbae7e5da9590e96d96b6fe2c728023c43a6e875a659abb7ee998ffa786bd631e60fde747fc4b554f1c01e9a2057ccb2b08d32b2988dafda8739a2cbd2fec35ef24caad4ec0dfcaf087bcfa1a9d2873db1c7c7be7d6376c763813ff127de1ae3f10bd6e5f1ff25adda1b3c46fe5b2e89dbfcbc273bdcae73a1238ba17d85d97b1ec9f9a3d5bb54f877a815fb231d2a7a3dd3ec71fd379f1ed62b2b1352c32d2af6cfb9aba23faafbe6bed47d8b0aff4287ea8f7a0699bf2f9de6073299019d805f65882e0b5ba7695574725237e8706df3ab06b8d3279995f00d4ad889a60757a8798c65ae302d3cbd8a14d1c915bd0e5c3db8aac2b9901b94833f1dcb36a1e70fef325d4e558b8c63eb3eab0ae0b31cc81ee79fc81e883be3fd6ffe0d3f23789317de95030e10f2a01655873f1beed116cb7e031a26cdaa07f2ea950f7af7ff15bd94023cdf0f32fc177d95e4ddfc9d2c1522d6e4822ba9b9f337bcc8a4e7270ea5aaf8c95a3435c03d613bc3cc1cdbcdbd89d461a0cef87bf6512d1f9679a599e55515627fcbc88d6bf1dfdbc135235f73fac9ee9be0aa1863dc94246c6235da68e66176d89bf2d258b14b9df6e5037578474b5ac4b4064db7fbf107b8aa258de72e3e0a3c83f5a8ed648025fa4dff83987ddcdaba2b56b337d8667ae4f90346b3a8c778b1e9b36dfd9afbacd7b966ee32af6ffcb6627fe44f615d3cd908633cc2853eaa02c50e310510ab0a83a0c7771ab34411aa36fe1fcf4f8fd804e05be4d0855a61e47c3477c3a0786043ebf9a0a6697f6d5f5faf1d1b3001f8da3186a0bf1ece1b355cdbdf0b72c2c99caef6209cef6aea458573a7e1de5646e45ae2648f9a7a51e1b6e71f63cf3bfc2bdd8edbe976ddbdfd6f55905ee6ec28e26f6d7569c04d4c1339d9e0f902f9d5cfede4c7efa455110d306644777c5cf78a31fb32a840b2775737a973c4bbd8360f5a3f28d6fd265d6de70edb89da7704cc0303b120fcec460edd0bd423062c44870ba558cd961239f1e7278e87b17afc283e9e1e72757560251ddb5cc0e32ccc4fda86aef75d1a9318b835a32037ecc7b1f15e40891cfa10c71abea364c371cccf1afff19e74ff9ee3f7c7ba10a3d9f1fcb43a7c28023d3f09f2fc243a792bb7fb7c5dc02070417912ebb0c3c923be8c1482456100b372a1df1551ca7fc8a9bd2a4dd0b4b5351aa8adf14b7e671f97f9590f2876cf32e5dfca2d8d0ad7a077cf326194872b1c8a2e6607b827bd8e4f7a1dba5610f8497c43972c05fae1d03fb5f398a3654ea0a702d6eb5e690fe24aafc737dcd701f46590d192c1b3aa105fa1d6f3c3373579f14de9afbea9712d96111e8bd885afbcf2fa643fe69a351de0b424d60b9f7d8dff18eb4feac33d6cfbce86fc394fc318d77878a91d41532c02ff0495a13b9b5b93cf9f6b45d0d43bd6cd9ee40496c1bfe61c6b16025b87f81783dc150e039de8fccfec71826f56ff48739c9f1dad3de09b7ef245cacdd8d61ae610fe928f7e23351e467ec671aef32fb91df264d1b4b118edd15f01b5359b66816799aca28ffd6d80d7161ff58eb4562e9cc4baab73f4af5e8e88502f01aff9bf1ef2819e9fc4be06d3bcaf2ddbd68427f5230ed7a31047ee58678cd504d605726f5d7d16f862df9fe56e35fe54b558dae7e89b1bd2a377c67423373edbd66e23cf31fec97356ffede7e0bd3bcc9d39e9f5a5abbb7398ec67de98aee87faa6bb71821d6e766d3d6a733539fe3020f3ed9fcdb34c1f01512ea59fbae7d4ea963d1f1498faeee6441efaccd05dbda5d73b5ed64500789c82eccd36e9e70b842e3def09c9a14af1b51bcdddfb3b323f8957fe02f0e6316ae2d075d9d8e2ec75f1220bf3082dc0f61f1347fe6799c2bc25f5d6e0179c5920018add0d51777df5e400d3f683e6c01d60d7f5f2c896e8cd20dc861f021f0bdaffc2fd4acd23e47b4a9236ce377380990bf179652931fdefd9237aa50b188fb4d6e455897a415a1cab13ef93579e46e6f93686857b0aa706621a76b29fdabc7d025fbd84fe28b6b2ef22fc12c0e64deb1ee91402ddc3b35b0fb315dcfdf5a1d69883b2ddc273fb27719fae3faba47a17678cdbd26358777ec4837b3d66fa3ba99dc20f7d89897de230fa1ab29fe7d7cd4f67b57ad810f99395f1f35b1cf7dac62a833baf779d7db837daedbaa35f8f7b8fe291eb3cbc9c2cf6a6b1ee177686b3be559579fd7d19dc409e3d262645fd3bbfa9775e00b87bbcb9d5365b2fe96278ba9ca7da60ab3ebfeae141d159e595e6c83aa5481f65c9a62d75c5daaa99f7b42bd3c0ad007827d9acf511d49ff69fd9cb6debe2a46cfdf4feaf033b4e7d0d836ca27dd335193cf5481c2df5878ab4de658b3d435e88bd2a042e2d0b7dbe6bcec0dfa434acfe55057922ef953fc765cc76a5ce3a5f7aff3eaf3b9613ea5bdeee3781ee88a24afbfbd86f8f8e8f6d863cc916c6e7da1afd7e3316caaf89117611e2a9e4774ff35c078832f575c145f26196ba05fcdfe49ec6f88f5807cd7dff4d4c1f71eff745d32c8f3b4d73ffa81e4d07dc6f9c49d2fa8e58977451fd4a58b41af277336a82bf3db3c7acc6ced317cf42a775e6b441a5c00b9fd58ef18d6a0d893fab8500bcc6882db732e407fcf4fb56c7ef5b9cc7fac9bf3f0d744c3ba8257acbffe4d3d8d027151618601a58ae5037370c97ffa963799215804ac5b3a967cf7989af685430a350927bfd05f571350a4b1ec4f5d9bcab75576539bf519312c8d924d6c5858c6c6579736756349f735413c2bbeaa497e871c91cfecfffb8f34ccfcfe2acbe6bff2ef302dffeb5264e93feb9df9db5d8f369a73f6ff71174d86f94f75d16498d9c794fecf75d16498779a9ed034f33feca28997a06ba2f97f3d34ffaf87e6bfd543f3b79d3e6ca7390f24119b8e7bea4ba72b94c4579fa3ff420c7b9544a7562f9fd735b7f8972400cc8076a02d15757318026f56ad32fed2d90a58b7189510be4f77e5119b0ce1e25fd28a964d6eb13e62b69d6e622e19a627b31d442d73f4f8438a16a163c9b1c7b1996bd515161312479dfb54a6cb20b56ed286422f5438307fc221eced30894b27610b397442d4fe2d5da8476a14bf9979967cf3b8590e506d7b7f431776a82204a31485ee3e8167c7e27535840506f8797fff4e6e40c2aa1b0aa5e6c517d806abddc3f3d2e0f7b80ff37cf03d793fb66353453f2ff0eee376943e3353a18407f406efccd05728aed3964f7f1cf7637fc54ebc18bfc32246e97ed6bd57df6a6254eef84fd70781629421b82b97bf96210e87f3fea771f782797726728ec4fd0d8541a00a523e4eab3159059b55cdacf2ed4da626c424560408570cccfbcd2845d266da740c7e83693b7039a085418a8f844db57acbac7f86e52fcb8bd214b973a1db367be312010e4dbd7d4da8f7115c9fd9f8aab08ed717f6b1567dfa4e102a7a15ac7f2f517251ecf2d4a5ed0dd2453247af2faa2043b8f6a447efff783ed3f5dbe3da165a6af6d7e62ed0ca03b6ee3226354e558957aebdb9a024ae307da3067f43f4ee4dfcab4e54dfeedecc097f87ae3bcdb054cbcb7bcc809e9b7ffe1e0a5ebb06604403d3887f5aff5f9e437aeaf7b4e990949ee06fd296305d0ed296d6ff93b4a500cc5a6b5d38363103c1f528ee6707e0bd7b05f36ecd2efbbefedb506af9b854f8022bf9025d0cf99724ee6fbab82f3d8eec9f168a74d14cb66dd3bb37f0331c6b97fdb02f3e00f60ce9a7336a7b59179e105f8fb4d978e29a407c6df3e60b26d0f3365cd590061d4685bb1ca5f5b5cfeef968a835d21c4d1601c04c04fe8eee442ea9baf4ede845a885d2b71316a1c6b17724f0572d94dea55066d5a7b415a73379048955e969a83633cab53714e6db44369056c35258c79a5984be28d3ae2e155282d76b134b31b8b6497912c21f133994438f610bd7e2af5258279a252572b2be0ebefd0d7aefb7268bc2b1992fee2b749fbfdb1c8b54bafcb2c57568ebc5cd6d86650e16a56395b181c76946f227d41ea98a2c91af7471b466df921034aee5b03627850ab3fa96e28acc8d0e731368a10c74332c8da1407b4e19781396899ab5c2df447ea7f5dc49ebb99474ad14a4c20d6356151c568f379a01505439f7123f7753e02f709f2aacaf1d1d28763d97d2611ab134d86bc3f4c980f2ac9af7d23d36df6234fee6f3780ee789caa0420addc0b33f3fa4301a95e5b6f92a6ccf43d9d06de3d6bec552db4682b40ae2263964eabdbab94d15ca49fdc3b9697bce8773273d4894f13a7e29dce75f8a7e0e2d7a8ad72fdc869fb9d674bfb3f0c497c86fa6dfaa49fda518f3cc9a94ac45d7becac3ef4865e874582208cae810174ed3f29844155071e41e90f12f701f42cb8f5015caf8cbc893471a01c2fc24da2601ab0a19eb3433f86ef700f2fc4d6dce57258c32c5c8ceea3dbb4961e0d9228a6cbdc8a54b763e7170fe5de2e6c5f14ee76df8155a034ba154784b7c0ceb794e72d467dfae3d9cf7e02f9593a2b5be6ba4302a3ca3bdd660238593f1b5a12a54b9c2ec3209cac217a1ca49ef1227e5db500a5561ca1ef5599b6ac192d43192d6da9e9fb32e770e3d8b6f8e8d541cf559ec25bb6199976f85a1bebdb0bc9d205dba08bd5656005debe770981a3fd2ffba14edfbfce99afcd45da3f469dc1129fdd9b971d3566736179877503ade8f17bad583e31de8d1abfcee31d37c5bfd67ccffef6bfa5fa0e287a7e66fadfee78b3b639f9e4fa793ffc7d63efdf19fb2f6e9d90745ff07ad7d7af63165e714c3fe8facfd760d3a737f4afd9fbdff7ff6febf61ef3feff187992f59e30c2ab5c9142e5c2cbdc962d67ad3cfca6a9d4b4ba95a1bebf39e616f2e53c7d22abe3acd145fdb9bf02eb7804c33142ea8a37038efec45e030412cadeadc61cc2b620e85c47791b9e9791d4e2b0932d90e6729eaaf0915a3502431bef9faa274ece8ec252c2589e6ddd51790f526096eee0987b36b0717d75e50a492dce6e6d98be2684134feec333175e4c87b18427c71add9ddd5a78ac40fc66564e8a2dd5663aabef4c5cd0d9fef5904fe67a648dce719ff3b8a7b0a2db39b3af1277e330b90c05f8ea4327baa32dd37987795aae51d656e0fd4a1c4dfc99db3b369cd0ad7debc56c713c0f4cc1d06d4f9b327f01349601b49e0539498785e29af017362829298c22aa9ca2dee1ee3523ec337ee2e3bbb427cef230cd6ee0c62cb96cebe309affb64bc2f85ae8c86b4dcf52c41bd22a36a470c1edcc8d7c682a45e27dd95c059a69eece26c5eb8788df9aab983f340bed102e9606355be9e65e36a89921ad58415af15b4b5fa8fa61b652b9457c24a876bc565804de51b3b8216c1ac15a99917acece07c68c25719fb9fa839624c1bd757484268bd861e2e468adf1dc5cdd8919b8cce1ec3280a8b8828a2e2e6294d0399a74515ffeea7e66674f88cba3bdef9039bfcdcb15afcf0ed3804d227112172c15fdb3592f3f1969e5df3cc62f5c7d217bc91aaeede9e365aef9cab136a36f51b985d5995cd252baae39a8561f4b9cfcf8de30fae0c2c5cc9b1cce9ec5cfda28378dd78c64912e92a355c792604e1dc6acdaaa181035f78418224e586df185f3ebb7850bf7312e1b4287f97011e03d8344bc0f9c173a71ec9dc28584e6b12aee8b9fef6ac34efc09ba3aedbe86cce7862dba6f400dbbd60f1bde8837bc6a48d735de37bc79f50458f7c6b5791a2a4d908a6910a13b5a241b5612eac027b411b81339867985ea8fd3333175e3abdb5467c4b0892ffa014a0e8a24ec7362a2016a239244302b9a575ac23ce3e95a019b18fc55e2e4c5a159c887463aef22ded0cd75c1850b5b37f792419b0789f71787585e18f15ede9bebb3414be71dc56ef7abf8a01fd82dde07fb70b130e2e8ac53f176cf5567d78aa9237e0fc19c62f3184dd6676f229d8f16ac55ec72980f6d62c2cf46bc26c1d7c15a889bcab536b99bc4173c375ee2d38ee5c792e0dffcc46c3cc8fc00047a79b43777d235611178c94e91843af7ac98ea9088bfcd8b7acefe52ab2cfb43d589c0d183f4e95803d5814479f6455558e535daeee49944a2eca162d31752453208b1897d6c66e34a43a2546c8ccf41b76e7aaa7072e531752185f17327bca6450d018ad9156352cdc16aa3dfba1468b67405b51c9b96099103aebd8fb14aff05a8363efa32bb0ac9e7d0838c7a89edef33d8ef6d9ae51625fb8a30fd46e18c740112cf8564ac7295e30bace27b5035294ae4047559d8dfaaf878360ae3b672d7193ff7c76ae6aa5001e2680f957a6a4633cf6f52c247eeea39d35c0ab7a11cf8e21eef35320e2715bb0bed688dfc6b756ee99285ae60529807910cf31d9852d6721ee2731e330d49854eb9e51d26e5ea782eb26b3bbf06e99411a75d16fbb1a9424fe0dfbf7429df3266811813dcc05fe1ecd256ce68dfa373753989c1cd228fee2aad77f4726025abb8baa91c7896d947804fd62600f4bb2063139fddeb4e82c2737eb273cf8fa9cc0b0b458af69ad1a327f710c976ad5dd8add176d25ffb1b9d145f5c15acf5e8e348978cad0757a5910b3c8e14d653955bd5cf557c4dee9c7fd187444ef8e0a53a1698df88351e11f90f875965ee9d7dae08d557f94117aada4ea4b97b2fbe9589948fb32451fec51410dd3685b874017d163c8d555cb11cf5263285e8726331be6feb338274d0836f75546d2866d5e5677ed2a30cd3651fb1e662a87afd7057176c6fba8a193ba8645a184bfafd976efc5b4c2f4701cf733dff0aa1f35cbf9e889267a6c0a7a43bc13984eb388974cc12ebb5ba925829948afd058fefc783eeb7f75d1a1f1ccb275d9a39b97539ef4245af0bede0f45903dbfbe75cd3a9d25bf69d4534ede07a1e4f1596416b6aba699ce651cdd68ecb2fadd9f84a5cdd506a5eed0931d38f963bb3b9d95fa8099046975f124d5c33da3dbba861966bcdeea6904c1657b14b4e33bbec0d29dc52f32b6a2bdc1b091bb98faaf9cba310172e1768589775523976ac926dbbdf9b80c05e9da112fd61497bb65e6f34b3f4b79434725b59f77962eb8167870e6beb45aec1dfaeaf34d1936b30485511d377fcf1b5a423d7dadc5cc1340f510cdd003d6686d733fbe2a20f74f9fd3c0aa30f29e1695f601bdf82f054a3d10756d2d92febbe48bc98ba1df5d6452a9ef36d2817786f613e8b2eacd47580f8e2a27729dd7c1ffb313eaf4834ef472e982a461602ef14e4c0618ab045af6f1ef7c6ac629485667c928a5a2b89d58795d29635b76d8a6f8f8b9ee516a9f67bc734d576f839f4a8984c4a5b373f877918ba7acc0cf6be66c1df314ae51bbad0a99ab0d71ff9c773a5b7864f4f629daab0b6fbd981543d49e4707503f92298d14978c8a2876b193df3d9f9890be0b92ea944c7bacdece625500586fcdd3e835456312f1dda8c7439a84ad55c1787493d7f91b33c74a42fdc66dced440eddf4a993c7a3530d13e49eb0cbdc262ab804b5cf88593c67445652a12f98539f63ff72303d339be6886db04b99c29ebb5321d848e21aeb8b1757985e8fe92672ad3af753e9ea2526a5327ea6329d4ecd5ea0038bfdd88f3b810eb03c43210b6be4dad20df4fe860a15c6bc3a0c1bb9a6a9eb0798df9b07b231902ca6f615bd08d524bf4b97720b682cc66cfc1554376b5c3d48d5d5f4ea26718326fb768fc6aca2b7f71a83301ebf1ed21de655789f62bac432783708e715da4afa509ab2500e4e4be7e7ffc81c20a6ccbd747d93c232f6929ff7f0812f0b5b8fbe252c9b27eb50314aa1db5b5282f5f8c57d1bce6f0eb30714922b98c5d1761b3599c53ec7a6478e4d3d864d3de1708379d65bd7a510275f076c376f28b21e40e38d3ae0a36ab2b9a346cab7cd28fcf8aa3f0a1541d10b55a019f4b4dbbbc7dff66e52e75e52e06ff9868e0a4b2a442d22ee2898b1cf491f5c523cd3277cff96a9bed7463dc5fadbb1e9f7f9f768bf3d55325384ea7bad031ffa561312427169c8aadd9230b17975576da720a1c84f6db8ed6b89f9474f178dd2cadf7d9fa1b609b4277fcb532824f8a93acfc8bd1c2f749bde60db64bde759f34099276c8f98ab786b1e78b049b07ce910ceeebdf8937edf00446154b572d0319564d4617ed3ec302d1c48173052cd3d6aa0aadc0055ef7419bcd0b16c9339b6bcf0b9733dc8f8c81c83feb6988daf186cb00da54aba54acd338897441a176a12fda8464f1ead60cb27dd1c4ecc370ca7295ab4b903b34094d6de6274e9e92bfd76f6db75919d30c20542db90d47a16c1d46c5da70a08b27e96806fb87bcdf180e91f4591ecb75a325873e534359ae182d39bc49718dbe969f583f47b6780e15bd840e5c87c77b328a51c69ad965e8cf1294b0e5ae7f2e7486fbe0d22e5421231bdb23061d9fc42a54f5c7dff6f0ef90fcad3570fd3754341b56f517069d838535fb3207faa0922e47d54a5fed3fd05dcbe7bfc4cf0c7f9bcdd7b475ff2cb78755b94f56a51bd31f1b919edb7c8d6c31f0d61c35dbe9b4e0e87462db4573b2e11e84ef59d3343e3fb1eda25297327be2e15c77ac1e1eb3f9fa6ef3b561db5579e2cb2fd584e3be1456a1db483999c3d26f33fc034d97bfda75876c7ee7427b525c84b6510672e8863d9f8ba7e188970b2bd631e6f5f6f2591c97f465b047034d3863de1df4151c0cfa62317cdbc58045365f86aeb899d83a9babe93e46935de6e951ee840436a208546f1375ddf65d2e2815bdaeb6ccea7b7da9333974ba35bd58f89849bd29e227be8efc8ea95c1556df9a21e5dbf493f50c4c4fe45b2c862a104fe5dbbb436be9627e5aae9af5a52e4f62956d2e877f21b19e6f8dcfb967d773576fdf892f0755a0cfcc46af4bc5aeeeebb0ee8ee7d0cd6b1955701c3f7f194d9ec6577e196fb669ea52d19d727d5f17830ad519e2aa7a7d917239a4ee6b9acac19ed267776caf3c573477c6dd67f07a968e5954b65dcf1db3a86d9d8ead3bef9ff4e8c3b9d39e6d9419d002b1a702ac1f3ac6b03274f1ad30abdc33e818af9f2ad078ccb96605dedaa4bed7069be1f1b4031df8c2f9ea59fc5411e05ce199a47a770705528433ebe911d13f8515bb063a7974f8c0faa7a3c725a643c7a48a072d389907d976510ecf37a97f91df4ea290dfdf6b6356623b6844af2185ed9bfeb71b0625a90c1ee55b46ea750a1bdbdf0318849ae4373cef52288dbb7a09e8b9226d403a221064325e47b0b779397629738ab873a82ce7ef784fe2ff2d7a86f91abda3319f335776b7bfe91a21ba4607bcb6984fb4c77db35ca80737502da7528dd8ffbaefbb3d3eb5a896875c3ecbad497facd3968ff0055cab4cbab167f4d712ae99db7c95d97cf566ddb34033e9397eaec2d748c1fc21c6bfdbf7033e6c2edbeb739bafbf20741d568a94a010e05d173a78f0bc3ac234a40a67c8dec034745cd6215ecf3ea42e7eb28e5966b651840ae1c99586ed0d230b6dbe0a4957905626dabb0cfc416150697a59a9e98676d28ee79f6b456fcf2de95263f61ee229563556ef647c3a51c4cfbcb3c58f4baade32e7b93bb07594a6cc9436abd2e5cb8cd0d1de3bf214ab3465d3f138cfa0b3a76fa9348bc7d715527826efbc9c674a5396a4aa07b65f83c062025fd3256ceb02fc0af37ee0aff6e7a8eb2764042fa96fc43dcb9328974317be0f5f43be8b827952c8f7e6ed7e7d7abfa89365f00e983fda21e83e81c59cbf490787fefd42a5af2411a71ed6e30f50f12091a3554ef6e819efd14c1324326776bb867a1d3f7f8bba94e6f8d8a35b8f135a4d2b57199833d669824a69d75b82cc383cefe41ce246900fcfd1e9f79d4e1f6d9d4dc7dd9db05eb5629d9ff4a72aefa13b56237d777a839ab88dc7d0cbfe7a3d0880973675705aae1b6cdbd8bacc8ebb6aafaec784cdbdf01c82eff4b1e71bb0550ca8e25e4307bb5584e93e84ce1d1d2fa3a2b97329be152a1a549ae23dbdad4ee873b3dc6566379498a4e3abbd62256c9b5bf5ddd517b91b9e6f16b32abf46be81dd83d70c213434e615b0ef03d5727b3ef1c50f8f11fd00f8014fdd5c262a307f53f4f803be6559c2b774d5294e4fbeac2f467adf7235b5bd448577c9ea355733dbcbaa5605e77d6d4805c2c72654e11b60cfc9788e463c6259ca2d1dc98a5d3ecf45ea096ce8583564b77ab659f8425c60ddbdaf2cbf321b84d780934265b2cbb79343cfbf316f95c23255c45dae34528ed7ebb18e5091bed7c37c7df697c7c4578593e7521815c898872e13619d337df6911378deee498f7746f036a7ed186a828d04fef45a33e8b0cbc8751ed0b72b81926d880fae932382c472c96a6c3b2fcb70cb48ac13ceaeae1d5007260e3d88d360db4ecae1dca853e98cf2a8fae63366b363f8bbab9fdbce637288083f08b19eeb0911f02c278c536bc2fb9a2e232f948a9d59d6dab2aa6d836e94a680df4a53ccb5253f5f9b14eb607de34197f7763c0abed31acc01811161b9fdc8a60a8350b3766f4e38dadf08c5f5556bd854e5e01df26df2e4a36b16c8e7ebc61666be02d74967bc5e2e5de2f70cd515ef21a382f74361dd28773a1cc8a38535597d2bf76abeb6e1bb02a5b5259d3b7503999cd60835f1d56388dda0dd73842655a4e8f3c2bd030db7fb1cfeaec16f160294baef8ce718793ad4159ef6e455e6e6b0c75461fdbe7bf2811f1ba0adc20deb8b0a3e6a0778b36697d9365915de32ab55217b6f3b6e96db8474d1748c3cc1e3b5c7f36db22bdc7b0e70c0935e5f307f5405d4ee8dde879daac2eaea364f5d4ac50c6879c0db22cdeefcd97582f9d9135d265bc661b9c4b97a8939f5f94dee800f01e5bd6d140ef6835e471ae90675d198dd1b7ef7ed654d7ed3ebae227ed266a25a0049d3237c5db44d865db87720d3b42e537a9947e30e7287ccd1ebe8c9064f5a1bfc112730303f8a0a047ce90c760ed2ab1009f5558aa9c25f5295ba02d912f4ba9c80f29358631aa049d5a803e6f5857618f07ae630f7404feeab0aaeb403548e2cfc3b4d5bd41e74a32e1b5a1508df937a9d06f6e8c33fd1c425e1c503fb07eb4f74b91ad8ff95d2f24fc4c59976d861dd9b7298738678d0bbf1b32ba886de8e43f80d85657aa90953cc8b4bd2f1e5b3ad3256ff344efe35412ce28bcaee2a1e4de80cba9ddc29327761cc4a7a506ac661aed968a40374fe45cc77fce649cfe12a5ad1e3f909f8447f9c5cdba77e046d5c202849b758c44a1083c07c108ec3fc6a36ca4ff627eb2f0bc5e70a763fd0f7a042921e7f607d0eebffadddbbc4df3aa8a0816d4b513bacbfbd41ece9c8170de8872b341cb324c71f7eccdd9d16558beabf5d31ca099e8bb19fe5906f992243615d2b93cf62ffacf771f55281ca9bd2f0baef5d5397eacac97cb00f6bf0d729a25420bdac140abd8cb36f22cc5742c5a66380530b9dad13c073fd26c6349e6a96cc76fb162a0dffe0d37ae8000ee85c5d073497c3b21378e337d91712de1794660d62498c34f7615ff410f7ab66b99e13839e70b5ee1be20f100ff98007c59a7d788947b946913b74493fe83f88159362bd4b79d5ac19547df60d2a94c2f2ba658a9fba78643e8909d49d3de8855171a44bda3648ca8862d3fd39952ed19aa3916fb9899bb8beda441fee9d6e147105bec7ce0fe85de868e89b7c74071af9be1892b2d4f2d85d8ee72d2176f7ea8ad70d09757c20b0fda8d35bd19d8d7a7f4583d7570a558efd02f9c5f948a6abb4b32b65bab31b4b6c4b1af86f7942fc42ca72ce926ba85cd1339075f85e9bf3e73217cf6d4e46525c85dd5852fc3a96948ec792e2c758f85e9b93dbb1103ee6d9780ccef789ce59df6d7ee3f7cfc672168f199edfb671f985ed542906fbd5b3c50db183e15c159eb85d8e65721b930965ba0af1b3b7c9aad313d7907ef38fe6ec7fffdd4e7c7dee6d7bbe3e8fe64d8ffe82e70a8bb9cc45b9dab4b07d4e4a6d4e3e93efd8757bd30379104a854a4fc9bb348f779069a20be17756c376dc7efda4c177c9a05bc17b70d35fe7d1e6a4149e8fe92f311b0732b069a34d33b8cba1a3b89dff852f8087496175b3a3c5636e38d93ff130d6e839dd77da7de5ed35e61d99636fb21d7467842af71f0e54e95e5d9d36a37e70ee4d59aee6ce782d2f1e43c15a4a785ec2f585ccfbf462db15fe3b909a754b93d9456a3630376a980de7fdf232e7c9e6e6e930e7301efed7c50d4e442f2c4ec22cc272f224801c9d93f8863c3f5aee5563f6b19b621d6853f8d63e3e09f86f738e443970193a38118c5072026cd50c74255b90c1d702eba4bfbe9f2a383fd1c4bc7b3fb2f633a4c6d54dd1f3b9cdcddf141dd604f90ded2b4037d5cda2eb896a52df8a5ee41add9ea3abeb913bbf6d93608ec4c5dce64aa434d1db892f03d5ce7d5b447f29c6f4a60a58dfac7d458fde5dee41070ec3964007e106d31bd1cfc3075d498d8ceff9c0b2a2adaeb0f418bac54ee0f5767e98fb195269fcbefd9c0c9e5f273fd180cdb14889bb7d96bd9139c991daeaf05cd2bf3fc87fe74e0750f98931a7861053ae2d079eb8ee7872aae9c1453330cd113c8f2dcc100aa55c6ba42bfe6d817fae4688a6c22d33fc863af01254a2c44c5dfb1caa03df9f0d7b62f665f3d5559bd49ed2d0fe892f02cda458ed4ebde1bd2c4daa5833d8b91c3a6ff87f9baf327c5cb9e0f3c5b7cd57a56dd073d598e173377ccdf692bd9d96d51cc6584effa5dda770af2a561ff85e6d527f026f9bd4ff3a89e51cfc777cfdd53d13fe2de7ac36a95b7dae860a9610574ff7b9979af149d8c78061b2ebc89bd4a0479c0437f712bef0c478fea8d065dedcb4ee6ca2b92f048d37f1e7be28cf4e62971a1b235b5cffa570d2b7c249372243a6372594be9da6086d3d22fc2b6447fe47292c2f4a2303cf6b7fa74a23e3ef996e0e0f9e477c95f8d82e5498f577cbafa79bc33a5418f42d75fc128eed81172bcd3c54f422547429b7f59855088f021d1c35512227c33db89f214e2a1c1af3cb35ab90b42fa826e2336ce38aeb27db6f7a3e719f11498dc2badca88bf5909ebf7d6617aa9ff9d5b5d1f99098e9de0e2a8593bf5a9fc6653c6e895053b7f630f82fbe253cb782142afa83e70ef72bd1cfab9b1dd777a519ec53625b631b9b5e2f17c19a937dc5282f9a2e7fa944e6dc6dbe9ea8e1fe13cb5c07623635b2f52cc43283d07bb03edafb18257c41f6f6fa1bfc9e0d7f57c2792e85d1c7508678424cb53204fc7b76b3f7898f6b1eedc0474dfda5321179479e2aac46a6beeccf5e7e5bd4e2641bac47fc822519c32c17aa9963de7592579fc4f79dd6c86fca93cfd7612ff3c87895274c61bceeb9b6598eef0dd9bce33deaf09df15ebe2ca6f83ee273a7be4fd0c9bb8e80b6e83a529ae82f5bd8fdd5f16797cb726d522335ae239b2b72902d66f16d73b4af91ebdf14f2fcc173ab42ba7cd6ebcb9ada18ce64bb8c425baf3d295d145e487865af5f18f3dbf05d91685ea5b01ed392b0eebf67582170af07912a38637fc04a023b1a1f1ffbbcd6239f178775af848d5c133ae6017f5d835fc949245beaecfa404d3685636feec44715e560f32672d3a63f92310ed055ff874add714a7c19ab272c989338fa187703d8058b65dc43871d58b5b1c3c3b98b3539fa2c39daf2dd6ff1055b66f5e1803f60167f897be368c905d8681649c71ff8bbb2f59d629db49e6f96f81b8137747223eebfc324a981aab01b747b872ac1d0add6814ac7a33846a50a9dfd7986ef1c8ea35952a108879758b3db75ece6ca08aa23f73e2f881904cff823cca75d5ba676d0fd558e15717575da2e3fa6604edbeba033bea33ffb1ba3c26d8200db9c27b17e19fb19dbe4e8517e1ac7fcd3571c04a4b0873daecca0438d01dfe8cd4b4c584f855bd58a9107aaf8c93eaf35b1173fbbf9af346b0df15145af23b21623bfd407977e5e1da8923d8b7a0c56178324f666a259bb0ff752e2ff73774927cf34a18a3f8c31f2319b243eb02c829739bc1740f7406be3f92b246bd56320b6cc8a759ae0851e55c0853c7c58ae5164eeeb58b91c3a75576df0e18f2e72c7a0e347ac9394a8e86d7a516255d01567735b5ce75e42f052c0bf44ac3f47d0a95a05db638a7587abdad435ccf3c4bfbab6bc7a74a0adbf35fb415b0f4ceb19fcce8a51066ae2e628dd50ed1c7e2856f132afcffb748c3790588b297d55dcb1eb65496982348a1dfb5c7c5104d9f3213eb6633583ca5cb1aaa0eb7c5c54b60e38bec5a322e5219352b2dfa4109e456cfa255dff8c97620b2cd348653efe8e28e05d2cc15141098cbb7429a3512c7cf959b81c559f969ff949acaae15afa4b4a597335ad5983ef98ece6be517c2b935d7ebcd3a135d9fb2a74667bc40e345d5e4b6191f95c1929faa15e73f5f7786ef7f393f03ab748ef71e5074ca3849f9e435b3c546b6155496194ab42f572dfb1017d3e40e222f6920edf17144ff89eab22aca022f9d3de7af5e55c8a47c9036befb931f56186601f6a3e331b9671b82806bb571f15317faa8e193a0c7f855c3601f2969aa3b58fc7b91d41e025fbc2b5a5b36caf435558e7dbd8852a80ce935f7e1f76319f5522c7ce8f7e2487f891024d67bfb05eab3dba2a478a310fddae6b1b47978e2d7ffb36609a22d77203dfaa291570c28770288fcdb80cecf17c4a239f91b5ba1e2f2585d24e0e3b2cc4a79233e6db85a2d717cd72ae0eecb315ebdcf1ffe08fbf607ded6850d596723297ab2f8a0e718c16c746dd6c41de1ca898b7c575660bbb6f459f631e163bcd9fbad5568a7ba7533974a6da85fa76a1537b1d693a8bbc904d5551227e74a160d1231e54b817aa524512bfc5bc050d7ca8ce9daa5412534bf11e1fc4910a1fba3bc3de668f6d372d5fafe3763fc59a7dc03c21d6fe7ff6deb44b51a4f91bfe407dee6758a4ba78a9a088022eecbc13a84236f56a5c804fff9c8804dcabaa677ae65afe7dfaf4b11448322323237eb164e418e4cac4f72c6a3d37e8d866cc1f6a46fd8172412f7e38cd6f539a2adc6c4f4fab7d3887fbe11ad8ba7ac1abc99e9a3b66e32f37f91068c798afa1585cc513de4468cb0a95f19677b37d36ad47a1320e784f2faa191bfc5093131f0a207bf62c5c03f9fc9614bbb0c277c4368bfde0dfc48bbf937d3677c2cbb1f3617b5a8d88718befae41c572b2df22ae30e86d5b2d51c997bb801d14ae93162ba13dbd8c4b578e76f2a51137d72798930d320cf78de058a2ef6e5d1e665d59218a0fac7d32ad27e1fbb8fc813a38db33e7efc1e5e9f95b5f2f4f53bd14e7cec8772be48131c963c46af36213dbc113c1a1bfcb9aaeae71d03a57c601c6a1bdaaf1b35717b1426951c85959816c9a51ea35463203d2e7d1965f54dc3164b82c48cffb2a94fece995bdb873a8994399177333ab896adf6c40fe3a2741a9a2f125abcd1b5df1717b1cc56465a55294e8dbd7397c73a547733c67df575379f8e1b1a19b478d9af4b1c86a7ce5de03de2f34f8b458cd588b360b3143cdb3b06b9b95d54a573875ff58cf7129a9d31eeb7b98df91ec9b4a630a7659ed027cc798d0b5e8d33feddeeecf9ef2b01ecb7e840f27fcd83276535d89d6f2476cabb0c8909bde9d97793c401f014a249ec9d4f24cacba357adb949ec717852aaadfd781f971c3c4fe669c87f252f77ceb6652276dfdff5723ab78a98ecf5280a97e10fa1941d42db2c3ce9b52038bd048c50ac6cb768f194320eb7b8af33a30abda67d9bda16640fc66be1628cbcc4fc11452225c114a93b8da3f0249e76f3325324d0e95401bad283362572b28d2285476867657398a3a0407f84b2f019905b93cc6370af59a5e01e45c01a1aa58cb5adcf4ee073e73130f6b25e393b187741f61f6489326e4a9309651d3219d0bb2071b065e6c525ede7a0174adadf746d303e93a5cad83bfad2886ac72bc493669f6049704a55a69e5d66a164161ed8ea8c59e09e49e80fe64794a8dbb01c5b5c9e823c63802f95319640cb5c7609ef3a85c8636a731a6f49adc693635895d0e74c192fab37bd6ce7126c567d6eed154598ac7d29dbf8f9a856a451b1b2c3038cd9b54b18c37b6873a077c14edc2bd2a8b7b2f9bd224d8e3e73c2b9267b72b15413ee4977187a1d90ef7538e213d781b92373887ba16318ab46e8a6937183fe82bfdf6cc06b59e230da3a601705eef992b264e5347f233dbc6a85a799971b3c3d36cf12452a0133bdbbcc3a7399a2f01d8bc232527a8995bd4196b88c59f8399fbd495a168c1705e65311dd4efc0fe3014568db629bb2f2ec0c4bfa6139a9762c63dc4fb973691e6452166c161d7fb4fd0e250b2b10c37c12fe001e405f1bf64701ac8f760b60c225eddaa72264d659909b302f6a3b2f44068f80dfba77b9397ff4256bedc765fc063c00b209e4d9582dbc3c3bb87659bce9658ea70a0925ee376ff7982952b627a73794e7cae9369fe3fa90accacb4789d7952ee2604c8ca79727901380d390fff32c0925efa48c359a9ca0a0717eae6d839c3fc07af18486ef58b5684ef2dc611566e0fb94e26daa80758ef10a17d69d344a3da1041e5c075549fe331ae05890afc0779c9fab85eb846be0033747d980a5a61469c2c17fa03399fb3dbc1ff86be7dba342213ed20dae1569995db6eb8d8156f4cead4a724a81d0d04c2a39452295711509e438965f2bbccde4e863c5db45e131e5d1cda1fdb0f259eb44e85aee5c26a3809637f4dcf99b6516e4cd7c6c964745ca6a45c2bc94c2972c4a91ca23f22dc919694a8c2d0a9f856b67ccac48a4b2bebb498b401a55ae4dd7ca78b00e36cb1df010eeaf92f8833f4ee1ef1ce41bfa5df4b2763719acb1dab34785672f8aa039054f196b19ca336994ac707f1a9f34f37cf02ab8bfc4be8436ca50da9778f89d8639f76ced07b415da5cedda1ee16bc25fa47c915e828e2ec23cabc2b105e367574017bde456b65578c2245486c5239ea8df6cc09f23d6b5b34e7eb46521612edd8db5f118ab3aeb000fdacfdec68323ac9366be2ef03a99bbb35cc5396b4f742eaefce5713b671e911b3847c4f787fa80b128657ca9279b7162ed8d766ce5c4cf417fe369ad33d7ecc58e7e9a1a09edebf129766d2e8571c27fdcab75a50bdcc293ac42912cd4996dbd0f58eb9e7dbdce831ce471738a3559ef387ee0ad95a316be34dabbf972ad48cdde3a06f8963b864289bac475b49a9c0eca51ca78b25e395aab2bd895b3dc2ae36ce7d965aa0c49e93765b4ac40b71b397ff07498bf57bed1ddc5cac6f1806c8e3d3bdcf931895b2812f133a20e47f94fca4a2918afcb7298434f28337fa3d1417ea9037b78727508d859021c05723bbbec7fe5d9cb23ea7146037e03990e7d07becdcf326ab9f5ec5e41cad895e45470d4d76516809cb2396ad5c8603feee64f589ae1c488cb91912e402e4fe7d67eaa0893664ccba30f7d053d199759c08c1245b21858875e9e5e9e4041c621f109ae51e49da63fe4bdd0f6026cd5e970393137a5a49be5e85d1a55413ee2dec71ee8f763b0396d3d09e3963b9f9decc271f63e35f832b42dda734e5bb085b026cae8753767705ffc2be82597d9bf4e9bf5e354e91f53722a4b1530163c7f2ef3ba396d43bb39dd3fb752bc57a2697fbcdc4d8dd72df4fb5d02dd9ebdba7946e1f7b1f9c71464ddb8cc7d895f8742863e7547928f4a7f6780ad6956af8525d2cc144f98cf589f9da441bdf3cdb8d494e1a9d0ab53b32fd6aa9436a6a597e9aac58f636b1f0818df423a872877ad1e6202d0e158f693e04b8fe129bfc2f9e8d601ac2982fd34581ffb37bd44ff1ff09022f17483a740b65de8b94906ef0e72ab0ced0ce4551dda72414aa2b9f089f56c40068452562858a3a7645d9ba35c6752817d17a2dd61168bd41aeb66af589adc508ecb99327c2df48c2a56d2a85e0db5a3dfe866723a8a66a04d68defe4ee6c190b283d7eead62d5f6b4f8eb384fbd5dab636aa78c5cfe8da5befbf1da5446c5a5cf037d8824b7a0b75dea6bdfd14bff2af642f75ee734f543a13126937ab68abfcf855110d2fbb77946610c65be39a5539dc7d84617774eca40d6a97d97b791e09ef2bd2350df30f780b489fba71512d77f75c4d76d777ffd8a7118477c7d7aff04fa4c723d7eccab14dacf2efb42e22c6d4ca8f427061fbe8f8a6c4e53dfda7bdabc37a5bf853ef77c6710b81919db3cbe6affd511f89bebfc0e633e4d6c79b569e8336ef65a8fcad8a67bdf1c7dfb6d3aba8881eb11b4d59693bd682f3daeac8b71dab89f14c7daecf77cd4b77fe1d847a7e3fd3db7ed650765b35c7b5593bb323a1de734896be15c77cfd0e1543f3df28f45abf1724f4a539e22df59ef7d61d05b6189d4410f7e7b1b6b851c77a743c6b280fbd80ed3a1b9b5e9cb3827d083fa7191531139e325e6150046b4abc93a1cbb17394113dfc94046ee0239e15f1d2184ef1bf83ea95f2f723326811c07b103e3a68b3894461bf2be1ee65f34b9fa24263d0e0eb3980ea759c94e0d1eafcfe3454bb375d8ac83a9f8ba6e68eb3b6395779cf2e8c719896bb6f91cc0dbfa2e08abf40f85c92e788ba6032ce37822bc6195f514e62ee182097d8a9db1164e9b3c9d398c479804017d3a3a4e192855f407deafa7c8ff4276c1d359c1cf452e50ceebb399e35d8dd773fee08c831fe8f78436b2533c1d915ca0699505f213def5192e08ab7d10545b1e9e758460dbe4a4fd985aa7cdcdd8fe45f8933bfa4043baaca7090dcf6e49eed96933cfcadad18bddcd73b83719ded7f2ecf97d72f32cbe2ffefa731ff6f3e9730d4d8249cd213f4e757ee75820378b7865f70ec83ff732b2e3cd4e5e557ce8e829cc4337df8e9e82dcbdd579ba22add701b33ee7dbd4a4ccf15d1e0ef99de43ad4bbc5bb9e1672ae462ea3462e3b38c992d67b1306c99bad46be2e77a7dec9713f9e3e7cf7366e6c0be20b909a32be9b66bc583a17f30b0ed3b1bb7d63f6d99b130216a867e94feaaafe0eec95186b30dde82a522f487d31c7e4bd2eab3ea395faacfd77426bacc1d0ce4f18afbf5fe47abce871799bcb86ef7f9c8fd8eacb2206db7225c8859c4f9a4f8d7c6eb4edb377193ffb2e98833c3bf992b5c492b4f6b2cbe9bb185f12c6f0de0127c7a7381867d44ae20fcffa2063bda23223be95c68f24658851156949fb4e1ffd70c49668ec2409ecaa0bfb3607bbaaf59bb9177652893e8d16bffa4e5a600c57280f7e551e43472e9a230e8a80d8901bc4e12d2ec77a7f6611b056dcda4cf0496aa39534e63309250d783f6446b0ee10f7b6fe416538192da96ca60cadd952909ff0e24fe1a30a688c3255b22a1fe77750209d25ea193fce9facdd7d6897d4cac4f8e2d53c123fe3552e1b29578eb9229318dfb7b1e237fdd9ba2b8a0779979f60be225ee523c675ba9a2f859ca35e88c331c8c10991296ded92a7fc340259b1f6f345e16ed2a2f12d174da9edd6a79bbd8d97999f2feb569e285dfe59daf0539637fe901afefb88c7f96320600e4ce1e7af859ff357b6b5cf78b922f10705ecfc71bbe7b7ac43074f94a256927500fb29c87916ec54b045c3f1847bc0532cb9b7e1a3719681cebae39f447d4ae7cb7d6e3fb3863f9cfb5c3b7ab99779edbc233e2298a5cbe1edf2268b23eaa4fe0e7806dbc439639b7a4ad6f0608e64fe8d6962e19646fc7d26ac6fab9aa526f2ca0a6b974c54c0093ae8459015c9eea08cb563e84c12cf5c662ec337c77dec186534d01d6a645aa3c96491f1b385498fb0261be0a2eb6bf6c22cada5b10579cfc871b930335e34285a5b9a9c398b9b7c507c66395a50e5c04c49ad0e126f559b6bfb916d8573335dbcc8f99ef504b9304793776398994b6b3230c46d93e785edcf0c4a9b2f87e68b9c734dad1672bf392c07bad97b6973b1f0b791355bd04b6b81b53af11add5da378cb4c35185b1de44d5f68cd34c9498ecd7ce03bcd8519bcc80d868667ad51b68071834e93d186bc2c73cd1f3c637753ca7f517871f6dd4be8fc7d7c5aabc63e9ddbcbd777c2fbe7da15e73a640fe3629e9431729c7e772b6ee7e75c16a47842212f27d007f39b1cefd7d34a7ec5fa34462f9e312aef56b7b9556e3e49e5ad5b95b92260cd14793adeff6b962f0a1ff7af452f6e5516b36458b8c6aef107a7ed9eb6a4ddeb76ded77659d36390283939dd174f331c53c5f5710c8b17afbe3de6e07e0fe7f5de169537750ee6c1d087bc650c97ef96a58d1c4a9b1bd9726264d6c01a667323e16325e78e6115eda6b54cabe2eeec8333f6d47c2c5fe67976f7ce25f57b28143faedfb9e0836c4fe1fe193b2afc844e674c8ff7630ee69a59d93c1dd0e73ca6365f2a30e8c3654c55914efc54c4131dcbf7f1a9877bd2f5349fe4bdab58293981f2f487acf36f8ef8fa4743b39db7c90237eef2178aa9b1ad6568c3295f15ba34cef5b5aedb9bea597bfafdce8bd7c5d4d9e33ea01973ba3e224092b7602f4c0d0a6c707616f7b229e6a8dfd55ac3233bdc2afbbea2f7b163d009d6a8686bbcd93ddebbcebbc1bcc3a954ace706bd7d1f9774574724c6d2f16b4feffabe9b3aedfe668cdf17737b719d5768ec8b1973e27de13adf8cec8f0b3afaa09d4bdebf9bc45e719de3e8e6c2c63cdf7b93fff8c6923ddeed98301fd219eede98c5f5dee09a8abb23a21ce23bf5ec453c6387fcaae2d01e23fb7b47e5355f347b16c7ee4e190ebfcbce309fc4ebc1dcd96e3d921f386c69b4d039aaab0788b1e921bfd0afe8dbed030ce3743763b1ad72ee8c7cd5a276ef4897a8cb7bb9a4cbd43ef1aab1277bcf481e10d2db65ad0ae3e8a3265f619cf25ec5757931569e65615516731de6e7f4872f70ec0a749ca59d5c5bcb669b349f6c523c6e06746930b61add98159ec173a4e621d62ea39b7d549c2f995b4f2036fc54c77a8ae7fca296978509798f4ed701f2adbc9b257d7254c97892917cd5d3cd5ebe7ea156e9f73783fea15ce47fcdaa3537d7276807919a0fd9ebbbb0e7a64ef93a1da73cfcf7e38bfa8912c6ed337f63ed03bac43d58b3781d7842b19b1aafc7a99efef1867554dc9c7c7679217f4cd90ce602b0c40ba9d599a2dcf5849253a4d36e4645db3766fb12e8e5b691bd9cd2df15b3fcf445b99bf1ef0e7d25d7e6f4f0ae96a622cab42aa42ff2e5113738f636ff7fb09ec4de7a2a5cd55148887ebac8d7c827470fb05d4d274aceb320e3979dbebab95752799b5191173afd35d68437abe3c3adbc195430978af4c97d79938fa597c92775337bbed38fa716550449b3f7d1e87f5fd565725d2fa7b8dccf789803d613e9047317cf7b050f73e9f47d5aed0f53a7cbcfc47b6c860ba7e79a5fcd3cc9fc521a519eb1277a852d5fa7126033ee18d6bbeb1a8a5d2d9b3de682e3730ecdb76de23ee7b1cb2b74d9f831a23f661bacfdbd9b57444e2b19f563aa477fc856694cf5d72234304facc521c4a73d2a63a52ab3b9ce07eee6565e2d41af146f22758435f43e5eef0381df29c305afd01cfa8827f07d1cf0cd7e3768fb15f19653029d7778bdbfdb12bd023a9be695910cbaba89f198df3fe0397d127bba02b2577073338e62afa9b1dfe4dfedcf3a308d95d13e546e6ad176f9bd238b9f3ad46e2a5cd6070979f8febc3e64c64ff5683763a9ed74f1371c4792c5c1dba678fbfff6f92efbf82092ab3bbb5348188efeb943485e7ff52124dfd95f7b08093c4c0efce069ee85fbceb2bd2f1f42f2fa5387907034cff0d4cb77f6a70e2179bd3d8404a7e0f791a3bf8f20f9d347905c2dedf3e1236fecbe1590919c9f0f007977a8e95c180d0d4a336d6b306a022edf84a4dc86125d90a4e9809773eb207767c051b1cbf085cfcafb50e237448096e430073c28a13c0631bd07813ed701cc84db5090bf099bfdf78b44a548ced7996b2fb00f4252c63eb3e4e6d1eefb1bbbcc7c675080212a0b933acc837dc00eaa157cdfd0bc106d5fd1286d82fc737dc20624c9b292a5e53ac88bbd6f6341d5746553f13cda46f2f8d1bb9759104ff8f7c53692c5724f0e28e9da4c7c86c3434bf0508dbcccde8441ee4b564fb12dc6b37ba45da11fbdb17bcac303074694a7f763d7d176001e605c78a883785a2b3ab597257abdb27b51208d369ededf2b3af5ad39f8e1763c1b30ca1567000ab87b0fdc27ebd45ed1075bcfc642b5919f8f1859a0f68ad1eb0e4e994bcb5d7831571eb33cba157d72ed307368be7bf66a4c4e58b94e3f5a6dac1a0bd0ea74ec394bd6b371de7748bbf1e41888549378b94c828db57763f95b777845fbeee4dc1732fe12e6b03b374fceb3c4677a11f68be64faeb3dccad27ae749cbcc47be99ec7cc98ce7093a69a337dc405dbcacc693cc4ba85866c2d467b4f7401a512b41fe361778b80f3ee13d57fd019af9cce9e2dd58cc2a75d909eddbf2256dcff74be9b7b9348cdaf729ece487c2baa5c22e1985e90e906900468f9c8f987083f6900d7204fae9487eefbd2acc10fa56ac8c1bba20bdcadd3c7e7d559872f7b42f6330767a11f0bfef0c2a9fedf3728e40359e9f0ff3795558bceff1bbc4d3d1674ed77325f0e9ca71cfbf89a723f0e13c3a1fc2331786c0a71149b2b50ea170c5b730b724198c29b33bfeb5e97590ef539f0d814e97fd69f9985a39cbe2662d7c8587d77e8ec9b3b8eee57b7edbaafa60e78954ec49165cbf38f8a3ffaa30517945ebf3b82fdb00da5cf00df09cbac733f098e531647a7bc5e6b2001361e53b9ebb59cf5b9081be84873c3de439342abbfbe55896b294c8cee6609584fbfe56f50f170798f0efc60981f46d7b77f3fa64ae5d6742ad6cadf05a5eb9a403f08b3ddaf948dbc1ad4cce7d86a73c476ef447d376723aba399fbe193df80df507ca73c63a78639afff580771b155f41bbdd6d2dd4ed312cf76f86ba2fd4df0775699ae1299eff9ba06eef3bc5f4bef77adfff12d42553d0425dfae537d6fd8d757f1aeb760bfb29d03d7aacfadf0972931b05b40180363821709346d5aa22ef56ece5ced78902ba05a2781a0c8062682f06a54a00e859a961758ff50a14594c80a02c7985e7447bcff132bf0377770a601d3059eae90d78be000aa834e2012aea2b60fa44a112302c5f2aa6062cb7007d70701d3782df2e81f073c06cbd3b4cf7ecd5984276b20e84c1bf424723a728d8932c1c87d92598bfe8eb9d520f586f73f1ce1d802259ba04a383edca5ea69edd030324c6dd3749ef3574b44c1eaff1a0e85973ca811c6bd867871dac43298ae7c9e908f7cd11387a9b3ba52ef1c5c5bbc9c94b925685361ddf01a0165826e5ba3d985a8ef96a55f18caaf35488275d0400b0f1d06e59ca906f829c3fcdf509ee1891134ef599e01254aea16f00486fe802f402c079fc10e47efcae79985b55986759585f02e77b503c17f8a32f5e834985b9363a1e809d86a7da53ad1677fcd48121fd0e746246a227f1ac7f6bec343c1f4a19e54be66d9b1ff3bcc5bfbb3697e0ee05e4cb7b10b91287d1ca5ea05c0ac7138e00597e23e3c1d0939de7a830d6ad7a07f6cb13180601bbc01307fd9b67027609a03df384018b3bb7f5410c800e774338831339e571f2e3e2b44c347614e0cd4f687f01eed180c69d383706ead3f5fbdc6040035e1e4fd67e0e72054f26abde48b591a2fb6e9231cf122a52d2f3783b43fc4fcecb5c8aaaf966fffde6bdd02e181315ac8b3b0302f97e5dddfef6c6165190e3a94291120f3af9f9270d9fd795a87e83369bf17224b2488c03b8f6c818407ec79d197b7248f93dcf6f57306f5276f0f2d787064b33c7841efa80ec32130698ed8327820a83d46bb382300a716fe435734176ce3d901bf09e10f5c0e2feb9f6faf86edd5cb5bd1239c573d257855d6e1f8ce3e23dd1b7259ee697157381a756e2c3fea061f4ec9df81ce8dcc7cfbe861246b3fef4583c11b3b32b9fe136f366be65091d0120a7a920e70f5edd83b1a61f8f75f19467e0dab3fe29ecf28e9fbbb18f9f5f6bdf391fb77de4460ddf20bfa0e3663c39fa7900fc4a3da15ffb9e94acc5a68dcbb5f8c1b8a1dde0819e6c69fbf45afbcea4ecfab8b4392ad8a49127596d66fdce677a7f690e96d76dfda3e331588b0ac616258f118bfca97174322de5e9703ca0c311b4b5aeef64efcdf38027ded8e24064e94327d8f93fe800dcb9752f376ff8f49fe10372aa55e4ff52fa91aaf6ed9c98802bc7da47e36df017f7fdade2700d3fc46817ffe17d9ecda5f298d8058fdbfc93b2009f7b22e7f01a9ebc7da78f146652f88cf623c08ab7f7d71fe3fde5dadda80ff5d3cae64ea1b388da93ca827c94aeecd7f8711bdabbc32036ac7ce614ada42cf524b4050f4d751dcab5e5fd4399a9cb04a36d966b37a6d14947e4438619024063c5e8c37bdbddab6077b57f3f71408f62cf3e61a5b28fdf4d9de47bac00fab47668be70ed49e60bf23779940d0cf304bc4f7e7b205f9fe08e0bec4bedfddcaac989ce042fc15c0634ff7e760e3fd18be341758931daecbc268b3b7ab3477b5f68e97821db4925389085fbe69ea7fc48b232cfefb838bd7c6f9b23cd10d06ea65c9dc66ca9b93ef11626adca686760f4ff69db6df6f2f3753c201957cdb864918a26754976bd9df90ddf1bda60efd29c6bd3852cad8bd5468d6569b90ea5e11efb5c5371d3df6f936affaf80e10fea265bfbf6697bc503b645b9c803e98f497d2259a9466ff3743d5f65d55c65b4086f66964e85c963de75f0ddf154bfcafe8ce6faa0c9fc48bf3f97110dfe137b6d76e83ddf3dc6a720d376fe6640870da69ceb93cab5973bbf92ef70fb151f826c3edbe171838f3e5c9f724c8205d08ee23ce63f557fc07b62d9ac313c4dfc131930fc40f6946b37b70ab0eff44c9b1b31c843f2db23f9f099eda4e8f4c17334cab317d18d4c38db648ff5dc4d20e226bbe793354a76f53c5fa37fc33a9a9a143f93e341ea3acbb562377ebc746718542f9ec7c18feb4ce0e514d693b2591e75dc49b8be9c2bcd73966b98aba95e6ce602a97c378f83a778e03273fa2a9b6c38e1747bb1fd844ebbabac65a1cf77199e46f1d4f6e868983c0efe3cb1c91f07b950ee4f1edaa88ff1c1e0fb5b35c8fc7cf1c8a68e6fb0d323bf4c172c6cdf79b9fee7028f41f8c7017befe8b35dc0be6b7b2ef08d4f157e6bfcba9bfd77e8ffbb43fdfa2cabcd76ffffdeb7874df885c8d3cdbd6df8e9fbf7debf3bd18afbbba24faf2f1cf5caf1dfe9bf2bd18aed7d67789ea2ff52f40967e0779ed5efd8d39f8e3ddd2ced670128ee180a74eeb360b412c1259bcbf9825e7ae6d0c42dee00c6e7ed36f7060012e072998984c126ca67c28d2f99fb3693001dda125f29360d0016cb8e62802ae94d1f0683481fa6f3d640bb0d566d34c6abe81a8079d86430dd1a06e8141d0fb20095eee447f3eebd27657bf971b6409b71d46644bd3641a2cb40db2194463b50864db0a6c94ea2b154520756ee94c2a8c6d29e9b4e51b58e4992cd35c60caa2bc7fc470e56f94a59fdad992f237fe34606eb65c1c6db794ef0287810fb129facd8110d8aeffe1d6b349e3c3ca2deaa1e66c118dcdc6707b58ccee0e1830083fc4d13fb943c043e1d48c8a722dcfb24a3654cb669ccf50918869b95dddb87127f9a25433a1847df7d7b54794c7650ecc9311c2f8fbeb12d3567d09b55f23793e1ab60931632068188934396d6eba01a1c5d46a383cd24f3845364620994c6d06ce68f9472f58e2180120381c6c3c0c35327c2ff42b6cbf62bb92edbdb4c178ef977638d5eefd7628d3316f84ef11cfbcaf55eff26acc1f21cfd4abf707f0d6b9029f89de9f21b6dfc79b4b1fd24cf85af49cec869bd1cf222ee14d6078d48dabe3655735abf57e6c7f2750e0840086779f498b0f074bacd6589dafc174ca636a8f89cc07897bf822abe4dce6ec5e22d0409586fa338da29c833aac91df99dc8fd4f267227f731f83b7fc01820e0f99d2b5bc3531b2e72553aff38403f37cf0a4f97bfcdb122d9a0e74bd96155efb6416ee5735d4eae92bc416db356ed19182b63bcfa0eb21c7de102167e9068defadf5646efd5d507edfb8e415e1cc364780cc7eed167d5cf725c8c37f49351ff589e8bf95f98df62d0ea6750f567f329ca26c1796e56f23779c81bb24820eae3e4e54fa03889cdadddbcbc4f86c6ca87a34731b8a7f17678669ef2863cc2d8f2f3dc01925f3008726dfb41ce00e616e8125f875dacfe617b0f636a4f730ac4926ae5ec83fe3f89cd9594273689e4ac36f173efa8a47c2d8f69fe83b8fb45ac9aaf759bcbfd8a8cf94f3c27fbac46f99fe51b3cceb100fab4bebeeb7b1fc414effc9aed1a196a0b4b1f9cf3cdaabfbcf900cc28e2174fa16de067f8ec3fcf0d12cbedadaff4a7f2712e62d00b7a6091dff9cab79b4d296da5f3f1a0f2192d0b58350a36d621a86e72143e88b9fe5bd65c66d59ebdf86cbda93e13ee5c66f4519e0eae39535a73019325ae7dfaac4ddbb3b9d467e5cfeed37c6699f9c873d107b28396ede4b37bb4b5cbacb367637898a780ef7d980ff53cb7e8794ec3c5fad44ea189bc7558b003da72b4cc1b0db220d7327fb34413fcdda1b2afadf5735b86c46f56b6b6f687da31c82dd167818f3ece33bac8ef1183b145645436d8be391acef982e12bcfd48e21ac872fcb9f739facdc3a78125fe9f6e2e31c9b0b59093469e41799ff6117cbf9e9e757e3ed9f794e746d6deb59daee2dc7f746585ddb519fb5f354973cd01970effd3a7e10cf6930abe6d9f431d8a4bf1a13540d2668db8fe7f1f95d98e7fac4edb31adf6e42bc926b777d58e1e90c831df016d9c0d7e6d4d1996ff3d59b4eae05583d054fde69f36401cf259ea3d5f27842fb1bf57093bb76e5b27ba87f9e63b4e7b99062f934aff0235dbf12392b60ac54163ec530e4be212d7c26530ddbdacb4352b5fd53f9cb66f557ef35b06af260bca83f939ba1280fc9faffaccd25a5460b86a781d6cb9caf5ce63f047bd9d6be95079e4d23ed4dc9aa5cc6c22aa024b7c7fc928c78d49661cb28230c53fe336d0c7ca93cba149e72f0655975d106d8547fb50dd575346ac96858412360976bdfe9ff9976c62ef5b3ba82cefc4657109eb1bed4c6737d7daf97510edfaff35777f3c4feca2d2a64f86a55fd5db895cbc27108b633c8dc99e72c599f9dfc909b50c0439bec36b7fd8be18a15ce8b7c990b7c7edfff0a8e4d3fb4f33a2c698d3ebf6761aa9fdd23f9d268137c2a3747a937fe1cdf6275511b4f958916f6320d9ee1d8e736da439acdc70f6c37fc8f3925956b731b4fef1f80d79bb50b7c31b93815e33ee7e4abf2f60bf9ed17b8530bc75f9759ba34aa3c3cc9dd1a78d2b2faaa9c39e7fb7a856b8735bcef2e177a7391effc95be77fb6338ec4bc0d23cfaa436fbefca06fbd5e40977393c5f18e3c5dc90eaa4782a11f2c646e3df8dfbdce3cbfca19f92971fe7267fddfeff9f08f71ddf7e1ce3b7d357827e57b776f59c58ea27437ffc2f4f33fac5a13fa60bb3bd3014c373afecd7d38cf89f4b3362bebff67a2fb889feeba13ffeb69e134ec1ef3ca3df91bf3f1ff9bb5adb4fe37f8ce74c98956db1ff8971c0ee941261500739bc6b4d85e3413d8b5f8f2eb33c28f9aef624ab58395ea5e45c160afc2190a82329b662a50a83e93499474e183dac362aee97bec827fe4aacf1ff7c2a53570f40e2d6e1ed7ecc4ffc35e767afc6446c096947072c564ddcbb68ab58c85bd7058b3e28bcf4bfbfdf7e7d551c2a96dba24edf16ce004f9cc4d32bc81ec27f220ea9c35c34fb46ff6b8a46fdc4be87bb7d55b76b6505324ceaea79e0fe0f32c774f6707ec7dd5e9607b87e909e4fbdc78ac2235f227b6d169b6ce209d1a66d7b52a58795cd1d3c67225b435a95c547fb23072426db54a40e18733b61d13669e70db0fb66fa609fc0bc3bede93e46f03865ee7f30477ff7639bbfedd76f87afa4ccdddedce1e7d75700b6ff5e00fdf2f7e5e9bf701cc7bf727f1780667986a2788efa6b009acc418ba07bd46f08fd1b42ff2c84be5de04f40f46650f90c9d85d23a0b9dffdaa251e4887fa33755726d1de44bdc9ce9e67c4f71b4ad6b2f8f61bd8d54a1cf04e328528dc1e94d18541e335963f97ae1745284de6926a4852cf6bbfb823c8c5d3d3a29e49e832a9abbd90914c060ed4978bcf18b2c0e4f13bd5faa8219a9463fc3ef46317d5f6c0f2e33aa3c81de7b0e1e7d5ebfc1b3d2e4f826d0f54a1aa53e0bcff7236d33e8c1738fdf19ed14a17feaee1b4f366e3edc629fc57ea1247d9a28c4c1c9b597e9cae636b3b85f4ff48bffa43fe83cc63cf6e83fc928f85d64eb7f0cf403e8069edf7a8e557795626faae9926428f99b615b78d47950ff439563b32b79f72b0d81ae0f9f15829a4ba32a94b2c47f10a4bfa8b41a3f4ee4b20e61fcab03624dc1ad6bdac4f378b0b89acb8f92151fbf13643feddb5cfdd080bedfbbf3701d836e096dfa705d7461f0f106f047ce870f0c2322ab9f04b7a4a86e2bd37ab647c9492fc204b411266e91248ddba4de6e5d13de0743cb6507b4837b7ee4f8624f51ba72b4932f8db8594e027a72d23b91e405c29b8f82500f93989f14bd7a6c406a477f6cedfd7311104ccef8b800c6a322891fcd1fe8e287c53ec83ead8ad0c5b7b314fb43fad024c050112664a1b116d54fda688d7d989bbd67d3ef78b44e2c47e418529397f3e52e6041b7a42f24d9b088e749bf4912f8bf41df2047c7e5feb260893c9a64813e6892d3be4ce3ca7346efa1c453ae7dfa9487c1288767fffa66fd8f65cb558107e9a38ad58f37407c309789eb4cd267452356a2da14869820d6bde1612b1006d4caa6332237d52741cc4657613bd6c961973bd053ff086d1fff067a265a5883893c5cea063d181a7438031df69544b74e56578ff0d1a715c3ffceb5537b7699b9eca249fe182d74fd524e78477fb3d8074cf6e219db484d06a737b178b6b68e6dc1b280b10acf469df3cd6cfe9687a3856e9c8e3e3bc0848ec789575ae64b5672e758fbc979eaf013e0802f159b6c69ab3eda40f3a903f19f5e7b8a4d67e178b273c9a696c4b539c6759a75974d46a6c52f96d6e4dda42cb1296ab4f637de3aa81f264dfec7ca984fc749f3a2412d477f7a8ccf79682f8ffab4fa2841e87f02d39ded6fa09dcb8c0e613e6af19cbeb446ef4bb31c98236db41cf10bcde8a3bdd4def7b4c8e97f2616d8fb9d3c90bfcda5864f1a1c60a6d6d2a12c75610d8ca5b97c37c5f4f437f113f79b9f083fcd8cf4ff123f71331d13275bf9f5b410ef57823217b634d0f1cbc9f6ffc118e4a7698c76e6ffaa5e4be991f10bf9e5ef08e20949d90616a3809d24737db20dc7cb53506f8f0abbdce251e54c7658e5a32aa8b8c467a8a32f8d6285d5129f1d649ec0ff2b70ac2cd8a48780d18e8164a54abeabc9a6e07370f53ad03a283c07938629cf9930ae5d6a66d5e765513ea962bfbbeedba39ed11c472a8b54a41ae76b2e3ba04d76b90e853e2f8ff64db1c2416f160fce4761ead10e8bc259dabc3d767d2aa445732f378bfb27a50fb4a243f47b4b65160a03b0b38d501a51f04e9b6d82b1e3e84596b82cac0643d7596653213d84123f3129be39b23dd84ef553736ffa228b7d7ccfbb4561df7cc9a264f40f2eb9bfa9df60bb2e3c676278b6a6b94e3f9aeba44dc31e9da6427aeec7789205a655b8cea0f6ec2560822fdf3bfba97bd39fb9170b03fab9c5ca437a1d08d1ee766c416e31d0ce27f7e99ea3893eb3cc8ca6e0ea877db026594069474fb2605ed75f6d7b41e241f76d47ddfd242eb451e11e7f52a927550c632f77378a10246ab25e6bf5829e54a78d5cabe45f1514934a4b54c6645c46c6fb3c49ad35a3bdcf4bb4da643d21bc9c77d11c995d3f16cc7a1d6c16db4f8b18924dad3b4518b43c88053967717fe34bd9c1d38396dfb008e32c1e9c0b826261d351ed39cb7a160f7c8cfb0897d7862fb2a49d424ba35c67515cca3a371f252b26acb026d19024a7cdda18da46f3559abab99faf3cc9aa1a7abfb4b5b102ba289d76bde1ff41ecb393d47326ceca5e522b711ba9d7d74f3e93c1f8d72eb3df04394ffbf952c4f726db26196e52dbf528ecde3fa69bbf073cae37a11fb5366f506fa3f3b89b13cf8ccbdf90169d6f4e1e2fabd036afc6164a562f14b7d18482b93817a47cbfe877007a51b2ea2bfa0bfde86d38ea798efa729621dd38bb790ca56c7f9ec7f3f5954d67b7ed91f15a8795b3789185b0f6001fe48b4d3bee8be73b7fcdb2d9d4714d8bcbf646b4eb4c28cf91a14d5917779a61ec0cb3ba2fbe795b08fbeafb980eaffa31ce066f8426feed7b1b7aa9a420f2a37e9dfb3f8b07787cf783319202b0230d70cbc1abb7d1a432ef6931a68a5b1a865296ac58f5451e3f28f639d6688f0909de18d23b3fd946aa70babf4f9a641e931d16ce72e5399363dbcfdb77ddd2e8ccb717fd92cacc63ac83276e232f1f150163363a8a025dca37b155d4a986696967f9a76d61eea69f1718d69626154ff553476b529c7b1b4d9872e7e767ba61a1e6ab3542644bc058c8439dae15aee44ea78fafe82f7db68eb5f0e6fe63902fb3207d2073acc732c762b23494a217591c5e5d0f247e07e3776ded87c74eb07ed943f9d4cdcf806fffeed6b6c493033436d7bcd21c3a73c33f9ff0ec7899bd8d71ddc25c6c1ef2c1584b5cbbcceed6ea78fd742d75f3487cb677fc8ff2e556e691fed27e9e51208302c602fc9d4eaa7b3ef7a4ac067cfa66369b72c74fd68d3028437b54859255419bfa307a314ceac5a4d5fbc2d8e39bc4bbabef03fe4667700b679dddf3de995e0d8678d8afaeffc6360ac713dad3efc7488abe972d46c4395ac47732997f40dba7722460ad8dc7109bccb0b3438707af69167b76b8f3d31165e756e5d74ffa784b9f0b9e3db739283c3bccfc7cf1224bdeda1f6b59ab1711e3ea17986a74e3b3fc7979823e067368e90ead8d16d5df815148116e68c77506bb6bdeecdaca7c6740bdfdc6305fc330f424433b905d44a66455f248cbdc2b3d7fc54fb5cb8c0ac42fd772aef77c3d62d11e583f885feee4c91865d4c3f512dadc0efbc86a99cbf0074fb85d7f97e3cc249f9dec5dc2370f8be0078e85076d01cd27d45a9ea5b436cb3463722f076f0b6d5f7d7fbfd13b6fe6534c47e865b67cfba05f9fccd325dfb73625f07fb391fe4eb6bfdfc989e5ce65f68f69f2455ce3e6d66665738370b4cb82fcf5493fef68f41017fb92b5f16c2ebded4f20f1f58a24ddbfc8c224f6d925e533547caf139fcaae91311c2d4cca1a3a34c60df8c6ee1757d2a80a85f56749e10ffc86e6498ed3a2e3cd332f172b9b3bf3726b3b5df030622647cb5037def085dfea26215c07527a3d879d1d76e973b896359fe097fa896c7a286f1e62ad2cdc79e3e57616f7cb6bbc3238ae805e9fc9d1cbb96fff3ecf5f13a3e4ae7972bcdc85527967df7cacab0794e7ac11af2ced721d8cb5cc13060bcde8ffc6521f61857f3f96da07d57f3196bad67d279fd576e494f96d24e74dad655dbe977f0f6cb787b1af3f89bdaee33bfdbfc3b62b5afb7cc28c4eab1b1f45db9667d3a7709cfdb6fdbe66fb8d7c6974c2823f189ffced4f7afafd3fc19fc4d0f53d86bdf527016db51f8fe931a8433bdc9058ef525bd9bd2ee67075df135fd21ddefb495fd2b5de1b1c0326439b6216f76337e7a950e2f772742ffff03d63ead2affe28a6fcf3feecec0ebb71b3bfc5bffddb76fcf5feef360eb4884c31e5ce76d46f9bf13fd166f41df5b7bdf8d85ee47e99ec32d2ff53b8eb73f9f5df6337ce8cf430fb1dcffb105ffcc65fff49f84b7b5f50fc70a9ff295f97e150da7c39349fc8abe531b4c3adbfb1a88ffc5c8d6d8f3c70896bbee6ff9ae81ef000c3d59e3ec0fc0c39fe82af6bb40f1ffacc46fb7f8fff9c1d1cfd8d96c9433cb8f6d2f77467f7c3b5301f55f27892f9364f7996a593c326c39d9f2f8f61c5153ed31626e14e41ce533ea31d7da1ff431682a35205d1b41ab02b2c901d1c7c896f8b951c56e7a2f6d1b4ea6f66f1f37b0389af4211e731bdf42f4c750e0bc3bce9eb3cb4b984f423da9de77c7170edddfa4d585fc860abf285fecbcd98b0bfed011080b9af7c3e04e345288329cbbc5cd3c83bd6f93a39a0f3f2598d769b0294b37870d1cf35ead0a97e831572abf09951bab0069329e195dde3754acec1ba6e13c6bee75b5eea8a7c8cb52c1c668750b2aa301f1553c9a3fd5c43fe9a0ae9252fa54a3efa97eb44dbebb5ff39cd0236bb917544a7c888bdc391253cc0011fd18df8cd1297b1eaa0eabfc8977d6ee87287a9a17f12bff6461a175484be4a7e2ee0ed3e2e505e346bf2e09f8bbfee2f0ae276d73d861ff91b8f1416df58270b74a5a551419c5ef7038bf8737480cf99dbe98d9e324c4b83e7bd260fef0a5b5eebfe2cd84c10ff781bebe0b2b81eb6417bce99708a0276b90ec756adb4f7c6e99d1e6979ca64b37a2af60b99fcdfdde821d11c9987d0416c974d85db31d123e3d998c69778b83dd479c02bc26087453837deda1fd2c63fca8fb955fefbf9b12d3eab5de88e66dddff004fa56e9c1c8cc786369aacfe7e161fce839af3df2d93ee33df9b19fe467fac27d7a7fb307e7aff0ffadcc948573717533b7ea40e20f01636edf58eae1f8ce71ff9fa19bf99374ebff1cdd3e90178ff7087c787f8b979ef4e1c29e6d711aa1fd4dbe3459cbb8a611e7bd1e65893fc0fac57d77a073f0f7c5f6c9fca453b40b70cfe066aa73a0a3362eb3c662b393ea7435af9e9e5dcc2bbc4b2b3c7b54c95246c992b70b361ad55dbfc90151f2464677584ef3d51145be23e6bc88519efd3d8ff62e35cf70671b972e4e4ef35d16a92bdbf5a63f5773aa0a5ca383cebe3ebb1e844d5fc186bff4e14d3f9aef5f35be99f1d36d75fd52aad76eafe6a5ff5296bcca67b0b6c8e98c4fb25c16d6b7f9e2879534aaa7e3e576e5a80790fda16dee6ed7f3ad2c7c321fcd01fa8047afda9b7eb0de3f9b8fbbfe7a8c45ddf657b8dcb7f1581e3f794f7358bf4845a1b4de051507eb8cf6167fb6bdab7e77b1199455799885c29a5a4959ad80fe1d5bd974b1bda3cdadccfaabb4fe627bdd5a023dddf93530a60436e0627b451f3d9ddef1c717d7877fcecfbfa2c59f6daf5b23f77b0bfe0cafa0befcb534ff537de7bec62fad0ddff223e1e7a06ada3cef7320be942773f9719b1ff278b737624968f60bda7fe06f8cefc6d3fcfef1fbdebb18ec8ddebcc08a37364a128cc1fea0335f3f45a1d33f6348223f93606c111f695e667e1e522ba1ff4d96e8f5dbb0fd7e899707e7fb37da76657b54a7f7c754b386063b2fee6fc1d621f93a5ce1d9dc2694a2681e0ff6aeb3569bef5778f6e2fe7a25657928b41868c0b73c8ebe02893b8655e7e369f731b536c145ff0674c05ce27ab23f096cffa77b9e847ef4666c715f56e76bea64c3450ef75f681bc6f9a0ed4f7d54977569a63ab7f3732e0b328c9b03efc23cff90e37ed6facb3ef5d7e774e65b7c123a934a8ebbc29fa6e7ac71cf18f4735ac99161caf157fb183a8377e2df95774a9e1dfcdcaa2cc9eae13eb1b185bafb1dd7fca54fe131b60ee0ef0bde3bef755a1e4369843a4e6de307395fc9c29aecc703f923f6bfcb521acd71bf937652f26e7fe3c16ff6e2cdaac16e5a15d73c88fbdb9a7b5b99c3f60fddde4f7abf732e0a9b76766f6e95660eb87dddec3b562f7c2aed7a6cd7bab96ddb3be3ea41e5d9e5d1b5979d8e9ddeef6f2bce7de3605c94615bd44ae25398a759dc8fa7ccf575136b929da2f67d4adeb537736dee087afc67fa30fb5bfa90fe641fd2bfa30fdc4ff68153401e90b93e00af8643acc975f4842296c56d24c7fbebeb23acf376d9f7ac6ddfc847079fe8ea2bbee9785d28f88be712ac0774e90bffca7adf407b3ce5b3cbb52f3c5a9fe7f73d59a7b0e675d7e6529fa11b7db5ae57ce2e3be36b92c705e3c57da774e3b7913cd0795bb2beb6d15cef9f66d5e05fb2788a482d97225ac5c58f2b9c4efcfa85e72cc15ec4f62675bf541395d20c979d89d960916ac3a5e96e948d76f2a58c9a0ac155e161f23e125bc3e72b75333bcbecdc67e5684adeb343792216203f5e65d105f9f1635af56f7c2e6d9dccfe8fb97eee9b4dd130b7072f2f8f3e2b6f0d1bf88dab08ada8ed54efff4b1687ccb4d9472bdff8b4805ead4e696a74dee9be20b7a8d099a07e0fb0be25d1b717f6ed8d6f77745a39ea85bebf9c83b49d831dcc01f1477399bf017eb5ea0e0b203d1ececb3ac0363ed70958a3284e6f9f3f0698937c99cba7559e3da23cb3cde7031dd5e498c5f2ee62dec8be6a293bace84eff5df62309726b1d4a16ea3223e7534f5faf03c09db9758035e4399abfb228b22e050e6be7f9cce2c7a4eabfc842f0e3961e3693850aac1f168b5e53a16455fed598f893420e073f7843c045653a95ca9d9fefb10f973c096ddfdfcb9fcebe4b121f798aeb865d9ec916ec614518e001d68a30e8e489e9586b7fb3dcf9927931ff4877c0285d6c7f79e56b6a71dbe8a4e4eb7550adb1dda97e85ffc8be756752b90ecefffe6cc3a27cdbddd8e7eb603359bfe95fc38032f015b9bfc38017f3ce9f6d9deebe53e868dbe94d2ecd57b018d983fe906647d536998b9c1d7edae1ee41e68fb5ec1e339c737fe6fa4dfc97ecb93f861547f95466187413bfada2dd75fc387d39b7b35c86f6e810e2c18eafa567b8c57d2c0f684caf0381abc166081a1de77531fcf46bfcf40897dcc8f31563710d2624fa13d7c2526bd78d1cc3ba917fdc5c5f00ff5cf2568038c9aa170c9fb6393d0daffdf09cf4da4f7325afdc565ee5a8331eb683f625b67329bfbc5bbd4264e9c7cfdfda3657b6d73d0f3c6c6fa3b5ed158dad32203c1bed3a7e6aeddfb32febd6fedcba8eba05fadfacc34bdd95b7bacb8bfbaf8fea01fc79dab471298b9a4afbec4d4f0f01b3de799bc5854ff8d2d7fbc5770b88d15bfe049eadbdcb7e3c6ae7a7e919adafc7d21c22f38cdf1edbe3b8b680fe8ad0e44311d90772f1d6eebd9c937f757802e6e41aafe2fc5ee9d8c7d8276b75e9ddda237df45719f5310f5ef134c1175e8b0b85735f64a188e4ac88e1f3e27ad2d49dfc210b9350be88417eca2363ab5e09ebaeff4a4e0ea9fc0adf37790d57edb5369b2c0c3ff4039175d2e99a07b65d93778afe83300b4793b59f2f8f7ec31bd3afb71d29fac35a1a0ffb7db1562e79e447c72315f048dbb7ee1ddf65a9f831ad6ee2ad1ff88d9a3e129dd8e5d8ee7f388f7c482487e616e3b7b68f0e6343df4ac7bb37b6388eb1cfff295bacd17b2bdb8d08cd07599069994ba13e7b26f36eb1c7635f3aa17d375e7c8734aa827cc47dcdc7057cd9dc7fd6030f71bb52bd46f04e790c7d71a35bff29f159c0354f6b6cc1aedf6d1d98cb357ab3fe4f708f45da84e74ee41922076cf6aadd8ed7146314b6ebeda63df4f55cb4d7d9a72ed93f79f68177e3bff573fd640da10e67f5b758f337237e5fc5c1bedb8d7ff33895ceb17ac3528faad13fa95dad2012433cff7d3dee46d6dcf85d063c60a98031eff82790acca64ace4aa2ed2056efc5afda22b7f5ee3532034bfc48dcea54fe18657838e574f5d9fa637f7773c72a9fb46ad5f410ba7376bf9ea809d7ffa50c8e218fdbf62f723debf7de1609bdb9b2f0f86a4ffdd07db7cffbb0eb6e1399ea6981ec7ff5d07dbf4b8efaf3cfd570fb62173d01e6cc332bf0fb6f97db0cdcf1e6c73bbc09f1d6ca3315e45d7c178b20b25931c6c3386dfcec510af4f4b94a337892efc4d7b5263ff45a978360463bf560f3e3bd9283516e0c34334e478d0f3edf210d4bb1e3a8c6a2a5e8d9754206e8f0a1bb261c5b16ac51d833c38aa46cacd749edc5791c290f3b1c6f9f6e4e80b033cc17291f3bdb92eefd5b857cdf47efb59cd841ead55ed677372794e0e0601c0e2b3e13b6e9aaa7eb2ff4977780a3a636469c1cb29556942bf54851ead261ea3c63d4e134359d37bac6658c54ce8d59a318c66428f529321f4b15445336a3ef7aa21c3ffa8fbbcb97efdfc485693e50b2984880e9eb64863fd66d3717bf0c6afa4932f597938e2d7fe7811cbe3f5de97b8ba2de8388b5f8f211bb2ca26a8959cafbceab552c5fe49618167ba629eafcd612ce95c9f689adee3b4040ffe396886cc58897b50459536c47ea41a93a2bd4e3e2d463116074d4c4b5d94a930a62a2549298d8a68254919cdd992d33da17d5214fc55619bb137df0336dbbb395fc8636fe739a1e0b3112f633b32270bcda728f794c464bbcfe6f0092cfc49f3eb60333986345fe1214cbf9016aa11e1d86571785212b3d2329751927ead9927c253f969ff9c1e034631e4c3cc58b02b71d8c3e77e193dd48ad0a3f9bca647bc729671686b3f3ce757d1c13ccc8c3ed0a1561295d66cf5a01a11278bc383262e28c5181e34c3a564513e6846d083716b7544c1f599a872705dad035ad17b8c2aca7b55efd55a6d029fb33371b147da0854ad248b935af54b2519d2aa4e1db41ade291f66483fb952ab7ea524513913e01e93d1c63b688b53c560af242aa3da2a7c9e663ad009faa51e5431c039514593510cf3a0d6728ffcbea8b0dfa2cc28895b6b4863b507eb4e4986d40c69ad56b2a81eb47ac12a49bfa7c570adcf69d88f7e0faecdc4212d8b8b836a040cde9bc84c50c333320774501395c2dfc5a0c27ed46af9965394920c4f3381e294442d35ec77406b31759819298bcf890b1ae966b81cf6d7081a3a9aa4ffc99052f41ead1aee5e8be113da306bb58236834aab7a27b55e007d4e1aac6103de0ffd7139a415d228ad673ad052ad1aba4770bf5a0f41be315ab280efe54c74234de89db45a8d70ee8c08aed31a8cbb965959340faa61324aa2529ad06795c4e566d08e11c0fd949ab87b2519b26adcaf95a40fe33ea8759f43ba8941ddf2c75b0ee30f80af5825097a3309c6b4e8a9d847b7a7c173491fe93c334c7c6e66a414b43333d4aa9d6fe4cbba5f2a867b98897d86f061ba0799a61a6909dfd524427a6a75c42a7aaf569360af56bd1ee1c788d30498a388d1900f4c16faac892ad093d11adec4f7d52acc033713285a49fae54c3a1d54a35f2b7aafd26a13c7a9e8bd5233ac44d37ba50a34ae7a35d054c5f988908fd43a62c8b8179556f54fb2d0eba96274509345a924f2498b810632f0668fcc5974d29c9da6a27c1ec2fc709a314a802766e202dec16a09ce7fa51966a4553d5853a592a427583fe47758376d7bc3ee5e55efb1aa91a22ed4449ceb720663af7a956a204f30aa6102df71a45f48cb13ce15f29159aadd7a8239039e5d1c66a20cb4e8cd8c053ccb6a35eadb1ae64649d2b25df3404fd518366b3b421ec6f7c73d4e4de4bd92b82735067961566a056392e13db046292d86ef4139d329d0f98c0a3c96f41922a3162cf282b168d6c29045da276a89322b497b8b1a7866d1531297d6847e0ff92eeed55a22373a117e1b726e0d6b3f82b9afb53a02faf634037847a6805f098da2c34c34514eaa35cca3ca69285f821ece17e088aac7cc0cc413a799111c34715891758cfc03b4ae54f12c6f67629f7e8bb1c034621c2cfc2c9e8eadde20dfcb166f4478a0163539be89544cc69c46eda79a4420afdbcfb829f84e0e5a6326479fd96351f0332efc000f26fd932af07598075d21ed39097245a09b0c63482b89cccc843e057450373016b7878713821cab81fe6a2f143ab943aba2c7a84813b7f605985f979ee930efd00e7e075e26df47a09bcd5adb0c4fc0631a8c29711bddd4674290092023605eeaf516e67226060c91c520a3872093296de4b6fd6bdb017eab6702f09559ab1b5c53b42a824c73196d1891f7b28fdeab5696181db45aad6571d0bd3320f7452ad1633591b54b0adb6b7fdbb8a556f528d598fc2a3c59a3ccaedacf1b3cd91cf8e3e7561dd0fc3a7496c75f34ef8c924414c88999d0e390f6b8e6272ae00a359161edb033d1dae21a1497ea4c00d900eb2d02b9de5b8932c8c7ca177abd4666509a14d54a9282ce20ba19f55e9f51d313e83edc94ad1acb82e87e97213a5aa6c2c48435c4ad505e47a799792a35a1df3c9391fb0d996a9fd35147b96c1877f71f54b10f3a84f2c935a67dc64ac8bd2b91bcc31087942cf44eaa382a340164ff82e8d1c4db6a3ac8f78c693e5f7c90573ad0c54459aed6a18ab216745612553e622db3827168865aae502fa5276dfccf604a72e0d6f2e0395aed30cb759017bf085b2e223581b1a97440f43787078336fa097550bd36db7b80ee21f679c8129d2bd31abd80396410133a43b23ef5fea9c1031ce0110df5525aa29cae5107972ad16dac2a8ecc961755634911dc053801e6536509fe02bc2723ae0808deed35ed02a661673ac8f1f0c53752e059c026b08ee999f9dfc98fff0699d31ea2fb2b6c7ea42162cfda2ad50ab06b0af296f04bd5f0cf68d1dc6336f32e034eeea19d9098ac05f4125d986b5a4639bea8cf9fedef432a14c9738883bbe7e4524916b5e6ecf633c03135e2a75a35462d8db7f09e6e5e44995592949bd9a77d3337fb666e64f21932ddfd388743e42772cd6d9e59dacdbded7ca20c01ccadda27d06f60b7522027b53c22fce3b82d1f5df2e93f33ff4c790cede5bbcf78f9afd135e94115e59ad8eb96acb10d86041983f6a5dcd8122aa7390b62872601e271554ca38befd54c1c99203366a0ab8dc9566d6d94147127c1dbb55700ff6875b0279fa1aa268b03603ce039359914c4c60c58622b07c4b6abcd067fa6ac2eba60c37001da63113713406e813db320f6a3689644def501bf534a925233677842df82b8203636da8880af5d3604fd803622f0a45abfe5148ce184369cdea3b57a5dc2dc68c8b32e456c58b9d7d8ea9545fe065b8e569de109f1b1d82736bde8a24c84f67dc4432ea7e9cda7332436890e365c6bfb373692e8d6b2d8df135b10edff935aa7448f2723aa6d1be5aea8822c040c4f873175d0927e1518c84f0cc1601160400a30d2ccc13542635b384f59d9e0ae12df07f68901b6f8b0f49b36f17a92d226cae745adea7d9c4f15e52bc851f5a03980c1535a053b4c340f9a983220fb5531e885488fb499fff01f5a277cfad3bedcc77291233ab05f01dd5cb47f89bda7e930d621ea4ccd8035d23f91b512d0c49e36417e9ec016c1eb3aea91171fe62619ad9b369afbfb805b40ded12ad83e62bf5cdcbdab7f42b968e07a031c87369396b8a0936bb5d63e6db3ebd7459bcdf53df6df41ff105e73c9b8883f073ffb11dcd75c071d5e69b90acfd19a8e58a247d65b50a97a1ffd77c4c68c2a59247286acc1b4d7d8ae758b73c19e989dbfd74a322c35d685f54f3de9473346e02d99716bb48938b5c6b542a3ad50f5702d91be5a35f91b6d125817c0c3481bb7c67556cd8c05f23d595b32d5d06a4fe49267a3cf28f106845e72d47dc21cc3b3898bb6b166ab27e267512b6c03704fd70ff24ef477e9fda62fcd7a82be7c85e61b1771bb5bf538b5a200e3127f8d81fe2db6e1879e2a06addc20fe13e21f38c1fc6be8bf51890c005b1c7d54e95e034c2686eb8763d45b79d0d17cdfd03c6a688e63c3bee35c5a35f94e68407ec7b9f86532406b6480f64006908dcebf281e52f5ca9921a3dd0f3ac44a80ff869c9a4614628131da9e0ceabd046d2fea2da740e7d04ae2f66628eb6516fd54201713136c3156db80de0a98f6b710fd550b7a867a64785093805574909b38a7956a78047391e7eb99d9be7f487433f4b1b14f54d42b7dd085c08b5cfb1cc627ea88461d813eb7e0ea3a62b3242dc97bbd2dce6d1dda0413810d29d76102f8dea457e87b099899e5a27c59a16f4863c056d00cab7d166c3558d32027881f2d09bb7b886f566388cd006de2777886519205238b83eb7b0d13f41c690ffb33a401332a068e8bbabbff41dbff0cfff1ac9f9747d7fe453185b8d7c3b59d440735e9732bf4c3cbcccc716b2509381dfdfe2e436813706f395569805b605d1a809964da1087c06b94922cca9980b10106e42fca3f71b9d5aa1e3533b476ae9bdf3506b15c12d52b3100dd5eff327f5aed127f1af9bcf1a7597bd7ce8a5f8373e51eea16bd0fb66da9392ef1cd52a712c6af612c12e55d89be5ff4b758ccd53d55c3cb467faf010edbdcae69c08029abd18b5a8d411faa3dcd71014b562a7bbd9e5126c3dc185ab39e9b67a9969f87edda6cd77349621d016b814e48cc83960ce9afade52143d672b825cffd33b6aac764d42f9a3b564916ac0a7c1af758cdd01a3fd8825512b39ad90447133f3a7e22ae413d6e98912a9df6b87608bf63cc4d3554b6fd74d18f2d63dc8c7ca2ce059d7c6ab02ed882b5922cb8197e5f70331be49e5b11df347ec2fc123c9ea82c996b95f5498c8e23d8069e43bcd443fb5aa048ac2ae9b31af1f9b34a323c691b9755126d0df85d25ba9c7c620c826a70cf80518ce0a0324d3fe27efb096327985e4c319ea7257dd6001b3c91018333aae8150ac669d36826f44e2dfdb43646d2e242a49749abf609ed1f15313ff0934c010e9e89fdbab1596a423372bf2c0e0abc0f710ff46fc8cca467efa0c83b7e5d9c97697c72cc039fdc66e52cb7a12dff223f9c1ba15d2ca9205b6ac277431a7d127a1fe61265aba6b73e02f3400ef0eb471acc7f22a32d3613d54825365f456242690d76b48671c460af245189724974618d972ac6db545a43fb6c887ca4d501da6f18df01cc47f2322aadf95b1300ff010f21fedd230e0519665cc78a304e09720e63462aa7c5300eb554e396ef82835a0f2be0bd19da78fd069b52b876889e755962332e885f0db004d002b12ac6294f2456dca7d4986aee87fb4cc4306a8d31cc52ab30ced0c4cb5c4a8b6fbee7c312c7877e6f13ece0062ff7f733a17f326bf485b3e8774a004b07f059e318c461cfada8c34c0c6822bbfb3d85bc1bc6df237d803ef72905c705f6934ce2a0864cb7e323f1fb262e8edfc978718ee35ea9125ccf82aed3100b07cd75423f45c7392074412c8eb659d9d0e284b1cf98cc7de38ba55403e3ae15594bc34a439bcb6de2786aad36e32276bddcd83366ef3c27b7df119f574ac32b84a7405fa4977f639c5b83f1a2bf79d8f01c605db5befd8ed894c85b5a431fa2dac53db5f8ee3bd18df85c1f6cc70a6dc9aa1b3fd7f8225b3a5533cc1319b2c4ef0c7314b0aaa952f85cdcaf66485773dfd8e4955a5d7d2f51bf63fc1fbf831e61706e0c97f44d68d76d7450eb947a4b018bf619b5c2b66aad9e241dff8a517d41bb1ef0b96a2c188c67835c077e21b4db2b895c617c57944b12ef1e92bc8a86b6d816d200d73e6907f88fcc03c80c90bf1c79373ebfc7bf37bb3de1811eab8a5942740c45640af43ba65a1e6ffa41f80469d7c914ec67c36bcd7591f0c54c54bbbf491fd0bea788df416de600fb083207da68e79369fa06bf736a1d26adcc22636dfe867582390eb826501e616c11fb0df32637391026e92ffed6d1a4fdbb424c29f4d1ef18540d7db1af202fa15fde8b4fd619ae11b76adfd5e8643247acaa77f30a72f3dc1732aff5593e502d4f5ef6a36d9369e6a8192bf07c431b9c57a071afd492a0918b8456eddcc3da75bb3e0d092f913e35f3def413e8ac633bfb8e27814ec8470d4da1ff1bb5e9073cd7f4ab1e566ed307c22b4027cca568c75d69c42754ab24a64381dd7fa687cb767c4ee606e6a05907fd5343ab96cfc8dfa8a7fb1169a3a14762367d86f581e36fe6918c0d7312c8df959a642fbe316cf9b952c57572b1fe9a3587392a952a46c0cbecc56f645d9135573738a59329a8db9af5877d826790f730ff0aef0d30262137f38fcfedd1dedefc237145c03085fbab308c0ed812b009fa91a926aec22849d49b093d4a1341b722bd7a2ede43f4c04c6f7026ac0fc4a4f249654e6593f743216671767b0df35f824895a252157ab52a6605c68a0c93225829a2b5f14e23b9a5982b4569b555c05a9c196a34d37bb4666432f693010cdee748be9649cf6ccc4fe929894981be87fe74b958e3dd5e4dfa6023f56431053b80c37830c69c168799382c91ef31c6a0e2fa6d6ce48a8ca9df8e69afa24fcec476304f08f924008cddf67faf0afdd30af32be452cb7fa69fff08eedd7af6a8fa657142a25f59d558ae719d101c52b6be4accd54119249706c957ab64cc4774299521729de81ec05178bd5448cc813a7f8f401fd04a22d724076ec8693145e47805f2dcac35bdfb5e93750fb4750faa68d688cb449742cc27b6311bb3892935765a9dd632912b982f48ae93fbcfdf4dbc0e639b61dcc42471f0c4ecbe937c66945720bf60ec807faa19e6f5452cc167fddeacf1896be609f0073b13cd484d52e847055814f313817f00cfa37fb6a525fc3dfa476cf61563716ece57aebdecf2a5d18f15ff12de69e38980b118226b860cc905c0f80aab1a29f145038f915c324ab5610dc2ba5becc9ff5f176bfdc87ff78816983bfe6bd611e02182f7d19f67a9e83736645a463b063082cc34f42118366e7492d8af7cccb125b685a653243ea9f7c9e73f634bfff09c2cf6d9c9da1bdde493ff1afa30cd9aae668029cd53d9e8e008ecee4bdb8af8f4228c59f967fbbbc1ef993a6be95c63ee6bef43df65f22bfc96e5ceff55b93e09c9a7417bd1706bccf7c11c6fccf761d47a81b13f2df14c620737f1811ae6cf3c6809c852f85489dfab76999540fceac44fdcefadc03e163de09d934a72ecd05745f244178ce62cc867e3c3ea7e3f7fbffedd8e1aff28fa584f3329c2f7bd612cd52d814f892f757de197c73802dbc61574d0d9c9b0c91de8a3df48db0c899fb589bd6ba24b624d625a87cd67fb7b3326a6797febaf25f924a2d9e816b726b9ca2aa3658b53b7d69c05e6b1cf74bc8725f2eae2de9c8c07fb2aaeb78a41e847720fa06f1873a5662d9e492c92db78d1df7fc67f4e67fec6fc257cd8c82090dbb52645b58a6b6b0df4a567a226e375cb25d7091e027ea254c3c339d6eceb6774a18b854798e3d8de6744f54a544b5cc363b7467b9e8a30b6f4eb68263734931fd08c3b865296afecf650805f23ebd1876b80ec4a3146e563ac26a5e4e633c45cbd61ad236ec9884f461cd6ed7d4ddc9cb212582732f1f757b0eedbdc73778ffac4f028d0a39a6892f8463d6288ef6a54827d8d7ea1c43d115f91596aa345a9b6394c6358e7805141aec0fa23fb00346388fdc336d027931eb41af3e0d8261f1bde4335fd889a7e806d54aaf5f2c5302e72b59ab8866a0c9bb8469f26feaa7e0fe394e2a25947436e05f2ab8e7a8181b1fd5223fb0c9afc86b4a7658bcbbcbf7f041f9135f16b786246d608a3e6d11ef0f4ccd06cdc13672cb764be65262471665665a24a49a20a642afa39444f5693b5ad26ee414b265bc58039f9ffd9fbd3e6d4956c5d14fe2b2bd657f6d91220dbe27c1bd9a80309a5400679c789374040d2cb064c827efd1b2345674faf596bc7ae5337e2de72d45c68281b658ef6199929d5aa9ce835525f452b59f58d3eb89ff855ff49e3daf662afa7ce32b4c2817cea2cf3a7b099556d37d2ea2cc529ac5fca5379ee3ad9a5bf7f09b6506fc3a01c37ac7fda3a3de68221f3cb5caf13a7e7cbd918fdbe5eb50fb47a9ae8734b79a9e366999a131d7bfdb27a2f4d5cda57e769f41ea1ce55c34395bb26e6b5bfea1cd9ea695ae54aa74bdca9de4da8e2cee9124bcaeeabd0eb68554e0366d414d5fd2af634c257817d283db625bfc470d9b8acb35e627c56d9cc8de6e6abdee7e58d7f499c6946eb6c182cff497671d2674ad0afa1ccfad909314f7459dbd767344ba1f72e421698d5af7ff87aff4effc57d79a52fbff2dbfd1bfdf57ef03caef6673087517d3d26ff499f8fede99cb87a17a80cf61d7dae12fd76f53bd1fe56d4bbae3a68bfdb33d1afd6f3cbbb19551c084f9d7efe1995fee94e5fcf87c041afc75498ab0cd7d7b377e81f56e76828f07e33a298138beaec6d15034cf4d5daaf307d6e4cd3f88b7851f779396bd26570d67b107d797977adc22ddd3eda44a8f70ac698f3229eec73c46c7a1fe15f12979b51311abceedffe49be57efa92cf36adfa89f355e971aa3208f4fd1f2ada1d78e4affe18cd5ea5cad29f8d559f7523c556b0ab2acf6535697f7a4d2ea2c7da9df2f3b779940193ce9bcf642eb5c7389baa4b1e053a7cfcb2a3666a7c80d55b54f959bd55e60aef702437df62c3c84d539fbb35fe1e573b5872c740eadd7544abd1ff2a4f7954aa1af737ddfd76bff61991d2e7aa2cbb2cbf9b16aad94dffad76b744c3c5567f2f953b8d03966335c2688274c51fad57b7ccbf45cbdff291bd5fe6775d6d167c4d7e77a07a17e47e9f2ce52b5d6ddf7abf7bbfa59f3fafbafd1a164fed60cff39ef7c632c6499ded38bd87a59edaba21fd718469fabeb56e7ef1e7e27d5fb974c363b4b695eaf2bdbabee5dafffea57dba77edf495a91ceb7a41535df0fda264bf44752e7175909b23abf50bdff893e4bbf8fd9178d6aafcd6f56ef87f965b557edd723fdeea8de272943bdf72751bed77d45b37a7ff5add4ef6eea7575ff8223c3b3de07e98b46bf7a6fef5cbd1b068d6885fab0aaf6b7cb6add3fd4f35e3d5d637097a5e7d7a53e7ba9d798abb5d7d5e55ce565de97df915e1709cdacda376bea3e16fa3c79f59cf3650fa86795110b42fd0e4cb9ba8c67b2ac62ab55467da1c77b9f63750635dcbeeb3390d192cb106d915ecfc6e25caff3bed53f470d55ad71977a7ff71cf59365e7d2bf5e57d4f242be65d5f9bc6abfb8519dd3cc2ffbf1bc7e6953bd2bdbe71ae78ef539f750bf331a36c26b7fa5c6e6551f96c67ffd6a0f1765aa6d1de5dd7b1ceb457e2b85f8bd71398b7d8aca68a9c7a1f72ff27af5fe29b7c29bbc756c3a57ebfba1196ef41e960a1be145d7ab734ffa8cfe327daade0bf5afef6e9efb1af38bbade4ba556333b5763aff679705c37de5ce5f57b0c8fb8b3f9b6fdbffa9121351dcf8aed61fffbaf0bdd6add3e2bf46c5e3f2ad4a85b2f966dd52f9f19fafe6da1a6d9379bffbbf1f4bfebadffb49a76bdd5aa3ffdfa85a1eafb2cbffbc050fdd97e79b97d60e8e9fe81a1866db69affb73e30d46cd8cff596f9f2f2971f18fafac1a0db0cffe607861eebfff507865eecc6f3d3d3ed0343cf8d86f9dc349fee1f1842695c3f2f64feabbf2ef4fd8b427ff70b37bb5545569f1b8a47f96a24a77fe8bb7f2cf67f8cfed81f468745fec76cb19eeeff50f3453eff63b4d8ecff38147f2cb6f9fa7332fda352e44b95c5f650fcf1be92d3ddcfdf2efa7b73b97cdee8bffefccf3fffcfedfb46957e7efdbcd1b638fcb1d8ee0fa3f57a3af963fc79f863741c2dd6a3f17afac762fbc7f873b19efc918ff2f9f4f14348fff56735adff9f1ef37fca029f72fbcad17f3d726f33daadc6a3c3746f5493fa3fd72f26fdd79fe3cfd9a2f8f33ffe1c9f0f53b4cabcd8bcefa6fbbd315b8f0ed3c71bb25cbc6b7a7b182db6d39db15eec0f971bd393beda9ddf0fc5edc218553d5644be789f6b7e5ee8c963e1643fba13d3fc2b39693c3d6987f5f586b1d81ea6bbed686d4c276ab49becbf575baf17ef87457ebf33df8c1ea85bf3dd683bf93c2cd63f14ed3fc787f5f45eb0993cdd096cf740e5d603f13881fd7c54ff42359e9ebfd04ff5c603fded9187f5039f4e4f66eb2b751feb669417dfaa1aefab056ae2749b1793c5563e5c1aa3fdb6fe488f47fbe9b3f5e5ce623bda9d1fefcca78fbd194b54df07fa7dba4172b72b763890d90695e2410d6531fe9ccd46ebc2984f77d3af65df55f47785ffb8f92357def7bfaffabe92156bfe611d637f986816cf47fbf9e5c7c8777913c5777b225ad2682d1f6fe5ef9f8fe46c73d817bbc3e3adedf470d88df2e9e3bd62af59f978ebbd58af1fe9ef4d76d3d97a9a1fd68bc397dbfbc556aea7b3f542cebf3c757fdee7a3f5da989ea6f9747bfca9e873ab35e876ff30dd1fd6c597d97d6ef7a3d9743e1d4db4dcb43b5914c66c5ffd2e8a8b7155cd36e8dbab1f63bc90f74b0d0af4f5c5b03618ffab1f63f3b93e2cde479a69fac6c76771984ede778bed01fde49ffff1e7767aa8fe6bcc0f87f7874bfd9f2b776f37afc3bfdc4317f6be2bb4fb42fa7387255adac55e33e8cfcb07d8aa1f03bdee85be705d5fc9e9e9fd7661eccfdbc308f9b7fbdc1eaae95cae8c5c160fd48d99a343b1d13eeb97920be37eb98f58e73ffebc28d4feb0cb0b2dc9fd61b7d84a5d74dee6979f7bf717f9fef91f7f5ec6f5b95de4888f6e57c6e761567ffe4adb9a4471fff91f7f1ea7db49b13364b11e6de57f163b699c8cabb39f8ff2f9a861febd5aefc5fa5c6f9a4fffa0b6fe41ebfabbf5ae3eee77953f77c7e93570fca6de7c3599fdbec6af31e33795ffc18c510127db3dfedb4cf7fb91fcabeebea8b8fcd426f40febbdef8ad3f91f546c18f3f751befa4dadc5643bfa4df1aef8fc4b41edcffb8b4bfca9142dd1d84ff3cfddd4182f268bdde75f7253573dec46dbfdacd86d7e57e9aac3d8e1dfa9b7c5fefecfbf3f26f98f3e2679cbe76e5f91ac38f27f27b73466a3ffb52fd68bc9ff6a99e67f1e0eb3df279bbfd4be269d0dd37a6ad8ffad8fd9d6ebffec8fd95affe48fd9def33acbb21acda6a9f3babff531db7afdbff5315babfef2f2f4d2349fff3b1fb37d7846ef8b10aee9a665fecb13ce7f7fcef6ff3d1ee857df70ffb02d00070088c007004544b27a4bfb6ffefef46a029c5e522cf4f8842769066d199f01c2e9016f92a7383ddbe7d09a0c32a45f25de9459a33ecf63e7c3580a00e2140010969bc93c6f32c350c0b0fd0eebc37c3bf6d69b5147745712a0335500bbf7d5c87d9dbf9162bf740500b05c0f6e332fde069c0b95e1a389833769528c8789757238a30a00c6f8fc9a1abbad652652e17c4a00625900101fdcfa7cea01ef4b470fb2abdb93cf6c505ffb23ebe049a0cfbad37497bbad72021d956c38c067dd0680534702c1763deb55f6cf89c8eb761cc72950e5eb9940f4292db3ba6c3cb3653233f6c68ba06be145fa51fa7fbcaaa07f3d30b067688351c3c1b75fefe58f7ff1beba1fefe1d504ff7a5b5efa11f0a51901ef052c0104efa78abc613d9e933e381b2c6f0978031f0b7d2022fce179f7bfd47d73de80820543cb50d5783bd20bc111d5a3aab93cc328bd8c88d37b6bfa514d1b008a6a9e375a8f3dd0b4be5ce168da77fab17e6cb47ea95f7ca3b5f2b9d7fee3aabee61451a8d705336aea7bff7e45c7c673457bd7fa0012ebfb0fe3658621f179f6a5fcde1ebed224fbb5dcc3fe5da409507129a7108061a8aafdea5a3f7fe8cfbbb6f76fb246e3bad5f7be3dbf7d1f7ff66d7cf9853fc4d76af1d0beaa9f7f9fff377a759f9fbc8d5fdb51359f1cd5f0fbf3bef777950701c89951030780ec713ce3aa3f2c97b7f97ea7abf6f2db7853a49d5fc69b7fe14fffde1f50111bb58a3f8ffac78c9a40797c95af61d8b7f910a19f87f5d9033f6ef2fcc26fad6fba3f2c8f1f9f77d32781fd9b0fe30dbef13bb8ea7fed917ff28b7c7fe117b1bf8f2736ec475a7ed797d8a8ff22afbf909f61980ff27d9cefbd3f810d536cc800480ef7f6e85c4d2c8fb09c89eff6e37c9107fa9b9b3d7d7f5e5e3dcf308a6a7cc5b7f9fd301f1769222bfd4f2ff64424d1dc4cefcf17b7febceb7c7eb4770a1e765df17b769bff837d5ffc4d6cbc5cf5e566efd9177966a0dd30d3fe01be3d4ff737f836df1cf9731bcfaff6f2c03ffb361ea6e7abeee3ff26efe05eff3bffeefc213efa634da33f091ffc917bd74f1c9ff4c030ac8bfede68d4b72ffaac3b0ebff077fccd7fc383fd12f9553e585ffc125f72b8c7836ffa5fc5931bff88c4f2fcdbf8b3bf43dff8ed3df8a76a3c3952fe37fe7e95d7177b5ec157ff8dfe437a3fc8177eb13fff5b7c14dfec01becaf7bb7ea37e1a0ffe8ef8b7f971791bdff45b7f0ff2f66fe5557d1fbef817fa4d5e0ff6fa63bcafec4d7cd3ff87f9fe5e1ef0a05f0ffef6a68f26bdc7af36fcdedfe9f9a0be3c3ffafbbb3cbc6fe3f3aefed1ff62dfe85fbfe28d17ad7fd7f6b1f1f450fee0ff2bff72d70f0e37cc25bed13fd8cbaff804c7b7afe8117c8da7d7f9fce27ff22ff844c743ad2f683f5cfbf33bff1ee887f9ebbce22fe3fbe3781ff4413fcfd1fe42c7eb077dd35da70ff5513e5ff18ef845dfe517fd78bec8eb9bfff6e1abbff7eefa95c2577b2deeed8b6fe37fe4dfcddf15f0035e70eff4037ebdc7afeff8f641dfbee38f0cbec69feffd7dc7d30ffa66ddc6f730fe0b7d93b7f6478ff343f907dfc6f388cfd1de6efa5ed3f148db9ffd0b5eb6bf3defdabe26b9c478296ff2fa393fb8f3eb2fe8aff8fe577ec017fffb73fff226ef5ffcd58ffee33bfdbdfe77ff74d16fad2f57fea9eff2f4bef0f72a8f1fc783f9cba3fe16dff5e12e9fbbbffd2eff07ffb1591a2dd1befb8f473c89fa917e93e7437e21bfead7cff9c9851f377cf40b9ebef31f7ee2df83be7fb3af87f810c063fef280af8d0b5ebafb039dff7df70f3fd3b5af74359e3b1efcb9bdd60fe7dbfc7df9833e3eb6b7feb2bf877c58c0d53e2bff73afefc2f778f0abbfbadb9fa15cf809df6a7bfa05ef32a3f588e7e74bc38087f6bfe0018d6fd4c51f37bee81be2b11ed3ed757e84fe2a67c68bf86eaf9e7cccb7bed8cbc3fcbee53b3febf7f4defe6e1fdffde7437cf8ee6fe44ffaf55dbf7fb51fc4c7e25bbc82d8307f5eef78c03f0ffa75f737dfe3c7d7f58b9a7ab097c9b7f590dbf8ec07fd7dc8471ff109cae3413f2db49febf8a9d68fd6cff9ea837d16f0433cbde8ef2d9ee378fc2ffecd308a07fc72cb5f2ff129d0e542d33fc9ff3b7ebde99b719dcf57f97ccfc7bff3eb411e77ff7de9ff9e5f3ce2ff7b3e746f2f2ee3bfe6738ffe19f1f8dd7eb8e66f95cfdcf2bb87f584e0ca8fe643bcbaf907ff3edfa747fcacf1d0433c97f0e83fec077b717fd1efdb7ac9c37a94801ffcf3ad7efad53ee8577bbcf4277fb1cf073c76e7e7f778ffd37a85fd65bde05eff1fe4a7bfe00176f567157ed5e3c3bf6be20e157ad67f3baeef8beb6ad707d6a6ef3ade4a78ff04c7e29e9c7c52d7868e2233e8da2456ce0cde6c522aef08359bf755ff48c6b6f3a2c64762db3e53f3230d6cbfa95633fa6a074bb53dd2b9dd7e51fb23ebda91a79a4726ed6eac9e0d66daf1cb891abc6b27dec98bf9d4ee754e9d233fd9fde1a97be4353bed9f92a3d3b1d397d360e64cedc1f0240dd7b7dfe2d37ae60eedb7ed693b733fed313bed0df7c5ceb7a7f2e865f664776a1ebd8d3d2d4fada357b3a5772686dfb1e7cbb377f40ff6727ceece82c05ebd9c87b3606f6f67e7e9b1ddb18be679756cbfdaefbbf3f6d85ed91fcbf3e1d87eb277c7f371d6a1f6fee56c1e3bb9fd393c3f199d0ffbb379b68f9d867ddc9e8d63e8d8aa2cbd6358d8e5b21c18d1c46eb0323b76a9fd3c2c8f464c6c7b589e677164b7bcb2398ba55d1b962fb3f8d9369aa56108b74598e91fc5aac5fa667414cf2d569ab19190168fcd6496782d7e34fbc744b49cd81cc4c9a4e51866764c362db769e6c7c46c795b7366f468cb9f990ba3d76d057d736df4a6ad76d3dc1bbde756e7c554c73e6f852fa669f4c7adc8302d230d5a6f5e7d3b1b2c5aa3597d3f1b98adf1b27e9c0d9d567eac97c761af3599d51bc761de9a18756b365cb5a6b3fab331fc6ccd9a0d1267a2358f1bee2c9bb5165e238cb3666b5936c4ec8db756b346eff816b7d65ee375f696b5d62f8decf8b6696d8e8df1ecedd8daf61b93e3db536b5b3666c688b78a6d637d1c8d5b1f5ee3dd18bdb73e9a8d83317a69ed5e1a2a1ef3d6de6898b371bf751836eac6f8ad75786958c678d3fa5c365e66e373ebb86b18710e2d5536d9317f6d9d664def982f5ae76db363e4ad96c99ac298782db3d94c8dc9a0553f3687c6e4bdd538367363d26a595e731e4ffd965536d7f174d07a2a9b453c5db49ec7cd0f63fad97a19373f8fd356cb664d759c392d7bd72c8f33d16a759a8de36cd3aa95cd1763766e19c366cb98bdd46066b1991435d2b19ca3cc6a7467750c59abf19dd58fe7a2e6c45666cc0f356f6bcd660b5af367d66ab618d642cf2ae3e55b2d360c4301583094624ade2c7fa820066ec34cf1185e6d32535e0c539b7a4acc886f3b4c0d8f44da1e5332a6ccf6b76a39a3891dc46a13d3dc6e33551854d9215366cc06769729ebc8b676cc542de6608be689c73cb39397931ff395dd67a7d0e04dbbdf3c89d871ed7477eacf1c61bf1e4f59ec523b1b9e5633f7d57e9b9d363337b747c7d33e76cff6787952b117d993e5a971f4727bca4ecf47af61cf9667887d6ecbddd931fc91bdf0cea1e15bf68a9dfbb320b137e5399f054f76713c2f676d61bf0fcf9b637b627fb0f3bbd1aedbbbedf9d368b7ecbd773e191d611f8ee7a759676b7feece2fb3cec93e0ecfb559a766ab4e4967e1d43e2fcbc88832bbde2cb3385ad89657becfba35dbf6cad32c0e6cbb599ab37862d758f9348b0fb6b12b8d190283b1c963b168d1be191aa2d1625b338e85d1e29e298cc469f199d933926ecb61666a2459cb29cda191cc5beed81cc5896a797d736224ad96ef99f3b8d769f94d7315f706ade0c5dccd7a65abb3348fb33eb4c2be59cefafd5634369bc7fea215efeace6cd06fbd19f5f778f0d11ac7f5c371f0dc1a1bf593318c5a1356af1bc3516b52d69bc7e1bc35edd79f8ce1ae357da91b71c65b73d6e046f6d69a1b0d7f967db696b346d77823ad55bf91186fedd6ca68a4b3b77e6bbd6c0c676f8bd6a6df18cdde0ead8dd198c46f8dd676d9981a6f46abf01a73633468bd2f1b453cdab63eb68ddd6cd468ed8e8de3710cad7ddc288d71d23ac48dfa6c3c6c1db68de66cbc687d8e1bcff178df3ab246ed38b65b47a3498dbcdb3af59b8e914f5be74eb31de79fadf2d814f184b5cc59b33f9bf45bf57173709c4c5b8d6d73644ccead66d994f194b5ac7173194ffbada771731b4f67ade74ef33d9ebeb79e9bcdc36cfad47a69368fc68cb6ec7ef33c9b85ad166b9ac7d9b055eb375fe2d9b165749aadd9acd932761699c9a80686c58ff2b54696567b268f35f662f58ef3b0e6302b35e6cb9adbb4a6b3f94bcdf7ac79bc486ac1cc52f132ac455bcb300cc333ac993ad5f6de93258204569c86c29fc39c5310de1c269cec859bc0809354f013f438e182cd21e450087202ce2114208c1a33ccd800e385d5acf84518efac26e32765ac580de2a63072860c9646ca5a616c4a23612d884b657499ade2b332dacccee393341c668b58a9da963d67f156d626ec49c51b557b63968a17aad66656164bd93258338b2702bd5f88de71cb1a59fc265a4bd6e0f1ab6cbdb27a18f7652b62661e27d0a2ac147108f6919decd89376ce4e45ec483b65a730e602bd4c1883b4093b5add9a7c796247de7d162f05fbccba4ff0326707bbdb142f6fec90754df542d96ed5fd50cf212bf6dd8578f6d9a6e8f6c0526c61773b60bdb345d6f59595b179d6e5d2eab0991d19a269b35916bd8866ce26fba814cd90e54574164d8fe55974124dcef23052d0a8b1b1197daa46938d45b4578d331bd9d14e36f66cb48f3e4463c34669f40e8d391b41b4558d297b93d142361c96f168a6ea353634a389a89fd8c08ec6a2be63af69d493f580a5324a54dd61a98884aa5396f2488069b0be1575a569b17e1e45d2acb37e1885c2fc643d1579ca7c63c28a18981e137e04a2acb3ae1dbe4059b06e163e41b9609115364599b3a808ebb2ecb3c80f4d2863165ae15996010b657852a5c342112a796eb04e1aeec579cfdafbf003ce920566b851e7110b64b894e788f92a5ca8739bf9ab702ecf8cf93c94706a316f1f4ee054328f876feab4612e0f33388d989387a93c75190f432194c1980a23a5ce8c41d8116ac7a81ffa428d1909432e946060870c94cb200d018e356a981d038ecfd458756c753cd19add7991c703ada9ceb33816b496779ee471415bab4e1d8e3dda824e298f11b5f71d253f5bf445753ed5e7137d919d0ff85cd1a7acb3509f6d6ae59db9383468c3ec64f230a775ab331487949a762750fb093df1f6cb0dbffefbefdf7ffffefb7ff62fa355e2599d39fab18a8087b336fedfef5afc8f07f7efbfff4ffdc5bb7f462f7bfc8f3e8c965a00e079a8d8cf48cf4d00089e0180bea0729ef13f11d6671f0a006a2bd4da1e00f0370140821400fa21003829d2bad3a18bb4819d2e727c520b005cec847c7200c8b1132fd52b96d8ffb481740d1fca6c0058b87ac54a02d07e06006bec2a58213d2a00608b9d0475a4a7a65e11d227f614002dd0f87638880e5ed1128776c08774a602803e61fb23b6efd42400a3fa3ce10c00c209d26d1c5589f5c32705c004f2a7ee2013a6c8840ceb37702a11d66213644af30900ba11d65fe37c9fdb486f91d69c7ed9226d63ff277cbe8dfc8d0758ded44c1d207dc6fe8d15ba98353219f9c93d1380d077a49f914e9076120048de1400cf90e92eb64f0aa4c758ee61fd04e7c7e71c80f81b00e88558bedaa3d0de901e63799101903632b9b7c3f2bd0f403aaf48a3fcf911fb0b732d64ac8f4c271132bdbfc3721bebc763a45b7a1b45011081e34f6309e0b858bf87fa927e20dd41ba8ff24f51a84e0fc7f31a00c06b86e5590a4006c8cfd73a96cf707e190a61902900678be52394d7608ff5f7488f1b37a53be70064824c1fa2689c671ccfac835e1c07e9fa162a2556c88e4877f1f9ab212aa99000ee2b8e6ffd82f41ae931f6bf457ebdd51480bb40a57d47fe8f6648a35190dd0800c60469b41772c020311e62fb26f6fff9897429013ca24f63217f72a1003c17f97b467dcd1b48c7282f1395761261fd57944f1d4d63b21500de08fb6b46d7631ede06f9ff8ce39f2a2c3f60b95e689d7590366d00d242f9cd464837b1bf9a2e5fe3f3347f6ac8dfd9491ba1054001fb975d0c651c698af622d18a7c14bd26611e233d0c01a88b55e768757e8ee5fa44eba287e5db3d006d237f164a01f89f19000dd15e9701969b68c4113ab5e5129ff76403d02e0e6589fff15b585f9bc64a1b3d4523d646b91a0a80c0c7e7f790bfab83020822ed349ae83474fd3ed2fa3cf41a952498a50034437e6c62acbfc2e7bda1aa6d50ff834f1f80e6e80fb7be04084aac3f412bde1648bfac00e8ec804ec711006d9e03d039cab340ffd4eea0135aa213295089da02c7bb427d7b4fb11c074d37c8af77ecaf3dc6f96de748a3fdb465814e0cfbfb40a3696fb17f7df9f181cfdbe1787768ef3b82edcf389e03ca7f37455a7beea3f6f1a88f1dfc0f3da1ffdacf2440a783fd95c8da431bcb07483750ab0f26d212e76ba17d7d7605406783e37bc2a97ca23d74f648bfe07c3ef166e784f26e61ffc731d647ff4ad1b2e1f8240142f4af8ca03cd45e0184910fc0388ae6e46179ba07602edae709fd69283900f3d7d7c8136e4d74ca38a1337612aa0c8085e8df4ab4aff02904605df417253e3522f83c814333d17f465e01c07a58df44fb88501e0c2501f544014419b61fa07f6e70a451cb980e620db48f089582e538bf261a6564e27827e8ff9aef1220b2b1bf19fa33cb13005d86f41ce56561bce906d8df02f96be1a0ba68146c8dfef50999dc4527ccb6a8ffcfae02e8aeb17fbd49f15cc7f6c71c8308ead30bbace6e1dc7f389f6f38291a36b607bb42cb071d431fa37762e91c6f67117e75f227f5a68aff100eb37fa48ef919ea400ccc2505943271ce34cd813da470dfd678c9c63cf78b786fa111f91bf36cedfc0a9c40de45f0dc76b9cb1dc0801380c3088450240383600a72ed2ef0a40843e0067cf0084f84863aecd9d3ad23ae88d3906bd29063d0c25629903f06081348e4714d85f1b9d38457d1107a43be8e418c3f2b305c0a30dd21b2c7f3101788c4e96071220715600bcf786343a91a49701f0418041158d22c178c9df3c0caa0b0190ecf618540b0caae8149212eb4f707c1eda4362e3f83112101fe5dfe30506dd33d2881f7a09d2080a48804ced0d717c9b09d2a83abd0d06dd0f0c2a6d5482de1eeba391934e80ed4d1cef618734fac71e8a821fa7d7d39e7d8af5550be98100e8bb587e7a427aa100fad8092f713ee11396a3d3e3660f833882947e1ff953d734e2897e8674e3036994677f8ae3b5b0bc8bfad75fe17c9f308874732c2f903fcf06d20d2c5758dfc6f9c768657d0c6abc86f28fd1dff56b1a2450040918af53149a43f4916eb487b4ed03382c441afd47dab7011c141a4950cbd36906e0f8389e1eea57ba29009c761fe9b37ec702fb0b917f7d54f2b4892021c2f1f55149d3160770f05124ed49805717e95e076974f2af21d27dd49f574cfa5e537cdea08d34eac72bc60f279b23484904c02bcacf19c548e3fc5f8f38fe7c0c4086e8045ed16b38531cdf1083c66b0bc72351df326c3ff0707e0be457d6403ade03382bacff86f63a18ac009c0df6ff86fe6f20b1ff02f93142fc30d0f3d7206484ae6170c4e7ed513fc618ef079609e0a0fb24e31709302402c0396d01488e787188d0ce299b089ad0a90c7bf8bc3a3e6f82ed876ff8bca68334ca6338c3fe2cb49f29069de1d6429085f639ad61fd13cea785fa36cbb1fe33bf6602334b9fae469004ef00446210cbd0a85c86fdcdd17eb2571bc0c57840e6681519062dd7477e2e50de19fa47b78de359a0ffcad05e5c0cba6489fe33ab6708eaf079cb772cc778eda217232b043d6f885d5c81f6b142fd7cf37c00b787f25de1f3de103fb8298e7f8dfaf336c0fa038234e2dd37c437ee10f56bc39146a374df501f36a80a6f7b2c1fa3bd6e713c6f2854778af2de225e7d43fd736708d20a0c82231e02b8f306d238de5184e5cb1241a62e47fb74d7a8efef18df4723ac8f7894e0706134b7005c74d2e403fde1e888f41efdcb0ea1eca889f3fb3c205d2a8031203f4e68df7b74ea63447a6e89f33938588e8ddcc610e94f01309e207f9be86f3f313e8c112fb94f27a4713ee3cf1cc0b5f179c714db3771bc351cdf11f1d6d8d85f8e641385fa9e7b483304b90af174de4f013c07fdc909e3653ee2001e823a726e23bd3201bce0a04132d64710e1a1d29212fd55fe84e55d1c7f89fa39d1af3c2409826889741b9f874c2475c4c39321d203b4b73ae663138c2fde1bda4b03e5373914001ec67bd2c47c696262ffd311d2e8baa614e939c6376b2900a611b65f62fc7a42fe4c532c5fa3fc9e10af4d515fbc2dcaf7994b80e91269cc1fc833e69bd3776cff81fc7d4655999e70fe7bd48f178cafd326967fa2febf207e996252e7291caf8df9ca0c95cc3b63393a5d98c5387e13e5d1ea2a80d93003f01aaf481fb0fe5427013504fde8ff679b1526019f486316323b62b98dfd1b09d2287aaf86fd1b88ff672dfbf27618050431d25f01f8748734a6b232d903f80e96131caf9c22e8f74f9844f4b1fc3d04f03b584e91fff26c62528120942d90c67cc48f03bd12a000e688affdde1a930ee4ffbc5760d2e101500759315f5800fe5b8c4908c68ff9078e274f00a887f63bc7a0e74f0f9894b80260e170001f5d0bf59712601162fbd5008006880717431ccf16e936f26f81fecdc7fc8e22468505e603fee73bd2881f960cc783a08386888f96f13da9c1e72f07d85f03c71fe9fa0b1f939c2e26391301b0fc407ebc681ae7b3d4fc68d531e9c17c6f89fec2371a98f4203e5df13d2641385f81786185f958c019004dd00bae0698c4b8288f0401f46a16629284a05c27e1ab3dd221f2bf8ff25b35570041770c4053c4476b54d2a087fda568dfeb2e96a7c8cf5794df1af3bd608049d22b82ce35c6c3208b30c94268bd5edb00c1688834fab3352a4190bf00d0e112db231e0b66334cc23c05b0c1f81fcc9f9146fd43cc06c1ba834919ce6f33c7f6ef28bf11f26383f959a09390318e7f83a03a38ce3169437fb965f87cf46f3447fcb2d5499e89ed27e80fb6986f056854748a5e69bb447e3ee9952404cd5bc40f81ddc2244fd77fc6f96afe4b548002539736c5e749f48f05faeb36c3f9cd917505b2a6ed62523a47af5ce43640db437d59b8588ef9453b2891c6d4a2f80c01da21f27f89f94581f1ab8d99175d9e14c03b607f02ed6785a1f01db5ae9d62fd35fabf77d4d7f600f56b8dfee35de600ed6c81496686f5112ab44713a4313f7f47bcdc46244ab7080ddff5f326587fbbc2f62f05407bf68a4928fa870f370568cf31e92c30e07c84f83c4ccde93b86ee0f4cb2da1894e9fb0669e46f7b8bfcff20481f707e18a4e90eede103a163fbf388345ac98e203f540d80eed11feeda38be12eb1f30ffdebde2f31a28ef03e29b1dea731bf107fd8c31e9c578d47e42fe7ea2ee54ebf4549f8fa321c4a8cd7d7fe024c26d2bbe089662d356bc0b3d7f139cc345b03449c4b217e867cda89f0f9d241b062adbc4829bd1dc26515f34ba8a9f9db949a2321b7882a764611318103a9c879100b3cf951971560fe3844c885a05a4990ffd05483f596e89da7748c30ac8193c3ab03caaf6de724fa6429a7d7e2afa5e2f5c7a62e56590070e48052a5494241244e17b52b641a85cf77952e1fd9e3e458879b461a12746c4236109d48448420d78067d49105dadc379368144b8fe997f42cf77899e739a442c2bfdbe8ff359477db1839e3fa97870bb3e3b656a22cf3cc1070fd7e5ad4e0fcece5cb8fe22339da5df8868b620734173c8032a66b59dcc6aafcc724389744e01f2c05881cf41c6b9908282f2c7200525ce9112f0255ec72fb158d847b16831771ef6dd7917a8c82551abf7a8ccdfa9c8895ff5affaaef2a90fa15b5ff9d45991b60f3e75959f74a44f3b0b8bc2c2ea98feb163060479cd4f853e306cbcd8548247a01dc287a225bc0a82503610d932ecf947e41751994764ee9293f0c8920f9d799a9245b8e828aecb9c539692857f046c43fd2551d9d25f64f588d92458e49ebfd07c3663c5cda82f9ad132df221d2dc3b3a778233ae79beafe6fe94658fa332d9765780ecb1ce9292469ca14ca243f7fa11381e37a7500c762936afcb9d6fd709999c1c2771d969da3a5d8f8324b4982756de29034bdcce9b1edd73957fd78df68d73f6b1ee8fbbeca91c6711bd0cbb65f788273ff654e179e945919a2ad317daf1195593362d9293863db4b19dec7f62cd3fc094bb8f203c71143920da3d22fc3be7f9f2b70014a7488100c44ea109972029c5051b42908464548006d4becbb44ca5757f80454d8256a4fe02423aa424aa188a8e294c87d4855ce40156d26a44f200d884c7d4e429740ee10b972c8291d12e01da24c0ea7ac43544e40868cc9d427823317cc0e28dfa190460c784845d6262a77e81c7a44e61c3ee4889fc2116facba54e03fd700617640f82e55aa4354c8a82c220ab24d217328813e91c223220b88c85f1d2508557944201c50957b207c060a7dceedd93e95660842b589dc7b44a56d4e7c972841a90a39552907c51d22328780a0bfe793881ef9c4a697b1b72c4ad58a80e08c40e61248f19a13b1f7a9f439059930b972982a1c2aac0e137b0fa4df6144722af32e28c140651e251927a07c2a39774ea947c4ca2522e7641e0a2a52978a941125bb54140c54de61b07241f20e13c86b9f52a53202c227c2e4047ce69c444084f4a84a03aa420272c508a845e517de232aac800aab01caffdd187c2a85cb4f10543c0f3d0a564065c82814284f0a621f512929c87de8c2551e82c2294f298e4ded1d2af60c841f8042c6fa1d2a3801117222334e04a704d20e858212903e17564084dd26a80fcaec1075995b64f7b57fd4f12e04880d8c7d28ca1986778416f068df577bfde617b4fd625cb8fa3b95c5907cb3ed9b2fa8fc5d5bf28bbfcb7fb4f588699b6e7eb3dfbfe3ff7ef2773896577242fbceca50c2cd7f45f798430cc5130e7644c1ea1365a52edaa8f0bb54da2eda1e88dca5227788e6b5ea32593844280e328c98c8ba0ee41d8f7202927342f427f70941e557825169254c714ea4993059700266c4e5becde42a2072ffea4ae95099f90c72df23160761b53964dc99639cf22901d1a7c2e23e819840d833defdc223aaf0bc2c65d24a9974de408984a04e137bc420ef5069790c2c1c5f48206d33698520d13673b475546d9748bbcd64e850590cb9521e1505faae1e9bfb44cf4159c28794305960df9cc0ca7712c1c99cb799f4b937573e51661bfd939b641d2265489408e8298c18084ea52518e40ca4d563b2d0fd794a10e333cbd171b55dd575c0ea3ad5963233f4315e1f20e74005f4118f004de75086674ffa2f2078dd4f744c99fb8b8c686cd2e3758dbf927c89327596e1bcf2df7b1229170c456099e46bb64807e3e313ea789fcd9e802521b1c0ec1b48f77997298d3148a6b141de7546407cb2ff708d67101c227e0a094bc248fa1071130226d08faf2fbbe11d1c3ac00aed0756c02dbd7a7ac786a8b7fb6abcfd506341072cd2561ce3256221c48b0eda08531cb1d643dbfc821fd1064517167b52cd734fb43e7f8047c5ca1380fff200ffa1125e6978953ef7f3dc3f3eaf350e2cf3a34f3f24ce9fa85587ac2cdd7eeac90e4b04e150b8d77ea89800feabfacbda54be4101fbc881d3ca81c2455e05f3a2cf4448892c3c02ab88aea5af0fa5a03f29f4fb1b0384d21304d3007da2b24547f99fc89358f98d706e533d37c58704e7b6b8c4facaae51b615bfd89e84154ffe16ed017f25327f652a5c92b998412f6f44d4a6c1c28f4166a9a7fc41b8b409e973e4f9e932aeca1f2d1123f883d129a514fcd7106d90f15790923a7d8e18e02590e6f43497f14cc8214f44e89270c41562d19f7e4d1784bd01c15f1de15820fd29d330564d1fae8900717284efc33c3d912fd7fc35148287498ae1843f9473029d9a3ac1c469ab0e4bf890f7d88925619fbd218695a8b7d127487fa3f38c464661eeebf2b116ab4b152781b4092da10d439b12c1434ffad4938a10e157d76bf8f64cff3a9ecb99a50c7c94f782a3fe7b403278557402ed1476987d537f53c9456c4999d720c9af9873e39f7daf23fd16a0ef9e67afced7f2d4494489728a251f7ad2bfc5a3b0f40de85bd441fcaaedc6ef42629290fa98b30c75cc427d9a8b17c0fced24aeb69656f694a7b79caeccea11cdb6515fd4a08fb1263c5f6cb1fcd657c917b7b94038d7187e1381cfb53f23e53b272943bfce80c75414be350fc71cec9449df06690754281228e9c2c2664c4997ca8c7440bad0f329517b97e0b5e28bdec2b641baef545894c90f49616e5cae81c27c565def849f986e40d42038cdf7a0449bcdf9f1a4565d90565b620a99e8bca56fbcab2a6674a1f2bdc47784ce05794465c843887b7401efce96b799b0dae10e7109274cae38f10a0242ba6bb5c2fa2e5519074bdf73464a63538748e91088f6ce8924e1a938532519c8a2cb61ef83f2db6c0e1d0a21a5180be630e9403a724b58528acf287a24e1d772010954d8e4f81c7954e65e75788e628850d0269003448aa03f594795ec96beb4e9351fc15c2250bcb2e5fe053f94d90b887ca87ffb8811ae7e187522db067df48797dca5ca51108f68bd84413e2262e511998e7de174880c5322a443e24679bbf6d2572aea699fbc6754d4074cac9a551e3b5910d2a9b920c94cae3a5c9a6d3e0f67cec9194bcc6b672a2322f7a8106fded1466cefb8226390e7b7ebc1290d92244928ac9a54cc80c862c85e76b506145d4a20636b3f2036c681ea853e9d9feaef1be5c02548a02b88802c11d185a7bcb2837ebe6092bf3aa4cae79c3275becd7f1d9e9007168dfa05d198e98c3696a68148ab9c49680c472e79ea057be978e5396515b73cc55f8385e6ff454e79d623612418700a22405be9093ea062df63a2e8f1933de4af7bb2dc10206a1f909ece653c7456c6a74d7a2a630ea0cef55bfbdb755277c42a7ae56a348055f42acd205282afe69823e42e0107ba6d89715bbf82a073a31e8debeacabf8e341420aef610c7e3b388551a5aaec9ca05e579b7ebfafe95a6699a0a1944b6ef403343f9b9548aebc2111836500915ff998221101b02054770380cbefa43f7e64368f6b8163270205b044bed137f290faa3c7b0749babc62812b1df5b20a0ff531afcfa7d0bbe7ebb0f52bbcb8b9fc2e2fbf8575c191d6d7fbcb907165ca4cc78eba0ce6ef6071a2525a2c05137db61cf2cb1a8b6073d165f3a476f9752fbfa3cb6fa3fa15d7df1722f3889fb59d8f82053d75d7af88beb6eea9f71624a1ce0501bee933e5d0167002b6823e9014edbf5a73f80b9bd798cb22ce09ff656e70d7418e7c8cbef39988415771edeb9d5e58d73844218fc58df7908fcc1fed9fe6a7eef9ca97d425aa9613c4c16a4546d59cbbfdcbaff1097d36808dbb62529094c42711416f7f9185dbf951ef4ed6dc59e463275875d9fcf041c52ae2eacc2ffced5ef89adcf9997eb6e3ccbfdc475672c3282ff85abfca9aa1b2460a80f7b3a673d2baa33168d8e3db58f24bdcb46870cf9386577d23e71069e497c724df413f9d13c559b34d184860c6a7b17036794d2c93374fecc7aeed57f97d59e1d5b5f8e8683c6a012167feba921c38709fc9e7b97ae12d10990b23d14c7af63be7939e7fd18942a1ed02fa0dee9065f5c6ee156f4a8d373d001bda823c01c0ea27fba9e284b6978bac7925eb0aa30f3dc9b7d71cc25f64a84fa6c68da25ad70d16be7b5dc7d5eb44c4268ed4d8c27588b6bd01e278f4ade817759cd17e56e3d31924da268fd0cb1aa1e2da0732b96a5e7e492cc23eeb69fd3000ed8d17e62031bb51966bde319209a6560e95a643c12ed067b5c1f6893031cf8f39c942cd5ba5061cec8088222242c66d40dec998421a519906ec040313aab5a29ea87e0732f3581281bb78837d7f3d483d38b69341e6885fdbb22a570a9d39c454a46d26529f9d25cea1604a3a4ca0ffb58523d58fe3d6a25395bf44d808740fa12244dbf53c779187e49c1de19ef3b5300fd7f7b49fcbd7d11263ce437ed5d37a3a40f939a5df88fa7abd7e41e629e686b4ab0401110e88c85c92602ef88cb9a02022f548a2d74f80112b7c1355fe745a8a4db0149b10f2a04be7d06632202d81b1d27141f7d53525fac7668fc990801019119947a67e9bae0bb3d271e907ba9ffe071579d165b2206a058ff3d7f18285d097a4a7e7dfabf2c76b4cbec5d86f7b0a57ff8738fa3e57ad6f25a9d6e7efbcabdad52366916b7bbf4c978ee0620f66df91c22132ed1118a674be6f0f60e5f9386f957252acc65c563cc13cf95da4ae9b746af5b9ff4664baa660fa4f52256148a52461f44e424608f233733ed52ae82f2addcd987e06a724adf251133c3a029788a2e726ab1e95a95ba04e26615404545cf30b8811ee68fbeea0ff5f089a40b0829302d0322f6f3af00aa7ac0c9795fe5cd6879bb194e5453f74ccf410df5d7d99cad24862fec737a4c28455fe4d33b4798c0fe8033697fd1fcdfb48cb44687938cbec9abf4c2011834a4e99cee59d6a4c55fe20b5ed6f6eebcbe4fb5abad6ebadb30ccfd132353b987f5cd7324afc0d2ff30ccf9ecc878e74327a2a3a54e482a84dca12c1091a3a6d7509751c108a52253a14f6113999ef0cecd403db670838890829bcd4ff193ee4ab1f18f42a3fb6befa35d281a4db299574001305155350a94754ca40c65e12c68cae264499384e4e951f429a92b6c8bdb9aaf6815ec126ae5cc5ac9f7f32d57a1983df2360732a43071659ee2a99b7c10a3057a0c2da5efc4ee288abdf4993ff99bf7c5d55ebbb4fc1659d77c694fd192933a649413c225226579857056c914f28d9e781f41d5005674af460a3bf62e154f94b708dbf2ba00a7ad527c77a0f780475f3715de8612d4863ba94489b3c6048efb64777bae4a9dad6f57a07e9485e8f252fc9a9d2475dd60bb17fadef7abd75a9fd44a9d74fe793e788669b88be015bfa7d9642c495d947ecc712d92320480fdcb0aa93497791f55952ed6386d2eaf6807372ae16ed7b10b689051e95914f20f141159e84bc0dca818b3f64813455852f1b8018d35d646daef604a4c35714753e33934536c23af282434330372c1508d37b4e91732a130e2a77028a7e39e2040a9e40e8919e58119133bdd5a9d7a338fa8f91feb41d09f5be1a62f7caaeb57f5d1255f13dea8b7aa47e93e7f4aaf5e64b8e53de6c1c7c92a4be4353dfa5929fdece7b8752e9d11ed0aefc2977e9d502c1db64e50764b03e7bab807a4bb4199f12e8bf4c840c88f2e98e15aede03dd94ed1ff1e1539782f43d2a165650fadbfb7aaaabd7531d092fe0f838efb327fd1924e2f5b206a9e71ef5f31af4c3e12586204ed678c613da4f6abfd6553a5f443dac41df2421c6d79b5ed9c4470c798b4d6919ce677b46b2842afeca132b5164bf7684bf72df944f7ad227f3c2a5543a14a4d306e9ba52b804697fef902473984877c2824a07cd70c4159754d803d60506273ee5bd6c042a966ecf3db82af5db90fa14d282423a26322f88949c48511023c5be0644a43bdfd56bb911d7df2d6717fe00380a36c0f4ab2a67677ed9f3a86ca91eb1b419318b87a7ca2f07e76c4154f6ea108bf27f307fb727a8d3cb468a141b47643e035350aedefc52302a4393ce61f0a452c79169447a0786b1136d499c8a3ef460e1eab9169b20d933a881cf94d9a6d03780fa6f1e4f39e1d9187115150e25c2c47e9cf69948bdc6978440407f6188d8977cd417a40efa9520ff9e4fead883995db608ce16c339dcf3798dfd2b5fa4b8ce03aab8aae3e3e2122f8f17dc85f1cdad3088d697b3236d52e1319b4497f8185ee2a5a7f8202cfd1a54b16e132dc3c50daf47d73d4c4ebd79baecf4c3a3a3644ae97b24682ed81e022a0a7f2cff6718f41e0b7246a460553c781b5f63175cf0f14428190d8250f46c4985e03c8d667295c72ebc0a027dfb9f173f5346206344dde611b0db9914f6b03fa23f5dd68c7abcda73eff99be02ff09e7ff6abf328f73d887ab557feb806e63fe636e5178c59e54a1272b0dab18d18989897331ad5598a89bcec1708cc1dda673fa00b695dce5df4dd7984be5d5cf09ef429145db6282ee5d5d9961e04e4041ee2beb0a3565dc86897caaacda9b259c53016ad3c0e79e0dfe26995cffa00055a741748e5ddefe756eef1331143ff7ccbd1746e1094997b8bbdf4be1610ddd7791dbd8778e151c43252506975e9b2a6f4ef02dcd795c6f448fb27354b2e39c3b65abbcc97d73558c5c05d641b770fa360911160b290973eda4caedd12937559784bbfed111d5f37915754ebb5202e6ba2e1e6127bb5521080c878b1c85eaf8fac2055640a6e8ee9bede830dce16894afc972e1f74e251ae03a7cc2b1c3b17312cc246545a34ea8ba57fdb57c9eb11abd6c489ccbb20f4daf9202c01f9887d369197fed9479e97e1223ba31efa67bf05c2edfadbd3f075bba2b0790d2a7d99c245ee5687a08da6430262ac4ace5cb0da74292d4a563e08e51358f5f889532a3392ca0df388b2a272edb8d28c40f0325e4f9e41b8f09a9e14a37ea54ba2ca5b7cb95ab9427047a511493e6c87429f133389fb8a63cc71d4becb13f1e69ef337bdae2de58092f79dd70363b434286f8a57c743338b8dda11f14346940007715b5702f0538e3c6d5ef6bbff723d343c6b8c3040bb74caf0d529d392f4d3a173d3cf34094f696fc08b3e977bda5d162e9c844321e5c638bc5dfb6a1f70e10eb8580fe8dcef1b7bff3dca88dee3e4aa6900c60d7078427d611cf9e1e775a4bd60f21938f5657bd00d0bb23ff7843e8346f427d22ef968a6e385098e24ae7e75e994573e25c9863a3f39e3dcf34fe8e743227fbf1e7c9bbfd4e77bb67aadee94d7753f65d67486bbc5f6f83467c4f728a0bfb3721099d73e8be17cae480332c695d0b8c914d76bb1a06295400609ed9b6f01355d722e728f1611f3575df49b142680f1f424745e9e83787b6bbbe6f8accfd3a46f4486e4a46ed739073b1ed1f988483ef745a2529ddf77e9ed7c44851f5f812948d0c24ac48ffaecd2dc5f589897376399d67fbb0fb10ce74cf2092497f30a739df779f735b60440709b10df738c972d825c1061044a22be7bfe71ed9165235ff1dca370e6cbb9e8d2fddcbff81c1010f3593a8be619a72018c8d5869155e4c0fbf447fd3817076f90d67abdbc8c5f89ca1de28ce0e925e867eba09ffdb2bfe0489802f7a12fc818f5845ccead45a7bc0b32ffe2731e7396dfaddb62be52f1c522e4944f4162ce9b0f2f71ad7e8f737bcc6fb6d1b2ebf0448c03d10bd050c0f4237ece468214a460952f1e59e98f36f50e59ad7d7ea27c01afd1299cbbb3e77e4ccb3a51e39a45440e398c827918099916de3c1cbd805abb6adf5988fdbc3dcffbac87be1c2a9fdc5e6f7fe469d3fee872ffd33917534af78ccf0fa4c37d7e147eee7460e32e20e2e7f09993100041bb0d148447c0c961a8c8f6720ef3710de176ce2e90973857f179539d1ff0affcfc61cde2b6b73e881ef7cf4976e1ff452ef3ac24ecb6ee3bb89f89f3568cf084916ce325fb98121e522563d7cc854b88e72adba74a2514ecb1d7cb067fbfeeb8662caa7839b9ac933709649ce763a6648711eeb3d37e12ccb30e4f78c75964136ccf85ea60fbe4f4dfa87b56554c75c4b7f3275be3a8da1ee4390440dec0f50158ded0ba9ce878b9443bd73849dad411d927f4b32f7c0ef5d960f4818877756e8df26a54f8abd25b67a9ef0f3dc9d1675638795eed4533c9d136bca02f1a9798eae5d28e5a091f70503e1313e41ba189142056b17b32378edc275cec29132222b346c9609552599f50227d763a7898042527e47fe653f18d37d2ce986c2f196c6ba6e4b903d26f02f78e22cbf929eb70212372aae40782fb90f8c31bbfe3970f227c0e79de66a408698a3eb7923b3df1845eda1195fb2e48e1ae50eed07544bd46656983f089a3ff8f45d287f3222446bd7f57f408fa55e3f4c61b526114f72ff57e91e9b87359b7aff0ee52e726e66fe430b8e9fb7d9f637bb1b3eacc5a2fbbacf75f3032e6341a1fda245adc70a1c694d59a4af657f675d618eb41e6fef9be06f8eb19e87f465e73cd474649b55717adbd244b1964219759e8b034e452d51d502e97ca65440cbc047c264c9f137380f759c2f17e9d113f8c121192398f8854a93337050533a2d1b773a703f81f8cf32ff2267a3913f02e7f3f56e2ff7eac0426ce5c84449a09de8f84ea3192567d2fc3c77cebb23ee0e9fca223a1057c85fa788b3d51bfc2338ecaab75924a178dfb7e844d10e3a04e5e3137296f7b49af0eb14858fa4dc2329dff5ed6a507304e3b5c35a1b708b7c1397c62a28df97c274ac2c887dc759342faa4782332972c895b9a470c1cbd6fad04e9c0ca0941607ea908a264db8c788d4df8a9fbd116a96391302a9350a43ee65322e1094f08092319851ce515eae023391169c0a450d7fe2ff906e243a2f9422d8cfbaffac32cff53be24b947e669ea61ec5fdac4395df6c8f43aa65e73d87e5f330faa1caedea9f61f1bc1225f607e87e308955ba79833f262199cf3655798b400b34fcb1463b647e6ab914f61e48accf3c1ec1b7b8899128cc8d0811308508547c08e09e4ed2bcdcffed039fb43e8d96da6784c654a982808882226adff069f3d101c420754c6be3fe34a7f9ef28573ca1799b0db20789b418acfecd21219ef55f988cc108f0e512ce49456b19bee897fd9cb8c7af906f16638cf48eb90593cc97d1be490f797034ef810c66ac885ebd6f730e442fa3c99417d0e1feddbb7aaeef9b5fe3afb051ff0caef6a1ce194a9e33cd2276e46ca1b109146fc92cf72c20c60d76b18c0d8a25c356b05d923a65c93cebaf33cbf5c0377dcea03cf7abde3a8aae7bb02e6d5bea0f69f7aed3a1617aca37d6c9a92323c3b0ffe14662b8f9c94e7c06445cab9ffba7d7fde79c59e43e1d536ef9d5ee3bd43449e621dd2101e9dc37efa717a9eaedffc2ee41e96f71a0520bf8d99214186e41da087bcb9c4ee6a0d7d99371c7dc6c822905b47b238123a2fdaaab7773be7f52e988b34d8ec89eccdedb62ddb742f77332a97b497a70ecd03000ecca83dc3529f9fc3c4bec20d738b30c5878ecc8e207217314570ce1ab1e204d4aaa0a9db73407547f315f389cbe4894b38ad3f9854e94aba9f7cdee68ef4376c33edf1531e245cb45dd2edbd296b03f36afd00e4833d430eaefa723ec5fb791d253b478abf8e5687ce68b5df44a69d3bf1b374c8298e4e7cd9a73154bc7bdff5cbfcc3d12f2914cdfee9fab5b2d5f5d9984e1c81ed2151a40f8e0d23459ae087b054a86ffec049ae3ee5face10af47a8e3739368d927d5ba9693886a2da2c75faf6741d1df5cde39d267fe3076ff8e26ffa0fec33b4c7fab3f98ca3693569b822a58fc028cca502f7dc9c2c76b48216c43599358fee33f2e5828c3c77ff95fd67581c95d6d0f45d701153a44848c882e958ea0d24a19a854df8f5fc236a8b00da7fdd7df9267a0c20ccee6e5f72feaa9eb790b89f22b006220367414e877f4c3f29e9b5d733fff877ba10aefeb91b777eb52e78735aa25f496a097c9f6d066f2c9bd5f5b6d17acb6d23cdd611dd2be5f77a974a53e3b89d71f55fd4297e3bd975aed766d75e95c7ea9537df09e1916fabf1160ca2f111108497a9817e4925208f47ecae35edded0cc97d6fe5b6773770faf94f735e3a60d15fea8afc97b5d968197ad7f2077ed683deb7f55db457957fe9efb22ebcfea9fd5a58ed3781bc785f53f9dc206aefbe494d6fa8b46475dfead24dda660be04449e75efed2bd955de471efcb2252ddae6f75aaf2ff3f6b6fd7953aeffc0fbf200e40adca3e9c49d2368500692950cfb46a0a05ab1b3585577faf242d0f6ef6755dfffbf7752d56ed739ba49379f8cc677e77f6e6bec7fbe0d277ed9f9a7ef9ae42a2b331599ff6dbbb74fd9a46a8e461df129a73ecfe3bcf1e73799f3a5cc3ecdfa8e3fd9483a358ff46c7e67f2a803e84dac8a73e4c35be02c0cd310ff4d8b6b8ffe15335f640fca76f7db412d3c3f8df9d8cef1febdc9e7fe8bf36cf32c5e57876d696efe9599bbeca93b6feedb643bcb5cbeeb637268a3dd97ddff7e698ccb565b3edab38b68bbafb386d43785487ff4d5b754b385b87c7d376fcf0cedab8ad7561f40905f8aa6d75a19b68971df12c7b672ff990232e075fef3a0f2399cf484835c1d4fc1f763fcbd0579b0d1adb1814cf27c00991a1af5e3bd7cade04bbdd3e50ed17b060c035c0a8ce9d6d67f38e726737ae64d7c66e69639b4f0fbeefb07f2d2312678340adcb07281f499145641e974496735254d14320a340557322dfe09ff7dbf3235f558f0ec12200269d6e834f7b029ac2c46c8fd3d4e680589dcdce67666cd87c111b57966c2f0a113636e82fe75f6d6215b10cad7f35ced2e8683fa200ed5102620cdafc14a54aece2cb3ad003bc546988320d6da5b8b373285d75ae2eea45cf25d6d371eea3b4a456daf9035dbd8e2d44125c3de7d8ced7cdfbf026efe3b2ce66fb9e1c31313005f1015a7cc03e0a214fcd338c59317f79fbd8be2cb524eab9c4bbc26663e5c08083161cf6ffed791584dd7e8eb69e1629616cfbc1c3265fcde5a52876332aacfd1fa0f6a88b7534f1a29d8713cd3a60f4c693f9ac89f96249c12be7cf342fc5e37009912f5389204386654c365110cf45c9216788e0fbb37e13faf106dc7c4759b57cdc5fbd9569b48bc95a4c8a3c4059e604b94fb1b78cea999f5d4761d4cb338c390fa1f4afdd7ce74251ca1634caba7d208fb63f4ee517c0e8e23c7c719e59b77a7e3347d97cefd1fea88f997983d97c3b737e1a1fe59e397f92b95c23178b499d2f433bbb9ee9d37ddbd37df76e9b70312265b1ee667b1f42328708afddfe0cf248431976bfdc3a24cdfeee9d3b5e07807aad8ef1c91c3dc8a346e794dd3ec33e04ddd68f1fc52e77d1e525db5ce637237ba3651ee232df44bbac6b7d48bb7c63738b5d3ee2d588e6d77e6de65b9b5bb8f08b7c4e359ba33eb1415ef2086ab641a57e073b1e8df6d98017db0f22b30d93221a284107aaa42cc90292544f5c9537235d2e835d15e1328b41971fa89e5e5c4e7b872154570399b320ce859015a1a0095931e1d725c35d794564fac0121907520e46491962ac1694b201282d405535c5fc01217f1fc98a0589580d935f64b8fb458cbdd5ed76bb1e4468f49d50b938aaf39b9de28a4e3086273a4e7412f370be8ce3ff8d2fbacde76af50f0c40721caa086fda1c3697bb969bbe7ad60ccc3bc994de69c971bca508190ba4605de92de9ac0a71aa7cd46c0b6a90bd9b7e560f2e9e7c6d51b311dec9da9c0375df873e27b0e514e3bebd4e0fb6c3a42cad69b2d46d7c7dd5dd41e8c19315d4cf96f2f490e3939aefffdbc887c8f9e18d9e6564c45eac5e1ef6ef41bc7f673803198c958b3fd29e60a81483a7656cf77f28b3ee0fdeddfbbea11042cac0c617cd3394b69ed2d2e999765c9aefefadc15f8c214e432b3b6be1722cda387692ef45911ffc8ad6cf6ff395f2dd44b1ab687fc0c086d6e7a4f92fac795cc336c29e346d35ac9125e869ceae3945295e40a7342b04ff2d25a2ce2a543922b07000f98df50da93218aacce8611c494f86731e10900106fc99810facce4ddf31bf16bda1c3e56cf11e7c02a946a538aeecffad3fc9cd1f98c240c3de72dea2d81ff2255533872759835fcdd0ffc326cd2dc6c4d81ff8a73f752e3e8d7e739b5159451bc824beab88a8ab8c2ab633baa870bacb54c8fe07dd0753a26ecd40111451b8a51912dee0034b737eb081f2e1c3e84255e164ef1b0ce88a4de89e8d1f0b68cfb1bf039f7769d5cb29e0a9bfec80d5b0f1173ee50b94f9dedf8b1bb1cbc91854ee4f3c33d0f9a3f21e41ea47fa7d9fce165b9513bc9fe55a508f593ca5927df156a7b38187205b0a7169e63b45408600d4d8ddec92bcd7a2cebf60e930fd62cfdbbcea236783624d2eb687fe2eef093b77843d0b25cd95fd8e609eca21552fc9fcf92d49f90e41fa483845f6a0e4cd88949b6c1defab0542ee430e87f3863a35726ac5ae5f92879da6f61c9951c9a25d1c3c267e923fa58af9b618983a192f16ef000053593772e5c4ae72bab3bff38c5e159ce2fa9af8e202cc9cbe6fecad588654595fe59b5fcbba699f3f6cd1a8f6109eca1093be40bde0f6fde759364d7a9d85f68c2cf6b10ea2f9aa58f2fbdeaf0c9a6d9ac9e5acf2b2a530dfdb3785dcdf81e9b6d926603ddc6a73ccde5d2fe9fba8d37250ea7b62b416e92ff29df7defdf825c6ba0c51329cdd88afc18c23ca5cb8eba4df46c38948e50aa49dd9e7b9d103de800a98681c8225406ce76aeb1fb4733d90837f35387c3f708cff8d7ef83ffce93fafc333ed640e6b8c95594eee3e79912ffefcbd7a3ffd1ced8fa34e61ee5eb0fb0169087ee55b3f6c149d2f07af4e0facd3f3a58603fe3307e72fc57e13573ada5badfd3c6a71dc89b86af16df070727fd469e0af3bf3197c4cc86f15e214ec201690864c75e7b3b29b30f53258562f89fbfe78335e1188c5e5ec0e3c408ef360c5553e3bd19f2c2ec0e52cc9990fc63ec970b1429fd6de78bcef978f587546e00d1854e380f0cc2ffa88c40f1fc17fe69027ec5bc4242957fe95e7ecb78cc761ac0a90ecc5979c105509ae9d7fb7f56f0c35006be262d4c6307fe8b6fbb4c586fd61eb367a7d6ffd99cc99f2884c7a59e353f9e68be0c53c51e06cec6c9832420b8e55f4f0215046b8eb75a9fa30327409e5af3a4ffb842b6fb0856a3cd9f542124bfd78e28fee1a5b3293c02400db678d3e6af31f0e7d78a5b72fa1fa7c687d0bb028871469678b20c8553926efd62eb5fee58e0ab0b9deca489251f32d9ce67f8e355b848aa5564754ecda62f18d1da0c205a9bd1772b5de389bfc29f5e3f2c1972a25328dfc388d5096292cd49ff72f84184ce19d421ab058f89478026311bb828ad6bf3636f3c556416cc6cd4459bcdfdf9e6f7dfe7c16bfe56c1565ecea2cc4a5d169b39b89e2bda1626f43c53a66ce4433ceec7ecf71e490fc0ba6de9f6d98f27ecc649fa01c2294c5b0ae6e852c19a965354cca88e9d44728a7a1ec4fc2584408554ac8bab8dc1e17faa3d26fafd56d27d299cf50fafeea6a10ed3f2b2ed394c18264be78409572128b8012b91d2e7549219b329906c134fb6b5b1afbbbdb31df7da08c1d8e1a86c62e621a164004441a7e03c02f988a5954a7fbd134dffb89b819256206d374ef27f94cecd3b5b0f97162c6f7e9de9f8a99598ff662c6fbc4d1e47084ee968262809ca0e20c9524607f9e30db112c0c89d18e6ed739a84c80657be1874a1edcd557b50ef9ad3151a6467e071a5e0fcf4bfa2034dc183d69a20144ccf66c2a6251ff0f97318f48cca308ca27566c2322cb88c45512d43c61054f48cc9f026db67154933b808c761404d0ade07fb37e867705f37d3eb87e3a60ee8fbe9d24bb3ecc57a8d33dcaf11578e33d7815fd94e3a2c161d642a721dca774a9ccbef115dccb93fc72eae24d83e3fd888bf79edce7280f4f6c3cb4bea5fcc6c52b1bbd09c21d55f7c2dceb0abcdc173aa5db86b705f8ce3edb87f7186cd3da37cff4e98d07702fa8ba4f6931153eea7159b89cfd6aabc7f4c37b4a8a6f66de67e0060a3b8d4ffb1a56665c58c7b5d1d90ab938f7271ee77a8cd37f8c5fb05d76c35d2ee31e7288408bc8e8c85fcec98089d17bb7105c4176f27bfa057ad2f1b4cdd1c828e4c3116c39a98d5eac2ab08e426ff054c8000b19c4cdb2ab4171cb91d1c61b1d1edf74897faa9f2479ee03533eee8d4a2bed9c3bf174fe67fee7cac84b01e09de2801bae9576ae3fc84ee1f2a90ae7034ce92861b368da606513313bc140a1c6ed9ac85c337dd3d1d09b0ac8a328de4ea964532acb2f92d2aee91661fd136ce3b0451e02499f8c4ddbe65113f9ac83dd5cd1584443558ebad595cac6a8ccb52ba65a4c123d9d9f03054bb0ba1d8bcffb748b46debb39f94ffbe790dfac3884386df4b138a320474cbd7768ad02eaab34e445f0c01e820792f5122a7b0930ddfd72fa0e249086844554a9982e597eb589837813076f4cf5464cf51afd4a19fdaa92463e79a7fad5596c24da89f0528c68acd9d4c52ff269b4176ff0e46c64e5fc376910a9cc3fc50ed72f9460a67db5a477bef7cd9b5c4587295f833c5b2ff1b1c8e6ddf747a91a7f2cfbee2a630656969a2685a134df8d87a87fc46d62768e9b567960e609878713719b9fe74b7f14d49ae18c5ff7a4bb6fc333188e531dc0afd1c28e596bfc168b5e9176231a078def0bcdf39b7133a36599cd211fe0bee311f6c517cda76eda37b5fafcaaf1af9a314dffd6963f30ff68da637205df077f9afcb91e48f3bcdd2d9c61a8213dac1fe3c51d2052070a480f12e9e2b467cf9088f82fcf159fe7a859bcdc1ff6bd7df6263660f3aae314c5b12fbd41e31f7418f2439e41849a2ba2154f418ed1074e60ab8591413e30aa6233150f0504e6fb6bcea59dde8f7122c8d1c7d8fd0d295e818f3308fdf1d9ff87f9e9c6d8d5467f9618fd9037760c7187cbf86997dec3345dfd8825ed2d8edcce35871c3d8b5d6b73c8adac52813ee44c2c54d6e4d0db670e4275e83b987d4a943389f554f9f07cf2bf7dff26af02f5590ec602dcf62b08c9ebfdfd3fb623852169f14007fdeae86f067a297e25f052fccbdfff99b72234bb609f89115a5e3616d8e5ebfdddd9fa43cfbe7b77d3b4c1239cad67a0fc48595fd406a542385b2fe0ac2d5efbe7ebd2cdb71e846d3cf8d5ccb7137d3afefff5f9a797e2db2c117fc66adb7eeede36633b5067eb57da8a933b2ba217d6bcc617eb4fc17359f8d6851f635c42ee0f9c68af50be1ac3f8643d3fc6f7f33fe2fb3717fbefbfbfffa5bc9c3d6b7cf4955bfee84361f303bbdf955d82ccced6bdf377fdd16701347dcd31c97c32e99fafffd3f8bde81f10eb4bcf7f29ef4aec2e9e8fdb266f2a3b7be7ffbcaecede2f3b97d5eaac2d363fc76f60c66fdfccd50fa7e31727e0dbeff562bcfa82ecdafb17e34897dff7527b5de2251057c71880e59c6bb9017e6ed361f31ddc37eb3efce3fa159c5dc7ce6727eb159c5e7f732e0fa57fde868f3fe64600c7077c183f5b63a7fd367659a2011cdfec21ef31b8f8debb4b7a92b8b9d4eea34b72f27aa650ce14d63285545efc766ead8c5bb871ffe2be1f4f9f8eabe75966647d6064fd3710ad3e7f8cb3e67b71f2529dc9cde5cf71060d9ebb951f43c02d0c34dc03db9a711644471e94142f8f9bf53fbfffc9b8dbe797ce7f32ed81d7e0a364573fe4e8eab41dcedb469cb5df4c2a4efa669e2b1482c7d6f2c7f7752a4bf8cf363a93b92d3594831565f6fb7b68f40587a7dc1de3ac383dfab546d26f6c9dfbc6c91ebe30c257f4da43853a3dd7d1b3218ba75d401993ded74bcb2f72e03387beb1139700f00effecff0df9347d8b94c51b4e4086b2bb69eef36896fb4eb5f30a9e78c523043007c5975471c25463a31d9e1713a3c326ecebf60633024b3e06c51338faf3bef521ff1afc9d171c73a23c1f75b6fc8dea57b0e4432a47c670a6546e97c1aa97615d5df32b558ee26c19c4be7532b3b85cfaabb49c1331b810cf1b01c075cbbbc557b9b3df75139bdb3c8ba7a016f3fc2e2ef3bb58063b5beeafc54766102220032e01586d310181cb0df7c8689fed6c2c81341cb6d65e4c537fdb93a3a52e1e6ea3379ef4ae18e49fbee3192d86ba1c9394e3c72a7e1d95e526d91455b27ce063dfebf9dfb740a4170d77cc8ec361c94ff0e88e3f821a2d845a7ff2c2577d824b0f27fa988f6f7db25687cee9a90c3a1d67bce1291a18bd5c06d3b9cac3eb2b1d109d21f9dc861f723b8c200fcdf608b68a72c906904e8c1d59357efd50a900978ae28bb131fc4f7b0d5d21aa6db0186d43065a512242bcaa42dc094127773b94a24295f1b7c25dc3d8a4d4e81e937b685d1b72d27d840cf05dd92a210be67024cf30cdaf1bbcc177839f594ad09a0a39899274529bff51e20768b11da623564c3b0a65429f926fdab80abaddca7c0f818d0350d316c6463af0f3df9cf85867a7f7a14489dfd05f9b5f243b5bf333db28f815855df6267b89cf93671af3b4bb8594a9eb5cd532a10fbb0585d6dfcc01b20c88b6b8ed9b865ba6f9def39feb82c21ee82e5dd31e082ac0bee3bbae5ec807d877d3e6dd1e6110aa0f75bc6feff07d7d99719b2b733f889cbc0d9afe5fc0a3ca82c99df2f76cefbf94e391ba97b4d8e6f0082f81ad90d8da7bcccc6f45a31f817fac01707fc4e8a667b810a7dfce65e36fb03201629dfb819323767bfd23b6431b19d36c6b5d3ba7fa998b5fa63f7c20024b7b9fe3b8ac4ee235f67a97dbbfc593bbeb1479f8631d7f8116daf6f72f38f4c5aff2d0de90da7e56a4f00615f4121f7cf0918fdaf66fef175a3e6d66c7d144b2101b2eaba61d1d8795e376326d4a007445077a123d6adbe7bf493af96d71be7eaffbae048d96769c15516fc40a8912ed38a3e6de6f512eecfd19ed5eab00e031035ffe717fdb4f0e93b145a102a014446ddfb5cbccfff030edcc0fdf91c4b3efc8e2455e8d3d1435f6d0936dcf1fba9e9131517266cfaf203ff06e4da90c80c6934e8efd07ff09c60375a7fdb87c6d38975d7d8cbdb8f5fb209980c5d851d941d0edae214971e3f0842dbee405a4cd1d095a4e8e6825575ae529d65908f2e569a37334fffbf04ac82824a8f339d632dcdc6e431ff239ea5782b574df0f7e776f255bc3c3d626bf440d8670a898c310ae0ef97d29c437e6bcd05739e2edd7136a66fe4fb1cff9ef3e0fdd3dedfdedb3609f87befbbe78b7afb0038167f9399a385ce3b7f32deefd18573de4e41ff0ee53b1db347316644a2c407bd4d7c2fcc650e71402af74fba95baf734aed716271e1feecfcfe0beef2fbcdb7f60c71d2e05cfc1e4825e8e4de3bb9fec4e10695c53b904997c3abc22f80d0523f9ff08d6092df588cca41bfc85ecdb7106a369f68b6b07979ef6fe3f2211c97d2dfc99273421427a98f44aa8a4041a4527c002a92298bccbe23c6a640294bb38fffc37997f03e0b47d2d4fa4bc59fcf1867d88942fb5cc550098a9920b70f01d17a4ea1ae88666fae7dc24ef1a486a4ce876eff7641f4a7ad310dfabcbd2ddee5ecbef912b5bdd7cd44f17d9b1f4e95c536b47c0b96332552c7d83cbcb67a0c0e063a8bb82e43a27b298dd933ad59c26229c6a01fc3fa9d73923d59f52679756d3c8b8c0eff88ba1c51594da9da8e88aa44580846412389b98c8aea6332514f51b17d8a0ef97167ed37b1f1ed535e99a33eb9f8318ed3b166b3862fe21ea683037e8a24fc2148f803555a500682821614eaec38cebc55608f19ae03a84b0a3a33c7058da2dbf217387c887599662e7fba873ed922553c3c6053130fa39d30f2b037d6ac03d3fcaad50542c516b8f77074dcff05497ec0ea52c542b1b7cfffdbe247f70eb3eb4fa5c38bd16c07af5250f442d1f3be8c9e106fd261a8b408d5e73a56baa2ec614deeb3ed4457ef14f43b59f5ad3e31a4fdc1406a3190557768643e3aee4bcffc4f6ec742e72f14f40bb99e057f5cf7773a98ec6c9ec65faffbd272035c188f54c2f41cf726bf40e63852f205a639e2e1bb0c3e32ae7a20d9a6fbeeab259d76babb0cbf9aefc39fc330fabeef8eb0566497214c9bf0e66bb7dbeda4663e7f02b4fcfe2dbeb97732474c2039f11fc5f90b48467c6de569233bf38591b12fc05e1b4c7bf10239c241b6be1e647bae1dbe36d7797a089d4dba6bc899993f9e6d5cfd80413ffaa2279a9dd8e9ec6da882cec56798dc170d96fed53ec3a2d7ce23a156b99b076e84c3fabe89d03fd83f8bae07c13d3c3208e589bfa099532ccfd2b28fa7385cd41ef27f79c737a3c7d87dafcd9ca4106f561d4f3aeac9f0468520ddfd6fb4b93fd8fb47717efafe8ddfb98f477d2e8d6d8edbc3bfbcdf982fda7d6eeecd4390cf1ec47d978bf0e57ba8191cf4bb5f9a800cd6809ee3ad697de0d2a33ee673b43c23696f6264f2545efb3af4082c35455dc7942fa89433b2133a5c4522a532a7c088996337508de8954252971f926c0555ea6196e8ad5c960f44fa92eade008ef1c3d65f218130100a8db88e0f1c6f921db1facbe65b6f644a83ddbff2f747fc592333ae465484ee9cacc5c23b4ca3f406afa0c5cce579291aea013532c197620d7a4cdecc1c2ec53dd47da23c31803aa5c0c42b5463f32dcf60975268afb1dffeedfc7f79bf036ee6986f60dea9d1e5ad0eb76d755263133572f32013cd9858b46d7082c1fb0d32e81d9f75dff1e0f47ddd73da67de829155edf3229c1e87eaf04e74729b51d306c6de52ef7d7a68177d8c8fe587f8d8fa47dcb7f5adadce79508f58e4ca71104aa67b8ac663e96a28c094263062dd6679eb74d212c588436f5a36e7b8fc16228d5dde0798fca89b768cef3cbaf3bb955bf69bebb87b1eba6adaed03de5bbc6666e4a3d569a962df16afd372121bdbc1eab799d145bf606a79532c2f61cbdd4cf5318f816a8637aaf43116be0fcb21683626bb6c4815a34bad52b31de566bc3a3f26243adf10ed21785bee433a459946ab37ee335d2e894c83d9800fa9f286d55a0628cb2589853f2dbdd3fde61a637217a5a8d288ab728aa977597f406bb71ee7cf63bef79b5fdb3178356ab1cc2a6cf481dbd4ea24c5e72331b63fa81053f0f14417bb2ab69ba0de6e345743e2a9001d6ac03f8dafa38211100fc6d27e17fbd15418fd6483d3746f6d9a5a5cc40bb67c2a7e61f9135d4ecb8eed878aadb8b279252e77c4f28e7b883b0a66ac81a4d0f47b845dcff2a4d1440f4644be0c8bedd3b0f0ca11fceedcfa66fee343a6b68b9b9a2dfc9a0996c0831ac094dd115bc746a218a507fe3531f513d9e344969ccad2477915e86d42ccb93bbec09d5cbb7ce6ceafa65ecd9b8d273b6eaf205ae6819963868add4c946ce3dc4bdc1d78e5afadbf6bc95fd637a937afb7574ca70f016c7d9220a48babd0fa59efd657f0863225bf2601a453787a20d36a7c4b64f61525fa8bc27610483d1bee3dcd5539263339c635eae1aee4cdf70c9001d660f3bea73e9efadcf29653db3cdfd58878cce6607faa9598b255fe705b8ff4f6258aaba7a8108f612c023fae065c055548f95694bdefe98d5f4f7bde2d051dcfe2ed268ab731c72ae7cbea5724fb03373e8ffe5a26e1a9a94734f7211f1b193854ec2d5ac99b89b2b800c70de9c6eccd417f9aca9b96cf37da676422051dbc174f93e0d73c04f3fff27a3311fd991f7b335fda0972ba2f1945484328c55ee712afb018a6fd2bac214c03bfb8bf92fd891fa72ffe548f59ff769ce4230a65ee23080438d6f3727cc9b17993d8d5b1bcf11de6d43ef768952f42c54fea0ef137c7abed6aa0b83a797c6e6b15ea2c3ce1cf5f34ef63ed1361ebfff94065af3748664f1b626b3d2d1ea57893e0bf5ee4ace2e84fd75fd940091aee47115dcbfe883c47a0ca114d720fa74007f2bd4821975857cf6992fee2fbea627d8c6cf7e08edb6f7f8fe3deebc497c558a63eb3422e47aafb0dbfcfaaab21e2963f51c3d4cc83a63f9b78ca0ddb673b5ff323df519d5b5cd4689ab7391f64ac7a4fe1c453216e477df03c5ae456b6045715a7140481dc979086049516a8b04295757f67ce6eda124ef4174795872e5ff1fee0cfb59c0bd38667f0c049db47ae8fff47bbecc0371bedb20e345c1af0022fb2e42ff9a6f449ca3991bce59de54432c5c1d9c8987cbe094b119d31a94aff513288f6fced0bd408eff41d2acd9f02cd296477bf417054827fb54ec0237e3a024c814bf8045a422c3186a00f8069cce3436c6a7df44f3479fbe7eb6fffc7fde7b5bfceeb6b9dcdebfa881bb7f9f7a7bf3ff2ee393439ef871fa628f36e09b94fe13ce61a03b2c9bd0dc25f37d75b35cbe77f5987d45ecf9cdbe6c2b54b67bffeda36fab08050c3fda99fd2e9307d1cd5b9e5e8f477e941170b350ba3dd81c3b8d137f356d739da14ab143b320f53d8be8c75cae2557ac5d11b763742d0a0ef23cbae4666dc8c34c3795f507f9a23a4f7a1fa94a89f25a96f1f8c7e9fc25630a258b2af6e0708825ce7620cdaaedf831463d86f912849e1531e8eb7e329ec76bf0ff909e9d1de14cbe8209f3c3232734ef494aedf1f3ec6748453e00c240f59ac83b10cd4cb477dc7f682824a437fcae6e3f47d0e47f93705c5f0b7c52f78b68e2fdb5dc0592c4f75dd43eebd956b58e42955acc97d494ff3eb0f1cb6ef91f2b14e278fd09fa1f617a8e71945b76ef76986d3b7f8fe99f5437c503eee795fa81c8790fb29f467befc2551e6c2fc9af53eea744bd2a237de7ff6629dd6ceb52d3f47547e8eac2b9b014ab887a72dc6d2b6dfd477719f31247d449d6d8edcdec3fa60a3dd7e3d353e4a6b97c1f4ef3e4b679fa63036f6619a5aff676b9f5a3d73ea384f5a3e96fddf7c9c6cf24ff7005b2ba4abc9ab0c9891c7521ffdac4d2cc4e60dba3a93d9692de5c65e4f174ded8d8df36bfff0251cf9626662cfc9f3260d7d785ea3ce8758a7e160a8238230a4487b447995d946f46ba7ffc7b63c7c90798ad769887a1bfa32afbe615d3d401e3e409e9a6db8fbbac61a86a1f20637cbad3b0e33496a6f4c3ebddfee9e32fc79ce41df29b991af46e4ae2d57e8ce61e39ada995697e0aef68fe358d4e207a76b1ff994cf51738938e95ceb0ca9dc8e41658a275ec19e796c96217b701c1a9b9c53c923c84a41d578ca769090ba9cf03a2f789c670c21f377acf07710c32c6fca5f6cf930e6c3063a73c0ab33f9070eaa8d032de0b989f13431e4ca0c5fd4a9d7c46a38ca5c1ee3e3ccc6c725bcd876d08dbe6dfad3b4c7325d52c526d0f2beec9d5e0eabab882d179d1cbc31f6ca249281a4eabe3343a602b9f6434c941c401a4675df4c6caf04b231e819bdc9cc18c9cdf38806cf711a2f6ff14033f364977836f69764ca19fff2c16e103f7998ad5d91effec469bb3a164cfaa3235649f9e323768de3ebdddd5ff73d3738b895e34b76d820e517f69879f027fe61e6b6a56e5bed3011c109266e4aa52f1b5c8d74f5384ef3cb340c255c01ed59371fdb5d88d115b9cb196eeb3412e1bba5fd7627469fb6bc5d353fadcfdac621e656cfa7d9d11e29d25440d0600d6e1b6c441ee19b0c50f980aa0cbb5290b0aa02fc28cab87c28e375cc4734e623c26c7d118781ac36f0080d7f91b9866f968ac87c802a4b710341a2f20876bd2082a74e873dd86b2d57cdb5a00c8d0d4755b909547e9a9f8840b8d3eb1cb7c09b9d97db9a4367d896a6be8bcb4b3ce138e3f0d02b63862a24bb744c96cae599aa9725497ec582addfb6e8720420c6e8418b2742d4802e1d1fc7545561556c73e1b3ef079d36b907e6efa9dbf9ee74a0e2a82d2e474021490ca2075766fccb3c8876660eb6b5c85d9ddebdab711fed5c8d6d631bf87b9bffbe7032cae620cfed3b4a5b0bfc90531fd55907927cd3725b9ee5da1b9b7367393537913eb9afadf76b6b79bf3675e5cdff0b5178c4d5933fb9b7ca3b907868b9a9630f472a3dcddb7f336d6fae356eeb04b739fc457e332a7263dfd8fadf62cf17beb2fab6ad6f6c6b1adb7a78f97c626c3de52128e028ab842ae513a802065b4490486a0888dde625c4d6f5feafc75549a4ca115b66d1c38ec7a8cb82c6ec25404f10926d88dcbe06d88b690203ac59812a2b9852030e3a09e3f285e872132919a212e69cf6b825be6d63c46c2530734b6303403a60cae328d5000b1882940ce456a2aaccb63153954f6cb1e9ff74dca379661af30d91b64e24455b43d813546f13a6ab09857e844a8708e504b4981029032ab3886a3d21854888ee0baaaa80424e89f4e8447982d7724cc9f88bc96a1a2cd584146c46769c9bb183c69c237ce8c76c4077f913d355ccb11f93423c45ba3f60980eb82a4760a7958ca3391661c848969b63c37d3a1744cc31666ef9988d891421853ca24a4f48cda744f547549521858c11d9a7a0fb1182e5a41c53d91fb09a0fa9d6636274369b17233a54e9950f9ee01a00bebb1d8b8f578132fafb40db49e5c87bedbea51be737e253df7c33277aefc157505bdf1156e1fb7c42c5efa1b2ba2ff5657ff3f2b1efd13aa508e9d7602ffa32501953b7ab9564b709f8a4f0bd87400a8252a67c59eee5fabe53109e22540fc134dbc29b3f21ba4cd229dbb7f110cb3f9758fbce6217d819df1cbf86845096000de6d59862924859a29edcf218ca851ff96f7499513f93c931bed2e94266f9b2b7661e77b55b9dfc3bc6e61b0e37576f6275015bfc1b24fb08926c41d5078758193336834c0de80a3694540dc791e350197c558293de0351b71528aed168932aaaa8aaca0946d70d45ff98ac6cfee7199e4a48b805c64ef2e36d2df3d06feb8412511c6d84f40b9c7c39f525b73877df2fcc3e31f3497ac575161a79094626af3c3d29fa6b81db359ddc6794a44f02e43802af23a8d1c7d498282689baef54b558106d9e0d01d476c1760215788331559f5ce53dbf542f81d282827e0c4b45c832cb70c73fc7f428ff079c8d08293f19e60b467aef047a8ff067bed40c481f460edfbd6ee201aba6ee5dc35befe6ab519dfed46dda7a30d713e9e6ae3ff8a231db41f217ee85ad3726df9eeb934a15fe152cb8e9db372d1868c158bb8431f9500fe44105e6dcc0f24d9df02e28b5e0095b10b8fdb0c71f7fe67bec77ef354108191061eb1d02ba3c1f5f7941a46cee2b19ed3d8c565ee0afb29b513b9f680fb1962f50e43bb1e73713c5f09af088484550f341d48b82f16afb39d0bd89ad797161fb97cc42d0db7014546390c207cd09053958a8e08e2fb7139a6c3fc7fbf7402ef301a89c1028a3cbdbd72b50db9191818f2b4951a7c658da2e54634f37fd59377ca0c66600e2f8578cee1cbaf8f69be3a5cef13e9e74fa02a688ca6737202965f7f37adba72ad70405be6b39d5937bcdaed5945008e94a3f2d68b523b5af994a0ff92f27f9105f7fc3b332c79df40d095f595e98224d435bdb2fdff05dcb856becb8a0c1ba36ba18b9f53e548d20f9004d9f2dd35552f77dd482c6cacc29813ac57c6528f36e453e5e4053aad701681162fc6bc8776900b1c788e228e5215ee4fc5912367f89d7347ea53f30c79b8663f627e62c9b2fae1e9b921ebfc3a2f7a19b840a637bf8586fa4fffe30a99dac62e87d0ceadbb7b3f85c69f5e9d6bfe6f2924feabb98efef344f137fac439c16a3567eaac8e6fb19db4ac38e53f3e32012d0e647607203a6cd8c0dc686c4fab1e63ffc63108316e6f9010ef8d31b339d3f3223389e8032009a1de2357e7d88537f4172ccff09155b1cf80d2ce6e280d37e010fd6a324db8c9ed38613eae166065944d473ef3dca9b6d4fc3d26d9bbf2d46c1789f6ea255ba7ed2f980c887f45967cd712fe533986d8f7277d8360af3f71eb4247427f8eb27230f06161799fec0e41b3b332fb8ca6fdadcd053accd090f3131766377d9e00c5f200d29ed708449261bae960d9b88dae12df266599e6220a90eca389d95f241b1667ff33be22f0ff5311d88394219367c65df90587d7be6e2e4668ce6ce4f706a6baeda9ae63dc49a85b8143351e44412900cb6d12c8d6621c847a3ff24b5e481e4cb6097ae833ecee43a8d480d52123f7dbcfe4c7fa555b291d51c7bf28a21fce605acd834bd6308ebe01a9ea2e98c619d0d36b9c4a078a7191370883729e1ec0d57b73738e1b63df55b85b83cc6341bbedbb76865ec80bc0371dfe1745d6c73626b1ccb1c773b6f40a0d7654aa674e549a875344c7a5108424e949722f22e956a305c5e3c6e10e8f3e334f9b14de5f65cd4dec9b9dbc11fe79ae376fd1ff7d89ec4933840c620b2f9fb36cfc8d9832a0bddcf43beabac5ed4d8453d57bfc7c65a8ced6496fe451eca63de2f01dc260fd043a62a419594bcae902ab68a6bce29ead7582a116295139546eb983f7537d0e845de4040350e414b0a5a76903dd2643b61cb940704261108a472b30d756f348cc5f3a05682c65572c2c13afe2a5adea3b3fc030492c148410700a6c2da79e69df21788f326e7cdc6d53ec0e6c3d9da32e6e730f534f32fe5949e703c7dae65e993423f86a0791cf7730a2a8977c2bc7715e96c4ca14a405e95acd83ec143ef4417f41e1b7d0123e889806c9fd9ae37a271674b640f61274baed59aa9fe6f1a57312baaf4c031bb8501fd948dbe016dfd0eb4f55c49deea552e8f6a9acdfd7df38bb5d5a9b0960dd74afed5d6143476ad59b2fd050ed1e2288796277dc377b2049d0ff043bf52d9fb6475ef77007a1414c313eedcbbbbf63df5d9f8c8de06c0c6908c42a6d201c6ff7d7cb8313d316f6de3b51a600334b3fe767f9f1a1d7ae3eae2b09b93facab310ecbcf64615b3bf469e6dd83ebdc0917b94b98bff4bffe07846643a30ef45a1f0c35a0b8251c8addf5cbda1f2042938d2b94c827a8b6fd3e3fbd2a2b2ef4b9b6ff81cdf6af42179ac23becbf74d7c60333072cad57a5eba9ad07df457dcd694867983bf7cfe149f9627f7e3660a7948749ea22743f3f3211fe2bec1762a9f5355195d9ab73ee9429a635b9ff49f78de489ee1796f7c5bb7dbc6ceef41e667cf73e0ed2b5a9c6ff8341de6b60d3e7bdadd035e18ea1786b534f73fe0fd2055ce3f5caad097f910f58b6f8e29a47d9fd905bcedfa2c1f6799dff8aec6a4ad93edd7ae76f688d81adb4647b4b51184fa8f6d317bfb6f6dabffd69f471c8aaff3d37a986f67cf63e756d7bf070ceebff6d3019bf26fedebf86bfa0afbb63f5387cfc412b882df46ff1a69f865715c7b0fadfd45f3bd5fc890efd255b4cc5f204903dc890e485ba32be4fbac17e93cf57762638ec522df53c59651915f8ff6620c49baf78bfc0ba42fb7b0d5e315f984fb8ac27d8572a3277c3f9b76bfaa926ef43cd5fe6f22d73bd0935f70c323b2e0743084a1a0955e13397ec28769f7fdd796eec455aa998afd38ad1928ce4055bede31f6f924d67a9fdc7a8a13507cea1512bda559f2c52f36f3e381dd7f739b8bc2f296197baedbbdef13a30299416493301d4f2b463a6f6bc06c462ba32be4163bd5e80a7052c3a84f62f914ae6173158bab289ecc68cc9f835e55a2167ea23e59a2d35177a55d4d7ee54f2356e661cc4757b1588fe2c93c9ab1e7a09611a89e9ff4e4305129ed56de693da1c04d051c8cbeec1b7d9e0a901aa7100863292d6c6c4a9dd5e13de523bebc4f1debd85fcc3bbe9c77ed5fc2a3ad9051e89513848a0db56454cb01d4cf00ba624c0a96d81acbf21b419a63a8df034ad6cedf1ccab068e2014d5e2553ffbc1ee40c64844c499b52e36a23337fd56755cd28513137eb432d2344a050675d1cb2a6f6a1fe1b27855daffec8b50cbb9d6ea70f2a359fb76cecd20934399596af74975d0b1d560cf4f02bae440a1fb7446b0939bc90fbb74e47f547842a4ec5dd2da9bd83fdd3e2c59886372096c7f14a9cf945c4c127d2e4ab16a33ff186964b0a520a613ce964289e3538ce8912c57357c133bb82677607d33025d63bcaeade33bb753881abba374d7d9886539886716f2a884d684033de5cbd0c06e3b338ea916fe2309e1aacc405ae0d8b2b3862a11d1785d1bd608e132397a67a2b181dad43594f503f4f285ead450d23cafaa10fcf13d38ee23a7d36ebd8eb8b709eee19f4e6539d8753ad9f1fa64252f86caea54717ae2548cf5d8b42cf5e0bc0e5af7b3070783dede2fa91823b60cad8a1c7f9f742fd8a81665fb0ccafc5aec2c37117f2a9c756a6e7462709cf6ca8b7cad6a28e54f07856fb3ae5d41692ab3f92058bc882f19560a2c97fada980b28897e1225c2a5f2a57473bf882b686a7fbb1ccd580abf30f2eb753b9ae895cd74bb98767c719d3d3b2064963b8e3b51871ac362d5f6fdbdf91b4f2f110ef3ee4113631126a6cf0669e773196d4f6bbbfcada7e7e8b96f9c6725b2779a30748cb69ecc736ff65d372b6439a6f874c6e5fd7e53652f914248b40e7235fb2993fd53359a733cb2a2ef59cc40f1ff3446fb01608b2a4a87b3388d3d90467d48f531f658e14b3c85795bd26c8fcf37559b3a1bfee0c491612a89e025586b448effd3833d7eefb3265082aa1980ed8101f5e977a835a0d82ba8a507bb3719dcefd54cc2698fa089233a567a48068b8f0b63139c10b57d6df929ff8a79d9fc5c69a64c3779a2d9ced9ca65054cfc3e273387abd93135f5e0fd6b764c8aa5980bd6a3ceaf911cd5e46e9673a21bf0654a754aebd6d84e00d9037f972d3ae8650d87a364eff59fbea10dffeb34e6f835fc6bd786bb86452d4c195bf541fddadf731c0872b574fe47753176179fd9b422021dbf2de3ae2f7d70ba787784e377b7f7e9f2a35a8063020077916fae67b8a6c9cdbd65bb331302337f0803590d762cf17a35d7ecedd5ee737a3958d99b1a35fe418bf85f871436499c545d10b646e26526f0079c01316e04e3972ac7add0b589611f9d6599ffb3fa67a904504cb87bc2e63b674c743c20a9836b5840a66f63d105807ee9cdf9dfbd8e5cafcacdf65f91d4ddf93137f5a136b67b19c8b5aa4befbffd47779dfd8a6abd154ec7ceddb1a2b7d574f82f3f8a5a2eabd3a6efba85ee4b3425585ae0e49853954e3eea75a70e967c79a236e7b22f3016e5c3da76eb7d385dcd6ffd901c0c2e2baa7d9aec1f504366ed4d4147435b5f3b9d38f0fdf6a5363bbd9bfe4bf079a6d7b49f4c213567cd60fe01729fa555fb8bc34888854e1a7ee4fe8524d7a45b54f70b3a5b05d10fdb51d2ebc64b8e87f5eedf892affbc5579d1b9dbcebbf8b21a933416e85399f7f15f041757f7265be8bf84353d073a2777a280fe3cbcd97964f4f357589cf3122d6dfa68fe386eda5f36b1d717f57f0c4c7a7be5e8a72bc713549d715488a305d53d85714588716d3ceaf139f30fdbe1b37f54b918264a0a578042dfec7f9c5d4f19386969fb4e5570114977890fc4b3c3a78d4d78a233ee43297d1dfd6616a742565ff1f34ba91e3cbca2bd41be59665734c53efa46bfd33d2e67f595ecc1c461ac3b33c303cea9dfed19ebc9ce770512fbdc8f3e1f4bb3f7fd86f786f74c38323ff65bd6c7010c58f25fd83fbe88cc343fde42ec1ef6eff50ff855430563800bf8267b005b76f42d5c80f37575efb75b6172b97d7d8c65a4e720677a164dad85dff2f1c411739868eb54156bca9af7c9eb32342179f6c6a773b8cc5c6f90d6d2c790c3a6f8fed50e56501a692c82c40b90d0978122dbf920850a581af151fcbad0f8f8e83a2bb6dc6570affb85e39f38e83540463f77f0c5ab21a22543232f3346aef91d46242546f4c347b23a0be1185608599bfcb0191192550725039479d050481132d11f5e3f33ff1f1fce4aef34049c28083e212a1c8cc752ad83216978282e408361784339d4fa9aa62a2cb00b4920d108d9cf323e3e8af71a2c4ea53edbcddd4e76d6a1bef9cdfc08fe53cd47ceff4a9c6afd5d4e36d6a652f7c57aff46a0461c3fde535f50cb229289f8f985c4f62307ad46fd07280e0bdca823f3279bbf0d71e03f9f763ce79b2caa7506681e8956f1c1835f69faf180fb14a6891b3e01a0485cbfbfdc65f728207777c59780907b775f92f2b6b43fc6dbfabe12a2fdaadeefd6f9b3e25bfc8b0e9dfb279974515bfc0e2872cfcc18b5511f63ddc05e7dffa2392c5fa965493bbbff3171df06d027c0d4f962fe4f2fc3035f6dc689fae7c995ef13a75fcc13f708fdb01511504500d88fa1373b6efa8005575f283965faacd673e91cf036d9ea48f13cd5e41f671a85917e23ea24e4fd6b3148f3c0837569fd0f94da45f1523968258f1013c8da6e953b04faf204d0fff67aa8cbaef320ad4fb8cc8129fa07c24abcf85b8ca302320ddf9a846f1d69d739f5e05f5f6caacffd2d52379bd4b895ccf48514530d711c9a3b9b8ca0ff51e5afff8d0c641f4395f6893e7c3eb66b93be32a7a6e397643c98e7a27c8236e709fbef13a6d6be86aa3372a5ac83136f3750a6948744a3772dc5d36fe0cf09bb967070fa46ec78a55d6ac83ae3dcfe2446f4b5ac4dbbc9963dadf27d4a5e3a36d6a2b56767a9d984eb4f52b49e6f04007ce94131da816fb11c956235bcf439cd4db4eafb8cadcd8c28c380ed99b5fdae50d4a49d2a7603783fb1eff1ef6f837cce1294a11221940cb53cb740f25f4a6dddff0143dc23ae882d5c5d3a08028fe5612b76b87e7cd61a6d9add189886e709c27dc9ca16684ca2a52329358b188280681dc20aa472471d986b2430800c7c62604eb1f29ceb0248a15dd6f6f44d406b18040c972906169ae69fe7f68f143be863710807309c6ae9db233dfc5d3e97d51bede77ce9fabcdaf36760d79875969dfc7e1500f98f0cdc935ba20f9d933fdf4f7b43cdc7ffbfe5922621eb315932d377183491d1205d95fbe7760d0d58030e937f3cd4db7036c0f993af00389bde3686afc38eb03d6dd713bbddf1720c84d1efaf07c43b446aab7828d3d49e1f3066b1956e80d9f751e3eebedcba3b49cee374dfe231eee3770fd3dda9fd75a19bc1caff3acb7e2f45aeefc1e78c07acdf3426465fc217f3d80f8f58b8136e7a478930fe9185eccb39aff43d5e2bd1d7e3cd47067eb0dfd39bf2efc227f412a7613256f462a5f0e155f595fc5b9ae1ca2ca975471fca544d8721da316c58be40b5a6433a2ca8421170c46d73da516b4d8e2cb4a466d7d0a32f57f41bc1dfbb6beaa647ba7f30b04418299224c9523546948a11470355b135dcee6890a290a2b1798d661b4dece88dc42cbffb383f0d6e677593ec0760e741c1313c5f6a1623697d06255a7d9c2e1ff1cc6040ff1bfa77467a10520f835bb7eb8052ce7cfafb1ae22ae5424ca287ab87e8e06bdea215369881d5b5b4550e6bd0d7410ef1f7c20b25c1250db87dbe82ddab1a66c4563ffb8fa6dd8d8ff3f3900deb0fe9317c0d6eddbe597f32d62e717b0f5776fb4d1af16a8f360e0b380c8f59ec4db68a8ca28d7e513910ff100d2864be1f9579b9f820b66e3471d69c64e2fc4da8cf1dcb7d788b7e65c738d27b23076a8b946668f61bae8a3b95f2ddd35ec580f5d7c3295e6955bdebd101ce6b2dbe4727661daf068ab3e42a2c654bd68d49ea04a7c3deb5ca0620a8ccdfe0e66db072490d1c9bda4c885564a601702a2d229f1381cf9d91d9f3cd570052c8599fc4b1db67d3ee3fbb66ef35f74a5068bc8cd5c9088ab8b3c9cbb4bf57dc68e6b69eef2ce130a0bdaaf2abb2d73db06a29af87b0a8229bb9e35f346da709637e71fae61f6a714ee68fd0c27fb47ac070bbaafb4a028cfb61fae79d5e6ba9326ff91d8faea2eefdac8b7b7a16201ea6c19ede10b776289d61f957f81b4752c5c2cb9add3127b88b62e75ded86536770c8d9e6df3ae650420350f56e94d20a530df350135a4aa9f90b85ff92004627933c22da7c066ab2b3d0d8a51beeadecf68cd2423fd22482a8e523ff83a6544e7d1bbb1616a3de2bb6d68ec070a5b4194f2a31d0f71b72d69a143a28ad58baa12fbfe311fbcbca931ad7831ac7b198d5544410f89cccfeba9630aa134fab4b275654feb1b9befa9c13facb83aad7790effdf33a7df710a7a9bfb2e3696fbfc90a2b578f93254911c544dd717fc73e5cacea4e3d823768fc579cbe45d67f25558e64acdafac18a833748887f6bcb7817d38f5de3c712508d1fa11a47ea41618f87c7fcbb4e17e6165f373292def4b8bfb7b9f466ee3563d3c80ddaf85867166fbb8719dfcbda61a4db9cf96ce6b056696fb4210a633660532f2631f7b3201e269b7c1bc98ea2bb74dbd412fc92aa1c93a41f44cb6c40d0c6ee3924183ece9f23b9e2bf05301464bb2b95e560fc72ba3ffb6ef12aa7f5b0a9c619009487ba9b70582e47b5873f6dfa519d8e5dfb37f522f7e9dcd6b237ef63f7f5d0c5dcfb385a5abe379bcbde703e9939c0e206a2437ded6faf69f3c1a8ac1e59f7ee91d5ef20902d78e2157ec105a9f59dd18521d6252dfa1ca44482420b14ee7f02a308f74d4deedfbf9a7e7f85d2bb1ac6e23128c4a748b73c95e93373b95fd350ce1250624014c3a14ab761a2c7a024626dec69f1c4b17c080bcd4029899a85a07a1f61a2fdc39cdee28b151260b66ec1cef94e8edfe95031db662dcf8ce5fdb16d272c06e0506bb3e863a898e3d0ad3d62beeb89649bd1dec313fc0f7ed7fc8525f896a4cf6fb07a8e88565d520001cd8724eedf0e48ee85ba1a9af720a0c38956c3649a9370259e87252f40b2d2072f22d28b60067118f3357bf3fdecea172357e5ed469723509a105d4a735d7cdb56635abdbda88c30a824aa8a81ec112a374fe39912c1ce7b9c249f355b668fd10c22aaca882af8593f3b327a94af2dcfc1e2946b07ea743f8a73575b33b6f8eab39ae7aac1976a4e214469b19add0d3862700aea50b7ea0d501150e9a46f267dcc70dff936f68cb47e4b0018baf931b7787ddfc635d1e618ee7deafc15461f7379b0795b5fe87ab43fe0635fa048538bf3fcae7a51451624e6e36e0511d52a02c9272c8ef918c523dba5773c9631d51144f1f6299795b0f9535a09a218a5754187f47d4eead4ce19beccb772996d65ad26164bd6edde763bc67e0c14a0b13f2c7fc50f5e722b0fcd7739e56dad86c27ca336f762cfa7dce62069a23c23c39674364cf6a91a932570028fd1329b771514144c7f0b92409f615c7149557507d5d87c4703aa9073d88cc8534711c850b34528cb06e3979ffa479e6c3d129b679543aad1c819df4f1cef22fb33366ce5219b8a1decc4596d16a30f9ed66cf1ddfe7d83f73ccd910fdb1af92edf2e7d1347acf0dee5dd9dd6d477f7819c7624e894aaf78caa774dd46d666bc7f3263f7e28dd32941565d07339f2bb435e3d29aac087ec1155f688850c02956d7d9402e66a404b9793908037e8be2be46dce3d6b73ee7740fd38a5c13107dfe5e5ef7b81caccb5522caa00dd3d0efc2dad7e65e3576c6bda37fbc1ffe3fcd789689767fcb7aebd8ddedac3935a2f37ff8577f144f6dc8c927ce5cba8cde3f752ba84b10f1e6be20512653e44397e80fbceb0a947a441798482e5441e1bc142157f6bf6a9406eb3c667671bce05f872c72f6abfeff10378e95308ce6f31d2f67cf313e6baa0bcfeb95fe28cef864a8801b710b9ba150b76ce9bb06752ccc43e5d34dc63b69e072427bcafd2d5411d9dd4836d70f1368e768ae5b27ad81c94c3c16be539792599e35670f632425303c5bd7353efa3e56337edaa60deca36daa920004e5076b5e57650e1e4ae6fda1950e6e5e5f34dbf440eef7516fffd3ef02b2c6d6d9a74a0d995d8a72bdc89b7d15498ffdf46d3fccae8ddb63ed85e5c39dd4afe8638dffb9aab2c2020b0b81a603acb6bd072c7878422480a9cec222a10f77e9c56cfb1d21ea6733f06b9062dde7d18c63150422a0e35fae48a9414762983f37a138184a5e527522779d6aa7f5207f56c4c2f9a7e998df659d062119b9ab53fd73127ec3b2866f1318e5921836a2c4d7fd03cfad46e4e9c354b98c337cf5816e9aa1c28777ce9ceab7a190bc9937a409646c60e25b20c3d17ab713e565b789b9fd797a0e2425d236bd787cd985a9d8eb3d39ca3d3713622d991efa38dcb85f0672d84a37f18f3f3bcdf3c86324cfdd3e77e96e9f1f9dbfa378778e15ffd793abdba24636dce5493032df6fc8fb8a23ce367755cae177c47fd0b5caec4a28e75f00e738b37fb38e1c5b5f6bb5f7b8847ff4e0f777fd8edad9dffe671d5f0e13eab0c520a3ab53c834b78b945fdc25b3b3d0ba0e17d788d979087961ff11a154a3d42cc43f454e8a3c535f2d62e37e7387bdfe64b67807dfc00bf0094ce4fa2ff52ab3fced296dffce77ecbc154bcaa2534dc13e6191a6ec4bf3c3323b28ce0ae73e1b9ecb14feedc937732e76bc11a68bbc5df74c047c89411aebf8d1ee29f3c5f5bf3be79feb7535e47b7df3376bbed8bd17df0df9f03ca8848b140fd0afff17d2dfcd9f26ee883bee741ca700990da3a77347f3be1dbb8397bd6e20f3e8ec37ef4fe5fdb2f0ff5d9d86ab8493c157ec93cbcf43e96ef19e015c62566d25231fce3b8e67f1dbbff30462ddfb3f97e6865bf1ff8e771e8fde51d7e7baaf155d9ed96fbb2bd7eb7db87b9192f891d2fc04efd6a3f384fb6d9dfaec3fe32c65de4015ebb5df0154a6374a1fce77eadfed677f1dfef719a8f847dcb577d947f2d1f473b2759ddf6e6247e832c6131144e3e6b44de70b7ba5c8c5249ddc8c1dee4d6e875b93fb937fa8e7636b01c8b360e33b95390d08ef727dfd90208b3b8f74b31f7b176fa89586537ac66c5017fa2acffdec68ca2e27707b0da10f9faed43ef172d38ea6f0f5a3fb19cdc81d15518569ba8a824ea72e8c76c020bdad982abd7d1fdd4ad5fff67bc74f20f7184e418f7f9910b3970b826a6c3933a7eee79ba4b980685989a19a9ad5761fbc7d5fb38eb9f63bce914a7e5fac3f1b1c42b7bad42b8b9f4b4eec7c45327b96967f1f110e0f687de7dd18769758ee4425ecb8f9c0f5b77b9899f2a94f9a2e46eac28f5187dfe65fb16729fbb7d7d16bd34f9de9ba0fcebf6433d3b8bf7400de34bf5ec1a9b7cd4e4ab377187d55fdef5faacbea40ea58ff58b54cefe21586dd2634ee885ed0e5bf41f9fdf6d77832c3cad97eaf0b14ddd6f97dfed78089c1f8b1c703df488ebe1c7fdf3c37e220ffb811e703f281adb62d0d82bf7cdb2bb6dec116cf9467ce2d6f79d5f4b770c3c4ab76f72ab5cfdd5d5b6a9c3eab6473f7041e093439d56799edf72ca377ee0c16fb9e05553dfeb903fd1c6cfcb733efa234ff9e6c4af7a3d229653a4f13d7be8633e17ef61cb4b3f73dfc978df2c57687354e5ea692918516580e45a1c9ea5c8a7cd77e57eef3923469d53e9c740a5c49a8734fbcbf3a6ffe5791d47c9928758d87cc15dd9b6c72c75b2e3be91215e153295fac34c7fa2ca63dc8dbefefa9cdb9c23021fadb29049110e8efe2b0eafe0f2659c9c79fd81173be4a9f97b6eed689f8aeb837c6bf286caa7e6d96e6d7d07c90e72eec0f7be7032e7e393130227f2c7a6db857a8030b7f1159b5f31d6071ec5155fe62b8bc159197997ff177dfc1877a7c7f68517871591bb5ff9b037b2ffcf41f7282a31026d7e19a552d4b60e3d5fcc9a25ccf1a5f03d2dfc3bb6f870c7985f60ce05dd93982ffd3a5f26b15bda2483867f4a36fc53c169dd7e3f874ce337845b28349942d40720259ee128dd9c727c4fe7afb8f93faefbffe3f3d7ff723c6113afad776597dd75cbc958abd6df94b53ea483cfe8b8affbfbcf6d7f1ebfef6c0ffc8f4cd1b112e67738aeadabd5d6d902f6931ff22fbf3afdffb9df7cfffcc01f05390c15f4c0b7f1a01788f3d950b1b7a64e518a2e7eb9e22a3f705c8f62d6e4907ac4afb3d0caf23d0f47320bfd69b6b64b99bd8d92eccd4fb276fb8d3fcd167e9c2d46b1fdffc66c1f4d9ff664ca27e67753c30b5d6dbb51503e4c56d2e1c90bb50cc0cba86688891f3e62a56f09afb8f647d14eac22a53bd1524c473b2f1f10369cecb25594a46a506cd1c2027b923039ee62cd937ecda241c2e78bc69fa00af61c108620bd0555bd21259355026212abeb415cb320812c8a81a7316cfd58ff7fb4bd5b5fab3cb73efc813c685574d6c331b28140431b36ad78a6a8a14545679d86f6d3bf3f12e8c6dbf93cf7faaff51ed40aa514423663738deb628ba4622cd13218f6a5a08aa4527e624b54adbf63e33d562f86a8efba03c736f292c30f7c00558eb01938ff9fee5f75ef474c4400b76567c3f6187c6688befefa1be7e297bb3fed8eb5f1ecebd1af31a97440f7fa81003cdc5a3edace560fc0146fae6ee980efb63c5acafa8ed637e9393e9668d8ed5c19b60229dd7b7243e05511fda188d2bf897a79589a3a84c484846c42b2f87c20aafeed8e7907a6a584c742422b289d7b1f3450211165488a5290d40b094745a0fe2250ff21aa5239e870aa6b5175e71ceaf36e4c377fbd00365dff05b6737ccd81b69ab636871baf8ab77d3d121ce924aad2e719cb03c7dbfeb69a820c683c9baf981166b34034570b34720355af01d07eb236fe0cc020bceb88aa9b0c317f4f5693cd22a905d5ed7daedf736ac6d12b94cb40954bbcea8e9ba8db0aeefd0a9f184c62a23bffec6bf4a54408656d216990154b347206a9adc3efc6da456cfc9b804ce497d13aa89e8c9f6c226efc09259372f40a09d5c53dfb0d2f53870171f88a09103441d0e32b8e706e479a59aadcf13ebe7a5c07121f6b2f6ce5b9dc59eeb525356c014f3dcf0fb81ae5fa72de10edb95cef4abb7aedf77837de6da6140b49e9a7ee6dc7a6efab0ff50574efe264ffd7af97fa027e51304b0a9b5f1303477806a7d767ebf8590159cf6f87c66ad4d8bc0a3aeeaa411f0fe35dfe67e0527135efb9cb21ed8acba916e7d6065da98396cd21ae9eeeed1bf021a8347235fe1468b60c1ace5bf3a55693995fc15db0bd21d37672e7d3baf0d10b886189af275f6a353a3befe396bc7fbf19e29819dc475a7ff81564a80527900b92d677229d7c89443c737d2b70db3cb8edcd075ec114b5a0c4d4b10ff952a0a8a6dbc957772ea27e9dad543d23aa9e41561e727d2357af0a2ac0ce1eef75745f7a9c55dfef879a8ea186a374e33ab3b6f91c86719e59dba4dbce7065b9bafbf85d89bc5201641092746cebb2a6bd06d234c93fe6987f12d02a823a9ca6edd932359f4e0f497ff2b499f0742cbc6eae1a5d05433c001eea00b78de8ceb7bcf5baf385fdf92651d59d6f5d46ddd84fdbbbe75577beda9d2f331fddf9461f2c40e35f0d319f516df13b36ded7f9a74f3ae86c1790aa9b1f6cbf98417bea13ceb5e55c3adf73e71b0fa786fd81acbc38d4b467917af5eec334bfa7fabdf305e3a09599df161b3f918f1c263e33fa3701e9cfc7c57544f47504012c6bd032d9e45c6d1c17aa6e96a2da4862260bda16254d64d27d47a82223fceb6cb5adafa2b4be3af1e7a5f5e79f6c69002d773fe0767ed2fe3eb29155ce414bda59736072024692500b0ae6624e9a8f39698a1a8c90f698754e411b7b0c0541c16fa2b5f988d6c65e0febae676aaf27b0f185235e1ed8ede710bab7131ea01b3b5fea55cfc88bd7cd2333528b88ae39997663c9f080e8c9dcc566c6ddfc78c0eb959ddd8dd94f7ae783b6b91bfb13dcfbf5e991beb02a6f4fb93c6cacf42416106fcb136e5b17bb927d5d48afdfde5abd72c2404512cab0c7845759edb9dae4b114b84085aaa22ef6cf67d9cad53328a379ce811360a7b8f0258468141550877885dae9f3bf98b2d7e7c7cb7887c6fd5f06d0730c3dee4a539ef0f5d872559c406e00c4cff184f39efbae1bd7437fa147ed19f053fe8faf032ffcd0cee5db69cda0e5c6d9c1f341c39ea852312843a880913504e4aec7c5e75733a16c5b52020b95432e94f95bfbe9133c7d01758020b5c3e1fbf03f6aa32f1b34efdaa702cc6d162554fbba94ea18ab6e6d319277ed7009cfd1ac062347ef26a7af30a39a015de95903bfcecc65abca3afdb3d69ddd7ea5bbfda060463f6016517e935b0ea2416fd6f1fda5c6c6079fdc1a2c57e14aaea866cbc0b015d5e20fd87a8e7cdcef5f70ec6b68d2e20b1266786bb510ce0ff8a5c21e33d762041904b896db588b80551b19244d2e139630cd5867e68b14eaa0ad6721910f2c19271c55e70f65ac46234859fa2b59f3547e442b31252dcb22556fdf5af9c892cd3ac47a2dcc58224806ba50b4bb96a47ea4d8a4ac9adc9244e5a01443e031d19b2dc9c4ad5f798f7ea50cab580a464962144b969be7a3fe8a858d176eac784dbc1afa94ebb77bbca22e173f71f0747d79c0f2ecf98eb1b8e53d47babce983b70c02b278c499ed974f6ecced2a5c983ae8faa85ab3ab05d441417533183191af43dc2129ac9e4ca9fa711f905484f7b9ea6bd99a5da6959f65dab8faffe9e8ecf9ec0a9a125b032f9d9d02905b1c7578e0c3eb9f5d8fe16acb8b6f71c8f95fe280ee5e93f209aa7219b79dbd9393276d420e8d1c3d48491215d1a9f4226c36beceef497f7f9c99be46ca8e334f2dca3156932fdf94335909457413fbca845096114d6a498ae633a2fa7e8a1f9a5690fbd80c79ec8fb001d70eca9d5be897f704ca777f651e41330c4d41c4513cd8e1d9c67ddd08db7ecb57be7ce3b7dceb41c5c79a55552ee15ecb215f0925c8d14bb7adcc5e4f815a3f19e8fcd7c4f9ef8c516224252a0f5cfcc3c63e829e68dbf2a50ed747b5256be8ec6ed7eeb63e6acd138f7e7f0ef12eff00edf141ab265e97afb64e5b97bb9896fe511c7d8b5a0bfcd051049307663633f20e115dd5cf889eef4391a21987a864c6b466c1da4c45e29542eb6bd2306bcf11e5bf82d2fc11720189210c378c55fa99cd9dfd7db365e70437044c11d1444aa274c0cc8ba4eda69d261b059538d883c3faa01c9fdbccf19758bfa8b38d7b1d969ecbbe1874e8d662e5a15b2b2c46d9690db54520d71ec6c4b3d80b8e059ea947364798163aefec9a25699b509a1a093e3668363eec18a31513f7e4b14ea9d4e4ad9c32bde95e096f4bfc9db26deaabb77b18df61c628d5ef0defbe4f65e49b7a897a13a05eacd198609ecb00de275356152969cb95cd357ce31fb24227073e8697635e9f7877cc39a4f06ee2e295a3f77b9bbb64a0c5dd3217044130f324f63c482ff74167cf1294c1dd6bd1d9958ac02ab0baad3ffcfeb19e6ab83df030a139e6f049f71a94f78deecf59bddc295bc398a1a7837d8cf47ff8fbf1c037b112d9f16f7ee33812bd9ed5b232fd6f5edcbd0eed5099321fb4c961f9f173fbfca5fd8fe2fef4b8cd8fdb82afc55edb74d194fd391f5fefac7e1f08223afbfda0a9f5f2b7361af0845fbd9e81eaf19fb45c1de217c5a099b9de6bcca51ef671ab9e172d3fb69d1773edf288fb38c76a8396b76855c2c1471c0bd40b46a062a80a21cc552add9c5386b46e225ad6017569b598624a57f2f47824b38fc653a0c0c5a02f608eb91284294eb7658bbfadde1c276bf11cd11a21d36fc14e44a84a1e411e7ce9a20dcd842736b895cfd3c5e36daa98fe81cfb19bef2c1f9ed47fcd533abff85b9ecc71df8fadde6837bf39bc95b8d8633d7bec8bcf5f6e96da694246adf718bdc1ada8ca5b513d438fc37217eddfc1f2a51e3187df51c1aaf91dbc3e1512add698614979fbefe2fd7fe5ed3f8df7df6f9df8ac883fd2f1e7477a510cbc2a7dbcffd799b774c7ecd8a73de63175c7f4f86c0141d7bf99d8e74700ea81a762a6f7bf5d1f344cb970be523b767ed5efb3adf39d3e2efbf76f2fc7f783ebd1164873d0a73bc9374d60dde7ceb4d863c2d5cfe743429a49b46a268fd4ed1b6ddc76748c071ef0505842a42c4fe6cf7cba87f8c8ad5c179d3df2d663b91cd72a7575c4ffdcff0f1e834d9f9b9b2194fc7121399acd64a1d474a555800ffc0c5539bd7b178cfcc8b53be4fa4c808bf81c55c984d9b04566a66816371b9d0748e414c3f095987ff0bf2d4e7566f333c894d5ade9315e97fb7cded2f8a80b7f03a6f0c1ec39e79e8d94140cbd37e58c7e763e41f90f7c96fff77acbaad7a1a82cb6f37bbe9d18ec7cedd197fe097f757606c6a3f6b58f071c3dbf49676f563fe465dee29d5dd3e7560fc130ab790d77f4a45d8399efb9d8db9f65a237926b23ef61a3f79ff7cfa1f8ad5d5c2fbcf3ddf19f8da5b7717888a3eb31568702d3539ca06d132de790a827c864e78776d77639ac0bbd1ef7450cbe3ac1d4e1f66205054523af56a0586c166f81d37965484b8e580602bf69fb03fbb3a275f71dbffbce0c5418d818bae2b1518c0fdabc03bec4f2bb79ce1eb45cf46314da23dff4608fb8aaca71ec6a7e2e4f6b087bbcaad5c529826edd602923b310a6413a1e49cc25a20a83eda69ce677d1b41d4f6b580381825b48bd6e0ecf3ea84354fa892bc5a5e100ea4c1063540acd6db8db3414c681cf26efd1da7be5fa453030d31594f958e5021463a04b7f991c9e33d3f99cebecac57aea67dbda039cc371e00b5bc7e768cc0b12efccac3ee19d9f5dbda2fcfc5c09b93f47614dc160c8d17d6b0e14a17390d618ae5d8f1eb18c6fbfc2a25081cc682932b901cee08bad8f5777eef7bab0bf003de1413c745d36be4fd138339bf2e9f418b67c87d322f046a6ebef527dd7f3ea7e6a7f1d4d90fdffa6daf33d76bb33b0c68f5bdcff1fae4772b38193f41841302d504d564fe97fbcdc40f7307db951747f39439f9cd937bf961ce7c6ffbdf2cc48dd6fe50ef6cef3717d800f29e1f39e8f522d67bede0b4b83cd2ebed7d008f58bf766b6ba582a15e38eafac5be9e778381963bb92e2f202b43d09ba7607c6e58dbf94f66014a2c51955224775f29d60f083981cea56bf324a29e5ae922005510f22e0934858f86f9a0dfb704f57358e54b6ecc6a0a1b4af89d8f262f29aa259afc893254a818432337c40816111962358e585b865899906d614955410ef76f9ff4c541af7df0495d4de44153d9d6fb2d0ff7edb1030f8aad933c773c344a5a9d0530750046066c72136f2721b6e38024de0349d88c98922dc0c845b0097009961768a86950ebc74098320a41fbcc2861f94a6cbd423b92a687dd3c8f269d3d1775a62f639d9dfb64f9ac5579ac3bbcea6b992e78db73035a3e7c6fd0743cc6de77cf14fb7bdb7387f01bb6992620672be5627119bca216bed04d44db98d0842deeb6e20f42825289bf1d23c963192fc8b80a0d1b62094fa83c2e741d908ac55c174f64ad56322f7ffc9c5835d193e735b6fca3add5cfe9b59f3db4fa397d6cf7181b75c48df37a8865caca3e3b60e354d57c668c8cd542ceee4a1f7595a19abd74f6c902276f783791341479b4c8ad7c6204060b9824ddf39ab182ac4c3187ab9a629673dcc243b7df37259f2a975fb7faca67800fdad7405d5d5a37460ed76e635cbdae7f9ef75ade477e4ab9ffffa0c72976b1e358c75b5306700ed714da82fb4652dfc819b41b0aed86732d297d5760ca40294de37643284c2ec1686cc0f82fda684af2074a60c07f6b8a9b976efb4517122fb908d3b84573cc4fe3dbf92a72bc6197b6de691807072df2f5f771d4e7167ff55899379ef5ba33abf9d76dc4248d5880d9c6e15ba89268f2318d62c8177e99a5aa89c80c6c0d8ff5a7ccb86b6701e613d5f39cb233c81fff2ca354aea2810f63af6fd03d660f728df7e02b3bc9426aeb2e86f6f77b2ea541c7f2eb486ffc4d0c3c4869f93ac4bce5aedceba23a9d2a3b07ba7680fc52b4f6f99e413641d196f6bbe156fad89697a22d9f60cdecf3136d49623a09126de4226d0859d721ac36979116d14cd5245a28495921e6da488902d1141f448be4215184a426822af943b588a6dd7c994843e7571e25c514354350f28970e6ebaa212ea533434a4a09462228f184e72c000516abf269eaf0f357199287b2ebb3765faef2902cee9644bd2c17ba0e71c1ba796a19af8b2f8a2b140442628c2497938b586f0a8af773410efea6e55b4166ad62d6da9a89e43b0f1e6f73cb73d7d9531e78d10abc68f4db71606f2302a89ba0d025cea0998d7ebbd8173c4244df1a5fc3e3aaeb973d5fcdfef70205ef4073a7bff997df65bb7d9dd5899ec5b0fd0d1b741effa7eb64203fc0fcf06ab58622c20b1140a623fa75edb9bc5f60f576d636c7a665d6bf776b4267ff3fe97bb0df0160a3d1e5de3ee00ace814d20d7ae9eff88a3e3171c6bf8a543bedff6c1eff1e4d1112fd22e767c8b439f0f066cc0218f560672fb6488d1220735430e82c066a87142cbefb41b7b76def620206a73d3c7da9f41d581af0cc5bc64089bbbeef89951d3486f584c4015a88202725e409943d6f3297d221055a654bffbfb1c592b66a42edcfab2c809983224661c13bbc4469a98cf975ec9feafedc5fec1397b844d56ffd7ed55aabfb557f1bf682f4821c70be0b88480cf7fa99ef3d868a803a6bd28d17bbeada3f67b598096ddefc4546d42349234b099de65b6bdb86baf3ddfcc4b376e1265ebcf7fc255efc27fd5ef8ef3aaf2f6a7f3fcccd7d7db0763d717146c04e1c0a84e14013d1deaf486bee278f89ee0d09675379fb97e6486dce13107d90b7078d4a8161a5b85b2e7f31bcb53ee2efd8dbf0fbe713de3f3e8668fdf860984eac0b311fe90bf91e694a32672f3d1809dab7e6a9f1f79367ee6d9eeefe311fa5ab729814a21782c072dc86eb837eeda76e2ee531fb79d61eedd06096d4efa94fb5afddceffe52df367ce7741bb2d1e879f4040facb3df9e819630773c07f88fbc7df633563f4e7a0d7ef00e7ac316cfc32ee7fa98bfaa3ce114eae6ffbdce72c26c7bed73d3c969de9aacf419dbe64fa8c784e83ca650d7916928315ee2a3d31879fb5bbf3ccee35f9edebf8ae454a6e554ecc48a2ae163a5e6a8728174fc4a2a36232f5eafe7a10f6d0dfd78b0faa727edb7001cc35c593cc44b1f7b98d998851d97e545bcf5f01b57c1dbbf6ee7b4bcfdc71c79e059c2f4e736f2835438bd0a3401514221d8dca1eb2f177dde305e9cb4991cdaf2f7f8afedc3f1bca4b6eda94754c9600b5d7f3fed7f39fcead691d1e7c049eafaec11bf86cb7fd9383232cb73f5d3b83be276e0e07c5bab61d0163eba5740b5b07af1e16a5817ca33c8ac6ee84e561eb9775cbd3d07b237f0f91702f88b9fca0c94665415118542925553054a9a94c80455c938cd15d59b1987cdc257234df56f57a7f40511fdd23dd73fbff2b349d0d991ac657f58a2de69d5a4547b442004f858706817313593cd4ce7f3f0b85e49b37d3d50d2ad8ba77ac16e4ecafadc062956ee3e4bab3dd8cf37dbdedeb5b9686c3bbfcb43dcc98163d2e21ba81633f2e2eca31c9a59d4d3bf811279777fb432cf0c5480095ba714284feada072d519b08f598116099685f5e2085b99fe4b8729cd3bd7e8e706dfaf5ab99adcc9ca6fa3753929feb3c600410d578caaa6616252a99562c0baa728dbbc99d9f767dcadaa77c340138338e6f45e8937c5dd673d21fe6de7ddfdf205f973b593dbec4abfc255e2d2fc17872062ee7310333831d3066362fa1da640801380ee08733634cdaf78b86e91db08a254c3b7fca74eeadab9fa94ff31be54fb8cd535ecba4b84c7a4ee212554975a3a87e07a2bdaeff951cba6b19aee3ee7780a920fa5af4fa87dd2b0f90254e4fe76c64fb878260a8df39ce630ef5ba78a8331d74b32ca6b0f34df7f57e597961e7e03d47f743d10f045ce826ba5d314acd7b2d412d31bda949054c2cbc88bc7815c2647a47269cebfceb0e1a8584af6dde66bc41d117e5f990ff9bef3d11fdfe249452e4351d392e9af7e910fff247238027dd8d87a2b385fa7cb7e5450d340b1c06a7b88c2b3be6d11f2f2e92bbbb0f1f4b01a6fc8aafc247029afbf42a526c719ebc7e2c1184c2e4fd297eb9ba625accb1f23ef8717c5c1ff4f6420520dbae270cf1cd7271d0aaee9ef58f5cbd1a4ac8e8f335d064a6a9af65f782d4e96e8f56dd9a266357a738ced81913148ca01232dadb4d12c699c3a7f7cf1b60d4d92f7b5db04405bcb57df00b54b13ed4af583d69c7f39f0efd70e00f2b6dbebdf7871d8634b1f954e86c43b1530450c5b1f16e4822efc9ba68a43105a5b2897573cf4c7d43d765cc51c633320959db44f19fe282544d46d2894793f9d9f8bc255e388959053ac84ce457328cb7744c613716b4b4df99e358331431ade4afa93bef656ceaccd7cd9f592b918dc59fa9fe4bbcf7e7fc09ed79922c5627d4ffc84b1c62af5bd8d7f4f7f17bbc0b8c2081e1a8d71764e0e8fc962fa7a7e38cedf54cdfdf86ba2f31755c9bfb3cd48af5dc9bc7f83f1d2010034a0384dd38b53650616319a1d3e873fa3449995b5dec63ac5f52ee7a2cdf326ccbd9e1d9964b6e3cc7a9bb1317b1090cd59261cda4af8bb3359814569006adb81386cdfc04b8d6d61ebdc242e524ab5f506f2ffc6a711be72f6ff34c304cea67b5f23ee6a6380ba08861cb7ca2b63e83af0a513c31c530c45a058920a2b79f0486bf98112ca0e5d7ecf5318ccfebccdf9673d94efea875f9be8f0f16d63ebaeefd9705d5acebbb37433ec7da3fc7ffefb146836d39417ef2bf8d9b5e48c3c7ddfafc74b1509476d75b5f4a5584242be50cb688ba0e2bafdbff1a24af22c012025c26864a36b5f125d5108adee17f964b4ae5e3b01d54dee1fff79b3875c60a39d61f91c692c5bff04a059ddf84badc51adacae8b5b176c9c6a170fef36e798efe26ead6ecb35afca4aea721baf0ac72d036132dd4ec6c9f3af159ab759c4c4ef685dae18aad26a23a1c9191197d1ea9344d2eb6cfea724cbe714cc9ccc61196351105d08b1556bde1008934ff0892e18eac667f0101604f84ad6c2689fbc411341e500bde6345f1a2aa727f553de99efc413acc519aca5e57e0a3b7fd1e6970b8eba9c21117f605bbe86ade5f0aae4ba38ff8e4bd09a25042611353a81bcd96b2744c00a5ed7c8a056b4853983eef37a397091fc90837da5da9e7216a770e7ecbb5a93849d83323e518a115548c8f264ed6a6ea0b73f5577bf135bef6bf5d1aeac6e4a1fefedeef7102fddfb89032eb79bfb07bec61dcfe4b97ba6d2c58c7b4e277806e1c3eeec094c41e0b601a5f01af282684f8cd620a86e3cc51014839aceaf34250a1542b736480a5aa10a0b50bc80af5f53abdf015a11fdcb58462409d2722ac180c78e100a05a2d7dfb5fd51155f5683df6974f47178ab85eff8bbb6ddfa50be580dfcb674f64dd6f919e11f564dcfae93f2b645491878f7a06a31031d42d2cc18b044a24821296fb9f948e81bd1255c2742b1375c097fa1b49883774b2aa6c89b0c2898a0348d62babee76ae20b7db720b0be9c06ec214cf38732352e3c0cb99b391bc0c2f2144d20019c819f03d0f256ec26c8edfadbd7cb278cff8d9f09b5d5e59e83b6bcb17ebf5e5cdab9b3b535149d0d7d11efe436746b4be2345f4a3fd0ac9b7f4690c9818b7dd0a1085e61f34a8ce6f028ad1d3dfaa311a085ce17526064a9eb05513a204eef2e22c6ccbaf1887a93b20472f77f13d314a6c4ec6e36e04590accfae3b5bd530825add1225c339d49424dd758b2b30b5266a9e87aba2e2050c3c09a802ad68efff32300bae9b295105432823aac621e9fc19bd0988f1620a65d7877c02cd5a5c98887efd82aeff21949c249367a21aff4369f1bd7e9caba3f813b7908d1f71147ddc7dc9953cd6c81b3816060dc413de1e875deab9004ef97bfef9fddebe166dfe36cc49475c973b7872dca2a38d7b9f987138d56fdf38dd4f341ffec367b541f3aab5e33e75dca58a69662e9dfd66c668609c91d40be9f3f5e3d1f7c2eaf85cb7f5d1f95f8fcf1f3e8e21c41d0185876b86bcb317bb863fd1ab79045243dccdc7ac8685c2aab38b653546e1f0b9c7f9f0235eb29358f9b07dbbb763ed3891b77b3b327375d107aeb8e3e37ed8d6fe98ceaf80a2eab9417f9d79fb1adafe4595d3900ed4093fdcf79700937330e8b8447f9f7503beaf8fddf49c70fbdadd862b4979ba39fd7c7837fb7cd8509f8606de3bff6dcf6fd0eb5cb1a31883d553dac7548e6de63bcfe1b67653665e9e99192b9a48e5dee3676b33bfdcbd2e7483cb1ee39563b7efd7d98db21cb7a6ecfb0b39f7ac6dbc382fadeb8fcfa35fa33320a8fc1740018182c6d57703c4ebd37a0457bb9e8fe355b1445dfa53cd1cb7ad2efe40d6f9421ef2d6eaa9da1ac578e711dc7a38d7cce5a06fdee52df55e45f522591bc67ee7b754b5e258cc82aae404d5e66d35f964952a683bb943fdf687574a452b9313c86f83c62b388acf69ab4244b6f067486fb7c57d50d57741d5bcde5e34e3a9ca2969ebc45f8da340995795953ec244f3943d633a1e07aaf9f42b7647b6cc8fc7ec95d2b262b849d038bccba05fc60cdc018e3bcba3f35b9f2c4faae5c6d9e78f4736a7be2bcf61579ee3d924618f3063c997e2c983f22b36f34a0ac6692c5ca3be9b61a5e75ee2c5f7b099dec3f8c95393022b14505fcde0eb579d8b3b72c4d7f860fd41d38d3babcffcbbf3bba5814b67e71dae078d5d175c3e2273fa1dbd1e4110ab7211b6f96dbccbdf6097073c2bdfb02d79b73fde960137c13b6f939a2136f708ea0ed56d913cd6549dd77c1b2e1e2fee5eefaa70b158debdde69be5c2c16af77af0f3e495efe70dd6c09e8710c5a48dd2c1faa3a0c7d7347d282635a84fed2609a267c6dd87ba4d8ebe8f7e3341c9f3d84dbf223a9376fd9d5e62ddc364eaf777e7663f95955e7f468c74bdd16be8d235485b3c3133b471ceb705ff0aabcec6b10f7358a7b2d6e35d4e7596c736eed7ddb9f87da6517e78cf7db4f57508930a2326295b47501212d42b696ef44c9e9832e24dc9a30843a45bd59115da681df94d14a874ccb3bd01bff416f2849579fb4d59ffe05e4780e927208b80f19d3cd039a6645f4d335d163df5f302554373f218a17768f494e7d25021cd773da8e23ac0a9f54e3cf692eee508fa3075d0650d594abfcfe0dcbf3a8357dee6d33ede3f9152326c236f78906361a799d2f6b5dcbd82076964cd1f3c9f4981c9747688fe347ec1827e2e20a5be978c33a5f7ee75117139c60a8ca2adc7a68d7535d5ec3daa371d67380acd8c01b6ff987032daf410563d425a29621c742b9356d3e0294b1e8e6272c72a2a4dff93a73643e4f369a15b09a29938c3e1d3f2c26f54c837737532246bdf1d1c855d0d980b93763959891a454604a9f9822860442ac74c8dab1f1515cd8f53305b78e6645ea537864a62e50d71fb4dda46455e8a8125ba9c709bb9f2068d9cd1d15ab4c6a5f5886080505cdf6f5c7437e4c76763b13905aff7aa8e1f92fedbab63c71bf5c2df271dcfd48bf8e1eb5b139688a40e92d0302ddfdc46c3481de3ed001164bdc6e1e482be3ce6e20ede6378eae1f7afe9473488a0454c3ceb5a1a0c60e573ef198684b13a27c3f69a3b44ec30c6e854916fe56f4fb60e54f7a2e9697738a4acf36d55ee30ea05b4f7e4db033fbadde18c9972e6e7464f7bb7accd1103b155bf116ae07cebc09726d31172ecfa0f835d166be4a3c46d48b26aa664153cf29bcabc04c24c9278fd4143e79f528eac2870b2f425dcc837c1252983c277af3e05326a8990899e80772dedc93f3cd8caacf733082c0653ea5eaea81b47b7feca83e6902be8275ef8ff962dbcd3d2e17b0afd372b5694b8165af4d3846be0234227e9c2fcb893e1fdfdcedb6f44f1307908581fef54113c3b6705bfe09569b5c24cabddf7ebe05abcdefe0b56c1f2ecaa768bb79badb315b40bbc72f40d12d5239900294c629b049e78ffce9fc7959a9c0fa17bb2288d7e50c51eefea91d98e7bc2a5fc3dd9ed3fed66adc273d4e75ed38eac36d71d9f3faef645566b82a2f3ead2272e1d32a97d29ccf11273e05edc375243a5b69e36c2641b578a4da7068f325e862c65bf1186a236855d7f38ad501aa885438470f7ca2cb0257f96f03e52d4bf585af278463b524ed38a2a6e6a0983cc175343aa21f260dc924a17a2348555cc62b98851544f34a51b61521bdd90444df038eae9fb1759a2bfbfc86d3834f801a48d47fc07f6c458055fedae3dd82de8773be8061ce3fd81597b22d7abf6c82f1ca43b13be2b8ff032e86fe75edf2121b7d45345b42650849c6912db14e242155ddf9562fa09b17a264018a31ae6418ea86849a51d4c9fc3fe0444600ef2f01dcecac8e057e3e135dfb1f50878531b74ba8c30f50018a628f8701738a8789c1c65732eb0bfdd397ba8d57f6bee790a9b7de477ab69c18f6becb8b78df06c51764fff1fe270865204c49c334a7b895011a359977d7b795016c05658964c3fe4674fda3bb66e67536fd9f9e07760ccd6ca20b89758e091431be9c3fa136fe5ce92a8442e2cbaf25361014dad53f0f7a06bae7cf67002ba0e36edc0cbcdce7716b39e0cee54edce25f3141ce6fecfaf7b18f38d3e20ca588a99ec4fe8d0cecb3da95dfeffd3c223c019d53d0250f4c1e40a2246f21a3b06a59b249e6f785ebb71efb071668bc651bd092c3c6859b664af8a46577ffbc3fcb42be0232ee96a7c3b3d0e5cf73813ee6c4cadf425783358724473db4bfb73a1ddfafcd5b80e62db88786c0cb5b6425bbb8dfb7b9f9c778ad063ee8c474c7de132d08d1e6c097edfc2362e7b506a61ae72e6eb49f7f48af17d8f37714977fe9ab0bb9cb77d8e6bb580967d3593e68c78d1cdbe76b754a16b2cdd73c930bd1e6016a7ee5e6a2a767a626216b3719b9fdf6fc5eb55602b49f896744414855387df8e18592c3a21ce69d4b34e380b4a08829e39df9864d5bb9ef8c1a78f5176574729e6e864df4a0f77698af0883a9e9fceea2f3477ed68575f18ef9118fd82d5f17973df7da38dc16769ee7b47cb5dacbdd02dd7ff65ff06b734c55e7c99421e473a19ad0b77ef2e61e4d1d64a679405d3ff86613f9b07957ff61dc8e5eb79d31ea87603c4a948f6b3df57511f26c9313a30b0a65f6a01be18329b3ca4c7d9d87d1dbf2f9783c9fcc5faebf5bbc2f77e3d7f213fda57f64b67db29f633dbc2d2e62e5c330d736dfdbc18727d28deb37b75d42338bcde609f27e6e6dff89e1bb46906457beda7dfdf7c27539a56e55fadeffef3bbf3b315667efe47e64fbcfbeceb108e25d71ded7ad9ebb9a4d79543f29b77c073bbb36d17c3c35cc88ad9843a2161ccbcb786d356dd7aed635cf03eb67e5ae1674272ea118f0954fe2a41de06ac7819188680289423002951236bc0dbb1c11d819a271ef5343a0669d1d8ddfbfb36fb71d3de923ab6e7e4f72d27d2724f658c215c3b9120cd663942acb6ced8ad26c6c58e7d4bc815664ae18722508185687c02868b100c5ba8e729a4f53b000dc80703a0d877c3ac95f43532eb939f0ec85a608f8aeb8c4b6b88db7c55bf77fb76f5f07765fe4fe7a52b2bb3bc72740e09e3348027fecf63f796e1bf6dc81777e95004bb695036bd025c7661460f0c7ed6f3fdd36eba7f6e7516b020f1e54cf6bbbaf479df579bb71bc1ef251e5a9cecbb638871452caf9bb7a0be9dd15c3fb059bb2565c67feb67860e69a69ff8e824779b158aacb90d6fee3b2aa724ab54998ce55b1be910f7e2be717426122f67cbea35f1b0226e0363a0eec82eb9252cdbe863c1adb15af68f2cec6bc844713fb2a1450e5d1730e9198334a203bf396cd0cf418bf5499d0d19522c6f0988d63d2f204d29ca399df4ca178c2befe86cc47013cd7f807e0c5f25601b8b8d4a0c992f4fa4a969ba7c7280d79f1ca62e1b7e0f87a8e6b1b6c2e1f9e57c9dd79c50830414c91e12e84cc6f3719abcfa52905b96201495420eb6a7db7553e870a7b1df37702c287f439aed765c0959ea2663ceada978a1db62ac42b3625506e93e7eb6b02d2979e5b0bee09f81c2c7fe821ffc3369677fe6f9c16e2b406f908e7c14eb8698e70213f710075ed8686c031f783febe2d8e3931b6144eb60dd7dfb56db5f886e9cbffcbe75dff2687fa26a100061ccb714c5db4ec1bb6a5bf471dc0919ec2c099a3d5cbd593faea7ec7575683f7bdc77cddd233c7c7f3686e9be489a8533d456130007f73cc87b6167fc3d51cfbebe98ffc699dbf7fa4b37decdfff0bdccef1f16ad0debdeeeff5c561e6cef7d8cdd3ede76bd33f237572fc4dfff9a36b8f718fb11bf4a7d9807174edd8f39a107dbadd9fa3c745b2e8dbf6b7731df1cd397f9ae47dfb0eb65cf9b6e743b57afec5f93e3ebe156fd81696070596dd0251a91984affe4ad8c54254efafb076bafbf67f1dbefa0df49afe9b4861defdbf50d04c23872deafe5f921a16ffd47bc8ffaef7a0cbb778adde62ababddc76412758baebecd6943b5a5dfeb0a8f43edf8b08f6bec6a2c54028224084bbe65d574c5f6fff3d67ed6edabba3e7a5a776be6912a67b8ade722f52a9194c1f03fddd601b665d5fdbfd7f7d13ddf384e9cfe8cc3d15a7b7ad04cb43958c7c3d5d9d63d1e6b82563b241563b92db6dd1c213a9bc8144e535ceff15b4b7418798b9d4587873ad545d3be17e326c096a54f1fedf5d34bf119252ce050dec76c2c296a4929143ef104d37542908945c204533a2109fb65df9185ecf9fa39ac1aa71b4f7548758df7d471f8b3b4fe5cbcbd5fff0e9a94a932f07756247c62cf8dfa37498460aa4e09b284a00899d2a99fb090a9eef7a6e0af8aee7c9ed3a177f10162f904b4e31320b9ad4f3ee2a9b8c56d79c93b1bc0946fb12982b82d83b055b7713b416c8bcb703741be2b827057dea209faf5feaaf2d79344acca335a7f4ee9da7b132d8cfc55211669fe345f7b4fe12217e1977eca6aef09d26787e979d6cbd98ba271259fa355f3cc76055dd066a9d66a45c6e394a34a33b559c59094335a95b6e4cd3eff1c7756d7770c33851c38835b85ef10e49d89144358c3bb226d6749cc355bf2d6d6aaae1d5e3f377156be625b9a5e136fd83fe6adfadde347ba3564f1bfddc6e4fff6fbffed7c98a7979f631511b2e1c448ba301bbff0c127e79d5bb3e19189ff1587effeb3f9b5f99f71fe1a14b06b68f73ae849e192a956e62aa2792e20958c2a36115b39013566c23091a89c1359fe98abfcc74bfc3f7e3ee01d4ef0871e48eb6fb2218e30ac47bc8f1dacf9910d32d7ea25d0f2f6789ff3dd3dec6b1ed60e6f64f129d8f8e0ea389eaf3533e79dff6cb538418d53a6c7a815cb78abb0d7e6d405d433f2fccba079d1ddfaadc05792766bcecb254d66ba71b9cd4d4837ef613abe0f76f57bb2351b1bafbeefd6b0abcbce56909d3d60c880bca1dff2b36bab33b7bf5fb13caeb3e83960d6f1817bf59b4eaa58428e960fbcd77a5269f608f1b85f3b2fdd67708fdaea8e7a63b776a670b5549febc27cdecdd27e3d2dfa638cbdae03ff36aace4a7c052a60ae31025efc45b7c1f1b44a23b6ddb5f2ac3ca961935bf66dfbbf7cbe739f8b6dbf6d4463f1c373afe15be6b85d575ab1b99234ecfa146f286c0bc74761dff11e8c7ced5fa3f7ee181fa8fe7db645558aa4b4982a62ebf8409ccdb5a07ddddbf02ac038aceaf03a8c23973fb47cca0c7f1b482dcfafe3b1cafbba65dde748c7b6ee411fb8ebc3c331abc331c516de361c53312517bfcece5fbd29d90a8e8be7fa6a3eb908d3fc22546c8a2a5f11b3197dd0c9f0790369cea8eef67fd677b0990a9dcf90b3abd9f3af8f1e677de5ea979b285e171159094ef5421ef02ec1a0cffb0c64e2d66f3e8187bff386fcff8173b9fd49df8a65c7183bb5ecfa49ac7dc5daf1231b5d6bfb7e0e02d38213d03cd4b92090bfa2d26e9ff89f7c767b76e18ec16e1b4a7864a32bf71bc6d7acbd3ccb8e8f1747e782ead7f1f9abe3e3823feeb87bbb0f71e93ebbb3c7f77a8ebf6a529920002261eaf2eddcd50c957bceeb785deef99082818fb12d6ead7db5662f7c2b077dca33a84aa75d091ec25be3f8f8e6173b0a754ef43609b371e657d24b5125d408242a387bfebcdd1235114479927f94f7610349a01bc7c3a78280e8f11d851723d578e1347df3e962ddf4ba942ca2c0e82a52bd8ee56426ffe42f7ecb9e988253fd17e5f469dc3cf21d4fbec1be9ee31914a342c919a4d65fc14d5f1fe76aa31e3da2ca79a9270179fe75c3950f5cb1928d8a2c00ff94cf3491314de66799e2d9e8a3bbef66f0ef0ff697d51b3ed297c85c7c6b6a71f7aae772759c0baece3d1f875bcfb79c738e3b663bd7fe9e3fed4149e22b29c1304e95b7245bf9161151fb5a4da12d08184689d9a41c9b78fe226ab5adf50cd91e4fbdd58a21c815760ba2ca4302851184fdf64111249282c9192829d0d43e727113e5e2d5ef334f27786edad8ba1a378efb7ce2ea184f2db7fc502feef3aa3c73f14ae9e2f48e4bc6d609f65cfbe3b81aeae4bb63f29c6b06f7cd5594c14471e3519a36f99426c92c6d5250e69382477c909c62a3efeb2b1bdf895763c17411a151e13c7f7fabef78c2d33c65495973f0bd675f8d16c07c6a4cc2d775ab5e8a2545269fd4588192db60fcbe7c08ab4da0728ac6845c158de5cdfb84f7a095cb28858cab010f25104a06c4d8bcea083a9f66b5c1cebe8e3305df74df4ef5dd77c5eeb9c133d66e3e670434dc6b2f60e3184df9def9058d2e834895399af33808e2331d789920e04d930d16b452f6d85675c774c7e6d8f950ddb1ee4959fdb4016fc80c6cac7eda0e8667f51a271eb3cfc0e6a9f3dceaa56ded359ec7d40be2ddfddb12b83fab11409b98ea0d2546ddc3b2590ab85ae4c48b28831094161cd55b984d9e58f319a1119ee215055d5bac6402ec3ac022f3af6e2ad8e519877ac6c0dcb2957c9ee146edf3034ebf690d5475eb4404dcfad7abce47753a0cb68fac70356869e6df31c29d7d53c599b89055b1b5da0c6bcb1fbb73b55eea22767c0cbb7ecc9ddb78e97ae8afce97871264b89dbcf9a42cf8564f695a7e85c6941c112cae18210fe657d07dde1ff7159af1346cd7679ded26a059b23711b32d44bc0ab79dcd47aa2255435e84431e844475ad53a3c9c7fe3e5f820a654c2bb30cd362c1cc781660f1125679469557f255feca87f9ce8d45d4b69ec3c579ac9fbb65abce66b231a584bdd8f195b2f3ce4e080cc39bce5ea99cad0c59ce8809ef470dde8219b345ee6c10586a49e7bfa4078ae243dbd42a47bced7f73349a8c7e7944a8a0eb145dbf5af7f507969b7e6ad8a58d05d9988f7c0295df72ed3eb3751936be9b13066504cadc10f3e7f952d781074db02ce8d9d5bbe1a08a497a411498f872a9cb69039b20df3511b9ba4234bfbbb9d7d7e147896ac222c370b5c472ad0c12a56d7d88c32a3afbf207febff3130de8fd67c7755e3d7ecad576bd85eb03e7f368ed6a8f6cccefae9bffbda9f021f2f57b38edb9c41268ee49fd120ad848c660bf4ec062a8fb775aac8f1548b2454dd44b34d5a6fbee34517598d68d26adb7cf0f1df46a365d7b3ff6f50343acad6be7835e919d3fadadb3e450a2eec56c2d925fe0d46a9e7fe5e7e978732e33d642d10b4d0564daeba18f807d7ea4bba734767c97df7f7fd0ff71f593a77c79df7ecff10ba6c6df13d98d36fd3568e0233b41450805c00c6062f58515bef5f71750cdde7a9be3cd7295280f7b4eef3ebee6c6adc31c393ef8707b121f7e86ace0b893afb873dc38dd731dd69fb9616b6c5dbd93c5796d45c0dbc2727e855d7fa8ca275002e37c83906fce63b679a7e7454033354d52739e8ecd98b7ea49aa668666132c4c19967ab2ebebfa631c7bcbd1a72c2293443ed161aebc1921634152f6359d2491465de3d7782557938ae8e6138cf4a92a62d88e73506c030ae3385b44a0f834a6fad5179b69b4be9bc6eb644a28cc882ea668ea80a1eeb98a3f6f086b5ef95b71cfab5aa64a7ca9d58d7e225a4b1f8824a29a9a50a01e53a224c5ba2c8276b2e9f9118778dbb833d633c0fc1bfffce28718ef2907d3897e5befb3d9982f1cb82bb77b1bbdb3cb9c8dae8f7060bde606014f62e57074a6c7d3d144f65a742bf225a667bae76393c0c0da8ccf13fb0e49cf2f6a38b8dae4eb576226fa140b0619bd0757b7bb86d574e5ade4fc97711c6fef8fcc5cb8731610b3cb23fd3f7334bf808d4b8efe5acf638a5e2bc8d5454c35b371d56e0e9c1af6fadf3e1ff4f9068dc08f6a72a3d0f3111981f62555d94de66b4539a457c1fa0a029333a619f517212a2e1ec0c80cc1b7f15baf8fc30a54a5879bdb30150b1f941f68497d25c7d3d5e40213c310373e26fff9f36ff1e61268ddb580f5c5bed50ffcfac6f17deeb4284eb512871c8f8dbd5a7f7fee89c4d6bc1b34f58c7c682fefb9efff4019e674d5f9eb8ef7fe166e85aa0348f4ad78beeef3397e41f4959a457aa88f0f71f4ab9871abc552f4dc111537ac717ce6ddfd9c9d593e5d801d70ab2353f1ade3ae7231e6beae70eb6abfc3ad87e14e9d4156d2538d00bbce56d2e2758b3771eca3a6f2e07fdadce6e0dbcabdbef2d9f3af07d42c26c623b882cac7428362e9b8626b1ff36750454cf23ba7a9f15a72a24b24ca0f2978746a92b104c7577ea4cfad067d6e4d20256d3d176d59092cee580285d5804a260bd2aa396a7edbe7013951f927d35f8a5de99e03be9f6352d7a651ff3bb0e7e73c6a3f56fc9fb6dfbe0649dbb9ba1b2baff0fc7676610aa46a33035d6891e8a50086ec5324a2d58bc0309faa173fb1b569ef6fa89a00548d2b6566b09db0a774237d30bf0914039fb0ffffd43e1e4c2898093503cff1e4e08f3abdd40930ab87f574c441b116d64feac68087a1f37dfaf89b70f563ebc9a04d74fe4fbd13cb81f7c2b3d2f9112a68e97abcb17de2455f921d3c69546bdf94974b8745d8ccf5b94f4127512563055e545bfdf17116554cd0f975f8a8f3086fefa662553bedb1f5e65ea8c903cb366e7b55af123d5ea3ba963491837c40460b33c354c6bfcff52b68f1ba843ddfaeb3e7356c811630d3d87df4126876c41d6ad7e9cb9ee7ed351eeae79cadbaecf1f04b6e7988ca1c7bbec5783b41be2be79095e37897dbdc1acf60c7ab7cc95bcf6acfc66b5bd77e11ef0ad4385efbd5fcecb592f761e2dd21346256859068ef01db220ac09b05d02cb1ddcc921ad299d1119c69edd3288ad6a24875b189a9f8e37c6535e3a87cd01ec176bc44bd926c3d5e4f1379ef57f233a45e3a073d0bb62c66ad8a652a4254f90c4d3943958762cd6cddb7482633327bf72242c11068369d496e0a9f986ebed5142b96a02e16d4e47e1f33a5c7f6520a780bfe7888972e71553a1f665bce2c5785e3efeefad5e55cb3cbd8d6150cfc4db63fddca1f35604e74626f639d6fe375d9e39bfb1ce12abfb036547b5477ad6cbeacfb2d02593285dc5cc46cf34913794f812135ef3919e79bb8ee6c29bde595948c80c317ad2b1e5c35b972b5d48aea7219ea723a5576eca6026fcf5e12dd90059b515dbea32aabe9768213258cd05ac8ce96d1639f2ab9e56bb10ab61b04b619c7b5c174a77e856d3e8fd27141f4e423aec71772ac09a822f7951711ed35a29fcb28293e48cf6f119b67e5b77941d906a763f19511b18517c6a952a2b3d3f2aad4620d04569b23be113bdecbce5aeedcb430f986f3abca05d5c2e5156d8ca33c8f578e57dbdaf347f3205f8bcb036ee26067c58a1b959f2dcfc3bbb9525a884c964f1fedf53c9322ebb931348cb3009564699150542533e38ce69d1d53c86965ec8410104f12a56e514d32d2cd7749a97c53de622c1ddfc79f3ca34bc803d022c044d324eeebf560e09fd7a005360a62abf74af25bd9eb79cb5d79db5d3f6b3dc4ad7cb3f52c696939f1455fe7d2c73fb6dc70e0af1717a827fcf3c57b9a2995a31554e09701a81c29bbc62467a15f5448140d5f3d8bd77c583dc8e9b4f1f1f7bb783675086afc729fea4ba25e565ad7d16255bd874a34119ac7705b1ef13932dde333de2d2e0d8a8067d2faced6c6251b14ce8eedf36d076db5015b1aae040a3a6943303204d358639aa8767e9e788b59affba49992636f1a1f3eef7ceb31197bbb394f727f7cc46930f8f385f5e70b57796cf5419c5fea78d88e7005568b831c38a0f898c284b3055b2e822a5f50f321ce21415588cfbaff9d026466b48f095762db4c163cf11678973095cf479be19a0f7c86c286ef37a04cd78f07bd803defa5cb471e71c6f67eda6bb82dde2c575a266ebbb9db62aa7747fcd0bafcefedb8930cb605b71c01d01044769b54658220a2088aae5bbc22c89d476eac96d684c633b2b3ed5bd3ee45b48ce17326c7f23718a9a72617a492738e6ace4c23309d6804f15b0c6d33acd70e9fda5a7bf69fedff2ffb89dcf25d1f3338f28b1fc1cc31e1095fffd46fd4245ac58aa9dc27d3bb5e1f2c00ca2602759ee4447e747d29709aa9b27b45604ad797d4324f18a7a35fd0f3661cec8fa7ee7e50597dd3ff97fb71ebc93e1e129a814bc2ae117348cacbbd5e6637967fb8eff3bfdfb796ed78c95085044d481299757dd1dd7391709421c1b120a8943857eb1c1947bdbab0fd74354103edbcb3ddd802d6d13a9e91d6b509ed5e44cb00ca66b6151fa2859c807e245067acedce51cded5849e4b03f6758fcd086dff054dd7cc1adaefca0d3f41f386cbdc1f73dd291ceffcb778ab7a15ea5c7fcbd86bbbdf6d5bf996faa6f9f3ffb553ee55baba15889aa9cf2b4dcceb91a4102bb4c6f2ca7ecfe3b544db3b59c2cb87a706d3c2abfcf5dd8aafba0d5ddef1502ebe705353bab4f79bafedd01614eb7d2d538da35e1bfce61079c9a8dc10d3e83d5e35d97798f473ab75a3c3b58c9ccaea7d6769486e714ca085ad6f297c45bf06e3c4963c753388c277fdcb9c044cb442677f99ce4a3d0a82a58dd90699bbf702de7b0658fd2f6336dfb17aa92b2aceb5f6ddecdab7ccd1254a3b361dec955c9339307d03263e754227e8520e7a05c9bf355be08568c32fbbdc931de9b288b1f2b3a3b4eb9f8c13fef3ddc1597168fe5ea0e8370551eb71debfbc6bf9a978eb8de480ce6d00e54bc71b5b9152bf635ddb215379b45b8131f62e7d68fd1eb8db7f8a9ef5ddc1ccf531c8d4c24911f73ae9efd148a6e1cf938b90fdaa2edc6b5e26af2d7f5509893f5a76b0fad7c00b201d9c71b0f7397e3253fb493705c3fd930eff6f9cc1fd64854e51c1396525d8701d48256c2ae97e158bc452b9952a345a074483bdbfb74ed0c3077f312d39e9baf9497ba75544dbaeff34acc08d42551f58c553fcec71a52862dc0c68a90d372e040ba8cd7e5f949dc6ce060dbf3b79e6af5705d0ccf7279b37acf9fb8fa08563ab7219e4415040a7f065acc3af715f7fb9b706be7ceaff3d5bbd7adff51350e7dddcbd4c064f8cecceff5767cfd964d0f760a71233d78810540e42261bdce6a1f0b1cfa9ed581e835a92c6ff989ded9053787eb874713924c73da6ab7a625e38f279ee44fa47924899dd30b6a6e77b6af6d478280f65017c2c7cee8574d7074ff144cee83f6f1bd9f135793bd5e89b07c340c7cd5ebe9b6fb39f860df1dad5bdd7cdbcd8f32bbc99f78da0eeb0eeb6c8d2b2d69a8fbf93295476b86ebbfb4fb3daef67c579613cead037b7cfeb4d701f55afb2c16c0943b4ff8656db8601f788763fe55dee328620323601358187cb6bca207ceb43dc76a78f4bb7b0d272cbfe96edb79e7f03939aaa1da1e637e873178f8fce8fce8cdaf5cbc5405f65db6ae8420eba50997ffcbcf2105e7c3b4325630ce9630704dbad775e5f633730e34898b9e3aaf7f651f6ebf74e7381fb82587d7317e2ab2f95261e037d0c9dff4a4ff03be591dfcb9dd8fba539d4d4cca9ec776e0eaed73063de6f9d78bcbc56c5ee3f1a4e7656ae771cbd619999b1fbf93f73cc2b4cfafbc7ecee36d63e3c6d1fa71ce86fc7dbffe5426005b3732f02f38eca4ad79983a0dc7c35cdaeba41fe9cc05f2440366cfcfb88d4d389b2a23b9d94ca72b6f4ada525232fea4606e89d9fc99eacd941b2347efef2e37b42d2eb3b6e7af62934b96c652dcc01f6236b714cce77f38d759cf71f83bdb951f4e53a8b9ccdacef5eec76263fda9c0e2e0e8c1cffe076ff1512d7b9cb0e3da758bcb18e7fd1c98c01fd5f34e8ff429fedf833a30835d908b3fa68fbff67158c785ad9e556d63a6f238df7d0bc4ea56435fe375cb758f59f91647c7dd4f78a5c378841267319d30300f67632828d2c938ab27ada1e14c82178d3e5dcd136410d1f7fa8f48d91fa1b81e19789b658212b3a1725dbf81eab65fbf4ac7e1696b06e315b3c7c3015f7972fd6e3e2af7b873de167ddf989cc6f975f913beebf2277c161ee697faa0411740b6562304e98f3ec107a34631bb9acb12b6d9979e91d7be1e059ad916dc3bd5ef16dfd76b719d5d11dd1982252ce908487925b59c1223b7b3b4c46e7b767f638e6bdc8edb615af5e9d2feb5afc73ef06b0596dfa45b6752b61099ad59b9fc0707b1e3a139e203cfbb6389987b1a9e400bb4b117970b43938f74cfc3f848cf0a60da30048d26677d2c9739dd9d6e9ed05a0cf35937122280a5c55d56b65e0158c553666b477bddd9ddb71cdf31ff26ef8e85153d131068414071347d0e4e977cee41cf1767461b4061a516a0e4084e03b472d7eca12a0b410ef96c02445ba7b4ecfcaa17bb7e2579e56a5bcb21177482553d9a677698e4eb58093d5a017a047477efc4c5b94580d919f4b92e36fb97d7f47ff1fc5a8b9bfdafcf6f23fecd35897f5ccffff0b9fdf77e9452508c40804a51fda188f69c3edb0c7ae19d5ecf597306a5b2d64c98dab9a95b275e7b3e5c3baeb9614bd4eccffd5a53d4658b664ce34529785506908c05b97d12683ccab5e0e8f13ba21a09f79e246a7d7661f4ade3b33c1b8102340a451f97b39c73c73e737c584fad5f48b538ce9b9cc4a3622857bd66f219ace536d0ec76ae85f5a74141800b6563450bd71cb7c16a9cb295f7c42de7e122b7fe0e5714b5246014e5adf7c92af127a80a8ec697a84a5376be4c002df4f632b4226195e89ab939fd5cfab0d504952447c71cd6e3c1beb37ab568255dd9c1a7ebeea9e2c73501c9216e70c457361ccf4f79c572c7e597ecf96ebbb9153d741c62a3c6617e78bf0d45bf3dbf061a69d9bd2007b9002f4a61db50e030faf3ed3bf9e9f62718b90223af85962934b3f8883fcc83d0e9e9187cb478b4935a87fc3fddd7217e628f2f4fb7d383ef6be329995c0ceb88d3f574b5f3c3b9bb63151463d4c5bdaf0b3f8602c5c9f603f4ef675ebf7f055ea4fa79e6bedfa7b1f171ad7cf3edbbdd3eacdea139d97f27dc3cf50e445f89fe77bff3f326f62fc9ed5af8ad7e6bc194d31bb3f707ae26fdacaf37eed601bc10b66e5ff7f5de70e7d6b0d197be2cf413a06e0ef14117af991ff0b2df71f732916dfe53ad368e7b9d37872bc8d411c6c04c4df00fccc1e8154caf57ad39ee94485d3c049f47a3ce1e75fc1d39f8167f5242d1c79dbbdf95d472f35ed87c81e3635b705206d2e4799fe31a8e39435a5e489b33b4b99737b92db39f6d55f67a8a152ab6271cc1aa08fe3ff2fead2b79580d1b857f9007a056c5c3fb4ed2368514525aa09e61d514aaa20f6a0abffe1bd914d0c767cef97eeb3d5863ac0346e97e9726f7eeba2e2619181b93d4c192e9fe80667219cb779826809f84dff0fdccac0b516e39d1453a817e11d5fde12e41cebed5133fea44ad88b5d7afe02eaf5f1c8622e03c79051b2b02a916132a5fa27ab349f3664e64a41a847992155f5c321eeef590d4850cd57619add4f9382b13c888ec7dfdc0a14e2b39ec7884895f376d64efa339f8a707be01b27123dfb13eae40553d42f62b17b779be9fb02e4e744dac5f3983b91b5f325a9c679e6bd0f16bbc313376c62ee5848c9ecf27c6bfb339f42bba6cf974d9172ebfac822183cd585e6ca794d6939174f3bd066e66b3e2e627be65a840032dbfd5798750c6a66dfcf2bef7292d2f478a9f9fe88b7c1a1b145b71914e4511ead0e5b41b799e16d27d339e2320a3c53a6d07ce7696452ad67a47ef37a33e6c51c3f1bad9cb07f5f501ee9e9af40f533ac8777d37ff750d09d1db0418c42bbe8ad53fde878d4f0418fea61bb39717e92e20e9dffefed8eabf4d4501f39aa5f98c392d05cff9d148635b3d39db2db4d778392b6ffb10c1ff74edfefd34617133d647fbe0e47dfcff7bddd1ff7abd50e2ffd466fc7dc001af7b3b30e36b6dfd79603b5f8360ec18f7dca6075c7ac73b78e1edcf457afcbfffe77f5a625ff667542a4da01c61cfd874a839f60bd66a1e67328f413d84282ad22d93a1a67599d6999c3e20cf41572354c110db627c87fd3fb296559c498d813148fa45bc073b1deddc346e65e5f90b6e0f7ad79647e0f4fe1ccf9af5e7159bc7b69624c0937bb071d358f183af7be2f7e28bdce44415f7d06e655babc993dc84d18e251c3639a95949cc54294974c9c316b2085409058c98fa9c87edac6558147f20a8992ed2d1588f98da966cd92b49cb47a8b692a48f2d4355b27b5cb04c1ddf97b3871acbfb83b6bed5c6477dacc5e1041c0fff27acab33c806d8d58cd876e73539f9875ab02964615b653c75865e7fc40503c10891f957dd24b13cd721b2f10a6458204b785df170c717c4f87770156226ef68c625f6b74f148a58825e0c2098c3ce7371f9ebb548360bbe2d3c77c937ae83dd41bff534f6d60a73bda8e04353b8ce890a9ea34b3d235852a2febc582c9a0ac791ba5ed31ddc52f510a33676fcf639a42261842d4c7b0fbf6e6ec3b6ed9fe0d30998f660035b8c7a5e785fd75f3aee7be2b0b013c5f6bee66a2ef6fc3ca5c5ab5b2eacbe8b5fde833c205e2b6202996c432a76934e23b52e0a78ba652457cf4ffbf2f51efa0b96c16822f53ba8ed94e84612cd5f40565c68c6506f04ea2a25aa2263e09c007f01b5cd882c23aa0794ab2a82ba4f431564a1665fbd4fb61e4d672f145916eaedd570ba92284bd39e622a9f6f5129844a86282b4154c550aa117e6c3819a9846a4530dbca37c938be6ec72cab3274487eab9fd6e1d346125aa0058c8d9f931505d5ccf70be6390518d603645d3dabfb3ebc9fea62c7be1fd885ca7231599dc874276642c70053a0a1ba9121ecc07c4f5c36cab5b16a156ab5e8da5c4f0327a172bf1415ca29a73593dbee1b0256b0ac5ab04a6dec74aa4a3bcd5416b60f756955bccdadc5bdde313ef307001adfd77eeb13d2b5c5c19f41563efdf39e208a795d210731a75fb0a0ccb88cfa69aa2b994c25cfa48dabb86f66ac166c062172356659a669d64fa2fb204f6020d99f91f32f5350eeda213bc4cb0910254305d840e6f23d8f077dd75f63ae0243af7d9a4e45e4b93f5723cdd79d1e2f5f9597acc37aad85ad39b1f127cd42876faac299acc25415f14c163185a40fb27f41344b406ee3588944a886c42d4750dc2cbb405561046c246543872d2091ea0fe867249a6109c6c7db86d863f63607c627d4fbb3bdec8feabc5c856111e3797111d7abd0f29c4fd588c483738eb31eb1d01c63df7cd36f9f187b0088cd539c9b3e3bad0ff8fddc72ac3b8ee91f38c903b73ac6997e0cdb627c71e5705f48b698bcbcc5440e2624ab86b4de6c51072555376d9c2b91785debde3b4ea056bbb90c86d7ce8ee385ee9727f6a3b3d78980e41b8ed36a03ff8ebb739830c7299eb19ac9c4ebc113cf0772e56a776fa8f713b8ec99c780bae86da188c9773bd7ea9f1756fb5a39fd97ce3e74df732ce18f8f477a8d6317a73fc943792d8cee7a8b5afcf07ff01f1cf8472e70b14b65d4ef3d2b613e0ae3fb2a9b4bb7f820014bb3dc716740a1c4c4aed3c2fc86a0071498a2c4343e292895969f3746d95002a2f7a55d9c464ab1b6dbea8139fe04b4f99de42b4eee97fe3fbddf6ffce67bb8cfcfe660e11c079e71617cb946e33b1c755fcc357d8216300591a0ac3a4d5b4a6515122938eccf7ade1744d81ff8ca4ff2118e4f05fb30d42efed1e940b8fa57e7b39fe6117d7f16f29c7fafbb87e2d272e575dc7fd2f13bfa7ad285d5725f55f831b92a29ea429877c26dfc4287b83fcb21dad0a3a67e2aa049625089a0e0f2be3968229b8a40a305343c8626f9dfee7ba7baededb132cdddb15445a43d963dcf211e79ecbf1f806cc1dadc53f6535bd88f45ddf3f176f7d462bf4efdf6d03e8b69f562facaaeb6f67f7dbf7373adf3cda7cb6f3f4f895c4d88fcdfda6e699e59b4f92260eeb32e08acc68ea3c4f90f5d7d8dcdcbe6e5affa07a6bda6fbd2da4a175adf19ff521c62f2d7238a0dc6a0c6d4e9378c898a9c1fb3cd4a02c138fb96df63caf2d349c82c1f3ab5356a338ffd2287fc2cad7629711854b12efae92b6471cde6089a85b5cfd9262028292f22b2a2a0c70f5c162197f1d2e76f7944cb170abaf2221cb4d77b35437c6cce1f29687c9d99d3183d8d4dfce44fd616e3d88d83dfe2193e5767bf13d11678a6b518ea66dc7b75feeabbe7307a914132e8b0681e63d37b1d8cc9742b28d926f4ed1960be1d919d4ebc9edf8123a9b77ed62e5fc9167e5d3282ed68048d4f35d8f6fa68f5a7a579a1da46f7592e7b90b93871dab205cbc485f1cf99b1433256acf986d32d85775526d84e05149b39a1eb33454d57a7349408bd0de097e694c0fdd95b5df2b1c5ddd878f1ad8f5fcd4ef137431797eef4badc7853c1325995cb26ee4774eefe43052fd1d78d8a56778f08553c23e512a6b04c7c3dd337fc3656769c3bd1adfa954f20fd8d8fa0d3b57a540eaf221d8ea5f278168f713960b33fae4f79cb3c3f995bd6c56fbef1ff853f74eb7ebbae03bfdf4c75c7b2c787fb556631e57f7e9e479ef63f99b1cbba7ad9efdc8d9dcd686dde73573b70ac3738ada72823f8e24f378a4f6fd5f4e26da439bca4643977f9f7eb9dcfc5239fdc683e1d7c71c924a7b3d1745f288e9b97e48dffccd9b3633c99c350c105306eebce126f33a20e88fdae5683efb834e32b1a3f2617af9d6d6ffa4eb4d8f4ce9eeadee7713ef9310f0d8c89524b50fd199d5c17acded248b96f4b5e6c7954978c84745b806261bde1cbbe18d2af9ba0ab4ba8ba1a864ff0f774b331fedc87dee6a4ada61fdac75cf49631dc8ceee7fd515403235762fcf94b6ef2b77ca56b3423c7275231dc00526f17d96f45ec0fdcf9f151c7489cfe3fe84176f8c9131e05ab03ff5d13be9c405ead514757a0de26617f1b12f362e49ba4baabdfbd5a3160c3a134ff6f4796435ff361de3e8c502a24c086050c0859a908351b9735205935e6ff64aacb18ee378bb2ad90a87720b2d890e77248e46c3a539b04673cc1a91a2a68c221bccd896ac2c2af2772be731dd6c2fb47d2b4eff85857d3ff5e2770cc3fcf8f3a95c7f6cd2c1ea53af81b902f1f172c210b96f85cf38e7c9f6f371c8231995c67a8f58aaa208105c4014b2ad924d5c2e796db1ff3b0944b3a0934a937021e6068a9854ffba7eefaed7b85637d0e3df40b17c771ed942339b01c14b8e2af8932df41350f5ba7adebb13396133c56ec0c6caca5b880d972fbf8fabe7dfcba491c1f45b471c9703ab1c35e3d9ba2aa28d10f3c672a265ac4b82e1e882c87a0ca3195628ab0614c8994aa92105526b18ca4e5567bdfad3ccfd89d7f60cc0cb361769582d4296a9e31c9632ab78482fc9299312f821055696b135095215555c9faec0b7dfff0253d1fad85b46ead5e207a2eb0745d597e93a4ade654b197916653ef5fcd43ace60eb3eef0c261269f202b62aa9cfe46eafc539f7facbc6f190e2cbaffb5cf7111e0201f84a4557738952cc1cd32c1b72f549c632be33bc508027b924a9691d4615a9bbe64339ec84a70d0f14433b65722ee0327588d97149b21d16d09b95eda6309c1432823502b0425094c1fb61f520b92a9f4b9d44561fb808fa75c3789d7ffeaf802228000620597b6bd58fd2fcb7b7e69eb4989b12dabdfb80343cf196f6cea47f03cf1a2adec38673146c4eb3a9c8c3d1bdd2c89e404ded53c9a0ec66d76c4b3c2d2f84937e763c99304141d4b86a00b1a1b33924a0eba794028e947ab3ee275e3d2d3d3e0bc9f058fa836c3a86e4a314f9e7a9f5d4edb4cf7fd7750fc1d44842092b80e12940f45bcda2e50cf8d2bd607c87bb7b6de9f61aba0062a406aab2fbd18b976ff045939739c1d62c5775514eeab9de72f3e2c676d693933bc36773fd9596ce23cb5cb2df7d265ba96ae8e4a55f3105c6dd571dbbb5a92fee7446f848486709002240b38810024134800098310619511f34c7411a1e56e9111aa62b4d8f53f086c4222d57322558272f312b55b6eb5d05a59a05611597fc0fbf50710a536283714ced9089fdf96a83e32d06288534561c924af2104698eab6206154755329895176b6aface921372de1f49c5513597fc5cad8932fdb15aca7ac35197495744015ebfd1c62fb08258c3ebb15eb1825ce302c281e967bbfe688747fb657adacf767c39e16feb41fee7f5ff6d7f0e5ed75879ac78e178b01e9cf6c7e1d72d972cf79a23dd2f74fb2f7e2ef7bfc9bd5f0f0e53bec16ae78ef5e28fbdcebccec8c263aedeb66edf4ddfe3cdc3bde3d85adebb63bca7ddb18af644a304ca633e57420e5481b425af00770090b6070cdaeea466da8c612fae863ca0074e186a7941cf531a10bf8dafdb2f4e9f6374c233dd1def16a601264e8b9ddafc6b2b43dc559717082523b764d442c98ccdb38ea677da964ef746524b067a1ed7d57dd8dc35590d250bfdb3bff07a2e9a034325611602d11b0a4a251466d99d8acf5ea689e47fb46008c2d98df67843aaae5feefacdfdb0dd144c371f13736e0ce6d1b4c893bad9654db9a30892b297d063fe3fdcf4cfc42e078e50645fa19233a28b0481912868e77053ac0ac27dfcf84faf55c308ee37201422c41294f11fa6652c2c06d3da0763988ad74ec37fa28d5d593e82b45828f37f1eb6a51d73715f765acc71c77f142bb617ebea42eccae7500d88d729b36373c7a962fbde7515259d0e7e5b5e72cbb562ecb5ea0c72b1b0e7d1d50a75b9b6b8acbde3d586a9503cef97d8c298d61093dd76b968444c95d812185c0fe55b44b01c8352059df20d6939822c04b6d56c34dd0e511761382d86a11a14a48624549b98650c2b5093f1aa19664acda9e23c84fe6a084d01928514aa4538edff21aa0a312b124ed86d0495a4d6e7dcfe89c396a20ee867560eb16519eacd9cb6720652484a451a654d1ab63ae15286f8dc4cc8341cced74d0cc63f6f591eea82509b1b6810547f18ca6246d426965931a37a93119413c8a524e497fda4fe6b3fcc4008ddbf8b647f114353231451d6ca09c84111cac1c4d70fb35eefcbf8f7215405300d01300985fcbff7fd255979aa0bb680cc612178c757f3a16484b6f6dd4c8d4fd1362fd524cc8ac964d7b7df4858078ba8bd8bee5869b6c12f68929956490c8acf74c37bdba622f2a540d8d0189ae4195603fb3d108b0fb1c7307ec5dbcb4312edb6cb104532caedf91ec3ba7966bbf24e34779150e63b6c9317adccf1790c8d397ee28ebf2a106445e0a570b120afc75e318f171fc05203847bcf13ee395f7efdefb6791d191b351ba08f3d9be7e4ea79771de7d000b12e9f20f77cb0b9d51078c193f5e93ffefb1cc96cdeb274f21a0896b1d1d3d5c64cc5cb6b5f30c5241d364f44c97104cf03aa06c2dce0526b399d1631e8268940a554f231e955e9244b6ec2ace8a31609a9ab3857d92301312459152ff42cf5fff99d66c8b26a9a80ceb0668222444cea11936546619b85c6d6d5229aabcd742d750eb5606c1c7c9a639a6330b95d13a508646c2890cd69b899d046986b8941bfade1b2194650c5a09faf31e2feff4b98289d41e6c7f3af5ed0bb0988849818ff28b3f9316bdf9c70e554145595dbba3ccd236c2d0ed4f449afc9dad944b166365f8e56dbc171daa77575d2c795e7a12a63583731eec3c5501794409f87703f087178c66a360f57cf970cce6fab5c4fe8b76dcaf32179bb7b2ed5aaa06a19a1784f6a7e475a2958dd8c311b95a4dd8c66647b4d50864499fdc267222fcf0692d3f1fb3663377c7357abf2db364c0d6737db57b1af25c9741a6233a5284494f1e5246b3c5009a0d7eb1365f9a61ae0001b67efe0c2c5a506184ead96d045b22b5754b319aeca578bfbc9ab0bd1567be66255d7907758a5a2abbb3ae232a078043940af4b3086a9ff3f15e7d6ff9656f7ead1f826702f5292570c13bea4b009a99c493ae543a2ce57445ed29241ca76cd98c8664c9e2ea14491121924e6074b3934ed95e07688534862ada72c2f8a79cb2f893c2f8aba2421ca1b33be2b682eb52ae843ad46140a36956c086a2bb8dce25cd5d0d39053e9ce33940c02e8e712fc79955a12adcdb958a2342335ccb00ea701ad92692b07615dd010b747bd778811d0f10de2379e1d338682aff1e4adf56165f562daa78080584ec29dd72cb61c05b6368c897540cd186a71f89adb7ab51265c556cf8318820501b5a0753b18660941a8d659abc7a1563143963295c45c578c484e13569250058b3093b350077368ca063497bed62d8e2050f3bab0653fe16ca3685d1354f25eb4665939223240d16e19aa808092345a73c2e4264555a6a46644d41b8a608b82bfe57b2c1fba25bf64eb53fcdf69bdec375ed5dd8163c7ac3fc503b97a7c59ae929d5851573be262972aea870e6765b155e619699fcf9028ab10f6f394942f292975d2ea90ed363966fc89a97ef2014d0a53b43905d9e5c43a9fafcbbb1078b1fb8b2a8f08e70406f70c0527dae643a3d37a51aa6101646bbe2b6a75e27eaf579cffebbe7ec6693b2e60ebbb9e7003ff360fbe3ebbb772d397b57c49d6f24590aac24cbc335d548976f71cc04a925f7f91fac9a35f12f3bd97fdb61525578af35ae504b6a349669c7ee053fc3e3de6cb140e3afd170d4fdf755fe4110fb2e69723c54c5f1b197b90ef78843e17dc48564da9ec4fe9b4ddae9b714a8022169b504acaa91c1f62c36bd6b7db4d6eaa0cb735c82a8629bbeff422bbfa2faae11e8880f49fbcbe95bd2ec7d12b5fb8fea6d565e3e6b8e2afe61a4ff2d9587cab33cd5c9cfac2c5b0c3fff01ea0822a9c5c793dfbc84c55d7c7a97f3c77db9feb937a1e688c1df7e4da1df420e4877a43a78121289b1e751692acf89fda53377f125fec34612fbc36a6795f6bae02b46d6f72698b2ea031f714d89c5cf9af7696b87b4bdefb84a8d535810dc1159f1134cf478da38ce30675c11c87a5e9a1cf6c2def443b1d7ca6be4fb9ff4687654ca5e6ac6d38816dd1f1d168d30c2a00a6600f4c98116fe6f1cbdadb6a971e0b4f3d7e3b3a89a38fb175e3ffd1463ef210879fa0a6fb02d36263017b25615fa0ac9c1625c0aa216a242062d02581ba780e0b66fc6865fc380ea1daed0a9d161f22cda1d9ed54309e5c6d463b16516846a81a4664fce06a52fa489448506d13a2ab5992ddc968573c47bb627a6df5a62fdf98fa7ebf54c3cade2fedf4fd0ff7f9005979f98f673083bdfcc455e573257da4aab25ccbf6bbd8c2f1fac9f77b67a60b50e65e155aec925414b5888cd99e6405f2e92d74d7fc6eaff9e28dade159d0d928a7854ec4d61646f63ee17fb8fff2ebe7fbfd7ff3fd2e9d26f8ff67ee7768efb7ff7ff57e51c312e8f65b5c2e759c0d6b413c3f6ea72320457fa4ca57ef9f3e800c62c7536dfaec7bf0bcf02167db73c867434e6b394620a04a734f1c32bd898171f31da3e2249c163398b2aff9def11785d31fdf2d599f05500a22b71191328187be1d872f8dbda99b88e866846df11cae06e66ebafad1da8f8f3ff563e2036e3aaae05ee3250c4b00728c27a6c738d7fcc7bccb0b9dcc9fac3fd9eeb8ff49dee5c8fffd5b1c0d7e5d7f92b7f98b43dab6bb6457aef94a8c21b3b6d00986d5729f769a380b987abbbb9be6d5eff3777e5a40425593d015b8f9f93ff6cfaadfe78b6efb92e170c3a8920241461c8221cb14432c1f3c8e39b99b8a61546f3f39948caa29b871faeacd8fd7977efaaf7965af533dfbfd82c53fb65ffc3e7f95b8e9cd1a2160ef4a320aa6b9966a546f97a46634c1a7b3bd7238ded13e4b13d88ccdb5e2493d9cf34f1a984a80745fd46126e36ffa21dfea18cbe75f31298e87c0bcb7859d7a2d0717df919789f1a7ddb8a9a002cf43ffda035fe3c12176351bbd40f9da8db77126f3d1548454162394b33794fd90e8228c511658732129e861abdffcf66eff5d53bd6bc789e6f8235f6e62d21421ca0aed71fae15216e638294ec53634dfe6fdb62bea39d19bdec2506306a1f1950b63d358ae0561fbcecaf141ad2acf816ae39676dec50e8a7ea22a1b17b5f50d998c50972fc6679b2866ec08eaf9f11d3fa08db7561dd749f7fd20d1774354d558c1d539ca728c5a86a3e7ea763ce3086b0811aa31aae261bc6b9e53c909debfd3cce218198369b1652bf627addbe46eb769403306b2a4e362e163ffc55bd85677b3acda8ef061f647178ca801c7d5f66c322b083cb32b39d51181c110a1781892e60a143f4fa65b84207d902ffa1e9464512bcb7c153ca453add8cb031f1541094ae491940cea8fad7cee3fb83eb5ecf82c4ef9207eb7b775719e1251f3ba8f3f7964e10eac66092ca1abf1aa420855883b35032d66f0a33e2bb2e3e14f1e6d8fa3897d1da7b7b523a842d2d14d7b8cc2777e20abff3a941ddeddd6b2bd0c1dcfa5e599c01ffaa0d67755556743ef41411552f8e20fe0f164bbbff06619ec1b3ad1d84c6e3abc99ad2b7db6f31d0e4d5702b448dd45269ecfff1f7a25d8033ee8f0ed3fb90216e191d7e9dcfad83f38795237ff9d432d779c6a3f78a10efb27b998591e9f535c2badf6a19b3f7247e5f252b40e3b79c2fbd34ff7bfeceffc5075c0fa46103155be0f553945f35b6ddeb1e691f90d571bb3eeb8fe2b78fc6bd93ff789e4b73c2fb6630a65846b88f0a514a8ca484019dd291da12a35aabb97c37aa5b5596fe75fe0bffff79c41bdde9f9e863832efef4d3bfe45cf1574825be6b3b03df6aba77db4af017c49e900d32ed636b57a9c470eb4833ea78d11c796fb726a390d0f7c19365e9c9bff01c69a9f273ba7f9107fe772bd3ce9e367dd315d5d5265b5e9a8660e6f216d8e390ef72e1eedee250a5009caa01a73591254e5049546b61f9cfb3e9a85b089ccb810429122e810f3b2c7341fa11a44a858cc65103350635e6f62549c81dcc6598390a96a04521254d592ab8077e7005d30aa2547c5f2c9de8c7f7a445ae9f9ed6537c65f4c5a8114ccf5940457c6c783984ef912754910d808fb7720591913d39faa328e5e2a4a65714f655544aa1c19b713f55d9cb0e0bc1bafd8cef30ea308516e432ae545beca62549539a6c07a53a0eedf53a972ecee51f33c991639a82aa2da1cb7ca09f4fd79ec7d30903c425635f9bab06324059d3b1dbd6ac3b41fe3f2d9386195391e03b58da25ac634dba604456ce6a92e63a8c573920982dadcf796a036edb1d7fbd23c81aa71501cab7312581e3d3fa6f74cdb49f701c2236c420acd9c2c80609508ad92f3b648131a25b084f755ce1a9a2d1644aa3dc92aaec9ac4c6857d8e1f1bc4b9bff7db79d353a9e65cbd17aa8e5b239256b0f8659b94bf766de616ac335bf34ff9969df1e277fe4f27e928c148a4a36210d0ca96669980d32067c0b8a8dad7eb1b6ff63d35661d55e8d08cf87ebe6cef1bbaa11550cb7b3c12a5957e2466d2654fff924d87f8f56c9136dc918141f65fb2d32045e2b4ed6353debefd279cef84b57efcb6003207dfda38cae80941ddecdd7e2544edfd1695b5ea62b9b63fd5b3b5731b0fac0f387a74c6f9221282ee86d544a8677c58c08b21951241151c123d96531dcd7a4eaa7af4d019c4c15c7dddb2a2b1ed620d976a8b68f54bd470cf428618565733be0f1a081d0eb176612206c597da855b71a4b65c7fbbd42eb27fe87f9d56f98dc133da329a03263fca7ad5b975dacabece2ed736fcfab06e5bfb48e32c062726dc749c872e579d2ed7717b87dfe5eb66cbee13298eea7ecc0917fc4b3c400d7a68fb6796d55f9765575bc6d1707dcb5195775e1ea0833f31e033cf2875afd079b4bb7f7afc2bd28f8f55c0784ac6d7d60b69abdada7448e62150ceb1a04e9dd2cec74b769e5ea8e09687edb16c7bbf3780c4d82b3877d3695c7f77fd93c92dde683e7cd33914d38bb4cc304b682f172481d7e579af7fda16200c26dd22c39e1fc4d8f63efd11ea80fbc99e4271f8e8d37dfe3f59ff8ed79da6a41632528ea60845bcf93d947fe07629c9a215c6f6882f3c7d7b779be2804575ebb91f02431db679a9bedc5c5b044501c138fb970fdc5009e14d60033a00c80142775d327fe88b9ce5a86965be1942bda73539cc4d567f0146d487bedf86136ea915cabb8b75562e640c50585b6b01c5c3329fe5cab11455454bd29a2ae94f97edea12ade950e86e663b75ca722d5d0cf9da6a3e38fb835d75e02441a5a00a88ff6ce91e7e1c821e179d0fc78ff9b3e45a8236ff3da1892bdc62155c14c57f13b6c1f57b68eee9dc76a2b86a0735a41cacc73a76aa3890a76b22af0977be9f4ce5dfb6f207138fb85c73114c73eb97c4d94adfbb0751e5693b6d3c2520cee58d590d63ccf5252d8be0b968477926159943d018a0fa11966e7b7afcd1dc74f5634446b59abcd3856dbf711302cfb0f61b9dac484a8843092eddf18fcd0fbd040156480c2f3b31fb864ac5ed2cef3854f0fbce117692e5f2dcfadf1e3f6dfa70939c4b417e9cab56bcfc9fe72e4628c69b412eff1d7b58c579b7554f7df6315cc937a63ecf40991e5660c6514adca39ad83f7dea7af030a00514e35428184ea60420ab7bc3f6043dc1adbf431da2916aec4e3b0160fd1aafce2593383b5dad096bd44753f1fd6c17aee6ba71e41c6a8e58c1354beaecaf9af5dfc1f99ab7ba796bf7ff65393d27292ee7ecbb315ecc0a3a7aa19cf8b578f478ae1d1fa5c8e3709e18bcb481bdf4579dfc54c7b5b2f97c32496a1e284ab0d01a598df0650567dc2be8a93f91833e66b8c9588b124b0e2665c739f4edeeb7d9d9d8162e67da7be9e7f637594f5a19e6467da5e48ba3668711436776fb1cb6a40d2a93036e8393cf14f22eb2f229b4fba52e309dc346efef5ecec752398e2f305cae18bda14e46dd324a09504b61ba926b9d72a19a9603c816013839bef7d6de65073f1b802b3fd3084f7e5922270d0cda17efd78fdb1792f006ce1f4f907e86de857c727ced66a72f35e292d41f6f14a06e3710957e63a613e86dee726850c44a5d89b5966d739ae00d2ebddf4be94d7739336af8656bf6dea6268d85a8d28f35c2e53cf87dce16f848a775405578a36e3215cdfcc6693b05870c180a5c59d5adc796da807bdad61518e87e0b6a5abba2806b38c4a26699c642f78f742f47641747b411d9e3beddd0e60a04d7bb4f1e8bdd7c6f018de2d32af0bfc4e0249e1638ead8c676a2b1809c418da97587dcc513fcc491be0486961f1c11a53a8008586dcf3f04407dfc7eac0bb3e9e07e523392f633c2f47b1629f1476e5c88ca7e7651cc2c3dcf43723a503ea423f90cb182117d6de4dfcf8112b161dfa5f87ebdb43be31c70d418b70a6b68fbd0f2ee8587d9abe73a60a4161767a6c1f8fb8ec0540f7b06456878a1df008d68f323645e6388066ffb846b63c3e8b9bb3be7d161e2fddeb3d597c84841bcb8778b07ded7bfedb8674bedf613c741cd855c77d7eca577b99d6a5e509a9d0d821d99fe5ced817a8bd7d69e78dbdf21fd7bfd4ff67dbff5cff833f2594f06079fbffd289dfa2af5333edec479dc0163b0cac50a7ba42994cd6f2c5f4471f1edb3285651f95f985d2622951173037d3cd4b526faad4635fee504658cbc8f9ef03c825b7ed27b2712d69fb2217f73ee84d1d34146d3d830eaf4fde69fff43f64e5cfefc1b7afaa30ed9922783e4306f4e9ac071361fca77bf33dfcfcc60e9cbcc7b6363bffd9c6563fbfbfabe89fd7f6c33eb6f9170038c4fdcdb8b1e307aca6e3afb2d85c3cf358b1a65f7154777b02f51e55c933dd0205f6ea7119ec010661a515af743179f0c2553ff163910238e1f5747a456a805617df6b1399360f73afe55e667daa67ee9cf2b64fa9af13784b630265e4ce57468455429a73fe72be531c9d688bc261720798788d24f3ed7498b53a96135c084e6211d24b290e7509ff07e74b8f7994cb3417bb0e1f6c73ee3e674ffed3330d5f7fbff7eff17f000c2085ffa437d87107b2daeb8777cb2cefea3126606b77ad26edb16664aa3c7f144a68e239581baf19e8aac0b68ab127adeda7a089d5498d89cf119ce9d8f8682150f50ed6579dc8d8ec17c2d33e81ede3919f2deeea6dd69687ee87a6998dcfda7a1a3b163a3da6ac9a77fa55bac34e77df7b586b733e2e4442b201279550c69e8505fd560b1313f948769412a99e887ca5563b3106e763397f656fecd5b58499e573c52e5e7cf0516c7c6f229979e6e1497ee5af3e83aa0d2e31181550c5056c1f7b6f6a4855bcf1fc4365ac3e24ea0769c6cb08ad3e9cf9aea5f9ae0b735d14c66bcf3d244c1f7b0ea60f90e6f98ba37f65f91b9d3e1a73fa4ff5d156b4be21f57a11b5e5759f87998cadcd9cffd40c33df6245a2baff19f5b7e7bd3718cc68f9be68f8765a17653c55c14a579cf499c398166c44e0e19de8af079cca8b783d1bcda8fe9aaa4108fde47144a41c13355dcaaaf03cc43ab4db6f0ff90565ed5f0dc2d67b06e4c8c16979d6fa1dff5178d028a8fefaae0e9c14922fe369703fdd2fce1ada16e9eaed51aeda6198a987215d2d8856f1526d474b75720f0ffd30a1e5635a7c1413723ba4baa0f239d82608c11093b1bbde8f776c33c71f7109c77acc8e5f1f84b98591b11743af9b19eec42b6fab3add893deec44cd8f85845b914115f553dc88519d7f1eaf9ed39cb31ec7dbe852ac4f06e3ebb015960a659b9928c4191dedc3d6c11650c9b21519b21a81e700a8af67a5b4ea0190d7a9ad3837d61c697a270fa0800cf8758b3b1dfa6e2f0dfc6dd72b10b15bb5e822a48a4861411665050cbe72ee490362029ad35815a93b68f0c64807260da6e10cbee7c3db0e793f67c9e47fec4efcc4bc723e9fe1bbbf99a282d2504c31654846b45719699be6268af03424edacbb34fe30feb22406032961f9a580217e6fcc9c6c61f5f6cc6e7c84deae209b6e6f71b87eaf738562e71b9385f52b55144057fe2baff2e7cedd7c673db428577937387712d30781fb657718cb9f3a5041431bb83637ce3ace7f55c6cfe1fb0fac4b5af5fc8e4186d7f7bc472fe41751badf888ca546f62a0546e57d1ba5f62bb293cf7fb053f574d9a95ab280b6dc7c5b26615ae8b664ec470e0b99fbfc563e7debf3ea91bebf41a4ee35d478e94008f3a780e431eb6e585e74b8b0e39b7ba34b681596fbeb3232f891f3bc79a15566b76f680e3531cf9bec699cfebca35bb9a41132f3da07a26b7a3d9ac1891f3d98ce88f194848708fa4d4cdca6b087afd3f9e2c0be9350137fb5cc928cf9546fda2c664e5c0cfa02421c019284510f8f01bff42d8e5d71640c4691de7494e4d4c0fb1025a659ec7347376273bf2d4a22e4aaf01dac09e53fb8b0fb5bc666c316da7b7f2fa9dcf0d8e418bded6c6c1e2035eadb4fc291f40b9c7a9499bc74ff253be519b538b8efad80e072dea3e26bfd63b8abd69f3a9e3e43bde0f14e75c95b3745fac432cb104c52528ce805304c141c909aa6a4c8049a7697ae978eb338424dbde2705dd78d27bac70fb2c193c6fc0d7ead10a41bb3a62a2249f8f21a74f379e573f049a4dceb6b87dde90e2bea7d16193a30492ec4b49dc3efb7affabde4d43948c6380be793a90e4e565a81d66d6e5b8aad0e5a5cad7031625b73a7ee6bfc7485648619017f1cb8c695962961a3b005f754110e5904e2ef6149a82a83e96593f9b40100b50f912d367a9abd1e4b9ca9728b8806abc9232c56c23888a23a2fa77145ecf6e56f259a86d56210f2390f9c6473a3a3e191b7176f9f13fffd4675d9dc4aa5c0edad75d9ef037a8d0e7b77dde78b871f5956b788da1c887b5086352a5e45e2654feddf6fe43ada9cd0f5d5afe93c216f7321f078f95b4ba2ee8b4fb3e9154071b868c40c4349339e58f828851286582aa9ac5abe082d75a6c4121187b46de4a90cdddb0e0db5158dc110844bce72f712652946149757ff802d5bcebafd8e46c004fb6bf5adafe12d8a319c3a932e361f5097bcb09e7c70a710679f50a0f7ccc30f89ce44dc56afe9e17f00aba8889bc078292b3e6630d7f00efa128e9fe765ff4c51bd18ab3227d524d1511bde1a81389909f65abf9ea9e6dbef301b9f7b7fed7fb3bd19dbe64b934e389d9c6d8a8d87c1b3ba66b8fc99474721d50d03805ed6cd56f58e4c0c701dfee20b71ae87e00af9c3dd7587b2e35767ea2e0d3f24d389de4a9b781dcf5edcaf394142bea723c7b61be195a5d88698027da581727da471723c55f139bd7b5bcb50b617132d537fd9fa33ec7f4ede6bd7925d9e82c439e249ad9da66a6fb09910d0129e405ba7e51fafe11b20a41ca186133857dff8eebe74f923d085233aba981b2fcf4d855dc0c9f2ff3464c683f1d3f5cd89c51ca7459811484e8cbb300bfe35753590c09940474937c027f8e3236a12d7b609783893df747f0977eb2d31317106bf8b291f1aca81394f313bee15b1b6bb67de811bfc057d5df1a08eb394041cf34443246d9d548dbf76abec3c02c63fac82deaf844910bec0fb13dd4ad9cfc77ba949d5ec277bee4d8e9edff4f3a1fe849110a4667a3ae6f98ee8b4bded7eb8d2337081ed8f6dcc776655a6c253bc97774fc48f43ff463363ef9df38afd48f3a1d0885ec8b844c55428a8410d96c887ca65237c9109a4436dcaefbbb46687f76d9fc7b7b52a4d4ad03d2ebbdf62ecc38b2ac8069780500efdb1e733307bd7dc52c9eec602f528bd573b1e8b9a88d6f55399ff7a9d47a14496372fcba7c56b68393f857b8a6a0ef880e57bf2f879ffcdbb9f17e8056ffbc1e57eb61e37c8f901dfd7763c39fcffadfae6921b7a3486d478b29b3313ad4dbe8b8fc335c64dfaee981e8ed925c7c3cc47afb886a1b7f5bae7fe03f08987e686be39575657570d375f58aaa72f5a27bab21b70b751987fbf232ac659cacaae77455c5a1aa2eb1ae2e937585158a7a1a65cd94401167ac4ad765c5b09f73b6e65302799c4195aeab7bf674d38bb2e629ac171751d63c86d95d91b4b751560f5ee98a55d9f08a453b3649ea2bb3ec85aed8bd5bc6a779d11fcafe58da6923fd43a7bd9de901ee15a035c406104ab8f7f765da7b8eaa7a4debca6ae385ba58a0aa2e705a5d9afbc5b68a7057be26d3ea22d5e573a8edfd2ed275b5c00f49864d70be9c06573013bdde7b324efbfd21e4faf3752d59f9567e8e21c9273a7cccd70f29f9ba61a3b7a08fd1f01a566fe354461779fe301e89cd67f6c2594a92f15025e1f3eefa71722ec8885c45a5927dde04efd0cc17a3b7a057e8f88fdda70b2a9ededf910fe134fe75d451a247fda5937edec7bac23fae6f4ebb3c95ecfaea8e372af139ad79edfafb2d9ef20314a7fdd70d84022a8d3790d87cc2abf3e95d8cf3586776e094eb6ad3bc9f3ff8aecd81d53a5d17eb131d8cefda3ab9ec7de73333e73b72fcffd006bbf19a8113c8aa75da167b5f63bef8e92f4dbed5528543ae5882fba624a04ae37344a078449b9848b622ae7657320ed2d5b43e5e1eea17b2caf15e2de41dd1e512eb264a557987f526226d439f56033bb63e187f6760eb1c16443e02ea573db7a9f9461dcee7fc9e04b5a073e5fdac7cd093d2fdef811c86ee5ae64449d1d5d7367531a4eb6d84f566d969058c75300c6789e4c49cf3658db0993b1fac1c22e8ce1f3bf0874bcfc7293440eab8b63bfd70979f55e6fba9a2100718ae79cfdbe833be2f5ef0d7bace3a1eaaedd8eb668dc9aeacef81130a3c8617793f161080d782ef7d7a4e313a1f722532a22d3e61c4a4789acc3541cd05a8e479423e289bea2d9bf5bf73d613386d9fd44a28dbef4518fbefded8a3dcf2886c61a4610fb482b1f5d304641a47c00650585e912d2c34ae21aa60a9f10b62010fa69dc7d69e35f71a8bb630ed6a9d66621f4ec5ab99373e749a0bb3def8d0e738154e672517d42c673b712e1cbf9edd4eec8b7d38353f817c5fecd1cc4b5b977969d627c7f967b38fddbfb51c7eaf667b5b97a9edfa577bbedc1ecf9c7f61af4722587d1f46c056a3334065a6931b30efd932c070b4d3dec66cebd73140bbceee47dc76661bedb717dd71ddcf6c0f8c9e69ff5f1ff6a53d305360ee189381bf0e7f2c08414eae0fc7d7ee386e5f7e3c97bb1e777c7b6c7f7ee9cfafd9b1fd76f67e2a01f8afedd1b563aa599d743509277a21a7fca65d9d0ddcb936d67b77535840ca7438ec7ddc0d2113e986284e88328d7343cccfc6cabb7a26a698ee87f8703f4759a46c0fc7eda8f9dfe167226b9f25367e60f924bbfec9f6ab5ddc9fe7c52ca5d63fbe35b602d52e276ac7ec63cd04fea65dc05a111319109a6493eae906229457515b5aec34d53a4255450cb430fef5d0d77679fe404d709e98fecfb41a6a4184038c48398c65ff51a86d48da6082aa20f02e843dc6e4467c7f0e27f1acc2da476ba076dc38e826da3ac3fd776da470272e6c8df2715cf825ee97be85f5f676b6eedf877563df11c3958ef05bcdd959577b465783fbe1be7f3b6cb75fd4ebb0e10cfe0ccf21f4790ef5d7b5f79cbe880bf754106ab4a538479eafdfe29102bfb7351bf3988b3ddf5bec81d7cf77353bc7fa348f45b0753ca1668bd18ad5a35518384cc6b5bb2e1dbda14e5e7a1ff802aa7aa0b01947c091b51b8ed36a044adc33b92da8699abb2a245866286549d546c00c6a7bccafebc98fb6ca512a86e92447100966c0692630ae6548602343b5c9acaf9df107d02ca75668f5241fbcecf40eb7873825b672c1f3f23cd9173ff5f0bafcb6d340d0e280750b7ff183840e35ea67a04f372fb48004f72a263924780e7eaaac5ffee31929d3767978379c3e976afb5d4bcf4e7b9fe8f51c09fcdd5ec569fe6501c48c0f006c7fe4a9eef8c48ff64eb9c7fc143bbfc59fb9bbe4effdffa36ea0d39eb36562d62ea1a68bb176822b7173ebae4b57230b43ba0137556ebd8260087318938ed7f6c5f455f586a86b307d903f3e32af71a72118f63c07e4fbd08762ef4ee73b7c4e871f2f814a984168eb69e6e1ae32ed179355b54856c6960e306d2d0627c7dd813b383ef1315fbb5cf1692e70a2d9c548b3cbb0b5fddd17e4d5a2cbf1a67b1bc7c240f5f1352ff7f157d0a7327a48d7e291d5517977abb297e8e125ce7484528798f517319411d1651463f980b21ca12a2bbf2cfc1fb7c39acaf357c9c66472759fd2f903c880b72f6719bd7dfe6ae40067a82b546e9fb0ed87288d3da617b12c420a4514633f446597f9ed8a87b0367defefdbd954befbbe94afb75803e9c31890d8fa82d6e546d0e341b8cb91d8b69464720caa5a3b4dfd7217aa6a67f1506d19256db94889e52b7c75b1a1aa5bbe17eb3b15a04819f4734a9460ba2f4d3f20215826785f8df2d9f59ff8bd4f6b31c7b65f10a6e628b70b2ad582d62984aa7a082def85502ee66cb91f52d64e1ea27db14d54502df287f9e3eb3b613a5810940fd8965fa15669a8372cacb334d4aa8865350fbd5e30f87a4dd430b5037cdee11cab47c84b5b7764beb3e78fe9dcfcd2c16b925edd17cf5f9df06bb089eb6073bfb2811be7ffdef449ad63cbcbcb359c3bfd523906ed785152dbd6ca8939fe4431f35dcf3b0ea589e2b9add571dc35af5e37e432ad2b84b0a2540e1e187e86e9ba60783ea0a8e420cafaf745a6914cf9e7a8119f14cb8757b511d7845384f266563794825c5d437f7875d16774a79aa1eacf98e424dca146a8306c368bb09e72abf1bb63599c95020a96923fec0f4a8d34ea5fa2646c78c3137a82bfeaf048e6be71ca322e39f4141060fef99af1ed6640888cade069ece22ccf892ae3646fb5b01e8dbd11667291ac06df302e962f4c1f71aff004ba9a8e8a313ddb4d768372a0cad130eb37735966b82e22bca8d6b16c66905fb977932815925e31a683de288892b0e60f912aaa24aa62b33d937777bc3dcff8bb74c53ee6a6be7ab7be3ee3d6f22b4858022960e4eaae2e1df759750679354f7480b82b2fd2b6f4fd91e3470b6bebefc7b82a5f5355cd539b9ba82e581b9030d318ca72cdd7ec22f9accea72d6fc22c541916cde4797047fb0f21bfe59702d2a5a0a29ff24c14bb6643f12a6ad6412d2e97a36cf6118df59fa160dbf711e923ae9e523e17b77c7715572bd8e5edd57a721ec9a4eea5587f92850c22b1f9980d812159b3b730dbfc19b1876948b7cd48476356644fa9640ce455a86cbc69edf2c18e5ff91a1887a9c229841b2815be436c9319de2eb138a44ebfc56b751cf4390e7c12ff6dfed7b8f309976dfa43fbf93facc7a6dde4986d69d4d22882db5baf6952b276931b5ff8e7f45c0749874730bfa9fc7d7ef8630a33c8e93dccc398c9309b6ee98ae528fbf5c0f11b94045681eda7ee152789b271ec17507c0a97678176b887999faee4f7f9a19f9ffae9835f0e5dbcffa8bf99783ff4c9ebf45e0240e635e4acf61c9ce80933c9329eb113dea65f9f6974a2b7bd2c2358262a816855be442ff42c0006d937fd6a39beff316fb9cabf6e20a93708a45c6adcbcb8187808bd2dddb8edb2a99f7e7e9f9727f69feb5f8884a96d8dc07468fcd53d7f84ac32fee985c82d4e23e6279c42f014e04dd01f3115d08bb3010a5ddcb14810e8722ac062e3b653bda9353c96b41da9818b711ff1a08d3d6301a481893aad9bfa863598a56d759e9ce4c9c3bc5aa4277504b8fff77eb03ef5251e2427f4ac7ff88ff284f7fc641ba2887c72fada0388c91c66e11cc12d7b566136f3eb9fe1efedbee35d370077807dab2bf41b4e77fc1d13f81ae6e23c74fc44877acb935c7ff73defc5cf787e084e845410e0a002631f3a3d7fa509551c0a38e6301df6d5e9ac50509cd0408025a03ad9cfe51fba7a51a26c9d70eef101ae0ea8e6ce2ed1e52c14385b5e7cbe2f2f36db19bd5325c4902f8bebc5ebddc562fdfedcdbf4cf87ebfa6d99abf7837dde54e6f93cd8fedfe235cb08bb3cf3aaf2e7713eb0a86d5cf742ecf9e284a73d4c7796d728a68a2d60b5bd67a47a48a85e295d45f2b92572157c48e0699cf59b09199d9d595d2fb62e1a36895a104c55e2993c3c446dd17eeacde4797a45e4ea468d1a7e3622ac08f36852b91a573dcadf1e42d58861c6e0a71ea1aba7edff8397ea50537b5a4f6b6c646353bf1eeb2dab9f7c47b6ae36f5df7c299d46c872157092e984cc7842c0d5e19ed6d2d97ea4f61af7e92621d8e7df3538d421fefefdfaed387c0e8c412ef1ee1ff9a69bae06e5d731859e8c19c7fe2e4f8fba325e3be73fcefffa1cde7ff481dd4ff9e9f2dfdc5bbf3fa3afebf2473fe9a7d39d9be667afb5e3de5ae2f7a9ab1f31cf6fd8f1a74c800a185b7eb22dcc4d7b3ed6d5be1c79428ad7646db911e7e9ba70edb976364e87f54d76a58b0b5a7e57f9fb987c3cdeaff18b5b3fe6be32d54f99eaf7dee514752148cbcbf4fc6e386145c8c9601c63952254536c3743b17e5263ca86916297ae2ce8ead3eb33b41d7670e06231b72ebef4d47175c4a93dcf5a47baa90894c3109b278ee51dd7624e65c06368ee892ea2b84eefe7ad7844553c7d1f9b64e4793892bffdf9fcc80f2a6160da67a6310580d94489cb91125d3e6e11d6556dfa09af353f46a822dc0b633b5ec68a7775fcafc9aaaa0f38c45a5ca43b314f776c1eeec505ecac366c043a5072d5ff902b18836643dc81e91a09e48a982e92433504c987f1ea2d1553bd7ad27dc671fb3ece1805b989390c10e4e46c07dc74ad0af59fdaded4f0e9ec4c35e212f6b7200b4e1fb66254175f196b1ee2e2998dda22263ae0446d3855db98ad546f5cc05d58f705d42c4fc24d10a96a4455292cb653b3bb1055b944906c7263c3b25dfff42913e2bfef731b9f2485d5bc9868b64877d565ea35fe500d30a92b3b35bee548b1d7645dd153bc9ca8abdc6117cb05d2a33d98ac0b0459b2c98addf2bc4f2d7778ae09aa651df60282ea7e0685fc88a7db9090b69a4b5f73aa1f9a51b69fa3d2a4f7a7723202c37785a062c8b2751889194846508ecf516b9266ec0df596663b1d1028b6f1ba5a435678fcf9fdd9b9624da67984efcae1a7e0875e194acbff9fee4e305c075bc2f5d9e1696eebc8d57bc9db230fafd3c128b2efcfa69cb107674758617117ab72edf85c50cbe93428ddf45cc42477db9650250a9a1824c4a404c539246803e2cfc7b8566bfb2d4ea089ddf8ad389115569ef785c8a7b3e6c7784400965e1fd7dccfdadea3ae6c4dee5ffd7926febbbdb12ef0515afde838d54e5bbad3c7dd3138d819e6e76c8970817a13297844a26e5cdda8da601f36e3de87fa669b58fbe4606f783d460d81ad5b456b679fc414c5c2e5afaabdeb13b7e879555f4fb19f3ef765f3867c5fec85d5303cb9eea65c83da907176b7b4cfb8dfcd4b8265df5cd3986c577718404454856373dd7f5c4ced9d950c63be35fd55a624ab5656cc815fc366bc94d5103736d8cc4ef92b8984d4d8b9425b5d24736db6fda45965fc85e7f0afe7edf4db0fe3e654ac92139d3d96e9425028620e282703383ef7830de7c750a96161b9fe1c876045cfe4e4e7bb52c1a16edf5eba3ab5cfef8c5d2024dc026be04e620bf17fb0734ee2a527da79bff22086ff858733fd5fece05a7cc7251d74ef3b9c1257341309f62ecdb794d3121c86b73738e8d075bf0d78fc74f74388225516586f22f30ba15ce29bd3ba3ff9618922edbd9de498fa607d5139b9deba6d767edbb6ff7d7e77618f69baee5a9a7345d1d74df57d1bfd53af3db675b3c88f7c61271a857fdb5962669fc3db7df16c7e2ad4a67d94e6db33bfc8e6b550276e7df0059c84754960ad09d4e5dcda8af2b43d581d959172dfe7aff66156ec5379caeff937af25ea722e5a9b73edfa4fc2bccdc75dcd9ed4cc7359d67d4e148f785d70b6dbe404823ba624216af5a050a412fa39943feb945a550e3d77e56893622bee08a85108fd984af3a4ed3b3af05575faf3b1842b60c5ff811defdadfe977eadbefac6b8f62ffbfd9b7e9013bf7b7ff4646607f7fdfa7b67a6691c7d3f53e82bfbeeddd097facbfdfc378380670a479b43ad1c62f2e43db67fa5c645badffb3aea7f3d10e795b559cf3b6a8d3a998351e5f22193a9c46003e8fd3d99087bc0eb17c144fd76f1b886023c0f14c7463a2fd8fdf733dc5774d50978f86aebd56d048e35f8e008579afafbe4ed3dd938b132c0e1c8679b508adb602bf9c28f6d8d573a5fb3bafe1345466ecbe49798cbbdb8b19a8156ed39c4c4588b722c2dd00378c7f06c4fb8f6f57cebf8ee1b1afab90ebe7fc613588d3f3ec62a4abb8afaa88ffa5ffce2cde86ed8b234fc869fbc98b9371c1e1f2f8feb7bcaa5050404e9f0640b3342050078fa0f863ac3849e19bb63d4884debbefaf2cef2b70063598f6a2bfe5a9825febab2369e3efffc85b9ff09dacabd94fed54dfdf9ff6efe8725a7fceb6eebcfce43e7e1de3be5fe3cd198750b9fb9984bfc434baeb37ed1f4d3f3a717aa3cf3ff12afc1f3940a78d2c5e8f1c1336a7b58b9df699dda7e3f78123ef2361e48a74583c38d86d761e887ce40456294a5e08250bc4f6c5619a36733f2f1ccff6bd922b9f23dd83fb9e74e8e67b44a27eb1ef0d49bd26b2b13c87a34824247fea81af43772fd1f7e71bd39f63022183b9c4c71fcfc1d9be5361a7a736c9e1de7f9d17f5a90d76c23bfe0459f900521ef5018f3ec4653aadd6a14cb4bfb7a0a02b2b60f1028af741f1c1c9b467c628aaaa101884a8b7215c35f42bd83afe038d0ba22af3adaa486e4bffac6d63b749d4957d46bffd84b797e88b1c8751ab637f1cf75bf5699479106d79f2fc60e4ebae2e810530577fe146f6d006d8f1a5388e125723d2f1a8c0af7973db87a2d7f2ef8ef5ad762ec46a777a5ca19380b871fd69380dccb7d2c46d9f0ba8bdc6b2e79d80506d81f1a876db4ccc3ea1b2c55dc61e6840991f92ec6321b280130c5e642df3240f38a1c1a8f7c54c3f1e934c17126555310428f8743c658f04d4e3089b775970b3edf64675311820bddedebc3a06958458c39971ecd3b6b2f5bf071e8aa9e5703ae68b5b974f4ef64eebc4f2a0b55e07a5c39b589d8901a6f5d350f2d545b4bb03a9ca9042114a5db1a8dd043e1f7c39ca95cbe37ef5439b37aef5c75496115765c84a95a12a57a88a6c3ced77795e6445c43f321d625fb87d9a04927a7b3ff6f9e67417046edbf9accb3b8f8a4d882b1e611d7126cb90ab3262b9fa88c15d97d38be9f5340cedf3201a96c6491875f8e8b6ec6caa0b9bbf9496fbe8135695e97f20561d275d756139be74f909ebeae22eaeef896411f46e24e82281e980a27cbe9f607039ac75885290f85c265c17715f57f1a87f9fa3aebe1e9eed3204d6bf065d46b07f5ba312d779563422333e7df86716975fa89f72d4c53afb10314e45e29675fc7be67e3842252c6ec8f372ac51db5ad71ee4c5ef3501edb16660a2185e4e45d57bc9eeb095633c6f3e8472cf59acfa3b9fa3df8d72eef2feb9f88cfa7dfc43c2693c39bf431d1478fefc3c5afb77b5e69f42bbdcbc58057b94854059ee46b58e3cdee9b63718e015447d63ff591de24e6747ba9a6aab61e2dae545acd965a22bbc54857da7a4573e0e7783a748978f03b50d71ca235475945f4944551eb649084ee32f36b2ed4b2e3eb3e2cc72b779be306f8fd93cd32bd02d4c2cbfc581dbe8a42ec5f5c5612e4ef24edfeae4fee69bf27174d116fbb4b0360027a8bee46aa025447efcb8f0b537a1b1fd2501558efafc4b3033d67b5f6102f56837a80711aadee6bbed05a5f523b880b5d36f7d4255feb43761ebf03ccce2a11dbfc8aeebbb7eccef8ef3695efdff98fbb7aee461ed7d00fd405c80525ff172ce246dd33685f400d43bad9a42c5aaa8297cfa3d9a9483bebe6baddf7fecb1c7be609443811e92997978e6f374af4dec7bb2a1c71e90ce36766bf43830bd49be43603de86c182c8193d99fee5cb0ecd68d57e020155e260ecf4165f4eb0fa195e89e3f4202dc854a191b781e1f89c379ad224ae8e04d2a3e305c51e3ced6e27c07a294c6ebfc564ff3245440f93fe308ac721b3f64f2e5cc4f78317a4f26c79b8f827d791929e6a1f6a1cf57db6dd5dc95b757adb749d9f2f90f5bbe41e2b6e5cad5db1518ee14818a1477c36daf759c77dbd13e1bbb6db6171f438d8f957bf558d1a660c8966ecb66944dbcce2e592ecdfc7c7d33faa2be86bd89fbcf78acddd37167bff97fbf8d4f93f748d84bfc973ffb77fcf4af1ed73eaeb4b16d9f0fef79534f7ef267cf7b77dff351f7b9b9e15d1fa76fbebf1626b45af13b50dd43124f71e2ad3abfccbec74c9f58e333cbcde4326c0854cdaaf395bff34be3b3fee6df0de4377fafc662f647753119374497aa9b8bc75e596e31e4f63f104c8d2f44dd7f66f01e83e18d4394f25606ffa2e0c3f86d6bcb65daaf919f908dd062110dd665dcf39f1a1d227767ec98593f22c5c670d7f8d8d453f251cf58ac42dad41eb67a2a194c27203d220a81cffb3f1496377f542e06cfdaa3a2e0a83280d5e38eb48cc64ab25889845cf317a81edeefda078dda215390d1860012d5200f54845475ae1bd8f5effad8df64ba82bbf50f8efd116bbe32f67763f854d78627fa576cc259bfc4e222b85bdcadd55ee69a2030822d2b71fdbcb7fd12d3ecfb5660e3bf6d1f2bb107cd5d6cf3d65d3f87f397e2774d47f5b33f766278dde2bd1c5b4d597bbcf1be1807caea35e1aac4032fec91336d0401e4f926a4e6385d04b125fb9a4cd5cfded88bd774816fcfeb17e955fb09a9c49e28390af71b8930723da543288b9026b520737ef1f87ccba787d21e183850379d13a3334f4b932b3dc4e9761e8d90a7b93da6f69c9f9ccdcf7a2d36e7393dab7b325541d5a8295128897238369be116b0c166c3a1f6259481591f46e0931436de0a62a63d607aacbc556182b5a07a8582147701c657dfb8c7c7751660b361fa421530caec8988eff92f5618b29cb3fada4bdf6bd9f71edb63efe682d57b3ae3a2c84c5f84d1623c9e97c58bbd04ab2317e31492fc379b760d49b1eced52771d7b7b538c8fbac89fc52daf5436d33ac45d11322824429e7950fb4497a197f2c2a58e20aa782115780c24228a82a842202876a3ccda3290668d19297fb51d7673e71e9a5012fdc8bbf1faf2b66d25abbd2aafb012942a1512d5fd4f43a9327a8921b6800136732e8b0c6c2da9fbaf10b4834c96218272875f2ca30b1bfb77d73a68ebce0e758fdb4003357c68ba5bcf4437355f0d8f0930534b8bab62e956e558e8d25e6fe32b15bdaf54d89ea27db133bcee5dcc7ca60b0f294ee384296c0521ab5697041f657d8144b5ef91ca3d12c082cdf33bc49cf92f17d3a86dac0d97ec96d16d1b48e5913a77d21151f2d97108241c5b200142922fd44daceb30992b7746d8d781fff484a70b4c262cb03a763d06ff9c83ff543b84d470b0f463c7703f91586aa44199ba5f7fee6dac5a7e71f2a6682b08545264a6bfe7e1d26ddd0792540ea99ce0513a56b3282dee5ced086ab046572139ab4f49e953400edd8106e9990ea1d1f3b43cd65ce5a63ef7633d1df7f953bfc789793d1fa7e9d58624fe70b5b873f7a339d1dbc50ccb7b68ab0f540efaf07f3997b5575615375ca04a0b57e5b95baba254b7fcbf9ee3217f5d33d480ae811e03fbb4bda0e539fec572f94369f93aaddef4dcc509f6b55bdf4da4bd2f5647a11f67d27010d8fb948f82b65c188d47f92b576ef7d9fcd76b2527a9a704e55887d8729f5442a2e484e9224059d444969714650c4a284fe61cf1b77d9e34d1bb25abee071b6dd6fc71b483b7a6b3657f5d538502f25b96a867a8b8ed7f503c4028286846982c3ab7c00739a1b412914772c294e408ffd8efae0ea99a84e7f782e91105a5679d6f42eb034bc2f9fd80c8f213c9d569ce5a9dbcfff358cb2b397585cb609e7dfc9fe6c91ae25db92da1f04aa25f9e74f34896ddf879e8fca58d5795530a9380aa7a9a1a815d7ef44f15c0cae4eb6979de23f86274dbed9cb6f9d1b6d8f531e666a6d822a0d637edc619ea6f7d8503e879e37dd3c33dc138cbe269d204e848015af877b2c9bc2abe43705c2a1b1e2845ddaac175d5646453fba085a8a00cbc75cdbdaaa084149ca8914b557277598f56e1b8f339b5204519b387c6d8df674f7b284701d98bc8ab80bda0882f2b1657ba16146abf24db55261bc6b08984de0654e6de7d20e3233fe6d3e0061a815ac3b3c9e703fbd68f63ead9bd9db6d7a6307d99337de2a1eeeda15d034fb1a6e1cd32f7be2a96f0686ba00445cc4871b75a9491a71e24aa32caf106c3b57e83547ba83f244f1e1d77c79774c724db3cbc90b6f141f63d0e75b7ee349b19143e71b691a78a4f4164168c1bc3e33a25b979cfc7b25a9818c51d3055cfc9bafbeded8f7c0398beb19e97cfb7e76db5e8ed18285fac5fe690581773de96563f76df73e9b4a63e3ce67bf9e22b460058887a1380aaa7a4e87c97b09bc72148f92977f5c0f7a50f19ea7c7e95941410c7b29cad6f0a48984f5e95078de1dace6801045f5588bb0423b862f79c13e5069ff7cf2140136c139cf7fcedcbd3fdebe32d4fe1b3b193c84f3c03277f27eb6ca1d55b6543a88a1928a375b98e14ebe6e210d2d237f357956b73bf2d17e5c2623dca55773d22cd4d4e23de776bf9849cfb79a7f74bb78b15a8ea628ac7fc9063bdedf3a299ca230a85e72a750fabce6ede52a258409542d02309b2a134dd26a88b4ce8226a60eb8996fbd8b2772a450809c4a099608a87b22d7ca6cb473fd9d6546e65cf5b24891eadbdd679c4e1f83994fc1e13754b748e45178f9d3d862f203c991397e559b491cacbdb0702231f2a395da29c89bc9c333daa10182261316be7be90937c094e0e158865ae6fb90b8a4a3d73d3724536078c46b30ada7c4661a43e8893255247a4aa458fbfbf39f28d3101a9c6bb1f7974efbb6f2dce7deb4fb0bdd363cbb9dff782f4f5d169678b3283bbe9ee8bef56a577e20c2957b8979b83ee984bd9866bdee7cf59cc94f5c355ef8fb3762443ac57a079e249c743c53ca24a026a1285faa39836e0331c6d398a821eb49eee60e9017372aa227c843ee7cbe35c9ed7ed1e12ba2ab5b72a6e69550aaca487b27629b2712af92ac3e2f1a0f9faa10b4460c6ff8703cbc5d77030bc56a8958f9d33144a8099664b9b0f760e36c90bb4f8844c5a5d8db5e96b581c714b5dbcb5e23ebecc670beda409d414eeb73ea86797a9f11595da47c9b7a89ad55d3b0971a5136cf355b6978ccf9b0a7950dc56207c281604d4022b2d18b08ceec4bda76b9a4aedb955e151569712cbcd7cbff558c5e1bc9e6aa62d292052706d74e3486ef324bb6e1e89438ec2cce5691f7bd87efa6206879c46cb8f3573a4b6af926a334646ee19fede1215ae077faaedfccac40b17bd511e7d4c5d7004aaa2b07ce61f3defcde0b17f9fece022ef396114ade494b0a7ee79f73d496c21cd73a1f451dc31cdc0f20dbc7d4c892a72d42525b70b8f54fcc097fd538fc8f07bfec463a77c13a7f9de85c2f6768cf041f53992652150331ccd1378a7bb7a37d5ae5217973616bc227499e342417d13b5cd9b5fb1ef7c9b4440d0eb1f1df24c27cd8aeff8ac73dbc6f679e54aff5013917d5ee6507bb279cd14508207871c4e8fe73a62ae0ebd88c32d3d5446ffe67b20dce09a67c00efca3e9a9c7a25cbaebe2255262cd3b5b5e591e3edc155348caeef3cb40951e7fb5fc0e71cfefb0954d37269022cb49259f41b319aa260ade473e53b91b15fa835475c82faf6e2d770443afbfdf0c6a8f401d30d87a1ef280401190c58423028fd7857041bf9dc5db87fe49bfe70b3fe7ad70bfc7c687b15c9e38de458fdd50074db22bbd2ca6f4b389693bb79c73208ff80c7bcd8be91fe5c40fcb3a000b5eeef35dd74e9f1f2f3afbd002c0f8a0b1e3eecb9778cf1fe1a88b536ce0a0c9ba2a5ed0eae58f8384f578751b838a3523a00b9625f5c0cb471475ce20e388eaa940bdc50c1818ecb88c060f5a112a39877993ad52bbeea551c30814c475b55c263982cee9a72c23583704b53b18bec0a75c4f3eee81f34829b2542ea3c96c20fbb5ead01fe84068f25fe6bc687dac479f7cb76fb8c385e5e1e42fddda7fcec96ab5a54af65b7e2c48f27db02bd678b221e43e1101b69c4423fe056f92443bd678a81a9e4e322a3d4513b1e9ec06eb79a4ea038f548665a8730ffad7a356dccd3b5f1e94a90d10509c10f6c5097c71e95a0ebb0564c39e2beaf0d867f08e8f70caab81e50bfa9421425982af0c8fe48167ee0be4495fa9e71f59c65917239bdcba1f64f92156218f873cda7d3458ed72411219d2fc7ae4a256f715ac98dcdf8ca5fb4913dfe06f88eaf9e58a0679a26d3e2d1b956ec48b55be8d58920d01462924f462f899873d71200e875f430decb9f33f7d05e05a0e57538fe8f9093ecd7a45adfea75be536867d5089abd79260998434014c80a1ce14aa5a620e238665424025ee3817f3fde30e65c1083ceee28b523c48ebef0f9e0657d0306c0d8f62b796fe9d6f9c29d673b6987866ef9ef21ca76b74cc355efa948d763357663cb907315b0f5425cb4c378ccafc8e4283ad6a624feae02e9ddccca9be17a4106202a50bcd38d356affb80dff4157c022d205778071eff8e2fca1c34fd4555b93ff393a6a6f7756f746fbeeb79a86269fcdcc4f8b007cea5bf7872fbdf1fbb6b7ed2d52436fee3fb7c64756fca297b06ed11e7d957f5d4d6bc9c34f750b2aa71420acd14755ea32c53d075005a042415629497ae0b9d4f1fb30bc87d96ef850fb35e7b724955ad1cb078de709f4fbd54cefbf8f53dcef2f7052abbb676b1cc456d20c2dd6f3fcb5b217493fbacc7e0a0cec93a1658dda8538f9cf1b5cef137a49296cfc0b3bc60f5a91fe0373cd016dd351f0787ba66dad7cd33c35330bfab3fa2bb7abb8947931e5bd6cee296ad3322700e2a584b15e47def49b4a803223032dfd97ccce25d6378d6c2f5c38c210102ab98c0734aa0be27b2feb803157cc79b80e9db0d35ecbbe33edea79e5ffe077ef1c5c562f9f33c4ccfc4eaa48f0af796476d1e4318a84610d54cc817347cf8e7f9ec5c12a2476978f91aa597af91d373af49a5c3583561068d8c982e7c946ff1682219f04dca3eded2d1c7dbe9f8b9e54fb27efea5ed3b361a535e74f0f37561301ac1aa3c68590ecdfa63342d0d7f98d19fb7b1d5082d9edef4ddcfbaf8f5e4df9fce8fb5796ef837ffbe0e0bd14acf9545e70b7bae2e8def70acfba860e5a91c49a518267567272b2e8b9c258d8b5886a08a5b04798b9285ae96ae57753e14abb092892773e6418398346cb5b26bde5b7fed52c9051d7e1b270998784f86141482548228297cd0095135c77c3b035d284f4a42b5e3fbaa40d42562e5f8544d0862ad5089999be4ffdb7e59af8fe227761c7e5d6744e53e398e43409005a149e31bb61959ded2b47ca29033cb3f282d3ff0713c6a08c0f0107e9f477a42b12a7f72fa2de3b6347e46bccb8d3641b037b9e1252473335ed25d711de60e075922ceae3fceaed360553f0633a92290ec1675f99642fe8cadf4753fd6ee76573181ed0d51dbd225cd386b41d6c5b3bf522512bdaeba7dc35ab14095fe31fe38f0755b7bb0065a02d0e27fe127fc61376c9c1a53b3cfcb619c5d3fb7443eb784ef911e30ab720f01cf8b0a64d23762c1a7ac74be95acf1da117377cd52b3a094755016b5d07e62b0550f8209c9480f56752b1255b2042931d8d7ef54abeff9c912506b90401bcb9f9efcb46be5124eda8ae65e9cf76c046d6e38d5ddb638e48c8796bbb7bc806c7299b63de69d6d2f97377c4adf9ddc8d9c29ddc0b41be7b4e682e80982943454d2ed6265ea4f489615a1c5513597990c9e600ed453e213417e22d6d46df5439c7f4471322a19cd8d6efe4c490fa176674a092acbeb133fc4b17fac042a6166c56dceefcbdcc51f6370dfcd7d589e69c27de7913ee894cbb35ebc93e63eba0b3b8f39bc0cae5a5966fb32e1bb62c35b3625c02cf7c3a35d8f38b921d145afbf34eafcb519181b70f91635c86667f672ca50c48d893b2f154d6269702073227b4ed59bdcc6a4f258cfb3f36fd6af07bff6ff0afd3f8d6352f6fd68366efc38ccc37176bcc793314b63c187df712be230ef469371589931da9fcf01cf61fd1906f06cfa3bff310e83bd1c07eb7ce7ee1d6a78f10ff1c7ba5c61951b2e68c8f351723c9e72745bc27bb8670fd8aa07de8a8b74b4bd889810be57c6ec0f64f476e26654be99b1469a5106f34dbb170f7e261a86db9474e7b8cf5ffd0d6454da5aa9b107d7a33e5ee2b66fbdb307c4cc8529e8d20b2c379ca999e0de41d3437b1a6fb9e592fc56f3dcc57bb173d742a30a3e59c5cb80f084e8ed458ec19ee86dc4b32d2be2c37587710475f8edbab70c5132dcca320d187c0555d1d9e679397252dc8d184ef52c5b371b96dbdf2847c907d7f268034116f0173f3596262ec53e5f1ff45a4cbe660338d4da55e976fe77ac73dbb7fed2b8a0644ed4fe66ab75e04213d75aaca7845da47bd80cbf8a07d14ed01ffe59b9a8c3bfeaec4baee2ea268ad36742ef1c354d736f5ce9fc10ff1fe63333fdb45bd388177cd3f13ef8c07c897b3e804c7e1ef23fc18ef79c5ae2a069b974f1af1a4c37debb588f3ce83a5c767ed67c9b327535f3daa044b5f5516f3da29ce9c54a5cf37a7bc1f7db553ada96533559feb827893b1781a79f1f887cbe67d5c7ac9bfb892c232ab75e67d617845ff3fd3ce2ebed3ace3fbe42d47f587b5c67bdbfecb5594f47dff9717bfcebf979c46d390ef6c23ff33f559c6f0ffe6714679650911f7d4d4db2757e980b17990a872baa9cd5098fab3affac39f9672be039d4a6affca0356ef2e186a739d8d9faa1f1d7ac6ee8a69b07b1a96d9b1c63b74e5cba6d179f14cb3e17bea09a2dcee2e8939dc6b2d7c6b03a1e5c15bed1e657a5873bee1b0cc24e9ccfa9bd588b4bd1164f208ba520c2b33aaca29b6b2f5431ff5b7fe1ff977db9e17bcf63fe069fb2761fa4da76ae1227b249289631c860835f93dc67f28ba46c6d2420a4f4083084548414b560722be1a9780c614e4cbea086bbbbce675ac12d029f51553ea2623e6ae6f9aa9c52cd999782077a3277e5ffb69fe8f3250f3d7e3da9f967540724aaea2548e6a2d4b75cf984a8263cf8172073d309c256f0e26b1dbc23fce1dd5a86cde6586f19f6eb8f8237601c1289f7e03a00847d5b53e3846d027d5633b33a88a65e1457066f62f2d3d8b2e72ece3675a60c8cbecb4c09abb55b958b602f5e30313dde7397f6d8fa7e3f93cf56e53ed05c9ef4554b6fad0a01aaa1a81e01d24915550f97a834214a78e8c8880353765e6e435f159d9fe1d34cc7b966b80b900fdfb6b9578dc26ebd269573c7f46872fb8afcd843a3dd2568a941159eaf0b01ab2d8715fb0a494950158fa8b734226c3afcd8487795cfa31d4382e5848273eb49e7ce7b2b7cd06ff26ea52ea6491140cabe0efbc4a4b8d301003e59fe3d257dd2d9c3994204b7343879776ff18081c5a10d21335c4c472d9c1ef730053b6f4f1a1169a98d36653757fbebdbf3488dc5ae44617475cacbbe96fdfd9aefc54b01b5bf251055507aa01b42e1f6d2dd3955a43d405d50a2984f209da22aedbd5840e8e3363f5cdbee7a4e03e42021f493c6bccfdae691d4dd7abc92a9e12f642f74c5b6a0b75d1ce3c1aa6ca21d23846c0985e2092127900183e19fd79e3f0449925fc52b75e7bd953ea8a28a7693b69e5d2b90f5629ae58d57359b98ea2501663ffb597fb07cf9d740277dfde1afbea033fcdc1167e91f7196b23ce22c71c75e4ef64754a8f37db013d8e0f699e9f140c3280b928f1e57177302ab47d6684eb84c4ba5f85de20f019e5fac9fec4bf67495e4f2c39324bfe73db6c9dbcd0f7cc6b896df7b8fa4d7f399b09eada2ef0f1ecb008cfe9f84cef4637ce83f34f6dd4183afdd177e9f17ec6cfb214fba74157fa4954c68d1ce506e7d1c5d5ca39ef0ccd1314be474a33c05099f0edf1cc1947a01cd0394ee9648f91569190c5f252752be10e402e67cca140b4efd208341efcf2640244c2546e0d5464c8e190cb93c6227b0924b5715eb403b5dfcdfeb731bce6e5ba3587571a5e5268894c1c45b0c64d6ad036537a6f3036621de17a360575c0a5d66278d7bb6466d34e33f212b33cb7b76d0c92ef7c15529a08bb5b45e11a809014588ac9e284c98ab65405211226eef10b66b226b42b031cf51d50855e152ad29a8dae3fae38a82e00484e04a05a0140755f3bce11465f1884a53715bb4a0b5e7abc20587472c71567ee5ea827643777b17574d44a59a4798737a572f6277f44e60124c97fa8ac88967b76584abe7fbb82a5da21f80b4cda5a7b631c17ceb4a15dfceaebdce2e52c95d7cb9bd449577cf052af687a14cfc8a758ffcdd97b67e74c61f171a1c5869742e8cde7f6672631b6af2340e8a5d6e74f8cdb54dcbee5e1cf26630d722a6ed487a4e7e194be92fb5f090ea5b3ff9487cf00a22f70d5782e1fa63e1492190440d95ef2ff7524ec354bed1244f40f125f78111e08bb4b363511d937b7ee084bb44c5dd9e138e9cfb9754420500194bc5b106e0266ccd925ff94cab3813f382c192495fb3e401f2ef3d98c804a09afd51b05489db96c9b05158ccfefce8b7443bdc61765a3ffb7ee0d8e0606dcdb2afbf596db3b68b1d8ab3f8e25cefa778315cca994878926f6c2ff04c462366f57d18fb4210f310738abd4e11ccad5ec78dac1f336e7a179f78a2f382f12fd6ea92ed6e08c8d287b4cf3100e37eb21cb4983f04d52b48604a54fcd34d46dff2a9b6ff7204b182e1a1fec24f31f3dac64b279ef31fbc4de779ec3976fb2666df8b2039be7f015d444ef2cb6001b2a407dcf98f7ae21b64f7cbeeb3e083e9da2f451db0cf2be5edf267ef927e32f5cc84fefe9dfe1eed2f939c471308d061dc5d489f94273d34bb3e18bebda7ee6c0598feed0b7705470e4638e14bdc23b76ddbe753d2fc225e77beb343027aaa0306abf2d2ecb31e21ae2fda971786ebababb6bcbd6a870a1eef68b349a99377afe10e865c3ab77cf8e78f056d006eb4d6f76b310e77dbf7b035daa0287b5f6f54d5f7a455496c35435f677a5b84ba96547f66864771c4035e956e906e535ffd4f7cfbcb6eaec429f7dce41bb75dfff9916fbf58d6c1acbced1bb2ddbe6ea53da736ba94572ff2d951657ed3932ce1f77af8b5eec7536dfa790de6501a9ceca9772de56bbedae2e9b5d19deb620eecb5f596e7f53a4e9453b0d14d2865e42acda2ce6428f612a8feb5e75ed176246029bf785adea6079eb83b78f65a947291a7256c1901193d7a2a32ece26375832d4ba8ae3148f22ada213fe387fb6e6fb4e167ac7eedf3a047bcbecfd31e036ffbe4736ccb85d14a3e8b8d3abf6e66311084f5fc25456f87f644953e4a8af97aa09872a195265e41a6224fdfa6aceae28120c5aa1129c8ef3d48b9c90ba32e19faf67742b2eae2e1cf196d0b63375c3598115dfaa16e42d79ee459ff1574016d031460dabd600a0c40ebafbc543980f41b16a7d7a8e5479d49718ed5f99d47f1571e4678b6f6cd4159ae900744092bf7551553fa36998530f8a2eacf17dda9d97b9f7a5dff8317ebf03e4838eaa5454d9d8ae4cee979ae3eccef6867faae270dfd3399d2cfc60e69eed8adcfbf6f0fef83adf79de9851a9dbd40c397c937fddaf774aeebf65bffc6373d8cd33529e03e48f3fbe1d66ec501cfd03fca1fdbc3c38cfde13518dba95df076cb41d3eb62bcf7f5e8b2fdbe3dbc7faacfff727eff5d8feabf716ca2c2ed73907c0db4d96ef7df7b4d663f7b4fd068b6f5e70f39dc074f7fd4019b63b7efd9f7d78d5ddf2c3e07758fcf71f5ef3c84a2e5ffbcdef5bfafe7104e3a23fe7f1a0fb3ffe17fffdbdcf8f573f0ecf11c8e6bff1d67707cdcfce37deda9b3fb8012b7cfdd1a6cae7b3dfabefd10bfbfaf4ef89f5fceff1fe7fd5fc6ffbfce6bfc63fbcbf11fc6f8cfb17df477be8f87a77feae3fd5f8eebe6bf1fcfe8781ce25c6fe9d05f08a775585e9ee5d57ef167676ebcca9fe3d5fcde6e17960bfee90ff4789367f3fe676eb7cf7946d3be9e617a8af879fde1d6e0274e799f6f755676e430c893e06c3d2ebff9cf0fda47891c65799fd8b9f29dc3ce8bddc479749faef6cd69bed0d3fa2abac1b302d27ccf3f253d6f579527b02fba31f4ad8fb2c73afc38a64759f890fb5335f39efe584cdb054c4953f4b291877e5d043fc9065be90d11a51cae587facee076939bd4ecef583b81d39a511bb9b197dc0dff30bcfbffa0777f6da0f1bbb85e2fbeb1aed7d617aa4683203bb15f69e6938e9cbaa1c5b6de37e830bca844735db53c5379673a318c59a5d1a1db4b5e1feee1e0b78102f64e5d142a997fa92df27a3fc8f5b73df05c787ce9fd29f7bac46afb8639f917b93c0ad78b9ddd75b42cad6ab261ce19698be72cd28c522daaee7a35015ab28d5953dbea88b870efa804e8fbfef7b5926e8eec5b1b61aec0bd3f7c2ad4eb2a9c1f4e7d2ef73d08776a8893fab334c0078c3e9aa7ef45f5f57b11a65443edc3d689e3059df27955ed3ee3a12b1e128333e9ac45dfc30fc80bba0d217a9ab34aef49fc8edfd09e53eb95848bee3c97c53675496c153a5b64c17733769424fd6b79e9a4c65b5d54c8f7c92e677627e216624677e9a3f4b7da4f4fed99f37ebce3f817feab8f4ef95a647b5ef35a8be73acd8ef7563db60a4b31106bba35fe5c7a9981b7d5b59fbc36ddfcffb30caa21dbb0f923221b36b15546fca5b153ca0b2f357729f14467186aab46c7ef4e3ce13713fdec13b68b1f5139db863c0c2c41cef1013a90cdcf68d51bfcd07819253a36213ded9bc94b5a74482d7001390033e7cc3efa5fc988f39f523186cd653df676238eb036534618cdf2f8ca67669ea12a6ae75ecd72816ae66e360255678ea697c8e535367e8c691c14dc1da21720fcf51cd29ec248511ff0c32a4b01a85722725aa82a0c98f38296d8105bbfa75ba7f08e3fdf6354c4bc6609252937bce09aa42064c84c3f786f19d780ed09907897c84aca88354ac11d8a34bf2b9ffa63861c597dc8fb6c1aedcce72f19528c53fd2e299ca9c502866e67fa1f049e2dd516cee68d02444961e02f7504d3c0adca569be197eb1572a47cf6e32ba7777794cd33af3da3e5e7f1ade0c872354d2a3869d9be4763ce9fc2c475f1adcdd4cb1252c9c947d5dc7146b97aa22a0f1d71d95b547557e4ba70e77539e9362e211a91f28d6deeda670bdeeb9acbda3ff7463d6cb7d174c87c6b375a8ed132a5d7b9f4b175706577539d36cf99b0d8c7519a26484427e4f25fb74dba7c1483bf728b54be5a5d6d2f21e953d4fe21c04277ae4f94a0b5c2adf6d618963e552d08f34512c997ed70a01b0fd9a1a42d30f637401a9d35d9f55a445afb93841b13fd36adb7deb113ad89f1737139f5089c551cff4c4ef75e96aa619bc2e1a0248a46a08e4efa3a89f837d2ffdd6bda44c5faa2759aee348bbb862ebe17b63f7c98bd8d51f409731dc8312b87efd916322742947d997af9f62321b0c753e45747a8ecf223ada9b133f7bd2dd9df010679ff58df7759a4bdc733367fa1ee14aac1d6a78bf76dc7795bf4c36f13a7976bdee515cc65e9edf7ae374f215ed26394fe43be45ab8159fe26efb18ed265fb030fc09b3ece20f5bd637338721b0c449bc55e151849c54cde6d0de60f419ac7df8042a415a7cc7b3a911dafe9dee587d5b973ce2380cc6d73de3a3b25a20dd9ad0f7391ed785eebcf8dcc5f2025549246802aa61a9d222633a717bbd6faa78e1817d1e75c69ec21d99279ebc8030aae786ef97a83c4095342c79dadc28cd08af51c86d30b57d8c2dc8e2d2726536b78b4cbe26a42889e29920ce4d6ad603e9119987af972221d2f6db0ebb795a0870154070b477e573df97f57c5643c37b390a5039ae27f7837dc253c884f0643e45558bcb8be6382fd75acd792583b52e028a23e1c9dbcd215f31eadcc97bf37f1b8313fffb7f4e3ccbbf6a5289b1db9618a9d1716e6e611477cf3d7dc5cc5af07565f5783e9beff312959b30c93c183d52d0ae547ff3a719fa7b43a7ee41cfa2a62cf93e0048875a0da9bc8a33a75b1b5f4e1c5ab9dbad7bddfc753371c1dbeeb5d1b43bcf516e7a2cec5193e9ec73a2a01404f2947e5d02ad784a2b11430d311b5e29abcd4607058460fa750a08a8da186e0b65fa77d80da85a50a5669e9caf0b9ddffa55ed726df13e8a1be437680f95a78b90a8e2fe5fdb137eb9ecfcb90b703b37c2e4d9cf311c177d0ee9377dfb396fcbbd0be5323ee1290efd9cff495bbfbbf74b775d2ebbf9062f8dc5861f31d0bbfd4f2dfc30d5aea7b656fb3e49c4b95ec094b9cb189a4928cba9a820253d3e1acad262458ae6e3a71e3e0747baa8ee0eb9db707507bfe8ebfb61aaae101806ba20dcc6977dbe2544b863161f4f34c4463fa4f737139653c53afbd7d9b69ebbc8c672c2ea9775fe85eb66dcf069405b2c23c5d66771b51b4b07b12dc6715a985ec8fb4404542b1757db76f6550c66fb3c33ba7887d7c3b143da4252e0b5d73a2b48f3bb6b9b9bfd8205e4be924f6edb3c420ab8526a31dc9adf23347316040b9c492705351adcd211a79588e0ebfa8d68711720eb3182f20fb4db0c06454b9428f8b95e6fc3b091f008a4f8bf9c3f9cfc6993639f11c8bd70cf06376b67181badfcd3ebe1e70389763724d25e48f07ea0cdfe3c9e55057715bba1152734bb1ee8b3c4e9098f62e28100b086c0f4778c20d1002239e3455ce5bfe1dd7ff2e277ebc5816fa2b3553f3fb7fc8ba9d531830632fa34ee6261d43d26bdc7a2f312142f613d50a05080e2c30f38718baec1274f97dd784439bb36b1f4383de557c972224937965d65b75ebf05170efd80f6fcf3f3f39f01dbc2dce8724efe9517ccc4da217ff17258aeb09e97c37244fec2f3d1eb27589e0fc31b9c953f38817fbeee790acd6b510915d878d35eb38cde42c060eb33e57c1059ba3e941e761652ab29934a12e4b7fffc6c06fd355e29e202378fd975b7282303850dfe888387d705012d899c14284794a89c23084674e912cdccf585a44969ab5c2a45885231d032429d4790002704fa7bf0f39ed8f5f753fa1e94a5e19d0e52e19f6bf79e38f7c439ffc5b97f68b050ae3ad3fc559e2aeacf0f7bbd1e322247b75436fbd8ae03249d8cecb9250f2951e6b391d7c5f6435436ae8fdf8cad9517b47ffd8ff76d7b2d3e0dc7c3eb8600f851cfcf6b7098b1e1492d1e8f5a7daa58da9e68877471f37fd3a638e54d3291f39b79507dc860a512da364fd1652543399addaf2636a775c8715dfdd86aef9ad18b61566d3792f072aa733f7cc61b397afd187e489b1bdcf439c255bf7d3e7209d11ff9429bfff9e7fc28ce6dc3c28cf3ee9e59ace93b6439d63da7b0d5b9c86c70e09d615d6d8e45ffa6e96e0a0270d0c029b54283f735fe2b184fc54380b23bce270048b1e7fef215cffbe7465f1ce4415fac34987845f2cb20cd2f8387ed739015cf415e84e4ebfa93544de8aa268484879e6a30486daeee7277d83f0f3df53eb85666bf3ba258b7be7eafd75afea5d16ffcadc60eb646a377eeeeb81f9c63ef32bef81d6becd9f9dfe7a7e4942a496496f61c390a46d92197a52cce19bac7f13b9a29ce4097841cdf3fdfb71bd33d3eb7f3fce839af3a003bf4b259dec193569ba90bb24c1aeec178cd0dfea08be5d87fe157fff91a16056715e7c1ba7089ca2f63958798151b823c25a4b844d9b871ff5967c77e7bc0fdc823f27dc0a1097035fa002d3e2229689476ef37e8fc7cffe9bae714aa9aefdbbee96f76c48799fa3457f006c401a1e04f17bfa6065720e6472cd2eafbdc98999cc7510f6d2faa821d73d695e1ad1ef336df9fcdfba579ddf7e49bfcea0a94cd3ff238a8de071a9b8d9be68bb29b0363a8a2e175e3eef8d2ddf19964a824c3b3d7d4e42bbbef3ba2ef0fdbd3c1c4d6ac9161f1ece6fd782203c2ab72c9ab87a27397d7f637960b42543746340a9bdf988c88d2debeafa32d5095789e5ff88d37f3bff16a1aee8e17eda1fe1a50bdbdc367f050b5ee0ca44f65c966549508c514b52ce3bd66a81d1fa91efbdde7aa643e2d2708658c5a5e27727b878add92b6f1869f85876ae793b6f683cbdc37cace9be229d22523203d81371b5482233c6cfcddc47ebe86a75b555002d2bf5d75eba73eab375bfe446efb60c7ae2cbf6babfe477e40f1bd2f795feedd9f3cf89607b39f1f9e7a51dc7260ed0d67bae18b9e1aee48ab2737ac81e0ebe4d560d28efcd82b15de4e3c503ef479ea136ecdee637f53878f86779a9e7efbd82ade5982da8483e37ff0677fd339f8cfe771f6b9e4bd2fe3d863cbfe3ab6e36bc3ad5ddab1a961942d40f185ab7afe7fc3fddfbf5670e2cf62077d0e332f7fd5bffd1f381cbbcfdf5cf5dffe5ff53c68a86defc8efe7f19dafd2f8db46a78f31006af50598f1717214e77aab3d8f72dc1673666366c369d4c5d2ccf647ec5c7dd647fd4d7f43c4d235f592a6e75c9624e45305074d973fca24590fb190d11eaffd7c6a7c3eeb631b3fad0202aa91d024c3e6b3e73d007c485878a77377d0c51ebb1bd2fddff0cbfcdf4f3d8800d0d88925ee841f29f612ef73dfd6d24e988458fb203d18e4ba94e46206eeda79775ff2c857db0ba2b7a819815c6f255e88c1475bbccfaadbeefd0bd23a51df2f7763aeafb6f53a2ecdba9bd93add165dc9edf6a853223d8bad9f60dcc59b99d1e744cbdf2556c1ce217c9f1bec735f2b540ec9ef39817b48dbe0b6aee22893eb286bca504f321107714a8369b4579ae9c9bb4f9b0fbe17c83bffa2a083abac78560276d1ea9630d92d3123a9601b5002e8252e09aac9d64d4110f9090c46047ff0b5860a76a6cfcce86ae45d1ce91b4d36e5906f1cf527cd92b5e927cb8a17939bfb271f65b10cab5102ba46e816b991731cb7992a03903565a9de556bb909d67273d56fa124749906185779c4469ca2cee9992d8970c433b2c3bbd8bdbc09faeff48f133ff9717c30f04c3fca0452d5cd5b3b274c3f4275d211818c8f411afed9b1bb1717eebee8e684a92d9cc70d4607bb9553b0b855d3bf62c6dd5117dd5544968bc22f7c921d744718ccb268709326ed1381bd4f9236db8f764f5c58ff74a70bae25821284418950f188a14e40e794c902a10aa5843228a046a30ffc7a9f0f3f8a1ae47637cb6fda6e02deeff94d3666f553cf79a3715280b454c6543bb70c84876a3b03888637ddf57991ddf5b9337af6769dedb9150e0f334e0d1792c9c169b18bf7bd66f1ce60736f20e97b36dabc8a93822caa6613e9d28f70f4b840a77b3c44b2f0a35d7127659dc2ad4c89e5cf092ccfa3e1c6e9ae41cca4070cdc20741b0f5256f1ee2199b758550dd5c3c1b5660893bcb3235352e6142463b79e34c5d1c15767ff8aee7c62c0ade537ccf2fd794d5fb4f9b3abfa5ce7e99c12d11efd6094eca4b7004fdb9055b31b8d22251779c0a4b760b27e3ef0d9ca900ea1b7cf10d21d237cc5384ce997f308091d58adb8333e11d5e7037062d60f76862f3fd31af92d27ebfeaa2fd163c6fa1a3cf43c23eabb2ec2f1351cf719814fe63d3fa9b46365db8f997e9f63beed4c7fd907d802d34443240ddf1ceecab179eccb25ea733d9e62647caed5044d2d7aff97fef90cd2333df5fddf5a90ddef1ebf7fd25b379c74861fe94c8fdd6a474ed0d5ff458f5d9fbe7fe6239ebe7ff2218fc7d3f990f1ae1cbbfa7112a5a38f97d5e8a3db46e9c5db4570d7d937fcd49cf8c9914fff9357acd7456749cfd79e30991b0e7796f28f934efb513ffde3f89de4fc3b45ff1d76e4cdffffc5ff6cc8e8237a34e7c8ba73fde8ce57ba6daf519e822ee8ffbf1efbffcbff885d777e877c84e5630e357c011b1deaaba6b670d0abb7358523efc6454c27f8936349ecf932d8e76b37292f449b9febb79de73b3bbfd5e632943f2645df9b7bb68d541d8b56e70dca52e851b02a2828347e79cc9c1ffb3fd6019d0bf98d4fb8c58ccafa93f4b8f11cea40322a99d7f3dea2b501cc6ebbf86b60e251e577e7dead0b8657c5f406a485f703cff0bd3e9f3828d6c5185e4a0f415c811eb953a9664c8f8d9da45a5da1d2742a05c3ad98cd467a48b5ab408fbc52152eb49a11f932e8fdf780485982cebbcf62b884b95735f313de62700379cf17481b4825003bf1b12f7dd5e30ace78ffa86226bf1ad91a8bdf6b3d7ef69c6a03343db313c47db9e86c85ed59b5b88bab9eef2f523aa0580bb72d034cd807d172017a74e76a91226c27ae56334f6917755178a03cac608598fb4cd653aacaf51474b04f240fc17149b60dbd4a044235472ebfad2c6ebbef11ad6f599eef488bb734293d2a2f42aa5be2a57c42b48ca8da9ae3a02b98763e142a4e216d56fe6d3d222bbda2504f4822eec89a07c77a815d7f0ccff83ff26c55cfc9d6bde7b958eccf752ef749fee857cb41d95a6c5b89b224f269a0fa75481e7092466b79022eea1e279997aed9c7094627fcd74fbc7a0db480ec075efda405d0a0c8f8385ecb4f8b17297cb4da9d9edb16038b292aa79038d4f413ae0d46f913ec3d363e8ad067da02579657ac2e54e6558280640234a32863897a4baceea67c246fca63aaf0fc4bae407183df402de6c9867ba838a2522c87d2032544f71d837d53479cfcd28c65c93da2a58752a267b01ef639519b86740e1a2936a095874a206879db281ea1961e485680dafa44e7d4fe8e137ce7af35feedcae82c909f753f7ea87bfed4054f78c27ed72be8b5c23b7f62ea82d3f34f76b684406f27868f767bd2e624967b2f3ac3a12fe8a0011f7ee8d806e77c02d8fbe5ae827b2002a60a0930c373e1e1dee4e437415bbcf88a2ff9def041fa7c5f2c8355b977d7e51464f909ab72e9426938cecfecd2c511b378a6c1c7f6796563138133a53e28f097407311cd0b4694c248b119579a045a7d4452bd40ad91ead27c76a3bb10b79991e19f3f61568e43e97adedba1d79f0e9cce0754d75a24f94398c2ab9fe48f98f0b59b386f508d5ec56d391769fdeaaf1adfbc7f5bcc50d6230a4dc0404fe35d8d92d4636f757be0738924f29229009c0d6f86d70e2aedbb8012224007b8e8fc2fc383d1f7b9f926164b6c8fb6abf305aec40b6ad30b67f6b3fda05d1c2a2e635d4efbf9e205abf2b3f3a53a3fdf72f4c897a09b3b59d9f7979a1ef0ceefb7b5e3aa7c04abb793bbade141f65195535c15073d0f130f1549f1c82a36829679412603a2c4278511455533481925aa1e05b248602f1356390b909c11c909681e53d6843ee8c0835af8d050a36aa74a4aa458a02a5cda766b7ae131397151150b4f2a422ab6706533772b362349be40259180083bffa05bf3a9ce3dac0a4a94f041e7ee1b7d98c66dfdeead1ee6ae7c0302c20b149f121f420486a0e6b7041c12a882120ea16bec0147903234d298baf0d0c8534ac3410d922356e59c2490b85511ba4999505d2f5c557a045874380e06b98b6d31437028a9d8d295cdc2ad982449be44d5fd8e4084659077730a9badc55647c3a13ed333f85b67fdd477a1f397df7cec1f3e2e913dfe7e9d34d9b3ae83e7ce2627ce6066b8cd75345b3b11c54250ea0c28e80585ed60a6b6dd67a8487e3fd4701f24d305a99af0b99a0dfec3fe62b67644f7d901ff71e2eb31f8f071e7672de56f7d26f2d2f0eb63e9e14e7463724d9558db9c8b5dab7fad7b6427fe11de3a5d9cbf09f6c6f71ac0a93ff00c1f21b0b4f9359b3bccc18b2bb623fbfa2d0721682b4283f56ea5c25d7ed40b607a44c0e66e720e0f325cd791a8d8253ee73e4779be9fa97b16a7ff70527044b09fe8acad03aa1b2fc88a67b78a9ae33198fc2993f67d7e9bed6118683d4d912f865ff04db7e0c43f51a23675f62d00e4060760fbc4bff5ed9d63de16eebe3cf20aba86efbcf3970acb11d1d9dcb48b87f2b52bd9e79814a9b796dbbe67e9b036ccd9aa0c28e888683deab741d86eefd8877e361caabbbc2818541115a345b2b933eb82329c971e796d044bbbef6f230addf7cd360877ce85d8e96a98142f415bc41fefc579bf62afbf585bbea743fef850ffdfe7558f1d3b6a3ff11ddfb8a77e0aecaedbb0818ca660c6b324f96590c37d50363d3ed8377a1d9d6d1f6e4171dc3edb39f301413e3ad2737eeb2fb4f8360e2e8725607d9ed7ee8fe5c845fe0b17f2f138ffe2314af3f9376d5fc5cf798dd6a79a28b7355183293eeb673970968323b0b25873dd63ce6922b8c172a915f9e2d140c34a93ee417bcea33fa82d26a0df2ef1d0ab83129c308766faaab6b3037efdb0351c48ea5512e568be723ef91a1c5bf75a0fb6bd0fb8bcfb3e8ebb717dd64f72e03737faed0b6d79645077f35a2c0cef9cc94f152fee411f501edfebd6ad153ff69d975637aeef2bec7c0a41e585e1c5b11a1dcc4de47ca6ba75d2f4ecfa54196ce498c87a92ca3aa09053d4d207259e2d9e493d83e63e424951ea80e4f584c85a45a8df8916016a8e6417643c650b02324590819b40cce762453423fd6f4561ab3f169067984c164cd63e4a26bc1170c2a0249ab9a8ebc4ad262ed379425277c13bdf541546773f4c1a0ad95c8730ea423b19add1e352a0b7aa4350cc455547fca2a8883cf08b0e7b3d13062e183d58fc5eb3363c6e7d7db57403ab2fb83bd65d2d7fe20a9e6a1f87d705b6d27f83d20fa1ccf172a8b192fef033d114f407ca911b5f294665fe41612f118cee4a6ebea71f1bc3e306a55fcec0c7ab4053d87ea0ccc7cf3a7723b91523c80f7c47d7477e712c4dea09b3bf78465f82b5ed01a79acdd9917faa1c9bdce4da605ded1a2259c392924f402d59b67a255a27b070120a9faf9ab6f99cea86ef64e6da497117c16844478d745bc609b2e5d35d2dfcca116fcb118edcc499635e93ac92536c16e13e874359d7a4cfb0b6b8dcc44137353c59173f34f30fb6e1777f3cc5f4feeb0aee9f7b5e94cb3e568f7b5f7cd5e38eb351f4f49ce44f6a9b7dc3d23d5deb1f3e785f7f6f082adffbd6af482cfeb0d7cf3ac6c93d4f96e5cb4ccc63791613fedec3f9e4f86c27b3a0ce5fc27af4e6afcb27c34fb0faf1ded79fb6b725077daa7e3bc370f5e00695a8992e055693b1bffa10446d95cff24df7dba8b5e7efcbc7f0bac79534fdf6f5882f31f1e5a7e22e94798f17742036385c338e0f5ca087479fc7e9d6c2f2113291bb4afed67b77d60be60fb1126b97dcbac1ee350e2b676c78649453b3ddad1bac1a4cd7f370f8517fc7d15cf7db09bc05f58ff319e990eca04cd2220b50f8316b2ed217f6af73fcce078ecaf45b9f633bdc733e70ab693d679225a2b5fdf9ec1bf6e9a8458e7f2c6eb7b1d8dd3f761dfc24661b7efbec4af5f85e4bcbae5c6ef4e035603afbe374cf8f9a172bb30e413f490ef8f599c9d76bd8039d40aaf11ebc7ff6cffecd8ffa4df33e5ffe1f5f8fcff37a87bc1cfec095c0a6efd7ea6bb59000774071c7905d5bed5c79c09f99baac3ad6b8ba4708b53fb23e53373791c15a11f370d52137666a08dd35360b9ee284a95f357a8f0f0a07be769fc8e72b8b3e563d1f8ec28911cf30fc70afa60e7ca6976f72e086eba31c40ea20da1cfbd4f00bebe211b2f2ac0fb9ece2894f903ff731b1c4006efb3ccaad7ac096b9d8ea1225f30834cc4f463e93b9efa3f631015eec6d8d6ed4eda38b19c1d1e93b3a9787d770bfb23c046be7b41f341c1573cd6fa909b7bf2dbdf7d47225bc24e7bf75fc6d86957d7de837fc52b69e41fafe7620f9d2c6d0fc32d64643e4c5e6fd1c8cd3721c743eb4b5099daf7ca65b6030d42f8270cdd7ccb7eb8ce1b77d84f46427a0acc7a8d914f7c53872f97de6ea36a6811f2bc151e57eb2634bd0c2ebe25d5a258c1a1c9a1ef13dec410594eff8d52d4e384db487d3c6da8dcb4a4d95e2d03e3cb1a5f33a4b217b6c4b4428d8f445975c1531b4c06992a70f555118e70fd56291ca78e14b11ef2631ea09a3f7f21bff789fff36f86aa1716afd03d3df73c4d3a33a3deff5e2ec7363430cf7e33236fd5b968b941a9c5e3e8a147bb1be9be542986966d66437918f20bdaf3c375412a31938395deb517719520a837c35caa6d9c327421e20d41487cf8bc72a7ff15e0a17a17689e47e9a34c5fca57196daf5fc6ca3a2156e8c2d7a2967b0b1beef1df0d983eeecd6eb86933fca5f8d1654f230d1c2a752ba442edd20d9862e829749c1cd7b907fc1aab863d52839f5c307a63e40342cba2b162ab8fc55577f353960759746fb6d67b8d1a620cb71dc8d8fd6ea9fba7b8bfb0d74e9b9edddebf5dbe6f5faed252630b99bb2c49bb6f96486138f57f9d44b387b4abbc9df8df9c966ba72d9149b1981021bb6bdd0741ea5fb25c473f1e0ed741854c532508df4a4c83da9735a8c62d022f656c5e65e96731f268b40355baf1ddd9ef02d3dfea8f35bba35b2ef3145a307277c8b752c315e759f15e3992a0840fd71f7cca62c889fa7f5f669b6832ba35dac19236d196d356798056c31ba5944e0c3d3c2b9f092a2155251a4b54f8d0f2a84ab3ef7d18aefe77bf5e92177e1a40f6ce33d64e077f6cc95265fc05a533bf95b5bf6840bfa150fc876fc2552cc0f76c5aa9bebd6fe1f30a5c6ae2dc59aedfa7ecbfe7db9e1ade86b4162e70e604a1a35255f7f6c2fccf60cefdc3fb42c2949b753aaba39c229016dfc350ace12619b80de225192837628c5ed97adcdd6be822244cd1ca2ae079f7d3fdc089a69dadbfec376a8c163aa1661c29258a980aa5ad26ab233fa43baf03cdbb7b244dd78ea3b7ffaf17a06da30426766edfbd1a33fd52c8b577ff3ccdb5c121fb3d6d6bfba39ef8013aec00987ef1676bb639a13f840eb7f3e23d18a17904ff16ef4cff31bbee5beeb5a9f3647e91790bb30e73e517780fa8057097c6bbf61d9e316e6d6af9960cf4fe999387a9fef3b5bed6adb27ea7eefed37d832777dd0d3cd5171f0887a58e1f556500f7c9721b8f034b892b5bf3d3fafee3c4daedbf5b001bf504f8c42ab08a848e668cef309ca6075765edd7305b57fceb774e4235286077edcfb632647633893faeb8a3fc6f8a16678d07233f5c8b6efd5f7d1f804f004f61aefcbb331fa075c7850ddb1629b0255efbc617dddf0beb4d7d86121fdfae398f1dc54fd3dd3a2e87c8b114362fb2c0defbec93715a6fe400d3840c11bd002a4c2d4f4f7a5e2e23f9dc7ff3a57e1872ff69bbf164ba634b05b74ba7b588ea97ae354bd0fb6e61ebcf3062a49be3d181ce7e9218f35009f945d94fecbb550be24eaeae0d7f1431e63d7cfc3d1a9bf24b05af0f9f9f5e1800d040a76e099bcedc986e8d28c41f6736cca72fec34ffd764ddc440cbaeb12d99aec8187abc734949be084d19a9a715e1d78c12dcf1eb535b3658f99bc8065fdcb78f9dda6d5c86f094c8248d63e269d2f56300a25a715ebae4bea257cfa8fcf70aecbb09b334a36d3e1bb5d97e101425aab435f8df56d67d70d244d4a2a1e83feab27a420a08a7ff784747ef0898fc4c872583e62c38b9bc1bfd70db63339f3cbdfc6989977bfe1474caedd8cf1850bc5d8b5cf9f20b9573fc7612275e4af5815241fa7183d11d7beda4644ebc8af9c88c23622adf348f42708c391f612987b73c97dc8d48f31793d68e5b6fbcd34a8b6cfc77add1eae7d65f2b026576172aad8fde676ccbb35e1b6f0143cacbac179e0cf94d207a025484017d8a47bfe08d97fb09bb29c07abf21364f912ac78174b9feb611a9cb66fb5f876accdcd78377a65fb72893bf1ec56d2f009c66bbebc54454e399c8d3b3525cd0a508920d4ce1457dc634a706aebcc825625232da3ae593bffbc1eae4f11c6aca973f464e9fb4c96d8e6dc836d1cfeb0c5d1f8260599a744ea5796b04bd25d9304a6fe9e87a09a192ad6f4b6fdbda9d3f540aa39b62df3a1f4bff13d1407becbd27464ff735cedb9b1d53de7c5f11a5a3de6f23ff814d569dd5cc0d97aba39d83a9cc28fb9f4f54775761ee55c619bd8717641c7471fc0f0b34dbaf5c7f03f06ea273fb71c425a1e7a50cdfd61fbf205dbd2d4e4236df4887c782a03f2e09439b6173eb64ff3be6e347fe681a79fefc59db89eea3af5747d9d4bc785cf32f0f4cba3dfeddf054f1785ad17b9b729912f833f19594ff7dbc06b7930bde031caef7a2fb23b5e68802ba37ff57ca673d08db59ffc63c79a86cdef8a71a0cba58d7f2768354f39989c7f6a7132e3aa95be9f97be7bb3b0f5ab8f45ae0cb778dbecb7d724e1f724fb48a8ca8972476b5b0f42f0fcc9ffc379dd0f875f4300c5502b88818c404a2cbb90bd963d0f50d2e7b2d7e565b09763c35ddaf9e08637c4bcb7094cfc54f4da94e565b02b2e83cad4ca97ae2a73aa58e7e78ebb3521de176353bfc53cefe25dc381bf37d8dd17ae4a2f5246efd2ed39100c7f65f77bf1be78845569b033c1ce617c57f858191e44e47b58f73ac4e3b82a77be8a2e5d7088aff394ea2df1155f867b072930667482804790f2a567fae079c2f49650c5703aaa67d0f996924568f47e34218a61087741e67531279b12ddc4a00a8439bb6215044ce611491432554c896aa6287944940c51172fa8a4742117fe8a6f429c17335a23eaad07b289217f88ee713288d734a4ea75775ff139593cbf930de08cbcc6a99601014618bcfa29960a529867b90e889692d4b74198e93b9a08ce77ce6006a2dfb7194fb3494b688377a326847d7141c04148209cd27a9c69c640353993dc7dacf496286746d272492a533776895b7017b69424ac742b0820d35779a53ca28b19a9e69b9435c870f4d6e7c30740baf9e0aace8b0f2c3fdf2354720add7d33ba3b860364d36b602dbef12480eb0bcf85905450643028c96d411249bca4262ebc2e831722989ecc88cc03d4020b528f45dbece35d3d096bee13fdfa79af9a0847fc6d1699989da1aa5ddbd0ff2bffe4cbff87b677eb4e9489b6407f501e3409ddb11fd7aa0b14586881a8e42d2149a1a8243149a1bffe0caaf0964eeffd9d7dc6797010010950b775996b4e200300a28ef1a7f08ce7eaa47f74c28df3bd70760e95673c67bccbb9fdde7554a807ae4a152dcd5bb4dc5db5162a4342c6a47e1b9377ef920f703272981ceff5705c10acdd6f0dfca85fd8f1979de19166c7387759cce20efbedb0f2968bfb74bfe105be68e2bfe9902ac6c789378988a0a0faa19ca8d7432eedb33b3f2a1d86eada484992ed8226fd095186524f9fc56a860eefac2dde790eb86d6f3fe01d8752fbee3a2ce2b5e546de593df792ef18fef9c8bd53fe633963c8e6f068e62c7bbf5a50401f7cff7a0b73a6b460c90b5c97f016e9dc1ce243a7f7836f5ddcc3b51fb8d8713b9f1c62ce877c82e33272fc2b1d77c7d4cdd703747e65bb2e1e6d2dc77dd46938c5cba29ddfdde7501f7ee203727edf525a5f3d3ec422959f1355a47455dd1195df13c804987c44a10a663ae7a8b376ed0cc96ee0a3f624552ca5cd7626b0b8475309826c4ca03fa45a21b6e3dbe6f3b440d567a80a0a5a32444951294a4d756cbbc414e1682542ae8a108de1d01e07151095f9a82a9f8254a065807a3b65b81df11d84d8f4274c0d24478811b21982bc47c88668aac06aa36a8660f9a63523fab01e9ee2bb73839fdfdaa1b55fdb75f01d521b733acb6d381bccfa51a7389cc5041cb5c18db5553acd5ecb3b3fe38dcbfbb4feb56b1baff5db769d46f26dbc2ce61653d76126390e90bf1eda8247545723a2ae2962ee33f08668f40b18d1be130226e708adfdd8da5e2a042344eb37a0ce236c6d5b6524353a4f76704f948e400d12560e1451db18926cc61463a0323a6ffa84abbe8fd8b68d38c5903fb21133fd90ea8a04baf0c11421981a113421a05e40b5ae494d406b87cbd3352766fb04ed7aa22a46f14f10eabe248ac544550949a4a6aa1a06a67ec47440a82e18dc2841cdf62bd239c5c4f3a9ce1f49176f3e9b4f3cebff9dc5e1f9be38c697dabe7dc8c15a7eab32cbf8def56b7e1837d65e5407fdbabd2c8beb98749a2aa41b4787f1711857c7b175b886bc3def07edf5ddbcf83bb94b58bbd612545210b565b0972fc1757c0d7b2fc0445202628e50fb682a8e2af751650179044e4130d4b21d2b1441206ac12948e283a0a1c9dd18b065749212a36354f9184d16a23ae2245f0225284239225af9a02b1aead7ebcc0c92f6ff82521f1de6b0fbbfd3b50f05a320296dc7989684aa0c9912c840f8a4fd0e990faafd5fedffb12b67fcad3d465d3d7d09248348c1075006b1ad4756907ee74d4e2d6e7b7fc45b4cced7ab6cc927c5b568327b5edce1be4593dddaefa7dce1dc71d89cb82ef8317f0235337d41a03f111d3e229e8091011849d1480ae6a0639b132d1c1e541fe79e3f3bbbcf8b50c624cc5c9ee00aea88eabf3fbe3ee411458472456c4eef67fee8d63f387b0fec27be4e4e453b0facd1e48bb0d3ef3df42998669739cf1bbc47c362925ee5439347a859701cab6571c9fbfad9bf094d25c10cc6d0da768be2affc1657b0b4f8d7b37115aa3c68e72ab92c6ee25dbeb1dad86e1eb3f54be1a2580bab85db690c2f8ab5c5081fe72ce6598d61934f510d10d4c0e70fd918141b6399f1c3b1e87f7c169889544c89aa7edebedca9d8e2a6e4981ac188ce3770d4b3387b3e03ef40abcbe723c2c7c6c500ddfae7741e5017998d4b38acc64d6baf5b4ede53dbf8bc79480ebac8b35dbe046d28d1664d5545a962e4ba94dff72181ed88362b3d530552557dadc9a0b5654ecfaad96ba00b8a099bf1927130c5739456cf682467493e632aa368cc8c6913f43ef5a94d8d09c353bc4cc08b466321ae7d18b64bafcd0080e3d2775a26530ec52e6e0e9ac01d4f783b572ef21f9e3fdf089d071c8f38166bb321fed0f63a2822346fa03589961092c671a1dff7eb2b42fec870d1ce2932a2248f899231a8e18cedbeef6382186feccf7ee8171914ac296ec1c85bdec801ec617fffcbb6c32bd35e39d4fafc1dfa08dfdf61ce7e7c87ddb8f8c17ebd0752c0e872fcceb1eceaa226f9baed0faee62a4fe532bf8d17adcf29daef73bec88ef8f9d6576c7d46fbfe0eb8f969cd69893e01912132454bcd4017237ffd433f519ea23a63b414211ac17cf014532a037d9abf0233281005212c1ffb4650a6fa02b48a7b5fdbcbfef24bb20006edb869d7ec9829417df3a7bd0ff871fce8767eb8cc7fa3ca33d7176c7ca03fd46c0c4971d020efbbb8fa651fc1f26c4e4b6a1f5720a82e4aa1a44f60b217290ba82e15ea7b45e0579ef32a686dfce12ffd45541ff1c89def7d80f1a8846c4c88ae112a1fb44ca3764e3799391ceb7dc1f771e277f82d848201b1bac78376928e805bde141b2bb0e3a454016a6bf3fbe8f4036fe3d6bf6ff2112c8ac37c10844b8f7063b5d73768723b9f848b01196a1674b13b9bf7b77d6669f1e17edb0fda8f9d4bb5ff802a47d2c0282afb23f6f29b1fbf27de8829de13897ee5c1ba4e4cc1a1ace697dfd701372cc4eb3a025df751b16cae5806658108059fe99a90e5a4106535c744307eb3dd1210824f1a802970ccb4a2a5f74acbe0ea5a673c4518058b6ac4148b503d056f41954549a5593220dfbed733934750168403e331d464003521ab9aa351c88dc8404db558b30a0d13437f3b6f6d4ada98bff115009fc08a4bbbce8d15d79f92e2d0cfd643236c0cf0ef39395fc58bfc0b16f9821a71c0587471e6fceb88b1980e3818f960b5c292c10b82462c6b0a265b52d3dacf7ffcbffb1ddb80915c9801215a8c85c92834b50faae04133e068987fb6662151f25e18e543c912d039134d4589625cb493dbf8ae7f5ab3a424e90b035321a6addb0d1c5445fd5432d422614af84824e057afd71be8d6acf300b6ed7a76032c87a9b6f8d85bab07a43bee621b7f5276bcb57e2b6fec3afe0c938336b6f307db3189fb4e433bb1e7faadcffd7d4d1c6af6d39ae0ff35d7ad5b9f900d1978af81f61258c9ae1fd5887a2a0a6d725042175eb917c0880f86f84931a4ea2d9eefff6c1395c7a45145fac37a6a7ed8c7d7e7eb4315b76e08aaa960e03d47ca4b9872f79198d686ddd2acd408cb154b6885509669db9f41874f2ffbd7d558090265b388122f009325bccc13d42a0816d55febc9dd3edfd8588219500ad5c9deb81bb8fe8c7d085b3b986d8f3c00a88bd656fdde5fe73c51f37fd7fdab60a4d933d83861be140b8fb4d7907babd33c6bfdfab18e92fd2bbf4fa17a437dfe2ef2379295f7ebced6dd1e6aca0cb3fc0148f2479a140929059226a3a0c4083423c40cf033e49bc9adf7c8517dfa3b75d64fd5e3b054997ffb6b7c7ffdcdc67c7525580ab72bd2b09c4e0661eb7712280202c5d041d53abde417689ded27a05b4801a700b0fadf9f5390aea62eb0d8ec6f6b8ad345b47aa4f378a95c8de561ee488b5b8bb338ac579aad6c5d1a142c2cb7316f58c4341b722511b4475a9f957ab7a36aba12246dc7f8d93cb0a8c3946f666e7df202b75e2dddbaa55687752b04cd1854f018aa6de243bf4754362446076874408cc0c7fff28efbacf5c90caa81e8d6b5bfd6b7039ee6cb1ced9515500d0af0d966582ef4ebff4b3fece2713bd98e79bf1bf3f3b33e39ff0f6d85932e5ef83ef89dcc321d463a3fb765fc48afc4ac00cbd74a9165a4542b306c8cba1e86fa53c4246fef39fe5fdbc9b04e6b26bdaa664fe397729b71e23d8670b6e6e3f693a37a7ca9fe6c32c80551952226cf99ae04ea2a241358dbff27faffa10fffe0df1161f1a2636087386c7af2eb7e7e9f68dfbbabf38d1736d7b0e8ec9adb4e7fe30e75eb339984439d854ab6be524476f9f0b76ac7f7d3bd5ba3f2081757f9ec68536d3b4eb9c2274a870cb6be8f2224908744ad4afb3ef6f94dd8dad320c68e9f004040003003c7cbd6da4306c7c06dfef2471ed41fea85ee7eac3bdafdac2dfd9f7f7fd3715e596ce7eda1aec8eef33a2e1f57e73c807f1e7b3ebfc68d3eeecfcef7ffbdcfe0bf8f5dec335dfdca15a0eaeab1028b071fc0c4e00b004c7eaaafe2fb1f9eb7f9e97dcb1febb3fefbef63fd5f9ef7809dfd2fef071ee0e2787df1ae4697efd870b8f8fefb7ffaad84337d1102edfb4406425bcdb8dbf3f760795326cae919bafd077df6aee6ad5d7b2ff8b0bbfc0dbb7c976fee5e18b26796b067f60c8f61bb4ddcfedd539441c77ffdbccabd9c6a873950ed735a3ebe2428b9e5ee0ecb57bbedf623844faf45a7ed31ddd45e4e4b8737bec5d7bff40e700089063870ca5dd69a153fd59eb56be2fc844d3f1ccbf672995fc734fba176f91198e92b97778598dd81b2ed92c06398cefbfd5745e37476e3f491210bfc3cf1e76fdb67ed9e1f7ab67e69e5ef6ddde21333d7a7ef8aebd5cd7a1d4eb2226a7f8f55f20ae1ec79f33aeb3856d4833af22595adff0506129b77c1ec969b62627944168eb724dce5d731c92c6f42b82f6e78f9c4d44ede470ffd25c3fc5ddec09e2a81350c08fdfdf6da34f0ce08fa6a279191d14754b2804e622d775b8e25d932b255cdeff51b3576de73f8f9d3fb9f583fdf60005cc2dce03b04168dd0dac59b70d96183acad91bbf7bd739acf6e3eb3fbe75cdbbef613777ffbfb1750ff1ba7ecfff25dc331df07f71ef777db00541d30f00826db77342cc206468f3a7b8c4c8144178a6a7176deefad6dafde6fa7bbb3db4ed9ecea88b1cf8ffcaf47fcbd3e1cebbd6f1da7a662a308f36aac8b215de85948bd8018afe60b7585667b3ca650c6b5ab8fd5fe2e8bb3bbd210f89f3e1c2cb7e7243feaa9a94e4f71ac3006de8747857b10d2ea71432a93733ea90b6e91b3faa0b3da8cfd514b44ff932ff9c489daf1b885cd39cee4f03f8a8b735c6e4ecee5dedaf0ab7f609ffefe3f5a988e332418747c48836eac74638658cee497bb9040b646a505a63927a079a833e1f62de0e21895e7c7f796531a18fcfbf71af551a373d5615de0a03974c93f90f6cfae51aeceae2166bbb3eb8697ffc78a9ff8d93f7f7bc6f77ce0df9b017a101b04b0e238ccb667fbce0eb9b376dbbee3763f4ef217cb07b7cf3170f3bbab65b475f4c5c56f612fecb943c376e2c2e618203c9a01a12022ac9fdb6def53567ec0ef571e3e4031781d6a6d08c2334ffa42c2e23648929b59d2cf9e14c3a9b6f8a82428e31b50db37950941a8b70d50fc128927087adbb5ca1f4b0e1ea4ec71ba67cf04f4b39f0e36ed981c6b2dc6faeb6a903c44bcae476403112d1fa29fe271d4c007d0ec325e729e1f2145c721d0fa4703b438b1ceffb139e332bf1d9fd5bf1e6272077ff18dc8254bc514b5f459924d99cab8dbe614cbc12b39f8938798c7aaf307df0633aabd1929e508148bc114a1afaa00f496a0a91e0868423523feefed457dd9993d3d6f9f2bf9ce5fb2ccafff8a434cd4e65013116a1b8fcd8e7953f7bcb378ef61dce437716a6b52ce621bcf5dfc3e48c018220ef105d55fd3995e8a862db87d5636e509e398d8ad0f267f89324629b0d45766228c9060aa38d4fd630c363539c3c67b3dc5121e7e71ed8db8ae275433a44a0624a942346208ba087dab77ec21949fb7a855c0094bcfe21070c2ef6becd9f8828050c327b03ee45677383fd61b8e35737af293e286eb62c655be3c6aa0252a0817f21354e1873ff595c5795f7171ea535f6117b1ffd69fe9f01af84715095bc9089a826223244b0c03a355f07b3b1fee938d8db9256c48709af1c6d75d8d622e763262cd56b5cfecfa96c28bf79c404476c590a8a2ed4b92252aa2493d01cdc6c3529498e4844ca5e40d1028a5224a706a3e3248662ee7b0f3b6b0cb88689a5ee7537db976d023aa3482ea5334d57d3bc712230292d482801881128fa6f50b55e513a8ac0f454a2589d2ffc0b7149627ef7fcdefed5dbcb2b509d0c6e346c71cd234b98cd38ce85362d7f2dedd0e4d8d78cd6e4f79a26fb197af6b11eb62484c7193fe98bff0a03578ceee8f7731fa537b9ef03797391e62f7f378d17119351eda75eb94e35360f9e64f7139d148e963b4f8b6dfe5bf4c217d14eddc7df16c8c3e25a77ab5fc148353320816552a1275b18f629e522852312f0262b6415c95c2c5977aa28b2f0580390863718ee7b80e373f2c1d3f5d4cac96ccfc10b7b738009dff4fcffb7016fba1a8351bec5889c61319e47e06dac69d897eb91ae82202f594c40ddc66c71cbd97fc97bcc5fba13d99fe311fe3db7cfbe07b3ee65bdc562c85ce4f31452c6ec2852c85ce8f1a5fc75c8c3287f88224b6a6574c7cddcfc269572b3728fea767ba2650f944b563260f09988c94ba7063eeb587663bc4fdbd48dd22cfcff580898209300613a768737be6e34cc34eefda62c2cff9469243de32ebc73b393be84ec7b4f8a116d772ed2277fae6779d86f2b568e6076d405456ef0e62b6ef6a668c6cfd17da68b7cdcc4123dbd626602ea1e03e6441dbfaad8d0bfd89d7fefeca715e76f69220963f5fd93a54c791af0551051647ddb897ab0a98f680297b9c8291ddf8fd32a17b3f067220028687f19b28176f5f667dcbafd66456abc0da40d4f2134dc37d36e3bbeca6b383c69004db07f6ba43e5f1a2fe758be67784a07d04160d6150fa5b78108a7da1ae022e0c1a56f7c775ee639d5fc5c233bcdcbc8e8db071b8abf241b054affe54e4264c1737a0a5c0af7a46a84671d6be67f73fe9eafbfadd38b49c281da7ca590d7871dbfaea68f24f68db0e94e3484d8b6b5e16abb874f61e352cb9f3cba8d0d908e7e18728ab7b516e164fa6182db41296af6861c62279077fc17068f2109b544281514c7ffba81ffcf13279f65371efa7612831bfff3d19101b131fd7b305b23a7cb9878f45567f6841093cfee65a3b027918f67a5f5757166fac206ced53a0962fd34793afe37d0e073c7e680abfe3c7b3e331dedf3fa71e0eb3b9900c580c8fdeb5ff7b067919cf296ce7c47cbc921d9361923d6eaa4f48af590c09c842f37d9c6d1f5f735c705e0c49530cc98d9694a8a96f5c3cb2d7bb6dfd697a1c4f9d8e3e337910ee721713d8653bae07182e8adb7829fd739c5bb818105b7ba0ffceb77974f0f568f290ac0729d17c4a74e53fee06bd44d5e9ee35dcdcff0a37a0fa1c55d1f7418ea0d17d34190f758514f2afa1c925a80ac7aa7edf189d308484848377b291aaf69fd3fb9be734d6590c4a7fa129be08b018d3ac8fa6a27e5251a28afe09bf7e61ffce2fe6f59f7993bbf5d57fbce44538e144a7df747c7fceff33ab7bf2239f5e733617997c2e97d6efc8e4fec7e3d3239e75aad7ed3d42291f98110b0fc15a24a57d0661b9f4c489ff2ef017f9da5fe4296ae1e26f3a4faf17a00b923f84a5f0413b1e252cc5dad717f5899667dbd7f0f64fddf544966c7fe4a6087ef25d61de7165bc755c19097be919780155c6c47cc4adaf8499f3f792d6afbbe0cbe08fbd6d862363c4048c9cc0f2e12fdfefc0bf605c3d5fd4f66d552c5d0d74f10cea2cae99281f4fb1168bc91f6a76c60922f1cf3a9defa19244150926c2f17d3079c3216bd7316ded8e44dda8a67b9e3c5eae55c108495577ef833cc91e05149242a1fd665a8ebb79fbe27e3bfd101bb5fcf65e855d7b8a6fda887fc5760f756737b1f23533b75775178bcd2d866dbb1a91c545fc364c3edbefa8ceb9b65258f97da847048eba23bafb3d337d4b55d9f607cb1b08aafdae6cefb078bd0a2ca522c0245e5aece99e97c59aef3c0cf77204a9e5b17b86d2e68df758ca1f3925ceb46532be3cc39cd362c67772ad2ff902036ad827a8c133a84180500b485a97ba100fb62fdf5ed59df6f3054fd6bee30bfc5d7d10521048a0e149ff5590ea89275e1095de73b4d6cf912e385bc8e97dd97f958aa1e3c8ee4fdaeb69dcae7a6b086d2d855ee9f4e67598debc0df984bd9ee947045018e0069e5bd3cbe25a1c07b3d5ff72f34b967163791db05d9fa8619bc975b2142a1b6fd5f4a91bab0fcc844f38d97298b0e53cc9abe6265a89599c5193dde1b46fb92eedd85df5f9560d1049f13c258bdbfc8c4fc080c3ab7003a56da7a6bd9f82ff743f6c9f5fd4852dee9f213295ee7deaf14ad7c3d6d688d0f095fef3448c1f51edfdd2b41a45e0619c7ec26ac786737535c3c472a966c4bccda861b960757b8e3d97da7b9b9caf8769dbbb42b075fcb7279ddd2387f46e6cd80b28fbbeac7fc1493177bee800cf6ba7ceb9a41f672a24d33af44db518ebdc6ffd34587adbdee25733d45e4d17fd51130457d737db21033181e7c3f9abaadc992bc7559c5ded7dd5ee7b20aabd4ed65e878c17261d6ed827d5de075de8e7e2e56ece8c50e4662b49b20d67ba0aeff37cebcecffdf1457bb4f6ab68d7a1cf7fcdabf1ced9b2edb306466c62da71ff94078da962152e8a6f1ae0c513557d111a4d033f37549548545ce58b6d11a87e1d2ebeae3cf08617f3eb8b18d25916122586a04b1a444a102313301bf0cdf62958b22131cd08a1eef8abacbe6bd8e94535ffbeff8eb3c371596dce6b053a1e4bdb079d6e56e8f21abd1b775f7d1ea3922202259095f546e58c30c61072767323dfa39d97fb49b1ed7df4474c88f1c5f3cc3e26580ac6419090260b6c04134ad06c2966606413eed46c65ebf02d5fdf3de405d6006f8ebf359b1ff9f78eba64c5f29cbfe7e417b4eb48d16993152b3ee938ae0cfb9874757893aae36364bf819983ddfeac22aa4dc89311316646617fd51cf8d7d8e1fc5fa3aefe6da4bb5a7c50109089ae439af329735c8ee42e041b4783033ee2e8bf3e3a9e258c4e76b35b9b6dfc58e58bf0a4c9f90993ac7f1e9b39cb359f73d0dc843b8fda389839f3155bdf3663b74479e170ad3edb6ddcf76f886efd401777e124a3a0063ed1dbf528751cce8d2e7eca4fb7fea3c590a80d2b3f5cdfe6ac1973dbbe77aa2cb2709398536ce5989f2e2a97870f81fe95a3b73acad9a57fdfda350696ed7bbaf083c99147cbb77930e2385a7972ceb355ccc69a6dc2855c702a777fe1acaf541d909a10106fb28bc9ec743e41957d2425a8f884439c3b3ff7fd2940398f8da471534c561df6fc5d69c640df88bff51c9f5abbd2e1e53318b938de212fe96cda541eb6877edbda1473b4baad97dc853c39d397d9cb8d30e13569646cc11102bc8c6a672728ff8debbbab6c8d7ad27171f77dba8ddc9a60aa15923bd54f1e4d7fe2c80e6d91f4842ad6fe3e59ded0ab6dc7b17dedb72be2e1eff6f982de95eaf8550dfc39e36d1c412a47608a4e4bd3fa4b07dd9333eef341bb8e126a98e5cd0d34cb1c4792dcc57b8fc07a1090d64f03ef552c74a476f29d37159fe4794413a97026025f79bf51f729d33a8e1bf33b2c651c551f114fe4148151d0db215fe65132e923587b4e05a858c251b3a0ac8a11bd0948e28dfe686f4a48c1c0e48f54552ba6b2a56caeeb649fa3b597954eb9d9e698160f3fc6670c6cbee3cdb9f91e9f514ba1f3f905866e296ecf623747cc353fe085e78054fd8d95c6462eaf547d4f16f1a730edf6464a638fff334e9d5c62cd252f85c4ddfa9ea292d1a2961ccccd3b64141b55b2c50943dd2d82b6fed9f19fa87635dc02b5c5215ebba8a80bddfe632edbe6eae3899cb246b8da575713df677b8fb8faba2c90bb82c63b198c0d5b6253ecc39dbce57bb901dbaf7d73e499504a2025b09b1421359b3f467b93d8b0906a8d7d6dd2de7b3f5ac23b2537f544eb57cdf2c596fc7af0c8ba48928d983ce8b6fdf3c8ae3d507041005f5f7eff015d8d482263309cb40e09dd739d8f07d00e96dc56bca1fb0e273e480f428407058186adebf75946b5b0ed3ad4ad8d2f7781b6f9e39b78ef514c6deef8c6ea7097763c9011689fee8aa7ecaa9c04693146ad55b8ffc302b29df3ddb648e860d3fbd213bfac4bbfca0561c5bd28eb7b5020e82ebb1b37ab244baade68978d0964e310b79b11d51b7fa7c6381b3cf1a69a3ceefb01eeafbf5853cfdaf1fa67dc9b8396f86a6001002ba7699ddbf87fa7dd61ed3357e776c4bc5bac1737411eaa7c312e0d41158b6099df0b96af6503054dc49aa7d526256c3a2c57922410043d2355235e6863ae4459cf23940135553fd8570f3e554f23257d28f32f5f0fca71b21db67ee077fd21cbc346198c6c49610599e52fca9607cd8840b3d33a70cc0d1f75166ee4d9bc09e4a873e05fe2e4dcefe3b37ad5e3f111e9b02ce303c7a28ea83ee08fbc08ff1c747e9fba9843ecb6f161bbbfdc4aac7db473f363e2d60c3ad1b5d7e19d22baec0171d784a4e32f5c7671ff8dbccc03bcf57fe2330c0024441a80efb3922bf9832ece31b76de38a96b731b1dce4364f2d778086413d3ae865ec75ad8c49b859b161d27f479d8d79c25a37ab3561bc88385b4810ed316530a262c253f39b40f61ea450440b15512b5f3fec5df57a0065bf6ddf024871d4c9e04deedb9a4be534f81d1741de8365eb3b88dba1914960d817a8e00f33fdf14359510e9e406f44d1e8110779ffa00731fb15234975a892555a94d55036f76b661472106bba7e4e6993b38429c6f5557a6fbc353433c6ca885553a6109f36bdad94f146dc9fd96707be8a2590018c0c863ff213bb77bb3cd7de3f8b4ff06ffc8b07fde5131f637a8c0b385e0bc55d8c18bf6995244e8f04121003d0679f859168b21c552181e90027da82f22f344da0e023c882f89be6ef18556663d789cafe91ef0afe59cf9dffc0f5798cc3892e27401dbef381feab6e7b401c1fe1a23cc6e5beeb91455ddeed506f085dfe3789f7d2aeb1673ecd154c06084d67579d3406c9996d7cac3384471992a77808aa7a2079a7dff8a11095fffbc372d4bad8ca4387711d3104052c6f7dc6be61e30954e1e0a0f3aa247e1aa67bb5234fb15acdcdf86a669c2cf95b65952ce1c887d2f1793e00bc587e3600887779eb3377f139efa0213386a4ab4bd9d9fed6ae35fc0227d81e739f4bece5b238e862efe2fd81f348dc1e704c72a78e18a32f5d84096c554674738f72468898dc43e1b30d7be4a636a4ac9e18f6efc912f0adc3ad8c16f9fa89b8cfa8ecb8764936a10d534c0d266929c72c81843671c4cc2061c8c66c37bf9299d3385ca882e7250c47493fe25a2dc232675c3346a740b8aa42de14a1e86271a223ececfcc7946a2f65da1bb1528c6819eaa1d34d74f3e1812f9f2a78d097fcae62617312f6f30d937a7a2f3fbe37b9121d5754a71d7b6eef385f6d62c7f25fb1bfce77b3b6709cca2e0ef07f7f7f1a75444b6beb777383e5c6bdfcdec088944bf86fef4f68a2fafe2fe7031ce60ce7e7faae3f1f707d0e679b71aa56bae3d7f8d5bbab4869820050dbaa32747cc19baeeefa052696eb611e6839e550ac625a70cb99a2c3df56c35befff6c8d0939d4f273a727b8ebfb8ce65ba182ab3a91c8262149674564f5c1a1c2c6d4b1af4c584d7e012ff3fe7c7f1f863a1fb254affbbbebfa1ff9e1ddff213f3c134e37a7e3c5c96fc2dda91ed4d72e0f8c3b5682c9058e65295431221c5cbddb3b4f272a4354158b72f18a668ba71aeeff56d7a6a9f7817acb6d7d91e94743e5fcaf3f2f3d80628b3b65f9f0b0ab5db3f69cd809abf9e3703496577361fd2e572774ebb023f6d9ad669cd32cf1101ecd384c3c9f405f40c95a3731848560bc3433248232cc12d03a26903f876a20e4426871a37caa6448937e041378154b8139f59a88c593512a8654e5117adb9895225e983aa66abb184d631a51f1472ca520490c089253ad27086c498cde1fd7df5a6063ed410181b2f1abc950b3f6fee754b380bb9a261b9f8a2dc782f28786dd84bbfc277ef03b981473bc9541ebdb97acd8a4c9f645cce09daafad3c7ed72b41c10aacbb56f340b948bd5397df3978f74d2204c0aca20f74646ce67cbfe70c2078cdd878fd7644752d021eca64f697977b5d287f8513bd63682bf8bbff4018796bfb98091811e706b0fb5f6ebf412ff9d2dbfe7102eb1c1d9fe2cd73d95addd3791d76c922d79cada75eecf41ab5f745863c779d24769e7314900657cd4cf189cf405feda7703eddaa605f86073e803ab05a169320666fa78c0d177fa1d478d82effbdc3c44afb4dda236879cfcf17af2642feaacb31795e55befecfb5bb6b7588d75a74fe034fdf7addfc5e6677827ece9e2c91fffd23ef68354c984ec8d6f39eab1f6c7a0255143d2d925c44fab575fb18a82a718d19ebf300fb4613e05fde06c99fa9c5f1f43d5fac31e086b6fffc5afef34d2a8c394f032b37160ae6420772f394b0ad1073d67a9ee2bc81442c13cc84306538803116c7571e4cf7f52cd3cbe131cb51278276ea7a6b986076ced35daebed2da569d79f6ead8e897d4fa776fe6effbb18d3003b5bfb829fd9e5d9ce34a076722a0dbf23ca8c169b2e2ff8e9b685a8471456cf526d23bc157e4074811b1110bd6da6dab3da65f988ea17534f45a771dce12a3457af2533ab2b62b699cb3b7c5c91640cc47259dd5d3da7077f7bdffb32817d3ea1e1daf12b174ecba2d35eb55c059dae4557cf7bebb8a7dbb9cdc59f3a7d8bf6d83e3036d684f35d71cfb50e08982aea33c54cbfed7b4aa5db8a820e08e6f761a3df42acee4352bfd0b250cc58fcc0a4fb1b51e53836c532d80ddea37e6146ba1604eadf9215efd16ef0224cc188e550ae87a1eafba8d8882dd484aa9c831a4c1816405e7adbb63f5ddb7c9dad8fad815a7dafceefb562cd27de275accd06a791cec18a743d53e3b6fd7a87d8e7c69e7f90d5a3e07b1163b1160595cb5b6a38d4b18b16b6d4dd4c5799cf42634f6bdcec27d6ee3a56875431e3bbf737c132c8bdba0bc9e8781a94893d542d7cff1be780ea645f5429279ef2d0f42951162b6b32148064a61608a80ebcfb94091b08425720169bb658a3bffb9c702aeb743d0d98a601e6033681f9c81f9d29d0fb18fb38f613c51d174952362969e7d8f7a9f464292a744d5cb55a932502616e6cd0f551ea079bc7a4d331f4de1a79d2ef6d8f497445713aefc4298be8444659dde07bafaa8c8d6474d0c40a8f223fe181d5758dfc6f25231eaf89d0f6b8bd501ebea54ba39a9c802adf66222ae70925dc1693c92a92902d6e4dba0d41b0239415d44d8bbfb44a57d54cabe37428a3c5898193b9e0b4f5c653ee8dc0e35a6b3104dc641e5226cf4f3101f87d000250b3525e86d032c90a92c46c808585db64c42591443f4044f55747e2e4d8a31248c53a538580e52a520399e7bd08f74f93f6b4f6997b7c763fc24e89e6d63392e27f69dccf922db75d8a4761c06b8f0d0ce43fb1cf38e686cacf318fbf703620629151ac7a0470406c3179671a2733f015f3881a16583b0bc41a399303952f3f5421190800e282c5f483b1e77c2f23efdd19a45ea90bf73f8a450e1b0abcf9a3afe58b10e5d6cfa3aa685cdabc43bcb0d7b6b63234b69e4925d81ad21281cf66c273654b3e55133af9df7f7b0932ec71458ce4128667dacd751e9cd43ddbad6de1b24f96304fa911bb1f6b5f085f67dbfc9312abdd6d55ff3c67b0bcbbab53589bfc8096fb6228200c2f2fd6a81de5b776e80a6aafdd49bb344dc475005d8d46b9e7c5df5b1aa892a826051232fb76f81e69ebfcb1e799a3fa0d6618455ca92e2d4c9edcae503902dc40a05f0aa5d379e21b1dcf5e7718df23caed1f5f51e2c3dead6b50186aa28c39d871647a28bdfed319bbbda8911589e1176d093b1dcba8196bf41f9b7cccea1ed9c3bee41a7adc4b048292a9f275bcd72588c94c97a1f55060a324caa9106ef7ea4446cf5698d5c505d4802590a99f36348522830854f4c1edf4151720a395be607bbc36ee352e41255898dd9d1669b9245ae6559efa4ee27ec6180a0a58f3028516989c64b5969528645889053d0b68ee9a45743240c8ded5778ea57e7b9c7ec540339b988f37c8f0badecf7c999567c5707c48f7123b983aebed1c6e6da67ead655dd6d5be3b200dd7e1040d74e4b438b4e7f494006a7fa49c5daed4113a3db92ae16481f48beceae01bcd7bbeb7d9a88412120d2b886a086d2907b00b84593b7bed3bae34573f6cf452cd9e1cc2d3f97e3d92254336ee705fbdde2e8ecef42abb7e8fc95d646e974956ee3e580c4cb93cea28d4d37f99c9703d2da05619a8f40177e6b07065a5e81ad1dcf6cedd6d0e9278c212966616b8be9fc196d6e50dcc6f540a2124b545b428d88263aa798b110f782a1b98f89660128c322930763950da1f5c77630f44986bfa1cfda79936ac168a25ea8ea53f2a20534451c341901c5461616aa8c085415b10570d4668c468fdb55f0b96123aebc184ceb5b14416fd30fa8aa45db04142a42c195d881923924990f4a867cb3f5b1d1231135db80540c9410600ca74ab8dfaac97258c224502ac0aa1f812a90827a475dfcf9f919730f8d7ca7baa836e920a1a0680c05679009c4220e2ae99e0bf229eaa28f2a4b59ea3d5350e8936d80da04ad0f078a71a15448cb6cea2fb3678a62720fad955f072481211846410b049531baa8ee635d045c652594f27d580d846fb931736af377cafdcee14fb2f37ceab29db79cffb4ed746f4e78b1766e164db73dc6612daf675797a72ef2a9b8df62b893e9099f2a7444753b26bc8c2e60c4c19350847e9319dcb1c97539983cbefc1ab83c6ae34dd287e56b757dffd1e5586d5c9c4340521b4bb1c61f514f862f84ff5c8a992f9626b0e72eb3dc47dd7b770d1cc191afdfae57d460624b8c4f3ab5e7faf678ac87d376be3ed81eebc8b0a948d8f9bce37e8fd6efff0369b7069febe51de3561977fa05c5cd8967d2f2abfb56afc570171beadd395d7c236ced5ad0543b51f637adcfd2fb8495ff1b1e43a5ab18554c74ff3eb035b5d588a41052bdb9fa052ac07d2ddbeb26b045064ce0646b314268648725ec3078998d7f3f44baf444ea51d879cf7ec2e605706deb1a07d00fd1c44c09c2d4c70d21f543fb3b87e32ecc11cfadb67b543a7c305990994c60671f387d378b8fd9389e645b4ff44ddf2d3f68791fb4030f73f2b47daf96dbf919225fbf6ba2369a9475f46c727faa6454407f4208881c6a7a6dea07f209e7e77ea0be1f81513c2e659c81168ae61c5d7c3870fa2981d54f090d78c00052404b659b838b6b76ba6dcb030771bccf0e7ef15c5a4c65eb3748234c316b7d3ca9b319dfcb8d581eeb886f85c9037ed2e93ad5b22cd44997e7749c9dc68adfd5966669bf14ed560b923d86c930658bec314cb347480b414881bd4f189318d69038ac5ff80182de75d8bc4de1b65f77e0b07a9576bea0870a3a5fd2714feb30d9aed88748dbad20b08a1753a43b182b5509dab7df819a72e1aeb30e2faf777765baeb595e77558d7ea847b4f5d9b169dd90acb58b2ef43e7963639bb716cbb63b62696dbc13277fe72147861d6a4a6f59c3caa3d6b296894818f4f6b5a4b4763cf63b5511b31d529e9dfe86ed6f0ae63731a65d23c3d62604acd744bd7c71e8ffa1a540f3e541800a6b54851aff86cfe57648f68e23bfbb8eb478f2c3df667be73e9f0f4415ca628e6dfc793b656a80c5f8b701ab7fbfbfba05063d67f350cba7a504daf1a2e1a59db100e5699c74d8be7097cd8e7cb54b6531e6d2e9c46487fab5f637bcb158414961ff8acaf0dfcac8df6a3b84f140d25135245795a4f4b3a4a865bdaccff6bd2dec3ecdb6581aff410bf2a0f302d735c744f8819abe61fb49fabe5f551cb3f5833b2fe3f6bcf23544350d0fa9bede5deef00ddcea5b595bdfd9227d3cf1ea66fda1c5cc67b6b652ee45cfc69d2c06cdfa1037f1de13ddbc7c1b7fe3ba088cd35a95a517f026272f908c867bf312f19c80ce08518cbe459a82aa082a41a60bfd32267f464838076508316a48601b63d37f15aae878098a324a5a7b612bdae3a00d26937a4c77de2d4d40c8e44f3ed28cd1762d55a1294070d0224660bf67386808421cefbc31bd7dfd8052306a540426236169065c67e2cd580cdc3b816c3646b3069d51a2d5185190c7537dff41ffe8cef27ad1e2842b3ce330f847de949fe9e7bb796bd7f90bfbccf1d8ecb2c5794daff8ed6c5fa29eda35c8c52aa10aa276ad48551640a7f398d85ce975dadf5e4f6e59d37bad04894110011d4f48976fc18e43a4cb6f683499cb7fa822bd791daa808fd34971ac8dff9ebfcb017656c7c5ea31e7b3ae76e518776e7da3f6fec79a593ca5fcb7b6b03d8e936cc355666d9603673f6c72867a3825eaf6ea4ef52789de8edb390ccc281a517dd4a027aaf0466a30925f772021b8e6ba1e464d55f98ae9d6e6625ad26b5d4f683a90500a39377a4c14bb97e0381f3a2d4c83cd0ac7465fcd55fdce10ae7823ee7d75a977d5be8130f1cef52efaf1d2e9bd1d62b3a34ecb2c74eb50eb1b7fdb06d45fc8b7e0ebb70a16f5d22ffb6f81f66661b255221d8c89ceea11e4bebfcb66b4f4de2646d57ee3bd45a5f718819a89c67b634dff314c07a59f646444f498a5d96390c8b760212ff4105007d8f19fae2ee2695dbcd4f21b39fdaa1f395c1c76fc75082fdb212fe733520a01fafe9decea61d6f1cd58bfaa40a7495f8b3454b5e2b0be65e5f06a50bafab1ee3c707abd773d03c1a27d9fb171ef931a667d9f73bfbbd3a5b7185ddb9f0cbb826480272c8c78b275c0768d6ad7a220472da9001963ad43ec434072ed53253518e92f84f6c1b47ff7fd05548182d6e71d09d4fdf63714eb7287d0e723c818f4af9eec78f8753d6eed94116431b25fa36fc769eb1f6fb20145c83c547d36b154fba7fa3f6ae0a9b5db470a03e019e4a69dc106ffd2ad9c7cab4d3970305cd4aaf07d76c1b370e06db8e05db09ccfe7dc0d077e0671e2595fe6f3fff2ffa013a9ea556eabecbb2bc2a0b3fddd9cb456443db5e3a81c2e58fb09f11a02720f6e9bb24fd17e5415649deffef7352a34edffd97658820cead1f8b752ce96058ea658318707b1fbe6cc73febb9e8bd41fcfb02845f294b7fb8a899b1f46edbefc4fce77ace4d7da6a60fef37a2e1e1afdbbfd0ab8b7fc1c0cac14c00f768f6c4e5a8747dda9138ef96813c5dfdb6bf9f7eff8bfaf7fd1aef1dffde1bb5ee9e1fa17bfb3ed4ab2c79e86c770a26b85a60eba76a9c8a9adceffd667e7f8bbcc8bc6bf20a27ae5df801b6f89a983f0accdcfdb3f3f3b07021891d2d9d17da84743d01d27cfa9dd92e2ac7dd97cd4e5164fe7adc330d91e44cb1fc3291c30f66d9b16be3bdfb57de3fa83df5e570dcecf836e52fad3bbdb12ad038bc389006e8069980216e0d7edfa1ea02ed663c7796a318d877c73d8be6fa7073e475df8b8ab51ec4420514d79938f6c0dc8a258c7497e1337f92ad0620cca23432d6c7c28dee7ad7d75e3b093f927a8fc1926f92d2eba5c46bb2f2dd616f3becf677ba335d36ce45ff759b2c8635f17545caf225c006365b8794a55e597a0fdc49b819278cfd708ba50a48102344b87d0a7703f900c7222e06992677c1ceb4223f6a76b4f235b98180ca36c07857f1dfb64f19b0a3d7e06c308363064680828960ce5f69d344a0565f1e15331143bc090a9f5b6c9366459f98805226453a91846a6cea816943556ab3ca0267fc1262be8a37a4d091baa19bc6e9bec199af5075a5d84818f097bc472ace8ce6c022cde2236f0516d33aa19654d3b7c2bf15dbf6ba8e106a86779a62c2edb1453d9a8b60d1c37a8e55094d743cdaee53efb84497669afb973a7b8fc41bb9a9e6957e7e0531864a40f49d0c83059353e493c4b2ee33e3236d09f288427f64b590cf95f1f604051674cf55958662bdfe4dbd1a4da9289d0a1ae9b60974732191ceadfb230d9fae1671737f1d5e5f61c3fe6fc39035441a9c908e201fc329778a003fe5aec3c74dbb35c69a70972e474ea6229e1446ec461dd75ebb48f8dd3523c694174d8a0d4720577f529f9e6e2facbe2a4bbd4ce4b277f61c6f72ebe492dfef61cf3efee9d6af60e2a0f3a7ff4cbfe7d1eab5f387e2deba72e2e38c56ee2dd51afcace99279ebe7c1eef3b7f36c9e7676d7fc02c257451187f714f792566aadf505e32674743156c51c645329864fd3a66bd3b28699cc0a46d5a45892a38989c11b39d13b365446fbb38cf3642d80eb9d90e1132861677f1dfce7dd9b935b3b57d2dba4eb576cce1787da89d1a12ad5c3db5511c21b3f7fb9fce0d06ae7f8e0e184c5530229e838558041dc6a35d0b72e84f7c5f4f68865a8def3418e5c3ffc767fbf9dc0fd5d9097d8765d78c98fa781c9572b537a6fdfdf1392272a867faf9dcb67d4ee75e1fe391ccc59f221b7f8a35fc062620fd86a73bd315bb15cd055fc35f3ae9477bd5b4be50fe04693695bbe284cd84536c163abc81d4ad792348026e2b75c799e5f81d9ba0893f24f427bd2d799e3c6587f9a48bcfee0e78b721a6bf885a789c982d1f562119eaac6bf315d064043491f90265ac24ea7c7c07077bacfb747c072e436c836f1a22c01a24583a841e24c5798efe479b562ef34e67c6eaff1df444f6bcb13a19679ab1f9b2abadddc58db38136a54857e870a80b8bd99d5ce56e3b24509158e7895f323fd62224c82498d22720e557c7e747c13c478bfa999a3eb7b18347b88e13701a51d22bf8f8ced913c034c7fd95077db16e40ad8d8e49934d49433a5b41b16869de50e7e7f5d1e8f8db240ccdbff4f42fb9da9cbf78e02ab2bad6b34edb199dfee0aba6bad644ffb2946264d15fa5eb260ab36ceb975e4a9a4c19f02201f5686dcf7fcbddf9de5d9cf1f1a4cfae4777b0084afd8b832923b4f5bdc77a795b1f8d398c34121bf785c2d68a9dd999d7c7589dea38e42e7408e58917ee2fbd5f792d9cb6e31e0ab0e9336abeae3e17d56dbcab3029dfaffa5005b2c3661e62d55d5f3568361fbd4f19b3468c667ac0c94449a22b45c1bb8d148768523c3c2d20205dad7ef1fd3a2f77a14251307dd48376f12da78ff10554826ac7313dd36bb9cc3f5afdd4702702f16dec3aec986ddf75e8745bdab69b9f6bed4ae3f79f79923df389228b3ca25047637885787777f594f427195a2ed0a70ce513797c86d21493de477f121410e21566f6b74c48b2cc235299c81054ace91bd6f49fd81e9ed89e614e407ba8f368913fb15f367fe9829470f6bca4dffa2b1c3883b9c2570832d08ac41056f0da5a81ffeff3b61736127e7b5fffd2e43d7ce7fbff7fcf67ffcbf956dbbd9471af8098192f8abab88f3a6ebda8b2bad22023303f7c764089963f7d6a3035fde913fd752d04f0a2de97c3dbc34c4774d5f1f11cb4ac997365de62e5aee19bcbedf01ffbf93ff68fefb6ee7f37ddd6c0997ebf5ddf386076c207cb85c586d87c8a472c2e043a7d8fd4e9808d8c68fd9c832ec8e6dccfa4da62525f2c7f1139d3103ef097bb39e47af591ce56ebda937d2e09084e9bbe3f522ce74d9f42a913a9f35000e3a8b46f39d3c04bbb18ddd807434ee7e49c409e2030a71962639bbe7e7e6b7eb3bd146024637b311b65afb30f102b1fd93daa01a2d104edef0c254aa42eee29909546b1a4e2d4b08080605832464186503a7e8d8ecf564325b00648810de0fe8007da894dfbfe5a7be0100f945a1efa63a7c37cd058ebf091ee3d6ec2c58903956ad6ceb92f1d0754bb666e429b8f2c66dc64b3ae6e68d3e1b21c37c2446d1c06c7d7cfab7c2077db4f02624617f7bfdffddce92dab4c50283e88923e34ff598f1967da9b81517cb8d8eec70c6b1fc528f7fa38ca34aa3a79f693aa7dcff36057edd5eaae071643c11e98d623622a4255dbed7276a6cb6c6b70fea9cb9c9b176e54e427d5cd10c26662ea88ad60270fd28be7f549ff435dd299dd7f3e8f61de718ab81ab78e377a06df789cc7bae3d576fb3b8e6ec75478880fb97cd0d4e013f8121e147eb5f3ec8b22144465e343277b406e5017f3aef670e17ca5e2e02b5d5b4ca239e55e5b1fe62cde63fd96b39cec6db83fe2a0035e5a0e8c430e6ac67785dd172e8af67fdcc43be9b6a6687dab75d8d863015f9ef109edf3dbd0e481ecb6167b628a193c0f02a2eb80295d5195212639a33a1b0ef75b24aa784653e1683718a2f218d78ad35409a68a88e8222144c5a8d40cc1e36437b8035505812e42986cbf88c946883943d5af88548c9afe7bb0aa56c1621bd31b33c50a28c98ccf272c84be74c797c2d5adefebcbf3540358660d791a84d8780151ec6e68b69ceaf67f6771083a415347d83011429fb7fff7fffa0c2f7da064c2a6a8f3a954150d1619a3e65a8689f74ed555a0408632991ef8ed95bd2f259f43a5c634d3cc9d778857088082757cf47d98da3aa8bff9e385b9f08f0f7dc6e515cf70fe7c97b5c7833865535babb3b731c0b69f5ce144ee02ade69dfd32db3a8e0767d7de4188bfe1984b49966ada4f4cd65b4316c40c8324d4bd2d6a56c228c06404aac000bc39013da7a541347cc4d18c7e5fe45256ea2caf1216fa6a7e9d589b7dbaba1a8c7c78f53f1f573e29f588aa7acbd1202a36256a3b2449d6fedd4e144338a49dac822d2440d839eee5423bdbe6192fe29b76adc1fe85cf906ae5438803f7bcc6e12c5c8d209a0c52c80246eaf37bef4ac18ffe0f530e8f7d596771d03c1f1c389acfef657916e73de764deff787f5c4758418425042473f7e9ec943c529047ffbadf434cbb7bff0ea7d2b7b2bfb4d77bef7d75f16c6e8d61ab03e534ff8dab831e2b5b7f6a399dd0e467da935673c4e5610e36e00feb96d01e696d608b4d4bd4081667ebbfd3df689ffb1a1e592f5b6e856850b161316649861e6609bd5db3f9ea379bbfc3bfd6a2769d0a196c03a6bd0fa20445250a34b98f6002025e62f39449adeefb71326a1de7bd913cdc4774576ca8f7fa5cf25fcf6528d02fc5d8872c065373028a226c03545becf07f924175384e5029f26dedbac8af59b88a9fc1a3c15fad3f75b61e5d8b7db6b43a8e4db6b7f5ae677d229ec86bd9fa11a99c8a26fb61bdcafe81553ad4b09cecf273bc5337c6377c72fa7f17f92215988eff5a3be2c62e263f3d7e3fc6b5bacf88641052bdb2750aca69e007f6f3a24d374ebc2ea6a0897a06346bab92aa23ecb8b649f71d42f43aff6d7af2e30efce0dfb7ad7f97411514437078a6c7a743bfbe7cff94c1d86070d07b3f69d4db79b07b976efe3cf807fff8be975aede2e500875ad81ab240b3537c03823f6056ebd15078f7baa204a7e013c849a9a2f3adc2f9d5600f8682e16c228c042331617f0ef5f2a88b98ccbcc1d8f742aa0a9ffd01e5a356a5aea3f712721fc927d16f3e6b3b7f4c5a4b43619355dd7670aacb19f67a2fadc9255b7b68d74e4ed0e909b476e2d0b0b9c34959ae2087f936c5e2a2debcd3ffee38ab6ee3321fc3a2b80df745109a62c34d31c77d11c44db181178851358bd454233a338c182db04a186a2d8849b6a08524ba1ce6da703af3de305172be10ccd76a31d726c3b4fe0ac9e09a93be62a49fc5e9a08a4194420daf21d9faf154463ec8bc507a88d7ab7b345b51247a4a56f21acb2d325fc74c158307d38f1ff62660eaba7e49f53da1e249eee593d4fa3e0273132dea1b374819b0d65e5cb6f622b1f10e8763979f90167bebbfd0b68fc84dbc2c2c76ccc6f54c3ee558382ed232cb5a7bcabd3f6bd7bb77462d0ecaf15e183689a96c64994d3a3ebff6b71673cbc1b685e304dd892f482cd79cb5d9bbfe69f97b9cdfd0e590f67226dbdf2b918bfc3e41fd14bf34837a6414423a78e5abd676d21c0c8b46baf0a349f50ee5963869039645ba08a252210141026d0481ed4b076f464eea0077756671a620886fc42a569a442a0f46ba46302a4495ccf8a2fa0295dde5accc913ff151233354794816abf5186480905168aa8764b7e5040a1e4e8a8f0456c83473f7b16021280f49da7ed7c815d30496571e66d8dd4b49141b81aacac3bdb1aab55f324927c50a552130fd08fc465330194323fedc2faac42febbb9fe2598126ad79bec252cdffb60f64296d5cb228bbf862097bc87862dbc98e8f40db1ceca1a6caea608f81353171fb5cbbe71bdb3f5cbc37089bd6ff62bb78a2aec37d616b67e3bdba8e895c08536c6222a6b8b3e36dcad18ec12ce8b0549d16796035a9a86bffd64768afef782172fcd082103d18f6deebd7785fbc42963fa8dedd922632a59a3df5d28c12ab9f5cfd992cfba10f82b66d0abb8c736575981f190e221fe19e191183628c2482422342048654670295415b778376bf002511141b4229ef19ea2868e011b4a6d0643cd1559f421d3230a37857a122d5adfff5bb4fcd360d5020038602042320a6e1923561991130f69e34283662654e0848ea2f20a18d78660d9b711c30612ab4f76324a2668c6a8608af0621f9224a21288fb5ef03cca0bd370aaa281107192fd92428c598a5f000460a28f3f4506ffa65c2135e8ff43bfdcb76ed66ed3cbf0a75c16d9b4ef21d37c50d37d9d4eaa83bffcc61e0da75f3a439efb0f813b53e68d5079aed2dbf4da2ac66e0419b1b17c5b4abb13ee870fbb0a867bdaf62ce7b77b7fcd38c04785baa3d64da1b0e743d235f62486bf091838f3a51f80a3efae083c9480e0f0657c050df2b6c3dcdb5fd5b23e4f808c55c4e21c06b68b8791aa39a7e2024e92fb54d609f1358e694a9af952881a162335079829021d7e28329c5a1ac114b4611d803944ca116338b99523972cd7888ccb7e72895a0660fa03337b5f67afbdedd8010d3da3f1e3c69bc6aed62c799d7f1d335c54d5723646bc6865a5c874d76ce677d8dc6d66daf2d46104fbcc2e12e77dc418ed7acb52baf2dee34b5f6e8219767b9f05ceca3cb0926d9edb81d5387395517566f3e30ec266cd43cdedb9c21d654ef18d42fb1d2c30cfb5fa8ea11ea6d80a0032495b26b2ca990aacac6e4301d3c65b01523cc223f1d0c888d19556b91f5b76894f0cbc1b3af7246e8f60e8de27ee2bdf8ff0f6bffd69da8efc60fc32fa807d296ce3887d7950d040c1a04959ed9b40d4a2d9d3ad3a0affe592468edcc7c7fcfffbeefffacd5c588e00643726d3e1b63286e3a2936d57d3faf2ef2bda02a88e20a1e518553ecf6f85cdf1d6707ddcc541ba5b5aa418529da7d04b6eae3df27927b3d5c669aa7181ae9ac4ee6fd1c5fa52a37f779e5300f29d9988f9455cbac560dda26a747f91c6fe58cd826ce8a32266a3f935df82ced38274a379c56cbbc3f07144753268f044a36af7614e546d452269b2a1f1a3f5ff08e4cc12b507dba8f2eb129a77be9d8c79e7dcc9b15cec3bc3fae1e7207fe4f7ddee72a25eaf9caf5ea7eef3985d5444508150385f6f5cae73f832ed628f479abe50dc2fec5f766ca09f296c0fb37d3a6c4b4d0c492424c96f015537fc23b3703de9968983a1f770b405b747adc973975adbd1f970a091ec480f7d0bf61e372f2e365bf279b3b2e98db8f8e875e2e84e79a7bedc9b9dc60bbff991e1098bd1d0104852214682e637eb06fb0110976ac8479b3e756175409cf57d240137c31cc062818bd0a2328a8e2ae46156d2ac3b72472c75595e53fa1a0b98cd8863d71d328c8830d33a5a2796698bd059a4fa368ce0cedd3788646c8a1ae45aaaffd0368fa4bf2d85f1f69faeb63a0b4f80451d3ef3c9cfddefed4f0b9e81188cbfeba3fee98f97ee9cdcce788c31c508dbee8dd5fe03fff5f1ecbb37f624cffa58bf00f4c2afed50739646f2e17f7b94bbfbdfae3f16db0661d0842f018d5b20fc28ceee70f3042c4f2ffe0b93e8ff163744ab6b01fb4f33d77fcc95a6286fcaae9c7831fd3dad72b897a52cda0d9f9afad4099b945978473cf7feb1773fb9b793d6d21c0ca49ede798ffc7c73d4e7d7e7707ed947dbdd71435ede973d07c6a875a53f189d739fb2354c0647f6702cfd9919dfaa69bb21ee26387a37731345ee84b17674cdd76a84f4c611877a7fd9f3e79f209f134269f4e5e7d448dbeade345cd536b441a2caa0167534475d62fbc1273785028d7ec70d29b9682d76c6a0828011c467ba77594c5f8834ec9fe9a98f63a3dd6343e5aaf511d0c1e80cc2c12d0026cbbe3657df209f4c7580ea0ca399fb3b920a025b4a7f57534e4b71c2084b52f7ee14977f8ec5db311cbcfb12d7ec3b67cedc7bfc7ef9f70a1fd7127cc825f871d4fb9d64f70f49ab0a96503d6763fe85ccbcd80df09bc16aee8d7e2a3dc8e4936685e22e95fabecf3c8556ce40d2c9b2558b944abdd16ac89cbedfe7b92ef5f996d9158b99dd8fd82e7611ae5c11baf9349367fc304d9048151d2412de7b04e36d55aa88631500999fb5a1753414aea36c2b909f9a65ca36af2891da751cc043392d3ae7ce1353cf3bacc885588b59c2084bbe458a2e9aa3e4e1e3e97a1dc4c617a786912aafadf27c243158155efd4be34b42bfbcff62c8ac5243ef63155c5d108c6b17ca69b2a480c1302cccc6156ad8e39a8196eaa143addf0b96e48bd5ba369d2046484d626688d6410ccfad996a93e391a73aa3e7f5f87374c4b7857e4ba9f7863c3a630af62ff3bc9575fc7777a2fcb931fadd7bc723ab73e6eda56bede6f4372ca537153bd265bd5e79a57908784772e9e72c70debd8ee7c7e1d0e7c8f10b3c3c0091f300a5e5b415fe865f4315648e451dcce8c38f1ac36fd7bbbbe94e9efd510b363486173d6a96dcebe0590bc326b6256cb65dc95927790a292143a5b9339140ef350eb365221a73964a8c2fb14b58bc1d80112915b0a56455c8d2714cb67de8f182b185a95321be604cc92d94a10a308ebb48a8c15d4f8be2ac35612080576fa6794b37b71286f12b52fa263fbc0ecfe25db94db7e7f5aebb83f8e62abbc34949912b06b86660e46a504aa821b2398fa96799ed5ebd50febf9556bd0f3fefbd1ae4c68ad32628388dbfd760a61496bfb2bc925422e5f26b99d72084361f72b34c18ce50dc7bc9ca13509aa56a0ed87bf14a8ca1976ed23352565394c695ef6e7296aed42142a1746bc449e5b5630520a424ac53af7f83e5162c30a5573154c997bff32a335e460cb699cb731b525272031b19e1376fabbf4e33afb511898fb3cfbabcf5246aa579eeb1b3c9631dfea45b6d5949a3edfd5b767cde1075ca98aad6e78b3d347b9dbcd7ff1149ff0ec87b47ba4f7f6f7eefeb08b74a337eb954884612342b3e9848cdf5c8fd59ee39318c0f471e8ded7fbceeb0177dc2aaf25fcc2ff580b7cae579ee7ce5831f290cb046fe91560f64bf7f1e12328c7b75b8292f02289fd25c98209be5431d128b9321f169af84a35f3ef3b703cbf6a1ace497e7da4e66542a19b1075773cebe55ef571e657bfdcff43dcff056efc4fdfc63f71dcbecfd10c7d84d6eb1adaaf7ae35fd7e60a2e759a1a6cd196a39f434f6109653cfb668d5fbbe1538bb689c3a1c730d460fb7d0067bc9ce76b7efa2b03245ffb23de2f4295c7af3e93eefbaee4f16fff487e947f7b509a183ebfa7c20a951ebd13ff99c2cbcf39f82904a71e8a4ece5a924bbfd55faec38bf95fd7ecdc0372fd67e1f5403c3eeeac2588071d9fbd533dc7f475e27de56e871aeb93d79ead76900f5ea38b71256ec282e7ef8ae57ac516f697403597b9d8a5685ea7c6d65cc96c09b68612fa39ea25db8f1fd5322c64ae37fc20cbfcc0b5508ac59bf08318792fd42f418cd7931a8d063cb08116781f42c02986ea3fc7f6337773f78695c77e2d707c9c2fbc11cccf31c6c72797dae73fa7637cfca06f78ad0f3277983284ae2d2687f511412986f76b1697885d9352a8e2428509350d3ed59562a0d8fe507df479773f8fd22688d1d834521a1f7340409919a247643346ae7e196ef5539907d51ef61c8d5e9350aca226f0381ab89961f7684857e2c4b6a324f47158e9c76f16d54f84746d84b64af7681e4b75d2b7feac274a8553e0150071f5e092777ff5fbfaf1bca0566cd07b401ce556def2a338ca8dfbad77e230c664235ecf984657eb955638ceb2ba91c71665de9fa7b6c9ff5fecdccf82740d01c5e64e2748b125777532c6986108753301a5be4f829c4dbab240a529cc7538251a1d6edf54e5e3f3503b7c6967a8fe51cb7b354b044558de300a96453923086a094d462b26633065346561082a8c47ed35b0dace2fea03aede1629689caf3a3971611de6e507fce1d3288f6285540c1e9e7283b5ba3dd7714edea6f36ac089ebe58953e76b73a5e3156685eb293afcb6f744d0c39c5296dcc67768b5c64ec5f7a0c339bffff6f4b3fb36414871f47df4c4d5abdae8f122dd4f59ddcc0982602a14682d4353c5319431990753666c41c128826cda87e70855849de5681bdebf760cba7ffd9491eedb7bfcf66dd19810ed4b39238f3479c9c35c9515edc41a72c7a34462cb985845110c274666989b194595f9de239ba0d213d76f8472806b9df1029fd797024cddfc5a5df4ba02c4d3b83a730d35f3fe00aec6e6f80b437fc3d7b8519f30200b8e21c273136367630e8f0d1e6bb1787dfbf61eb77b066d3cfaf8112ec823498e5da98bf05d592920c89c7c3e8730a250c61cb446fbd8a06dd524feb97f7a7d5bcea989c9428d9340ee16f146a7ddb829aca4c5413d67ca69c4fa7a1778bf95ab8fb3fead02dc43a29cafda2d354ea3b21f43834f4779e4c5a9c6e2f44ba3ecf8598790d6d5a0064eaaf0f5c41fbae575b58836703f31c19ce577ab3675791841b38541d3cf589a1ddd31aa3fe65b12bf846f2c97f7fcc0056f22db4ec108080a30a1d3f2e9ff3ffa203660b05b74c371e662bd6874ff7d1e4e3a7574a85bfee1e171e226dc66a7ba93cf85a9ef598dbfe088653d46760c515af1bdcfd327839fc76433f87390f0b7f7e7d8ff9e98bd04a7c7f64e2b531986e3f99258171397b94ca72f2561e6839f8ee5c6cac966f0ef3884bfbd07887f8f3b15a612dae9a86d161c0f0d35ad2526ccd7865362834b3f1fd28fd718e0ae4fedcfbe78e79cc3e96f6f25b9c07c6ff5ff813636c3453f8f1ff6bfd76febe57a13ee29484295268bdb6ebcb0226eada64875064a333019cb4112048db4d00ceca314464a38883951d504912caf934aa10a24ac0ebf9f211e83b22c6b2c43cb9a045884a5bd41b0488232c2c6d7bfc96cf4cde9d7f5f91b06fd2fbd03d2c004fa384f38bde624d78e633b60bbbc1fc4dcfba90ffdd63e7f9ac15caef0a09d1700587dc44edfe251bef2a3de6647f90af7d535e9aac5fa6826a9d987ebae5c9263f9f7be40b49cc0b5a6e5b5a6663579372527a6e522584ddea0e512efd9217f6275f2946076bfcc65b3aac57cb55105ccd9ed92d715a8703725acde133e4ab6a6fe5aaf69bcff1ed1902b80e13be4ee1e3cb8987acb0a7d236bfdcabb6ac13ce621a6863d82f3a77473f96bbf36a6fd6fba11333ff7bbfba09fe3577c2b46aee6d6383db69d014db47982c42889d335d0087ec5b57eaae0009c99825941e1a0ef415518cd35052bfede37da739c7f5c8da7222560d2d03095da927fecaa948ebe451506afa8d42ee2013e99717a5fd336eec604e786c0c670a8c7cf60ca168c6851f53ff167fd0a0c7040061c60d5cf57b9c21cb8f2b8408097e4286ff1a09b33dedae3eb8bacd3c7acd39ccd593ef8560f7dc1fd597ba1cfb18735cf6dfbd83839545b39f7d7cde1d8f34fcd6fecf4965af6ca0ffa56763a8612e649ff0ea36f4f9e17727c64753666dde4ea564530daf77977f008d626330c220a368a0b2bd1481ae701a5d08c6355490ad5e30c2cea817714a2682628e76ac3eafeafac6f92b81b89930719b3015ab8bdbae9c6cf717755c19a5e55c096a8f65c168ca33199546d2ad59ea3aabeee5b8f0bfa7c376875c54057e3c7a80e9f1e8e261c4cb9bef42332057740039757657f68bd0eb5df0b4eda7f634487b97529add3935d399df4552d9c772a1d383943be30b2436e500cfb09642c404122622a888c885ced6ff0ae1abcef675f3df0fbd7ad089a3e4456ccd583aecef52006907b7ecd0b37ceafeebf35f7bf70eef4a01956be3afd11b775f5533faf9ef008f3b2ff8e5c14650daf8d00c5443670a55af8bacdac736dbccf6c933c76fb08ecd3edaf7e7ead7fdd12d5dc8ef614461650cdbec3c4962901557ed520fadc72508298b25328180775500811837cb9304a618d208d2a1113081942c8ceebe777301a6b0539900000e5cd903f7fc0a50faefaa72fd6c59a3a466e9e57a40b9fc8f5cbced575761596249014f5c4af73fb1505fb6ba2ace476efd652d2694981df116bd5e81d14855ff7d4fc54c4dc9989d94fb8b57232ffefd7f8b79f76f0a79ff6a78715a94eba812e17f8ead371f21988df07fd5ea711997a02533be583cfe7d9bbe9fbeba025faab0fd2748a76ca49f8891f2a7c7ed8b8fcf001687f91b14f1cf1a4c3870779e251c4e230e8f6295db3398b07fd1fcfa93d7a9dbb1317941f5d4ffd5f1a5e179eb89120b07962ad1544a8b93646acf3f82a8408d8f39d45655f49ddc4b9492282cd24b19647a694937cff305196c362ff90e4321bfd848c1dca0773f2ecaf4030a8a18fe9551fbb33c08ad1abb10ae2082a4ad8edac307dfc6e625a8c25a8453a3725d2185ea2a1d62f70ff52e1a737039a4b7f490db1010bcc7a7e783f524fbf13eaff992fa2e77cadf8b99e13388d1de721a85c9f7ae9fada83278deb57cffb1841efb0d3e71c916dcede2ec887da630b4eba704646dfbea585be4d158fa29f3fc8e43060fce694827d8cf3fefe3552543b21c0561483fb08ad8cc0d69bca187af531e489af7aa809b270d0917aa5b64c32b029c941d2ad7e8312deb2ae7d4aead630ebf36f9a4b13b54c40173e81355302f23db5525063685c87944028e0d0fe04bbfdf07cadd3eb877ff80f3a5de0ed7ff8f77d875c7ef288cffc5df98247f9a7e7e0fdf76399d0bcc9c8a679737afaaab9fe3efafef638357fe8aebda5543505514138852061b6c9e61fdf6edaf4c21fc5383dbe5f40f5097788b19147b9fda2211a9fb5ea069c3f2bd4ce8f13bf3ecd8cf45a4a1b77fc25eff8e21e615b445da7b59eb1e1339a7ebdb14dbcc77637786bb6539447d91dde15add594c16cf0febc1f74c010b0da4576cc8ec6f7e42a9419039d24758bd0afd95d5b4c49bd8ce77a8a1142bd71e4c348f1938fe8e9cfeb535bf0fad4dcc26d3f91fce5e75228e7f122ba729b392c49f575ddfab22e0bef237d60077e0b767e5c4056ee6d4ac14a62b03065c1fe5c7b7328d1b4825bfe935be35cc89d3e724560523ff320a39c8fbe8f69f7cbf71e6f71d8c2033dc0f26b7e26bcde3ab5831e6cf9c9cda0d56d46aa41c3aa5af9dfae2cb363d5e72fb1f3b8f2baaf71b2d1670dbad8b078e0f2e0a21bff9c1ce23ee16a62c5c214f77b9a8b75b47958a0d12c5ba83c71fb658eb625ba1ce7cc5404e7f2ed613126937a5c4f8ea68d8f2c05a530a5e681776217d5ec15d49e2b55360c2a9e5213a3d519e568c1b20cba3c4acbfb87335eeeec6716f6f37c3ef8617dd1a1ca8e6ae73091ee7b6aaff59bab28c9abd5a0f975897ff46babf7cf1cf44d5d0ce2ea39a76be635314284edf831a1a61d7d403ba5ea054af15b6cab2943b14e4c7c559af182da17495440e3851484cb47b041b2240d67a67c5b42934117e6543553b1e8484cd9369a37e9d41a49f3e0f5c96926b886cd2e331211244e1ad1c4a6dd4586315e83a09dbcfffb35af0b0275112b99914543b0569928133dd9c82eea74938312381f03c0bbf7837d72e3c5f565b905e3701200df809530b73803805b7ed04e6f1e37678fd438d95647eee2354d4f7d5c6ef44a1cf5e0a15e0df3c598265bbf9e72d0d4e588aada78ad4ba757bfc5833ee2e1f1fd2103862022501583e61ac10a7a04cdf40b23f0a63951eac7c362cc99593c3f2bc1d070c93810309abe5841c04802e33e3f96e471d912844245cbbcb99feeaeb8316c0a92c03741c1b0df775644bc110c95c065c11021d9806df86e6d0449cd232841dbfef56edb87ad553198640346e1e85719c18bc67e2956bfaefaff2cbb0762077ded1fa0010f1626fd522aecd9e76888619d8fca595fcc693c1cddf55cf818b0ba8675c5503e4408f39d202440306607468dc1b00e41ec086069440aaf8fb7605a729fabb23192a3ae76ec3ae0c4bc9b075572b82d4c9f2eaf72b93be99d897e7ed800b6169efaf868e6f4bff47fc6e31ecfe9d6e5a53c948b2107713d799fefbbdfb5bf2fa2f35c6fd8cf17e37b14ed59174939fd79aa22d3afad06551cd33222b6a16e2d5f0df3f26fb8b97173faa31dd6bc25d9b2e73e7f8aeacc0a6c7709f9b624d688c8e97f86091d7c0afac96f34bb1a412b7cbd8d31c82d40e6f58c9dd696e338fb1a0c1fe6b4d35c713b33e2d68dc98bf960d039f0f867e5ae511fa7bb7e20d6d58a6ff59c42933ce6ec277b35b35bbb1784eff1f9005b309990b33023d04ef3ebe578b9098e33506c46438ab0fac5e06d8246ce482e9fa969b4c2fd146c386176d58f99f851858472fd9e6e9a12830561d46e2701a40442ca90dd4377f79ced82fb7e0c448560c45c6f896a0576764e72fd12ab6fbf2932845c0efa8863023646dfe7614b3c5411da10b9ab43babace6ac01f39cfcffe9e1e30dcae9f921dab03e8f111ea1f22ea7ff73a7806c597298c1324f2c06a2d445dcd45d748d255b3948e0f5b88a632687292374f4bc2d254854b62edbde8c45218b3625bd62034b394dfcf66473188f25de0f3fae884bae2a9f29238042001d819b275e2f5d4d5dde241fbcd61de6686ad060d36378e4f7d1c69e4bffcdc57ffd28963833785afcf3bcda265dc3f7f38d5f01dde64891bf9eab5da1c7f6818677ac98f7f794bddc84effebfd5fb3ad58b1c177243956b7a7ff33cf3372ff37aeb6c0085d328eb644e824a5a642a67404879291433b41525234fa594d7cfc77e1d591e08ddff7aeca09512621d77d7c5c3ea5a6ca605466601847f5ab401352662512a37fa2925169f7098166827345a9aa7eced5dfaf39e0ba0c3136f5398a2dfbad41d54fc462a47446553845a5f964b3efe735012688d6b09faca1cac06cafc2619e18b4d7e06b5f96690a2622d0c4d2aa296e5405b68caf4d38a52ae8f731dcec7fa3fdb9451332697542a01294b7312a59ddd9fff1da4f21818fef6b02db1fcc1cafee941190ef25fb08c44094e3977a4c4cc12f606358033a1f23af27f1556b626a191d74e12f7ada013a6ed9253ecf739d070ef5c531ae7fe1b18027debf3ceab306c0e06776e9411827dbf276c0081c65fd6ca8f929a879bff2d273efa272e2e57d5aed6851ee772360f6ac6ea6dc88090523288a7b5a5784582b48d4e79ca64115f2c4f58b403da92740d3c65098947e7c0b3d962456c47cbffa8620625486a375bcb6a1e7bc724469cb08dafe35b462600b5022eec7c553ff990afd8aaa7ccdba52102c9fa3ba7dfe053ac5b60fecca4b7ef4049884c2e233440e77b015e6934bcadd1a36463e77b8ea1f907b2f387fedf5923b4fade1ba7aaec2156cf5595bc1e32f1d46f235d95cea6494fc1f3a9f5bf94f6e2b03d95f5fd777df414c8a11e0fe858031cea36d031362ed03cff7112839752d325bcd23024b02c196a3ede3f975b2819c1e4ef5b66ff6dcc33ff5fd4f7d7dcb0cdc495f87e35e9c5de1fe252bc33e318e22d3cc5368085845090846f2fd03338e77a8799f2b15e3480f98cc333622840b1d52c7a9fde4077e6fd0404cfb783b31ce47bfc8863af0c97bd6e9f30f75ab64d0d4edef09feaf5c70f2367f441547caa6a9dd4f52554e71de4cc8619f526c621ed978e0989d3c53d142d295cfdf6dbffe33d34c24583931259f182b25ec13e6b85b4c94f1c3d350172abef0cb4657a373ff8ae853ffca7dee9965af38f41e13df0b587abf79cd1d8fc9badad66d9257646aad5c0ebd25d2054db465c57273c52687604df26042ecf1ea8a328657e13c236509b3311f997d7f8ed386a26893fe9ca896bf2687f1af68a31e9d76747fcef3b84c0a35ff6ef490a47fd6e72ffc3c5f818ce1416108424203e40152037b4bae4036706d00d8511e86dc752b8f62c02df7e3d56389062ddefef9153f3db7e96339fffca51ff4fff6a1faaa91ccffd699b919d6ba9bafb867f505f79cccc580d5f38f9ddfddc5f3fcf005173d85427c7dfe2b6e7af9e5bd507f39969ab86560cc144188a95184607f5f988a3835ccab79bf1f84e382a6920c58fdbb81634e21fdf468ccec90cb5b080aa2f49a4328d154d5e84194d4d8086b8304f404fdffa701aa29852a8a884987e72312c8e1d8cdfc74beacff719c6586c47548a00efbf9f32936e2afc7ead1a6b4862ff89f12c2343ef15083c2fad81a98bdeebf9b71befeb64d933efe449860bd4fc9464fc9a1bfe1cde7731414b1d50331ed2b357b75719ea0a0ffebb9afafd95dbe86277b7ee1bfc2b8cf9bdeffa34e76cc3abd75386ae5b834cf309723988ffb78ef16bb31cebccff0577ec577504d34ce93890d11ee97012238e10ee19d2c0401f5c7f532579b6ab1fed6a4c404f2b0e9676bec6f35c588b38035bede7c353aaf4fb887b9c13900acb24efbdc62a37fc3d6fba09cf431b9f3383c6b8b5df46f5cadbf3bd75a871e88c7fa39ccecf3c09b3e26e77a699e8ba3ba878e4dfaaf41a1ccc1ec63052a02cbd684b6355a4deeeca72e3455ed9203fb70b5f56b9d40bee70255c5e6e32d518f5e37ae9fecb68b1762fbf4d3aaa3aa62c801d11856d5e30d0131c1cdfed343620409bf069c74725d5aa749522c4c9b21e4ef1c9b7cd2b96bfaa9edf8c5df75d0b72cc4e05d54fd774f48559be4f2f1509fba9c6ffa9c25366c353322faac3b269ce5fb19b3c1a71f731fff15d93739c4879a6392d93065d04e991a97a2eb73a9f1da0c5e030e67d7714d73398c93615e08f48a07daafc32c794a0be6b008d454b3a86394da17f5773dd8f3f9e6cad5ad70c82f77132b1612cbf2abf6e4270e6fd02d18f998b1bcc5bff389859b9787f9189d27845e5e6a402a5435e90c671d9821268e226c095135a120efc1a8756c593e8c9720c1e0bd65fbeb27501c949aa3ad927ca8d1c32acbb83119aa669298c71dcc837aef6bb24b1ee01b012bef410b0abf583cef631199b1e3a0654c540073763db71563762ffa79e87c9d3e4677fd7c90f7f92a6ac8fa2b97eb27e7d5e1beafbe4d3a1df3419f506eabeb241f3434e7e7ed6d52b875fc8b668ec8f60896f57342bb4ed4784d960b749ccdf886c27e41ecf185d88f170a6d9fab22807da25139e4223cb38a91df4a27594092c700fbef7a07860b626d45e12325e63d1dfebf21e66d9df9584a0c7a3fa69f2fbc6534bc08ab8f17f9e7b9672e7d8ef90c79159df358c3fabcfcb2cf7bfb4587d4e1f1ceba8467adf12146f57c87e1bd60858d682bf73b1c318829bc94445592a08c396842c03e26e5b8105d90449dfee9f33db5a9dd6ffb2c63a52559a8048d15ccea12ad10148397a2b3075aef57697fdce3d9a7f8a13f9f4295f4c745604a346d453aad26db21ce9d9feae0fbfe3349344dec96635411a9cd3a22e109037ce293f4f917795111b83a9b72eb050e381ccf3738c7a2fd1871397c24b7fac6d5736db5422a6eb38dde09a3236e395e07ed21eef6a3381f8f92ba9589b5f74983b32a972bddbccd561b9690397f12aa49a0f05bb1086ba21a34d175b208cc132dcc8ee56c3715b5aa88d53f481fcf366fc4eedf52b59fa47d7c6b3ffdfe7dfd5a00b7ce6f79c014b1cd507bbff51cc431f2a33ec2eb9e2334c5484342fb9c57314336228d6eaa9de2e58c4023b06309012d883268613c2b92f14ec1190feadf8fedfb3caa707eb5e41f18832ff11d5bc87fd4322e30068e13f8af38d0bdeedce5502ff2586ee178f6b325069a784dbd769cd7d30fc2d12f081d4e62ed7b96d3c8cf1390d762e00ebafd736015dad7ab3e935511a08d4888b66999bdf1388b0a3276307f3ef67a6a73e31f0f7eef2934f113a357e6845b70fa32af43bccd60663002167ef5a7527a75794d92aff7b0cb71fc5a74e27ee9dd90afbb7b36dbee89f388f8e493ace4b6ba1556af329b189acb30c5479d75d6f5c54af67ba15c6c3960c06ffde77fc0d0a2d24f698c6a9a3433962b8c6a994dfd1c9a3018df63797d4b7715b6ce9fd784721716348798dca36236707c376a9a3e0f7989e7ed53b209491963455c3fcdf327169d984e3b7b3bf8659cf48b5c7d3b1efafefe5a0c3ee9c4f784b3ad58b95e705e1db243b5697efc2c5e7ecd97b02046c3afe4863593d1bbb97bdd36df5e2182727bb7995e67c5f4465cb1cdb8a62af8999a20138b76c5bb66f0af1c01ac61f0af2c9dfe259073ef38e61e7be5c6b01b8bf3f2fc3b4c2c8b4f587071101ecb3ed7deabeee0d68cdf509cbd809e41b166c0194d29b62981c014cac53614f260f0210c334ee08a1acb63ab2b54a5a420f5222f676453cea8b22da95b0576ff9accbb38add51a96431c346b34b5d522cee59a85d0ff060f691936240f67f77545a033d9e228b2497dbf4225d3d818caf3bd886b3be16adf66ea92cf3cf00f0dac8154fd9ce279abc33d3a78773a5c5572f09c0d91ebfaecdb52889b2cb76decf47218c4b57e9ae4802531e1e8371858f4f19bf83d7a87760a31c4982be73930bb1b45a46238d78fb08235df9a7664ddbcff5b6d8d13661a8dbe8f3e4cecf093c2f91b8f5d5d1e2f7c32fed31bc3d75d9768fcfe0bded6053741df9cf95817350678d011829c820df8efef7b4e55ff7f156ddbf0dffbdfa4495ef270412a83464c481c0a62d272a841d0a106c1c106510c1583ebb7757f5e0c5506c1e23ff62f0b56b41bd7cb9d8b6f2c6f536ac7e94b37605bba4f4c06403cba7abeba8356636761e26a8fde7b7f3560534839ba397aaf7d4b0ae5bcf67f80d629cd1b499ec33befadefd6c753fc4400253c58c7b72cce5a204ed772f0ca376314f65c07d99ef28fb306f9a51eb4fdd22b0a66966dcff8a4a2bfdfbc47a3c7298963760ca9ac43125b763c7195faf7a1ae67a4fbf36edcfe93ce268c8938e85d72a71ffafc058c8d185411d4a6f435ea48121564d43476720cf8a00f96c2f6719ed9241d62563e9b8f2d5161465513909a4f73d5c6996a326a82446e83861811d3ce36318c63306d332b4442559891a28c49b39832f5768c40445803235091c8301a75adabc143dedca0d51ccb30422378ff19e7c44458fffc454d2388ba16953249e1fb58c9631766290d7ea4103e3e068d5bd30ad388aa34195126a1cd781a814aca3ecf80262b500558c38adaf18a41157066fd712f90209ae93b331105c141b10859c8d0e83833cd1a4de50791f3a3f1fe83314003c4f6f1f31898f284e583e7167308bd8e523f571ec3d8ade5f5858ee2bf6a76f8f97cf62fbc97008c513c50ebeaa0abd16f2d9cb4aceaf35149a030386039927f6f77adf709ae3f6b7e28bfcd37bb7d54b07554571981664d7339a1d64e49da293dfd13d3f1c7dfaf476f50900c7ca3af7acae8a112f80eb174e2d2177aca17dffb141f8dd171890f431ee2b5fbcfbc85c1c7f1747fec12ab073e83fa0fdf00d7135e5d6aaa7bed24a78119f7f91dd0f3ef702b0f7acb55bc9f5315cc69ee75bfe1aea5b94c64d73c4c0f794e9d2ebee668aa67ec44842a9c51d5ec890a66d4941133fa194dc5d196717f2f91fe585b46588fa7b4b3653d876c1a554f0863ce4d23e8f3dd87da8c3fd4e6c7ee61f3f2ae692e329a8b1938be4309b928682133524829a14aa81a4f515573ecc6119ab2ff2c095541d2bf1faa2a8aad9ea329a7d406c9049a8cda90632de2d806b2e9948e2bd94e362ac2dca4a466cb74368649203e26c124af0666055eea2541d5ff90256033f8aef701368bc5d1d54c56e2a897276d7be9e6b2f226ebf4d6e94a76e526d99c6384d7ec22ae3b63948f7229b71af9e26d4e0368a3ebee55d5cdcdbad993114caec610aaaa45255169509e8b47e76f5d168c35e7a026071ea5466f0b22f11753cd84c381ebeb49a6644695bc7eb49ade6ee1e76cfe0a31533ac5ce1836be4d6ba579ddd6939b53683ac45fad8bbf341007de06dfff38c5e75effb0cf7b9cb7c4272773f94f7dfe1d9c62f01553d5032dda2cb2c6b0c19fedbea85e92a27a8165e9f97d2a02666faf5cad33677296078fb39c2d980db08f51c764386ef83bc527374aa4b056200011f81ec069ebbbfea98f8f3de765298f62d067beacef94e7da9f8b531c174d5cf47c43e23c6c4cb5e547b144ebe6b5dda97f3f6807f8df72f3f498140dc36dfb2e8e6504a615022cc34ea7d41a845ac9adf726f0b947194a0e82303b5ea1555240291018ef3f470a5532dd04366b548687f1731a9829d85608d3325a5b370e1e61ff68c9b89930b617464f485da5cc34920ef86431d48efbb98c77558aaa61d15ce7e4601e268d360baa9f26a64ad383165479d3f8a46ecff923da3806dc43ec7126debfb2f33583f3bc53847dfee8d6646ed96d62355e59cfaf297298c549586479b666ddf42966e1b618fc2b461fddb7e56b8b8fd63f2e4836ed8f65d76d91e5d3a718c6aa50be07327ab9eb8fbde4777df62b48000b0b70b15e349fbe6dcecf7439f0fc23e1f9fcafc956ef9c8e58edf817377c5bf95cabcfd7fbfcbdfffd8dde9e306d83d7fb25c62b9e1ad6c9fae44d139dbc7e63de69c18ccd5119298d8db1669219b3e2d63411d803c566fb7a346d6aab84e7e16286e513574d941e4c98e401519bd0642aac9239fb00c3308de054331dfe58ffbaf74c0594779ad25c54940a19cda5e8df3b497ea929d894e7e582ab269b12f32c4d3b219b3b2272fb3839b0c4db38559778be7ba006728573e06378f8b76fdf180ae6afc371c0f7d5be16926cfa7c47bc261b7de5b435bbfe1e71e73f81f19e37febabbd830e6a7bac9c17b7e6377e2d70e1807f5d739b8aa8397c9211e01611f49be0f53ca1e198ac74936e608f23d5792a3f34c0a0a46f67441db8caa9260de3ef34d79d89b50245026086a4a4849e9623f254471a214a3c6bc80bd7ea0c634fd3d82108a44c96c69ff38e731e4130ceac9615cc773dbc748ed941891e47b24a0ae41b142744d9c76f25b09028911b32c0fd7933a9c7e2833556008813bc03e66813b2020046d9c7c4abf1560fa632a0af6cbb1e7fa8a8bb83080d4c27760ed5037f8db5bd18dd14f3fc56fa0ca7e9c3f9df0b31ebb58b9dfe9a437369cffe77157a0222f0831fbeebccb629590c906ae696d5ec47c4c40c557bf414830d5a69f3fc4cf8a50109130c192e6eaf3717faf40b880120622e3f840cc3e9d34a28e31f810aa897f982ae285c8791e3cf21c8e5cf9c7b4d6599c974a767d1c511e585e3ec6799945f361bdfef07c10dfdf0920b2f00654f7e3790b00378396b8ef97146e3c398e871f832e1fbc49ea3f72f7a26afe3c2fdb547f9d979db4464e98d0c3dff8573cb6b8379642006ebcf5bfbf82ec17857eebc657043603f82e65bff563b0ea8fa750057fed2bed9faf25bfffefdf88e768824883217d1ea9a1a2ffdf1e3f1c5c70f81f730b0e7a2daa8f7fb1ed7f07053c80b5c15b10ea0237ec712dfd1cebf4233dd7b11fbf4fa0ca2577daa255871e63e7e3d97f69b016b091731127a68f699d36e4195b8ca6fcbf32ff8c2ee71fb4a7f9a710f5c395513246c3be13d893a8d43106fa1ecc5ecc0f923150dbb93513300d49e6a0e779abab7a3fe7f36acd6a5843a9fe9fcf437fcd5db74f38b78f623efe1079b047c530a5a625c89e322522560b82b922c4d613619542924dfefcac515dae105b5d6228a35cea6853a5f1ccfeaf79e97fcf61b0f2fce45663a7a0ebe7abcae2d8a96c0fb888e410c64957d67d1e73ea3fb97beae0bcea4f3a10cec7013bedf1d1c5592b60061b11c596c54e6f32d7cb6c5bbe5e6809fcbf7a1e8bb2fe8ffe2079564d16d920016bfafb8e219474f4136e12d3667127136acd646e1927d0dfc70dc7c3fe27d8965050b3f2c9ee54b7bafa3002a1d329980a4957513042f5afc35151547300c328b72d41c326dc48024e8b52961c24470104945c11232250fb25584118280e9d2ac1966cb43758c1576cec870d12661ae7c5eafc2caca2c5ce6e492e34ab710b4a71b076dbe775e9a1a5a0549e9a1f79426006a6a25cc9fe2f821a56601521fdb002b9622022e84adaffa1118a5bc9c0b42918457907048d5c80edff2ac25053049112231874cfbf9ae48b978b138dffd4ef0afa78b3035ec24ae10b44013c9df85ff9177e087aefabb2ec638d8961111ecb2bc8abdb61ffb4cf892ff7271bbde03e0fb8e52aece3bddf7d8e9d1521c646dc0c98f2296c42fca7a7e1657de2787abe2c63238aa896038e8aed679bea38cb45571e7fe0e228df8b43f0e2f6cd7fcd26f372377951fb3418ff9a189ba0d2d7a2b817fde3645efd5e10db159bb04b196bd91c9e33a2def83bfba23944ca619bbbeb37254a3234b1cb9d06fe2006707b15765025580aae64c1547b9fe732c1eb4a45d479c424c418c18aa020ea3140103528a1e2a0fc7ceede2ca9dacfa8da2f48ce8ad8860a95e2e950bb9fd82623a6cda6ca6f87c75e8dd27cea317c581faf27eac4030270b58d7ad08d367a0a79e934f4dd753d7e7a840e5ad3fd71e45c2fdae8c143cd69349ce2fe1b69e2513c8719c29e144c206c771bbd6d100c678d918c8242e4bf6a303226270fe66d79aa059dfac3f8f3863f203046ac624da3100cbbd33fc51d184e0a1013e8c0c48aa5686657af3beff9dc0ebc2066af4fb52138e9eb9eea6544c135d0004a83f7105500a89deec230a60b9fb7f4fff7fcd341337433e0c66db22d1783ae19ce94386b1b7ce235d46d56c87ca8a79643fe7bd605f03cb0729b147fdc4b1a4f781eefe552b405adcb37741eea63d18f6fda8fb37ecdeada62b2687cde33a13070aa3266581499708178e5742114f0feb506ee2fb15ea791adfae369bdc8672a5053d7770a9329d9232ccb8cd9664ad668a24d554c4e7d0ca6cc68a823389e1d862b7af7f14cf3195894d968ebe71278860bfc43ecfd1b2c6683cfc049bf67e4b575d9b5d7ba17fd3a74d2527987c2f56ffdd66b2bcdfaebf5350ff4be4c19f9cc05872d66a063e486a2ad62c8f5f77e5e6720d21cfac7c9383eec3f441e0aaa822cca21c2ba5de608f7d08115f3f17b6cdb5d54433db1e30437ceba6c9dbc82c4371311755ff7f7d513b40936fc0336e1b3988fa7bcae96515e6e788d216cc6757c080943b64e36977ee7d59a5df473c27e3cae4b880d8c077f8b3e46fe8a5327d56b62fec2aeafb23ff1ecff795c887ff4754f1ece97c721e5d36939d42b1eaeb3dd6ea859ec6eba9519fc33d596dd2d86fdab207ccacefd7cb966c3b9a98d9eb1f99d94f77e3c6cf89a137b13dd0f8febd7f9efa5e982c5dbf0fc369b22dc67d3612dda946f8785ad56126f4e3a9d6ecc0dba9c521c9b335efbd678bf4ba26003740f0b6f7be2f0c1676c4ce1f0363b61c6841ae6f8aa7cebf43a6e9c46c1a6fa804db5a1564c21f79a0e9ecb5a7df8f137262e46318e0313633dc428fddcf0e9effaeae706f9df9c77e74778c6481231bb35ab6662d4cbf7ab062441dc67a00cd27ccfc0c812158b104d855021ae1505a31ea8620254f08020288712d1a82aea7316b56cc00a16d90009b02cb28a40a738a88a45d8c7488cff029d44a459c587c6786cff2b0c187f22fc3a128342502c795a6d2c41cb58a4248d9442b4a28cac6260820c8c6251a7febf3d1f8a04035825fd719499f4f6aba7dc3efec4419ff9abeda07f8c63980cbe19ffc20dfe93937160ffe274bf9e79adc7cb3cd17b048b8d3ef371bf68c80dd869d8f8ede87df8ecb42b17d4fe480ffb1f2953f308dbdfaa11bf6764f1942c60f079f37e43d517dfa1e6cb737b9e870b12fc4a3742aa978e0c0405fe57bdcd5f077415e3539ded222ec23f34cbddba6484d3a34a3e3506239e9f35ac4eb587810b56e2936f3c84e580af36c415c94cffb99a527c887eed2168682dfa35624e4d3f8ee2c1a814c580c9a66f1b7398f1bc9c51f6f6b6b923eae31b991c581b495f47b7685a51863c52635f57ef1a1e782c239cf90166c0039c7409d949176ef0fcf98c13637ea9b73cf8cec0d67bce9d3dec55b5e0f4cf5acca021aa78f8b53f3505e17e17242b96e66a3336aec612c194b9daa3983a9c9c1e9a25ccf8f3cc749752315e703596f3dd6ed22464d48a0f313795f5da8710115317a6bca79dd3069c45aa2c3cee7fc0cb9ef09338f6f5a67f8f7b174f78fd03599f382699d2352bd415783def052a8779184171c1cff75894823edf9e347e97c4b4f81dda946fe8958132a150b9baffe8978c316805864c106c04e1e337024e9bf8e44997b1c0714a9c9681020ed8c7d6b9cc36c6c4736bc4b33571648c586d9a61683bbcc7081a40a3600fdc403dd43d87b9759b9c6ac61b3d05a54fdff936dbea2b8f173c6f6f64ad9759f7cf73233cf7e5f44d3668067e6eab3ecebd1dd6df29cce5ce6bd6babfb3b7dd897b161b76de665bb1eaef2d3486a32ddf13f2b24f0f2ffbb4636f5ce994405547b05f93faba8a55db6fef63d83f90baa9ff3ae720f7685b811b5691ae4de385792475bf6d34e9f669346711e96f9bf9be4997f6bdff13071b136322919b4964dac72506a9dbe67612d9b652c012dc0023a018afdb7554b713aa44bf76474431c64c4348ae915b73da0a165a24aa72bed588557fce9a1bf57fff9c412f6e34ba1d5988e830bf2d819430ebf3cdcf989abafa83f5de40ae0695ebdb735ff613eb733370f5623e97d7c966dce7a49e17ea749a1e6adfe7bce2b16a3955fbac4fbc0934bf67abf23751c652741ab89cd4c17dd3494e37cd2afe06cffcd04c3197866e9ad76aa3dfa86166e8595edd109d09d50ac66012d9fd9d3cca3bd2ed270a41900dcb9203bd8909a431b249dc8d272cb7a940cb491e3c445d90c0057e0f20a6fd442f071f6f40b9127eec2df1ab5f73fc65eeeec7ea058e6366581f2bd75e5b0ece6b83a0a7de7f9a3f8cc620c95e0ac55b37ef1c611c6dc487da8c9928ab1ac90f32e9e08115160da9d6a3f6a4d7c2cd30bfe3fbb7f14d45448a2f76c0d5e3640ad57b4cd8c7e4c024554d429575f57ab6614ba4f54461bb1bbdc130bf0e1a28eedf6a34fab8ba71fd100b29600902f075e0836df050392e251abd834388c9c9bbc8baf9c0d51aa96171b275faeb91e3729a10bd9f6b55a2adbc3eb5755ad37e0e99bb5e628c1bff1abe76dc8f23efe3e1fa9545192487ea66f045bac45aa3c04673685e171b9d703c2c92b9a5c45a494d758dfb30403396c4eee984a8f9fa5895602da366fc5e51b14eedb844ab7f647553726c6e66a68ab81abf47dbc4a4763c45b084175515dbf6adff3f06d541147d8e282492268d7fb0a1f7c515a9e19ee5ec9ec1fbd5effc979a58c9d5a1bd8fe66f1495fc28713fbfdbc00f349a3368d6d175bd894cc340854809cca2bc9909b0480de304df364bdcaf09328eb6fa21208ce27c3f92aa8cb0537319987a4ac49c838eb04088ba20da76be0f77ca6f7e0dfa8f022000d600f4ebad727378f4379fe8a4aba94f73f413e49f7ea393538ced74e2fb39fb145b97fd399bd373eff48d51d58cd372f173d0f9eb6313414d93b302bfbddb6aa80fadd34a5509318fc5a339ed5b1453a56284f74772a37ea4854de8cb23bbf2fcca70902c9a5323234685a4bf59f47edbc6c4345155ed39a826f25ac5f737a5ede77dfdad342547ab8cbb2c5ff00c0d44cae9902cd89c7d6a2b7797bee583def0c66b12fddbdffbc2f7417dea0c2bf8c20dc612951e35a039854f6e84d7244136fb6efbef761d5d707d75d31fdbefb7c3bc70da5ee011e3533de5def9ab60998b4f9eecadbb770eeca487dc7fbf68f01f3979abfca75f3768d07cf6cd70ec80288d62f097e86371584019cfee2046654f3ccca16ea220a757e33eb6caf20b6ef16bd21f2b51e93ff5bd009e073f3adb875c1ba787a8a0035ac2d42275f9a4a96254a775a7ba4d8ad069da9d70e79f187c79e0c679df46d8699a1d74ecf886c7312656df0e1eb7ab6cab5fdd7d63e343b4696e463f95202852013aa2c06b0a554c729110dc8b7e2b948e49675f26e46ef6aaace2394c79ba7f9ee5576d7cb4cf3fbbf138be6653320f52da07e0c700c154784f5f6e851e33462b1999873976ed8481ca11c6b7a46b6386ba9b82c69991f1ecf9db37b6d1f32817afacdecf936efa4c20fc4dd5ee9ed6d0cf5182b8dac564347abeba1ae2f14720ae6ed1dfd791d3bfe8e74cef1bb64b0ed52debf4526e759f6b3b0f395e7b9e547f1d63c330dd841bde89d7fb6d3321b6e4b2aa04338aa1802342d00fc1dbe87acae24655f1b5a909112ca9030573b9ac36e18e1dc51d857e3e559d322a22aa4941e903aa72428ec6b00e660c831d1221c4c23c47be00938e46a3b33eadefe3ee6139f08e9f2d9940b2879f5eafd6c7835f3c839c17f6176cfca5a7b3ab43597de99b7ad2088fbfeaa2fbfb2239c82f1aeafe787dcce672f50fddf123efbe9ceffd32f34f5f53ee78e6ffd45cbffd97663b3c8f115523f1c369186264d99cf2c5897fecefa31b7a4d9191e3d7dcd55ce6af123ff358528dc012f3f95869f325df7d34620feeaffab2bff89a2be7aae44bab274495055dec39ae41d200bee8122818cb38bf78ef527f798df2cb67de55626abe3caf2e73f1d05306496c2e72f397d51ffebaae9efe5bf97c9c2b78eff72c0cc027b66c8c5ffcb10fd58d3c9e7397679fab8c91d7de731137f28c319c5816e3251fdd68fc5aef1b9f3d55fad738403b8dcdfeb9b2658679c371296b62ad0aff633f8b24c7bc99d0483e932e9c925750143eae4666ff44cd9b65602762e98ee1542db62d84a94690e4c0b7a8ca7b5401afbaf1246e6038775f57b6e4912a335cf6aff94d0cef2969e4df53fbcf8260f692c590d23a9cc4379253f77a8bad8b7f9f47577dbeab4c643e25411a50d6b9fdbf3a6e645e45495e6eb3a35c89a3e3ed7b4cb2d2fc9263f5dfba5d5fb855af42692223b6aeac6511b064f4abbe8a7e9bf5f3c77743a0c10894acba163f7c3da28ff3bca6d7feb47e2aedc789626080c19c008d4050674c4bc08015151c409d342afff48d4dcfdca8c1a4f77934fa18196801db3e8186a65f655f808ea130f8d45f26347a9b1572cbe7f216e7e381332a2259c06be2c75d9c98d28d933e36c0cec5b1ab3f7437bf5c8733ce68a8b1f35adff0a35be75efb987bd0053b4a136de3bcf9712ff2abc8b09a42b7a54a54e04541175ce9091f85af9fd7eebdc98a381fd6e732f6f7518920e2a4c89f6a7ec732629e9915f714428a733dc27cbf9487ea1116e63e0e091866d299e98c63e4e6b240b37f88adbfae82ed6fe7b41aee5572e2a29978ce4ddcf0c755c9760ff37193e243c1b6e307b4faa3b4659da27c956a688d7df25d8e7ff8f37b2db8b95c08ef7b7cfdbf7c8f2f3d8d61d050752229cc896ba8217ef27f57272d56069ef3b31bcc8cfb31e3fd20e4f0d7c7293e56b9c08b797f845bc7ab75fdd9b1ebcf6636a46ebe779cc9c1e3fb535374d021777c8bdb0b7ec0ed050fb1cfa722383affe74d529f7a63323ff9a2a5569e35cccf98bc4f9cd356bad8c8fbd10e7cc5ad30fa987db00933414cd68dabe9c77998913e37dc800453460c2a09b52a073e0007630d9a8011a508d6e12387e68d4b62683e33166546f31950cbb0bf3568ae584ae056ccd9ad20868d68b9706074359b10656584e535ce424a3a58902bc86927335842c6ba2aa12ac848ae9fd158824670dc563768cafeff12ebf10a4144b49fdbb09ac7cfdf3e2a01050bd1f46ba54099558240054141c1ea09fb3599a09dd0026644ed055829886d66b2cf8246a31fa3ef013136a6401b982957bf7d39f900385e8cd78bff7079527ffdad76ba7c5eb3427bbecc3fb9337ad5ff1f0afd8a9df3a424cf56c6ad31144d30e31b2d616e46a45325398e5b50f6959b7186468ad6688a75a8f846bf70bc5f61ad27fa554cb8bd5ff15abd245da5e28f6f0fec7adc1c626856368c21908cc0f819cd4b0bf3f0751eec5f2786b74455cfd46aaaac8c19d8882cabf5e2b059126398a4c008fc5ca65cafef4d135160901f1e61b2b983a41fdd1f7efe877efe47d6afabe0f9cd7288bf424cacdc655bc945ae6b788219b322845a683afafec1d0e6703484d931ee46dfd2d8b23b58c392f69f1d9b29ad1b05cb72ca1b0a9ff5964fbfa0caf677261b7855beae8c5e27f1dde99c7e7a6fdf7a6fab313a7dc1c1bffb33ce3af1719dd7c3c967f24f7d991387d79fe36281009da6aad3b5a99a213e3b9debf0deec186276f03987d723efe3ca93dfeb18fd6b558bb38f91c6ebd2320a7540dd548425432b1f9c2eb8d125aa26e6a665c4080ed6991a47b1dd2778e88fd34c40498991312270b02da5d0240254cce1e3ca1acdd8f03c5172fd5c2c56910a04e622a1b97ca7c80c85fd3bafc592a12afb3cf477124f9bfb787a7f9d5d732398d32a726ba15a836119982a25a818764d4c94293007e1303a564d505529da32415531a2648a462560cb8442238452cf8d6a23b00deb3f2b5a753fda97744a02ce54fb42ac5ed3bcadb8097362db6898f301222000ece477049ffe98e778ff461efea9098ce321271dfc7830fcf2f8e9ab374ff50f6f1e0366340608073d8cfefd2fea1af9a7ee91bcc4db0c6368f13f5f5ffef3339d1e6bbf947c8cbe8fbeef09408c40f6203f750c236ac5927b7d3457af415bfd86a16eee7021b55ef2633fcefb3fb1bae0afe00fdb24135b8984d929aa604b6b9571602c22d97b69f7db8854d30854440fe296e34252907c629b07f2fc7d3be0ab71a79a07321f73b09de4b9ba15661c219a6952371b729dbd8bce30c8e59443b8a5aa9c16a4ece7c8843c7f7b8b89d37cef43a9abd18f713f9f346e758713de549c38696e0ec54ebf6607979be2cd4631f1a8226a57a550aa8143b249ea6bd3503462735f0bc36f9265d3ded892df1ceab744c92d76dd4a250454641ef0e0f81bbccf2f3fc0f3214f7a3e0af0671fc99e7597a9f8d4c9feac73c758eba5d31fb5cee36ee5ea0f4647fd5a9b1caa2b28a4fb1dbc4e5d753cf9170df54a57f374b8bdadbe49367a931cfbe3cab18b536aef75e7ea9d75b5e23f95af1fb201e741cce931462005767a49aca5a81a8a56df4ad314dc0a82b65c72bb97fdfd0756c7d3420936953101b564b63964560b848683b51350614a72a5085577683525aaa414f62b50e7f7741afd15fafae1db3138a2d324d194835d715565a0ca4754fb74ba159cc0ff8fb8bfeb529667dec4e10fd41b226a9fba5909e14d4183f2ba27d01d5450bb51837efa6725e04b9f575ff7dcf37b66e6df6bb96c100284a4eaa84ad55119469cfab8613ee28a61726a6f41319dd56186799c214a5cd4f8a186288186aea63747724160e67fbefca6b5f1f71d9f2e8b1197f5ce9e7c515d2c64578ba58d4b6e7d8fbe7827cffc48c9f922b9173ea0c85ef848cc37c487674c951b81c3592f583ee31c61ea38089c857bb58e1839cb3fa0ac080eb0e31ca6c0865c5ffa191a7429727bea6b57666b3eb816da11608e83a89fdbcc427e011f84f7bd856a07f3c69e2138a826d0d0f2e8502be85c2b689b2ab878eb414bc1b3966a4fae6939a69c07b4cd5d43edbeaaf365a05e3f431ad3f18c590e6cac33308e6798620dec082187422674afb1ee6db881985e7f436c14996fa0ef6622443d61e3b5ce3b21bbe831d849fe6903a0068d832ff9e4397090f5114860b5dc37a6be7414f7ea87fad589dc9513ea3453ec5b1757e13981751db67e949bafb92be75e33557dd4ec051d7a17b2ffdc1d1637153ec0b7f9e2fd0d68f1ced094aeb418985390776f7bf09c03de210b5cd22be8dc01b4df0fff786b0cf4a62646f9c698d6d7280c9702db09bbce5c3a5b33d67a60c052ab60f5bd6287d890c54f71af97f638981a643235ede3dfe2136c24c75121e7b1d7fa0120ea6209ea2eb620f40fc8d3ad5e5d736d8794842a1fba47d84f4e436be37a5ea468c7d250e09ddd8bbcbcf07d73801560067386b0cc0bde64aff9521db7658dacaddcbf7735e9d7faf99b902b6d4cc4cf980aeedf6bb0069f9c2e2d1e23cc324f133abd181b400f26a1a33342d616316a2144e6c06868de8f3b8e657c04e99cf4842b286bebe351580e1372751ac4ebb9d9c49f33c8665ab15b5937a263f01ffb2c626754727e6f41f3e6724d3e86fb7a62af7705b38178089a18f7d88299d4ef747f5ff315bad6e2592b5f37ddfaa1175f5f64712974ee8275f6118d03f059e553678e365c45b0332f25d180c7834f2d3380bb9e8e15ade313787b87cc465a5c2336d4fc650a33b401c41c62193044fc4818c46ecb37af180c38ebf4968f59368c3110e06b302491481bbf78afc7d03e4f0c3306aab0ff00fb8a7dcbdeba9ac3c26e30f5ad35e8d64b658e842bb99d1f1ca786eec58f1a802f354f8d67ed06323437074de3b18238d1110f1b61884d99a3a18d6d592cd640714ccc88e942bc80ebe1e3386e31e7b75dd4a95dd45f5ddc08c7ce8af218237cc48866bacb0e53ca631721a00814e3831e4cba3910608946ae8bae0ec41099ea354e8d6b9ca2d7fc79bfe5373e388f7890298591ac7b87ac675dc3275fc44acaea1f3e20a7f38d48df74a84b7cf7e4e9ea72294d93590f9fee6f3558dc26be565b5ad95b5a417050ec4dacd8dbb1a6713ee886f54083319eb1383634161b90bef5d80bb7e3803b3af0b6566b095359f3b5d8ad0c8d218ae3b6bdeed3bb3087546d0ad01a59ced98b358240d3bf5eebcb9b0cf18a021d069ac5a6daa13d7e03c3e90639a90cac8045cb67c608e214fe803696fe35fbae07daf5cd96afe1b196dcf16f5db3eabec62affd7ee76ce230fa4add5d2c4be2dec50ee0b5b144d54621bbca4b82011f0b1be6e2c448a7a45b8825161d7885ac6740b479b1d3d4ccb02530569b4a40e1c32bc194ff11679f8f34fb6f4031b56b6bef497d398ee6c9f1eaae90abe84cd9e22cb00a6ac48532fc1b3bf111d6b7a436c5fe0c890d838201cb3c305177ceae8601b6a617bfed7a7e7977acb07b3ed9dbbf5009382dad69df4250e9b31abf595ac5e6b0acb5ac67b74f57da7f335ce18f9b14ee9dcac46d8ee92ebabcd63d5dca5c06d0f1be2ea7843042b6200cb461bc35a9a9c5214f91914ce9a70c7c070d081c529f832869720ee1b9b8a18524f445f9750c6663a04818351e08c1013e3405fe56cac13a08ca8536b4e338cf63445acad852e6bf5320719d71a21612f71afd870bf8ddde03be37b7010fb11704ae0765ca2cea640fbf8a95f5a3e3cb7b3d393ce6fd6d68bbad70f69b2bed5f83777e904cecddfea5407631357c6650cc6660d9686c1b18043069571796f7f633ab02962b1213e0ffcf0e37a06c0276007a60ccea0f900a8cdb5d79b2747af2baeb772da35104fc11d3fa5dc67756bacee320bac955fca7d57cbb08b6f90310e1cd6f61941cba7032e79effe27806031062a6b5918f2197a755bfb9b130416282b6aa136ee9a00d33c1762828062b14ffab747aff5580c99c76ec14a88f8271fc1b2e33e79f2dbac846d45d42e7ea15d5328643ccba0e3c2d9b439598fe3057edda02d893abbb5e5f8b84a9b077d76787b4a87b689bc27cff3e71f15f35a4774b8d776d4d1f98920aa4c10cb3e22d8ad09dff196a34959eb9ebb044a269a18a7cad087c20f20bb73de8c324c33dfecf213baf5b9b9b6a3339d3704cd988dd128c39eb3c62799b3d190be831674e8872df7ce6a55d02129482baf2e2ff17f98b6eb014ff9be943693cc23f3cfb09271ba03fb1a0f4c4eeeb5f9066ecbab266b3fe8851fb57ad0fa00dae6d2cf383105d6b7b9493a1b74a9b16c6d7bd4ebed998dd86e85b3f8bc6c327d7d652ef043b3413b1ff5ded706a31a30678b1bffcd2f148e1aa268b0730ccadf89c0aaa673210d4377fba677c8e63a646becd484349681c2445f36d9a7bb648ec547538fd53ee27aa1cb985962e8b48ecd2b38a617df0c162706ec0c93ee84fc1c198838cf7c6cfb1e1f7a0662c1ea276fd2f2c103741f279ec3edaddfae5d4bffd3187531f40b59cf6e4bcdb6b6fa833bc9849bd38eb99b33e8ea1d466d7ea6def1285d3f74187e99972193dcd19b5a05c634bc61e58c645f3a3ad49ae7f8c62e9e6a679ebc7028ed118b15431b3aa488bf6fcdae3099e25b9ab2d0c08f9f7c4aef3b8d1d3ea6c23692d7255383b30f13ea005f599f7025c4336bae63db739872d6cb4c077ef840307b7b1bd22566fdb446f571b5a1b6c9264e67ff3181270e000988eec4bee41778c5ed9293a0e5f196b69ebdf2eff592af2673229359f7b5db7b7d79d9d78f7a32cb2182cacf8159b579198c5b7d6d99980f6dc9a9ce0e4e2ff3a57cd63da7b28a718ce9f8b25842606c922e1f841da88360ba4d0afd1ae7366fd72f3556cf3064538d7217ef3f642e08f620321b92cf5056193b5819852b09661d0d14acb4a6025a74fe56195f4ac165280273f7f47f0afdd671372c9825f32efe37f9cc9f5c85cbecb9eedc9da737f17521b095dc76eeb572abae46ee9dfbbce57ff5e2407fac6fcfc3bebd0ed75b76a33e17d215a38664685bc1bf729d3bdc460d4c11b296080e14f19d2500a7acab4099306c97061d86c06a0703735edb81357aff360f2b873b02bf068e178f96e53ad41ba01a7210b04cb4151144660f1e7428643c9d75756c4cf3038682cc819239a1d67f3eefce4ff7a7ab47ea00e248efea60ff5db77bd171d30cdc6288045691b9b2b206711bf36672527572bfdfad438b77d7da9e72cda7e30762d95ef7a8e494404d56b94f39b80a88a518340b108cd604863611a68a47561aefbdedae8422c896845353bbc60630dfd1fcc3765a9015f614037b2c41c5a16778c105736ae10266d58a2fb5be8fd197c0367a67f76cd44533dc936654693cde209a11d4582b044c2f282fb067d988ef16880e0dc49508a15d7f8a488058bc9cb37a8d39735ce45b44772c831fdcd952f109dae92610b4a06d25ac7b3e34301309d01201da81c12107d4032b6beb65b031d251eceb1e6d3955599b13dbf1928939c0a54cdc76fc5ab2aeb3f58863733c3f7ae4ffb7eb61a17ecbb8abfd887713f664643f7da6cb87cf48fbc1bdf4e0046a796ae45c08f5dbf318f81c6344d726505a60d86d6d0f82b8b15c6b19d7080c13818f80c69a0671069c1a20632c98ad79b110a0a14677c32eae21434cc1bd33b4398dcbddcf5c47fac8756c796e81e6f73a5d53881db86508518a350f36b3e5c83328b774df392cae9c6a940fc45847303410b51c93521dc9f8e321022f5b68a82ea4a182adb506e3082839b7ebb98a5c179cb2f6dabd73d6e6f46dfffade8d23992b49334220bedef9653bfea0960fb32d9515011a43c81113ef1d5abd68fcac57d8cdafa70fa05d07eaea503e6a832f9df0959743fa087ec6b4099995b75cced247fe79f7ad8b71029e1f39d76cd5be77a768e371dd73c7f5f4f1fbf710a12bd59117eb1af5cbe9b29ed1cd9f1ee011264859998852132da905cd02f970b4a9ef8a63d19246bd03828f1d7d97318c8b31c86fc23a6ea97ff960a74454d175e6eb363ebc93264b663b1bcf8af860b232d5dba2e2f98973d7699cf7e9e6796ffa065516e8ab9860d63b3cb853e0a16f253f2eacc4fb00901cf5beb4b3858cdf4a4e4321ff6fb6ac954e056691db105147b3b83387aba301476be04eefc81c0d08d334e68c808bcf50b324f99ff8bcc42b1af7fcd706b49dac2fd1e58abcf00c8ebb7a48d9aff15dc8f3ef6b80b2a6c44bde09ca10b0d99585083994235821141f665768d7fdb92e7176efb4b31c60e2a3e6babdcc750bed6c85929bed1bbb6c61148785d71c7da770e89efe88b58adbbc8a2dbdd73a40c294ff23e6bfa903f261c66124f3627ed4b197be9fad7dcb22dd93eb047b21ebed7bee041da38ebfe1beced0c6f0494e331963f4eacfee635ef771319ee51eb1b05abfc504c3baa19caca8abe9169a1627dba69986fcc3cc23b5ae51cbd651bd323ce7b384ccf9444edff6e671ee49fff4dc85fa03dffc191ef89e83bc6f46105b54f50c23a242df9a4c9bdac7d49a2372225839e8c0b3ddb2a897b8713efd62cc3e1aa774bd7932601d4f19a49dbd6075f6c2339e73417fe0e1abdee695de7ecda759f9a6d57253a8eed55761e56fbb1ab4dfe21c78a96539f35a3fd78539067a5bb636d2e77b9b4f936a997cdddc32113319babcbfc54020b6847dfba87d0add3b7535b0c61172dca1e4cb1d081b7235e7dcd0c4d8bdbcef5bbb18315876b1f3ec9ff9b61a9359b8e8afbc2ea137560b61076d32d3de6473903cd4ce157caa2cadf93beb4fecf9f290e20d5de93436e625378d862f9737f60db1c2b7f8f4590cf34ff70b11777560bd3a5b87cbccc68adbc7180e53e40cbd36bf15b7f1952dfff90c50dcd6c377daf1b59571f6bccda579c4ed7f0a2ca331dfd4985576637183b8d82773d3dbfaea2b714e5bc76bc1fc81bbfd4c352f8e35a6f4ad2bb5811e762eb77513a8460a60d6cdf930f8d0c24cb16d6f78264d5cd9de4188234be7ba832999da5a86c0f733c43266fbcee1f5780d7848bccc21853827b6f52b143a227d6b002e61dc448816163fa4180d03f0f229e66c67e02c33793dc52cb66d8f2f113faced651c90c65a593993f68a4e49b464e3a5bbc92e1a3f4c11db9526b208a2f58cf07a6517fe8a144e6179b18d0a5a3ceab3dcfd07286ef343004a1d324347d9ebbab55c2796798fd497f85af7ee98dab9cbae47bca875b556eeb2e53476b809985918b3f1acf77d38bab7ec087ebcee9dc09a03e3586396f838c086783e781b726545d868fd7b8dd5afb93c4e7c3479be355ffc616dfdd4d695d4f1d340b73e7b359925eda6573f92b51962a15b618950aab083d52881d67bb7b4c65f1808ec0335c1bc597f4c8f7df6789b2f0c146cada1b345553fe6c750e89e3511175c0240df7ae1be1138585f92d2dd3a1c18dceb79a3995efee931403a67ce61dab5bd069d05df49bb7eb878d623a6400173d9f80b8ffd3d6640d837baac19b5f2ef759eb6f778ddd7f7e34abfeb33b6fc479cb9c0a0922f9c3095130de8ceec55328e8cc0aafee73b9ad53a42be50f764447d077db4711d3aa33a50704cc6d12a2308be5bced233b590777f578fb6363ea299813ca623e740e447fccf327dc824b67ee95f009dc155466cb676f0c659b676e4bdfe9e9047a8ed83d731d8d6697eead79b734cfdf2987cc12a13769e058c7a26c423087f198b60b08fafe69ddc1c0bb8a3e92b12ce7765986eff7e16d6d957bd071f86c6a1042cf9bf5f31de23bed66d3213b1317eeeb7843d15757156868c9f63e61f44fd50e0a513f5759dd339026b300b872b635054771c9514b549d4e1c9e5cad4838301854b3125068221d1b92fce6d31db6726cf45cda9bab79bec592acf1dd4f25c1cc0eaceefd1ebad7a7d6e69b0cec062f0059a0573d6e651765cbc6ddcfdbd1e6a9b03aa76b59b555dfa7f32f22f1cb00f8ca362dfb0b6c30c98af2d91323096c8b0b70e354159da857fb41556e8cb61b2821d454defadd7e576edbab5a069c75bde834623c578616ac38d51c447c2b3055ed1cfb977885da48c80c758df8cd7da954c0c7eeaea3b1d6ff7dae0cf5a1be467fd3039ee5e6359d78bb854ae027c3acc843ca18336c9f8c37f89a7645d7d6459dfc5eee200165d3cd08bcfec867e8b0f9271ddd99b8cd56962c3bafecaa76b3cf876c1a42d0e1fb136a7c8e088ef2ae3f2ce8c4d6ca3a65e1b30fefc3c266f261fc7c676d8da5ef1eee7f7dddf8aae2030a2f49f1760e23528866663bab562d7ec7873371d4f6e91dd6b220bf9cb843e198289ba75c4bbdfb9b5715654d67a963e1e6da839b7ecce4f717d5dbf9076ef3daedd93f1a791c9649af0b97f1d1626af03a3010d513645ded82270a026a2484735d5a9b247949970a596463f34ff3ac296379e69ca21c26ce260d8acc4ef88f906d0d84157b0b0c37c1348ae3bb18531cc346e09fbd7c040af985a5302d0b9512cf97a0997f5b8cb8e1762a0bfe64cad649ed9aff15dc3c508e8d63f76395447d7b7e88f7a43ef08a8762af4d2bed76b5eea9591fe88cba2f71b91fceda8f3cf7e8afe5e32148269c127c34286ee9e76a8ac1bc49f31ec3ebff3a8e95b6be00a7cbe824047d96b3dc21fb9546d3e586cbacffa81af3eb5fbf6c0fd1d0ffc90c5a2bfee3ebd57dbe7be0dac0d36996b70a605f7878866743324d0d02f1d16785a68326f8b708511ae32cd73c4c769801fb4d78f066bc4e2352aa861b0587c7c54823305fef2b9def90562ba1922d2f08c7072a68c988893e974cb9151f8c2dee29ae7de73da575abe335d4952cd9c6df75d14074387f8e59aa9d25de37e3d90f59f2e6f6fd29e60e00ab940299294bc7a41cd8ecf46d88bc82db2564e4acc4a7e7c90cc8b92351d078b3677fcf171997fe73a0c4dee74316af105a8e9cd9acfb703621b6b398e2184780ad4d6a8efe857d82346e3976f1fc1ce45944716ce0c84d8f37b311ae3c6c162e63a8d33dbf37a058549c9ca59616ec24cb1e2de17c4b32bd918a0337d90e91a3de81a50c3be4264bc7c13eebb98f90e82786fa12c7e7eaf87b8716ee21a50b4d7701a93126aad30070c58eb5db8c12093eb8569b75e7897a32fb1e42d970f5cb302f1780351cb11d13bb7df4075ff43a7e8db7010188e3d05728f9bc830ecfe0481ff07d3ed5b5dff994b8cf9933f2405ecc3b48dbb1e585266c97c4a311764ecfedf7e08db23c5034b33c7b33ca2ffcebf70cfc9fa3cfcc0bb027700613d0642cecb7cc6de0164eca85d7cbf013a54987e5e7450265a61a1e13f700d1bd68b772e731ed1ed6d00047a1cb11ff29ed601a16319cfdc623143c6931a14b6a0391d3fa9ffcc316de31b56eef2917776736f2d0fb62ed77db2fe3d5fb38d69760a671b238e0e95b86726bf8fcc6f634b29a639f5656e8be3f6ea0e23fbed1aa95d7cf7401e7f40e2bb7702def933289171aa9549a5addb9773f5198f27df57009ae429bce95caeb74b1dec6c87badb6403c9e979cdb6eeb28b49d8dceba8c99cf00fa0315aaa754994d3d756e191b52491b9223bd313caa4eeb39b65b86539b331fb3091ef037322600e017e70d06cb7b776394c97e46c79743bbd59a7190c637b3322c48b47ab8d1569b8ce81391a341906aeec5c0e2f7c2532bec27bd4d1d46231e23fa0c842b96eb51c6219b3d3c60cea6dfda2b6fef22fb8eb8925ecc9baaaac19d07886b51df10f935ce3d654bbb971b1abb5dec1d780c55388acd6b7a0743e8641ddf91a4cc0c15b1252b6c0dca2513ca2b0dd991a240df85f7a50ed106631861d6ffd0b878e976d5fbffa1b5ef27fa53df5d9e6ff669a459d79c7eb3d4085e42579c96776aeee46f2a499cf3cb9278eeaeae6b4f1249e8f18f29189162a691a1d71369b777108735a5ba87f201a5ba53f6a360e988df8e4aa71a16bf455ef4b5919c5b78651d0e96708b03ed4d1daff112b2d79d3f80ffb1ac9bc2b2ef3b3a31ff9d93c16f3fc35b7f3e66c2596dea0db6f3842d6ec6afdc14b40ec2ecbf4dac4508f3aac30c29c9921a373e4d66d2c60d5dedf07ec4c6d602d646e73a0bdd58866a6432cbd8b19cc906f45ccd78fddb374edad34aaac7ec40366723ecdc578ece201cbce3ff4e4cc6d32f599e3dac6f388776437120704f7753be7d6e188573b96c97c5799930aabb1babc5a71ef9bc6d6ae56a35bf0b56c8200176c1a78e141d83704844de387c80361171d668a756160cfdd826dac82a92b667fa64add4f8bd8b280120b58986ec3fcaff374bd5468cbb7daf913ee7c3958117351ea66f29397ebaf1c7adffb9143ff8cf742039b2df410026dc8ef7dbda8601cc4c85f6cdbdc7aae2f21d0b89eed611c74b9e899a482eabdeffeda275d1cafeb114f3b43f259c10bfedba3267badb7b4976b0cc21e6deb433eea1de9bfd5e7c0f4375e2474ecf4a48b777fa66cb8320a77a9b113c794cfb09ff53bac34733b2ec5a48b6deb1d4e5f4be5f4b554bb78b4e79a5d60adac1417468bb3c2b18a0bb2c02158e826eb4d31d1ce523df66dd9d672fd739bdee52513e3f320f9bd1cd039a4f775815ff4966e35fecdbe3a81c3bb1ce99bbf85ae9e58efd0e99f100373ba7c3af10d06237cf0c6da3a6488c9589dfb31ed4cd1dbf183b8183f779e296dfca847fdc9f102ec317c73dc03670c03ae5d60216b927e0adb7ac1f585c015bfd49aff512fed975ad3afb51d8bdf6ad5ffc66bf6fbf93fc6f1b39eea6fbc68b75f6bd59bfff5f9fcd75afbabff3f9f5fff6f9fff5feeffb7fefff5fe7fbffee2472d6ef65a8b7bf8d419987e0aa1fa2fbf7575b67f6be3fa7adccf7d877f3d2efff7f6fec3757b5fff7eadff76df8f6bbdc1fff6f96dcde4fff2f810fec379fb9fb58eb39fc7f6ce7fe557c5ffedbdfee776e3ff740fe17fba46eb84f84ff2a48057be8057bec2dfeb34fed7f3b2f9755e44bf9d4ffef3bcda5a3fb99e55a7f7efe372f8afe3f27f73ecf5dee903c72cff87ef31fc4fef7187ac1fdb65974bb77fdb7579723bb8e3a7d96bbcb4acb3d5eaa52c449b470d7353fa545b5fc0dedec69f6d7c54dcf1e2c72f6ba87ab1080e16d0dafae04a499799a50171aceb61123286302ffe68011963e048c32eb9d7c7a2fa7d9ff33525fe095132c366edfa2bfecff3d7af6b83d1733d94c1b2cdf34336181980d6adc515320fe5b11e8c3656e4fc9337f6073e7fe1bfbaf3facab5f38ee3b8e3ad1823d27279dfe329845dd66feb1e3fb7453fe52109a06081eb39535c387ddd63580f09d10edcd46846f1db41d61777203389c2568815e90c0d3f6668884ace4ca473a251860d6d6860201ed0938318c3fa269beb38eedb4b3fc550707beb97b6575b18c6b351e8848b822e91e7cc70e3e8a4a06f7ae5e831642e1ab6d7dbb09a6a85b5d48ef4435e4f8f6728ae750cc10af1e01b53a63b5c6750388b9dc0e69865b085657affbfaa1d720718f4c1ef86040e97ebf46d4de8adc5a08b1371da387ab1df8b23b7e53743633a4606d0155ffce14465181a301cb0ec85568c1cca66887a212a40838aadc0d380701a039d7004fe0c6bfa68ae71bb5d2bb07ee22d3cfc379c855cad8dc7b3aed60296f1becde56f6ba359fcc18d3680a4f3d17c753e9a006c8f391ae2fee7f2ea5488920f04070c3e71bef6cc016eb03b4f9589288a11cd7ab582801d88c9886e6fdc99c97d13b86b603ad63473f3a5013cf8e9db7aba32f9e3001a050a8882ce20e23feb6491e59da7c089fef283eaff0bbfe8dfdbe63f62db052679faf67577999936cf827bad2de6604678dfc2ded0161f08c136d9ee974f75f8112fe02b9d9d4e20b68051301fb5b8c04792672069da369bee3bf37e7e3bc8717be70e072f2527672b0fea3e936d76de71788d8f420ecc39f45ef3d67ee2b72c92399ff7f1bac9d04f9bc4ff15bb5a3cdbbb572790b5455ff084a13836ac7c031aaa8b81d14b9dc7ff19df99b07ecaee7cab6b9619ffcc770e4031f1411caf1b34d620cb1eff874bfee431a3192b358f9954c6bb4e7a9371ab8f910f2e450bd0adb64e197be605cf3979c9bd2683874dfc4bfde3962fa3f307369247ff9e37ba7dd4a86ded69714e846ecebe86dac23a108d7914039b39776e1871bf3765f8d49ff564de3ec327d09d6950ae213f2308ea44e8b039a7b329ab898b81c6889a31f84276f9b0eaf0df090b9db8d4d8d178f45d63cdf1aee3bbfba831f0ccc65c71b1e8733e65989f4aa7e3e31c70b35dcfa5d00732069f0949d1ca77c95720f3aa5ef08177e7371aa3d71a885dff2ce0597f7adbf228ded79a1cf3dec633a728339d6b463167960f748e74b030d41ddfdb5e3ccb6cb162cf3175efb7668c30cd120d1cdde39460c92340fe20a8bf30a78a8500592f7dd53b7539972bf43fedab2edf7bf058ffd6387c021e0bbb3e9012e99ff6c616fdb37fc4f8f96d1daaffdbf9569be3d1d57f8bff80f7682b209f4ffeecbf79abd94fdb45eee38f7dbf8f4bf80b4bb1ff8489fd9fc7ea90334403861a8a9c8e8b40f9ffa0bfece57f18b7ffb3fe7a8bff2ff417ff756cc23d5e7f22ec899a1a874e7e4dff0bf9f59b3dfd0756f77a0af7f916e7401db5eb2f53ae3f2d656cd6b9c5864fbff4bfc92ff0e055ee4aff3e1440f0164cbc8a0f8bcda1464cc198f9ae06bbdd941f0c7369510d38d50cf0910a3a0ac1d481b43678ef0fa53f71bae83b025790be37889499b3cc66ce6db802161b3a8c754419592c63df0cb843407c9efcc243301a58b34e9e1d5a79d6b479cee4b9d6eadd31acc37ef7afb85d9db607ce2d1404779ccb32c36eb97a54f7daf14b3fb0b2f7ed03b3f0ad7be72b9861282882219ad20757a78d1a19338a09d0a99833ee86bd4d37dcd0a835455471f0927e6316e756018e86c081e4c450b37a533adbc59163287a63ff47fa2e0658bcf56047100708dbf50c04401c0801c0fe699f463af27d99378afc392c9d7dbb9e442b8b6781d3d6ead9daff6b3d2964bf2eb9f1e893434fc650b71cdfa88d8bcd67966669d8db6167436e53c9d37a38cc5bbed6c00362a366e7006f620d1cc7a0990d3e35f5e610cdafc308b25a47b91cc71c51615329ba3b6244a351c7c9b5fb32b94374644516b7340b5f2c0786be5601d70a3a67a71803cb6c0dd39d063b13d82cd48f48bf52df4539e828025d93edfac30a7cbd1d8a8b5e8f83e477a332feb906eb99ff778f33e9ead539a24fc83316e7a5a66bea0d039d8e7b5f300e746f18a0821b8b3f1d1fb5856222bf2fe023ff43f7fcbc1f04f32bdfd9988f8df698cb014ff0ec3ac1cff8ada97cdd9a981f0025da58fbaefecfd5bdf32c7bd4d418ddcc98b37f707f3543437224dfe43a1c7adf7d1ade35fb430a673185f18a6ccf2ae244d3b61ecead42a15b3a074e6cc4631d18cbad151d2caf999a68e301a154472c8cf4e6f328d3956a4a307534d48c88bbacbf5d9f7e202e6c8b1d0196ad88e72f70e1c4265708eaecf5b75ecb9fc7685b9714b01f99ccb9594bab8d7b5e3957e40db5367edf3ac3b5abf77c13bf753cae4586506815b3d56e6c5f061f3a1bce119dace75b1fe99bddc4a4c34c474a63e3fac3082d9502a58839993e1b1ba8615b64f70313934f0df981b14b42421d36c3d4d111b7b582477a9f7ec38e0426a747f086d16b7c27ebf8810980d83f81e533ff9c34fef69527d7baf988e9234c89fd51cfd007dd211c7d23c62c84a372880e35305a8e3ee84683bb118a173d0b3e193a77f9f33a97f1c2cbdfea48c06feb0b6e102e56fd7011746512763dc9e9b4cbdc769d8093c32288278b20d13a1e1204c796f769a4b46b09529f3dd66bdaf590366eed00decffadcd1cb7a7b7b7fcb07b7ddcd6a71f8336e4dfb95f7347ae53d85a48b9ffa78d4f0100fc2bafc63599325edd64a32e4b8ed9a810a9ab780769d7ac1dbf8b3d1bed3e552f0dcd7b8a3dd94655dae679fb476985ce31e2c5a1bafa35f920f1dc4d22fd0fdade53a317dbcaa042cffb9cd408769fddc167264e13cb611084b9c3db7295432d2e2becd2004f66c0f33a861ffbc1ee610c1e9d91e11f2a979d9a6a0c3ed659b4102aaf2d8d629ace07dfcdc16f73b1e8bfb440864dd1ea5bbef769bc255e6b5ddb7194cc17e399e2380d9f3770470058f3eb705a40cade7b6789e3c7b6c63866228f8739bc319be9cc73601a8e05c3fb7294ce1fa3c9f30b8c26df7d8d6457f0e9fbfebe27ec70e508e2e62087f507405630709470730695ba7dc70604a81018921e5e8dcee4708cc0c128a6e608c21a5a804405a3a40a3ac2af76b93b2a9e11c2d925cd23d6534cacb4c9d9c120ae03174016308b9e82d4220e7a804d3116d9fc0f0c535fb429a7b4cdc8b0f89b8b62e7fafe5bd0180574dce39462857835baaf64b4bf399b7b7cb648956a9da1cc531be782683c39aa21dc073ffff81eb9f40f361c6da9c0cf90dc848d59162117d9044ee250d7de62e9191554169e9ee2535cadd6ce59f1df1f97fd8070e871b6844dc631f340b1cd10e66ffc5f5912abe3326deefae7defdaa1bbafa168e7fe7d04809b732367776535162efed10f79155c33b5bca4db037397c3467ca63ffae097b1a4f9afcf7efaf5d99fd7e8b7cfdd7f3c7700e8d03dc7407cc70cf6e2f92c10cf37868c2345f46f06edb8cfa9689b40c680896bc4bcbd370bc43df96d3f190452866491c95c9c27ee15d0b7383e073803207f6df82c57838d3d70581a4e6e39463c1da07e6ae857cb28b7a93a64991a2896a19f138c94549dd46bb554664c084ea488b995896b6a079871b880f19c73316d9f2593f7a6887e398bb929df19a0436e7a3cbb1d2e3355cc39afb88f8b59e55ed2ffd998fbf73146ffafceafff6a6cffbf7a1ee96f6e43867a2a8704fefd4ffb73d73a8c60a00e424074a031429c5820800d2333216c354ae640c78800f1c0b310e1329f12e98c44e2860d4ad6e0d5c804928327f920182c09b218d9c292229b920a96199a0239c2f280a69cd4b054d08c918b40e40e25575839c805d287558c5c4e86b0daa139237f60c5d18212891329e8087c0b51ae13f07de431dd049fa125d5a7e0d76805ba0bfe10adb84e2120c867fa0a028a02aa87106428043d81e08042ae6710282862faa7b0b062aa6f207450027a09618c12ae1f20dca135d3bf21e428a5fa19c231ca406f20b250c67505221fe54c1f000ce10f071722863ea8fe0e518d3e419f4034449fdc00880962ccd0c48428a861409ca10d1836c407b4e18603b182b6cc58400268478d25240e2ac108208951c98d18921daa98910a25b7a7c6072463212c0a585be8c08d1dac7d7464c61ed60c7d51e30bd6b598e427580fd1373738a404d5ccb8094175a2860a6986ce608c203da033174241411766f464bc123531640e6ac0d4218b51c38539bb435766cec444be51730ed9584c7c0f720b29dcf421f7519f9911e40ca9d45c435ea3019839e44334e026830f8286ccdc0a653da266051f197a07f3081f07f4cecd1a3e14f4879917f80434a6e6153e1d3401d8c0a78f26cc1c08dcfc46cd77f8ac510fcc097c0e518f5bed986596d6323d5b06b00c63b06c60078cb9e50053b0c6ac05148009b596503858072b8022c63ab7622876d860560a05c726b53ea018630bac023616b6b8b5838d8f6d66ed61c3f0945a5fb0a9f10cac136c8678c62d0e5b821d66dd604bb14b2d15b6199e833582ed01cfb93586ad82254fe10e30a536869d833db075d8c5d8e3b605bb1d5e327b0616c32bb05dd80df18adb144a827d66afa0a438a07608658643c033c00e0ea9bd86b2c611d83994431c719b414570ccec2d541427d4aea0caf01aec235407bce6760d958253665f600f38a3f615f60ecec1eec33ec639b787b0dfe10f66ff813dc79fd47e83fd18339822385898f12981838f0b3635e1c0f0864ea770a8f116a62e1c8678cba7148e04efd87405478a4b8a1db00eb864d3088e0c5774ba86638df730cde138c47b3e65f045f0814db7f04501c3b484af181ff9f4005f3bfcc5a6dff0c5f1379d9ee16b8c6b9836f06de19a4f15f8f6f1894d07f0cdf0994edfe1bbc617984ee07b882f7c065013ccd94c839ae286ce0ca8337c85990df5015ff9cc815ac137365bc009b042674b3839b80fb3004e31eef3590ca71d56d92c8513c7033afb80d3180f6156c0d9c2433edbc1d9c72336dbc399e1773afb82738dffc0ec04e721fec385f62378cc6637b8503ca133152e197e83d9082e07fcc66763b828b8c7663de0a001753070e94ad281c71ae28e057ca761e6cc80734da3ce1cf85823e078d0581ae18e0f8dafe9cc89a0619a419d3534b56682934333d44cee30b812cd62ce16ae54b3a953c135d3a6e01ce17ad0a6dca9e1aa6833e65c04c272a873859ba3b9e0f4e1166b2e778670db6973e6fc811bd716d47983db58a3e022502c8d729780e26b1e734d5098b6a4ee14945a5b81eb8232d456dca5d0279acfdc15f4a9165037847ea685e026d03f68217733e82b5ac4dc4f50418ba9bb01d5d112704b50632de178082ad3d6d4fd02b5d652704fa00eb594bb1c060476ccbdc2c0d17270fb3088b59cbb4318ecb40fe6fe8101d73ea9fb0683b1c6608e6068698ccf89b0300b363761c8b40d9d4f61586b5b98bb301c6a5b3ea73022da8ecd5730a25a49e7218c32ad827902a38356f179062345dbb3f927bc8376a0f30dbc3bda11e625bcc7da91cf0ff0bed3bed8fc1bdeb9f64de767781f6b35cc1bf86369359f2bf0c7d74e6c3e803f4c3bd3f93bfca9b50bcc27f067a85df802604c34ce161a8ca9d6d08501e34cbbc2c286f141bbf285036345bbb1c50226a02974b18489a3f56111c024d6fa7c11c364a7a96c91c2846b03baf880c9581bc2a280374b1bf2c50ede7c6dc4167b7863da3b5d7cc15badfd81c509de86da1fbee0d023da982d6ed0a3da842e54e865da1b2c46d03b686f7c31869ea2f5d8a2870440a01423c979467524141aa716821dc18cce1070a2513a473026b2d60db208e1d447c8273aa311428c1894ae11aa8909344768484c4e19c284588c6e11a6c4a6b442382353a047840f64ca698db042668c5e9006c4a1f48a3487b840fb488b89cbe910693b3267f40fd2385950fa86b431a1e021442c42b94710f189c73c13114696d49b22529315782e2243b2e21e453a213ef35648a724a05e88f48c84e025483f90907b19d2151231ef13194062ea6d90e19004b41c193e4998b7076409d07344c681acb95723432129f32e020465d4bb22d31160a88fcc98e45c80a21df960de1f018e3ea9f786ccb10049085916615c80259f146c690ad0b4a1cb29b26a019e5c640dc9960b1045c88e2d57024c957419223b13a02a41f681547c99215b217bb6fc1420eb40971b347504d82ad13426472e40d78e7cb1e5b7005fdf747946d3b100610d9a59a4e6028cf9e4c4960301cace74f98e6635b9c07282664372e102a411c2d94a1360ada12b033999006d36720ee4ca570e72147263ab8500710a5d2d91eb0830172037267d2e40dd8ea86c9522971b49a5f7633550d0c0bbc66159279165c595becd8de0ba0e89fdf83f0a4eb8b22f1fb8afac23f79687bebf96b648ff90aacd6e1d8ef6b3b05f2646b98d43ee76bfdd3243bfaed5a6ccf8f11087a35d76ed0fe2c83d10b528d2cabbad0dfd3b59f68bd4a4a74c6d8a4c650b79aee91ee2f054ce22b716c76b6a51c6a138a6dc25cbfe361d04fb350a0e49a8ef66917b4c0cff14ab937ea2b27b3bf3b51114e21ed6a157cec27e91a9f5e2c7be283966fbe086abe292476e398b825b12594e6ae83c37267c16b6fbb1daf4d32abfdd8fd72254a603548bfbcef6f6251f38b3cc688ab4f2efd77632333865b87f4a42ef18ab7a8d23d44f233865eaa4c8a0b9ad8db24c0d7acaabf29a470ec9d4f2bce6de2d5575ae99ae920ed0208ebced1a2b570726b7dc985cffeaa75936f02ed9f39acbdc981c53235066112a3223b8defb0e0fc473d9b7fb36ba3ff7a0fd7eecefb693c8217915dc7268d42472657bb9e11e92c8711371ad81734a43fd9a1be5794d83531eb9c79827b724d4afb1ca74d1c7d99e926ce01519f3fa991a5c91911c5343b172839d844d9ba83ece0d66b6dbe52d8760bb3682ed9a07ca3aec97193fdddb3b6546d3cf78f3d84ec3f29c478e9d1993411259a7544d2ab4778f893a2a5270b7a99a91b531392534d8a6c664bbe6de3555f51d36bc4bae8e6af13f0acb735c4d86c8b4cbc418936c509e635ed46bf1bca15ee7e0d5a9ea7e2323a9e3309bca7163a243aa8ec45856533126425f5e1b0f924b6a06a764d9dfa583fc8ca3c7763f83a4c92af79218be1957e2fe27bb84ba4a1c662437f47dc6bd4daa4ebeb1615f52f5748a23fb1b45e8ba0e470aaadc220d836b4cbd2a55470a12c718d458475e911ae5160fbcf2c3a4a7b5111c13b550f0beddced572971b6c1a87cd315187a7d408aa1c1a71ce3eddf4b749385292c89add7feffc6eee7d7bbd0f6eb951561fd493fd81d4493f37bc32dd53631d8e76e27c31861223b8a0b03cc5615ee2aa5f88f12eee3f892c230ebdaf5c9c6b7ac7744f89980739f46fb911f0596817b17a1ac491bdd3c2a4c806f424e4cc7a90175945ad97ff8998571f34e0b1989bd413f3802335b9647bf9bb9354fa2dc7fd2a1dd86d7ba6ab24119c926a72cd55fd9a4050aeab609b4323c6979a5593f32c6cca644fdd582dca7c6f5fd24dffba0ef3430e279e9ac16d16bac7ac72eb8436a77538ea67d7fe761dd9dbd4f09ddc284f49e49c62b5bcc66a536a625e84eef7f39c499387b2ff44bbf7f366eb7054a5cf76a6f1c0be640321e3ca6bc6dd4d1c0ea771645fd341d6bdaf532b5baef77b2beedbfd0c8ef7ffe57843917b8823bb445530cc84ec84629baa7d9e55c12d6becf2c370eb38ec177fdd1349d4b212e33c09f54acccfacf2b5242a4b1c06a364d9bfa5867e5b23efeff395ac2a8bb4caeb84063c15d7a3cd360e9b32adbc22db48196564957e4e8cc909a9ee250dfb72eca4a1be4fab40c1959025c9355587a73c02e7e53db4cf33b0cbdccccb24a26ea61697cc44c7b4ca4eb1aa5f73482aa16fc4f84daa499d0839174e78120eed58157d24c7d25533bab9b3ec5f93c8bba6dcfd4ea21d89d5c93ee3b27f4e621c67bcbce5867e9d8545911ab19d1b453f0d6d250edd6fb4f7aee9001d3e68d2cf8ce61287544f8de094aa433d338a4b5af94ef77dca067a5fbe837d706e65ce699b55c16e1d5179df09b8d76ce0686bc3db61c3eea746734807f619ab6e99edbd635295db38f24a6208bd484f9990e57b7a9f9b8b4e9ff2542dcf39eed74998285af8f3d83c82bf8f93fd4942fd9a5593c1638c2edbf349f58ffddd589bdcc7d77dac88b6bdfbf8bc8ffd5928e4e9504fd4e61257be910fec32ad847ef18a4c3ddd50951c53d32b33566eb2aa2c93ca2d32d5efc6797e6be56c20f543c6bd7a1d8ebe51e8d6e920d8a130113ae91b54b79f83b74d0768843bbd16abcd3103ef16474989f66e9387fa35a1de268eec1b12bf0de8290fb929f50aee5f5221774cfbb85603656dda973ccc0f380ace62eca446794e68a0c4a12dc6b39065c798074ab617bae87812f2fe63d9dfacc3a6c6e2feab40e99edb92ef3592fd3ebdffdfcdddad180b39bef767be6df5c5e8864cf792eda99da993ebfdfda081dc27dab19270a4266173c90c9fe4e16897f2602f9e3305a1271a050ddc636e04a738022b0ffb9bac0aead4207a66e8b7dcf06d21e3d7a6b7c9c36683a4deb74e694805562873a3b864aa2bdab6b24170cc0df93e482cda80642b745912fad6da98dc32a354e290db71d8176d1569e596a812f8ee74cce154c9e79273ef58e6e06d9230b862833de6011ea03a8f9cc73609f573721f33a2af9f63f0effd8f3128658cd4a9c1e63106c3d15efc9f18937e5c3dc6e0f4beff2e3bbb731fb2b3db96b2f3d96e7e46aa5766ea49490760dc711fda7b85683b87e494aaf651c8eb2c0a2ef9b3fd260f27cab3fd5cf4d739ad822baaee7a20b8a5024fd3a012732c65ee29099999a8fa2989509140f19d44e52695b26154a586be9f85ad2e4922bb4ca05092c816faa748c5f857bd1247769919cd48cc9b14048e71ef32b99dafdcdb66d5846355e28d53bcb70b391fa54c92f8f29856c905abc130569b220d75651d4ece78e0f6c5bcca54f7ba8e908223b71fefdd6d56953c87a4cc2a5de2e2cc0cde3f449f47e89884aed0f947a9c75a1948d3b094d75f1b93f3437f40f1d40d855ead23bb9c85c15060c764101c33b52833267481786eba7ad1050fd923fb1c792ffafb2f7985f4df7eeb67c8fd6d7ffbde2bfd1c0bddc28efdb46a2eb15a9fe2b0513ad97c937a50cead92676a799b856c9a844dbd8ed06d1d39a79c1d853cff31dee368f7820bfac7b4c5d69d7c6a5a7c7beddfb22828b2ca9f6646707ef95dd84202e3df7f3763757212f33a6bf4bb3cb9ff26c6ff2065937feccf2358de65d1fdde6691dde2c330e867d558d850fb941d793a08cead2d949fb1ea5d52a311fabbdddedb624c94d2b65287d64728ef55fc3fcdf6ed7c6cdb2906428fb7ff7bd53a6c4a2cb1be2ffb53eb645b1c367c6d90eebefbb774604b9c9d1945318b024eccfb71fd4b1e8eee3276dec9c9220d27fd4ec779ddbe732eec84aadc76c72efeb13f0a388ebc83949312379d94b5199ce2bdd3dd879077fd4260a134d4eb840abb7648d270724999c097ee611d2525a8763ff9e51db4b2e0b84b057eedde3bdee787240c6a8145d69125e4b1c020b24fb5c8e57128ec4cf790479e921afee245de3fc7d23e388beb667bf7989bbb7932b08bc40c1ef84dc87e89bb064191a8be9654fa508cdb75d8dae128740fe27f18a042c8843cb44b14bafdb80a6e025bc58352cc2b4d8c13647ac587b123b9b08368b18b2321fbf45b420bf92e6711da25acecfecf2f5945a749558a7924706199c2e47edc25177abcc522f7638e02f325b4698f91f65b71cc2bfffe7b9187de31e5c7ae8dd6a6c061377ea4ad54d6eb30916338ad32e7893d46176193e2c1ddd645751c8e4aa416476917ef77a6b4d9849ce1e52d35ca9db481436667022756edf824668b9d251679be5b12579353cc922a8f84dee55a6e7a235c897b986c853eccf68eb04dfa092fcf4924e4bfce93c822b95a566b7a14324f1e27ec765cd9656af0bb9daee7a62ded77216366a1c498e2dc5966e812c7c562eea9cc8dabf29a1be29d08b9a27f27f4b8153242cc87ac0a0a1cca7b57a43c7efe26705489f7de2551a59ebb2495c0b5937dab672767a4dac7c718d807372231975b26588c2d24758218477820f4d1a94cef32227425be6eed71297bc41cee30a49c832413fd0f2789e966915bc602cbc3f1944a5f853b927364e02a591588b9a4aec36080c3a2146dc55550e410a889b0b9b8776af19c98cb6e3fdbef66a2dfd2bdbb4f840d1a598bbfb65b796326a594bb773c41a54dfdb27d6cdbbf4a5bf58655a13b851cf7aea97a2ab5f0e7f62c8add543ce35562c8cb5af54f6b48ce4914081b7a9aa8771c19dc329edc92c85693c8b2f3c82db34d5fda9378dfe2b0ce76d4e22ad8a148fadbce682f746d5e7cd06613479ed0f9a35998f453838771a52b02637d2cfb02b796c9b22f7585d897f1d7e3a5edb27839fe719c16da452e30f87e774ac23ecfcd9d2b6469a6fa9ddd20f079719c85a28fdd4bc604963f96f1809e92817dc92398a7aafd9584ae321398b9dd27f0e431564fa3761efa7aac360203b871a58b79b8157a2c56854c9d1cd24170bdfb8da44f684fe76b63d2cfaa5c60fc5b77ffeecf7dc13981f2f55cbbb36d2456c0d5ddf691f3eee16f8cd5f226f440c64fd2df380b9be347253056eb7f9c452e17e76b3fec2cd107f7df51296434ec3d550bdd2235c4fbd5a57cc923672e9f291ced6289aba51feac7beee1dffd827304dacd6d63a1cedf2c855846c4a439d8b799bb25260f9567fee1d4decc74f9bb91bd3a890fec9878fe1746bfd930f3fc56d6d4cb8c0a0c9b5bf89c36cf1c36eaef49bb07d90907b6aa1c46146f370746ce36bf47a16eadb5815e357e8f5f29c20bd95cbd7fe2e893a1c28740f6beed8eeeeff3205c614b651e29d8a6ce00ad92be47bebd33302294766913b12f6471a39dbb8d3cd71d861864d5f8c977d2ef484d017e25dec91b0d9c5bd9344c870d6ca9f99b443f27eeb6f6a847daaae23f798aa43fbd567ac85c13917d86d80cace37e0c4a1b793fe906b5ffadb3443df25a65d8a31d9dae79dcc7af469714cb0e84b6f9fd0fcd8ca467b474cef207079aaf6cbd6fe9173759d1b459955fd4b1a4ab970ca8de29a84fe49ea13f94c0efdfb98b5a1d749e12a6b213fc2c929893c21331e7397447f5f2b3865a637427bf7900ef23263c2e6f50e68802e89b0e5067491abe559609b59d82f3e8cf2b48e8ea536c88f69e589fe12f6c4310dcbf7848e06623c0a7b5ef48bf42fd3f2b40e5d31bf0eeb08ec4c1d5d7235a9659f0a79178e6eeb909fb201baa4ead0ca23af4cf7ee31351d4bdaaa57e9fbb13bfdd6e269d31da595d3fe1fbdf8b5a1e9dee9a42ff19d4967dd7838a6ad0fc9caaae0dea69619930baa5a5f63c68f3c09475b712fa25d18a03265b978cfad4e97b2283b3dfc156173c793ab548cdf6bffeedf90fef4cebea85375b47fea338907eef6c56fbff533a4971f269272e4a74f43e8d692c7d544fa287ffc86fb07cd68dbc9baebe745f0e37efef2af043f9fe3a70f47af7edcd3c366eafc46ab7f39b7bb77afccaa5191b698e15bb6818a7feebfdb28edfa839344c556ce37b5c35055ebb369efb7f5afb76da16d6a4cfa89e8abd67fd6be2f352f533aaa932811d842da636dbf35f77dfdac1d13b6f4a55dfb17612b693f7dccad6cfc6983b6e3acea5fe20e5fa6269da7e1e49c080c5595757a1f6b77bf5d8bc9accc985cc5b85d4754cfaa80a7e66e2ab04c1236edb3c0b1f511459d4cde7b85b01fef73595e772f7562d98d67abc300b2cf9ef3b2c55a9ae15ed248c839b71b33c7e75812ed87620e059b386cea596817a9c11777392e746c2a6553536b867dc9d5e62ee7ebb45d47b965bc69bfaffdcd3a12f20266420f4979d78ecbe97d7b2deeed79fc77da8e9dc7ef99a10f5276baffdee46150a6ec78dfbeb6eb175e3f0ded8db091b530b9a403eff5deed449dd4c9a6bd67ac1617d14f1fcb3ecf43f71b477a7f1d7abbb5940ba7a78dbb0fea149ab6df977d217fceebc859e4d5a44e8d60f4da0f38d4c5be6ba29665c68b4dabfbf56302ee261d303dae26c32472bc786f1f9330d9c6529f3ed62b49bc0fae292b04febde561530a7cfb3287ef3a7c2e7d8f867d11ba40608b6c40edc4288b441d5d3235b881ea9d631aec52b5a93f68bffd5ef6abd4d005bedd699d6d9c86c16e2df005429d6df4b897762c85c931dbcbb5a86302cd211db85caefbb4636bf1e2a33b658352bcd31aabe56e2630fa630c096c26b0f0a36d2333643f2948600fa3b991811c834f1dbfe96fd281b44da34ce8c7ce27246c8259685f72d3bbcfab6966da97580d7679649719efdfd64679c720551cb90a1ab8a7543d89b1696683f22ab04042f36e1e79373cf8a9df90991ce390eb795516a9e9d872fda65b8345fbbc6c7d6dc17016d9c5072dc47b3da552f6370f7fbe9441a6e3c6ea44f4f159d874ad1f2ad8a68360bb866497aaa322377c92181335a14d87138b4b6a48ccb1fce7ba766b9fdc7df36b635227ed73f63395fef3f8282fe4f384ed1ab7d67d8b76d21693b999a15fe350fa014ad1af1fd0f0249cf0d6eed5afd97e37cd8c729f0c84dcd2cf6b9e5cd7a1bd916b0fd5a49f1bbe95a941991872ee93cea7d3fa1c97fd81f4a59b5e9119be9b9b763f56eb536a4c3a7bb869fddbd7fe291d24e2fc595e95bb241cdfe5e154caab657f2ffa2ee3a30e1bb53672db9f8f7dd22e4a2bbd9fc3f18ea1a41ff36ef708db40e0df4e1e6e5335bbdb47625c2a9ad91e97c8b939da65bcdfb5935fe3d0ebc79157e2a8f365cbb595fb755a1fdbfd3a69559ed71599756ddfd7d8a7f7edce1fd9d9a65e91f0c7ffc78496ed3ac455dedff21f76ccdd5fad0a79a69f63613fa9c23e78e85a33aea49f53ae770899d861cf45bcb72f71e80999a3cc224ffa4950680bb979c295c0accd77276796b12a6ca153eb17c642e649dfe6155562acd85b398ed5f22ce47baaf6792cecb2d03b66aa43841ecc79b06dfdcd9e902f2596f107fe29a94a35a1ff3fcade73e9712cc9127c97f8cbec8656f90f5a1000a108b536d6064568ad3156efbe46f28bccaa9a9edd9908b30f1ab8b8c2fd9ce38ecbe6b34ff5c22df565f96d13421b7afbc1dfeb57e4e7f79ff52fe7348bef35be85c4fb52c73075fef66121ddfc6c7fde530c7d010abce362e0b0093ed855e6c34ed9c2bde8025f5b3e391174faed53b07b71627a869ef01b2f1771a17449eb7ec68eea5bfd9b237cefb9df23d19d234fdf926f3c698afc74503d6548da3746f8f821f03d0e39f8f8f8accffd4aa879fb92980edfdc774bbafaf96f1af5bfe49dfc1b4e40023f6c78f85d3f2ef67e562cee4b0a0bf0cf75ea5fe77f7d83f16fdb3f761cdb52f67739d23df08ee6cdc719842992f6631befdf9896bba6a2d08526b5272df5e5dbefb6fb8c01504a5ab70abd664f69f78c61657b2f3f7e2ac7becbcfb882cac8c39a90617eefeb634419b2967adf7be63a058a3f751b7e628eef7ecd747a1589d416d3cbf5d16a60ebfc688ff9f2e6948dfa938b90ecee15216f7fbc5cb1474d5fbba81471fe1777f8e71c153141ac77db2e5fad87da12292dc2d69d19c4da62f878db6e3195de3c430119247df7f9775d8829fce39f3c610d110563e08f6688047e2d04be3507be2604fe27f6af7cf304be9a2a272a4dd6369f7a487d050e4dab7c63f6f7384b7dbd676005fac1db72000b6bdc0a65e46bdaefb6fa1d4f6245fd8d4dc0c06b66aed5b7b8d587d057dedcf4836d98f73e78194273a9de633cf29eeffe028666f1e9575fdcabd491970eef3a7fdb99374e0c11a548c45c08c506cfbada0c25a5083beb27aefda3f3ef569d74eec279d6997ae0f2e6cca177ec8187aae1675c14bff1a4fea39f56318c81492b54290dfde088bf31380b7fb146e8177b8c28e0efedc8833edbbfb148e461700c375568e93ff768d6b4a5be76437c632de1e47f34d97fc7045cfbb3ffed7f5a017c6381dfcf497de69b6bf379ceae84df7155bfb1c6e79c36fd70fd4fae8b180e099c4b617b40095c34213d7ce366e517fbf3de6f5de8cddddef5567f318e98ce31fcd16fdb8fae60625d2c52e5a71f7aeef9c658c93efcb52f819b8281d333f2a022809f7c8828439c175dd2363f1ca4f959579ac0038dcff1f2ddf6c2a2fa3af2b657ece77a74f9e63959d7efed0479e3580ce4bd7fdd567dabf9688dedeffd569174dafde7de6f1b7f26fbf27dae6f6d719b42a1a5fcebf6372e34c49d69febeeeddbf53efb9a49fdcb19f72fb6fae3f7fca9db0ff36fedfe5f2e9256ddd33fde2c1c7bfe4357dc7c7573797f426a597fe8db97e62ca4d92a77d8c984b2ab925f3c665a23b33deb07ddb6f193e1a1ddc7c38c7bbbe38f8b3ef5bbe13eadfef99d2ee1cf86e17d1c377c9fe9c2b1e45eaa5fd976b366bfaf7f10f96e1c4030ae1b4f870ce4f1ec8f0d1cd624f3823d8adff851bfef04ce6bdaf5d9a247797d0b38a986e96d0cb97a03d8ab89dcdd8737bd557b6f88ba196d0ff7087258631e8831de9373e52c0c09797447cdbb9a3e124a6f8b6e9e7ba26c98bfddd2f3ffc916e3e1a44d80a6b80d4d227bee76143901f7fe91549e7cea12febbff305dffc3cf2c322a6a96f2e8d0dd5a1cfbcfb1594b44feddfc71b83e845c84255d2d572f2e6d99fbe25ab095c403fd81c0e3c54f997f1d8e9cb775c7ffab49ac0d4fc7d27610dbd9d4b10a660107d8f450a0ce05c4910e6fc8939ac8caf838107eddc7bf95bb3fada20f39f720896e4c3c9ded8b2b8525fd993b6b94273b852580003b8f8e02106d191c88396cffb23e910bff15b9b2cc9c7ff0ce0b75e7fe7285a43f2d5c9df5cb2e73a77093aa589c5a3f8be87de737ed80488b5bdb1dd0f677ca4f03717eea329b7efb1903cfe05cb7efbb81e78cda97ae19bfbf4a187bd31459148cc6f6ec307efe77e7d48c3c2ca16c3f3f2c626a1f8c56e1fed1ed67fe73ba9ef3ea9feadb52bdf6dfdfce45f8afa4f5cd56a78f113b3e97e745130f0ad2186d137e63adf3effddc6c97ed4492b20aacf6cb1d474318caa7fe7a47e62fbef6dec8399bf7abc104bee1a22dafd07df5c014ceda1996e1f8decdd8e12b3c5082d7e625fa27b71d2b73d63385862b16943d30543cf05237af82ed91fcde58de37e305aec095784686f3e51846d380427347f3919f4379f80b1eb137790de3e4c9f549f19027881125a2942da2ae276e9194f19debe96f3142879b7cddbaebfebc17bf201dc809989fd0b9ffbc4a573eaef9cadf3cbab035f16be79749a168a4591b46f9b5e1411a2147cfbbf68c04b2aba684a1fbff3c77eebf77fe7917d357e3decdc356eddf9ef67a75d8c3050d20acb87d3f97ac1784a1189c2c08843138af5236a29e847334322b199634913225828829617a36fae73c17ec6fc27ae35b11e547cdaa673e7684fdfefb525add0332db4bdfd46682a5b6c626fdb02065e587c73ee9a2b36ddfdcd09428b79db8b0f7e0f4b088911e5c3bf3fed2cbe793ef5f6b53d237dc6b29e484a91791fcefacdc3dedd23f5dff80dfa2baff6b7afe710fdedafaa8885fece31c9dd2b86f529d9a9bff49937aefbd1baac8f4f7b8f85d65cde383281f526ee4cfd67ffbb8c75e08743483757e6614508536fdf25bc3163e0e5f7f732f2ea25840530344338f2deedc9ab694bcda90735aa077d38effb1d54ff5d1789fe17df2aa12f9e377ff32eab093cf31ec0c29288e9f9c973a0f52af04de1272e7f7f73d2d433976facbff9ad535ea987fee642b556d1d2ef753dd7eb184ec40f6e83dfb8e7ddbfa1ebed47a38fc666350c6c416f4c13c3a8fc1b9f2548a086ed270fed6d33aed03385102eb60431c5481496f89337551471e74e9127f46c5b14e9bb0ff9c31be38a91d84cdf987e312412b3bdfd6ed2bdf1ee4fcefadbaf7d62ec699f740d1cb74dc1889f5c77f99b3361159187ea71eb82294c9dd1f9beb7d284b4bba55f9f7ea61ef689d3309f9c1f6a8e19e68bf5df7ea6a5aee46dff5af7623a7d7fdbb0243fc0186e3e5ae84ffc4d7adb848f2dce8f1f6edeac51e79ea1676a69277f632c3fba1923bdedb2a9fed8e5df7ad3e3ef367963dd1fcdf39fdba9fcd4e1cafed69b7de5fd6eceef7312b8f8e6207cb106fcb1237fb7eb92b4c21bebd56f2e18204a91d2c537efca77afc00c3ff1971891b56f2ed457ef7afb1ef66d874fe8c36f6233fd9421682984ed9426913e31b32af0503e81a12d3c1830f4a03df4dfbec07df3a10f86e23ef12fa6497e7cb2ea1d5bba17708c588dea374d60ba48e05bdf988ea7609ca71441577fb5a0b679e31e25689b2d1205fc5387a232c770a2fd739c311405ec5f639669137af37b1caca1f4f5e7a11956df9880a907b070452c74865e3abcb94652e87fe70d9f7f7ddbf093176541b1cf7c6dbbf7f7baea7df286e5f01bab5a43ffddbf9b369534ed77ccf7cdb1425fb9b8df18de4ffbc8ffe4e36a3fb9a34be8bbe7db567f30f21bd7bdb184af393f38f693d3909c101cfa0af8d14de9b04bbde6edc3b49fef0ddef8608b607765e1e26db7df9cbd493a0563dbef98f9e8789e29459e3e049f6f52de58e1d8e23d5c22df02430f9562dfed3edf7dd0cd19bcf9f7d73feb492bd4d14fbedc9727146fecf0e1b6b1d95cefb67be3c8547c3e92b70dfbe48a59cd579bc9a504fe9d075c5c9107feaca75704bfeff9197b53f4b6cf3b744570f3c145714b9d6ffbc374fa1c7a4d17d1fa15fb9af68dcb7dc7d2e75a445f63245d020f953fc710668e914448dffd007e8abfbf0bf96029f8b818c93a030f7cdba8df7c5d7873e91846b5a0a5b6b71fffebbb1558397fbeb199234f6f98f68d97dc2bfc8cad668d3ced6f2d9ba6fec96fffad39078802a5e29b83bfebc27de3452ef4d28e7dfbd2370678f3c042f9d161a121143f38b6fde8c5be2c7ff2e258a80f7c53ff67ddfba3ebe5611f23d6db362b5f6d4bffe80e5c7b1489646dfffc0d0ee3334508bb27db314d22313ffa88a9266f4edef24b021f6fceabff8e5ffe1517b58437c7fe8e954f0cf3275fe82fbd1383defd8b45d222fde75cf05619beb195a18c11e5778ecabb4eb7e4ebb7d637bee4c4bfb6af546ae6d0d4dbc04385c8d3b7b8d3947f8e6df13f5ceddf62729f78562a92cb8f8eab27adbbc448f8d1fadeb82865f47fcdb9fbc616bff7f4ff35472ff5e9cf7ee1bfcfc9fb5ed3fddb31dffdd13edc9fe77c38d4f9ee1f9f5cbb2f4e76febb1cbd6f5d2e57227e7dcef73ba0e6ab497c71d23d1205f08d7ddffd3e33a9775f580298428296c27ebeff127ef25ab4a475ab777dab7e38c45d337f707a2bbc79d1cf740b1200ec34fb996f81a6b59ff97abef335983447dfe6cfcc103ff30efdfef79d624b9f4660f94e6204e35cf59dee878bfb872efcfae3d7104d59b7fcfaf37ffe32eafcd79fbf7efdf14b8fdaecbdf68f7ffcf12b2f97628dff33e95b60eafbbaccfea32bbb2a02a6fa3fdaf5f81388fb7e01a279ce9619583660cfe257df2d33f08afe63ee9b32fd0f0a04ff73ef5faff713caeed5bf9769b6446533bf57bbefb3fed7d3fff8359757f6eb4f08446112fce357dba7d9af3f51f8bbfa5f4bf9b90e0661e83f20f83f60c281a13f11f24f08fa4f02826f20f92708fefae35739ff575a4ebffe7c45cd9cfdf16b3e3f0fe5b2edd79f104e10040c237ffcd23eb746108824fff8a5376557fffa13fae397dcf5bffe844114071194fce3d7b34c7ffd8981d01fbfc4f7dabb2056fabe11f8c72f234aff2bc9fbff027ffdf9ff807f7cfeff8f3f7ed1ef42ce4396bc9f69bf17108e8224885118f6c72f7d7eef415194c4481ca4fef1c72fedbf3d1f876098827e9f4f4030f8f9f78f3f7eb1ffdbfb43d45ff7474018c74804fdc71fbf98725a8affcb67d8ffd2084cd327f5fc7e79f2bd517f9b080529fc8f5f4213e5f3a736c4acfb2cd5f9ddb93eabe6cfeabb76fec73fde1dabc8a64f53bc5be717f09cb36906d2becb8fb53b81bd9fea7988920c98ea9faef6cf3dedd71fbfe476e8a7c58896e25ffaec5fc7b93ef91e70a229cf96efbad5f73f6b5ab424c5af3fbbb569fef8652f5193fdd5473e5b5616cd7df73d57ec85b2c9e6df677f9ffcd726970d7fad3bd9bcfcdbd9ef5dff7685d6a7ebfb79fff3d74ff1ffbfc7d8a7b465f7ebcf655ab33ffecf2bec5372ad4fff0fab37efffb3edd3cf456e36cde5e7eda1ff84f08f19183e25fd6d23fe7f0bfcd31aff17d6e11f7ffc4aa325faf5e7af14a4442bffb15d611afc4c43c6491bcdd8a89bffefa7a46144abb1f4cf6fd57d363fbf259cd4e525f8cf94b79ec1db6a7e0e49efbb30287dcf8dd381b44d7b6f7bfb5f9706dc43725ba68a3de1b3737dff99def7bb1ea437dd74312d12e47d66f129dc778aeeea6da3b9103eb030a76956da69da930e9abee3a15882dca07cbefda56961fc5863eef393a6b0589e5a28167de8f134ed8dfd5fb3f0b0266feec112891098d13413cdef421acdfbcfac5916bd2f1fae4bd3c2fa2e19fb99b2ed063216ede1225464124dd37ef5f995b377516896e69d5cc8e3565842936632ebf3a4fbbb52eea7b8aa16b6c7880ed2b440bc2f95b89aa6397ea537460cfc320960260f4493ce9b75031a5002e3c437a4880647940e9b44fe5487f99d30ee5d9b3fbe88a1698dc33fbecbfcbbaaa4cffd0a4043927de6eebbc6f53b5689bbc6e5dce8015a9d9f0b47ef1a27ee5aa5e78c290c53596b9c49052fe0e80c83036859cbd0a315f93bbdcb60f90083e1b8878c1d88344fcbc2c5b52eda3d102f832a1fb2109ab44979aecad705a424f4626ca616d613879f61df86a36de93358c3e1a425831ace57cc8357163def2eb1e75b5c5ffc3a94324c7292d7d8f6c0f1b6d4324fab7f14a209d2b44329d765a4d4b515777fdb107cb2b357fc72b7ec205e17a2addded45de80a912e5d83a5fc5493901bbe9a0acbeec96d6c94450a754a3ef08534c22859ecb9288d01c7b57b4e8814c2fadb26ee2dee41b34acc28cf373357b176b9f0a10127af8d243b1d9447752dc9886e2eb5203618a62c2131b82b3a720f66779da5845dcba425949f606e83b523f09f2b5a13bb0effede57370dc002e0ca0c14746eaa41a22e7977011d021808e0e15b99012d01dc2943495e28ee933e71da10c0e0c86cbaf19130726d9aa0fbe04b64134c43cc33fee24bd0391e8038deeeba2c9c9bd091cf880c6399179a7225738b01edf56434a16fec67794e47e9e566870ead1c9836047a84e49d9ce411afd8bc9d0a552a546d11f384d0af39b9c5cced286f4795f60d058f381cdd20831023e2f0f0eb015b5d94d43dfc7c65eafebaeffe5d96d8b0c2cc0a1b997d90b0d7918c87563ff4a6ef0ecf1942275415d24bf0e77c7b92eb935eebac3bf5572bfa6c72612c8eb907fe2c609b5115bb99eb7bd61cafdaca122fc4bcebf4bb18ce221223ae8d905e67c7aa5d211863c32d5df71cbb73eaf2d7e34892624cee24e60e2028dc9f0bf424a067210f4fd01e44ce158f7b8debeedd70f9dba0e84f5c77c1669c87b11cc6a1a6c27b347ad1007be3da8e89377aee38a563be8cc512f5af68703073cd46f36c32011f4c7cb2a7a741b961fa24dc515e47bff2c6b0749f253cb9451e2e78c5a526fa9aee3ae4535462e037012f187c386e390f8476d62b80abdec621ebc307183578ede2a37bcb114a18a9a7f71a17c0f5ba0842f0e3a09e8fd7f012e0bc04acc38f263555db15323cdc7601c7ac960827818467d2f4bc2163daa5c45a51e78d58382495d68b3a8fb857894ed9e6ab0b1d84f657becbdc95442974c0c08ba853c98245d437f0f40195e144e7c22ccf175c1b1da5cbc2bc88732c6620dacced9a827d0a0cd10c0cd6102bc0ac66e1ab9d2b05393a3d3a98390ace1d7e200f9932a214212b946c7320d75e47612cc7f5184603f50c8ce1704bbdb1eacd1e011005491879e0c50de86ef1c563847d8700c530a26cd578db649927758860f9cc773327ad5d7b0624eeb4a9dac644a7126b420c4a280f4b30002fdc122c559bf85b744b9255423b3a8e16a04c8ea5aa8027e61851266d8b3fd01a30e400c0e111490e98460ec4cd02afb39bc8fed9dabd9f3d31ff5c5e8d37010ee02806d62d0ffb3abb10b6f549d11667282f78e9e6906b80f415e08f046330827108c544431fef7497bae06ee44004cf40345d1365ca1f4f04ec0c2cda5ea50b5eb7fe11128eabfa7c420c59f81a536c2b5369429828f646f26a96e7baab033e703c090c938f77e96db9dd463eee38bcaa91e3e153e145f927f5bca798d3bc884e24e04e8c07c91f7d644c8c8c478d0c4455ca1128707d81934a807a942cf1c4758d343cf6ebec5eaf9b0a5ecd3a4e9b8c5d0e80806805978f87b59edaa9b2b718f00e62ba97135f4d4eb925ebfcc0916c68d2f8c54e22e6b9f8aa86ee90176e5fb803e79ee69813b1ad2f8b6ae0821f392ce058cb40ab941079353ce15213d9cead14623be9c6b0a1187319ecd7c0fa63222c9a1159fc32f0af419f46375c183d658dd4d46ff51dce71ff4938382de315899713c586291da55673cb9fb7eaa2b81a2f1d4c38289e176b4002151eac2a8c25f097b57037bd7f88a04ec07a3a6608d8e220bbc36de7e539e770f165c5d73a77fa094795e751995691b08a552e56755725348530e4d2251e571136ab5a3dfc7622210bebacb0032e697a6c37d3b8d4e9d1c1293247853aef5c385b81af7bb2dfcda665a01d4f16b38fca5658c81621bcb893cfc252956e1cb1322f04d5a95dbf117cac9f8c07f0e9a5c94b2bb7b1661a3e8a284975af510eb8f1f7577e77e6ccd798b643ab3ca902a0b833a752c17252cd8ca43191845e7452f6fac16b716e4a3bcddc180aa6816d37abb9b003b668e99ce9690ec269451cf94cadf914e269c8e5f9a693f9fb5d4ece07ed3509733e76e7968bf298f3749f3340cc6404edcc2d4f849adcc234b3edfe80726eccb275296131ad812d5d0c9a42da328f698cdeee9285d2514c2b4a2e5f24bda1596272a7960b7dccf072c974200d22f40c14652917fa5a8888c9b0674ea772986b7c4e44f66319643751aeb8c09811b38741e1894613eb9a1bed14c2980b2b15dbd11ae56ecfb9f2acb9f3d42945ad1a9a1a8c4591d759c99afae136ac30e8a1a2349a32e8325fd7f5763246cddcec0758fae03dd8805d4356aa41360d677a974ce824044a1adce90d46ccc7235ee18e0270e6e1120406f8da09ab4cfdcf9a41a69ce466b681c4a798a65fae0b3c2923d52810311682d98983c2afc73513233c43fe02db6a44314be9c77c36ab6c3a333793d5762fd099d9b46a1164955508f25ad3b6932f7d39dc2719743ada9665eb7a30277f67838eb30002bda11ccf7317b141be6ba4d91a725b7d8bbc149f469ce8c62d5b97a55a5fb944de8a3022e8cbd793c4e9bd3473ad8605f4868f2c26a14ed905a2a20ddb05e7426b420acbd3332f0aac1c2f1ec19856349e1f2c8a4ece790717897b6ae1daa258d96e1942c6af700b5c5f9800e784bd7d054a2a80004175c34bc0eb55a16ef0641d491e527278674cd1554fde75b381ad153709337368cd27673503d94d11296b45749fd8c45bba9be8f6f1a1448646e8e6b820c99e61365cc5b63ddf57b37d36170fae079eb511d2d8e27918b94e892593921ce274eb4d65423c02c8e371407b782b6e71378003e679be01f211f81a5143a27a7f40dbd74070d1b80e303ff556476b9819eefb4972e1d1dca698ca5ae5485afdb4140e8a87094ce3ca16dde03c311deeae89629e61a4438c203c02793cf791dc0cadb0fc5606d858696f0986f1d023efb09bf89a30cd480a62030aa3af1fbdbde605a214f78a545e89336fe8d6dc034af368a1b4034b6a7322332bf7b57372980fdd320a8e98a524f1c4a8e1e2e23baadc16c7244bac859323a308d4e52b270f05c4a235177ee04470c3d73b85b346c5e9ebdb61570a5e2bdeea2c5777645b858692730091df164d0a3c70b882b87c7580eb713c7d2c0abdecbeb86ef30a5678757850e29e112c3f46fbce324a5dba96c557aece3f9f2ecd2b63390dcd78f0fcb5db0cbd4db65cc6eb4c4fed5857fe12e892b9b2c3d0dee57a1c55b685657409eae6a9581768e169fe2cc2f2a1656a113e5b0b505f4c784cf2537cea01d85ef2257b37f3d58f5dab0cd1e89513aeddfacd6fc464d8e26578aa418b63f04985c44a5a1be2544e6c858501ce3159eba95bb08cd0d44fc5b8dfebfbd16ff77a0a9ea3672a63ebc5eb1860c8b352db29e06b8ba955dee6c127978e576f397cc897d7bd1a61dbca9760762d9d57e9879165563ccbfbaca48248537d7363b171b472df5520fa258e3233606ba9ad4faded2f7a228be6d9c3531f091abc99ae1e30be3debe340138fba7ce168065448dc597bb71b58c2c4d5bb8f30447f438d5b804202d1a53484107b79769bc17483cb45069cf5fe0233ba04f92bf622996585d70c0e7169becb21c435f81a43b752b76cd8c4c3f2911627bf4f5a3e7a42289409abcd6333174f118b1adb92b50a66a379754b238438835104eba04b5bbb22d995cc49a2e53296c3a5b22c5d83e569e6e7d3efc1f15946135304b697f2a1d8c2aa16906ee66299d042f07db5a00a765375b45fbd3b79112e5479517a8acc270e33046c2e8847fc8cd0d20e9b5ae4d0d9db51459a19a4aec540a9c710ab7ac13defa9a48ab9a66bed391fca93093cb91f07de77f94774045bb8c877bdf283146d03a7e9eb711a2a71bcf75e1c3181e30aaa0c938fb32ca1ead6d981bece7cc9b142ff8496987cb801c620b4ee92bb421b1baa9a959bc0e63d016afbf049accc5b8ace8f8963b887aa892917dbe451b9c0712ed19116aa07c25942ee9ecc87e0d15911aadc4e3337d39ef54b6fe1dd8687f54198542790893a6b83935c5b10b274d808c71a577a7808da457cca3383740c5f6255a04f82b18411e360acb4c7c1c8fafaa037f1c292336fa5259acca0d0db2eb6647200f57b4179e8937a5a8f502a0e9f70b286c4774a495aed7c10324b24d9a81664cdc7af6c1c665ae7bc704b9e77f901dcc5d95eccbb7254d1a6809a6083152f482b9bb00c884f125d22cea6468aa726cf2d51d32bee3932a0721aa05324bcf2478dd575553f5fb816b46c6882065cbf7afad63dd6d731088a7be8acf90ca5c46cbcb453b6c636668bcb654a8fc1972dd0972adce103ba13fbad2c3752e707efae38179df401bf2997716086641368efa6f28ec512c0101dbcddef82c5de99415800853c564640e69c9716676e1817e5e939a71d15254dd6f19adbc150bb943ac65cc40650408c41ed3c662a182d2c575700998dc15d90abf7c7936d79ea3e8afebca8a5ee498a101f41971d5b7f9b25ac53f7a1ea0203ca45c355d7577abcc882aa1e0f91cccdeb58f6339ef7aac225e8598a8682e47023881bbfdff6c98c2a8b54c814ab90a1adf918e719570339318bb09886ed7b5aa34f055f2eccb95361832d0c28dcd4ca6be2c423ad4dbca566a0424a4e4614ecd2b41ce0ac39963590340acc2af1e95618dfcfe3fde2c9bbfcf4bd90b3db93ad8c00023dc16de8db0b763ca403f9f4c98a6a56deefb7461a59caaf4daaba25227617c0893901d3647b5e21c86860c9f25469a85b86cb4bfa442e641665aefa5e2b41e3a3cd10a4d502f76d18c080fd748312720591e26c457a394ff974599c6402d5a64c67b00999858d44bc08bc6f86cb13025ea275e72a850ade95f2e9084fd5ce89dce3cdfb8dece4a12e3bca594126b41205d83a67c9012ec3c89cef756dc805efc131c57cf3f9e499a4fa6a3a0149addb537ad9396342fb28c09b3c10a38c4206860b85fd9cf879f0d53e674f1494b8a37d027837a492fb32cc5bd2716f1f323a41effaa72b8a9d20f8b634d6a9a666b296ad92eaefaf634331557c30b23c692201d64a2b8bdb6d20d4fed6afd4a9087154a06e1a91e0238d1db8f482395b0490e6ddb9c615dfdc706b6be5e6f4c45bd8aef719539bebc2b5a1c75828283113a46e83ed02abbaf874619092afe37aa81541ed0252589c7ad4d6ce0d7f48a8bf32c99873347b170f8ef4f05bef64dbe2f06bd9ebe63e8ad21d025e446cf1894be03c7b1fb90ea179e6cce8dae94b82a85600031cf83a725ec84bf131a8c842b00654b23649cfa103d5ce0343c880d0aca4341ea819119ae3cb7ef24cf00ceae0053c872b29770c3e5e2fa53db28567cdddd1fc933c2a452e56027dce3c8d3cad83127caf1b5f0b8c3743aa393ea3c5bacaf0f9d284aaae91a0539e0f01eb8f0ab26e0d7ccb9f973f4ba99f3ad4a58e5b7fc767ca49e5d670cea7da866c479409e8ab182e37aeb16668cf5ca91b8a5713089091284d4515304765c7a627c4ecf8f5bede206d4e7b90cd8291023c4c2ee2ab57700d002007e094ac5bb69caa3ba9dfd2fc30cf11afba989225370ed1fb6a51020c8176a51bf16301622366436985dd70cc9627e4dbda0a572f0e9211c9b0a87e935f76cdcaa5b8024367caed4b4309b91609390d03cd2b40cf569c9b7f27d19c85f6fd75299584150e91a0b3e2bb9c11d80e19884fe9dadbe5055016a157e43e9f16edc06ed63b0f07f3678c025ca4eeb373afba7e4bf2ab8eeea18fec770c088ad60c91140874a79909a461aa9a900ab228957ef3ab88f26c6ba1b2a15c4e585add98ce6e5414637712c1579b2dcc68b15a57d4565785c96ebd123de15b9a073cc666d27b615ab643634af3c803cc9755654c77a6a745c73ad89d569b2e42ab936d478e74a5f8d4ee7c660a27a139e56b2d2fd7271d3c7a5a33f818079a97f871a0b7ba974586cda95a872fae40c8f501de24e4b905fb0c7bd10919173fd4b3e780fbc3badd5463bc9d50e9215930b7d5e3d9bb37e3911fcf8c4499a5e604fa8e013342477bbb3bca58220fa77b29c15ce47520edc3dc960aa889a4aa8af12e8a6e5f28737985a69cb3895773b68d08b90e14957c1c6ae4234077b68caa092c2caee07869e3ab8a69c9ab1f5267dd8a3884a8dbc93c38001deeda605103dc3eafe151778da560f8998cd37ce9ae99f31c35188160ea91fef44d63ad9834aee9d2e882c71d6fc90b566f87b19142edb48b2d6bc8f05487b9316fb93981a6f50a071095da1352f846c59721763857b74fcb521b1d4fca855b68ff752b143629a78c12f94979bafcd57428b4a7bedbc08eb4a5bb6d6ddbd98dddb83baabc5e160b7b72eddd6d4f852c3704cbbb62f1b683315ea02569f2f0bd3b094b660857af54a681f816afd842702fcb43b743190cfbb1156eb1acb5d49680d2567e2bc80b64e7115106bcc6ca60846e8592a293ad9afaddf24da532898455bddd4b1a4eb1bc1376b2583c1f95c06a6ce5a1926d5f6acdaae16de2b7ddac42430c7bce86793be1a8ca614bf650ecfeca39a23489c97611416fe257148f252e468853a0cf8458cd3d5bcb69cd5ba9c861b345f18129d6c70a46e5e6a9001979f873bc1537e2fef28eadea6b4921d2d68ebd94ad65ce99f3409ae9166289d1e4e3cd9cb5003c91f85158acedb8b55e866cefbe5e3bffe2eb7baef00d751f300b3cdc3b630af7451bc153125dd79a0d2341a917487818033e8ad28ce89b6ddd5718330199b5ed2145ed94cdc9bc00687c57c6187a693ed305d49111552531a639b72f13b68e680e837be80b7949279308b4ca16c2bb69d3f10c72e7183893afa82aadd02e58b9ac57210c8fb410085dd112d903aa5b309d8a01492f97ea6f26dc0e96de946ca4f0580c35681d546a863618b3934bc00321bcdd0b850214df6e2317eda4e0ce6f4abdc6fd2e39b3c1fb4e3a6476ad5adaec5faeaad4846cd776863dfad29905950675dbad02d842fabef11c89634fae105a5ac88bcdb6f69e61501c05f531f6ceea7cf6d8b3171572ad7c73b5d79299a2c7148c77933eb5ee6c81c5a2c2ec6e2b9aef3eea46879f9e50dd6390292dc3b8fcf378ba2470722dec9feb83df6e80746e115065d13e7298d79d17b1556845ea49b8c80ea7d176d8d5064d328a770ab351678c552f99e0e5a6b8a98125166e6cf4305443971f70f4dde2ec2a668e3b1465b7ce2acfb987739487305d880cf2f9b853656359d8dd9e5dd616b2a71b3206152b76ddb6a9da57ed132fafd5e6e671ecc3e2b00a2ec75cc5e635b44e0a4ab5138178d69328b875a1def4d72ecf876d0d4da3745cc06925a96d95bdec30389201e18684d4c6ed110e9ccc0761c0f479b55f5b77f7a9d2e66f5e3dae4abd589e2368de5503cf30b774511067d800e65a744844e81355793abc4034213bdc33396ac05b9da25d4914d66c31cf85525d17e355131a5ffd360f877a4bd702421af050048f3d3d963dc8ec79a795ad9d30ff2657f742bf001db2eaae065ed3ade9f9c928b4a5d293d6485cd72ab1be69a1c9359f37eaee0386d7b32c49e76071fa3325636c676571eb4c2e0601486b7aabd6ed559151714df66a09dfd111005680f178d10f2afb94a24e58804152162bc0a685f7c2c2f7d1f482d12749c778f1ac63d1bcbde21e5ac6bed315d88b4ddc85baeade197d628e209e48123ffb7209d27395856e15d23e4fc375a86b8770768fcb8b2e939749f3f1186adc954f479cfca38c6aa0c5ca1a29e35806dd716dcde37119ebdea462e68d08e3c63d11b369896ec76dc56e7a6a17b61bee9ad83f4c2004e00ee3b590afcda9b82bc36429c8c3177943635e360dac43c3bab6e9de0a4a7d44c731d353efd87dc92186ed9ecd7ee871226ff309363d66e1521d631923d83507545af47cf03dd1c2cbcb1c6eb4911f977ab31fc99c05ba50afcec9d25a80647644570e6fe3053bec26b23377fa08a6e049d6280de195feec58993b032a35b7c16ddd7336dd3a3f053b566b84eb31ee552c5c4ce2378c52149f7c9dd0ed56e62af5b0ba63557730062d4e821abb2ee2b68b10e5b49f0acd7492c4b3af47540978be5578dab5cb0c0f4fd009ac91c45e59b170e791652fcdb8a770b24ee6de58d49dad31e6954ca266146aba08264f6671efa6c5634872b9f05cbdb43715cfb30bc689004097dd4e3db2488cd4d7146a2bd4e740db71ca19b4328cc4d364b633a3a173e3333865a50e8a946cb363d7f0c901221f50f470f657999524b6f97d90b1531f5b2ba98e4ac2bd96030da7927490993ea0ab083aafeaaee94a6f155001695e84eee6cd0362700d402d83ffa438fce418114197076e5f0ca2b4ec1d89d9382ab034ad44a3968526e238ad2fb39765c5c582017720e98c117b2061b159304280c012b9566e4eb3982dbacedd7ad0c844cae859b7d92dfdeec6c0986df4907a263ec187c2a1979cd9512a390f4317d603649c84a13634ecd3aaa0ec878b80f86222c5f0384cdc9f1acd9ada2413ef1668b41b092c1c29794f189ce03a37d07632b7e67cd9701291ae7edbef14edc81b71d98d75b7a9f065ca24cca7fd684d9c7f2b528b0f859ccd2763225fc14cd6ac3d6617784881363e304987bc925e85d7c5a3226a208c802ea2d9395040c029acd4af0717dd7ca481a758e0cfc44b0f18f11b3851adb0cb6e96acd904a7fab49f282f8e5019ae09c28e8ccb6b4a871a96a32966084b327d82b58a997db2f901858196960f1ecf490f59389807ddc3c908cf4d839eb7027e444cc927281198886c2249e31a0f5e6b44114457301e109ccab759df71148fadfb283d85d1ba1f757783d8b24d0d44cf5a82a76f28e425839d18a2150048faba2132a2dd791d532cab77657c3a0fe625aa2fbda7fce7d03a51b6c37e4c6afbcedf6e8d4dd44f7e2e6cc2a36340bc8f06fb128dee3505bc40ca0899c9b7bb123fdcc0b951b941f194f8102fdece1f43cdc870ca7a4fb83524c2014db007f7820eefb3f752417180248ba37a835a0cebf22ea823d7fca80463cff06a7add6c6fae9dac9876d57df536c1368174b150787856a01474ca55e8e8e05c78b5d5b396dd3c7972bcac8fb2f6d2ce514e2e199fdba29faf2d77c661e0b012e134bd301d135a2d71ca2cb845e7181d5b4adb3b2ef5dd4ba76cb481a8b2ac477c1d9e779138a44b7d425346ab90f8944e8eb49c6e3199fbd3ae56ad96e5b2dba81b7e26b68adfb7a88eeda7910dafe783d352ab52c0fa7687a7acb75a80e9d5cc31e79b5fba20da7b7b32e70a06a7048412444b3cb625e3faedb503ae2dc7542d0377f2783e0c2226079cb83b369e965c2b4eb2559b3012d7b6f6c8cd9297c28a26c2b2ed07bd26a1dd45d480604d00f4bd7303ecd80ecab3917034be6922a5dadbba0b14116cb6d90e4b3b7007f3625fedceae0173b31e8e94bb2d656eb239a4e0a30d9df9eea972f07811c769a9f393ba687567d1582e9efc9cc8f1660dd2b38481c03dd798533021d52c9ce46c4d3fe5a1d395423b99868338c9d2277ee0f9122f35d71bcb85c3c6ad4409ff4a538d20bb4c2753a1b4afaa6aa10322f8b03034f3022c913101346ee44bc16c575eeef2dde3c9bc025e58b20b88e6bf6e64765a18fc00f474a46fa3581ebb33844483c5d653b1a132935f9207bb1a7a7113074bc69478392c583cef299a08e726efcba6493e8c279125809ac185cde2a2a994826382b98a7a495a59c63ee76693162f019080b1b6ee1ba7882c47b7f7e5658e58c1368be7dc594496adb3de0b1c122d5ccfd4466aee2ff38560a09a918353165976c3d1945a687fe3181c45527f8bd9b2501197a0fa4a861daae782b4eb79fa3097426913c999f8d54ab71bc9efdccbcd6c477ed9c71451c7d666a2d1db04562e8d65e704aea2aba9018185d6472c19337286cd40d27ec1b5609b2ac10b95f756e119343e7302365e7d7388d3868ad58950981ac7ddb62f9510efc40d276696c1774ce61544acef6a1860cc0e9f2e815df4cd54ee39ee6dc6a42005e39b8080f2349345b5b03244ce8362541c5400c9d9cb2dd428bf19e760701096260b6252eb649ced2249fa033ec0347db2ed14a6c93c567cda132f83141e5cfa605a037f8a59f3f0859c06046da40d514716536207e1e5911974716b8916a1f6d85e0888de4f7b9df70b9136e7b01ff62a0ab7b35a902a7b4c8fce9d9235cb023753aaf885eb538b68833375c654be70b4d175887d5253f55c396e599a38a1644f4f1e12b997d342184f5faf23f910e13a8984a546547729895c513301de1fe4292f39429c76762108370f4e6dd5cd9ee3a332bcae8ec033c912b0271f54d875e35e067e007278c3ed03db1eaf5ded067b3e0f5db307313a9e89629685d2371133be368eeac4008c09823445310c96c977a319bab844eb0c70614a857270718640137b11b8a2142ad3befa9588a1f1798a92291edd43601191d3ee711c5816b166afd06c6fbbd2d957e6b0e7b3042617645d37552c74dd1f8630252ff4cedd5728584465b8938e83127616f7afb273739cbac170d88b86bf3219cd3896935ed32aad348316703b170f32ac4d952e24114174b5a2851a4445444f0dc448d939babd56964a086d03562c8455af261e0ac0acdb51a279d2c168f7289bd2cab762bb29220882fc83320638d6d2e115c2379381c06490d0d2d0a65176305829ac0e77eefd4a52b803305954a648e161e0c667319e48d8de52d1cd6261c94d7a18e06fe44bc5adc5f08f9b1cc5ab9da66aa310e71dc25e99ee6329b26cf10e30c3da2bf61e54e85650933b9d0e295a44ca1111512878af1b963b1995b5dfc0f9ba9ea5e7a239689800959ea6223bc61382f5d556f58ba1111400f8241424c17d187797df033d7ea14b85f7e9c1d1e4a0f06848b7c0f43adbba539f90dadbabc5a52763572a0bd13cd73b2d0e4e00ec78a3b83c6cbcf2fd91af9761503a07a920d51018f89ec5a280dd13ff593ae0932f5c195c73d01293597bc42dbbda5ae4e544c68a9e350c169915ae5b3975c55e00405aafe9a9e7d04d96041e5d55e5e0fc26818308813709d7d39c82b65a3e55df439eabad5ac1be451635419d3e81392d00188caacb434fe28cc636237429ce76130f2e5bcebfafec714e7c6645e0253635cdbbf521eaa8288f85b4226668a5f71e4f81ec909cd762f3580d45455d9e779887a5655c60622a887bd088e09095aaca422a542428ce22184e24e98a6cc530201c4652c43cda6d131435f77054d0857c9ff0ba8d4d562bb4c17b0531730508e9e8f047203e1e26b1108f439a16ded85e137b983472aba6aef212c5000539eba67c5b2ab8f7a638437a0ed927b7c2a507bf78ee40e263d92c1dae2fa1b8dc4abe3ac18b569e82fc7a80bc1e7693e14b7568f436798d4ff4b01acb2acd6004637035af4cdedb1673e9d81e78071cd13aa26cce6d6040cb2ab154ea5be697278f6a307d18bdef9aa51f8a4fb071937886fa9b1ea9f72166f32aaf5896872c0b2ceee60dae4f4336467f22fd48f124322cf7ead1ea3aba6722722719b994467c7a963229f08419b2ed4d6d6a87477df62178cff01aad10a82e5a0adb51b77de2d13f10fa7cd4b9fe74cda37ea0e6c13ad7748d8a2549a5524016b957a454140c0a9a142f9bfc5c6c2c20bf4e8071798f4755b4529e884a1a76273bca2d55280a7eb851b5b1875c04cf4da29e18a38b8acd5b4875e39f7ca4882435ad1b41817560c3543328d14915d55c06195d155bdf89904ca9369c1ce1030e553123b083a290d7cacc29bffabaaba2115c4af7b2cfb375d87863676e51663ec7d7495539ef26a41abd405e5851d63b217de62aed41438fb670fbdeeead171764bdb93536e9dccdab4225c72fe6f3e1ead7ae39e87d36034d96c974d915e3eca7f59e82bc44813ecd6f20744cf9dd93f707301e57139c2a0df7a3c63bfbb4d202a744dbc91817adc3a8e1f39e31dcd168162487f4e8dd4a6ea1686b9ddb1ae872b764d76d2c8c1dd0b5b394be31b9205f4c99735fc7e5e507deb51198c4f93abdea514b4e564548033f703ba1c16387f5d7f30687f1f6bcfc6b96bd960e1bf70c22203d7b901f46dc25f42ca04a310829c38fad3132c95ae6a8dad9b9321a40d27cdd59ed78de1db7f36be7ba49e46bbd2eabe818882d8f8cb07dba94c845cf8efb9ac5ae382597717fb27c48c16032c0aec5c776d42104daa49d035bafd74bf22b9d4d0be60e68b045ca4c9ffa1e0a374763146992a187a8ed780cb7cf20c61a6b4272c7d065bc6bcd087da1309b0b16ee27da7481bb95a7be71060a517155ef75cbac4ec606ab02c5528ff22e3798999ed4f230dac25f325f3f2f38d0152b5a6e575d2b6903300f3f36668767e6ba3d41daec6fab42f4abff6431967fc0a94c68276be2e658ae1edeae855ed38645e5f5d6443abe6fd6eced48282f0707fb8f0ee7678a11482ca7b8ae676011c169ff38c9a0436e161332f4bef2887f85889b892a8c8501afd7a06ac4ad35dcf8b498962b3ff54ea584c2c44b1bbe65a2485089fbca191fc11e7aa94be1a84569e5d23499d00fdbc4a17d94733625a92c448c744e0d7e03630305b3c7a2386ac7aae5993e96aa79181bd0ad780b2dc50bea6427258b8ed9716733161c91015395f6dec691164a6a2393bc0ea00fd91d8bab264ef0dee6806ac606a24a75e25993ad77e08a8e6cf0b85260b5646a438819d62ad181ebcd1b6e8f4c0e63f906dbe09eb570516b2fa6f4ef812de38a58e098980b501f19ae1f89dae2f904684835209f0dfc641c6c7dd000e927dd6af40b21a3fcd6841e03ae199f0cc6abc5499e260b886ecfed118585dd77b2a45fb62db40253b186bbcb18f16a2c9c6d5d19d56e004e4d73297440f660dd12c51e9848514000e33693c4068a83b2d7757eeabafe9119b16a82c1ee1c001a80883f575de471c4438853bcf398e961f825af238927d28eaa83f7d8842235cb895b1b5612ce6b96d4bbf1502c2011171dc18335ca1ccfad45a157ef6cc31a440f24882a19885025e9978a19cbfc1612e75640ba72bfdf477018757a7c9430b1a8297914e3c615a52d49491b68acd9a9c67ace22495746ef8caaa15da17621800f09d506d59bc1f323885be39dbeb3cca11d0ff9e8eae3a5a16ddf7bcb034957d73d52577a38e71372c6b1249a975040a6284f57cff5294bf7e8188dfbf182d39bbf4d02ee01ed63a128ab29fdb8f1d4981a3244d228652a416ade1cb660f7612cb5d8843527001f22219bcdc31109334906675fa60ebbec20622873672bc3aa20ada5ddb858472bd92c6f82acf20822eb2eced7ac08ac9e297dad2df686fae7c6c4be87ae13aa3a724edcc3213bafc86df57c0142b0d066a2be1b605903ab3f83ed003fc24d4fba30ee16257ded132c7b1ba768accbb42c42583b224404656d643516835550d653b97bf68b6ce47baddec6907f96419963697cc6803a155b5aa8b520aa181b30dd1df52c001e52785bd308f97f39ae8b634d010006c00571407fe488bb3b37dcdda97ee76d0d9949f269e5b105b55f1614ef4d7c09fed6b8f165412eb9bbc4355e031b580acee4de60d722ca908615575eeb2268479564ab15b46d04bafa6236aa1b6aab05d3af61f2715bb1ee7b2df809a62826056fbab516229dd0d537e46aeb1dd31b3c49f97c7ea3e5f417cd05cad52c2018702c9da12f76a3da50e2aad6f5da33b1c5db3e7d30f9dcc0d10f413582780626b5a0cef46a201319ca190aa896107b83c76427dce8dcb4fdddcee52493a18ddfea0ddc65abb15b3978046d7b4eace935de42455a2bfa9cd6d6018170639196a1c4463416bfdfc0a4cd66d1445b93bd82fcd06b9fa33707a36b6b4b53f596622c19af409136e6499c4ede0b5fa1bc51ec6c351e12a72dd0149be745968104ee72fb4ba7b63d07dada2cd8840e2d79d9f1dcd448ca7225cbda829167bf676fb5c01294bd35ccde3938a641ea771e0bf93c507faad48d25b3b3d9843d498969bea307e0407255670acd5f891423b5caabe93303fd333ccd0df65fa1554a3e122874ba09d0e14ac6d535c15dcab160bbac236f1de438467d38a340efe6bfe601871dca75141915c5de1097a36ecfe245163a40fa713955582326fa8322f70bcba35c4c60c03b88ce88597e4491214d9dc9511921ee0149a59d359c74129356d261656d7159f1c3c52975eb30c24e3e40fcccbea5142e62f4e3f3d88d89580e5ccb1a2441fc5fec24e5d4416adaa8bfa2c6b3cafcb1c9ab3cdd69ce660ac9313bd8065d60112c95d4ca602a9009404e4993957524ce84f0bc45090c971422ab3a7003005dee999206b24505b3bce1fb1399b55b1a81cdfde06aa69702821e582537ecc73e8ebf26a41e0964e6ca01090f85ef24820b3fbea0c12961e3b59050c7b7c525812caf519e1fb4a29e36e0fec247fb340e042811a494fb8d08daddb9621555fc009d19fd8dd8961421f0767076d7978e83ccb2f51d809522df421a401ffedcaa9d8f9da7a07102596af6e5ad02d3d3c86dd28cec83a60e3372bb082662014c703c77d2094a82cf7548f1a72a08b8040f4802eb4909cd331e85f568ed60b76f49d35fd1210580b8464a7428de526015a1cd0f35eb357a300f2f542f4b71f84098542226e0797c29eb92951f8776eef9afd922bd02273d4681f63b881bcca638418ceae1c0d2324031c7bbf22bbbfc2cfa80d8c4cb3710ea9204ca2d33b0d93174472a2a8fb50fc8067293a75bcbf374b19c03bb6880d44a146ef060122f8ea2202767b2f2aed5a9d8fca495c7e622846fbf6631932e4a7ba601b3ac78fca023209601347ffd2ee113efab7acc6541ffcb22057cc1f30e71185c98850252aae8577b20b4654e40aa0580a2fc3d24813bf945c74f4237edb7b65717555618865d819e953d91eceaea9f702103e81f74c449304b9595235171d044de56fca8aafae67766d8a6ab100feab243a5433268a0c39f55c37767f0b04c01e22f27ef76d6554a579ab2c8e4ca5d426b70c6280a9c2559aee4dcc06e64e8c03ad2e05c9e66452eec2db83adba1091b9c44a8121ac7dbb1e51d7e2197ee2e9123ce4f227fbc6b8b9789445505dfdf72da55e403edc3d51c99a24a65e26af2c4a62bc66587ffb418f7762ce26c3088ad861ff1a96a1cee174adf9243d2328c6f267dd58612cdeacf8338439616035e95e716e6a847b2a3135771b1b8c7754f71d6437353e7773c1730e7fc91e8d315c35a6f3fa56e8bdf026c3365fe62a2d8810795bae239f5728c897c11d78505da4e7f81140daab4023f0c3cb4f24cf56f0f626f6e8b4fd12bdede414aadcd19b21308994fa13499e9004d60bbb01eaed8949a3d4438af9161394ea5b709d29028ae3e4a459cc2393694f40ba8b29bae652677279322ee7d9589647f1084fe741519bc9f1e46002ff89cd7005b9540acec656601e80946171650aefb200cb2d28301c6b41f45c844f83dd3feac5230e631e0e383c6dbb5dd507b6763177c387468ddd36e0ee587621b2cb25c3a4e3ee0608627248ff3b13e5f7a8e3d9a48210546c3a1179ff8798e0f33f638f08f54df81f47a836537e04faa73c92b7580c224a7f8099311af837595f0634da89d7a69c1be45a6ac627ddfbdaf69684470ba9028bd8f82805fa4ceb02bec702ddcd56d242b41ba34eb6feb907292f4e68595654b97190e633e11cd17bc7ef06984ea0c87fa3c22d1b5833eb356183d9929be8fbb01bb84f2d190da7885aadb0c385858fd202c35ae77e8f6918bd7933395915669e71b4ca91a1d355a110f563c677aa3a77e5ad581a1b6046edd3dac450dd95ce5190ac8b88184ab49b4695d9348df678b48d1771f8e547ee46838419c6a1a0dc75a420509c38343fa9eebc62f8568dc867c45d15445da52f85e275f04b2a3050992a7b71200b888621e81f9d9541d42ef888df4a62bd979f131abe048b33e5e9f7b3565efcce66f4171f55bb121eb562a5f5fac445ecead845713837cf1740fe28f2246b627eb01caefbb03c113e078cca26572462552f21998ef39df0cc14d5529fef5279e710d0746c2f9168db6dbbb2f5f37e642846c338bb8830e1c82edd797afde6d8c13a988e586b68e1b31330741c32c60b410c4a082869382deab781d9666e6fb107650396d7ba687b5e4f28360b8f9b390edf7d6cf47e9dcdd72a4b2db44a910cda9d706008c4f1c0a6ad8ae66592ca4c2e1762f38309f2dd5d85c9d7e21f4997f80ae5d4124418609edda5eeaf31bcf19b51d376661446bbe9b5d6c5e4e2ee6597aa7a66044c3c4d23a459232c22c96fc901e142f83cc5980cdeee35a55fae38d8d085ce2907e5150cf0b0c7d1147e3c2ad981f3bb2bed4a3e7b704ee3a586a46d26a0d2f4a6cf8a8b1478e0761af2edfaa1fb006a27ae34b95bdffe617a476d7c136fcaff4b8d426790a4d7f811d247cae489c84f2f004753dff64b437d3eacf009b988b3536d1208c689e2e9478d90bcec2244abe1bec26b87aaeb154699f33c7492dd0b74036f010cad164d4514596d3e4fbe15eec15a5892ad853cfcae6b9a10cf54409ced9cd53b162a2d9589fce14f4f5c672b682b0e8844c919434453d7d0e0933e5a96602f383b8691e39a3f8bebe01318a8eaf3d67b7955e0ef4d7a6a877d0134fc75f3c2730cfbe168a559137ff6a985d0a2f2743641f2ae06d5d745d0e2ff59aba60f5e7f3a458a2ae7b23aa978b414c44589a9fb2004a354cb7899f48795f4e5035eda3f22caed1a65bd4abf6394bd356d6dc3bec738030b2a33c7f16f6609c93368f9563162f48c5e188ef1b2a141b01eb3183b64e71cdc8ab0777fcf087a3a78e58309a63880d4e9d361d7de7d06ce7a5a6348c0fa20aa242c753241b2e10f52d4c95d212e96a98233173ee425c594f8ff8068de948eca9761e036346c26960d1c6beb6379e1f7ecd3b337367cf7aaeaee2249421d427446a9648120ff6157096f77b4173a151de4651340db35937644f2661e7866557c00043b3ef29d0ec58df029ad88ffbb411e8d7b9680d582c55d2320457b59a1318561bd59856275396d9352c1697ed0007c81bc0db07e185621eb7358c7f8fb843ecf74add14c715401988c02d51dc5dab66a2d09335c050b06d3c95d9cb600685d715efee407616e450c552e5aef31685231ac6a9b24335bbf8bb304907ac7560dd4b37a8f235f39ee3f8c56bc10f1142aaf7d1b5e38cb48f3d70b89a57fab8e34b77950b5877e3122ded72b3abe507f386462e03cfe1fcc0315d384d4af6cc746a15a6c3893a924383855ec33b3505d90fe2383d094eb8737aa2eee91f4faf503fb313b0f2ab1b13bd3a9241af865141ef4a060779ab48fe4100548f3930aa1c480fb87319842e07224c364cb8f4bcae62d738b48b1c1135d8e21d8d9461316ed20fbae75112537583ae9c1a66986beeb6e32391eab3921a34abdb35f46000432b76f0a2e2d5c0f16629926bf3cb99a2ffdd23d9aaeb116c0faf720c4dc6415a819dd215603cfcc0de9f27f5746a145e5bb95056bd3f06e05e779b10b74275127291ba6e1c3ffb1994415ddafcb33b23c3176857cfb82ea10c0139f42811ba997872dfba4d67212c65439cd5742972e664da21814192bd81f17792a53693b0a89d5d29fc2ea8396625a2c49fd6e78a9617ac1d297e086a450bea1d91c9b2199655a5fdde9f053bd0c217f9601427895b31b528b8752937b867355686429e1fcc24d438004ee66a097c3e7e0ca48502af00e5569674ccc1fdbb976d73e85423ad41be16c7e8522363c0463c3eacd25eb5d7a4e372cfe875116293609b12e883c275cd6ba8d300d9d68267d2c2be9952561ae3c5b173754da0ae198b84366e11ea211a321b2da0cceb0aad60e437cdd5ec40b77df821bd1cfae33151f772caac4bb7a4856c3020d52f8be53b3fc0218429c44d16cc9aacea23e2d29cbc6df68d4c458d4f4030972b0e6325932a7ef62bea06204e2060033fd4868f6559f3fac1d3374d9b05fe325ebaf6224e7f2ad1d9e1428ec581beca21ba881d124c16dd026f247267743fcefc8e52738ec410fcd643d0659c4c8ec9af0ba1789efd2ec5577f6d40f8d5179c65513063f78b11242f906ef1d03de7da202c7b7c6377291be4cd26cc8871f2e0687290844ff5d00c29d2703565ee1491f265efd96c7e03286d780d9d28cf839217d8c507999968216a95389b5adfc13d23da83da97433d326e19ac3132c28000a9416be170ce379b9e806504b8380bc3edb7c7b1f7b6b44dc70d180bb4629da597193453dfb05e99bdae0bc507f1fd50f8825b865e62078a67c8bd0cb8b8252d0deb268a181b3c9397d946f6a2d6325fa53593c671f1dc64e8cff6458729ddf6e6a0c8d2e1a84625f5eebbe43989563b95d2e14937ff083afc50d50d23bc240354e4be0361b9ddae8e280ac40149a9fe9abe805e44f3488ef528ea91ce42179d6a4504ea31addf29415139b45eeda2f7ca14d83171a9eaa5defec06c76bad4c8a81cd337e43e95c6f10c40db512a9afc396fa6389b133390f6aa397e06e6bb8a25e29ada59764806054724929996d2cc88d7654b710add595cdc1f7c94e671679bf48ecf49c1dbd48e0eeec35550bc331a0fc2ba637164e0166e3b6145976215931ce59416e381314aa2d4689c9a204e6d575914704e64df573ac23c494c8ace4e984dd76dacf94832aae9ed3e4264648fd112c05c1b298baccd69d24a586ed1340e41a948fb33ed4f6dcca15a6712de269df81dfc699180cac190c578022ec83b1a16b6850d3c6ed2c74610833db71e6979611a7fe2aed971db275cfbc8082683788499831e4597169c08aa29d2d82a93d2599d0ed253ec2b5a3e9cf4703c02701e76b8c87582a59e5a4a7845a51f8c741933de180cefe18cee8a31e6d8c4a84b4520c0c6409950fbe4ba71480afe9082a9f6e941299467294ca1347db7a2414bc34a5a5a11580649fa5a5358b3df403d5ae2009a9df21219061adeaa5c60013989acb6c0495b5ae0f556a304286cad90c2eea38816661c56682cd6730f6b88ef26c6123b38a1bb93cda057b4c6b74d7e2e0c1acf144d9658b830e735e63977761fe68a5e2fd9f95a4098bf3679b110106e1fbd96a130bbb61f375c46c55f726f3fd3c0e5c1bef36bb8b4e678c8fe13a134f257ff8c9cd1c2f9179cc8f1be3f642af95bfd81fdca091e7b1c726f12f5c122209e5f6141aa3fc594f9f68a83321ed66077655b722531433b4854b2ea68293753905ba31fabd0d7379c4bfa1e18b48f6586dd50d428468ccec85fa8e157ad0e0a8f340c9e8a48a72085e6885a3e21539b85406efe12684381aa514d56406be9c166e84c910d8c7e9cab81ddf2537d668f08da6b3bd743ba0c9604e2cabe0524b86e07f3fee1d5740ab10f465d4aa5d9bca31afaa81720c09d242f614f196d0daabdea5ca1971f677c119029e5102473546f905317fae143b6b8b10e36411b643f6180152700e58f4e28ac7d6fca56e2870be8be738067eeb3787009c885d65735520ddb5bef7af0f9d66a50d9d272c9f7225b254deae4a5d1d8171e74a738fa3316ea51e8b3e608d61fa5f2ded108266b04b4f0db860e201544320fc1c50f3b0b089201b6de2902ea817e1eec323df1ede3a2d82ac1abef47532b40532e5e2e424fe6fd3a3c3c71ae3b186e870b7e1b24e474077c35ba73c517210570e33fd3e9e7af31360ef74523892a78e52e5c4739fd0ada459d785c33af6a00cccfd6e19bc595e389de3bd047980488c05208c3d2181b7a4faadd86efd61d8fef1a4e5903b0ced34732d585f777279021a4481d95d58aa1f3e5b0110c7ffc88499d1497ef612cca77894cd6af7e26ac19383509fccaa3019e4b3fb126a684eb233f7377de19e44472e180511f8da7916159a3e881c2180bd64e5b68fa4247cf95c2d00ef6d8f05f7bda78c85744570915a36c6d59767cdf4b062195210557a55a13058117e1469a3455eb6e006de2fca7063d939af8d40b4abd772e396d504687ea9ae75a72178de5f866ea25be8b5ce3429f6fbcc6300c6707742c2fc7c41dec6bba3be8a80da246ee4281f8c9449cda0267ccacea417f571bba4763a719026985b413eea8b3b9cfc5e1cbe4588208daca76b9288b99f0149d2d8b5c96a729d6105c9cc8c5aac15556e5111dde62a423f30e3e42b0feb2c3b10f54f2a1be56691bad9e3b2b8519c771524556e531efb8024ce16cd65faa6e22606e367216ce70cc1416b0589596c10445c9d7452109bb1072ac840f46f9895189e20a78803bdfd3377b8eddceb47ce881fc322a264bb216ace86c73fe631eba5994817b34139bda4bcf24c89f8c754975de5df37dee09b2d13bf347d89ba993d11309ea4e5607e1365b224421b304545d4e38f05a084d521ac92830e7121b8971b9214681ffdd0903c08c53ee72a0e9350a05457cc1f5fc342ec8d3da996e246609e9bacc8782dded3aae298d382abf13dfb085c0c27578eab9ca4a11de2ce486826422097663d1959e22cb45622657f684eddf08196fcea1e45afc3695d4baa3ac326c17e511215615dc10d94d7f0ce5c5ea35b9830b59eae0ec14f5aab1966949e65c45e7b34191e4ddd54879e7b509f9a414aa4fe5f94806baee8e3bd19fdd4a72048c844848084ef8d72d2ec4c09eb60fa766ba5d82a60dfc20173f4c1c3412957567e1586d5c2f553708880816b93b4879055676a67e5bf6de25688664c07f86369fbf497f85c926f31f2230fc5497bee577ab66fda082fb9d1d36ec08219073fa1312bf08501dce9ef36e5220eb33ba9f5b7d4f4d9f1a6324f863192032a629cf935f1d95fe76cc2c8efb43e0065ec1b03a774f1b4d8d08eb59d6934711b1411e30d56be32b8e4c93699afe1e85f06107235ec1a43cca82d93140588a3c70589c038f632754b1167b4ccdfb037400b2b909674d060a4250abc49758e73f35e0b458ced60d1d3406c41ad1e0a5e145cc9b1dd3fd01b18548dcb6cacf33f6ce645993119448a56e4a67a125d9ad40444f06f040caa705bdeaae179ffdeab464483229fcf2ca7c65ea5a98cdfe64dc4c6204f9293e08714c5fb95d78d2dfd175ee0fe0a7ead706437cec28a66cfbba236b6e98cc8514cd7633a065d95620b7b44314e634571a671525c19640c45d6d7541b935dfa00b80822731c5dc4f2b40493b3b44a86d9fd04dedb9f29201be061ec80d613d08d4cf1562b8d22f8a4032e6fa16a15e4a9200b22284da11dbcf7bd957296a272f903e50731d0c5fa9d8379a0f02af38d43cd886d55b80b268c2cc3047a73dc48c55826ac1fcfc98a5b22f6d8fadc17fbd80b5276744f39877c6a72b2ff03dc48a3ea821ade8c5db56f8fbe84a532cf3f31754419b93e523e64e69671ff018ba753055f8e60d6a63c2449e8eed086bcc12bdbf943af1f292d827ec1fb6eab65add7b407ad7907f0f7b7957048dbf02e870fc06a978027b2b987502ff326aec4a6df6b6114188515854a1dc89dc7f880fd7e7b1789f43b6be249ad9259de4329673911fe61c93f523b3ad98149ba66948b4c6735eebbfba102a2f6cd5d383daf348492df50232e261ade8bea13dc4633955e310ab750d717f2889ba89c731e38384ff2d18812cfdcf289c3484ba8530a7e04b1a72e9bd3ce83d0bdb1d8ed87b9772da1993c9b516ac9c46307ea10ee2e670fdf9d6bc869579999b364a1bd7b99fd8a7f83c9039006395df142a5680caf814fa75792ceec457de9a1b7cc1f5a9ec7e582a32a2bb72379efeb6fad39919fd44b7cfbcae26ef1b2f88927034a07bb81ece8fb2337ae4481ac3ae652b34ded80642330ecbc52b6f28c4c1ee5a1759243cd38f62ab76acd89fcd30d8c73b096b378121c7552b1798f520ecb798e59241ac248f16bdcab8ed922918556cea45d51d393512ab710ded10b90c334eb8795e624a3b2e0c849912416b8e3ec780186a2c3e42e3c9875cf91c203d6fa3b82a456168aa217ee36848b9e5344fc9cf4ea7a3fc49aae0c567efe624a23df67814d7d11141a450da660ebb7335f00e5fefdbe4758526fbb09025146f985fcbfe361d2566e614985c9b89cf3bfdd43221037e3ad8fb13921a9005cbebfe7cba7d06a85330b2b240f2fb69af35ed400fa179538ad6cb66232ef502d21f03239dc969ea466fc9a27afee20029eefdb86e644d823c2dcfd924d049335490fc50b3c8135c5d031141d5b73c8f8e72af49b36c192876a85a1fcefffd2e19330849bb4e45c5c1c22c77385a2570cd8f207925607e28c6f3d542f8c8dbbb21d5a4a5e7f2b35e68a65ead9d1a1e4f81de079999547d8ee379bca5a71813728b297bbe052f4ad61f7fdde8f871511da69f70d1ab2440e802e760d0dd672e609531637162cf15c1c23d206eccd16a9017adc062d417abe78cf10bc6162828d587eb62b616af28cbce9e411b80f33980c09479f1f25a1918ab9e0cf895c9f7f977891acf26e707c04fa4f4e6e2735254f56b232881df547c655fc484e06629af46a4fe6ad67638eab9ae6ba08a1d60cbd6e513b5c584700a973ea9a3df9eaaa9c62ed68bf8ee7a4c9183e0338dc52a64b1f3f63795797ca0bfec12db3a7137724da0582d81e851d20c01b36e319b6a553d9097c0ee924d628e7af309fc761f50f696b2a6db0879362f43bd8917bdc3ad74d1c60e9a08eafc871f9d7003917196c7a60e9e0c0673c177563de6803a5f59a48b59e37241f8f9cb9f3c5821586161d5332707053abe04ba1fd656ed6dc39e56c5e34b1a535fa43b2e8c3b879b0b91c46b39575ca3bb3b14aa16acb0cf80b3749f5543cc04cd8f9c9827e4a2d4d15e736c7bba1c5cc484026254de1a0a0d5442e55c6fe68d88f28c2ec64a9c15b1e4dc68e8b7bdce102f458e7b5dcf69214187ce7307cbcbfc2e55517b5b37d54ac6730e95a5cd11d3d66dc519795187befa6770e12bf50fb0f6fa0afdc57059ac5758f85a8dde03e33e15db6dbb7d0e2551ec2cc69bbad6c5c29612c992317791a2bb3195f1fd19586e1522f325cd203294ae54f79075262a004c480aa1164d873ddf5d8c1853ca722b31b80d6dc068a82b0393570e219556c3626a5624686f05f9ae09efe3abdd195b1b67e2cb9a4dd559fe46f5c79ca4a51b3a52a7e2bd992386a17d2196cc25654177ceb4ec93d2da1d3b42d8a88037c18bd055fff117dfc2778464e6b3acca9ade34d028e5c5ff44abcb3467d995b38c39971f5f07d1f73a7b2d6a7e0dc279098c6c62d6dbe5d59691f9ad53d4d90a3e8655be4f444f868b02fff15df69aa4551724d7bc0ce2f887e0ba95fa6cee678b4096884a20f8729ff83b0454263c0e4e55e3fce495d02ce5f5a7b23a611a6205c89333f93f45e778bce7a8225db6b8181d0c3b3b13b19e3a5f73949cb81c1ef13a37b304cda59fca37a9d1d960922bbed26039c01c579d1ebee0650a75667d9e8934211e9e4a74b1e72c8819f4458c3aedfa0cb0958531e5d1f05a9519bd1a40f8dcdb8f6a5c00181139c1b78f50ec3cc8c240f0a9ae742452acdcc6136db741cac1bc33d1ecb2423cf333e63821e0a4917db190b19849b0d677250bf4091f3516678ecb5b6cea314ad674a27958c49ed5f528d00a13900abef1d5758d3767f96296164f93aba554e8d761fda8f83cdca544123828f349a0ee0c73ab66887be2c9564283ce9063b6ff3d69eb20bc5cd034aca5b0a0e5dafe45bde573bdc97ec4ad6e779ffe1a353568e50b670a2b231bcbd95d98a7a4c1fa80a713ada60b6a5476319ca9a58f36665f9021aec3375087f717bf606df66f024a3f28e0216a474928b84f8a1a62fd49843dca63c7881e819376801aec575df96b0977c2874857d42b49233bfd2252b2040712eca35f45f8f2bb667b74c05698cd14a400bfca425cb6f68116df57d3596eac5b9e7378aa07572259cbaf14b647bf446356963605037d12d3f5bb63b97a5a711ed88f9d6372154579c9241e277078ddaf4432f5985a06d62afa6ce6698ee2671215dfda989d3f93c401340aad7480132816a06558c11147052bd027f780a2e98c23a0df1f422450a2d234ae0a73d993c328d4533534def3b4e305bbee19319164740b3a8880aa384d1772f2de22901411fc3c2c8a58e4028b4d3a5c9376aae41b5011cdade2897413fd48af8f3629358cc04e6cf5b179182a6bda39e2df74395b28bc04318eab60197e8ea7ed23445c0993fdf1d387c461270c5fef416751ffde9ee1290d27fc05839b976a125f7d8ccf76cfc102923a1a2e5b96d5df5b3bca1b3b2898ea63a489f1687d29bc90d2e8b1a8384f29ba0b158393f4bee4ea2c297c41200c766b3ace9dc93a0174fcbba384d17c26b19f77f2329b0f08bfd4741a5225e6b86b1a51955bb5d3c476d60bf7beb6456c32bc78a3248a0fed686873c8d56bb61d11728e5f72d5e48773158b8e8c439dd3f86e3fa905eee80081820dafa26ba0024fa63c388c91a57c5b989df1b8e544d6c35f2576f332cfb87b2258b8d0c17812ee31f1fea8cb6e5874425b8ec2fc7652f4442d73cd1d1ba39d00c123df2d237b4bfdfed02447b15889d4c78cbd3d767a522a74c70f16147446f6a6380823cc17d33b532c09871e2b27a759b288a93c0f9c38f78634a6f4eba39735de93abc922166b83de7d5391363125e445d470184ad66209cce3d1bb7b1113da3c53396a33e37b6d6fd388fef0afe2b3f5b3235aca16ef11bd333b4a11edd72df241863bd1cf0a627a47f17e3ce223100a88fe5e2482db1fe37eee95b9a0a3a993bf80e854218bd20f27252ab81da268df1feb1015609f480d95fef250817d5fe55814c0af14663c8ea6e7bb04991dd64f41e5cc5f44fbfe65dfe078ff140842acb388e1603c75db8bd47975a3ed19b2b933988e4d6d893c93623d6d38431b87c96b50711e2e1360d9d08d1dfa86d5c56106de5b9918ce679cbfc5970ba3671bd01f7b73bca391bbd167303d260776fe284e613097f8b2aaff10a2bd3269f8430776a99bc77439747c72d753100c8b8f958ef49adea20c5d48074a397fee414ff698ff4cd8360aa297f8f1b7e00bf269053ea758a3d54c00b0530437593d957e3952cbf04a3dc4fe82f5faa041bb4cc43d3655ee0ee57737cf907091da90c452513b18630a62ed52152f0e2c56b67b652675c65f653d55460307af0ba4fc03acf02ce10e06c3bdcc73477e98ad00812c85f056f4ae0dbdb74d2f1e9f63822746720bd43e1adb6e5bfcfd42bcf6355ab2a366b06f52e6b28f1f95f2b7047ef5848fde0d6f41b8d363fe5ca4055dd0b81383b7329b0735e4b48e2283efe58258948a25d175aa096871d02f6a5ea36331e311cb2591641280ba05b105d3813a1686492b308a21d9a436f9a678b7520754c7f3e1b8cff510ed84e3f12c7795b26470103b308bb341064da6c872d848b199980debd9e9eb740776bc61631b71d7041858568aaf05f1fe2945fde467f7ae78871994d3e14a058b9251cd50dd560ee1ebbdff203e577930dde921fa11badbfed2c63d270e46d803a6083e200c2ebc5643d71e768b718be00347131382834691cf3519684f82020ad8140a31da110e95deaedf837ca00ac0cb7af48da10b2c829b534fab1069468007a35a1c41346bb3732f3bbb67b97c226d908323cce0c4c66f87781d2754d01aa58fcf28b47210f90b1b40919046e32e7bbdded4bcd6378a962e56f514bef87509c945bba82f302598f854a49a3aee2ee7393eeda7e488a6bf7135f025163adcd072dd55065ce19c61e013ee595e1aab37e599c110e33dbef4ed8f1cd447e92e1ca78669d737df0bcb02c99df2ba30b02435203c683e0beab317e200075f148e0420aec25333a5738bcefa52418f8b747701c5485ef15f48119907855a763e36e985e57376536f7857b334551aa970287cfb23c54507d4819e216f8e6f84233ef9bb673f6fca397f1cced249bc7941a6780c79d18dbd3c66946dee19cb42b13704caec155897f213d6105941c596b371b535d6fd80e32467e4fb85995700bb971a517f9803ecc49c318707c4ae8c2dbdc23d0aac49b803b1ee92a3ac4a27f85bd08697486a193f5283df10bcb85b46e9ed62f80e912599561ef0998fccc90c11e71b519e14c6f4d6e82d7eb8694848123071897c18892af54eb6db912201605763626273399ce36f9aaff67cad48751285407356f1ddadf9502e4ecb43c45ad0a459675fbd4ff841467fc6cf5038762958d26ae471e2a7a00b3121d1d23568291a65105f9bc247fefc1ced27644fe84daea6eb6c4fd78ab11e1cfd39814d20e7127a16bca6beafa680f4db99d51956ecb75b601c7222c4b7ab39854934e9c39110830f2d6e9fb87e3018e8c78fda9d11aeea4b010434bfd78956164db2f1bc86de5e8c1cb5fc002939b1a813d8261911b6485a03614027bfcfd05cc3e1146ec838a52d0795ee220ac72c6851b91d790570ac092d2289d3fbd603454df70bb7f885d03e6e04ce4348d1aed5a1c11f864970d5c7211c5674b8a1343db2faaf306df06680bdfb2e65e174a0f0d99fcb2c776be08cfeb254cde41097f24a1a3ef567aa8ca3e541d437038f0d7a78da81f85afaf8ea5c0c6b93a4385c87d2da6d0977cbc909220014a534e770c0a3bc960ea1689c71012ccb03e768a8de6e3fd64cf6482a81ef4f3f1d8f6b88cc00ca187dba09ffed30f2949814c0b9600e1657ce7841af342b654204573509fa4c1b87795d1b67f979117635b5ff5758e6b9c200e47fc08b5745d07f55ed3987da0b543116477ef5e828bbcc2677cacf0751ca8b4b03e69d17015aa30fd4f7641af251852e835f61287dc78bca6b8bb0d9110fb88309503e12d41cb36c007a073cb7571dcc326b51c724c160d3016982380d29bf563ccb110a549cb2233a0438f857021b2e0ab1f1688ccdf1f376c648dc7fb2bd91fe637ef297250dc393c0727242d5055e38e1a8b8893453938b7a2a5c1c5597a4b33476a6b978134fc3a484ef193a03cb06678f0d20e3cf9754b39f69d18c36fbecb988fc602ea215d9c8bec6cb82aae52491a8c3694e6f7aada8de0c2d77cfab5025a4cae1c2d03e11b5cd41448049a6e29f43285f9ae87123bd91a8c22fcae20d5119a85f6c04c16f6090d373bcb48527ec697ef43b53fa1e1d5662b6472b265bf546742c58145322ba1af95d2f936285a687c0cdab8e71da886d10baf7579f5928772d921f11e5368557ebe8283002b6fc842104b70b88dd41ceff3cf90b7438c2bc3b52c91c49b20e26347724f2410d91d0d20b1be26bb1bf86c848c273070631fa8db38080abc03d8b7ac5be584c44512d3389788f757376514b34065624dee4319e419934bd41b8ab93a10a110160046a4d7985d945b1bdc7e34931dedd0f90525262f641cb92bb5a8c370eef0076e2c15b35b8bd8699052fee57d447ff2534981a5bcfdbd131fa8f511ec6b4ebbd557fae02f644121ac75a2ce0f6f92f1869115026929d79d85b9e0547871b42b34880c1e636981d23931ae5902f8b7887498d7b310dbf345c41310a70cd190174edb6f70c94cb58576d2a60ef1871cb79f7ab833dcb090d1741913ea65e703d918711039e2f7f25506a547319d679ee85ec35d0a48aa811f4bdec4457df359c72ad7392e59f4aa86c52e5e2f36294f963530f8a7776753f670f0f567bae35797bec4a6c064e230555d067ef32dea01dcb4f113ca370058e73176bb10022cc2b5b0b29c0af30c545f3a02f0f770fa84abd78222d24d371bfeef6ab637a7c4f054346ddb67f4dca2743ad0560f1d0202a2b46faf890488bf9920dd7efc3159a232c0487098eeeeee877678e43b181cd9506c3c481aa8ba51d221ebbb5523f567e754dbaeba793f6c24addb24efbd81359e677b697eff85495a50f724e36c3a82a1204ebd0f680462ae1a06453b4097f2a9ade28c6509ff8c13b435ca7eea0df7739c19f29e6755def0644e1ac714c8ca985e826a9cfc639b091e02583a3278c27f7874660460b8bc57c9e0d90ee0b436a4283e6fc43de5badfba605a8f9bd7429e2fb9abb68d49c2e9e987a039c70a8d0e85fcdeab741e114d425cfd084361ad277e66570052f06347565f9ab22efcc251f2a49409293678dbc93af2203a213afceb4edbdb283e699c40bb2b0694df20ee9737381754676d465a18319489a34ebc8d97b6019e38bc65ff9defadbc32560edd1678f403c112ced05ba27580c56a89b40b58723707a91be5f3b4bd0e5cc0c05d7889669941ea4babc4ee6d8620c798a19db25fb7078df0530a822ffed811d0390c9a6454a6bc18ca859654cfeb3ce2517e774be20a3b13ea985d0ee34624986d4dd1a48c4a1929a322172553c8f91d06d9f2d69588179b74411c19e1758867c310dd06636c59c5e5610bc51c4c1c6a6b6d70e5e09d75876b5fe78e52ad2e23024816ad1665107ca1337437990099e31770a17779f4660e900631560384a796c8be0ac5c544544d74023e615b090c761ed8a241048a991a8d887e9c1f46feab282e2281e476b6da01196f611afbaa7df473983a33882bf7260e2e25be0a742e8bb18ed87d443ee05476a5ac1e716125efdd21027e4d1a92c241c9414c0601dfd5755bfbaf228442379c340e30b4a884df6a1b5e8701235015135d9d0667c07cfaee50c0a4f28a204e889b9e0c322e2ef7ed7e63553b1abcb407925b52eca0a6cc787a95912dace37f9fc706ab12d3ecf7023cc2c25fe18e3d97d8bca72de759f8344b453bfb5ed816a6a05d7b945f4eed4ee5b2eb122432b82db3a4e9df3df66f3e2ef8047525ac1c8f314303e86e24028e0409380d294a3e0ae388242a8fc9914effe1c732ea8d5b60803b6158f5e9bdf878938072c5242d6cc17138afa2628af534d4ca6f24d5260a504e9b3017ee5c0175e3685831f41ce10fb3b4abaa1ed3ad65bd9c710054eb22e8847399cb3d7952c048fe6178549707185f805a361a9fc00dcabe4e87b34e9204e5c02a610ceef6efc16490643bc2c6dd6f8ca1ef07874064fdd4630f03c663402a469d2c94d066bf1e6e3d5c292bb8170b1740405e67e93416a9806c540b0d099b34589f3169aa344da5168bfb0551ecf6d7718837e47d061e2407b128a24c002b11601a06b520968a3cc9701d3ee5eda7da712de586ed6cfbb0685167eb6d624f213bd33d6c503a4a4c5a53da1fa948fcc5e02191ab572bd2011bd92fca02b608fcc6f58fbac89c05cc51c6444c084ff65e87b2e267a208b8b1e76211531cac2b570dcdb339504d9600fc06786bef99b7138d440b4dabb0838712b3c9f933b067015f0c162dabd2ce49e8c22d564cf26672c45bb0b625347d668a7d7e8a181f2f508d49395d7eb0f437ceef4baab6ca4a45cfac27ceee1a2e2c42780f27159ec3a993a352f94641408565acc4be00c019cef1743c5035aa526b43aa3c3717671438cb4420ef624419998ebd50f8e023b431e088e429d009b6c2d44d0606da15803bf2e2a170fceaab5d085b22b8d4860253011b175365703ae38da051c9e354da96be4e677962be341ebd2e585db9cd3109c0b9b7255b17c953225606b8895806d0e56205efce493a09f184147e99cb00b1a171d4dfc14d93ae7c97f599bbc69de43050d9457a03ed7e693b519d2f736e020f338e8087a2c71a0c2bd99ae825587b2acb5a775eb65a307e535a71630f05ca68e21afe615b4f3450747cf43f414fa66540409a5594e5a008b98d3eda4209f4d60faca040def4ed10bfc6e14799b6107105d81df654afdb32958d79cf843fa9104258769db1c2f09a614e9ce5b373986011a52eaa109c73f959f5d6718d8b1907b46397bab850a445b3b88178ce2a3939d3def031de0b622d1beb1bcca8cb7bfa946ac10defaa52c23a585fa29697905e7daaa1d4beee50ac7319b96cb8186181e0e5dc1b6eadef552f8d0ef536f7fb57774e71a9b5e46a0128e1ead3891fcddadc45d9c0aa58f0a23d45d42d819531ed7b8fda830c36d1aae3076b0515f7ab3f0b20e44ced377b7f4ce5f97411b8032264fe821f6190ccc4e7e625e4367bfb210fc5ccd1e8398bd5ca06c7b70bd0b71ad6d112534e689e44b1c801b04b619e5735b5a4dbae366c6c04dd37297cb2a97861869c307e47f0c82bf29af0fa04aea62894225b878869071be772df1058d6f1efdce15d81df835c3985d659b9e2a70b8fbd37b42d915e9ccd0ebbc501e3f73bf9acbfa06190441e8b5ea428777c954bc86f33345d2d117a960d8c7170ab9df80abc2ac2a3132794cff4212f2c2c72515186469efe215c7b7826eb6b5c18b1c0bd11f013abbcadc0227de8efcac3c2e679d2497a0d9f6ea5dd857f562e3a3bb8a20e1a19c4dbf7adf454895293ee18583b5a146f78264990cde6d50c1029ce385fd1211d3d4410bbb50e04e04c54dc19e9d451f858a414aacb10a1cb333a8f050eceea6cdf906f981f1c9fd9900ec6488b35a39ee0d0d331efa12a7eb4875b46489c82a848f7b044e5ee7963f989ff9384b1e086e31de368cc06dc54fc2bcd0c3d93e1aa51371eb58bb724c860158406e55c9e3695b08fc12a0cd4890c2d12e5a444352cb25dc75ef5328a0f5981efa3a952ac29a15e5bd6ea954e540004cbce610f00dd98fd0c9da4d5ee1780b0172d984114d00d04479f5e8dd87a7a14748c76c0073beb8d165fb30da56a7aaf0917331dafa6d2ed2f16a203ab549d068b8b7f8502082161276d403ac1906b8e92cd1f95dc394323f4bc6fb4e167bf3f14de747cfac309fe6e7c6bb1cab6bc5d0881432c3a4b79f632579b724a23c874e9fbd67f3439a235ab8afe6b0c06954819f47399e5bedd94740580d4ea815d6746c9f8223d755e56da121bc0a5217486a675dfb88e1791a2e04a9282caa1bcfa49aa9e745fd0dbef40986ca0bfa52ed63867b8aef20a9913ce82498bd2c5ff0c3334d430d852e6e5c25a8cccf4a3f9bec1f85756d6421000040b42002dc42f8b8bb65b8bb53fdcdb5b0b3c19b2462d7fca5376ffe8c571572c66b9071ee32e15c0bd3059bfc37dd2fc4ef03192a56168af07aeb573fed5a182570ba9b002f66a296728881b7ebbce827f37aaefe917e1f7e1de9c0cea08b0d5c9af2b16e72dc25a262ba6e624e537d87016650285d1b0e0b8f6758425668652765c4bc4d8a2ead0a2fc9aed850502dd88b768337600915be68d4ba6e1e48ee7ed2512e716fc6b3f7af19c69c46df2fd1d7750c46807033c725c979228fab4b5170d41d5bbcc58c84673868f51f780417dc8dbf85cffd6c8371b71430e8b99fe68530e7913d7a4d96b6b80b83c0c9660cef52202c3f9897e19c981f4fdecde5e637838c6fe78854088f714ada1404d613be1c1817b6a19f4f1ee1a551637b7cf700be6c0c8192ff547534c615ffb4e5d294e4c4cd06bfa9cec966c116dcf4808d56e1f0d9a7d011a4be6070eceb55b64554d79f5445942f2eab25461fef50914eb63c61a0ee993344883b320df83f1dfb3a915e3a8968bab5a978ab2eedd9b0be544e0075278c3900db29380ed09d155d70748f9861c19dca3cfdb47b71e626893abc02acb32bd90eb057128a48584a5612d84e62254bd85c842b6caeb5880a687f6658b51243bbc46947c596e4a469e36951e68d68a877fb663c8eedb9dcfe9aa796ddb86e714eb84fa3c6d83d310d8f577ea72cda9887b8136e46cf17b2b822f3e581e12831addb1243f5839600895653204493b70445b9edf87755d4459b1aedbec404a7a16831b9d9a039ae6b0b754c5d6c637772ad619c53116c786effb9fbcf2bdbc9a7cec7f83c646b42a1ee424a294fe28060223d104dbaa96584ce34d9c93c5f4a0a70f1e238676aedf8ea95532a40b016dd812bcb900a4163e9a08101dea31c485fa404f04ddec8e3b52fedcaaa5a5a4a32597b9f78ad4187017f5d22a91c380498a5870236783fac4d87e0e739fa9bc62859cf5282f42e72c0edad64410d490a302ff9d94ce8ec1b99315a6ff13b460a686bc1caaad87c116a2f790d6b5c403ec3021bdc49632f35566d64a9974159b8d59d18695dcb194e088ef08e827cfaa8885586d9bbd5afdb9b0815c2b3fa995fd7c5a20767e497fda27b6296b70e035408f1afb44226efc5392420b3f42810705304e42948705c677c04e735a2f549974b36e480b75c05e1e7482b295274cfbf792551e034f340655a917476e96fccbdf3634495de2d84ce412f9430dd7dd68b39990afb22adae0ec54aac9cac6d29f4c9e4bed28739188647379861b20ce479b26a52ebe268558b403cc5d4c1bc3638cf00232eba119d29e0aa9e4a113fca26ace0b1bb010c09501fd17814118ef6e89d65188149c9795af67cadf331b95ebca682286a872e2b86cfae9621afac0fc64d0d29ee2d2de7407eb68dc7b6f0e237c18664af433e7bbf4ecc234db538909d8e5f721d3f4b3ef87af2caba9a2e30ca1f0d2f20d17a3e2826e4028b8a0a3f4976893acf889a614c1bfdf01a5a2c7920b154ef46b70f7c785f27a9f0210c70fe6526256d2079f1a0086430ac1a185db5cf55da492bd114f7e15f60593b48c3c7a2ce430e7e3ed0aa35180e0c321fac5c5689a3732052818dd74135858f79c9c7ee58fe12ee807748e15a0cc6ad11f9e91fce898ac5c587ca8eeffc58fcd2ffcabdbb20ba26a12493a5b49642fe19e946f4a0d811487666b1df611f230999325e5fda7d9732d92d14bc558470c36b7d225007e4d2817c15f958e60b5cbd3b28b01428b4bb818c1ffa3a2cb09bca87bf8e688922fd118b8b0693cd3d18a57323743d892db87425e3d632256a2032c71446401e98ed2dc60459fd347cd2f69a678edd21e0b994607aef54befe99f88c7a21f8549d5cc283559221e39521a5ecb876f4b859ddf29eb4ce6f018cc105bcc929112aebaffe507150e12af5ebfdbb1055fbf0a096ba32326a2f6d7b838fca40d59fe9ba62a396c9e82f2a3660aad97938b8c5d6b60022dee97c870c0d9bea3e2f378a014d9879804bcdebdc2792c052757bee32036a77ee1ae384a1cc4c971c3fa765e8e6f484985fe235aa1c1de9b932b2ca0da5aa5b9e3587e96f2d06a0a60ee7935b7835e516173cedcadec677549e1b7b0a9ea1c0184e3053f93e771712503183b46c1508b0eaedd31cf4a856cf34054c6a3d4533dd7d46da48db96f1f40e6973ffd7cffe42a5b9632f9befbeba6fb59544b6624b88d6cf40e3b85aec1ee1da78cc72d8b8b7a8c95bba4ee5f9b800f8e4cf1eddca6b9333c9c8ef088edfd4f57b7568b0a43d25743784a59c1da7ed5aa0cccafb88a5e437b4bfdfd6b48327a5ae94b61ab24b93cdabfc5160ecc0cfbe4ab4ec84f3fcb30152720e3fc0d5a61e268194e58d7b0df51d03bfe455db217b861ae9f8a14dac776d56fd63cf8650266afc71fb6832087aa8c1f5a9665766eab6544827b66ac2967d33bff1208813d518244ce59b7002dbfd0e6b04810fbcfe7e8c491a4195418db4967e10298b4dcb2c5178b461034ef1ae041a3d98fe5e6ea2505bde81c230acdd15468f5bc06082229824b93f98151ce8627975bc080fcd11c2aec1072f3779c7c6577e54f735990628b191adeca9f42ef179b24c2b3e8173d795e2ca0263b99426bd5ac937613d9dc96f53a0193b6b12b46c01de8e9808a092919eb5e8762850529363f2e1f0655fbc9a424a673c8843ebca21be96bd660ffe7dcb7591b999d6cc8914ec4dbadb1a03b1476dcd7ee406115f856d4bfa687b7d90bd8ebd83d802738884a42b9abcab0106ad370b1e29711a7df32cba26cacba19b3b5e875c5683b0ef0e16c04397afa4277a266091821907005062ed0d7329f15dc28f35b9bb3c7fc15d992c84b9f0a5e5e8cb84be1e5c9a91a92402d7c86280f4b8459990cc2c761cb86e861337df40f86b1478aced0ffb056bc5c66536ee468f7b3bf0a8fdf7ebaa3c310b56ef3ee4350ef872e6117d68f72c382de3b1c4f726325b0cefa13ab91b3c98be60c24d74db9e1ed16a575acea767d2c987038e612a7307eb344ce56336bcd649288305987575351bc9f17d3c8f35fa51f51ebb0431865fcbc23f435dd633bd29581c96bc0361d5382ff7606e69dc094b04e0c172d1c5856d2f1ce16afe790b0c2791c246557d8850baa5151393b05304942fcc4d9e12c0ac1ca3844c9f797266c6d738b61800108952554830be2655060c16515ec0d0659a6f1dce3b6b3e47698fc8a173d410c2fbd11f8cf9f35b500ed49e733681918c04d24266f3dee2c4e8c205a6ad638a5b539150664291ec51c9c285d362b23a4a75ccfb2e0aa1b9f2531fcb9ed982a760db879d90893a36dcd8fd8223c998a7e85d247c02b1c02797121a9f463bfd6488bbd473ef913f8e47594b2bd7342b02db4fef3dbe1d8b785807187e201fa9a908ed18ad6aaa6ba9e51cecd1ed79d7b9a9eddbf6ae7ecd486707967b1a7446f6ef502c887b91fcf1d51729ade665770d060fcd726cd93215ccbdd918e263c0804adb0806878d1235feeb51181c7fef3c5dc8b46d5b8e948e345c9afb4cfa7e5dca3def1a3e542886a709486bd78ca9610ec61ce0f8ab5c6657212e6bce3d5ab7ec0b3067cc0e1fa0557e4d7121570a753fd24380e5bd8f48a5fbfa919f31579b95d0bbdf4e2d73d2d6860f5d3b42947e49d2d7b469116c8748bbb1fe48ddf1e446892d884173acaee859fe788bad0b9325b5919fdf8d61485da736e2e11463ac0d7623ec4709211e00dcf416093f8541ec0777176a16e44e55ccd7722e1b0dfaa89a545571739c62aca7bc65f8b810d149a8541300f40643c9b6ce84d3d830afcf7e9f3752b8eb3d9b3548d6dbacf57b3fc9f4b8224c5d89d32dc44c02e1787d95776dad59bdb55f3113af368ce8e5c6b1b2b638a0d728ac709ea75a294aac79def8b61742e644e94de7e2172302c9f39fe82586361e0d95ecadf4413e27e33b1feb9c48adb7f230321d2a28ec9ce7558346968cbf16d214651646468624fb38ddeb5933bfe7cd3beb0759ced5f73ea61e7d532222345e569bbb5783ee8d45ac938f2eb4657d9e7d7e2b9b8c639ca5facd59cf8f73d51d3899eaac8caab95c4f625e84c23c8a424fa4f5172f81eb7582c5e672c7dbc26f3094012f7fe02dbda6f64611ce2b5a66cef7051d42eb918c7232cf4f5ed0c19bee148133e7a406bf999b500b7b87496f86852aa295e638349d2b8429b5f18d7a8a28c73708ad7b804f4547a3fd0af45e429fccd2355cb3c48760cd387808c02572d836c7782f48de29d89548c99b13d6f2e637b18653ba29051a7f4114d0b6b027e86b336982b565210ff7a0b9f16ebb854fa7712ec18e1560616c4a787ac45eee798efa13d7e981fc8b1832d5f54e661f194862cb8b6a5d6d3f3c6fbaf512b945a4826ec73c7bdcef8a675f18f6c36f9642c4fb7ab5443ea0728952b0bcaaaea0e262ccabee8baa52d58fb6b2fe79804764367d792c7e8fe9185db2973fc96055cfea6993597dff33e396b509b4e5a99ff16e7571bfd26a0241b66427b277d36d466b87ac8ea8540c30ab961c23779cf04e153518219845cdee60dae3ab082d6bf873a96e3071b690cefb9ad2787e9e614e1d2ef169fcaae50fbb1b3bda656434d383efc7b5f30fab2b57d4f515dd498a6417a78c1f59423251caca4bcb73568fee9c6bd43e7869547847bf3885a90f088d029c44d47dc80c4e52e48efd14e976be68d92b137bd10132f1e9bc57e29c7bde45bc532f703200214d54906fed76bf514c032e9b8d7c981968136554e51ca80bfdf12d6e82f7dc5dded0e73faac11b45b8cdfb52ed55725caa4f313b8ac5cb47f4e22cdf386b7d34c6c8e95a4b65ea0adc2ed64621a2a30396466bae937b73f5e59f186b8e39feb01a5cd4e363ed010c2c85d027e2eaccafc7d49850a84ac457ef58f3a1a668a5bdf0d105cf92d7099e67173994e046ab2bafe2326aaceb6951ae2ea4c83d857189c9940d0cadeff3053402ef1bc14e176d62e1e4b3a872a3e50706e66d96e320a5bc37b30da41ae49b7df478ec216d0f8a9f2cb7cc5e6e434db81671717eef214cb258394ce0c5c7ae04dbb855ea42711ec4160382fef41765ba0d6b0ba4b91b9007cf9cc4782b44a4b64c9da61afcb2a86408e8071393032bdeaac2c0e88a055587d6572acab30fbe64f5dd4c581e009fe043c740b40cd5d4ce6356ed061fc22e7d8457d7439600e2e63081fa766d760059ef0e4acba83c41226b0c16c56f3f3f70bc445893e147a00943e2c76de20f4536b87d70bc1a0a403fa3a109b2a5041606f2ee4af6ae5ad86e9080a27efc5c1d7b16ec5ed813d43e23f2d43a93fb073271d4cfeceadb989dc6c636098e6b91be19c675a4548f0a6a54ac67d18647137df9dba8863935128a9bbdbfb5310f79701cc677fd0a86b833769acdd8a1e805b94fd1e9905d82cdf28bae67e05c310efd2cf28dd4b366f382152647caa50c02912f9792d49244c97ab7e69ca7953b0e20048f92c028b245006f7426dd8066347f1f83f578934c9e7c6d168c0a9049a57f3979b92b63a315fa44c86d3ac1a1a1f993654ee6ab8922f9edba05097ee9d63c56125ac8e8501b3975ee2bf46a76d2494e3f0cb40193227c39c10765d13b6f9f557799831f1c31b119139d35c6e7f61259070476982fda8304f8088cb3ec9f340becc4d597f0ddcfaf383a287854b2fab63ad91ee2ac61b397d84315fd94465679a99bf35386d3e9f1465ffde6234a66feddeb5f622cb2de28defe3aa36968e6512f14ee43956ceeb0ef136d1ccc1e32a8a26dcbd7178996a8cf1e582b5bea29f2358ba912d3cdad10edc3be5a00838ba30489fad83e3f04f3d3e1fbea0a369e180cb13409171820dd0b501fb56459f8f97bb58a2e38a5e8674022e6396752fd1061d7db06f9c107f046db044a684c1c6465e78ee93cf73fa5ee975feba6e312eb3752487cb7a6ab7077e717c15047f28b2211251d05e6c4ede71705188dd01d84b22559ea2cc1e88fa951cdbe1fe87a4d09fda144c0fd0ee935579d2f9829ff6e217f654a4ffcef218b1e418b00e210978e04f8418bc88113bb67b0bee99b4679c50e1c28b2cb8091978eba273b7c05c9cca5563304a4872db337447206f0fbfc520a5413a1b7306cb8b8f3d28330b81b8fbb87b5fb575071e52ca03f46fc6ac4cb1581f2c6fa200b14240c2e601ce1a9e9deae4801f0428b846cde95145419a39e7e51d176f461582196b70a29860fd35420da4a1aab0de7a219a49347ff5c506d5f6fd74acaf7683fbd6522697c07213735847f57429a5db505bc77b952103296229a63021e8976d12da5c798a6b07af055e6663e28b5e187ff2296657037e12c4a66fac7e3769815d549a7f01f920ef68cb4923d65f6e6bcd243b388a3f614b85216bafde881a7f24eb62da55207d29eb46ee91307f78ebea062e946332a64417b50005e338fd9113261417513509052f2f260766c43c2179c4286e4973aefcfd10c9ac20d777bc356f525212269433597d6e6775ac8afaf26e0b434955e573437870bdc83921d571b8fe3949aa5b378b65c10f18de1f50a2226dff8ebf2c259e06b18a50ab47cb36d457f293a3d3e95de1a69aa85dc41b4a725ec6f58a6000dd1f320f3be664dc83beafa2d62248fd48f0c000133c13f3aeb11c026a5d7ab5e8677a1ae5d748af1a88c10d01234ea0c9799f7157307965ed0eb9284e0c731da5b134bc0d8e82632dd77243f08d23b2ec3c633a79da6ea7b008400c12abba9d2ea5b9e6408f750b19388cd76d27cd87c2d7512c91e9b192077ddbef75d686b25634677eb882093a9d52dacac8101a8f31aa8832969e883bd882680aa6cb24365539fa362e19446b308749a864507fec6f617164260a131c443f4d9bbcdccf8390c4d011cfb49cbacaed741f013af85e7e7b2f7ee779eba5b8dac1697a2a14d5729f4ceb23d6829d8e6d666d2022bfc2a5df116eb84a776a0b68b05c4667df3543b374226d3400e79b819bc0fdfc4456e5323ecd6b924f3baf2e2c5a16a5204308db5865075c3ad22cc86b23bcd3f3f69e4a7c7f734d25a6d608ac3f24a332ef8e0be53675c4dfb1f86fe52aee3f56d51608465b3c592955c7682999a2a242507f32765fdb4973b3ea52593d4815e058f0b14e12547d9b71d251799a5468df3548aa86c399dba4bade01de35d39986933938ac4dbc53b6b151c72bba6ef9c4454c7e26b8515a935ef4a4e05fa27fdc4851fe38fa8147efa624e2e8c27e3e52bc5157615c645ab5d22bdc4fb46e24294c22cf63a3823647e29fd3964d64d495f1b9014d7d57da0e9da9253e27c145d9f5b76339e6bcaf9d63b186bab77988688e4c0584f9fd18d7441d3df3dd585f85568bacd8ce8b61b55b96104283b30c41c034c86ced250a071a7856eb25a1e335ccb6b2ea3858325bc25c073c9faecab72682a1bcd7c04cbcbe41e10261eed50c4bcd718093fcbdb6613f8f303a22e41b3b247a805d9edb8cfc1da7c0e87851792b8fa3905979b55958aa45eb6d669bb376760fd24f69dbca58cb4dd5a1066236f7205dceee9102ffbd603b22174eb0996040e8d2fa8d01eb7ea63e157b66a0911b895bad0c3954f64e5d5bb19ba41b54906e1465a7a21ffdb7e45c38fbedaa92422ff38fec9141366cee6f0aad2948e51fc760aa0523a95e4cb2424f2e934aed80911432e3391534947f2313a8932726fe91c1399f1e09a85d6deb229be5b7e8fe5273300f599ffad6bed1c868f757e39d6aadacfbdc206dc8df233c8b91e381bd637a90b118a8ab33a2f06ebf903fd032ed89e466c225a19da8a6602c469f20919b54b73c45f99785b7b2dfa31c6234ba63ff658890566056b71827be556ba516067516433973ca0a1d381757c4726ef199206c9e8b0587a7a7354d69327f63355fcabc82ed3b9588d328674108a07e087730e495a6737d320770ced33b0df1dfba8f3db67a04161df6329c63576d44e16859f9e68726a6391f178cca7cecb93fae4e253bde378356cc71d23af79287884d9b3dc30249a3a384c12f339d25378cead2dbac416aaea339d9fcb182462e92f4e5694a53f77f7109b92b12d9f1861d872d660eaf0b260d6056b986150eb68d8fd9ad131c11128a831163ea6d224b97ff4f0d8a6a8f4309f0f3a7d19d5b3c21328f5aa547126b7f34a0753df5c7c7fd348920b7e34d788f15cd0b2564ec37dfb8b606f065911df395590eec804dc79f44a41c3eb91e73bda4667998741fc3c0354104c9ceb777ade63245b3a27f2708c10fcd44a3888d54bb211f9cad5d1fbe25bfa0b893eb91ae587f8843e4e12dfba954cba7ed9848281dd3cf7468a4fd0e46f669d8257579c962a0ba5be4926a212cfb6bc53c778de039a29572559bd07406c015d353c5318a45a6c38043f811965d49549c33421054943f8ca13bd2c9742ca7dc98008ac53eac8420dd4678ef007a63f21cd513ab66b9ab13c2cf9b5ab13f02efec1659590e631844fbb0f949c23f38e8050c41782626c6af9d459a8f117f72c20b13e6999ae80cfb74580225732500989a70cae9fa0e94fe4f35cb80653697d90c517cfd028ca85e9dbf4d1c8c9bc37e6272a08517737a4cab2facc4cfca9833a095c142eda8ecdc4acfa83b27836bcd508622ca1354d073fac365b0573d5abcea2b9fd02a508e24c59694a2aeaf6e47223fda1ba0bb7a1eb0b91153e75d88797d43382d12c1beb8db9f2b0497b91d041d5aea10ed7ae2d7e3574c45f5600321da6994ced880be0bf6558367d23b6b827e83416e99a48575af40ab68fed62f4f2713d69151856d869535a75966229040496d2381e3fa97a4c518621d9687686a65b79856d2cf9193fb7fcea9345f847ad3b26842268e2284e3e7ee09e2392eb839d220ffc0de93d53622aaf7e93ce19733d3522d6b4c9267962dc70970db8414a6ae5e7c957d70bb0544a2cdcef4339aa38357a8a7943e3d2b9fbe8bbb2929f19a870c5249f5234e78829258b01a94b4089ba0730bb7e7e9ece09002681a08f565915cf37a552a010ba0304fec4135c815ad5f6fea1254631085fcf543a708cf5aeaed00206efb22c393b4d7511ee6137a7e96a519d3fe2ca2ed1d2edb26f7d28dc273f9cc2a9329e33606d76b12bf4a9ba516de472b288e3a3138aada34ac246aee6958bf2a39f668af4429ee384df711f8524d762b58875e8c83f8ceae0a2264b51f2f270e68380aff6b31fbd9e5d03bf06fb7360c179accf725657c7a9ab5b81ae7215288cc20bb70f125668908d28bb1048c10f13d6d62beee07a5f96e607a08e36f1c9a357c4c3657900498d0cedf341831b926b676812108cd65f2ea16aec4e1bc437ed310001b7f09c7be85ef3b1cfa5d9e7e4603d607ca3e62dc023199362ed482e69c947208eadbb60d1070b564442b699a9415ef52a6f6f3edaeafcd3d41f9ce915269fbb953d84315c77fdba07e087f446a15dea91f2797d9694f222c87156cf3fea93a93ccc81a7fc26e7072b1a55562a4b3d6e2b966f0c7132a9d120e47ef9626d835ce7b7518023747c853a73f3711c64d9d31c35d5c385e3d338b84112b960c2291fce8c76804954184611768f1043f7a68686f9695f6c6b50f5dad1e30bc8eaa6bd5bba23bd802c47d36a8d590f305361dbc17dd838c63ed80dfc266d36df5a5f4ee63d653896aa20e0c42863c5f65dff1b9e396d0f9539c470dd254f6199cef7e077b8e671e40f3cfa655a94e8864cac200e306e286ffeca8384ca9a33bdaefe34d3c9f935e7f0045fbe8dcfc41e77fa73f1cff2e7b1c2bd9cfd6525c7cad9d7c6ac5ffb4d57d0a0ee9fc21ee7108be9f8e15d54cc9e5499db6c7ea91e1da8038bd80a7526ac7291b2a24f4f5bb39e57515c215db652ae60477d432e638244def34d01a5a840baec1c9372138b793c510a8a1862bc21332972d56356ecfa9090a1a844bc83ea19c1328e45774ccbdbf61ed2dcb4ee728a32dc3fd3f20796b032c2541eb90c7469e4405eb583ae61a3b59a8ed0552eee30b4ac8dbd0db4145ab06fb30c56e3eecb0726fae9e74d7afb3a784a849a4e396fb3978d491e2d73793921506774e033cfe157f2dec9a20da7d73df98790c9d4e6d904f5d4d7dccf1419a63ded2e2a017cda57483b5bb4567708a27c3e381cbed12037564197e2dd35ea415f61934ce282af46f0385501cfce15b7530a518d5156c694b70a0a558dcd49cf648ea7776a2b045a546aa23811adda334f4adc8f9dadeebd00a3c6612d78834a540a514e83957d060e161a0906aefea0b9b882f4670ee7490b8aabc76918b7d73c798c4b172fce4a26816d739a7bf8462b72aac8e006d2aa1208a73d63c1d6d5feb0db0224c91ffc9f0809e3870960e0e462d1c90313353e91030232275d3395a41faa4506bc0af7d4114307b3bfb9047b0c026984f29ed862273453b3cb7ce93492e4343f277295e2b4200a51f6f3a0395c5d0216450a3e18f2e5458c3e368f3af7bcc4fa4cac405cde59df533d133a91f9da8321735349045a91b80c8bbe4c081df07c479787efb6058ad0f0fe084758de7bf9d590a3cae1307f687dc977a83fdd523e4f604ae19f4e17cb41136be4559cb0fac1c90494cf96d5f34b2135f30ba42163e96b9fd67e39b8ee51d79962cfa135ebccb581a06c14f8d2ca70e7039edf3048734966f4e0f76d0fb9018d4a743bfa4be901b0af2fa5e75acd367a5a26de12aa4f6df617942d705436d9d227103ae880c038a92f3369ae9c86d21a7e4a9ceebbac337085a12503c19ff0a56f0503cecaaa08635c213bb71b8d123de9aebae0cda55485a4c02bbf6a5096a0931351c1f8340bc303d6d1c5c9220c19ba9b54ff7400065911b159a2068e7546c47551b3b996c0a22da60d44654cccd4289b9ced0323e8490f0b07d69fa9268512b13231bb7a3e3e501451d165c56534395b068e0de6fc5c2bc261bf2222d3b9aeb4f93ae32266a7dce1296f9056961616336fd46528234caa9464d3f882108b45a00072eccf11bcc7f258bb488e2941750c6798649b07c243f352dd1147f77eb43d08653f5bd906826aa5daeabee60560c243fa0b03a293c248b96f1148d70261547983ba80af4039bbe535337e39a81dadbad80a5d740553908739a1c29677c10b255457e747fdc8bf705ef0766baa3b1722769f206ad3e7701edbc2742a19997aea891d3d7e64e0f911c785907de8be014277c85a08b83217b160d47a83af422f0c8c152ed452f3297a8b87ce155f6169e58f6489ef7639cf1c857c0d409e7521ab8e91a4bbc726457a2a43d23b41b8319d6c0003889a12ec92fb986372db7fd766268e651df3b3c352b823fe855ba7118f91050a2d4f8fe8406c0d77eb5a17ee49cbcdc02a20abef8ec88111d574899e55cd4934ed27599db211a788c1c21f3395400c82ec6c86f1c5097d07ddc5e4f4aa8cc2be41f698066c0aa9201211a683eeaed21be3912f66e8844efb9e5a4edc753d6774f35894e5d49de2a23265bbc3faa70032e14a34931b3f50f440b0317a9896276a68a2795005643e4ac97cad8749bf3eeca4e9ea3e26464fae1e0bdb9bccc67067ef0ea85731804db752022e4a091a0d6f2c3f429d16fa27729064f2f23533e6334ad055d9003dedb458ab9a0f5d505decf9bc53ccaf7a6d9de30c3b4d3548993635f1122788d7c1aa4124e6d4c5259c30849e28cb33eb43d4cc995ce21288385da864b51da912f7337b1e4f08b2779087112123e5d31a034024d4f2b64027cdd8574fa96cb47288152bea5d70201e21d15db4fa3515b90c66f4aa6747054ca3f7c5b05840f7e2f5b41077ef50b8aca9001d75365b958aeeb7360c28aa2cae9b689827d21f3ec2a53c747578d5e159e341f6ed428789b0f6ec33bca061a77496c664bf178f84fefba5ed47bd0beeb5a0f809f5647015e8d2bb3f087390f2b9a13fd83a10d6f2dd8689ffb4368e5874933bedf02f790e548fd6855c924840de78f23059e6297ca9db46e09a4cdbc0bc9a110c23582f541a6ea704f52f7920bbbf1a2da4f61dbcaa27d1fa8ae8fc27dd199614c505303022bd455b9828a0b5c91d6787225f8c4232ed73731530387e25b802aca66ef8b954284a3ea6739828034d63790134b1a9f00a18f3b15e7166922cd1c62f365425e0ddb77adf2d5d94a3780087dc47f0b01f5502d229d9eea1b7b522b822683cd8c82f825c844f1f17f756027cf50c96df300a548fd8b04757a4dc892d725f96f328bea42d210779f265dadb4d4b206a733bf2a17e76dee50a99033f138aa2ef0506dd735c05854ebb390b8e1f8e926d203e9a73b671f3218f063cf7e172a8d92677c039e412fed1bd540cf02299a8cb4620e14749af2ae1df9a45d34012563aa014bb9269a6a257e6a59c71d3b2a23c053ed9bff6e893030a4d9e9941cfd223cc546efd75cf858f9d0dc33bab6f9751867bb5836ba5861ce1de62efb7cefb4cea1a68ccb63a52cf99c1112b6510feea73c3d1b62e4b6963494ead4f3b270e5a422e1259cb468f25bfc4e7910b5384a414d397c5b793e5a82a45b1dafa81572794e19ce66bb72f722681a00b2e11565bee079a0ee60d815406d8abc87a75387c6ac70247570bd05f9b5ffc26c01891394fffbffa9de3baf6b12fbf4f2d90f674169746f925eabfc3c1a179697d1874a101a9054a4aa41f067fbfd71e9ad4c50c9aac2c4023a694fba0c75d16cc64e30fa746a4be5642d8e4ad3429ff5771a8c777d803517eeb758dedc6ead0fb78c1b05b2f3aaff5eb7f5145293d7a18942ceff9fa3bd801e8645a9e0f96cd122604072eecb84cf06d1799a0605e2f7ccf04eaa8208a874c626b3f39cea6ed20a8cfc0dd85db7d11f5520588dc51ece16e30f334c57e05be442d58e1ab75c820422db23d771d4f57fba8ed885afd10ca9c747a484155b69d2e3c8a1ed0f0966759aad819ad9f1bca2586499401b1297b4ea726401d1f2a4e6361767d45c01a74af3c467a2cde20315a0e884097bb2b5bf8697a31268c6837c71b9e1b47e0f0207976cb3bdf5a5a30d7d766a149797f7ef12987335ca43d050a97d339b621071147ab8785a2b8db580353302d52959351256dff14a297e4baa284dda7d00735981a7661baf7a5f8bbba75d6c718495ac278b17265f095f101043c32e89221fe31df336b77f7f9611e6509a5e654ad9dbc0b461f6c59f041a013fa0f25da18d48e276b22a9ae9390bc93600ff99dff41d8294227bf71ad8099a7954e896db725fb7be7151b9bf87c1abcbea6b1060bcace0100fa5dd774d15419408149572ac8fb1189098d95625681315334b678b0650bd0c556ae6b1e9846242ca2bebdaa31e5dfd4efea5f5e2b7b4151510b477a605e0db3f03639ab463d39353f6413b8e0adafe89df1a03d2f45d230e335b5b82927a5a5a339c882eb218113d29afd3cbd55383918ae0b8c82b95d01a067015e520923e9b5a55732d1a7888bcae7d64c3b677658840f7507429e58faf6409e3a77cd097df7619a095fbb8be52ada7e107ecd6593b325b5b85339647e2dd77837fe94c08dbef4ed46c092d344f302cd30dd8738e05171d65e10dce3adc54beb1b21237efb27b89ce8f18283bb640b3fd0d78cca8c7c999ddeeff079ef49054186e3a4f6bc01558ef3770d503a2a7b3ed72e121f2dfc287345c68b46a5528bdcda6b70e26d65b86580cbedec31a25c3f5555f674547f1bfe4b177c3a77148fa83e07b334dcb2f7979091c2f75d8e69ba4b88b6c287dcbc7b7d8c4370368bfa9594cfe942e3e08c125cbaf9a8557ced881af4de4ff9adf7b29e470d4cebd72aa60d3c0531af06da8426521fbb825d39cc0850ffbb81198afbd5d5fd40069c22c5596123843768f883d4bcc308c7022c4118c724783395f80df7aed0e294d41c7a055ed6a6ac76a9f7d26ca5440a5ddc1ed0d535f884c44191f14d8ff3cd7e0dcef4eb53897d8d95129b6715c42c16b87e81eea008f744146a62f51bb17cf8f16a5ab5d922eefdbd7883ea1eaa488e6fda6ea245a6315043698a56b2a7e7813b164d1d04c7176908ea6db2e4f0731833e0e0d695e1c6958aad5a210d9ea0923451da83817b6f86391941f543d3b9168fd2ad02cc300ad01697ea1c40268484e66c4180506d3132dcc2278e2a26776caba7891b646a79cbe8cd88374d0b9ca6beafa4a55127b7189f294f56e28f24cda02d7244cb879333db95e68f74127b726c5ebe89d584e3c629dcdec624d82a98be1e34b054a0a34918f321d8758c2ba0113ef3ca96ca7e28d5f472dfb7529d4ba74127748096a5ee0a879094f26b65d5c01c225c54ada4ec40b002139bf32550cf95cec9a3be135e38f5bdbe6595ae4913f9d9d20ac9fa667af63703f5afd9cf61894f3206f3fcd4239d5fd1241e51ad5bdd752ab616218bf619c4b2bcc5867524f47b6c234176a368b74a32d19f926f4a6e9e4669b9add8ed992c60f821bef3def48e02362e470b97d3e14ca2934e2cfe94eab4e898141b99d3b24866aff2ea680dd88390120c98ce64f80e72a8fb1977583873313138a5045ae45858df77332d6feacf15a6eed15d53f3dbd87543562345e2b4f0ae089f1cefa61d30db8d4f7f4783e8ab266353136298f76ef34a9844ed71e095051f1c6438340707490cf010b5e19abbae4f7a82994430c0f35c562493a3a94ac6ca79b454a18161ceb27fbc308ca72e623f8cd0727386e0b3a2b42f53ca2c0b05d2d81d1fdbdcd6f9e97df86971b4b73f0ded5d040abc0eb9fb5550e1ebb3ef481bf661eb15a69708a16a492646b00d168e7e0208a3c34d5713dda8151ca22bafb8d85d008fcd1f1b3c83670634557dea6a46bd5ae30b7a880d9e1fe773a6a779962096210c8938d4d457c23e5f607c1c5b534b20b048d8cba1e771ee427310348d6ac846dfcd40e0bc8b94186562b10a57373f4557b25d61dc0d3e6098bc81fdd683da8b444561f731093acb437c5f38add79b59cf630908eecae2abcccf1d6a356783b2a7d4589fb01bd5a77c01b088194b9ef1d025eef82b3d4c9790f7267729d373370cfc08c64b0b62aa4dc4ac21c43baa742d53ffba61d96e375bf69dfe5233a43fe40528f058f127a2c965c1a197fe952fc465f41b6173829d0824274895d9a4d00f89aa4237a7e1b3b9de5c2f05703883672d8c4ecd956436c7b65e4e441c180e342f7b33f6de50569a8d0537cfa49c5829d6b1ba0411d79d47eb4f2aa78d9ba50e8e188d0fc7757ac1796e4f03a4e43f19f6bc851ae239745ad29d65d882eeccc398036f26ef1a2ffb75241b1f55cf8b2c92eb704b0a29851fde490ffcb773368ca67279403770e501c5eeebcce2eb927af45b0c5c204fb113dc6c733ddb0b32b5dadee0b52ee65bbcbb8f5da27bc5301dc8fc73690d2eaf340e5ccdb97fb5db6b0b57b1019238a068eea5c7a1d96823c724e022d2dfc4f703f059eb418b260a8c1e09f156af1efbf13f61ba93e67735799bdb822a9d25d76d2c3a876ad90a5f265e05590f2eacbd7bb2b31d5a312e668d1b4aab3afaeaa1c7862f30c9a002002bd95200bad686cbbd9960b123369e95de74b42e52dbed14daed82b286426980bca431b785c7f0567f4b3c40bf52b34a8c81be26efe798f69b7e2fb09add3969fccf3292e696618089e6541ae43e6ae946366d3e872ef194d423db38baa0b855ed424bb7425ea6601b0bb906a8426b0f99001059540a7bd3cf48ceb74c3989a20f68b2db087206b89b8b393b368b4b581828b8c30aa92850e7d0f8c78b0ca8cabc69bdd0f28b1422cf0c094daf6344dc88b2f9858ccb45d0a2260e2f828e676a70e66ac774d740c191be88a70c92cf3a5ac9bd97b1a74807f02466a8195683e2face064c6a77a08a78e9e0dc58a8a704a41975b40c9a5301ef8e867545ba8332dcfce6afa37de4ebe3a1c2ead4c798468ce8abbca2a818b61bd6c5730e4f06253a2cec4dfa573ec5a4437ba20d534e5d449df536a219708010baac047d0a2843fe8ba2286a30695bb268c2eb5527e0e84b69b8be1f6cb7601a1fd0219da64bda13ea1a620aedc4cfa63c7d7bd8e5769e601a51c4e61fbeaab21666f67640e0094a831d6ed54c4698a49fb02017a0444ba53d5c4fb8dfe223fe3dd834bd613064c00576653e5d070846979092af555e2eec91e8048e654e465714b4387596d8340274fda38b3370b3aab56a623e68e184da82fff9c0519d3a8bcadecc21b95c1048439039be4614632380b5286699d48edc5ac043b24a03768ef5dd45bcae3308ac2aaa9108a971bb363b4726a4b5e27b97681086b079319a3bede1f5e6f29eda01214d3206af949ac4226334eb6a73cd841dcca7c4d30eeaf2e9295753c33c39ba7c0d4a42766c8693cc07add839bf61d246cac3d9a2746302837fbce5b5afbf07eba85d68a58de996997efdf597ff597d338a77ee4dabfd1350f3218ca5dbc54cd86ca7176e9888269f3e54174c6603e3f045461a96d7fab7654e5e3ec0a45db4fe278bc149746448603ef04376fceb805a5bbb29b82b9b2735abb965846fce6bdc357ce156ab803ab71bf17427af52f8e91b322545062d76af24ba6ba6c26e90b7f880f1d04a3dcf73b07c7dbb36bcd7fe2b408e17dfa318f57056007778b21a9ac18c519ac1f156871e19b4d6faf473cbf904413ebf112523c414fc9d754ee1b9932520b4bdc2583b905e95cbd737e70cd96d209fa7ffb2686263b59d75339b6eddac6631ef9ed834250bf553b1b88e135135b479e6b1395db33a38d91d17a774847d999c95e3770cb5123c5ee8aed07987b4df5567906f0e1d7b8c2ab8038ace66fe1b51fffac9be3794e23c8a9e888851fa7a309c983250be2175c0fcd8abe2fa2adb8c5e5302dce5b67ac33dbf3163e51efe988c481c2260bbd401a598d327f4e1abc9b8c362d1fe8699ce70be10b12380d33a80c89b84af09a13ef24049197e2db71f25d29f8d08901e129c2e416bdac6208101454c4e4858d87e1d17d32ed15e7bb61074213dd5a344efc02867a110928dfe447426e52139984c2770186d72032563b72e08d8929e51c8b513a6abeed9228cd693357ae64bfd9c1a2ee61b22ea283ba3b57444e34508efd9a4c4295f1e0f9f3e169d81a9fd1b98e8210e3e0a0cb16734dee14d76414c08c057b085a1b97c4a5aa01dd263606b72ea10b02056488b06bc2c79a25f81aa61a3af02c0acaa5b4031cbac18e1deb7a1a120a32ceab7692c9763a88b4dbc059b0393de314a77d5c4092b330dd2c28a24f9268d269a79914c2f15bdb8ba3cc7327e1cddd51cd78a6cceea2814ba7862d0f6512090f6f2e3e54ce0611418d393842d6fe04145a6b6b230d7a206d033549c4dcdcdf36d0ba27306fb79d272df2897db5eb3991479d05311f364e25dfcf18d715133c565894bf851c05955910584f54770fe382e6b644b0100801d8802b712e7e16e1deeee9c7ee7ef09d26512c9ea27a8d12dcb7d325cf216717a2314cddbbde0458890b0012ba02dda0d621a02eca176935c61b432714f3015ded13d4397a7e95ed28a3a14dc1d72d34946c6beaa5e454b41285bf946e6ca4e5e34fb55826d8b90a1a28b5050ad012ddb901dac2121fa4f0626df39506f2a3d4b4a6061e25187965acefb3d5d57fc204f19202a4e41d264a5d5d380562baff184dd6f949723f891cf7a6d6860088eec13a97c3f63022194885b811284508aad410e35689b0520be7a175dcd1b22279edc6897612b7ee1819048e6ac207628ac566bad653cf4a6ac646eceaca77772428a4490ac80b98676d2ee32ef96916f13cf157d9a598420146ba409d036bb7724e85c30853aef041f84df7bfe0626f78eaec87c6fe93e4f157d3acf0ff36521f43d764fd1417ebeb9c99d2fb8ef2a4a2c18f8e4da1dcd05cea3ad2a1bc8e1a201211e96feacbf8a5a9e68cfbd74b3dd39732c426e5da9344e56eb33452589120c968860e8c66a44d1540e8a26389b571532b48f6e272210ed4421f6bca859a0151e33fb84a9600b9d2df5ab93bd256e6d2e76a4338160956577b94ba294061774ab0634340a6a90eed64f7275a33b8f73064267f4754882837116d5a04b35d15ded509962c3dce74b2f2a985eada6c960da44774ae35afd47ca3b0612369099423b18a622f2152e83f5cae9c75a9ebb2e46ba9164c4b4ada5329d2394c3c0af0963297a4b6098b6fb0cdcd2d6dd35c14a71a6bbdd15dbf6a834343ef5668efdc514f40dbad748a6e2dc79f14ca8e32791101b90642df57e37f9be3664cc6dc2a5f7ab013f37882bac13e30ca5152c43963e2bad997c283f1ec13655e14173f05fb52265c3ef5b62761ffdc369aa05acb6ece4a11c5c75c86ba34726ec82f7bb14af70d021d207f96496eb8d5f656f8a5a3f0ed82ff07e78ad23446a016f060fe8c5af877c5a5d5fa4b1bab63f0d7eb6a71669294a59247150707348f0037267ce2b54cbeab52a886944a7a674363e2c110607a7b0798884ac4400a15190c6a5727f0a2c6c4834d9e0495c7ef29e97568b36038e3b30ad4ff0365c294b9e66e46450e6ba6e7b764da3a9f434dc122d7dd1979f1d5a56bfe8e56e6d070d111fa609d550b8327ed655ead515ee5b34adc846d75695108cceea41ac2d187cd31d94047ea1befe0a713839a5391a05934a9ff49c9062d1d8d30a5d7bf70cd3b7f3fedc6e032010d4de930fc65ad50cb520b5051489f8c169930f12ba2138c69a46f3540aa02bc53cd9fac91ab6e2aad4cd08ba72909004038c7e4687b0d0a62cfa083a9901be4ba0f7f150a2a0e8486bcd70beca2423f248b6931d6b01a10a51304f92efe90f1d7c2ef605d46e863a46a86928b42f6a07af7a411954daf067825e74f74080cd84b7692338531bc082940eef879e32523f22a6dc1b176bbed9f6835e28fa14beb8ecc9ab30a7f881b3153974f859097f308e753b0dd8113df53d6daf6b00247f6a1047dd6cb9303410a9a1aaac851feb7d8465a8da54683adcd2193c89a44fc6d2d460e81ec9a00ab3a06935a73d2eaa5adeba4922b5ba612fa9c4b0e40c0540f86521dc41b57a34b40820d65bc8c7d00dd5a00ecb7204958d7f4d391c73f53bc4992db69586d17c2d319d2535eb5b5ec439e071428122e13e8711e74d29cea85fc38cfdbd569f1ffbbe39e7346554b0755b66572175bbc9ef1abe99b1245197083b2816d09c826e1f069ce63619c3e96848c74740c05ac0619426ec6c28abe4467b59f8e4593af42f49a674a02c80234a4f653a006e526907600d88a481ea901c4106430c0859eca009e512b044a7d83396249dde3449fcd01c8baa4b01cc5025f9e5b7f0d56fef0d33a76c6ac4f4669a2a49cdba4736b0d5795964ab61d3e72c9005e8b501859bad0f8a5436a440024013ffda9e6267441ea3e9772bd4f903b57ce1346eaa8ec47c05b12d87635a846ea71da4d31632fce1b35b3523aa9c9fc7bae37c95f8181e8c774465fa8d285b9e7761f120e402dd9bf068c679c2a3e1d328dc1c86b884e0e59a188f38c2ac807cd58439b5832e763c69ac7e993384aa27aa7db24b0fd4e8a83585c30a755dfe988aca711a83b729b0d39598e73aa063776d8d8aa903fc68ad59c0a355b58d827ecb22aa347b932bbe7714ccca53a072d4fad2f172b467b43a251100e70c9730e601eda402a42f34cc0889e1ce1adf4c9c480cf210b064cd6fd3c08923f8d233971eeebf9558994c90aff587cf95bf9b05f74e468ecb83924ecdbb9da8ff0896ea03b5b82e8cf4d3df3a13b2c6e7550169f36c9e667eaaeaf9c8e81dbc057d560be601074ba7c5599956a3917b437b9efc66576b89d6eab78e79c22e542872a22e01b1b016aadb508487c18c05ceac247d511d93d0d63634f8f02e9fbfa2dddc882160d133150276d4be12f7aaec3a8a210bd43e1a792dcb0f40f2d7b26db11acf8e3aff9a443594a2ec54af7e7209cb0a61feb515d3333cd79cb6e3e46f2008de1a57667e10fd6c942f2ab4f4b724158f1258f2ce8f63b535cfd91e83f5d18b3ffa963d645c7bbe05508200cef16eb6e3407ca3fa6025832911503d4ea5bd220d6c0aec181616224a396a11ee1c6df6113a57dcabfc9d177012425700742065d9a5c22306d8af1fed04236a8c67da3fc773a39d0117bd3ebc6c3de69959081cd507768a5bdc6b2aad951058fcda5934cac4ca583cecef49ce7d52164e6b18bc2f8ffb30a44097fa26fe57539ffea35cad5a40fe1df47bab624db01ea8faf29bb1f5250673ea95fc21e8b1097b38082de801271c0a54f2c3a2128d51f151ff9d4a378682dc428052feb6fd8a701db8409ee08ebe5b5f878a9ee367320ccd1ea212bad23a872fcedb1313835c174f4226f35f58ab184fcc22923a3f99c47e9749124b8a3abb37ac85ae0cac833444f820522b162fa7e28abdbd31b67129e1829c6957840ba65f6a767b3baff926cc2aa1a4ee1af481ab18696824fe5622d559a0e1bae442109616b128304c5da95fe051e36f96bc824356088ea8dabbef9783ed40f325ce36ecf7a143d005ec864a1a24a6e8d730dc985f5b0c9a22c2f6540df57a16549925fe09c28bc1975fefad00b77dc96c95f99d6ff4bd3d01ba006ce6c1eacad5daac22e897d7b2258bb3de4aaa45f3a40966824649225097ae154558a91dda9badc84c56a63af105d63207558ab7a8d586392ddbbc758b5a8d769a09c2a52b9f108fa9d5850b997c451887fc4de34b95ac7d25990bd195b63332e42d64a1ee0df856eea6e1bb3fa17c4301a128e8bea51a35bb720d973c7fbd764570d02ef3f348554bd630bd165dc6269043f1a7450f22ef214c6405151288c1fba11b82f469e19148ac324961371400f9e9dd22477b27087bf0533d094f28aabf32f0f202fe1c28f9f1905e6f68ee1ca85258b978654ec5ed70b206bf4311ad3a00511257e9378332937d73cebc3584357006de7ff6b4da4cd0093f35f192eb8b0466f6eb0048eb85c7d132551836290df701d71349dba0dd849a055aad309411ef28466c69164f38daed0c8b0e0b06ccb211329c5bee4f51fab1582f2f52133ea73163470f730532f1efb2a0312e543da6246c1153b9fe4d8971fd022d7eed55d227b35bf7789074f10862488c0f25cd5a9fa98f0d3dd23d3aabe0ba2bd7a0190b649792b5bc44557f07e8a6bd5fc7deb0295caa4051c02b6446034d7b6bbaf3aa26a74cfe1adb587dc36a9f046249d55bba4a09af369e38bc246e4ae865f68872ddd1f5538100bb53de2aa10860e48a88e6183cb9e6a33f30b3e2f5e55bb3ae1fd0a46d152f7db9102658f27bc4d5947c9fc46ca259c4dde81067f17250aa49a229a318fa9a2caa04f64565354109677fd68916ef7976573671062c168537a96cfa83c070bd78d25e7ec2cb96df1ec7acdba1b6a1aba9ffaa9412321e73e94e59c906cf489d470807f75c594410924d1f2cf90622480217a46b1ac483e5563743148dbb44fb9176f6274a37feb3bdcd8378ecaf06a92bfe326a1c1ba8eddd85efb01de5bc6f3db57aa4025e5078ebc73aef5d1b84cb6ccbd9fb6658d7a6eeff6ecad0e0f4ea8e727635ce88ad67ef365cf9db1476e0e7c84fdb768c1e0a2af09f1507043d4434d385d6dbdba518c25dedb93eedc83ff930174b9b80103295ea277b45d6e41702eba006ea6e37305cf3bba9865eb2538a95c3e0ebed48bf07993174600f58d27d9dedba36b1f85f4b658de861ab8302195ffbed8d96c9335e251522b1c6922b8c25e7894732d55f5e5b757d2abaa62a2765d734ed295ea93f1d88c58488930454eb129e27a716e0615a4679edf4b6f9b453e886c0b3425257a41ce5202a121ab79b50410e5fe323c88ff802b056bfb73d03fbb18eb4d2aaf4434c842a8ff9a9ccca8477bf70fa7a529e2e7edee6409309aed83aae1dd3dc50f6e7c332b2fa9381f6f2d568107b5bff1ab3e1400ab6c759bbbfd53ddb39c552d309e0ac11f58cc060fed7d60097d348b1b98fc8c7114e54b03e543e6baea1121245c5cfd946f713ebe9315e0880b197efa16450b054bddc470f1a15a21c37b06342a89e9e037efa01abb8d2cf665d2ce99d54787d5c86a091b3fb3e0ab87d6d52028745db448c73c6c0c07740122f33cd5a402237613b4af37b6d8d15e7c2b5a9fdb347d3c3d719eac6de907954857343f135216018c070d19ba266c502a3b46081707178a0172c3a86d2009e8ba6d5d812c6c1af38dc55f60675a6d4c698f0bd6b1d79f1fc6edeaacb1f7b4fc257a2b00f79f6504e68d8e9b466af8ba4b581a107c2a1f8f5f8dc03952f3f6d8de35e0ad7df087d2fb35738e04b3e7834e2153d30cd0364b45794a8865b49f34e111b857ef4bcaf386e872fc244786d51d58fd5469d576c8441495aba85b9d81abce0c9b9fca5bef7ced23ba84ef53b9f9eed92376bd430e20ee0087e16076a776207bde71f9855584edb4f6f3be59c5d4304e2d97b0ce1b4ac5b558ba73a71a5c61a74645521387f14cdf854fd0e6a04881375c9459531590f329dc93ba5e7f6d5e69d8500e141655ac1b47262af9bc1ac0d915a39db7d344e4e398a6b3a8a6b4c83f19ee6efa57007fb0b00f3f509ef37286b36a35582166bf07292e9bbe0f4709859e2c72db9904638c1c2268cea6e8302a69ab07d01b802baa46441a2ddea76665cf9666a7b666a9b30bad9c426b2f66208cbf08274d3d6d8fb1b8ee8b2135337a922c68ef45ed1d73c3364b3336abb23b0b16020a1e3eaa71e419dcd44686c558f0d66819a4100046d9c41e8e32b67e87ebe1b1b9b217ab91af95960386e0ca205776e3fbbbae7f8741ef5dd8c619703981f843c6c3ad8fab13fb12aef555319dd9e7f7215690a46aeb16426e0407ab7cf25ed40fe64626d81095c9c305f8dfc7960c29dbbf510469f000e99cd0f67ca6d61b9887827dac5a3d6e0dc65fe483706a5fd31c1cfe9412dd75b13e971583ba27904082e4199c657741b2cac9fa3af591abb9a8a6089f9a26cfaf47149ef3c4b052d77327821d5a8a6d66c64003f6ab18ee42053cbdc6783c65ba4aaef2f4fe51b0e40c6dd0e17ae1410ed6a10a0281492bf4aafc068eacb44ef7e20dd5331f953b3133d4391f6a3f9345097eae71760bd30839ed0b3f3d39749126ce5ebd031336481fb5731fbb0f258bee16781f8319e37a0353cd381c2007248c0818c704e941405830953c496f253ae966bab0ff9708311bda5e6f56296a764cfea0e949a3b011255a458289b260169ac8add5dfb273fa26e3bb9a086e73a6775fd580b036dfc75cc6aeafde0418914944d5480c170c3e9c483930a7a8c18c4328d9d33011e0369c5bf809fcde3577f02d692286bcbd2373250f25666cfeaebfcdaf7ef8f71a842ccdbfd07e8fd349f673709809a95783f18e6c93a4b606d5ec5059eb70ce20a3d71b90ccb58164eccf408933d6be7633154481c660bb0ef3dfc94a80819fbf07005c4c4128282b17b7ed4c0543113ab9b179e978704915aa2c97cf54b2766ee8c7384ae27ff01922f4ac3b475757acee8a75802437ae28fcf345e54315db128df9f4789085dae6b4db25b3ce68371518dd9440f6aa4fc153a065b5e44e7de41fb67ef56fb90a944bc3dbf41b8af16d1a7640c773b787c31139616a533365ed0ee91aaea94ca74c039a66dad069599ee2a411d62584b6b0320b9ca28ae6ec3ecc9f6e4f5176b3e70e4dad90efa14ed7072324df33befb82fdd5a9d1b7ac885a45bf7a87964f069aee9237cccf6bb84ca8daeaa4227b33afd3ebbc6d40b59983566c94903a56bf9a6c1e0ac9c5df7325b91d4828922dcb72fbbb4371ef68fa376747da2ef7b17dcc33e1292bcd4695f5ca4ce364ddfd0621be0f855a2bc616bc09d477611f9fda982b8fb7dfd2a0aeed5ade54975d8d4c136975d1009eca05316cba347b9c905370aa05d2f267095af9f03ca905a4171c45062b5479a035737e13b05453c4456a81377bddc869d70aa8b13e24541a5c8d1616057e96f813fd4a9d4aab28aa3d9985ee5b0ab7dd66d7d5cadb7d60f6e9028e7452989f2014ab394a7fc6380dc9aaab7e8086e9d2cf4cec854e2de52d9e248b3f9a170135d63508e2e49adeda9f251a5103a1201fb58f8ece251644ad61e7a9fa723f6a5f1ae22ce56ab16cf0b1cbadb8c26cc19e49850b3258580e59ae475cb83e492fe6b14ae9f8976ff8238c7ec4cf45b08670d7b9b67e38cdb49c84ef7ee264ffa94a42314c5c719e920bdf44459a9f9619c5b7dcbfeba58ef37aa5ebb6efab0cb50183b22223b3df81ead70668f683dd2a48851439b6752bf34d6332e1f3a47c734132a4cf1997284137efe21847c9c357785b84b4b6dfda148cfbed8185ebfdc36fef6a06db43b51b8a96ea587493b2762ae50c1d570223e7469231fb5124d828b1fcf9b9695db1b5163ac8197a84ffa1c0ee1f7607663eb3e21694edc7a7231e9f67008b6cbca0b2f25a6907945417bff3a6070b548148a52c5b1743596022c9660df63dd0fe849489ad1a4b1ead6d668d32307919ccf848beb34334f6199c4865e126d90f38b8f500fcf7a3616b7a6da1f3de77b36dbdd1663c254c73717fd3a1efbfa1fa47f1837ec616ba1d6847d652083b533eb6b07d80096ba4072f270b763de7192623086a0949a255605609f358f2ee3c261e0bb68bf282c27680634de5da89e606a52d473ee23e78817a8a138cbc77c73260ce014297c064007433cef01502117eb36089a5901964368b47ee998427586ce633590c582e31b177a0ac8db5a76a1e8bcd9afc2857ae1a3213923bb76741068e09482c4317e9f0b69f0f1db053bc1429d4ad9e8c6aa27dd40a14d9fec30ec37d9f939a41e5dccc2e2b0ecd1cb7c9cf6bb986cd3441babc8397c093c02174af02cf37d427b7f5d5a911eb8ddd458f34d216d08f821cb7479c866c10d9aa105d0c8a2517989f915fcb23d601a2074930f02f0bc08599ce38d805662ddcb9b3de4022237b76bdfe84078b483418895a467333ec721e77128b5409ba657fbc286dc4d0f8d599c869905dd628218ccb24497540985272f41b3e58f07fe11e0469f0b51cafdc8560353bd03c5b83741cf0b055225c72b3741bb3bf589694be90bc3e1aef466c7f7361cafdd8d49185002b8e7b60f50a779384b95ca5ccac1aa7dd3cbd0e7b62c9de6713f8017041fac844dd315a0974a68412d22ade6d7a565db58d0d389c14d9e5a65883a2d508a20ff75112a6a3138f77404b79ba788b91353c8afb0b427c63965196b201f30b8345a6f3b7b3acba8f7b3a66d3fc71a2eb1e967ef935e65c366990f775d988c30198da47a9c651e7819cbba985a79cdda1881aa62af9393fa07c6fd249c61e65c5eae05c9f5a02c5014cb6c17acf4200cf1796dc8ec233f84bf1c9d464e9d77394885c982a6de461f8eb38a62f8f99ff4d7dab2a069b64dcdb0b0ddcd424c8da4cb8dfe4b353bb9c917a149d128e83657b2adbb60ebdb945e938a3a803ee3aaf0bb44adf11e68ee3b43b298f6afe64f8abf7f3aaf45608673dce6b2cec9713fd7c0902b857eba5f0aee3cefc032f84e5c077a6f3ad7e82c9652fef2c30c62b5f5c9dfae27f67c31911c81b626d99d9b45a1da5a84cc83880cc18fe74540fffc883e28eff15ecdbc1185e2db56dde838c2394353ec1b2f2c19bca038cc36b32cb2ada011e19950f2d3ea95fe7ac176625cde1437f8460e4c5c1b4783c30835ddec4b0310d0ace6327c0e5d20c5d9c8f3577812c90ba85e9931c2b0f6f21abe96fcc66b46a9d207dc48a5d638f424742c0039b7ae4aa63d3e326f294491cb9d309e4157a471335934a3419f46d31213c5263b9afc8473e381b848283244e081b6a59107ac81c5f5947b39b972865fd729bb78ef1b19d1d412620d0322459a13fba770d70c1fcaf4137630097a1d1e59d730237141350086fdb0af799f844544b299610eb2f0f2ac685ac102fc52ed01c4ec79e87beb0bdb9a4e08d5663820d321b47a6bfa2e82351fe48b0ca8722202f57449a940e3623ae8487a6e24c372414c089c9ad5135e43206c284a39fea73f55b08296af9f6fe04b5dd91351a5f30dd5a53e66a16361de6a19c31a53c56d082216480ac0eecdf22c51203abdd630bdedc75649c20b785dd9adfa369a6b8b7d59887d9f911f1ad1a6dff0b01c3e3dd43243a9bb6a5e91a987b54d40c8d4e8f8b00f1ce0e7a8653776aba7a474a50dd71be0a5070eb3e376e8fe38e480bc238db5182429bac5857c1d736314ce457ebf51725de77c98f27ededd61dc78bf3d090c323a886313095ba2754fecb41423c35d0de98edeb7d9583e204269872eac0ffa11036cb8341cfd9b944a91831334bd995859229d6ce9da0f0e568ec6a9491f25120c69e357452ed9ad79f9352248b7ca23223108639eea392043afa3e600bacd6b70644abd888e362b8752cbcd02e8193f2ab5e8730efcdd9706d0e46718b50db1b2903e542bba28c3443bfb322015612a57b280c4a702060033dace097983d836ba88147320c49360ecbc80f25b84bacb0e0a29e199c3ccaa71a0c706395c64a55c5e51d7de78875caef657540240bb295ad94ff1bd9205c5e9d4a84f021fcfec5998a338fc6b3dd15090e0b9344655d9091b614f8e77eb975ccb4ebafcace93a5460d6e59ad604307c9aef2ac849615dc61ed4d637aec19ef2743fc601b36422709e0f446faeabf953fa2f03a0980b892a34a2a21312486f48386712b4652c074bbd4364870b69e7cbd3dea6fc06ae834cc48f5f8325f38de6484a9e0b69ac645c224a7e4f5aca646db53bcd639bbb1a71195a9e0e42273de10ea61c9edba7befa719ab922e821253b14f2c644adf07768790fa1514fa105423eaa187fcdac48284aba0f6e39ec0b8993285aa87dea5e5f5454783a2bce8f536056bf06e0cedc07990f8abe4c3a8ecf7100129982d0a14caae60c0f07a9cfede07b502ac62b46b19ee9fc8fbe33e3c2c095ff7d3405e9236b049482c6ec612b4b7200fbabbdfd61f1a867585e66bd04f0c8c697bc853696deb0ef4495cb72048f5c6df2102dd54216a64c69270bcc9d25df8fb39f6abdb30da225e368bd4438ce1b9ec6cf2400825b56c0057a54f44bef5b471ec751d6900b895454b953a69a30fd2164a588953f9edb9a82ee24e798ac912e7da3d66369a841dd5a5800cf97f259230d9c86c28365c1af578c89e6ce2f3c25c10eacc0121278f7f38136d488617c69751a90000fcb831f3ae660fb612ad5f48a310095c0f660a222c9e97c829fdd9c1caa387efe98104b35cf0c7cc9adaea895bb118cb8c51491daab0addea0b6ccee0f67d73c018e081e5563b9865bea1ad8704d4e2035790df59cebc2c5124c40721696d9b326ac7d9adcb6f9dcf642e651ddd6c031a931731ac97aecbaa064395ba28fe5bba3e3ddbf8d787409e4e454725538f4e06a614d1800efcfb1613f6350b033ed28cb2ebcc929a02fdfca52bfd57af5686c855e232009e5d5c0b3a98063d5d774e9bc3201241b60242c76ddd8b65439add1302827b80b5110da6f1fea5137d3f6821a6138d3fc2d269d4a37fcfe350e2f518725142188d59ac5f5f5346076f54e1903c0ddd8032a133aeb293f6366df937a84049129d07e268df36833c7d72839a8b9550cbc9a6c0dd02d1b4a98c9cfabd36c9bd2550cb6975840823e530098c3d49975048911ce20145d8a43035201f687db61c2840ad76b53fda9ff9b69105b70f46947bb3d3d31be925f352bc15104ada3ad9604ef8b694e8ee10d1bcba5a26143674bea8a20c2df64b5ee5b6078d597ed875d2132659ab74049d14a85b5ad6f022bcaf17ab2ba9fe74f6f83504a40c0e6b4d9142422651b9621071c8a8d505338073d8efea10acf3cfe03d58a8981b68b744c67955e3d394df7732c95d6699af4dd75996b781a2dd71d16568496c400c8e6b5b7c8d5ef459ab5d3e9b72c47a562aa4c9d2e4e416f9eb9313c14698740bc556f1962210eee726b01841e2c59850f5b1f66438dc8b088fd63b61402ec759aa085e711a84f3b70bd620755903b0ec0acd0d05f020af7541a1e321faad62d88facdb1680678f6b49175728dba72dcd21f24fb4b57070ecd7ec948e8fdeb442b84eaba78033b156f104ccfa7eaf250999b9d13d11022d27b53e24f295adc908db42da4449964d2106ea5d4c4b7a25f7060fdaac5d3d7ba2061482c1cf1f046dfa1793fd4dc8cd4dc0eff6fec470343e516b18b278459ac17587c84fa04aa7d84cb55f81a0d72b5d893abe4b93893f0f99ce9ffc9de845e5f22a3f67015caec13b8a9c2dd220e3e8e50d71d5e8e2e387b40790a6387d395559b3cdae22e2ced273f30f7fdc99c21359b5146af3db6a999dac6c0d932eae1f3c96728327df53cfd3c07d94c1148a6381d2840950caa00004d3751090d984cb0ab449fc77eee754f00d4764c807def21afaf6a4db42beff31a2917f96526f2a1a2f9fcfa04eec8a6a0c7c0031579749de9f643c38c063abc2dbaddf6ccf24a59006f650559eaddaeff9f67656ae0782cad63aedfb2537283072820826c21e29db65c249accb11a9f432036972af6d90dbd4e1ee75dc5a1c38959da288d4add5b10c2b4bc08dbf97bd4aefb2e51a44da9dd63e5e68df41407f3b38e3b3141bdf9d4c200a91e335c62d3f7fac33e45724b46deeae0dfa2316f24de0df3c79a1368b8e0eaa797bfd2bc67952ce2f4e86c8ab2a37fc6e074b105d2acc271ce6b6fb28945fcf720eba2c044fbaffc826d24390e22b27a28d63e28775a8da82281407e952032e071dcfb115c233c28a2be23c95c8839aca7fa0e022af0aeec821293ca49b87cb7f180f3c6455fe92c9f43274c0e383ff656b06507b76e208e91faa3bee76bbbb01a98f08b95735d692ebcfe9e794d423925edf3b495cc30f69a3517fc3c0057a625511ec9ab14d59cf0fd9685feb32d5fca599b04d8ea39f0eaa6b0b741fc9f9027ed6796e3050fd09727013befd07cde8b80e3680fe5ac8013470dcdb3e9ea46e89481af8160d3f715a25c1b33d030e8f5f5c537a7cd020bda18042e88ab3d22933c7bd180af1fea59a595101bb833da8795dab319d5c9b1a9f7d6487f0cc51f0df799c805504dbdf3c866d8d8bc5e4cdc26547a8c1374003773ad0a56715cb7c975b6bd8658844eb5c96535697199177cad9aa38a44bb3b066417ee52e3685f23f94c28e330f637701cb5f9781e1d15d9f886a5ef96ab54647a0fd781859c001fd81ecb2a3e7e7e6967c5dd239de511c79ecaa0340cee1997924ecd86e7339730f42329af0c95b2e6d359a0b68636022d21fb84dbe7b7916c60f8ec0009274115b04d3447ca2c172e1118e2d7308cb006c07c5134df654e0d0b173c88658f58a0220a1ed2229aa63735048bcc1249886185b397bb64f3d18271c558d81088cba6be9250f4250da70680cbbbe08b757aa2eea68430178f285d8854c197ffb60d0a2e04e39c7c15d7b94b5648aeee59ac4cf04b14d6eaa9b998fbc2780d889a629624e477cc0041e3ae8c09fe97cafdb4be5111c83d7600a116e8b5a13766f51b97e9ab378d718cb3ce5367176d689c881d1c91fe61144d3d54b31f7aadc3244da640ae4a4cb39616410d2c5cc2f8bf53dd922e0457b6031e4c0beaf07ccace91574e2a111248b9a2995ecbe502d0b09430402f05d7efc9ec21cfee97f2062e856ff84ad3376f2163bc422a72c2c5af8114b5e9de4425693b9d4d5dec95d777e2811d99a349e0a4cc9cbfce1d618f123ec1c9fa8dbdc0fa0903e825fb8654d712152a4fc57e0832aba39b03a7ca2df8b209b8957e8242d4f6b6c227a3778ad371a1aad434476f5a4c1a3cc8ba8529f01d067a4bfbc42a475388851191b874c0d666e43a21b9e5d3582f378673d2a43e092facb4b29f9377195e673338c4470f37d77eb3613bd690175864256d3cdacd9d77cd010290fb49d52509884046ddc711291e7ca0b8c10f7e769c7c5f89b2df4c8005c1642333037335cbf1f0d849cb5cf6e2d6820ee0502f41b2254eb86208aa0efdca8abbf208e7634f369501a1093c8f96cc271a265f56a90339f5c9f61ab745b96007f651bf2226e39a88c0e62f9c2e747386d60f4e42a9c82b505d054f0cd1012a74675ce816bcff8c442150d8f1677ad9245d62b3cebbcc48adb6a721570d3467a206202ede1996170200fcea90534ca7d8dcf9d006b518d139f36d3e823aa9f8224de6ebbfa77b5e269f84eb2294da1f7b977a3d65713d3d3a3d8a6d598a5dd73d9720e9a7fb7ecd026ac673808c88757f2d9a9e324e48ddf548ceced29bcc6b88fc0b0685ddbaccf2aa2ed9dc793fe8630892324ee0ec4faa5488fe5cf976b31792e53ee2ac8ea2223199fe3971e939b1e18e128e3122ce38aa065905fd981ee1e59a25e6152c6109148eb181b21a27fd09a117f6f49903498f7f1127f0c75e30945e2df56011775cc195775c9aad119e991768792791439bf9b395d7a0aa85fcd3e0c03a786ad3282000872277f88060c579684684da55217323fa0757d7f25c8d7de2f3f16d20dda571b3b5adb0c95951d6aa1db2ff4bc19d65604df8fd08615457bd914bee9e741699b043194fdc645a5f7399677eee967202713669bd193f8f3e9689002c139cba8e507d13db13c593eeb116bc1724c746dcce3af2b42b55d8aa6c49597fc49e396c86ccfc30fa6730a291b0526204496d01da2ce741acd34c81fa98357f61a1a3d5e922a744bd6382d01d175190da9ec305d27fadc8ba8739fbabad39b29751add5ed18417c50dd745cfc76f2e67c76b1a5ba831af8c4320168363d57fb1c811de8af3b4e57f1fea3ca2d93cb98644bf0044c4c0fe7025534a811bf41a9ed5c460b161fe39a46cdd577631ef7718da88663785a717993a1aed6c4896e6c85ded0940d0c9d5e7d451874bacbbce0241a4babfa8964a8953f344e52a29d03a40b25e98b02f11742028881b19e5034d86cfa6b1906882fa8a465daeac10055915b582162949206ab2c5acbe08fa0c79afa94b7080059122f7b7cc7882ff82b2ccfe6e3b2635d5f4e4d524b9c767c7dc087ad50ccfb24d9a7aff4856f6dc1d27e507ddafac6e1e921ad900a624560fa35f8f7a7e0063338225776e4b73234d0d4b1fb406bb891a5c8b8f512ecf7f987f04f760cc6d9106f913f93014cf5552baafbddcc727c478660b8f1511a983728f4ac62358fe34cac848e4b0b304b45f5f29929fd219af01fbcded74a0663ad2222a4f576a8f7f8dd9d955c16db7eaca50a6548a257e3aa2d5cf466878d39a7ff55ed70e9662ee67b0b569f91a9dacbfec61fbdc159e519bdbaef028d8f04e35d7934a9cbf6aa923479eb23676ead6eaabf1d82ad40d2567cee44feb0c0ac11127f77e66c910bb5f2e798b4ffc374bc838acf23346bce4e570c2d9a64550e9d501b58781b7dfe326557c59a101ca09cae725ac679ab2d7c7461a2b86e31b387334ed68a0d923cf89d244fa9ab754a75b8122a893d3413d56c55c7b8711a6fcc299bec35241a792e875292b10643aec99b2e53b62115b4ce17d2ef5034b006262909935adf7c9044001b087c5e40a4c635c798fd31dea7debeec5ec1246d8ddca02a7ded2977e41545f17fe08d4c93574fdba05925e8e747896b6e6afc6a7758cc0154774fe971ff04162bba919afc301601e5e87347346e1af93f175cf4d18ddd226564653a37a961745d2034166f8852478c8c78fe9b91c0e5a51e5d1bbe683d3f9ed50fe1a008261fdb310e6f112abe80ddd4776ed210b86323aa7a550f1443b8895356be59cc04d1bb46bb7ea4bf3b095b091e70c1218bb63c633253617378cfed09c2c08e0a20a8821eae42407727ff6d0043e3ffbfac804a8cb2971cd897a0e637c2de4ecbc402d2c38d974611270c664d9a69ef97028749ac43a325e12fd502fb4527f9e088ff4de4df56912ef8f099041660b2819d973fe49759e04aaf0c693ce7c28730a6259a32334348bcbb2067043b67a7617af8ab4f10212f44bd433d02cd14807e33872aac9062ad2739730515667822e2508bfc7fa4da1435b09b8aea720132b1b1729eed22cc16708fc1f0a8d4e1b046fb817f5504934ddf4383159c6a1abad019ec363853f0505fbc9ae77174b2e6ae74b81ca66179ab40d50071b671f2662824fd25dcc0fb1a716aa3385d196cf8a9057482ca84d0a49606ac9754c28c6a92a6232348919ae602d85be765e8ed032f0b598c97a3606f2287659548db997fc0b49da0e112fa5756c96be38cd9676b1f02e8d289a54d310601ca2f1cd167dafe0a6c117f6437e770dbb2f527e16b3e53375cbba7b2394b06d49edaa37d630ef3191831c1514f523330523a3f045a0eaaaf99000401024b703256a306a8ecc221004c8644bc3070b99a29f2a80106c4fcc30d86f741f3741e3be2209e4c1d72c4bd1cefc63d866a5df1898ee3362b138a26eb81ddb4b5d5e37b9f843e5e89d9e73a16a081db7d5f111764b2ea975f02b33f3c2b38996bd39702241349fece34b4a0a02b4f115d6b30e1d563d9dd1d4b2bad91263c9a818f42a280f9da1f48777292b8de85cc3921c5ff74a21e48c05253740a6a9e80cdf81c56917a9aff965b424e406cf814b3c27daf3830e823bbcc13d0098d3793d8718094a14a3d86cb16b7c03e8fe3bd61ce57c3287340ff13121f9b2ccbac98c368c86f1ea1289167cbe35a92b176c4dd89e704d6fefc6ccff3e7fb0ed06bd8929228cd696b3c5d7e362da07cc7193f60c743d7bb50845230200d582c927aa881b34bb1e8bed5751669b79e2db6f1f32cd0b8e19769c8f754304c9431c70fab37566eeae62c749a1ba051a4da726bf3eacbd312e856ab7070fe37d6836c59c5b065bfaa0ccfc35c2850f42c6b393823ee51a869632123b1cb28c2eafc53690d1121ebd16802a5d025079679e55200ada6952e0f0758457b096595428c31dcf40f1009bd26863be02f196ba49de8a548cd421ef197f3b91e3cd872a14164eda21a7c60e81428226d938b17cb1bb9896e97751bebf13e3a379592ef4ca2f95c1e0044290278a0822c108dc86b5320a8cf3471570e04eed081a2735f6ce2fc4d3cb276bc774196aa29bbf1d3114ddfce9520695f2860f56df9eafedaccb0c397b6cb290c93ee774c35ee7854581523a606b5df2b3bd33bb7ea84116ec28e98cb97ab9fc1b3033af7564c445e14e09212eee1f3a2786d0bbb7e43e7994d3c783d4b13a6816f782e2718ec8070a2792c8ec1b0dbf69dbeab83be7e39afa1754d983021eabeeae8a35029955e5c423d518b3b7bb0759010194996ea7a0012997faf5702fd5bedf90557788b4708397e27d64375709aa3b4d772b301a315b72d7927724568ad6c51dff7a1b7164dade0a0767cebb51de25d0718c8134f1b9bd5737656de7d15109f13d4efc5ff3abbb1379435944eb9895580018f440f14e798531915e266673cc9f73d74fe08f456a6a2b762e554ac8476f5f6c5161ecbc459db333d80eeb324c1f740bad012cc519f8845faa8665abad931bc8e8fd9e2a3347106318d0f755aac828b73ee64a6e36efa10de53ce5e69564611f45db87aac5b8be1bc56e209b4dd2b1b445f3754b5e29185407d513ac7cc4f7be5a4cf43cb59763f4fca1d1add0fd209b82892f9d8da7ba25d86f4ef8865f0e762ad4fd8925097101ef79131554d5942ae3be848118f995cec174c1daf26f4b7fd158abb14c00f048e2da56561a83801a3ed44e2284d92fd346bdfc029407cbd1450589e0140825e15f59ea6ea47b22dc30808bebf385bae6b92157dd5f1f1b1378a999e051b24a2890aa9ef46b2789a832d5c6912a2380bdd73bea4407a63266fcc8b8bad2db926586a45a85be2a3ef8daf27cb6c62173ab48df6949fc390e7441f0b7c5a033dcb40e885f7d100c70c71b707f90e3ef2a9dacd74aaab151b63411f081ec69bd3d9cc6b25f8c0fcbb31a22f9462263f3a66602fcfdb53509b398ab5e6a063cdcbc5de812227030f304d84e9efe70b70feff3e6875e0cc5ad3e5a0c0860341062e3590fe8850c00e349a4fbc1ddf80d66b5a07a924e608594768507324133bcc1bae332125ce540bfd73ac52e914f06e146e884edee91ad8eab83653128054f9360868fd1fd629c94cacdad22dfdc52e06236de78dd1a4851dfc74ba103f76c01069ae653c6d2280ab29572f46687381f324752b91e6ab9987a26afd9032b4e3afee915206708435515fd282e0d524993f616a3e90b2ea514b7423bea75a26c5c3f6ea8a76d07c72937050c01d823feeaeac151cb575e387dd17059fa5229af54741a106490a94b5d72611f6f604afa3bea5df26e88493f467eff0c0e1c451000a00cb51c31e648aaff48dd3b0d1766d5e6902d79bdb0a35c2af756ad6c2c1c0ed89025209f453136a23e7ab8d7cb592c5d3e9df626fae97bc6116a7fcedfa952e58f4671bed206df955ec254a9ad131e241347a5051a2706099d7f7e4927e16862b0769cbe84084df3270785ea617b63acfdda0d6e3583f54fa6f06e1b6d33b24befa4633164f4c38e394b9f7077a726546e82270281bd596f76ed776a05aa43da82f7b7634e3a54d30004e1eaba6ac7707581909992e0a4a8f59fb029e741d78e96ebb6fd0b8a6b1a1b36825958ae905d6fca0963294fd9872846cb93b57e4595bf9859f2dacb333e87b0d789bfe4b217defaae4c5ee05e31c5c7ca4b4d467a8e1a531c7d276761ebe0f3d1cc9bedafc12f62b11b7c8dd89a5532624ebaa50dcdaffd5247afc3ca69943c25b02bb1ae49a72abdbb1d2d54aaeddc7e2b19511287cc043cbf039704ecf92a597eb9669b7bf137a07d33f7d54ed02ff88bc0b214beebd701037bb6e15ccc3715d26d1e1085110dcdf28f83bb48d51c0082007ca02ce2b6fce3eebe8bbb7b4e3fbcb943437f05451558c7fa354fb1538b9440541295e18074a96e3efaf355a280638f8d263bb9f251f4c801afddb292df317d7efd85cc5f9564ca322262d19312887487eca0378290e31af86943fa1f062d087f82f7e479fd9df7548724d500b40038284bad4cd4de13e0dd2ced8dcf8f60fc00f2a142d227facc6b0da939da16f00e4a815906445251a2f1ba3c8384df0f9d52fb791ddf324b1bffe93416567e1d0d49bfba99e38b8c6aae7579cc29d07a8bcb56d8bcd2f90009a3f4b796559dac99c485b6da22589da643bd84a791bfeac6310ca73a6d3661a5b246eae4ab35ba72cc866c228fc4d7e3f97425f2289ccda85ba4372f81d3c98f2bb7410d0972e1a253b1f4aaaec017bce52e761dd062cb42fb3d029b8b1041fbd92f6cb4346704367c01451bfdb4c279ce8ee44fb804dd32a1cab119940f171ed41c225842e7a347b21d9a382405c2c21db3bb07a3eeeaab02a99824acedb229f5cc77775828110db6788531150138e7fbcc0fcaf5a4333533833d0df2f4e7c1645a60d7eb58d165cb3ae0eda8457105e1d59eceb17e0a70f942589c97067ebb0b7991ddc8fb271142502d5f3c36cc4e98c6dd5f83eafeee66902f53a5c48bb102cd3e3e4ddd1b15466a3af123d5b6437e10466f7e0d8a4048947bb5b40a12b782dcd004999550c72bb751be2e2713fb469235f2a1cc8ff4bdbed5a770a47526487d939af1b72222bc34b9cc6a297119b5508da6633abf9094cc0e32a0c8a7177f4aaa64d5af4bdb44e3e1b0a39fefc3a515ff4567396d1b3cf3f797d8b63e937262768a550259ec0d815a5655f7aeef5da684ec05ced79251bd3d8c460268ee025f6f2ceb640e6eb9b5ea75e7c7cb167549c66428b31d35f5fb34ee4b87e3e160183eea1b48a287bc0fc9e7eb69f6c21fcca6f727a3f034a458855ef8a62ed01056512bf56e4814441407defee3632d0333bfcc250f96062709d22ee5d52f0f0c08c7558ca7e6895ecf9a0cca4f932b096f379a24468891d8ad5f86a4768d42b67b83c93855ec1c826b305aafd71c467285652084d7f8c93088e6bd40127de85120b7258026b72d7050403415c2b9b62153ec60d5bf248d3f0d79b25a8497b002aa720f73485a407942a03b535d0ff841f1c22c55ae7abedd1cb328e67821b7e8dbc03da0212431e8f97550459937fbf2dd084f6a2180710d91a18c96cc64ce5b96d31eecf6f2d8679943ad4fe40972c11a961e8c8058c31aba88ea86eb82dc0c13f3e3419a18ffea8b8fb375993364e4ad01721b7ba05912801f62c28efd488f0f78f0f07e410f8053c1f7702a4527737a940e4f4b90e3a1213559c0bd0e75404e489286a6c0d99c644f57a6b24ee78719c75882c75222e88b09e30dbf1aef9cf8c18b3a6cf29a25c6bbdf2dae6d83c5a8e15aba783c77b0a21ac339e0120771017c0f5ec137b839ac7c3f2c304171fb7760108ed20933e4722de0c83a73665fb6db14b1955b733532103e66ac31f246ecfa418cf7c23692dccd1d25cdb218f9bb94bbc11d16cec81d65a3a1309faa2be0d96f76ecc2df44d318f438e47ce8b4dfde9d6f33cde4560518437d847a849167ac7e799249c51a4e7adbdf0146bc40838536a540b9b02e5487d23acfd2430ca10c46dd672b6f113846b6087ae3abba792ce1f97ca31f619963a4a1f26a40ebc0f576d03db60c8fb08fa47bcbc2b7226cb55b544e8df7484a517d75be0d59e6a889b5ede5a5ef9ea8605544ed941cf7a3e4932ae625a0b793f8e46fa62db4a95fc12a6fcfb1ac9d8c1c245e53081c1595a502b2cb5d161757a70ad17bb66e19ba68ae3d22382eb4f858d2a8b21532d54161fca128037e6e3b359b89858183220890b45cf7c69d07763ec1349b876422ec2bde1453d9405b0f007fc4c0756f9d14361aaacca9be41f1deadf3c0bd54695070e116e4c49e0a52bef99e757b03bfda05fd6dad5d153d7dd58d0a3232ca82f1f28133ee217c3b9a6a2292da20ce85703daf3fae0f3513da599a3a34613dd685f8567420cfac60a26011d4de1ea9d40fd94a5453274a997ca6bb7ee6ef31a33d0bcba35299ac5c0ea856c5d12d0e2bd470a9b2057354671c85ed65642e79195e95a62dcb6e6f37e57ed753fc444f81f3de295fb010c82b25a9840c2160ed6ba52438d9411aa7110a21747e7646eded86fc7c7e7d67af05dc33931e623353a19009c9f161c623ed201601e8ecffe045de74db10ca7a11b27f6a3955f594e6ee1e4d004989a16d636d7af7bebd876b495e26b863e26b6f2eb4f0702e125ddab3f6426a10fdb47d667628a8f5763fae7ef3f4d5f74ebf4819a141ff701d1f8ceb9abd7aa84b291e9edb301907c565d8524197504fb7a2b1bd5f7987cbdbe20ac4480aa3bf81769959d68056e708f6cb597ee45557367004454378a20f21ed0efa014a9b0f6ac901b62add09954861393cce61b3aee7a818201e2dd6579a9a45d5806706667f2e88797993d908874c50829dabad35cad5f88bf4c4559b4bbadc57ebea937d717f1e536c90be3de8106540c25dbbc14312f6d87e2c48370ba0ef987c0e6e2c6f4fbae33a5b7a187674efa337af0b52ac37107d2c9c087bae375d008605d9916251bf687c8d35527594095db52898c767772d5927eab2f003925e8bcb94f905459625e7d97a2e6933f6f953fcaf6518834b4f8b72dca6afbfe181dd5d8e8495069a16d8fc3808d2f3b40875b0377683a08bec1ac5ad184fdf287576d4edb25ebf990bd41b1a929c5e39fa6082a661290047893c6e8ff9eef52d0feb69f4f10c2a0f29e14904d9ae204ca08a7c89c41c8c6d9a6cd6184e33d7b25b64968c74db482786290b252412fc3c632fdbeb04eb8efe6e8f6771797eb4f79444c2b5568ea620c75e24b55d650720d02d33ab916598655ec76ee8765e7477dee3bdd6541bf24e34ae6e59d96667fb5aa694ed7ca0fc492606d6d8a5a1845e3a32c36e57ef76419a74dbaaaf63f79c9df497074c4905b22b3d7b867a2b3e7e2dc44ec2237dfad962e178f45587cf38eff24f02651d8014ec5e9ebbc85088d7c06aa294dfd288ea00ea69fd78017506d8cbb19f849f2ad90590664bf828d6947c36d05aa2cf3873a15362af1c4726e438550c80b947416a79c047a22a0eedcd823825b9051eaa198353657de718a84c697ffac808b5f7b41edf407af77aef6fa4264d18c47d4e706b752de22dd1edd46e8cb71173fcbdb706c1c5cd191a056e5037d826e4e92a39ab4b7bee791b24eed09e725ef46ee2eb27ca27d307f609d374a0ddab6defe112e6509d5c5873473311f0f3c511b64e9113e94c1df6f7d1e76c10e87d99229b96daf58317ef0d23b4eac3f67c9d27b2974fbcc8198941044b43539e1216061ffc377a748d4d1df52a407abe716f4dd93d64aaa7ccc22f374384f73dc777d5c0c73c852b9a2f39d9af28f823ca12bdeb53b26c412537184209676e11094ef737b441223ad676dbe4a759aea3c6eda276dfcb36f09b77e0b69dd9e3ee9088a8b56e066916dcf016b9dc7eb7fe932dee67551907b1cab4428f28112babef466f9b6f8664cb70a721844c6a30593f730262c16907fed63b177b136ecf4a45e7b39d3870453ce4dd593bd97135fbb2fcfbe59489d5bce39a5295b2bab990922ced608a1dec40a17140f0be475d89ca9bf161e3b9a2bec1eb393ae93b9a1e927ea297283319e493310e0852d566fe1a30af978a26933cd1533a74d5dd951167a467f14bbe306f71347d6aa520cb616cad89fd1314de2cb569c412830f5893ada98699a0983181b811a13cd74d2213da5a56df642981f6355d43ebcdb7841b21c5462a6afe0c56066d2024815e4d7d3db7f3cbb8b573436b41fd3a71d4016f02ad371c38e512af80f0b4201399da023be42558812e7f6100613468b1937490b4e2a4f65bb9c78469480fa8d29ffb566accf19ff75309e13d760343f92c523a7443086fe06b4d301629500ce61042f4ae6349fa76f2aedbbbf4da7be4ea23e60f7e9f5dae7ab89968b4a6f0719d04aa6c130ab21722c7a039be4efdb3e29b30e96028b29a701a030e10cd8b0a1aa233c8225aa6ec18b5d70b88d807ff8e007b9111278db0dc2026451ba107a32b1d0dc4b1a6bae9322936710b1a552a5cf1c0621721a2a3c15274883c47a0009b05d5bbdfad776739cead5d6bced60e4557cf89909e225ef4bf18af5a36b1622170565391fcb206461c35e7308c8b438c7e9336c1efd541db60923c1c316be8b4cad7cbe586b39d7ca5e1cb29e1c43dced2dd562dd9e50c4d0800ce77f3e240048afd3191373965a5399084487ac9952e9f6b5b4688cef09d263a781045f7fd30aa804d346672429f2d163c2a3a8cd12948734c087edece50f8c086e06bb80056d6f9d0e85cfaeb2fca2b8ee06bd7d3f2b468d0e556d841251d9af59b832284859d46233188d14909069fb24c63c5be88ce3c6b494d242032645f92d410cd9000c5203a0caaaee6a8cbcd8fa5cace0c4b9ada2cc42625884f6169daf0a3bcaea709dc2111bc08fac4238fbd05a2c4726a05e83049dc41b32365df27f3f2e5f07dd9cd26a7877a4a234f3e84987e8c8a24146eebac35cadbad2591a9e58b65a5aa091b223e391f837a5d1a472b81fd701ee59b69df39336ff7cc8756e4c7d3ac1f4702dfd9e545f8667be70c45b74668d0ee9b1c74e5b6693ec90d75bd175b30ca18d9a0e1d353e68fe1c7ce9802ea678a947bbd733a87eea77f7a381074f2a37059c4ee588b87d200eff8fc248d8616d1afa33bf92499acaa8bab49bbd03ad7d25b69ec6327378582799c08cefd94fae104a920b033802e4b9331d6759eb05a4eb349bf510a9e504025c5f7037335a721f56d9df07fdf031dfea94d9c9d6174fa50f3f3dc68d86e330e38b84e88bacda24ba822a3b8b4f08c43b94ada20266406ac7fb269789874a722c9a9c899c62544e96ef34be9b2127b453daf007f45b920acfcbb507f7f965f9c960c4288bf5df0c698626f47492e9bc594b576565f9c6426e59d9117d5b02c3c6e034adf9557ba8a0f31847b30be3c81415e174731494df01cacb3fed15ca6b7db4f8ffa88274cc41f94820b4a6f6eda7a781ec79d96081a646c66c545f5b0a265b3eb068c2bbee58c46d0f8315f756ed3d9657b5159e6e50767fe132d31dfdafb3d3a1cdc63326cd96537729bf3bb944d7d6dcdac22735999b03b5342ea90969ef921a5d0de91f11dea853e70ee7afc2cd191e7933d261c44d12e0a481f921c1cd6a423faca03115d38f7f4ab9e3526f98b35229a65cefb847c5f748043d2708b8015483788e3e7735d49713f78bc5ebec6b54e5cbbe10544222958281d4003669f9254816a1ca228f1bd745f154c31700e0d6de497eeecac7e0718da0daa486d3b32834c2d20332926e74fdbb774c42b6e1eef7d48c7620d3a09e2bbd5971c29b22231d118729febc979b9a1409b9c49432431c96554967b06c2037ba5412573afec4281ecefc79f777ddf3a98981ab6c164f544e6af51a2a5ebd0d18c1baae31e95bd3164e0c157cdf6bb9a0d9464f78f0ada8934f7a10f89f7580682e5d5feeb4777f618e3205989c0b7435c52d063c01ffcbf6feeab3ca1b0b96070b492b7b2b5e432d4922ea0ee6ba3b6d8d26023429f570d19547e40d61d4e0ed6cd2498f5b0ff02ec795ebaa42092a10ddf2986667c621a4a6dc606986016ba44c87ab6bdb01a8631f70cec1d5bd54b08b91eb98319dd7d3689e7f4ad3a107223b865e803a20f14f80baf7d0ce53132bfece5a6848be870a5da40643c3da809ebdd105894721a35aa30e822fba925dd665630ec4200b78c7c86c3a418cf2d8bab3740f54ecbed8dafabcc24c3ca423a1025aee8a19281b138266e0d15353429730d7a758eb2c5475a6d802cfe01b9e96605b57833163290b2bc32b1facf6118d65b737d933d2064db368539a75f826a2339ace651ba0f53e29472dd98f19aa3760a58bcae2bed64760e78d61def44a0cb39d21dc14da7d0d943c0c2bf5161258877ee24eb8948e26508bb8a42da456fbe6a6bce4f7418bf79052f04157cbb2ae5367f41cdbc7fad668a8aa2ab95c13aeb742e9d54609d6026df119b817fed534dfb8d6138c045511e507cdc554c046f8e7154c655a2e53e5ed21e08766738069c725023ce746faf1fd407edd48975e3b2745490e31c2c88c19d9bc4ee4a3e0aeb27882ec189117b7314a27ca44e60da449817f1f0455ab989b71601b7d3e512041f5cb6b22469d50f35079e7a0d2651d7c9199d4f76aeaf901926bee5415a170d85af0e6da4338c086f2f6776e9f5f1a848f44c3cce36aad537269bb58973906949d065da72b80568fab0b130eb009a55853a003848e677831faf8a4d6620545fed82d84ec08558076d5e6bd12974ec2a659d03646759f1528af92f55dc2d281a2d85fc444b43639da162ad36075cc15d6311eb0e5e88defc6d41a6629102a61dd7a439cfb66a32fc773eb4822f4650d58a4328fa308cbe2f762b71974e072a1ddf92abfcd99e413e174996f5f422199dfb74eca8e7af51fa4592e70f740c193964a86d4fc7efc24c3bd78652b317b2efba59aaae570a29dc081ec0f4108b0ebc248769b3716d86b6318dce91cb14a7c5a2d4d9c5e212c65fa834eeee23d831fab51ce3930a6b82105168b3334b5c9efc02cb6493e2176a87ee0bba5f827909f7a8cb667ad98496486911c2e8378eb825a1a3f7147f8c7a6e03e79a2c55763db8ca89cd70876d9c184e719a99d5f301030d2e1396425fca1df56c178b1309ff9af95147492787257c4d91a8e6ae92ab25c1c6aeef069d869f70677fc70df8c7d5aebfc6051245cb89a8079af1b2685c0546330f0107c987c2419dac0f3343e3e43767f6057f3a74f474d0ebcb6f13f5b558b6a5565ef65010dd60fc9d447df93cc4da5f414c1eead030008f44d32937847548ee7ac3b6a3e71834800e7511cd9d87ae0cd7a15386eed43b5837fdc4766f257b558713677d7e9a216f7c5fcb33032c51480a7794e40c1851a037f3165a1ebe561fe8fb0f90ce64802e35d101f873a51081f9c6494392099c9fcf5c81561810976103c058b4690c9fd802068b7e78445e751caf43aaad2c1c2852633c81f7fd5472611bcba1894595699e1c421f016e6d92e60d60dce2288e2852a52b7d126f5798c98742d18bf992fbbac808767ba48d3caa8205a9f27a203303cf8ee46dc5411e6dee86995ffb7b3d7240a40fae1f04fd263e1e6c98b240262e7d19a02032e9606b734579c8480e7b65bf49b0c057d0f5d4a0436d119438e7781815d16c67c1175712bb60330611e8f93a869cb2933b97e09e8c334f75a9f04ad5a9d45e49a3d015291567e5ae717e455fc874dfa8a94d2aa35c609e634ef0ba63442f0df3ad8ca9d51aaa8ce689d9b50917d3a9ddaa72d3e04ee9074d500622f6da84bcaee1c1f181a0f9ec3b2f1e2d73a11f5232e6eb509be2b30634247248d223f7a6ab67f77e7b3aa6305deb3572819a386721ee7ab22607271eb08efc02c82a907edff12eb91bf6d9347542e7f7d00b27139f5e5b76f6327e3122429f153ee80e6e46b8755dc31bbcb1decce9d78c09f2bd0278d92920164025aef3536a418b0054c3050bed18f2601e90cff4ebae7089395723b07d1af3c2daa5bb8d6a20d8a3e86f77f0642c5b19ff9ac005f3f916ac97114059e495c57269bf0ca8286e49b3146818a211160b9a894b82535b36a793734220d62c3bc71692e8148789a0df45f0eb77f130b5fa00abad0ba2e9643becb44efecae2c0497b7ef8aafd35fa38aad7731163621397411f8bad35f04626abb91c9643043084866ccb08b2880110d8d980dba4a5b26fa6b3564d1d80e944275b4f745c3626338b98378b57c22a92e1145536df3a6b4d705bbdd2c14a882f16a47714026250f35b00e1c8e994543b71c2fc0d29b0f40980aa9ad2c133d8ad0db95eb08a982b8aed1b74ce5bb5eecef59c0ba1bcd561ee5ecf4d7c576b970127ef2ebcda81bd832cf535abbe6898fe5af8a90e82918714dbc781f4bbb2da418f2618d442210bc942fc33c76349234164e114c1c58f9f23647919c3b866784615f4f00413ecf848119afbc20599b02d4462a1044d79ab53afa6b7b0b2661d9f22705f92e95e9b23c586d340ad2399b833659f54f18dac171860899c7a153dcf47663d6bcbcef3a3f16ff94597be321a78bf94092483cdc746b2f6aecd879e0678521f15b92cee789cee3143afcf6971495f4d215622dd7c6231567b6d19d8e75e1ad1e5f250aa729177566a6bebbb3985c7f89b2f127de084f7232110408cf3b22c2f1129501c3d21b2af25f13c1d285bcad2a311bfc632a8526fd8bbe06224d9d6527ec58bd25831d4d3509519daacfcc21fede1583717977f5cffb5fd42b81d94c97ee9ce13e7868ffcd304c367e797a67eb1c4f5446af03049a0ae287d8d3dd122ce02540e6b6526f0bc52dcf4fb3388657e4e6ba80d28c867ec9a274df299401787e82ac6028425030c381724751eb29ac5316c91803371b7eed7682cc2263d4c4f4a30e50549761b6e8abdc7b49c34c93d4c193e32073d2d01ed4e45eb282b6f230b760dcb6baa331e2ea938debf92dc20066280c892f6b62aa8f5cbaf62e1802df3a54e9afb02d7e97ffccded1272ed1c72e30412d26b3fad0036b474743e4519667049a883a391e4ad74a32b2f3b457b4866993a8b83508b5e4e414a1d5e0cc47eb96044cec871417625fdf03da21b1b3b4eb03c4f902fd0573e8d29be114e2652d41af78c99870bbb670a40c2eab24445833f284c5fbc0e0bccf47912291b8acd5c6bdd242a621f0d6d676cdc45847147046c522478d450b89a547fd6ba0fd9e145d0dbb6429c3768f5411db533e838aea4e963eb4c9646ebf9cca4b44ee0700953fe5e8ea8b7cfd1c9ed9d0aa4b683825d9c82eb880fab6c8aec9f4d493220763b8759df22f10f52847fed8795b8e9345b753b7434bf02f20d61a1e4255f618f2996187b4e5c52a41c18697cb33f754ac3a78df1a76558c771053f0e5c818cd11a19347f66b3b0412e5f418b94ed8a41a743df3dcefe5aebc609397c87e9c29c35a2a6e6f000b0388b28710c34ee899504fc68b805b31c9591c07e1b3255e619b2a94ff5cfe33a521fd12123d5a7347f74519a6f36296ff1fac50f8d2aae95ca8ab1a8a2f106fc84436b792f7f11665b4906ca168e7e68e6c058c4887dd0c217cfee0ba1fc1babaa08d5eaa98b929ab6e23032ff8a3c4656ef73c8d8273579f93a746a74812985f651b53401c69a26e31042364b81453bfc09698f27965d5256e5b514d2e7c7b915330559dc153a943637a3609eddda14e693044b1fc7b43c91afa8daef7115f52bfacd9d02abfc9c80c55b9dcceda8407839be0de13f3796bb6cb6021ec50e1387150186b3148736e5081d454cb38511b585eff707308fad0e0432f13cb8422289098556171152251a014937f82cf9bd0836420bf9f91a9af6cd14608016aa6e8a0da85f74243e67213704d5ee49bd03ea0c3a517b9778506b8d03026a9dbc0e8f2564602edf4e1746f0db324fe9b8a6bf4ae3f9f1a2ba6b6bdca9a8277667b97d6c97b0b84c0f39c94667445871b52854043b645fab1bf14d129b5d7ca0a30504fb6135b6a33c2d9f1aeca0336010ea5990f38f0ae5bd0636eef115c65186584f70dc1924c42bc1d21af8d343becaca60cbaf8839e0bc45a3953c665507045054ccc79ef2f0ecc934195aa4a71ffafda8681ce65c8dca453ffc3c030a9bb537862122b79b9fe6ad5c9aefb2c89fdf16963818c56976a7ab7a74e1ea4d98296b6556d9d22e99bf6bd8ee68d6433b684f288cfc4a555eef8bd8bad16545a7a68ca47487672b1f265bfd3eff042efab118e688fb8739dcb777bced3880db5f946674d30f8518f9c87f5f3d17c2e31503678ab287fcd08cd524fca7cb886eb6d26532a935ae12c5c079b9ff5e797e1c50f1ee7d189677451a9077e5781e617028a550edbe591fe9126cfcd61c3206895b440bc480eff3ccb2f6f2f7fc98883c3cce8facc3cbea9b7e06e56bc4537ac94387113a2dc8e812f407575166d453c9c327e7239f275549fb6a99249e53e13caf72b2943b46ee938b7afcb790eb2d7911e5de4572fed229390a4168cdd2ae683823b2ec58d0c723df07ccaaf1cdc0789b62935b7a93e1b50ea964335c0a90ea6007237ff8f07eaeed2d09df2377c71f61b9a903ea94e04f74b45030056258076bfddef4979151d343de02a3996ef7ac356ef93cf36bdf4818801bcef479b1351995f88b9d9b48b4fd978dd3f3bb8d5be7c4485ab11e2e2db268e9cd478fca7b5b4d59c7b73416a4027f9e0ddba5fd99c459a3d48133f902ee5c9b5e9373953ed4ccd5e63f8705b572edb65b7f25a441f72b6489ff275a002bfca9f356eb41b72b6649becff992292dc96bb77280b35d8c449207c148cc0b725718a596078c3320eea1449d2d91ea1bcc00f8b3f4b3e91f694e9612e84b9924d69a33755f5343b348ad5f55fac086913fc0de136e68e69eba5d419b1586a682e7e8e36c2a5d51ca9d550f401ff05b28e2b0ae1c01120fc27bf67787488b5075d4777e03e3473319b789dfb3d2ae9479d16d17070e67aceff32a41b8f1d2fb83cc640cbee52a4807f1a684673a192b4687f71af085871158ef4532ab2c518a4f1d9e2d919c457e35ff042afd72018b8b7ead91a8e327c00ed71f55def7d3979c6dad1d0f2b6e43f0a1497b0cab6c555984f9d1b1ea560cb7f3b334ce9a55d2c00031f7dc0fde1a84675dd5b144773d69d37ab04274b556aeef0728e8a8c0707b2c00167c5665ef7624dfc242576c7b8cf1b1111972669f490ea8ea0812d5c3b518a2f80787592601bf619cc3bb27ba6055cd4d2a0438f9b56fa97fed4727a8c073ad8823a0a159055bec946e2e1e83053d48f1ae8ddb2a1e3b0dfdf4cc1839c8134ea01fbd5181e705634b5996b7b8d98d643c077035211d6a3766f872dcc96141cb074284ddf3dd734c400144e67578b9594cf2c6c64a8f0040c79f971ede741536b47d0042053b43538f1cd112977b1f6355d8a77b0e1fd730dce80ce0466492a0339c6141122f3f1526d592549c55c0f5c543d6595edb4306883b727cb47286b7f39d477f99e8b3167a5ac3f7b76388fd73e3621c0911980d3ca7cbb9c26afc0d501ecd533051799a7f8bdd74d6f7460cc3452243266218f915183b0ff0ccf0bf0ed33c9790433196a151ca59f4ac7be75b9b46f2cbdd75022d753f6d9ef9e07d13b86b6d44f53eeb1c15230cb259ba61d6591d3c85f8f3bc60e3b1db6db62545e01c85b703e7c15533e5803a115d0f1bef5a397a4e5a3508884167b8fb63653422325b764197e67420214ecd4f9b8e25d820122a5683f9685d053d2f26d644d782b5c631aab0b8cde72774e5630dbf3319a9fa50b74a94c7d47adcaea614756587419ad6d589fd8164745bb107bfd074f13f4b8cd6468f7f8c8b89c0e968e60400a0896d2e310dd05c176e8d1b138c95866fa01e66f44101c5da952d9495a29182ad46652d992397214a7a646da04745b18c429031b72b0862d1fae8ca6f40650f1cd2fa3b526ea1d47915c2b1b1b285bfe5e146723f13f9dc06a040ae7fa50f928f7c5ee968acc11f83a3ed42ac2f003a4bc7d97332f9ed27f855e1e5826e568ddfc3a682126a8a79b4955a74ea8eabb1a8bc86acbf4e40110905597f91934a815d97deac0873eb5bda7b05aed8902fb9a06cb5038f7e580d585ef5f03680709e3585bbe9bcf456da81ae8b6e047ad0f285693624e11e3cda118d0cc0227580b579fc9b9f4b00d55b2621e3fad9d677ff10babd18905c84d6777d7f40dd855b76774227e147d4f44dd3c190c2c59078783e2876f8abfc593319ff4a231ae2a9f86a4d81bc01f1173cc7cf37a0235cf948f57d264ccd968ca7c2f6a3d3c53f875316a09a14bead3d4f5e1e8c6af081a56d2ed198702d135d40f654fbea39b1db1327aad842b36fc37bcb48d62bb14ca8f29f314725fa94bc95843acc6a2ff1f6b1fb53286b6980d620fbe95d0110e98e245ccbdaccf72d02e25cf1e8a42e6399d48f4e90770cfd193aa15db42896d7d12b843f205182687b1d37a6c682c6d29749e07d956c16fd6518eadda0c65b15479977b4daf328c9004e7611f5945b5310b2760bb6300791ecc51950cb62ab6ce06ff456500e0346772df468e93653cb8f8161ea16c5e096afd61aa31b44166589b702d1ff94af6440e8f73b3cdc8c2ae987c4565188156c8d7c7a3b48fa83058d34ad07c5ea6834093fc5948597c685100fb8240b454a6993c67d2d854cf787df714148f7c2fe3abf1d715d07886ac28063e67f2516441e4f8fa616716f3f9e6f6546e38352201b8a560105c0561b5482fbe31c4dfef4d03e0b280887968f886b0d934570f1c108191053f5a479ebc19ba876b3e13345835768a8ce7ab4d3a93f0aca401ab20a17fe3ebd964676cbe094f58b0caedfa7c978d0202337954d20dfc1f513c17dbfa82fe87d224aa4dd39ccef4590346576eab5c1a9612f09cdd926b668245021feda5d820f54d8cb0206fae44ab36d913c786448f17962108befab1f14773478121c8eaae1fcda79876ff885d2234db17ed9c7d8b0b2b34fc14fd873885d991cff5af68bd6f3fea9d079e3d43e8e90ee0cc77b17d3726f9e881b1d56b64348e5d1b2d295b4027c8d180b5998c23acf2e1d5664460d2318256b219fe163e03af9ae2b14874af9144b2a2aa591d87411de6fbc335661c73e17860155b4846187e88d9024e6553ed873914e216d1520cf9d1cb61f52ad1c695722dc6639a441f69b928312b76e06639937891ba8de13d81f309ab55ad0ea8e5e0aedded6b1bc46ef82438f7b06efedc7802065ca8fa732367b45d27d2390bbe8dda451ba7e965a6341b2650ba4d0308a5295ba635432f7508bfa7b6d0556eca0c1be16c386c66464f65a8891997554cf09e0189aa4d3864dad95253488e90c0437f1c8d47383d536dd3d7c05e5c61c2aba18be9598284392a9e3fcfb0915f98462ff211898ef34615c7b7a363420638eb1d994212bd2947870afe42aeb59097f5d4704ad6464efc4a8ae9638ab705d81de0111f5782f2f718f37e7a9295f0edcd26583c37b5288a5b432acf133359d3ee9af7d518222fa40d47757c04acbe5a8211cb47df2838a2ff082e3601671c0e05c26f41ce4add770cdc92624c47af9be92275dec2fba9f59bbb42c23119e1ce0c605a1af9fb200ac6906e991596c904f042317005dbe2b8e99dcd861237fcd96e62874ea412994d27e56b9fce6a409bf9678510bb3586a21d886f9871591969e851df204931d31e5de485bfa3431f89f506d0153c1f1588a67bcf6c92e9cc86f2f0cf2d1124dcaad09d8cb7ce79f07540e479ba653069d5148f2ecf881f9ce91f4f911935c455e030df5d51d68e5086039eadaa2952b4365e0a8c4944b7fe80a6b35f2ddc91b4f0a0e9489459f096451d07783c44fc43c20387e32f0800efc238e0e776d70468bc3d88fbd3fc1ea9ce412a248f08171ac85ab47a28e81b3269ab7ceba1c8516d4f48e05412028e3100cda08e6e4a7186770c88dd2bae12ba8fbdc1699e7c6274e3372b580c96db9d2b9180b08b43b3a18fd53bb70d8fddc0d8b83c0a03329a0035fdc1896c2013aa0e0166b1fc8b1c6d4d5305ea884211829e48be334873444a0e4e2d068a2258ce1b3a5fc628024b645dada091f058c4a9b3746d055ff70e7c60017f675bc44eedd06d433af8364cc4eeb71ac546a67c3c1098aebf711ed3a3271ef8fb5ba45f52b56c5212fb47052fc54b467205a1f16f36a3b3b0980ab801032f73d7b54fc134ac6e7e230f1b5ed0d9d05fad974a1f5e24b7555ad56f3a0f2299b1b70908f25cc0792ae9827cf483013e48a6243ca7beb5cdbbe1285c839422c0396abd41c61f4323f71bf2d860b654198431a6921f2c43228d1672cda9d5b43504854f41087b97a144f54dd92ebd013553cfac77e7aca257322359ba0b91606fe83613b86c623e8615e3a14f9c51057d571144a8419f2c95413aae44b045d514f887b2932f0eb44c0d9738c896216b525e905c341b99fa475a1cd7256c771910291fcc53254ccfe8e554ef6edd3bd5c209f4e3624d66d8157862784d712db5bcd7e283422c19023b4b9d4e7e4dda312071b384077f4da4e05add58b046b216c4e48a7c7e5fde00c24c1a763f17686ab0ac2d045b149f8247f0887e0503e05d6682a8da0726a9f0f5d410c1dcefbbd9f9ca7e6fc19dafa068c26b3af6cf18c75e1a8bfbf7397cfa351f0678b6a5aa83510d7cd97ee73ee54bbd95924f896cd0ce97f237a6ba1d57ca377fc04be8497dffd51d25efe7abea4289d8f131b2d73d6e668dfa013c60962f23aa036676fd3d1c45bfa31b99f273dd6386a92963956a0acbc437b44b4e41269c19cf7c672b5af785b9193d123bab532f0b005e4cc991436cee87958bef4a8d203f2d86ba3cd36d6b7448a9b46ba04c98df73bc0f51229e1d0b2e9590e83cf9cab7535475f1136caf33d27ade757483b6172547cfb6a6e7f31f8d584fe7a543239507ec74b1b580debc0dfc1f9bb283ada574822d5bbed8b121b05cb66af3e754010143741ba35bb02a08fe7afc41a6a225ca6f728d6e207eeac73f6345598473d89e99bd1c6710e6cf2f580cb862a62545d2cde0fcd3a4d3d01bad614c1be8be0dc079b571ad1314eadbcfec57de453142f16551744d536f7f632970d38cdfd2f68deee27844ee07807e79fa9b2b3a88128a66e6f8337b0d5318a75091d2a6fae7c92f290e3e09a58b333b6bbafc0c2774f73d0f892aced479b599c4c8292ca2f2d10db5163393c597cfe35714f249388c7285f6a0a95044f16d82efe0897dab6990b45001c5ffc206fc8994e026f15acb31ad2f572f268e2025b291cb83747749359974a6264e971f305a6fd2d983bb4dedef0ae6619a1916278d7d021e6e28da1b08c031cf32b46a4d2baee57a3e5dd469b8d71a8b5aa0bd4faaf5a3106a537b8e52cb40fbb65e7264e1271b6fed0bf4840c357473713623783c6e7d55940bb3f660faa9291469ba9f2b6425f24801b74324fa8a33eb5fb143da8a78b62ff7996d3e772a9d1ee3b03979a308fcdc666e4c8919f79e0d6f81623b7722b69c5748468c7429ad3b62be466e2be75f1993f5f74482fc22434bc925a0028fb2699413ae2b4a54ab892ef3349d4b99bd68de726ece058785ce52ddb1b0ad63783438ff7d02a26807ee8dc5415e5441013122270d0ca6c11d5fa15ebaf44b2e44b6094c7dae897520c3618efa7997e2cde3c5f78e80b0bfda47b68e64458d4f61bb38a5b737cbb10493e35c905b643b8466190b88dcaba7cc15b950ed63a9b2e8d559c18649ba3fd752d418354ebe04f794be178a674d5f5755244f18fe9c1835245706181ece78ba91934e3f213016ef8f8705846f25784de8c8cab4dbe5247e8401ced0e067f182f7bb517caf5fb259778e3206ae3293add3a78a9525e14a80e3efb3cda4c5642e8d942f3f66c9366c39fe67963b6460681969143dd4fadb74824ff022ad489e547f86655a62dfdb5778220c210c5fa53d829a2e2f81618963b74d15680be9d634a83102dceec61001a8e7f75b235ee3ae2d20ba6766cf9feba078ce4d8ab0f0b3899b415d6b61f4066765cb35b9c77620769e419b946b5972953105d1979c85f6e60ef6af0a6b5bb493b08654a18c05e7678614e7e54f1f774583c5fd65554c49f4341aa839c89d8d68af5d59ee21b91260c366ce27c09df7e40419d2551d720f1a1deaa72cae1271ea37d41558c5079375d06aaeaf6a6b985b222a6e338779e672eea9d760787cbea81f7985fb05ae68f1e00a5ee2f6df74ed913b754d7577bcb1a573b51868690ce554512ce49ce28db01129193bef01c977bbd7cc6ca7edb9d78f7902b507c7ace855839d8a62616e6b7d48a248cbf514c76b4f19ea2ee8e897fea0b94d823579abbab484c7c39663e9a3a2a0fd1375ad4fb9ea2d50e4ae7e6431ac8e8d7699f2e23038392cc92391e318fe3f2f0bf46d6e59f63a725234054ed73af2f77c77ae601fc90e03015bb2115c7ca832789dfa0d5b1aec86362b333bf11351b1bc7a02ab9ca239313f99950cc33a509ac4be98df3a65112f20e5fee0c7e322070f23619adef89e0cfdda1eacabaeab29a0dd12495573b0e6299d4df6118a440a9cbe8b48b7263331fee79ad8ef540fe05262d629eb07d87a136ab9d5363df512e2dba436d3668a23666cc74a0837c11537a3ed910eba4677c3093ee3ece3b4c455e401faa327ca5f2966d0ad64f53323824e39a84328ecd18acbb34c620aedc884dc9df0e5981062bd548c83b2e10e8c97843da8ac89c8dbd2ea575914af4662351f44073b496770ee4322d127b0ab1bae92be01dd774f17b6f1fbf4629d37e65a63b621c382ba3dc09dcd681e597a84ca3ac30becd8f45e0d56085e158ab4c100ff7cc55400848b0fb35f66169911265bf6c50b303ea5154b1220990e63d2b0294cb57cb4f21d5fb657764ac6dbb4f8225a33790c499892321ce3f1eabbe790a4a5918fb7c9f39b744aaa12aed876da1e54797692fbf656ce40260818adee9c8330520d6c4e8ecfc52ef141858c21345c85dafe7cc198bb9f8a77001d67a8ad9628d62f994110f174b640ecf308b21599ec91a8397d55a80db57effcb0e5b68f9b947bb2a5f1e05e33cd35b752a5e68ad9d029435d00d1fadf83bc07d8bcba7647a147e0726daf2310ad9c3da6819a22b95cbbfb5dfc8cb46ac619b87c0d305e2500950f61e4432827709a009267aa14617a2c5a3a6cec5648f2bf9cb44802f2e6fee28089dd65fd1493ada8cbfaf99d3181db6ba55164af002f0573ed32868f03321e3715c83acff574726099396431cd152a3aaa7c6428de99fcd3839bd23daf05993595dc5b83211e498629ff6626eba61270c1e49beed408387d34e32f183b374e5a5d79573f3e1e24856b1cccbca26c1bb94cf427ff2e55e950c6b6a667d326a47daf69b98820a3954f3b7cc394017afe0c9ed4f42017314e285084c06740f05418c01a700b71577e5ebb97d6b8e5c1720b130f91be5f7af1e92626a000abb05aa240cfaeca0e2d505c2dc2fdd0cd36bd48a7bcdd081780417e963c62a95160e4b4540d1d89fa456010a014468c05499449b2f971b707e3ab5d6deadbe4c2b77ab926985bb9f35625fa49a88a90b336fd903120be8fc4904a41e932f02505f848fca0e25090bdbe5ad03e4217e748f6f11e5dfcf84a24f1b04cee85990c8573e2cb6a3b42935bedf1c0b57ad092db8eebbe4b3afc646735d194e8bc2f017ad961e1898971b8df14cb44fe2ad8a63d22fc8fe2bab6b2100080285a10016ee1c7dd3dc3dd9deaf76c1333f759c2b7360d952897999bd3440a41865929589613333b68a2c1d81909449458455e9a9ec8c0070d152fda7cfa3dd75b3b60944542e940d1e986afb1283f568fcb208a9181749a8aefcccde19e0087e15b56ab4268c740d623180f33bc399adfce017256fb7d19916a5b956790ebbf5227499da960aa8e4f164b1c7e315f796656bf6dce503d5b7476193db81d558739fbb8d2fb52efcb10349d7ffe7b1265dec6ccd6fd3cd5741d9a1469421b59e4a12e6705efb624dc15ead891397f83af988b2d290848bc7ffc263e65a09b6abc023c9e2153b6b607eb68c0f51be9f0017f7af5b3d11a6f86d36d64e225ba5f064944adbc782c8f2d907ceb244baa921f103c4ee06f08eb02a378a21e57773e391172171a9d510cc232e7de84b14799ba22ae16ff6658d102ba6b38b82a5dc6006450f12a47ec8a252b0019f62b5a5c542e70820f8c2678ed9090de91f7c7f1b06a9b61c224bcbf5d377b85b503542474017b7f249c16548b2c3263eb83107ed1b8a06dcefa06aec151d75c5526a36375f56b8b873c655ad79ccf4833f8dcdcdfd76284951eb317fa915f2a5d386ae51cefd8d195fdbd29c9862695a474f26ad594e5e4928e23a79e96a5df7d9a126261499c2e90a4ec164f25d30ea3aed6cef55827d21cc3aa2e0b014f72dd0f8b86bd03f1197d373ef042f1ca2ad136eeea29237884259273cb1523d9749cc7e9c2c7dfd13bb6f72a18c9fb043bed6c6085f3b08fee3af5639fd3152dda2092cb286d0aecf33df2f7bd241cb2180a564509bcd791b28116d2827481ee7202bf8609505045d50641113cac48902466f6849265c9b12e9a94f9498318fd112c9ac8b1bd46580e7806609545da83abc54cbad31cda8729dee60a12c2004aa265369dadebb5c66804c293f516d35c5c2b467809986981f7d902e04469f20135ccb7dd935630b27e6765ef7ebefc8049dab9e63a1dd91df6072f1be607561750a2208e2a365e55bb0f1578ecf2bf3aa39259e746318386b782b69838b41c8c9f92eabcb03e5ca4a22ec28782bbdc951c6b35ea642241c3b75911a016749c632005052992ad5dc3df0aa11478250f10790b7ddf937de210e6ee829a4c38897c31dc0f2a1a8582021a80d39fc0f47aa886b399fd2e62065b5915008db1c62d41a6f5c2789c34aeb6292eb9e4e681a4bef2452b41d09ae58cb48596e46fb415d5bada5af0c3c2ec87d078e285feeda402a4d0b7b24856816a511e15df753b4e2c49768fdb295dc9b9980ecf7ab17519774a1a0fa329fd62823d1babf25daf9c1a737618bbbccdb5ff14992bc45214c15662f5325e02db689ad6e69dbec57ebd79eb1e6ab8fdcb5f42bff509f55be65bd378ab4f8a2fe3c0d71929df7015d5fbc4022b22c816f9160e8ca82ef002e69939c04c62fb845ecbb4fa7a04ce5006807d9bbd8eabf2b323bf118795489c1f2e05c8ab3442904187cf080a7f78ae5e2ce3d93a4dc8c45d3d8ac940a5ae03e423afdddbaa1b8c7558683741a24a536319162758f45943200f9cb22fa24b1e36aff5d6def406285ea9ed97c435b05370e2456acd51b8cae22c1e0b9f2c7b8bcf9215fb3d87345f309fdb4483210bb995824a26f2aef786fb372e76e5f1f81cf8fb792697290fb8edb9fd1d05dc75344208ed6634d7eaa7c92e0cbcb4cc080c96c74f7b3846b2f3c3f0d5c608ebd3abbbadf98b7945e2f99f6c1ee8cc6c2e48addbf8f2dd17249130148a62e4f1c44f8f7e122b44edf8acf20e96b36f0d8f6d37ae37e23495588c427182c7e9e525f9343140e4f95133c4639058360f1e6d5aa62bbde89ce0e41dfcb85313102b3e02f330b361d6144ada62a495322dbe8f2ebecf8ac58ae806448930a5f8bbd5e7b628e915816ee3deccb22134a37e9d54696f66f9c048a98edc02b0b80c56d52044b13933d54c8163688827d9bdf632de94f41917a77547494a748fe2b8af590d4b01cfab1650cb3ef761997eb69f7fda052635b08efbe1b7f538ade8118ea2341c1f0d0285555e421ce9e75bfa6369320fe06553d2eae329a34da251f8c603b8909f322f60c0bf05dd10df643fe8aa4842cd8abb4efa3af0be0586a896fdb81d74dfcbc63da0a1d221c7c416c0105de46b65bf097c79ad59bae63eeb083d0b734f51c9fc355e711056433f32adab368362c0fce345d08d2dcb48282eef5081c03e73dff0d2aeb31ad6b481c2f072ea1053d6572b7c5aeb24e84243296d2c37f112516b3b67f65247bbfa49f73b695fba60bab84a9dd0c6a03c776c3d38d0dea3f1a4ca3d9b31bcd40830531f7475cdccce22e4d44ab099d62cd06c341ef8410a48c484313fc49d841101be9d4d7eaaa5fc221d3552cdf15ab3d77482e8aa77027b4817bc43cc2e9e206646807be13b804e8efd4b7a17eed703d95db7af52fdba47ec293e0a88a61982a4471d1ae218f6dd3920e395c060dc57868c26f072c5c802e58326968b0d0a553c61651bb15222218217a7ffdedf8730c9adaeb51cf0cde6d0acc5f26965b1129f02db3ad63ae90249d3cfe21eae1b94be0bd11b693b7782d0a4c28887b6d541230b2be271ba3e741820857b2029b48b8863b973c74a8821b16b822c2b895435dad11c1605218262dfc9e3e2e92ce2327d44f48839024c25a330fa8169c3725fbffeecb91dfc064bcdcbc7e347507c5f6a2258b45f937592a17577abcd938badb545d9f9decf5f0d171c5dff6949d29b72217b5dcbcd6d3b29b2fb2ed5013864e3f078a418833404aa385ee693beaf4b75b9a3e9eff946d933fde69eef735c9447f25e645f216ef2ddd9ec6edeb8a364ab87cf91c8ea8c786f2b079e275440ee51e0894d4734b68a8fb32bd267b1d05ca71ee9c9436ffc63fe75b8555e3e6011d2141838c98725908bf198b6a322ee1073a54ba0267944ea82d7c373c31e91abc2005b418781030b5cd5f935397d3696206dea04b2e88d7cf4c3211927030fda7af0d6d122a2e11790df4cfaf9c381db00df9d4b8f2b84935abfcc715ac6c0708e76eb9f533e2f502a97c1fd1ec68a4604c7e9e1d97a8e66c0671210bef4770366f32fb8334b5eae30e65edeef4fdd4550a4c6918782b05598821bd8d6393b4ee4b3b2688f427d564e35cc3a44a23e59e493da4cdf05a513dc6a63497d178488867da5e4b416ddc013fc8fbf9eda985a45382055f16654b94f27126578dc592ee94643fbed84ceec94ae205a4dd700dd2e66b09e9f320ab460414685499e1c9284374fc75dc777506a1973f280d8f59a98993d0839640a942d2903fd139d92a4aeb3c902ebc13c6940f816d856e963d08aeed08828735e4ec88abd16b85a223d149fe138f0589778529c485a88009e810e219bff8cec479a2eb61f841b153ffafdd06b795b1ca1b9c645d6128d53520a0a199e9aca9e2b1e406ec3e55e84df4af83a904dfb0d6d90f04f7663b11c1c7a9e9114cacf03137797265f83290b08ec6050f8810ef02b2ebfd01baa56e4d21c3ffb5c78a957613a171bead5c69c539976b75ecdf802fe3af5b981dd091dbcb848fd258d04fb9af259dd5b8bb6b4393f126754bd1143ee3656f8f491e530e81dc119a2b9d53bb66ed65c5611a0e4666817cb5765f7d277b989654c8875b09b53d65b9cdb4eab6b8f1f9205dae71fe108702de4e1e8146f8f55ca145c9d67f42f26c5498ab4d93d4ed3c2faae3fd73fc9820f89643929bce92c9ec510ad30bee8907817496830be5f5a52fa079012afd0df8f7201a2b57e9bc3a9450f73bb206f8fd6a80ff38baacf2d72d55589027aedc6730188f7b47eb3fda3533b5c2d2a92b95b2fd7c8091db88c739d23aeb0db92e423d3c413bd7537d2d30a27298cf35da1e1fdc3522f714fe431eb38253f50d5403f69b37241462a427e84e4b87fa0ed525eb278f5fb46956bb92a909024925e749d28bca2f464df7036a1b2b86ad7aeecdb983db000ba5599367c73c1d1cdec29eb793a766aabadad24f288640315b0f6c03a0313099975543f00243d1076d7aa38c55f51e105ad227d27d9099a3d3852577568dcda19a58abed03d5bbcb2ed73d34fb4f5905953b5fbb99cd4fbc79438203efa0a8df3dd49247876d62663ddc9e5f9e67b48eea5c71c464a88852e8500ca0cf3ccc199ce60b59b967965eaf2d0b254229327a087352504100294ce3c67b92f14e0738d5a4da4367570f6aa54a584268743009d94e776e0060deca9e613976e81919bec2cd36c12335fb5590efc4f6f63ddd6584730964fa768f0528231b635a58ce729227a3682326cedc3f232d26da0ede72c74bbf49fe2bcb6e8579f702db6542d34ea98128793fc4ae1612e3e193c0e1798bc3c1d8328da3d9dfc5d002bac707c4d49080a17b2ed9e77bc04bbb6e8528f09e092e2f2d991c54017e2dbdb2a984c0e94518df9c5cb4bcb2825b90efdd846aea2df1926dfd3a4087520203ea62fa4e62f60756d886754d647023fd734ed90ddc2cc877354a606965df61838851e09001d2eb4c919150808a83d0ab61adcaf84b5a994888d3ee9f25710fb6557d9b1cdb40d2dc6e54877a0acd174cb2acb3c1580b95b009e5f1e36c1ce10c0d5090de58a17cb7f23601b4448914a0771e88ef761d91992a52d5d8a12e5b7341b917903faf3210884f11fc9ecebccafe0be9af5b4d199baf34e6f54aa8969c22c8d1f625474c748aef42a463577800ad2d200ffb00e7de9cf02cd98780d9876a88faa0e494b691290970b766110c18ec2d91febc3b2104729cbaa92e903bb94462de4706157359d232726b58692bd8276967269b0211036b1be4ef04648443fe707920c25edbc1e5dfe3a07caf9bcbd498be38c903f823157512cb4e90c5c27d34d0817afaa54a9df33db9247bd287e0a72285bb71fc912e3e98b528e615305af47632222e89bf260bd415a1c82ce778b6532b1cf30b6c1dc7ba25f582ffec004ee98c948001cf0b312decf91c52ffb25954daeee0e0243e1a2c175635d10c9cfa1a288dc4b1668d72b18e142bcb421d407334939460577b0b4bdc7411d70cdccba2881dc04b6b75d58ba4e4d178de17743a98b527812535ca7d159e9009fbe5ee836772f10dd8556b66b6dc15b02a599a51604463442c2a97012fa212a203db99455642dabc28751c9687a117346b8c54aae2544d305d7ad8ee71255da3ff471c633c02cb4d43b53274f6baf81d719ccfd37e35376a75c19d2be8fd6ee6c44b70b60a22659f53c95c3a276a1d9631927141879a2abb7dba46d211867190d8146803e38237d1ce3018abb66f55ed4722cdd56855e8855b1d15a25639c69558e66f35e06cc6eccefd341c3b5b743005a2bd11d112920a9418cab475b201a0a2c2cb6779c1d8b6c723c5a379b2e88e218ba5c59b406e7386b2276a35758528f1fbab94111398edac88111c31681cbdc0eae3b64a4955ae983bcebb5f5c6b1ece0e5ac7551bcf7234a0793c1e870ed9385aedf21c1686a4ef54c95a203804798a1e6d365eb439ea9fec6564e3a7cb5d03d16023df3966b0f38a2e11094c8d3859354e88e9e2064ab5c319d2f1f417743376d3a489844d1260aeade737f74606d03c181cdd9ef353d619d1b816e2ec66051594e434abe3caddaa47fbd7739e41a751c7924440506de04b3e6b84e4a65599d5018ddae9009829a08801e4c64e40701c4012419f26a82073c4565a67e7c28ef935063f3829744f9bc563e63cf6801fddbc466d5ed2d9751597db891a3797322d229e34e97d85640130fab2168b1a3ffd25dd1db0492d643715cbee571900053ac8ae102f481d3b9f187d8fc4a3d05a7f063abfc9c9c38c873872f608aad9fd0b386bf236e79f5dd51dcb3d8b6aebe4a4005630467a51a2bc1c06b25544d53c9cb57f4b8ad560724409f39d20d799f7ee59b95ddd7620d938b78b37399320319835b478abf1458f44879ca15b375d14291fadf9db1dd8c92bfc24c63659b7f5db34021e3fa146d5d27cdbc73163e45ebd028e905580051013bcc90e066c17240f53ce257c385f4a61efcf5cb916f751f4f151797c7dfd20a632c4e70ab59c2d21d7b09295348382765b6db086ac1a5ba42213f7ce30446ebe5f769a10e6fde9375539a499b21e8c4dbb2c7a286bf530e4a8bb02b9c9cc2d06d65f8cb82ae90b7b076ce5079127ea6b42c6b8cc3525146c0e5383efdb0be927b83e4d2578dccc8d82ab0dacb4bec9451aef6b0832887f3839956bb38dcfd5535e2d9bd8c9d8baf1b047913436f11cdaf3b83b6e23bd12d3f64030e0d0c3ed45fa610581942e5b4c848c7a1b21b0b66504c30808ecc0f3b3cc3098486292b73310b0aa6ce67b7e9d789737063dca4dab8f4f7ca84951e574dd5f5c57fe266f9210346209402b3a7fc38dc50348a7a3d9fbc37f10534754fd9a4842667dc3d286cb22b07a02a85f182fcb013a2e83517e61b0cad3f99d2755a6918c0b3ea3793691c32e543ec58749a09383e07357d8217c4dfce6713ff9db9c10bf8f983caa2a047a0075f079f071e89f4d9d3f76d88d7e8226605882989b5720a2bfbc356d8e32b780ce26a4166954068c5df353c1f2aca45b0f1f67e810d2d0ba4e29f040d23d7436799e3fb61efc5cedb4651fff59096ee18dd135035322715222fa865c21915c1a47b1509b0cb602d1f0e0be462b51ebe979afc8013e347c0995afa4c7cd587e2f47c72935914d98c1100ce4421a9e294bc081668f9db6a80301b6d5be2d295fbe0af3328c5eacf1fcbcb67e02bb488862650aebee5dd8b302d0f984b410d57798a334ad7e1918bc2359d6773106727712d47b963f333181644ed23db5ce87c1d2b034c3022f8c41591a92e679d9ad45eaf1e21a5c7e56ce2529ac9712c9d9aa111ad6374e77abccf30126be2bd680ccef0beaeb4b2aa8dfa0541b5a350b7c129aed300502459050e61c2cfeed4ecf58e0a35d71faeeb87a2c5418708350242460f0a7b7b6e34613519f9f90254d15eb43d406fefa9069539ec358cb90c2abcdcf3fcfc8d278cc51a6b58342a9b1f1b5b371423ba2db91e221c2a47cc598c502404ed66c946d0a097f482437bef575e2ef4407593147f90a1599507e2d8fccab84ee9249288f6cf08a38bead6c3f9e1768449f9869819a6e3620ef317f1b3503dd76546e711972c6a0e46eb6661ded0c82d1ec24da42f13979495585f4a04c45c648ce7e6febaded20ed9b214acb5e29169a7aa9e0556b854d9fcbce9a963247b7a494616ef2238f5da94cf0781335c674489eb295ab0e283463e5db0ae610435c8aaaff855d2462e0129ce9c66ee7b7d5eed5abe08c7dc461380702c4760a3ca90dd381ec9961ca3431512ff60cd91d2fc4789c00effa49af3935dbcc3c07baad13962fc9d95269d41055488f80ea11b7680f48ba276d77454849a7cf234e95ac3606709c906ded60c678388bee37c5d7f8f8d804d72e50715dd5eaefaea801767a0b7adbf9a0cb0496e8fbabac425a1e732e6f026afc3789dcbaec81e94395775bda9c259983cd2320230ccb133a3bfc9615a2bf1946e2151191376d141723b9e6a0ed70ebe101f9275e14cd38fac12339f444c1d5c3e5d49c0d067360e5bbb5fcb038c2efc8ac6a4ba07015537152d572dea4b519ecadf52651593bb1d2680ddd1aa655008e46dd3a305e7bb8b4f2dfb0e73ed50c772099cf8ae40e30cda22d9a262d72a62623ac2c3206157faf6b7081ea3b880b8ac152fce29e690bd39d089723b862c988a7886e3954b0160744ceb0908bb56877ac568de9739c4b67a7e4399dfb18d102dcb8e6545b26d5ec2bfe1ed0fe1cc97dbaef7d9e7eb27a65b471a39436edd960c21edf4c802f841a21c770782b44b03c9930f5f70455d818ce411156810141179ed488b440b0179c94a665ad8bb7e5ffac289500a7299ecd365c2c3fd3e518fd35be57f7ac3ffc6bae23acb6fec9ba57f42d3228a6cefeed07ae0af21dca8b53fc478dedfc908f443d0f4935df93367e2535613482de6b886648584688ee3f4f35d0720bc05e95b81d507cbb97f34e901c05c9c3b44120a18eb6551eae4f0c3dc3904cf3b47b22754c242c1d9e7f56bc794cfcad74fbb6fc80a36ef0779e4bd1ce1b74e195fbb499945d7deee6df5227efcecb5bb019cea76176be74b6490af3ec1ce6269f4c8b0d6ed1222899ea4f93a69c7222f3e92e2a182b68126813167d19c2110fdcac76b80a613aa6eb32d1c5eb028a4f9992b913b4e9e006d7ce82b381c1b987405263599f8ab0db7287fb5a35a2ce6181cf43cf4aac092c28b4b1b2f18a625e89baaafff380355d2e7b4b471bb47f45b9091569d0e647109d9d58d43d9f387576346c98e9e535a40d178dd3199160dd793be3958a774d3dd51ccea4cf1acda87f85da28518d7b71a34e136c40779318cb36c2cd0202d9cd4c1eae5bc9676950eb68311d29943ffbe28fdf5a1f4cc398fbf8fa705e0238a70e4eef092e83b4059bf456b42b8ffdc546bb9fa1bb36a67f4d9a1e61f995175a1f906525bf6f285496744f3021dd0a24e5f8f3849784d244c2a9d8624f6b8517c40445ee904a3a625850f026ed421df379938c2d189459451569d1154266034ac8b475d1b27152baad6369849b1dcf0d3b6b826ae2de26f044413ab2f996a82c653586e459d1e2516eab7d4720481e9b4bb863a56595684a7ee5057c40c169d115572f9be76a1ccb2c39e6b48b7b9dd67dc605d5f2cf1b19b31b3526a40cc746b99bff41a27bc09802b902700f4ea94a747396b8d63a1398ed8703238c92db3fc47a3430d35519ba6804c880a0abed132e37647bf632a7763ccba88293b21b67135d2273d2c5058b604f4dc67002e40ad0450b45068fb9fe7daa69cbaccd3043cf9da37be245363dfad4fd5af6a8f4d56a5047c5b061a63b0dcd1493ca7d9a1f5249697931ce3db82188a618af8d1fb50332fed012ba91a6358659e35b1cd351f1d25bd6c096adeda13e5b6cbf64517b769998e34d825eb538d2dee0ebe8fabee32ec86bb2704904580d7311fbe33da43278defa59f37be8c99577a6a613d1caeddce01e582b09e31b8a9bdb8bbefab1516435b1bb59ee6a5c065839808cf344d909eb547f96fae762cf46cd0b5b450ec767fdb81420482d5b1cc584e9463443a7fca424ca6de1f4ab4a437db04075bef2f2c19e615b8fb0a5788dd5a296de52a90bf70b49b9f50654df89b95058d3f4b9b426491ab6af386c360d735acaf2f6e2f0ff4a395a69d0d2c4adfdb9a0604678be41fd2c96ef03a8b90bc18f0f53a9cd3e602dc4157b0c48de9d8b18de293b333ad20c7e048c37340023c3321d406856b77afc7a407ecb37b98f96ab557dca95153fdf18011b5185461d8f80b04e5c75d6c841dad2aad67efa11fe16c73d23f2979228a995216a2c00a56c005614dbcdd4e743ba9d6d535be9de7fe3a5f52208156f7003271e0c9af6dfc4d49b7a3f09284850e78b10032bf1cb423a39c6463d0c72a1a06d283d7ae07acf9930d4f6ff84998acb6e8d721f77b3cd32acc23102cb1c6be43c9d7783f5e527ef55be12da3d3764768250cba00aa1438c75421dade8d0eb7c6017baf146eaa9e997cf9145fd6f2c59a5ed2a6e24b38e98fc58bfc984a6ba81b2ec17e3b5593877a16d3d9a6a2807ae68933c6f762d72d882cc95707fb8a010eed851d1d34aa9f4a90067e54e9e1be9c86ded117515ce49049adac034be8824dce30f2856b91985a64c6f3c8f22af4a0309fc9217d1413544eda15d1baf1e35bb03a8d8b3d72bd2c7e6c62379cfc6b378419651d68601ba334bda1c8623965e0ddca2f1d14c45e703935bcb5e44e29356657f29191e7e032ce0b54d5e41ee973627afa31e5015042d2403355674339988a556b9e79f63ba691a17068f870f8f2ecaed1aeee21904ee00eaa145635aa03924a5538f15b832af5054149c1d9889dc4e0aa12e96c41dbd76c550178b209fe5ec6424946a421e5b80e776501a4eea9b3bea4ac10403a2b13ec1baf4a8473ef11b265cbdc4958602a983a483169cb370967b0d3f4a2919eef1ca656260e626f3e3884bc2e9d54a575ddd4a5b791d6d411b16c989fa31021b1acc2d1a9a3f8b29e310ae917ae3e288688c104468af82e70513d509d08aea3ce9ed7c986cd6cc20cdd32f1de81f732ad091a82c02218fd49ecc913451db9fcaffb319f3f3e0eed082158feda85ad82671d078af5a79906b14cacca999f6cb27082d9a64385f724b87d1b28142270f0e11f7b76a89f6212ffd470db4ff98991c4affa226fcc714c98e5f8382ef90d9e7edb4be417ae5a9aa2c9b5d0cce5f8895ad71276ee8b2f5ee8af882565c4334d484e2bdaca055ce9c688d1d4ca5a324a728c9804e5f94299cc7bd0854517298fc378323ba5279400b524525da0ab842ba65f089b33b9e0be5d800954b9862d8361445b94e1aa2623a6f6807b9c1fa0e0ad76adeb76addf9056910649102c6aec2f8b35eaccca83b9384f562eab1e6010080be28ed41f53ee101c3f7120027b86cf720db9f55b57077e99f4eb69c6deae8b10d5c14ff033f75823215840b88acc55ad280ffe0588f8ce4741176705eb2fec925217fdc647eb7273c7f8b71633beb8676d0750c56c1e78912b90c312d9cb9462d2df0e5d4172e56e5425b66c80b9bc6234f641ad91049a3208047837e1b7c951344a8528daceb318072b6131fd735b76fa946a591a602a4fab951bd78924a999387351cb1aab7a6a97c730a9b05ca8efc387fc0cc82a570351a672f0a6b355a7a3e2f0e64521690c16b53540bae68573044c56a506e604e508618801f8b71912ddf1814d1438dc3edbe1d58260e30a9da75fdcbe1304c8d5b39471b975d76458381d3105b3708a51450f6b13f15939df66029d8ef7f4887674ffa5776b1349632b695f28fce5d5d57e0d6d6d7b6715f46be1e21d5ae8531adfc5aa601b4b458026fb59e434d63419c9dc2bf7aec1e304945ff3e0550d36da20d001c4102999869171b8787be83cef4d96fe882beaa810ac5921687a22a46f1f779265e11d81c889129873f194725e00adf5f29dfb81db8294c88e34e5d801787b24656cc05e2cfe221fef8e93e3315a4eff083323eb9e1f77ce651028c29df03ec92102f0ae0b240a49d78bc8731d744e5779fa25c673d2d4acce301b1d3f6cc676f6fdebbee8249f3fce6855dac19bdd4a9411ee73013be1072919f502441675f46ce11300a81361375b4d0c7e514e2403e1da371b17ea177569f404be12a36fe2659c828f90b2be69b5c8ba253d54d6aea2131f03bcf528d2ece23db7ae74fee8db1bf29ed65f0e07c2931d6a2ed52b96cd735ec5ec85cf2c3c4584fc542702330ec0c954f58a142508814d47b11dec7e263555a7011190e592ea8cfd00d46b2e747efcb7a9d7a882b4937a3bbab8b801335162f1e0b47e165f58454d0e31513256f4e71dc281e140d4853bfc899aaac2ba4b001f6745fba6924d8984edb04f68dc239595877abce4e715285f0e5944a7bc1b5ab6f346730cd578011d94f3d7cef00406e5b05a039558da04b9d5e2b5229727c73376999df81bf36b9cc1c37f522359231cc5480eac092436f657f8184eb042aa437b618eba5021df3cba76a45225e723d1bc492e60242f5916bc0e685c0fd5ae1f9339c79396273e15926a4bdba5c332d1fc6379882b8745d2d630758e1acb6ffea4d452a4ec13ac5f1556fa4492cfc9589a29afc059bfd7664081b8796c65d172361fc783dba912e458fd4a5cadf7caf3daa93f891180d250d897ae4b3600baf375289f25170290af70f5fa74b47fa304d51ea81fc29ad0e6e4de6f546c4e08dd45b6a0d77187b6561482fa73b5dffe2c24700c77ef59a4b13b611b832cd84b6f3150abdaa06228b1b50ab4fe68d906f66c0f4234b68bfa35b8552110bfbf6b1e3741211427511a81ccc4b7d3a41c8010c2ec6d096fa03e44839c560f018238673536a91e8bd8d2f3dfefd3ee8d60efe232f83d87224d5ebf3b9deb99655cf20553d47a66a7f5086cd6fcd06cbdb262273d4aa9d77ff7756fa98e8b720027fa5791e58c58fc181f940fe125441ca2b82febf6e7344edf8c0049d588ac84f912e989be48b1dddad8edefe9a2310031299da98687ce334b43a9ddc20836e93839ffab9a3b73b287e2dc0f8b08ee8cf3a208eaa5baaf4ace4b18d6cd5c6498755544193debf16b2b1bdce6b87b4c631d437e912bb4bd167d7aa5cbc6f002a40558c2e520e3e7f961812ed7c5b7578dc5b90856e4d987c169c81024e66240f7e54854ab4c9e5087397aefda632d39facdf1457cc6b7ff56e5e30c573afc4d9b22e92b3932719d9d22cb946ab1492df5f48ad967781631dad8419908aa2fb5f127f5079172771707dfa30366c030930df8ae40e386caa570c86fa8a40316f493bf209c3e9583aad670a2ced103836e4957d1d0b2fcc5f4c8de13ea2f6cb0374f9ffd2a826dfb7b78d897707491be19b25957ced6e3afff5daf4dbb87aeed1893f3042b7eabfc7d8be1346acd5c986db2fadda274a530040be35bfcde4c2a5acef4855af08da109d60ef6ce249b7c5819b1496ba500becfd8aab8a8b022d872e03e9d0c1a63efef740addacf8cb35230ddfa9f854dc56377bede74ab9d419ae788fe35e2e67f07be72178736cc44d4fcfc1866b99a0d77137126ed366d7b83b5642de29b953a9fae6b8c87d6db8ac7d0c62159b76e76749c442e66a6911a386bd55fd6d5cec536b0f2be5fbac5feac831b91355c78ebd7b08574e570d2aaa17a37b298f54619389973c5106f48c2a9c0605094953c344f31ffd6c8054da91ed408bd4dca2c2cc712f35f55e3baa87b02473504cea8eec6fac2128e9d6c7250d5b658ccf63624fa6760810c7d966a1eda04a5f45c44126f19ff3b3d24bdec558ffa14c9f327e0075c3d0992d498980f1f46e843b90b53b9b83040cb24eade9489af3b97cef0ae62bd52492169add13d65088a897885021efd11776a1a26879f7788c41ea675afae1079dee9c3a8196a85ec29afc10fcb0cca22944920f9f62d92e922ebce87c8153f35e962a5980cc61f9d93641e88c1191a533499b714b24f41a6ddc440cafbfa557c76d456189772dea834f646a22bbc73458a192cb6e8aaafe746f12fb90977f27c02b4231065476f74eae78a26ff0bbddef22decac3af51ca408423ae725ea676f0e7fbf18f42474c69df8a89f6beb36906c9234af45e9cfe14feab84a9bcf784c0da9623a73722a609df9647c1243df389f802a4eec1073cd6cc5463735492f95150b3777a66b0eafc4efd5a834029ee6c9a52ba9fb283e06073233143524f1a4771619b563b8b0521512c588a2d6a90eb6c491c422d354902d0acca0e2ab474e6adad49c7e8e710a96f637a5da259c9badb4555445854bf95ddf31eb2839cb55425d4b176a0b38c05a587deba4835f395935d3d9bdeb35f71073d942777933480a6cf57acc51bd66675f499c115a9b4b03ece3e4916aa6c6e256f85863416778b55251f0bdd481ceceaf331f91ee2c10b06355e85b7d08848d77540a2937cc5b09e893df4d312093a57772ea00e6b5447fe61af11c40b733e49f7bbefa44adf5a76f934feb5f04ff4ba7ec96c6d93828fba5ef6768e3772fdc9d08246a54c1ae7820289f09565542f2ff240714cff91856c71a2b35b6abd03b9221d45af2ef3b8fb9d46d2f09e3338714eeb7c74f0b0f27a9646975a7ebf1b30847de60db7ee7905a4cf4c2ccf12605bbdae2e3c42e1d4913bfbfe0dcc3ebcfce0074bbc1003a4a98fbdb662126aee59b3833757b1a64dea1204396a7345d2d5ecf92bcf82df8c7d276d72b2bdc157fcec8b7a49f6ac8a8565a03ccf8249c1d7bac53b1f470de935398d0fd429b7c04f30f9b1a7004e35dcff24cc0d790a936cb367dd488c8ea713857955fd77669c1dd3807a2c489729566815e31777fc4a42672041544c06d0d270fdcc76bd28205e124083a244ef43823473cbee46261090df169d60c33b5ce06dceb8551cd03a5871f3a22fac253d13b68797aec05e5f7ff0d4a336e32d0340a622b2edfd2611cb6d51940400f5c7e9169ee8ab032aed51e02fe909c51403e7217e566b68156a6819c58c48e37afb8852e077ecac424fcb1bbee682a82e346d8bdaaf282124b9519e3bda7ffb09bad405783277e93d921518f7fb69d2abcb7b28b3848d86ccda105c0ecf0a7b625ea82a7b8f2750afb783d380adf4a49687902aec234e8c097e7f5920fd1b14a5efe8e04588cc6ab7917e550e868202f2915cda8f8ed84e8b428c255364ca2f73e3900a4de5bc401fe1c1988e917d14e33434971f3e4e30c450a787e4f192cc2724db46ab87f7f83e9d353e80b5cce227fcc77908f7b6eef1c201e6068cfced1d28401d650f3831a1158df2195bc35128ad03efe3f33b185aa2dae25081ea0f21da5411886260469eaf6375251c6e5df8ba6a14e6b6c5e8f859dd017d087a4af6e5b8493288cfc77530dfbc63a87d18d2ad908948e695e727b106fe1de731649d48379eacdb060e9fd6dfc8302c518b90cbc17e4916bcc32caf92a74150b60887fa25d680abdb7d119c19e85418094e95f20e3bbc4046590d2416574a9b369544fd1106047a0aa00ea6be3ab1c7b7ac003a9264a5186b899cbfc84e2526729ced9c4c5ea8caef97c066bb0909d6a35a1df213bfe1b714419b6a71cc06e7407efa138d8f6b32ff2f16e6ee53093a893ee3a5347287e4fb86bf1045eb8d97ae70e20d09bd7e3ac089cfb0bf7a8794ae51f05bb2a745a1c9d4140364a5ed21bb945e1ae694ff3cad984fb3ff39c0f57dbe958e6684772d617b0db0fc5a627d5ed64224721b2ac895558d069a0e3835434d157f201d30a6f977998bc0a3d2b67200de7ce2b8f8264c2b7fe02cb5c9e5e339514a857d5e180a9acca8ec4d4f7d01d2a96bb5c3a1c3bc75db83de794518a92847ede1545e48fb3cc5daef4150f64cfde5d475aa2a9902eca3bc9209431fdf6372e6d7c27f8bb835e8c9022e1a8244bc243b039075947fc54da3ec8e62bc9ee7d5d25236cd311f07829841cb8c09a724646a4cff704f30fb9d83477bc09f7b63e1795f7901e1ecd907089aa36e7d96888d8827274561a0dd445592c58e287cd1318b484702d59b7d0b2b54409c500381dcd960c3a46dbc970ed1af765a271ea0ca79c6d2ba0118ead00844e32f8cd6c0aebba4044f5a5937faa548750ea40bccbc36ae1602eb82017c4bd26be59b9669f4c3ec36e5d6a82a516386915b8434ce6dc0c01a2d065d8ecfb6572184bb194d68c3507e56842ea26ab7bbe4d4b033ef4ad56a300e8c6793de3cd4e55fe4ba0f51eb1f80fa28a4054f5c670c302ef86088004bfe7e7ba1ccd26d32d24bf19f4f7bf09db1a5eaefc6766cf75bf24c6c59b6119bd48821ac171ee6c81be236b64822a6696afc542e951c837c8120fa39c9eb942af02ee3afbe84f42655d3e3ddb38a00bf1d1a1c90930ea92d9cc07121a60fd4271f955316f6ec224eb8c61cecf8ce3b2d23124c4fbbae4af90e5e7972751adae9cb6062d66e1af23696c7592cef2fcf6c1c1330ae764797c7b957321da84785d711891c87d0faaf95a1d9f78f68e258be196c1b95c3f39dbe37e3b93282a702b8bbac4f65f0c932390ebd7dd21f43180ca034e198547be7855f1fbff680cf263b17c8f4c753dc20f9fcc6641dacf6f52dc7d9b3c1cff47b7cc6ab7f42511a748ffd0c2355d6a5094c80df318220c1854ed72c7793a8ee1e592ece17a2e02c0dfa0ae4c58a9f47c1dbb46e58b8172f2bb33797724b352301343ec1dd2ef1b381ef3e0cdd9b2fc6f06a0138cbb2f294eeab5da409c4393d6e9460b5cfbd608bb338b3a3ba18224dc5a48229911873f39459e95c4ed073209fa1101d7536ae8be772349ca59ab200aea0ed0c6a8a80f9990548cd5162085fbcee58af6e271d15e4799327ad33c81a441fa397a062b6b9f9ab2b6e06a32efd2522ffcf5d3e280e3e3480b25bc2ed77b48e9a03e32d5d8a026c4db48e955ae5aaa019dc99eef59978aa68137949153e3415cbd115db5aa0ad1fbf09391d2985c58a140ed1707782c4ab37d6b765812bc5828c02529b2107975526b761b9172341230b05097441c1dc00c06048021c0c994e2ef7ed05f53406ff701042fd12f88ccd34aec4403443f3c903f1fc81a82848a6a1671a136fc608870fc8ab40cf457e1193084386c4a8111b5af6207e1c0c33484cae40ef3ee42ff5a47dd3668b1034fa67973b05f3374bff1ad2409c57b816cd02bb811f7196da2f95ddaa413795ddf8fac00d76569f01c7fb01761968f7cd381ae2a8bb243650f64bd006c369478117bd663e525d2ec34450628ccff35a8d25e85d40c38e4948a4ab816788ac519417e80b93ebbca9d3b9201874f713e6702a433c97d287d6fb52bc32e48a07db491cd6135625520274a51090a41098de1431a6bc34c9f0d9af80931f2e91bae833befab99da1583236f23982a0f454f758b82fa8ed836f0896f48492321ed808bccdcba6082cdd8a57b5671605a4b293aaeae25a90f6c4461857e9cd90c943fcca859e221ee72407f63805222c29afdc82aff69476373c67bfae0a913168fc94cf8b93592d9be9b7559fa4efc1a95df404325493b14b8d15f5c6732b26340e218a507b1887a073910618e0a6828ca6ca5ddb16281ad940c560f1a01bdfd66f7c2b2a51161c490eced4ce6dca97a0d92f4541bebaa4a83cabc75cd8aa964627696f68d4ca41df56cbdb42b91343cf82c6b325ebbb10553fcaa6c98a9aa452a7ee8fffe93b15f3ef7b38cd21342f7490de5bbfce0cc7345a514b9088cf0b2bf531cbd30cce7d72e6dd1e26d41b3204f35e20add16a4d3a7862458bf051f39aa353211a5b0d4c1dfd0f1565d1334a9e571f493ca8ad774a956b1713eee731dbc3fa99fa36b0d2a0fe84507b2bdbb1bfb3a61232107f7c9dba5cf6da07596de64d6d17e3a82f7e381f4f69157b530a71f043e2fba67bb7ec9c086f4bf93ad8d403f9201cbce084ac5b6614083cefb6128201a5b92857736b0fe1db773d5f7dab1b76192c07dfff4f00d24c3b2bc945810b508772428d988c882ed1724f3a0bd0b1af24e74442dff1e494a20cd7bbaa793e15e25a368e38db5b6a4c13e6d3d7cac3ba4ac263d07c38c65211dfb463e8b9db9d7818197429015faa3c7435ec176078ba50b88738f0a317ea67c2042dde94d76fdc8791418143c25d4399e2aaea929e941a36bd693e5c4c1ffb876e3c6914531588da839f1ec8a192c122af295413d07cfe67d2a78c016461df731abbb1ff3df0e03c0ab3d6e967c24f6216b6761b192a4e2e4f3f3a30aba41b82777e92012a1e8c765f623daa812b4afe99d9bf7ca9ab527c21fb87699daef74851e2e36ecadca2ed2502fc34268d01ee05d9e58fc2ba4492180080287aa08830c94c98195d989973faad55edbb9ef8fb1dfa90a91df2f0624c45cff187b0f0eb2ad0493810454bc89e7aed3ef0b7e226f8ec561b14ac5ecba9a3131205fc3a32ed7b8ae64ecd3d589dfe43e190537a6f0c2f75b4fbaf50f3adb83d78373f73dd9573ec6869a156b4336fd8dc3852fcc00e4d318a50a27edcccd33381444dcc4c5a63b4bc51a39a3973c1a98aeceefa3e4806be0b6cd699f36226a23592f48663c780d2239243f5c15edf632be4b6f7ca009573c8e2a73c5b365040ad953f08c9f67b97828235927e0fc11274f7b105efc0ed4bd9365c0311e27f1bcda02994538987c0f76597a67b765346845d74232d1721c2d56f98fa1701c9ab893c7a42290c3ca1510cd69ee6fd7e613762dbd6beb757731dad9c3b0535b544f4372b31bbc3ac0a19bbb66382628466ef91cba2afebc764f60073a3edf96505d67156c3345253d4078b8ebd20072c3e3100d31fd2bc0e6e34af2a8d1c2a4f6179c9c81259ba5183aea4fa06385bcc0662021f353548ea0b69a608cc5775d65df2097311dce0ca2e33c6241827a488088984faf9438be1a503774a5b30916c848fa248e3e624a7cb2bdb6724bf32be566763269af1297bab85338657003a2b9eafcad68d345a8b5c272c5de182dbbe5d15d0edf9a150761c717aecd353f2d7e858be4e2a46c34590434c7869b82a6bc8d783128007aa3fe39eaafb3a2f0f1ca28d1deb11e38a94738af0f8d1791ecebdddb845b21878d99939e132793aefe8887d736781f2f0168035ea616486ad1b6ead0e27d1904d05dec4bdacf1c837101d7b745e7b77ef1ba95aadf87b44185feec0bd21ba6315869884989dc6b1616abb26da9c54fef241b498c7275f8ce15952bd2fcdaff220c17291f9206d10d57041705c94a72ee1506b2494b21cdd40f3fbb5a2a0e09d0a65177dc7c908acda81c0e41e2e2d920df38368488c6f08427240e6c32467c4d1805a7d52dc6e14921b403356bc6cd3c9213f3c29f5efb0e4ee260ac4d98fe8d761076751d4136beb95b095e60b9aa962c4a8570c5e6082070fee9e180dec699760f9821f953b54848280503d901b9e3740fd2b26da4344f39e25f552db2c521a2b670351b29c0e5725f49acc3139431f507da006348b7163731ef20887a8dd0ae0bff3522d4f884c5ab47baa053efbebb2a88cf106cd72a3a5c832844f4e8db6a3f27268a592ce931efcd21daa1fc92fe0d07377a821ab85c0e4ffdf94cd4a59882162b03d6d34d3531a647f034eb20c391dd896d1dadfabc8670e54db3e9917e4ddebb3ba342235aec74129faab21485489e5b5c9e80a8657fd819a8526f9d317e598c287e088a974192693026eadd947f823334be7a73220fbd2b18b07ada9b671cbef697b5853b6fc1cc4bea55041c2f567d821456e574521df674d9d430b484c7eb0f2a443e5dd94b54b90f78b7f2d2ed7cfcf2295d7165c200a970e5dbfba251d011bac644c71b4174eb79d540dd6c86d2e72c392bde39e4524dd345110c6a3ad3a66641551018017ee30df69896f2b74dda4a76a64a3944f9ad58cd708c6eb603e50b7f6453dacc427438cce263d623c559d0a1af9f19a3771d7ef712919c59d2d10c672529ed7a8f8a19ad89738fb6e5676148e97fab221bd95db6b37fd16ba7d4dccdeb241e177cd4f7c68db42b1863b145c635ae9d5ca60a7be7a230fdf45de5866ad0ecd483f19232f79b4573ee6e554754924753224ae29fee524c65758562c0a40413cfd4add0497c79580321c7991697f979f490b462fe351e36005aa92e227e0b6c44d39e0b8504c992ce0b058de8a6eb53b99d1fa6e80daacf8b3b466660af4ecdbaef442eaeadbbb71446c95953bda61fe2245bb9d23e66462707792daa012d30729b7cdebae7e70bce1b86e609778b6ad33eff01378cc446229de4f67c39d73e33e673d2566f5e0d4151d3ba2f06ff87e6d814a475793c082000192bc2210bd466bd8f849b31b410331694c3dd0dec2208914af29602c3c3f3959c9edfd45833398021a9d84fbb3c6c62479f0c4ba075b5fab8326374a158cf62a7837b81e48631bdee864e77da58cbb59413c217be5cdea45e4f7e30740630eea21dc47fbe9ddf253e364dae76157a251fb908a56df5e9e924a68c935ca55a4f5b93196adde7d97147f60f1cc33d82bea38dceee08eee2c32b987e95509124b1575f9ecfee1fd3b27fa7bb37e629b43207fa970b284cdc0d7fdc062dda643d9595b5bbe483b5861b12171da6a443a2939e216eebd86bff79343bce6947e5dd5cb2da4c509e8f51416b05c16c351065291f0be7fdef01db37a578713ed87b8f810db6bdb9f25b5b88fadb654f282abfb107e256fa831fb04b9fb4b03c83c6cc9464d35d4bdb7419072cd837d33430973c6ed3c26cecaa8c76175f3997e474765a896889e7f180b942560d429e92dd664b0e303e10ac533634260059e959867b3cb8b06a529da3df7c8ac20e3a29a93ab416bca211bc3f68a954d5aba825e267242c03008cd4560b1f26bc84a35e10eaac2db24c18264d15e5c681e62bd0107f4eae4821847bc959cbc6fab8b8c68b9d59af8ad5f54423a5d20cf5e4fc7755ec1c78a9de66ec5b2f27bdc3a80fcb21a77081925bca941cabb14de3a7fc94075b0d68db3b8bfe1db113f9b50c7362452c7afdfa3b3dbe6fa6aa0b7778af4563c28ac1f78da7104ff1e53de446582744d87a1df10cf4f2c85fa512d5139bf0f9868adbf9923daeb7487211801614b6b48543358472012bc22ec73c3b96b9c49d835e684fba0e601e54902ee419fed4efc13fa36bb0cbf2a89fb87d6dda1157a18e53fcad4d942b2c919f18e30ab9234e773359fbe7ed902e135ae44926851bdb8003980044f5b215df643938131ea9fb455b5899c2e534dc09a248b795d5fd20f2b944d5b4886393e792a68254c66b526a06c36f10a8138f7a93e791ae7303afa23e66baa1f0effb61f5b1c333c8c3b419bfd694a68a95e311dd3cf6973c17b83fe0d3d9e56166be3730be3ef2987c94fdd6e814cdb849610bd93e822d1ffa4c44188c7e461a000e8081a2bc46b3bf531b0af33211c8b9cd6915fa87f58c343ca79a82381850f3ed4dfc6abc115c18169dfae8cbf6123855ea8404a144a6ba4b90efc66e1c6299895ac45e4b3b5d2ec5bf5b406595bca14aa16c02998ab9209ddcd8aa7c315a02efa86d980b66e0a9f3f66cf26dc51c05b4b2c4b4120b80fea60c059ebaffe716bafb141eeca61ca513447f1b4658e73eb7c8c8fe79efbda933bb3f6e4882961e6945d3177b38635a69e68d642d38a1162a1f2d8961da7339fd3437ef29c67d83728b1808b35024e89c4353a1e448e308481778da2e7c3da2ba80799f85edfac25370ebc3d43b2bfd7478966610ec1ef727ef3dcfb90053a6bded08843caeeb095e6e45e468faa6eeefbe1238f76d9e23c700d907150d8a020091d060abe87f348fa2bf5843dae38f6ba64ae1e13aa9c8d2d1b91ca96a410a0523696e2bc3939dce33ba80ee96f86d9816f0f4ab20179ec93b8414e157661d983fb75a5316c7c843ea3f28ac86a9d15a429aff3b7ac2e97bfec96698aaccda4dedb73c26573f6fb635038d54a1cd6fd9e605cd352bd0cb2cdd5271a3bb015a2c024547deb0f6420b60330394da0add30435a40e56fa6a9a2b6e70bb023fe2782a534facd8d33e3885402120fb573b60b0e57dff6583fa605f9ceb0a518d3e26d7ef88cb06fdee3864f3b63cb9922ab32a8e713f2da5307a576c929f856fd1e288a2a4198b5e0a79c9d645951f522cf2dc27f43d9d9bd12ae2232e35b184b22dc9c325f9b87bd376b632464716e44a74dedbd5bd79a67d60a089435f453ddac8b0faf4f07bd9e1727b5e4f05094d3cddeffad315295555c75efd4d72e0240a6b2a22a2b0c21e1289d66d0ed72c67c53d1596370fc5352fb9b1cd80600274e977745f060e934e0dd74d18fbe20bd57ddeb78e600ba1e8d106ea369f30662cc62a91e8e0ada10e519401b2480fcbb9bf2123e5b225fe3abb2974320202904c36b5aa22d57c3304be9ee85708d80110401081d5169a169a9d202559e85a87904df4d594dce549fae0535b63df2b2290f74dd93b9cdc23a9df331fbd373f98b43923d6c4a9cfa8c8269d793af3fca99c9d160411bddf134cf572e8228eb824a1ca7322d1ad939a2122c1c18d4f010787fb9306b4d59c48cd0aedd8610b6ac36a7299f0c58a9f6101038aa8aeae527604a8a9c3598f5b5216443050037adba1229af57718b48bed3648be8c64ca5ab7d14f9e59214c74323a9e8100681fb081838840407797778955f4f39559cc2ef543341492dfdb33f3dca9afdcc4eeb1ee8eddc8f9dd43db06d16e8abfb8b60165f1ee472642b6f1d1a1375d5c6fef773b2ea85a9015f1e914b7f774386362a846eb24fa3e3ab047a0a84015481217db8ccb1ac37242461c52b337aad42787c1364bd6c88ff969b3fbd3993148d714a8950e2f01d650ec807b23af0674a4ef3862f11bc3eecb62b4fd41b07735d9a6871744343be9149000114b1a8e96f8768278b3cce2ab75decd4bf8ba47e8d8d17e472aa91699e5ae23a70461e387b81d249c9709664ec96f40dc1cfa810f0f95b39b0f140fa6e4399fe3e1c041bb0882e6c3127f615dd96be23ec5cdd091250d0fcd79e97b81db241ddfdffa8a802d4a04815af0d0d1d14498bbd00775b1de22441bc6dc78962074d1c54446bf7e787cfa89025fd5bc1778c3ca7634fb14873a891ecbb64497ce2905c487e30b8cf337116a29e96e3c47352f6de1d3380734f43304abb923ce37f5061d1cdaea8a933c49dd051532358ec4944a916ea88d63e3176b3ec5ff7112ba5e199477843ac16640f79b91df5481b7e11269b6b4243fa6ef6c3b91a2a74185fd87b9069c8a597f713125e53749e879bc487a34e5d6c5ac715e02e78febc9542cf1bcb284a9080a18a16a23547eb893192aaad275edb68de9065d91f0befec06da5e2a2b6702cde8d89d5ef3b55980b2312fb74c0011a4018700aa5dab8b2624c62efc275f40b44c7d0f91ef1333f5228fa16f778d075bda5178a6b2347928582b6763bfe4d1029d2f847697cd62a08c911739d036cc67dd90a7eaba32590f763cd21938d5c909929911aa9222f5b01bed375a2dff671431d36e8f7bb7e78c2ccbb0f032be35cc79da63f9b451c61c89c00c20930b474dac04dc54b5a37373388754d84dad4f7750d340026b887df2ca68b4d4732f1e6c1eafb916f21c0f169db4c98d1fdceaf170acba136e5cb724c2503dc3ef54143d8cdd2063a9cbbeee047d8b44d30a12677bb6524cc9ef775816db9eb46886a0f8ae10552be2efcc1e42efbd1778f03cf8eeb779ffd1ef460a10b632d02ff62c2323a6259232315b2eb0831880e88943300b338af11d3065c5c4c6ab4bf22c778a50f048171a2d933c0e3a7d5f4740ffe4f153d870bab51dbe8d62dce099fa19f41f2a0394ad2471a1858d476f826ac7c52bb985b2c9fc999dcb3d670db9ccadb7e1814870262506322c96f9bb18206440be2c550fb746e5c035e7d0bad5ec4beab54ea20b16adf280b7502aafd96adcf0340125fa906bdcad37fbb6fc977a02acf447e641820b1b7d5b291d0121fd432c3477a01b074b955eb15af43e5f0375ae4003d13804100371941cfb1196815ccdb24faabf9c0563a594d6ac0e3e61860e3e1c8e5c0e19943c720e3e2a79c616adbd7148e9e31f542b0e0a01e512bd5af046fd2d1b8f270dee8b30ef84be3bf435caa631edbccba3a72c96ecc2c6eb3d08aaaed5dd0cad56e1de58a041f84bbcd1e6fe0bcb5f337f2ecf38797a0f036ae073ea4e6a089f7e830dc99d1c6e451f35bf5d4e94c25b04b2eca2e425278149aae59623910f8218ee51af2941d027be52541a4731f8cf2e530807008d79e21e577095e07241bcfc16a6e1d8c54ba5ad564fd8ce73c7fe1ac57f069acc2d5a605f7a167a3d43589f9be79d7fc3cb3a12546de669895f17aa66cc808348f7e3f13eaf2c27240f271d8b55fd419781a585ea38e4f2b343b9782ae429922198f88a042ab7240bebbe510d919a1d537cebb258b53caaaade279be565e034521e56d7a0b30208a6aa450c0f5e8974f91f4ca40ad9fe8cb794f5abbe43e4ad662083d613242280c1017572483c3909cd617485e4cfc845060cb78d8481ba1815a468b2a1fe798574ec02a16d772d96e22fee58cf5fe088a6119302630e9f6e5ab7da582670b065ad0253ec27c405ca9d5468b0a434fa5d14f244e041340e7576dbf6c891b7ae7aab11938e8b5444a7a394109ccbd865749cbe71fb40b219e9b47550ffbd8b9d7204e1390d40be7ce53918bc188c8d6990eeb0cf48a2d808668c5bd605a2bbb6eff9135faa6610dcb3caf3254f0b3afa57a3bcfe317c56d3cb83941b7af96608492284182e1bdc3ad9179ba161d5ce01d5a104bd867562bbc072f97d32d1ee18c44843136c86e7625d01f0bbae541708217670d41ff3262c39b4c58bf26204611cdae7a44671866a2b9c4c5df1d640429491061c5188a5233337f1cf403cd59299fccad40a89fbec5138aed444ecd8542f1ac44d9f781262d64eddcaea229c361583594d83bccd0f042367b7fff81686e25ce52a33d819d22517040fe7415c5d2801e764932809b0c8889178edf4772d85d06b8833a3071a9322d9243e84ff7856aab34e422ade8ebc233062a91b0d5964768f38bfaa8c994277c379bfdaffa555c98770ae3309ada4224d8906b816e406cb2b1f62e2268f15b3f3a35523c8d6c4e8d6def896be643de2fd69035206337a4bc24cddc7b560fba75eb0794447165e887fe5ad4c888f9fd54033e634cb6e17fcffd0ee52d61edd87b04de40348c24015c9fab54f4e8b432aa07602f4303d44407839d6d8b22bb2795d1744da0d44754f6afac277fe9b6e720303bf0ccc0d1b167ced6cc6bc947ed233961dc9664768f47ed2093118ba536d40e6363eb4c5603372961ec3d6a44e56c7c7c7e7cba51ee779ba9b6d453108539e35447a30b877ef1520005af69401fd25174aa347ebe5404fb014c6b6cd26800a758ed820a3b0e8be6a55fa773bb91baf31d1b6637111cdbe8956ba4ac2dc1eaca170a4a1a84af85eabc50154d893e8737256e981bc0abaddd0b738a2053d4d3f4cc9b6bf9167c0bca69b0b279008de2a30135beaf674ccf76ed774bf353cc138dd7288bf8eccc9f56a2b14dd3b174896ad52395e41dc01cd9f93226949661e0a0b541d19196643680719749e6da7a687f1b672d9e548d11fd333c1bca87e7218fc944e68ded81f380235f2c70b1d4c261292750a78bcbaaf10b2c3d5f51f05653067df1be66d23aad5dc0ac3ca4b210da4904107ce8f515283f8225ea02ff3d3fbfce6fdd89573b6eb6a697d5960da40435bb1e9c2662855d64f2b7d69f3ebf6efd6a7c3b3d12df884d70ae69364b4225e69012015bbb0386990f083e1f40537a483ab7298e28733bd876317773f8295115e7d8dba6e920b8c9f985591cab34c86c3f45338f8dd114692e9360aa1cbea01ae1ef7d232ba14697d77f9715cda805b30621fe26f3cb5f364f98ed316975285658424713e8a4c410923594fcc1f74d70ed7f87cb11e7d87344a3b2955baf6329267a0b1d75d22fbe32126b70a178946e712cd126a2ce69b27544ff8569a30c6eca34b26068e13618829c383c1dde3d4e79e1c41138c6b9b4f455ef4910a5ba432378c8e5ec1e7abedc7ca8c7b0d07fad062b54de97c178b2300f743ddfb2fa71dd1b6cdf445d45e210dac5b8ac1bb3e973d9871691ddcf9108eb0c6918dad6beed8591ea143ebb3b4b44900df1e050d43af126c353df01b75f9a92b54bdd9527383812ae8a0000517bdfcdb9e0e4387d7134052ed5c785a1637c5a90aedd1b0566b93755450b1a2f9e8320c5fa9483bc1e68dc76e9458836907031ef6e9722a9f31a54bf1a3289aed44c4254770e34a65afdc85716e565af5c0e40081416636ae82692d4aa1ee4a40d6f8d82bbe55620f9cb3732643e9bb836849ab05cb16b8d3231e8a765ae6d52dee381840c0b54f492e8a2763dba92b1f74e6d82a003e90d9091820ff73d8cd002aa7350bb6bc85590dc91bb2c08e1e20a3fe0af5b98bdf0cd813195910c406d43e31c71f454e64cc0af51d4d884862a2a133638ea6da7dda9ef57203f7e0d668913c1d0f4bd6a1bbb39569d1e3d8f6363d8365c3044bfa27d1ceb545d0a01252ff337fca73ad2192dc1dbfacb42d843e92faa230fe3e64c73d44a13e2be838f1cb8253ebe523437adff5a766dfb162a3359641602a7b489cc6269adf44769408d10743e644702dbe2b659af527a5edd6a36fc974d7d518ee1f932bb944ceb380f1319818c0423c49a3d9690d927ab4a6804d7a462f70dbc2f694ab4f67117729126816c5645764902114ff7de5ed5b96f79b07c671ad70362b2789f8d5d29b8652573d8949e99b1ae591df01efc22d37660d06dd724ac8050af113fabce422392ebf7e0b55d409ad85ae08aa1bb2c5d99ae3e112d903868407da07c59c74e7ac8b70b0bf6d535545e0de0b75ffb785d731242da5d63348365a851eba6c75f026ae968468bb3dd3165afaa84f7471bae73716e71b78d3ff29b3c0a35fb250a312725352d9234549ace80ecd0fc47f58b7f3fe3db3a22e678324effc61ebbe7e97a0d5db1e4b4f9082662b2da68528108fd38f9e54400c5b9bf2e45d294f67e7f60e06d433eb4c31bcbe3118c2f12e63a9b718d7ac9fdcc633b94293677e48ca33923bfb348e810cad086c9ef3926bdb9552c8daa375cd4535d178a91aee2411c0ff84ad75114e168e19b4ba326e74fdba37feca228dd0b087e168986a07fb67d62f71cbab8742724647089f1beaaa5777ed3025a77b153b59c27fabae945b39891659e76bf8e2ac6ebbe6af5194ef2a2f41da6e2c9308e8e37b0e5b85b718938da16b2a1241a45ebc60d9d52a656c9e054a2c0a6f2b4d419182ad8fed0e59d27c34f024b79825b4d878a686e850ef4db85c30bdb9f6d402100240f7e58d5816fd8c728d19cc5e8311f025a58ae42547e08f132a307a3c4d83cc6af9d1317a03ff757586cdd70a424c36ebf097525839d6e409e5f311e3269a5b2769475bfe7d26091f7d5f7c2e382de8b7d3651f3e115cc9f93490957d0aaa309d49dc9cbfe7077b23811cc65ca1e7b1d5c36556c4bd77e708ed37503cf755f0f518c688fbb2435bef31d2e8c461954c866132008ebb2f36cc37e8528d85a8b20336b9d8c54320537d14c7d992bac4e41142b69027bb98416c6a98c8295412f31b9898b27c162e74d8cfa856b2dcae8f721772795e9c89a992f4923b5f492bb4370638fc28ce593b3afa7ceecfe18725b524db82e09b22efe5a7a1a579a6cef441ed13ae33e6bf3caddf3b2e8cec2b0785c05548de36ac57c528f6d348798008a95d25b0df4af7f839a41e181c9368ec15a46c9fcaa16fc050d7d8ca4d0c3bfda52c5661f9d81a6c3e7d124ac954f72e7a5795837f016d63b781ac86f2a4b6c819e4608a64fd4557f4cf5f94ea2189adb99f09fa402406701f8857c93ce2063254a98db1002312bcfc393a4c00a58f27b53ee8911dbca5032f233b59c5c6c48707a5b1c224795c286d4122d3b2411400d952b6e52a32421ccaed7e5b3d4077e36ddafcd967d7896cc6d086add5501318733ef50caec33f37510d614b3e01a966d244fa6c403dc2a6905cd0172b47205acad9da69bc449ab18536f2aa83d174d64e4aa12e7c263090412305ce71f3ab64a2999fc1bb2a8232f48af719545c785c2e6946e6494d58faba1a8d40bbf3618fea8f662a9dab6fceea127eb7985df238f73b2370f09ecc6de39eefee2ecad6daa3ef649b46f44966540b2955948fa3e8efb920b7715d67be987b62297dae378939f2f25c68e234fe18d4b0a17da61bbabe496799ee8787e06d44331f194254cfb4395cde4ebdf500eea51b77622e5fccc668214b669a7f5c7c48776dc90cec7806b3da10039710b47af6d65ae2d5a4e7dbea043a413c81b82bd1459e00968251550d0e77980c19726613a21e1084877cc90d54c50094da72ce5f003f6c7046ebf20ad30e16ac99d6c5e487aa8a4937684b6188cb3348ed1f48689be7c82670e94d5c1e7240b26f2ee3e9ac8b103fbde3ef324e47d66dc7789a9e77ad1ba611931b0be79acd3f17216c10d8788b3c3a92556405a565f7ee9ede25bd477a9b802f04e118d840f293538ec52404a82d7112b8d8816f0a88719ef74b9b12519db92cf2169c1c405c46a5772659dfada87d1ef0b43f5dcf756f114f9cdd7fbc860c791a978a603e4a8c0326f8e99c08d2209f3368e8e96729c9e754907249903ae0f35d60e269e3af40dc0c51d90362f2e68a9985bfaba80ea9add9322cc2f57e3641f9b44a9e5713eb6cc916a049a1cf42706f17b79177775ddce2d74582c84dd18be47655a341aa4e9ba30c25e75d3a37e45c1e6215252ab13466792d62fd128757ddf876b2fa593e78ea39dcb1c68dd53e73ce5e6d9e359250bc0f281c9ee609dd65060f7c284cd5e4044c0bab7a2be9d5a9a8937552c05940f15594c5bf41f2b40dda71a37a9ccabe9511e191d4f458d3a3931666558528fce4cdb6fb073d4618e930520a38674c1f4f8067152564e330ed54e2a2ce74ae28a5e51946565503de74f0420832bd0a81bc90df07cbd633aaeede4ef91db6496aadec73ac084836c3a6c1ada06ed79d001b2b9a26d2e621aaf74322cde1aa7ecb0b8efc56047bc30b74687477396aa8518c61b8d6962da1f38fa9320fc060862476b513afa72983bb839d9f86e920ec656801c0dbf57eb7651509321834eed55c4566ec69ba8933c7c140c7d8506509262f085c5c58cf7a25024e5c78fae21ba0129438b1f8c1a9161f4137eb908d0d6236bc527555b047502808490a78d726d0aeb368395587f90932f1b9cb8cacae74e14c14fcfcbe4852eb7b65c799f93e7cabafada88572193056175a8d43d88b1026b19b435120a2f90129bd780f268c2aa293c8b4592f1e47fb4f6ca5927a35473a558e062ec26c6eef8919a4034cf52fbe7d24afd016cd4079d2dd1bdf43a27bc3f185fd80b1a3a68cbc5b2fdcacc66ffd0c94c073661b157e0addd351575f4d53f51ef8623d0951ae5910b92ca5a7b50e6ad3bca8466f8390439ff89783fa1b970908cbe79e400e548d61aec783e0ced24c22f967cf9950bfdd25e1c3ac3130638f584e5120e33cf3146204b3b2627afd027f85baa28bd82400f1700f2ede44fd4901f407953c42f6de78927f21cb73da31339a0f9ead16d6a51521fb6be271498c0df19000cb1f62b41c9d6d0a2aedc3ef67fe8f7edafde7026bce41162425aa3f233868f599a166d734a5ecf947b38ff400d2e964f23b2f1a94cad60825dbac769fa9156a066d893fa1fbb8f8395474babf930ec6c3fc4b649375952f03a395e6a033ee5795bea33ead11cdb5d8503fc8e102731a831e63c0c940b58b60018e90e81011a888f0b5bc30d26b0b43c151e3eae706e741c82bfcab8218aae886abb2b84fcb1b85747d89e4b51c794a2969151c70db3e23133feac0ff7ebe79a19db3cc1bc5464ea189b09d7277a0b11fa82f17534e7df3146ddc1f4a1f84e3e178e9bc51374bf7f39568299aeec07df1cfd42778ff517bdb8453e84aec06ad82132edc9c560f48092281bd82386e88ef5546097c07edc4d27108e2f6ff07bdf961d61fb550b0d859d8543816778e7d0960599545f3a8cdd31d6fc6e0dd2f6c4b2b7e2708e77e542cbb6463efbf9c4901c41c2f6814fbc786b41c5566241e72015e9d7967ff7864cc7b0b18a0a7b4eea4edd818ca149b38f77d22b5c0bb95e259bf8d62992a9a3a54dfeb01a36e38edb1cbc5dc74453697678420b4222b0df6f9048907e434fe13dbc0b014a3ef3e3cc37e507d161dea9974ad0b6611147201ab5fffaae5f1a1e2e3fdbf606d23277ea855697e00d171b524b2d8af8ce8639c4cb0d19c2dbc1906ae03835ad58a69b6a35c811050e08d68fef28f027c4994dd7347a6671115c3d7839cb374aa9325afc88d4dab70c6292cb6aecb60f9f927307bab8fd2d825c7060f7d964ede4037c3846f9e3df4b83e159be7fdf43d2361fc67663e398e928582372a024a46b441cadeb3c68c31d63987450f4a365a1dcf0755c725ccff0620651d5ce60b4c06ad03d34872efb14f604b3802945a291159b93355c73fcd0909ee2d6405d1d6e3c0a0d31932dbb8dad9c11e9b89afa7ac974b61557ecf99769edf897ae7d2fb9213ae8edc1d14e6f564236aceb8ccf7c2654fe4cb3bfc84a9827a54f14263e88a1bd3a1f9c20eb9ebaefcd3d86133df8550b14971d456a4703a98096d312479b744bccf1fee198cd2518eb0a89c56eaac85541c33e1ea90625cf50cc69b11e6ce04a02aab9c5350ef3c6b68d2dd56d70cf1614154c001901c4f900f36b5fbf3fe104d16b0de6bae6ec9b512d646e90122e8a3dba4127cecda4a1a3c985a4e7c3e209827a4b301c9e48bbe67e34a0e45a680d1d22899c8ba0cecdbd8f2d7926c1b239523e2cbf423feec48079eacd9d05098f6a6b0c92995c56938b390fcd982d19a638fcd3e5ff25788356eaecd668bb64cb19ee3d13b7067cbf820582a2dcfc74aa1a395acd03e3942983b512320fbbc554445f7149357f1c21d97b7534d73195fdd395bf7a7b11db529af0aab03a70fb0094c312c9a85196f3c113320335289fb8804888d17cff726b3860a1161ce7f9b4758167280192fe2ace88f64cfd80028f80b370e9db4f305874876d0d99337085ba86b294da1afcc912cba8157e03202211b130b7f92499348e7a313740ea8821c78a04ea33a3d89c1b03bacd7da5adc7d8230ec358411cae0bd300a1d204053a1cc893243a8851756837c64350c3cd4f835f35bd85669f93e14481979857c2cd7b08be7c2e6e9a1500a4a2182b0b8bddfc0e5aa80e58e903177609f5053a6000fcacfaa2e162451e0b52ebbc2c899b663be855528d8b248e92d55c2bf05f539ec753928bae5e12971f5a1eb76930f18630fc0ae70751fea6c4050fc81cacb18f95a0a5342589a71fdec1a6610dce32469115f55b08ed1dd1a97860c928d318a8ad2166d0015c1d1def2ec3b13d4664946e2684eb18f03aa7ede46ddbda9419207d40c6892d5f82a332d3e70cef6763744a1f55c556828e85658074bb9db2c6d6e807c173f75d8d74ef6237287c22f0e4a07ab08b64c9b2901ef71693d7d46cb2b8106f6fbf006c9468218a6c86cec87c6b2932a0575d796776267ee2680e36fc3dc08cf48bfac122f3b7c846774846a25e9746ee222274458b15c14e7236cda8513bdf0c30ebe568befcf4c832a399034f223860518bdd3697823c0ce5d9a4b22ad6d4126eda8360eb526c3a079a1f5113b925cc80cdec1bfde3ea2e719e0ec786e165b832b790185979a8fec08c5c25dcf299e0d74c1bf93eaec4a0b58e0f7bf08c5e6da462d95bf2c1b7633970d4c9f5fcddc0a65132673ad907f38104b3cdb5b842aebeab769cdf697843092f3be3201aa32aa0c01125a71d785597b53a1824c47ce4c7521d85bf8d92f05ec322ad425adc9eaedadfd4f0e88fbefdef6e71660323f3c9d2e62cdd2add920df106032612040fac85c85ef50736cb493460925cd90ba3069a73c51991a2c02a869d0c530669dacc2823d7c93cdd0c89aa6254f741e377f04a5b96589d13e34b5bf80b3fc0b93c3b8c645ed1da3460c38ac06608bb683a0b91e9ee967c0f1fba0fa88363c4db87a2b1dfaf3d338fa1df643a8193d973d05a0f4c142dd980e58fe231ace4b2b89efbe333969b0453c1efa3fd5ed734b8ce7f5a75b4e839546041c1f697e92008973bda4e6d59cb59a1e902a64f7ebe5150d5dd63adc080e0ba0719c7abf5c923a87fa9c91cb231819754199012a01b514bd81c4c6312842453331d0b349eb8abdd2edc817744cd2f80e7088f4c51769dd0e60d23a51b88288975acf23d30601c400ffd1063cee9d957f1190b8fe8ec796ba9e46e61307e41b486550a4f5aca5b22a6d9b54b4bee3677a8168cc46b6cc7c164f0f896a166c2b433aae4d6ec6fbfab1ee1854a3060d3d95799c08ef26f7f4022b178176e34b292af8425a7686770c39832de4f14a967063332b0b1784dbc5ebe5f52078b21ff3cd99cd8a627c26289481800de7508ade36507f20a6c35848244c0018bd40bac52700d9853656ea98053f86b78c9c90fe2c9f7f2510ea18127192fa570d0c17535f9b5b4246fb71f45267adb7a1f09b4befce2cf391e45719794682b6b7960153641c2289b0f659fa5fe8a8f43ada97e468368dcf3bcfa953b1fd2b790397ffa23f3979d63565abbfd1fd34bb3ad38ce07e93a5859daf06cb80abc2da81f818e8c6bdd2bebd236aa3d02435848faa69aa2604176df783f5eb0150fbb357104e4b9b4aab57c901207ebbefc6d97fc401ef0c347fc0e3a7b754feba5f6e900eb6deebc3aac0c2394d3791c7f4663cf13077dabac5abf1b955195f25ddb95d09e57e44cb2a9423b1de662099c0147afa4ebd0813fa714a48f2c4b0718a850f047e679974ac59ac1d0d7ccca5baade4a47400584e97f7212eea51233be57b7a8cbc1cddcce5dd0d9517f84add994ecf6f3c6603d2f9c20f5cf569c1f832bcad32d31544b05e5323e2377fce88109ceabc3d5416f8968d27758701b9ad9bb310a416dfeeb8fefd469f2814cfd7857449919d282249b895c4d24a5806166f43737ed1dd85e32f7cddb718e4bdd25ed148240a1a545af4fbf9e58dd5821365dcae683c91e87723b04869f6bd95b259ac31156c99de4818378b183be4d64e73af2534a8fae6a44739426814f5bfa17390a44ca738bde60306b8f94d89cf6d5a61fea30621d7523a64c37df7d3a638f430be67083ea6a6c938a46e4a74673decd113f4500c5927cf6cfeacb3d30b2acf18e1c5e11303446a85af0c5be806b624219a9627f224175001a3895a597f9f58d254a773a46235299c0774e0cbd1b6b575478880905c466b5a3faf9bf4d911b2afb8cad3b9c5f8a37db2e98fcb6d9def1fe96b8830140ba30757afb77c0ec38abd45f4597851dce1041d17ec9d7da61ff3ce97d91d079af525dae6cde89227c3e4dca4dd32de66975f3b1cc66755782e39c53356c8a9008cd8c77ed49132a9d5f7800be454c3f33aa62845169b8db1dae932a9111f5e2465a67ba2e582d15d761246a6cc4bbfe68ab8885bb44ee339123d14f24d2cf5c6fc8bbd1f61dd2c50318a76d33fed373529582aaa665ac5f9f10537429386dc0b54bcc9b6979764e66570dbcd3fd2f613de6356815a8d90c0653bb30bd86d41dc85acd78694634f1a686cca4aeee106fc249395d7c9ed1dc4daf59487917adb91e244c824be1a2dbf691a0a07103adfcfd03ad36dbc54f02dc89a2fb05adb149ad2d9deee716d5ca2372b50ae84a9c33789d71cbf50dd300185d0fced794755a90f0d00dddfc49a0b3ddc953c5c0895a02aa93274b6a72b3b22cabc5419a1606beb1ff9ce7a6055da6cb6951bd8dad9c8d5aa5485acb0231cda9ea79544277c7f340a43f00009e3a454d1620aa9059fdd10b043a1b47e3647825137441589197fd5ae49171e78022d1164efffcade7fa47b1727d7f443c361591d308cfd2ef5168e56790ec3b76c4cd43ac8c0319314d72c6b98c6f119dd73ec7e39a7208af4c725b2102f9ae4b6735d7d197977fd5ebc7063dfb89f1ea7dfd41929794536d11c5a34215f1f7682bea291084fd6482f490284248d67108cac564dd111a6b98fdc6c121c0117467a0a76bea3134a2d2c58e1254f75ccc707e031db3db8d39673c85d63783ad04a0f7cfaa129884ad35c1c5d98e39d7f6d6c95960c6a89450a252cd47627382704d1f10e741a8d143c8c4f2c4f722e389e7674e3809983ab61b6b146be3168b7be2d0e370323fc4918acd97a886fc34809f4194674ffd62320dbc49dc765f9a85a676086b21208a65fd9181e1cd31861a1f250893bb23e306895ce6ae00df212a741c6aabe11c527e63656899ccc0dfec62561092d2c854d2be90343af2652e585a261346d46d3681eb19377c8665ea670e7664cdeda5a3a08783459c532767a6e40ebb5308d35f6cbeb5351c38be79fe6d4db7651a50f146e3f581378214e19c560b2c7812f47990e4a35fbec183eb05fd6e7dd035778f6d87a03b486d3b69dc28ab11432826ab0c0dcdb205776eb2c334cf67e40ba0b0ed25683fd6f771134a0b08f8251a6e00b410e58a948f1037cc0accee3ff663845da1839d0f0b3f97879ea111780177ebadf2f70695777787365163b4307b0dbc4779879d9c9468d90dadc50a5f4b4d0785f4b1ab879bc79fc01730db29b4d5da620fa01e5e0e2c70be9fb4f5903bb5a588d6a862ff12ca0a49b1ef7b4000bb85cbc28ddfd84510ba9d7dd16f00cc2f35ca73b704b15f76b1e80d6a61fc903d8d19e960b0e42538754859eaa419feab8268b16e15221c6c9a9c4d0f278d03a7d745fbc4fcc637cbd7ab3b6008fd28f2051dec9154d4eb4eca0d071bb29863da485cc4d11b1e1a9599c653052d1a814707ad070d9c4195321a55c5053cae3555b00735301dc2a3fa87a524c25cec114d37dbc749bc7914d74d55c273ddca5decacfafefa7dadb9f2f61fe6c740e95b1e803dd93bff0e00017c32aa2352cf27c8381563a82a8c24581649b54a8250d36d6c4eee562e2bffeed0c374805685f1203805fe746be28da37465215d9d665d97c5665797a63c64f68916ea0eeb237e93ff81c64ba2da455d977c0275ee12118610c335d776c373ab22886de30e3ee7d50dd388f121c32a8b3a4caeaab0a8ed659ff80b5957187798ab65477ec2c95d4084b13e60cca427f58a2ffed56058a3fe72eb17042b51ae69e7c12f1028b697eb2e42cad5c75fcdfd14c29b68bd77a67ecedb5bf1e38b177bf878692f0d4a3a28eb3e3b488a5ef7da6c3a1dbd76b9023f9e4d4b457eaaabc8c2831af3e0e8a7bf2016e80f76a6534c4932998527d8bd79b0d8c54c4b33609178ca1379d0e312d81ffb11ef47c053fb63b041c00b9df2ce514d0d9c21fb83ec1a38ac288b7b37667498fe612a68a5bb9d6a3ae72c5127cc36da4b1986a12ca78ffe320c84348a724bf3cae99b2a9e483ad2f6e1a863abcc2246a53028ec8a09f59527dac94fee5fd1c3453d3a60beef857f60e87125b008e01aa92671caed1445b362524d1b5e7895bace897529cee1b639c2209c0283c1875025b216d96279145be15465e7c0e1b8cfef38739d20414d426799ff26e819007fb642370f1280b02737049823807657988c58a4a4ca277bcc31460c8bbefa29f6f411e5e793bb97179f8d21bedb5a163e013a8dfb63e1ae6d6d4700200c17e4c04ca199999d998f99b1fad55dbd2266a42ff98da7b9026cb50e13cd66f596101f9d5ac506b288bd417b7a1de1834a77362d218b0dc69cee7d0740b648ed13b79fb255f6719840b567a857ef52cc0888476f50c5ed1ee92896744e871347232e54f1c8a0a3cf0ca791c58ecfd95a24d1b8f815d6b47948d25947b53966b76e5fa1eb1fa4e957a5568d2cbbea62f57a5f4fca81319ff90d5b6bed075f3166e099dac5f67f3039201279fc62da915392bed0342f7bbb37e9c7a3915ef2823d172aaa33f0a36e797020f4d264f537062c219f8f9f51fa9e4077484aef89eefcb00a0051e50895c97ebd3edbbe0c9be134dbae5dfa3c9af53529e02bcab5583e2ea946fec9ec484542f3553283c32f4e8c362f540e6989ed4c4acbbd008bbce9e980c48b39c983d2cced7ec050ea18331e5054f41bfdf721d5950a1e61cbdc3ebe96766cef08433c738f53b452f77559398356fb95400b0c2bf7c308f78cef3fc4edaa9bd7c7630ee612615959534e0c27c20df000283ea7f29699c649db07641e467200935bd2c35fe0a2ded62ea894ad73a42138b61d99e1df21d62ffc7a075c57f7808a160f2c942ec442d29002ab18fddab6b6c0213fc571e98bbf9ee107ee80a44ceca930a0cd0b7e6712c80937797a56d213c3c6a959ce65eeaa65f6df3964feb633d80ba19177489ae00ecba2225ecf3e756ddffa630b2f60fb050796778aca6fda8e86cdf71860273acf5bf6f4207d59ec7d4cdc0ce2f99c6a259024500a533f771333d518cf99a2fdca677ad27b916c31d3ba8fedd2d6b242dbe4ce2e4580c8e7fad3f3eba92c2ca01422abce8dfe89e30e5fdf6acf9d01a159f28ab195272f65f6ab6b33f7f141b3f393d7223e929b90a218133285240ae9b83f299e5370431929c50d80b75725f94545d42138c9a679998349cf6c06ea2876aaaca6a6203204e4a16da553de7f45ae34cf6267003d6fc2f1581721c25ec83a7e97ee3ea19a0e387ad01292d47a4b396fb9a29b627e109129c16d9271c19326c2dd980e58d8676e3bf4852546e8aa50fc6b23a0bf39f110ecae176172893ba447c0f31364b427e2dcb8a6e739d92fc9bc582770330670a5669b629159a8a680b3117821ad49e8c66acf4f4805f8ac9d8ad61fb22aaa3a08383c18d811bd8ddb07e327dfea154c6b7aa1b21d0560ba819faa26f719a9d1cfac5efe47a1ba20ade4c279f18678ee58b751ad6b2ce98833741282e560fb421ad04f57e4682e330dc729d403467ac2ef5f7d6ee60dc7d982c7d8b77b9242d581aec1f8b7ea867df07f1c690da0e01da7ac3c94294c53c647a283f472ae8165e8701e7c71776678012add97d2801a758a70b444c95231c02f72918df04b864732757a4787edfda1292128828065586a1e16fa2238f6f7b8c6ecf016d78da2e4467ae2a685f50ac29ee7ac2b1c8dca5d91e260d5aee0b9e33fdb55f757b5fb023151ace821a5e26b4b760646bca80752715d50cdba6a8b92dfa56258f983cfaf6bd78771087d13d42e0910a63ca7c4808fc03573fa529992e9461ef5f5912e636f5c22b35d617cac14333723a5caf763327e0f3b49e9d1ad303c4dec2139577bb755076451878a0dc5a82f37ed898ef9b52cb5250692ff596d318c02502615fa9064ac1b68ac581b8c3e21abc7e966a7fb808465ee0e2b52d79003377cbf05cb920bb42ddfc02ad6347a8100055e0f54219181c0d4d26e2b3683d9d7a8715809f9db12d3c464734bcf4150e62d3e464eec69dba824bf531d8adaf0c0651885afb8b01454abed8733cfda4a10486e68460c472c1e816071185e16abbfadc934e0c918a4876bb8a9213a6512ec54fa3103b9813f1b64adcce51c5dd033c9fcc96b20e4682b4a0c401a0edc918b0c6575829ceeee8e2a174b2aa9a2dc05328540cb62da339fbf556d730ed59747f025564d087f4eefd41826acae016b4890db95814bbd6d672e0efda6581fe2223352f0cd171497ced83d095391a45a538fd4f37b5b6d2ffdc57f97add14ae41a31f7b6ab47ad38ae4eab0b87e966864254c3331d7cefa428297be2cce2433892118e997e46ec92fef4b4e32d79bd324b678777b5c8f3e92fee2f9e4e8d160707ec9d7c101120d135c7aad8051deceb7756f0dd522550ad5a0797958075284196f3957ea44df1c933a9f0981e19c128393e306fea97bb3c2cd646321223536d326886fcc5eb543148215c738629aea2d59abf8bbcd81d71296366be43cc1483744cebf0d49ae3fdc50c36d3af6166708830bb2686e1a6275516b5e894514a70e24cb6a4d08a2174f14c6486165bd6779c554e37b8de64c5944954ff28835869f72e0639486083d9ef81e7987ecd9d3ebf98978eb2b342282f01f384f5fce918b4217bbc28e2d16535f657b4ca5845fcddb75baefc16ae1d3f76155e23c814497543960dd656597f7d03f7ac5b103a12d2ae1a082e5551bfa2e8c0bde34886ca837ece3cb7d37feea8655a2797265db30757ca66f0cb69b9cabfbbea2c8acd40b41d649a775187cf9ec5c6e2083b20567ce39d929e42b736019da608cdd70805ac3835de2a277cba06072b4325ad0efa1b72faed2dc7d152427e528347fadc42f2ae1c0d4834ce382a9cfb7920bc4595bbde6b82e44b7e0d2ab8b6cc7119926842e1cda313455bfab96cdd0cbcb6033228ab861153b61088b6d37507b48eaa96b4aa2773c7aa72542470daabc85e9f19b2d6ffb40a99af16fc1287eaf71a02d0eebc0c65d0ec2207cc1e4252578ed730bc83fb0224aa4b2e32ef9b119cdc52fe192a8dc7fe8484eb14f078ce2840800e31adcf7ebde5c4a6b2ae4bf41f89442409f2cc1a6c7853d7a8bd72d4d602f0daa3af39c7696ff54eccd588a066f3a9a412a5777b7b26cd863ba1a34280ca599369ed56377f0a26946e5a482f1eac0da401b124ff98663ab4a97d0efce763a1b80f5e5a148d52b4094aeb77031bc24fdcfcf68c1f5bd14ef1c9cdafe8dc0bb25e42dcb492b92eb1be29d3655dd1dfd78fba7faac9703ccaed51a9ac3b5052c94658bcc1747799d0eea730be609aa81f9869e17450997866a7f59bd65009c195e7e79a5e2f368a51877928dd5b2d105ce13a899feca2c85c751f73b4bc6ae932c0f7fd6bb39dc8540bd038b3b4309bd58bc6ff44db31d3baa9c626be83c8f58c6a71cb523517ad8466a62534b53deef5b73f35a8ee9a363ce516873eee15d0bcd03cb95672979aeba9417efa3aaf72112c37bedf8dc93b9c3c9b44d3389ac92115c151aa95b68de872d0ab3c41db84fd20da51080ba504abd0067a82a222d3764ce0ef3226b906dfaa1af8b1b9964a86941b8412b2d939b22109a9afa3c6f60ba93c8aa7c144ec60c973963a42ad8545b344674cf831cf5c797e2ee604feecb4a739dbebf4a2d143c950091e786cb3396afbb366fcc0527b21c5579f7e12f539a6c3e435280f45618f34b8a606df2e397295bfe2d300651b0ed9f48b1241f379330f9876ab3b83c7434ee19acdbf17a8405a2b6990e2a8810cc9ed03e8d5b544f83c81a1354ab8c4bfedf18c9a40cb615d20bb5dca146cc618d731edc2c0cbc8b530877963f4a1044e422d6bd4d98f7826aa34464bee9ace69a7258bdd96d87e1ace535641fa9823a93e73726b2a19d94ec2f96289b7c73d0a6f182acf50fba8cafe5a81d2c4b5d7851b16dd94f8d4fb496c82f9b8d8011226d1a185717341d1c9252d2fa7d15c7328727e4f233d6e0d3c0a89f31bc5087759e7097c064fd910555ac42b73c3af84dae25885b5de68ad4e2dd89125d1105f334c74b106bcabef1be8b44852c5aab1ea63d4fa37f44d755184591e7532981c4c759dd1c79d58ea84c6b2c406507baf6fb36c9e0daa126e6fa1c39f2ecc6e473704ebf72828830c07a7afa3ecda439d8b30b7bb9aacd8d7d2deb08d8e23b2074f9c336e4df021163052ac4a53ba86cf94a00a4f40095cc0e76bd30fccfb7e8c6ef72cad036d11446bdff3471391443f1b67eedbaf68e81def9f3b754741611470c021955fa59c1cee5d61afcaa53d265d5d5f1276ea1e894d060920d9e38904310bf6f9335c21ba1f294bcf141d3957a2238da4cfbab995e8108af4046f52542ac298303683fa558b5ac3a005fd9e6cc094956767bcfb2c1a99ee48bb0ff859920f3bb1b6ebfabe3bf8287d6d9175462e850dc849b68b6c7db56f8c92564b7417038476f110d74d7050b5544a7ccfe9518012231f18916f660531b3d7c6452ae3a77d8a8a8c21aedb20be55d74d05b55576c00192cce6ae160fd027f302efab58f6e667a7bb0467b980ba24015ec797365688d30d7c002a09bf3772a0d3e0b629d812a7f414f1d9e040159a40e68f3590dcddf92ac8c327e6974e3e7be19fa801876b5689aa6eb7c382e24f67e43bb8ee16df6b395bcd814edb76120323e17e72862cda14ea21d2c92248133f30a919dac679efa188f5ed64d856e7dc793fcaad3b61a6c456928bb709676ec00d2bc973b50b576dc3dea5cc2c6db7271e8040d0d601073cd41ac673f0fe42368b1f8e7f24656b12026270eac70063c3fa21ccabe8afc774bb8237305ea6b8a1375d8e4d6f70c4e8c5e93b4eb45a9cc97322b16132ba1056859c4a9c540d510dfeed0ad5fb41e4aca3fe282858af68dd32bd10b02e518d9a29aa0ff624a16f447541db498911b5729369c38661efdd3c3bf66ce0b63e0c6fb6bf0228a32a0cba5b0d910e57e5dee127b0675cfdbef4279085820c370d30e6c1b400f0b5b18e86efd182000fc7ba47e22a0759c4595a0d780c2484404f03aea4d255428a5a0cf6ee349e54fb81b4c4af96c6ea99906f22e4076383097d19a7181a45e7caf8049e09a6e78d17f1efe7121093d7d6510bcb6dd70e1dd66a97bd881748a407f00fc289ec699cb05e283698525538345c00c04bb3633ed2c71d04c9d1f5a91f8c77aa49f47433a9ddc3e7c13c8b01ebab5ef3ad89fcfe769ecba59c3db08ed5002869bdbdb7e001a4fc79b58c9053f5732d0e27322b6719c921f306d8687400c9bd3dc1788305d91ca490112d8adbd605602ab657c0dde321d6037b84a173edf851c099eab0ac3d177028a93b20375627bd6b3625c1a4c78f4abb58e1870778410571acdf2636455ab6259c6a9f49880b0c6dad49b24e97a90c17ad4659fc98318b3e9a4bd4570b92399b980d17ce27b267c957bb6b88c5607c068d36f4e9ba9d23706015b6797a52ea4f525da27460f51531a0cfda1d9ddb8ee8496cd135bbbe073550e65da6965741bc7dab050dc158033c62307bbb6ca93af605c2dc702deb549599524f3557f0cb832288d69c7b10bdf6c44ad4524796384f04cd0e68a4880343207d6fb8f9a5e5ec88f2c525e7e80916880b04034a616b96cf57faf903bd4dce82eb9c635d8a8dd07cbdbf62277d8fbc9a07d9a78174ec4b8b7085f5f664b5f6319571bd5d698b02f570e76000891d58feaa3c7ba287fbdbc8ea724ddf908ca16e8623aa5ef11c4e59bb1ee0e1a8926062a625411012016b2dca0a5604fdf4589e041d7f3c899fb4018e6409e2ef6444d1f40423257ab7335a039362ccd0a3e2a574c1816357b598dab36dcab5727882a59a2bee56e39c6bd356101c83b7fabd5b6c34a3289bab7d16fd4b3b963d1cc746e6f2385674b12ddc9041ae9f5a6e76b612f0c3bc9728852bba77bb92c2fe755287288888b8c274f3e94eafef0a1ce4917ed3db2ceecf38d5d3d3a20674c65d9c38c672b5d51c47d347a2ce656a9806a03624d6602005aa1776b580e1e31677255bee30f964d70d5191b97691115412b9729841bd6154bd4e7d4b554217f72b9983f2204c64c6e3285bc1074f8ad428933bb51dba5eba0b535257ed3dce54396e40d7156a9757d0ac647cd6a3a79efc1948d8d81d4d3168fa5bcf5af215e33e48245bf42c4c1c368a2c67c0f130b95b02f1dbcfe45f56e84a28e9da36e8d4284b970bd880ac55b025533e5ead5434ee0a59d8d37658bca037bc62a41d8a20cd508c667ad62b401fb5902444cbe3959a90abcf0835d4b60666762027ed01cdab42acd916a7ef844ea18aece776fee8892630a87e984ea8dc13cc80477c88903ad7391f276629b016ab7099188db398fe0318f254a62a056e1e15f5101d0b16c9237d5b9cbbf68226c10d64c5aac93090116faae8720ce9834029bbca285d18eff86a3fb4214f919d49d8c1664ce9f0f6f1c8d2f9018e183faabc86660b8fda58570faa1a3855e1f2b1aed152512099911838458590e9b477abb4fd6d935a4f973fdcf69cfcda60517e69e1a062d615da606f915ef2602e2c35419c8d26870acd7a23933fcf6f5f01a26cd985e030ca33021d1a91de75069ced6f165b3aa250a18756b231971bce4f45626a8314eaf8fc04d18ac86e78cfc12208fad1f00ec3786ef6b863006f81d3d154e766ce52aa80c67414214653e2b2ddc4344f374befd44b3bfc6100a828f4877832d559ee27a52061a569e24b9dcbe114e734257629c5279fc46f527f559739bb6ebd1389a40f6021af3d5c5caccf4e371df47121f422e292008f0383f4c22a4b202d1ac6f64c698afe3877a69fd5dd26dd1f8545bb60f91c24b49c11d106b6f13b63a60d70f2a980d75329a6c3ec561b1ac81ee7acc4ca1b7b7ce84a3a303de7219813d29d49360d61d05d40b1fe666c032e8042dbfa064a70036c7b3349b1063b7f874474adc1db9f35a88bc7df1dfdda61d7b6a39c2c4e8501fedcabfccc864c225662d4f0ba0bd736c261adaf4c7e666f05c4515c5d0d9b42f507a36bbb212a30ec82b123525b62c61ec858dc18160d5c9feb120e27804f18ef67e713e38a69814e9e042d7ec0e37e9adbb57f2bfc5baab8b3ce101305fc7935eaf741b2fd0d0ff310f1cc82b4ef77f573f9d1394715acf96672eab29fa1ce81e87eda1146cd2236f7137e7a9344f022b92b953474eec03962650e9876a1065f664ce86701f96ae650460c03b78ec6e98425caf8e01b47d5d39384d74f01f4b79f92841bbb9e92d9622775792707790b75be3ac56b3455811b9b43aaab5f1e23808f4a1357c429bb550aae067dd09f0b17fdaa2d5ef948def040ff0a278bc5ef9e3de03ab6949161ade0d9a3029f8b236f8f51b7fe0253fe6408342027b0e1e9a1c32b07a8515482525db7de2445932dd809c2d601f5f9e97cacd055ae5ffdf3fe3004e8cae25aa3bcc4d203cec66ec21e95a28a0af89db9f82b0b9f53e52e46a3061343a0929d1adcaedc0074d8b6e3f02a9068d9bd6baabf1077a1d8a507c42de86835f3b326423e66c03bc20e5aca7912b25db59ed8c59d9cacb2c5ae717f92a24caf7a8d8dd7b085eb508d190b50bf2a892e8835b09dc2a8f45967690a5366be484280ea746fa6d1c977c38d60a6ae971eeafb1251df2efcde781624343c19e03f50b7908d3eb7f9fc5d1fcdb7a7da0e953e82b2b487ba3b3cf2bc4097d0903a53e23fdfc5d55054533f0c8625f534e50b53ad3b22d4d8c032ecf88e2fb600c9efcb69e0af54f6b08d2f6dd14a1460626cd0c08d3d864be37c436d15ba608ebe9ce6160bf2658bef8d3abf8ad3ad7797cf9a86e68c8a64f6ddd41dc4b21716d86a7aee665538aaf45af1c0e2f7c3c462ab2800e1e0514e0d10997cc3355ddcafd96c4a89f25bdd382b52b4e1a651cf904291371cbb403f207f856d40bd92216e9026d7e1ed30da5a497af2adbf57b43f356f3d6b5d2e881ac8f1258ac9452400eaa3e9621174f8c8d462529a8af14e7791373b2151b105e04779372c64d80b160d8b07c10b09395a52350523b8a44962848d056d830b9e7db3b025d8ad128b4fb0bf7701a9426ccce14e7abfb3c664c1f17c817f88570730c650ef9c1a7ca1c364319fad9bc6e105fe99d3241d39ee9a6ffb71e19a20b88bf73597cdbafde4d7be90776c58004694f6c6f27e2dfdfc39f86d66a84c3f78d6eb806d8e85834dafbf69ad6234ca5f1156d824b4598017ae76d0397fbf35152f32ee1c69c3896e85091ccb5cbae2ac6115ced5552f398c989f766082588d3148e96bf24a1f2944df0095ea12d46a1a85f393e9053c813818815813df5c4630693c231ad1854d2ff6033b46f967386363394a00164c2f383ac38271aa68dcdb575c53fb5b26175b1512a6140b2f85cf78c457a37b1373efbaf055c8819d240c187c7548511991445c3fa0b0a08dc66295de9b8ed064718f7ef89e6f8036f19633eb7f89936972c37a8d2351aefd8c00e17f0a58d175bd79ef1a2ebbbc0da79bb3e148d122bd0248d8399ab0d5a2726d5a12b883e83ee7ddb35dc6dc0c9bbcd76f2095c2fb49c587f9b9ca0f8b0d789bb6cf96d8dffb0d80872cef48d29e014f0211251ffd3df5d6d62ee9385b354f5cbce68f225e4c026918629705f90657136a62397106ce5d76b35c1b4366a63af272a998ddba7271349290e7d8dd3f63b7eedf62cb07beeb090684950f64dfc80b85a869fbad4165f8c9105b7ddd2ab1c1ac20a2601e8cafbe495c78f1b76b55e6223e1ea212ce72414378cdf4c2c017bcec51435154e08bea34731fa54f54f101d1f360a9ec1dabbaab0b551b3ffcc4ebd961e4e922f02a9b6409d7102ad2b634780f91c8cb3ef72a257fd843239f8ea08650842dc6e30a0cee7bdd66f259da85437f1daa1458de7ac1be717bc05cee115d869488d8d44aaa28eff4664aa6fd4b3ce9e2656294e4e000f62f3ad8096631936ca58118f53a82dfbe4ac918bf0336be0c71c36eb18daa1fe7d34a2256ef6f8cc036a2d7ab008ecce9552fccb929955912dc8201a48e17b698f60cf79def959e5156c9241d53676d4b1a0cde6ad3f896bf92d1a755cee36799f577a2298a419920b1f005016e76c0dce3e3f4ca9eda87aacde47003eeb47979195300a63dde39aa743ec6b5b900def971d082ecb73228c38f606b7a782f3316e6980a19151286d03532fec4bdd51b9916a5bb7400472b7b8aea7c8035a227fde2b4c7d2bdf48e601b674652af6e0a0ab5560fda78520bed3802344d3f6feb7e579385362be4615cdfc48ed9539f889bd37d862d87d53c7143402d1d9fd6495263a895a3fc4bf4d34dd43b5b92b4c7169fd7a75a8866a54586690f8235081a6087725c255243660a0b463c992bef3f6706b88c7660cf6dc788a7b59bab1b253f53978140a6c61979781087fa06caa41c14ae282ff9a0d1fadd3fab03a0ae1e1459fb54e9c97e1988c1d89665d446cba6f696f68eba93fa53c9ae4a8e37417f5279d6f94195b33825040716d56658a9ac54a483d934248422a8c3465112cb034d45e06d3e57f04d6e338e1eea98fcf8784e13d4e71ac252f20bdd264f7931c37e50b7b427e1e2d1e8a62a9dbc11ae3c3243a4f1d5caa3a3efb8ce9dc5b7ae8bd016513b0de24a1b7fe8b54c9ebdfc54d4917adaf028881cfa6a1d53b7a330554ea4328cebaff34e91a93e071cf34ac76883545b4da54ed7fb5484dc2a7ec190beda80169b3bd923f6c016fc43d105aecc63ad706bd5177ab4514590dd18e71128b381c62fb231477fa803bda6b6665bd79c7e965d03fea18ec98f4040728962b686f5467503ca656bb18e7d32537879a63ff2fe21ef5acbee818298c6037269f5f16d09934f523ac644b50de9f1fdd60b7d4895cfcaef9982f2250251a4cfb4e251f7a10691e75d4181e8a28e0b774ab47055bcf0a87d7521f031e34d9b0aa7ab8d6bb0152c34fe39299a8c786701ad3c7f6be844298f8fc9acfca992cedeca89d3a476f3a002584aaf89c13cb1ad82d11a85c1dcaea10b1d1cb5343ffd38f1936831ed07f201c07d24f8a00e3a3ef3d594107cdceee5b2e433ea84018549970c7ee54822e3684c87984ba17335650b733ce01b624e308df86bafd2a9ff79c59bb9ce783d531eae45b4e8139d1bb030abea8a52750554e4f4ccdc35b9bc309d3785d85dea08e47275b8e2746dc7ff56e709bbeb76b400a865347e1321fce6098ecb9d1f5f1b432f6b8450d948e98637fcaac0dddb476d745b7aa3e60fbc3b2b2b6c4aabd25f316d20f3247666d4ab524ac4648d9ddcad5fff20e7443976680e121e1fa9d7207f58b72c7e275488378f97d638c9200cabcf76443d03a909e285ec370a8c6fa0eddfc06678eb7d91e7f2f4efa010062e0c3f7326de2bd0ecb9bd6d395708b9f295633ca9f5c403ef5e55bed7e2b5d57f08f601373414462310e8092db40e4ad1cdccd2e3b9b5e15d7b7fc9436e4c72155f4d5f632e39c66758e11faa5718891a206e66cb33069a4eb428fdbd0d8bf20e0a721449b6409df8e3089375b5981fcde5757ee7fd41932d4919e87551e89553681592b00c063b4ec3477764b809be444dfa653a46f97ea5e6719657090a790ecef146a3bb9b1d17288713826fb90ccebc7daf840922df8a804886a387d4fca881cc528b04b034c98316a19f9f4ea76f536e0070ea4020c9dd45dcc4063e47ba1726be23e066b3ebe2914456120dfab167818af68c8c2c05bc74425e40dc0a9e0427a80ab7993507c15b311eb573ec7af5e3caa7013856534efbecb251ab28118ba76f0e07583f2796e983ffd422970fc5f6f76a03e498bf0198a48794639b4438e9fb28267921e553afda923ac3d07943d491ca70bb97ae68c4dac79b8b1f2543e119b499599897d58dcbee6c131c3d74514c12698bd4a2a4b42d06d6c30c917a802b7744efa5c86b563bb3591ea17f0b0b43aade9f6ff28e496f007c90b671a5fff67b125b277d14167155153f1eed7931d8cbc236d2ef900cc08b052b8293932a5a86fece5b00a329c3caaf905f04846a0bbfebabe25d0cd497ae67d00cc3e744dc49c546964becf52272cee6f57a3ce06dee8398942d532cceb5218ac6201596e832cfa451256029966db6135e57c8e818ece3a81209d5ebc21af9741c5d8887a5722710ebee13e7f68c46851bd552588d9e44bf93740191b723e546df0cdde6b4f91dcbeae5bfec2c54cfb6343ff9f101e22e46762396b6151a33eb291e296933bf33753211189a711989be751e173360a17173514b1d69cbf8bf700f025a3b6ba8b7d20bbabe47f330ad2b79838aa82ef2213213f4679e216065004d957909eaa6862ae780aa8b46aae4ced9c6e4b9a3eac0cb27ba08c78b3a8c01e7dd461b1c37e9f0e42744eb26eb808b11d1e3841194c33cb131aebd75000604a612c44c6f359a6fc6f0d55f4188399a2b783e9a80de4774e168b627c8cf46c809df48dacadb791720c6ff3d983e94630ef2714ea2dfb1519c1e91a7ae2540ea67c94d2260bfdb88971e27c942b9cd00b77e46d67c7113581ea363996cde8f107732c66ef617fb9eaee62480fabb25de3c044cdd2064b27c48a45335863c9ea2a22bb9a607aa339d268e25daf66abc3d62023906d53a546796ab9428db948b8469f24929a01130508e4d4589aed8fe668fad1b2694835fc7aaa8807c54f1f5f30fca4b8fab3a3e6bd0b306cafc951ecf5eb7409c2aac06fb97873225fb6941d7849f7f34e58280b9314f99f844a7d51c2f8e81f806b8790de50072d00cd8df0d49c0efe46e64789db315881b5511c2c7d375129055242dbc3843e030ea21dd41608de741cd76e8baa5db8e9afa41a7f3476db9eeeb0125e42c6d1b3af3f2a39f23f6c7812008edb97f787a97dad75ad63054875f05d22c9b270e4ac957d3cb1920e7df5d63519e416d873caf0f7823b369866de75d989b3a3c6b7a7a4c09d520ab61b806c8bb5010dae0329691b83b9d8a89ee4a189d767ae7c08566d5014ba22225e938b0ac6095a963369a7df312c524abfca6c67786b1d0e96b39d1d87b1894c8a63e8f9bb0e3b20c7d39f15a322a061664df238287f2da0b41debbb9bd05eb8c046fa01cbc5f847868b0f5031420f02993f2355c7307add669cee4e10adc830d3c83b48a462f411efc68a3b698c87ba2073d64f44cdf5c5c9c5fdd2df5f668d379ce3b5293a2b09a3c705cb74c88bc47fdf46adb27bb664c4e03bb2016d4fb873a8d864eae639dc191623a772ae5716f54af9ea074c22d8b2ebd81804070562e3603c6aa6cad5583d00423200a4a038cc814ab5764c2def4d42b630286d652f304a2e41b76f18fb531b41fe1bc7aeb255418b004fc1067a3ee32f255b0c634f4b0a6ed218c4958b08c76370674e6b0f9cd0aacfb2439c1da540aafd109e8296595a06da56ca3b43ef0ea2ac7dc1238dbce21ae7465ba706bb5eb95c106134ec4d64c0d50051bf3838b3c2ff265c3f6a031a0342c9746f947d1562c8e4ef3fc82d519681b1fcbf45dead1ba3224e1b818cb7012b55f8d90afd15b255ed2723b9058fad2a5e0f63027e88332fa7831d47001767949e95e1da503493b8d33bc94c7f99e6ac6a19496c644f89dfd18d88981059aa49d0c5b8934f0d06f459d078841490be9cf17de163683f6e2198b453e77fadd5f0923af1e048382a4801f68ca5c9f4fa02d60287b254e0063d2ab7b02253d9851dbe7cfe4777cbfb470ddfe621040bfb7119659d57e593c79f008d2e169cf61ec23c32d37eba5fcd5d7e99454cd4772899d7898657a4f57203b607ad1de7e4d248795e6b85f9560112f00783954f1b5c4946f408d8beb0f62e1697abf8e1261eafd74630818b6deca23e062d77b7f27d90ef688e31d9dfa00a23df83b321e65fc0e7ff050e02c9ba79aaf84d29a9a8091ccfaac6ca3c8f6ab3018e8b915d7c1fc4e57d82741cf5c29749f544781666f088712f84e5953b52d03d0d2f26ce88589d3c1c1104c12f15a1886612af5e912c96d12db3dfd9a8b2fea2e3e04fc8644ca5b4710f296c648861be21a00811c10336feb228f8b1b4c5299ace119c5aaf849611886c526c96c52896d6c9b0719c6e003ca064d887db5c67458b6bfaf5b60fad090caa92d7e61a9e7c77e0b2cb270d66b0a9999c2028358cd6af76364df9909a1a13d733cc2e930cf68ea8c50095516171134bf3981585d05f237350957c24c1a6d5849367283f1007d6255db22d2e5e590f3055d3a296cdc2d19e8238db4d00751968b1327d3410d2c5a24030b9f295cae3620c0bc80ca61de668a92a66eb3b188f40d5d70bbec81a3c000dc355a45df3dfabc4a663f1a9417ed20a138fea2252ea537bf48e76253f83b4474fa912335a7e8a49ddf362e6c0581a2b394b57e2e34e4bf0bdaa6d31b1eb8db5e83c39d7b53bb3de07937a1f544a2d35f4e2d3e5d6b885d5c66a271995adca7d4217c9ffa3f3cc21f9dd243bf4cf3f8f05f2c92b01327644b280f534cbb1f0775a7703e82b34269d820d3b8ef674a2051563deb6bf98eaa0ac0a6c3bc801251ad7bb05d10c60febde2dd242d501a49e768e6e2e32899a0142b80c194cd2c27b5a15eb048f9c12668f1df841170b8d1f6fb97db817d7abbb17f8eba6cc2eab5fb5b2e0617cc00dde8a3eb055480e059f17d2057c78c160a4b5cad962aeb65a6d9b3dd6bb8e983732da15513355ba7fe47652d90c0bfc71556f1d87ac26d42c482457ab15b297236191760302a416a860ae4f08f6f2c677176ec098e717a684194bf8766617ee2e7b8873d13b388a38a4689584d332321044773e43716e166c9c660940f274e6c069af836d7bc0444d2dfe0a25ea007c0918ccf710f508ede432d7c2e1d110dc0d17d8485b49edc076c911df80b04d94c83128950e60e0e06f1ab1d700fdfbcc24fb0a7123b9b0b3039f5476c007175996ab5bffc203c4eb4aeb089605173125405c3bc8ba924eac6ecad123917a0ca5d802a2bb0161017b659437a7e81ad11d1709ccea41c085b80df3e99f5e13dff5900002a2b1119504076d6d9d75e053d81540f96921df9b2ce1a7aaf01338a1af62ddf2a590b63651547e30e1bdb75dadc1d4a2d638d501f012ab543de5f2b49330dc3f6079ed4f7c729a1a83d65bd53e24d547f2f9d3e0e80b1673e8b459b2f9a236f33adfc72f78b79931a2ef304aade0eb5549a993029d4d48ac4c199ead806c35f2e8d64ebdf70f29cb76d1c82086f103bc919175e65b0cced70799d93775d9fed0b975f10f2807f13b9dcd42b11f8ee25773e2bc1c852048273ce4bc2725a2e85da64535a1b2a4d222042d3ff08ca0b41da64531aa1409fba9ead0cfce0f3aa8cd9cdffb14dee8df4c171c6da7656df7342177217856c0a0b631242bb45f4c916f1d9f003ed864889484e734a0412d78da2769d71363a7f187503887396000c0f6505e1d70aa828d6774f35e635ad96489baa02dcef6eb56280e605d46d982a82b4dbeadd8b8d2115202cb036a1d581e54d32ed201547c457cb2fd18884b421bc8487b3369fbbf7f8de32a6f23ec4924ca0e80a2f71648133ce727699998cef96159b1bb8621b788a2108a0211a6a4ab1f6e8390ae62386472e3d8cf555bd6987e2ccb89ca72d7174c9f2b0e5f25f04d5d5cd0241ad12841b636481e6fd26a58839d0329186e9c5273d736af65a1aee926232cbcf5ab60541444bfc13d3baef50552e07ca3f3c73b2e42cd6c650a69bf16af2867c1cb166865fd53f6b96eb5f6562a3dd85d21c45330d22c1d32c6477ed89154dab9ecba9f5e5b71db6980467dd33aad367a56ba45163eb40df38b6def2954957e222ce4ea4177b4517b4e5b58426581f075ab5c427c875bf74b5afdf7d9b03e4bd7b2b4d96efadc8aa6e93202e5af79e3738b13474ba52b855cba8eb0835b7d14637abe726084f5ddc046a46c00a30910112b7ce250d25fe99c5cc9aea593cf7e1e6c479d449a40bae9f92dc61c281c4bc73c7a89a02177c9b543d005c861fb6fdb9e646eb75597c3d8a3b8998e003d6bf377cf0e55cb39643f6d0d2d0f1a8b0a3f06cd483b9b6acff0eff95ec598488415462c70f3684a87253d8a9c88c0a3e6d09da490a11c85572120cde0f91ffa8df66361ddc623f1403e72009d0271e9a34640bab64d03fa9c2976c2b4b54a207c36fa29a71098d1bb872fe08cae07a0771bfa235a64a26942b1af0e0d6a639425fa25c703006bfe4a690c7d4940bc2ef488652ac95f54fa75ea73d062d798339ff98cb3d1d771571086be222818046ff689f14cfd5dcbf55a78755552e223de0fff89592a29f984d67c3103185dcc396f86af29c469c3f2b03c1a85027836ee6273ce15b462cdf77bc032d1c1e974d8165d989f5c3e549580de0d7572e45b187aa1f2f9cc7da9a31957a7878262d3ed53ea66ecafffc5a3863f4e216f0cca530c2a56c462aa84767f2ebc5002d895244e5df6d26be054caf0f8aae78f6edecc863a9bfde0a95da6051ce5290a0a6369d4823b1b5c22c0f49becfd83bf02a745185d840945bf42bc5aea36ee7a2e44ee6cf1f7badbf389d361affb63770efd61632ed43a30b888a11c8db4dbaf5e5fed70a61af0ddeaa244221c35cabb6adef3a102c0df41190b5bf68356f232555c0ce118a9a710bf72a10f2b731aafa62ed5d38e86d1a7067a6cf08da835438e8f6842235c08e2b3457e016bd184b4121311dbabbd82274532340f14fad4025af548f50074f47ecd574b230cf85e2bb81f543c879bf261b95eb85b79a5303d021f323a93b94b6054e0e38e3efcb71c771e8a20473f575b52da03e7344ae4a639b4c85d73161a43f284d6e2a5d552b94528062640fc0312f82e3052e5d139df6dc00739f0b5710b900b2246b1bdc66a08a07c8b074280187092523b91a6a75d26461428895a20641de50bb2c6f51d5cbc2e030d30da093297759464afba00c0022cca6dbacc7ca54bc0256419e03121a3eaa7027deaade8bacbf909189f187c00128b69e0f731c053c0f51ca3e167635f09b3d4f7cef82be33fda21163bbfca1347af0e14c0e80f68320de12448c4e833802f58d40be921bedb4688adb37b15799b8cf72112ca12a2926a1bbc0a79b6ee0762147574d29b60a9142eef0518a4d22d28632bf4f6caa918ae4a1410b570ed3f8d5a82bd3d3facd97f1a1d29b2d29eb49e2befd716d844fd2ce907a75155f91a5422de32296f17e99bfc892f376321dde448d6eb0ab163bd852824efd23e56c3bc8eda08cba64b21b953388679b2edb9da6c3486ecedd1ace43a179d7517345073154d64af41a2013a02f81db73ac61de3d5add5e0d652398a66f8fba56cb5c4b70d4afb9e6e6ccd979f0c3ef9de9d849305e43ee67c38195db8e23e8f65f37890b17998d5d5c45009c4b508171928c714f0fd2de9fc4c2206b613da2dd74c3834f1210944e2569fedabb8a06b01fab094869e9dd1de34b56d2f09d34e4f2cbb972bc06738204cbc1e9d038ec865d24ca9eb8672ade9f04c2578fdb9e976fc8a2a83e8083fecec1be21585cca9b68dd58168647ecd8d838dbc1a90dc97c6b0bb007a6321ca7a66fd8786a4e79d05dc4b381a8ec81d03fac6a2a40ba674bc941dbca3757ea69403df25515e3c28d0b4752f649f12e8d88e57e143f3305cc895baf89b17c0a967225e02a7edf1209226f93969b0f55cfa56695782200cf53c0c0fc9c81ee7448cc8a0fbf4ea6cefb30984b9ce61161d5110689c55f3b9f5dd000ee8e4eb45dd5792a75d7e2d9502e0fc5ab39cdd77187baae8dbc12ed9e75b99ce66458a188c27cfde94190e9ee20758e1691bb57fd32ac0008d9ff8b6572f6631027e96a7293ff8004bdc1b6c8793b44ccb39a37e0153d1196f43455172912fd50e3806649ad753a7bedc54d045fd0c07c81fcadc14fc1481f7f9749e43992d9c4efcecc0e103ce38c5a61dfc88bc62f0e60a2ac82f1420837651ec5ba4255ebb9c0ce7d101b5760e95037b2e0534521baeb3d609bb99bb017b9058256c20c39d130a0f7155e977a6c27524a5259908fd90a6b736096f80a70e6f770d8237a46e6a3affa2f28b9084864d6ee5321229e8dcc5fd199dbe02be1c3b6bedb8717f4b0dd5e154bd68da35344cfd12e202ec77bde22b2c5e938e511b1c97f5c2484435976b3ed911f86a8e6a4a20afc5cba05b043e8895165302fd6224b76bf9fc68028e01d0237c843c43d4028005608c03441882a45ed99269f9be3e96c49182cc6aef01160aabb18dd7bbb1862af6bb5af0066e6524c16ef780e27a624cfce802a82174b27dbf6ce8020526b2033514cbe918e37780aee5cbc4e38ba833f0e2d10dc88c041c2f08906482a3de1ab541fb3ade9afcaa84b19bba0183e888e9fdf96810027778e7f7995cecfaba7e2688680248f1e7fe2d0070a20001426779213c5da16dbfb2f3f26267a06d56d82764abd109081d32f53c6e97bd4a883edd822899dbeda7192a1af868a9a296a5644d78b388bab5145e300c34e1118eaff509514459dfa3a9a86d3b05b593b500af1a6ad81c4c3dfc9e801e6ac21dece1d807c4265403740574bcc2dae549f53b79d3b4c9abfb8d596841d1aa6ca0d6041dc0e3d24ace3084eea222829e894bc51a967bf5fa3b11fb0e113410ad1fd2a7ce377c40d1fa84650e96cb0a63d2b44d16cda5f27f94f8d70ef44a932d06becb77cbdd4deffe3bbaa2f79e03e180de7b4fa1df7db077f769680469a49375912b33c3ac8a880c64d5bac24785ae812777d17dc622d58cf289910795abf6166b4deb108e4874eef95b7be513d03b05d633f427c45ebdf16be11976b469e8ba49931f284903792bbe095a75d85b61d421d7b49bfa5f5fac580a9ca756206793958574a241e602684d9ee629b5d1d213b03c856319e6dfa9625b4d1e9b1827a8014a052171fc09e052276374acd18e8502e64213373d8bdb469334a5f5093a5c37595034b4c2d48120b221b2fb228b0662fee48336f05e7958a2bec30a2e9ee6ca6dfd41570a66e8869676a9994d0b510880de892ef53255123b3a9b23f8bafc8b0123dd6b8dded31185d66860263cfdc540686ab107d0a93bbfc7760164eab5536fc8a4f3638d3abf485d407e29be2438703a190d8c23a8ebc660e93668c6600d7a311ed3aac346b35eecc69eebf8c9100f4a1a4bbc834821535465059349034c706b84e5c827546b5f3e55afd83bdf7cd051af5d4a3407d8f6fa5f7f3c611f5fd5734e0e307e9308fcaca05e8ac607563ac8f96af74c15778a1ba63c6ca1db935ef4f082cb3b0d133a881394dc720ee10ea806497285a69ab4e86aae141134f2a8cd6384ed639105eea7d3669d6198fe613ea61578e636631ee319ae64984c674ae53dfa1d3e2188f19b183c16565b968e8254b5d5c23290d2e6c6ef2492db75711f5936d2398acd79ca4219fa860e3660a6602c218eb45fcf7c14c3ef22cfda24dfb35e836c63cb738cbce4a5872727099b5565f232cb138fbf6b1260e5eeb3cf718cde5da6961cb8dba628e54c0f13e4708b51b4cd2013ae53929cb2dc952f41757e8504805090fc45dedb3e9b1fda58859b8756cb980e20acd487db53b9d132f729903f98c135636b787b5991c5766551c288352a09fb5aabffe8c42e994382bbaae106326b282dcb4d18bdbb734668e057c0bf47dc1592e017abb169bba03135c0a74f4c2bdb9538fec70aa71e4bcdd6f98f3d5f5dadfd923d5239d657fa49cff33cfdfba2b9c4c47681a445bead03ba398cc218634908964e3dd0f2723a54b167b0eaa31268ba656d6981ccc07c91a693e05be83e7a03084659a77537aea1e55622a4740159b64ad24398f0075a687bc0c5f6819309f894da6944531a05e1222aed7d1189aeeb19ca184feb3bb499403865f6391e0d9cf360107d240d28bf77a7b60cba069cbcad3208f187658cb7edd454c671d21f9e9cc01661607d3f5cfc91dbc4fb953b4cfc74286268833cda6e1426530184b4114c111fd5224cfc79b1b634e1d6547526b53e0d6e4cba2473cba80f45a41a0743f3d493130aaba9dc90e4dd11bee207ba51659f8829c77ee7bd8651d67752056e7b452e2a5f7c3c4823ae97a4080492fa796cfff97f049cb249d73f875490e7d68c7148ea7775e4aa26e48e2a615fa77feaeb947d4a08099c22db88e7a6dc772762dfd4a7933cf3e97fcbc81fb822a4419edf800274e6058196ae23b9c204bd1e691a69060892f04dc62e0c02a555cd211f2a06c7358a7a084e56084e440b4ec5eb8edde92e81b05c16f7d72e80d78f8944ddfcc5b982619182d5dee34fad7caa2d366a2d76ca2eb6686d2289eaa9b8d8a1b5faa9bed8a4b5d429abd8bcb52ea5bbc11344c25aaa2bd6398f11fde0dc869f736bc75349b1636bcd5325b0696b815316309b7eec891b4e45c4f6ac554e75c4c6acc54f39c496ac0d4e2dc4baac3d4e05c12eb2e54fd5c47ab2fd4ef9c456b2cd4eedc41ab29d4ea5c40eb2b54e15c026b2a54a59ba9fdf2cc88d137bba133aad1eb0ba632aaee08ff920ca3621fbcee0b6bfe368af2d05e8e3847bafde7fa72a972a8bf5527b977283ad521b975a833552db9bc24eb9dd935a429a6b0eb67d8d34b597256094d73d8e250854e83dd6d4bea5bc60ebd4a6a5b660cdd48ea59260c7d49aa58a63d3d402a5fcc3e6a8754aed87b551bb94ca809d51fb2bd5001ba2162e6518dba2b6283518abd1b62b1503dbd1562bd5031bd1962c658eb2c9c7bb84930ac947ba7e25e5914f75092ce54b8f5cfd1aca911ebf121e2a921eaefa29943b3d69252454303d66f5c3293b7a9c4a18a8307a7ed52fa0bce8292ac1a07cf899ab3604b40cebaef6041412bbae96055409ebabf601e4095bab3601b4096baa760094083baad60054149baa9606640b9bc1ce43f6a9fd00f9c256b0cd00edc21ab09d00a5c20eb0b50015ec77987117453d46272b4627a247a7e24fc7ee4e9740152ecbfbebecc16b60a251b77e71a96040a450b587fbd32b5f6a4b8dda8b5db24b2dda9b48a37a292e7568af7ea92f35692f75c92a356faf4b9b6e800751bf56ea4a750e6e44035cda307e6eef782929756caf79a904356d2f70c90265d3b83db5c3a588d49ebdcaa58ed498bdf82587d492bdc175452972c908b5656f71690855936f772926b593af76a92735922f79e9557a86e7f44a975a5203f982970c501bf95697c6424dd58d7e6d13d3e008f8a08806eeeb782f0f66f20677482dccbe2462b0992132e9179fb7a2f53295ca52bdf46295dc50abf4c695e6508df46e563f036e8787568f54ea43350fbe758f65f5181075386b0d02e026d835bd6f252f00511c646a56ca429dd32b566a420dd38b54324e6dd35b561a4ed5d1db54ca8fdaa357098f0208345cbf8617b037dcbdfa1508375cbc8614f036bcbc7a11f0335cb9861170323cb87a048812bc8e5ea9520b6a405fb492696a43dfaad240aab6de1a54786ab75e19543b6ab45e0c943d6ab15e1fd43caab3de1d543eeab25e0e5435aabfde1794376abdde14d436aab9def1fab1808be259d5174080e2563580806de136d8774068e10238788067e139d86b807fe12a386c8073e121d8934074e12c3848805be109d8474050e10638a0800de21ed85f4008e212b854a1ab30bddcfb473a98d279b89d55c3b3cb19e972a3e9c2a1a9035e0bc3c2fc432b4fc1bf85cd55ae1bd9ced93645c7e1e640b01ab40f103720aad623d19c5f2e5e766fc184843c208aa5cd6f1407e6925e6e1ad9f0d92d450d11534aab30612c9094cd671403a7f795b50eb462c165452be2ba418819b4a3333ed9dad946453be2c641481974a2333dd9d2d95a455be27a41882474a03339d9d6d956450be0064d482474a13378d90c350e3a13877dea6bde61eff3bcd42634dfaedb8eddc4ccc421c5c010baf3bcac48ea1352eaff24429620599a6f2bb64bb706ba86d63b42f941bf0e51a51eb1e6cc5af6c83627ff9aa0d29aa9ca16ca56a6db9c9814daf00875820c6926acd82cdd1c6813daf8086d822c6906ae982d5d0e687fb4a1116a04e9d38c5fb152ba29d006b4b1115a0499d34c5fb154ba22d01ab491112a0a19d34c463e7fcd52e59e4057d02c4e682462a13d55cd0ce83640c7d3ac44a812a25b3d51cd02e82e40e7d1ec446812625a3d5dcd1ce80e40a7d16c44a813625c3d59cd22e836957d005d423724aea1847541373837a0dd019d443712ae5a8459412f380fa0bd015d443713ae5d8455410f3877a03d019d453715ae568409421f384fa07d015d453720b1c18b63fbcbcf5dd7285d579358d78a48574e4c572f84e32c0d7ec73ad1ebc5af4d076bd26a4a2165f662b10ab8fb838528700aef079791af14be421c1eac46fe5204032c46015e7803ec44feaf0883412dcf4d255a6f08a2202d979518b715396788f661388bfca30860588a02baf060d8467db15c45a27f60190dbac231601ff5bf2232600e0db4c23de014f5b3223860130dc8c22e6007f5a7222ce01f1a448557c005ea5b854fc31a1a5c8543c311ea834504c28c196ebbbdf8a7951c4b11085e5121abdffd88954b57df1dd4c1c4d5c36e0277edd421dc322f881a3ae0a440b00286767938b67c9b0e7858b7028cb63bd89956bf5c1ce29256cd0a62dac789e181a769cdcbed21ea696dcb4526a20f4e2cdfa7030f36ac00a2ed0ff62c7fa7c30f96ac20a7bd0fae2e9fa37d0d96afa0a51d0df62fffa5230de6ae40a5dd0d4e2f3fa5830d36af80a0ed0c762e7fa4c30cfe5d41487b195c44295fce05b1a06b546e05d1a1eb552e3471592b03ac3cd15beb0dcc1db15a6b0c6c1dd1586b0f2c1e7158ab0eac1f31592b00cc1a315fab0b6c1ad15eeb0a2c1b715eab08ac2eeea3c86281fc660769be825ee72451b5b3b87fc624187152944a40295dee8c2c472cc91da55d6e63dd5d9b956b6f62146b395be6fc240c77496fd991943a43a00583540795090155eff56415e90a04718e1cc8669c27ed00b762c434fd050d08f43ad6141853343f582432122281a1840438406a03da2f4b2919fa9f9bc056b7357d60b6947b0943824ffaa7b23298c278131aceb23b8ffebdf3486367d3866ad198f89994cabe0cf7772e2019382cbee008c1a4412e16284304591900610ce9f3060a6af485036003563f9c301acbc0b984c690152e621ca1cd9375f4d1bfd1d003bc26c42848bedf96d9485e3008d202fc2a878bca1d83bad13eaa9de9234ce9e6ca17959fcb30447eecf54860ef059b19e12fad52de78e96891fce4e8e434f98265a8fa9c7c766b1921cffb0c5076b94a5d5bcb080f591ff9d15d3e0b7845c07b3459f35a5e4d1bb741c7b77ddf59bf2c2c1f6cfa5814ac07c9eba7fc0631bf3b13a2d6c032269b4a7bef5a8d48290e06086c875cbfa3452fd8c37d2c00672ac1adf37a1947bfd32718a65f74dc020d13e9a14c838f4d98779c96ea996ce303133f38de5a3a4354bd978e6daa0c7c3df469b4e8a56727d8627993f3cf73379cc24d973fd2a97d7ded09f9058fe210db597802657de0d0a86c07035caf7389408efb242fa17b1370c3dfa1d6feb6f6e908cdbe04e293017a72ee459ffe0edaa6d5fe8f835f886b006d39dade5c4c0ab7d2e68ade0551b074497d8b5899346e10f4a56f23d91c9f646af152f052500a769e0bc44a4a35aac221ae91c6f76213ceb84fe421ac72d8a9275f0780c444249b3562e71480a7aa9c719ad439855e7f854217bf1c27a3430e49f740c3e6deb1f2ab6488d0fce7fcbc06b3040f44828718164b16e154a2b8f38560228e4eac00f11b9302e23d18bf4b8c42df09b2e1ca75b36c8d9e52a40dcb7ecd0b8bab8627d7de44db568d28476d4ac7ce000e1f58d6adf343355fb57a14f69a316185641a44b648aa52b88484981ae07e2a569908ffe5611943d0bdffb68f2ff0691c1f8a9c9c087b892070a618db3689c9822773e6018ae04170a732495e70632116a373a21bd574fe8a25607d4d2b28e5140276e17dbbe1d744efdffdd805b1c540dbab0373303832f8f1fdf1ed24f0402363c47d78b574f859567c1c907392270a03600a9d1c891a46f443976ba77ac2abd42fa36065625446adc52fad5914f3113a7fa6d90584984c3f8eb25a442b276ecef478f6e7fc906533f103361af5a685325d165de799e317dc8ae34c1b7b44277b9f0f570128c82b7f71f2a176303877567651bef72e28b6d4d38c708d97661d2401ac9b47775f1127528502ed259476391bb915172a70dd15a3529cef2dc7acc36e9df5129bc422f917acabb6ed0452d85ae74bcd8b2e5b9b398638114b87f5332f644b0c0ef2d4daa0d49c17229c98cf7dd349b10f96c635536795c5e7e97112a9a9e2d866e4f141da3cb34a7ea4dc97b82f4485f531c8a17636877d1860ba526049c98f0b33f5e9dc35f3964fe48573e8a644dd566eeff7a8fbf139ea655c82bb0133856df896e7f8f9e459b2e59f891e2ffbda233cda1283b4e47b9cb07b33c7f769e82911dbb79e93d48644a9e7f1cea036b1226bf2334a44d9b8b8fbc9459126f7c9a80ebb61c8770a3ef13c9ac51cb9b892eee3d90c0a3e429ef2f3902df26fe3a084454ddce4b970a1b89af5f96bb733e635b9d6400cec6b7954647e919d8e4d1da6b37c6b9b34d3c52067d60ee8f3da5a92fe8b5bb8966a0b894dc48fd0e30ea400870782839ea01be5aa66a2728b1db69938178ce00a1b0415c63059ec90f3a332160d42b690506afe50207ef030aa6abb25c7da3798db3b6e426befdd135b34fb911e71274531827a5486e6cf344c895523b4c634ad88a7b5d38d8cbb7724a41e344a0d7a89215a8bca2f9be98ba523a7c01bf26b51c281a1bb906d929344dc3bcfd87d09f1407ee8cd913572f46866ec7421a27a81963edfa1286fae63f5537e178ab8d07c54bfe5305ccbe071da5a5606fe98b5196397eda5ac75c8f0dcb83a3b5943acfbf38e3d808738d10165581954eafb365d35d5e30b0d02984ab59403122bf0c37e1f0aea36c564628e7898d6fc359dcf0dcc7dc3ebbaab42b42a66be0fab674111a3dcbff3f2a01adc9405e32a9909a167cb1b2e03e2a0e1b25f4f942c25a8d38bd91f247694c5ca4c2d72df5b5192568772d10549c44c0727519436a2c91d62a93335d1503613b4dd6101eda764ea8309cd7958eceb33136cc677050103a81fe31001d1fa00a71584b46eb10bc700216c030fb375f2cdd31c93080854a4af6c5e2c8b88ed62eed28ca04a55989ba1561868de674f8f5393974f871df4cab8a687503d705f32c2ee3432e7433031e2540c383ae4048fa00a1da1e1a09db4ec4174d32d370aaab84c7d3d54806918d1c5280fa5bc6bbeefac22b169bf955df814d781710c31dc993a336e82ee5ae9c3cc61d2a1e9e5a9c7642e60cf720ea62336e42b5f4a1d130c37eb85a91c7151c6da2e3c232590dda04d6b68cf8d8dac15a7b373390b967ff3c67ec935121ebada13e86429f5d091b1c5a55b4d6c6cf8fce2b880cda0ad95df98ac333e8cc4fef26f67a3072e3cb558fdf28ea621259b24a3fccd0044e801525ce50c458767540c99919b948cad6d2fdebd38645133d4b51181f61b87ddc671be5477dee74a00bb1a44a56f805233c654cdc85d6aa667d4684ae7e4cc5365d43397f07113de56b345d6c76d6135d5e158f65c4437fcdb1425206994a3cb7fb7db85e21d288a7ac690d7c65ad1a899b7fa69e42c32e94ca235a3bd6486da6074ced01e24b051d66a143fcfb211fa470cabf3d4664d9e7b1a22a5e73399764a3f633f5c1ba8073ece48e58878305fa2320e8862b6e5723ffa9c6495692a2258daa1165ce9754107ffa0a5d22139aea80be369671d434ba3327a87ef99d820b3688c0b334aca8d09f3fb9dcfd72648014483c6e155a5563065923329cb145ef7be1be444c6da3c91528af76d4d910d8a7ae6257a563543fbf147a70d760fb48e2ee50c6b151d146c56548a31ab7ae104b0295439f97871fe594e69dbcbc71dffe2669f4967baacbf7f52c292b353fb56784bd31d18474dacaf833c3f469457176820c6c7b7a3856e5d4f2b89628fc3ca4d1e6f0ea90ac7fec41da53a1bc51e23142f3fa5707846260bd9f81c0e42e238e095cf46d1aff5b1fef20b6b7948d8570cc2f1c6e8dc59bad3e81148a079922b829d3daf4f917476ec16911f0a794a66dd597f5756b327a72a682e699d333c9efdcb20b643fcdafca001c6ad45345d1346272bbb6dcb6cac83a8fd7ea466d87ac869089295f5fdf13e67e92d42ac1f0f33d65b755d7ae802f54c9d78a556a6c914b1eee8b3aa7a2a9445e19fdbb1b439fd75f7fe3edf694c9bb36e0afd8958a482df56c117eec4243dc119a95e17b8d023c01bb1652919df70c1fd00f49106357f3e0ba721cf9b2e016dcce83b4c7e2cde41d1533b4a3a8f59646b991aed79e52482152eb1eb263229bfa39c1074d085091e0a4c2b5c4006b5f3137033710a68a8f650168efb5397e18d5a704dd00774b16ab7f24ec7b0742483296eb31fdc103b05329bd1240b032877e88d77f05291b60ee2f713982b9ea4e64624b5bb885cf92c01cb113757020d31457aaea3e4b5538359afd200159d3ad849e91268f979b6b2bef8a5f047912410fcbc963b0b6ce812bab2f54049f225ad5363d02c022f0d115afffa432a676f36fb92e351dededea6be0fdeeaeed47c11f1665047e9cd6f2fb0008820b8cdc8a336cd1b5f26963eb100c8b604824a784402d32470f34574de6f092a355def90231a0c44f720e3f2b174e8bd678fff42eaa57eaf41d226ff61ccd860e8cf40f1736b3bbfc0f92227e48bc73c253b6c87723e51fb19cf06c95c1579b2398e59e266570d05e1c12c494f5fbaab1142f9526a4f931db850506adb3f0a1a45637fadd1ead235d7c53da6d53c207fddafbfe7222f92c919774cf5d2ee42fac7aebc11d19d4c1e312b2be1fb489a0db4a328c5a1106f2ab61becc2335275c662761a0d8fd7749d045d757f513ae26055c32f0f8b726a250dcb4760ae2a4a86f0fc24bfc41117b7c9cf092c160d6e0384fb665fdd36a5064269b13352ed5a7e9682720208ef704b7694d759e1c8cc4389a59baf23d5187cca7284256a98a57bdeed221e9dd4ea82f8dd5e7f7d599966c3729242953c3518ef063c54c01878cd94af3ab9e9db7b4830f1fe0c57e9dacb1a648522a2bdfc6da918281d9b4aab138c87f33bb10bb38ef2a7b88de9083648f0d50eefaa92a20986e16d6b21888048410f6813496fccdb5213497f292eee36b6fb2ff41052be5d9b38ea5726f12ddd8ec6c2a16ba92f3f2b3912923e1135ff9d3b1fe4f7bc6c1ac5fce25113193cd69f661394d39aef0c141a9f6409b43479e3fe35a96bdbb74a04b5aa98ba253557e3ef32ca1eb0f748d9f2467ca3f1d312e159b1a7bea2c65fed42d6a971153e5827ac57eb2f9c9c3c3fa72fe3d544769f4fa2320358b163ca0092834dbdd6b60335b0a9d73beee3a5c5f84a5a12bbd33e3322271c6f416211905329798355e351030c010c74b3bcb9b322e98d21e9db776538abf4f993656be2404b61579e639aa896c905ee69989bad4d6fe043739c26bd596fc6d3a5b773d4f907e0d94cdf8de22a1246a092b30e4af5f4ce5b283a8a672eb1e94d9db05c58ff2a56fc28d355ddf1dd9e1767420a1a953461d25de233e27e493f0f8b2d01c6e15bce709a247ef0a47b34cfc127d89f8910787d865130e6c69e4b05494e8c953b1f341e46aff0f171511a7444f74955e68850ef0852e66335daa78a6befeacddce75df669265f183fd1d3f8ec130a210566586bd18d9db89ebb1eccca1b766958a66691f394bb08be2db4fe7c36b01835ec64e7194c0de9622286556d6523d1c1b0ddd82d77825dc43e89d572e79d403d817d6d4c6cf921c12c11683fd1c0079a6d65db305677aedf94aa25af117e9e86f0099bcc1842e10d011ed12fa782464bf23d140649fdb2dfb6d3812bd8a781e5242072be2effd889292319f638261c22bfccefd3317ae6f999e797b9ab05cf2b4487c819d647b71e676199b211678f1b797803ccf81693d0a35146c2a8e033461e1ecb64cce9270cc550f57eeceb191a47f07627be29c3959a78fc92815d7287cf841396e9252c20ea67131d7c35217e46c177c4bd839290e282f7f8c41bdd112f6058208c3a1021cddc71b04dc1bb4a9d98f2fa2d903c0d53803d09501432f132e334b6024c5612db15890af236fafcb216a6cd39c340a45e050fcd77848c3e5c57c7c9a748e3d4dce724fa905c14f77dc0b45b00c4e6786a518ab5601666429037d0151b113698196d65fe29df2e244004aa88274b3e7b8df34aa3f7e0770892640920ad79dcdff6ef891124ef5a2ae315db7db8ceb84bbd548ecb842611c234c3e7143224b074d10b86968b41de4f10545e3ed9d629ab8e84848a108138ea685b2727076f6b6dafae4bf413ef98e585a91dd4104edad192bc7873bfb374d62847c23bd2ec2830bfca39a0ccd3cf6ef40b1da3d9505f1db00c133b51035a1ac87c98b2b63fcf6de63079b551f3c9a8a01720a44e317967b071dbce5791a4d6ae88b0a006f6c82a3069f9734ea4c4aeab6a10b07ecd28b5a792fdf298664899186979b5486b81ac6993c6212a5939de28515d1acf7a20d3ac820d6dc18dcc4f2aa49ac7bb55eda9f53f96fb0c3d757a3d473e3bb38a0f0c8497b934cd5289d4188b0a2e8f03df8fc9f9b476188251deb9d3d3e69e9dd2338726a9c9db10e220f5dcb2190a4521e20da7bf006ce718131c3dd77930b82d4417207cc6eeb4a6ef0357ac56bb56c558199cf4b9f95e289914ba53961630d8ddeaf584ce037119046e4ef94b88172008be3774c664066a2c870ba12d2ed7baac849b1dfe2d44a1bc30ae68566a2853e823386099e661522b2b8cb64b7b185989d5e94944cbcc48b5b03b439b3a903b39c8879f5549d57489a0614de6a4c9e09168823f527982eae6d4f197e576c5b2f1fae6e9101a9598254fd6086a4f9b1c48ae79caf40a40fe0a2e95e9df27651c8f5314a7fd9a0e6d6b24123fc9c91a907d91b4c399554c3a28c9b2338478414d91a039659d1d91884048437e3a9b8cf9626a066c4f80937badcc9241b13775d94d302a224d3d7d0c2ae48eade83e150141266e9262d503500e754b71eebba739ac35c538be51146302c4e3df5ee35232d89f8cbcfc113b01abcc5373d3fb2cbb8f9f4e7a5d5bdcd39736fbc485468e17c6dcce33ca4c0e83ac97a507c5ceef188cb1e5ac18b764a510e27841706cbf4b3551180876bae539eb05e25ddc6a1399f17a71e2f39bd94f8e38a52a16906d7832f2bfc5398bce8c07e001a2ec30ea8aca706711f4e56d7a2c662605b9054ce9911fc2741d2f8c4f7a9f46a223f6648c705fb8bf0cc8375463a10c032d578f76bb48d9cc34ee33cb9589cbb4d693f05ac8ad21032ea3d0c5253356c044770a57dfc47332d4208d8583d79cbfa6ac05c342ccd2a81074db0f5911ce7cb226a307c1bf0e8b034ca6c0b16338545abe22c631713abbef79b7af5a7b4de0c2937717fb3c877109ac3c2ea404c339742f561bb7acd318e954dbbc6a9fc654bcaeee896bcb68049e8bc3e091a69ec2d5394f14abf8688313a5d3a4969c78c65d65f6e3387704c5e1c81429fbb65c5fc5bb013c60e281c8a32d779d4da85cb343ab784a721cfae8b759bf08e6187c386cb689044239afa6e493648d233e411b2b2b381a4167fc83941da523548d381fb3a3ebf952c1248c33242ade5532916d36af3b8fb112b94681b096317a968062b0ac0e438e872441a066aca6c00695287ce982b43b23f44117d7bc69fff5f2cc06e5044bd86a2f44d3443ad0a6a616700ff5516fb34d9a99e6880563b66ada17f6534d8173dc581a428f409bb1dc981feb5ac0f56a80b64a266306c84e7240c60c4ffde320822cd632bc6081a172e29ba3085bfafa11950a513f3de6f058d3912b6e04c1ad013f7081ae54c35d486228e6754a6a9ac128bbed70b2d7e09fa53c571bec72fdc6dcd76edd2917e7be8fa415f2bfa12990a5636b21b5f2d4aa7953a3dd4c36627af9651c21f4bd4342db5330940a49517595930c8766d69e6428ed70e8ff9e350af582fde22dfd70410c768888a967c33323061bf3b3da6cf0630476b506cdc3bd49ee4727918297d88f4ecd300991fb3d1013255a6143f0ef9e4f393821305dae70aea635681154e21be2a493519d4e34d3a665b4c0e4d87c18234c241b50fc2c79c34af6830e5ff12e2483193766d8ac1861fd8345a6444ae5266572b1c37f7d8b79497bd3228d82cee20c0ac330cc9fbffe2ce9564ec79f7ffdef7facbefef3af3f7ffefa63a463f937fa8ffff8eb4fdd1ecd99fd7b3e8fe036cf7d5bfedbd44e5d0a6efdbf8de7f32f309be7034cf7bd3c76f0b8c0bbccaa793a76b04aff6d9f87b6f8371a82fefd9eab0af9db453b55f3df73511e693bec7fc3e93f9dfd5fc8fff5676fbff2cfbf280885a0bffe8c7351fef91786fc27fc1f47fb8f1e0221f0bfc1c8bf21a487c0ff42a97fc1f0bf93300240d4bf20e8cf5f7fdafd7f14edf6e75f553aece55f7ff6f71fa77c79fdf9174c90248920e85f7ff47f4ca3284c517ffd318676eafffc0bfeeb8f3ccd7ffe85401801a118fdd71fbf2dfefc0b87e0bffe887fa3bf8938c5df86a0bffe5869f13ff27afe1fd09f7ffd7fa0bffef9fc6f7ffd61fe26b92f65feb74ff7ef0926308882701ac7fffa63ec7fef60180e93304520fff1d71ffdff529e80118486ffa73c0923d03fe33ffefac3fddfda87e9ffb68fd2084653d0dff6d9763b9aff451feeff3107ec30e7fdfeb7ca3f8bfe3f13844134f1d79fdf90d6fb3fc110cbe99f59dbff2eae7fa0fd5ff0efe0fc6ffff1776135e5f64f26fe4ece1fd0dfcb6d078b79aa9f737ac17bdefa7d49f312dcfaff2ab5ff63a5fdf9eb8f3c2ef37658e9d1fcffd4ec7f9ff373fe9f075ebad5e5f19fd899e7ff427a7ae4cd9f7f4de730fcf5c73dd2a1fcef12f967e594e93e4fff292bcebf7628f7ff29fd9f9eff7bc997cb7f63afdc8fff93f4df5bff270d7d2ecebffdfdef7ffe8bfeffff3bf60fdb76faf3af633bcbbffedf07ec1fe6fa5cfcbf0c6f3dfffb3817ff2805e5b6b7ff7c7bf8df61e29f36b0fcc3f47ff688ff47c2ff958dff95eef01f7ffd29d223fdf3af3f05448b7acdb07f3728c61b778681fe46bc74de0ce30d2ee39fbf98f9bf1f1694888100e562838931c3255e23c8dcbc41b1dc993623204c6bf3d3c768d367332cc7fcda7697b016cff4e974194fbb165878af15523dde3971ee1cc76fff9d3552e37db876927b36fc55a2fed6c32cfb24150882200092482b9b69f81559d23dc020f9d7e6307100f346c3f7ad944d8e39447292ae492c4ab448437c1b04b940c4b1492c8eaf1034c21b2e4d232945fc4ad3e1bb9b2ce6b1d0e1e53777deb827de1d230d41e9be2fc1fdfeebb1eee9d6b0e6244c9208c51f7edb13aae1cce3fa4db1d6b3f8beaac88dd8c63e6837e072869058ad6c343faadedbafc3ab020c20c851a4f3989582546899b882d7959566d605044e0b0b95878ed0ccc325bc992520e804c42f9b3f0edb5fcf8e8efb9a84d08c229478225c49e6f9836666a0320ad66a170bb6176a128a0011ad65f25d7a22cb4fdb3ef63ec1c4ed28e86b243487f62fcd343c4ef26cef866678cef3f786f7ed2b3289fffd1856b3ba57a7f6b60066c39c4e433e6a87630483673d8906e9259c7e7aa47cc4c0b2a7876f6b3718369cfc4344c4d5511245f7133b6663552550b3d0fd24b0099cb562d6103db6091c88b913ae110fb1019ab5a48d088faa240b7c3cc6e54acfc49b5a8ed47ebfc0a49abb091347c0505ed61fed4dbb469a038d04739a46a721b135fae410db49ea51586dc32fa4cf1a7d70beda796073057f1d590963cf1f0a0b6418996581cf2df2016858dc246e12d36e1b7b74f0405fe3a5f86465006bbcf5ced9317a8ee106f7dfe9436c6b4bce70affa0c0e63c1c423a0993ec4f32398c7b4d84402c3b61defd7c5dad99830c3069ecdbbd8bdc36fc7f8c8b38461726cee730874160ccb12a32842c7f081812710c1530558eb028c58f5cc0b29b5538d6874067d8e4059175d753df495aa2358620f16f7c47bb74b6c9fadfb88203759ead12408b1b7e641a700e96302e99f99bc6a0c063a13201772353957c3acda401df8ab6b0660406ba62d408532d181e4f0f7fefada13305dc16214bd0039ce4e12214830cb32989b68c2a7b574f5915ace6ae34dc9f47e59ecf6434de1bb11fdc13da1d1171e9c26e4b9fd4d3496628da08ecb51cef74bcdcf3aa8fe98bcea1fb03b8ae32aaf7911f6381579e527427d3a13eb9834cc6bc846570e57e4d242b5d05e8d2b967632f4599c06ba9165b3a6fbc1528ba35acf13d79785b57ad7d9770d0af973c2856cdaf5a64bb303c42b8a606ae4a96d7f3b2272a5043635c3c43cb71ec7a4805a4ca275790a49f9ec57ecc46042acb91e7d45a087600e0f47e18ff55ff09c5f21965bfec2fc50dc9ae80e44ba6f1d32e6a82e6276eb5e940bccf627eff7bde642a9773956686a5b16c4dc14b68413194148098569e5b652991a13de8a6d9d13ce227e07e7a58326e28630bc5ab36065b1e0349fa74016b8ec5566db12355d2e9b7ee18e385addcd3875e4c76a05cc700a2f0b5c915fc406b4b4f3f5db371c2934a342c850a3b8ceae5995417f4f92a9290ad13b51a4e9d4e71d949ab6ca3235bbed97ecc31300042a0cac5b74105b11c9422da50979bb4f263cdf60f202dff021e5ea19946bba690d2fa3922c69df82be9f4ea1bfcc6cea43189b2d853dcc4f6021e42c90eb2a0589034abd3f4bd5bdab3d546a25b0dbc0ea6c95b1935b37ed931d9f6554803ee3e5c5bc99e66b123494cfbe348010acaae912b9b87f560207822a250f3bd3434cf0944a58a2f6db80256ca165ecb4c17020c4010697d0a254d277ed4c9b111c19e6636eb055a686fd46a16965a67613b9ce6586657cbbee7d66611e7630f09b1566483140254e7444750213a0315d361846cd67460d6be52deecec9f7ccded4cfd89d3c8abbe0ba70d787490f0755953eb7b3dd661c04f6f0a2a1140461d312801bb90d432b84bc209fcdb2ba94a4474991b358c372368cd3c67a489777411fce9cc806d706ac003030d18ca9171a6741dac6f0edf81edca88e24abf8b3aa02950e085a1dfca09e19cee14c3b63b95ee13c4511dac567f8c56e44dfcdbb532e46656f2b39dda9c48c3c59ee59350bd4d72b47a9e7636dc1a78e9e5d3b588ef21b657a85a794a4433758e180bfd56abb99db1f5f6f90e46527de4c90e4ee6521d03245d6fd5d37d342260330a19fcecdda9267d7e61b538f01a6298a027a10c5a3025934168060fb9ba65703255ec487722b336adc1ff812d1959f888b50de4518c47aa3799981540860744b7e2c74ae5537c7098280d9f1c331224626e09994f8359724eaa260bb16b53cf1f1cec8632f0c2374b03cbebf4f309ce2aab99c888d42ae4df95dd1566619682e3308d94081f3d6f2d3b8b72fb0247956e03cec166b4522bd9252ead38edb0edd71708171ee13e0f4d8ab7c20e875abf8a051583ffed338b61ffc1c84e97b9b6d080221647ea1015257c82ac23dfd3083254f62d33707b315c8098f963bae25309f14ba185ac8c0a352898b8b42a24b43e9abd6c9793e48388d6a3aed880495fcab4032e29c7794839046d9c0386a6081dd56d49277bc87de924734e9dcdf69ce407ae56ba0aceff3a9c816062c17cf97f02b0a105cc9cbb4d0e329753f797b64200b902ebd8d7d2a3eba9efb27b95066357db397a53e6d17b39b0c06fc3c2a46554676b9660e0d17e24d94683056b4219e7fbe3332d66c52d07aafaaf22751d38a480349696f782d2a7ea4e6b63f0b2459c4318bbf2933bb2e03d11f0180526a6607f0a057a9817aa81df804f904c9cb406549e8b31f6146936805b6b31a8f0644d23fad44688cbb153eb658815bf449d00f3859cf6fb929a1761317e1567e4b2d4b90fd6550341aae84e3850022f760aa04add3867060ae3a7c0407cb75ac90bc2b0dce519e2068b0bce80cf25dc2576718002c3c994a0c5dc0caba0079704efa0d1ff88c0eaa5b3738d9ae6c7a6ff404ad8906401445e061f8c64d84f462cfc8468fbdfa6740ca3aa6f80589fe4f8c3cba34db692b259de2b8b919589d402da3452e6e76041a49946be8d6433d4a12b0e24771dd73270b00f384257294f7a44140749f9648c23035ab002f878b93338a9624e5c997cab0594e5c3e1ae0118a5e4d498f8eefeca4dbffc9be4ac567999a0a4c765e36b698c33e9cd533b73d263f332c07cf7c255c782a1de6c5b344b60dfd10af1a06d99e3e5c3d42721ebd13d1021db127f47d700d81e8c2b54a9522b1915438b29557de1b79b4b862e169de8a5c31e6c3b7d770841f0622f87d4b4076107991e5caacf7a070697b79cd3afb414d5844675fec857b5a33d53cf7d19dd374b97e05921dbcd4c8f701a499fd6e6667bd8ef6d5f8454ac697bb6721eea5760adafca92ddba0d15b8bd775cbd1044295c77a37757b43fd83763349dc2313ed43058641b58f4511e66388eae589fb40fefb49daf29eefd8155bb519edad87dbc62167fbbb321be60c2bb2c3a8eacdf2b3a1c50744b33233e75576154794c7ed872b32fcb8a50cf3d84bfa5b0d13d3cf0e03a87794dd27e3e3a52d602516aaf310c931f25febb273086a60504d0a791c6d47467ea0632d3da65720cceead589c9fdd5849dc21953619b0beaf29cff4ef9382499ac12b7950226dd2cf4de5bad79d90915953e9e656eeee3d6ceef8970790fcc18363a43d9947257914f47204f3a594bc371bec09a76b687fb48c710b6e44c1d86f6334ab3de2b032c9de165ad051502cad6ad9c76997b6cdd13d80c24f318d60d8aa6b549b26219b808374b24c9ee7fa8d024c4c41da619a1e1bccfc95c309ae0e18d1007a64eae3ca4ecf36184bad67153e51e044411dc1ca086f571cd04c9d1212c0b526ff3ac4ec0bb158d03e51775807d44fd573a565e16e8d50c8eff171fead939967ac179d8531b1a42d207e8d9ff79ecab281ab2bd9c20ba496ad7a1e3323d2e9ba310be31c0bb22390a93917e1b2100652bfab10333d038f7aac6bf19acceaf03526efa2acd4b3c12b202b0b987c1127e6236b425f3ebf7e574c36b22761a41dd981befd49a9b515a51691939dc7569d2d23a30f6c7271a9bb9b22d1858546210d7c5e50152542e7456343f13d8fd358607daa2d592fb8cbde104f388fc1772f74c370b201b9562d191cf9a49365ebe228f0e8cde79acb40a1a31c994f8db013b4209b4c9711f9d8e8e0d65853d91faba1f35938713134777bc5d8c84543d716923353c92462c18f0dbc278ee6e6ab2987345dba727e1120c0ca67173b4b84f8456c154780ad118ece4e06917d515b0f00432b6f912cdf9817fe00da95cc53575ffdd66b3e86be308af570645ea89398d5dd77e242851bf8a100007d270395aea14c07eece5aa8080a24bb5bc76f8e652306e72f918ca5daa51a3e85155d06f347530e9f8140ef272fe0803ed194c8bf50f82988df6d5e28ee8bc35aca8a6b9a7fc2f57575f71af4aca54f2a914ec1b470e07324ab4d100abfa61e7025ea2ca80a160ffa76fb23bcc2f5b98541eab357922cc7b312b48f238c8d457eac6e86279de359a73bc8a487da926d9a68e461b1cd952b0bf7d671d665d0469a1d5eb45f8bef3f932427764dd9f6fab0e4d90b56ecbf05f92c40ac4016d5d598b614189458ed170200886bfd587c2b68afad51c226c7f5db084938de6d47a54a17ae04efbbfcf6a3b82cbe74b7f130e8d61a6a9ebe6c08a64727076742ea2576d4f60aab58b682061553d73bb8f58777e1c0265b24e4782b98d7e828cf2725856321c3dfb5a7b78c1045f7089c06d1169bf1e7f0b5007d95724e50e50987bff27bddcd88f095b7359307e738fbf66f8f7fb417979efcdaca275f3a59ea2b3d09b0fab68b4a2e3b275a3aa32d38dbbe9b56a573f211aa00d6cb61c0d98ca1e854838ebc933a9c89646c1d693b84458626913444df64e27a7bb0c7f9e00880296f80e6f6f834bc308a33889959dd38daefbdad27351bc361c8effef6fedb3616d6e2de1dfa9b66c954a84f033e9164e8a81f5995f61a31df03ff662da5b215fc0dd2c8f41e0c7584f3c6f600d7c004ff7edde1356036fa53de4dfdbec1c890f32449ded0bb343b8e8ac511749954e84feea26f6794c7312422112ac5f7c0c18f8cd6c15f442ed7dc61d578e6c5dbc5be9ee1b05a953db6dd553559a72d5b58deb7e6de73a3a416372c32874fb29aa3e8d7ac610599ce93619c4176f0d85da3b323feff9782bab6ae100000003810056e25eeee74b83b7c64fabc8c70cd09ed85c7244854881c12355167d0fd4ee76f856c398c2f8655060e3340506b857e7bdb82138b23925523215e6a0a064b04e5f09766c9d09cfdbc0eb2f1000a042b111fed59280f746eb4c10e7009bdabb9bd5edd4f083fbd480d037de7d107fd7afbb9f52ee1af1e99d9858a5606d3127af852efe483827e734d4306867f2a7940e9f743070c16d9d18edd537453328aba1fb4a148abb6eb19c35beef45610fcc24881f339f81561126f4dd7dd94329cea5bf9601512f4b3c23e1ab8525c6a640ee9fc3c6e605298e35be47e3b33a705afab0a8ab0eccc65fd743ed5381ab42d3c0625c1f94d002db6947d2df677008f1779dff255b57e13d43586fa4c7ac1e19e1199b75dcead7194b0d5041fabe0b28c3d9b13f2d37e49dc2b55f47599b2c007c83866c84cf260ba655195c0fb236c317681a95cd6004dfb0f3137a5ec7d09728e3bedf48dd8236591ef3170dd3dfb21c886239ca5ad2d8882743ad4d359457e710204a2c74f61e4ba482a731469862f09d675f7e7752d2847a5cbe224231aed41b7e50c199f41a54e0add023ffc92a2bb6d7f69a3c06be0f0dae237b3c76e303e2381c7d6d8c1225a1166ae2f96ba9e2b99d19c8811c7b8f9585350cfc56056b95ae17e20cd955931d9f16c2737f815caecd5faa291d109fd8cb387a0bcd2e90f7e756d1c009304010729bceab109c3a7226aadbde63c92c9c9f1488fecf72e54df943305b1454ad3d37ec21838c1e8c0fb19a3b0c6b50aedcf67c5c03691985f3a3d1999fd62ba2be9df99ff0405f06a227636da9e3409d72c2e5bd2399e054d724cde586c870924e766496b3306b5b5b5c05aa4e025a655dddce1270770e180dfee9f3a0bcacd4fd96565f9b49124b63a069c1f73b1f8a8ee0d6d3be0e3e03a2ed050ca3530cbdbd796af27ee544305e9b890d116fe33a56fd67e063df3706ee2b4b658472ec331e79c37951c8ed303945fbbb416e6789995dbfcc11a13bcfd6b63a0050f49f3f0f303b34d16c4ef9de1d85b7c0d68c5b48713735d88c1990053466630927f9a68cd40060cafebe60bfad8626760654578bb148a3ec3f8b1b1d953f69c9c4f7f36cae1479ef4798df8f6b594a590fec264f6e18dc3c41a106de45089d40cdefd8d4bebbc0ff537bdf60b08aa071a99cdfa85ed6bc5c21065da30facc750e46bc415089a5fba92f9c5599f0f4812a096ec17fa89a0b694df9c8ab35cef6bb1eb15f9d4f49a308fbb4be7c9377a5a508954c8d247e8cc070f2fea0642d77859156f8d19bbdae4bf99620ede5fbe69a96c527e4d1404d4117365396ae465a33ef6b65c6de698c5a51a17eb970f30be1c04c904b435331ded6050980e8fa1d6f957c2dacedec8355d2db4e4f8eba55de5b369466c6d6eeb09e754a048419be825e389fe5554dda50e77385f29f422d6d7ed323ea16fba97b2a3b86a315da139d575b7d4b2a0576bb487626354218f989b123a0c47401d830b38cabfb9955f49ea88b6b11fd361338e2e1d7f7cf20e20329c8f1fc2414bad71f3fc1b33c83df37fb50bc72570d703ca1a91aa535b0fd0e23863ee57400fa4cea1f1b721b142bd376f81039756f7882d32e1ff2944e849aeb694d3b71c2ec4526807d9c2565b8e606558df1aa4727c02ec821e06b591098a933c804c70c4246594602a297dba28dc037e0525d426a51d82d64fc331704f9e0746824423f75a4c23f4b5e296548ac4833c12e39ed7b9442d3b4c778c6e385df0df816c9393112c6fcd109aa3f0468acc346919ce01e287c5d50406bf56998364943989602549c8273549bc762f7fdcfa5f8cb50db8fb886c376703a07f5a90024df317c39e68e5d04ea5914e28e9755562619eb4ce5ca4490b9eb917ec6858fd8321864fb7d53636fc5a7ad147f0a589bd0d5ebd31aaa1595fd20e74aa9ee23a9813677f1b4d469eafac1d383791d7b73b6758740423c24d6df3860a647cceb688fdd160407e2e005eb1e15bcfee0f6ac4e1a6021547d49af4010151acf2641b4d11a350eb4f00731a1288e3fff52abe6283c486f7a8f1b305f754ffe80d5292b83603286bcbf0d8a1770c5d088bc1d5a578b4f4ad04eebe4b7254ff84f0bc23371d64b4cd052737518f33062917adf92e98db1308518cdb7aaab2410938b20c878989df811a475699703b161a588a6d968bba5c69bd48e5e96c5b7ee81198816dd49e15449865e87f069fcf54c542163a2b5f3d00b591f1e7b526d384f11a56814cedf7a444d3eacc8efd6d173e035e499aaee4ba71e6f37ccd59a73942bcd880af8ae8946f86e771dba9235d4575b955e707e478b2a317713e1a130b5d637fae4ac1420f749468bbd7c84de7384cfe1e3856f2aa9db32ac72ab35d75fcaa34f96b8b5b51a356e6705a6ff2b4d482fcae413ca914c289d10a1bbfeb08103b4a99b954c7ff30c8fca199baf01c5541197f388de3bf4fbe50de954588a9f95efaa896c86ead24cbb59a685b82a57c0ba994cdfe9e566b61bd0cdee6a9306b5a79e83a71e0c7bd72c3319bdc1ad7dda99ad55ec0350bd378bcd0936e32a3640a8610b9c65413dc87ee10d3ab1a614ed425ed237b33297b7f878a6ec3627de9edf314449eef3d6e7841139852b81c9414ab925551d6e7a57acdaafae78c265b487c5d542d8039d1ee707ef993899c77d665a7d088cd3af1e377915a7345cf0bb4bc5fee54d1be6a5dce6df16c99800d211096d46473925bbebddd430e9a753e886de1a87841b0ac4530d377671ac7e03388344f3d0bf50d035db5d7ef8fd252ab3ad3137f2ab8530b2b5f6fead2796f9c85f3d0751852b30a00685efc981f4e98ee995b3042777d4f6cc15fdfc61dd46020e7b9c557720f4ed83cb6a7c1c595cd638dc13faa9cd5a7275eb6ff62bf1f9a2a303b81c09d2e0b336a2ad0637e750f3281207e2c7ca113bbfbc26fa9e3473db2908e73b06fa85049cad3a645bd791ec5e9b3a579062515c0584a3a4c69bfef09a8c5af6c53a171f5fec8ec6640ebd19f6402cc6042c4bf8c0bc75a38a9a92e9417918350400e83e9ff4f9582055f1eef947415fd643507637a32becc0a3528600de7300d6876e467158fe2a49965c27a0b74c29aedff17bec61d0867e0f5bf6b0964b1e9117007ba7d76f10f74cb24d584ce3df6202b461c23bb7b5cd116db1a855bbdb87e2a4d5ad8ec7f9e68425df515ec412cfec4c6e9741943c109b9da1178b6013f9983c317d78a28d1ad548c476e73f97472f22ed755ff5961806a7fa1150df94e8c30d6407d43848277856c294d063024939122d9fada63647ef4d9be43399b34a816d572247c2c442c23966cc125ce6b416659eeef7b669b812549e0bfdafba9e0a118aeeee1ec12c673f0373cfcd47e348f5944546860be25455c4ddc325b1701c3f59c200913d0b33bf57c439e440dcc4617ecb6648fa121807b3e26659dbca0d25f837424b78b3299b6452ff30b72b278d25889d62cef202d07076da935f4dac45aa820b80014a5e05e20afe4b1a7ac4217da4d4f78f23c8a05db88c00eda2f332ff59e25cb93e36339bc4492d5aed4bce2be01498470859722e0507c83b159fd6f60fc0fcb5a6aa4c6d64947eb544cdb136e4273a5e2e4db7d80f9fac6de96bd689cc6dfde492ab731d9f07270e2f1eba8e63dc3461fd61adb8b0ac0651a4420c5002f44bb9d674f04805977ad911347c968cd59c2a26f1ab17bb653eb0c223112487ee1d3b88df617697404948589393af3b159ab1b2d6ed8c4c42b7870ed8d129e856fcb81a58971ac2a3291b0393b9334e76320a0e365c76a0e469d88ebe60100077bfa9ca2a20054b7c860e128c83e49e9c80e422a27c22843b92d3047393ab4c1a1793537b0e0b1db4dd26b313cbffcf59b499ba57fadae6b352952f7c0587c0cbd339c23279a3806d8c18e69aaf7c5fc9ca89cbcabbd6edd4acbd28152c0385b05b568ae32167a459898d4739e83387140d5b2556d1d5e790b53dc47a0b176b9f3c053c16c1ccab1f750c08a0ef2532bb352569546ab6be2a03a7b1c00629bde1e854dc4f06e812c6dae32413dccf514cf2b281ef7ce1ac4dbe3accc0d87f23a9b8b178ea814dcefc1e58dd0eb254fc823ba61e57ae9be05b26866851905a4fd247ac43405ac882e5eb5b41413414dead4875d5e8a2a707b1ee6783156c6eed8ca550c67287d95d34d4b1c520a58a756aba4012033f5e535e64984d9ecf79b25c34c1cad59fe2565bdb9aae57d2c35976a50ba320c930d68c220fdc0e682e3c4f9d2f8e8e923ab39e2ad6ce089d9cd0200cfc989f545c0768200cd30d95b03f2be075cd074664e490e3e56eed3602d08b88a63f38222b549bca483eebc2df64d597bc2a3385abdc7b9ae34a8380fae1610498b96fb8e0fd139436b8dba844d62a687d3a43e59d8eed6b7a4d29d6a374061e60567fd1fb0e18c3c860c1abad95ab165510eff2b1b9f626389d1b8af33dac99d1bd02459655219ee09e4e7c3fc14062c6df9ba2fbceb2c01a2497bfe6b6af1f188f8bbbe7d8af4388beb525070aed15c411f75b4fd02e557a9221012997b0da6ef633e7fe84a48a038e31d75647ac72806479b1998d329d56575957c960ed4d77d6dde5d3c36c6018a3fa97120bfc8a1faf360a6f96fa932b11cb0253e16e63e7a8c1216a3c3fadf7365230bcebf6eddbc5d5d6f47c24940e2f221aa4452bf3b0f368186fd347c2c42ebf07b4a5cc3000598fee6c1c48f924889b18dbd7ecc78ced8bcb74ca7649d6c592ec97668ec456ca72663c1e35a3483d1cb95a9ae8061482c4765e414c629e5ca13806b7cec3a63e5906589bd82e54c7d70a1c32a3b2913b57c235601ad2eed3ae3b32b599ab3e379e1a8fcca8b3211f1f16950322db9542b14233678bba20cda6f165152b175ea3e1cdcebdd11f38dc4d7f8c8c61c0688dbd747f740d1cb0f398f7e9d290ad9997419439359f4eade8f38192fd71e3f8583399cfb0e931b3d850102d985fce2066db2c744ab1b7be1addf1091f65ea3e4fd42a681ef39100732eb2ac663d131fb82345ca4f05307dd704a4b5b11e5f4f500b0e8d74261c8f48d6c3145042da252b201b86ce77c76e99ba9b1c66ec4f39ae821f751361060b7afe96750eb29c2755df7098e93111eba2d3fbfafd24b1a8f401c9b0ea39caf5537ddb8eb9861029c7eaf0d00eea06273069624a3938cfcaa57d7315961539d3f240e414b750ec56ea2adcafac9257fc850e0c56b48a895cc889f253ae206c7fbc50659521520b6db4f21ad4fd1ba9de85342a960c42e106136e8620862371e915a4c81c9cadffa4958f2097d7bb54aad5dfc67b74375d2ca8a91625077d42fea264aeae7821be6b1711053f0f3a6510817ebb93069f685e42465d4eef61a1fd32f6b16de1a7a4ccca34dd41b54505e180344f479e6ef0ed77fba5ae6c040dd404d375eff713843738b92482eb2ae6c3d8dcf36296b0a5220fd2555245620dde6b7396edc94ce04a0d3347a803637403180b7c4d1702760e6ac719dabc32b5163c3c2087fd01e4298da1f99eef06da906e0a52985ca148764e9dc6c987e1b89675622c16a2e6bcef32549e88ca4104e139b4c2cdaea4806d228fac79af6cc876caf92e213639227db24b28e82ddd2c5ac5ba6433805595603002dc4eee5944903a4e33bdce50bd05123ff54422ddc0e3fc2130fd8b564f065e55571de5c6970db4830bc314a45dac291b7552e5f43b5e9ed24fc8f0e1f2fcd674b6d410a8dd78b52bcb17646e91bf7493ccc30f2ed22c42c573fed9e20d41c2939c9428de37a1105680e762184c40a2587bdacbf6302dc0e7e4e8e96e371cba9e9dc3c8686e84f71bc979a8db02ebbd61d88980d2fae62188c9cc7a9ad8323dae57e95774210d4ed0b4b3b290d5ea36969201b502d5506b975c353b7c9884907e355ce543e1f8a366dd658ae8dbe3daf94ca1630f4791a8702a24f40a57bf6c2c3407a0dbfa50884155d467878150037c5ba130a6e793ec5dafb77f40de2d6859f89c54986b7df2677558596b628d3687c6dcd816171190d645489540fb7a982a8d5f5ac3beee3054409f5b2b2c4cb60bf083840dce8b060d981c8de29353c7c09a247a941826efdc08a720527d84b83df38cc9b7b8e0f8a4b278e353df51d6c17e6d368e550ddb425b7300a89f5d2749b974ec7cab6d348abb8509c99612d510ffcab7895cb598fb68e1b8e7b01c4b362878f4c3f7c183d8b92ba33823fcf81ac2064a063e95d58cdcac51c564f3fe3911a33cf59919f19edf10c2dfb77c48b6fa03bba6daf0dc98728639dccdd91dda6ca76ec2cfa489fb56fb74a8edab1f73953b00482f6a60f155c09affe17b029f73f97db6ba29f1d0573d3b37790d77246e40767d9709b8dae8d60aa08cccbb271a2368196cf48b27389872f75b0f8d8f4228f76084c3020aaa09edc468020de3fe59fdca266c5af266ae7f7ca1c132629e9509c843aba69ad29c7425b541c2fc0c2508c8375d3bcd7321e97b53386204dda88f16f36d7afec4a16d18fa9ccc372dd05fba9822fb1ba4d66ade4aa16c86e4d3146fb28471a40baa9742bca2c9bae141a65f59104ec379f65ea5cd6dc1a0495debb69d0db8c8f607b184945ca1c0d85240197e4f61ae6f32780200590be02ee16adaa9bab97280b1d3fdd0549a2fd5e323dffce60c9817afef3f2101524f94e82c9790dc7cee074a2553b21d187d00ddcfcd7eeb494ee8658346671b4128801b6859307fe1384d83f02cb016d8fec4cfa59b2930940b113bdc4ecedc8338d3a57bfcb9dc73c5043cf8f1db90ca56f155729b54d706b328a020e12c31824e777b7784280a953366057975cace89629dedb5fe3215a2b8c452c6a3de4939747943385ab46645e681a3ef579a66c09bc68dc9b0c452211fcf33b948388b9241b59c9be5372e693f9c9afaa407288ae6e76436cc75fe00d8c66d45c527c0bee1e76e5d6498b10ace410d7cd1be6f9629a073069701e3904594091b052b35178445ae0df4bc3f99bb50933df2886a79bbd76d3a2ce5fd06638f2d8c0098c56e33814ce6309392e0d377a9aaeefc5a6568e9d34abb10cbec5d9467d06fce8185c3037d49a13988d11f3bb484dc9b6cd4904b7ff94180c591a06b3a5def96718ef03df212ddcb2552f02c2daffb34da1c10906f822bae63be005816412038b87bcf4f21a06d1fcfb1efd4a7ea166ff0fc1056ce4a391a75e5fafd2c7e58989fbe536a7fb93a95d86642fe72063b98955f340954959fb0f410f454f9363a8a113fed83f6042435b2e91ddf7d4832bedd07fef05f47d5652344e3ad00524c7793c388fc14f0552fd4810acae31ee59603ee2b987f617eedd631dbce07e41621683f45e5cf014fdc4749b07df05472eaa0c07fca7785163c7ff2cf01a32e8d4f8aac3b8c92692c25072ad8525b150b00f376184ed0d222628dfaedd6af883e2103471ae489bad6092c82962d24c8884964a27c66572b57fb693f054c7045812c1dd17c6a76c19444d957f3b6a83496338d2e15a06c6dd846395c89a946fc91a671e2715b841efc0979eaf7c12759df7b922b7a94bec786ff1d3600cee38dbbc31ce9674b2de257c3f103ee096222263b7188cb1778c9f1456ac73458f8bff883913dc266b04e8fe717773a46c697845db34e57eb6e83a03ed2e95188b55b8ce83328e3e482f0bb3618f45bbfa006147509db4ce3ae191b11926d8d61d521007ca4db4703741a58ed62e2edbd83c4a45082651b45dd76fe2942da602b60e1a445d3b5e6a08b94172747e86c879dcb4f08e7daf6b36769b9eb727a323af8d10bc1351a1fb5f64725d13a6fa6eee90069107d5a3498a4db251a534e14444e4f80bd0ff9c98c351fb3c489ee9f50c264a048fc56b35a861baa4b99435ea151bcba1af181690d7902581f1354f9eb68fdbed7706d77bbcbdb51cd9534451afe98c67d71ae7bf9a2706afdd84f03b5927265732f2b80e5c1aa3d12f0dc8ebe5d0a9044785fc107a372d649abdddebb0be0774070307d63f15232878aa46fe8ae93e285748d7ad73d4359647ab3ce79771cfd6a998efe66f84e6dc0aafdcc7cb2b360b1beb10957c4d4a9bd88b83c25d628cdf25200c356a05d93be04d2d6e49f68aba872ddf112c925f5ab37b7b421a8fbd9de972044ccb8abd7d0040f470db627ab23ade6b0b8bd13256fc734bbea844c8ec20de6645b1038e51bf33de54bd5a8fbaf3efd86f20d2d56c5530d67e357d2cc40d80b0c32e6acf2bb846ee91e9666a8d9f5a1338ee8aeb073e24b63a03e360de8a1cbd59a685305940ee48141d6cc23eca5bdf5ebc5e83cc233f4a6ad9b239713b8474ed52388f78290c9a95a86d4abc5a72b5df132c7b67f7edea36735fad2c39148ecd2736043b427d998d5adea9a52422cde06bf183d1347e8eb9aff10b065a0f8843526e5ca3623e2b6478cf301076acf4b34d14cefe98ff0188a10453a2d0e13e8c4de079cd2cae6d7b1dd1b6708f431dacf3ddc51da94a2bc81a71a779a1d80148edc213da2649eaeb6701ae35ed418432ca4402575f38c4786f44072515bc64f1f59a6c834868729e4b2adb7dfb1383b50cbe56bba564328d72576b8357283b4c0cc685b83dcd712d4ba2daef3453f247dcd99b49c4a2592c21c98cd43327f3db3488378d0b34165041df323fd45b3974376d986e313c1331323e335543ce479f940c412afb245e199afebdd603ae31d7ea04a7dd1211bfa99446c17be23923bafcd083ccc63557797981423e565c15bbd15941ccdd92e95cbf4192362377cd947cf18781532cc9aab728c6198a82a51ff20e60f293af0ab20c3e65aa5cbc8057209246ecec51ab18438fc12068a02c541b3e33b7bc2261f147cdaba2f05d6287563d92351238b0bc568083fc5a78b52440af8beae9f1030f84bc9318747b98a597ab4e9ef2e44cebaabd56ff643f3fb3cf43ba05701e8a24231283be3f4f86543865c9f0862bf91289cf47ccd42fe810e3cb5ab878bc8e2415e323b21992f2f909bdce945fca69768fceb8b215902a8d9ab6dbe5d1b7e353ab19acf1afbcfbbfa68de40ef7ab695686fa655615e6c634aa17034d0b26a1740830f4017422472ee933a3257b629438b5802a5a97af8605e7aaac8cf2c660875a586196ec5b9c9a67dc1d10a61db5c615c25bc651988462d803916854fcfd2970a88c4b23f2fb5d5afbb432495965b0ebdbdb97b56b25eb62b924e9dbda184f92784d190851340b86156fba50a302443881b73664085cfdae6d45a9272d8ea1e3a5411fe4ee5f4f0f49353b9f5492fc9628048cd799e13bc32acde41f42682c924f01c7ba8f0c98f6a07bbbbb3690389ecf166844c9bef6b8f07e98d5d9b0e4906dd8f1b9cf939dca089122c80947bf41593cf18b53026dbf8976d036c28f8d0a446c1c80c807e7f2525ed32d49380aefa2fce92e02f1e56ce39a2c0a42eabc566fafe721adae446a95c3efc2168432a45ba484d4235ab3279793730ded6efe5a5f81d2c50753b89d43bc93ca7bfb5b4d4d83d4cdf323d3e07708c895f76155d285145c9fc01075faa6a3a6de1ae4e7dcf49fd9e46bcf1d5f76a9d1bb0b0b876b39b6878fe7b6b41b28a2de6a195e1fafd2daafe59f1cf327043b264cdb953bde80491f8e414480d252a5af10cf2063aa6faa3c9cd3e36c2449db90eaa6453847cc2065a05d1d37ac6d6c32986e42c2dd7c5a6922f216d3e74e73d0fb13b53ae2f3d41d7e017c3fc74c80d894c1fd8ec236f7c0227f455bc33cbba3fec754a1d95e30c3e3669ececec9c02ea893c49804eaf474d69eaaf21a6e6469a5047f9227c34528165b1c5809fbb8067e1bfc589918b84f0b64b8a6f66d8bb91c206daa82466a49bb2163a62172a653b1af52addebcfc4f9ce69c4020d00ec849c04ced2cb508f06745ae2945e70cff84535897e33c90c6a40c8028e432e46bdfd7ca7de7295fbcf20aec10ec29c50de17c36fe97667805cec563f87a6ae238a1cf429456d6b0f316a6da65ec6ad87e006c36ecf0319e4b4670e19f6dd1a536be3b203e87ee362050ffeca64191a7feffde14915de20a91c12d12fd744f0f3b8ce21455954d590c8699f58c43e1fee24e41e62df51f132873fbce06e891ce7ed6f0d1f81f661a0239a7acbe4de4762b1adb1a767634a0e44dccaeb13d3e39ef66801fce2088b2140e29f6de1d9fd6ebe11ca87d43c528c7257d2dda39aac49d19e77dee8a9de7f88afe3a946776bdd287c1d5bea38f06add90b2f3fdb87dcf21f30e32853f7c93a46f945f71b162e39181450ed59200e22a3ae4d339d4a5c862cd89afd9d8973c92d48306690ce5fece33d2244b823612764b2ea6286d5343a34ab3fc45737c4da4a73fa32e093950a79d375a425758336ce8f6a75a82ce1ec2b420f7d581ceb3043283f0eb07ae740f1150693f1931b41a04b30735fa8df4241765a1454ffe1ad4c880e3337403087cdbc540c352b8bcb60dbe289973b87ba12f47b5fcedcf13fe66ebea27c4ebed0f9914f08a37d784a97e8a130f3772e46c68f61327933dc29765c2fcb02183e4d51ed93fda79a58b09a3e8f965bc0eb833f031b7571393f6fdac97f4167b1cfbe5c703c18b184647536ca15d3d52a6c34e59d87e03d12103805d2bf3742e95968cdf3a9b39a3192f5491500fcd9989b4c3ca004ab5fc6222665115bde698ac5b5fc3932b601c873d6a90eb52b2f7c109f3df175a2aba451a4d82abeaa860206d2364742aa04d50c69b23ac9cf2779c1ea6c61f6e81fbc92712b224bf136694f929653f830034727c4dab9e17b50b95b6a839456bafb041217307d33db116dda6d3c33a5d9a63324d1985d0d9613154b6114242b6b3f0579364f89a725542d2f3cc5ecece1399cedd44f90812247efa33c4eb700ba62b86f10acee2d507c76902b0f9598e8ee7f249ded0fd03a4050fc4876d910f2d80f07698b37852829a134ae340df92c75667d27aaa4eb0eacf8a14ebe775cecc0a57abd23836471e79988237ba6c34ff79e6b1fdec21ae08f9f4604ab8b375c5d89fb069e8c3d9e3c0d6da6daf32f97e823c1afccfdb5986e57ecb5a410b7e513f7b840a40e05c7e6ccf5cc633c22bc212b675e89a7a44cb2101d25069b56f9e326b39fc3273bef6faa8e2942d169014d71bbec0d3c329755be7b036c1038d85f3c2dc1f0a4482ef2e47fa3e9b0cd3cbb3536c1dd568232e49b1bb086947726604d543bb4f3b8b0dcb6dacafcb719f21054803d92c121cde943c84eb0b1b52dd08d51ec77047713281354b70292fcebb79f4bb1a908cacc24486db48deaae73240a5e5a0bae7135c59dadaf7a2cdf6ce8e82aa2ba186409492620ebf10416eb5e9e0c32d9d32562c4edffb0097980ee70dd92c4cd28c6ac161bb72301a1d4276effc310b056bb835559ef520ccf01c316edba8d3d0feea95fd8a495c33b1d123519e291832744def05182bf5a5e3a7c8f3239297cdeae8f2f00f749ec6fd48824cca93a9e8dbf4f109b5bc61b2f5b41368779cd4e1367834ddaf707bda3cdfdf88fb303c5ddc095db52c001c40626d1e7d2816901ab02e8689c20058a1f0174205c54ed830049312df7346d629877632de605de5a94c50e1042c3ca3e67172b404472e494b49c12d95571a81a03b4813c12f033754534003478b8cde21d4ae1d9885a85945bcafc91228307b00af3d007c47988792a9d76abf0c1c3178ad3e5a9750bf6648556391c8fe0960ab5ebc149f474ff2834f833a7697f9cd0ab42616e156f4c3480691309f24a47615eb3a7af07df7fc650b2ed14eda7cccb007718125fb4f49ebaab44c5824c183af0e79cf3aa5a893ea07ef3bced2675d6b7c47366088901b34a67d821c2b42cdd1e3ef741a7d884f72e2675eb29a9c5e5f028995dfb28602c4e4504fbb309cd48be894ccdf8f978d2965268bfe7a4cb33d1945d5b94e2c9570533994dd28fcd837a6a136a5c96d88594d301f0d52452f4165fb538c96e839d71af0506e570595b74d24322779ecf162fde1e397f4772433ec9b8e65f5d5b497fc3060a1a16cf32865d47dfa4a9902e7036899c34a82fe3b3d86ed9cb6b91c3571ca102b0c9b3c7d059e8f16aa58da70ed4f23bddb15e54a86e6741d68044d7e2efb99b2b0952eac6040bf8ceeaaeb891d76d4e0d92cda502040a775f09ecc4fc0ec1094750dcad1e591a3e01b57ad22eb9b844c8c76e7c70ed4089b7f687dd08ea3970dd72fa33da06f974960f501607daa63a39f65ebce6510430097876621af5c24ea1110c14e71226495608a419d61ebd0d694e1aaec3f9631b133c69d860cc401a1ed17eb76a7b834f2801992563ecccbe591a574f1a8398f73332dcf8839052b3bb866aff7592368725c80d24f301dd9fe5be61ebec8e5d8af40c1eda9fc5e9fe523330936154359458abb9b8df93e3e90489e401d3db15cff9ae6c9772c6672fdad690f6b9b18d75c61bb5ac921ce8e12f0da84d56ccb85164214accf84cc0284e61e2a481d15dc2e00d892e860f5292fc72377f90d3889f8a965bc51ce48498fe10ae5e992b431297b3ef173f9b2137bd362436084f2b9257ef14f3d9ddadf4838c12cbee9880dac27942487dceaee5423c29ca0ecdd64e81dbdc0907c3c418b7a155cf42f900b2854213135a8fda548ec7467928dadb79bb6ccedae3da8dc642e72ba2fb24d558d59246da5634318e9ae130e5762f46196af97d50921971d7d176b0ee8595530750935fc0d1566ff826b3d609ba3cb0481d2641bf5fcf1f374b3a47988522f94b92b1df22fd577b844085113036f274b6c324041639764957020b37085fe045f19d5ba707bd8187969d83fca21d2f2d74c8a776e08eddc9473c900b8aa88db673a9002b4602149ef39e54e1fe517fd145ed094a7f31bd2e85af9a9997779bf420aa8e866e27dc882d5ea4eb0471fa6aac4a1e81333cf883103d1714bcfa4b700ecca61febbc50d5d82602db3ba419c365cc853bd61d023d51f38469bdf0d8d85e631985ea2a91a5203b375bee7c0e166d9d410eeb32fa002bf121a8962e195d4c7e4f957bc250875daec9623e7cc2ac0b35e44c619bb92ed0c2680e52b167d4579bfee262bb751127f01124e642cc084fe86e7392970355a2b2a698515488699697bb80658d46c5eb88328d8d6c4057184b8d29a4a22211236294fedb516fcd2c600dbe5f3f3dbe07e8b6ec79fa74cb7abba96cce1154b4758a1b8bf2ecb578b5b3ce80d337318cae5b9014a75b2f2ce696c4e5e7d2551276377e673b1a117d554fbc020819226127713cc4a0afff29c1826891c9960b112af27840e408c5940958d13c1ac05796485bbb5876395af6f04d80400d8545f22e0b0d20330d236b59ab32e307e19d3b5c030229938bbc97858916dff50c50861473b8488f97431ce5e31d2443ddd14c2389ec67473a971860748cea7e8143c8b25caafa026cc61bc714bbe431ca2585de8ddc02e8798eab55bff54b34a64e19c207a538e0cff9930d0ca6613b1bc9ffd39ee2bfa658f53047048d8258ea953beaa330e29226f3d18d082f6dc86726dc90bdec510352f1b7671c0984ebeb25440c952eb27aa78c04f027c35637835c3c2ea50eeab25879304044967fac20efc229df975b8bf0f547e85f827f8b653452065adcf9ee16cfce3fae5a6bc7bcab31f253fafe11367608bbff0456a3045acb3d3d59cc65bac5556ead777134c40c63456bc9f3b4541f5ad841715fb907962b73f4c08f9af0bf1e89011aadc3f60adbea96fe672708f0361c50953ed3a3f6bf82be010cd117cde7d70e7ca410094976e2e39556cd145009514381a87132a7422210c435cb4eb414caa7c68575eb66d2946268315868d53f3bcded452b1c6039bbbf516b68776511fe14f9cb175f2d4812b42c1924776d1585789727bcddff10b6f8f574b430601440b836c2824f1b083021f331891f18c08caaf535a3019e8f1dd9dd9694f4904dd51df4e4d50b420313daefee942c2b5c1df8ddfead9ab18a833e7f283b3df3d725ba307f24a081f4abfbee99fd7fb827d4d772a228eeca095e2ee5212ad14a64cd7c394a5eb202ec3f919c986ba7232f3e1c6d12467ec9d4468725e1f304ed33d883502dab59e5acd04bedd6ea4fe304a508631c3803c33381e917dd76b2aeb3417a47b4f9c5a08722cb3efb415d982c2a5b1736ffca089be33f9877c3f473817034d57b5327417bea9221753ae03520dd11c48d3f6e5c63263415143c8fc3b2eb241030bf0a5b8f5102ad6714a5268dbe0546189a91d0ca97df61aa9e0ed007f8426950e5955374a9b5d7b650b75b9495ee9ee0ea076aae6abb140877055c27f9a0ba0c27a77afc3a170a1d0dbd5b0d18a3b002f61d9bcdb45b1fcac9ff65245ca84e205c583ee2e3e3ab83ead7b6683e8b01661e9ca39c7fe594dec25fbd09fdb637cad2251b2610033118de45752c38f74c58265e5bd9d11612c4331f7b2b7310e1e3133489c0eb38f95822c01a717fb93c4affea3f54a142a39b7964708ee73a19411415e01f912e0c9bd5ce196728f386fe642b496b1401b41877f6ae5099c95aa051f8a53e61bbc602166ba8865afa2506203dffb3309937a8012e1a579c9545c927e009e069fd7e68cac03c3fbeb0ac865eb19f6ebb4107f544d76912ddde80dd6eca5d3433bb737c5c672be405ef93357f9970a3fcd22010df22be19a5507299fcc89378e630946bb77ae9ff5672cd1aa91cccbc2b28abf6a4b34ab48f5da9bfa8e7af5edb196291675250a6c3a1dcd306094f0399755a4cae4262fbd187dce8ae93f6b7c4b22b8ad277294d147f17b3b60081f64551a1076093ea590f7543f16fc08bfd55ceaa4f29244063c8ac8e0a16331bfa2be96b642c8d49f5e0209658aaa6ceeb0e48ad96b0c15735dc326c2a0d4d305b3e83536d757478645f77176e8093e10d599b8453a988f08201b6b5dd483d867532bab7558d8d75aa3a950fff0f0057b55f4de6f09fad17808dbf55da8779f7b96daa2d2cf55d53b1cd202dc92a1739fb92d38e890aa7eb0275ce2dba5976ff559be870969ef556dd79f6900378c984bf5538653cc8d661fa5dcbabba3e2909bf88d96931c563172389ccac713807b9eefbb2ff9bf6cd20fd750e1a37961411bb28ebc88b85bda11f37b093816043d1f33eae9d4885632b3fc5729d94fcbebe2e302547c33c2ad8da5ea178d502f128586f9296cf8a6351537aad99d6c768024ff87bddb3ea6f00616e3eef3440bbf75af6a0150ba09300367aa8d778fd633e021717ea975b5cfdb62cfb1bbd5dfae969c7c580dc47775bd804604c759e34e9692e5f8c121b65dcc8eb29b60a4ad8be1c117e15191bcdbdb84a26e363d55989df00ac80702424d301aa3da755a4b76c5ceb93f191cf005f36d2ef65010bf237cc9e26fe16657772a3daa5a6ba3c5a3582dee487204a1c8088c88f128018a2f3b597403b9b32ef1e1f7bcf2f70930e1262c452de5a68f512a41e0aef18c8234370815673bbe0633f320d8dc58b790ac24afb6c987f32517266b8ed493cec1d1f77efdf10c66402c5a3fded1aa3132f03c840e61e569185d456e4e1d7ff6eb9b3b8806ca3dd7335e8a52f8fca6e45750eec6817c6c4ef153b627b0cc3d21c8f060885b45c030be0b31eef9c3f200b1cd1468a85b7387bfd4f16b2dfd19ad2897d29d28461cc18083ead851ab4d5788b4310150c2fbe28ef766427addb962b1869122f1f554ec693407ac2980d78ac1bbce4d7ee52cdeef2c2f457e3ca1f463121f66c6c3278e91748681cf644fd2430942f08f84f18a5088a84ef983ba43e1da1b00da9e9474bc0f4fc83ef8e6aa3f91117971c522e3bb53b9caa58313926512e20122db9c37cd7826a59d617dfc5a631d61a82acd667e5f4d762abf422a66f70b3f972a09dc2a3f694662399b28f80625fcc030504bd4337fce52cb6924c3e89a0cf8efbaf9a0508299202bd6384afaed48777a0a3049ca9a62190622053ca43fe35a17ffaadd18a6a75c01bae9ccf9f48873f582b49bea8fdb2e7eac76bf414bb03d9afb295afacdcf45d28e62ac7e2d6009a06c9dd5f53b68885057689de95fda5c85f6542ab19c071c89d5e4e23e581af0c8e5177199b8f9357a696562eb74a12e0d1f860e9a1c2bb4b0373666335757bd8156bab44b9de87e198d5846b2ef57e15edd4000a82d29d76d3b9f3dd5f49dacbbb85c93aa237a1eb8f239b7fbabee068a6ca32b3ec39bbb8fe0c30bf24933dff963d0b7be64d19289384ae392639c8561ec331493a3afc2192e0a27a436543627cd27321dba53ba2152790e3ec2ec302a199edbdef1934f72a3dfbaa3c4f870800a9ff0cb3021d1309527f169be09f7a0bde9ad968b4b56d3b73d22d911ef52401f20ee30594535e7dcf116f145a71633efc518e9c4f4c51f3989ec9e33f754ae027025b8271576ad5d047b47fbac74391c6391a4abd7f6ca887bb2670a3e2e66b03095d21203deedfb22250401695468556b7c6eb6cc7bc2934809ae58cb22d83d9757ba18c1b6420eb44a00d48702f73e793aa7b52ebab05766f33a7f3a601f3e68638ed9124793cebb6aed7622bd63207dd23189f773f754b5c41bbdc014ce237161da7de2c77c074074d6118da0e651a4aac56eafa6b0ce5652b71a746c5c693670519d536aa9d7edd949dcd18ea7d412bd57b61c22ee2b3031c8a38c656a2e851be0e35ba78967b4d03afb06e02ed0908746485fae002be28d50ab7df0d5ee656bcaa776b2001c8673ddcfc8081dd8ae60652d64a3c6c30a9c1e0d1a189d78c99d7518b5f7874e1764ee2b3562c934c255e47e97fad3d1b2b4d9eae0b3fca6e436d1df58c8fab4da2ea0327cb253d5505634d8ef68e90e4d26529eb08aba95f900eda02a5c4ee559d1acb1359895a5d4e70bc6f4608edd14e32ce453abd05e5c79b658cd7d76f9dd28b9976abb430cbfc94f814fa9dbd48480bbbf1116a2be99a9677685252c221cd3bbcb22cce856114264c42b5e906be61ff4224d7d1ea36eecd5161a65e454c117fbd49ee28d4584cd11ce884aa772af6055b046b2dd17cf40c0262cb80325b1c28f503c6cdf85dc8c9515a50c56aa7fa13775eb95c97e5c0360293062a5db5b27eddc8590a89fae550064379264aac644e7f05420ff282756b95c73284f2d292bf0054ced878adde969660825dc8b917b8fce0291ccb25ec7b7f586d8aef9a3e8fbb9614b091abbf358605bbd94e22f9d1711cf35f4f89694f77ad1ba0dfb6c495fe1fe753b719b3f1b0083b81977873e3a385e595d8e241105708820aa4157b25ad4797a4916e86ba2751f8e297b7f24aa4e2ccdbeb5c02f31c5e5d04fee09f2e22acbda6bd047b87c95ea11bfe2085a22ba689d66266cec45c43f8ece2267530080a1076281db12777776b8bb7cc0e927ff1ce2bdb449930eb7dcea5d72d7354d1a4784e152df1056bd1d320a2ae1214243a6b5f0f35e4e3189d9d0bb76744d2e52cd55df26cf985825fdf5615f384d2df87031bcf46b3926b50bfa50a0fe7362415a37f68a98a7a31fd64287056b1c66cbe80abf6d089f05a5bd23894908dda0f6a352bfca6d40da04b705cd3a6394ce64acdc273e76971f5775c1b499077197aa334908fcfaa8eb21580a89df6af5dedb5ea2ee549efe7404c50c38a67a9d62afebd41a1bc66d5a44a5b6648ecfd8c0306ee511bf2bb2f94e2bbaade53de5abba06df389192af0c608a14a546f4650d062f79db84c0b6b706e193c776e3811254b40db68cbddc74b3b8549dfc7bb329d27f0cbcc7099638cf32c657b4ba9f02ba171e0ca0dea8fd8349db68fa431f678930a8970f4bd0ea1f5ff6890940f74c6559ef33f5f396f533b9c37dc992de2a6cc412e403ef62eb23b27d2ed35c1fe921832f27bed4f3bda142b971663d423fbc9fa61977f7f2d2cd2b3293cc03ede949f52347a402326c1ff4c74f0f5c92848210dd8a1f8a8f107ea37170b20e9b07e83ba5c9e8538dfca880e4856a60b789da60a6ea235555bd436fb417a8a2cdde397eb52285abcbe1a082b1e1540cde2d4e18803fc8ace2d1317ec9b7ba6f55360e5f3772ab0d0b49a9dcda97400bbac81e859840f42bbdb22cf5b9bf30a684ab71f1c9757755c17154627c4d1c207e48da956f079a4fb618b55887464960433f6104105e5156e45963caa7552d67c2660d12cf095eb581d5be4de034dbb30b7ee5588f59dabca456b6f47e59ab73dc5b7116f1b567b3a2d78e14d75b67f7cb6f36f1885812ad0c7b82e065c339928a3e16c96b7779a8cd252b7e1fdf0a523db0621a746adf88d387e0e1ad5329d1728accb858a22801d8fc5a0fd7a9cc6e1acad25c4e65b5cb42bfbcc37858951122018280485662531d0f883d609a0c048a718d4a5d760933f443f6824971735aa146bcda658db6f07cfbd10d9b2aaf02a1209d490a9e8a798466cfbfd23f128986a0d339cd690a4a1ab737e99739ac8ff279a795e02dcffaae8816242ff3750c0aa49d7b1454b5d9e89cfaa0d67824393316e73b8bbeef416ab054bfc570c88c48c90e0a869f4230911e60d15c681c7aec41664848ec03da4e0bcd49ff287a8ec264ce8a5d20343a406433d846740ac1adbde7d625b5c57ae1c2056e632a24cecc06c803fa574358a3b2fd5c115927c8d7b910737999ba2624908a0d2783546f3b5da5c3de36817f9bb458af3589778923bf5d43448c26cc62290664b122422dcf50379f6d5e5a190f47f34c91201a901f80556500efbbcb75c16c2f91d8a3b3a575eafc7cf7f9cddc525fcfb021a7f28898411be3cd378226d883d6ac8e38c0dc45b568031e30d70736261e9b89740c7c37b386f18830bfc862d2624304148b8de1f60e4f346b570e72be981e582b71df6e67c51a1d790a3af30adc62438773fb0071b44887dc3e78348d7bbc0e69b411131d574b397b97ee64b9cfc798279c9649e5c3f97de17820a101283bbc11036c57d42f5508385c6010084895bd3eaf26f8ccb691d5ee3715d96cdf94ef487c3671f1a9d9f17efc08dc8178e0030d0c3dc09e39cd8e5cf231b8a33caec8811b97f99dc6af447dcfd14066069a10d9b936686e65a965e5d962d5b47933fcaf6f01ac778e5fd7a610ab764e72366792b0e2817d549b09bb7fe849a689ee35052d63c55037f9460db1c68c71e2c8043d49ceb207b73293ed8cee69d999ed87876a9e4475745ec139396ed5b05333574f61162e7c274c78b4ef6bd0ca5b65c74ef8fcbcfc5c0f2c76b062cea35048b19d7ddf88245b99e0350de087e3021f576b0ffcde9aa9e7599ac597570c7fce40b14bfbe3f38562ed9ebbb5438644dcf4c063ddbeec4cd2db282255f866bfafedb291d8f12aa42ffe520c90b0d0e4a8eff28b890c32a13a281b5d9dda072fb0aebb08d0dc60dba35264507eed8ce739d2465a60272924d545403ea10c22e5a4fef0f69216ce4b4ffdb9457704395767ed000159f495c261a84e6107fe29d085bde71add762765c97a9ed3dd64e8ccb5316f0cc44b9dfbca6ab1de0c93d11178b319d18a46e0a7a8ef5a0348e93114e710b8a2d0fde6da1a1082930dc2f0360f2e4fcdaa0cc6da9ef823538db85a86f324cce13ac3207413eb30022978217d81821b59aef303d27804e1d7a652c669f8594952327cb9bb0a80b669bdaf9c05ab04b9e0397eb5c730cf8f39bd4bca4188a8f030b9909fd143d8617a2e72014549af8e16da05564f11e818d3eac99db298a26b474f73e956bd1ce0706e88ea66390fb36a26b83edbb63d9960829d6e3452335b28ee643391919ac35dfd0b03d82f9b1cec3db6779546852393b1c141049f50dd49dd87540e0f0619d7a53e2b0bfd742b9a00620dee012037a4505b46eff73b98e4f6de535ace1a2b0220acc480f5d942ad034090ba21dd65af7abbb4364219d29cad2023eaf1770814b7c3a6dc0536731ad0817a5ea2b8a11b94485aa1adf5ea0008da1ad5774a891886222cccc5d3442bce6df9aea14bb111a5060d3b901cc0efede3d2a86a283088a74283e562c8211bdd395a93d121580cd9486f2b1d68f94177e94019acf7f7c097b560c68309a4a9d8827c4662002958a586011fcf7dea955533424c02a6668dd5313b6ba3e8ea65479da74fa92a0bffd30b165f1148c22766aacfebf43842ac2f588d3d87f7e3adc5bba0e97c165ea82ce443c2b7e63608f2ed6033cd0b7ae3e0e1fbd8d3716696483751d0ee67a238c8a4acf6cc32550d6f27c4ed42b37ab40c5e4bd53666e6d53e38c936c2558e6c264850e988a8beeaf88c911cb60db0acee70eb04c73518fe42163250812c1a891f276ccd3ec9cb53a006a7be3eab7271001176d2ec4efa01f4024f8148012bb58cd170fcacf6f86de99c7ec858112c0fbd4a8f219a83e1d383c35331db99e819098119d6b3db4143e57359a343351bfab3f13addef12869ab9e7dacf963fd2682c95306e929b624904b9a719e56fa87e28f672c4a6626a699ff3de0b6e5cc2d94d7ba64f569751cc502bc6b4de74dd1b09c00ee5c32769937b94feefc6a5a9cd9dc7b12c938eab02267a65002a99193b0a0567a8f5ad7cfc24f894bad0baf77ac51a391e8bfe752388dedf6709b1361adc3f792c5104046fabaac0d472c2632883910bfc1397f035ec4e2b36feeea2515676ce5b6b36b55dbfaf66e2b9947aab077577adac46055b36d1ce2764dfa3abf89fe900a2e691abc06fb82fec0446c7bc7904f0bdfb9ef4bba80f9f53c5d581add715436cf7762d352fae30ecca587d52a464ea4a710d7f66b1067a6a68844fb738066371398f96051c1ae0e44d0d6b97aff706d8c9980b006404f5e38ce954738efd23a72aaa55cb4bc0d8b3213154233611b85dc370e3f2fc62dcd3f98bc4aa1bdb3ec5977c5805e675e742821bae42c9d78dc03ba576d32ce2f080394ee310a2fa76b21af1a8e6faa632dbccdf7210a63c5d923a0bb54dffde9cabc437d43ae8d077def72be67b9ae6bb2fe750727779e28b2338e2fdc16b184afd6e5c3570c02468b0890183d4180e10b56fa878052effd1b18f3eb6ae0e2d5e1ef4c6b60153b5529fad08a90e67d9f932df9a3729bb79eb4c420132b88e343fa6a4c798686e1a95868e32840e7e89b9f3ea315d94b482c35fa3cda9b45e25836a8bc065bca090846e327d3da468c897c932187199685363393c49bedec66dfd967fa9a4f91a6426e213ee63ce52cdec08f3cd486ffa75e58b3f4abf7e1ae0241927ff3ccf234765b334ef82bf41f71cfd354f7bd62eaf1e653aabc208508b036302be80f4d51e71c0ffa43cc377a741c8a8d891b87811d5142d1ce7266acfde7134ab23fd6a4b6ff64a5d116be66d6a1d5f74ad01951e7454e4f7f680d097f0e472388a9c78186816ace5277e607f942dd047645d8da302013fe0dd83c34a1c8840508f3c73be15d87767cb4c543040c2bd542e0def9c1ec0d40084ccd28cebaa0d09069e42ee9db5b28a3305b054e054f9eae1fe11d8ad3e23299cbec71f450fceba6ee5c26783294e04e0a0594760be9f48562691dbf29303e8faa8f2cb7a8ff585cd44dbf5e0ff505ce3305da6d5681a247ca6e59134e1e389930ad8dfe25139e01c59705ea264f1dbc4f786f30ba0eea5bb6229c2615309b47c4eac6ef742fba20e41401ef79731c9b769d44e49bb83a1f019c00dbbd50ba295b6b59e7a88fd6256f4273a199e6a567d80cabc6269921da17d4ebf228cbfb7a6d32ea0df1d19a4b2324f443b918af81c1beb462fae763d417542d7271e4bbd41556ba433ea013e08e231daa5eed9c8dc10a58ee20ca04931442b90beb72ace004059d9400de01e1e0974ed8dfc5c613c974ae4abbdfee85c2e6f77e8f89920937cb0c2e8f0362e88966569e2e0b46d20afcd1782aa034c4099e214b9bac0f8206e684dba4707e6d9785258f4a421add129093901ae0c89d99830c6755f595a1b14bcaa8619eeaaf79b0a39e6b365104d865c5514687fbc9f54ed0413fb6c5082d9ed44d8f81306c34e54e890a4f8c1c807397ad4af0e4294c410bf9016b17e9e5f6ad995da94b2cff8b0067f9837519e06e5d002bfca80f09880d53cdcc56b0a62192cfa22b8f26f49c8e6cd9a8f6d8efcfade74e61c52995676273e113cbe01eaec89fc4a2d68273fe65cdc8fd3c84bcac0a780f83082668692d4c0a165b27bccf38ddaca64820fe4615ab52acf07c4eecd798672568823d1fbbc1fd4ee3ee5a10164be4915750bea1d72b1dac77ceeab2cdfe15eccc840705fe3451e826476aafaf05aa6b8e3a39cda2ea7195c88b6219566cb41f5857ae2c0dd330343cef30ba857142e0a996fe83c2d872a36fe710ca5a1649d11e2b0b6ec04f320f918de1239546ed24e63a7855726d6797734090052fa3edfa7c842bda63d02d1ecb4544e17041cb5e9ca7ad377eb48188916402e1a34b1393f6fb6a9ccf7152dfca2ace03e5df8dd53b0c113c5c7554c09e124a65fb5721966645c0c66dc97a9fe31dc231ccf73c42b27c4f957fd13d010d5491dc15e6990821372e1731d9034f985fe52ec9a04d32c83ed78064dda5e494082e27d36cb6b5e597b06d30890dbd0ab6abc16479a0343bd01e1df07381f6202912c7350867afa2e53de299199a30cdd41f3f748295df34954e26d961f570e94a2e6a636237400d1abf29464c805d7659b40379716fa15fcc3488d7a3acc50581a0943864cc32e56c6fd742f9b75f73c279da2565dbaef6f0c6bea3c8ba2b707ed261ef3ad99605a82bbf7884cbac09a3720d17e73b775572017a6e0fa05a238e266910f2510589d74551162d93f498c929e4b106613ca9b731cbb20fa78299d4ac8eb490f65e70692da21d24fb0b54aac834eef39996f684c5b84e41153da56a90fd657739537983474decc8b7390f653a5a4e4738eb9ca73e37793d37444e3e01fe9307ba51a43c5f64c5018461db57b26bc06c290bc5234e37859835c0a6ef9ae14dfc0c4a4017962e24f1f20bf7cde0d39cac92618560702c17c757ef52d906778ab9254d307fe95127ec4760a83f32236a44dfde42256db140ab2958aeb8c172298fbfd46daa0f9940b775353519fc1f05b060b57bf992fcfa0618be6f15ec2eea2d8e2fad51a9ce4c694bb068ed9fbaaba17db888773f6c6c3771211bde3db513c6210eb16421a49143cd75a865ea03ffc73d27140f167717557ca09894cea834176394d84d4725810e9246adcfd1aad8d82f0657c1ade21820020570b3d45f06a3e655acec9aeedc08c84b0fc24fd2a15d83906e3914be1b3181ecd42f596905dad85f5e50c722ea241f26013e39870c2624577a1c8279a2c6824c6139f3f9221f4dcee79c2c1c7084a04f3d3770c6c3f55550aef1a923e4c96529c1484238b05d5e7f1471e3c7aa5e6bb660924144a0873678504726b0a951195955710a4ed820c1c1aab70f7d7ba5b8348aabc230cb18b0be9d17eb9ac306587b1e0573c7900311b13c2e2dd74901c091a8921bae42967951e23e17ab0afa690d52d567027c54ced7890cdf6a1a26e18fdd633a7467a08ab77a56b6aa1e267eacda04840e5ae312904bea709d13a22f1a7fa11ec3954e4bd650bccaedd958ee691642b6d3bfc3a2fe470d69cb364dc910aaf887dccf0096a6a88418b99ac0a4c3ba4a3f28124443d8be5145208696fc21b7ab07e5d81c4fada3d6dfee4ae0f94aaa1b6a14ca22f9b4ccd78493821915489f60d00ad7d0d12bc45d77f41b8789b9f6c428c93fbeb0703aabb93d8ea96bb7f6aeed6d8f3b40ad3e1c3eccb987ff1398bb830115d197697b5caa87d70ec957772456461508357c2a17c9497fd426df24b64daa61157254a2e566d99e0dd885610a16cf1fcad219396f0b038ed138630468a3ce242d1f92c9a6b689766c2257c690a3cc5197ea7cafaa8fdebc6f2966b99898c858fb26d3e616087464832275e3c50d2f34b9ca3528e3c623556c9dc41040a7698b92e4e5f6a4366d1ba63293de6af5c87dfbe4c0a30fb953659d28ebec48ace42fa861940839fa016f75515a1297829b86a0e70037ee5c67d8f1ca38d15414de2623c320ed61fd62f0dc534ce086ac20c8abbd663932e6e7bdc30c0c828ba2afad26045d96c836ba9cd6d5c206957cae61732b8198bc2fb55011099b4ce9510d1c7c07c605509556134dc214a8a9fc4c8dbfa5b598bc04b061eadf42f7d2a893d5327fc6a4c56468bec400c599e6c54ed9726dc41f923fd40fd8baa8ec3f75806ae5c8f5b4c956714c2625555541f36f57faaaaa94daa9f03d4cc2c82e44b31065ae7e0dae79e02b156f827797f223d998e4bfdd8eee3436499bc01faca809edd8b8bf020ec889da5ab092b7abfcef83826415a08574b3cd77100f4d704a24919bb9e54d4c00fc9432efb59c4c76dffc899ed7d5670e0c60b1ad5d98c61ec92c241d86718764a0334d54a30b3cfec753fa89e3f254e6f518fec14cd27a05476a9d61609d4acbdc40836faa7490c5f972cb227d59ea0c95073ab49cdc08bd739e5df0eca83a3ece3e6482ab919b5e5987568d53d60c3e35e4c7ea2b8c794d1cbe7871731e360c34fa4c4db6e330d7f59011a520d5572c6feb8350a7830143eee47104a28037365f6dbabca7d65e295e1f9ab028bb116e3f672854713c570ac86cfacb5dd485c4a5a09a7b5e302d95297f376fc58f04680ec5369bbcd787bfd745456ebfa2a99351e5e7bda0b3f4135eda1b561f3da054edd7b8733ceb5f0cbc2e097713f7a3759824483e005b3add6b78a170d4a75d7431c86a68b1a7a45fbc13c50a7cfb2fa06995f4bede902ded61c8e060db4ae665deda6eb67e1ef6729000675e745ecf53f366dc9189e2a62a630337abc82258f2f1c075b83b48f2bd54719ad176732b1690e58ce6e33c097b12508ee838358cfc366300045d94bd06349f5cab512154cf9d378b6f03439f1a957dd80bae6171a92987b2b9725e742b102b841c42c56f2e2687f130510f0dbdcf12721b41803dced076599d46f8ae1193b3f808c7c9413322e46dcc5d91461aebf2d48290b175999083b4daf7add275b6659a3e442fcc0b595abf4740429783741fc51ed0c1753d6ee1388fb03ac1b5f765b58c42176f80381238dfd345d67fae55acb9d71eb27bad7ac3fbd8b0c6d0f84e85a1aa486a6178e452fb4c7326547a712c5d1cf2111fec9bebc7b2c6555c9a033e899664d4dcd9bb3321fc93c11121d297f78afb3cd8f8154fd0a7e7c1ebf1f825e5e346e8d6a1703c771eef049c5c4c97f9fdee1beb8464422d6f54ddc3c31382f0bd5eb91f9a977d06ce2e5104983b5867a543155963f2cf9a992f9a11da168c9e292cfbfef16f70e3a36ec07d379c5621d4f20a16c78f6be1e375a46200b0c49199479323461de13edce036017530454f2cc7d25908421cfd7eea61dd5025f8c858d841890eb01fa0c84e4d7f7cbe9c8698519e6a149bc33efdecbfa19351505beadc3c2eb1c923b510fc96894468b01e1b496b06fae74fa54abc01b2e24132a2e4d219342cf01642c2a344a4ad949fd49a84ea05c9345be62c7089bb1a56f1f9724f079b3643872c3a8f56c8572f76573bdfd7d632092f71307cd19e9e190a5ed0ef670a97c3c70adc42f9117fa686d98df2ec65121f122973dfae2764b54195d110640e35ec76af548d0a69cb2af6d45cbd18a63affce0d63e887249d32d1d23b5d51941ce69dac3f076e6eba7e1f2cf2fe58c0544c4ef4280c8f38abf89c7361524ff9d7984c29795496952e4747036276ebf0f5aa135b97b504ed6b7ba50b67db71a7da0b98dee3b96976ef6d36d660471142722625e14eae71c80a8de58c2bd45ab88c6172ed7829f7c5cdfe810f962493ffcae39cd3edfae9ee11420efc017cc40fd2535e8abfc53797722b60565b0a27fac06bf52b7bbfa73c62cee1e50df1e0402046e11ec7bb7c6710fe97e8f8bb629b0fa9f931fcf52755c16efd4454278b29f498833d1c5283ebd6af1aeae945cf18cd1ec481b1efde069d508648182ab8611934365f142566c0bcf7013b400b4994b86a07d03ce8a45db46e531b8b1924f7ea14366d131952c032978256ae790b9deb3f3c82863319378156ea51e841d1bd835314ab9d3b5b28aaedcab678b282d02c126c2893d97f11e6f04847b34a9966f12d1c9f227cb167dc034f229af53b5393f765a489d9b441c338820912876f3fb7de91042e39716cc955e8efc666b3be9506b155066f755b61789ef838791e348cb769546e24954eceb21237e44783765b80b7e565e6159741ca99bc83868d8b773971ee08bf9571f445cc9ace9751fc89fe6755934982fd875c3eeb0a05096df0b5d947c6b21503dfaa0cd64ea16961ff2c67a09fd7c221dd8a966056dba683793fddbb86c646d5376b1f129eb68f630c0ca99d92adb8713333649742bca497f22dca79f8e60882558cb7ea38190952e5c1cc46ad299e61756ce71e0dcd69a86cada395fc50764bc64e0b39fae35329118e73bcd316bae7f911d7eef1944a4ba5c0402ba4514882a91e610067fedcf4995fd65e9fb61a62056eb95e83b279e56591375f553027142ef5146459d6f46468369b63b0295fc43c3536c61d3e61e6c6e1978b79cba34692c279fce1b2b6c9c0727c6fb9719085fd783c3304e57e606a5e52da6f89238fcb8497b7c58b2ef18057a10c2e38568658f28868ec0c81f2d74d94e5c2079da84872ec9a87f7b0c43738d0f2e888b2610aac271d00d699d59f906c58dff1ea296b631f1d9a1f9cb76782fb1545615f9ae3e0b57e46be3f50ea2b1783dbc634a30daceccc1ac30e70c58a389b533fb75baefb43fb7bae8f4e1a74577759f08be9923285ae84e647af214f0f636b884e8f39ef03c29cf8d9ce8858f06b24b319a4fabc46ecf0026a9e6f9af394f6414e9f748d4d8b9fb47d822603d8594d01b527c1aa8de9f6ce2b75c769b3d79634f95bd460987dc661014ac1b3d4342f62cb3eb17c7aa0fb31bf0f3ee7d3b9507239d9fb206ee7b6df432c1fe90d145d53939d501d6a4427121ebd53b8af8b3ff30337dbc5c5346f1d12f09eb5db9ce403b1238dbc5db8260c69f91f1926967996293640260c9c3f210e08fd5940d81ba1c036597798b84f3cec45ee7a32bc2439be6979b72616d4e289a6cb67a29d432deaf36912dd331579cf49bac854f87739f32cc83704530e1423ff289ce2f58f5833936db4dba889d3d5d3f138491e32502d7d9fa0e767fc20923c0835dc8f09274562fbee6701e077f5f62fbd3d80c70aaac34886504377df2b86c7c31324103698544dc1e40910033ab45b0cfaddc5de6f30c5c1f16cc12f48a6113c94a37c12d46244b7e883b142352bb396a5434f9b7d55fdddabe11e5147d4f659e3ca580a1c914ba889373b1a87db7782acc45f6c131766317b63c3c56f3067f497413f14414684d6a2c890192fdde52cc6d4e2d1a871d950e7983d2996a5cf308e2ad9dd6e0785f30bec5d85ae4a7faf5b7419e55baa1ba6b4136a699253464f5f0ac279485809d512a2fede3f8feaa257530a46c95041bf5adde0db1aa32f88846fb79b0df683ebccd0fd29821a9af6c826f03314398d329f0b0249c31e7e4af97118027031b919d4c9bf29b520bd28e673b8c11e7ac365f2ee68da4ccbec94b09c693916b9b1e5cede65454737aaf29ecc44de00d5812eab1c03ed6d39bdcc6d5f36f8fbadcadf05695bc8aceb209e46ce467b7bf5c725b3e5e80574b2d1ad030327bece61e232ae9c85710ac7c21e68edd3091b7ae99ddec6e360dcd41fda9899c122b775254f06afa854d0d9fe480642e77c236d1fdaa0fab1051d9a713453e303d81a54677a0c022348e7ec425757e2d9c2dd073632be5c8802dd5164af75c55b64f4353a269e16d2ae56b0d0e78df7b5835ec14ab7630c4bdc6a08b3e0bd1b5c9ec8f73d355699e9af80a39b1e7cc8271be2b57d2fde1cc2fcf61a5f090fbceaf36de09eacaa2680b10184f95097de9d014e381d2c264ca6fa77dc128b5f177b9230c26c7d842e9f468f52dcb77af3e0093a0d9d528ade4f157ae86f0b49c66d2afb1687158ecf5d4f5202e3a1a51da8f76095189d8a1368c2ef4c0d40e1bd78bcf322bed34093aa99913cbf3a513ec0708b75c181435a9c9d4a81fe7ce1e0831d590b882504b31f355e3834c61e964290b488f97762c2b7c8ea92085afa1c7ae0e2f5c16e195301bad0cf0e04582686f2c20f2126ee699afa2b41a85f1eb654cc9f5c5614f133e1536fc52d49e024e10f4147f7a77bb7907386a1a7088e1cc98275bb79c04cb703a0af1de0921249a350a68fc3ee58e086974b8614c13b9b4cf9cbee387f5e288defc3005596972948090ec349659ff6280d8ae2e933b70efc7c3ebc282a1c10918a7e452c1e1bdf1df15d3b53d42bec09a1e67d74048e6497599ef4743358f5e32b03a7360a0c29601df55e565da1edd4f6576ea5bb50380906327e56e47efcaa365e5d3469f210616a1cd2c50d862a8598a54fb22e957dec07efc0b15f1e3b193c9417cee2997077aa855b87999c905b21a7799698e3d124caf8f4209ae40b116fa49acf2faa302b62778a46323cb554ef5cecb2ae23b3a9e71e89061d01c21e092cbe8759b2a41ed588c048faa3f56a7ae7ad8e8b80ad79dcee920f3a67e272712913304c64404dee3d8c9017650a23b492854c7c3777059900db9984690f8bb69975eb37393fc605f00d5d55174decdac32123bc0ca21184997dd13a24d1f71bd00444b15114a7f2cd69d8dbd99d4b11ca3267d10c7b3769835f313a1ec1ab7e98500d7aa9a69d53ec68c683d131d8ae13576b66baaf0b050173eab78a558ec12d946500ce655bfd40acd44ec8bfd283cebb455a41c10c92fedb41dd872de93f2750cf6a07f60536f12467ad7acebe2602d20b9902796501b6908967e0e041180a4f2730b7ea31d6b0bcccc1a04cd639dfa779ca27554b99383243fa9cdf585b8c43596f82b5ed6a655cdd07fb43ac78c76bf5638359a6ea7585cc81ba0d8021176bfe05eba06eceecdd300746f23bc36b7eadc95a851848c328eca7c6ab41f34340d342f6d0815c7da84757f0f0cacd9132a136492f8237e5bd901cf79e43a8611a5fa7d7df490a4b0e8b6602f1210e080bddafbcb148595228472d03da0da1f6e014d67b589b9d05b227fc96777f49a351bb46cdc5dab47588b24468ce9a206e01a8608dcad612a0734ccead3335dc5c148f15c8c1c975a698674a57912b5013e6818e6d8dbc77384238d9f37b9e778bcad7497db98894367d3cfec35843a274652b490868d715f6782818fe87ed3a2036f5a0568bc222e707d5a65d8b5d6d4a3201e168a89ae93a368288401ad39709696dce4d25e7dd5c92b868adcf45bb684ef79f4bd1f2b065283dad984eaea2febba3461b65ec1b1d41a5fdf70cd4cb3ae6f6ce2c1dc2bdc9251e029f50ce78ca0e6da6c2e55005b1b0681554824c3866365daac967c404ef8c5c8b4ff794f9ce12c3fe855af4b792078dcbc04b2a1828607a7a0e699e248eca1bc335e9f9cb9c931560b8758d60b80a998606ef1617cbe81f3d2580257ba7383935c344e0068c07cebbfab1d37e00ecded2525ce215e817b527e73b12e4f9f5c95ac3d6881aaef4968ca9159acb563178303e7b6b391328d5f05169ef8f0051e4892c3e3a47ec1d803d161692fb59deb207df0115c6e8d808e5b5432441c1bd33e64aa2f1fb1127e35d3d2f369b1a362253b9f491c6e58fcdae26e840f1e1406a00f6b494ff14fb543378fed3c8a6b76fa65164c543462f86bd98b78c4ad679558f792b4d8ef98cbcce695d7cbc5a77d3f672914e6c43d11e38a4ac617aa250f5ebaf07c763026f6ab1e1e637c19b7e55ace77319400676dbb6f31b41a768e4a2b8dd4e6defd2112d018c8549cf99325d3328664b7d41bcdd055956815b92b03e5efc8ef764e28d4e7463d47547c45ac83c69edfd3e65654078b55498e664a4f5572f4621e423145c97e0707e398d19da438f30bce69788e66686fa684ff24b44d4974855e94d72dd95c88dc5159f2dd591d109b39271c31af3a07c3140f17ff3c7f6c0e7005067265c14b73faf355c4c6243a31a83f6e752a1e42a173f49cdcab0a137da0e5ad5feddb6f7aee1a20ebad4cc57e37f2395104abcb25c633319f1037f237342c2af850769a37e0b883762b8b900e64c94f2e49b22e8965727baae29b9aa6883bad46fb62e30d08c7639d83d0d27ec5a55c958e8797d455d60eabc3d6016abd90f166057002d6cce897feb8162b0c59db63581408235e57c1915de5d48fc44cec852468555aaa8308e3659ef48274070dcf0933c66293b8b1aced4939df894a52c30388185888382abad85f79c9ae4af9e8efb45882621d81a8a8c8e080ef860756728b4a5e381a24fb15dea8e7009943d650ef0c86dac6b71ba8217fa972d3d6eeeb5f1a6f1e0c436939aff879834189ce492b8081ee6a4cc2d2717c0b19d5bcbe721d3fbd5b2e9fffe29eb6466a29522bbd6c56a76d5b8e09e8167c00ac2a6bdedbd4d25f74765f9044242559a67067e136fb996d6e06d333c819d04f4c6ad3a707b0aa76741ec6c3bb4f52532fe30461105c6c3ea5b94b99c6e43360530d01704e88e1388300a26b81b764b04bfad8662d9ce3f6ceb44477c35b251c6a4eb94e069f9a1da1d27eef37e70c7330a9669c68b3ae6d5fb475b92018a6cdad0eca9526708e3188b53ca202cf64a2dc323700b258ced136ac4133e99c8160e02bc3985cd7698c0339cb18f0abcb6afc91e2aa6b96c39a8115a1796daa500b0666896859a599336dee4ba22a062cd0f58c8746bacc7263e4c780e737d1562027bbd520a1adb5918a291779aed489d4e37a2362ff8443dbcaede7ebb497c86d96ad9b620f7978bc2f2c718713bc222e2621dc5632b88aab9f3f29e702e7cbb3f69bff180417a18e53ed67b57814d4fa662bb770c622ee171f57f4a32e19e836135cc806a1c349a82d07117f14af3b4006662970003b5b55fd64b53f9cc4405b8d73f7dcefe3297bd01dc3f295d80882a38b0c4549860d1c45bc526c51c05c401fecb37969d14bf8d8045cee43ec3dbab60cbe55a9c0971176dc3cec919714fbdc10feb6ab053478c50c960667df710f3d42e061924bb639d714806bc5f4d41c9b7fb2d23417bf9d97317c87b3542f683f9d9e781f95e6b444266d5326e7392e86c72d12d40dcdd5002b5123cd7bdce68f85a3efa8af0df3578bdd13f1b196f4f2680347c1a0c6a4279d27c3eec72d381f72f40588f008cd24be055b3a0d396b7006013b6ef211b8689e5090cfdb65f1a23a9f0ee01331c7ec71de0eb8f3aae695382729dbd2d47d5f677a1ebd6dce5384ccabe7272f5db5d8548bd7d293f88a120aad9d396d9de3f7a542a59e7c83f359a187505869ee72b0c8c40b54389e7d47e0eea33aa8aaaf86c6d25c39d4e99548236b38c6e166a7a672e7efaa545a9ad4c3d193d85745c9601683b31edab2ed39911d960add4301ad429c9230a28a77018b2e8228e45a76fe3a642a93aa45c23b6320e0093346626efb1b11ca00bda2cc16716589fa298491882f30df62681a73adc88f92fa4e326e9d680705024d3efe99fe47038b0fecba711d3416b8bf2456198400aadd4e0cbc8552d2e4530a5b79ff5e65f871a50b17b81ba9d953ef944055b3914ccec332d8699905f21c8efa7a4db0d4454377c459659cf12cb4cf3c72e03a2287de9802b224c374b2c93ae5db9db6c09d2dec896a332e700f502be2bd9b8469ba762faad553c2b5a465dfd48483dd7cc382dd386d5b9e866a75069901e8e1cc8b8ab9d556b898b9d6d69210f0c77ed8f838bb835f4bbc8b4361243f387d510a00c87715bb6806177504414e99c1e2f19707b48e375ce8e377ea852770864158c6acaeea98e8b3f987b204d08aea1db11ffb0c60a9769f41b9edd6ef86f9f9a913ca98fd331431d3a88bf536ef32fb2b6f9077f543c41a824716e18c217fb65036760b1f75dfca26e525dde103b54836a4677f94d7f9e66d1b07b999c8c6cafde7e52bd81e8d11d90cfefb1174fb1079447606f6706a502cf9186739dda8c16abb92dea1f288d0e9645088d9a1d1811ba71d784f0646374313cdd8432a4d479bae8aae6458db443c3ecf8fd99b4e2afd330cca558ca669a2d4a0b9e11084bcee3d52c0517c0f710ba8a506e203cb4e86b5a65490c8262684652f4a694814ba15baa6702caa608efcad16ef346b48e0cfa7bf267ece773b483d8dd50ae2d288c3684688598fc7bc955bd1c2cd391fcfbbdfead7fac9d65678dd8a6e5b486de7d65ad7f3651d4559a2bf9d7f021533f09b528e5d15235165f732c67ea615ab40303859a0cf6136b8205659473f649c3edb0a4c22535db33780895f3c80311e68ad039f5c575524188bf3f3eb5c81604ed6199894ac2e259336a23f26596a71dd2f4082f43583400a30dfef2903c8260d487cf9a65821a0a751afa0d372f6f42f3a47caf79eb86c3cbc6cf0dc18e947c92a4223f6e43c994b779835af617ec414e5caed1e5af8f3589f5f008df9b2e9009160843e05a74c28dfa163388ff19e98eaf97a14a2c346c116a41281a0abde663a42bef8bd9d45b06e3d323fc950c7e8b4cf6420809d664620e26285b7f79b389f7ef99c81fccc65fe3d4f55297503f1f3b90fd0bc10d57be941aa7fde5e2d3375521fb2b12e994dddd0b871968ca166cada1ef31a32a5032a4f40ff9c480e024171ebc245ef718e51dd838fb1b7218c4f75cf658e00ac6006a165d237187a015a8bc674cf8bf74b5f5096d358dddcbe343f08d85e25bbb0b879b27d2306575405a0e18e0b5693b442c05ddacf338e5c2d36795d36c490b23fb67ab069da9531061241497bfe5909692a7838256a0010eb5af550a43c97e7fde68e52ddb3337e4bcdf73bde1d1f93e6d81b73e5b137839d3e7b71fbb0302d6d0bc0105e181839a6e7667e0cd9f1e9bac93538b88827b8b8c53b22ccb6babea31e56f61ae8d368fbb42829db2ab1888b64cd8665723f033a9d94489f6df0e51facd2ca0d363fc07e1fc041fc1ea51b2bf0484c06a917e836c00cfdfe7716f28b7db37cfc02cbab7bdc208c437f37b7daee4bb09595146edfc910aab05055e41d12a617caa07f03fc35733050ef6f9726390e1540ca086a8507c7e5d81d26850406f9176c8450835bc7591105533d3fa2b62b34341cbb3befcc9e7ac2107a7b127a993cb85a982b3e24440c1a4c123db4f58ee145c8466f7fa6e088133e0ee15fe5a36d49dc9e25a824fe31b6395f4146c19b9da805f935465ed94dc5516c6ebea62b10c5af18a997e703771e3dc1d161f380c696d7913da15333e30ef5381219fcd29161ebf079cede47825bbf6597434941c302a74945e04d0fe24ec89cfc02904bb5e7b4a4cd378ba520d4cb14b7cff8d595e24f01994f35a4e9ea4910ef54e37b63e16803b89b75fc6442e7677ec0ad43a5f4c78c1178966fcb9c361c9a6849e3b0997efaa167b87adbe2fda394c37a1421c14c958e426190c37116918d5c1fad6447bcdda00264da1ad8a7a213ed6ac33d6a17abad8cee0c6edf5697df4b448176e159f129207943eec33cda092ae243d341578b39d79880378396dd72831717aa16ada43974a4cfc54860ed0d2b226a7306e3e171f2f29bd3af9f1e949a485378cc19205ba984d4badd1a5c7363d0ab116fe423a4b295927f9d185ed29a982999b81850fb3c15d845e7a1592e78217015067bced1fac779b047b0f20c35f351f958f169ea2a77af5b3805eaa51b96fa4795066507e37362975973e13d0c7b8864b951e34e61efd0b0e40438d65e366f6a0035fbe8ed979dbb9f48f201051d4e965c0afdacaa00c347a59be2cdc37581af632f7862157341e394bce1a012a3ccce5951cbf472720c98938ca35522efa25f37ce04f94c1e0b8e6a5e8b962eaa8b55a2f0a8ae5a80877b3116d28f515f27334611eb2482f5d44de73356937e08ebc8db769690cdcfcfe391cc3cf09cf326a9fe14e23ef4330766485402dcf82a5f75fc20821aed82c8a75f513884933a0b47ddbd4c8332f95562105bd030d8e8f7b45d014b89fe68abb47a5d8e27d7bb166ebc67614a5f265eaaf19c7794a87d7e398c4f94bce19ddae81d145df4456a3fd8e1b1f5b4a253e6afdd0899dc436530a591f506838116305612ccec237047b88ccd5c98ddb59982e553889d03185feaf87c2873044254d42483d1024805deda9815340ca2a721f79e8cfe4807e460c35f36aaa7016a9e91470f02b9083054b0a085f3a831660f187e5597fbbd01339d21b78f4622be013f8183f8af5118742828d8ce13f10c9c776cdef3ff8b8eceae692dfeba2c2c94024593e4c52693534cf39855789679dfd86fe5422682bf8c563686b331364871ac2301cbc5a0a34294db83e35ba2894d1c78de734f00e3c55832c90c84067dfefa1420b63ff6dcdf33d18938c649a9a0241a54ec9cca456a930647842bac89805a8f3e02207fb1c2140725c308094df4f6837d652ad416095cc9641b630300cc5c5bf417d0e3ffd949b7238d50cd4a4f009ec3eca04c430cc85aca7e97079c0bdfee999a2e64d738f1e27ccc839427fa0cf38bb36b45ae520a5f583c65b39b39b9f8c639264544b3e57ecf738c756b94c6249cc3e6af5ff991cefb248e5cada7226a7521a8e2f6a37a3d975ac8c9f300bee6658aaa7c7870004340a79a7cbfb8d18f320cb8903100b506e43d4a04d3af0a0fb9a72d6860fd85dd1652439c32c674e76c34c5fd04e109b684273ec9150cff508ad0774020ed507385ab4450996e31aef23f78fd40a4454471a4ff7170d6589b02000c3c10056e25eef6e174b8bb73fa7dff5e2055de64aad460ddce398218cf0ad804f7eee7fe68e98d1e06b1e50419c4f84d808ceb2d34241c736c2afaa28867ceed963d77d9f473cd9b4f159192069238729fdc7734da2c685aa9e96a5964fdaa16ad40346e4578f22fd955823a8c4af8fd968e02f59ae0a024293426a8ba2eb437449fb44e696436b7c228f57dd422bd6a3788f2d1b7b99773ff183548077e8528973efffae62a34f816ac76cb93f58eefb7275e927d21548828481e19cb89acd5775081ae1371a314930f6d1fb2251f25b9a8d0241b0278cf3d4ac215d7a6f82a266b0f8bbf0e5eff419b844b2130064b06b1d3414d0518715838cb77c6c5c1a1166e19eda16bfe70d373b72e268f558601e93c976419653222d7a39ec96829b8adc9701a613c1f2778c2e341989176857416032c77e006cfc10a3620c9c6853e61eccdbf4763b14f4e31b9ed57acd41740fb41c03ef7479cb7761aa9903661df3ce107fffd8e51e081df92ccd45efb676930db44343303115dbd9431d841965987cc89c71ee2e3ad87583f48cf889081d732ae9b5e27e36ce2183f93cf07cf3a503b78d8f2cf3a118083f6e0a675bda15390cab019e52f401384878852650e6ea05d1c7b6d4ba3d7a2c7016333ffca8231139b99e8ae322142929e8966b71bee55207fe7dce19e6ac811fa82ce08c23d6afa0c31436dcbadca4f0b842d8c6b53dd5399960ed4cf35e3bd43c1f590068a948b1ed272f32f1795ed6b3fd06f7103e08a762c1ec21ab161f43be94a874a408cd89b00de55bcdc6ddb4c46d6f47e1e7d7df7cae12757beeecc5451bcc68add7437753c2b871b0845b56f89e1c0094d70327b9475e97128eda223b995b75f3307881b4ea1a8a498c4a5fd617a06f0ab2ce1e7e75901b84c68cebf3626f6e81557ed00d71460d32e0e15a1c4cbc0e66cdf724a3ef1b401744954baf6e6448c369273f18860d4ddbc698b191565ac242754d67fa056cd0a0705d1992017cc32ef5188f58b9ed715680a963e0c82ca876342abb181141f7eb51f8203843d6c0e34b767cd8a9ad7fcd8bcc3340e1efcd90c9adb1db490cfad40548ebe4c8e93db694b3b063231abea0ef3aaf07c0fd105db1727230511459f2d0d02b3edb467f8948a836bb15e584e7537a3868b76149aaaf498e277429d4413668288414cde495cb35eb2b7f1f312a84bd405afee6af88703c9276843195c5380222211589f0f7f8814e3f818564e273c3061551e66d480f305b01914ceea12a4f8fd40241426f8abed9d70199eac9fa1fe5695012c2e5c83a43f70085e5a1a6de2926c19fc8bc743e3d8492aeb92b80455bd3e3ec7f95f0cb2eb5ae8313bac755780a44111dd5ffd7734c761dc5dae6a10198b7e2fb0bce8bb8d2ab121467e55ba88b8c30019e9e7a5433e92cfb3d63cdf23b235f4b401c165ead71dd72fec762b4af7c1ff65890b324a1484900e2a409491949914df36dc11b4057091f1f2bacc1196b71a6320e0cd6b282ffbaffae908754c6f103136f034406afef4717cb9ea3244d0b5d0e62cb56b45cc451e273b5f68db29cb169ea72715972cf9950e07b7e381b14b243bba95f8a8b8d81636750d31d2ad0547a2146ab8253092e5d9c63025f195a06e820b48f07559633565aa185093243659d0b557e093c39a5bad7d4c7cb95b510619008d805a4c8e03688eee751e5b2ce24e89f5f60d5cc22ce34cf48da65869051020fed18d454f852a6e2fb73d9e0dc682c72a8a1a087100bebbfcd39d3ea8099daff2c914760acfd9751e7f164cd03e26fb1b9918dfc21d3a17a98c6cfa5b98b7daf2a23078af604b229aa4a0088cde55b66e77276788f6fb153406bcb52dfacba254a611c7ac840347f6372141f01b5af9eb9c7bfdb42f72b424ce2f939fb83084e981841d1b57fc812ef79912152a073d7ab39ee4cc9c90c515f284d01c6774a889cd7b39f23498703c5d877117148e4eb1acf43d6b1d329bc5f7bc0ab06c0ae881985f17f473f8f61cef9e398ec196b72851521900ccad0aff76df2c1c0bcb0eb0a6f389d48aaee89baf7e5682e064d7eeed7b279e6a49a6b4fb66743da838435b7e4adc8e2f106bec9d26ef9142067d131731be7cdee9af944d212f1cec761cfdfda9af525f04be2f5af5334a723a0c0a9168138af224e988138ce0ab9f2f55c37bf2bc91df71d4b4da5746b44fdac979693df73a9165c62a38a26a0396a79bd8f9ae6dbd9303d2701672de1f1eecda4bcaba330e7b4efaa8339fc7b9a59b3c2a611d48aad812bfea09e12179fb3cd01cdfc4560f70954aee581da52d074cae7e3460d505546fa8c50fc3ae03a33515beb40b6e2b875a8d07a89ee34958657e84db04fad08c30a4b656ac006c18c85188fc359719384a6cb46e407ad594cb8f52702bca2015f1f87e691e4597a17233572883655e90586276653719a41e79e2f8510f3b48f0b26035db347492546a7642832e91ad09cd643ca79628f0f597418ef841d48015ce8b6ca2fac1c49ae5b9703fd546a6998b0433785b4b06095b0d7d31473dcc8b20ec4c5d2d2583160d79156476717e8b570235c732361251e2258c9acf8945893d3494bdd72f5390947420cf3914c46ce735a1f6722b01042292b8d3fa33ec38f5d396ce8fdcf57385200e88d4d07ca547648d711a6704e4cccf110f23f545c1603fbb85dd150af230b011d808514c288a3159bdb31b9ee5398cb01c308b5275a03d889c6ebbf38f03a5eb45cb47fb125c667224df74984a75d9c74dca95553a89227640b058db53a4c33feb22ab733cbbc1197db842713f105e2a68d41304f135e0997a1905dccac51bdec45e832b025b0b785884f40d2baab99c8d21067e9ab91fa6193c3e186d485605e94e4ce6adab8bfaf1b4ba93acc1d803e447b6aea6303ab32e71f7c975f90ff656f77b1f500e6486a8c8de966182bab249dd88f5eaf35b78b256d52b60a756bc5d4f7e3da2d96bf4afeb994b96b54a60dc5f34ed63a2bde4c11d530a6a325a9050ca2f475fe8093098b92a1f5430748c192a49b3499e2b204823f65b1477ac1805d76f5036a20fb06c10bd5417c942d01800d8e0ec113d64a4b9c9559082b5852d286137d5d886be4d9dbf768a3c81eb9760dc0faccf0fe7b8ed033e0d905504da72105e62d84482459fdd0a4da9313f123b43dcb23c230341746a8a71a25c34e744a6f3dc1b64f3e3f9943832ef718fc3b83d1f154be0b40e2d285c38c401fdb9958298ec0ad7b083567304a69e1c09ecbcf32836c6ebd50861e969aeadff4a0c37e29bb977043dc6e9880cad069213b2e0079bf14504ca42b8db04e542d5b4ed4b36976c1025745d891fbe7331dd624622468da1a84d45bdb1baee857a5fb1787480a8f58c6d5434bffd1e2c5300d0266568822273f859d06eaaddf373994b74fcaa8f518109b18b63b10d48721ce55f2b8e44c0ea02202fa8d164be2a3cc80393ac14ab141d25676cd46458ab74586161dad1c9d7c2a21f75f94cf700e8f154d359ac8df5c1e7576b895633a78c8b0a25b943473d98a7e38df9208c81bcdb7d6afbbb056b294ed4fc22337235db388af65cbd93e04323c6912bef463dc7ed888e18e4017f4567d2837fe8e799eb95d5f0ec77a113b9f002026690426eb124c24fb940a62de5f7bc6958798154d589e9e7e728393b81f4c36c420139dc5b3f051ec2d4a924f6a9137a8584ba1a16ddf748d9b89d55de7a310ad0647e6913ed6d3e179c7749b5400cdc227212b2ce1f010ad8dad12eb152b92d596d11246977dff0ea3e1d2657c4278a4203f22b7b6e9dac0062dd291ca8fca930fcecaa82b63ddbe2827640db2b30720b522f729d094ddafc623a0cdf973cd26f13be521048f3a677c894dac3b5383b24dea047c3837b8209843257e16004100ea2bed1c5a0a230e633f30c858b495dcb4aab99e92608ccd09dd009c77903a8cffac1bf48cd266e6bdd401c0262de764571fbba13b458fd85113e888f33d28fd406f0ca720ab6c9d969617bebb1867e903a19870a2879d1b8c403fa2aee2fab5726cd9719dade11b6cd59d422998d2dc1af5149669d89cdccf5a6a7174ba92cfd9a5e893ec876126f9a927e8e3b9a45ec0d58ce569fdbfac6a7d65815f215059d395f0f7c518e054ad57de0af439826f696bb97bdca6e8ac7b6549fe6d1680595a28ba539d98c1f4e6b13669efc4b86d561d19589b8c4ccda5050872370d284b2f8c500b7e5371c999faec35d2e4e68c386d13aa2eac0a5bf7e2e53071fd5abf5cbbbdfe46ceef681d3a6760ead6db925dba9709b1c1470abdf13be3f35b15655962c8c8d0669b43370aa21feaaba3f8f172a7e5186f24851da8b1fafabad12d81e84667c25fecc76f6de9a764c08b3b934f0b3ac9a4898cd682018210aa993a622384143ddcfd1596ff225efd0a789e6e04837c3b1f10d3dc060bcb1891051ed31d116b1f1caa27c132b95a4a89dfb833aa1161b1e10da7276586770345621e73bea5bc7e600c559b89d5e6a5b016720eeba43dbc8f092df0b4e7dd98aa6283659ccd808a00541f050398169ab0b11a279f61a2c0ae0e444f997127cfee903b5349bcd7444cff72f7cf8f93edee7094e42a7f11047c8dda24b3f3d32f1740748018c54edcf42bee3eb00525bb9955c18e6c76f74c1dd76f5d41cf4aab54c0b9d9683a563486e82034eafea5daffa0d32ab0c7e4370be33e7f90cf5468cd5abaa5741e372a77df35e777452bf0658d1cf45bc6bc7825c770da355e47306b794f9b033d402abefb49cf7ecca54dc03b0d2bfe313dc36476cf3f10e2e4e96e5381e32242f4e9c51dea85b4f3ae1961e1964f756b7b5e1848ba3d527972ac1f573a5391aeabadecd0982c1599cec0ce811bfcac42a092a5f61b12e7cf446c7a33fdaf7dbeb9e6ead37a5c755e29ea983c3c6940bf8fc5fb38731ccf567965743fe93cff39dc74b17133829a78c1223aed67742ffa2bc48ac6c00a6076f7e6b127da4f978543443d7808d971e9c2e1aef4acdb3a2737a40986353625a21eb1a12c1ec7ece5f338d5a6308da39b3eb7b77bb6eff336f5e970be9bc4721f826359437a9f6641ec12839bfdfb1edd7b0e982665d3618f07c6c2998b3b1571d62b4c3d7acfde95821bbfcdf961a34a0df1194d041129528707c8d4d156e4e89e427927b4e193fb8d0e04c7168635ef4a423093c4bf0b276a7523529bc781d6d5ca08039b95ce3044001219051592b1518a668a8b6a24570b635401d1df52e58c9ad0a7cdcd7a91555fec28886cdee2fcd316c629bf2f197d98ee5e00e92cbef68df8bbbbabf6f9c417148f3c31f037b2a1ad8ea7aedbd21e94799a67d3cedc04969f408d54382297df614fa623605351d726022cf88e12c4c41148c120909182de71a3e6f674ccfb5041c1257a881086ef376db0ee2056a921326492c3845c34d084d4edc66f6f92d4db11cf56e2a3f5846e523f415cc32703c80336c05f14fbee17e834bec8b36f3d49c16c2433fdcf2e0742509f334cda2111d55df107282989fc701f82c331327ffea830f784a88435c64a7a883719c017d93b92fb24b206f0a59a121d1fd0a6141942e13cd490fa5c5fae987ea0389526a44633208783d13e6db67ab75409fec08b913b7ebe9067660280dfdb2ae5e98475af10db6736f3b5318aedc432e9363766af7d070c12552eeeb56fcb11a0cdbdd44c8800afccd47bdf772ea79e5e281f7943aae0e95981e1572d4d16e09b1542bcf713cec8c31327ab158258d4edae13d8520cc13cf4159b5f610bb285adc9a5191707724fbe161b10bbaaf47596e9f29082a73b4f8454bb5442b0f9118a90cd8527ca165ce974716085e7f97f57e9fc63b3ee00bec1ec40f987c8bfc73580883ac3e7ec5bfa6f3f579a5cc1e52cbe804688951bc2aaaada1a470bfdc1bfa9e3c526e84faa398e035086de16ce727a97f8a7007d237c70dd571c18b469ac300a0c033f1f5d00156f07fcc026a81e9b37011d89cf00be903168a8fe5b43b079c1f561dee0250d4b2c8b7128e7c11ba1e1075cc8b4e5d3fec7083ee6d0e42a0aa2a73b136084a49448871b633f9b7e15d72b3ef1a15d444b9b39dd8a52541ca86213e9b51dbf65ac15126f3c28440fb580a4fd0768a67ed9a65e2857de3f4fe5c7924186175eeec5df7db5a652b5647ccad6b901caf4e601ec8fe3df9401c5a52acac9f02855d0240ab1b5edf106ec67b13cf191c983ad30e8814c5d6a5d6c4b4cbeea6df84eaf0c5b481726e7982fc4d7920322ecb6e2087fede02b7cd89e564653671513cde37aeb1cd9e1c249e50f061c46ceb75ad14f8b2c807ae1abea024811773edea8b0061fb09230dbb2037f640253b1bba1fe089f46321fef28875792d57796670202c748bf4055961e50c1dc562e6f87f06ea2654779d5888bb90d3ccc9e66df272641ee5abb885b362d28ede5aba4d6a68df55a2b3306761af5f6a8a7d88dd29f0d5daf9071354d8c5ddcf7e7f8d996b4ca8f3fc8c1431d8342309d9ea1302f60aa6f52fa10da66323bfa4f711d53528af469b691db4eb1ee39ab067faed49b62b1a60ee6480e3c1e72a8f213517fae0b71900dd2ebc277544b5528bb1590e950c196bb661c03bfe389e276ed9cc06cf58a44a90902b0c5a0085e8cf0538474a9218d8e76d02f152420e40c2f1f4b95c8b8afdf7c66a3a9457b98db95c9e78f99a5148e3bf1fea63d76e9fb87816ad06e6e7fe2d09588ab255636c7d7a6f4c544be5d47eb56fa22836f56683db52b012d763e0ef99cb76969bdf172c96b71f9fdd1c949e736a10aad21c551e2fdc68fceb6b217200d9e430c0e3ee0e8eaeddf968423b028c4892098e8fdef81978ae1998d88bfa8b83568d5c3d16544fca9799209c559732857c818eee3ebc7473f2d3b30212130bf4e295b404b49a6e403c999b8aec10d5cc99602276b7d4d52489a5151c070ee923a603f58fab1094365723647ea05010a757721c8d126e867ab614f79e2a1931a1c225d6c3c2e5426f8db82bb27ffc47cae500c756b8f46fa55a2b23131a9907fe8123065ae53904fd74e447fa18385dae4f0297de7dcb3d3871e5bd070a8a14a29aa288973d36ef7af596266c759a83d3d1088227622c30e2538d96e82bcf0546ab73dcdbcc5a71ea5e29bb97e45fd119fdeabc754f39de1610042beeb47a487a098fbcc9c5cc483887534e4f5ad9647e3f9b66e2df86461c26cfecad744eccad78559d9eeffeb6d0f181a0c5e299484f61469d77a8e2556741b01a28b39bd7d65ee9caffd1beee3eb0f17105a09b16b76b03a3efd47ac438b72c86abc5493e8dc392f2133e186f582a929c572fb3b68b0efa4e70f12158bf106d46d630d0f072303a4921af1facda02ede58838120fa374c43d99361040db3c443186f0b40132d00e43db7115ec9764661f3d56f020fcb236539363ad6aadee41ad4ea7a10171340f282dfcbac2ac18926d68122c63a99bc7ce6d2840d5c4427dac10b5e3cc701a1c5429a51a455e37b2bbc500cc519f1a92654ccad2bb22248b77b28f32beac652f6a2470783d3fee6e8e948cc03f42eefc92d9412c0221359485104b1c664e154d2a0905ffcc27667150076990e6d7447bf72b1408ec09a459017b71f11c7291fd5b3c96935e326fbb4d503e4e1523e3b0697ef2f340e1c809b428492b4fdda4dc0d7312aca1890e6e8085b059a8973b99b41c4b16435d922bb42589161d5f2ca912f938d29132ad129be4399d3f4846bc3f93bca91a1567ad9be7a97d9cb474f824ba4496687972d671c57e85a9918280b2a9cd40002fa48557df366b30110742ece0b0ee3f50e94d1d847b13f959a3de6ee1aa9cba30bdb429d29af3daa01b3881ddb59565f072ce4f8a102f48cb335c602d42e40b9dc30d7ceedd103379d2583ebcf2b23d5c1accc7d8d81ebd8b4cbce33a9260d463737285dc258731acb4b4ed1f26e2f1fcd910a549d03209fe869122f29d6ec0fb584bda761787f98545cb5fb2b26857f62ce6a732252ba8a64edb34647c082297b6900342dcff5639dd58055fae8f8af8cba6019ecf0fd127c112c83a70aaf0d619ee0289a5ea46eb02422fe0da4166d311ae907a3522ad1a94e9f4db4d2c52a83275986841d748e922ca339e6c572578ad38c29eae3e4156781eb6d40f018add5dfed73a60f4adba2f3f9974abc7cb9884e8e586ca242ac11e61c54e518dda8b7ce0b9fb22a35037b78b60ac01033ac92c3d2c41356579a5bddf4599dfca3b9a831f91b210dec64d3afe38a5053f98fa4299e3b40bc8f85c4ce65cea60471c54cd245c73f060443c0e023084781344de3ce8d9133d2663d300b1a5e5599d9db7b0fab0c3221803d841b5f5a10b6f47f1b8a27adf231b9fb3633fb4f92ebf64d882a79c49ed0c913c48a5ae100be6e5d46eca6084c5a1a391c41292680991229ca5e2287ddec758af685594f6c88f6cfc35bec8f9e096e053f0d54c4e048961e21fc3da0b1ffeb4b6108f77de1b05d7e0eab86cee372b9967052923c48fd0758da230e526fc96e28adb2ff6213f0167e87745042e28cf0c056b5683950fe2ae4c6011b01c186977ca3d3ff3e7e839694b0485b5417955f7c8c553eb2919a0f172ae17dd6fdf7ebc17565e91542ca31bd06c578c3bfb2d7baf59415814f93b7d66917a7f7c01bd2037739eebed3622b4e6fcc12e3bcd994264f037747fb28efd91a896808a2c6ab0879b5ed87cbbff921e8b8cbef6035b493ec6edb7383a0ccce427b47c22b4146fe35da9aa57a63ae6c6d4697fb5e57ebba38517a4faba92ee0018255e77f6e4dc3017b0dbacf930b1e8975025d5be649467c9e26b03cc69813699cfe2bd729397dfcbc5bbad8e3c8bcc92aab0cfc94f8e42b1bfddb983d913f22624b95504372da10ce9ac4d236a99051f21239825af4070e30df373220a4c5d06c247a8417f76b746dd4d133f02f4308845d71445bfafccfaef975f8dbe3aecc2fc4e0652858b424826e4d9a84fb543be77eeed958acf94adc32e619ad05784dbe97c5c866dc24af46c95cfa595e21a16bf0ad8ef18cc7964aa253a36d3dc5b5c66ea7ee390f7db2cdf8f9a29442f243bc3a6ebd98136bf0b22831177d5dbb1b4ce3ce35ef7aa4cb0f04b43f3a4fd2d22de578efbb6033cc63febe173b7d305e4ee30a594cd0df264955081604eae0ad6912c880769f2b2dbc5978adc4331176d4b4193ccb7580c52a3b361dfc3a4e50bfe0b01804737ed59190591bcfe5c4cc3a12de6ed5e21acc55dfd286beb3f4e6f34e0add0fda83b4b61b9774dfdf1c91a089b94a4a5020c8643cbc25c636595bc5cc95f251643f875fbb9505dea313a5f87f1190eedac069785b86ae9efcbdafb2dfbc40b12cb2d630d19e778d690bc0fb6b1be557fef744d24d17fb58ac677cad084c001dca0b359fd50d82881f7b7f506e0edd97b9711f2f63eb73db1c52ea92e1ac3100a0a52203ffef54db11ddd7b231855752874846326f9bda0bb73bc2e4ded0c17540f8a6b0828179d5d4c4234bc875b2f628ef0cd8fd3b3a545258faa46f1a5ca76af7f51b889d6c49bf5b76b5d8a57efd2149e8bdd9debbe69e9786cf188f783c248059f9ed67b8e0df9d593faa5895fd127aff32fdad019fc86f89a90165bf95078e7c6ea25fdb74025eef7fc48fcc9795ee0ad47aac171114327270d5edcbf40bf77f7558c04070f23a668e5871dde8d22fc7ca854b156d58df108048ef539113359c2172a40f4538f66b88e1dbcf77c89986c58c2eb0074d10cd0b5aecf60c07ce9b053b30aded4c13c1196c7881bd74169832e315961f7a22f95cb811ad7f9cf93589ef0461a4e92e4198c4fb7b666d05206057f124391f218f25e497f8b80b4159e282a6d3f85a4f35e3529a74adab9b3d46a975217422518a7423fa2f77eb5c8666ad03d5065d65f4ebe9168e248c919eac0094fee0743f874d1faebd30a204154ee61afc59d2481c88408922e48e792049417f7f8cb06ad293cfb3a892398b3dd6a28a1cceffd6ee969892a0ce58513824edb83a94f6a45e064a173f1cc4675500fae45c0ad51500d4a19a901f5324991a9ab1f6b9c53b968313f854a9fa3a874334ca927934ca8cb77209b83d0294c72a0e85234a7623ad1256275360ffb33852c02a0be442ac1b868acb36fa9ec03165ab722564350cc575987524949268991a23b7bbfa616828f02b5f010f41b56bd1bc0c956c64b7d4d1b26313307c8ad2034a0cac54aeb0be9c7079b49666b60711c8242a043b887bbb73a79e5922f4462de60fbcf620dd9b97513c61cd02b826326856f58cebcfc0dab35ee87afb3a01f491ed113b1bd88bfe552c2e3827ef094276cc882095535d4a4c13dbb8e31a9435ae22d580f2ba6aa9a018864e1b7daa3a82423579ff83b24e5e0fcbaeb59d283d95bc5769b7b0ae01177d72869036325afaf512bc17ed6890dca4551d660e76493638d1be15b14547c086628897b28a1790bbcbc664a24542a60e765d403a32fdb449386643cd9b7ffdd0171bb2d1db376a66812a42de9e1c6087036a5693e34ffb506af1bdbcd618b3c7c9645b2f1fdeb13a6b0ccb333aadc91c698b04039856c179c8743c120d17350d928d6d4f5ae191dd5ab034ab2e850d4976de73c1e036ddac591214743051006bf7b0b9d1cdc7702b252e2fc9e23ad2ab53c5c1759f90269f9e35d321a19231024723b2cb944b01264923e3b174abfee919d877a3deb89ba5e5e2f5bf0d8e5f74eb5fcd375f7aa1214649aad58714bcfb9c9e52a89a427d5e67caf19cc0919b7ac09413cb5c5f728156e52ed24cbb5d5c66ab14eb98938195884e48fa627f004073dd123076e9ed19fab9d16b376d285a8a708fc8efdea96675bdbeedd74ba2002f95ebb3e4b8a6bd402c5405c9800813610ed33c441f14d1f55c87e98f58e1cd861de00326d7f303cb8a31fd9d2397b12d44a5e4ee1f0bf450395450c0fa68571b7b260aceb933dd2ab7c301b29665bfaed13aaa6d39f619e0d87e319ef8e41c0680b54ff4af6251c3bf7af6fa4830c3ed209d1b6c879c6b6e57ed2f43c0c245d3027689d791cda6e1df0d2cdf12d2e4439e2afffb2665880ed01b7b579ec0b289ea09a212aa6c128ee40d4739c0d343ea268a0b6ee244124e461d4a421b608e26b221f83f93752a7565102ecf97104d27af01d7dd7b8ed1a124790a100b9a5d3b929a88c6800d71a9fe9258703cc55bc6f3eef3b2eda92174ecd15b7e99e66db0da600a78a16a2faa51cde65b6007c281ea68f19e36e25d22d8f54609e75091fd1a8636bc3d7087090bcf1bf1611d2dd9c670e553068dd394324dfebbbc8aabd47c2887411055ec3778613cff874e1462419a11685d333db4b7aba5943e083dab58b7e0aa591eccffc7b024838b1b3d6a449a1265017cf2d1d9998f12f53391870717c74d115a653819ca815066f9146aeb98ee872c69091749e9dee20edd3e6cea57115c0b0ac3acf5e3a9452c4528d75af23aa8619208a27267e7dd26bdc34edec540b9be6198d3e3b171776304418b81392605399e8f908e58e579b1f32f2cc24b5116411bc05a7441beb303072bf0bf195610772730cc26785275b1a8c486f875e71079fb61d66caaca10f55dea7e2281e757bba31f258c48a9e19dec2ad250d5ab1850d6e20aad3e679f32a29f557d55b3e11bcd3d3db5de17217b9e0d2dae5316c4637024e38821b4e331758f4f927a4b32d3325988d360510e8f021ad42037748bdf76fceaf8e3f1e34b20daf0011583392b384dc930bf35d98ec2c1f6015a3813ec8c43746ec55e20927c998186b1d6fae1b8ede348f17b92a97d19b29ad33d2335d6e89ad2e40be039742d9a48e7c1a9eb592faacbc37f333820ce37c0a806a710c87ef7156198879b4e0b897f497de651f410a5e9e01e90cce42090c68966d8e703c2cfd012e77ab34f77b6c7cb8395cf535e1d91971766ffe30727c373b90c6406c2b524de9a94d42ab0f97ecc0e8dafaa14519abc103b41544a3fabcac71d436e62ce97a3eabba3c69bdc9528c29a78f9d037d966cd91fd9d954a73aa2cb95aeba4ba1cc48fa6e7cd1644ed380d4d1ee4ee9d5c1f3198017446e2d85519b0dc001e02cf76e0e8e406e91317628c937ae7d546a1e4b9956c70a47d9a520a221a7b144d878e2c11dc0daf3a01d0b60803710069ab5eb0f51379511add6eb6b3e14062937f93c463df289bc0690336f9a30e19f01c292f9d39b9c26fc5862f5a7cd59a5ee307627b97d3fdfbcf1a6c41fb410a3d89d66049ba6a0d26c395a654fa08a5069c71c4c9d9837736449c5b9841964946933418ac65f1b290cd98c27df95528265d51457bb123f0263e4abd5cc1f26d7cc949e766a18b60c1027447ee8b1952099776bad82e64ac0bfec8e9c54e94fd7eabeefbedc14daa7b011362a0a63cb41e4b41d28c46143f5027f2d389a4f48cc81310fbf2e5fb4902f04255c97c0bfda577c80c89f06c6d7c68fd7d464d2c4a0434ce8bd7047c9a244f89e4f97a38faccd684a117403a66adfa904bdc09b4ad38c7e6614ea091bbc48ac99ce8c22517a23618b412bbb28489264841b9ef9aa6796c8710512a511c556c678585ba673f168f8ad3dd045349783031484f295761e42b8d9412840c0c868dff6aaee0893b08eac573c51d5a52732fa599611c1126016309d4ef5d3d17e915ae01a4dc7a4cbdeee56f4bbf52f73f88119a67b2b4283d14b119575ee504fcf24ca2e0069353861c65192a739356aaa6cec7c243dbaeec307020224105edfd3c3ce3c0b27b1779b8c483e25842ad767c89569bb666925094c271fe6a16e9be997916b822d1a40281871304dce2d343efc1ed2603606f27c20262b01353460ac4c0cb50db36d97a0f23756021b62a802e2182fefc5ca7889128b2342b327d32a5f5d0b1223d64fb7717d62244a7e718c2e39083bd91ae0f66ad171183d2658d6aef4e61680bd4b6ac66260e4e7a78e83d04657dc5ee40e994e23d07e0917f9c3d84b7e737238eb808b9b9e7aed3f100e0278516df53ac9208af6e15b4d4addfe9640d41acddd93784bdad639229cfb22cc365018c06ac21d4a87e230a3bf331c7a00cdc8360924a1fbe5a43aef37db23f9d66bd2c25b4b389cbec2313eb718508c990f4e41a9256ddf3771828ff98c66faf558f9539aea4a5f7d523c7243d8e1ce21c6fa89028efa6e3883b341a8425320080aebfb83f5f9c0f5f34bb8d4efa66afef3a0f58656d230a636555f6a1316ebecf6c396d53947ad309eeb26fd3d12ab6c188bb51c93be9a66570dc82704680fd40982f6202a73c0e12a41cc262c0e581ce2d8741992a98b81a3df2e2f916b10c4d0368496493af1257562529926dced26eec4e18be7ee2a3a67908dfd92d4b32269f465ee580511e896bbce49712f5822a5f19b963b8f16f847d7b3ead1b3f503da83bb07831bf8148d03d3a9570ceea6c2a405f033c193b6376f84f948febdec0faace2b68008373608eb66d1ab1d6daad929daa12787d966d3de0b0ad7d23ebea8674f8df485de9aac6930876d38e2109d913d47a4e8d628dbb589baa40e85cfdedaffb98642b0768fbb30a2e488dacd39b942f309bc177cb2bb7eaea9dbaeb59be3a4793c860c693e12bec1824e49907dda61c1b11aa5d0a90f43eccf3501acc363bb03296caa566dfa5a7dd5d1cce598e44c7546fb006af26f9859637e1e8622479ec1c532abcb767e87d23a243a64e6d04d304973156de609ac737dede73eea581fdd3d9f1ac7aadf7d1a85fabef08d82dc291d01ab5ed93e1d28fdbfd384f9c470758340a5963d8c80f3883389765187fef8b1384d3683e018d8fc9ccd4550a1aa3e8a9d343d9e7249037036e59abee0f8a0767a9d1f8973e89f741d034eb8a007452964451027bdea8fc714b2de4e3c14dca741af243db8fd0facb5d3a19a3e928a2195435056395b3a11fd5330b129ce67979f48c9a19e235a370ef56dee18982c69b8c9b5d2d5838cde59284e800b673be60aaea0a820cc5d93e4cb81e3dc083d8a730f8ac608080cb1964f1e623c9a4a345a54608169355ec4482211e9a48895585b635c60f356343d81cb514bf8e123f6f3e424e36536388f82e7b68a3dbb7438a27c8fa62e46bc97708c0625e45706dfa4c6ca66565ce870e788a2f73d032a2c4546a2678e3c3e1f6321171e9561fb12f5eb1283358f7964d61c92723f4c3e69aed62bb53ca249f48d55066194e7c1bb1d294e3914e4737e3c1788468cd1bb267bc6d2bad0e139dda163d81e3c51a4d00ad3a2a9ed942221c24962e9fe966241ec595556f83aff459b4eee7285af45608f7ee791bfd9ea4596b8ecc96b6a24c0e2193e9d2de536c3f0c6f7b808d1c2ae263505d8e4afd97120eed4daa2741c54f3c77cdb5d547642a23cebd7cb6d36d08d3e222b85fbafae3976cc962e6d9f47ba6cc851eaf12ce1926abc5ced8a0b982636400079f98655dcf60efb994a12d928a736e19f8d8c46d9edfa2467ff286662877be20720c4eb5aa0fb66982ec0a8a64df2f311eda56221f847c1ca6821dc3e62be8e8d4e79cc9dfea0b53020bc53950cc54736516742eb43d6fdde6f2fc5bf12db7ec69e11d64279c09bec7dfa12735844cbdaee1047cbcbea96b0067400d922d366e66d4d88378e6f75581a0c5eae7bb82ff9edd1bb79a3d36f09af3e71ec2d13d9d4cdc5e9e6159d4eb9162425f7008b03ed066d857249e577a59281b2fc9db8339ae0590a11ba093bb9fb64f3273d9f0dc7a81df242a671ab0ecbea8ed1f7fabea5d4a7511369884017dd7c6bc33a0343aa3c171bec2627aaf82f427ec8c8db3f21edede72a8b407f1112269b7284d19b8671479fd3bf8235c1f52b1645a27f69f386abf61b749e088f82fdda53497688f221b8120a38aca399e74fdf06b1694a5e0743c1e7fd66041520f6f7f2d745681b8102f02c4c726ab2d3dc2e888ae475a429f2c42e86c6f026ea009f452c9cf97a1da1fd530b2631f25cfbbd2b09a9d95df32f4563b3f426c5bda0b6039fd5939c84b45ce396d7bb7c8d0567dc7411dda3345a0aaea5eb1448a9fcf3d0e4a47c3d5136a84239eaadf24dec81af5260555d78f029ea28d5ba15ceaac3d030cb5c0363dc84e13e2bf956298383c24d657000e231069361707271e033439cc248f9d8aa70ebf79ea5863bf89b474de175f970d209406bae745ddd8f0fa05405b36858128c9deb06aa1054a8d05acbdb7e0c1541db1bb69b723210739101f1c507ccd4b3a4e63b159949564f642b96d21f2f45aa9c0afaed5134e2ed2e051d336792c30636bf35bd90f4419a519a5dd34f6c7e4db2b3e951f14c173d27558ed5b17c148bb9fce3ee55d3d2beadc868a22d008003462c542757152ede99b34b9abb736dd0653e9a2fb0e068e48ce055c9f5914e709b5e1fe2107ca4f6801be0f5267165d966a1d3c5a8a770ae414b4b7540f0c4fb15be700d3527bb8613cb240fce1bfe4d0768e59826d56546b9f469ea9c62f72d9d2b7ce894eb87b295b389c385557e3f50f96350abb1b6d34d1ac96337cec7ac62e4e4fb8acc531c0791db2a345b79c20bcf470c45c67e748266d32708fd1d9fa4ba86c2ac9e1345ce3d47bb6c1f089c2d6b01f238cb2f4b2ddfe6ececdd5511561f882155ebaaf865bc48fb943a592a61cc8186b0b5618c8c3ed635816d681094da555e7c26533e01a04865938a39968d82a0c599a02c558260816512afbc29083066a5249e615928f48b5746f26f781d9581c6a07a3c78cc9158c0bcef7cdcc3a0d4e0f886c4d8ab6f79148b8e4028071d3e51389b2e057dc2398ea78bfeb2709fec4252f8d2fcc135e586159164e04f220bf9e27b708c1fe0471f825931d7e0de55107038e6c27287793a3b19fd166b7b2a89416beae4f529a342657a6156bb8fca25044da956cc1ee6a5cdf79d2cf26da1a2fa6c486c6a39a8fd7a32b2cd7e88c4341ce80c2ef0c393dba10c715c79ef39fc5231945a8a364dd4d34d0a792cb1ef74b916e1c56812c998dba057770c6b47b76afa825c46daadc34c8f2cb90acc218d74c087c6919d9b899abb47025334fbae6acef366bb1c8e143760fa23cb46fabfa2c81cf539f92334735ee174515216e6cba65c446d55ae46e87e25385d0b4ae56bc91b45f6aeba9fdcc1d19c2d04717dfe381ea1ca3a783a2386665fec4beac877a3ad087c8e4ef4a02102d2e730c30448e50b85eeadf75f0b336b317e409dd15c0c302a01ebbf91d3059b7c5c579f840186733e99576eae4355f65553c6d019950cf3630a435d336b6796144b96ad1d7b68637829bd5ec51807b00d9510aab1760dcb6f5ecb1a913f684c56e13f2431860b5b29c54e7ae4709f7eda2e971c522cf167ccb855299a67273072c08c72beadd507ba9d16202c8794ca89208e809b39d6f5f8fb05ec20f609432291ef0ddc031ce41996e18efa9df4548609350d9b4024b37125286e13edf41fec0f3892eb92bb81c6b7bf2a492008fc24faf861102486a99b8182af8cb11469d930e180c2ce1dc97b1ea81a9a3f0a732fdca27c332bf1b9275a6e77691f869b74670c37ae02abefcb1c441b5b46376dfdade99facab0caccb10b8b033ba41afdb44cc55c6f470457802b143ec049ea006641ce60ed9962a7f502c7c69c22be34e0d4c60adda1711927c2ad8a9c282bc0db39dba57cef222850978af9a5d912aa57da2eb386693d94d18be4d94568c8fb38b8dc305924bd71e8e6ebae66cc6244cea9caf1b48072e07cbb70372e9f6f6e78d26a89db1e5231e49c9df1866e86cdbabdabe2b590f2834a77812a3fd0026191c653c48ac8f687c546d3990f1ea14a6bec673a57bae8e50338e76455e1fba37f153bb2dc797847c21d0a45905555c0cd69940d4829e247b01e3f0ba3cf50b1a10609e293c218b51ede420fe06abfd5250f2a322921a37282ac768c801aee5bf7e29a0b25fa4c01a6646f9482cbd2d9b91205bcaab25e58516780850c4f31dabad9f4407f5be74a478e73fc356687e31ff1bca9fdc27e2080cba32ef385dc15365c91963961e4b29e8f2c8f90384fb234efddd4b28a079daa32c8144e6e121974b093c796b9c5b9d5e8ddda9119a267dc6fb34d420acd25f41bd354523a3eef23456e61992018ba85ea089649475aefb7db8cbf1fd07bb9ec23ce7045a45ce260afd7234ba62d5a6e068ddb15726ccf143c55e3dd92e33e07d67a6e5946e69068de021e6553ff8100723b6855be582ea91c99c6ecec065ae16149840431dc6ee63c68c4dd9fc64240fcb44182c8b16df8a9b4ab44da7ac8b632d7c7d9020de83b4d75993e26de25e87fa0a1750b1cfc6a1e367db336f9fd35e7323ae8b2bf3f055d5945ff86647ca68298f3940a182c8fa231eef609220f51a82d91aa766fd4a1cbbc8b32e045d7d0ff717097d696030000440b8a08937c61667661664ef57bfe1631e29a615db31d9212d96dd195fa4e61352d21e5b34dd1efb4c638175fb7cdeb3b13bddf379606938568e25b104558db696c52bc6c6eebb4567c3a8eb6f1eb03fb33271ec581da56e4c6037381efd27a90239255db45403a8140e2220bc1b7eb504b0e3db37ab59b26caeeeef09e9c0e64caf9b02fcad12afb8d38b8341907a17df2ea23d5b116261eb5d31d51dd1f015140a35449e57bb1865529afe587dcad9a636691c0a2560245853225db2713f0b4a2e5cf0640f31a0105c9b95aba89da55e98cb1798a0b3304ee3d9ba28b823cf2ead6b2d8f7748335002d11124e7ffeee911458b7b12960e31d6c37a6665460f799578b2d0f7fd4438d4cc18f88dff77e7f32167735a5c5307c52e2f2bc098f8fe3e844f88d6d89807c5a865af66b20de901976a586e656c868847ff2129b7b47e49c0e6205b9135355c5cb2b7996621510082901268b9a7c542b39cd53c07a5ea36d334b7bf6b8f6647f646a7c964827bd0770fa6db8276cf00b47ab903d66a7e579335c1f8ff205a932bd98ac94d3870457d8a7be64261289cee37b52c6529e28dde685047550da2e617a0f554ced80e651b674e50a13b8bcf9e13eaa40ae2d76f1eacac0cc05683903d58a817dfa25965a81dbf0abcbca47b02d0a9ca10626403c12d0752a3f810415f6761c97b8c480cba486e1c3a45107b7691581997599a8e4f12cb5e949dac16c1aa97b996093c433b03b1687f91521750a64368d7a78543654d295b5ed248b074511435c2b9517a841374e9da59b1dbcf153aef987d0ba6bafe82a137f5c7ca42112cebf5516756896d8ee47fdd801ec694c3e5a8eaa6aef9886a38733232506f6f9e592f0c19d14e464df193a503c92a3b8d4ad7dbfec6b0e47c98c6c2dbb3e907c3f8ed4feb3124ab19d85c1f28ff574171bd51babda8e99f99141cc9b8d358548434a74b9d0b4eebe38d6c0af19b1fcd84673c614136c6b0139bc57bd50e59dcafb31628136760c5a0669fbd92cb9cebc14864121b2f3d069b1efd18a9d8ef505f93c9543e47da1d2111894d220bbc2d4d2d8dfe8a27255f465abd1d387f70f914ca8de7ce6f0421b1ac30fd7aca88c293e9fe432e930829547f4904c0169cde0dcbef9077ab54d7e9ed229c477da39bac5063ffb3145f60dce2b303595b7a1e83d5ed1538dd173685c614071cb6fe956f7096199dff09912260f0229a0c376f037bc31aefa8c8ac9e299469a58d393648e0a62b44117f02285f6271e37600da35516844ca2c86b4c82aef0fde8affd142419ac324dd140e09ede5c428594de4161066534d77a4b4511cd0ceb30a8fc278432e3a5e2036577442c3b95884b9f89ccaed6533f542740b853dd3085a82f26cbf20319819f48f5b3529399d9a20042f828c3f83bac7754d6ee280f29355aff68df5087905e4eed1c0d25513cbf59329a1778dbdfc6cb54e87cf75b9a1a74fbe79e3e5fa53c0cfce4406ff47c7d86172a7265c65e51597f52934eaca664282d6d2496b6df83d85145cdcc89e2c6811f84a4680801d1f8c27760d6aa07c47d03997da782460b42d7f3c5a54ade27af49f157dd585eca0f86233fa71bb69bf7259f8b5353bd359058d29847133b9e1e8fd84528e3df291d6b3dc5abcff492804dc6fd2abff421d9491609fe4a2937cdb5934941bee4e334ccedafb6ecee0c4fe4ef290dd49440ff4b6308f45656e188240886b279be294b2e9b7febe0056f8c19e046c328b4a446299318b43426f49a21c71d159dcb45be452e25a53ad821be010523c5acae7000c502ffe587a8e7624c0d8925c8138f8aa69f76959cdd2f9d5dfd6566d7b00308a41fabab94577ff76e42ea13ff420017f0888519f8722096e0ccfbb68717b4ebf42738742d2ba9d001b4132d70918b9a5c6bf00a06acfd0b5d5e75d439f17f86e32bfad022053dfe9cab4ebac18b7bb97e1d5eddb660b012c5a87e5b69aa896ef250cedfe77810d647c48f3e02309b315ca77ddad287fb1137c6a27455738254c79ffe265ee9b5d51be186d40f6d0e072f904ba9c9d24402ae86d1a4443f24508f13f92077319589665f13b3055d8c88e188dae2dc10b89206e52dc884a4c592d84dc3b48f8f26b5a782c0e51b90780725f5b02972f7bfa5aea165e85c0fc3da965fd39e13ae0eae37c79d1e20341c20fa1ce9b17587d7459774d0e71ee8154ced78dccb6dfbff1446cc0d9e509227925744f7826e07ed3cd0fdb7e48c578bf18d5f0da393796f7970fe444383e7c7c71c77fa694a0d86bc9f11be3b74f47015cba484b12d864226d7e531acb7bbc614f5d1b068436110601c557b3e28fbfbbdd0c82fa08217d1dc7e68ce4ad6100eabd0d689f70f149302072216df5aef84bf12415dc4491cdddc8818d71ff8b43eadb54208148ebc5325026c0cdfb593a4005a9491f5e89654ad371e84342f39f7ab07a729353e4caf0a0e74a51446aebac694a80111933e65b45d94ad0351ad6ec280f4cb0b07ebced683dea7cc4e912fcc5b6dc5cac8df172e87103bf8e08f43dbb02d61bff0f7559446eaaa7ab3f3fed62deffc559e9384d84941d2447de6aa0413b315e799ed6776830ead888bb81a4dac636bd4985336a0d335e9fbdbb16c28101f1c9d674811df957e5d46469e907a344ea1326ad149fe0c241719894922fec190152518383185e63214f66d769b570c8252c5e677227d9660ba8a75c23c8c33170ee4a98d1acd47c2e2d8d8dc54f25721aa821ac692f23a8cca86b594b14f56ad469abf4b82aa4d51f97ad6004ed797c63aedf6b12eadadfd5b770e251befb48ede9427ba50419a18e51ece826419dd48c3d465bf8cc03b07cf5501ef9ee7442b317e9f8a26f76e787935ab72fd84038e1d2be24638a7c8ecd194f4fdda5f82871fcba9ad81516e09bba87c946d5478e1269c7b71aa3098cdb97649ebb3397901c8dffe55d656e6192f46697a007904b17ab991c49096b2d8732383ee3be5027192fa2684390285a0a25fa2ca4dc44e134ea39b61fa2d456cac30452e5b9d5f2ccdf61ecbb374554e6148022a482c18080ccd3ffd5e8b6b22a78dbd6733bf825203f492d231b497e509cd24c545dc63252790f4a4607f2f8158a151f2e8303772bc1953763c6e0ae0fcfd609c435dd52454fb1cbe1f2caba74fda2bf6312431f184906dbc6b554e725a5221cbad75057e43fa58199026545f6192ea9aad7c0476a81ebf15ce5c28d9abf165daf67205b015317916e47b23c8ad7f90d5d000459405b095d3ac424b21c72140d8cdc1ac71f4b16ae8448633715dff5930769eec4819c911046e0afa39df39a04cf2f6b3873f56bb6e6a7615a1544de53a2e5dba6dfeb0f3980461c545e41c51b916be18816af38dc82a5e82565a91ed589131ca58a8349487567ac3b0d0f7ef21deb174f8efad101157696db512f0fb84af3a4ac97856339aa3b471fb8dbc495307462db619217c9224b107b1b1d4b749d3d50e0efe884e780b3844943fa8eb159e72917c162a27aa7257a06d0b92bdd3fe03176923827826e86b45d62766065ca76bc0986f78c5b4fb2a8f1717b2fc15ea38d3403a665658647361ec9d91a7386427541cbde9ae00dd71f24d82dece0edc73fdc8e808635ec4256ef78766ed9ca34b0a78aae70fb837c35c6a76c7efbdb8178fb6f46bd9dce1b70d7a6258e40cf501cea9836286a9f2d3fc6eb739ba94b32f1e5adca3c2758324115aa4740a5ca022d7415abfba36278c6f72e14c2c7899f89e0157fc37492e53e127f3a093e6787426def6fa8560d357a2f8329c24b691571773b7740dfce8027bbf19466f48fce5830fac47293f7fe15703f2eefd6a0a95d930c69a8bcf89f75e7b6743682dd5f8620f421580bebc5c64ace1ebdfec2c3bf9de588cba5cf4383dce82984de0f116ca6c8eda6d2cf1acf9615d2582fe5ed7aaf8d11325ee7c51cfc7933ff902118b921666c2afca10e73fc7294298b2eb26e64e8a1e737b0dfd080dc12c4c1773eb9249ce5c31275568f87d68cac0e5adf43aa99b456e43de5cf15a00326deab8dc13bc78695cf8ef55c5109dde88745cc9ca96ea699da8ca02a78745a78dc782aa80caa46168e04973c6eacbbf5c0ce69b9aaa7d040ebcbefdcd597ed91715d843dca8574b523277eca4f2bcf9c3911c7bc301250dae3d11dcdb2c96697cb215d27da2d16bb8146898241be6aef27cff787e269ab1b00b8b515e03669dd622806a15dd56319d43085117f3e7bb54eb345364913c8bc12ec0cc3e6fb9d79d515c91c6466fb09615e1d9dc0570c5ed07d597d6cdcf49287cd02b735cca82487beb0e69ee765ac95d89365bda01e1388a7d1a9a9b76159252559ffbc132031a4dbcde1ba96b7062b09830f63ab2cc842b757fdffac7a28f00c74cc2444cb806a0e04473852e8f973310127d19f73cd8550130959046b046f419a5c16222bcd0766b7775feee32cc7c452e560d69915e28d1565ace171cceede48ab89ec04a66624fe268f40cdccfb5c83e4515551103cace1b1613271d6022d0d1bebcba844c90e408cd2a95c7eadaa7b0957beef593871673f7e25112d1ae87853b7903014c3ef52ab9304cfea256daf05bee82a392a9109cca91b2c9cb90179fbfa580add07d5749cab0344eb3a8cbb4d5da01aed6eee6af8c610a3a07d7e997472f8def9647e390d9199283723421eb413585d33b3eff46db406fa003b037338d3414c667ee94725e16971c7a20097a04c13468ae6c9e1c7c73e993273554dbe4f6c6be0e7aff34fcf692045959d3ba74af5a9f41f1942e395e79733a0604d7117a14d1d62778f4879f77c5137b1abd3f7e83e97ac1039eb53d8f8d7b4cce670171f0ab12848cc2587e70142fec5ed7aa7cefecf9f2d0ee3e0d74f845e2a10aeeb17bdc11ae8688ed27162c3c993002ebb05a3e6a1ac10bf6335e2a33e738d9b0f305f8e36fa5332f9d9ec49633a4297ed21984fe6b39d5b598a16ee68b311598d7ef777aff4205ccda1a5421ee479fa8978fb6957b98a9a9d6aa0b947554a5161c7e232fdb6bb3304146e2634f51917ee69d2de6ac6acf2bc614c9c5e7dccd26a4f2df6b4c1cd90ffad82b3d05ad01fbbbec91ef79912bcba631ec640014942fab646c15ad8dfdddd6511aa9b7c57dea9355bc586c9cd97ffd897d95f022c55393d9ec5b17b606724b447847d9f7d88f018e0a75a8871ca29cb328f8286778f1458fb511c9cff7b7e8695dcb1feaeec3e98bf7860e75dcc384a1d96970dfcae7e3e3ea8d1505f7da417f48637e963b30bcd2004605531c6df07cef72f7eff1840f95634cb344eeed36df1809a50cab43e14f58244db385c2ab6d99f0899e84a17a469e644745afd5ff29c35d5dd197d66509464d765b1f2ab37aa11d3ec1b138554a964c48515ca3ee3e82acb763df053124ed34db49a61284dc3cb95dd6c7d936fc15489822ee6ca17ed1915cb6158244fea21d6f425d678fbb583b2fce4b2a0e7e39c51f5e9ae2812208d827eac30bc396b0e28971df7640be2848e60c5286dc27ed3c7a0333d2e6334bdc6850c27c806313d78d0969335fe97c18bcdb9fcae1f658a1140c895b389e31477e507e983fc68542c4e251f78a8c952e871491cc2ca733dbff09b2086a31b19c55fdc2c05a0976311bbf6e9f90f1e87fdb4745041f6934b0c1de0503416923b0e9cc1f0a2c06179cb8c8e0f81c7f34005448c224d76986625b4660792d7c7c10da451a1afd8eca4892a74161c73b2dbae6e4b9c1fbc54a9de7e74b6ce49d61e73a538fc929589f10ddc6713ad59db84ac2536d71b6c5ef53722584756b5c4049c2193c2ee6bfb9fa286a20ee42bc2eb66632f04c729ade87762b6fe06d9918cbc52f4ebea7c8c1def1f2c40acefdb9bdb42846f6e198e13b68787b25f4f3e5d52acd8febdc293e34c3a9b14bc47125e76a859a6e3ceecfbb479d8308c2b24660318ab72e1e3353c637495ec8976347d5b9aaa481d5acf4a49c0462485bd507e830bba6ed803195f5e6d356b6af7dcc4af0f5fba4db2e393ad940d4e6b17160941f1fde80a243bdf6b49ecb896fad62d352de6fa5c598e0eecb1071da2c46ff45d60605f2bd1cb53cbee31ab09e412f5b376ea68f8b008dc0917e776d3f5c64ca38224254849542a54631de4cb7cc6a9d63fd18ce53e745a0110e281a44095fb86b723dd5c16619f086c6ea21f46cc1d40ad2455860952385cc9f425eb8491c116ed83b88753c40261f0b8a7a347d0115b9e890547869954dd20dacb2d8bb084c3366e2d73d571d6ba62c63f617e8e0a7b80542a748536efa4174e1c6c55e29b3ad91f8a14a4289a8524d454afd1a98f7099097b3655e75c086a6305ea7067132e7c737f3540a7d535cbd5e1fa8f608ec22eabf14144c22d2ca8e916520d84be1f3f71c993663763d972e437a18138bb62839a98c3072855a03b9156f9b5f703abb88ea88878b3428f6360eecdd005e18505f72869fe9f6e5e4f2fea67c9a82abc03a0ab9ceaad8f465085e17f057615ccd191af2cc7d7e6bae05c1ba6655885f38e71bd3f6cc29726a3f62f049eb091d2d2b72bea4a0321debaa4aaf9da42151e00a208daf61c8517c5ca50f330bb9f7c22133523083718412e5a5fb59a6aa2a2eb205e5b0825c66017d0832151bae0bcd50d77dc3aeb4f3822f8e22a177c32c31380578a90523162b264a33ec5f2286b91d99aa5c643006faf9eabd1ae83eddfca24bcf7df1f0036ec1e997a201ebba9b160ef13b5900640df91106ab50b2a9978e6de4becf0642652a66f42bda0518b4e376c6c1a0f917a276235a67fc67b33fe1d1af447bebb6e23179155db13114867aa9d960294cc6818608d5b52fd94dd630576a1cbd72e49cb90f825b4179d38c85f8c5d695c31236718381e4357a3a94e7e2a5571e3fc9a107cf7f830370bd919e99add1eec545bf45925114b4783e7fae850cf148b07fef1735bd021637ef50632b58c99483a4f144b3854a2e6a24b69ca7e010ceeeee58c3cbb865acc962dce58619791c4aeda860c6e0c141134eef39abacadccbd8fd0d77e45672ac72c3373d5f660cc0b0c219c5fc4e14d65dffa827822cf6d4ae05e6f24571be3e64fbd42b5acd908ad0c79389904d5228d8363787e994227cc9ab2034f2ed0532008c419342fbbda22a900b014ac6a2c1e4e70d211a9a3e6cbbfd13fd1220bfb6a4226da18e83e5a1465f7b52b085b31526057c50078256b3673e0cd46799d3258ff8408cf10916bc3ee6a2d71df7bc8e14ecf94a29b0c1471568da87aa19149e2b6eadc8ad6686b152dad4f874169c33dbf29bcc057058114ac3136bfdaa17b3a78338a618f05162f1ff20a6fc64d50769c21b307368fa70f37899f14372a1283f91c94dfda1b48dfb59e88b659c616170503604cda7decba05ce4a8105b10a68228188ba91b577a9ebd2fabd6e737617ef5224862371a137c4799a86e8611a583b697e01bcadbee21231f14379025b8bbbcba2593afd8b886d7c4f1679fd5f0d8f7c4c20299f6b26719720f90efb2f83cea86825c0ce3c9dcd0762dac9282394ed5719b7bf5a8abdf3f4dcb96618456f686fa3e7dc7009f0d19d1b72d619a411485634324a50ff14a876eb43299b50e2076b2a1c5ce25374df0845b446b671c5a8640bbb51b030a840676b4f6767a55f4d699a0cbb3c202b4c6db67acf3a9f57e083df519344423aff1ea27947bd9f600cc2ab4c24d93d922593d387ea5aa0b71227512a95d73958425c0e41122ccb4799d5a053790ea531baea3a5f7116e66a3f1ef15a7bbadfe0e991bcb01e7ee5e9b692c4dae49b71d46c68fa18cfc6b5457f7581a0a1bb2a98756875a2b709d55fa5109235135a56427feef65dab967712aa964a945e24d4416c393dd8072e40538e0fb5b2f834f66c6df5f8960bd46a0858b796680e25ecd2d7a739761cc48efac16e4b8c951c987eaf92c29c5dc94b000eb1c1e47af70d6eb1914bc08080831b85d6bbb0b1322fff78c6853e77c3120ba5d9b6f7f0d093f138165aa67347bcc13b002a4d817d0b13f0bc7e32fc6dd2781ce3377d21dc7953c631c3e1855764f202d03ec6c6eaf0188780ae6a2fa2c7c7ab77d94f434da55980cf457fa309148edba6f38f1a67514339879a43c49e56154a24064778d82b1ed09efcada200fbe41c3c9c13a119e89766e08d89056fd8816342f2ee97bb17ab448eb7a518b257739cb89269b80f267e4deb238e0aa5cc5d2343a930a159b2f5fc692fbf4626a3318a8625440ea2fdc02e822b6a86700670942be345dbcb2f66dbbd9495df6e15363f89bdd874e5e1065528e9709e1b0ab51b9e46f1d741e92b2e9c47f5e9aac41a4934d2295ce06713466574a5236018530947dbe88f82d4129d32e06c8124e0e00bc106f93a35fd7c8c680e7360b73d44e700f137a7c0f5ae48a5c68e8b9e9a67b35580965dd52746eac7488ef59ac628763f9b95985f56a42655d79f393449e5ebc380507e57690e85ee6862aae83c4370103e7b9c74afcc35f4a38b9aa466def902a484cfbfeb410b95a3c3a96d05c17a8b3b837956b5c32fca6c74d7d5fa725816db7754b7b7336a54acfd3851d5c5e1bc43dd2bfbd93a7d7634800897352538de19765f8af526b1041fb55269a4a20e750bf2b0e0979d04bc195f506bee52bf293655627eb1134a778c6f54683e148e8d3ef54336eb8efbcc425d56793c885a1ec9d41987d4c2dda8ec2840d1d353f3cdf8d9f7f645ecc0df27a3ca401e521d369a4a695ced94310537d9aabedefea6d8ad8cb32ae877a2431cc387b4050cfa6cd2858b3ca8b3b9e33d6aafa9c91424d65fefc7ca816a5ab72fd97c0f9b9ea633bf4ef48c688e1a1107d79975ae0a2ac01f79556be488ccc0b4739367f906d8a745cb9f711081881a69e42f9f0bafd1a19ba4811e971d8b08eab46393cd242f61d64d99975c80d851b74f081f5fbef943ba59f8eb8b5c6c2b11e4fe26edc47a55e50543966fe7de22b1b57cd8b3bf1154da01b4d91ce40c590de2fb8df80315079443cea4b917a78dabfe3560665072d0baac8aa0a139ae7ba6c7b6cf3abf0c83f035e2f60b263525889516066e25595e9d1b82482e8bad7d578abf4fea28ef2a61d23adf4ef79459868472a0b85b0fda8c777676fd28576bb6540368be5d9c5049f017e7cdaa528456bbefb262ff61c6cc1f26edd1a23e55965cff80f722256090af6e67f61da1b5259b26ca8de122db636421d3013167a9df2523f3893f622cd948ac914e8ead5c3f097c44c3d37622f27c6893791c9f91d8cc69857407bfd7d54393e368d4b8165bae9118b812a165304ef830f33a5fe3845fa09a2c55ddef087e82bec25d65e558caa75d053d76423d8e316a436aedaa88667fec81136f9adce164b8fe1ea8d44223e4aa25441e368f0f1d60836c6f7d6ac8e32c8d7d54b59b6ef955ffd61f671a3f7ac19442cee71b706899525730688090f6e96530f6a4ee3dd615e94b921ab0daa5263dc078ef8a8b360c851f362affd218e9e324bedc46d9763c1677f1f127464a56b6a70b6cd0653640b9c913f41c4d353684764f0e69c518c10764e2b780e30c6c426da9f4db94251d1dfde767209375dca3e58bd29a415eb0e22b528c1da87d2becf6a76694714ab0d4ce6dcf10468a983cf79b13ee83b0e2f99570afae7377f538262c2753ae4e0aea4f2e66732e560a5ef203b8cc376783ad012eab608eb86d012ec505bd00dba4ebc02adc016b6058fe1083106ea62abe1bf55b9036c4ada0d42b1d5373c80f4afba45aef0b83ad686f0675bd64ce212aec7746d6e87aabdaa2ab7df908f68b13c5e03cadb2d32f3e9c1d1fbee813b1be9ef7ad806b075d14fb0afbcc7b5ad668cbc88f6f1897e6c5b51cef9d751f98799fc73140d73ddbd17c9ad4b780e923e173630fb708ee3e7ad1ee974eec6b14b5731d0549055e0ee24a1930bf8f553d7bbbf409f726d41383544310458773689f6a9be6a57fc9e1ac3f28aab2a7fced676a3cd0adbfbf36d046365fe9d1571c61b2643f15c48045952413ddd8f39188f0da95650289d2f32bf1d19344319661d7951bbf0be7a9af3b09ac571b5cb445a52c1b192e1f89aaeef5822a87e16a4231b0505d9643d13d94eb14ac34db52b1171972484e1184b99f1f29ce86ea36986ef0bc93fdf8062c6dc6ae51969089246b44ab9c2596696170287a72095355f5c4e1530f547c0bec3945905b39e026d45f05be2b41087ece931801c4bfab39cd9b26f759d9bff07c6039653aa579ed05bf2f4a787784af13fba6580532827dedf388e8f5e267bf04803c60f25b315aa45c2bea00611c3fc9d4b868f61f0b18bae543555e87d5cacb2eb83de74d6828cd87dd7bf6896e3ca666b25fbf01e271bdcd1b2697fd3ede7031384bd1bacae5ef31ede5311dd299683155cbce786282593b65addd68d56695c181a15b9df79cb9a8dd66168d41a9e2c7ddf96c4b961edc780758875e40451da25277ac5e9d0fc4cc791f47c898671049925a4df93387e72310c5444a911ddf69a90b1c0c6842faea4d33b2fbed74762853d00d34f24afcd993afebcea93885dacf3f5c943e1878d9de3a0506925351a8ac38fc5d80e8626c6a46fd10a7a50edbb3617dd7c21ad361d6d0870845dc318088f9b505f9a25f300f652bb6067487893a8f7522fd9ece70b167e17b7919f7b350c3cca818adf8aa1e9af472a2e60d88f9f910d882a482c4342e1b0c93517c803147e9bc490f53b993fe965cc5e4ab6d067b89c613c2b52cc846e64bb568f410166d62f4e215208df779a85ff21fe4ddaa2bbd746c3c4422eea6652acb227634ae1f45fbcdc88eb0fa79fcf4f310e2683da1a3789ca74d261fb6ba08568dc56e78dd1394c79dedaff3206eb99bcd6ea8fb87eefd2d3e4e1dccf340835f0bf361099311bfa9adf31b627aa8320f2b4703f2864fc703d0fc35c9c897347b0ad7a3f283d7d66e91ed3895f05cf205641d0d8411511b76ee98d2df09eba46ae40cc2924ed8170483286f6b1f02497cea01e3a3a2eefa2c16d2399bea3f2b6cacf878570e82349cc6e03d4c3e356589f79702420b83e67ee83567aa990b49616ccfe31a2baf92783f4ce17223e9809c48d7209942473343984b56ae5c421aa41a46507488cfeddbcfe6b6abdceb59e3112752637cafeb80d18875308bb4b4a1b41c22e0cd04a30ff88d2f85d7d76edc15ae7cb5457af28eef778fccea834c7093d21bdc8fd46f59e93ec3b471b68d593a6440e0a2334b8966b2dd1e3f73de3487f19805ca55f31fcf8fc193b2c520a6ce52a1f77d0bc31c58263e4d1fb23c9e4fa9cbee4e8d8ae1b1886107e71d3a7e3019b5756dd4089400c0038f8ed6f739d88f0ef81387cd8de28d46791327a014859471324a27eba75190cba9fab966632296d525b6d1082c684a56873aeab5104094d07437f19b4ca5cf2fcd896754c4f73ee99cd3e56a607a33911bb6911137345a7bda204716d8d9bab1bf448fb112923d5851a8e847a80466ab912029f085255263b97262c64691cabdfe1323c4ca478cceca17330d70ef6186b5815f145ed5afac571b2b8763f141066abc1a046a3aa8669f63d565a5bd502360cbd6916553e123dd37ed6b1f1ecfaa4e5488e5a2fa332a691a384a1c10fd8aefbd9ab9664e3e97831ef3ed2411b9b725d6c3c4f1a2253c6a30ee1e922cdcbc6aa359a9fbc2ed8ca90ae47e22e6ac111e85ee0f894b0b4d11cfcbc9152147d8327f4ef5a273260a2843b4f9fecd07b2cb3fc25838bc75c60b54f3712f8ce3d43474484ad27cb2924cf63b178dde2a56377d3acdae588df0260d7b83849605fbfd6c92f27d3dde521092e6997bc1d1c71348b055b620839626418ee67fd1326742601c6c2c651f6ef40bff62d966e2fe0836a7f561fd38d9311d1bc1eff4ad2235c16157f2fd1e2908ad3fcf95b520adb0b5f0e6b692bf553eeddf65682a02bea85fbc018a408c46403d6ad461160ed429e349efc62257633a7ce84e43e6ad499cac88a9f78f0d86a7a90bd79877dec9fccd438bb319a72a71194111fa4e1a4fee052ca3e3606d6aa97b08f2402f45c230cb3c031f78c71743a477cacbac628d5ccf11297c885445d41f1af655e027ee4c11d0bbc7d26b458c34abc90a03ca45e1d7083b4cbbd3206ba807ef70e7e77de4e93b28a745417de2522657e0d6559d822a232be7af96ff35d298bf80f101a4dcc86ae6ee3a46ce44d8a078a02928659372dd19cac6a3f388e26110304e6f9abeaec160059b6987c807ee3943564ceeb875c37103ac353dd25c2457ddd70da44e8f6dc3537fcb605edf3a1b7f6a5a3fc5f768e214743be92fa589500792c1f189d4a4e980f5a3afeef23e85b1333fa395b695d143b6d5877c84facf537f32f4bb7e61a5f2c575ca504dfc96b99f5b73735563b2e1139eea053f95cf54d6c28b1def23e46d6260de6befbed92d49403ec2e2bc45fa9e70b95c0ecba000009b27037fb158d6f9fd3986cd91e415fc344cf6081ed4723666a6bba26c4367d2d652dd1aaaaa8aad70cd176818ede11b03e1d9969df7f753fa76f16e700ecf99ed81027c74ec110c6f2859d23c6d313a5c9f8c0698485b58e4d8d86ca30fedcce981c705facd08ee9d6b8866d82a0df92b923c91b7b0c31678c921197d3a6798f858a49f3d374adb1b96affdb55a82e15a5d3b329b3c1bb74f75b809f921415aed9a63ec2f9dd50c2000621144b8270bd287e376aabae633c145dad63d357d859a77fc4659eb889e5a279dd15bce6c7cc89e6072f4377b0b8ba2fcfcc69b117100899217c0f6fb594bdba40180524f860c87ef76ccbd3e2c1cdb7ca232bb748b7051994d5b6f3f2267d50ff9fc1291a555e517323c15cfce1614eb843a387efdbe48f21d539defa94310532aaf8798c294b359b1e550ac618ce4ac9dd5476183420a902df090f2583f5a1cc9b0757ce99bee957dd720fde4f29d9810ca36c3a578ecae8a86021b6784cef8c3e024947f6217a5511054b3223a82abc5435915bf4e934a0ec4370ca6729d55b53d37604b09c0a76863360d3546f6c9df22f66f2d99f32df8dda447fb8b25191d31e1dad508be54b20bedf0acba57d1a2376308bf79d344e45503370e5cce2bac4c438d7c16311ce96eaf7d4a5e21de067b0b435790274f3216b7cce2141c38450ee5fe5df2cfe26db1c67ca2157d2ef856bf4ceeb0eeb523ca9a3859bfb076fc4b46493b7fe426681011fda425ba7676b5a8b00ed13b1163d2412f75165dddf6c00b66053e082969c299a2fd3e60e5a4e1ab3e07f855720f65b0390d1187a2eb573ff3b6c55006afc242a3d14ce8a8f54b99fbf3d2f9653e3d33863c26685bac102f488c3186e2a63264fe2296d219b9b4c065365cf0970c29599b0622c2f93c748347121e139a0f405a22e89d5bbe29b9e3f71e64223c6bcc28d0e0c4d3160ceca6207d770a0905dd286a6b091e88f8a5cc1c200a983282ddb82217480eb8a8ef75b7d6eb76f16f8b116fffa2171470857f8069822dd33bba157e5812611c53e823808814c403f44287dbdb157b12f995e216deac60732f43a299f1290e8e6a936748705f2edb02e8c6b26875154a49318910dcc7d02a93933eee48e518e39700f0ca5acac84c78ff2eaa86e68aeb3acbd725f246436ba6b64fe992dc54a4357f17b4355ce8b14f4d084e00eb5b92ba24438aa24efd320db0aae991a388eee5c7a6ab6fbf8eda6b682712c1d7670dd3123c4d89f7139a77328f181be4524c48c6b530309eaa9e9b8131e8f9d366af4d612661c22b62183b60f6bda9151bf5458eef3c46de0c79935c5167ac761ade85931de10286ee22173d2fc9bcc3c79f52bb77f9b914b35ed467524f06c8c5aff64e77387475c24cb42deab323254c6264f6644b52c5ade9bd1bbf9efc8f8ce343e83c3a126fe3072e8e6398864eb4ba309d039c01c18f6f46b70f4e4457d5671617618e75f4406d111e9709f04fef1df9d3b7cc11cd5cfc2b2a8327bbcde90b296b9ef3f7eaac84391eb7b0d66ae9a8c040d89613339a71b066709fc3bfa052e5503d9965c4558124bca635b71987a4d2d467dc55047a946aa0a932c83dc13917691db61f8fdf2477d5010ec3d055933876f5fafa56599755eef9092b608ac14bf075c5d79b8c4f53b96ed110695d8e927d2b19ef86489b262d442d0cd00426779fa937a764aa1c41f03e2f1497413e43a4f26f3ef1f469429f713d12c1f290bf44a9918f25c677476bb9600c10d0e8cc2d2e222b205d07980849c84d22b7f3f5f93896f9c83fce939052f1bec62435bf396a88962a0a654c8204423b3f38e82062dd0df298bc4c591baf41980eacce93e1ad1361229422061bfdcd0feb4a372edcd83d62603deb00cfc9af6ce0057c08e3a97a0c811477e3294f19d85ba80d5788af361410c36d1672d12ec253f8453d10105c8b3edccc4e79bb1a527b55d11e77d1ead25a2b029ce9dd9addb3a4d77a2f30ceab3386d79b5fc2afdcf8aeafb72a3f7a8c42d14993d0e1446646ff602230268b5e7e0a923b3ac5a62f3e7f82f12bb12dc3d274fc9ad5c02d3969f494ef502def7904763d3ea0fbc71ec237fc3ca4fa7126d5159d73829be05f280074479e069cab0fabcd4d2a7c3d44e6e8a1e1d0ecfb962800f9c43008a76f59a69e84b066302e54013f7223fb1ebd691534c5f75525ae3bc81f93ac2ec349c6422e3e7b11ac425b8ba89b9d48d8833c0c55a449c68fbde7e0b6efc241c9f8c6208fc22f92cec26be16e646e27adefc7ce03e20ee20cd76d9d6d234bda485c8a1940955a4aecf7a105ae0c52241850eeee6d23959d7cb2b2afe56efc6261af391567cf58d6d2b108433450165b17676476d0811e7e4c128ccd23b0f0fa489b61b4efd6bfdcf1e9d1c2405768f615fbc8cfdd3ac05504209ccc29fc436ce42b0f87d6e3f8ccc3f68d5165197e35374f61490dd5e454fcf5b5130b2f82187eb306485abc122e979f3652ec55392cc5e038b0bbe298988c3e5d64c27c8bd7222849485f4f8c994945cdc198cecf10cccd76cf1562bcfd776e37dc5cf6704d1733f8492a7c1d223aadbfa64e26b81c9c5eccae0a945766f1f28bbf20fcb95e4a1b69543c321ff7023026a17e0b709af165e2205c9aeb4fd98d9da45b5bdd385b86159a5c8377cadd1a4bd3a446832e4959c7e2234e66865b798b8a67a867c2eb77822fa58f19cbce307d889c5d70a7279456d69ffcb43bad97d2002f01b055684c90b8950077850e95387b665f163ec1a22ec0a8e5a437685e5e6f7fd1da5c8fd5150a37fe95d6608c77a039efca1b208aeef174a9b75a02dd656ff83cf8f5064ae8b99e69c96b6850b27b7daafb0fca1bc456443a286e3a200a2ca526bdddd30153cf4fc3975da6c52871c3b2ebc72ec5a882c7d84ae71276785c0ada217a1a8a97dbfb571ce05f4310b62fba3ff5a66f48b030f9f5291cbf334e7df38ec9e6420dc746f85d104e9cfc1d983ce224b799cbc5e84937c844d203f01b09089653ddbafbeb48a8dee403a40bd877182f8ce4191cf11125daefa22c26ea7251e82a202e2fc749fc8773aa275cb3bc85d595982895ff8d47bb0516d8b32aa451fc4800d7d9400e2a8fdd3734bdab2ca1d2b5eff84876d7f273485993aa544dcf87099d442749cf69c42c895183aec344d6fa15786e9d7b03314c2daed2a55611ead861e4adb70f4aac6803774d8371d1297367ba2936cae82eff32fe6257060dafee4000e959606141641facc964b823ca835d80b9bf1f57202528f0e6ab1828ebc5049837f42da4132f0fccc2936d9b25e5d6afc714ee5ee4ab9e2a7755332e520f0a1ad2470936e692fd584a820612944a5550af8f8f186e9c06c5f77681b65b980fee6b994c858854fdc8345be7d28e9497caa3a4428039b00a9a1f6b34c95dc24912a39682c2f0eb7b1096724fb89f39544c38b635b5c25723a293ebf84a07762d54e8e30cfd48eaab0740c0f2b6ea7a5de7777d3bb4b202e377b753c447bb94a26994611ce0e680bbc5eb4e5490c97609a97cff4e3854958bfec1fa06ab1e2c112763cd6548ba53b40cb8ef4edb6f516fce3ce347f75eaa09b237063f4e1ad02f993d6f6369843653f45c267258bf2721c7989a42aa89869f2d62853f54bea912abe286da66563851d3fdbbb0cf7ae322c8fd3c6642ebf1e3036184fb023ebb02f5a254c846ef20bb1797710be13eb5841f04de02994551bd34d8d245f7912e5128f42744005d11199f3bf1db93ea569d29cff9ac9049b6c81c484f93bd6f3681a643503d3c5e7e47a6fb434ac015329b3cd05ddf525864614be714708dd0935b946c95f25d0ff0e9fb0f113833761b590e91552a26f0b8d57b468e7a7d9b05aac213b1e7b3f4c217a831d52648b086a29020c145190f0db2055cb4e8fd2b4552582a5d0748f0b38f5ca9c8de6c9cc660a405e9ba946c57752ba78dee4defed366a3f15dc8d22703fcd8726f4c953afcc311c17718f2bbd064a8345edc5fa9726c714eb2287466dbec9e1e9c59d11be13ff2cf862e7c7d0ed9a8e2dd0619e982a7e4423693ddec47930faa1bd9fe5a641cd9d6ea0ad82d80c330bcd17b452ddb350ac4fc5130ec98944a6d96f46aecbcbce0ee7894dcc59ad0155608ed7fbb5e2ea5fe62ae0578e5669d50462c44099ccb3d2d00e6bebbfcc7c3a3af58022c9e3e1a8b302e7f92a989b139c5e4d1d67c571d7f098ad1abe6160689ae4be6c5ec4d8196355425a0a8ec6b69b5939c78b22c433bc4a0349973c304bb344f129af21265de6ea4e8396a39dc93b063e0271e7f75cb9621c5d3959f6566e380b72de7098363fd4f4906b0b83e6a5e503b1ec3d7f45b0cc67ed339ba8c314b6a9ded6107240bac5671e0c3f428c995dc280c6df608254ee9ce45e5b8788d7824f82ec882cfc9351762d9fcbf0c9761ca7ed3bfb982daf17bf14e1fa52b87abc52e6fb9266855da53d81d4cfe7aede0f2fd5722d0956ebd895468361c2b8c0e282a5cf6c456fbe6e46b095d3c52f2b973ef48c56ec4a88694a1dadab0e5e24f4022864c020c72baea128e5190d14a10678d6e4c0e43c3b7e7ee0ea7863238fbf9862c964da2a970646a33c94f89391fbc8a9e616e91dd1a0d0469b5ed592f34a5de446138f40c7022aea005e90c8e2ccd4472400ce39d86ddc43033a0ca2cfd4073baa64b289bce7cb4eaa59b24c3a26d2372c7d4831a2ea15baee082b38a9eec64156b6cc40a624d259c5d24454044172610f2145014fefe84d035bcf9bafb741864774a03dcc5ce9a45ac6b70f6f08efdfc92eedddc1d73bf1d096d37ac465262406c6e2004a0fa8f035f52629a7fae590e344b2192832ec3dc58265d4c3b0824202c51dc9b59ef2cd1e88bec8a9bdd6b4e1a13c4cdb3f8eeddaca52000000604104b885b8bb93a11f77affede6d13934d0088f86a41614459190030f8075d99f31264aef1d6e943133b2af71345edf181f4cbe115a7acfc0260f99a182d999604d6e756b7080f41cf018b427c7254fdd2b94db476ea7ef5c9fe6df9e4aee60ec22fedb09e591018b264ce2cba9f787f944242db983211aab7ce26ed71491416f93263b78041b5ff4a78717f0c8ac492aafa4ac700936bf951eab61af751f154e5757d18bdd816e0541639bea73e7dab230f0e640ff68ff2e8959563ccdb465debfdd85a430194e73cd8b212bf2e861aed8f8ca878b07e384fe269ecc41f83b19f57b6918a728314ac8b22faa05fc44fa54b5d3a824bee5be5d5062c63b8b92c1264bae3e91e97adbabb83ba8e6182f8106ab4c2930dc09c7df3b0abf80bf18c57c932d00b3e1a8b15142041348d8b04efc159ea4a7ac43e602c801c97d9bc9de9726358eb4aaf6128862c9eb6ddf89d987f0b3a47eff917c198a388d3183d48473645f74135386cd30ad2cb6fc5152afa5870c76dbfc7fd1dff8ea730fa4a1eb04553de06d776ef49a7ef0b1cff59cd8ad635aacc35caf4f21ffad69690901068c8d5e288594d1de1871be38225e5c9ab148773e2744670ad8b20a5ded8e83353eb8950dcc72a4db4972ab6af2f528d5f1c90ce041fcdcd4fbfdb77d14810d510e2d46404b8e39e2668bdf50c9d12aaf242de64325accb9eb343f41200a64b1bc6216b5af0711ef59d65b593c5b0877711a693f7a95972b973b10d03527f179155a490303a200802a441668047586a5fded9147f39002088896536d117bc5aa448df1a49909c03f161b1709afcfab4606a6c848dbbc96c7c12c5bf75bb50d21258654771a19f29024371360c59de4085cdad201da5f39a0a9008e3ab2ed35bc0d6a18d4c2f7e3510400803d1375c88e7a890c45ca4c784ee53a6cf32b7792a4354df746a093d865e74ac4789264ad00d8d1f8be8b4980e637af898872e2dac90cfd0620612444619f534f6f55cd14b672f1f988e808a9908edb8b67f1528108df6c6d759c645fc4d5b3684de77cafd12277f3318cf4fb740ce984873f33daacb6b2ae59b77285aeda32f7f147d12a4d7b2da45f7e75a1c9324d330d1d33d9465554945d8ef513e234350bdc0f750c8b3206b6f9a210e6393df744ed9aa1df00cbfd399ff3d6bd4b722fe086379c39e77c133390d696656c2207fa5e194fe8f349ca007c40c4dd8f12df4d9a520fa1573f2a46bcf72398d593c201707ea9a109cec813725b8eddeadf5432bc754049fa994ca102041764d9cb829cf5d0c16acf2fa391de0349b8c3ceddd238c0d4023d89ae796904a051466da1a655f8a5fa5d09aafc193d3d151408115d2f408baa08fbbbc10c5887f6781fde27e221dc3504ab91aa70695c26b0cd5089e1167346674058f12e400be87aa997c0170d5717b9624aa8e15d751bc8bc43e0788f8aafc5a62e6ffd9e7d84880d61ee96d0486132e4f9a8c9311d57cd449a19b4a5f9d0b4295b3ac401a4ae8ccaeca653ab8f390f7120dbb5cfaa03b614483e4d650cc849cffb46dba70ed6c9a0dcffcaa301755cb8b146f25d7bfc619f56d22049e3c50dcf76b36aea733109126ba4fbe8d4fc89efacc5b3a9330687e05fdf4079ec61e4d62b20207c186972cd416928fcbb668ca388cc803270935bf119aaf116a297b908fd0797cd917a7cbb45f0a548b4235ed6fee5070219258818c93df8004f9cee50d97891ff801f315c6f627ef3f5d332e576f31ea4e60df9743299e184e8cebc743a9ac768d982cc32b0c6e4beb6a5baa030f2fdc384480807907921fcbed3ab8123ed9d1c2edab280afeb995971af22ac03339fac55dec20c1ae1d78fcca78f3d6ab557fe093811b54ef72d59436f4a0aac8447e6c78a80f328767cacd42d7fd12a9e053472f848143bd0d574abc0957da3360739df534e6dcaa286dcefb3de88028ee8a2786045795a58505370a760b470cfd769617ca414afa91b1427638f5df1a65942b2858fccbca8a6f00f5da9b349a60acd797ec2bdb5256c3c55df1941d32b568ced4acc25adb6d715d59edcb5ea29d31950f171be584f745a7fd6d62b7ce87d9a955913e75fd0368ce92d03946b36670184af244055cebc52253500c195eb03d47ad15dfae6660786893900dde6830ec912710b010ddef4f4c39d8099cd0afe06bba3120cb838c7dc5146ea594a2859f1bb97f7c3fb3c2ae3b6b590320737389a2de0682514a84f47501e524a7f8e18a3c9af14ba6719dd0231aeec4e0ed60f93b18d7a33d76772e511bf3863ae97f5b60aa7fdec19d30b4ff388510f3dc630a78655a3552ac976e112934416dfbb50f118615ba5582187b8f4319b26ee19ec9f422b81f83efe4a653f7fde4d5e53dae9c3ecaa2ece86c989d76cc860e2acd62a06c90e5d1e2955c7de689f7e5c49cb3e6e41f9939d44657e266e93f81858951659d447f25f37ac05c455c0aed3a9892645c975e19653950e1fe616398c6b72fc24e7e0aefd6168ecedace63c1094e33f494f90c5ecd84c02fddd4f9d008a3f5aadcea4150b4bd4dea10aa815f7c8d6c08b0a687bd0f483480f495795df10899e3ba3fb01011393690ae8de9b1c7f3c800083ae55e441b0e553aa9ff39d953619e0215f39ebc59ca3218b763c81e03ed363c9622ad96933bd82b04b39427e26a4163d3a42c4c449b0ea567a3bf6773306654992f773b4b5a8ddaa650b244039ccd71849594e78ec8be71c417b1f207f43e34510c9bccc2dc4bd254d73129c864e7a6a13ff469386dda7137959d27a91269cd485d7850f3487f1d8a67882574000ddf5213a9e8b5843705337c49f2ff643302887bcd591cda438f0d00dd2ce24d54779dc62aa30e4a8b65de0cb62da609913e597ad4f46134e8a613cc06429ad9912f25d2caac3059a6d98e6164a988fbb495cc9d9fcd8cd045646db38779ed56736ba072680d860e77f09380504c6a845a70d4f22b9b7e366daed5d84412792a48ea02b79fe87d1cfe68c294bcfe1686679427deca9dcc01d538649dbbf4787e39a8c62b4df2721659cf6b63b88482bce2dcc8ddc7e419ffb9af5fa6e3e882137a886ef781ef945b7615950d60fc0f5d37cea81f9b8a1c36457287be91ff8dd19411cae16bab5168e26cf43905b9a5b81ace3025ff153a4162d93329c9a8c98d78563c82be320a7cc0e3586d9433eeefcca028814b1aabc0f4f7aee34954ca0f974352f6e7624d33ec1ededf2b2b14b3ebe8a970c218ead4b375c3559358dcc126389edc8da19a7e6f36341cfdf750c9f7dae899534c4e624645236a7f5e1798c8de30e31bac5deac3b32972e4ac5f7836d99e3fb97cdd301016586ffdd5c498f33d005aa3dd8adbee82864b04464bf0c34bcc9bde93be939321984b068af37488e481a047dcc6558b85b5855b2986f28224d55d3267ecc34b52e551b45623fecb5117741b183fb631db7cf1e887a501bc98699f277160b8661de0580b39510f2ab1b47aaf296c01f9e5829ed3adb524d77fd5f20b151e01e6dc0db405d139896b0d0092c3cbc5baa15732085cc18f64812d666c9312470865781b03143455e8b478f59a389c2d8f92838707418635f1d26d01b932f5ae6e95d354f59e3b1c6c017216273bb880671ec335959aa2ba4a7d0f65b40f050fbf36b4aacfb6d16ab719ea41611a3fa2e62a7032c2c0399265c446a0c948bb9abf7979efc7a2cbdd212247875569cad05c4d3dddf895f34769fb347d8f1b838ced84118311edf1c019e5365385c906a609019490279e61bf4d2ae6bd073575f592baff3edf34617b0d4fbf6a17546b7b01f9af078b02fb92ee3dde77327094c9e47fa411fb12ee17f1906600bef96ae27d02aba11874203b0f14a629e3d181b36b9a8c55e7560ba394e1d5e0a657197bb6dacd5bafa86077850070780e29d6fbf6fd1c9d9288d60ed45d1d54672fd23694032a321495dd24a4b2ca5cc720be6f63dbea1a009941d3512037833e5bb66a0e8ed12c1356280471d5f3530d4239e0f316e94b987d1b63dca28ad02552853cc7680c76c4b1d79daa6885c92660550ea4deee9409bc1eb08b0f39c333d0e28bdfbb1d5c74199f270e6974de1dbcb8d612e3d928e11c389f6fa3a347069d37393e31370950ef652146d913f29ed6d4260bb5b23a4fd854407864e393a218755ce724458d8252d3df73929d39f5b7202ce335482b74ae369c1dc99d3aed0a62dd811ba168fa8a0f30d33b050e5210015e57dc8e6059164250d943216993cd76a8a3cd01e4f36da85c51af63d1fb556fd002c294044e2d557be6be69fd4417bed81b10811f71ad3f9d24229fae64b86087e53e2baaf9be07a5b840ee7d8beb93c3885e7d17215d9e64720f4d8358e41c5d9ca18d9704fd977664e07f3b317dcc473a5b2dbc4e3159650d2b11a7887f0f15a84ca53b3571cd0b835784a0cd8032fdef2cb9cdc753b84c13e106be8d38919a63b69aaa84027385b74fd9a8cee8527ddc54888dac326c99c161db50a4abd1460b0a441847585587532c5393a7001f9bd921b99af5c70af3306efd39b71365d2ca509494340a3be990ada2d9511000b3295610e9d1f578e1bbfb1345338dbefa7ee0e8be428893c53099ff247e6600e2c6b429880362e03d4a8dacee8a8e3d920e93181588a1ebffb439975224ed26ec2a8649c8a00fcf56091796ae12d35dd4176282e0e22096bb770bfcc9e0d3cc6d4cf9eb905247a3d53d44adf7b7ce7f3dbae7ad4efbc3e452e3cedcb8430f9df6bb5f9a05a4e05706e79293e8a8700c4237d7049ba6430a263607b4e43fe9e306e6c9e40922069cebe93722c09fb4e1b270cc2de41f03367e3e494753ed07049a287afb73429ba8acd334798be44a77f6dd6acc94941dcc2dec3f364c8eb7730507db2d1f812d1907c9b69d753b7168faa584d77fe45c7152bea2e253524ea3751f3e3a3f00ec35e57da9fdbcf642005c3c9b35efbfe90d3a2580cfbb217946b42c2aaebb752bd46a12b01ef35f7968100f35ffde37228746b662788755d1f28e843f4cc2b98435984c64a393ff0005218329f1e54eb7754a7418a7970f99a0c8cc34e5907d56e857d828322682412d47afce1f540b5ef194242195d7c532b9517f1674a6e0f9971cdb4887a08f3cfcef4d7764c5ece1f681f3cb1c4c5b89a12b904d309c9db17b21e54ab57b1f3fcb57ed6a18ee56100d5441e29f766e3273cd1cfa22578492496a8bc7a097e4f5b9ab52282019a4437a788ae0a4312c5a6bd073b90f6598c235b01e14df697d7e21afb0e7264212d84fcc039db88bd44ac0832cff9b975468030f859696bb41c7adf3cc06f0884c72437a7c617fe4156c075d7f65c4b68a4d07960c56b2a8d52d19114f6b9ae63494f7ec2543e1481318802b2b549b5be4a6c7ef8694fee1e8f3c0e24575c0652cc17610ecf15fd14791e5f8898829f45f34df0a81853c7aef25c15ff22c98bc51849c458a243f18a1236f9633502be2d729e64029b7440c691870a30f9ac25fcbea80aa4ef1723487d4662034e62662d482bc609b9a1b1731447ca7a8e95d83d516432fb3561bb490593a5f8355a839859da7b56f978ce04c89aee56e697e41b73f207bfd0e1fd247e7593025211037825def5cabddf8323525010bcc7b7b273ae860d29c4672431026d25d8e125287dff0903aeacfd991b433357358c5d9ab5586e8c7e6a0128a47da8322a18e1eca5432ae18e74988a7da447183f1ce66540c2a36ca1b44a44a2e01b18740c81a8eb406be1ac2d3c8eb2c2da8452f0ea252c4cab5f06578aab2eb20e60846fdc76569e3fe43bf3f15d814cb4d67c2e266ece51496ebb874c534f358a7b6eb2113ebe95d0f5c88af5f4040719a77b290add32c84c19b7336254333d15b5c2b6083aa022f768c0673191c17973d8c2f5681426a81ef9202804153477bf5746ae0f0dcc9f8ebdd08660e33230f960461e47793bd0c96a6c79c75ad44f18957e7fd73ca98b1d831b4cd20101cb5d3af8a026354bcb2f91d94541cb91659efd4b156aa6a9344e2ac9eeacbc2b1401a824acfe2488c4eb7e7c74688babbbd08ef625e0f8d7a273f07c3a78a29a189047bba413024319da4d747b0e253907ce71f10dcb4f55c6404787e24fd44635e2f780558ccde677741c0b50d9cca59404922d4abf2fd0aae26d95c2e29d1bb322cf2a20f6aab4a56594f9004252c58433306d23d8a3ce3ff06ccd4867e17567ae56a270bab72d5a40364d434b41caaf69be3e9ddf83a2c12e4fb5882b626295750b2cb7056c7bb47e1c61102416b3fc54e81b43c7a5064f2345f1ae97582b5666a6808ecb74b0a931de7a3ba5bce19dee5c03a509bf7790b7f413f0d8e90e1729d2951f817ac679440dceaff6a1f611bf6516e2db9050b7073e4864d9af908fc49862129951cc8fad7463e2d31f51d7b3a132458f738569957de4a3a0fe70bccbe6cd44c63bd2d17ae8bab5989ebe1a522e46ad99f410a75142635510320f9cab407be8a197732e219d20103ce347fb8478bd040b0ff49b4834950a20d0dbde7d19f1d88320d44e8803325d8a6bd08be32088633bfbe9a8ddce259d38be92205f8cd9cba4c44dd8c41e2be88cfafc8c52b3f71f4a12c58f917b72d4eb3a42bf9173dec98b8e6f0c3871de1a7e843893072eb4ab848e0023ec6b08c6d00ad315596158615c505b1c2cab7691d48cf518b82a0c595e70a7a760ccf4dfabed33768e5aa5eef6943a1fefdb81502d8952f2ba52870f8763e563f23fc98baebbfcee082d17abb1d46418efe45c25a79682a4e97ba20bb2f7171f31735bfe9d54dff2e835512b901c922645d7774599256bd644f8ee86ec4f88dcfd3a5d1578bfd04e64b73c8dfdb281123542e5daa2d7440bb1c21d8409e587b249d30a7d146897edae1abce7f4bd23f34651bfe2b05cb345c07198d3a6905446105c73b9dc91075ecf5a0ce53e16397399c66b3505642049109b4c4f8aafe5f6817a37a36567554a9ddfea368821b26c8a5e6bc3b677933a57922220d707f3ec6689574cfdb29422f46b2b0f0bb81cb8db21726d49cf3b0d1de9ec678e791bfbbe0899274e64546f1d48c6bff8778e7e0ae1055fd67465a932662a221842ac193b68d53dc2443674470e56c6950d5af455d95a1848c6b28a4d5029d45edb5f276ced96ffeb713af1ed033bbafb35df96b93b61ddf193eb4fbc092e9a25494fc90bbc3c5b144f1ca8c1672122aaa613e08fc94b91ed78942c8de9f1e4eb0d02e44c423da4d2b6ce87583692ebcc3944ae2ad3d7e8ef79710b5ab92a7882d838adedb211be4da365ec5ce32b18d850712f6e0e07dc5f4195ab3011ed8ced382fb3d72b6ea2df92ba829d170a1d4dbfc13b2bb9edb69252776e73a121346a7779c304571a44e2fda02e5013207e59928fd6a1e7f38c31e1353f456580856c2444b696421b1025e81164f3996fa24ef03ed336ee1adf18050b94322d0ebb41677a2e41db2d78c9fb00054defd777456b4d57f6573c3b88635c24206829fdedab7ba54a57a2b67b4122ed3717f1c5ef7e596caaeb365f0d5ec4fc081e8d6f2e6dc45de376816a1364588700d72e47cbe5a1458585b6ac02e8d2f1a9d225b6da308b711ccd84ae0de229b0861073de25e717012a8a478cd3d2ec75816ef4ac907283762f54d9e83bf706aefaf6c6dff274b07f604b16a94b095e720fb3af5aeaafae7939c323d1731428063c25541cafb12ec7af8a20e7631e9e5a5225f7966336746be9e24387616088a32d1a749a3bc1d6b06ff6cc580423a893aaa6c53ea7f07aa03944c2501e14ed377902bf27af7169e3eabcc86b33b56ed4b1ab8ea86284d44ed9dd9ab95b2403bfc63e42cac0762e26505407ae36cb89e25db3597d7ad942e4fb694bba923bf2123ae591265a50afd4bc1db5622ea468b4fae962e59ed9e1804c94c129848af3f7a842faa96db80b7449235b935b0b13c9a53ab143177852fd4b3d4534998159999f2287dd8195d626d0ecf9c4f039e2eb93365970180d90cea55931f90defaeefb8ab1a04debb065050002d8bf36ad48f63c3057e4d2872ee51ae8256d3cde4902afe3a56a44f3f1142655023bd6a75637601049c4b753145585d85d9160f410aabf01a332acd8eb96560af84ef89c65d4f5f9fbcb3cf1d15d10d08ed4b23fffad7d35e9b89b362146df923e0ac58c4c3aea40b8696c72c07d8c2e58a8a9acd162f12045ddff6086dee941c91f96b435e31d41308f132458471b9995ff9058cad2cb19f2b1a3e738b1265774c19b85cd51abf28b50c91f8b97d94eb001e6c86e6be0d4ac0fd1d8a7dc8371146b6c165213d473cbb6a3d6b232266ff228067b17ec0cab7243cb58a783d0bb778f3ca936e68994f1bbc240422ce1d7eacfe0e493e95430c19fc3772ebf7b1b9adee9cb5e28b8c5e742c8b1454da4b598cf109e62479d5519dfcb2a3d7311f2b59303c88914b3961ea2f5c261a5d2bcaa56f930eac320150407df70dc704d598acaf44d222ca3f676355cd7bc6077d87f39e70e779f7da0f6b17cda1af630aba2e7069ca80e8d5fdd4a788e6ea125fd0fc2c118f2ffd53863e1670c58f0a6f40dd5abceb60e62fdf6e032769d8952bfc8f901766a551de9486bba3942a54bd54c7c6335c9d95b0ad8178d31eee3c73e2637aeb1c647f959105b5832f3d0f704e9c303ca84014aeac529e233103142e0576d24252b8ad965ec8cfe5d3b054aecec96898afa84462020f33a7444832cf5b6ca57c2d7799ea621c7d3820d9345677669293aeeb0541ede264b3344652575d6a30088073bfd66306de2d02e8c2169990aed998498fc6d5714ea97f131e2e5c280e791f14594ce138e8fbaf1ea16d26fd586d79907291f600af8b0612290fd7e401d0f1aa3df4470be851f653d9fb8e947818164ff863ca9842a65e2d731a12e719f0ec3576f582e959ce9dd65036b023292ccd1fdeafbde62199c14f122371858569916f3c517432bf4d75991fd734bf642a869cd5118a5a27c52f3908177f5a524222f182182f697b2b6756d077f4014127aa38e7aa36922f2b95b40b4639aaa555231be5fbdd4d49f27efd44b7fe8c4305640577f1aac8fd9ff4dc5af286becc679e36d75b42da9efd527de30ae1cf472df83ac003b5407cc47b1084bd5f3334bade7170517667f93dcfea23fa2a8a1fbeacbef0c6f288b35c64cb41f5408f344cd37e01debad2a7b92e3f0a66629418d76657b437a15239ba042d23b56e917d91ea647f4dd075aded9bf4b77741c0a72b3dd37503f86a1e51f2ca5e04b6e3f1754f1865b5624512b33db32df3c289c875724c045fe0cbef87b8a2f3b0c9548f22e11d5b6171391842f2a8a0594b3ae77e169adb5f79455a7fdad4769dbd1af80e9b45a378794ba88a0c85d861b2953ef6505aa22da89c8fb40dedaf313979f223d1ddc91fa450ad26fbb2627f410b06c030dec87e62447d6b7ad8d9f2c24187ebf5d7f5e2309c6ffbf370dd4d212fd75edd0cd7c06a982127124b69b1b0b2e3750f2f6f2fb0dbded35954a7e4370cd905014d97475bf4b402ec48d0ec858568405471babe6e8d91032dc167ce8b28a33e8d628ceca0e5426a4606f9041f41d7606b4836f52eaf6fd588245af60549958c678a7e069e9cbfef77251c4144fc482b38041248aac05e25bc53af0aee9eccecc669c40f5a27e4ac4202f71aaab7c64adc7c0292df1e78e3702ecdbe35c51f7d18e2e7324502da12d4e1005ba22ed2149a84a042698bc8287a5282148751c21c345a7d2594231e91433912663a7a47dcda9befbbbe86d22e522ca43db94c9d2181f3ae48397ac4befe94cc5bf4ee05d02186c0009c316ea350d25455a5473eeea0d9adcc48fb904b1800b454ef6b5a254efce16ac0b656e2095c5b1efb7a891dfc9536ff968df1dbf127f86e3f06e0410707c7cf261f9cc84ffa84e611db9a99cbcf46b64000692abc307df2e3d0b4697304785496fc55d4497e80f596b5a56cfd0e31ea3b3c938b3c5e70be1cbd8e7118309992c47c09e76bf62335d1576d1f672d028693aae49c9d629d09ba908d2e06d3bcef6291f805d98a13118a51fac931d8d4db91de355aa049767b5f24224c20fdb33b86d2453d99828ce663e1286a6ed3edf7dd95c50c4586237eb309656b31477bd9e9c24938691c5836cda9340438bd2b2f86206a9406b3c9b03935a2b8312e101605a64732088faab1c831410a4b599ec3b81f40614fde9af9e464d9451e4c82f514c4a93a53f18074ee6f5aca0e4aae335b7584c1d1bc8368e18beb4db8a27950ce1d314c8d3fa975115de9f341ca8378df59139b7d66983e00050eef6f5b7f9181f62bb7615ffc6ee52bfbd106c3b585d72105fa5f07ee75eaf31f821a66f4f908791ef50466b7ce9a7d5c13dde41cfc3b6bc68d6a7419f84e01b7cd4ff6733f15fba312c474b29369c15eed0eab832383bd70dd9a6568867ec41c096c8c1f0420813273c646fd4a6e5bac25a9bc8da28e277da341c2efe079bd94a2fda6edfa50e9b77d1a490be32457158584148cfc6a2ef2993193c5f30a423c9732f12b58bf976b205cbe24600115ea3e39de639b28f55ad2957aeaaf221cd0f3a1524b800e7a0adfa506668bd78a72681c49fade0086b7f42ca486ece4e0c4d34c83f61380589311b41c6489b12cf50084b89dd1976e5199afc74d5a00c4387c04d02a3280c90bddeae965065cabc78144113d7ab5053f4744fd64352440f8adf20a4d9a6e56d3d04a5aa2f497875feeee7ad4ade84d9b47ec067b0c4dec515122c1dc1b19a949a46bc3fa5469c2178b5e8b2516dab84efd64af22364d739350dfe4289fe96a6f4b92c268ebf569272647e799009aedd528bb954a0a01a4ce005a52957a429d7d3c0ce271f46b5ee8da85f7f119af7b47dc371db70f74e48d715bea79986611076f9481a6fa569b1e2077f73444e43847c8af94be1450aae7456bbac789bb5196d0ec84a698bc6b3e7e32b7bdee9bd0a6cdf97dd124445a8ce3e5ee08ebe3564156f8eece1ddef313e29273c3088bea4136b55e1d1160a423d36bd1800b3c265c2c4706ca94fc4cc7c77e1b1d6d402d77a003dcc9fc0cb30361cdcb5f7a10595c03a29f9027c993cf3bc21aeffdcec2d261ee6fd9e9aa4392330aa25355e4b62c8af286cf4dcb30b23d268587a89f1b24c46650299bbd42e13b6c5cc078a7a6996f4c3d05ff5230bd418c7a1b53fb3e3cf450a73941494c3211c937224d25c96aa67406c990a96114f205b7208ea07357f8151e7167c6edd734e7a508bf8195cf795487dbc17e8854d57e882aa21953e4ac29b276c53ed7d9bc152a0e1d78d3172338dcc34e12fcba5c8befb1dcc95ea74e64ba8cbf090f8205da15331a91941fbbc546764c6fbee1a50fb715dba6b87bed4d5d774ed70bf0820fe32fb6feb52f756d9e0fe4b564d9a9ef5588cdc8cf8a07f2f5e50f09651444a8408bb5c1e0560572746c021dc2b070a648bc7724fa1ede52c9ab5cfe660c07ceaefe0a1f00efc4b6e76fbef99b9303738170f2caf4f0ac9171595ec820900e10f16718f420568ff3a05ef0f362b49289704b0e3f1e0d64f2e5be9d6f925ef364c7f0b1cb54bff34b5dcf6ea7cb611d41cde924020a35e85818a7d74d182ee52d3e02a86bc4388496698ede891b4f3327d3a1b5ffb5773b2e8e80012c7271b9a37aa8f220896804849bc24a930628424fc74783e86e9f7b882b10b89250daa6ef097029a116d109f56f341c6813b028d18b921e6564a557f86fc6de06054e1b91fd79f16d47daf0a77ec4ae0fe65602e338d67946bec0869f5e4d411d286a186b56283d88ba4c97e6df4ffab202e930fc949b9656a5226a49f32878cf574ac7cc6cfcb9edc2bd89d0bbbdb42af90ba0901bd78f4b80e50b252f507d68c4fe72dea8f78f06141978246b4fbedd9bd10be6b8ddbcfc1d1a664bb45372bfa78bf2fd00459eae6c92103728d7348a6abbcf446d08f1432ce126b0cec2870c9462aaedb2720fc288c000c6c4a5b18739dcea6f3481a59a2df484613cfba2f51851bc7318eb9e7330dbf23b55ec3ccb1b3d3684b274a0e599545fb918af047d7efcf7e37ebeda47fd010030860422e9d0a47ee53ffcfb4d671d54d229129128b5478b81de33766d5c06c132411ef84eb5f01c85f5cbd53d5ec8c857b88ffd58bea165f7915595e31b7eb9d4faa52ba118411f1b51a136b7a64bb19ce61baae009b54e9d82d83b81bf741a8ba1e3f28e0641a87c629781be8f5f3a1e5a28893cda12dedca2bdc370ac21588c286669bc4f11ffdcd2f7530454cdb31d20fa99cc2b4c9d78cb9af85c712192dc706bdfe841857e46afb9010b705245b63d55371767790d6aab0bb63274d39f6b2adb9ac5369e2251084131acf13098953dc016b207d126651be2e6359d7c49d019b816be9b8023db579b83da262daeedf9b4879a554ed5fb6cb18582899e625993785d7585ffeb19d3f474c6b93001c675b09c6ecc991577edaf9acb53b2933fad008c4a0f687bb7d97e641500156f20ca8bbcdd91fd986d62bbe76400799cb38fd16a0574af2f5598b38d84bd8cd1b2132440f07e8493e78a8b81ee01aecafab1d0b72fc506a5aa23e8eb2103e09007026a2ca845a8ebbcd7e5eb2d0da0f6ae9b88674a82428b8b28d69677502c7ab940528a66369be9a37b6a476d52bebdc6b1eae51e551c070a425035fb3597e151ba91b8f7f6e03f5411868f55ec591a0bec8790989c0aa4c99e783aa886633dc93007790a46ea9dd8c4c3e7209f109771a47172f209a78d6b25ee0d9473709ec15a85cc594d8ceb65f116ec216dfdc97a79f89f5c0dfc30b496471272de28331ab8dce36ab95f66316cd3c37c651bf3d539977d6f956453de676a24784817c3e0d6c68f2b49669d505d33080628c3b1d62bc86245552a6d1d011e05da8f2216eb3dadac743930f242ecd26f29704a243c16096a4fc4195ed3ca4169164912984ddcd88ca48c401ffdc14f412c1f4f92315c1fafcd92b5147dcc02a352c6aafe6d71732660af5f463ebe8918984deb3cc2e1ca3f23258562db4183f3a52f297ad1b62cc040460bbb2e639c4ef6f71446d7d2f9fb19b4d0275d00ec162ef99c2d0e28a4fa313f9fb0d29fca4fd72f9353b4020208570baa37ea96caa0f2d04f3e1bf8e1b2f8756960c7bb8fd8a96f18ae886ce3be98e23d197c9b9d8cd9be38a17ef0073d1d92a16cc04784c15a6b236827950f03aa053725aa4e307fbb42e82cdfe41098273e032d149bc61bece33f14b216c2ee5395a4aa90953d1d74919a3befe567d30c5522492a430d71d1256937675e931b883b63bae146dcc2e172a6edd153412e72721220789ff7908b4a5fd95131902db7107e58b7f5bed60b21f87cd9eb2e07b95d68844a15648b79b9964d2c8fd3a295fbcfebda6b43038f3d5c765188d6953d499190ad4800b9115ef626c83629cae68893659d6549de6e74ac7e3a80ad9db531d875dbfb538b32af0238caae9dbf1ff705c27b0c38f44e142394097e6ab9dfb767635d0cb6ef9cd7c251d153ce30ca150b5aa491c00ebfcae8cd8eac1ca24a1317de43e0f2c90439a4d319da7737e15966dac03bf6d757ac583c3751d6ed0290235d6c973ddba194b8e140ecb25df424e9575424a580568960fd8435b99fe6a5e2e7f708fd664377eb0fdbb635302389a1090f8a0500a33ea7679231c2a74af3b1385bc7c2e3f14a15062b47e9bbfe613ed186761f79a1e91f8900cda84213368472ec18c27a4f5bba6a54be0a249efa79432b245ad2411b7634cf73a5e8ec8a6ebb504725c8fd778f4dff5080af2423c8dea907957e127056c54cfa7edf4af2cbde755f78d5bd951fa2606e160884144b08cf606356f10acad5d6287e5ab2ce315ba4a216173c20d8fdf038ade3480e95001c25872aa6332a337e072964fdcfd5fce8048c5617d06f4a7f0f03f8706cdf5175bc90e7f1f5ee5bea5108c21bb745eac9b10c1963a12466f730004b94bc471b73943850cdba414dfb85c360d37b0cd428d1673c51375d8f19e49a4caa292eb7d8314ee8a5651f97d84be504b734451e71945faf98f06457732710e7c920cf0703da39211bdb05d4adac7cc1280d19a1217eab185584e77a693d4539a838560fde37c14cf9e255477683697e221bace59901a1962e07e891977eb2835f9d81815c328917d75e63d59e10d80bf6fcd4c11f6e0bebe7ad9abd09ae324bfccc599e1c92d2b2b9b14771986238afe3cdeb1bc4f3720e278b203acab7d83d17e46219c18d98aca1b44f25c1175983de3aa409689194a24b31932df1fef081119b50ce985008caee387d0055ad307f05b2f7ecf7c5d903ea0015bcb4a933d03a1bdc75fe5c05892011d438b390d9adc597879385394ab304299379840709429630500096071f1f82d9c87b89cb6a419bdf948a9849a63eb24569fe8a9b405772f5f0fafd8e9d06aa0aa6013c2d6769ed5b7c8f4d9911bd3a0162d47a03023d2850015a94f630dde8832e0b3675fa0c3fadcf9de463a48ad2b03e104a091338c6316ac9de3b8b4fc3731ba967a3178b45379375490818687b9dac79cd98839ece9ca1ac488034555b7dcba5bb3304b5ff59dd6001748ec66e87512ba47dee6e2f98a1871f20df910d7ca80d6348c343afe9b009111e70de6b102229260fd540c336d94ff0da3ca97265ccdd0a7fd74f1962e0848fac9cea3d13c5177bd7ed155234aa07a13a50852bc2ba025ad5d84620952ecdfe9d17fa63f2be560a5baf521be233a335ea250e932d3b702c33ef181c99989850fd274dfd4655bfea7a9c6f0305e956618f43dcba2054104ae4dfa33d57145741cba216aeb0bd8b02acc17e70fc947509b906dee741104bf3dcd7f455a269c87e22eaf52bb9042bc22c738796618cda638291a4a8c4267eb5ee2c110152e597ea589a67216f0904629b3183ead5d1aa8d3e21dab4fa4c134004d7cdb39e959801b030bef715d7b49ed8ac42b3df92e786fb4600a50110271c29b245be09285874ce45ae07276b99dbecc7dbea077ea4f2453a4056b0e5de8b2ce1c37239de2112a41e8454720ec4aedf20e7c85c9257df8c24047345d154bc530fd17a7bfad0216650150029c6946b1409f5d9b7d53f525406a1479ebc07583f825ff3caebb42986c7745795daf0bd5969b51f22c9023274e0f13c4ec7dd38aa08767ad306793c1c257a4d8416bfef75547d4dcdd47bc9bb8323aafcf2b9820357a86395d567eff2b3209c8b5ed3f3f0f06cc5bb57f98d6cf3060cba9f6b9bd8287a5cc160b4198271525865f7a4d028bf9aeb2b71ad57bc8eefe4f0d22d8a0cfba6db20e512aba41a739796ce31e9173d083b4b2370e41c231316cd5458df037d83fceb839b1eaadd8d26adf02bac26fa9a19bfef9ca1ce7283a505802fc06d452b5bd123ab6c64f37d7b3fa3e2302ca5b7588899f4a4f0694fa71578475d4335ab7c819a77c44f47f1c7247c3f450c1a5b4180415baeeaccf6360392f1a5737f78189e4e6274cd37b8e43be5c1378b21441625c128b3941e9738103c1436d2b542d0b1f6589b33dd9fc1ff980a238a3e90d89cb0829d91c3d84b5da437b53c6a19509fa2201609b6d35e9dd39d8c26e193f10dc0f38b5a474f7785090fbc19183edda72f17b49a4c3f557f45ffc59c6007f1cfa9e1f7ed45c4d7e1cb2c64181b7b573fc7c8e7c11aba2a31ce57407a87ca1406f9bdddeebe6b611f573e10377dcdb8dda1b6900a954038e32fe4df3a5f512337bad73955e48867495dd35cb708734cb92dc9c5dfeb2a8e8561369762ca46747ebffef6ca6663fd76a432bce20f50dcc8c12b85a0156a70c457d2a0bcd08c27bd3285997e57d6f2bad8550ad33e899f3cf60f9bbf3a73e7fe2d89d449293f2a59e5f7c2a49d54d51e5a9eee00ceef26811a5adf750e3ecbd39fce356d575984ab3739a85ac49414ca3e50dc5623624c7861d528ec51cb4573bfe37ad04ebabc2418a9f734ab9417be239a3a500f201eae7d8f473b01639cb811607f7b57405773720e8d3e90d8a9b97c332c39e0040e557710c68d50df37a57ea85e4b0b2954b7737276dde64083d245ec5eb9f5dd0d5f71b53266d6f2f20992980f20ae092061dccf1ea93db89005f4106e4649d864c94bc53d4e931585ad3cf5739baa927e6b5481daf6182e6320bd1f6ca7a03dae68a1adbef5b80a3bf28a569def862b00ee31d1ecf64ca8665829b812ea5970e4ce1bf2eec07b7d66281ea41a0ea94abd5932f3d24367f572e56818450ae46ad37b14cc9b4a6b88a674d944685691afbff2a4f81367dc8d354c3427fcece1e2d9548600b7e04f058192473f6658cfad3978e5135f0b54a78f450ab6746b5ee0ed29952ec2368fa8005bcb152e845ea74c0daafc56c9094ddb05fb6c8f72477f25256a450baa4337a135268e579180628bde7a8db42ab80e292cae57093b6b87620a0bfa41e9a73f2256680bcc9812ec58b5df7c8258b42da2afecd83709768bc1e78a073837a2fea5d478484a15e2aa6b121f7e7ef0184f7338cd4c1bdc5e233950c92ce6cfc759f7ae0d83d81dc0c04283208693582f2f6188cafa3956a48ed195991241fe9efe6c23c2aa8667f1672f50171d5e694669e4e7f011b3663689417e96dcc508d9c10bee91f0116d67939d38e329510d194b4f73c0a496280a89aea6ea8c250d9286c1b93673765199f8574644d005a07b722dd0203ded8fce45a4c3ed1739340b534736dcfee3180d06ceb84da18f7693b1b598ee454916e54a533fb47be8210ddd64b7b1b30088c3c0f55b522d1a6b5461c6eb1869aac8637260bc061eef5ee51d9e4081bb0e6c3bd1a2d9aaea8ad55b5eaeb728806494d364785165716eac59a347ebad7bf2bf0d9a7c46dc38095687fd5276a1afb039f0fba1f8e88fab4bb1395af856b0481a29e83de56e41c9150e85cc4dd1c2958a94e38226f9e4dee7dca42ba861a9bf94e4bec02b3bcb2873094ab906e0fc1fa0b19e0f4c73a7f7e0955993dc4175dc94318fd22c88a86e0d3ef5f864a656c957d6e4733cf260b6510a00289c85edf9fd50a244db69cc5118194271d1528518d1fbf152f577fc4a3821adccdd0dd725571a07973cba84585f0183e7e83a08011b7d483765b61b0427bcf6f3015fe7e88d0ac2c30c7fd1347b1571afe44e3b32466b8fd5025ce848e2651417de2724f16b959bab32d8d3f748eb5978427e52ff4c7c464d2706742faa7ecc8bae8d003361c95edd9fcdc8a179afefbee28f12b2214c5f83913777eeb6f8a6a48b3297c45929160cdde818fb3e6ec60ca4ff50d5096a357d75b3f2d9be3184f253953c88716604f393911eaaa97b91445c3e16ebd9d9bdfb918c9e8d616776111454fed15d16391b3336103e50166178976166ce2ecccc397df5555555a9fa2f60c98f676ccf88ff486897effa97c006e1143feb40b43ed91f8c00572916405e942bbd146db3ed3a2c34e68d3416c0238e0023ada7728cd6a370a231a89d26d0c8a19242d800abf9343ec0a0e9db104a028c15ae27e809dd95cedeea8e6fb1e224991a7805f185b6b2fba9745896e98e467ef5024d4fb826b576a09d4c199d9f95c38604fe9e1002c2d352ba5beed24b30150ce848584472fede6944980253580eb73181d3569a38ff95530856028530bc0817547fae2a21a2d52a8153c9f942f1dbe7249aaa1e9cb86e54836919cb3ba64b0b8f6b99be4b1ad17d2ebde8c40d16f9b4b6014f25e6f6ca550f814d947e0b956ffcc1f7572a7c76ed0c3d0180ce2e36a8f646bd3c707d7a3164c0c236002b1f4d8491d793b0a6dcb9e42c3ccff20b017cbf605e541ebc7e214d3db55dc045c4592aa75e57f014b7376b9c700b65ef4873576161d66a040371dc4d30efc8246bb40135c8f5e1f5c5db82f3f5c80e25f0f02936d445dae12d2966f263aa5d85c62d81614b049828f2bcfab3de0d5d84534114d0d3691e800320a6684cbb773fc8699aa9b4d22d1940d4e1ad2fb8a74e40cd0c2f6ff7821ffa70b1947fa471f5ae23ff30137d1b2cd2a3cdb7cc2ccd405cf885ceee1963c5fc82c02e62350948f9f149a50e823c412c799d473ca852f7b1b1f1620239e7c83b6c79698a0cae07c956431b4058bd5b45516b228205e08ba2eb267566ab40c15391a2eabaf62c28b38300a2d0d0b0787ea673295ee5474117f64828350f767db43ae443daf3493e922587ce88e6488d1dc157682ad0b9a102c8b3646ff9dda9197a2712816d2cf680c7b457a415715759d2e55256b717385bfb4910457b60b27adf66c7898198a13edcdef1cc5f14056e1d002d0c161cd3e49627a5776e2686350febedfc02be006de652cff034b536b9aa13117cc8f097d0c7a0b55b5ed47546082bfcb09ec1a522af767c8f1f663349746a3d3032b0c4cb71a508a1a84c6b8cd0c3a59093bbc92877ed96b62336e13e87f07c5cc4b0ce0375583877c9e94810dace36a8dcf59eebc8f4f23718c429303d21335f328cfd2e1cf94de97ea2e218f2340ad9222b538d5ae7060048c847a70ebfa4952308834b3b77692c792c3202d7ac05b70c5cba1449c298f5faf08c7a24846e19ac0ca4c4515aad766ef1ac984ac1ba7d67550451402ee80ec36f70b85d3fba05bb5d38b1e0a67fb9550bbd2ac12275c5dc0d2712a4e9be85bdd94c0f2df8b9da16d1d1e5f805ddd1b52583e0d7bbc53cf863eb02e48c73612afe01be793b547445e8011cc59547af193f50b8065fff2adac24fd3b8443eb3b96682dc2f21aea67efa54f6e8eeccb226bbeb474ee1fc1f7efeb8ec575aa47ff7e86681d335127b011734e22018adc5cdddc9f10b2799050811ea9e7859acbfb1fa6556e419365403b6e4727cda15fbbbe6ea54d7a7ca275f3d0439245c1d7494332fe85d6ea1c4ef9b284afefaa40b050ab5ccdc28b855887a0a100ab4145230d166ce464f2f0d871019e9299e7f565feb5c02e26697d1c30af3492ff75240c859b4345fe16f1c5c4a8aecf1a1a3d94a526847c6de90035f293f5e0223b70cf4b9a3b5bbea04ac8a6bf77115712a5c45ad61227d61f89f8abf6d481ab05d440156ac1adaa0507a00e679fc7e6bbe964b85360177a4a3a81b8e529449a98e7e5606dd257b22872cedb81a8352f8048fcd1e98eaa0eff1757ce7a99ecb8c639a6693a285523e932358ce7e65f24ffbdde088e97d442a4260736ff73aa16d4917e5b5ec0822bd15829b67e224c45b686302e2b3e81982f5a683649adbd8d2a1f6c40ecb6c8daea1dccffe2a533e14f9f1b39e24d84a9eed3aab766dcb571c2344e42f9ea62e2ca320113ec5d169696e3c23feb0b37e35867908217a40f7dd28703f28fa757e81952a78473b7894e3deb28198935f0a644cd3bc5f8cb2ceec62b71658ccc6d872d759b16d9a9f0d0b8ac56f4a59e3f3bdb6ddb69bc7bfa068d35f5ab9159290ded4cca00ecad54d749702d451b9b3718eeb4f7f979b054b6410709c0cdfbc7a45637b57641bb287c9fe52e16407c3a391f96b46bfd53dea07b5b07ead4216bb8e087e91aee81dcaa1b23b6733cae7f04888c2c9ec59609de3d81810ff8e4669bda8565edceb61285815eda1b96154159639781790a780763d6dbcb23e6957ac3a7208993dfb6b063649773fb85ee5d4c79290bd3389b6cb89595c0837c39ed5c2fb34f2aacbc543cd776e3216c3e80153d162d712587d508d778a773509a72ebdc8e482bd5ca52f290d9a7736c705c56967784ff04e45d4ca4ea97d957be75f28f6b698ae21994f02d47108841869ce255334dfa23b20e2b20db4c743630a8cf7bebdd0709e3bd248c121ac2eb42292b26929a3c0037042a40f8d99743a1b880243b6316cd55c7e8ee6b039399d7dbbcf3415da763c503f8da150a0c328797d438f484b6131e7f16dde04a07339db41e96542d1e726e01284c7b4186cee8514f796ea5b6d37d00e6390866924c670e45e6be46ecaa47d14f88dedf3dcebd0d773e87a9fc6317624306f61e44caf8417a6a4b6bb92aa3bda3afcba2fa0ccb20f154d2f5c50d64a49cd144bd8b50efbbbd1b5fddd5268cfe8b10806109e1ab5501ef02b1de17be22a8a24d80b4af6f512d0a26fc5030dbec3a6cb2eafde45812d8ce7d369f8ef0c2d2ac8a7b02e0820417dac6c96abc25109fb7b52083bd65b2a726cbe52ed5c6cd3e4f5dd5d2f2467ea977999410c5922b824ca61ffaddb1c50d7464b39ab9c96f466956fd79e8c8364abfe30081feffcaab56974581155d06595ca960bd7bde2c9c204d889ce935716968ac0abfc409d27215e7981274756a5703b21eb6a747cb41cb6213daf23c2bcf8a98abf7f0d0a7347fb648e2d341dd148a1c88d400428884d19dd9e0e22c47db5720a2378a8077d6aefbc456f12d04f1d9b70e1ed052ff732a75053117b4fff8a5a16e4edb32beee5d5afc1e4e24a8b6e00341c53e8e3462e48cd381c5124a68d722b5700fbf8a849d0146ebc3510cca101a119d2adbbc8dbbee8ef64c991ba06552e8b1e4d0cb49a7a4546a18c7294ead31586a7e637ebbdaa8a33091033d1e8339b5baa94d09f97959d97945f63ee6d532e3d53549b60ea62533373f93348366a70ea47023e7c5efad0616e34e66e302404dead7ca7d9585bec8af4dadb545de6ddfd2019109b1eb360ca4461d5273bd757e43b5c9515d518d47bcda788deb8ca7c8bc44770c495f65e7f870ee235f26bc3bd2291d2f243c148c7b1c4d724687c17e0b54529bc71857992367d5cf48e96a823fcdceaf556f40699a2a0899d4b62e2c7d2230592379fb10f562718a121c614b52601feedc4bba7839352f945736f74f0c02680364dcd0454f80b3d1099cbeba63c1fdfb4b7177b425e20ada392f2fb7e63e5c4063eb048d30e0ce1af4bcc80a8b9725752248451b38aa1cfda5e48fd915e9c40dae0e8e5bd829e6eabb363548d428eb0b6ef73ed804bdb7c09f003d8e3c61b7feeeb3b51e99bc1a7433cb84aef062863bea7c11c49aa455d9d6bd52ec7cf5fce7c1a43c3f31183f403a1ab2dcb6469b5b99c8999ab0ea5723e21f158b2e68ecd765cf831728122a9a879ebb79dc92d4c27e06a08859c92e8ee48af64781454cfc8cea4198617b328227769fa4169081044c5290d37686872130315435545c70dc9178aae2649e84f3baee07dc0cda2b3455adf17ccaf13bfe025b40a59a8a4153b57158baf8083a4a1415bde5ebbec32e9e05a7b53dc0eb544f406119150f960fbedf04fdd346821c182d69e9c44043715ea37e286ad3668c93e17c2355b686c618348677d347d3aba184b42f5e46537e3da55e5426711bcebdef4eccf7e127a8b96ab6358d3c53faad23583dbe157e3ae7b3f1a2627f12e72faf0303cd0e1811731ee226f21f5fbcc9bcb105c71ce7ac1e7f03a50b5e7f6e171ea41d8784ca64887c2024315f57c903ccd848f1285cf0c50ba253b8521d1cf3ecf89eda688c38f4869fd4c20aa3e35765243c3c43bf596fa456b05a4fc08f3576d52d5528c09a21c9c34b662ae6e39320f6dbcda6ba7dc26923be789cd77fd0d797dec580bb1623e384713aff26ee896a25c3c580a726784dc95656a5755d96be1bd6ca54862b3a1919b80aa97b482aa087c3aba7926b40c303707520905070ffcf142e61ec766c3f58e846910c5eeccd75e0044f582302be5ad4d0807211104733115e1c32aaf48e7b2917e141f9e556b9dc6ca89a4e509d3e6cb0546d96535c0a2085ad566365f4d6cb4ea1787d7c0a581373432b83f4a542990d0784b925a61ae42f6960a19b3736bbbf28dcfcd3fb721a455e6d234afe889a655ac9b2fb0630dfe328d30827749e0ec3475e776299c9b2493733c1903d0b0a77f6ba82f40f828c471315f68c39db69f215ac3ecf210a1f56221fa5c08b847fb3308a1bad82fbd464cb9fa8492ee7a9edf7dcfd86b035639190e0876246448fe2a0179102db69e649df73ce28e952704e839b57582e0e941464c1eb450c0c890c2e49940cdcca0fa4396e6428c0498741f89f09489db19cd94c2916180c6e02d207bb37872d53653b9768ecb2f00eb20c0e57cb41b107df9c061edcb982e9905d5280d93574282a132a08c2ebd90d84cabf2bc0f3b8c000c063fc209cb24191bd4d10f0121aa416ee5172cfccc3cabc1af6f7d6860b129d7306a9212ee96a3aa87effcca2887280ea428f797a756739a506e71445ef9d8e6413bfa1b27faa8b448d24eb33043f24dd7add04d2bbbc94e54634a731d5a4037d6617ba90e5505605bf8335bc01e18204ba61310a76a414f991080871a082301889f7ccc1629adfcc6d914ef0a204249f14ca094764563452272dc347541aef91837197c3509cd5c2e4afea252b0369f14741fc0dbb2da5154edd776d40c4b948cf31c172e3cf433cc9f34743c7f001267a850dc354f330c80babb1cc5175caf806ac391f5447092e40dc352ee97c4d92329216badadfab37bd0060aed1bcdc6a0861e84bd5550ba4d478632859dd6368316a8ef9f38e625c73b1b39f16a5b661204aeef4412857b16f5ec4001908da7dae2e392d0ed6573b84187a94acae82bee2466d50d0e89e6d7bfbe76f3df6106c8bbb774e57251488b1b777c8d0083f614c1904072f69e4235d103c23bbc6114343044247591717c4e5063144fd49ef6772aa8428bc861b4c0001b5b3e638bc9283da94d9b7690d520afd5c999523f6ec09366cc024bdc8a2511436a1912c5dfaa34eed09998f5c8102ce12d2b4b948e0eb8f33271948b19692b0012bb7504a47fddef20e8f6f951d794e6272cab5ead4ab0dd0a4b45e18ff603e490788ab8ed6fb2bb9379a8fb554b83f305efa7072a7714126c8caec8af007ef188e0b5228f204960a7575c1e8c6af911c43418abe9a6b8c7c077c1543dbc63831eca323d08e0a1e7d70e7b44aadd4d012f8c0fa3ca7e1766c5ade42fea8117440bb76c5632e97800cc5f7d77eca4065a50262376dff7471b9fb152638bc086829c4a002a17a9c597367c1c7f3d7118b5256d575fe1b68d69e2927889852871ad0a5063f896536fc085eeca3bcfe1609ac163477ccad59fc7ab29a050712cdc8383ed12051b8c81065097bdffa92ef7b799ab0d46e922ceeaa22c8f278d48b2337159d5a5e141ceaa387341dcc185383d81a22e3cbd5acaa92363bb67ebac06391c36495b823227f3c9de45771b78ff6a8867c259795ee36c01753e5b059bf13e2edd9deaa7dda37d27ca62e6f5cf4cb21a1b9a68918547d1684d838b9c3b3acbb8f3b618a3cd49a2d8da7226d2b70a818912796cebb3f71e98bb379fef0ea9f2a5090bc1aea1c73c9109d26ebdd5d33e464723a725fd225f70bf10c4d5ef1abfe4cfae7d55591d00a5a912d64417132b6ccb22b4a5b897ccf58feff199436fa1f46580219f57f7ac3c987ecb0240ca7da1a5efd96e681e56be9429e6e6ac46d3ee525c228ec31c93cb09ab65106b89cc55adacde84e5b176b614924fa9f5a61411d155f318f2312e1c091227e7423f7700f35896f8469f3ad865eaa02df84156b4fc44eead6bb9e4ebf1183dc4bb0cd3cd5cf781f3edd9dbb85f83507109295d60de1dd8ab25837151cd639e1d3fea8f85eac0818b600c0d9f1eb0bcb439431a90c834f7c186bbf7ce48a7bbd0925fcd31b4e7ca569a0b3bb796ae241a2cb51a5ae0345f5d72b5b6f08c404367312a761b21259a5bf3256343e7da8c4f89ecb2381c787d0b55fb36db7bb5ab1370050dcb32c8f2c37a6bb2d0f641fa99ae168fb44e8793316dc74366cfc244770d82828bcef2896d001067b023b0534e8b056b0ff882b93080db2f7dbab2b76ffa0b7d4ff34bd6eac1dcd601ffa54c27acb6d019896286078ce18ae9f73b34e8899561a05636d02705de6cd52d0c18ec12c75f0e62299a3439fbb0c405bc3e5065137391bc02f085eff14a398cd7c92e84a7e5a9c0d0d9d0e6b34b4f928ce3250c232e71290e485b0803e563695acd76282e0cf610875b16b02d105d5c3a128cacdc4c814e2b6a60309b1386130c2344b7d82828f0f726dbcbe859885a0d8e3cbae6776e94a6641775b45f43926cbb1ddd4be83418d981dc3fa1306413d7114fc90c301c1d0cac2aedb2e681627a221d2c5e5e7a07c1aeb97f5f33f802b7ac43d2b9b497210a5069c00662b0f2278caaebabd82d141f1195c788adce911ee108a45044543d8cf178d4889771ffe27dc8c361a22ee7b33cb08cd0c643a4adf755c700e14cd6815f933f96aa8c57d1d589e8e893dcb48e7fe222423f04020cc755224b16fd4233cb0692b89636dc5c678f7eca22ce131cbfa9b470943d00b63a4ee8825c76c03bb4dfc47e98ea7e7875e423a1b382dbf3aef5f92c25565b57a6f809b4c14ffd482e4df33150987e0add21dad13a4c6d9249f9817e0e20bff8bb42b88b5941b916a8231ae6867ca2b819f755b9964790d8ccedc1fb310c844d84be638b1632c4f75d8a5032389ff2b0e59fc441fabfa6596ff8094027362e13b0342e14acc27d17718c2e5c814df127b5103aac9e76b93fae1df585081208403ff6bd7f7d94c9d44edc96f0dd320d033a5c6d2189c2659619551f7faffdc364a4cf3ceb4c733ed122c7008dbff07b559d8b7e4e1c38098e6f215c9e0998fd304578f61f4ec7f6717f29e3a26642913b9ad7d542d4f22f0c7437233d2b1633a08af43be24de5ddf69746506aed93251654877237ed11f973716db354c1c98be204c74023938876cf02c30203874dceed3dd9a3496eeb6b0752c06b3072630318a5b3c6fa5167a9bb6f76d4b1c83cc38d3edc3b53f66962d65002609548e60a950f6c6954dc43fc05c9dcb5ddeec2f6493c303bbe85b377517216a27a495b06d1fd68b84b22383e4d5d8372831f29e02eb54b998e8ee360339b80b19e00082a0832bd0d5a1d3ddfa9ae8b0c496db0e5cdf88a61593b0fabf69bc5007a99facbd5f67b168152d5e467b64fa4bf548a7bc8100e713cf55647a97b2498de9d928b775cef8c25ece631346ee914df2b191a4c0cb9d383f3bb87af1159e9e22efffc20b05e6e55efdce53943517f45adb2267a0573a7b9e71bb37e789429de969dea59c2933bf7d9be44723c411b812d79905d0a1fbbcb583de4632007cfd2cb1a4b4391807e717a9e99e25dbdd6d24674c3e02e94166b0fd5f29da3b26cb4b5d372930309a06d0087451b74e57b926bac816f5c74d0bc64470f2c2417be2a3717492490bc0c4e4b246b8b76f797b685f2fa526cae237da951c0c19eae38f73160d7cd01caacb82f18233f6bb3d9ab66a5fc5a9bfb79959770cf249e55ef57c0a43004db50b3cc86a7b15db5fb7c9347724b77caf59c26c86364cf4c1eba262961971c1b940afc2632af4d779f6d7eaf6f8bcac94aaea5379fcf9008e024c2ef43d38da25cddcb9a861e95e3d30f8f82a5e9eccca3d960b42cb77f484135bf8d3c479caf4d14ec68730718fad60e1daca7dcbc426a8d8d100c76baeb5a0057442d7341cd59ecabfdaed0f382091cf94f192cbcb56f26c1e9df9a7a6936421953be1ea56c260e6585539f9483d489660d97c1fb68eeec86ef8ddad2da3cc0248d7e0b3abc4b2879d6d15deb50fa4d0bcb8a8bea84e957f5fd3e76f56f076bb164f890c584841337deedf92f608028b56267ff8de7765a77a9b06cea89526bb112ca438ff33b073596b784fe667d36f910d5a1691f53a450e17b7188a1300ec687c9f34d4eb0cb15f7f64e75931ff3cd0fc43358821343892f457958d10802e6df31767c49d7af2f1d236cf935d137f8f2ae44cc99da707ec1925b670ac654b7ee667dee1dff2bf15389831dffeeaa6a74cd9d4d96ee1e4f058e2d08b856131fed1589ed3da4ee54a85e7ed9e22a07c1b03f29ebb11f2afbbe048b21e7073b52ec665508cfe9faaf11cfa8c6404dfd502225e3aef7a917c5e21defeadb506c2cb1291e37362598b9b3d2b17d2446c2d425b87917c1dcfb3443b45cf6644611be9997d010e7739faf99ca2a102c596246fb000e8f033fcb0f9b18d01bc13a942dcb65d92803a9a9c84c62f1db6a367500062c60ea1f67673185673696ca68e61632a04d7549ced011006a24d50065a03027dea06f5a20014eb07bbb1277e182307f84fc240a168b81f97baac5897e5c8552eae17f2ca08fea33216f7d575412c1cb32ae15f4a321eca346481712b3daf0d7b0cae0bc37d657aec17def439a7d3568435cfd05e31a596625b46a77052e05fe926d147e42e12970f5180838ae800393e3a2edb17bbff140cd7788fb0ef3820d46779d7d6aaa3cfa35a4e5e4ce2e1f0996da69ac62e2a1fdac5c83657af24f2a5466d7a1f9a601c05fc033be6eaafbeddb776f01abd925fc0a8db0355e11dbd24961660d5b6dcac8a1ef8582355dc3d52ea5e1c6ea9b43eaba4a0cf383983e47f5fee84f7a717100cde69be5dfeb8ba2c9b6a70ca606aa9ad4869d27dacf064764bad629cb58f9593eff9da8ad24cbc57c54a37ee05a8029cae033d15f67c5ebd0c8879fa0171ea540c2dcf4214a2e4ff22383318711e07e02ba4530ed4a822d30e5009a2869c2c348b90b9113938849af8fc69d01d274c32b098bbc14fe49210b1adbeb078a31ac4a838335bdc1bd30eb8ab442c921271b29184c28857f05aeabdc8e9205b9782d0bf177669b47f14db67f621d1d59492673444e156309c9a3a6a1bb7f224b2e4debdc67b35ef86d3745315baf1189b2ef1d392b8772dbdcf265d44897a0fb4f75e5d18a500cc65fc8fe932de5f73368666a56c13af435cec444773e86fb956830c39d7d63439daea86bebf9947cc581b42ebba20cf529de508f4ce143eb98204c5104702d49b9fced5dfea0271d7d3bdce967daeca0b5276e8d622ec80442dbc1d46cbbe65d0dee3ef0d70a2a90a122dfed7f18e77bdb790a915b32b89cb46e877d86a68ae08815eac1d25f6c713bca7f2755e4aff4910d6960a36d527bcc43d8a465030ee6d8bca555d72d0b025c843acf4f2e96f7e43109194c4fb8f2e5dab726fdf58c0d07fb423c5baa7b92ce63fe5aeaba8789380901eeb4a69ce5057dca88fe68813f4f0396f97803b8d3b33c2122f36b55eb133947b8f21d0cd08e1ad8f5bc8c1b3e159b8cbd198da858a6f3c0a348053c3fc891791373ac67d0eba8baa7ca785d56ec7984f278ffe432c7de655ba2a88eaabddb3d543be76917ba2bd612c9a4cf0aea86898866bd6cbda5d32397c0152742a581d7046513b26aa83f690a68945a904c4ec0abc787e6868b60c1816b497bf3493102ee4210c5821cffc05fa811b18afcf40781fac83b6adf16eab55c62d982e909478b37269d487b20a6d50ec03e9fa16ddc0796533f8ef17bc45719559d5c6a53a3c75e1b2f5c524ccdb52e8346d0f2dc8285d1e5f63cd9a36b5d15d1fa9907b07ae70f1d5c288f0d3780fba070f82bc1a90eba4f7d77c1f0a7e00ed9ccc0fbfda05e4162ec86aca9d4b4163167ca97fa35d5a1f601520e70a5cb6c83c98293e1e0932f572a1f629272f771db44e0fe7452557a3f2770c97bcb5b1f3baf4c06b89378b68154a0aa9034c39889060a04e4738a4d59b1330922d70d0e764ea94989e75ff6268daef0e5a13a3c7fa0541040280357b31d39adb8756fed15ca5e4282fd7b7662bd6b3895200ec2a20c1e4578118f439c9b022c18fd777ceafb908d21eae1faf289e4e70d42000922d420fec3c3c29c9ddb80ab4d3b36477e0a203ab40919bd463548697fc1e5bead71199a50466f5760806fb2a1868fc9321e4b6e93e6f4f7c40322d9b76d33d68b35029738ab1176ceb3b98818126ec172ec4877956c2ce84e9a643a4f100f9e9cd1cbd141373fc4d0b77bfe4c5713c9059a76b6f90c1462736db4e50a5a5dd99e1c4147f9622a5da5eb2154e54ad0f1ad4b44e4b3c4955fc8baf49af8b3f96c1d4baf7dabb1ddf92d4ddbffbee159ac493f89e2753dd687424a7e85d2f17cb306d6936154e1da6228f57f82994c21d0cd12e0db088b2218ee406c93149332339c94e0025dbe1a7cf35c440af6cf7184752a915531b65052db89381af2837ab8ffbd579ee88493b57e9d1e96d197ee1bed733971a3982e1ebabf53c0a7a15cb8036be37ccb078fed3a8da3c8e9eef4e2976e75d02782b14a2dc3874c6031d00267d77cfaeb370e66cbea00bdab1bed7b5a52bd034f3b1b944c855aa2e224a841cae763cd19cd34a58ba9185edf4c6f001157440bdbcec4a7aec2d58cc670923771400c7c24244c0e4b056af28be271d2d571fc37f9610bcccdb0574ae6b12a5918192d6c6f48e70d0f9927d8eb9dec2c3df6b07622e71b7f52a8dfa30c390cfce0b3bf7339ad5d14fb42697585721b697f68c8edfc87fdbd987826f826b2902c0fc98ea0211dc9114b0bbca4792a7012e34817112fa54110c32a43c1b1e6c343d44ddc3be9ce8cf89dee9ec1986db7a79bac0d945f22bf6dfab1cdebc94bd676eb98b3e2208931aaba7d917c0546b809d1dd5b23e0dd5df681bdf4f59299a797f2d0fb3430db414a32709b538c985f77ba41ff3687193cb05fc3f91278b332702d0d5fbe41028a579d876e5f97491c3598cc37681d56551d2b33dd7d451a702c52231dd88217c1b6fb6d037b8ad34f0c07c517cdc15cca36b26777b5ed44689a151693147944d5a85796f5b6e147c2b39d397158afc90eb98b96bee9267af6cae9695a91ceddefe8792665a343874bf00b24fb626dfe86c3dee9c94d3aa0bd0459e43be34299b8855f479a1e6dd69a06f2f9971c0fb6bb9f65f6c953b5e57979d62e4c4b4e58e7515f6e14377349fd5118a0eacbfc61efd2f36870571bea7e45e10bc33694fd69aa1c01bf2152331dd69d95c4b6ca09f44847c7d16f22a2e4a98c4a282c1c7dbc777b75662e7105eacc85eaa8152faf6f787f947b2b0a2408723799e1331f1c28fcaaaa16f197a73d364ef6ab13a1a4676b0665de7c409c2166a24dea153c024b5d3db9cb4b111b39864432a560ce5ed0d1c5a6be7075796dfae652d674f4490fd691c60ffab02825b4bd18963ddd1fdca9f72a69af55c3ea9f6291cd1e45a56bb3a410b2671cc3688d0e7e2b0224c2a6183d6057a7f24064584b6625561a3f5b9b92f4482c50b95a848f37596aaae8df9ea919acc7ab6ee185359045ac4847a4fbd6ac3fc9c98eea52a67c5cb39db23ef0189a011954bbc8235a04eb4ea48fba11cada4c1e7984788a498516211bdf1460b0d8d6c4c64da4e4c2b858c36cbbe647d4c73037b375dcc66009d85f1ac5904caef994d964efcc289754b8e67bd254d428629b4e1f34720c7e14b55e1ad58f2a15fe8476ce769a06e3180c5188ae5afa577dec4f60d35fb23ee9e34629fd626439be9bf9fb3937f5846d07209076826d683aa5b32f9468f5c18fda8287e9b550f70913917d674b125819a61edd20799c09722366c8fb06f5f62bb9867121b564b2c56ec5e10974299a762f304110a6ac1cf632dcc54061977c3cf86ce730a48ca930a79d344560db608b2ee0d086e092bc6ca29187a7fbf4ab935ac3f57b2c214433aeb301c2ad92b2b1d3c33da92b74d06ebfc4bcda8e74dd627ebbf52c0e7eaf76b86c3918f81ca18204a996b36ff49886d1cf2fc6c81a831492972e9260ea21cb13aa13038a3c24655949eac25dfa3e4bffe826bac3ca474aaa0e0e1b94f86223296a892838f11c409d4249da7f652e5bba82956791cccb79ca11135eab2d7d403b18d97ecedf9dc09e284702e5dbc64fc84ad49ae16dc0c4617ce722291ab539238de1a1adf0bb61b5e2061b320e69fbb0f83c2c14bd26b296f10e41fbd33e526fd26d0469727cb2af53a5f364d1b0077fa3e3f0a88ef7c69bf09fb03a5bf2b0696302bff49d7299268712ccfb81fa59447e00a8328c3069865182a1bd4b3c82d05caa0d0002992de568ea20b63f7c6b30b91343a0147b80d4a778d243cfa229035e3722166df0b074a48e6554d8bddae899469f945a1ba4a9e4abe785ce034770cc9b3be9f596702bd5e191862c756c797e4e236fbafc90b6f6ea4505285976ebcf778f09a1046f9da9190a71f71b4daaa24e80de164684875169108a2a963bf37920494520e677225be85c84fed9c9467e494511b9e69523a6f6fd8f924d2c25fd1444f13edcc562435fa2ebe933b56135aa23322e6e9dca165a1abf5a6f32f07b498c522b40353cbc07edd84307746580eba38b3c678da72f1b231b54081845754497115d5f54b59961c9217607a3750dbe6aee42e8cd93b2f1db7d7cdb2063e74edd20da84c9e77d441dcddd27572050d0167f52bcc48b7fbe0f54e0b8d0f8271ad0a58ac2b5501bbce1d8007d27b72aa1049473583b8b3027252b7fa7a3914f92dbc20164acf9f53278a1ce39ca878ede0b37b5541332caceab97210a51349e0aa25e3816ea1d8d6d201dd40d9147744ba55e9ecb836ebb3b82978829847652e6d4bc171188fe1c37048a9ddda25340e0969f8ffec8008813d8fb09276dc01f892cc428ab6f79bbe0f6ec09b0afb0d86c00fb5b687cdaf68f41ebe687ce5e431d5f4be42ae8f2bdf414ac952ca190b62d8bee1a320223ec53009d6671b0b0f44577eb66980de338c57a8392299b52024725bd8dad53cf0dd3bc192921bb0919ac29b7d276f2f224debe677282aaf93469aa3da8261b4c6a511760f8ec1d174621137baac758fbc8fc65245c16cce2751f255419573197e2294c595dd60f4942ebef62e114b6ee1789ca31e7265a9066682940a7079734c38f83c4378397856584d9ce24bac93438c11479c505ddde65bed9753cd1557d554bdf0cbd910bfa80dfeb38297d87cd9bdb6e68ab839f4cba30ecdc5249c2dd08f13cf8ca90cf41b81ac19aa3220f8fed2f180bea5eab1d3bb7913ca585ac9669b1aa9aa1593eb139b690db3189bba6e0dd20f13dafd05f34c9bf1b64559e74351654d7914cb70614d3800cbf2845ade705c9b801ef5facc9d77d1cba1f6be077358abaafca728e4a769c0a563582982fc2500e42541c02047686496dcab912793a55d8957075c9403de0afabf8acd9381c29f29b49733b893cb2655b4982475e62189e1a80f793b70f03c20f0a048a3c4087c87747502287418492ee5aaf73ad66595bed9c69356cdc92154d16d8d5f846d644d4bd1a296ba0ec80ed83ba1df23e7097209d7fd1c2f9a987842a8c38b0f9b5c4999d58390de469d92c2d7334cfce7ad7b335c4cc17c7636ddfe796f29fba2fc2dc67f75236b986a05ccafd57a9ed66ae23592dcd6426031a3e2840594f21613c2f0aace80272bfbef33812f17022d83ff51522f0ef1323d29495c543baea9addffe56ac9bacaeb2dd1437b4cfcd39c320f3409942cb9db156d51b8ffd2ca33324f49ab8ea326761ad9624f45632e0d541dd0fdd0377f586294e87c7185cdec6353fa02cd788b12c9274d6dc54fb221cae8ca2d9aee1856de1a869f1c4ebf9ebaed9476dd96669c92eebc70dbe90437d9fe041d78c505df5f67bce49690572a61c044b12cc7369c52f2ec9fe0a24267d12cf720905575cccd4c4a554f22cd0e40540b3cccaa14583aed37f13c84caedebb6ebd29c63e29d277e9bb2ae8a3a4b8cd09e935ffdb16aff795a4bfea1c8b60615d3018db20e348909ccb9da156c91791947e59f90794b9b751d35b0d32917fadd1bfe8d4290fb016ad8ea65a206e081011e1bb89c2d27d192388b52a9ff2f8a2a026d9db63b968dbb86f13b8fcbb7bb7637b54db7a509b7ac2ba77ff0f696926029606647b12dc7361df3ffde7bad51d595d7b9d48bbd57fb277fcb72c7bc6325ab953f6072c1f46b02c3c5f5538d0f766f7f6cd06a6fffd3131e4d9abdb3fa54323a024c5318eb139a88195dbbfc1a7bdf67167aa57abd672c4a90b8dbf03ca97c57113af30fab6a89ca9919b67030ec62089be05263183fcc5f92de4a5ada3daf6ce95f9fd8ae91b49099f58c5cb23b3186621febbd648b853efd69f73e5b1521894205a50fe9505aba5b1011b3119a816a93f74d9e70257d0e10fd0871db8e759b5b85a42923847e08eba04def1619709234534bb0dc067c88f547cb6c11a6176b4632f60886bf54b4da2b05683a47a1000ad033b5f4faf6042d71907d9c0a4619a7af624969d1bce672334121a4e03e063b23941cb04ad5efc2938bbc51dae0f06bd40639e3276346fdf0c502eb7f1c522b50c2186128972632617b10372259e1a83af46682340237ecce4a2655bb850e03759a41a9a72fc2f0c66df0b54ba820a2bd10f1212598ed0c2792545693b16c729263424415131b5ed640acdda25e3198521ac761d434152a634f5392616e3a029b5952c8f652db1a2741817ad3dc7a550c755090eb367262dc7e434c4dd849bc424b86d219412dad571c1a89d7902deaa7063b1022dfdd33fc0ccd531e76efbdd512277a2dc2cce227a5286447178a9a3c2c28ac94b2915208d1998021ac291abe9b759c354dc2a26b38839605a1c300ce4d8677ddc6b24f37722b0bdc5d93760f0fe7e09e41e48272f3c4ac202e68dcdbd83a615a132ac81d8e033207c3d57e90a590ea55c8a769060e3213d182eb587b3dab03a5689ef20ca45911d56529b4aa4abf70c6ca7db63cba69431325c22fda825a567bae95ce85792715fd78200156c308708fa08df62e2097cd23e875e7879f3e41678fb138aee87ddb7bb5c1259049aad04bc0c79905af65c297411c5e52cfb1ca4590259c1e5560bf245cbf2b5c61f8eb0ddb2087881519e6f3699a9a00b8db3e414fdb7c71f7701895e0a4483723a1e48d28840a96405905bc5452cd7b3e9b9c5cb26d6b0ab056fa298d62837787dec1c00203169691e90a303584492cd9c598814d08fdad9f1501f9d26fad588f68381e8dc21038bb618d8861a078e8040dd556ed7901b7ef500d78bab043c56120c3f5e8395c9bbad9e7974373a06ff44771c3dc76b32e905f58049c2ebb847e179161593a68e8aa4edef05af33a367be68e5de4c9c1d147718b72c9f873b4814512ef10c5768aa11b63c78326de7ee10d9c5cb7019d5b135f72800217d1bf15ee6bb8d01da0b391ec8acdbce83ea2f0de60e4f8fe13fb58a970d3e27f4071ee7d53d49366a970b8ded2afec5a3e86d26f7cce27a5223ffa75f0c0e765ca7690c4faae08dd59ee4f2a31aa828043d824b9681bcadc341282427138fbce1f52a1c719fa8b08a9901573b30c56875a744b6b634c4023dd32556a887ee5e68801e915bb76a258583462f72b2e9b48634f05eff76e1715e671db34f9a10993042659022f1a70c7742bb8a21d50c79308475e58c03851d42a10d078af0d40e16fc06304987b2baf5dd9c5a5c63e5da5c33ac29361dbf2b06ba8c28ea2c0607b88c9ae6d3858d5c21aab201d84a2e30853d5f97e0b057a0adbbaa2393fe215aa97fd2c0133fce86d394066f16705a15e0dd7b4d43d0ee391c11ff0ab0960d7c081f2ae3dff96fb2b619ac89ec3dbb275e559d5367b1503a038f25c04979458afb87dbce0656ae38b06e997271d1bb2117f745acf9f937b6b5daa7ed4b4b2b12c9cb909022f0cc9ba117e8f12d1702e25203a71266f21dc3d0fe46f7e92df07bc5caa6aa07f1020a80f5551bf97e9657055fb3358089c8a7b523be64e6475fbd800d7999aa56e341f884611283dc725ed9356f12b32fdba55d4225272a0fb4a2fa32465d8eac0f2f86c6876b742701ecdfb4118451a340efdf47429ae5f9acba6360773dc3cfe419cb6efc9b7d4166241dc34ba71536960db506046f91388cc1b0cccea269ca6e631c9e6ac9ab6ddfe49aeddca59ce9f3f11e827a67aa2d0cbe34d3f201e691cc045e36d1ec806e09ded43b4734304d72c62e8ea5c287c1d2060bc9f72f8db8fce953ea93d3cdf96ef7360b50b3892f7d006329081e0a33bf1fa30a5b36c3a7285747565c267fc53af720acc4d1f4c9a947bbfb640555ebdc1221c71a4a1aa03280b3eb60a4e01385bc4e170307d9de131cccb6c230f5a32b319ce1326be9b061f9d37fe8c2ddd6af85b61131342cb265d3590f8ba3ca12214970d99a041e31c9751c7d56e254de95793f37bf50cf3b1b2531b965329bdf00a46f35f3b249d23cb5cfb0bdad3566ce77c34aee5481588970f76392a540d1ec3357973683e1e24ca288f1c97bca051719d1d7e08dd803c882b967bab690ed3997fae96e4a7c4c2eefeebba0ca8710203308bea41a4cd4e6feb2b28b437b4f73b3b318467245cc8f046818c3cf173ea310cee10fb4d21e9273bb0292df3f834ae939e92e8991bb838c902e5141a75163755369b0209a8737ee0d636a17c97b76e6075a780e48ffcfe81d1615a4f7a0f388f1508776800e0aa4730253fd0fb7506a49ee583c30f3cd599118ac129c03782408d4bd494a113163d7ef24f620973ecc3a13931ea65b4d81af38cd58d0f51e8548996538616778d5a6f2bf6277d572ff8388801fd434e05d759e33d40d8423fb4569180753fd9ae17077c81b9de2af43de97f6cbafd4aa0bd7a1fffae6ca369b74fee769edb1f6ce6bb4aa9cc329f1f4b62c57913a364bed2bcc91f10a321d491cf8b98676cf1c61e8961ab254c8cb58463ed7acb423537b94d48792aca03408bed1ce755c008c5030ebc5a0abbfe8ae61c1514e00efa474d1075cdc98240cb806f297135658a8785eb729a3701c6f9a10eb920c52e69bb3f7a7bf987f43b992b0e24ee7bc6930837ba7a182473461eb359ceba0ff303118471240fa4860437ab9529ee1831c9f949f7f4d6f16fa2a8f993a85d4b55c0754e718321c2f11c50e2c735bb3b6ad8504aae704df1ab4b4bac3108fb5aa7ac369c316626f12ab24a72e383b6b1c52f3847dc2fd2ab77171ba859275737e8e48f3c88f5ee5f94765bb3a2cad6e55f59e1abebdbc855a8887e401115041141d08e131d092477482013043bce7fefd0b5aa6ad5dee7d4defda039c798236f33674ef25a2dc1c3348ed74a0f0173f76a6962c262f02f1565e0c7a6c1fe4aabc83eed8d515416fdf6c86af26459e69ef3a733936726c7dad6c49e6533a9b4fbed783ca5d575cd5f6551c04c3367255a1f94cc4d6c2ba136c3fd48f1cb4c7ac8b5ea9dae45cf0cc58e2a55637fcfc8a18e10eece55b029ef74799293ad952e79a47355b089c3e3102f39991ab52e59dee0823e9dc685786bea823ca4ad2683413541d83296ae095edb73eec99036901e1c0175aa3ceafe554a0ca0175d6294dc1e2ca7acbdc4ed32d3861eca708f1628bf2ef8565e0538110ef0ba3b9ca6bc11d944b84bb21bd74d15d315da96a5926a8589454f36060f160f83a83b67be7e40696fceb37ec32242e55900f19c6562add159936658bf2694854ade8842e5c2ddfab863a8161791b944c991592acd82e8e3f958577435de1a3ee03d5a768173bdf2fdadeb16277aa383355d5b253d91686b51ab34c9e7cbf35885d454da4d5f5ef83b639485c26e2b211feffc5ca2a6dd78bade6eed4d09a3ade918f4430f567c809c05729db66279ce5ce15b31b541c18dfd844e4dc75fb56664f9f94513bd1debfb15692cc2790cbdf682a9d8eacc72bad3d454ac189e6d6ab670138514b49b3797c35e754fa33eea40bcd39ba56152695783f088ca20b0cd0d9ddbc1646c073c57e5c9a130594786b762e7315f71105fce6a282ed8554533a276ba58d970da3db6e4e21e8eb9dfee782471391d6fee5bb7a5a23cba9974d3a338ead7c53d50cb4b22d734d32e35b0b9d292a1dd34ed21a8c891a448c841151e18654f179c54d3fe5a3ad66ec23bdcfd1af41bd2b966335ad1d4ab090f92b3bcdde28b26f1e490ee169141b411d64e5045498a327f13179ded5e7daa122e487546c9ee1b077be6351f20160feb861c1e02a5ea779db657941a10b57978725a0996b0b7abc219466b3a33eda6419bab0b9c9dae0ee69a56194e844b71bf0db571b2c296ea9248bbd7e59d5d84019b97f7cbc506f44d99bb0bc06534bd9bbc13e136cedce898647dd896c1f972547c667d807b1d60c9505a74506e67c966c5dd24983ad9df65006249252268246995d3d49a3a2df76995cce356a08b32da2e6fa8dc5fcbb3d57581393c326f8a36fea20cc0d82e736ce001e6c2b2d9e2aef0f7017b4dac83ba3673867e6c843eb485e3b1bed31d96cf92710707b09dbb79d337d2662b4d9d5f538e22229493f0ee1fa9245df2fcded46b6bdf1cc4c376b334b53bc389f77681effdc5da47ae3298d3952ef2b482957d39d65ca27a813adc7ae32273d6421441bc111f82bfd86d8e94b56f4e734665436fe0dd109e5bae05c2be464db0ed89b5551d9885c4f35d07a5da660b10e68e65a1ec3d0f78abfd69d3b4ac0e85f17258b301a3d1752b8aae1fde424a7f505d407785274141d6039709b6fe745a5b1d7fde72dd2382890df255d0660ddad8a63450b7dc7a38d346052e1dddf96b581b7c3632ec3644aabcd228f594fbae361055823a77b4c13c9b5c6f513c12ef36f59eb06b86c774b734c9514fae3bd0a71b3637f725bfb8e40f0f51c3c45b9d73e79d8b27e70b3a8f007fa0b83ed9f89b95880a78ca87ac34a8bdc05d8fd79b356aa70531894d5fe614afb4c78721d271d56a92c564c923dac7c72088f65b2e6654dcf6e7da2d1857ac1293511edc2d925b9b6d6ca32f88a6283a8d9713d1fcf376eb6ce4c8596e2f9142edb7abe5e9222b34cad8b46ecf998d2973c91ccc9cd673b2058516c05454b7aba8ae8284f27bb4ba2cf4189aa76d9fd11617570b269f3b466adbbab80e7b678fd16d88fbf5836ff479894bd61aa7ce908613e6e4d3c9dadaf141792c1573dcf1029017ddd0cdddebbc8f0ffa1d06b73aead3795aaf7578b8e30ce58184b735cd350d5e6b7ec94b5b257f1cf1f21e532e8f26d8969b1dac365d9d9b55b172a68c645d648c23accc4949abd57a87f65da86b78c771cbc7c5194cc9e96f3bfafa68d84db994053d73cc0a82bb622bd19ea96243e9db7923bbc626138ff520d2b5c958a31c4adb8b0857c2a54ca962f5880e1028420b2f3cefabfd6a3a9ffa01dd5dd1b9c97793bd31aab2cacb0b51b608e5caea60222b4995d8381c14fed88c3b47b934ec595bad1f613e79936d98e1b99b643f5ea35dcbecd4d6b01fe9551c4bb4f48d7e5e4ccb0733fa5aa17362392887834b74fd76ee3a2ab6d7cd0a5d2f93ff80e9a53b2da51cddb9bb76cde6574e0ff53cae809dd801381732b750b8134347eb76ce3ae542b7fd8c3f5ecd63b150fbb218f6bc85a06e72a1511e525754c7cee9a8f67432d8a575920fc3e574bbb8dd18293020b16c82809fca73edd5e3b51e4555d551475b868eac3beb5e05a73c2ec94eb1c8be10f85d26ae9560bbf4e31bb7dbee1a5bd7f481bb8fab7d40dcadd1487217dc5ce40d17aeb8ef56a7b3e459cab5580ac2225797ce638e3a26c58059499e0d7a9dd9af1af6ec205a1ca39ba233f0eadad2b0a813d8ac5d3a3699555f996178b144311717a778e7f353525e33973700736b26d6dbf71c2c2da71396ade5b21b2b278bbba15ef1e3da37ac2ace837052ea736ea864296bcb60386dea6b3e57d8d88da3b458a5dc1190f5a2b9f8667fa762498b1feccef2b6c783745ebbd5ddf2db78614f40365018b7025b02f3607437711533961bcb9b620cc8aa40174b17bb49dcefce6ad2edb83caf578fb49750028ffad243438e49572c3645668fe1ee78acb56174254d9e0beb1e02e79454240f778752de474ecf7a196aad9d742f99b6a6cebd7c984e385275d9d0cfb5ab5ad76815f736b909e720d95b77bf91c801d677dadb1ef6d81bd5e05cb3736d8c798a12d247cb79fc54b21dab307bb07bd451d49e5bb74d287b2829ad9cc7e298a2342b17fa11108e97b4f9220a2b4ea5a55d1a6e747910148fd8be76f7ddd00cf20b3870bb5b46a9795308dd9cecd639a8740a5d4726c1983c1691e49ace3067ebca278cb8f0f49b16046a7bb3a4f5515ea9621c8aed6d4d5767e03cd03465c69c1adbd69e8f8a3f8fa6b6843748a7f38c6bf3ea6c5ad5d957223e985a5f50c0b2995faaabaeedcfa2768bb3183d3cc484c783453c231ce076ef77b5df1e73a93daee682786204d5a69db6e53396b83e172d56606a211d25cce1381fc53a8f77fa6de505696b55797f14ed4a13157f574addfe0ee3210e9c412e5729244db5113bf1b2d399717f77ef4a2b082867307834dd70e653d797f143e2d78c7b5e37ee06a02638b71c2d389db3be658fba898454511c624a51b70c43f3aa76e2dd58d7740098e2940a825f098f53cee52770b2d6b917eb87c04e3dbff5182c01d3599a6372c63d65249cd5c131dad5b1cf226edd05d9d931ad239db822ef86f67c10d75a1bf4cca629b0bf97423092499b5799b14ca56a93969cd61cda211737eb5d1ca5a2accd832cd2c445823b4fe9b7eb6b42916cd1ee34d659116da98b613a0dec2a70b98214450383478ac7361d5068c8f2a16897eb54ea4d6b25d98c5eb4d5854d4530351e09e3dbbcdc5d37cd29da76ca818df04509e3a3963de4152eecf676cd8d780df552cd355a09726769cf6521de918b7143d1965830586147b21ee0e4c58c81b4f34d6ece91a032689d4ed2aaa0a9e2589401112048199c17eb43b81c9be3313ca3c2c88a2bb5e77cad5d385485bbdebc09054697a4aea49a9f8e60b5a0e7437f692d6d7fb1fa53ba3134ddb33b7f13bb35048fe8ee55a5a87bab88ba519bf33a8abcf114d4dd3ccef3f4eaa9685cee20bd6cf8401b62ee54ed2e3b8a5bda6eb61a32c95cef077bc017c40d26f6d9b3232e1f6ac0ec6d6964e874f158a59bee48f45350a32ecdaf9eaf3711c47dcadd168968db28ee839b605c6c134fa1179daccd6e7592ffd7ec7dd6800ed664f6edffceac22997d9bcdde6726a8e0d3faf7bffffd3e4b61079f5e25eb66df66948b6187a908d5c9d8d71375475d811b1042aa2ba8aef89faa1f67efb37dd5a08e5880a4b36fb32423691ffc11a28aea102a32f83f7556e7e0a7fa73baaef8800a0a67df6616080b90c0b717fb96e137f086092059f8166725c46ff7340bd3379055f88da0b7ac0ecb3e826f006348f0a724ab097a6b8a0476b3f79903ba04928ffdd908917fbc170390309d7dfbdfb33f66ff7a9f9d0928e1ec1be97af8096c0830aa67df6635226f598d09284b18bd053d790303c84a1094f02dabdf823e2ba3b71084299cbdcfb6487daef139eec7b6fecf6bcd7f24e839cb47fc5ede2fd1ab40570480404c7d6cea5fef3305362f55d0c7199abdcf8289403c7b9f85a86a3a8831159780c0af44f2c89a17ae09c86ad8516586c92701c797d54d0d413f0c0a7c8cf801c2ac495ff1fcc4d1576784c14f00c35f61c4f03c2dfd85a0b29ac0ae062505a33be822fc675959660dc9c29f4c5a812fe847f70ed4514fb2f23fb8701f9012fe745411ff133cfb7d4121f7057cdd004e01fd0b6278e117ccd3cc17fca72949f9254e23bf907e453fd75a8110fd494a3545f6cc44588728caeae48b49015cd35f71003014b85f98ac06ddf49549e1d7d1a8fc99be5f7003ab27ec3ad43d171257cfa4f89286090afa380625a25ea5e1fd7729fa3be7df77ff1a9506ff5eda14c94768fe56436112bd429c029c7e3654d885ecf3f87eccf8bc49a04cbe5261d37f85714530eac857aa86847420845f39845fa1fc4a35a82cbfe23f77e9605cc2909419f985c6599d94302eb324fd65563ce1109425054718c27af84faebe7e65d00f9e404c4af4cbeefa1a8318a61044af737b95930c5131fe6833f479b93eba55cfdafed1504196fc3409fe6e7f5eac2aabe06743557d49b206bc82f622da1e1118355d5693679d9cbdcf6a483efea99490e68bf9fafb1edd1fe4f7e57f72cf12d674e855be9eb8ef9e9ed76923fc0ad0eb8bf75afbb3a19e55f7137f46fd6525706c7e18149e6a029ef1ebfa9a7c6ce7d3a2c2047d413f820908aa5e35eb2f9ecfc0fd85c7d373919f09854917a2d74962d26575f2724d75f8d9fc1cfef37c67efb3cf75f57516a2e88b45f524a6855fb1f882cfe39ebdcf065847a8a31254823af90375093552df8b7d0ac214308b7fa66a5039d1ec82ff1bf5ab79deae7faafb5ee37e27eebb017eff70fc46971651fc7bc55fbf19bf11ffcd8e9f0918d5f8f9ab20c620f96fc3fd92e249ffba427fab6b3a344e7f2364a8b40161f11b5516d5e037ee0ef5fff5a0f0843f4be27ff23e6f228561d877900ab228ebfaff1acd979474a0c631eaaadf89bee7f073c07fa2ab9fe3fdeb7de6404c7ebcb8eabe2c3fa81fcfac0fca40d17391cf97f03f7cb91a20abbf3f06ff7fdec75b64a0e89fa9a904fd51a1e8d5e9023b9cbdde9af41fb4f07c9eff3f000000ffff010000ffffed6d1a9d4b215300`))) diff --git a/boot/prom_entry.go b/boot/prom_entry.go new file mode 100644 index 0000000..7c73691 --- /dev/null +++ b/boot/prom_entry.go @@ -0,0 +1,249 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "context" + "encoding/json" + "github.com/prometheus/client_golang/prometheus" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-prom" + "strings" +) + +var ( + // Why 1608? It is the year of first telescope was invented + defaultPort = uint64(1608) + defaultPath = "/metrics" +) + +const ( + // PromEntryType default entry type + PromEntryType = "PromEntry" + // PromEntryNameDefault default entry name + PromEntryNameDefault = "PromDefault" + // PromEntryDescription default entry description + PromEntryDescription = "Internal RK entry which implements prometheus client with mux framework." +) + +// BootConfigProm Boot config which is for prom entry. +// +// 1: Path: PromEntry path, /metrics is default value. +// 2: Enabled: Enable prom entry. +// 3: Pusher.Enabled: Enable pushgateway pusher. +// 4: Pusher.IntervalMs: Interval of pushing metrics to remote pushgateway in milliseconds. +// 5: Pusher.JobName: Job name would be attached as label while pushing to remote pushgateway. +// 6: Pusher.RemoteAddress: Pushgateway address, could be form of http://x.x.x.x or x.x.x.x +// 7: Pusher.BasicAuth: Basic auth used to interact with remote pushgateway. +// 8: Pusher.Cert.Ref: Reference of rkentry.CertEntry. +// 9: Cert.Ref: Reference of rkentry.CertEntry. +type BootConfigProm struct { + Path string `yaml:"path" json:"path"` + Enabled bool `yaml:"enabled" json:"enabled"` + Pusher struct { + Enabled bool `yaml:"enabled" json:"enabled"` + IntervalMs int64 `yaml:"IntervalMs" json:"IntervalMs"` + JobName string `yaml:"jobName" json:"jobName"` + RemoteAddress string `yaml:"remoteAddress" json:"remoteAddress"` + BasicAuth string `yaml:"basicAuth" json:"basicAuth"` + Cert struct { + Ref string `yaml:"ref" json:"ref"` + } `yaml:"cert" json:"cert"` + } `yaml:"pusher" json:"pusher"` +} + +// PromEntry Prometheus entry which implements rkentry.Entry. +// +// 1: Pusher Periodic pushGateway pusher +// 2: ZapLoggerEntry rkentry.ZapLoggerEntry +// 3: EventLoggerEntry rkentry.EventLoggerEntry +// 4: Port Exposed port by prom entry +// 5: Path Exposed path by prom entry +// 6: Registry Prometheus registry +// 7: Registerer Prometheus registerer +// 8: Gatherer Prometheus gatherer +type PromEntry struct { + Pusher *rkprom.PushGatewayPusher `json:"-" yaml:"-"` + EntryName string `json:"entryName" yaml:"entryName"` + EntryType string `json:"entryType" yaml:"entryType"` + EntryDescription string `json:"-" yaml:"-"` + ZapLoggerEntry *rkentry.ZapLoggerEntry `json:"-" yaml:"-"` + EventLoggerEntry *rkentry.EventLoggerEntry `json:"-" yaml:"-"` + Port uint64 `json:"port" yaml:"port"` + Path string `json:"path" yaml:"path"` + Registry *prometheus.Registry `json:"-" yaml:"-"` + Registerer prometheus.Registerer `json:"-" yaml:"-"` + Gatherer prometheus.Gatherer `json:"-" yaml:"-"` +} + +// PromEntryOption Prom entry option used while initializing prom entry via code +type PromEntryOption func(*PromEntry) + +// WithNameProm Name of prom entry +func WithNameProm(name string) PromEntryOption { + return func(entry *PromEntry) { + entry.EntryName = name + } +} + +// WithPortProm Port of prom entry +func WithPortProm(port uint64) PromEntryOption { + return func(entry *PromEntry) { + entry.Port = port + } +} + +// WithPathProm Path of prom entry +func WithPathProm(path string) PromEntryOption { + return func(entry *PromEntry) { + entry.Path = path + } +} + +// WithZapLoggerEntryProm rkentry.ZapLoggerEntry of prom entry +func WithZapLoggerEntryProm(zapLoggerEntry *rkentry.ZapLoggerEntry) PromEntryOption { + return func(entry *PromEntry) { + entry.ZapLoggerEntry = zapLoggerEntry + } +} + +// WithEventLoggerEntryProm rkentry.EventLoggerEntry of prom entry +func WithEventLoggerEntryProm(eventLoggerEntry *rkentry.EventLoggerEntry) PromEntryOption { + return func(entry *PromEntry) { + entry.EventLoggerEntry = eventLoggerEntry + } +} + +// WithPusherProm PushGateway of prom entry +func WithPusherProm(pusher *rkprom.PushGatewayPusher) PromEntryOption { + return func(entry *PromEntry) { + entry.Pusher = pusher + } +} + +// WithPromRegistryProm Provide a new prometheus registry +func WithPromRegistryProm(registry *prometheus.Registry) PromEntryOption { + return func(entry *PromEntry) { + if registry != nil { + entry.Registry = registry + } + } +} + +// NewPromEntry Create a prom entry with options and add prom entry to rk_ctx.GlobalAppCtx +func NewPromEntry(opts ...PromEntryOption) *PromEntry { + entry := &PromEntry{ + Port: defaultPort, + Path: defaultPath, + EventLoggerEntry: rkentry.GlobalAppCtx.GetEventLoggerEntryDefault(), + ZapLoggerEntry: rkentry.GlobalAppCtx.GetZapLoggerEntryDefault(), + EntryName: PromEntryNameDefault, + EntryType: PromEntryType, + EntryDescription: PromEntryDescription, + Registerer: prometheus.DefaultRegisterer, + Gatherer: prometheus.DefaultGatherer, + } + + for i := range opts { + opts[i](entry) + } + + // Trim space by default + entry.Path = strings.TrimSpace(entry.Path) + + if len(entry.Path) < 1 { + // Invalid path, use default one + entry.Path = defaultPath + } + + if !strings.HasPrefix(entry.Path, "/") { + entry.Path = "/" + entry.Path + } + + if entry.ZapLoggerEntry == nil { + entry.ZapLoggerEntry = rkentry.GlobalAppCtx.GetZapLoggerEntryDefault() + } + + if entry.EventLoggerEntry == nil { + entry.EventLoggerEntry = rkentry.GlobalAppCtx.GetEventLoggerEntryDefault() + } + + if entry.Registry != nil { + entry.Registerer = entry.Registry + entry.Gatherer = entry.Registry + } + + return entry +} + +// Bootstrap Start prometheus client +func (entry *PromEntry) Bootstrap(ctx context.Context) { + // start pusher + if entry.Pusher != nil { + entry.Pusher.Start() + } +} + +// Interrupt Shutdown prometheus client +func (entry *PromEntry) Interrupt(ctx context.Context) { + if entry.Pusher != nil { + entry.Pusher.Stop() + } +} + +// GetName Return name of prom entry +func (entry *PromEntry) GetName() string { + return entry.EntryName +} + +// GetType Return type of prom entry +func (entry *PromEntry) GetType() string { + return entry.EntryType +} + +// GetDescription Get description of entry +func (entry *PromEntry) GetDescription() string { + return entry.EntryDescription +} + +// String Stringfy prom entry +func (entry *PromEntry) String() string { + bytes, _ := json.Marshal(entry) + return string(bytes) +} + +// MarshalJSON Marshal entry +func (entry *PromEntry) MarshalJSON() ([]byte, error) { + m := map[string]interface{}{ + "entryName": entry.EntryName, + "entryType": entry.EntryType, + "entryDescription": entry.EntryDescription, + "pushGateWayPusher": entry.Pusher, + "eventLoggerEntry": entry.EventLoggerEntry.GetName(), + "zapLoggerEntry": entry.ZapLoggerEntry.GetName(), + "port": entry.Port, + "path": entry.Path, + } + + return json.Marshal(&m) +} + +// UnmarshalJSON Unmarshal entry +func (entry *PromEntry) UnmarshalJSON(b []byte) error { + return nil +} + +// RegisterCollectors Register collectors in default registry +func (entry *PromEntry) RegisterCollectors(collectors ...prometheus.Collector) error { + var err error + for i := range collectors { + if innerErr := entry.Registerer.Register(collectors[i]); innerErr != nil { + err = innerErr + } + } + + return err +} diff --git a/boot/prom_entry_test.go b/boot/prom_entry_test.go new file mode 100644 index 0000000..a42b3d3 --- /dev/null +++ b/boot/prom_entry_test.go @@ -0,0 +1,161 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "context" + "github.com/prometheus/client_golang/prometheus" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-prom" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestWithNameProm_HappyCase(t *testing.T) { + entry := NewPromEntry(WithNameProm("ut-name")) + + assert.Equal(t, "ut-name", entry.EntryName) + assert.NotEmpty(t, entry.GetDescription()) +} + +func TestPromEntry_UnmarshalJSON(t *testing.T) { + entry := NewPromEntry() + assert.Nil(t, entry.UnmarshalJSON(nil)) +} + +func TestPromEntry_RegisterCollectors(t *testing.T) { + entry := NewPromEntry(WithPromRegistryProm(prometheus.NewRegistry())) + + assert.Nil(t, entry.RegisterCollectors(prometheus.NewGoCollector())) + assert.NotNil(t, entry.RegisterCollectors(prometheus.NewGoCollector())) +} + +func TestPromEntry_Bootstrap(t *testing.T) { + defer assertNotPanic(t) + + entry := NewPromEntry() + + entry.Bootstrap(context.TODO()) +} + +func TestPromEntry_Interrupt(t *testing.T) { + defer assertNotPanic(t) + + entry := NewPromEntry() + + entry.Bootstrap(context.TODO()) + entry.Interrupt(context.TODO()) +} + +func TestWithPortProm_HappyCase(t *testing.T) { + entry := NewPromEntry(WithPortProm(1949)) + + assert.Equal(t, uint64(1949), entry.Port) +} + +func TestWithPathProm_HappyCase(t *testing.T) { + entry := NewPromEntry(WithPathProm("ut")) + + assert.Equal(t, "/ut", entry.Path) +} + +func TestWithZapLoggerEntryProm_HappyCase(t *testing.T) { + loggerEntry := rkentry.NoopZapLoggerEntry() + + entry := NewPromEntry(WithZapLoggerEntryProm(loggerEntry)) + + assert.Equal(t, loggerEntry, entry.ZapLoggerEntry) +} + +func TestWithEventLoggerEntryProm_HappyCase(t *testing.T) { + loggerEntry := rkentry.NoopEventLoggerEntry() + + entry := NewPromEntry(WithEventLoggerEntryProm(loggerEntry)) + + assert.Equal(t, loggerEntry, entry.EventLoggerEntry) +} + +func TestWithPusherProm_HappyCase(t *testing.T) { + pusher, _ := rkprom.NewPushGatewayPusher() + + entry := NewPromEntry(WithPusherProm(pusher)) + + assert.Equal(t, pusher, entry.Pusher) +} + +func TestWithPromRegistryProm_HappyCase(t *testing.T) { + registry := prometheus.NewRegistry() + + entry := NewPromEntry(WithPromRegistryProm(registry)) + + assert.Equal(t, registry, entry.Registry) +} + +func TestNewPromEntry_HappyCase(t *testing.T) { + port := uint64(1949) + path := "/ut" + zapLoggerEntry := rkentry.NoopZapLoggerEntry() + eventLoggerEntry := rkentry.NoopEventLoggerEntry() + pusher, _ := rkprom.NewPushGatewayPusher() + registry := prometheus.NewRegistry() + + entry := NewPromEntry( + WithPortProm(port), + WithPathProm(path), + WithZapLoggerEntryProm(zapLoggerEntry), + WithEventLoggerEntryProm(eventLoggerEntry), + WithPusherProm(pusher), + WithPromRegistryProm(registry)) + + assert.Equal(t, port, entry.Port) + assert.Equal(t, path, entry.Path) + assert.Equal(t, zapLoggerEntry, entry.ZapLoggerEntry) + assert.Equal(t, eventLoggerEntry, entry.EventLoggerEntry) + assert.Equal(t, pusher, entry.Pusher) + assert.Equal(t, registry, entry.Registry) +} + +func TestPromEntry_GetName_HappyCase(t *testing.T) { + entry := NewPromEntry() + assert.Equal(t, PromEntryNameDefault, entry.GetName()) +} + +func TestPromEntry_GetType_HappyCase(t *testing.T) { + entry := NewPromEntry() + assert.Equal(t, PromEntryType, entry.GetType()) +} + +func TestPromEntry_String_HappyCase(t *testing.T) { + entry := NewPromEntry() + + str := entry.String() + + assert.Contains(t, str, "entryName") + assert.Contains(t, str, "entryType") + assert.Contains(t, str, "entryDescription") + assert.Contains(t, str, "path") + assert.Contains(t, str, "port") +} + +func assertNotPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, false) + } else { + // This should never be called in case of a bug + assert.True(t, true) + } +} + +func assertPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, true) + } else { + // This should never be called in case of a bug + assert.True(t, false) + } +} diff --git a/boot/static_file_handler_entry.go b/boot/static_file_handler_entry.go new file mode 100644 index 0000000..7b4d0f3 --- /dev/null +++ b/boot/static_file_handler_entry.go @@ -0,0 +1,366 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "bytes" + "context" + "encoding/base64" + "encoding/json" + "fmt" + "github.com/rookie-ninja/rk-common/common" + rkerror "github.com/rookie-ninja/rk-common/error" + "github.com/rookie-ninja/rk-entry/entry" + rkmuxinter "github.com/rookie-ninja/rk-mux/interceptor" + "go.uber.org/zap" + "html/template" + "io/fs" + "math" + "net/http" + "path" + "path/filepath" + "sort" + "strings" + "time" +) + +const ( + // StaticFileHandlerEntryType type of entry + StaticFileHandlerEntryType = "StaticFileHandlerEntry" + // StaticFileHandlerEntryNameDefault name of entry + StaticFileHandlerEntryNameDefault = "StaticFileHandlerDefault" + // StaticFileHandlerEntryDescription description of entry + StaticFileHandlerEntryDescription = "Internal RK entry which implements static file handler Echo framework." +) + +var exToIcon = map[string]string{ + // folder + "folder": "folder.png", + // compressed file + "ar": "pkg.png", + "zip": "pkg.png", + "rar": "pkg.png", + "gz": "pkg.png", + "xz": "pkg.png", + "gz2": "pkg.png", + "tar": "pkg.png", + "dep": "pkg.png", + "rpm": "pkg.png", + // image file + "jpg": "image.png", + "jpeg": "image.png", + "png": "image.png", + "gif": "image.png", + "svg": "image.png", + // audio + "mp3": "audio.png", + "wav": "image.png", + "ogg": "image.png", + "flac": "image.png", + // pdf + "pdf": "pdf.png", + // docs + "xls": "doc.png", + "odt": "doc.png", + "ods": "doc.png", + "doc": "doc.png", + "docx": "doc.png", + "xlsx": "doc.png", + "ppt": "doc.png", + "txt": "doc.png", + // unknown + "unknown": "file.png", +} + +// BootConfigStaticHandler bootstrap config of StaticHandler. +type BootConfigStaticHandler struct { + Enabled bool `yaml:"enabled" json:"enabled"` + Path string `yaml:"path" json:"path"` + SourceType string `yaml:"sourceType" json:"sourceType"` + SourcePath string `yaml:"sourcePath" json:"sourcePath"` +} + +// StaticFileHandlerEntry Static file handler entry supports web UI for downloading static files. +type StaticFileHandlerEntry struct { + EntryName string `yaml:"entryName" json:"entryName"` + EntryType string `yaml:"entryType" json:"entryType"` + EntryDescription string `yaml:"-" json:"-"` + Path string `yaml:"path" json:"path"` + EventLoggerEntry *rkentry.EventLoggerEntry `json:"-" yaml:"-"` + ZapLoggerEntry *rkentry.ZapLoggerEntry `json:"-" yaml:"-"` + Fs http.FileSystem `yaml:"-" json:"-"` + Template *template.Template `json:"-" yaml:"-"` +} + +// StaticFileHandlerEntryOption StaticFileHandlerEntry option. +type StaticFileHandlerEntryOption func(*StaticFileHandlerEntry) + +// WithEventLoggerEntryCommonService Provide path. +func WithPathStatic(path string) StaticFileHandlerEntryOption { + return func(entry *StaticFileHandlerEntry) { + if len(path) > 0 { + entry.Path = path + } + } +} + +// WithEventLoggerEntryCommonService Provide rkentry.EventLoggerEntry. +func WithEventLoggerEntryStatic(eventLoggerEntry *rkentry.EventLoggerEntry) StaticFileHandlerEntryOption { + return func(entry *StaticFileHandlerEntry) { + entry.EventLoggerEntry = eventLoggerEntry + } +} + +// WithZapLoggerEntryCommonService Provide rkentry.ZapLoggerEntry. +func WithZapLoggerEntryStatic(zapLoggerEntry *rkentry.ZapLoggerEntry) StaticFileHandlerEntryOption { + return func(entry *StaticFileHandlerEntry) { + entry.ZapLoggerEntry = zapLoggerEntry + } +} + +// WithNameStatic Provide name. +func WithNameStatic(name string) StaticFileHandlerEntryOption { + return func(entry *StaticFileHandlerEntry) { + if len(name) > 0 { + entry.EntryName = name + } + } +} + +// WithFileSystemStatic Provide file system implementation. +func WithFileSystemStatic(fs http.FileSystem) StaticFileHandlerEntryOption { + return func(entry *StaticFileHandlerEntry) { + entry.Fs = fs + } +} + +// NewStaticFileHandlerEntry Create new static file handler entry with options. +func NewStaticFileHandlerEntry(opts ...StaticFileHandlerEntryOption) *StaticFileHandlerEntry { + entry := &StaticFileHandlerEntry{ + EntryName: StaticFileHandlerEntryNameDefault, + EntryType: StaticFileHandlerEntryType, + EntryDescription: StaticFileHandlerEntryDescription, + ZapLoggerEntry: rkentry.GlobalAppCtx.GetZapLoggerEntryDefault(), + EventLoggerEntry: rkentry.GlobalAppCtx.GetEventLoggerEntryDefault(), + Template: template.New("rk-static"), + Fs: http.Dir(""), + Path: "/rk/v1/static", + } + + for i := range opts { + opts[i](entry) + } + + if entry.ZapLoggerEntry == nil { + entry.ZapLoggerEntry = rkentry.GlobalAppCtx.GetZapLoggerEntryDefault() + } + + if entry.EventLoggerEntry == nil { + entry.EventLoggerEntry = rkentry.GlobalAppCtx.GetEventLoggerEntryDefault() + } + + // Deal with Path + // add "/" at start and end side if missing + if !strings.HasPrefix(entry.Path, "/") { + entry.Path = "/" + entry.Path + } + + if !strings.HasSuffix(entry.Path, "/") { + entry.Path = entry.Path + "/" + } + + if len(entry.EntryName) < 1 { + entry.EntryName = CommonServiceEntryNameDefault + } + + return entry +} + +// Bootstrap entry. +func (entry *StaticFileHandlerEntry) Bootstrap(ctx context.Context) { + // parse template + if _, err := entry.Template.Parse(string(readFileFromPkger("/assets/static/index.tmpl"))); err != nil { + rkcommon.ShutdownWithError(err) + } +} + +// Interrupt entry. +func (entry *StaticFileHandlerEntry) Interrupt(ctx context.Context) { + // Noop +} + +// GetName Get name of entry. +func (entry *StaticFileHandlerEntry) GetName() string { + return entry.EntryName +} + +// GetType Get entry type. +func (entry *StaticFileHandlerEntry) GetType() string { + return entry.EntryType +} + +// GetDescription Get description of entry. +func (entry *StaticFileHandlerEntry) GetDescription() string { + return entry.EntryDescription +} + +// String Stringfy entry. +func (entry *StaticFileHandlerEntry) String() string { + bytes, _ := json.Marshal(entry) + return string(bytes) +} + +// MarshalJSON Marshal entry. +func (entry *StaticFileHandlerEntry) MarshalJSON() ([]byte, error) { + m := map[string]interface{}{ + "entryName": entry.EntryName, + "entryType": entry.EntryType, + "entryDescription": entry.EntryDescription, + "path": entry.Path, + "zapLoggerEntry": entry.ZapLoggerEntry.GetName(), + "eventLoggerEntry": entry.EventLoggerEntry.GetName(), + } + + return json.Marshal(&m) +} + +// UnmarshalJSON Not supported. +func (entry *StaticFileHandlerEntry) UnmarshalJSON([]byte) error { + return nil +} + +// GetFileHandler handles requests sent from user. +func (entry *StaticFileHandlerEntry) GetFileHandler() http.HandlerFunc { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // Trim prefix with path user defined in order to get file path + p := strings.TrimSuffix(strings.TrimPrefix(r.URL.Path, entry.Path), "/") + if len(p) < 1 { + p = "/" + } + p = path.Join("/", p) + + var file http.File + var err error + + // open file + if file, err = entry.Fs.Open(p); err != nil { + entry.ZapLoggerEntry.GetLogger().Warn("failed to open file", zap.Error(err)) + rkmuxinter.WriteJson(w, http.StatusInternalServerError, rkerror.New( + rkerror.WithHttpCode(http.StatusInternalServerError), + rkerror.WithMessage("failed to open file"), + rkerror.WithDetails(err))) + return + } + + // get file info + fileInfo, err := file.Stat() + if err != nil { + entry.ZapLoggerEntry.GetLogger().Warn("failed to stat file", zap.Error(err)) + rkmuxinter.WriteJson(w, http.StatusInternalServerError, rkerror.New( + rkerror.WithHttpCode(http.StatusInternalServerError), + rkerror.WithMessage("failed to stat file"), + rkerror.WithDetails(err))) + return + } + + // list files if file is directory + if fileInfo.IsDir() { + infos, _ := file.Readdir(math.MaxInt32) + files := make([]*fileResp, 0) + + for _, v := range infos { + files = append(files, &fileResp{ + isDir: v.IsDir(), + Icon: base64.StdEncoding.EncodeToString(readFileFromPkger(path.Join("/assets/static/icons", getIconPath(v)))), + FileUrl: path.Join(entry.Path, p, v.Name()), + FileName: v.Name(), + Size: v.Size(), + ModTime: v.ModTime(), + }) + } + + sortFiles(files) + resp := &resp{ + PrevPath: path.Join(entry.Path, path.Dir(p)), + PrevIcon: base64.StdEncoding.EncodeToString(readFileFromPkger(path.Join("/assets/static/icons/folder.png"))), + Path: p, + Files: files, + } + + buf := new(bytes.Buffer) + if err := entry.Template.ExecuteTemplate(buf, "index", resp); err != nil { + entry.ZapLoggerEntry.GetLogger().Warn("failed to execute template", zap.Error(err)) + rkmuxinter.WriteJson(w, http.StatusInternalServerError, rkerror.New( + rkerror.WithHttpCode(http.StatusInternalServerError), + rkerror.WithMessage("failed to execute template"), + rkerror.WithDetails(err))) + + return + } + + w.WriteHeader(http.StatusOK) + w.Write(buf.Bytes()) + } else { + // make browser download file + w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", fileInfo.Name())) + w.Header().Set("Content-Type", "application/octet-stream") + http.ServeContent(w, r, path.Base(p), time.Now(), file) + } + }) +} + +// sort file response +func sortFiles(res []*fileResp) { + sort.SliceStable(res, func(i, j int) bool { + if res[i].isDir && res[j].isDir { + return strings.Compare(res[i].FileName, res[j].FileName) < 0 + } + + if res[i].isDir { + return true + } + + if res[j].isDir { + return false + } + + return strings.Compare(res[i].FileName, res[j].FileName) < 0 + }) +} + +// get icon path based on file information +func getIconPath(info fs.FileInfo) string { + if info.IsDir() { + return exToIcon["folder"] + } + + ex := strings.TrimPrefix(filepath.Ext(info.Name()), ".") + res := exToIcon[ex] + + if len(res) < 1 { + return exToIcon["unknown"] + } + + return res +} + +// response for inner +type resp struct { + PrevPath string + PrevIcon string + Path string + Files []*fileResp +} + +// file response for inner +type fileResp struct { + isDir bool + FileName string + FileUrl string + Icon string + Size int64 + ModTime time.Time +} diff --git a/boot/static_file_handler_entry_test.go b/boot/static_file_handler_entry_test.go new file mode 100644 index 0000000..a649a9d --- /dev/null +++ b/boot/static_file_handler_entry_test.go @@ -0,0 +1,119 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "context" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "net/url" + "os" + "path" + "testing" +) + +func TestNewStaticFileHandlerEntry(t *testing.T) { + // without options + entry := NewStaticFileHandlerEntry() + assert.NotNil(t, entry) + assert.NotNil(t, entry.ZapLoggerEntry) + assert.NotNil(t, entry.EventLoggerEntry) + assert.Equal(t, "/rk/v1/static/", entry.Path) + assert.NotNil(t, entry.Fs) + assert.NotNil(t, entry.Template) + + // with options + utFs := http.Dir("") + utPath := "/ut-path/" + utZapLogger := rkentry.NoopZapLoggerEntry() + utEventLogger := rkentry.NoopEventLoggerEntry() + utName := "ut-entry" + + entry = NewStaticFileHandlerEntry( + WithPathStatic(utPath), + WithEventLoggerEntryStatic(utEventLogger), + WithZapLoggerEntryStatic(utZapLogger), + WithNameStatic(utName), + WithFileSystemStatic(utFs)) + + assert.NotNil(t, entry) + assert.Equal(t, utZapLogger, entry.ZapLoggerEntry) + assert.Equal(t, utEventLogger, entry.EventLoggerEntry) + assert.Equal(t, utPath, entry.Path) + assert.Equal(t, utFs, entry.Fs) + assert.NotNil(t, entry.Template) + assert.Equal(t, utName, entry.EntryName) +} + +func TestStaticFileHandlerEntry_Bootstrap(t *testing.T) { + defer assertNotPanic(t) + + // without eventId in context + entry := NewStaticFileHandlerEntry() + entry.Bootstrap(context.TODO()) + + // with eventId in context + entry.Bootstrap(context.TODO()) +} + +func TestStaticFileHandlerEntry_Interrupt(t *testing.T) { + defer assertNotPanic(t) + + // without eventId in context + entry := NewStaticFileHandlerEntry() + entry.Interrupt(context.TODO()) + + // with eventId in context + entry.Interrupt(context.TODO()) +} + +func TestStaticFileHandlerEntry_EntryFunctions(t *testing.T) { + entry := NewStaticFileHandlerEntry() + assert.NotEmpty(t, entry.GetName()) + assert.NotEmpty(t, entry.GetType()) + assert.NotEmpty(t, entry.GetDescription()) + assert.NotEmpty(t, entry.String()) + assert.Nil(t, entry.UnmarshalJSON([]byte{})) +} + +func TestStaticFileHandlerEntry_GetFileHandler(t *testing.T) { + currDir := t.TempDir() + os.MkdirAll(path.Join(currDir, "ut-dir"), os.ModePerm) + os.WriteFile(path.Join(currDir, "ut-file"), []byte("ut content"), os.ModePerm) + + entry := NewStaticFileHandlerEntry( + WithFileSystemStatic(http.Dir(currDir))) + entry.Bootstrap(context.TODO()) + handler := entry.GetFileHandler() + + // expect to get list of files + writer := httptest.NewRecorder() + req := &http.Request{ + URL: &url.URL{ + Path: "/rk/v1/static/", + }, + } + handler(writer, req) + + assert.Equal(t, http.StatusOK, writer.Code) + assert.Contains(t, writer.Body.String(), "Index of") + + // expect to get files to download + writer = httptest.NewRecorder() + req = &http.Request{ + URL: &url.URL{ + Path: "/rk/v1/static/ut-file", + }, + } + handler(writer, req) + + assert.Equal(t, http.StatusOK, writer.Code) + assert.NotEmpty(t, writer.Header().Get("Content-Disposition")) + assert.NotEmpty(t, writer.Header().Get("Content-Type")) + assert.Contains(t, writer.Body.String(), "ut content") +} diff --git a/boot/sw_entry.go b/boot/sw_entry.go new file mode 100644 index 0000000..64c90d3 --- /dev/null +++ b/boot/sw_entry.go @@ -0,0 +1,379 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "context" + "encoding/json" + "github.com/markbates/pkger" + "github.com/rookie-ninja/rk-common/common" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-query" + "go.uber.org/zap" + "io" + "io/ioutil" + "net/http" + "os" + "path" + "strconv" + "strings" + "time" +) + +var ( + swaggerJsonFiles = make(map[string]string, 0) + swConfigFileContents = `` +) + +const ( + // SwEntryType default entry type + SwEntryType = "SwEntry" + // SwEntryNameDefault default entry name + SwEntryNameDefault = "SwDefault" + // SwEntryDescription default entry description + SwEntryDescription = "Internal RK entry which implements swagger with mux framework." +) + +// Inner struct used while initializing swagger entry. +type swUrlConfig struct { + Urls []*swUrl `json:"urls" yaml:"urls"` +} + +// Inner struct used while initializing swagger entry. +type swUrl struct { + Name string `json:"name" yaml:"name"` + Url string `json:"url" yaml:"url"` +} + +// BootConfigSw Bootstrap config of swagger. +// 1: Enabled: Enable swagger. +// 2: Path: Swagger path accessible from restful API. +// 3: JsonPath: The path of where swagger JSON file was located. +// 4: Headers: The headers that would added into each API response. +type BootConfigSw struct { + Enabled bool `yaml:"enabled" yaml:"enabled"` + Path string `yaml:"path" yaml:"path"` + JsonPath string `yaml:"jsonPath" yaml:"jsonPath"` + Headers []string `yaml:"headers" yaml:"headers"` +} + +// SwEntry implements rkentry.Entry interface. +// 1: Path: Swagger path accessible from restful API. +// 2: JsonPath: The path of where swagger JSON file was located. +// 3: Headers: The headers that would added into each API response. +// 4: Port: The port where swagger would listen to. +// 5: EnableCommonService: Enable common service in swagger. +type SwEntry struct { + EntryName string `json:"entryName" yaml:"entryName"` + EntryType string `json:"entryType" yaml:"entryType"` + EntryDescription string `json:"-" yaml:"-"` + EventLoggerEntry *rkentry.EventLoggerEntry `json:"-" yaml:"-"` + ZapLoggerEntry *rkentry.ZapLoggerEntry `json:"-" yaml:"-"` + JsonPath string `json:"jsonPath" yaml:"jsonPath"` + Path string `json:"path" yaml:"path"` + Headers map[string]string `json:"-" yaml:"-"` + Port uint64 `json:"port" yaml:"port"` + EnableCommonService bool `json:"enableCommonService" yaml:"enableCommonService"` +} + +// SwOption Swagger entry option. +type SwOption func(*SwEntry) + +// WithPortSw Provide port. +func WithPortSw(port uint64) SwOption { + return func(entry *SwEntry) { + entry.Port = port + } +} + +// WithNameSw Provide name. +func WithNameSw(name string) SwOption { + return func(entry *SwEntry) { + entry.EntryName = name + } +} + +// WithPathSw Provide path. +func WithPathSw(path string) SwOption { + return func(entry *SwEntry) { + if len(path) < 1 { + path = "sw" + } + entry.Path = path + } +} + +// WithJsonPathSw Provide JsonPath. +func WithJsonPathSw(path string) SwOption { + return func(entry *SwEntry) { + entry.JsonPath = path + } +} + +// WithHeadersSw Provide headers. +func WithHeadersSw(headers map[string]string) SwOption { + return func(entry *SwEntry) { + entry.Headers = headers + } +} + +// WithZapLoggerEntrySw Provide rkentry.ZapLoggerEntry. +func WithZapLoggerEntrySw(zapLoggerEntry *rkentry.ZapLoggerEntry) SwOption { + return func(entry *SwEntry) { + entry.ZapLoggerEntry = zapLoggerEntry + } +} + +// WithEventLoggerEntrySw Provide rkentry.EventLoggerEntry. +func WithEventLoggerEntrySw(eventLoggerEntry *rkentry.EventLoggerEntry) SwOption { + return func(entry *SwEntry) { + entry.EventLoggerEntry = eventLoggerEntry + } +} + +// WithEnableCommonServiceSw Provide enable common service option. +func WithEnableCommonServiceSw(enable bool) SwOption { + return func(entry *SwEntry) { + entry.EnableCommonService = enable + } +} + +// NewSwEntry Create new swagger entry with options. +func NewSwEntry(opts ...SwOption) *SwEntry { + entry := &SwEntry{ + EntryName: SwEntryNameDefault, + EntryType: SwEntryType, + EntryDescription: SwEntryDescription, + ZapLoggerEntry: rkentry.GlobalAppCtx.GetZapLoggerEntryDefault(), + EventLoggerEntry: rkentry.GlobalAppCtx.GetEventLoggerEntryDefault(), + Path: "sw", + } + + for i := range opts { + opts[i](entry) + } + + // Deal with Path + // add "/" at start and end side if missing + if !strings.HasPrefix(entry.Path, "/") { + entry.Path = "/" + entry.Path + } + + if !strings.HasSuffix(entry.Path, "/") { + entry.Path = entry.Path + "/" + } + + if len(entry.EntryName) < 1 { + entry.EntryName = "SwEntry-" + strconv.FormatUint(entry.Port, 10) + } + + // init swagger configs + entry.initSwaggerConfig() + + return entry +} + +// Bootstrap swagger entry. +func (entry *SwEntry) Bootstrap(ctx context.Context) { + // Noop +} + +// Interrupt swagger entry. +func (entry *SwEntry) Interrupt(ctx context.Context) { + // Noop +} + +// GetName Get name of entry. +func (entry *SwEntry) GetName() string { + return entry.EntryName +} + +// GetType Get type of entry. +func (entry *SwEntry) GetType() string { + return entry.EntryType +} + +// GetDescription Get description of entry +func (entry *SwEntry) GetDescription() string { + return entry.EntryDescription +} + +// String Stringfy swagger entry +func (entry *SwEntry) String() string { + bytes, _ := json.Marshal(entry) + return string(bytes) +} + +// MarshalJSON Marshal entry +func (entry *SwEntry) MarshalJSON() ([]byte, error) { + m := map[string]interface{}{ + "entryName": entry.EntryName, + "entryType": entry.EntryType, + "entryDescription": entry.EntryDescription, + "eventLoggerEntry": entry.EventLoggerEntry.GetName(), + "zapLoggerEntry": entry.ZapLoggerEntry.GetName(), + "jsonPath": entry.JsonPath, + "port": entry.Port, + "path": entry.Path, + "headers": entry.Headers, + "enableCommonService": entry.EnableCommonService, + } + + return json.Marshal(&m) +} + +// UnmarshalJSON Unmarshal entry +func (entry *SwEntry) UnmarshalJSON([]byte) error { + return nil +} + +// Add basic fields into event +func (entry *SwEntry) logBasicInfo(event rkquery.Event) { + event.AddPayloads( + zap.String("entryName", entry.EntryName), + zap.String("entryType", entry.EntryType), + zap.String("jsonPath", entry.JsonPath), + zap.String("path", entry.Path), + zap.Uint64("port", entry.Port), + ) +} + +// AssetsFileHandler Handler for swagger assets files. +func (entry *SwEntry) AssetsFileHandler() http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + p := strings.TrimSuffix(strings.TrimPrefix(r.URL.Path, "/rk/v1"), "/") + + var file io.ReadSeeker + var err error + + if file, err = pkger.Open(path.Join("/boot", p)); err != nil { + http.Error(w, "Internal server error", http.StatusInternalServerError) + return + } + + http.ServeContent(w, r, path.Base(p), time.Now(), file) + } +} + +// ConfigFileHandler handler for swagger config files. +func (entry *SwEntry) ConfigFileHandler() http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + p := strings.TrimSuffix(r.URL.Path, "/") + + w.Header().Set("cache-control", "no-cache") + + for k, v := range entry.Headers { + w.Header().Set(k, v) + } + + switch p { + case "/sw": + var file io.ReadSeeker + var err error + + if file, err = pkger.Open(path.Join("/boot/assets/sw/index.html")); err != nil { + http.Error(w, "Internal server error", http.StatusInternalServerError) + return + } + + http.ServeContent(w, r, "index.html", time.Now(), file) + case "/sw/swagger-config.json": + http.ServeContent(w, r, "swagger-config.json", time.Now(), strings.NewReader(swConfigFileContents)) + default: + p = strings.TrimPrefix(p, "/sw/") + value, ok := swaggerJsonFiles[p] + + if ok { + http.ServeContent(w, r, p, time.Now(), strings.NewReader(value)) + break + } + http.NotFound(w, r) + } + } +} + +// Init swagger config. +// This function do the things bellow: +// 1: List swagger files from entry.JSONPath. +// 2: Read user swagger json files and deduplicate. +// 3: Assign swagger contents into swaggerConfigJson variable +func (entry *SwEntry) initSwaggerConfig() { + swaggerUrlConfig := &swUrlConfig{ + Urls: make([]*swUrl, 0), + } + + // 1: Add user API swagger JSON + entry.listFilesWithSuffix(swaggerUrlConfig) + + // 2: Add rk common APIs + if entry.EnableCommonService { + key := entry.EntryName + "-rk-common.swagger.json" + // add common service json file + swaggerJsonFiles[key] = string(readFileFromPkger("/assets/sw/config/swagger.json")) + swaggerUrlConfig.Urls = append(swaggerUrlConfig.Urls, &swUrl{ + Name: key, + Url: path.Join(entry.Path, key), + }) + } + + // 3: Marshal to swagger-config.json and write to pkger + bytes, err := json.Marshal(swaggerUrlConfig) + if err != nil { + entry.ZapLoggerEntry.GetLogger().Error("Failed to unmarshal swagger-config.json", + zap.Error(err)) + rkcommon.ShutdownWithError(err) + } + + swConfigFileContents = string(bytes) +} + +// List files with .json suffix and store them into swaggerJsonFiles variable. +func (entry *SwEntry) listFilesWithSuffix(urlConfig *swUrlConfig) { + jsonPath := entry.JsonPath + suffix := ".json" + // re-path it with working directory if not absolute path + if !path.IsAbs(entry.JsonPath) { + wd, err := os.Getwd() + if err != nil { + entry.ZapLoggerEntry.GetLogger().Info("Failed to get working directory", + zap.String("error", err.Error())) + rkcommon.ShutdownWithError(err) + } + jsonPath = path.Join(wd, jsonPath) + } + + files, err := ioutil.ReadDir(jsonPath) + if err != nil { + entry.ZapLoggerEntry.GetLogger().Error("Failed to list files with suffix", + zap.String("path", jsonPath), + zap.String("suffix", suffix), + zap.String("error", err.Error())) + return + } + + for i := range files { + file := files[i] + if !file.IsDir() && strings.HasSuffix(file.Name(), suffix) { + bytes, err := ioutil.ReadFile(path.Join(jsonPath, file.Name())) + key := entry.EntryName + "-" + file.Name() + + if err != nil { + entry.ZapLoggerEntry.GetLogger().Info("Failed to read file with suffix", + zap.String("path", path.Join(jsonPath, key)), + zap.String("suffix", suffix), + zap.String("error", err.Error())) + rkcommon.ShutdownWithError(err) + } + + swaggerJsonFiles[key] = string(bytes) + + urlConfig.Urls = append(urlConfig.Urls, &swUrl{ + Name: key, + Url: path.Join(entry.Path, key), + }) + } + } +} diff --git a/boot/sw_entry_test.go b/boot/sw_entry_test.go new file mode 100644 index 0000000..4765043 --- /dev/null +++ b/boot/sw_entry_test.go @@ -0,0 +1,130 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "context" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "net/url" + "testing" +) + +func TestWithPath_HappyCase(t *testing.T) { + entry := NewSwEntry(WithPathSw("ut-path")) + assert.Equal(t, "/ut-path/", entry.Path) +} + +func TestWithHeaders_HappyCase(t *testing.T) { + headers := map[string]string{ + "key": "value", + } + entry := NewSwEntry(WithHeadersSw(headers)) + assert.Len(t, entry.Headers, 1) +} + +func TestNewSwEntry(t *testing.T) { + entry := NewSwEntry( + WithPortSw(1234), + WithNameSw("ut-name"), + WithPathSw("ut-path"), + WithJsonPathSw("ut-json-path"), + WithHeadersSw(map[string]string{ + "key": "value", + }), + WithZapLoggerEntrySw(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntrySw(rkentry.NoopEventLoggerEntry()), + WithEnableCommonServiceSw(true)) + + assert.Equal(t, uint64(1234), entry.Port) + assert.Equal(t, "/ut-path/", entry.Path) + assert.Equal(t, "ut-json-path", entry.JsonPath) + assert.Len(t, entry.Headers, 1) + assert.NotNil(t, entry.ZapLoggerEntry) + assert.NotNil(t, entry.EventLoggerEntry) + assert.True(t, entry.EnableCommonService) +} + +func TestSwEntry_Bootstrap(t *testing.T) { + defer assertNotPanic(t) + + entry := NewSwEntry( + WithPortSw(1234), + WithNameSw("ut-name"), + WithPathSw("ut-path"), + WithJsonPathSw("ut-json-path"), + WithHeadersSw(map[string]string{ + "key": "value", + }), + WithZapLoggerEntrySw(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntrySw(rkentry.NoopEventLoggerEntry()), + WithEnableCommonServiceSw(true)) + + entry.Bootstrap(context.TODO()) +} + +func TestSwEntry_Interrupt(t *testing.T) { + defer assertNotPanic(t) + + entry := NewSwEntry( + WithPortSw(1234), + WithNameSw("ut-name"), + WithPathSw("ut-path"), + WithJsonPathSw("ut-json-path"), + WithHeadersSw(map[string]string{ + "key": "value", + }), + WithZapLoggerEntrySw(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntrySw(rkentry.NoopEventLoggerEntry()), + WithEnableCommonServiceSw(true)) + + entry.Bootstrap(context.TODO()) + entry.Interrupt(context.TODO()) +} + +func TestSwEntry_UnmarshalJSON(t *testing.T) { + entry := NewSwEntry() + assert.Nil(t, entry.UnmarshalJSON(nil)) +} + +func TestSwEntry(t *testing.T) { + entry := NewSwEntry() + + assert.NotEmpty(t, entry.GetName()) + assert.NotEmpty(t, entry.GetType()) + assert.NotEmpty(t, entry.GetDescription()) + assert.NotEmpty(t, entry.String()) +} + +func TestSwEntry_AssetsFileHandler(t *testing.T) { + defer assertNotPanic(t) + entry := NewSwEntry() + + req := &http.Request{ + URL: &url.URL{ + Path: "/rk/v1/assets", + }, + } + writer := httptest.NewRecorder() + + entry.AssetsFileHandler()(writer, req) +} + +func TestSwEntry_ConfigFileHandler(t *testing.T) { + defer assertNotPanic(t) + entry := NewSwEntry() + + req := &http.Request{ + URL: &url.URL{ + Path: "/rk/v1/assets", + }, + } + writer := httptest.NewRecorder() + + entry.ConfigFileHandler()(writer, req) +} diff --git a/boot/tv_entry.go b/boot/tv_entry.go new file mode 100644 index 0000000..f63c3be --- /dev/null +++ b/boot/tv_entry.go @@ -0,0 +1,323 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "bytes" + "context" + "encoding/json" + "github.com/gorilla/mux" + "github.com/markbates/pkger" + "github.com/markbates/pkger/pkging" + "github.com/rookie-ninja/rk-common/common" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "go.uber.org/zap" + "html/template" + "io/ioutil" + "net/http" + "path" + "strings" + "time" +) + +var ( + // Templates is a map to store go template + Templates = map[string][]byte{} +) + +const ( + // TvEntryType default entry type + TvEntryType = "TvEntry" + // TvEntryNameDefault default entry name + TvEntryNameDefault = "TvDefault" + // TvEntryDescription default entry description + TvEntryDescription = "Internal RK entry which implements tv web with mux framework." +) + +// Read go TV related template files into memory. +func init() { + Templates["header"] = readFileFromPkger("/assets/tv/header.tmpl") + Templates["footer"] = readFileFromPkger("/assets/tv/footer.tmpl") + Templates["aside"] = readFileFromPkger("/assets/tv/aside.tmpl") + Templates["head"] = readFileFromPkger("/assets/tv/head.tmpl") + Templates["svg-sprite"] = readFileFromPkger("/assets/tv/svg-sprite.tmpl") + Templates["overview"] = readFileFromPkger("/assets/tv/overview.tmpl") + Templates["apis"] = readFileFromPkger("/assets/tv/apis.tmpl") + Templates["entries"] = readFileFromPkger("/assets/tv/entries.tmpl") + Templates["configs"] = readFileFromPkger("/assets/tv/configs.tmpl") + Templates["certs"] = readFileFromPkger("/assets/tv/certs.tmpl") + Templates["not-found"] = readFileFromPkger("/assets/tv/not-found.tmpl") + Templates["internal-error"] = readFileFromPkger("/assets/tv/internal-error.tmpl") + Templates["os"] = readFileFromPkger("/assets/tv/os.tmpl") + Templates["env"] = readFileFromPkger("/assets/tv/env.tmpl") + Templates["prometheus"] = readFileFromPkger("/assets/tv/prometheus.tmpl") + Templates["deps"] = readFileFromPkger("/assets/tv/deps.tmpl") + Templates["license"] = readFileFromPkger("/assets/tv/license.tmpl") + Templates["info"] = readFileFromPkger("/assets/tv/info.tmpl") + Templates["logs"] = readFileFromPkger("/assets/tv/logs.tmpl") + Templates["git"] = readFileFromPkger("/assets/tv/git.tmpl") +} + +// Read go template files with Pkger. +func readFileFromPkger(filePath string) []byte { + var file pkging.File + var err error + + if file, err = pkger.Open(path.Join("github.com/rookie-ninja/rk-mux:/boot", filePath)); err != nil { + return []byte{} + } + + var bytes []byte + if bytes, err = ioutil.ReadAll(file); err != nil { + return []byte{} + } + + return bytes +} + +// BootConfigTv Bootstrap config of tv. +// 1: Enabled: Enable tv service. +type BootConfigTv struct { + Enabled bool `yaml:"enabled" json:"enabled"` +} + +// TvEntry RK TV entry supports web UI for application & process information. +// 1: EntryName: Name of entry. +// 2: EntryType: Type of entry. +// 2: EntryDescription: Description of entry. +// 3: ZapLoggerEntry: ZapLoggerEntry used for logging. +// 4: EventLoggerEntry: EventLoggerEntry used for logging. +// 5: Template: GO template for rendering web UI. +type TvEntry struct { + EntryName string `json:"entryName" yaml:"entryName"` + EntryType string `json:"entryType" yaml:"entryType"` + EntryDescription string `json:"-" yaml:"-"` + ZapLoggerEntry *rkentry.ZapLoggerEntry `json:"-" yaml:"-"` + EventLoggerEntry *rkentry.EventLoggerEntry `json:"-" yaml:"-"` + Template *template.Template `json:"-" yaml:"-"` +} + +// TvEntryOption TV entry option. +type TvEntryOption func(entry *TvEntry) + +// WithNameTv Provide name. +func WithNameTv(name string) TvEntryOption { + return func(entry *TvEntry) { + entry.EntryName = name + } +} + +// WithEventLoggerEntryTv Provide rkentry.EventLoggerEntry. +func WithEventLoggerEntryTv(eventLoggerEntry *rkentry.EventLoggerEntry) TvEntryOption { + return func(entry *TvEntry) { + entry.EventLoggerEntry = eventLoggerEntry + } +} + +// WithZapLoggerEntryTv Provide rkentry.ZapLoggerEntry. +func WithZapLoggerEntryTv(zapLoggerEntry *rkentry.ZapLoggerEntry) TvEntryOption { + return func(entry *TvEntry) { + entry.ZapLoggerEntry = zapLoggerEntry + } +} + +// NewTvEntry Create new TV entry with options. +func NewTvEntry(opts ...TvEntryOption) *TvEntry { + entry := &TvEntry{ + EntryName: TvEntryNameDefault, + EntryType: TvEntryType, + EntryDescription: TvEntryDescription, + ZapLoggerEntry: rkentry.GlobalAppCtx.GetZapLoggerEntryDefault(), + EventLoggerEntry: rkentry.GlobalAppCtx.GetEventLoggerEntryDefault(), + } + + for i := range opts { + opts[i](entry) + } + + if len(entry.EntryName) < 1 { + entry.EntryName = TvEntryNameDefault + } + + return entry +} + +// AssetsFileHandler Handler which returns js, css, images and html files for TV web UI. +func (entry *TvEntry) AssetsFileHandler() http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + p := strings.TrimSuffix(strings.TrimPrefix(r.URL.Path, "/rk/v1"), "/") + + if file, err := pkger.Open(path.Join("/boot", p)); err != nil { + http.Error(w, "Internal server error", http.StatusInternalServerError) + } else { + http.ServeContent(w, r, path.Base(p), time.Now(), file) + } + } +} + +// Bootstrap TV entry. +// Rendering bellow templates. +// 1: head.tmpl +// 2: header.tmpl +// 3: footer.tmpl +// 4: aside.tmpl +// 5: svg-sprite.tmpl +// 6: overview.tmpl +// 7: apis.tmpl +// 8: entries.tmpl +// 9: configs.tmpl +// 10: certs.tmpl +// 11: os.tmpl +// 12: env.tmpl +// 13: prometheus.tmpl +// 14: logs.tmpl +// 15: deps.tmpl +// 16: license.tmpl +// 17: info.tmpl +func (entry *TvEntry) Bootstrap(ctx context.Context) { + entry.Template = template.New("rk-tv") + + // Parse templates + for _, v := range Templates { + if _, err := entry.Template.Parse(string(v)); err != nil { + rkcommon.ShutdownWithError(err) + } + } +} + +// Interrupt TV entry. +func (entry *TvEntry) Interrupt(ctx context.Context) { + // Noop +} + +// GetName Get name of entry. +func (entry *TvEntry) GetName() string { + return entry.EntryName +} + +// GetType Get type of entry. +func (entry *TvEntry) GetType() string { + return entry.EntryType +} + +// GetDescription Get description of entry. +func (entry *TvEntry) GetDescription() string { + return entry.EntryDescription +} + +// String Stringfy entry. +func (entry *TvEntry) String() string { + bytesStr, _ := json.Marshal(entry) + return string(bytesStr) +} + +// MarshalJSON Marshal entry +func (entry *TvEntry) MarshalJSON() ([]byte, error) { + m := map[string]interface{}{ + "entryName": entry.EntryName, + "entryType": entry.EntryType, + "entryDescription": entry.EntryDescription, + "eventLoggerEntry": entry.EventLoggerEntry.GetName(), + "zapLoggerEntry": entry.ZapLoggerEntry.GetName(), + } + + return json.Marshal(&m) +} + +// UnmarshalJSON Not supported. +func (entry *TvEntry) UnmarshalJSON([]byte) error { + return nil +} + +// TV handler +// @Summary Get HTML page of /tv/ +// @Id 15 +// @version 1.0 +// @Security ApiKeyAuth +// @Security BasicAuth +// @produce text/html +// @Success 200 string HTML +// @Router /rk/v1/tv/ [get] +func (entry *TvEntry) TV(writer http.ResponseWriter, req *http.Request) { + logger := rkmuxctx.GetLogger(req, writer) + + param := mux.Vars(req) + + writer.Header().Set("Content-Type", "text/html;charset=UTF-8") + + switch item := param["item"]; item { + case "", "/", "overview", "application": + buf := entry.doExecuteTemplate("overview", doReadme(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "apis": + buf := entry.doExecuteTemplate("apis", doApis(req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "entries": + buf := entry.doExecuteTemplate("entries", doEntries(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "configs": + buf := entry.doExecuteTemplate("configs", doConfigs(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "certs": + buf := entry.doExecuteTemplate("certs", doCerts(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "os": + buf := entry.doExecuteTemplate("os", doSys(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "prometheus": + buf := entry.doExecuteTemplate("prometheus", nil, logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "env": + buf := entry.doExecuteTemplate("env", doSys(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "logs": + buf := entry.doExecuteTemplate("logs", doLogs(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "deps": + buf := entry.doExecuteTemplate("deps", doDeps(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "license": + buf := entry.doExecuteTemplate("license", doLicense(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "info": + buf := entry.doExecuteTemplate("info", doInfo(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + case "git": + buf := entry.doExecuteTemplate("git", doGit(writer, req), logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + default: + buf := entry.doExecuteTemplate("not-found", nil, logger) + writer.WriteHeader(http.StatusOK) + writer.Write(buf.Bytes()) + } +} + +// Execute go template into buffer. +func (entry *TvEntry) doExecuteTemplate(templateName string, data interface{}, logger *zap.Logger) *bytes.Buffer { + buf := new(bytes.Buffer) + + if err := entry.Template.ExecuteTemplate(buf, templateName, data); err != nil { + logger.Warn("Failed to execute template", zap.Error(err)) + buf.Reset() + entry.Template.ExecuteTemplate(buf, "internal-error", nil) + } + + return buf +} diff --git a/boot/tv_entry_test.go b/boot/tv_entry_test.go new file mode 100644 index 0000000..0481f80 --- /dev/null +++ b/boot/tv_entry_test.go @@ -0,0 +1,156 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmux + +import ( + "context" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/stretchr/testify/assert" + "net/url" + "testing" +) + +func TestNewTvEntry(t *testing.T) { + entry := NewTvEntry( + WithEventLoggerEntryTv(rkentry.NoopEventLoggerEntry()), + WithZapLoggerEntryTv(rkentry.NoopZapLoggerEntry())) + + assert.Equal(t, TvEntryNameDefault, entry.GetName()) + assert.Equal(t, TvEntryType, entry.GetType()) + assert.Equal(t, TvEntryDescription, entry.GetDescription()) + assert.NotEmpty(t, entry.String()) + assert.Nil(t, entry.UnmarshalJSON(nil)) +} + +func TestTvEntry_Bootstrap(t *testing.T) { + entry := NewTvEntry( + WithEventLoggerEntryTv(rkentry.NoopEventLoggerEntry()), + WithZapLoggerEntryTv(rkentry.NoopZapLoggerEntry())) + + entry.Bootstrap(context.TODO()) +} + +func TestTvEntry_Interrupt(t *testing.T) { + entry := NewTvEntry( + WithEventLoggerEntryTv(rkentry.NoopEventLoggerEntry()), + WithZapLoggerEntryTv(rkentry.NoopZapLoggerEntry())) + + entry.Interrupt(context.TODO()) +} + +func TestTvEntry_TV(t *testing.T) { + entry := NewTvEntry( + WithEventLoggerEntryTv(rkentry.NoopEventLoggerEntry()), + WithZapLoggerEntryTv(rkentry.NoopZapLoggerEntry())) + entry.Bootstrap(context.TODO()) + + defer assertNotPanic(t) + + // With all paths + req, writer := newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/", + } + + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // apis + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/apis", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // entries + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/entries", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // configs + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/configs", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // certs + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/certs", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // os + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/os", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // env + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/env", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // logs + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/logs", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // deps + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/deps", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // license + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/license", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // info + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/info", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // git + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/git", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) + + // unknown + req, writer = newReqAndWriter() + req.URL = &url.URL{ + Path: "/rk/v1/tv/unknown", + } + entry.TV(writer, req) + assert.NotEmpty(t, writer.Body.String()) +} diff --git a/docs/img/boot-arch.png b/docs/img/boot-arch.png new file mode 100644 index 0000000..75f11cd Binary files /dev/null and b/docs/img/boot-arch.png differ diff --git a/docs/img/mux-arch.png b/docs/img/mux-arch.png new file mode 100644 index 0000000..bb7a252 Binary files /dev/null and b/docs/img/mux-arch.png differ diff --git a/docs/img/prom-inter.png b/docs/img/prom-inter.png new file mode 100644 index 0000000..c0065e0 Binary files /dev/null and b/docs/img/prom-inter.png differ diff --git a/docs/img/simple-cs.png b/docs/img/simple-cs.png new file mode 100644 index 0000000..779eb22 Binary files /dev/null and b/docs/img/simple-cs.png differ diff --git a/docs/img/simple-prom.png b/docs/img/simple-prom.png new file mode 100644 index 0000000..8c3eccc Binary files /dev/null and b/docs/img/simple-prom.png differ diff --git a/docs/img/simple-sw.png b/docs/img/simple-sw.png new file mode 100644 index 0000000..a4026fe Binary files /dev/null and b/docs/img/simple-sw.png differ diff --git a/docs/img/simple-tv.png b/docs/img/simple-tv.png new file mode 100644 index 0000000..a75867e Binary files /dev/null and b/docs/img/simple-tv.png differ diff --git a/example/boot/cors/boot.yaml b/example/boot/cors/boot.yaml new file mode 100644 index 0000000..307e0cf --- /dev/null +++ b/example/boot/cors/boot.yaml @@ -0,0 +1,16 @@ +--- +mux: + - name: greeter # Required + port: 8080 # Required + enabled: true # Required + commonService: + enabled: true # Optional, default: false + interceptors: + loggingZap: + enabled: true # Optional, default: false + meta: + enabled: true # Optional, default: false + cors: + enabled: true # Optional, default: false + allowOrigins: + - "http://localhost:*" # Optional, default: * \ No newline at end of file diff --git a/example/boot/cors/cors.html b/example/boot/cors/cors.html new file mode 100644 index 0000000..9ece335 --- /dev/null +++ b/example/boot/cors/cors.html @@ -0,0 +1,24 @@ + + + + +

    CORS Test

    + +

    Call http://localhost:8080/rk/v1/healthy

    + + + +

    Response:

    +

    + + + \ No newline at end of file diff --git a/example/boot/cors/main.go b/example/boot/cors/main.go new file mode 100644 index 0000000..b763b4c --- /dev/null +++ b/example/boot/cors/main.go @@ -0,0 +1,28 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/boot" +) + +func main() { + // Bootstrap basic entries from boot config. + rkentry.RegisterInternalEntriesFromConfig("example/boot/cors/boot.yaml") + + // Bootstrap echo entry from boot config + res := rkmux.RegisterMuxEntriesWithConfig("example/boot/cors/boot.yaml") + + // Bootstrap echo entry + res["greeter"].Bootstrap(context.Background()) + + // Wait for shutdown signal + rkentry.GlobalAppCtx.WaitForShutdownSig() + + // Interrupt echo entry + res["greeter"].Interrupt(context.Background()) +} diff --git a/example/boot/csrf/boot.yaml b/example/boot/csrf/boot.yaml new file mode 100644 index 0000000..6ba78f2 --- /dev/null +++ b/example/boot/csrf/boot.yaml @@ -0,0 +1,8 @@ +--- +mux: + - name: greeter # Required + port: 8080 # Required + enabled: true # Required + interceptors: + csrf: + enabled: true \ No newline at end of file diff --git a/example/boot/csrf/main.go b/example/boot/csrf/main.go new file mode 100644 index 0000000..74f43b0 --- /dev/null +++ b/example/boot/csrf/main.go @@ -0,0 +1,53 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "fmt" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/boot" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "net/http" +) + +func main() { + // Bootstrap basic entries from boot config. + rkentry.RegisterInternalEntriesFromConfig("example/boot/csrf/boot.yaml") + + // Bootstrap echo entry from boot config + res := rkmux.RegisterMuxEntriesWithConfig("example/boot/csrf/boot.yaml") + + // Register GET and POST method of /rk/v1/greeter + entry := res["greeter"].(*rkmux.MuxEntry) + entry.Router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + // Bootstrap echo entry + res["greeter"].Bootstrap(context.Background()) + + // Wait for shutdown signal + rkentry.GlobalAppCtx.WaitForShutdownSig() + + // Interrupt echo entry + res["greeter"].Interrupt(context.Background()) +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("CSRF token:%v", rkmuxctx.GetCsrfToken(req)), + }) +} diff --git a/example/boot/full/boot.yaml b/example/boot/full/boot.yaml new file mode 100644 index 0000000..11e8a91 --- /dev/null +++ b/example/boot/full/boot.yaml @@ -0,0 +1,156 @@ +--- +#app: +# description: "this is description" # Optional, default: "" +# keywords: ["rk", "golang"] # Optional, default: [] +# homeUrl: "http://example.com" # Optional, default: "" +# iconUrl: "http://example.com" # Optional, default: "" +# docsUrl: ["http://example.com"] # Optional, default: [] +# maintainers: ["rk-dev"] # Optional, default: [] +#zapLogger: +# - name: zap-logger # Required +# description: "Description of entry" # Optional +#eventLogger: +# - name: event-logger # Required +# description: "Description of entry" # Optional +#cred: +# - name: "local-cred" # Required +# provider: "localFs" # Required, etcd, consul, localFs, remoteFs are supported options +# description: "Description of entry" # Optional +# locale: "*::*::*::*" # Optional, default: *::*::*::* +# paths: # Optional +# - "example/boot/full/cred.yaml" +#cert: +# - name: "local-cert" # Required +# provider: "localFs" # Required, etcd, consul, localFs, remoteFs are supported options +# description: "Description of entry" # Optional +# locale: "*::*::*::*" # Optional, default: *::*::*::* +# serverCertPath: "example/boot/full/server.pem" # Optional, default: "", path of certificate on local FS +# serverKeyPath: "example/boot/full/server-key.pem" # Optional, default: "", path of certificate on local FS +# clientCertPath: "example/client.pem" # Optional, default: "", path of certificate on local FS +# clientKeyPath: "example/client.pem" # Optional, default: "", path of certificate on local FS +#config: +# - name: rk-main # Required +# path: "example/boot/full/config.yaml" # Required +# locale: "*::*::*::*" # Required, default: *::*::*::* +# description: "Description of entry" # Optional +mux: + - name: greeter # Required + port: 8080 # Required + enabled: true # Required +# description: "greeter server" # Optional, default: "" +# cert: +# ref: "local-cert" # Optional, default: "", reference of cert entry declared above +# sw: +# enabled: true # Optional, default: false +# path: "sw" # Optional, default: "sw" +# jsonPath: "" # Optional +# headers: ["sw:rk"] # Optional, default: [] +# commonService: +# enabled: true # Optional, default: false +# static: +# enabled: true # Optional, default: false +# path: "/rk/v1/static" # Optional, default: /rk/v1/static +# sourceType: local # Required, options: pkger, local +# sourcePath: "." # Required, full path of source directory +# tv: +# enabled: true # Optional, default: false +# prom: +# enabled: true # Optional, default: false +# path: "" # Optional, default: "metrics" +# pusher: +# enabled: false # Optional, default: false +# jobName: "greeter-pusher" # Required +# remoteAddress: "localhost:9091" # Required +# basicAuth: "user:pass" # Optional, default: "" +# intervalMs: 10000 # Optional, default: 1000 +# cert: # Optional +# ref: "local-test" # Optional, default: "", reference of cert entry declared above +# logger: +# zapLogger: +# ref: zap-logger # Optional, default: logger of STDOUT, reference of logger entry declared above +# eventLogger: +# ref: event-logger # Optional, default: logger of STDOUT, reference of logger entry declared above +# interceptors: +# loggingZap: +# enabled: true # Optional, default: false +# zapLoggerEncoding: "json" # Optional, default: "console" +# zapLoggerOutputPaths: ["logs/app.log"] # Optional, default: ["stdout"] +# eventLoggerEncoding: "json" # Optional, default: "console" +# eventLoggerOutputPaths: ["logs/event.log"] # Optional, default: ["stdout"] +# metricsProm: +# enabled: true # Optional, default: false +# auth: +# enabled: true # Optional, default: false +# basic: +# - "user:pass" # Optional, default: [] +# ignorePrefix: +# - "/rk/v1" # Optional, default: [] +# apiKey: +# - "keys" # Optional, default: [] +# meta: +# enabled: true # Optional, default: false +# prefix: "rk" # Optional, default: "rk" +# tracingTelemetry: +# enabled: true # Optional, default: false +# exporter: # Optional, default will create a stdout exporter +# file: +# enabled: true # Optional, default: false +# outputPath: "logs/trace.log" # Optional, default: stdout +# jaeger: +# agent: +# enabled: false # Optional, default: false +# host: "" # Optional, default: localhost +# port: 0 # Optional, default: 6831 +# collector: +# enabled: true # Optional, default: false +# endpoint: "" # Optional, default: http://localhost:14268/api/traces +# username: "" # Optional, default: "" +# password: "" # Optional, default: "" +# rateLimit: +# enabled: false # Optional, default: false +# algorithm: "leakyBucket" # Optional, default: "tokenBucket" +# reqPerSec: 100 # Optional, default: 1000000 +# paths: +# - path: "/rk/v1/healthy" # Optional, default: "" +# reqPerSec: 0 # Optional, default: 1000000 +# timeout: +# enabled: false # Optional, default: false +# timeoutMs: 5000 # Optional, default: 5000 +# paths: +# - path: "/rk/v1/healthy" # Optional, default: "" +# timeoutMs: 1000 # Optional, default: 5000 +# jwt: +# enabled: true # Optional, default: false +# signingKey: "my-secret" # Required +# ignorePrefix: # Optional, default: [] +# - "/rk/v1/tv" +# - "/sw" +# - "/rk/v1/assets" +# signingKeys: # Optional +# - "key:value" +# signingAlgo: "" # Optional, default: "HS256" +# tokenLookup: "header:" # Optional, default: "header:Authorization" +# authScheme: "Bearer" # Optional, default: "Bearer" +# secure: +# enabled: true # Optional, default: false +# xssProtection: "" # Optional, default: "1; mode=block" +# contentTypeNosniff: "" # Optional, default: nosniff +# xFrameOptions: "" # Optional, default: SAMEORIGIN +# hstsMaxAge: 0 # Optional, default: 0 +# hstsExcludeSubdomains: false # Optional, default: false +# hstsPreloadEnabled: false # Optional, default: false +# contentSecurityPolicy: "" # Optional, default: "" +# cspReportOnly: false # Optional, default: false +# referrerPolicy: "" # Optional, default: "" +# ignorePrefix: [] # Optional, default: [] +# csrf: +# enabled: true +# tokenLength: 32 # Optional, default: 32 +# tokenLookup: "header:X-CSRF-Token" # Optional, default: "header:X-CSRF-Token" +# cookieName: "_csrf" # Optional, default: _csrf +# cookieDomain: "" # Optional, default: "" +# cookiePath: "" # Optional, default: "" +# cookieMaxAge: 86400 # Optional, default: 86400 +# cookieHttpOnly: false # Optional, default: false +# cookieSameSite: "default" # Optional, default: "default", options: lax, strict, none, default +# ignorePrefix: [] # Optional, default: [] diff --git a/example/boot/full/main.go b/example/boot/full/main.go new file mode 100644 index 0000000..e60dfcc --- /dev/null +++ b/example/boot/full/main.go @@ -0,0 +1,28 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/boot" +) + +func main() { + // Bootstrap basic entries from boot config. + rkentry.RegisterInternalEntriesFromConfig("example/boot/full/boot.yaml") + + // Bootstrap echo entry from boot config + res := rkmux.RegisterMuxEntriesWithConfig("example/boot/full/boot.yaml") + + // Bootstrap echo entry + res["greeter"].Bootstrap(context.Background()) + + // Wait for shutdown signal + rkentry.GlobalAppCtx.WaitForShutdownSig() + + // Interrupt echo entry + res["greeter"].Interrupt(context.Background()) +} diff --git a/example/boot/simple/boot.yaml b/example/boot/simple/boot.yaml new file mode 100644 index 0000000..ce1608c --- /dev/null +++ b/example/boot/simple/boot.yaml @@ -0,0 +1,20 @@ +--- +mux: + - name: greeter # Required + port: 8080 # Required + enabled: true # Required + tv: + enabled: true # Optional, default: false + prom: + enabled: true # Optional, default: false + sw: + enabled: true # Optional, default: false + commonService: + enabled: true # Optional, default: false + interceptors: + loggingZap: + enabled: true # Optional, default: false + metricsProm: + enabled: true # Optional, default: false + meta: + enabled: true # Optional, default: false diff --git a/example/boot/simple/main.go b/example/boot/simple/main.go new file mode 100644 index 0000000..aad5262 --- /dev/null +++ b/example/boot/simple/main.go @@ -0,0 +1,57 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "fmt" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/boot" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" +) + +// @title RK Swagger for Mux +// @version 1.0 +// @description This is a greeter service with rk-boot. +func main() { + // Bootstrap basic entries from boot config. + rkentry.RegisterInternalEntriesFromConfig("example/boot/simple/boot.yaml") + + // Bootstrap mux entry from boot config + res := rkmux.RegisterMuxEntriesWithConfig("example/boot/simple/boot.yaml") + + // Get MuxEntry + muxEntry := res["greeter"].(*rkmux.MuxEntry) + // Use *mux.Router adding handler. + muxEntry.Router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + // Bootstrap mux entry + muxEntry.Bootstrap(context.Background()) + + // Wait for shutdown signal + rkentry.GlobalAppCtx.WaitForShutdownSig() + + // Interrupt mux entry + muxEntry.Interrupt(context.Background()) +} + +// @Summary Greeter service +// @Id 1 +// @version 1.0 +// @produce application/json +// @Param name query string true "Input name" +// @Success 200 {object} GreeterResponse +// @Router /v1/greeter [get] +func Greeter(writer http.ResponseWriter, req *http.Request) { + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} + +// Response. +type GreeterResponse struct { + Message string +} diff --git a/example/interceptor/auth/Makefile b/example/interceptor/auth/Makefile new file mode 100644 index 0000000..11c7619 --- /dev/null +++ b/example/interceptor/auth/Makefile @@ -0,0 +1,12 @@ +.PHONY: all +all: fmt readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/auth/README.md b/example/interceptor/auth/README.md new file mode 100644 index 0000000..aa755bd --- /dev/null +++ b/example/interceptor/auth/README.md @@ -0,0 +1,172 @@ +# Auth middleware +In this example, we will try to create echo server with auth middleware enabled. + +Auth middleware will validate bellow authorizations. + +| Type | Description | Example | +| ---- | ---- | ---- | +| Basic Auth | The client sends HTTP requests with the Authorization header that contains the word Basic, followed by a space and a base64-encoded(non-encrypted) string username: password. | Authorization: Basic AXVubzpwQDU1dzByYM== | +| API Key | An API key is a token that a client provides when making API calls. With API key auth, you send a key-value pair to the API in the request headers. | X-API-Key: abcdefgh123456789 | + +**Please make sure panic interceptor to be added at last in chain of interceptors.** + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Options](#options) + - [Context Usage](#context-usage) +- [Example](#example) + - [Start server](#start-server) + - [Output unauthorized](#output-unauthorized) + - [Output authorized](#output-authorized) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-mux +``` + +### Code +```go +import "github.com/rookie-ninja/rk-mux/interceptor/auth" +``` +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor(), + rkmuxauth.Interceptor( + rkmuxauth.WithIgnorePrefix("/rk/v1/greeter"), + rkmuxauth.WithBasicAuth("", "rk-user:rk-pass"), + rkmuxauth.WithApiKeyAuth("rk-api-key"), + ), + } +``` + +## Options +Auth interceptor validate authorization for each request. + +![server-arch](img/server-arch.png) + +| Name | Default | Description | +| ---- | ---- | ---- | +| WithEntryNameAndType(entryName, entryType string) | entryName=mux, entryType=mux | entryName and entryType will be used to distinguish options if there are multiple interceptors in single process. | +| WithBasicAuth(realm string, cred ...string) | []string | Provide Basic auth credential with scheme of [user:pass]. Multiple credential are available for server. | +| WithApiKeyAuth(key ...string) | []string | Provide API key. Multiple keys are available for server. | +| WithIgnorePrefix(paths ...string) | []string | Ignoring paths that interceptors will ignore. | + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor(), + rkmuxauth.Interceptor( + // rkmuxauth.WithIgnorePrefix("/rk/v1/greeter"), + rkmuxauth.WithBasicAuth("", "rk-user:rk-pass"), + rkmuxauth.WithApiKeyAuth("rk-api-key"), + ), + } +``` + +### Context Usage +| Name | Functionality | +| ------ | ------ | +| rkmuxctx.GetLogger(req, writer) | Get logger generated by log interceptor. If there are X-Request-Id or X-Trace-Id as headers in incoming and outgoing metadata, then loggers will has requestId and traceId attached by default. | +| rkmuxctx.GetEvent(req) | Get event generated by log interceptor. Event would be printed as soon as RPC finished. | +| rkmuxctx.GetIncomingHeaders(req) | Get incoming header. | +| rkmuxctx.AddHeaderToClient(writer, "k", "v") | Add k/v to headers which would be sent to client. This is append operation. | +| rkmuxctx.SetHeaderToClient(writer, "k", "v") | Set k/v to headers which would be sent to client. | + +## Example +In this example, we enable log interceptor either to monitor RPC. + +### Start server +```shell script +$ go run greeter-server.go +``` + +### Output unauthorized +- Server side (event) + +```shell script +------------------------------------------------------------------------ +endTime=2021-12-30T01:08:16.838912+08:00 +startTime=2021-12-30T01:08:16.838806+08:00 +elapsedNano=105802 +timezone=CST +ids={"eventId":"54bf19af-51f6-4900-9cf6-c92a2745f56f"} +app={"appName":"rk","appVersion":"","entryName":"mux","entryType":"mux"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=localhost:62310 +operation=/v1/greeter +resCode=401 +eventStatus=Ended +EOE +``` + +- Client side + +```shell script +$ curl "localhost:8080/v1/greeter?name=rk-dev" +# Pretty print manually. +{ + "error":{ + "code":401, + "status":"Unauthorized", + "message":"Missing authorization, provide one of bellow auth header:[Basic Auth,X-API-Key]", + "details":[] + } +} +``` + +### Output authorized +- Server side (event) +```shell script +------------------------------------------------------------------------ +endTime=2021-11-01T02:00:57.323032+08:00 +startTime=2021-11-01T02:00:57.322708+08:00 +elapsedNano=324126 +timezone=CST +ids={"eventId":"3c349da6-b3f3-4dca-b703-403095880311"} +app={"appName":"rk","appVersion":"","entryName":"echo","entryType":"echo"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"10.8.0.6","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/rk/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=localhost:51413 +operation=/rk/v1/greeter +resCode=200 +eventStatus=Ended +EOE +``` + +- Client side + +```shell script +# With basic auth +$ curl -u "rk-user:rk-pass" "localhost:8080/v1/greeter?name=rk-dev" +{"Message":"Hello rk-dev!"} + +# With API key +$ curl "localhost:8080/v1/greeter?name=rk-dev" -H "X-API-Key: rk-api-key" +{"Message":"Hello rk-dev!"} +``` + +### Code +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/auth/greeter-server.go b/example/interceptor/auth/greeter-server.go new file mode 100644 index 0000000..e86ea6b --- /dev/null +++ b/example/interceptor/auth/greeter-server.go @@ -0,0 +1,147 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/auth" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-mux/interceptor/log/zap" + "net/http" +) + +// In this example, we will start a new mux server with auth interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter?name=. +func main() { + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor(), + rkmuxauth.Interceptor( + // rkmuxauth.WithIgnorePrefix("/rk/v1/greeter"), + rkmuxauth.WithBasicAuth("", "rk-user:rk-pass"), + rkmuxauth.WithApiKeyAuth("rk-api-key"), + ), + } + + // 1: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Methods(http.MethodGet).Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + validateCtx(writer, req) + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} + +func validateCtx(writer http.ResponseWriter, req *http.Request) { + // 1: get incoming headers + printIndex("[1]: get incoming headers") + prettyHeader(rkmuxctx.GetIncomingHeaders(req)) + + // 2: add header to client + printIndex("[2]: add header to client") + rkmuxctx.AddHeaderToClient(writer, "add-key", "add-value") + + // 3: set header to client + printIndex("[3]: set header to client") + rkmuxctx.SetHeaderToClient(writer, "set-key", "set-value") + + // 4: get event + printIndex("[4]: get event") + rkmuxctx.GetEvent(req).SetCounter("my-counter", 1) + + // 5: get logger + printIndex("[5]: get logger") + rkmuxctx.GetLogger(req, writer).Info("error msg") + + // 6: get request id + printIndex("[6]: get request id") + fmt.Println(rkmuxctx.GetRequestId(writer)) + + // 7: get trace id + printIndex("[7]: get trace id") + fmt.Println(rkmuxctx.GetTraceId(writer)) + + // 8: get entry name + printIndex("[8]: get entry name") + fmt.Println(rkmuxctx.GetEntryName(req)) + + // 9: get trace span + printIndex("[9]: get trace span") + fmt.Println(rkmuxctx.GetTraceSpan(req)) + + // 10: get tracer + printIndex("[10]: get tracer") + fmt.Println(rkmuxctx.GetTracer(req)) + + // 11: get trace provider + printIndex("[11]: get trace provider") + fmt.Println(rkmuxctx.GetTracerProvider(req)) + + // 12: get tracer propagator + printIndex("[12]: get tracer propagator") + fmt.Println(rkmuxctx.GetTracerPropagator(req)) + + // 13: inject span + printIndex("[13]: inject span") + rkmuxctx.InjectSpanToHttpRequest(req, &http.Request{}) + + // 14: new trace span + printIndex("[14]: new trace span") + fmt.Println(rkmuxctx.NewTraceSpan(req, "my-span")) + + // 15: end trace span + printIndex("[15]: end trace span") + _, span := rkmuxctx.NewTraceSpan(req, "my-span") + rkmuxctx.EndTraceSpan(span, true) +} + +func printIndex(key string) { + fmt.Println(fmt.Sprintf("%s", key)) +} + +func prettyHeader(header http.Header) { + for k, v := range header { + fmt.Println(fmt.Sprintf("%s:%s", k, v)) + } +} diff --git a/example/interceptor/auth/img/server-arch.png b/example/interceptor/auth/img/server-arch.png new file mode 100644 index 0000000..09b135e Binary files /dev/null and b/example/interceptor/auth/img/server-arch.png differ diff --git a/example/interceptor/cors/Makefile b/example/interceptor/cors/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/cors/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/cors/README.md b/example/interceptor/cors/README.md new file mode 100644 index 0000000..c71f4e1 --- /dev/null +++ b/example/interceptor/cors/README.md @@ -0,0 +1,138 @@ +# CORS middleware +In this example, we will try to create mux server with cors middleware enabled. + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Options](#options) +- [Example](#example) + - [With accept CORS for all domains](#with-accept-cors-for-all-domains) + - [With accept CORS with domain not allowed](#with-accept-cors-with-domain-not-allowed) + - [With accept CORS with domain allowed](#with-accept-cors-with-domain-allowed) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-mux +``` + +### Code +Add rkmuxcors.Interceptor() CORS with option. + +```go +import "github.com/rookie-ninja/rk-mux/interceptor/cors" +``` + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxcors.Interceptor(), + } +``` + +## Options + +| Name | Description | Default Values | +| ---- | ---- | ---- | +| rkmuxcors.WithEntryNameAndType(entryName, entryType string) | Provide entry name and type if there are multiple CORS interceptors needs to be used. | gin, gin | +| rkmuxcors.WithSkipper(func) | Provide skipper function | Function always return false. | +| rkmuxcors.WithAllowOrigins(string...) | Provide allowed origins with wildcard enabled | * | +| rkmuxcors.WithAllowMethods(string...) | Provide allowed methods returns as response header of OPTIONS request | All http methods | +| rkmuxcors.WithAllowHeaders(string...) | Provide allowed headers returns as response header of OPTIONS request | Headers from request | +| rkmuxcors.WithAllowCredentials(bool) | Returns as response header of OPTIONS request | false | +| rkmuxcors.WithExposeHeaders(string...) | Provide exposed headers returns as response header of OPTIONS request | "" | +| rkmuxcors.WithMaxAge(int) | Provide max age returns as response header of OPTIONS request | 0 | + +## Example +### With accept CORS for all domains +In this example, we will enable CORS middleware without any options. + +In this case, all the requests from any Origin is acceptable. + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxcors.Interceptor(), + } +``` + +Access [cors.html](cors.html), we will be able to access API. + +![](img/cors-web.png) + +With OPTIONS request, related CORS headers would be returned. + +```shell script +curl -vs -X OPTIONS "localhost:8080/rk/v1/greeter?name=rk-dev" -H "Origin: http://test.domain" +* Trying ::1... +* TCP_NODELAY set +* Connected to localhost (::1) port 8080 (#0) +> OPTIONS /v1/greeter?name=rk-dev HTTP/1.1 +> Host: localhost:8080 +> User-Agent: curl/7.64.1 +> Accept: */* +> Origin: http://test.domain +> +< HTTP/1.1 204 No Content +< Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE +< Access-Control-Allow-Origin: http://test.domain +< Vary: Access-Control-Request-Method +< Vary: Access-Control-Request-Headers +< Date: Wed, 29 Dec 2021 17:17:49 GMT +``` + +### With accept CORS with domain not allowed +In this example, we will enable CORS middleware with rkmuxcors.WithAllowOrigins("http://localhost:8080") + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxcors.Interceptor( + // Bellow section is for CORS policy. + // Please refer https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS for details. + // Provide allowed origins + rkmuxcors.WithAllowOrigins("http://localhost:8080"), + ), + } +``` + +Access [cors.html](cors.html), we will not be able to access API since the Origin is not http://localhost:8080. + +![](img/cors-web-fail.png) + +### With accept CORS with domain allowed +In this example, we will enable CORS middleware with rkmuxcors.WithAllowOrigins("http://localhost:*") + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxcors.Interceptor( + // Bellow section is for CORS policy. + // Please refer https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS for details. + // Provide allowed origins + rkmuxcors.WithAllowOrigins("http://localhost:*"), + ), + } +``` + +Access [cors.html](cors.html), we will be able to access API. + +![](img/cors-web-succ.png) + +### Code +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/cors/cors.html b/example/interceptor/cors/cors.html new file mode 100644 index 0000000..17eaeb7 --- /dev/null +++ b/example/interceptor/cors/cors.html @@ -0,0 +1,24 @@ + + + + +

    CORS Test

    + +

    Call http://localhost:8080/rk/v1/greeter?name=rk-dev

    + + + +

    Response:

    +

    + + + \ No newline at end of file diff --git a/example/interceptor/cors/greeter-server.go b/example/interceptor/cors/greeter-server.go new file mode 100644 index 0000000..3547396 --- /dev/null +++ b/example/interceptor/cors/greeter-server.go @@ -0,0 +1,105 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-mux/interceptor/cors" + "net/http" +) + +// In this example, we will start a new mux server with cors interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter?name=. +func main() { + // ****************************************************** + // ********** Override App name and version ************* + // ****************************************************** + // + // rkentry.GlobalAppCtx.GetAppInfoEntry().AppName = "demo-app" + // rkentry.GlobalAppCtx.GetAppInfoEntry().Version = "demo-version" + + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxcors.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + rkmuxcors.WithEntryNameAndType("greeter", "mux"), + // Provide skipper function + // rkmuxcors.WithSkipper(func(*http.Request) bool { + // return false + // }), + // Bellow section is for CORS policy. + // Please refer https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS for details. + // Provide allowed origins + rkmuxcors.WithAllowOrigins("http://localhost:*"), + // Whether to allow credentials + // rkmuxcors.WithAllowCredentials(true), + // Provide expose headers + // rkmuxcors.WithExposeHeaders(""), + // Provide max age + // rkmuxcors.WithMaxAge(1), + // Provide allowed headers + // rkmuxcors.WithAllowHeaders(""), + // Provide allowed headers + // rkmuxcors.WithAllowMethods(""), + ), + } + + // 1: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + // + // RequestId will be printed if enabled by bellow codes. + // 1: Enable rkmuxmeta.Interceptor() in server side. + // 2: rkmuxctx.SetHeaderToClient(writer, rkmuxctx.RequestIdKey, rkcommon.GenerateRequestId()) + // + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} diff --git a/example/interceptor/cors/img/cors-web-fail.png b/example/interceptor/cors/img/cors-web-fail.png new file mode 100644 index 0000000..39f780d Binary files /dev/null and b/example/interceptor/cors/img/cors-web-fail.png differ diff --git a/example/interceptor/cors/img/cors-web-succ.png b/example/interceptor/cors/img/cors-web-succ.png new file mode 100644 index 0000000..6a4a452 Binary files /dev/null and b/example/interceptor/cors/img/cors-web-succ.png differ diff --git a/example/interceptor/cors/img/cors-web.png b/example/interceptor/cors/img/cors-web.png new file mode 100644 index 0000000..b46eeda Binary files /dev/null and b/example/interceptor/cors/img/cors-web.png differ diff --git a/example/interceptor/csrf/Makefile b/example/interceptor/csrf/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/csrf/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/csrf/README.md b/example/interceptor/csrf/README.md new file mode 100644 index 0000000..02269b7 --- /dev/null +++ b/example/interceptor/csrf/README.md @@ -0,0 +1,198 @@ +# CSRF middleware +In this example, we will try to create mux server with csrf middleware enabled. + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Options](#options) + - [Context Usage](#context-usage) +- [Example](#example) + - [Start server](#start-server) + - [Send request](#send-request) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-mux +``` + +### Code +Add rkmuxcsrf.Interceptor() csrf with option. + +```go +import "github.com/rookie-ninja/rk-mux/interceptor/csrf" +``` +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxcsrf.Interceptor(), + } +``` + +## Options +| Name | Description | Default Values | +| ---- | ---- | ---- | +| rkmuxcsrf.WithEntryNameAndType(entryName, entryType string) | Optional. Provide entry name and type if there are multiple csrf interceptors needs to be used. | mux, mux | +| rkmuxcsrf.WithSkipper(skipper function) | Optional. Provide skipper function | function always returns false | +| rkmuxcsrf.WithTokenLength(int) | Optional. Provide the length of the generated token. | 32 | +| rkmuxcsrf.WithTokenLookup(string) | Optional, provide csrf token lookup rules, please see code comments for details. | "header:X-CSRF-Token" | +| rkmuxcsrf.WithCookieName(string) | Optional, Provide name of the CSRF cookie. This cookie will store CSRF token. | csrf | +| rkmuxcsrf.WithCookieDomain(string) | Optional, domain of the CSRF cookie. | "" | +| rkmuxcsrf.WithCookiePath(string) | Optional, path of the CSRF cookie. | "" | +| rkmuxcsrf.WithCookieMaxAge(int) | Optional, provide max age (in seconds) of the CSRF cookie. | 86400 (24hr). | +| rkmuxcsrf.WithCookieHTTPOnly(bool) | Optional, indicates if CSRF cookie is HTTP only. | false | +| rkmuxcsrf.WithCookieSameSite(http.SameSite) | Optional, indicates SameSite mode of the CSRF cookie. | SameSiteDefaultMode | + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxcsrf.Interceptor( + // Required, entry name and entry type will be used for distinguishing interceptors. Recommended. + rkmuxcsrf.WithEntryNameAndType("greeter", "mux"), + // + // Optional, provide skipper function + //rkmuxcsrf.WithSkipper(func(*http.Request) bool { + // return true + //}), + // + // WithTokenLength the length of the generated token. + // Optional. Default value 32. + //rkmuxcsrf.WithTokenLength(10), + // + // WithTokenLookup a string in the form of ":" that is used + // to extract token from the request. + // Optional. Default value "header:X-CSRF-Token". + // Possible values: + // - "header:" + // - "form:" + // - "query:" + // Optional. Default value "header:X-CSRF-Token". + //rkmuxcsrf.WithTokenLookup("header:X-CSRF-Token"), + // + // WithCookieName provide name of the CSRF cookie. This cookie will store CSRF token. + // Optional. Default value "csrf". + //rkmuxcsrf.WithCookieName("csrf"), + // + // WithCookieDomain provide domain of the CSRF cookie. + // Optional. Default value "". + //rkmuxcsrf.WithCookieDomain(""), + // + // WithCookiePath provide path of the CSRF cookie. + // Optional. Default value "". + //rkmuxcsrf.WithCookiePath(""), + // + // WithCookieMaxAge provide max age (in seconds) of the CSRF cookie. + // Optional. Default value 86400 (24hr). + //rkmuxcsrf.WithCookieMaxAge(10), + // + // WithCookieHTTPOnly indicates if CSRF cookie is HTTP only. + // Optional. Default value false. + //rkmuxcsrf.WithCookieHTTPOnly(false), + // + // WithCookieSameSite indicates SameSite mode of the CSRF cookie. + // Optional. Default value SameSiteDefaultMode. + //rkmuxcsrf.WithCookieSameSite(http.SameSiteStrictMode), + ), + } +``` + +### Context Usage +| Name | Functionality | +| ------ | ------ | +| rkmuxctx.GetLogger(req, writer) | Get logger generated by log interceptor. If there are X-Request-Id or X-Trace-Id as headers in incoming and outgoing metadata, then loggers will has requestId and traceId attached by default. | +| rkmuxctx.GetEvent(req) | Get event generated by log interceptor. Event would be printed as soon as RPC finished. | +| rkmuxctx.GetIncomingHeaders(req) | Get incoming header. | +| rkmuxctx.AddHeaderToClient(writer, "k", "v") | Add k/v to headers which would be sent to client. This is append operation. | +| rkmuxctx.SetHeaderToClient(writer, "k", "v") | Set k/v to headers which would be sent to client. | +| rkmuxctx.GetJwtToken(req) | Get jwt token if exists | +| rkmuxctx.GetCsrfToken(req) | Get csrf token if exists | + +## Example +#### Start server +```shell script +$ go run greeter-server.go +``` + +#### Send request +- Send GET request, no csrf validation expected and a new cookie should be there. + +```shell script +$ curl -X GET -vs localhost:8080/v1/greeter +* Trying ::1... +* TCP_NODELAY set +* Connected to localhost (::1) port 8080 (#0) +> GET /v1/greeter HTTP/1.1 +> Host: localhost:8080 +> User-Agent: curl/7.64.1 +> Accept: */* +> +< HTTP/1.1 200 OK +< Content-Type: application/json +< Set-Cookie: _csrf=XVlBzgbaiCMRAjWwhTHctcuAxhxKQFDa; Expires=Thu, 30 Dec 2021 17:27:26 GMT +< Vary: Cookie +< Date: Wed, 29 Dec 2021 17:27:26 GMT +< Content-Length: 57 +< +* Connection #0 to host localhost left intact +{"Message":"CSRF token:XVlBzgbaiCMRAjWwhTHctcuAxhxKQFDa"} +``` + +- POST method with happy case + +```shell script +$ curl -X POST -v --cookie "_csrf=my-test-csrf-token" -H "X-CSRF-Token:my-test-csrf-token" localhost:8080/rk/v1/greeter +* Trying ::1... +* TCP_NODELAY set +* Connected to localhost (::1) port 8080 (#0) +> POST /v1/greeter HTTP/1.1 +> Host: localhost:8080 +> User-Agent: curl/7.64.1 +> Accept: */* +> Cookie: _csrf=my-test-csrf-token +> X-CSRF-Token:my-test-csrf-token +> +< HTTP/1.1 200 OK +< Content-Type: application/json +< Set-Cookie: _csrf=my-test-csrf-token; Expires=Thu, 30 Dec 2021 17:27:54 GMT +< Vary: Cookie +< Date: Wed, 29 Dec 2021 17:27:54 GMT +< Content-Length: 43 +< +* Connection #0 to host localhost left intact +{"Message":"CSRF token:my-test-csrf-token"} +``` + +- POST method with invalid csrf +```shell script +$ curl -X POST -v -H "X-CSRF-Token:my-test-csrf-token" localhost:8080/v1/greeter +* Trying ::1... +* TCP_NODELAY set +* Connected to localhost (::1) port 8080 (#0) +> POST /v1/greeter HTTP/1.1 +> Host: localhost:8080 +> User-Agent: curl/7.64.1 +> Accept: */* +> X-CSRF-Token:my-test-csrf-token +> +< HTTP/1.1 403 Forbidden +< Content-Type: application/json +< Date: Wed, 29 Dec 2021 17:28:14 GMT +< Content-Length: 87 +< +* Connection #0 to host localhost left intact +{"error":{"code":403,"status":"Forbidden","message":"invalid csrf token","details":[]}} +``` + +#### Code +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/csrf/greeter-server.go b/example/interceptor/csrf/greeter-server.go new file mode 100644 index 0000000..5a0926c --- /dev/null +++ b/example/interceptor/csrf/greeter-server.go @@ -0,0 +1,125 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-mux/interceptor/csrf" + "net/http" +) + +// In this example, we will start a new mux server with csrf interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter. +func main() { + // ****************************************************** + // ********** Override App name and version ************* + // ****************************************************** + // + // rkentry.GlobalAppCtx.GetAppInfoEntry().AppName = "demo-app" + // rkentry.GlobalAppCtx.GetAppInfoEntry().Version = "demo-version" + + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxcsrf.Interceptor( + // Required, entry name and entry type will be used for distinguishing interceptors. Recommended. + rkmuxcsrf.WithEntryNameAndType("greeter", "mux"), + // + // Optional, provide skipper function + //rkmuxcsrf.WithSkipper(func(*http.Request) bool { + // return true + //}), + // + // WithTokenLength the length of the generated token. + // Optional. Default value 32. + //rkmuxcsrf.WithTokenLength(10), + // + // WithTokenLookup a string in the form of ":" that is used + // to extract token from the request. + // Optional. Default value "header:X-CSRF-Token". + // Possible values: + // - "header:" + // - "form:" + // - "query:" + // Optional. Default value "header:X-CSRF-Token". + //rkmuxcsrf.WithTokenLookup("header:X-CSRF-Token"), + // + // WithCookieName provide name of the CSRF cookie. This cookie will store CSRF token. + // Optional. Default value "csrf". + //rkmuxcsrf.WithCookieName("csrf"), + // + // WithCookieDomain provide domain of the CSRF cookie. + // Optional. Default value "". + //rkmuxcsrf.WithCookieDomain(""), + // + // WithCookiePath provide path of the CSRF cookie. + // Optional. Default value "". + //rkmuxcsrf.WithCookiePath(""), + // + // WithCookieMaxAge provide max age (in seconds) of the CSRF cookie. + // Optional. Default value 86400 (24hr). + //rkmuxcsrf.WithCookieMaxAge(10), + // + // WithCookieHTTPOnly indicates if CSRF cookie is HTTP only. + // Optional. Default value false. + //rkmuxcsrf.WithCookieHTTPOnly(false), + // + // WithCookieSameSite indicates SameSite mode of the CSRF cookie. + // Optional. Default value SameSiteDefaultMode. + //rkmuxcsrf.WithCookieSameSite(http.SameSiteStrictMode), + ), + } + + // 1: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("CSRF token:%v", rkmuxctx.GetCsrfToken(req)), + }) +} diff --git a/example/interceptor/jwt/Makefile b/example/interceptor/jwt/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/jwt/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/jwt/README.md b/example/interceptor/jwt/README.md new file mode 100644 index 0000000..114376b --- /dev/null +++ b/example/interceptor/jwt/README.md @@ -0,0 +1,143 @@ +# JWT middleware +In this example, we will try to create echo server with JWT middleware enabled. + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Options](#options) + - [Context Usage](#context-usage) +- [Example](#example) + - [Start server](#start-server) + - [Send request](#send-request) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-mux +``` + +### Code +Add rkechojwt.Interceptor() jwt with option. + +```go +import "github.com/rookie-ninja/rk-mux/interceptor/jwt" +``` +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxjwt.Interceptor( + // Required, provide signing key. + rkmuxjwt.WithSigningKey([]byte("my-secret")), + ), + } +``` + +## Options +| Name | Description | Default Values | +| ---- | ---- | ---- | +| rkmuxjwt.WithEntryNameAndType(entryName, entryType string) | Optional. Provide entry name and type if there are multiple jwt interceptors needs to be used. | echo, echo | +| rkmuxjwt.WithSkipper(skipper function) | Optional. Provide skipper function | function always returns false | +| rkmuxjwt.WithSigningKey(interface{}) | Required. Provide signing key | nil | +| rkmuxjwt.WithSigningKeys(string, interface{}) | Optional. Provide signing key value pairs | empty | +| rkmuxjwt.WithSigningAlgorithm(string) | Optional, Provide signing algorithm. | HS256 | +| rkmuxjwt.WithClaims(jwt.Claims) | Optional, provide jwt.Claims. | jwt.MapClaims{} | +| rkmuxjwt.WithTokenLookup(string) | Optional, provide jwt token lookup rules, please see code comments for details. | "header:Authorization" | +| rkmuxjwt.WithAuthScheme(string) | Optional, provide auth scheme. | Bearer | +| rkmuxjwt.WithKeyFunc(jwt.Keyfunc) | Optional, provide key function. | default function will be assigned. | +| rkmuxjwt.WithParseTokenFunc(func) | Optional, provide token parse function. | default function will be assigned. | +| rkmuxjwt.WithIgnorePrefix([]string) | Optional, provide ignoring path prefix. | [] | + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxjwt.Interceptor( + // Required, entry name and entry type will be used for distinguishing interceptors. Recommended. + //rkmuxjwt.WithEntryNameAndType("greeter", "mux"), + // + // Required, provide signing key. + rkmuxjwt.WithSigningKey([]byte("my-secret")), + // + // Optional, provide skipper function + //rkmuxjwt.WithSkipper(func(*http.Request) bool { + // return true + //}), + // + // Optional, provide token parse function, default one will be assigned. + //rkmuxjwt.WithParseTokenFunc(func(auth string, req *http.Request) (*jwt.Token, error) { + // return nil, nil + //}), + // + // Optional, provide key function, default one will be assigned. + //rkmuxjwt.WithKeyFunc(func(token *jwt.Token) (interface{}, error) { + // return nil, nil + //}), + // + // Optional, default is Bearer + //rkmuxjwt.WithAuthScheme("Bearer"), + // + // Optional + //rkmuxjwt.WithTokenLookup("header:my-jwt-header-key"), + // + // Optional, default is HS256 + //rkmuxjwt.WithSigningAlgorithm(rkmuxjwt.AlgorithmHS256), + ), + } +``` + +### Context Usage +| Name | Functionality | +| ------ | ------ | +| rkmuxctx.GetLogger(req, writer) | Get logger generated by log interceptor. If there are X-Request-Id or X-Trace-Id as headers in incoming and outgoing metadata, then loggers will has requestId and traceId attached by default. | +| rkmuxctx.GetEvent(req) | Get event generated by log interceptor. Event would be printed as soon as RPC finished. | +| rkmuxctx.GetIncomingHeaders(req) | Get incoming header. | +| rkmuxctx.AddHeaderToClient(writer, "k", "v") | Add k/v to headers which would be sent to client. This is append operation. | +| rkmuxctx.SetHeaderToClient(writer, "k", "v") | Set k/v to headers which would be sent to client. | +| rkmuxctx.GetJwtToken(req) | Get jwt token if exists | +| rkmuxctx.GetCsrfToken(req) | Get csrf token if exists | + +## Example +In this example, we will get jwt token from https://jwt.io/. + +#### Start server +```shell script +$ go run greeter-server.go +``` + +#### Send request +- with valid jwt token + +```shell script +$ curl localhost:8080/v1/greeter -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.EpM5XBzTJZ4J8AfoJEcJrjth8pfH28LWdjLo90sYb9g" +{"Message":"Is token valid:true!"} +``` + +- with invalid jwt token + +```shell script +$ curl localhost:8080/v1/greeter -H "Authorization: Bearer invalid-jwt-token" +{ + "error":{ + "code":401, + "status":"Unauthorized", + "message":"invalid or expired jwt", + "details":[ + "token contains an invalid number of segments" + ] + } +} +``` + +#### Code + +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/jwt/greeter-server.go b/example/interceptor/jwt/greeter-server.go new file mode 100644 index 0000000..cd5d301 --- /dev/null +++ b/example/interceptor/jwt/greeter-server.go @@ -0,0 +1,110 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-mux/interceptor/jwt" + "net/http" +) + +// In this example, we will start a new mux server with jwt interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter. +func main() { + // ****************************************************** + // ********** Override App name and version ************* + // ****************************************************** + // + // rkentry.GlobalAppCtx.GetAppInfoEntry().AppName = "demo-app" + // rkentry.GlobalAppCtx.GetAppInfoEntry().Version = "demo-version" + + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + //rkmuxlog.Interceptor(), + rkmuxjwt.Interceptor( + // Required, entry name and entry type will be used for distinguishing interceptors. Recommended. + //rkmuxjwt.WithEntryNameAndType("greeter", "mux"), + // + // Required, provide signing key. + rkmuxjwt.WithSigningKey([]byte("my-secret")), + // + // Optional, provide skipper function + //rkmuxjwt.WithSkipper(func(*http.Request) bool { + // return true + //}), + // + // Optional, provide token parse function, default one will be assigned. + //rkmuxjwt.WithParseTokenFunc(func(auth string, req *http.Request) (*jwt.Token, error) { + // return nil, nil + //}), + // + // Optional, provide key function, default one will be assigned. + //rkmuxjwt.WithKeyFunc(func(token *jwt.Token) (interface{}, error) { + // return nil, nil + //}), + // + // Optional, default is Bearer + //rkmuxjwt.WithAuthScheme("Bearer"), + // + // Optional + //rkmuxjwt.WithTokenLookup("header:my-jwt-header-key"), + // + // Optional, default is HS256 + //rkmuxjwt.WithSigningAlgorithm(rkmuxjwt.AlgorithmHS256), + ), + } + + // 1: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Is token valid:%v!", rkmuxctx.GetJwtToken(req).Valid), + }) +} diff --git a/example/interceptor/log/Makefile b/example/interceptor/log/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/log/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/log/README.md b/example/interceptor/log/README.md new file mode 100644 index 0000000..82aa1fd --- /dev/null +++ b/example/interceptor/log/README.md @@ -0,0 +1,202 @@ +# Log middleware +In this example, we will try to create mux server with log middleware enabled. + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Options](#options) + - [Encoding](#encoding) + - [OutputPath](#outputpath) + - [Context Usage](#context-usage) +- [Example](#example) + - [Start server](#start-server) + - [Output](#output) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-mux +``` + +### Code +```go +import "github.com/rookie-ninja/rk-mux/interceptor/log/zap" +``` + +```go + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor(), + } +``` + +## Options +Log interceptor will init rkquery.Event, zap.Logger and entryName which will be injected into request context before user function. +As soon as user function returns, interceptor will write the event into files. + +![arch](img/arch.png) + +| Name | Default | Description | +| ---- | ---- | ---- | +| WithEntryNameAndType(entryName, entryType string) | entryName=mux, entryType=mux | entryName and entryType will be used to distinguish options if there are multiple interceptors in single process. | +| WithZapLoggerEntry(zapLoggerEntry *rkentry.ZapLoggerEntry) | [rkentry.GlobalAppCtx.GetZapLoggerEntryDefault()](https://github.com/rookie-ninja/rk-entry/blob/master/entry/context.go) | Zap logger would print to stdout with console encoding type. | +| WithEventLoggerEntry(eventLoggerEntry *rkentry.EventLoggerEntry) | [rkentry.GlobalAppCtx.GetEventLoggerEntryDefault()](https://github.com/rookie-ninja/rk-entry/blob/master/entry/context.go) | Event logger would print to stdout with console encoding type. | +| WithZapLoggerEncoding(ec int) | rkmuxlog.ENCODING_CONSOLE | rkmuxlog.ENCODING_CONSOLE and rkmuxlog.ENCODING_JSON are available options. | +| WithZapLoggerOutputPaths(path ...string) | stdout | Both absolute path and relative path is acceptable. Current working directory would be used if path is relative. | +| WithEventLoggerEncoding(ec int) | rkmuxlog.ENCODING_CONSOLE | rkmuxlog.ENCODING_CONSOLE and rkmuxlog.ENCODING_JSON are available options. | +| WithEventLoggerOutputPaths(path ...string) | stdout | Both absolute path and relative path is acceptable. Current working directory would be used if path is relative. | + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + // rkmuxlog.WithEntryNameAndType("greeter", "mux"), + // + // Zap logger would be logged as JSON format. + // rkmuxlog.WithZapLoggerEncoding(rkmuxlog.ENCODING_JSON), + // + // Event logger would be logged as JSON format. + // rkmuxlog.WithEventLoggerEncoding(rkmuxlog.ENCODING_JSON), + // + // Zap logger would be logged to specified path. + // rkmuxlog.WithZapLoggerOutputPaths("logs/server-zap.log"), + // + // Event logger would be logged to specified path. + // rkmuxlog.WithEventLoggerOutputPaths("logs/server-event.log"), + ), + } +``` + +### Encoding +- CONSOLE +No options needs to be provided. +```shell script +2021-12-30T01:36:31.535+0800 INFO log/greeter-server.go:88 Received request from client. +``` + +```shell script +------------------------------------------------------------------------ +endTime=2021-12-30T01:36:31.53557+08:00 +startTime=2021-12-30T01:36:31.535428+08:00 +elapsedNano=142132 +timezone=CST +ids={"eventId":"3c7cd5f4-87f3-42c8-b50e-bb77199b859c"} +app={"appName":"rk","appVersion":"","entryName":"mux","entryType":"mux"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"","userAgent":"curl/7.64.1"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=localhost:59678 +operation=/v1/greeter +resCode=200 +eventStatus=Ended +EOE +``` + +- JSON +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor( + // Zap logger would be logged as JSON format. + rkmuxlog.WithZapLoggerEncoding(rkmuxlog.ENCODING_JSON), + // + // Event logger would be logged as JSON format. + rkmuxlog.WithEventLoggerEncoding(rkmuxlog.ENCODING_JSON), + ), + } +``` +```json +{"level":"INFO","ts":"2021-12-30T01:37:21.974+0800","msg":"Received request from client."} +``` +```json +{"endTime": "2021-12-30T01:37:21.974+0800", "startTime": "2021-12-30T01:37:21.974+0800", "elapsedNano": 91958, "timezone": "CST", "ids": {"eventId":"9d1fed61-2368-464b-bfa7-d7935d48e37d"}, "app": {"appName":"rk","appVersion":"","entryName":"mux","entryType":"mux"}, "env": {"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"}, "payloads": {"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"}, "error": {}, "counters": {}, "pairs": {}, "timing": {}, "remoteAddr": "localhost:63010", "operation": "/v1/greeter", "eventStatus": "Ended", "resCode": "200"} +``` + +### OutputPath +- Stdout +No options needs to be provided. + +- Files +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor( + // Zap logger would be logged to specified path. + rkmuxlog.WithZapLoggerOutputPaths("logs/server-zap.log"), + // + // Event logger would be logged to specified path. + rkmuxlog.WithEventLoggerOutputPaths("logs/server-event.log"), + ), + } +``` + +### Context Usage +| Name | Functionality | +| ------ | ------ | +| rkmuxctx.GetLogger(req, writer) | Get logger generated by log interceptor. If there are X-Request-Id or X-Trace-Id as headers in incoming and outgoing metadata, then loggers will has requestId and traceId attached by default. | +| rkmuxctx.GetEvent(req) | Get event generated by log interceptor. Event would be printed as soon as RPC finished. | +| rkmuxctx.GetIncomingHeaders(req) | Get incoming header. | +| rkmuxctx.AddHeaderToClient(writer, "k", "v") | Add k/v to headers which would be sent to client. This is append operation. | +| rkmuxctx.SetHeaderToClient(writer, "k", "v") | Set k/v to headers which would be sent to client. | +| rkmuxctx.GetJwtToken(req) | Get jwt token if exists | +| rkmuxctx.GetCsrfToken(req) | Get csrf token if exists | + +## Example +In this example, we enable log interceptor. + +#### Start server +```shell script +$ go run greeter-server.go +``` + +#### Output +- Server side (zap & event) +```shell script +2021-12-30T01:45:08.009+0800 INFO log/greeter-server.go:88 Received request from client. +``` + +```shell script +------------------------------------------------------------------------ +endTime=2021-12-30T01:45:08.009794+08:00 +startTime=2021-12-30T01:45:08.009611+08:00 +elapsedNano=182842 +timezone=CST +ids={"eventId":"b9d5bd80-29d6-4cef-9e4c-0dee0ec72c0d"} +app={"appName":"rk","appVersion":"","entryName":"mux","entryType":"mux"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=localhost:61026 +operation=/v1/greeter +resCode=200 +eventStatus=Ended +EOE +``` + +- Client side +```shell script +$ curl "localhost:8080/v1/greeter?name=rk-dev" +{"Message":"Hello rk-dev!"} +``` + +### Code +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/log/greeter-server.go b/example/interceptor/log/greeter-server.go new file mode 100644 index 0000000..497bbd5 --- /dev/null +++ b/example/interceptor/log/greeter-server.go @@ -0,0 +1,128 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-mux/interceptor/log/zap" + "net/http" +) + +// In this example, we will start a new mux server with log interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter?name=. +func main() { + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + //rkmuxmeta.Interceptor(), + rkmuxlog.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + // rkmuxlog.WithEntryNameAndType("greeter", "mux"), + // + // Zap logger would be logged as JSON format. + //rkmuxlog.WithZapLoggerEncoding(rkmuxlog.ENCODING_JSON), + // + // Event logger would be logged as JSON format. + //rkmuxlog.WithEventLoggerEncoding(rkmuxlog.ENCODING_JSON), + // + // Zap logger would be logged to specified path. + //rkmuxlog.WithZapLoggerOutputPaths("logs/server-zap.log"), + // + // Event logger would be logged to specified path. + //rkmuxlog.WithEventLoggerOutputPaths("logs/server-event.log"), + ), + } + + // 1: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler for greeter. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + // + // RequestId will be printed if enabled by bellow codes. + // 1: Enable rkmuxmeta.Interceptor() in server side. + // 2: rkmuxctx.SetHeaderToClient(ctx, rkmuxctx.RequestIdKey, rkcommon.GenerateRequestId()) + // + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + // ******************************************* + // ********** rpc-scoped event ************* + // ******************************************* + // + // Get rkquery.Event which would be printed as soon as request finish. + // User can call any Add/Set/Get functions on rkquery.Event + // + // rkmuxctx.GetEvent(req).AddPair("rk-key", "rk-value") + + // ********************************************* + // ********** Get incoming headers ************* + // ********************************************* + // + // Read headers sent from client. + // + //for k, v := range rkmuxctx.GetIncomingHeaders(req) { + // fmt.Println(fmt.Sprintf("%s: %s", k, v)) + //} + + // ********************************************************* + // ********** Add headers will send to client ************** + // ********************************************************* + // + // Send headers to client with this function + // + //rkmuxctx.AddHeaderToClient(writer, "from-server", "value") + + // *********************************************** + // ********** Get and log request id ************* + // *********************************************** + // + // RequestId will be printed on both client and server side. + // + //rkmuxctx.SetHeaderToClient(writer, rkmuxctx.RequestIdKey, rkcommon.GenerateRequestId()) + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} diff --git a/example/interceptor/log/img/arch.png b/example/interceptor/log/img/arch.png new file mode 100644 index 0000000..688dad3 Binary files /dev/null and b/example/interceptor/log/img/arch.png differ diff --git a/example/interceptor/meta/Makefile b/example/interceptor/meta/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/meta/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/meta/README.md b/example/interceptor/meta/README.md new file mode 100644 index 0000000..1bc6174 --- /dev/null +++ b/example/interceptor/meta/README.md @@ -0,0 +1,223 @@ +# Meta middleware +In this example, we will try to create mux server meta middleware enabled. + +Meta interceptor will send bellow headers to client by default. + +| Header key | Description | +| ---- | ---- | +| X-Request-Id | Request id generated by the interceptor. | +| X-[Prefix]-App | Application name. | +| X-[Prefix]-App-Version | Version of application. | +| X-[Prefix]-App-Unix-Time | Unix time of current application. | +| X-[Prefix]-Request-Received-Time | Time of current request received by application. | + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Options](#options) + - [Context Usage](#context-usage) +- [Override RequestId](#override-requestid) +- [Override AppName and AppVersion](#override-appname-and-appversion) +- [Example](#example) + - [Start server](#start-server) + - [Output](#output) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-mux +``` + +### Code +Add rkmuxmeta.Interceptor() meta with option. + +```go +import "github.com/rookie-ninja/rk-mux/interceptor/meta" +``` +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxmeta.Interceptor(), + } +``` + +## Options +Meta interceptor is only available on server side. The interceptor will send bellow headers back to client. + +- X-Request-Id: Generated by [rkcommon.GenerateRequestId()](https://github.com/rookie-ninja/rk-common/blob/master/common/common.go) +- X-RK-App-Name: Retrieved from [rkentry.GlobalAppCtx.GetAppInfoEntry().AppName](https://github.com/rookie-ninja/rk-entry#appinfoentry) +- X-RK-App-Version: Retrieved from [rkentry.GlobalAppCtx.GetAppInfoEntry().Version](https://github.com/rookie-ninja/rk-entry#appinfoentry) +- X-RK-Unix-Time: Server time when request arrives. +- X-RK-Received-Time: Server time when request arrives. + +![arch](img/arch.png) + +| Name | Description | Default Values | +| ---- | ---- | ---- | +| rkmuxmeta.WithEntryNameAndType(entryName, entryType string) | Provide entry name and type if there are multiple meta interceptors needs to be used. | mux, mux | +| rkmuxmeta.WithPrefix(prefix string) | Provide prefix of meta header | RK | + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxmeta.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + // rkmuxmeta.WithEntryNameAndType("greeter", "mux"), + // + // We will replace X--XXX with prefix user provided. + // rkmuxmeta.WithPrefix("Dog"), + ), + } +``` +```shell script +# Print out headers from server on client side. +< X-Request-Id: d987d82d-4eb0-43f8-8524-012e21707ab0 +< X-Rk-App-Name: rk +< X-Rk-App-Unix-Time: 2021-12-30T01:51:30.816119+08:00 +< X-Rk-App-Version: +< X-Rk-Received-Time: 2021-12-30T01:51:30.816119+08:00 +``` + +### Context Usage +| Name | Functionality | +| ------ | ------ | +| rkmuxctx.GetLogger(req, writer) | Get logger generated by log interceptor. If there are X-Request-Id or X-Trace-Id as headers in incoming and outgoing metadata, then loggers will has requestId and traceId attached by default. | +| rkmuxctx.GetEvent(req) | Get event generated by log interceptor. Event would be printed as soon as RPC finished. | +| rkmuxctx.GetIncomingHeaders(req) | Get incoming header. | +| rkmuxctx.AddHeaderToClient(writer, "k", "v") | Add k/v to headers which would be sent to client. This is append operation. | +| rkmuxctx.SetHeaderToClient(writer, "k", "v") | Set k/v to headers which would be sent to client. | +| rkmuxctx.GetJwtToken(req) | Get jwt token if exists | +| rkmuxctx.GetCsrfToken(req) | Get csrf token if exists | + +## Override RequestId +In this example, we will try to override X-Request-Id header with our own. We will send both auto generated requestId and user +requestId to client. + +Otherwise, if log interceptor was enabled, we will pick the latest one and attach to event logger and zap logger. + +```go + rkmuxctx.SetHeaderToClient(writer, rkmuxctx.RequestIdKey, "this-is-my-request-id-overridden") +``` + +```shell script +# Headers sent from server. +< X-Request-Id: this-is-my-request-id-overridden +< X-Rk-App-Name: rk +< X-Rk-App-Unix-Time: 2021-12-30T01:54:43.462978+08:00 +< X-Rk-App-Version: +< X-Rk-Received-Time: 2021-12-30T01:54:43.462978+08:00 +``` + +```shell script +# Event logger +------------------------------------------------------------------------ +endTime=2021-12-30T01:54:43.463089+08:00 +startTime=2021-12-30T01:54:43.462966+08:00 +elapsedNano=122925 +timezone=CST +ids={"eventId":"this-is-my-request-id-overridden","requestId":"this-is-my-request-id-overridden"} +app={"appName":"rk","appVersion":"","entryName":"mux","entryType":"mux"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=localhost:49874 +operation=/v1/greeter +resCode=200 +eventStatus=Ended +EOE +``` + +## Override AppName and AppVersion +AppName and AppVersion was retrieved from [rkentry.GlobalAppCtx.GetAppInfoEntry().AppName](https://github.com/rookie-ninja/rk-entry#appinfoentry) and [rkentry.GlobalAppCtx.GetAppInfoEntry().Version](https://github.com/rookie-ninja/rk-entry#appinfoentry). + +Override it before mux server starts. + +```go +func main() { + ... + // 0: Override AppName and AppVersion + rkentry.GlobalAppCtx.GetAppInfoEntry().AppName = "demo-app" + rkentry.GlobalAppCtx.GetAppInfoEntry().Version = "demo-version" + + // 1: Create mux server + server := startGreeterServer(opts...) + ... +} +``` + +```shell script +# Headers sent from server +< X-Request-Id: 78aa9737-fed8-4f59-a8f6-8586441e736f +< X-Rk-App-Name: demo-app +< X-Rk-App-Unix-Time: 2021-12-30T01:55:48.257657+08:00 +< X-Rk-App-Version: demo-version +< X-Rk-Received-Time: 2021-12-30T01:55:48.257657+08:00 +``` + +## Example +In this example, we enable log interceptor either to monitor RPC status. + +#### Start server +```shell script +$ go run greeter-server.go +``` + +#### Output +- Server side (zap & event) +```shell script +2021-12-30T01:55:48.257+0800 INFO meta/greeter-server.go:87 Received request from client. {"requestId": "78aa9737-fed8-4f59-a8f6-8586441e736f"} +``` + +```shell script +------------------------------------------------------------------------ +endTime=2021-12-30T01:55:48.257793+08:00 +startTime=2021-12-30T01:55:48.257642+08:00 +elapsedNano=151129 +timezone=CST +ids={"eventId":"78aa9737-fed8-4f59-a8f6-8586441e736f","requestId":"78aa9737-fed8-4f59-a8f6-8586441e736f"} +app={"appName":"demo-app","appVersion":"demo-version","entryName":"mux","entryType":"mux"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=localhost:54187 +operation=/v1/greeter +resCode=200 +eventStatus=Ended +EOE + +``` + +- Client side +```shell script +$ curl -vs "localhost:8080/rk/v1/greeter?name=rk-dev" +... +< HTTP/1.1 200 OK +< Content-Type: application/json; charset=utf-8 +< X-Request-Id: 78aa9737-fed8-4f59-a8f6-8586441e736f +< X-Rk-App-Name: demo-app +< X-Rk-App-Unix-Time: 2021-12-30T01:55:48.257657+08:00 +< X-Rk-App-Version: demo-version +< X-Rk-Received-Time: 2021-12-30T01:55:48.257657+08:00 +... +{"Message":"Hello rk-dev!"} +``` + +#### Code +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/meta/greeter-server.go b/example/interceptor/meta/greeter-server.go new file mode 100644 index 0000000..cd4bd88 --- /dev/null +++ b/example/interceptor/meta/greeter-server.go @@ -0,0 +1,92 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + rkmuxlog "github.com/rookie-ninja/rk-mux/interceptor/log/zap" + "github.com/rookie-ninja/rk-mux/interceptor/meta" + "net/http" +) + +// In this example, we will start a new mux server with meta interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter?name=. +func main() { + // ****************************************************** + // ********** Override App name and version ************* + // ****************************************************** + // + rkentry.GlobalAppCtx.GetAppInfoEntry().AppName = "demo-app" + rkentry.GlobalAppCtx.GetAppInfoEntry().Version = "demo-version" + + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor(), + rkmuxmeta.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + // rkmuxmeta.WithEntryNameAndType("greeter", "mux"), + // + // We will replace X--XXX with prefix user provided. + // rkmuxmeta.WithPrefix("Dog"), + ), + } + + // 1: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + // + // RequestId will be printed if enabled by bellow codes. + // 1: Enable rkmuxmeta.Interceptor() in server side. + // 2: rkmuxctx.SetHeaderToClient(writer, rkmuxctx.RequestIdKey, rkcommon.GenerateRequestId()) + // + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} diff --git a/example/interceptor/meta/img/arch.png b/example/interceptor/meta/img/arch.png new file mode 100644 index 0000000..63b23e3 Binary files /dev/null and b/example/interceptor/meta/img/arch.png differ diff --git a/example/interceptor/metrics/Makefile b/example/interceptor/metrics/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/metrics/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/metrics/README.md b/example/interceptor/metrics/README.md new file mode 100644 index 0000000..c55c548 --- /dev/null +++ b/example/interceptor/metrics/README.md @@ -0,0 +1,127 @@ +# Metrics middleware +In this example, we will try to create mux server with metrics middleware enabled. + +Metrics interceptor will collect bellow metrics with prometheus data format. +- RPC elapsed +- RPC error count +- RPC response code count + +Users need to start a prometheus client locally export the data. +[rk-prom](https://github.com/rookie-ninja/rk-prom) would be a good option start prometheus client easily. + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Options](#options) + - [Override namespace and subsystem](#override-namespace-and-subsystem) + - [Override Registerer](#override-registerer) + - [Context Usage](#context-usage) +- [Example](#example) + - [Start server](#start-server) + - [Output](#output) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +### Code +```go +import "github.com/rookie-ninja/rk-mux/interceptor/metrics/prom" +``` +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxmetrics.Interceptor(), + } +``` + +## Options +In order to define prometheus style metrics, we need to define and . +- namespace: rkentry.GlobalAppCtx().AppName ("rk" will be used by default.) +- subsystem: entryName (Provided as interceptor option. "mux" will be used by default.) + +| Name | Description | Default Values | +| ---- | ---- | ---- | +| rkmuxmetrics.WithEntryNameAndType(entryName, entryType string) | Provide entry name and type if there are multiple extension interceptors needs to be used. | rk, mux | +| rkmuxmetrics.WithRegisterer(registerer prometheus.Registerer) | Provide prometheus registerer. | prometheus.DefaultRegisterer | + +![arch](img/arch.png) + +### Override namespace and subsystem +```go +func main() { + // Override app name which would replace namespace value in prometheus. + rkentry.GlobalAppCtx.GetAppInfoEntry().AppName = "newApp" + + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxmetrics.Interceptor( + // Add metrics interceptor with entry name and entry type. + // subsystem would be replaced with newEntry. + rkmuxmetrics.Interceptor(rkmuxmetrics.WithEntryNameAndType("newEntry", "mux")), + ), + } + + // 1: Create mux server + server := startGreeterServer(opts...) + ... +} +``` + +### Override Registerer +```go + interceptors := []mux.MiddlewareFunc{ + rkmuxmetrics.Interceptor( + // Provide new prometheus registerer. + // Default value is prometheus.DefaultRegisterer + rkmuxmetrics.WithRegisterer(prometheus.NewRegistry()), + ), + } +``` + +### Context Usage +| Name | Functionality | +| ------ | ------ | +| rkmuxctx.GetLogger(req, writer) | Get logger generated by log interceptor. If there are X-Request-Id or X-Trace-Id as headers in incoming and outgoing metadata, then loggers will has requestId and traceId attached by default. | +| rkmuxctx.GetEvent(req) | Get event generated by log interceptor. Event would be printed as soon as RPC finished. | +| rkmuxctx.GetIncomingHeaders(req) | Get incoming header. | +| rkmuxctx.AddHeaderToClient(writer, "k", "v") | Add k/v to headers which would be sent to client. This is append operation. | +| rkmuxctx.SetHeaderToClient(writer, "k", "v") | Set k/v to headers which would be sent to client. | +| rkmuxctx.GetJwtToken(req) | Get jwt token if exists | +| rkmuxctx.GetCsrfToken(req) | Get csrf token if exists | + +## Example +### Start server +```shell script +$ go run greeter-server.go +``` + +### Output +- Server: localhost:1608/metrics +```shell script +$ curl localhost:1608/metrics +... +# HELP rk_greeter_elapsedNano Summary for name:elapsedNano and labels:[entryName entryType realm region az domain instance appVersion appName restMethod restPath type resCode] +# TYPE rk_greeter_elapsedNano summary +rk_greeter_elapsedNano{appName="rk",appVersion="",az="*",domain="*",entryName="greeter",entryType="mux",instance="lark.local",realm="*",region="*",resCode="200",restMethod="GET",restPath="/v1/greeter",type="mux",quantile="0.5"} 88571 +rk_greeter_elapsedNano{appName="rk",appVersion="",az="*",domain="*",entryName="greeter",entryType="mux",instance="lark.local",realm="*",region="*",resCode="200",restMethod="GET",restPath="/v1/greeter",type="mux",quantile="0.9"} 88571 +rk_greeter_elapsedNano{appName="rk",appVersion="",az="*",domain="*",entryName="greeter",entryType="mux",instance="lark.local",realm="*",region="*",resCode="200",restMethod="GET",restPath="/v1/greeter",type="mux",quantile="0.99"} 88571 +rk_greeter_elapsedNano{appName="rk",appVersion="",az="*",domain="*",entryName="greeter",entryType="mux",instance="lark.local",realm="*",region="*",resCode="200",restMethod="GET",restPath="/v1/greeter",type="mux",quantile="0.999"} 88571 +rk_greeter_elapsedNano_sum{appName="rk",appVersion="",az="*",domain="*",entryName="greeter",entryType="mux",instance="lark.local",realm="*",region="*",resCode="200",restMethod="GET",restPath="/v1/greeter",type="mux"} 88571 +rk_greeter_elapsedNano_count{appName="rk",appVersion="",az="*",domain="*",entryName="greeter",entryType="mux",instance="lark.local",realm="*",region="*",resCode="200",restMethod="GET",restPath="/v1/greeter",type="mux"} 1 +# HELP rk_greeter_resCode counter for name:resCode and labels:[entryName entryType realm region az domain instance appVersion appName restMethod restPath type resCode] +# TYPE rk_greeter_resCode counter +rk_greeter_resCode{appName="rk",appVersion="",az="*",domain="*",entryName="greeter",entryType="mux",instance="lark.local",realm="*",region="*",resCode="200",restMethod="GET",restPath="/v1/greeter",type="mux"} 1 +``` + +### Code +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/metrics/greeter-server.go b/example/interceptor/metrics/greeter-server.go new file mode 100644 index 0000000..b02226c --- /dev/null +++ b/example/interceptor/metrics/greeter-server.go @@ -0,0 +1,93 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-mux/interceptor/metrics/prom" + "github.com/rookie-ninja/rk-prom" + "net/http" +) + +// In this example, we will start a new mux server with metrics interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter?name=. +func main() { + // Override app name which would replace namespace value in prometheus. + // rkentry.GlobalAppCtx.GetAppInfoEntry().AppName = "newApp" + + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxmetrics.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + rkmuxmetrics.WithEntryNameAndType("greeter", "mux"), + // + // Provide new prometheus registerer. + // Default value is prometheus.DefaultRegisterer + //rkmuxmetrics.WithRegisterer(prometheus.NewRegistry()), + ), + } + + // 1: Start prometheus client + // By default, we will start prometheus client at localhost:1608/metrics + promEntry := rkprom.RegisterPromEntry() + promEntry.Bootstrap(context.Background()) + defer promEntry.Interrupt(context.Background()) + + // 2: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 3: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + // + // RequestId will be printed if enabled by bellow codes. + // 1: Enable rkmuxmeta.Interceptor() in server side. + // 2: rkmuxctx.SetHeaderToClient(writer, rkmuxctx.RequestIdKey, rkcommon.GenerateRequestId()) + // + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} diff --git a/example/interceptor/metrics/img/arch.png b/example/interceptor/metrics/img/arch.png new file mode 100644 index 0000000..7a79425 Binary files /dev/null and b/example/interceptor/metrics/img/arch.png differ diff --git a/example/interceptor/panic/Makefile b/example/interceptor/panic/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/panic/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/panic/README.md b/example/interceptor/panic/README.md new file mode 100644 index 0000000..9b003b8 --- /dev/null +++ b/example/interceptor/panic/README.md @@ -0,0 +1,93 @@ +# Panic middleware +In this example, we will try to create mux server with panic middleware enabled. + +Panic interceptor will add do the bellow actions. +- Recover from panic +- Convert interface to standard rkerror.ErrorResp style of error +- Set resCode to 500 +- Print stacktrace +- Set [panic:1] into event as counters +- Add error into event + +**Please make sure panic interceptor to be added at last in chain of interceptors.** + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Example](#example) + - [Start server](#start-server) + - [Output](#output) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-mux +``` +### Code +```go +import "github.com/rookie-ninja/rk-mux/interceptor/panic" +``` +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxpanic.Interceptor(), + } +``` + +## Example +We will enable log interceptor to monitor RPC. + +### Start server +```shell script +$ go run greeter-server.go +``` + +### Output +- Server side log (zap & event) +```shell script +2021-12-30T02:46:17.985+0800 ERROR panic/interceptor.go:46 panic occurs: +goroutine 51 [running]: +runtime/debug.Stack(0xc000258a00, 0x4b307f0, 0xc0001201e0) + /usr/local/Cellar/go/1.16.3/libexec/src/runtime/debug/stack.go:24 +0x9f +github.com/rookie-ninja/rk-mux/interceptor/panic.Interceptor.func1.1.1(0xc000258a00, 0x4b307f0, 0xc0001201e0) + /Users/dongxuny/workspace/rk/rk-mux/interceptor/panic/interceptor.go:46 +0x13f +... + {"error": "[Internal Server Error] Panic manually!"} +``` +```shell script +------------------------------------------------------------------------ +endTime=2021-12-30T02:46:17.986451+08:00 +startTime=2021-12-30T02:46:17.985752+08:00 +elapsedNano=699112 +timezone=CST +ids={"eventId":"5b72a821-5621-42df-accb-f2883409efdb"} +app={"appName":"rk","appVersion":"","entryName":"mux","entryType":"mux"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={"[Internal Server Error] Panic manually!":1} +counters={"panic":1} +pairs={} +timing={} +remoteAddr=localhost:57104 +operation=/v1/greeter +resCode=500 +eventStatus=Ended +EOE +``` +- Client side +```shell script +$ curl "localhost:8080/v1/greeter?name=rk-dev" +{"error":{"code":500,"status":"Internal Server Error","message":"Panic manually!","details":[]}} +``` + +### Code +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/panic/greeter-server.go b/example/interceptor/panic/greeter-server.go new file mode 100644 index 0000000..849bdc7 --- /dev/null +++ b/example/interceptor/panic/greeter-server.go @@ -0,0 +1,80 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/log/zap" + "github.com/rookie-ninja/rk-mux/interceptor/panic" + "net/http" +) + +// In this example, we will start a new mux server with panic interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter?name=. +func main() { + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor(), + rkmuxpanic.Interceptor(), + } + + // 1: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // All bellow panic case should return same error response. + // {"error":{"code":500,"status":"Internal Server Error","message":"Panic manually!","details":[]}} + + // Panic interceptor will wrap error with standard RK style error. + // Please refer to rkerror.ErrorResp. + // panic(errors.New("Panic manually!")) + + // Please refer to rkerror.ErrorResp. + // panic(rkerror.FromError(errors.New("Panic manually!"))) + + // Please refer to rkerror.ErrorResp. + panic("Panic manually!") + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} diff --git a/example/interceptor/ratelimit/Makefile b/example/interceptor/ratelimit/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/ratelimit/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/ratelimit/README.md b/example/interceptor/ratelimit/README.md new file mode 100644 index 0000000..9114057 --- /dev/null +++ b/example/interceptor/ratelimit/README.md @@ -0,0 +1,142 @@ +# Rate limit middleware +In this example, we will try to create mux server rate limit middleware enabled. + +Rate limit interceptor contains bellow algorithm + +| Type | Description | +| ---- | ---- | +| tokenBucket | [wiki](https://en.wikipedia.org/wiki/Token_bucket) | +| leakyBucket | [wiki](https://en.wikipedia.org/wiki/Leaky_bucket) | + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Options](#options) + - [Context Usage](#context-usage) +- [Example](#example) + - [Start server](#start-server) + - [Output](#output) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-muxmux +``` + +### Code +Add rkmuxlimit.Interceptor() with option. + +```go +import "github.com/rookie-ninja/rk-mux/interceptor/ratelimit" +``` +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlimit.Interceptor(), + } +``` + +## Options +| Name | Default | Description | +| ---- | ---- | ---- | +| WithEntryNameAndType(entryName, entryType string) | entryName=gf, entryType=gf | entryName and entryType will be used to distinguish options if there are multiple interceptors in single process. | +| WithReqPerSec(int) | int | Global rate limit per second. | +| WithReqPerSecByPath(path string, reqPerSec int) | "", 0 | Request limiter by Restful method. | +| WithAlgorithm(algo string) | tokenBucket | Algorithm of rate limiter. | +| WithGlobalLimiter(l Limiter) | nil | Provider user defined limiter. | +| WithLimiterByPath(path string, l Limiter) | "", nil | Provider user defined limiter by Restful method. | + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor(), + rkmuxlimit.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + //rkmuxlimit.WithEntryNameAndType("greeter", "mux"), + // + // Provide algorithm, rkmuxlimit.LeakyBucket and rkmuxlimit.TokenBucket was available, default is TokenBucket. + //rkmuxlimit.WithAlgorithm(rkmuxlimit.LeakyBucket), + // + // Provide request per second, if provide value of zero, then no requests will be pass through and user will receive an error with + // resource exhausted. + //rkmuxlimit.WithReqPerSec(10), + // + // Provide request per second with path name. + // The name should be full path name. if provide value of zero, + // then no requests will be pass through and user will receive an error with resource exhausted. + //rkmuxlimit.WithReqPerSecByPath("/rk/v1/greeter", 10), + // + // Provide user function of limiter. Returns error if you want to limit the request. + // Please do not try to set response code since it will be overridden by middleware. + //rkmuxlimit.WithGlobalLimiter(func(*http.Request) error { + // return fmt.Errorf("limited by custom limiter") + //}), + // + // Provide user function of limiter by path name. + // The name should be full path name. + //rkmuxlimit.WithLimiterByPath("/rk/v1/greeter", func(*http.Request) error { + // return nil + //}), + ), + } +``` + +### Context Usage +| Name | Functionality | +| ------ | ------ | +| rkmuxctx.GetLogger(req, writer) | Get logger generated by log interceptor. If there are X-Request-Id or X-Trace-Id as headers in incoming and outgoing metadata, then loggers will has requestId and traceId attached by default. | +| rkmuxctx.GetEvent(req) | Get event generated by log interceptor. Event would be printed as soon as RPC finished. | +| rkmuxctx.GetIncomingHeaders(req) | Get incoming header. | +| rkmuxctx.AddHeaderToClient(writer, "k", "v") | Add k/v to headers which would be sent to client. This is append operation. | +| rkmuxctx.SetHeaderToClient(writer, "k", "v") | Set k/v to headers which would be sent to client. | +| rkmuxctx.GetJwtToken(req) | Get jwt token if exists | +| rkmuxctx.GetCsrfToken(req) | Get csrf token if exists | + +## Example +In this example, we enable log interceptor either to monitor RPC status. + +#### Start server +```shell script +$ go run greeter-server.go +``` + +#### Output +- Server side (zap & event) +```shell script +2021-12-30T02:51:06.807+0800 INFO ratelimit/greeter-server.go:108 Received request from client. +``` + +```shell script +------------------------------------------------------------------------ +endTime=2021-12-30T02:51:06.807481+08:00 +startTime=2021-12-30T02:51:06.807375+08:00 +elapsedNano=105950 +timezone=CST +ids={"eventId":"53af1fa5-0834-4e3e-827b-d4b8bc2bcb3a"} +app={"appName":"rk","appVersion":"","entryName":"mux","entryType":"mux"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=localhost:59785 +operation=/v1/greeter +resCode=200 +eventStatus=Ended +EOE +``` + +#### Code +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/ratelimit/greeter-server.go b/example/interceptor/ratelimit/greeter-server.go new file mode 100644 index 0000000..bfda939 --- /dev/null +++ b/example/interceptor/ratelimit/greeter-server.go @@ -0,0 +1,113 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-mux/interceptor/log/zap" + "github.com/rookie-ninja/rk-mux/interceptor/ratelimit" + "net/http" +) + +// In this example, we will start a new mux server with rate limit interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter?name=. +func main() { + // ****************************************************** + // ********** Override App name and version ************* + // ****************************************************** + // + // rkentry.GlobalAppCtx.GetAppInfoEntry().AppName = "demo-app" + // rkentry.GlobalAppCtx.GetAppInfoEntry().Version = "demo-version" + + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor(), + rkmuxlimit.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + //rkmuxmeta.WithEntryNameAndType("greeter", "mux"), + // + // Provide algorithm, rkmuxlimit.LeakyBucket and rkmuxlimit.TokenBucket was available, default is TokenBucket. + //rkmuxlimit.WithAlgorithm(rkmuxlimit.LeakyBucket), + // + // Provide request per second, if provide value of zero, then no requests will be pass through and user will receive an error with + // resource exhausted. + //rkmuxlimit.WithReqPerSec(10), + // + // Provide request per second with path name. + // The name should be full path name. if provide value of zero, + // then no requests will be pass through and user will receive an error with resource exhausted. + //rkmuxlimit.WithReqPerSecByPath("/v1/greeter", 0), + // + // Provide user function of limiter. Returns error if you want to limit the request. + // Please do not try to set response code since it will be overridden by middleware. + //rkmuxlimit.WithGlobalLimiter(func(req *http.Request) error { + // return fmt.Errorf("limited by custom limiter") + //}), + // + // Provide user function of limiter by path name. + // The name should be full path name. + //rkmuxlimit.WithLimiterByPath("/v1/greeter", func(*http.Request) error { + // return nil + //}), + ), + } + + // 1: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + // + // RequestId will be printed if enabled by bellow codes. + // 1: Enable rkmuxmeta.Interceptor() in server side. + // 2: rkmuxctx.SetHeaderToClient(writer, rkmuxctx.RequestIdKey, rkcommon.GenerateRequestId()) + // + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} diff --git a/example/interceptor/secure/Makefile b/example/interceptor/secure/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/secure/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/secure/README.md b/example/interceptor/secure/README.md new file mode 100644 index 0000000..46880c1 --- /dev/null +++ b/example/interceptor/secure/README.md @@ -0,0 +1,138 @@ +# Secure middleware +In this example, we will try to create mux server with Secure middleware enabled. + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Options](#options) + - [Context Usage](#context-usage) +- [Example](#example) + - [Start server](#start-server) + - [Send request](#send-request) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-mux +``` + +### Code +Add rkmuxsec.Interceptor() with option. + +```go +import "github.com/rookie-ninja/rk-mux/interceptor/secure" +``` +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxsec.Interceptor(), + } +``` + +## Options +| Name | Description | Default Values | +| ---- | ---- | ---- | +| rkmuxsec.WithEntryNameAndType(entryName, entryType string) | Optional. Provide entry name and type if there are multiple secure interceptors needs to be used. | mux, mux | +| rkmuxsec.WithXSSProtection(string) | Optional. X-XSS-Protection header value | "1; mode=block" | +| rkmuxsec.WithContentTypeNosniff(string) | Optional. X-Content-Type-Options header value | nosniff | +| rkmuxsec.WithXFrameOptions(string) | Optional. X-Frame-Options header value | SAMEORIGIN | +| rkmuxsec.WithHSTSMaxAge(int) | Optional, Strict-Transport-Security header value | 0 | +| rkmuxsec.WithHSTSExcludeSubdomains(bool) | Optional, excluding subdomains of HSTS | false | +| rkmuxsec.WithHSTSPreloadEnabled(bool) | Optional, enabling HSTS preload | false | +| rkmuxsec.WithContentSecurityPolicy(string) | Optional, Content-Security-Policy header value | "" | +| rkmuxsec.WithCSPReportOnly(bool) | Optional, Content-Security-Policy-Report-Only header value | false | +| rkmuxsec.WithReferrerPolicy(string) | Optional, Referrer-Policy header value | "" | +| rkmuxsec.WithIgnorePrefix([]string) | Optional, provide ignoring path prefix. | [] | + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxsec.Interceptor( + // Required, entry name and entry type will be used for distinguishing interceptors. Recommended. + rkmuxsec.WithEntryNameAndType("greeter", "mux"), + // + // X-XSS-Protection header value. + // Optional. Default value "1; mode=block". + //rkmuxsec.WithXSSProtection("my-value"), + // + // X-Content-Type-Options header value. + // Optional. Default value "nosniff". + //rkmuxsec.WithContentTypeNosniff("my-value"), + // + // X-Frame-Options header value. + // Optional. Default value "SAMEORIGIN". + //rkmuxsec.WithXFrameOptions("my-value"), + // + // Optional, Strict-Transport-Security header value. + //rkmuxsec.WithHSTSMaxAge(1), + // + // Optional, excluding subdomains of HSTS, default is false + //rkmuxsec.WithHSTSExcludeSubdomains(true), + // + // Optional, enabling HSTS preload, default is false + //rkmuxsec.WithHSTSPreloadEnabled(true), + // + // Content-Security-Policy header value. + // Optional. Default value "". + //rkmuxsec.WithContentSecurityPolicy("my-value"), + // + // Content-Security-Policy-Report-Only header value. + // Optional. Default value false. + //rkmuxsec.WithCSPReportOnly(true), + // + // Referrer-Policy header value. + // Optional. Default value "". + //rkmuxsec.WithReferrerPolicy("my-value"), + // + // Ignoring path prefix + //rkmuxsec.WithIgnorePrefix("/rk/v1"), + ), + } +``` + +### Context Usage +| Name | Functionality | +| ------ | ------ | +| rkmuxctx.GetLogger(req, writer) | Get logger generated by log interceptor. If there are X-Request-Id or X-Trace-Id as headers in incoming and outgoing metadata, then loggers will has requestId and traceId attached by default. | +| rkmuxctx.GetEvent(req) | Get event generated by log interceptor. Event would be printed as soon as RPC finished. | +| rkmuxctx.GetIncomingHeaders(req) | Get incoming header. | +| rkmuxctx.AddHeaderToClient(writer, "k", "v") | Add k/v to headers which would be sent to client. This is append operation. | +| rkmuxctx.SetHeaderToClient(writer, "k", "v") | Set k/v to headers which would be sent to client. | +| rkmuxctx.GetJwtToken(req) | Get jwt token if exists | +| rkmuxctx.GetCsrfToken(req) | Get csrf token if exists | + +## Example +#### Start server +```shell script +$ go run greeter-server.go +``` + +#### Send request +```shell script +$ curl -vs localhost:8080/v1/greeter +< HTTP/1.1 200 OK +< Content-Type: application/json +< X-Content-Type-Options: nosniff +< X-Frame-Options: SAMEORIGIN +< X-Xss-Protection: 1; mode=block +< Date: Wed, 29 Dec 2021 18:54:18 GMT +< Content-Length: 27 +< +* Connection #0 to host localhost left intact +{"Message":"Hello rk-dev!"} +``` + +#### Code + +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/secure/greeter-server.go b/example/interceptor/secure/greeter-server.go new file mode 100644 index 0000000..59a3a2f --- /dev/null +++ b/example/interceptor/secure/greeter-server.go @@ -0,0 +1,123 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-mux/interceptor/secure" + "net/http" +) + +// In this example, we will start a new mux server with secure interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter. +func main() { + // ****************************************************** + // ********** Override App name and version ************* + // ****************************************************** + // + // rkentry.GlobalAppCtx.GetAppInfoEntry().AppName = "demo-app" + // rkentry.GlobalAppCtx.GetAppInfoEntry().Version = "demo-version" + + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxsec.Interceptor( + // Required, entry name and entry type will be used for distinguishing interceptors. Recommended. + rkmuxsec.WithEntryNameAndType("greeter", "mux"), + // + // X-XSS-Protection header value. + // Optional. Default value "1; mode=block". + //rkmuxsec.WithXSSProtection("my-value"), + // + // X-Content-Type-Options header value. + // Optional. Default value "nosniff". + //rkmuxsec.WithContentTypeNosniff("my-value"), + // + // X-Frame-Options header value. + // Optional. Default value "SAMEORIGIN". + //rkmuxsec.WithXFrameOptions("my-value"), + // + // Optional, Strict-Transport-Security header value. + //rkmuxsec.WithHSTSMaxAge(1), + // + // Optional, excluding subdomains of HSTS, default is false + //rkmuxsec.WithHSTSExcludeSubdomains(true), + // + // Optional, enabling HSTS preload, default is false + //rkmuxsec.WithHSTSPreloadEnabled(true), + // + // Content-Security-Policy header value. + // Optional. Default value "". + //rkmuxsec.WithContentSecurityPolicy("my-value"), + // + // Content-Security-Policy-Report-Only header value. + // Optional. Default value false. + //rkmuxsec.WithCSPReportOnly(true), + // + // Referrer-Policy header value. + // Optional. Default value "". + //rkmuxsec.WithReferrerPolicy("my-value"), + // + // Ignoring path prefix. + //rkmuxsec.WithIgnorePrefix("/rk/v1"), + ), + } + + // 1: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + // + // RequestId will be printed if enabled by bellow codes. + // 1: Enable rkmuxmeta.Interceptor() in server side. + // 2: rkmuxctx.SetHeaderToClient(writer, rkmuxctx.RequestIdKey, rkcommon.GenerateRequestId()) + // + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} diff --git a/example/interceptor/timeout/Makefile b/example/interceptor/timeout/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/timeout/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/timeout/README.md b/example/interceptor/timeout/README.md new file mode 100644 index 0000000..bd1bb40 --- /dev/null +++ b/example/interceptor/timeout/README.md @@ -0,0 +1,129 @@ +# Timeout middleware +In this example, we will try to create mux server with timeout middleware enabled. + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) + - [Code](#code) +- [Options](#options) + - [Context Usage](#context-usage) +- [Example](#example) + - [Start server](#start-server) + - [Output](#output) + - [Code](#code-1) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-mux +``` + +### Code +Add rkmuxtimeout.Interceptor() with option. + +```go +import "github.com/rookie-ninja/rk-mux/interceptor/timeout" +``` +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxtimeout.Interceptor(), + } +``` + +## Options +| Name | Default | Description | +| ---- | ---- | ---- | +| WithEntryNameAndType(entryName, entryType string) | entryName=mux, entryType=mux | entryName and entryType will be used to distinguish options if there are multiple interceptors in single process. | +| WithTimeoutAndResp(time.Duration, http.HandlerFunc) | 5*time.Second, response with http.StatusRequestTimeout | Set timeout interceptor with all routes. | +| WithTimeoutAndRespByPath(path string, time.Duration, http.HandlerFunc) | "", 5*time.Second, response with http.StatusRequestTimeout | Set timeout interceptor with specified path. | + +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxtimeout.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + rkmuxtimeout.WithEntryNameAndType("greeter", "mux"), + // + // Provide timeout and response handler, a default one would be assigned with http.StatusRequestTimeout + // This option impact all routes + //rkmuxtimeout.WithTimeoutAndResp(time.Second, nil), + // + // Provide timeout and response handler by path, a default one would be assigned with http.StatusRequestTimeout + //rkmuxtimeout.WithTimeoutAndRespByPath("/rk/v1/healthy", time.Second, nil), + ), + } +``` + +### Context Usage +| Name | Functionality | +| ------ | ------ | +| rkmuxctx.GetLogger(req, writer) | Get logger generated by log interceptor. If there are X-Request-Id or X-Trace-Id as headers in incoming and outgoing metadata, then loggers will has requestId and traceId attached by default. | +| rkmuxctx.GetEvent(req) | Get event generated by log interceptor. Event would be printed as soon as RPC finished. | +| rkmuxctx.GetIncomingHeaders(req) | Get incoming header. | +| rkmuxctx.AddHeaderToClient(writer, "k", "v") | Add k/v to headers which would be sent to client. This is append operation. | +| rkmuxctx.SetHeaderToClient(writer, "k", "v") | Set k/v to headers which would be sent to client. | +| rkmuxctx.GetJwtToken(req) | Get jwt token if exists | +| rkmuxctx.GetCsrfToken(req) | Get csrf token if exists | + +## Example +In this example, we enable log and panic interceptor either to monitor RPC status. + +#### Start server +```shell script +$ go run greeter-server.go +``` + +#### Output +- Response + +``` +$ curl "localhost:8080/v1/greeter?name=rk-dev" +{ + "error":{ + "code":408, + "status":"Request Timeout", + "message":"Request timed out!", + "details":[] + } +} +``` + +- Server side (zap & event) + +```shell script +2021-12-30T02:58:09.948+0800 INFO timeout/greeter-server.go:93 Received request from client. +``` + +```shell script +------------------------------------------------------------------------ +endTime=2021-12-30T02:58:10.953412+08:00 +startTime=2021-12-30T02:58:09.948238+08:00 +elapsedNano=1005173310 +timezone=CST +ids={"eventId":"d652d467-b5ea-4832-9a14-c50141955b36"} +app={"appName":"rk","appVersion":"","entryName":"mux","entryType":"mux"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={} +counters={"timeout":1} +pairs={} +timing={} +remoteAddr=localhost:54965 +operation=/v1/greeter +resCode=408 +eventStatus=Ended +EOE +``` + +#### Code +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/timeout/greeter-server.go b/example/interceptor/timeout/greeter-server.go new file mode 100644 index 0000000..18a3257 --- /dev/null +++ b/example/interceptor/timeout/greeter-server.go @@ -0,0 +1,101 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-mux/interceptor/log/zap" + "github.com/rookie-ninja/rk-mux/interceptor/panic" + "github.com/rookie-ninja/rk-mux/interceptor/timeout" + "net/http" + "time" +) + +// In this example, we will start a new mux server with rate limit interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter?name=. +func main() { + // ****************************************************** + // ********** Override App name and version ************* + // ****************************************************** + // + // rkentry.GlobalAppCtx.GetAppInfoEntry().AppName = "demo-app" + // rkentry.GlobalAppCtx.GetAppInfoEntry().Version = "demo-version" + + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxpanic.Interceptor(), + rkmuxlog.Interceptor(), + rkmuxtimeout.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + //rkmuxtimeout.WithEntryNameAndType("greeter", "mux"), + // + // Provide timeout and response handler, a default one would be assigned with http.StatusRequestTimeout + // This option impact all routes + rkmuxtimeout.WithTimeoutAndResp(time.Second, nil), + // + // Provide timeout and response handler by path, a default one would be assigned with http.StatusRequestTimeout + //rkmuxtimeout.WithTimeoutAndRespByPath("/v1/healthy", time.Second, nil), + ), + } + + // 1: Create gin server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + // + // RequestId will be printed if enabled by bellow codes. + // 1: Enable rkmuxmeta.Interceptor() in server side. + // 2: rkmuxctx.SetHeaderToClient(writer, rkmuxctx.RequestIdKey, rkcommon.GenerateRequestId()) + // + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + // Sleep for 5 seconds waiting to be timed out by interceptor + time.Sleep(10 * time.Second) + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} diff --git a/example/interceptor/tracing/Makefile b/example/interceptor/tracing/Makefile new file mode 100644 index 0000000..bbaedec --- /dev/null +++ b/example/interceptor/tracing/Makefile @@ -0,0 +1,17 @@ +.PHONY: all +all: fmt gomod readme + +.PHONY: fmt +fmt: + @echo "format go project..." + @gofmt -s -w . 2>&1 + +.PHONY: gomod +gomod: + @echo "running go mod tidy..." + @go mod tidy + +.PHONY: readme +readme: + @echo "running doctoc..." + @doctoc . 2>&1 diff --git a/example/interceptor/tracing/README.md b/example/interceptor/tracing/README.md new file mode 100644 index 0000000..cdccb46 --- /dev/null +++ b/example/interceptor/tracing/README.md @@ -0,0 +1,176 @@ +# Trace middleware +In this example, we will try to create mux server with trace middleware enabled. + +Trace interceptor has bellow options currently while exporting tracing information. + +| Exporter | Description | +| ---- | ---- | +| Stdout | Export as JSON style. | +| Local file | Export as JSON style. | +| Jaeger | Export to jaeger collector or agent. | + +**Please make sure panic interceptor to be added at last in chain of interceptors.** + + + +**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Quick start](#quick-start) +- [Options](#options) + - [Exporter](#exporter) + - [Stdout exporter](#stdout-exporter) + - [File exporter](#file-exporter) + - [Jaeger exporter](#jaeger-exporter) +- [Example](#example) + - [Start server and client](#start-server-and-client) + - [Output](#output) + - [Stdout exporter](#stdout-exporter-1) + - [Jaeger exporter](#jaeger-exporter-1) + - [Code](#code) + + + +## Quick start +Get rk-mux package from the remote repository. + +```go +go get -u github.com/rookie-ninja/rk-mux +``` +```go + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxtrace.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + //rkmuxtrace.WithEntryNameAndType("greeter", "mux"), + // + // Provide an exporter. + //rkmuxtrace.WithExporter(exporter), + // + // Provide propagation.TextMapPropagator + // rkmuxtrace.WithPropagator(), + // + // Provide SpanProcessor + // rkmuxtrace.WithSpanProcessor(), + // + // Provide TracerProvider + // rkmuxtrace.WithTracerProvider(), + ), + } +``` + +## Options +If client didn't enable trace interceptor, then server will create a new trace span by itself. If client sends a tracemeta to server, +then server will use the same traceId. + +| Name | Description | Default | +| ---- | ---- | ---- | +| WithEntryNameAndType(entryName, entryType string) | Provide entryName and entryType, recommended. | entryName=mux, entryType=mux | +| WithExporter(exporter sdktrace.SpanExporter) | User defined exporter. | [Stdout exporter](https://pkg.go.dev/go.opentelemetry.io/otel/exporters/stdout) with pretty print and disabled metrics | +| WithSpanProcessor(processor sdktrace.SpanProcessor) | User defined span processor. | [NewBatchSpanProcessor](https://pkg.go.dev/go.opentelemetry.io/otel/sdk/trace#NewBatchSpanProcessor) | +| WithPropagator(propagator propagation.TextMapPropagator) | User defined propagator. | [NewCompositeTextMapPropagator](https://pkg.go.dev/go.opentelemetry.io/otel/propagation#TextMapPropagator) | + +![arch](img/arch.png) + +### Exporter +#### Stdout exporter +```go + // **************************************** + // ********** Create Exporter ************* + // **************************************** + + // Export trace to stdout with utility function + // + // Bellow function would be while creation + // set.Exporter, _ = stdout.NewExporter( + // stdout.WithPrettyPrint(), + // stdout.WithoutMetricExport()) + exporter := rkmuxtrace.CreateFileExporter("stdout") + + // Users can define own stdout exporter by themselves. + exporter, _ := stdouttrace.New(stdouttrace.WithPrettyPrint()) +``` + +#### File exporter +```go + // **************************************** + // ********** Create Exporter ************* + // **************************************** + + // Export trace to local file system + exporter := rkmuxtrace.CreateFileExporter("logs/trace.log") +``` + +#### Jaeger exporter +```go + // **************************************** + // ********** Create Exporter ************* + // **************************************** + + // Export trace to jaeger agent + exporter := rkmuxtrace.CreateJaegerExporter(jaeger.WithAgentEndpoint()) +``` + +## Example +### Start server and client +```shell script +$ go run greeter-server.go +``` + +### Output +#### Stdout exporter +If logger interceptor enabled, then traceId would be attached to event and zap logger. + +- Server side trace log +```shell script +{ + "Name": "/v1/greeter", + "SpanContext": { + "TraceID": "e7d6b7e287fc747e2750edcdbac270a6", + "SpanID": "dd319d7d6193fc5b", + "TraceFlags": "01", + "TraceState": "", + "Remote": false + }, + ... +``` + +- Server side log (zap & event) +```shell script +2021-12-30T03:02:22.466+0800 INFO tracing/greeter-server.go:101 Received request from client. {"traceId": "e7d6b7e287fc747e2750edcdbac270a6"} +``` + +```shell script +------------------------------------------------------------------------ +endTime=2021-12-30T03:02:22.466143+08:00 +startTime=2021-12-30T03:02:22.46592+08:00 +elapsedNano=223006 +timezone=CST +ids={"eventId":"4d709e90-fa6b-4562-85d1-33418fb7a642","traceId":"e7d6b7e287fc747e2750edcdbac270a6"} +app={"appName":"rk","appVersion":"","entryName":"mux","entryType":"mux"} +env={"arch":"amd64","az":"*","domain":"*","hostname":"lark.local","localIP":"192.168.101.5","os":"darwin","realm":"*","region":"*"} +payloads={"apiMethod":"GET","apiPath":"/v1/greeter","apiProtocol":"HTTP/1.1","apiQuery":"name=rk-dev","userAgent":"curl/7.64.1"} +error={} +counters={} +pairs={} +timing={} +remoteAddr=localhost:55289 +operation=/v1/greeter +resCode=200 +eventStatus=Ended +EOE +``` + +- Client side +```shell script +$ curl -vs "localhost:8080/v1/greeter?name=rk-dev" +... +< X-Trace-Id: e7d6b7e287fc747e2750edcdbac270a6 +``` + +#### Jaeger exporter +![Jaeger](img/jaeger.png) + +### Code +- [greeter-server.go](greeter-server.go) diff --git a/example/interceptor/tracing/greeter-server.go b/example/interceptor/tracing/greeter-server.go new file mode 100644 index 0000000..94da863 --- /dev/null +++ b/example/interceptor/tracing/greeter-server.go @@ -0,0 +1,106 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package main + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-mux/interceptor/log/zap" + "github.com/rookie-ninja/rk-mux/interceptor/tracing/telemetry" + "net/http" +) + +// In this example, we will start a new mux server with tracing interceptor enabled. +// Listen on port of 8080 with GET /v1/greeter?name=. +func main() { + // **************************************** + // ********** Create Exporter ************* + // **************************************** + + // Export trace to stdout + exporter := rkmuxtrace.CreateFileExporter("stdout") + + // Export trace to local file system + //exporter := rkmuxtrace.CreateFileExporter("logs/trace.log") + + // Export trace to jaeger agent + //exporter := rkmuxtrace.CreateJaegerExporter(jaeger.WithAgentEndpoint()) + + // ******************************************** + // ********** Enable interceptors ************* + // ******************************************** + interceptors := []mux.MiddlewareFunc{ + rkmuxlog.Interceptor(), + rkmuxtrace.Interceptor( + // Entry name and entry type will be used for distinguishing interceptors. Recommended. + //rkmuxtrace.WithEntryNameAndType("greeter", "mux"), + // + // Provide an exporter. + rkmuxtrace.WithExporter(exporter), + // + // Provide propagation.TextMapPropagator + // rkmuxtrace.WithPropagator(), + // + // Provide SpanProcessor + // rkmuxtrace.WithSpanProcessor(), + // + // Provide TracerProvider + // rkmuxtrace.WithTracerProvider(), + ), + } + + // 1: Create mux server + server := startGreeterServer(interceptors...) + defer server.Shutdown(context.TODO()) + + // 2: Wait for ctrl-C to shutdown server + rkentry.GlobalAppCtx.WaitForShutdownSig() +} + +// Start mux server. +func startGreeterServer(interceptors ...mux.MiddlewareFunc) *http.Server { + router := mux.NewRouter() + router.Use(interceptors...) + router.NewRoute().Path("/v1/greeter").HandlerFunc(Greeter) + + server := &http.Server{ + Addr: "0.0.0.0:8080", + Handler: router, + } + + go func() { + if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed { + panic(err) + } + }() + + return server +} + +// GreeterResponse Response of Greeter. +type GreeterResponse struct { + Message string +} + +// Greeter Handler. +func Greeter(writer http.ResponseWriter, req *http.Request) { + // ****************************************** + // ********** rpc-scoped logger ************* + // ****************************************** + // + // RequestId will be printed if enabled by bellow codes. + // 1: Enable rkmuxmeta.Interceptor() in server side. + // 2: rkmuxctx.SetHeaderToClient(writer, rkmuxctx.RequestIdKey, rkcommon.GenerateRequestId()) + // + rkmuxctx.GetLogger(req, writer).Info("Received request from client.") + + rkmuxinter.WriteJson(writer, http.StatusOK, &GreeterResponse{ + Message: fmt.Sprintf("Hello %s!", req.URL.Query().Get("name")), + }) +} diff --git a/example/interceptor/tracing/img/arch.png b/example/interceptor/tracing/img/arch.png new file mode 100644 index 0000000..80e7606 Binary files /dev/null and b/example/interceptor/tracing/img/arch.png differ diff --git a/example/interceptor/tracing/img/jaeger.png b/example/interceptor/tracing/img/jaeger.png new file mode 100644 index 0000000..5a62fa2 Binary files /dev/null and b/example/interceptor/tracing/img/jaeger.png differ diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..3a421fb --- /dev/null +++ b/go.mod @@ -0,0 +1,27 @@ +module github.com/rookie-ninja/rk-mux + +go 1.16 + +require ( + github.com/golang-jwt/jwt/v4 v4.2.0 + github.com/gorilla/mux v1.8.0 + github.com/juju/ratelimit v1.0.1 + github.com/markbates/pkger v0.17.1 + github.com/prometheus/client_golang v1.10.0 + github.com/rookie-ninja/rk-common v1.2.3 + github.com/rookie-ninja/rk-entry v1.0.4 + github.com/rookie-ninja/rk-logger v1.2.3 + github.com/rookie-ninja/rk-prom v1.1.4 + github.com/rookie-ninja/rk-query v1.2.4 + github.com/spf13/viper v1.7.1 + github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a + github.com/stretchr/testify v1.7.0 + go.opentelemetry.io/contrib v1.3.0 + go.opentelemetry.io/otel v1.3.0 + go.opentelemetry.io/otel/exporters/jaeger v1.3.0 + go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.3.0 + go.opentelemetry.io/otel/sdk v1.3.0 + go.opentelemetry.io/otel/trace v1.3.0 + go.uber.org/ratelimit v0.2.0 + go.uber.org/zap v1.19.1 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..31facaf --- /dev/null +++ b/go.sum @@ -0,0 +1,785 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk= +github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129 h1:MzBOUgng9orim59UnfUTLRjMpd09C5uEVQ6RPGeCaVI= +github.com/andres-erbsen/clock v0.0.0-20160526145045-9e14626cd129/go.mod h1:rFgpPQZYZ8vdbc+48xibu8ALc3yeyd64IhHS+PU6Yyg= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da h1:8GUt8eRujhVEGZFFEjBj46YV4rDjvGrNxb0KMWYkL2I= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.1.0 h1:kq/SbG2BCKLkDKkjQf5OWwKWUKj1lgs3lFI4PxnR5lg= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-git/go-billy/v5 v5.3.1 h1:CPiOUAzKtMRvolEKw+bG1PLRpT7D3LIs3/3ey4Aiu34= +github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.1 h1:DX7uPQ4WgAWfoh+NGGlbJQswnYIVvz0SRlLS3rPZQDA= +github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.0 h1:j4LrlVXgrbIWO83mmQUnK0Hi+YnbD+vzrE1z/EphbFE= +github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI= +github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gobuffalo/here v0.6.0 h1:hYrd0a6gDmWxBM4TnrGw8mQg24iSVoIkHEk7FodQcBI= +github.com/gobuffalo/here v0.6.0/go.mod h1:wAG085dHOYqUpf+Ap+WOdrPTp5IYcDAs/x7PLa8Y5fM= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8eU= +github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grantae/certinfo v0.0.0-20170412194111-59d56a35515b h1:NGgE5ELokSf2tZ/bydyDUKrvd/jP8lrAoPNeBuMOTOk= +github.com/grantae/certinfo v0.0.0-20170412194111-59d56a35515b/go.mod h1:zT/uzhdQGTqlwTq7Lpbj3JoJQWfPfIJ1tE0OidAmih8= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw= +github.com/hako/durafmt v0.0.0-20200710122514-c0fb7b4da026 h1:BpJ2o0OR5FV7vrkDYfXYVJQeMNWa8RhklZOpW2ITAIQ= +github.com/hako/durafmt v0.0.0-20200710122514-c0fb7b4da026/go.mod h1:5Scbynm8dF1XAPwIwkGPqzkM/shndPm79Jd1003hTjE= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.8.1 h1:BOEQaMWoGMhmQ29fC26bi0qb7/rId9JzZP2V0Xmx7m8= +github.com/hashicorp/consul/api v1.8.1/go.mod h1:sDjTOq0yUyv5G4h+BqSea7Fn6BU+XbolEz1952UB+mk= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.7.0 h1:H6R9d008jDcHPQPAqPNuydAshJ4v5/8URdFnUvK/+sc= +github.com/hashicorp/consul/sdk v0.7.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM= +github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-hclog v0.12.0 h1:d4QkX8FRTYaKaCZBoXYY8zJX2BXjWxurN/GA2tkrmZM= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-immutable-radix v1.0.0 h1:AKDB1HM5PWEA7i4nhcpwOrO2byshxBjXVn/J/3+z5/0= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0 h1:B9UzwGQJehnUY1yNrnwREHc3fGbC2xefo8g4TbElacI= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.0 h1:GeH6tui99pF4NJgfnhp+L6+FfobzVW3Ah46sLo0ICXs= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.2.2 h1:5+RffWKwqJ71YPu9mWsF7ZOscZmwfasdA8kbdC7AO2g= +github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.5 h1:EBWvyu9tcRszt3Bxp3KNssBMP1KuHWyO51lz9+786iM= +github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/ratelimit v1.0.1 h1:+7AIFJVQ0EQgq/K9+0Krm7m530Du7tIz0METWzN0RgY= +github.com/juju/ratelimit v1.0.1/go.mod h1:qapgC/Gy+xNh9UxzV13HGGl/6UXNN+ct+vwSgWNm/qk= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= +github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/markbates/pkger v0.17.1 h1:/MKEtWqtc0mZvu9OinB9UzVN9iYCwLWuyUv4Bw+PCno= +github.com/markbates/pkger v0.17.1/go.mod h1:0JoVlrol20BSywW79rN3kdFFsE5xYM+rSCQDXbLhiuI= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26 h1:gPxPSwALAeHJSjarOs00QjVdV9QoBvc1D2ujQUr5BzU= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c h1:Lgl0gzECD8GnQ5QCWA8o6BtfL6mDH5rQgM4/fX3avOs= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.8.0 h1:Keo9qb7iRJs2voHvunFtuuYFsbWeOBh8/P9v/kVMFtw= +github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= +github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.10.0 h1:/o0BDeWzLWXNZ+4q5gXltUvaMpJqckTa+jTNoB+z4cg= +github.com/prometheus/client_golang v1.10.0/go.mod h1:WJM3cc3yu7XKBKa/I8WeZm+V3eltZnBwfENSU7mdogU= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.18.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= +github.com/prometheus/common v0.22.0 h1:iHzF+cGb5DVDhkBll8ud/7sU75S7ZeJi79tiVj60eR4= +github.com/prometheus/common v0.22.0/go.mod h1:H6QK/N6XVT42whUeIdI3dp36w49c+/iMDk7UAI2qm7Q= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rookie-ninja/rk-common v1.2.3 h1:bID5I11Om4az+Bkk7/RxuaHei0MS6ya1jHGnrvrqZBg= +github.com/rookie-ninja/rk-common v1.2.3/go.mod h1:M2DqLnf5rUK6ewOcSNYZY4LLSJX5dg9I8Wh9JoAs4xo= +github.com/rookie-ninja/rk-entry v1.0.4 h1:HH2XSlYrJppIpPKp0tell/jxl3Z4p3tPJ6UJMUfO8A0= +github.com/rookie-ninja/rk-entry v1.0.4/go.mod h1:WMuVes3tyUgYbzNESO+4GtR7Vavw85l+VUOM5W+7Nso= +github.com/rookie-ninja/rk-logger v1.2.3 h1:BTbHizHtCIP01JD2msdmZrijEPEFXD/KprsBgMDBJ6A= +github.com/rookie-ninja/rk-logger v1.2.3/go.mod h1:NDRMGnXMO/PBsFQc+N4LQgTmIxOKaFE1c7pDRmQUGjc= +github.com/rookie-ninja/rk-prom v1.1.4 h1:p33XVD9/pK7QtcYNX8nAfm1aiLc/NQI0mQBKgIw4IZ0= +github.com/rookie-ninja/rk-prom v1.1.4/go.mod h1:ZiYyxCmWfVyZMNVAVZiZOzqxx+lutVsnWadj5A+XTEM= +github.com/rookie-ninja/rk-query v1.2.4 h1:PBM90z5dDWRKNvJHtDUQ2F4um5c4I+WwSml8uLVvfkc= +github.com/rookie-ninja/rk-query v1.2.4/go.mod h1:nxdqy600ZC996QW0yHflY/hAkG4Qt9lSaDftf540YDI= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/shirou/gopsutil/v3 v3.21.4 h1:XB/+p+kVnyYLuPHCfa99lxz2aJyvVhnyd+FxZqH/k7M= +github.com/shirou/gopsutil/v3 v3.21.4/go.mod h1:ghfMypLDrFSWN2c9cDYFLHyynQ+QUht0cv/18ZqVczw= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.3.3 h1:p5gZEKLYoL7wh8VrJesMaYeNxdEd1v3cb4irOk9zB54= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk= +github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a h1:AhmOdSHeswKHBjhsLs/7+1voOxT+LLrSk/Nxvk35fug= +github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/tklauser/go-sysconf v0.3.4 h1:HT8SVixZd3IzLdfs/xlpq0jeSfTX57g1v6wB1EuzV7M= +github.com/tklauser/go-sysconf v0.3.4/go.mod h1:Cl2c8ZRWfHD5IrfHo9VN+FX9kCFjIOyVklgXycLB6ek= +github.com/tklauser/numcpus v0.2.1 h1:ct88eFm+Q7m2ZfXJdan1xYoXKlmwsfP+k88q05KvlZc= +github.com/tklauser/numcpus v0.2.1/go.mod h1:9aU+wOc6WjUIZEwWMP62PL/41d65P+iks1gBkr4QyP8= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd/api/v3 v3.5.0-alpha.0 h1:+e5nrluATIy3GP53znpkHMFzPTHGYyzvJGFCbuI6ZLc= +go.etcd.io/etcd/api/v3 v3.5.0-alpha.0/go.mod h1:mPcW6aZJukV6Aa81LSKpBjQXTWlXB5r74ymPoSWa3Sw= +go.etcd.io/etcd/client/v3 v3.5.0-alpha.0 h1:dr1EOILak2pu4Nf5XbRIOCNIBjcz6UmkQd7hHRXwxaM= +go.etcd.io/etcd/client/v3 v3.5.0-alpha.0/go.mod h1:wKt7jgDgf/OfKiYmCq5WFGxOFAkVMLxiiXgLDFhECr8= +go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0 h1:3yLUEC0nFCxw/RArImOyRUI4OAFbg4PFpBbAhSNzKNY= +go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0/go.mod h1:tV31atvwzcybuqejDoY3oaNRTtlD2l/Ot78Pc9w7DMY= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opentelemetry.io/contrib v1.3.0 h1:p9Gd+3dD7yB+AIph2Ltg11QDX6Y+yWMH0YQVTpTTP2c= +go.opentelemetry.io/contrib v1.3.0/go.mod h1:FlyPNX9s4U6MCsWEc5YAK4KzKNHFDsjrDUZijJiXvy8= +go.opentelemetry.io/otel v1.3.0 h1:APxLf0eiBwLl+SOXiJJCVYzA1OOJNyAoV8C5RNRyy7Y= +go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel/exporters/jaeger v1.3.0 h1:HfydzioALdtcB26H5WHc4K47iTETJCdloL7VN579/L0= +go.opentelemetry.io/otel/exporters/jaeger v1.3.0/go.mod h1:KoYHi1BtkUPncGSRtCe/eh1ijsnePhSkxwzz07vU0Fc= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.3.0 h1:Kte45gGM12Ks0pZng7Pi+IFlbbeY287ZpGX0s0G9al8= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.3.0/go.mod h1:PQLM+xJ3EMSZU9rMevmw+4nH1efyp23CW/nD9BlB3sg= +go.opentelemetry.io/otel/sdk v1.3.0 h1:3278edCoH89MEJ0Ky8WQXVmDQv3FX4ZJ3Pp+9fJreAI= +go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/trace v1.3.0 h1:doy8Hzb1RJ+I3yFhtDmwNc7tIyw1tNMOIsyPzp1NOGY= +go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 h1:sHOAIxRGBp443oHZIPB+HsUGaksVCXVQENPxwTfQdH4= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/ratelimit v0.2.0 h1:UQE2Bgi7p2B85uP5dC2bbRtig0C+OeNRnNEafLjsLPA= +go.uber.org/ratelimit v0.2.0/go.mod h1:YYBV4e4naJvhpitQrWJu1vCpgB7CboMe0qhltKt6mUg= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= +go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= +go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0 h1:hb9wdF1z5waM+dSIICn1l0DkLVDT3hqhhQsDNUmHPRE= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5 h1:wjuX4b5yYQnEQHzd+CBcrcC6OVR2J1CN6mUy0oSxIPo= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210217105451-b926d437f341/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210608053332-aa57babbf139 h1:C+AwYEtBp/VQwoLntUmQ/yx3MS9vmZaKNdw5eOpoQe8= +golang.org/x/sys v0.0.0-20210608053332-aa57babbf139/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d h1:KzwjikDymrEmYYbdyfievTwjEeGlu+OM6oiKBkF3Jfg= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.57.0 h1:9unxIsFcTt4I55uWluz+UmL95q4kdJ0buvQ1ZIqVQww= +gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/interceptor/auth/interceptor.go b/interceptor/auth/interceptor.go new file mode 100644 index 0000000..3a8a9ce --- /dev/null +++ b/interceptor/auth/interceptor.go @@ -0,0 +1,110 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxauth is auth middleware for mux framework +package rkmuxauth + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-common/error" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" + "strings" +) + +// Interceptor validate bellow authorization. +// +// 1: Basic Auth: The client sends HTTP requests with the Authorization header that contains the word Basic, followed by a space and a base64-encoded(non-encrypted) string username: password. +// 2: Bearer Token: Commonly known as token authentication. It is an HTTP authentication scheme that involves security tokens called bearer tokens. +// 3: API key: An API key is a token that a client provides when making API calls. With API key auth, you send a key-value pair to the API in the request headers. +func Interceptor(opts ...Option) mux.MiddlewareFunc { + set := newOptionSet(opts...) + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, req *http.Request) { + // wrap writer + writer = rkmuxinter.WrapResponseWriter(writer) + + ctx := context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, set.EntryName) + req = req.WithContext(ctx) + + err := before(req, writer, set) + + if err == nil { + next.ServeHTTP(writer, req) + } + }) + } +} + +func before(req *http.Request, writer http.ResponseWriter, set *optionSet) error { + if !set.ShouldAuth(req) { + return nil + } + + authHeader := req.Header.Get(rkmuxinter.RpcAuthorizationHeaderKey) + apiKeyHeader := req.Header.Get(rkmuxinter.RpcApiKeyHeaderKey) + + if len(authHeader) > 0 { + // Contains auth header + // Basic auth type + tokens := strings.SplitN(authHeader, " ", 2) + if len(tokens) != 2 { + resp := rkerror.New( + rkerror.WithHttpCode(http.StatusUnauthorized), + rkerror.WithMessage("Invalid Basic Auth format")) + + rkmuxinter.WriteJson(writer, http.StatusUnauthorized, resp) + return resp.Err + } + if !set.Authorized(tokens[0], tokens[1]) { + if tokens[0] == typeBasic { + writer.Header().Set("WWW-Authenticate", fmt.Sprintf(`%s realm="%s"`, typeBasic, set.BasicRealm)) + } + + resp := rkerror.New( + rkerror.WithHttpCode(http.StatusUnauthorized), + rkerror.WithMessage("Invalid credential")) + + rkmuxinter.WriteJson(writer, http.StatusUnauthorized, resp) + + return resp.Err + } + } else if len(apiKeyHeader) > 0 { + // Contains api key + if !set.Authorized(typeApiKey, apiKeyHeader) { + resp := rkerror.New( + rkerror.WithHttpCode(http.StatusUnauthorized), + rkerror.WithMessage("Invalid X-API-Key")) + + rkmuxinter.WriteJson(writer, http.StatusUnauthorized, resp) + + return resp.Err + } + } else { + authHeaders := []string{} + if len(set.BasicAccounts) > 0 { + writer.Header().Set("WWW-Authenticate", fmt.Sprintf(`%s realm="%s"`, typeBasic, set.BasicRealm)) + authHeaders = append(authHeaders, "Basic Auth") + } + if len(set.ApiKey) > 0 { + authHeaders = append(authHeaders, "X-API-Key") + } + + errMsg := fmt.Sprintf("Missing authorization, provide one of bellow auth header:[%s]", strings.Join(authHeaders, ",")) + + resp := rkerror.New( + rkerror.WithHttpCode(http.StatusUnauthorized), + rkerror.WithMessage(errMsg)) + + rkmuxinter.WriteJson(writer, http.StatusUnauthorized, resp) + + return resp.Err + } + + return nil +} diff --git a/interceptor/auth/interceptor_test.go b/interceptor/auth/interceptor_test.go new file mode 100644 index 0000000..3ecf145 --- /dev/null +++ b/interceptor/auth/interceptor_test.go @@ -0,0 +1,117 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxauth + +import ( + "fmt" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "testing" +) + +var userFunc = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + w.WriteHeader(http.StatusOK) +}) + +func TestInterceptor_WithIgnoringPath(t *testing.T) { + req := httptest.NewRequest(http.MethodGet, "/ut-ignore-path", nil) + w := httptest.NewRecorder() + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type"), + WithBasicAuth("ut-realm", "user:pass"), + WithApiKeyAuth("ut-api-key"), + WithIgnorePrefix("/ut-ignore-path")) + + f := handler(userFunc) + f.ServeHTTP(w, req) + + assert.Equal(t, http.StatusOK, w.Result().StatusCode) +} + +func TestInterceptor_WithBasicAuth_Invalid(t *testing.T) { + req := httptest.NewRequest(http.MethodGet, "/ut-path", nil) + w := httptest.NewRecorder() + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type"), + WithBasicAuth("ut-realm", "user:pass")) + + // set invalid auth header + req.Header.Set(rkmuxinter.RpcAuthorizationHeaderKey, "invalid") + + f := handler(userFunc) + f.ServeHTTP(w, req) + + assert.Equal(t, http.StatusUnauthorized, w.Result().StatusCode) +} + +func TestInterceptor_WithBasicAuth_InvalidBasicAuth(t *testing.T) { + req := httptest.NewRequest(http.MethodGet, "/ut-path", nil) + w := httptest.NewRecorder() + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type"), + WithBasicAuth("ut-realm", "user:pass")) + + // set invalid auth header + req.Header.Set(rkmuxinter.RpcAuthorizationHeaderKey, fmt.Sprintf("%s invalid", typeBasic)) + + f := handler(userFunc) + f.ServeHTTP(w, req) + + assert.Equal(t, http.StatusUnauthorized, w.Result().StatusCode) +} + +func TestInterceptor_WithApiKey_Invalid(t *testing.T) { + req := httptest.NewRequest(http.MethodGet, "/ut-path", nil) + w := httptest.NewRecorder() + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type"), + WithApiKeyAuth("ut-api-key")) + + // set invalid auth header + req.Header.Set(rkmuxinter.RpcApiKeyHeaderKey, "invalid") + + f := handler(userFunc) + f.ServeHTTP(w, req) + + assert.Equal(t, http.StatusUnauthorized, w.Result().StatusCode) +} + +func TestInterceptor_MissingAuth(t *testing.T) { + req := httptest.NewRequest(http.MethodGet, "/ut-path", nil) + w := httptest.NewRecorder() + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type"), + WithApiKeyAuth("ut-api-key")) + + f := handler(userFunc) + f.ServeHTTP(w, req) + + assert.Equal(t, http.StatusUnauthorized, w.Result().StatusCode) +} + +func TestInterceptor_HappyCase(t *testing.T) { + req := httptest.NewRequest(http.MethodGet, "/ut-ignore-path", nil) + w := httptest.NewRecorder() + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type"), + //WithBasicAuth("ut-realm", "user:pass"), + WithApiKeyAuth("ut-api-key")) + + req.Header.Set(rkmuxinter.RpcApiKeyHeaderKey, "ut-api-key") + + f := handler(userFunc) + f.ServeHTTP(w, req) + + assert.Equal(t, http.StatusOK, w.Result().StatusCode) +} diff --git a/interceptor/auth/options.go b/interceptor/auth/options.go new file mode 100644 index 0000000..7e8574c --- /dev/null +++ b/interceptor/auth/options.go @@ -0,0 +1,129 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxauth + +import ( + "encoding/base64" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" + "strings" +) + +const ( + typeBasic = "Basic" + typeApiKey = "X-API-Key" +) + +// Interceptor would distinguish auth set based on. +var optionsMap = make(map[string]*optionSet) + +// Create new optionSet with rpc type nad options. +func newOptionSet(opts ...Option) *optionSet { + set := &optionSet{ + EntryName: rkmuxinter.RpcEntryNameValue, + EntryType: rkmuxinter.RpcEntryTypeValue, + BasicRealm: "", + BasicAccounts: make(map[string]bool), + ApiKey: make(map[string]bool), + IgnorePrefix: make([]string, 0), + } + + for i := range opts { + opts[i](set) + } + + if _, ok := optionsMap[set.EntryName]; !ok { + optionsMap[set.EntryName] = set + } + + return set +} + +// optionSet which is used while initializing logging interceptor +type optionSet struct { + EntryName string + EntryType string + BasicRealm string + BasicAccounts map[string]bool + ApiKey map[string]bool + IgnorePrefix []string +} + +// Authorized checks permission with username and password. +func (set *optionSet) Authorized(authType, cred string) bool { + switch authType { + case typeBasic: + _, ok := set.BasicAccounts[cred] + return ok + case typeApiKey: + _, ok := set.ApiKey[cred] + return ok + } + + return false +} + +// ShouldAuth determine whether auth should be checked +func (set *optionSet) ShouldAuth(req *http.Request) bool { + if req == nil || (len(set.BasicAccounts) < 1 && len(set.ApiKey) < 1) { + return false + } + + urlPath := req.URL.Path + + for i := range set.IgnorePrefix { + if strings.HasPrefix(urlPath, set.IgnorePrefix[i]) { + return false + } + } + + return true +} + +// Option options provided to Interceptor or optionsSet while creating +type Option func(*optionSet) + +// WithEntryNameAndType provide entry name and entry type. +func WithEntryNameAndType(entryName, entryType string) Option { + return func(set *optionSet) { + set.EntryName = entryName + set.EntryType = entryType + } +} + +// WithBasicAuth provide basic auth credentials formed as user:pass. +// We will encode credential with base64 since incoming credential from client would be encoded. +func WithBasicAuth(realm string, cred ...string) Option { + return func(set *optionSet) { + for i := range cred { + set.BasicAccounts[base64.StdEncoding.EncodeToString([]byte(cred[i]))] = true + } + + set.BasicRealm = realm + } +} + +// WithApiKeyAuth provide API Key auth credentials. +// An API key is a token that a client provides when making API calls. +// With API key auth, you send a key-value pair to the API either in the request headers or query parameters. +// Some APIs use API keys for authorization. +// +// The API key was injected into incoming header with key of X-API-Key +func WithApiKeyAuth(key ...string) Option { + return func(set *optionSet) { + for i := range key { + set.ApiKey[key[i]] = true + } + } +} + +// WithIgnorePrefix provide paths prefix that will ignore. +// Mainly used for swagger main page and RK TV entry. +func WithIgnorePrefix(paths ...string) Option { + return func(set *optionSet) { + set.IgnorePrefix = append(set.IgnorePrefix, paths...) + } +} diff --git a/interceptor/auth/options_test.go b/interceptor/auth/options_test.go new file mode 100644 index 0000000..6f5de05 --- /dev/null +++ b/interceptor/auth/options_test.go @@ -0,0 +1,62 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxauth + +import ( + "encoding/base64" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestWithEntryNameAndType(t *testing.T) { + set := newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type")) + + assert.Equal(t, "ut-entry", set.EntryName) + assert.Equal(t, "ut-type", set.EntryType) +} + +func TestWithBasicAuth(t *testing.T) { + set := newOptionSet( + WithBasicAuth("ut-realm", "user:pass")) + + assert.Equal(t, "ut-realm", set.BasicRealm) + assert.True(t, set.BasicAccounts[base64.StdEncoding.EncodeToString([]byte("user:pass"))]) +} + +func TestWithApiKeyAuth(t *testing.T) { + set := newOptionSet( + WithApiKeyAuth("ut-api-key")) + + assert.True(t, set.ApiKey["ut-api-key"]) +} + +func TestWithIgnorePrefix(t *testing.T) { + set := newOptionSet( + WithIgnorePrefix("ut-prefix")) + + assert.Contains(t, set.IgnorePrefix, "ut-prefix") +} + +func TestOptionSet_Authorized(t *testing.T) { + set := newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type"), + WithBasicAuth("ut-realm", "user:pass"), + WithApiKeyAuth("ut-api-key")) + + // With invalid auth type + assert.False(t, set.Authorized("invalid", "")) + + // With invalid basic auth + assert.False(t, set.Authorized(typeBasic, "invalid")) + // With valid basic auth + assert.True(t, set.Authorized(typeBasic, base64.StdEncoding.EncodeToString([]byte("user:pass")))) + + // With invalid api key + assert.False(t, set.Authorized(typeApiKey, "invalid")) + // With valid api key + assert.True(t, set.Authorized(typeApiKey, "ut-api-key")) +} diff --git a/interceptor/common.go b/interceptor/common.go new file mode 100644 index 0000000..d047f61 --- /dev/null +++ b/interceptor/common.go @@ -0,0 +1,194 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxinter provides common utility functions for middleware of mux framework +package rkmuxinter + +import ( + "bufio" + "encoding/json" + "github.com/rookie-ninja/rk-common/common" + rkerror "github.com/rookie-ninja/rk-common/error" + "github.com/streadway/handy/atomic" + "go.uber.org/zap" + "net" + "net/http" + "strings" +) + +var ( + // Realm environment variable + Realm = zap.String("realm", rkcommon.GetEnvValueOrDefault("REALM", "*")) + // Region environment variable + Region = zap.String("region", rkcommon.GetEnvValueOrDefault("REGION", "*")) + // AZ environment variable + AZ = zap.String("az", rkcommon.GetEnvValueOrDefault("AZ", "*")) + // Domain environment variable + Domain = zap.String("domain", rkcommon.GetEnvValueOrDefault("DOMAIN", "*")) + // LocalIp read local IP from localhost + LocalIp = zap.String("localIp", rkcommon.GetLocalIP()) + // LocalHostname read hostname from localhost + LocalHostname = zap.String("localHostname", rkcommon.GetLocalHostname()) +) + +const ( + // RpcEntryNameKey entry name key + RpcEntryNameKey = "muxEntryName" + // RpcEntryNameValue entry name + RpcEntryNameValue = "mux" + // RpcEntryTypeValue entry type + RpcEntryTypeValue = "mux" + // RpcEventKey event key + RpcEventKey = "muxEvent" + // RpcLoggerKey logger key + RpcLoggerKey = "muxLogger" + // RpcTracerKey tracer key + RpcTracerKey = "muxTracer" + // RpcSpanKey span key + RpcSpanKey = "muxSpan" + // RpcTracerProviderKey trace provider key + RpcTracerProviderKey = "muxTracerProvider" + // RpcPropagatorKey propagator key + RpcPropagatorKey = "muxPropagator" + // RpcAuthorizationHeaderKey auth key + RpcAuthorizationHeaderKey = "authorization" + // RpcApiKeyHeaderKey api auth key + RpcApiKeyHeaderKey = "X-API-Key" + // RpcJwtTokenKey key of jwt token in context + RpcJwtTokenKey = "muxJwt" + // RpcCsrfTokenKey key of csrf token injected by csrf middleware + RpcCsrfTokenKey = "muxCsrfToken" +) + +// GetRemoteAddressSet returns remote endpoint information set including IP, Port. +// We will do as best as we can to determine it. +// If fails, then just return default ones. +func GetRemoteAddressSet(req *http.Request) (remoteIp, remotePort string) { + remoteIp, remotePort = "0.0.0.0", "0" + + if req == nil { + return + } + + var err error + if remoteIp, remotePort, err = net.SplitHostPort(req.RemoteAddr); err != nil { + return + } + + forwardedRemoteIp := req.Header.Get("x-forwarded-for") + + // Deal with forwarded remote ip + if len(forwardedRemoteIp) > 0 { + if forwardedRemoteIp == "::1" { + forwardedRemoteIp = "localhost" + } + + remoteIp = forwardedRemoteIp + } + + if remoteIp == "::1" { + remoteIp = "localhost" + } + + return remoteIp, remotePort +} + +// ShouldLog determines whether should log the RPC +func ShouldLog(req *http.Request) bool { + if req == nil { + return false + } + + // ignoring /rk/v1/assets, /rk/v1/tv and /sw/ path while logging since these are internal APIs. + if strings.HasPrefix(req.URL.Path, "/rk/v1/assets") || + strings.HasPrefix(req.URL.Path, "/rk/v1/tv") || + strings.HasPrefix(req.URL.Path, "/sw/") { + return false + } + + return true +} + +// WriteJson with code and content. +// Internal error will be written if error occur. +func WriteJson(w http.ResponseWriter, code int, content interface{}) { + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(code) + + bytes, err := json.Marshal(content) + if err != nil { + internalErr, _ := json.Marshal(rkerror.New( + rkerror.WithHttpCode(http.StatusInternalServerError), + rkerror.WithDetails(err))) + w.WriteHeader(http.StatusInternalServerError) + w.Write(internalErr) + return + } + + if _, err := w.Write(bytes); err != nil { + if err != http.ErrHandlerTimeout { + internalErr, _ := json.Marshal(rkerror.New( + rkerror.WithHttpCode(http.StatusInternalServerError), + rkerror.WithDetails(err))) + w.WriteHeader(http.StatusInternalServerError) + w.Write(internalErr) + return + } + + return + } +} + +// WrapResponseWriter if current writer is not RkResponseWriter +func WrapResponseWriter(w http.ResponseWriter) *RkResponseWriter { + switch v := w.(type) { + case *RkResponseWriter: + return v + } + + return &RkResponseWriter{ + Writer: w, + Code: http.StatusOK, + Size: atomic.Int(0), + } +} + +// A RkResponseWriter is a helper to delay sealing a http.ResponseWriter on writing code. +type RkResponseWriter struct { + Writer http.ResponseWriter + Code int + Size atomic.Int +} + +// Flush flushes the response writer. +func (w *RkResponseWriter) Flush() { + if flusher, ok := w.Writer.(http.Flusher); ok { + flusher.Flush() + } +} + +// Header returns the http header. +func (w *RkResponseWriter) Header() http.Header { + return w.Writer.Header() +} + +// Hijack implements the http.Hijacker interface. +// This expands the Response to fulfill http.Hijacker if the underlying http.ResponseWriter supports it. +func (w *RkResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return w.Writer.(http.Hijacker).Hijack() +} + +// Write writes bytes into w. +func (w *RkResponseWriter) Write(bytes []byte) (int, error) { + len, err := w.Writer.Write(bytes) + w.Size.Add(int64(len)) + return len, err +} + +// WriteHeader writes code into w, and not sealing the writer. +func (w *RkResponseWriter) WriteHeader(code int) { + w.Writer.WriteHeader(code) + w.Code = code +} diff --git a/interceptor/common_test.go b/interceptor/common_test.go new file mode 100644 index 0000000..97ecfe9 --- /dev/null +++ b/interceptor/common_test.go @@ -0,0 +1,76 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxinter + +import ( + "github.com/stretchr/testify/assert" + "net/http" + "net/url" + "testing" +) + +func TestGetRemoteAddressSet(t *testing.T) { + // With nil request + ip, port := GetRemoteAddressSet(nil) + assert.Equal(t, "0.0.0.0", ip) + assert.Equal(t, "0", port) + + // With x-forwarded-for equals to ::1 + req := &http.Request{ + RemoteAddr: "1.1.1.1:1", + Header: http.Header{}, + } + req.Header.Set("x-forwarded-for", "::1") + ip, port = GetRemoteAddressSet(req) + + assert.Equal(t, "localhost", ip) + assert.Equal(t, "1", port) + + // Happy case + req = &http.Request{ + RemoteAddr: "1.1.1.1:1", + Header: http.Header{}, + } + ip, port = GetRemoteAddressSet(req) + + assert.Equal(t, "1.1.1.1", ip) + assert.Equal(t, "1", port) +} + +func TestShouldLog(t *testing.T) { + // With nil context + assert.False(t, ShouldLog(nil)) + + // With ignoring path + req := &http.Request{ + URL: &url.URL{ + Path: "/rk/v1/assets", + }, + } + assert.False(t, ShouldLog(req)) + + req = &http.Request{ + URL: &url.URL{ + Path: "/rk/v1/tv", + }, + } + assert.False(t, ShouldLog(req)) + + req = &http.Request{ + URL: &url.URL{ + Path: "/sw/", + }, + } + assert.False(t, ShouldLog(req)) + + // Expect true + req = &http.Request{ + URL: &url.URL{ + Path: "ut-path", + }, + } + assert.True(t, ShouldLog(req)) +} diff --git a/interceptor/context/context.go b/interceptor/context/context.go new file mode 100644 index 0000000..d65d69b --- /dev/null +++ b/interceptor/context/context.go @@ -0,0 +1,243 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxctx defines utility functions and variables used by gorilla/mux middleware +package rkmuxctx + +import ( + "context" + "github.com/golang-jwt/jwt/v4" + "github.com/rookie-ninja/rk-logger" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-query" + otelcodes "go.opentelemetry.io/otel/codes" + "go.opentelemetry.io/otel/propagation" + "go.opentelemetry.io/otel/trace" + "go.uber.org/zap" + "net/http" +) + +const ( + // RequestIdKey is the header key sent to client + RequestIdKey = "X-Request-Id" + // TraceIdKey is the header sent to client + TraceIdKey = "X-Trace-Id" +) + +var ( + noopTracerProvider = trace.NewNoopTracerProvider() + noopEvent = rkquery.NewEventFactory().CreateEventNoop() +) + +// GetIncomingHeaders extract call-scoped incoming headers +func GetIncomingHeaders(req *http.Request) http.Header { + return req.Header +} + +// AddHeaderToClient headers that would be sent to client. +// Values would be merged. +func AddHeaderToClient(writer http.ResponseWriter, key, value string) { + if writer == nil { + return + } + + writer.Header().Add(key, value) +} + +// SetHeaderToClient headers that would be sent to client. +// Values would be overridden. +func SetHeaderToClient(writer http.ResponseWriter, key, value string) { + if writer == nil { + return + } + writer.Header().Set(key, value) +} + +// GetEvent extract takes the call-scoped EventData from middleware. +func GetEvent(req *http.Request) rkquery.Event { + if req == nil { + return noopEvent + } + + if event := req.Context().Value(rkmuxinter.RpcEventKey); event != nil { + return event.(rkquery.Event) + } + + return noopEvent +} + +// GetLogger extract takes the call-scoped zap logger from middleware. +func GetLogger(req *http.Request, writer http.ResponseWriter) *zap.Logger { + if req == nil { + return rklogger.NoopLogger + } + + if logger := req.Context().Value(rkmuxinter.RpcLoggerKey); logger != nil { + requestId := GetRequestId(writer) + traceId := GetTraceId(writer) + fields := make([]zap.Field, 0) + if len(requestId) > 0 { + fields = append(fields, zap.String("requestId", requestId)) + } + if len(traceId) > 0 { + fields = append(fields, zap.String("traceId", traceId)) + } + + return logger.(*zap.Logger).With(fields...) + } + + return rklogger.NoopLogger +} + +// GetRequestId extract request id from ResponseWriter. +// If user enabled meta interceptor, then a random request Id would e assigned and set to ResponseWriter as value. +// If user called AddHeaderToClient() with key of RequestIdKey, then a new request id would be updated. +func GetRequestId(w http.ResponseWriter) string { + if w == nil { + return "" + } + + return w.Header().Get(RequestIdKey) +} + +// GetTraceId extract trace id from ResponseWriter. +func GetTraceId(w http.ResponseWriter) string { + if w == nil { + return "" + } + + return w.Header().Get(TraceIdKey) +} + +// GetEntryName extract entry name from Request. +func GetEntryName(req *http.Request) string { + if req == nil { + return "" + } + + if raw := req.Context().Value(rkmuxinter.RpcEntryNameKey); raw != nil { + return raw.(string) + } + + return "" +} + +// GetTraceSpan extract the call-scoped span from Request. +func GetTraceSpan(req *http.Request) trace.Span { + _, span := noopTracerProvider.Tracer("rk-trace-noop").Start(context.TODO(), "noop-span") + + if req == nil { + return span + } + + _, span = noopTracerProvider.Tracer("rk-trace-noop").Start(req.Context(), "noop-span") + + if raw := req.Context().Value(rkmuxinter.RpcSpanKey); raw != nil { + return raw.(trace.Span) + } + + return span +} + +// GetTracer extract the call-scoped tracer from Request. +func GetTracer(req *http.Request) trace.Tracer { + if req == nil { + return noopTracerProvider.Tracer("rk-trace-noop") + } + + if raw := req.Context().Value(rkmuxinter.RpcTracerKey); raw != nil { + return raw.(trace.Tracer) + } + + return noopTracerProvider.Tracer("rk-trace-noop") +} + +// GetTracerProvider extract the call-scoped tracer provider from Request. +func GetTracerProvider(req *http.Request) trace.TracerProvider { + if req == nil { + return noopTracerProvider + } + + if raw := req.Context().Value(rkmuxinter.RpcTracerProviderKey); raw != nil { + return raw.(trace.TracerProvider) + } + + return noopTracerProvider +} + +// GetTracerPropagator extract takes the call-scoped propagator from middleware. +func GetTracerPropagator(req *http.Request) propagation.TextMapPropagator { + if req == nil { + return nil + } + + if raw := req.Context().Value(rkmuxinter.RpcPropagatorKey); raw != nil { + return raw.(propagation.TextMapPropagator) + } + + return nil +} + +// InjectSpanToHttpRequest inject span to http request +func InjectSpanToHttpRequest(src *http.Request, dest *http.Request) { + if src == nil || dest == nil { + return + } + + newCtx := trace.ContextWithRemoteSpanContext(src.Context(), GetTraceSpan(src).SpanContext()) + + if propagator := GetTracerPropagator(src); propagator != nil { + propagator.Inject(newCtx, propagation.HeaderCarrier(dest.Header)) + } +} + +// NewTraceSpan start a new span +func NewTraceSpan(req *http.Request, name string) (*http.Request, trace.Span) { + tracer := GetTracer(req) + newCtx, span := tracer.Start(req.Context(), name) + + GetEvent(req).StartTimer(name) + + return req.WithContext(newCtx), span +} + +// EndTraceSpan end span +func EndTraceSpan(span trace.Span, success bool) { + if success { + span.SetStatus(otelcodes.Ok, otelcodes.Ok.String()) + } + + span.End() +} + +// GetJwtToken return jwt.Token if exists +func GetJwtToken(req *http.Request) *jwt.Token { + if req == nil { + return nil + } + + if raw := req.Context().Value(rkmuxinter.RpcJwtTokenKey); raw != nil { + if res, ok := raw.(*jwt.Token); ok { + return res + } + } + + return nil +} + +// GetCsrfToken return csrf token if exists +func GetCsrfToken(req *http.Request) string { + if req == nil { + return "" + } + + if raw := req.Context().Value(rkmuxinter.RpcCsrfTokenKey); raw != nil { + if res, ok := raw.(string); ok { + return res + } + } + + return "" +} diff --git a/interceptor/context/context_test.go b/interceptor/context/context_test.go new file mode 100644 index 0000000..cdf3207 --- /dev/null +++ b/interceptor/context/context_test.go @@ -0,0 +1,212 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxctx + +import ( + "context" + "github.com/rookie-ninja/rk-logger" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-query" + "github.com/stretchr/testify/assert" + "go.opentelemetry.io/otel/propagation" + "go.opentelemetry.io/otel/trace" + "net/http" + "net/http/httptest" + "testing" +) + +func newReqAndWriter() (*http.Request, *httptest.ResponseRecorder) { + req := httptest.NewRequest(http.MethodGet, "/ut-path", nil) + writer := httptest.NewRecorder() + return req, writer +} + +func TestGetIncomingHeaders(t *testing.T) { + req, _ := newReqAndWriter() + req.Header.Set("ut-key", "ut-value") + + assert.Len(t, GetIncomingHeaders(req), 1) + assert.Equal(t, "ut-value", GetIncomingHeaders(req).Get("ut-key")) +} + +func TestAddHeaderToClient(t *testing.T) { + defer assertNotPanic(t) + + _, writer := newReqAndWriter() + + // With nil writer + AddHeaderToClient(writer, "", "") + + // Happy case + AddHeaderToClient(writer, "ut-key", "ut-value") + assert.Equal(t, "ut-value", writer.Header().Get("ut-key")) +} + +func TestSetHeaderToClient(t *testing.T) { + defer assertNotPanic(t) + + _, writer := newReqAndWriter() + + // With nil writer + SetHeaderToClient(writer, "", "") + + // Happy case + SetHeaderToClient(writer, "ut-key", "ut-value") + assert.Equal(t, "ut-value", writer.Header().Get("ut-key")) +} + +func TestGetEvent(t *testing.T) { + // With no event in context + req, _ := newReqAndWriter() + assert.Equal(t, noopEvent, GetEvent(req)) + + // Happy case + event := rkquery.NewEventFactory().CreateEventNoop() + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEventKey, event)) + assert.Equal(t, event, GetEvent(req)) +} + +func TestGetLogger(t *testing.T) { + req, writer := newReqAndWriter() + + // With no logger in context + assert.Equal(t, rklogger.NoopLogger, GetLogger(req, writer)) + + // Happy case + // Add request id and trace id + writer.Header().Set(RequestIdKey, "ut-request-id") + writer.Header().Set(TraceIdKey, "ut-trace-id") + + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcLoggerKey, rklogger.NoopLogger)) + + assert.Equal(t, rklogger.NoopLogger, GetLogger(req, writer)) +} + +func TestGetRequestId(t *testing.T) { + _, writer := newReqAndWriter() + + // With no requestId in context + assert.Empty(t, GetRequestId(writer)) + + // Happy case + writer.Header().Set(RequestIdKey, "ut-request-id") + assert.Equal(t, "ut-request-id", GetRequestId(writer)) +} + +func TestGetTraceId(t *testing.T) { + _, writer := newReqAndWriter() + + // With no traceId in context + assert.Empty(t, GetTraceId(writer)) + + // Happy case + writer.Header().Set(TraceIdKey, "ut-trace-id") + assert.Equal(t, "ut-trace-id", GetTraceId(writer)) +} + +func TestGetEntryName(t *testing.T) { + req, _ := newReqAndWriter() + + // With no entry name in context + assert.Empty(t, GetEntryName(req)) + + // Happy case + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, "ut-entry-name")) + assert.Equal(t, "ut-entry-name", GetEntryName(req)) +} + +func TestGetTraceSpan(t *testing.T) { + req, _ := newReqAndWriter() + + // With no span in context + assert.NotNil(t, GetTraceSpan(req)) + + // Happy case + _, span := noopTracerProvider.Tracer("ut-trace").Start(req.Context(), "noop-span") + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcSpanKey, span)) + assert.Equal(t, span, GetTraceSpan(req)) +} + +func TestGetTracer(t *testing.T) { + req, _ := newReqAndWriter() + + // With no tracer in context + assert.NotNil(t, GetTracer(req)) + + // Happy case + tracer := noopTracerProvider.Tracer("ut-trace") + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcTracerKey, tracer)) + assert.Equal(t, tracer, GetTracer(req)) +} + +func TestGetTracerProvider(t *testing.T) { + req, _ := newReqAndWriter() + + // With no tracer provider in context + assert.NotNil(t, GetTracerProvider(req)) + + // Happy case + provider := trace.NewNoopTracerProvider() + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcTracerProviderKey, provider)) + assert.Equal(t, provider, GetTracerProvider(req)) +} + +func TestGetTracerPropagator(t *testing.T) { + req, _ := newReqAndWriter() + + // With no tracer propagator in context + assert.Nil(t, GetTracerPropagator(req)) + + // Happy case + prop := propagation.NewCompositeTextMapPropagator() + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcPropagatorKey, prop)) + assert.Equal(t, prop, GetTracerPropagator(req)) +} + +func TestInjectSpanToHttpRequest(t *testing.T) { + defer assertNotPanic(t) + + // Happy case + req, _ := newReqAndWriter() + + prop := propagation.NewCompositeTextMapPropagator() + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcPropagatorKey, prop)) + + InjectSpanToHttpRequest(req, &http.Request{ + Header: http.Header{}, + }) +} + +func TestNewTraceSpan(t *testing.T) { + req, _ := newReqAndWriter() + + _, span := NewTraceSpan(req, "ut-span") + assert.NotNil(t, span) +} + +func TestEndTraceSpan(t *testing.T) { + defer assertNotPanic(t) + + req, _ := newReqAndWriter() + + // With success + span := GetTraceSpan(req) + EndTraceSpan(span, true) + + // With failure + span = GetTraceSpan(req) + EndTraceSpan(span, false) +} + +func assertNotPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, false) + } else { + // This should never be called in case of a bug + assert.True(t, true) + } +} diff --git a/interceptor/cors/interceptor.go b/interceptor/cors/interceptor.go new file mode 100644 index 0000000..eab2432 --- /dev/null +++ b/interceptor/cors/interceptor.go @@ -0,0 +1,116 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxcors is a CORS middleware for mux framework +package rkmuxcors + +import ( + "context" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" + "strconv" + "strings" +) + +// Interceptor Add cors interceptors. +// +// Mainly copied and modified from bellow. +// https://github.com/labstack/echo/blob/master/middleware/cors.go +func Interceptor(opts ...Option) mux.MiddlewareFunc { + set := newOptionSet(opts...) + + allowMethods := strings.Join(set.AllowMethods, ",") + allowHeaders := strings.Join(set.AllowHeaders, ",") + exposeHeaders := strings.Join(set.ExposeHeaders, ",") + maxAge := strconv.Itoa(set.MaxAge) + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, req *http.Request) { + // wrap writer + writer = rkmuxinter.WrapResponseWriter(writer) + + ctx := context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, set.EntryName) + req = req.WithContext(ctx) + + if set.Skipper(req) { + next.ServeHTTP(writer, req) + return + } + + originHeader := req.Header.Get(headerOrigin) + preflight := req.Method == http.MethodOptions + + // 1: if no origin header was provided, we will return 204 if request is not a OPTION method + if originHeader == "" { + // 1.1: if not a preflight request, then pass through + if !preflight { + next.ServeHTTP(writer, req) + return + } + + // 1.2: if it is a preflight request, then return with 204 + writer.WriteHeader(http.StatusNoContent) + return + } + + // 2: origin not allowed, we will return 204 if request is not a OPTION method + if !set.isOriginAllowed(originHeader) { + writer.WriteHeader(http.StatusNoContent) + return + } + + // 3: not a OPTION method + if !preflight { + writer.Header().Set(headerAccessControlAllowOrigin, originHeader) + // 3.1: add Access-Control-Allow-Credentials + if set.AllowCredentials { + writer.Header().Set(headerAccessControlAllowCredentials, "true") + } + // 3.2: add Access-Control-Expose-Headers + if exposeHeaders != "" { + writer.Header().Set(headerAccessControlExposeHeaders, exposeHeaders) + } + next.ServeHTTP(writer, req) + return + } + + // 4: preflight request, return 204 + // add related headers including: + // + // - Vary + // - Access-Control-Allow-Origin + // - Access-Control-Allow-Methods + // - Access-Control-Allow-Credentials + // - Access-Control-Allow-Headers + // - Access-Control-Max-Age + writer.Header().Add(headerVary, headerAccessControlRequestMethod) + writer.Header().Add(headerVary, headerAccessControlRequestHeaders) + writer.Header().Set(headerAccessControlAllowOrigin, originHeader) + writer.Header().Set(headerAccessControlAllowMethods, allowMethods) + + // 4.1: Access-Control-Allow-Credentials + if set.AllowCredentials { + writer.Header().Set(headerAccessControlAllowCredentials, "true") + } + + // 4.2: Access-Control-Allow-Headers + if allowHeaders != "" { + writer.Header().Set(headerAccessControlAllowHeaders, allowHeaders) + } else { + h := req.Header.Get(headerAccessControlRequestHeaders) + if h != "" { + writer.Header().Set(headerAccessControlAllowHeaders, h) + } + } + if set.MaxAge > 0 { + // 4.3: Access-Control-Max-Age + writer.Header().Set(headerAccessControlMaxAge, maxAge) + } + + writer.WriteHeader(http.StatusNoContent) + }) + } +} diff --git a/interceptor/cors/interceptor_test.go b/interceptor/cors/interceptor_test.go new file mode 100644 index 0000000..d4873ed --- /dev/null +++ b/interceptor/cors/interceptor_test.go @@ -0,0 +1,164 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +package rkmuxcors + +import ( + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "testing" +) + +const originHeaderValue = "http://ut-origin" + +var userFunc = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + w.WriteHeader(http.StatusOK) +}) + +func TestInterceptor(t *testing.T) { + defer assertNotPanic(t) + + // with skipper + req, writer := newReqAndWriter(http.MethodGet) + handler := Interceptor(WithSkipper(func(r *http.Request) bool { + return true + })) + f := handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + + // with empty option, all request will be passed + req, writer = newReqAndWriter(http.MethodGet) + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + + // match 1.1 + req, writer = newReqAndWriter(http.MethodGet) + req.Header.Del(headerOrigin) + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + + // match 1.2 + req, writer = newReqAndWriter(http.MethodOptions) + req.Header.Del(headerOrigin) + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusNoContent, writer.Result().StatusCode) + + // match 2 + req, writer = newReqAndWriter(http.MethodOptions) + handler = Interceptor(WithAllowOrigins("http://do-not-pass-through")) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusNoContent, writer.Result().StatusCode) + + // match 3 + req, writer = newReqAndWriter(http.MethodGet) + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.Equal(t, originHeaderValue, writer.Header().Get(headerAccessControlAllowOrigin)) + + // match 3.1 + req, writer = newReqAndWriter(http.MethodGet) + handler = Interceptor(WithAllowCredentials(true)) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.Equal(t, originHeaderValue, writer.Header().Get(headerAccessControlAllowOrigin)) + assert.Equal(t, "true", writer.Header().Get(headerAccessControlAllowCredentials)) + + // match 3.2 + req, writer = newReqAndWriter(http.MethodGet) + handler = Interceptor( + WithAllowCredentials(true), + WithExposeHeaders("expose")) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.Equal(t, originHeaderValue, writer.Header().Get(headerAccessControlAllowOrigin)) + assert.Equal(t, "true", writer.Header().Get(headerAccessControlAllowCredentials)) + assert.Equal(t, "expose", writer.Header().Get(headerAccessControlExposeHeaders)) + + // match 4 + req, writer = newReqAndWriter(http.MethodOptions) + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusNoContent, writer.Result().StatusCode) + assert.Equal(t, []string{ + headerAccessControlRequestMethod, + headerAccessControlRequestHeaders, + }, writer.Header().Values(headerVary)) + assert.Equal(t, originHeaderValue, writer.Header().Get(headerAccessControlAllowOrigin)) + assert.NotEmpty(t, writer.Header().Get(headerAccessControlAllowMethods)) + + // match 4.1 + req, writer = newReqAndWriter(http.MethodOptions) + handler = Interceptor(WithAllowCredentials(true)) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusNoContent, writer.Result().StatusCode) + assert.Equal(t, []string{ + headerAccessControlRequestMethod, + headerAccessControlRequestHeaders, + }, writer.Header().Values(headerVary)) + assert.Equal(t, originHeaderValue, writer.Header().Get(headerAccessControlAllowOrigin)) + assert.NotEmpty(t, writer.Header().Get(headerAccessControlAllowMethods)) + assert.Equal(t, "true", writer.Header().Get(headerAccessControlAllowCredentials)) + + // match 4.2 + req, writer = newReqAndWriter(http.MethodOptions) + handler = Interceptor(WithAllowHeaders("ut-header")) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusNoContent, writer.Result().StatusCode) + assert.Equal(t, []string{ + headerAccessControlRequestMethod, + headerAccessControlRequestHeaders, + }, writer.Header().Values(headerVary)) + assert.Equal(t, originHeaderValue, writer.Header().Get(headerAccessControlAllowOrigin)) + assert.NotEmpty(t, writer.Header().Get(headerAccessControlAllowMethods)) + assert.Equal(t, "ut-header", writer.Header().Get(headerAccessControlAllowHeaders)) + + // match 4.3 + req, writer = newReqAndWriter(http.MethodOptions) + handler = Interceptor(WithMaxAge(1)) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusNoContent, writer.Result().StatusCode) + assert.Equal(t, []string{ + headerAccessControlRequestMethod, + headerAccessControlRequestHeaders, + }, writer.Header().Values(headerVary)) + assert.Equal(t, originHeaderValue, writer.Header().Get(headerAccessControlAllowOrigin)) + assert.NotEmpty(t, writer.Header().Get(headerAccessControlAllowMethods)) + assert.Equal(t, "1", writer.Header().Get(headerAccessControlMaxAge)) +} + +func newReqAndWriter(method string) (*http.Request, *httptest.ResponseRecorder) { + req := httptest.NewRequest(method, "/ut-path", nil) + req.Header = http.Header{} + req.Header.Set(headerOrigin, originHeaderValue) + + writer := httptest.NewRecorder() + return req, writer +} + +func assertNotPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, false) + } else { + // This should never be called in case of a bug + assert.True(t, true) + } +} diff --git a/interceptor/cors/options.go b/interceptor/cors/options.go new file mode 100644 index 0000000..4e6715a --- /dev/null +++ b/interceptor/cors/options.go @@ -0,0 +1,213 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. +// +// Copied from https://github.com/labstack/echo/blob/master/middleware/cors.go + +package rkmuxcors + +import ( + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" + "regexp" + "strings" +) + +const ( + headerOrigin = "Origin" + headerAccessControlAllowOrigin = "Access-Control-Allow-Origin" + headerAccessControlAllowCredentials = "Access-Control-Allow-Credentials" + headerAccessControlExposeHeaders = "Access-Control-Expose-Headers" + headerVary = "Vary" + headerAccessControlRequestMethod = "Access-Control-Request-Method" + headerAccessControlRequestHeaders = "Access-Control-Request-Headers" + headerAccessControlAllowMethods = "Access-Control-Allow-Methods" + headerAccessControlAllowHeaders = "Access-Control-Allow-Headers" + headerAccessControlMaxAge = "Access-Control-Max-Age" +) + +// Interceptor would distinguish auth set based on. +var ( + optionsMap = make(map[string]*optionSet) + defaultSkipper = func(req *http.Request) bool { + return false + } +) + +// Create new optionSet with rpc type nad options. +func newOptionSet(opts ...Option) *optionSet { + set := &optionSet{ + EntryName: rkmuxinter.RpcEntryNameValue, + EntryType: rkmuxinter.RpcEntryTypeValue, + Skipper: defaultSkipper, + AllowOrigins: []string{}, + AllowMethods: []string{}, + AllowHeaders: []string{}, + AllowCredentials: false, + ExposeHeaders: []string{}, + MaxAge: 0, + } + + for i := range opts { + opts[i](set) + } + + if len(set.AllowOrigins) < 1 { + set.AllowOrigins = append(set.AllowOrigins, "*") + } + + if len(set.AllowMethods) < 1 { + set.AllowMethods = append(set.AllowMethods, + http.MethodGet, + http.MethodHead, + http.MethodPut, + http.MethodPatch, + http.MethodPost, + http.MethodDelete) + } + + // parse regex pattern in origins + set.toPatterns() + + if _, ok := optionsMap[set.EntryName]; !ok { + optionsMap[set.EntryName] = set + } + + return set +} + +// Options which is used while initializing extension interceptor +type optionSet struct { + // EntryName name of entry + EntryName string + // EntryType type of entry + EntryType string + // Skipper defines a function to skip middleware. + Skipper Skipper + // AllowOrigins defines a list of origins that may access the resource. + // Optional. Default value []string{"*"}. + AllowOrigins []string + // allowPatterns derived from AllowOrigins by parsing regex fields + // auto generated when creating new optionSet was created + allowPatterns []string + // AllowMethods defines a list methods allowed when accessing the resource. + // This is used in response to a preflight request. + // Optional. Default value DefaultCORSConfig.AllowMethods. + AllowMethods []string + // AllowHeaders defines a list of request headers that can be used when + // making the actual request. This is in response to a preflight request. + // Optional. Default value []string{}. + AllowHeaders []string + // AllowCredentials indicates whether or not the response to the request + // can be exposed when the credentials flag is true. When used as part of + // a response to a preflight request, this indicates whether or not the + // actual request can be made using credentials. + // Optional. Default value false. + AllowCredentials bool + // ExposeHeaders defines a whitelist headers that clients are allowed to + // access. + // Optional. Default value []string{}. + ExposeHeaders []string + // MaxAge indicates how long (in seconds) the results of a preflight request + // can be cached. + // Optional. Default value 0. + MaxAge int +} + +// Convert allowed origins to patterns +func (set *optionSet) toPatterns() { + set.allowPatterns = []string{} + + for _, raw := range set.AllowOrigins { + var result strings.Builder + result.WriteString("^") + for i, literal := range strings.Split(raw, "*") { + + // Replace * with .* + if i > 0 { + result.WriteString(".*") + } + + result.WriteString(literal) + } + result.WriteString("$") + set.allowPatterns = append(set.allowPatterns, result.String()) + } +} + +func (set *optionSet) isOriginAllowed(originHeader string) bool { + res := false + + for _, pattern := range set.allowPatterns { + res, _ = regexp.MatchString(pattern, originHeader) + if res { + break + } + } + + return res +} + +// Option if for middleware options while creating middleware +type Option func(*optionSet) + +// WithEntryNameAndType provide entry name and entry type. +func WithEntryNameAndType(entryName, entryType string) Option { + return func(opt *optionSet) { + opt.EntryName = entryName + opt.EntryType = entryType + } +} + +// WithSkipper provide skipper. +func WithSkipper(skip Skipper) Option { + return func(opt *optionSet) { + opt.Skipper = skip + } +} + +// WithAllowOrigins provide allowed origins. +func WithAllowOrigins(origins ...string) Option { + return func(opt *optionSet) { + opt.AllowOrigins = append(opt.AllowOrigins, origins...) + } +} + +// WithAllowMethods provide allowed http methods +func WithAllowMethods(methods ...string) Option { + return func(opt *optionSet) { + opt.AllowMethods = append(opt.AllowMethods, methods...) + } +} + +// WithAllowHeaders provide allowed headers +func WithAllowHeaders(headers ...string) Option { + return func(opt *optionSet) { + opt.AllowHeaders = append(opt.AllowHeaders, headers...) + } +} + +// WithAllowCredentials allow credentials or not +func WithAllowCredentials(allow bool) Option { + return func(opt *optionSet) { + opt.AllowCredentials = allow + } +} + +// WithExposeHeaders provide expose headers +func WithExposeHeaders(headers ...string) Option { + return func(opt *optionSet) { + opt.ExposeHeaders = append(opt.ExposeHeaders, headers...) + } +} + +// WithMaxAge provide max age +func WithMaxAge(age int) Option { + return func(opt *optionSet) { + opt.MaxAge = age + } +} + +// Skipper default skipper will always return false +type Skipper func(req *http.Request) bool diff --git a/interceptor/cors/options_test.go b/interceptor/cors/options_test.go new file mode 100644 index 0000000..6a3039e --- /dev/null +++ b/interceptor/cors/options_test.go @@ -0,0 +1,91 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxcors + +import ( + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/stretchr/testify/assert" + "net/http" + "testing" +) + +func TestNewOptionSet(t *testing.T) { + // With empty option + set := newOptionSet() + assert.Equal(t, rkmuxinter.RpcEntryNameValue, set.EntryName) + assert.Equal(t, rkmuxinter.RpcEntryTypeValue, set.EntryType) + assert.NotNil(t, set.Skipper) + assert.NotEmpty(t, set.AllowOrigins) + assert.NotEmpty(t, set.AllowMethods) + assert.NotEmpty(t, set.allowPatterns) + assert.Empty(t, set.AllowHeaders) + assert.Empty(t, set.ExposeHeaders) + assert.False(t, set.AllowCredentials) + assert.Zero(t, set.MaxAge) + + // With options + set = newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type"), + WithSkipper(func(req *http.Request) bool { + return true + }), + WithAllowOrigins("ut-origin"), + WithAllowMethods(http.MethodPost), + WithAllowHeaders("ut-header"), + WithAllowCredentials(true), + WithExposeHeaders("ut-header"), + WithMaxAge(1)) + + assert.Equal(t, "ut-entry", set.EntryName) + assert.Equal(t, "ut-type", set.EntryType) + assert.NotNil(t, set.Skipper) + assert.NotEmpty(t, set.AllowOrigins) + assert.NotEmpty(t, set.AllowMethods) + assert.NotEmpty(t, set.allowPatterns) + assert.NotEmpty(t, set.AllowHeaders) + assert.NotEmpty(t, set.ExposeHeaders) + assert.True(t, set.AllowCredentials) + assert.Equal(t, 1, set.MaxAge) +} + +func TestIsOriginAllowed(t *testing.T) { + set := newOptionSet() + + // 1: wildcard + set.AllowOrigins = []string{"*"} + set.toPatterns() + assert.True(t, set.isOriginAllowed("http://ut.domain")) + + // 2: exact matching + set.AllowOrigins = []string{"http://ut.domain"} + set.toPatterns() + assert.True(t, set.isOriginAllowed("http://ut.domain")) + assert.False(t, set.isOriginAllowed("http://ut.another")) + + // 3: subdomain + set.AllowOrigins = []string{"http://*.ut.domain"} + set.toPatterns() + assert.True(t, set.isOriginAllowed("http://sub.ut.domain")) + assert.True(t, set.isOriginAllowed("http://sub.sub.ut.domain")) + assert.False(t, set.isOriginAllowed("http://ut.domain")) + assert.False(t, set.isOriginAllowed("http://ut.another")) + + // 4: wildcard in middle of domain + set.AllowOrigins = []string{"http://ut.*.domain"} + set.toPatterns() + assert.True(t, set.isOriginAllowed("http://ut.sub.domain")) + assert.True(t, set.isOriginAllowed("http://ut.sub.sub.domain")) + assert.False(t, set.isOriginAllowed("http://ut.domain")) + assert.False(t, set.isOriginAllowed("http://ut.another")) + + // 5: wildcard in the last + set.AllowOrigins = []string{"http://ut.domain.*"} + set.toPatterns() + assert.True(t, set.isOriginAllowed("http://ut.domain.sub")) + assert.True(t, set.isOriginAllowed("http://ut.domain.sub.sub")) + assert.False(t, set.isOriginAllowed("http://ut.domain")) + assert.False(t, set.isOriginAllowed("http://ut.another")) +} diff --git a/interceptor/csrf/interceptor.go b/interceptor/csrf/interceptor.go new file mode 100644 index 0000000..4edc818 --- /dev/null +++ b/interceptor/csrf/interceptor.go @@ -0,0 +1,105 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxcsrf is a middleware for mux framework which validating csrf token for RPC +package rkmuxcsrf + +import ( + "context" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-common/common" + "github.com/rookie-ninja/rk-common/error" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" + "time" +) + +// Interceptor Add csrf interceptors. +// +// Mainly copied from bellow. +// https://github.com/labstack/echo/blob/master/middleware/csrf.go +func Interceptor(opts ...Option) mux.MiddlewareFunc { + set := newOptionSet(opts...) + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, req *http.Request) { + // wrap writer + writer = rkmuxinter.WrapResponseWriter(writer) + + ctx := context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, set.EntryName) + req = req.WithContext(ctx) + + // 1: skip csrf check based on skipper + if set.Skipper(req) { + next.ServeHTTP(writer, req) + return + } + + k, err := req.Cookie(set.CookieName) + token := "" + + // 2.1: generate token if failed to get cookie from context + if err != nil { + token = rkcommon.RandString(set.TokenLength) + } else { + // 2.2: reuse token if exists + token = k.Value + } + + // 3.1: do not check http methods of GET, HEAD, OPTIONS and TRACE + switch req.Method { + case http.MethodGet, http.MethodHead, http.MethodOptions, http.MethodTrace: + default: + // 3.2: validate token only for requests which are not defined as 'safe' by RFC7231 + clientToken, err := set.extractor(req) + if err != nil { + rkmuxinter.WriteJson(writer, http.StatusBadRequest, rkerror.New( + rkerror.WithHttpCode(http.StatusBadRequest), + rkerror.WithMessage("failed to extract client token"), + rkerror.WithDetails(err))) + + return + } + + // 3.3: return 403 to client if token is not matched + if !isValidToken(token, clientToken) { + rkmuxinter.WriteJson(writer, http.StatusForbidden, rkerror.New( + rkerror.WithHttpCode(http.StatusForbidden), + rkerror.WithMessage("invalid csrf token"))) + return + } + } + + // set CSRF cookie + cookie := new(http.Cookie) + cookie.Name = set.CookieName + cookie.Value = token + // 4.1 + if set.CookiePath != "" { + cookie.Path = set.CookiePath + } + // 4.2 + if set.CookieDomain != "" { + cookie.Domain = set.CookieDomain + } + // 4.3 + if set.CookieSameSite != http.SameSiteDefaultMode { + cookie.SameSite = set.CookieSameSite + } + cookie.Expires = time.Now().Add(time.Duration(set.CookieMaxAge) * time.Second) + cookie.Secure = set.CookieSameSite == http.SameSiteNoneMode + cookie.HttpOnly = set.CookieHTTPOnly + http.SetCookie(writer, cookie) + + // store token in the context + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcCsrfTokenKey, token)) + + // protect clients from caching the response + writer.Header().Add(headerVary, headerCookie) + + next.ServeHTTP(writer, req) + }) + } +} diff --git a/interceptor/csrf/interceptor_test.go b/interceptor/csrf/interceptor_test.go new file mode 100644 index 0000000..c22bee9 --- /dev/null +++ b/interceptor/csrf/interceptor_test.go @@ -0,0 +1,117 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxcsrf + +import ( + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "testing" +) + +var userFunc = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + w.WriteHeader(http.StatusOK) +}) + +func TestInterceptor(t *testing.T) { + defer assertNotPanic(t) + + // match 1 + req, writer := newReqAndWriter(http.MethodGet) + handler := Interceptor(WithSkipper(func(r *http.Request) bool { + return true + })) + f := handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + + // match 2.1 + req, writer = newReqAndWriter(http.MethodGet) + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.Contains(t, writer.Header().Get("Set-Cookie"), "_csrf") + + // match 2.2 + req, writer = newReqAndWriter(http.MethodGet) + req.AddCookie(&http.Cookie{ + Name: "_csrf", + Value: "ut-csrf-token", + }) + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.Contains(t, writer.Header().Get("Set-Cookie"), "_csrf") + + // match 3.1 + req, writer = newReqAndWriter(http.MethodGet) + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + + // match 3.2 + req, writer = newReqAndWriter(http.MethodPost) + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusBadRequest, writer.Result().StatusCode) + + // match 3.3 + req, writer = newReqAndWriter(http.MethodPost) + req.Header.Set(headerXCSRFToken, "ut-csrf-token") + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusForbidden, writer.Result().StatusCode) + + // match 4.1 + req, writer = newReqAndWriter(http.MethodGet) + handler = Interceptor( + WithCookiePath("ut-path")) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.Contains(t, writer.Header().Get("Set-Cookie"), "ut-path") + + // match 4.2 + req, writer = newReqAndWriter(http.MethodGet) + handler = Interceptor( + WithCookieDomain("ut-domain")) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.Contains(t, writer.Header().Get("Set-Cookie"), "ut-domain") + + // match 4.3 + req, writer = newReqAndWriter(http.MethodGet) + handler = Interceptor( + WithCookieSameSite(http.SameSiteStrictMode)) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + assert.Contains(t, writer.Header().Get("Set-Cookie"), "Strict") +} + +func newReqAndWriter(method string) (*http.Request, *httptest.ResponseRecorder) { + req := httptest.NewRequest(method, "/ut-path", nil) + req.Header = http.Header{} + + writer := httptest.NewRecorder() + return req, writer +} + +func assertNotPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, false) + } else { + // This should never be called in case of a bug + assert.True(t, true) + } +} diff --git a/interceptor/csrf/options.go b/interceptor/csrf/options.go new file mode 100644 index 0000000..10c407a --- /dev/null +++ b/interceptor/csrf/options.go @@ -0,0 +1,291 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxcsrf + +import ( + "crypto/subtle" + "errors" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" + "reflect" + "strings" +) + +// Interceptor would distinguish auth set based on. +var ( + optionsMap = make(map[string]*optionSet) + defaultSkipper = func(*http.Request) bool { + return false + } +) + +const ( + headerXCSRFToken = "X-CSRF-Token" + headerCookie = "Cookie" + headerVary = "Vary" +) + +// Skipper default skipper will always return false +type Skipper func(*http.Request) bool + +// CsrfTokenExtractor defines a function that takes `*http.Request` and returns +// either a token or an error. +type csrfTokenExtractor func(*http.Request) (string, error) + +// Create new optionSet with rpc type nad options. +func newOptionSet(opts ...Option) *optionSet { + set := &optionSet{ + EntryName: rkmuxinter.RpcEntryNameValue, + EntryType: rkmuxinter.RpcEntryTypeValue, + Skipper: defaultSkipper, + TokenLength: 32, + TokenLookup: "header:" + headerXCSRFToken, + CookieName: "_csrf", + CookieMaxAge: 86400, + CookieSameSite: http.SameSiteDefaultMode, + IgnorePrefix: make([]string, 0), + } + + for i := range opts { + opts[i](set) + } + + // default skipper was used, override it with ignoring prefix + if reflect.ValueOf(set.Skipper).Pointer() == reflect.ValueOf(defaultSkipper).Pointer() { + set.Skipper = func(req *http.Request) bool { + if req == nil { + return false + } + + urlPath := req.URL.Path + + for i := range set.IgnorePrefix { + if strings.HasPrefix(urlPath, set.IgnorePrefix[i]) { + return true + } + } + + return false + } + } + + // initialize extractor + parts := strings.Split(set.TokenLookup, ":") + set.extractor = csrfTokenFromHeader(parts[1]) + switch parts[0] { + case "form": + set.extractor = csrfTokenFromForm(parts[1]) + case "query": + set.extractor = csrfTokenFromQuery(parts[1]) + } + + if _, ok := optionsMap[set.EntryName]; !ok { + optionsMap[set.EntryName] = set + } + + return set +} + +// Options which is used while initializing extension interceptor +type optionSet struct { + // EntryName name of entry + EntryName string + + // EntryType type of entry + EntryType string + + // Skipper function + Skipper Skipper + + // IgnorePrefix ignoring paths prefix + IgnorePrefix []string + + // TokenLength is the length of the generated token. + TokenLength int + + // TokenLookup is a string in the form of ":" that is used + // to extract token from the request. + // Optional. Default value "header:X-CSRF-Token". + // Possible values: + // - "header:" + // - "form:" + // - "query:" + TokenLookup string + + // CookieName Name of the CSRF cookie. This cookie will store CSRF token. + // Optional. Default value "_csrf". + CookieName string + + // CookieDomain Domain of the CSRF cookie. + // Optional. Default value none. + CookieDomain string + + // CookiePath Path of the CSRF cookie. + // Optional. Default value none. + CookiePath string + + // CookieMaxAge Max age (in seconds) of the CSRF cookie. + // Optional. Default value 86400 (24hr). + CookieMaxAge int + + // CookieHTTPOnly Indicates if CSRF cookie is HTTP only. + // Optional. Default value false. + CookieHTTPOnly bool + + // CookieSameSite Indicates SameSite mode of the CSRF cookie. + // Optional. Default value SameSiteDefaultMode. + CookieSameSite http.SameSite + + extractor csrfTokenExtractor +} + +// Option if for middleware options while creating middleware +type Option func(*optionSet) + +// WithEntryNameAndType provide entry name and entry type. +func WithEntryNameAndType(entryName, entryType string) Option { + return func(opt *optionSet) { + opt.EntryName = entryName + opt.EntryType = entryType + } +} + +// WithSkipper provide Skipper. +func WithSkipper(skip Skipper) Option { + return func(opt *optionSet) { + opt.Skipper = skip + } +} + +// WithTokenLength the length of the generated token. +// Optional. Default value 32. +func WithTokenLength(val int) Option { + return func(opt *optionSet) { + if val > 0 { + opt.TokenLength = val + } + } +} + +// WithTokenLookup a string in the form of ":" that is used +// to extract token from the request. +// Optional. Default value "header:X-CSRF-Token". +// Possible values: +// - "header:" +// - "form:" +// - "query:" +// Optional. Default value "header:X-CSRF-Token". +func WithTokenLookup(val string) Option { + return func(opt *optionSet) { + if len(val) > 0 { + opt.TokenLookup = val + } + } +} + +// WithCookieName provide name of the CSRF cookie. This cookie will store CSRF token. +// Optional. Default value "csrf". +func WithCookieName(val string) Option { + return func(opt *optionSet) { + if len(val) > 0 { + opt.CookieName = val + } + } +} + +// WithCookieDomain provide domain of the CSRF cookie. +// Optional. Default value "". +func WithCookieDomain(val string) Option { + return func(opt *optionSet) { + if len(val) > 0 { + opt.CookieDomain = val + } + } +} + +// WithCookiePath provide path of the CSRF cookie. +// Optional. Default value "". +func WithCookiePath(val string) Option { + return func(opt *optionSet) { + if len(val) > 0 { + opt.CookiePath = val + } + } +} + +// WithCookieMaxAge provide max age (in seconds) of the CSRF cookie. +// Optional. Default value 86400 (24hr). +func WithCookieMaxAge(val int) Option { + return func(opt *optionSet) { + if val > 0 { + opt.CookieMaxAge = val + } + } +} + +// WithCookieHTTPOnly indicates if CSRF cookie is HTTP only. +// Optional. Default value false. +func WithCookieHTTPOnly(val bool) Option { + return func(opt *optionSet) { + opt.CookieHTTPOnly = val + } +} + +// WithCookieSameSite indicates SameSite mode of the CSRF cookie. +// Optional. Default value SameSiteDefaultMode. +func WithCookieSameSite(val http.SameSite) Option { + return func(opt *optionSet) { + opt.CookieSameSite = val + } +} + +// WithIgnorePrefix provide paths prefix that will ignore. +// Mainly used for swagger main page and RK TV entry. +func WithIgnorePrefix(paths ...string) Option { + return func(set *optionSet) { + set.IgnorePrefix = append(set.IgnorePrefix, paths...) + } +} + +// csrfTokenFromForm returns a `csrfTokenExtractor` that extracts token from the +// provided request header. +func csrfTokenFromHeader(header string) csrfTokenExtractor { + return func(req *http.Request) (string, error) { + token := req.Header.Get(header) + if token == "" { + return "", errors.New("missing csrf token in header") + } + return token, nil + } +} + +// csrfTokenFromForm returns a `csrfTokenExtractor` that extracts token from the +// provided form parameter. +func csrfTokenFromForm(param string) csrfTokenExtractor { + return func(req *http.Request) (string, error) { + token := req.FormValue(param) + if token == "" { + return "", errors.New("missing csrf token in the form parameter") + } + return token, nil + } +} + +// csrfTokenFromQuery returns a `csrfTokenExtractor` that extracts token from the +// provided query parameter. +func csrfTokenFromQuery(param string) csrfTokenExtractor { + return func(req *http.Request) (string, error) { + token := req.URL.Query().Get(param) + if token == "" { + return "", errors.New("missing csrf token in the query string") + } + return token, nil + } +} + +func isValidToken(token, clientToken string) bool { + return subtle.ConstantTimeCompare([]byte(token), []byte(clientToken)) == 1 +} diff --git a/interceptor/csrf/options_test.go b/interceptor/csrf/options_test.go new file mode 100644 index 0000000..97e5829 --- /dev/null +++ b/interceptor/csrf/options_test.go @@ -0,0 +1,141 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxcsrf + +import ( + "github.com/stretchr/testify/assert" + "net/http" + "net/url" + "testing" +) + +func TestNewOptionSet(t *testing.T) { + // without options + set := newOptionSet() + assert.NotEmpty(t, set.EntryName) + assert.NotEmpty(t, set.EntryType) + assert.False(t, set.Skipper(&http.Request{URL: &url.URL{ + Path: "ut-path", + }})) + assert.Equal(t, 32, set.TokenLength) + assert.Equal(t, "header:"+headerXCSRFToken, set.TokenLookup) + assert.Equal(t, "_csrf", set.CookieName) + assert.Equal(t, 86400, set.CookieMaxAge) + assert.Equal(t, http.SameSiteDefaultMode, set.CookieSameSite) + assert.Empty(t, set.IgnorePrefix) + assert.NotNil(t, set.extractor) + + // with options + set = newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type"), + WithSkipper(func(*http.Request) bool { + return true + }), + WithTokenLength(10), + WithTokenLookup("header:ut-header"), + WithCookieName("ut-cookie"), + WithCookieDomain("ut-domain"), + WithCookiePath("ut-path"), + WithCookieMaxAge(10), + WithCookieHTTPOnly(true), + WithCookieSameSite(http.SameSiteDefaultMode), + ) + assert.Equal(t, "ut-entry", set.EntryName) + assert.Equal(t, "ut-type", set.EntryType) + assert.True(t, set.Skipper(&http.Request{})) + assert.Equal(t, 10, set.TokenLength) + assert.Equal(t, "header:ut-header", set.TokenLookup) + assert.Equal(t, "ut-cookie", set.CookieName) + assert.Equal(t, "ut-domain", set.CookieDomain) + assert.Equal(t, "ut-path", set.CookiePath) + assert.True(t, set.CookieHTTPOnly) + assert.Equal(t, 10, set.CookieMaxAge) + assert.Equal(t, http.SameSiteDefaultMode, set.CookieSameSite) + assert.Empty(t, set.IgnorePrefix) + assert.NotNil(t, set.extractor) +} + +func TestIsValidToken(t *testing.T) { + // expect ture + token := "my-token" + clientToken := "my-token" + + assert.True(t, isValidToken(token, clientToken)) + + // expect false + assert.False(t, isValidToken(token, clientToken+"-invalid")) +} + +func TestCsrfTokenFromHeader(t *testing.T) { + set := newOptionSet(WithTokenLookup("header:ut-header")) + + // happy case + req := &http.Request{ + Header: http.Header{}, + } + req.Header.Set("ut-header", "ut-header-value") + + res, err := set.extractor(req) + assert.Nil(t, err) + assert.Equal(t, "ut-header-value", res) + + // expect error + req = &http.Request{ + Header: http.Header{}, + } + req.Header.Set("ut-header-invalid", "ut-header-value") + res, err = set.extractor(req) + assert.NotNil(t, err) + assert.Empty(t, res) +} + +func TestCsrfTokenFromForm(t *testing.T) { + set := newOptionSet(WithTokenLookup("form:ut-form")) + + // happy case + req := &http.Request{ + Form: url.Values{}, + } + req.Form.Set("ut-form", "ut-form-value") + + res, err := set.extractor(req) + assert.Nil(t, err) + assert.Equal(t, "ut-form-value", res) + + // expect error + req = &http.Request{ + Form: url.Values{}, + } + req.Form.Set("ut-form-invalid", "ut-form-value") + + res, err = set.extractor(req) + assert.NotNil(t, err) + assert.Empty(t, res) +} + +func TestCsrfTokenFromQuery(t *testing.T) { + set := newOptionSet(WithTokenLookup("query:ut-query")) + + // happy case + req := &http.Request{ + URL: &url.URL{}, + } + req.URL.RawQuery = "ut-query=ut-query-value" + + res, err := set.extractor(req) + assert.Nil(t, err) + assert.Equal(t, "ut-query-value", res) + + // expect error + req = &http.Request{ + URL: &url.URL{}, + } + req.URL.RawQuery = "ut-query-invalid=ut-query-value" + + res, err = set.extractor(req) + assert.NotNil(t, err) + assert.Empty(t, res) +} diff --git a/interceptor/jwt/interceptor.go b/interceptor/jwt/interceptor.go new file mode 100644 index 0000000..5ea6a15 --- /dev/null +++ b/interceptor/jwt/interceptor.go @@ -0,0 +1,74 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxjwt is a middleware for mux framework which validating jwt token for RPC +package rkmuxjwt + +import ( + "context" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-common/error" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" +) + +// Interceptor Add jwt interceptors. +// +// Mainly copied from bellow. +// https://github.com/labstack/echo/blob/master/middleware/jwt.go +func Interceptor(opts ...Option) mux.MiddlewareFunc { + set := newOptionSet(opts...) + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, req *http.Request) { + // wrap writer + writer = rkmuxinter.WrapResponseWriter(writer) + + ctx := context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, set.EntryName) + req = req.WithContext(ctx) + + if set.Skipper(req) { + next.ServeHTTP(writer, req) + return + } + + // extract token from extractor + var auth string + var err error + for _, extractor := range set.extractors { + // Extract token from extractor, if it's not fail break the loop and + // set auth + auth, err = extractor(req) + if err == nil { + break + } + } + + if err != nil { + rkmuxinter.WriteJson(writer, http.StatusUnauthorized, rkerror.New( + rkerror.WithHttpCode(http.StatusUnauthorized), + rkerror.WithMessage("invalid or expired jwt"), + rkerror.WithDetails(err))) + return + } + + // parse token + token, err := set.ParseTokenFunc(auth, req) + + if err != nil { + rkmuxinter.WriteJson(writer, http.StatusUnauthorized, rkerror.New( + rkerror.WithHttpCode(http.StatusUnauthorized), + rkerror.WithMessage("invalid or expired jwt"), + rkerror.WithDetails(err))) + return + } + + // insert into context + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcJwtTokenKey, token)) + + next.ServeHTTP(writer, req) + }) + } +} diff --git a/interceptor/jwt/interceptor_test.go b/interceptor/jwt/interceptor_test.go new file mode 100644 index 0000000..e0903b6 --- /dev/null +++ b/interceptor/jwt/interceptor_test.go @@ -0,0 +1,73 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxjwt + +import ( + "errors" + "github.com/golang-jwt/jwt/v4" + "github.com/stretchr/testify/assert" + "net/http" + "strings" + "testing" +) + +var userFunc = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + w.WriteHeader(http.StatusOK) +}) + +func TestInterceptor(t *testing.T) { + defer assertNotPanic(t) + + // with skipper + req, writer := newReqAndWriter() + handler := Interceptor(WithSkipper(func(*http.Request) bool { + return true + })) + f := handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + + // without options + req, writer = newReqAndWriter() + handler = Interceptor() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusUnauthorized, writer.Result().StatusCode) + + // with parse token error + parseTokenErrFunc := func(auth string, req *http.Request) (*jwt.Token, error) { + return nil, errors.New("ut-error") + } + req, writer = newReqAndWriter() + req.Header.Set(headerAuthorization, strings.Join([]string{"Bearer", "ut-auth"}, " ")) + handler = Interceptor( + WithParseTokenFunc(parseTokenErrFunc)) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusUnauthorized, writer.Result().StatusCode) + + // happy case + parseTokenErrFunc = func(auth string, req *http.Request) (*jwt.Token, error) { + return &jwt.Token{}, nil + } + req, writer = newReqAndWriter() + req.Header.Set(headerAuthorization, strings.Join([]string{"Bearer", "ut-auth"}, " ")) + handler = Interceptor( + WithParseTokenFunc(parseTokenErrFunc)) + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) +} + +func assertNotPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, false) + } else { + // This should never be called in case of a bug + assert.True(t, true) + } +} diff --git a/interceptor/jwt/options.go b/interceptor/jwt/options.go new file mode 100644 index 0000000..7f61b5d --- /dev/null +++ b/interceptor/jwt/options.go @@ -0,0 +1,388 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxjwt + +import ( + "errors" + "fmt" + "github.com/golang-jwt/jwt/v4" + "github.com/rookie-ninja/rk-common/error" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" + "reflect" + "strings" +) + +// Interceptor would distinguish auth set based on. +var ( + optionsMap = make(map[string]*optionSet) + defaultSkipper = func(*http.Request) bool { + return false + } + errJwtMissing = rkerror.New( + rkerror.WithHttpCode(http.StatusBadRequest), + rkerror.WithMessage("missing or malformed jwt")) + errJwtInvalid = rkerror.New( + rkerror.WithHttpCode(http.StatusUnauthorized), + rkerror.WithMessage("invalid or expired jwt")) +) + +const ( + // AlgorithmHS256 is default algorithm for jwt + AlgorithmHS256 = "HS256" + headerAuthorization = "Authorization" +) + +// Skipper default skipper will always return false +type Skipper func(*http.Request) bool + +// jwt extractor +type jwtExtractor func(*http.Request) (string, error) + +// ParseTokenFunc parse token func +type ParseTokenFunc func(auth string, req *http.Request) (*jwt.Token, error) + +// Create new optionSet with rpc type nad options. +func newOptionSet(opts ...Option) *optionSet { + set := &optionSet{ + EntryName: rkmuxinter.RpcEntryNameValue, + EntryType: rkmuxinter.RpcEntryTypeValue, + Skipper: defaultSkipper, + SigningKeys: make(map[string]interface{}), + SigningAlgorithm: AlgorithmHS256, + IgnorePrefix: make([]string, 0), + Claims: jwt.MapClaims{}, + TokenLookup: "header:" + headerAuthorization, + AuthScheme: "Bearer", + } + + set.KeyFunc = set.defaultKeyFunc + set.ParseTokenFunc = set.defaultParseToken + + for i := range opts { + opts[i](set) + } + + sources := strings.Split(set.TokenLookup, ",") + for _, source := range sources { + parts := strings.Split(source, ":") + + switch parts[0] { + case "query": + set.extractors = append(set.extractors, jwtFromQuery(parts[1])) + case "param": + set.extractors = append(set.extractors, jwtFromParam(parts[1])) + case "cookie": + set.extractors = append(set.extractors, jwtFromCookie(parts[1])) + case "form": + set.extractors = append(set.extractors, jwtFromForm(parts[1])) + case "header": + set.extractors = append(set.extractors, jwtFromHeader(parts[1], set.AuthScheme)) + } + } + + // default skipper was used, override it with ignoring prefix + if reflect.ValueOf(set.Skipper).Pointer() == reflect.ValueOf(defaultSkipper).Pointer() { + set.Skipper = func(req *http.Request) bool { + if req == nil { + return false + } + + urlPath := req.URL.Path + + for i := range set.IgnorePrefix { + if strings.HasPrefix(urlPath, set.IgnorePrefix[i]) { + return true + } + } + + return false + } + } + + if _, ok := optionsMap[set.EntryName]; !ok { + optionsMap[set.EntryName] = set + } + + return set +} + +// Options which is used while initializing extension interceptor +type optionSet struct { + // EntryName name of entry + EntryName string + // EntryType type of entry + EntryType string + // Skipper function + Skipper Skipper + // IgnorePrefix ignoring paths prefix + IgnorePrefix []string + extractors []jwtExtractor + // SigningKey Signing key to validate token. + // This is one of the three options to provide a token validation key. + // The order of precedence is a user-defined KeyFunc, SigningKeys and SigningKey. + // Required if neither user-defined KeyFunc nor SigningKeys is provided. + SigningKey interface{} + + // SigningKeys Map of signing keys to validate token with kid field usage. + // This is one of the three options to provide a token validation key. + // The order of precedence is a user-defined KeyFunc, SigningKeys and SigningKey. + // Required if neither user-defined KeyFunc nor SigningKey is provided. + SigningKeys map[string]interface{} + + // SigningAlgorithm Signing algorithm used to check the token's signing algorithm. + // Optional. Default value HS256. + SigningAlgorithm string + + // Claims are extendable claims data defining token content. Used by default ParseTokenFunc implementation. + // Not used if custom ParseTokenFunc is set. + // Optional. Default value jwt.MapClaims + Claims jwt.Claims + + // TokenLookup is a string in the form of ":" or ":,:" that is used + // to extract token from the request. + // Optional. Default value "header:Authorization". + // Possible values: + // - "header:" + // - "query:" + // - "param:" + // - "cookie:" + // - "form:" + // Multiply sources example: + // - "header: Authorization,cookie: myowncookie" + TokenLookup string + + // AuthScheme to be used in the Authorization header. + // Optional. Default value "Bearer". + AuthScheme string + + // KeyFunc defines a user-defined function that supplies the public key for a token validation. + // The function shall take care of verifying the signing algorithm and selecting the proper key. + // A user-defined KeyFunc can be useful if tokens are issued by an external party. + // Used by default ParseTokenFunc implementation. + // + // When a user-defined KeyFunc is provided, SigningKey, SigningKeys, and SigningMethod are ignored. + // This is one of the three options to provide a token validation key. + // The order of precedence is a user-defined KeyFunc, SigningKeys and SigningKey. + // Required if neither SigningKeys nor SigningKey is provided. + // Not used if custom ParseTokenFunc is set. + // Default to an internal implementation verifying the signing algorithm and selecting the proper key. + KeyFunc jwt.Keyfunc + + // ParseTokenFunc defines a user-defined function that parses token from given auth. Returns an error when token + // parsing fails or parsed token is invalid. + // Defaults to implementation using `github.com/golang-jwt/jwt` as JWT implementation library + ParseTokenFunc func(auth string, req *http.Request) (*jwt.Token, error) +} + +func (set *optionSet) defaultKeyFunc(t *jwt.Token) (interface{}, error) { + // check the signing method + if t.Method.Alg() != set.SigningAlgorithm { + return nil, fmt.Errorf("unexpected jwt signing algorithm=%v", t.Header["alg"]) + } + + // check kid in token first + // https://www.rfc-editor.org/rfc/rfc7515#section-4.1.4 + if len(set.SigningKeys) > 0 { + if kid, ok := t.Header["kid"].(string); ok { + if key, ok := set.SigningKeys[kid]; ok { + return key, nil + } + } + return nil, fmt.Errorf("unexpected jwt key id=%v", t.Header["kid"]) + } + + // return signing key + return set.SigningKey, nil +} + +func (set *optionSet) defaultParseToken(auth string, req *http.Request) (*jwt.Token, error) { + token := new(jwt.Token) + var err error + + // implementation of jwt.MapClaims + if _, ok := set.Claims.(jwt.MapClaims); ok { + token, err = jwt.Parse(auth, set.KeyFunc) + } else { + // custom implementation of jwt.Claims + t := reflect.ValueOf(set.Claims).Type().Elem() + claims := reflect.New(t).Interface().(jwt.Claims) + token, err = jwt.ParseWithClaims(auth, claims, set.KeyFunc) + } + + // return error + if err != nil { + return nil, err + } + + // invalid token + if !token.Valid { + return nil, errors.New("invalid token") + } + + return token, nil +} + +// Option if for middleware options while creating middleware +type Option func(*optionSet) + +// WithEntryNameAndType provide entry name and entry type. +func WithEntryNameAndType(entryName, entryType string) Option { + return func(opt *optionSet) { + opt.EntryName = entryName + opt.EntryType = entryType + } +} + +// WithSkipper provide Skipper. +func WithSkipper(skip Skipper) Option { + return func(opt *optionSet) { + opt.Skipper = skip + } +} + +// WithSigningKey provide SigningKey. +func WithSigningKey(key interface{}) Option { + return func(opt *optionSet) { + if key != nil { + opt.SigningKey = key + } + } +} + +// WithSigningKeys provide SigningKey with key and value. +func WithSigningKeys(key string, value interface{}) Option { + return func(opt *optionSet) { + if len(key) > 0 { + opt.SigningKeys[key] = value + } + } +} + +// WithSigningAlgorithm provide signing algorithm. +// Default is HS256. +func WithSigningAlgorithm(algo string) Option { + return func(opt *optionSet) { + if len(algo) > 0 { + opt.SigningAlgorithm = algo + } + } +} + +// WithClaims provide jwt.Claims. +func WithClaims(claims jwt.Claims) Option { + return func(opt *optionSet) { + opt.Claims = claims + } +} + +// WithTokenLookup provide lookup configs. +// TokenLookup is a string in the form of ":" or ":,:" that is used +// to extract token from the request. +// Optional. Default value "header:Authorization". +// Possible values: +// - "header:" +// - "query:" +// - "param:" +// - "cookie:" +// - "form:" +// Multiply sources example: +// - "header: Authorization,cookie: myowncookie" +func WithTokenLookup(lookup string) Option { + return func(opt *optionSet) { + if len(lookup) > 0 { + opt.TokenLookup = lookup + } + } +} + +// WithAuthScheme provide auth scheme. +// Default is Bearer +func WithAuthScheme(scheme string) Option { + return func(opt *optionSet) { + if len(scheme) > 0 { + opt.AuthScheme = scheme + } + } +} + +// WithIgnorePrefix provide paths prefix that will ignore. +// Mainly used for swagger main page and RK TV entry. +func WithIgnorePrefix(paths ...string) Option { + return func(set *optionSet) { + set.IgnorePrefix = append(set.IgnorePrefix, paths...) + } +} + +// WithKeyFunc provide user defined key func. +func WithKeyFunc(f jwt.Keyfunc) Option { + return func(opt *optionSet) { + opt.KeyFunc = f + } +} + +// WithParseTokenFunc provide user defined token parse func. +func WithParseTokenFunc(f ParseTokenFunc) Option { + return func(opt *optionSet) { + opt.ParseTokenFunc = f + } +} + +// jwtFromHeader returns a `jwtExtractor` that extracts token from the request header. +func jwtFromHeader(header string, authScheme string) jwtExtractor { + return func(req *http.Request) (string, error) { + auth := req.Header.Get(header) + l := len(authScheme) + if len(auth) > l+1 && strings.EqualFold(auth[:l], authScheme) { + return auth[l+1:], nil + } + return "", errJwtMissing.Err + } +} + +// jwtFromQuery returns a `jwtExtractor` that extracts token from the query string. +func jwtFromQuery(param string) jwtExtractor { + return func(req *http.Request) (string, error) { + token := req.URL.Query().Get(param) + if token == "" { + return "", errJwtMissing.Err + } + return token, nil + } +} + +// jwtFromParam returns a `jwtExtractor` that extracts token from the url param string. +func jwtFromParam(param string) jwtExtractor { + return func(req *http.Request) (string, error) { + token := req.URL.Query().Get(param) + if token == "" { + return "", errJwtMissing.Err + } + return token, nil + } +} + +// jwtFromCookie returns a `jwtExtractor` that extracts token from the named cookie. +func jwtFromCookie(name string) jwtExtractor { + return func(req *http.Request) (string, error) { + cookie, err := req.Cookie(name) + if err != nil { + return "", errJwtMissing.Err + } + return cookie.Value, nil + } +} + +// jwtFromForm returns a `jwtExtractor` that extracts token from the form field. +func jwtFromForm(name string) jwtExtractor { + return func(req *http.Request) (string, error) { + field := req.Form.Get(name) + if field == "" { + return "", errJwtMissing.Err + } + return field, nil + } +} diff --git a/interceptor/jwt/options_test.go b/interceptor/jwt/options_test.go new file mode 100644 index 0000000..2b8cf24 --- /dev/null +++ b/interceptor/jwt/options_test.go @@ -0,0 +1,210 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxjwt + +import ( + "bytes" + "fmt" + "github.com/golang-jwt/jwt/v4" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "net/url" + "reflect" + "strings" + "testing" +) + +func TestNewOptionSet(t *testing.T) { + // without options + set := newOptionSet() + assert.NotEmpty(t, set.EntryName) + assert.NotEmpty(t, set.EntryType) + assert.False(t, set.Skipper(&http.Request{URL: &url.URL{ + Path: "ut-path", + }})) + assert.Empty(t, set.SigningKeys) + assert.Nil(t, set.SigningKey) + assert.Equal(t, set.SigningAlgorithm, AlgorithmHS256) + assert.NotNil(t, set.Claims) + assert.Equal(t, set.TokenLookup, "header:"+headerAuthorization) + assert.Equal(t, set.AuthScheme, "Bearer") + assert.Equal(t, reflect.ValueOf(set.KeyFunc).Pointer(), reflect.ValueOf(set.defaultKeyFunc).Pointer()) + assert.Equal(t, reflect.ValueOf(set.ParseTokenFunc).Pointer(), reflect.ValueOf(set.defaultParseToken).Pointer()) + + // with options + skipper := func(*http.Request) bool { + return false + } + claims := &fakeClaims{} + keyFunc := func(token *jwt.Token) (interface{}, error) { + return nil, nil + } + parseToken := func(string, *http.Request) (*jwt.Token, error) { return nil, nil } + tokenLookups := strings.Join([]string{ + "query:ut-query", + "param:ut-param", + "cookie:ut-cookie", + "form:ut-form", + "header:ut-header", + }, ",") + + set = newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type"), + WithSkipper(skipper), + WithSigningKey("ut-signing-key"), + WithSigningKeys("ut-key", "ut-value"), + WithSigningAlgorithm("ut-signing-algorithm"), + WithClaims(claims), + WithTokenLookup(tokenLookups), + WithAuthScheme("ut-auth-scheme"), + WithKeyFunc(keyFunc), + WithParseTokenFunc(parseToken), + WithIgnorePrefix("/ut")) + + assert.Equal(t, "ut-entry", set.EntryName) + assert.Equal(t, "ut-type", set.EntryType) + assert.False(t, set.Skipper(&http.Request{URL: &url.URL{ + Path: "ut-path", + }})) + assert.Equal(t, "ut-signing-key", set.SigningKey) + assert.NotEmpty(t, set.SigningKeys) + assert.Equal(t, "ut-signing-algorithm", set.SigningAlgorithm) + assert.Equal(t, claims, set.Claims) + assert.Equal(t, tokenLookups, set.TokenLookup) + assert.Len(t, set.extractors, 5) + assert.Equal(t, "ut-auth-scheme", set.AuthScheme) + assert.Equal(t, reflect.ValueOf(set.KeyFunc).Pointer(), reflect.ValueOf(keyFunc).Pointer()) + assert.Equal(t, reflect.ValueOf(set.ParseTokenFunc).Pointer(), reflect.ValueOf(parseToken).Pointer()) +} + +func TestJwtFromHeader(t *testing.T) { + headerKey := "ut-header" + authScheme := "ut-auth-scheme" + jwtValue := "ut-jwt" + extractor := jwtFromHeader(headerKey, authScheme) + req, _ := newReqAndWriter() + + // happy case + req.Header.Set(headerKey, strings.Join([]string{authScheme, jwtValue}, " ")) + res, err := extractor(req) + assert.Equal(t, jwtValue, res) + assert.Nil(t, err) + + // invalid auth + req.Header.Set(headerKey, strings.Join([]string{"invalid", jwtValue}, " ")) + res, err = extractor(req) + assert.Empty(t, res) + assert.NotNil(t, err) +} + +func TestJwtFromQuery(t *testing.T) { + queryKey := "ut-query" + jwtValue := "ut-jwt" + extractor := jwtFromQuery(queryKey) + req, _ := newReqAndWriter() + + // happy case + req.URL.RawQuery = strings.Join([]string{queryKey, jwtValue}, "=") + res, err := extractor(req) + assert.Equal(t, jwtValue, res) + assert.Nil(t, err) + + // invalid auth + req, _ = newReqAndWriter() + req.URL.RawQuery = strings.Join([]string{"invalid", jwtValue}, "=") + res, err = extractor(req) + assert.Empty(t, res) + assert.NotNil(t, err) +} + +func TestJwtFromParam(t *testing.T) { + paramKey := "ut-param" + jwtValue := "ut-jwt" + extractor := jwtFromParam(paramKey) + req, _ := newReqAndWriter() + + // happy case + req.URL = &url.URL{ + RawQuery: fmt.Sprintf("%s=%s", paramKey, jwtValue), + } + + res, err := extractor(req) + assert.Equal(t, jwtValue, res) + assert.Nil(t, err) + + // invalid auth + req, _ = newReqAndWriter() + req.URL = &url.URL{ + RawQuery: fmt.Sprintf("%s=%s", "invalid", jwtValue), + } + res, err = extractor(req) + assert.Empty(t, res) + assert.NotNil(t, err) +} + +func TestJwtFromCookie(t *testing.T) { + cookieKey := "ut-cookie" + jwtValue := "ut-jwt" + extractor := jwtFromCookie(cookieKey) + req, _ := newReqAndWriter() + + // happy case + req.AddCookie(&http.Cookie{ + Name: cookieKey, + Value: jwtValue, + }) + res, err := extractor(req) + assert.Equal(t, jwtValue, res) + assert.Nil(t, err) + + // invalid auth + req, _ = newReqAndWriter() + req.AddCookie(&http.Cookie{ + Name: "invalid", + Value: jwtValue, + }) + res, err = extractor(req) + assert.Empty(t, res) + assert.NotNil(t, err) +} + +func TestJwtFromForm(t *testing.T) { + formKey := "ut-form" + jwtValue := "ut-jwt" + extractor := jwtFromForm(formKey) + req, _ := newReqAndWriter() + + // happy case + req.Form = url.Values{ + formKey: []string{jwtValue}, + } + res, err := extractor(req) + assert.Equal(t, jwtValue, res) + assert.Nil(t, err) + + // invalid auth + req, _ = newReqAndWriter() + req.Form = url.Values{ + "invalid": []string{jwtValue}, + } + res, err = extractor(req) + assert.Empty(t, res) + assert.NotNil(t, err) +} + +func newReqAndWriter() (*http.Request, *httptest.ResponseRecorder) { + var buf bytes.Buffer + req := httptest.NewRequest(http.MethodPost, "/ut-path", &buf) + writer := httptest.NewRecorder() + return req, writer +} + +type fakeClaims struct{} + +func (c *fakeClaims) Valid() error { + return nil +} diff --git a/interceptor/log/zap/interceptor.go b/interceptor/log/zap/interceptor.go new file mode 100644 index 0000000..acfcb97 --- /dev/null +++ b/interceptor/log/zap/interceptor.go @@ -0,0 +1,98 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxlog is a middleware for mux framework for logging RPC. +package rkmuxlog + +import ( + "context" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-query" + "go.uber.org/zap" + "net/http" + "strconv" + "time" +) + +// Interceptor returns a gin.HandlerFunc (middleware) that logs requests using uber-go/zap. +func Interceptor(opts ...Option) mux.MiddlewareFunc { + set := newOptionSet(opts...) + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, req *http.Request) { + // wrap writer + writer = rkmuxinter.WrapResponseWriter(writer) + + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, set.EntryName)) + + req = before(req, set) + + next.ServeHTTP(writer, req) + + after(req, writer, set) + }) + } +} + +func before(req *http.Request, set *optionSet) *http.Request { + var event rkquery.Event + if rkmuxinter.ShouldLog(req) { + event = set.eventLoggerEntry.GetEventFactory().CreateEvent( + rkquery.WithZapLogger(set.eventLoggerOverride), + rkquery.WithEncoding(set.eventLoggerEncoding), + rkquery.WithAppName(rkentry.GlobalAppCtx.GetAppInfoEntry().AppName), + rkquery.WithAppVersion(rkentry.GlobalAppCtx.GetAppInfoEntry().Version), + rkquery.WithEntryName(set.EntryName), + rkquery.WithEntryType(set.EntryType)) + } else { + event = set.eventLoggerEntry.GetEventFactory().CreateEventNoop() + } + + event.SetStartTime(time.Now()) + + remoteIp, remotePort := rkmuxinter.GetRemoteAddressSet(req) + // handle remote address + event.SetRemoteAddr(remoteIp + ":" + remotePort) + + payloads := []zap.Field{ + zap.String("apiPath", req.URL.Path), + zap.String("apiMethod", req.Method), + zap.String("apiQuery", req.URL.RawQuery), + zap.String("apiProtocol", req.Proto), + zap.String("userAgent", req.UserAgent()), + } + + // handle payloads + event.AddPayloads(payloads...) + + // handle operation + event.SetOperation(req.URL.Path) + + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEventKey, event)) + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcLoggerKey, set.ZapLogger)) + + return req +} + +func after(req *http.Request, writer http.ResponseWriter, set *optionSet) { + event := rkmuxctx.GetEvent(req) + + if requestId := rkmuxctx.GetRequestId(writer); len(requestId) > 0 { + event.SetEventId(requestId) + event.SetRequestId(requestId) + } + + if traceId := rkmuxctx.GetTraceId(writer); len(traceId) > 0 { + event.SetTraceId(traceId) + } + + // writer must be RkResponseWriter + event.SetResCode(strconv.Itoa(writer.(*rkmuxinter.RkResponseWriter).Code)) + event.SetEndTime(time.Now()) + event.Finish() +} diff --git a/interceptor/log/zap/interceptor_test.go b/interceptor/log/zap/interceptor_test.go new file mode 100644 index 0000000..2f3e550 --- /dev/null +++ b/interceptor/log/zap/interceptor_test.go @@ -0,0 +1,88 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxlog + +import ( + "bytes" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "github.com/rookie-ninja/rk-query" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "testing" +) + +var userFunc = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + w.WriteHeader(http.StatusOK) +}) + +func newReqAndWriter() (*http.Request, *httptest.ResponseRecorder) { + var buf bytes.Buffer + req := httptest.NewRequest(http.MethodGet, "/ut-path", &buf) + writer := httptest.NewRecorder() + return req, writer +} + +func TestInterceptor_WithShouldNotLog(t *testing.T) { + defer assertNotPanic(t) + + req, writer := newReqAndWriter() + req.URL.Path = "/rk/v1/assets" + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type"), + WithZapLoggerEntry(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntry(rkentry.NoopEventLoggerEntry())) + + f := handler(userFunc) + f.ServeHTTP(writer, req) + + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) +} + +func TestInterceptor_HappyCase(t *testing.T) { + defer assertNotPanic(t) + + req, writer := newReqAndWriter() + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type"), + WithZapLoggerEntry(rkentry.NoopZapLoggerEntry()), + WithEventLoggerEntry(rkentry.NoopEventLoggerEntry())) + + writer.Header().Set(rkmuxctx.RequestIdKey, "ut-request-id") + writer.Header().Set(rkmuxctx.TraceIdKey, "ut-trace-id") + + f := handler(http.HandlerFunc(func(w http.ResponseWriter, request *http.Request) { + req = request + w.WriteHeader(http.StatusOK) + })) + + f.ServeHTTP(writer, req) + + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + + event := rkmuxctx.GetEvent(req) + + assert.NotEmpty(t, event.GetRemoteAddr()) + assert.NotEmpty(t, event.ListPayloads()) + assert.NotEmpty(t, event.GetOperation()) + assert.NotEmpty(t, event.GetRequestId()) + assert.NotEmpty(t, event.GetTraceId()) + assert.NotEmpty(t, event.GetResCode()) + assert.Equal(t, rkquery.Ended, event.GetEventStatus()) +} + +func assertNotPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, false) + } else { + // This should never be called in case of a bug + assert.True(t, true) + } +} diff --git a/interceptor/log/zap/options.go b/interceptor/log/zap/options.go new file mode 100644 index 0000000..e9561e2 --- /dev/null +++ b/interceptor/log/zap/options.go @@ -0,0 +1,183 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxlog + +import ( + "github.com/rookie-ninja/rk-common/common" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-logger" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-query" + "go.uber.org/zap" + "os" + "path" +) + +const ( + // ENCODING_CONSOLE console encoding style of logging + ENCODING_CONSOLE int = 0 + // ENCODING_JSON console encoding style of logging + ENCODING_JSON int = 1 +) + +var optionsMap = make(map[string]*optionSet) + +// Create new optionSet with rpc type nad options. +func newOptionSet(opts ...Option) *optionSet { + set := &optionSet{ + EntryName: rkmuxinter.RpcEntryNameValue, + EntryType: rkmuxinter.RpcEntryTypeValue, + zapLoggerEntry: rkentry.GlobalAppCtx.GetZapLoggerEntryDefault(), + eventLoggerEntry: rkentry.GlobalAppCtx.GetEventLoggerEntryDefault(), + ZapLogger: rkentry.GlobalAppCtx.GetZapLoggerEntryDefault().GetLogger(), + zapLoggerOutputPath: make([]string, 0), + eventLoggerOutputPath: make([]string, 0), + } + + for i := range opts { + opts[i](set) + } + + set.ZapLogger = set.zapLoggerEntry.GetLogger() + + // Override zap logger encoding and output path if provided by user + // Override encoding type + if set.zapLoggerEncoding == ENCODING_JSON || len(set.zapLoggerOutputPath) > 0 { + if set.zapLoggerEncoding == ENCODING_JSON { + set.zapLoggerEntry.LoggerConfig.Encoding = "json" + } + + if len(set.zapLoggerOutputPath) > 0 { + set.zapLoggerEntry.LoggerConfig.OutputPaths = toAbsPath(set.zapLoggerOutputPath...) + } + + if set.zapLoggerEntry.LumberjackConfig == nil { + set.zapLoggerEntry.LumberjackConfig = rklogger.NewLumberjackConfigDefault() + } + + if logger, err := rklogger.NewZapLoggerWithConf(set.zapLoggerEntry.LoggerConfig, set.zapLoggerEntry.LumberjackConfig); err != nil { + rkcommon.ShutdownWithError(err) + } else { + set.ZapLogger = logger + } + } + + // Override event logger output path if provided by user + if len(set.eventLoggerOutputPath) > 0 { + set.eventLoggerEntry.LoggerConfig.OutputPaths = toAbsPath(set.eventLoggerOutputPath...) + if set.eventLoggerEntry.LumberjackConfig == nil { + set.eventLoggerEntry.LumberjackConfig = rklogger.NewLumberjackConfigDefault() + } + if logger, err := rklogger.NewZapLoggerWithConf(set.eventLoggerEntry.LoggerConfig, set.eventLoggerEntry.LumberjackConfig); err != nil { + rkcommon.ShutdownWithError(err) + } else { + set.eventLoggerOverride = logger + } + } + + if _, ok := optionsMap[set.EntryName]; !ok { + optionsMap[set.EntryName] = set + } + + return set +} + +// Make incoming paths to absolute path with current working directory attached as prefix +func toAbsPath(p ...string) []string { + res := make([]string, 0) + + for i := range p { + if path.IsAbs(p[i]) { + res = append(res, p[i]) + } + wd, _ := os.Getwd() + res = append(res, path.Join(wd, p[i])) + } + + return res +} + +// Options which is used while initializing logging interceptor +type optionSet struct { + EntryName string + EntryType string + zapLoggerEntry *rkentry.ZapLoggerEntry + eventLoggerEntry *rkentry.EventLoggerEntry + ZapLogger *zap.Logger + zapLoggerEncoding int + eventLoggerEncoding rkquery.Encoding + zapLoggerOutputPath []string + eventLoggerOutputPath []string + eventLoggerOverride *zap.Logger +} + +// Option options provided to Interceptor or optionsSet while creating +type Option func(*optionSet) + +// WithEntryNameAndType provide entry name and entry type. +func WithEntryNameAndType(entryName, entryType string) Option { + return func(set *optionSet) { + set.EntryName = entryName + set.EntryType = entryType + } +} + +// WithZapLoggerEntry provide rkentry.ZapLoggerEntry. +func WithZapLoggerEntry(zapLoggerEntry *rkentry.ZapLoggerEntry) Option { + return func(set *optionSet) { + if zapLoggerEntry != nil { + set.zapLoggerEntry = zapLoggerEntry + } + } +} + +// WithEventLoggerEntry provide rkentry.EventLoggerEntry. +func WithEventLoggerEntry(eventLoggerEntry *rkentry.EventLoggerEntry) Option { + return func(set *optionSet) { + if eventLoggerEntry != nil { + set.eventLoggerEntry = eventLoggerEntry + } + } +} + +// WithZapLoggerEncoding provide ZapLoggerEncodingType. +// json or console is supported. +func WithZapLoggerEncoding(ec int) Option { + return func(set *optionSet) { + set.zapLoggerEncoding = ec + } +} + +// WithZapLoggerOutputPaths provide ZapLogger Output Path. +// Multiple output path could be supported including stdout. +func WithZapLoggerOutputPaths(path ...string) Option { + return func(set *optionSet) { + set.zapLoggerOutputPath = append(set.zapLoggerOutputPath, path...) + } +} + +// WithEventLoggerEncoding provide ZapLoggerEncodingType. +// ENCODING_CONSOLE or ENCODING_JSON is supported. +func WithEventLoggerEncoding(ec int) Option { + return func(set *optionSet) { + switch ec { + case ENCODING_CONSOLE: + set.eventLoggerEncoding = rkquery.CONSOLE + case ENCODING_JSON: + set.eventLoggerEncoding = rkquery.JSON + default: + set.eventLoggerEncoding = rkquery.CONSOLE + } + } +} + +// WithEventLoggerOutputPaths provide EventLogger Output Path. +// Multiple output path could be supported including stdout. +func WithEventLoggerOutputPaths(path ...string) Option { + return func(set *optionSet) { + set.eventLoggerOutputPath = append(set.eventLoggerOutputPath, path...) + } +} diff --git a/interceptor/log/zap/options_test.go b/interceptor/log/zap/options_test.go new file mode 100644 index 0000000..6a019b3 --- /dev/null +++ b/interceptor/log/zap/options_test.go @@ -0,0 +1,72 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxlog + +import ( + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-query" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestWithEntryNameAndType(t *testing.T) { + set := newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type")) + + assert.Equal(t, "ut-entry", set.EntryName) + assert.Equal(t, "ut-type", set.EntryType) +} + +func TestWithZapLoggerEntry(t *testing.T) { + entry := rkentry.NoopZapLoggerEntry() + set := newOptionSet( + WithZapLoggerEntry(entry)) + assert.Equal(t, entry, set.zapLoggerEntry) +} + +func TestWithEventLoggerEntry(t *testing.T) { + entry := rkentry.NoopEventLoggerEntry() + set := newOptionSet( + WithEventLoggerEntry(entry)) + assert.Equal(t, entry, set.eventLoggerEntry) +} + +func TestWithZapLoggerEncoding(t *testing.T) { + set := newOptionSet( + WithZapLoggerEncoding(ENCODING_JSON)) + + assert.Equal(t, ENCODING_JSON, set.zapLoggerEncoding) +} + +func TestWithZapLoggerOutputPaths(t *testing.T) { + set := newOptionSet( + WithZapLoggerOutputPaths("ut-path")) + + assert.Contains(t, set.zapLoggerOutputPath, "ut-path") +} + +func TestWithEventLoggerEncoding(t *testing.T) { + // Test with console encoding + set := newOptionSet( + WithEventLoggerEncoding(ENCODING_CONSOLE)) + assert.Equal(t, rkquery.CONSOLE, set.eventLoggerEncoding) + + // Test with json encoding + set = newOptionSet( + WithEventLoggerEncoding(ENCODING_JSON)) + assert.Equal(t, rkquery.JSON, set.eventLoggerEncoding) + + // Test with non console and json + set = newOptionSet( + WithEventLoggerEncoding(-1)) + assert.Equal(t, rkquery.CONSOLE, set.eventLoggerEncoding) +} + +func TestWithEventLoggerOutputPaths(t *testing.T) { + set := newOptionSet( + WithEventLoggerOutputPaths("ut-path")) + assert.Contains(t, set.eventLoggerOutputPath, "ut-path") +} diff --git a/interceptor/meta/interceptor.go b/interceptor/meta/interceptor.go new file mode 100644 index 0000000..c3bb972 --- /dev/null +++ b/interceptor/meta/interceptor.go @@ -0,0 +1,54 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxmeta is a middleware of mux framework for adding metadata in RPC response +package rkmuxmeta + +import ( + "context" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-common/common" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "net/http" + "time" +) + +// Interceptor will add common headers as extension style in http response. +// The key is defined as bellow: +// 1: X-Request-Id: Request id generated by interceptor. +// 2: X--App-Version: Version of application. +// 4: X--App-Unix-Time: Unix time of current application. +// 5: X--Request-Received-Time: Time of current request received by application. +func Interceptor(opts ...Option) mux.MiddlewareFunc { + set := newOptionSet(opts...) + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, req *http.Request) { + // wrap writer + writer = rkmuxinter.WrapResponseWriter(writer) + + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, set.EntryName)) + + requestId := rkcommon.GenerateRequestId() + writer.Header().Set(rkmuxctx.RequestIdKey, requestId) + + event := rkmuxctx.GetEvent(req) + event.SetRequestId(requestId) + event.SetEventId(requestId) + + writer.Header().Set(set.AppNameKey, rkentry.GlobalAppCtx.GetAppInfoEntry().AppName) + writer.Header().Set(set.AppVersionKey, rkentry.GlobalAppCtx.GetAppInfoEntry().Version) + + now := time.Now() + writer.Header().Set(set.AppUnixTimeKey, now.Format(time.RFC3339Nano)) + writer.Header().Set(set.ReceivedTimeKey, now.Format(time.RFC3339Nano)) + + next.ServeHTTP(writer, req) + }) + } +} diff --git a/interceptor/meta/interceptor_test.go b/interceptor/meta/interceptor_test.go new file mode 100644 index 0000000..152a653 --- /dev/null +++ b/interceptor/meta/interceptor_test.go @@ -0,0 +1,42 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxmeta + +import ( + "bytes" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "testing" +) + +var userFunc = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + w.WriteHeader(http.StatusOK) +}) + +func newReqAndWriter() (*http.Request, *httptest.ResponseRecorder) { + var buf bytes.Buffer + req := httptest.NewRequest(http.MethodGet, "/ut-path", &buf) + writer := httptest.NewRecorder() + return req, writer +} + +func TestInterceptor(t *testing.T) { + req, writer := newReqAndWriter() + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type")) + + f := handler(userFunc) + f.ServeHTTP(writer, req) + + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + + assert.NotEmpty(t, writer.Header().Get("X-RK-App-Name")) + assert.Empty(t, writer.Header().Get("X-RK-App-Version")) + assert.NotEmpty(t, writer.Header().Get("X-RK-App-Unix-Time")) + assert.NotEmpty(t, writer.Header().Get("X-RK-Received-Time")) +} diff --git a/interceptor/meta/options.go b/interceptor/meta/options.go new file mode 100644 index 0000000..97e174d --- /dev/null +++ b/interceptor/meta/options.go @@ -0,0 +1,72 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxmeta + +import ( + "fmt" + "github.com/rookie-ninja/rk-mux/interceptor" +) + +// Interceptor would distinguish auth set based on. +var optionsMap = make(map[string]*optionSet) + +// Create new optionSet with rpc type nad options. +func newOptionSet(opts ...Option) *optionSet { + set := &optionSet{ + EntryName: rkmuxinter.RpcEntryNameValue, + EntryType: rkmuxinter.RpcEntryTypeValue, + Prefix: "RK", + } + + for i := range opts { + opts[i](set) + } + + if len(set.Prefix) < 1 { + set.Prefix = "RK" + } + + set.AppNameKey = fmt.Sprintf("X-%s-App-Name", set.Prefix) + set.AppVersionKey = fmt.Sprintf("X-%s-App-Version", set.Prefix) + set.AppUnixTimeKey = fmt.Sprintf("X-%s-App-Unix-Time", set.Prefix) + set.ReceivedTimeKey = fmt.Sprintf("X-%s-Received-Time", set.Prefix) + + if _, ok := optionsMap[set.EntryName]; !ok { + optionsMap[set.EntryName] = set + } + + return set +} + +// Options which is used while initializing extension interceptor +type optionSet struct { + EntryName string + EntryType string + Prefix string + LocationKey string + AppNameKey string + AppVersionKey string + AppUnixTimeKey string + ReceivedTimeKey string +} + +// Option if for middleware options while creating middleware +type Option func(*optionSet) + +// WithEntryNameAndType provide entry name and entry type. +func WithEntryNameAndType(entryName, entryType string) Option { + return func(opt *optionSet) { + opt.EntryName = entryName + opt.EntryType = entryType + } +} + +// WithPrefix provide prefix. +func WithPrefix(prefix string) Option { + return func(opt *optionSet) { + opt.Prefix = prefix + } +} diff --git a/interceptor/meta/options_test.go b/interceptor/meta/options_test.go new file mode 100644 index 0000000..0d7eeb7 --- /dev/null +++ b/interceptor/meta/options_test.go @@ -0,0 +1,35 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxmeta + +import ( + "github.com/stretchr/testify/assert" + "testing" +) + +func TestWithEntryNameAndType(t *testing.T) { + set := newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type")) + + assert.Equal(t, "ut-entry", set.EntryName) + assert.Equal(t, "ut-type", set.EntryType) + assert.Equal(t, "RK", set.Prefix) + assert.NotEmpty(t, set.AppNameKey) + assert.NotEmpty(t, set.AppVersionKey) + assert.NotEmpty(t, set.AppUnixTimeKey) + assert.NotEmpty(t, set.ReceivedTimeKey) +} + +func TestWithPrefix(t *testing.T) { + set := newOptionSet( + WithPrefix("ut-prefix")) + + assert.Equal(t, "ut-prefix", set.Prefix) + assert.NotEmpty(t, set.AppNameKey) + assert.NotEmpty(t, set.AppVersionKey) + assert.NotEmpty(t, set.AppUnixTimeKey) + assert.NotEmpty(t, set.ReceivedTimeKey) +} diff --git a/interceptor/metrics/prom/interceptor.go b/interceptor/metrics/prom/interceptor.go new file mode 100644 index 0000000..b350b32 --- /dev/null +++ b/interceptor/metrics/prom/interceptor.go @@ -0,0 +1,48 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxmetrics is a middleware for mux framework which record prometheus metrics for RPC +package rkmuxmetrics + +import ( + "context" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" + "time" +) + +// Interceptor create a new prometheus metrics interceptor with options. +func Interceptor(opts ...Option) mux.MiddlewareFunc { + set := newOptionSet(opts...) + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, req *http.Request) { + // wrap writer + writer = rkmuxinter.WrapResponseWriter(writer) + + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, set.EntryName)) + + // start timer + startTime := time.Now() + + next.ServeHTTP(writer, req) + + // end timer + elapsed := time.Now().Sub(startTime) + + // ignoring /rk/v1/assets, /rk/v1/tv and /sw/ path while logging since these are internal APIs. + if rkmuxinter.ShouldLog(req) { + if durationMetrics := GetServerDurationMetrics(req, writer); durationMetrics != nil { + durationMetrics.Observe(float64(elapsed.Nanoseconds())) + } + + if resCodeMetrics := GetServerResCodeMetrics(req, writer); resCodeMetrics != nil { + resCodeMetrics.Inc() + } + } + }) + } +} diff --git a/interceptor/metrics/prom/interceptor_test.go b/interceptor/metrics/prom/interceptor_test.go new file mode 100644 index 0000000..061167e --- /dev/null +++ b/interceptor/metrics/prom/interceptor_test.go @@ -0,0 +1,41 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxmetrics + +import ( + "github.com/prometheus/client_golang/prometheus" + "github.com/stretchr/testify/assert" + "net/http" + "testing" +) + +func TestInterceptor(t *testing.T) { + defer assertNotPanic(t) + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type"), + WithRegisterer(prometheus.NewRegistry())) + + // With ignoring case + req, writer := newReqAndWriter() + req.URL.Path = "/rk/v1/assets" + + // Happy case + f := handler(userFunc) + f.ServeHTTP(writer, req) + + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) +} + +func assertNotPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, false) + } else { + // This should never be called in case of a bug + assert.True(t, true) + } +} diff --git a/interceptor/metrics/prom/options.go b/interceptor/metrics/prom/options.go new file mode 100644 index 0000000..555c77c --- /dev/null +++ b/interceptor/metrics/prom/options.go @@ -0,0 +1,238 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxmetrics + +import ( + "github.com/prometheus/client_golang/prometheus" + "github.com/rookie-ninja/rk-entry/entry" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-prom" + "net/http" + "strconv" + "strings" +) + +var ( + // DefaultLabelKeys are default labels for prometheus metrics + DefaultLabelKeys = []string{ + "entryName", + "entryType", + "realm", + "region", + "az", + "domain", + "instance", + "appVersion", + "appName", + "restMethod", + "restPath", + "type", + "resCode", + } +) + +const ( + // ElapsedNano records RPC duration + ElapsedNano = "elapsedNano" + // Errors records RPC error + Errors = "errors" + // ResCode records response code + ResCode = "resCode" +) + +// Register bellow metrics into metrics set. +// 1: Request elapsed time with summary. +// 2: Error count with counter. +// 3: ResCode count with counter. +func initMetrics(opts *optionSet) { + opts.MetricsSet.RegisterSummary(ElapsedNano, rkprom.SummaryObjectives, DefaultLabelKeys...) + opts.MetricsSet.RegisterCounter(Errors, DefaultLabelKeys...) + opts.MetricsSet.RegisterCounter(ResCode, DefaultLabelKeys...) +} + +// GetServerDurationMetrics server request elapsed metrics. +func GetServerDurationMetrics(req *http.Request, writer http.ResponseWriter) prometheus.Observer { + if metricsSet := GetServerMetricsSet(req); metricsSet != nil { + return metricsSet.GetSummaryWithValues(ElapsedNano, getValues(req, writer)...) + } + + return nil +} + +// GetServerErrorMetrics server error metrics. +func GetServerErrorMetrics(req *http.Request, writer http.ResponseWriter) prometheus.Counter { + if req == nil { + return nil + } + + if metricsSet := GetServerMetricsSet(req); metricsSet != nil { + return metricsSet.GetCounterWithValues(Errors, getValues(req, writer)...) + } + + return nil +} + +// GetServerResCodeMetrics server response code metrics. +func GetServerResCodeMetrics(req *http.Request, writer http.ResponseWriter) prometheus.Counter { + if req == nil { + return nil + } + + if metricsSet := GetServerMetricsSet(req); metricsSet != nil { + return metricsSet.GetCounterWithValues(ResCode, getValues(req, writer)...) + } + + return nil +} + +// GetServerMetricsSet server metrics set. +func GetServerMetricsSet(req *http.Request) *rkprom.MetricsSet { + if set := getOptionSet(req); set != nil { + return set.MetricsSet + } + + return nil +} + +// ListServerMetricsSets list all server metrics set associate with GinEntry. +func ListServerMetricsSets() []*rkprom.MetricsSet { + res := make([]*rkprom.MetricsSet, 0) + for _, v := range optionsMap { + res = append(res, v.MetricsSet) + } + + return res +} + +// Metrics set already set into context +func getValues(req *http.Request, writer http.ResponseWriter) []string { + entryName, entryType, method, path, resCode := "", "", "", "", "" + if req != nil { + method = req.Method + if req.URL != nil { + path = req.URL.Path + } + + if writer != nil { + if v, ok := writer.(*rkmuxinter.RkResponseWriter); ok { + resCode = strconv.Itoa(v.Code) + } + } + } + + if set := getOptionSet(req); set != nil { + entryName = set.EntryName + entryType = set.EntryType + } + + values := []string{ + entryName, + entryType, + rkmuxinter.Realm.String, + rkmuxinter.Region.String, + rkmuxinter.AZ.String, + rkmuxinter.Domain.String, + rkmuxinter.LocalHostname.String, + rkentry.GlobalAppCtx.GetAppInfoEntry().Version, + rkentry.GlobalAppCtx.GetAppInfoEntry().AppName, + method, + path, + "mux", + resCode, + } + + return values +} + +// Internal use only. +func clearAllMetrics() { + for _, v := range optionsMap { + v.MetricsSet.UnRegisterSummary(ElapsedNano) + v.MetricsSet.UnRegisterCounter(Errors) + v.MetricsSet.UnRegisterCounter(ResCode) + } + + optionsMap = make(map[string]*optionSet) +} + +// Global map stores metrics sets +// Interceptor would distinguish metrics set based on +var optionsMap = make(map[string]*optionSet) + +// Create new optionSet with rpc type nad options. +func newOptionSet(opts ...Option) *optionSet { + set := &optionSet{ + EntryName: rkmuxinter.RpcEntryNameValue, + EntryType: rkmuxinter.RpcEntryTypeValue, + registerer: prometheus.DefaultRegisterer, + } + + for i := range opts { + opts[i](set) + } + + namespace := strings.ReplaceAll(rkentry.GlobalAppCtx.GetAppInfoEntry().AppName, "-", "_") + subSystem := strings.ReplaceAll(set.EntryName, "-", "_") + set.MetricsSet = rkprom.NewMetricsSet( + namespace, + subSystem, + set.registerer) + + if _, ok := optionsMap[set.EntryName]; !ok { + optionsMap[set.EntryName] = set + } + + initMetrics(set) + + return set +} + +// Options which is used while initializing logging interceptor +type optionSet struct { + EntryName string + EntryType string + registerer prometheus.Registerer + MetricsSet *rkprom.MetricsSet +} + +// Option options provided to Interceptor or optionsSet while creating +type Option func(*optionSet) + +// WithEntryNameAndType provide entry name and entry type. +func WithEntryNameAndType(entryName, entryType string) Option { + return func(opt *optionSet) { + if len(entryName) > 0 { + opt.EntryName = entryName + } + + if len(entryType) > 0 { + opt.EntryType = entryType + } + } +} + +// WithRegisterer provide prometheus.Registerer. +func WithRegisterer(registerer prometheus.Registerer) Option { + return func(opt *optionSet) { + if registerer != nil { + opt.registerer = registerer + } + } +} + +// Get optionSet from request context. +func getOptionSet(req *http.Request) *optionSet { + if req == nil { + return nil + } + + var entryName string + if v := req.Context().Value(rkmuxinter.RpcEntryNameKey); v != nil { + entryName = v.(string) + } + + return optionsMap[entryName] +} diff --git a/interceptor/metrics/prom/options_test.go b/interceptor/metrics/prom/options_test.go new file mode 100644 index 0000000..2b57bce --- /dev/null +++ b/interceptor/metrics/prom/options_test.go @@ -0,0 +1,145 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxmetrics + +import ( + "bytes" + "context" + "github.com/prometheus/client_golang/prometheus" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "testing" +) + +var userFunc = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + w.WriteHeader(http.StatusOK) +}) + +func newReqAndWriter() (*http.Request, *httptest.ResponseRecorder) { + var buf bytes.Buffer + req := httptest.NewRequest(http.MethodGet, "/ut-path", &buf) + writer := httptest.NewRecorder() + return req, writer +} + +func TestWithEntryNameAndType(t *testing.T) { + set := newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type")) + + assert.Equal(t, "ut-entry", set.EntryName) + assert.Equal(t, "ut-type", set.EntryType) + + defer clearAllMetrics() +} + +func TestWithRegisterer(t *testing.T) { + reg := prometheus.NewRegistry() + set := newOptionSet( + WithRegisterer(reg)) + + assert.Equal(t, reg, set.registerer) + + defer clearAllMetrics() +} + +func TestGetOptionSet(t *testing.T) { + // With nil context + assert.Nil(t, getOptionSet(nil)) + + req, _ := newReqAndWriter() + + // Happy case + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, "ut-entry")) + set := newOptionSet() + optionsMap["ut-entry"] = set + assert.Equal(t, set, getOptionSet(req)) + + defer clearAllMetrics() +} + +func TestGetServerMetricsSet(t *testing.T) { + reg := prometheus.NewRegistry() + set := newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type"), + WithRegisterer(reg)) + + req, _ := newReqAndWriter() + + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, "ut-entry")) + assert.Equal(t, set.MetricsSet, GetServerMetricsSet(req)) + + defer clearAllMetrics() +} + +func TestListServerMetricsSets(t *testing.T) { + reg := prometheus.NewRegistry() + newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type"), + WithRegisterer(reg)) + + req, _ := newReqAndWriter() + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, "ut-entry")) + assert.Len(t, ListServerMetricsSets(), 1) + + defer clearAllMetrics() +} + +func TestGetServerResCodeMetrics(t *testing.T) { + // With nil context + assert.Nil(t, GetServerResCodeMetrics(nil, nil)) + + // Happy case + reg := prometheus.NewRegistry() + newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type"), + WithRegisterer(reg)) + + req, writer := newReqAndWriter() + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, "ut-entry")) + + assert.NotNil(t, GetServerResCodeMetrics(req, writer)) + + defer clearAllMetrics() +} + +func TestGetServerErrorMetrics(t *testing.T) { + // With nil context + assert.Nil(t, GetServerErrorMetrics(nil, nil)) + + req, writer := newReqAndWriter() + + // Happy case + reg := prometheus.NewRegistry() + newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type"), + WithRegisterer(reg)) + + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, "ut-entry")) + + assert.NotNil(t, GetServerErrorMetrics(req, writer)) + + defer clearAllMetrics() +} + +func TestGetServerDurationMetrics(t *testing.T) { + // With nil context + assert.Nil(t, GetServerDurationMetrics(nil, nil)) + + // Happy case + reg := prometheus.NewRegistry() + newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type"), + WithRegisterer(reg)) + + req, writer := newReqAndWriter() + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, "ut-entry")) + + assert.NotNil(t, GetServerDurationMetrics(req, writer)) + + defer clearAllMetrics() +} diff --git a/interceptor/panic/interceptor.go b/interceptor/panic/interceptor.go new file mode 100644 index 0000000..f0e177b --- /dev/null +++ b/interceptor/panic/interceptor.go @@ -0,0 +1,55 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxpanic is a middleware of mux framework for recovering from panic +package rkmuxpanic + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-common/error" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "go.uber.org/zap" + "net/http" + "runtime/debug" +) + +// Interceptor returns a rest.Middleware (middleware) +func Interceptor(opts ...Option) mux.MiddlewareFunc { + set := newOptionSet(opts...) + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, req *http.Request) { + // wrap writer + writer = rkmuxinter.WrapResponseWriter(writer) + + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, set.EntryName)) + + defer func() { + if recv := recover(); recv != nil { + var res *rkerror.ErrorResp + + if se, ok := recv.(*rkerror.ErrorResp); ok { + res = se + } else if re, ok := recv.(error); ok { + res = rkerror.FromError(re) + } else { + res = rkerror.New(rkerror.WithMessage(fmt.Sprintf("%v", recv))) + } + + rkmuxctx.GetEvent(req).SetCounter("panic", 1) + rkmuxctx.GetEvent(req).AddErr(res.Err) + rkmuxctx.GetLogger(req, writer).Error(fmt.Sprintf("panic occurs:\n%s", string(debug.Stack())), zap.Error(res.Err)) + + rkmuxinter.WriteJson(writer, http.StatusInternalServerError, res) + } + }() + + next.ServeHTTP(writer, req) + }) + } +} diff --git a/interceptor/panic/interceptor_test.go b/interceptor/panic/interceptor_test.go new file mode 100644 index 0000000..c0468f4 --- /dev/null +++ b/interceptor/panic/interceptor_test.go @@ -0,0 +1,49 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxpanic + +import ( + "bytes" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "testing" +) + +var userFunc = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + w.WriteHeader(http.StatusOK) +}) + +func newReqAndWriter() (*http.Request, *httptest.ResponseRecorder) { + var buf bytes.Buffer + req := httptest.NewRequest(http.MethodGet, "/ut-path", &buf) + writer := httptest.NewRecorder() + return req, writer +} + +func TestInterceptor(t *testing.T) { + defer assertNotPanic(t) + + req, writer := newReqAndWriter() + + handler := Interceptor( + WithEntryNameAndType("ut-entry", "ut-type")) + + f := handler(userFunc) + f.ServeHTTP(writer, req) + + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) +} + +func assertNotPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, false) + } else { + // This should never be called in case of a bug + assert.True(t, true) + } +} diff --git a/interceptor/panic/options.go b/interceptor/panic/options.go new file mode 100644 index 0000000..b72b022 --- /dev/null +++ b/interceptor/panic/options.go @@ -0,0 +1,48 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxpanic + +import ( + "github.com/rookie-ninja/rk-mux/interceptor" +) + +// Interceptor would distinguish entry. +var optionsMap = make(map[string]*optionSet) + +// Create new optionSet with rpc type nad options. +func newOptionSet(opts ...Option) *optionSet { + set := &optionSet{ + EntryName: rkmuxinter.RpcEntryNameValue, + EntryType: rkmuxinter.RpcEntryTypeValue, + } + + for i := range opts { + opts[i](set) + } + + if _, ok := optionsMap[set.EntryName]; !ok { + optionsMap[set.EntryName] = set + } + + return set +} + +// Options which is used while initializing panic interceptor +type optionSet struct { + EntryName string + EntryType string +} + +// Option is for middleware while creating +type Option func(*optionSet) + +// WithEntryNameAndType Provide entry name and entry type. +func WithEntryNameAndType(entryName, entryType string) Option { + return func(opt *optionSet) { + opt.EntryName = entryName + opt.EntryType = entryType + } +} diff --git a/interceptor/panic/options_test.go b/interceptor/panic/options_test.go new file mode 100644 index 0000000..ae0b4fc --- /dev/null +++ b/interceptor/panic/options_test.go @@ -0,0 +1,19 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxpanic + +import ( + "github.com/stretchr/testify/assert" + "testing" +) + +func TestWithEntryNameAndType(t *testing.T) { + set := newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type")) + + assert.Equal(t, "ut-entry", set.EntryName) + assert.Equal(t, "ut-type", set.EntryType) +} diff --git a/interceptor/ratelimit/interceptor.go b/interceptor/ratelimit/interceptor.go new file mode 100644 index 0000000..17ac943 --- /dev/null +++ b/interceptor/ratelimit/interceptor.go @@ -0,0 +1,44 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxlimit is a middleware of mux framework for adding rate limit in RPC response +package rkmuxlimit + +import ( + "context" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-common/error" + "github.com/rookie-ninja/rk-mux/interceptor" + "github.com/rookie-ninja/rk-mux/interceptor/context" + "net/http" +) + +// Interceptor Add rate limit interceptors. +func Interceptor(opts ...Option) mux.MiddlewareFunc { + set := newOptionSet(opts...) + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, req *http.Request) { + // wrap writer + writer = rkmuxinter.WrapResponseWriter(writer) + + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, set.EntryName)) + + event := rkmuxctx.GetEvent(req) + + if duration, err := set.Wait(req); err != nil { + event.SetCounter("rateLimitWaitMs", duration.Milliseconds()) + event.AddErr(err) + + rkmuxinter.WriteJson(writer, http.StatusTooManyRequests, rkerror.New( + rkerror.WithHttpCode(http.StatusTooManyRequests), + rkerror.WithMessage(err.Error()))) + return + } + + next.ServeHTTP(writer, req) + }) + } +} diff --git a/interceptor/ratelimit/interceptor_test.go b/interceptor/ratelimit/interceptor_test.go new file mode 100644 index 0000000..89ce118 --- /dev/null +++ b/interceptor/ratelimit/interceptor_test.go @@ -0,0 +1,80 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxlimit + +import ( + "fmt" + "github.com/stretchr/testify/assert" + "net/http" + "testing" +) + +func TestInterceptor_WithoutOptions(t *testing.T) { + defer assertNotPanic(t) + + handler := Interceptor() + + req, writer := newReqAndWriter() + req.URL.Path = "/ut-path" + f := handler(userFunc) + f.ServeHTTP(writer, req) + + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) +} + +func TestInterceptor_WithTokenBucket(t *testing.T) { + defer assertNotPanic(t) + + handler := Interceptor( + WithAlgorithm(TokenBucket), + WithReqPerSec(1), + WithReqPerSecByPath("ut-path", 1)) + + req, writer := newReqAndWriter() + req.URL.Path = "/ut-path" + + f := handler(userFunc) + f.ServeHTTP(writer, req) + + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) +} + +func TestInterceptor_WithLeakyBucket(t *testing.T) { + defer assertNotPanic(t) + + handler := Interceptor( + WithAlgorithm(LeakyBucket), + WithReqPerSec(1), + WithReqPerSecByPath("ut-path", 1)) + + req, writer := newReqAndWriter() + req.URL.Path = "/ut-path" + + f := handler(userFunc) + f.ServeHTTP(writer, req) + + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) +} + +func TestInterceptor_WithUserLimiter(t *testing.T) { + defer assertNotPanic(t) + + handler := Interceptor( + WithGlobalLimiter(func(*http.Request) error { + return fmt.Errorf("ut-error") + }), + WithLimiterByPath("/ut-path", func(*http.Request) error { + return fmt.Errorf("ut-error") + })) + + req, writer := newReqAndWriter() + req.URL.Path = "/ut-path" + + f := handler(userFunc) + f.ServeHTTP(writer, req) + + assert.Equal(t, http.StatusTooManyRequests, writer.Result().StatusCode) +} diff --git a/interceptor/ratelimit/options.go b/interceptor/ratelimit/options.go new file mode 100644 index 0000000..1b407e6 --- /dev/null +++ b/interceptor/ratelimit/options.go @@ -0,0 +1,244 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxlimit + +import ( + "fmt" + juju "github.com/juju/ratelimit" + "github.com/rookie-ninja/rk-mux/interceptor" + uber "go.uber.org/ratelimit" + "net/http" + "strings" + "time" +) + +const ( + // TokenBucket algorithm + TokenBucket = "tokenBucket" + // LeakyBucket algorithm + LeakyBucket = "leakyBucket" + // DefaultLimit one million per second + DefaultLimit = 1000000 + // GlobalLimiter key for default limiter + GlobalLimiter = "rk-limiter" +) + +// Limiter which user could implement +type Limiter func(r *http.Request) error + +// NoopLimiter will do nothing +type NoopLimiter struct{} + +// Limit will do nothing +func (l *NoopLimiter) Limit(r *http.Request) error { + return nil +} + +// ZeroRateLimiter will block requests. +type ZeroRateLimiter struct{} + +// Limit will block request and return error +func (l *ZeroRateLimiter) Limit(r *http.Request) error { + return fmt.Errorf("slow down your request") +} + +// tokenBucketLimiter delegates limit logic to juju.Bucket +type tokenBucketLimiter struct { + delegator *juju.Bucket +} + +// Limit delegates limit logic to juju.Bucket +func (l *tokenBucketLimiter) Limit(r *http.Request) error { + l.delegator.Wait(1) + return nil +} + +// leakyBucketLimiter delegates limit logic to uber.Limiter +type leakyBucketLimiter struct { + delegator uber.Limiter +} + +// Limit delegates limit logic to uber.Limiter +func (l *leakyBucketLimiter) Limit(r *http.Request) error { + l.delegator.Take() + return nil +} + +// Interceptor would distinguish auth set based on. +var optionsMap = make(map[string]*optionSet) + +// Create new optionSet with rpc type nad options. +func newOptionSet(opts ...Option) *optionSet { + set := &optionSet{ + EntryName: rkmuxinter.RpcEntryNameValue, + EntryType: rkmuxinter.RpcEntryTypeValue, + reqPerSec: DefaultLimit, + reqPerSecByPath: make(map[string]int, DefaultLimit), + algorithm: TokenBucket, + limiter: make(map[string]Limiter), + } + + for i := range opts { + opts[i](set) + } + + switch set.algorithm { + case TokenBucket: + if set.reqPerSec < 1 { + l := &ZeroRateLimiter{} + set.setLimiter(GlobalLimiter, l.Limit) + } else { + l := &tokenBucketLimiter{ + delegator: juju.NewBucketWithRate(float64(set.reqPerSec), int64(set.reqPerSec)), + } + set.setLimiter(GlobalLimiter, l.Limit) + } + + for k, v := range set.reqPerSecByPath { + if v < 1 { + l := &ZeroRateLimiter{} + set.setLimiter(k, l.Limit) + } else { + l := &tokenBucketLimiter{ + delegator: juju.NewBucketWithRate(float64(v), int64(v)), + } + set.setLimiter(k, l.Limit) + } + } + case LeakyBucket: + if set.reqPerSec < 1 { + l := &ZeroRateLimiter{} + set.setLimiter(GlobalLimiter, l.Limit) + } else { + l := &leakyBucketLimiter{ + delegator: uber.New(set.reqPerSec), + } + set.setLimiter(GlobalLimiter, l.Limit) + } + + for k, v := range set.reqPerSecByPath { + if v < 1 { + l := &ZeroRateLimiter{} + set.setLimiter(k, l.Limit) + } else { + l := &leakyBucketLimiter{ + delegator: uber.New(v), + } + set.setLimiter(k, l.Limit) + } + } + default: + l := &NoopLimiter{} + set.setLimiter(GlobalLimiter, l.Limit) + } + + if _, ok := optionsMap[set.EntryName]; !ok { + optionsMap[set.EntryName] = set + } + + return set +} + +// Wait until rate limit pass through +func (set *optionSet) Wait(req *http.Request) (time.Duration, error) { + now := time.Now() + + method := req.URL.Path + + limiter := set.getLimiter(method) + if err := limiter(req); err != nil { + return now.Sub(now), err + } + + return now.Sub(time.Now()), nil +} + +func (set *optionSet) getLimiter(method string) Limiter { + if v, ok := set.limiter[method]; ok { + return v + } + + return set.limiter[GlobalLimiter] +} + +// Set limiter if not exists +func (set *optionSet) setLimiter(method string, l Limiter) { + if _, ok := set.limiter[method]; ok { + return + } + + set.limiter[method] = l +} + +// Options which is used while initializing extension interceptor +type optionSet struct { + EntryName string + EntryType string + reqPerSec int + reqPerSecByPath map[string]int + algorithm string + limiter map[string]Limiter +} + +// Option if for middleware options while creating middleware +type Option func(*optionSet) + +// WithEntryNameAndType provide entry name and entry type. +func WithEntryNameAndType(entryName, entryType string) Option { + return func(opt *optionSet) { + opt.EntryName = entryName + opt.EntryType = entryType + } +} + +// WithReqPerSec Provide request per second. +func WithReqPerSec(reqPerSec int) Option { + return func(opt *optionSet) { + if reqPerSec >= 0 { + opt.reqPerSec = reqPerSec + } + } +} + +// WithReqPerSecByPath Provide request per second by method. +func WithReqPerSecByPath(path string, reqPerSec int) Option { + return func(opt *optionSet) { + if !strings.HasPrefix(path, "/") { + path = "/" + path + } + + if reqPerSec >= 0 { + opt.reqPerSecByPath[path] = reqPerSec + } + } +} + +// WithAlgorithm provide algorithm of rate limit. +// - tokenBucket +// - leakyBucket +func WithAlgorithm(algo string) Option { + return func(opt *optionSet) { + opt.algorithm = algo + } +} + +// WithGlobalLimiter provide user defined Limiter. +func WithGlobalLimiter(l Limiter) Option { + return func(opt *optionSet) { + opt.limiter[GlobalLimiter] = l + } +} + +// WithLimiterByPath provide user defined Limiter by method. +func WithLimiterByPath(path string, l Limiter) Option { + return func(opt *optionSet) { + if !strings.HasPrefix(path, "/") { + path = "/" + path + } + + opt.limiter[path] = l + } +} diff --git a/interceptor/ratelimit/options_test.go b/interceptor/ratelimit/options_test.go new file mode 100644 index 0000000..3248ce9 --- /dev/null +++ b/interceptor/ratelimit/options_test.go @@ -0,0 +1,199 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxlimit + +import ( + "bytes" + "fmt" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "testing" +) + +var userFunc = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + w.WriteHeader(http.StatusOK) +}) + +func newReqAndWriter() (*http.Request, *httptest.ResponseRecorder) { + var buf bytes.Buffer + req := httptest.NewRequest(http.MethodGet, "/ut-path", &buf) + writer := httptest.NewRecorder() + return req, writer +} + +func TestWithEntryNameAndType(t *testing.T) { + defer assertNotPanic(t) + + set := newOptionSet( + WithEntryNameAndType("ut-entry", "ut-type")) + + assert.Equal(t, "ut-entry", set.EntryName) + assert.Equal(t, "ut-type", set.EntryType) + assert.Len(t, set.limiter, 1) + + // Should be noop limiter + req, _ := newReqAndWriter() + req.URL.Path = "/ut-path" + + set.getLimiter("")(req) +} + +func TestWithReqPerSec(t *testing.T) { + // With non-zero + set := newOptionSet( + WithReqPerSec(1)) + + assert.Equal(t, 1, set.reqPerSec) + assert.Len(t, set.limiter, 1) + + // Should be token based limiter + req, _ := newReqAndWriter() + req.URL.Path = "/ut-path" + set.getLimiter("")(req) + + // With zero + set = newOptionSet( + WithReqPerSec(0)) + + assert.Equal(t, 0, set.reqPerSec) + assert.Len(t, set.limiter, 1) + + // should be zero rate limiter which returns error + req, _ = newReqAndWriter() + req.URL.Path = "/ut-path" + assert.NotNil(t, set.getLimiter("")(req)) +} + +func TestWithReqPerSecByPath(t *testing.T) { + // with non-zero + set := newOptionSet( + WithReqPerSecByPath("/ut-path", 1)) + + assert.Equal(t, 1, set.reqPerSecByPath["/ut-path"]) + assert.NotNil(t, set.limiter["/ut-path"]) + + // Should be token based limiter + req, _ := newReqAndWriter() + req.URL.Path = "/ut-path" + set.getLimiter("/ut-path")(req) + + // With zero + set = newOptionSet( + WithReqPerSecByPath("/ut-path", 0)) + + assert.Equal(t, 0, set.reqPerSecByPath["/ut-path"]) + assert.NotNil(t, set.limiter["/ut-path"]) + + // should be zero rate limiter which returns error + req, _ = newReqAndWriter() + req.URL.Path = "/ut-path" + assert.NotNil(t, set.getLimiter("/ut-path")(req)) +} + +func TestWithAlgorithm(t *testing.T) { + defer assertNotPanic(t) + + // With invalid algorithm + set := newOptionSet( + WithAlgorithm("invalid-algo")) + + // should be noop limiter + assert.Len(t, set.limiter, 1) + set.getLimiter("") + + // With leaky bucket non zero + set = newOptionSet( + WithAlgorithm(LeakyBucket), + WithReqPerSec(1), + WithReqPerSecByPath("ut-method", 1)) + + // should be leaky bucket + assert.Len(t, set.limiter, 2) + req, _ := newReqAndWriter() + req.URL.Path = "/ut-path" + set.getLimiter("")(req) + set.getLimiter("ut-path")(req) +} + +func TestWithGlobalLimiter(t *testing.T) { + set := newOptionSet( + WithGlobalLimiter(func(*http.Request) error { + return fmt.Errorf("ut error") + })) + + assert.Len(t, set.limiter, 1) + req, _ := newReqAndWriter() + req.URL.Path = "/ut-path" + assert.NotNil(t, set.getLimiter("")(req)) +} + +func TestWithLimiterByPath(t *testing.T) { + set := newOptionSet( + WithLimiterByPath("/ut-path", func(*http.Request) error { + return fmt.Errorf("ut error") + })) + + assert.Len(t, set.limiter, 2) + + req, _ := newReqAndWriter() + req.URL.Path = "/ut-path" + assert.NotNil(t, set.getLimiter("/ut-path")(req)) +} + +func TestOptionSet_Wait(t *testing.T) { + defer assertNotPanic(t) + + // With user limiter + set := newOptionSet( + WithGlobalLimiter(func(*http.Request) error { + return nil + })) + + req, _ := newReqAndWriter() + req.URL.Path = "/ut-path" + set.Wait(req) + + // With token bucket and global limiter + set = newOptionSet( + WithAlgorithm(TokenBucket)) + + set.Wait(req) + + // With token bucket and limiter by method + set = newOptionSet( + WithAlgorithm(TokenBucket), + WithReqPerSecByPath("/ut-path", 100)) + + set.Wait(req) + + // With leaky bucket and global limiter + set = newOptionSet( + WithAlgorithm(LeakyBucket)) + + set.Wait(req) + + // With leaky bucket and limiter by method + set = newOptionSet( + WithAlgorithm(LeakyBucket), + WithReqPerSecByPath("/ut-path", 100)) + + set.Wait(req) + + // Without any configuration + set = newOptionSet() + set.Wait(req) +} + +func assertNotPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, false) + } else { + // This should never be called in case of a bug + assert.True(t, true) + } +} diff --git a/interceptor/secure/interceptor.go b/interceptor/secure/interceptor.go new file mode 100644 index 0000000..f6a7af3 --- /dev/null +++ b/interceptor/secure/interceptor.go @@ -0,0 +1,79 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +// Package rkmuxsec is a middleware of mux framework for adding secure headers in RPC response +package rkmuxsec + +import ( + "context" + "fmt" + "github.com/gorilla/mux" + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" +) + +// Interceptor Add security interceptors. +// +// Mainly copied from bellow. +// https://github.com/labstack/echo/blob/master/middleware/secure.go +func Interceptor(opts ...Option) mux.MiddlewareFunc { + set := newOptionSet(opts...) + + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(writer http.ResponseWriter, req *http.Request) { + // wrap writer + writer = rkmuxinter.WrapResponseWriter(writer) + + req = req.WithContext(context.WithValue(req.Context(), rkmuxinter.RpcEntryNameKey, set.EntryName)) + + if set.Skipper(req) { + next.ServeHTTP(writer, req) + } + + // Add X-XSS-Protection header + if set.XSSProtection != "" { + writer.Header().Set(headerXXSSProtection, set.XSSProtection) + } + + // Add X-Content-Type-Options header + if set.ContentTypeNosniff != "" { + writer.Header().Set(headerXContentTypeOptions, set.ContentTypeNosniff) + } + + // Add X-Frame-Options header + if set.XFrameOptions != "" { + writer.Header().Set(headerXFrameOptions, set.XFrameOptions) + } + + // Add Strict-Transport-Security header + if (req.TLS != nil || (req.Header.Get(headerXForwardedProto) == "https")) && set.HSTSMaxAge != 0 { + subdomains := "" + if !set.HSTSExcludeSubdomains { + subdomains = "; includeSubdomains" + } + if set.HSTSPreloadEnabled { + subdomains = fmt.Sprintf("%s; preload", subdomains) + } + writer.Header().Set(headerStrictTransportSecurity, fmt.Sprintf("max-age=%d%s", set.HSTSMaxAge, subdomains)) + } + + // Add Content-Security-Policy-Report-Only or Content-Security-Policy header + if set.ContentSecurityPolicy != "" { + if set.CSPReportOnly { + writer.Header().Set(headerContentSecurityPolicyReportOnly, set.ContentSecurityPolicy) + } else { + writer.Header().Set(headerContentSecurityPolicy, set.ContentSecurityPolicy) + } + } + + // Add Referrer-Policy header + if set.ReferrerPolicy != "" { + writer.Header().Set(headerReferrerPolicy, set.ReferrerPolicy) + } + + next.ServeHTTP(writer, req) + }) + } +} diff --git a/interceptor/secure/interceptor_test.go b/interceptor/secure/interceptor_test.go new file mode 100644 index 0000000..417d35b --- /dev/null +++ b/interceptor/secure/interceptor_test.go @@ -0,0 +1,91 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxsec + +import ( + "bytes" + "crypto/tls" + "github.com/stretchr/testify/assert" + "net/http" + "net/http/httptest" + "testing" +) + +var userFunc = http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { + w.WriteHeader(http.StatusOK) +}) + +func newReqAndWriter() (*http.Request, *httptest.ResponseRecorder) { + var buf bytes.Buffer + req := httptest.NewRequest(http.MethodPost, "/ut-path", &buf) + writer := httptest.NewRecorder() + return req, writer +} + +func TestInterceptor(t *testing.T) { + defer assertNotPanic(t) + + // with skipper + handler := Interceptor(WithSkipper(func(*http.Request) bool { + return true + })) + req, writer := newReqAndWriter() + f := handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + + // without options + handler = Interceptor() + req, writer = newReqAndWriter() + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + containsHeader(t, writer, + headerXXSSProtection, + headerXContentTypeOptions, + headerXFrameOptions) + + // with options + handler = Interceptor( + WithXSSProtection("ut-xss"), + WithContentTypeNosniff("ut-sniff"), + WithXFrameOptions("ut-frame"), + WithHSTSMaxAge(10), + WithHSTSExcludeSubdomains(true), + WithHSTSPreloadEnabled(true), + WithContentSecurityPolicy("ut-policy"), + WithCSPReportOnly(true), + WithReferrerPolicy("ut-ref"), + WithIgnorePrefix("ut-prefix")) + req, writer = newReqAndWriter() + req.TLS = &tls.ConnectionState{} + f = handler(userFunc) + f.ServeHTTP(writer, req) + assert.Equal(t, http.StatusOK, writer.Result().StatusCode) + containsHeader(t, writer, + headerXXSSProtection, + headerXContentTypeOptions, + headerXFrameOptions, + headerStrictTransportSecurity, + headerContentSecurityPolicyReportOnly, + headerReferrerPolicy) +} + +func containsHeader(t *testing.T, writer http.ResponseWriter, headers ...string) { + for _, v := range headers { + assert.Contains(t, writer.Header(), v) + } +} + +func assertNotPanic(t *testing.T) { + if r := recover(); r != nil { + // Expect panic to be called with non nil error + assert.True(t, false) + } else { + // This should never be called in case of a bug + assert.True(t, true) + } +} diff --git a/interceptor/secure/options.go b/interceptor/secure/options.go new file mode 100644 index 0000000..b722c7a --- /dev/null +++ b/interceptor/secure/options.go @@ -0,0 +1,256 @@ +// Copyright (c) 2021 rookie-ninja +// +// Use of this source code is governed by an Apache-style +// license that can be found in the LICENSE file. + +package rkmuxsec + +import ( + "github.com/rookie-ninja/rk-mux/interceptor" + "net/http" + "reflect" + "strings" +) + +// Interceptor would distinguish auth set based on. +var ( + optionsMap = make(map[string]*optionSet) + defaultSkipper = func(*http.Request) bool { + return false + } +) + +const ( + headerXXSSProtection = "X-Xss-Protection" + headerXContentTypeOptions = "X-Content-Type-Options" + headerXFrameOptions = "X-Frame-Options" + headerXForwardedProto = "X-Forwarded-Proto" + headerStrictTransportSecurity = "Strict-Transport-Security" + headerContentSecurityPolicyReportOnly = "Content-Security-Policy-Report-Only" + headerContentSecurityPolicy = "Content-Security-Policy" + headerReferrerPolicy = "Referrer-Policy" +) + +// Skipper default skipper will always return false +type Skipper func(*http.Request) bool + +// Create new optionSet with rpc type nad options. +func newOptionSet(opts ...Option) *optionSet { + set := &optionSet{ + EntryName: rkmuxinter.RpcEntryNameValue, + EntryType: rkmuxinter.RpcEntryTypeValue, + Skipper: defaultSkipper, + XSSProtection: "1; mode=block", + ContentTypeNosniff: "nosniff", + XFrameOptions: "SAMEORIGIN", + HSTSPreloadEnabled: false, + IgnorePrefix: make([]string, 0), + } + + for i := range opts { + opts[i](set) + } + + // default skipper was used, override it with ignoring prefix + if reflect.ValueOf(set.Skipper).Pointer() == reflect.ValueOf(defaultSkipper).Pointer() { + set.Skipper = func(req *http.Request) bool { + if req == nil { + return false + } + + urlPath := req.URL.Path + + for i := range set.IgnorePrefix { + if strings.HasPrefix(urlPath, set.IgnorePrefix[i]) { + return true + } + } + + return false + } + } + + if _, ok := optionsMap[set.EntryName]; !ok { + optionsMap[set.EntryName] = set + } + + return set +} + +// Options which is used while initializing extension interceptor +type optionSet struct { + // EntryName name of entry + EntryName string + + // EntryType type of entry + EntryType string + + // Skipper function + Skipper Skipper + + // IgnorePrefix ignoring paths prefix + IgnorePrefix []string + + // XSSProtection provides protection against cross-site scripting attack (XSS) + // by setting the `X-XSS-Protection` header. + // Optional. Default value "1; mode=block". + XSSProtection string + + // ContentTypeNosniff provides protection against overriding Content-Type + // header by setting the `X-Content-Type-Options` header. + // Optional. Default value "nosniff". + ContentTypeNosniff string + + // XFrameOptions can be used to indicate whether or not a browser should + // be allowed to render a page in a ,